@font-face{font-family:Fraunces;font-weight:400;font-style:normal;font-display:swap;src:url(fonts/fraunces-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-weight:600;font-style:normal;font-display:swap;src:url(fonts/fraunces-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-weight:400;font-style:italic;font-display:swap;src:url(fonts/fraunces-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:100 900;font-display:swap;src:url(fonts/inter-latin-wght-normal.woff2) format("woff2")}
:root{--paper:#f5f0e6;--paper2:#ece5d6;--ink:#1e2a25;--mute:#5f6b64;--line:#d8cfbc;--chili:#b8321f;--chili-d:#962716;--leaf:#2f4a3a;--r:4px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:400;line-height:1.12;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,6vw,4.6rem)}h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}h3{font-size:1.25rem}
em{font-style:italic;color:var(--chili)}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.eyebrow{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--chili);font-weight:600;margin:0 0 14px}
.btn{display:inline-block;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:13px 24px;border-radius:var(--r);font:600 .95rem Inter,sans-serif;text-decoration:none;cursor:pointer;transition:.15s}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn.pri{background:var(--chili);border-color:var(--chili);color:#fff}.btn.pri:hover{background:var(--chili-d);border-color:var(--chili-d)}
.btn.sm{padding:8px 14px;font-size:.85rem}
header.top{position:sticky;top:0;z-index:50;background:rgba(245,240,230,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.logo{font-family:Fraunces,serif;font-size:1.6rem;text-decoration:none;letter-spacing:-.02em}.logo small{display:block;font:500 .6rem Inter;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-top:-3px}
nav.main{display:flex;gap:26px;align-items:center}nav.main a{text-decoration:none;font-size:.92rem;font-weight:500}nav.main a:hover,nav.main a.on{color:var(--chili)}
.cartbtn{position:relative}.cartbtn b{display:inline-block;min-width:20px;padding:0 6px;margin-left:6px;border-radius:10px;background:var(--chili);color:#fff;font-size:.75rem;line-height:20px;text-align:center}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;font:600 .85rem Inter;color:var(--ink)}
@media(max-width:820px){.burger{display:block}nav.main{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:18px 22px;gap:16px}nav.main.open{display:flex}}
.hero{padding:56px 0 40px}.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.hero p.lead{font-size:1.15rem;color:var(--mute);max-width:34em;margin:22px 0 30px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap}
.status{margin-top:26px;font-size:.88rem;color:var(--mute);display:flex;align-items:center;gap:10px}.dot{width:9px;height:9px;border-radius:50%;background:#999}.dot.on{background:#2e7d4f}
.heroimg{position:relative;aspect-ratio:1/1.02}.heroimg img{position:absolute;mix-blend-mode:multiply}
.heroimg .a{width:92%;right:0;top:0;mix-blend-mode:normal;border-radius:var(--r)}.heroimg .b{width:48%;left:0;bottom:0}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr}.heroimg{max-width:420px;margin:0 auto}}
.three{border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.three a{display:grid;grid-template-columns:70px 1fr 1.4fr 40px;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);text-decoration:none}
.three a:last-child{border-bottom:0}.three a:hover h3{color:var(--chili)}.three .no{font-family:Fraunces;font-size:1.1rem;color:var(--chili)}
.three h3{font-size:1.7rem}.three p{margin:0;color:var(--mute)}.three .ar{font-size:1.4rem;text-align:right}
@media(max-width:700px){.three a{grid-template-columns:40px 1fr 30px}.three p{display:none}}
section.s{padding:84px 0}section.alt{background:var(--paper2)}
.head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:38px;flex-wrap:wrap}
.pop{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 22px}
.dish{display:flex;flex-direction:column}.dish .ph{aspect-ratio:1;background:#fff;border-radius:var(--r);overflow:hidden;margin-bottom:14px}.dish .ph img{width:100%;height:100%;object-fit:cover}
.dish .row{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.dish h3{font-size:1.15rem}.dish .pr{font-weight:600;white-space:nowrap}
.dish p{margin:4px 0 12px;color:var(--mute);font-size:.9rem;flex:1}
@media(max-width:820px){.pop{grid-template-columns:1fr 1fr}}@media(max-width:520px){.pop{grid-template-columns:1fr}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.two.rev .t{order:2}.two p{color:var(--mute);max-width:32em}
.pics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pics .p{background:#fff;border-radius:var(--r);overflow:hidden;aspect-ratio:1}.pics img{width:100%;height:100%;object-fit:cover}.pics .p:first-child{grid-row:span 1}
.facts{display:flex;gap:34px;margin:26px 0 0;flex-wrap:wrap}.facts div b{display:block;font:400 2.2rem Fraunces;color:var(--chili);line-height:1}.facts div span{font-size:.85rem;color:var(--mute)}
@media(max-width:820px){.two{grid-template-columns:1fr;gap:28px}.two.rev .t{order:0}}
.visit{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.visit h3{margin-bottom:12px}.visit dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 18px}.visit dt{color:var(--mute)}.visit dd{margin:0}
.visit ul{margin:0;padding:0;list-style:none}.visit li{padding:5px 0;border-bottom:1px solid var(--line)}
@media(max-width:820px){.visit{grid-template-columns:1fr}}
.quick{background:var(--leaf);color:#f1ead9;border-radius:var(--r);padding:44px;display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}
.quick h2{color:#fff}.quick .eyebrow{color:#e9b9a8}.quick p{color:#cfd8cf}
.quick form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick .btn{grid-column:1/-1;text-align:center}
@media(max-width:820px){.quick{grid-template-columns:1fr;padding:28px}}
label{display:block;font-size:.8rem;font-weight:600;margin-bottom:5px}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:var(--r);background:#fff;font:inherit;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--chili);outline-offset:0}
.quick label{color:#e8e0cc}
footer{background:var(--ink);color:#cfd6d0;padding:56px 0 30px;font-size:.9rem}footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}footer h4{margin:0 0 12px;color:#fff;font:600 .8rem Inter;letter-spacing:.14em;text-transform:uppercase}footer a{text-decoration:none;display:block;padding:3px 0}footer a:hover{color:#fff}
footer .logo{color:#fff}footer .fine{margin-top:36px;padding-top:20px;border-top:1px solid #34423b;font-size:.8rem;color:#8d9a92;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
@media(max-width:700px){footer .cols{grid-template-columns:1fr}}
/* Speisekarte */
.pagehead{padding:46px 0 24px}.pagehead p{color:var(--mute);max-width:40em}
.menubar{position:sticky;top:68px;z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}
.menubar .wrap{display:flex;gap:14px;align-items:center;padding-top:10px;padding-bottom:10px}
.cats{display:flex;gap:8px;overflow-x:auto;flex:1;scrollbar-width:none}.cats::-webkit-scrollbar{display:none}
.cats a{white-space:nowrap;text-decoration:none;font-size:.85rem;padding:7px 13px;border:1px solid var(--line);border-radius:30px;font-weight:500}.cats a.on,.cats a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tools{display:flex;gap:8px}.tools input{width:170px;padding:8px 12px}.tools select{width:auto;padding:8px}
@media(max-width:700px){.menubar .wrap{flex-wrap:wrap}.tools{width:100%}.tools input{flex:1}}
.layout{display:grid;grid-template-columns:1fr 360px;gap:44px;align-items:start;padding-bottom:80px}
@media(max-width:1000px){.layout{grid-template-columns:1fr}}
.cat{padding-top:34px;scroll-margin-top:130px}.cat h2{font-size:1.9rem;margin-bottom:6px;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.cat .note{color:var(--mute);font-size:.9rem;margin:10px 0 0}
.it{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.it .th{width:76px;height:76px;border-radius:var(--r);overflow:hidden;background:#fff}.it .th img{width:100%;height:100%;object-fit:cover}
.it.noimg{grid-template-columns:1fr auto}.it h3{font-size:1.05rem;font-family:Inter;font-weight:600;letter-spacing:0}.it p{margin:2px 0 0;font-size:.85rem;color:var(--mute)}
.tag{display:inline-block;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--leaf);color:var(--leaf);border-radius:3px;padding:1px 6px;margin-left:8px;vertical-align:2px}
.it .buy{text-align:right}.it .pr{font-weight:600;display:block;margin-bottom:6px}
.add{background:var(--ink);color:var(--paper);border:0;border-radius:var(--r);padding:8px 16px;font:600 .82rem Inter;cursor:pointer}.add:hover{background:var(--chili)}
.qty{display:inline-flex;align-items:center;border:1px solid var(--ink);border-radius:var(--r)}.qty button{background:none;border:0;width:30px;height:32px;font-size:1.05rem;cursor:pointer;color:var(--ink)}.qty span{min-width:22px;text-align:center;font-weight:600;font-size:.9rem}
.cart{position:sticky;top:150px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.cart h2{font-size:1.4rem;margin-bottom:14px}.cart .empty{color:var(--mute);font-size:.92rem}
.ci{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}.ci .nm{font-weight:500}.ci .sum{text-align:right;font-weight:600}
.tot{display:flex;justify-content:space-between;padding:6px 0;font-size:.92rem;color:var(--mute)}.tot.big{color:var(--ink);font-weight:700;font-size:1.1rem;border-top:1px solid var(--ink);margin-top:8px;padding-top:12px}
.cart .btn{width:100%;margin-top:14px;text-align:center}
@media(max-width:1000px){.cart{position:static}.cartfab{display:flex}}
.cartfab{display:none;position:fixed;left:16px;right:16px;bottom:16px;z-index:60;justify-content:space-between;background:var(--chili);color:#fff;padding:15px 20px;border-radius:var(--r);text-decoration:none;font-weight:600;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.cartfab.hide{display:none!important}
/* Formulare */
.formcard{max-width:820px;margin:0 auto 90px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:34px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid2 .full{grid-column:1/-1}
@media(max-width:600px){.grid2{grid-template-columns:1fr}.formcard{padding:22px}}
.seg{display:flex;gap:10px}.seg label{flex:1;margin:0;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;cursor:pointer;font-weight:600;font-size:.92rem}.seg input{width:auto;margin-right:8px;accent-color:var(--chili)}.seg label:has(input:checked){border-color:var(--ink);background:var(--paper)}
.err{color:var(--chili-d);font-size:.88rem;margin-top:10px;min-height:1.2em}
.ok{background:#eaf3ec;border:1px solid #9bc4a6;border-radius:var(--r);padding:22px}.ok h2{font-size:1.6rem;margin-bottom:8px}
.hp{position:absolute;left:-9999px}
.prose{max-width:760px;padding-bottom:90px}.prose h2{font-size:1.5rem;margin:34px 0 8px}.prose p,.prose li{color:#333}
.draft{background:var(--ink);color:#e9e3d2;font-size:.75rem;text-align:center;padding:6px}
.ci .qty{justify-self:start}
