/* Complete flyer compositions. The cleaned bitmap has no menu text or buttons.
   At desktop sizes the HTML follows the source's 1086 × 1448 geometry. */
:root { --ink:#152919; --paper:#fff1d6; --accent:#a82018; --muted:#63472f; --brass:#ad221c; --line:#cfad79; }
body { color:var(--ink); }
.menu-tools { background:#fffaf0; padding:0 18px 16px; border-bottom:1px solid #dddfd8; }
.menu-tools .category-nav { margin:0; padding:8px 0; border:0; color:#384d53; }
.menu-tools .view-control { margin:0; padding:10px 0; color:#384d53; }
.paper { container-type:inline-size; width:min(960px,calc(100% - 48px)); aspect-ratio:3/4; margin:30px auto 0; padding:0; border:0; --add-size:3.8cqw; }
.paper::after { display:none; }
.artwork { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.artwork-top,.artwork-bottom { position:absolute; inset:0; background:var(--artwork) center top/100% 100% no-repeat; }
.artwork-bottom { display:none; }
.card-intro { position:absolute; left:22%; top:3.8%; width:43%; text-align:center; padding:0; }
.card-intro .eyebrow,.card-intro [data-ornament],.card-intro .button { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
h1 { margin:0; color:#143c25; font:700 8.5cqw/1 Georgia,serif; letter-spacing:normal; }
h1 em { display:block; font-style:normal; }
.arched-brand { display:block; width:100%; height:11cqw; overflow:visible; }
.arched-brand text { fill:#173d26; font:700 85px Georgia,serif; letter-spacing:9px; }
body[data-design="pizzeria"] h1 em { margin-top:4.5cqw; font:900 15.5cqw/.98 'Fraunces',Georgia,serif; color:#b71916; text-transform:uppercase; letter-spacing:-.05em; }
.card-intro > p { font:400 6.1cqw/1.05 'Allura',cursive; margin:1.2cqw -3cqw 0; color:#193e2c; white-space:nowrap; }
#menu-content { display:contents; }
.menu-anchor { position:absolute; top:30%; width:1px; height:1px; }
.menu-group { position:absolute; left:25%; width:61%; margin:0; scroll-margin-top:22px; }
.group-1 { top:31.8%; }
.group-2 { top:57.8%; }
.group-3 { top:71.4%; left:34%; width:43%; }
.group-heading { display:flex; align-items:center; gap:1.6cqw; margin-bottom:1.4cqw; min-height:5.4cqw; border:0; padding:0; }
.group-heading::after { content:''; flex:1; border-top:1px solid var(--accent); opacity:.65; }
.group-heading h2 { color:var(--accent); font:700 4.7cqw/1.05 'Cormorant Garamond',Georgia,serif; margin:0; text-transform:uppercase; white-space:nowrap; letter-spacing:normal; }
.dish { min-height:8.8cqw; padding:.6cqw 0 1.5cqw; border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent); }
.dish:last-child { border-bottom:0; }
.dish-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:.8cqw; }
.dish h3 { font:700 3.35cqw/1.1 Georgia,serif; margin:0; }
.dish-actions { display:grid; grid-template-columns:max-content var(--add-size); gap:1cqw; align-items:center; }
.price { font:700 3.35cqw/1.15 Georgia,serif; white-space:nowrap; font-variant-numeric:tabular-nums; }
.ingredients { font:400 2.28cqw/1.22 Georgia,serif; margin:.55cqw 0 0; color:var(--muted); }
.dish-add { width:var(--add-size); height:var(--add-size); border:0; padding:0; background:var(--brass); color:white; font:400 3.3cqw/1 Arial,sans-serif; }
.dish-photo { width:7cqw; height:6cqw; object-fit:cover; border-radius:50%; flex-shrink:0; }
body[data-view="gerichtsfotos"] .has-photo { display:flex; align-items:start; gap:1.3cqw; }
body[data-view="gerichtsfotos"] .has-photo h3 { font-size:3cqw; }
.menu-end { max-width:960px; margin:19px auto 0; text-align:center; border:0; padding:0; color:#58666a; font:12px/1.6 'Segoe UI',Arial,sans-serif; }
.menu-end [data-caption] { display:none; }
.menu-end small { font:inherit; }
.service-note { color:#58666a; margin:5px 20px 40px; }

body[data-design="burger"] { --paper:#161716; --ink:#fff; --accent:#ffda23; --brass:#ffda23; --muted:#f1f0e8; --line:#ddbd1f; }
body[data-design="burger"] .card-intro { left:16%; width:80%; top:1.1%; }
body[data-design="burger"] h1 { color:#ffdc29; font:400 13.8cqw/1.2 'Anton',Impact,sans-serif; text-transform:uppercase; letter-spacing:-.035em; transform:rotate(-2deg); }
body[data-design="burger"] .card-intro > p { margin:0 2% 0 20%; font-size:6.1cqw; line-height:1.15; color:#fff; background:#f14327; clip-path:polygon(2% 10%,94% 0,100% 12%,96% 35%,100% 60%,94% 95%,3% 100%,0 82%,4% 48%,0 27%); padding:.2cqw 1.5cqw; transform:rotate(-3deg); }
body[data-design="burger"] .menu-group { left:41%; width:55%; }
body[data-design="burger"] .group-1 { top:26.7%; }
body[data-design="burger"] .group-2 { top:54%; }
body[data-design="burger"] .group-3 { top:74.5%; left:58%; width:38%; }
body[data-design="burger"] .group-heading::after { display:none; }
body[data-design="burger"] .group-heading h2 { background:#ffda23; color:#0c0d0c; padding:.35cqw 1.8cqw; font:400 5.6cqw/1.15 'Anton',Impact,sans-serif; transform:rotate(-2deg); clip-path:polygon(2% 9%,95% 0,100% 12%,97% 30%,100% 53%,95% 70%,98% 95%,2% 100%,0 82%,3% 65%,0 42%); }
body[data-design="burger"] .dish h3,body[data-design="burger"] .price { font-family:'Roboto Condensed',Arial,sans-serif; font-size:3.6cqw; }
body[data-design="burger"] .ingredients { font-family:'Roboto Condensed',Arial,sans-serif; font-size:2.35cqw; }
body[data-design="burger"] .dish-add { color:#111; }

body[data-design="doener"] { --paper:#fff0d1; --ink:#131512; --accent:#9d1613; --brass:#ae1c17; --muted:#25251f; --line:#a58050; }
body[data-design="doener"] .card-intro { left:15%; width:78%; top:5.2%; }
body[data-design="doener"] h1 { font:400 13cqw/1.15 'Anton',Impact,sans-serif; text-transform:uppercase; color:#fff1d3; letter-spacing:-.01em; }
body[data-design="doener"] h1 em { display:inline; color:#f8bf34; font-size:inherit; }
body[data-design="doener"] .card-intro > p { color:#171a16; font-size:6.2cqw; margin:1.5cqw 8% 0; }
body[data-design="doener"] .menu-group { left:32%; width:47%; }
body[data-design="doener"] .group-1 { top:27%; }
body[data-design="doener"] .group-2 { top:55.3%; color:#fff7de; --muted:#fff7de; }
body[data-design="doener"] .group-3 { top:82%; left:34%; width:45%; }
body[data-design="doener"] .group-heading::after { display:none; }
body[data-design="doener"] .group-heading h2 { width:100%; padding:.65cqw 1.5cqw; text-align:center; color:#fff0cf; background:#9e1b14; font:700 4.7cqw/1.15 'Roboto Condensed',Arial,sans-serif; clip-path:polygon(2% 5%,95% 0,100% 15%,96% 29%,99% 58%,95% 92%,3% 100%,0 80%,3% 59%,0 35%); }
body[data-design="doener"] .group-1 h2 { font-size:3.8cqw; }
body[data-design="doener"] .dish h3,body[data-design="doener"] .price { font-family:'Roboto Condensed',Arial,sans-serif; font-size:3.6cqw; }
body[data-design="doener"] .ingredients { font-family:'Roboto Condensed',Arial,sans-serif; }

body[data-design="cafe"] { --paper:#fff9ec; --ink:#152135; --accent:#315f77; --brass:#d26b3f; --muted:#315f77; --line:#d4ba97; }
body[data-design="cafe"] .card-intro { left:27%; width:48%; top:12.6%; }
body[data-design="cafe"] h1 { color:#32627a; font:900 5.8cqw/1 'Nunito Sans',Arial,sans-serif; text-transform:uppercase; }
body[data-design="cafe"] h1 em { color:#bd522d; font:900 8.6cqw/1.1 'Nunito Sans',Arial,sans-serif; letter-spacing:-.04em; transform:rotate(-2deg); }
body[data-design="cafe"] .card-intro > p { color:#255570; font-size:4.8cqw; margin:.4cqw -4cqw 0; }
body[data-design="cafe"] .menu-group { left:33%; width:47%; }
body[data-design="cafe"] .group-1 { top:32.8%; }
body[data-design="cafe"] .group-2 { top:60.5%; }
body[data-design="cafe"] .group-3 { top:75.2%; }
body[data-design="cafe"] .group-heading h2 { padding:.6cqw 1.9cqw; background:#f5d6b8; color:#285b74; font:900 3.6cqw/1.2 'Nunito Sans',Arial,sans-serif; border-radius:32% 8% 30% 10%; letter-spacing:.07em; transform:none; }
body[data-design="cafe"] .group-heading::after { border-color:#cf754b; }
body[data-design="cafe"] .dish { min-height:9.4cqw; }
body[data-design="cafe"] .dish h3,body[data-design="cafe"] .price { font-family:'Nunito Sans',Arial,sans-serif; font-size:2.95cqw; }
body[data-design="cafe"] .price { font-weight:400; }
body[data-design="cafe"] .ingredients { font-family:'Nunito Sans',Arial,sans-serif; font-size:2cqw; }

body[data-design="lindenhof"] { --paper:#fffdf5; --ink:#111c32; --accent:#98702a; --brass:#98702a; --muted:#384c5b; --line:#bfa66a; }
body[data-design="lindenhof"] .card-intro { left:13%; width:45%; top:10.8%; }
body[data-design="lindenhof"] h1 { color:#98702a; font:600 3.2cqw/1.2 'Cormorant Garamond',Georgia,serif; text-transform:uppercase; letter-spacing:.2em; }
body[data-design="lindenhof"] h1 em { color:#121e35; font:600 7.8cqw/1.05 'Cormorant Garamond',Georgia,serif; letter-spacing:-.02em; margin-top:0; }
body[data-design="lindenhof"] .card-intro > p { color:#98702a; font-size:9.8cqw; margin:2.9cqw 0 0; }
body[data-design="lindenhof"] .group-1 { left:23%; width:55%; top:31.8%; }
body[data-design="lindenhof"] .group-2 { left:19%; width:49%; top:52.3%; }
body[data-design="lindenhof"] .group-3 { left:17%; width:40%; top:79.5%; }
body[data-design="lindenhof"] .group-heading h2 { font-weight:600; font-size:3.9cqw; letter-spacing:.035em; }
body[data-design="lindenhof"] .dish { min-height:9.2cqw; }
body[data-design="lindenhof"] .dish h3,body[data-design="lindenhof"] .price { font-family:'Cormorant Garamond',Georgia,serif; font-size:3.8cqw; font-weight:600; }
body[data-design="lindenhof"] .ingredients { font-family:'Cormorant Garamond',Georgia,serif; font-size:2.5cqw; }
body[data-design="lindenhof"] .dish-add { color:#98702a; background:transparent; border:1px solid #98702a; }

body[data-design="mezze"] { --paper:#fff1d8; --ink:#191c12; --accent:#72180e; --brass:#b78022; --muted:#292719; --line:#c59750; }
body[data-design="mezze"] .card-intro { left:25%; width:51%; top:4.5%; }
body[data-design="mezze"] h1 { font:700 6.8cqw/1.2 'Cormorant Garamond',Georgia,serif; color:#711b10; white-space:nowrap; text-transform:uppercase; letter-spacing:-.03em; }
body[data-design="mezze"] .card-intro > p { color:#711b10; font-size:10cqw; margin:.3cqw -7cqw 0; }
body[data-design="mezze"] .menu-group { left:37%; width:56%; }
body[data-design="mezze"] .group-1 { top:23.6%; }
body[data-design="mezze"] .group-2 { top:43.4%; left:40%; width:53%; }
body[data-design="mezze"] .group-3 { top:61.7%; left:40%; width:53%; }
body[data-design="mezze"] .group-4 { top:74.2%; left:42%; width:44%; }
body[data-design="mezze"] .group-heading::after { display:none; }
body[data-design="mezze"] .group-heading h2 { padding:.5cqw 1.8cqw; color:#271c07; background:#dda735; font:700 3.7cqw/1.2 'Cormorant Garamond',Georgia,serif; transform:none; clip-path:polygon(2% 3%,95% 0,100% 18%,96% 32%,100% 59%,96% 96%,2% 100%,0 77%,2% 51%,0 25%); }
body[data-design="mezze"] .dish h3,body[data-design="mezze"] .price { font-family:'Cormorant Garamond',Georgia,serif; font-size:3.9cqw; font-weight:700; }
body[data-design="mezze"] .ingredients { font-family:'Cormorant Garamond',Georgia,serif; font-size:2.5cqw; }

/* Mobile uses live text flow and independently anchored artwork regions.
   Food is never stretched and menu text is never baked into a picture. */
@media(max-width:600px) {
 .paper { width:calc(100% - 16px); margin-top:18px; aspect-ratio:auto; min-height:133.333cqw; padding:43cqw 0 38cqw; --add-size:30px; }
 .artwork-top { height:133.333cqw; bottom:auto; background-size:100% auto; mask-image:linear-gradient(#000 0%,#000 45%,transparent 61%); }
 .artwork-bottom { display:block; top:auto; height:65cqw; background-size:100% auto; background-position:bottom center; mask-image:linear-gradient(transparent,#000 45%); }
 .card-intro { top:4cqw; }
 .menu-group,.menu-group[class] { position:relative; top:auto!important; margin-bottom:6cqw; padding:0; }
 .group-heading { min-height:24px; margin-bottom:8px; gap:10px; }
 .group-heading h2 { font-size:clamp(18px,4.7cqw,28px); }
 .dish { min-height:54px; padding:5px 0 9px; }
 .dish-heading { gap:6px; }
 .dish h3,.price { font-size:14px; line-height:1.2; }
 .dish h3 { hyphens:auto; overflow-wrap:anywhere; }
 .ingredients { font-size:12px; line-height:1.3; margin-top:3px; }
 .dish-actions { gap:4px; }
 .dish-add { font-size:24px; }
 .dish-photo { width:48px; height:48px; }
 body[data-view="gerichtsfotos"] .has-photo { gap:7px; }
 body[data-view="gerichtsfotos"] .has-photo .dish-heading { display:flex; flex-wrap:wrap; }
 body[data-view="gerichtsfotos"] .has-photo .dish-actions { margin-left:auto; }
 .menu-anchor { top:42cqw; }
 body[data-design="pizzeria"] .menu-group { left:24%; width:68%; }
 body[data-design="pizzeria"] .group-3 { left:30%; width:60%; margin-top:10cqw; }
 body[data-design="pizzeria"] .group-3 h2 { font-size:4.8cqw; }
 body[data-design="burger"] .paper { padding-top:37cqw; padding-bottom:40cqw; }
 body[data-design="burger"] .card-intro { top:2cqw; }
 body[data-design="burger"] .menu-group { left:39%; width:57%; }
 body[data-design="burger"] .group-heading h2 { font-size:6cqw; }
 body[data-design="burger"] .group-3 { left:47%; width:49%; }
 body[data-design="burger"] .dish h3,body[data-design="burger"] .price { font-size:16px; }
 body[data-design="burger"] .ingredients { font-size:12px; }
 body[data-design="doener"] .paper { padding-top:38cqw; padding-bottom:28cqw; }
 body[data-design="doener"] .card-intro { top:5cqw; }
 body[data-design="doener"] .menu-group { left:29%; width:52%; padding:5px; background:#fff1d5ed; }
 body[data-design="doener"] .group-2 { background:#181b18ed; }
 body[data-design="doener"] .group-heading h2 { font-size:5cqw; padding:5px; }
 body[data-design="doener"] .group-1 h2 { font-size:4.4cqw; }
 body[data-design="doener"] .dish h3,body[data-design="doener"] .price { font-size:15px; }
 body[data-design="doener"] .ingredients { font-size:12px; }
 body[data-design="cafe"] .paper { padding-top:43cqw; padding-bottom:35cqw; }
 body[data-design="cafe"] .card-intro { top:17cqw; }
 body[data-design="cafe"] .menu-group { left:32%; width:49%; }
 body[data-design="cafe"] .group-heading h2 { font-size:4.2cqw; padding:4px 8px; }
 body[data-design="cafe"] .dish { min-height:60px; }
 body[data-design="cafe"] .dish h3,body[data-design="cafe"] .price { font-size:14px; }
 body[data-design="cafe"] .ingredients { font-size:12px; }
 body[data-design="lindenhof"] .paper { padding-top:43cqw; padding-bottom:36cqw; }
 body[data-design="lindenhof"] .card-intro { top:14cqw; }
 body[data-design="lindenhof"] .menu-group { left:24%; width:56%; }
 body[data-design="lindenhof"] .group-2 { left:19%; width:52%; }
 body[data-design="lindenhof"] .group-3 { left:18%; width:51%; }
 body[data-design="lindenhof"] .group-heading h2 { font-size:4.6cqw; }
 body[data-design="lindenhof"] .dish { min-height:64px; }
 body[data-design="lindenhof"] .dish h3,body[data-design="lindenhof"] .price { font-size:17px; }
 body[data-design="lindenhof"] .ingredients { font-size:14px; }
 body[data-design="lindenhof"][data-view="gerichtsfotos"] .has-photo h3 { font-size:17px; }
 body[data-design="mezze"] .paper { padding-top:31cqw; padding-bottom:32cqw; }
 body[data-design="mezze"] .card-intro { top:6cqw; }
 body[data-design="mezze"] .menu-group { left:36%; width:58%; }
 body[data-design="mezze"] .group-4 { left:41%; width:50%; }
 body[data-design="mezze"] .group-heading h2 { font-size:4.3cqw; padding:4px 7px; }
 body[data-design="mezze"] .dish h3,body[data-design="mezze"] .price { font-size:17px; }
 body[data-design="mezze"] .ingredients { font-size:14px; }
 body[data-design="mezze"] .artwork-top::after { content:''; position:absolute; left:35%; right:6%; top:33cqw; bottom:0; background:linear-gradient(90deg,#fff1d800,#fff1d8 12%,#fff1d8 88%,#fff1d800); }
}
@media(min-width:601px) {
 body[data-design="pizzeria"] .dish { padding-bottom:1.4cqw; }
 body[data-design="burger"] .dish { padding-bottom:1cqw; }
 body[data-design="lindenhof"] .group-heading { margin-bottom:.6cqw; }
 body[data-design="lindenhof"] .dish { padding-bottom:1.25cqw; }
 body[data-design="mezze"] .group-heading { margin-bottom:0; }
 body[data-design="mezze"] .dish { padding:.2cqw 0 1cqw; }
}
