
:root{--return-h:34px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--return-h) + 5.5rem)}
body{margin:0;background:#F7F2EA;color:#20221F;line-height:1.55;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
img,svg,picture{display:block;max-width:100%} img{height:auto} h1,h2,h3,p,ul,ol,dl,figure{margin:0} ul,ol{padding:0;list-style:none} address{font-style:normal}
a{color:inherit} button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid #A6482F;outline-offset:3px;border-radius:6px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(1120px,100% - 2*clamp(16px,4vw,48px));margin-inline:auto}
/* Rückleiste zur Unternehmenswebsite: schmal, sticky, über dem Demo-Header */
.return{position:sticky;top:0;z-index:45;display:flex;align-items:center;justify-content:space-between;gap:6px 16px;min-height:var(--return-h);padding:0 clamp(12px,3vw,24px);background:#14171B;color:#F3F1EB;font:500 12.5px/1.2 system-ui,sans-serif;letter-spacing:.01em}
.return a{color:#F3F1EB;text-decoration:none;display:inline-flex;align-items:center;gap:.45em;white-space:nowrap;padding:7px 0;min-height:var(--return-h)} .return a svg{width:1em;height:1em;flex:none;transition:transform .15s} .return a:hover{text-decoration:underline;color:#fff} .return a:hover svg{transform:translateX(-3px)}
.return .ask{color:#E5C07A} @media(max-width:379px){.return .ask{display:none}}
.nav-toggle{display:none;align-items:center;gap:.5rem;padding:.5rem .8rem;border-radius:999px;border:1.5px solid currentColor;background:transparent;cursor:pointer;font:600 14px system-ui,sans-serif;white-space:nowrap;flex:none}
.nav-toggle .bars{width:18px;height:12px;position:relative;display:block} .nav-toggle .bars::before,.nav-toggle .bars::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,top .2s} .nav-toggle .bars::before{top:0} .nav-toggle .bars::after{top:10px}
.nav-toggle[aria-expanded="true"] .bars::before{top:5px;transform:rotate(45deg)} .nav-toggle[aria-expanded="true"] .bars::after{top:5px;transform:rotate(-45deg)}
.hours__status{font-weight:600;margin-bottom:.6em;min-height:1.4em} .hours__status:empty{display:none} .hours__status[data-open="true"]::before,.hours__status[data-open="false"]::before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;margin-right:.45em;background:#3E8E5B;vertical-align:baseline} .hours__status[data-open="false"]::before{background:#B3462E}
.hours__table{border-collapse:collapse;width:100%} .hours__table th,.hours__table td{text-align:left;padding:.45em 0;border-bottom:1px solid #E0D7C8;font-weight:400;vertical-align:top} .hours__table th{white-space:nowrap;padding-right:.8em} .hours__table td{text-align:right;white-space:nowrap;font-weight:600} @media(max-width:359px){.hours__table th{white-space:normal}} .hours__table tr.is-today th,.hours__table tr.is-today td{font-weight:700} .hours__table tr.is-today th::after{content:" · heute";font-weight:400;opacity:.7;font-size:.85em}
.hours__note{margin-top:.8em;font-size:.92em;color:#5E5F5A}
.filter{margin:1.5em 0 2em} .filter__row{display:flex;flex-wrap:wrap;gap:.5rem} .filter__btn{padding:.5em 1em;border-radius:999px;border:1.5px solid #E0D7C8;background:transparent;cursor:pointer;font:600 .92em system-ui,sans-serif;transition:background .15s,color .15s,border-color .15s} .filter__btn:hover{border-color:currentColor} .filter__btn[aria-pressed="true"]{background:#20221F;color:#F7F2EA;border-color:#20221F}
.filter__veg{display:inline-flex;align-items:center;gap:.5em;margin-top:.9em;font:500 .95em system-ui,sans-serif;cursor:pointer} .filter__veg input{width:1.1em;height:1.1em;accent-color:#A6482F}
.filter__empty{margin-top:.8em;font-size:.95em;opacity:.8}
.js-only{display:none} .js .js-only{display:block}
[data-group][hidden],[data-item][hidden]{display:none!important}
.demo-form form{display:grid;gap:1em;min-width:0} .demo-form .f{display:grid;gap:.3em;font:600 .9em system-ui,sans-serif} .demo-form input,.demo-form textarea{width:100%;min-width:0;padding:.7em .8em;border:1.5px solid #E0D7C8;border-radius:8px;background:#fff;font-weight:400} .demo-form input:focus,.demo-form textarea:focus{outline:none;border-color:#A6482F;box-shadow:0 0 0 3px #A6482F33} .demo-form textarea{resize:vertical}
.demo-form button{padding:.75em 1.4em;border-radius:999px;border:0;background:#20221F;color:#F7F2EA;font:600 .95em system-ui,sans-serif;width:max-content;cursor:pointer;transition:background .15s} .demo-form button:hover{background:#A6482F;color:#fff}
.demo-form__sent{padding:.8em 1em;border-radius:10px;background:#20221F12;font:500 .92em/1.5 system-ui,sans-serif} .demo-form__sent[hidden]{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto} *,*::before,*::after{transition:none!important;animation:none!important}}

body{font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif;font-size:clamp(16px,1.05vw,18px)}
.skip{position:absolute;left:1rem;top:-100px;padding:.5rem .9rem;background:#2E3A33;color:#F7F2EA;border-radius:6px;z-index:100} .skip:focus{top:.5rem}
.header{background:#F7F2EA;border-bottom:3px solid #A6482F}
.header .wrap{display:flex;align-items:center;gap:1rem;min-height:4.5rem;flex-wrap:wrap}
.brand{text-decoration:none;display:flex;align-items:center;gap:.7rem;font-weight:800;font-size:1.2em;letter-spacing:-.01em;margin-right:auto;min-width:0;flex:1 1 0;line-height:1.15}
.hright{display:flex;align-items:center;gap:1rem;flex:none}
@media(max-width:420px){.brand{font-size:1.05em;gap:.5rem} .brand i{display:none}} .brand i{width:2rem;height:2rem;border-radius:50%;background:#A6482F;display:inline-grid;place-items:center;color:#fff;font-size:.8em;font-style:normal}
.nav ul{display:flex;gap:.2rem} .nav__link{display:inline-block;padding:.55rem .9rem;border-radius:10px;text-decoration:none;font-weight:600;font-size:.95em;transition:background .15s,color .15s} .nav__link:hover{background:#EFE7DA} .nav__link[aria-current="page"]{background:#F3E1D8;color:#A6482F}
.hphone{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;text-decoration:none;color:#A6482F;white-space:nowrap} .hphone svg{width:1em;height:1em} .hphone:hover{text-decoration:underline} @media(max-width:560px){.hphone .txt{display:none}}
@media(max-width:760px){.nav-toggle{display:inline-flex} .nav{display:none;width:100%;order:3;padding-bottom:.5rem} .nav[data-open="true"]{display:block} .no-js .nav{display:block} .nav ul{flex-direction:column;gap:.15rem} .nav__link{display:block;padding:.85rem .8rem;font-size:1.05em}}
.hero{display:grid;gap:1.5rem;padding:clamp(32px,5vw,64px) 0 clamp(24px,4vw,40px);align-items:center} @media(min-width:860px){.hero{grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px)}}
.status{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem .4rem .6rem;border-radius:999px;background:#EFE7DA;font-weight:600;font-size:.9em;margin-bottom:1.2em} .status .hours__status{margin:0;min-height:0} .status .hours__status:empty+span{display:inline} .status .hours__status:not(:empty)+span{display:none}
h1{font-size:clamp(34px,4.8vw,64px);line-height:1.04;letter-spacing:-.02em;font-weight:800;max-width:18ch;text-wrap:balance}
.sub{color:#5E5F5A;font-size:1.08em;max-width:44ch;margin-top:1em;text-wrap:pretty}
.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.6em}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85em 1.5em;border-radius:12px;font-weight:700;text-decoration:none;background:#A6482F;color:#fff;transition:background .15s,transform .15s} .btn:hover{background:#8C3A24;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:#20221F;border:1.5px solid #20221F} .btn.ghost:hover{background:#EFE7DA}
.btn.dark{background:#2E3A33} .btn.dark:hover{background:#1F2A24}
.hero figure picture{border-radius:28px;overflow:hidden;aspect-ratio:1;background:#EFE7DA;box-shadow:0 30px 60px -40px rgba(0,0,0,.5)} .hero img{width:100%;height:100%;object-fit:cover} @media(max-width:640px){.hero figure picture{aspect-ratio:4/5}}
.tel-inline{font-weight:700;color:#A6482F;text-decoration:none;font-size:1.1em} .tel-inline:hover{text-decoration:underline}
section{padding:clamp(40px,6vw,80px) 0}
.eyebrow{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78em;color:#A6482F;margin-bottom:.6em}
h2.t{font-size:clamp(26px,3.2vw,40px);letter-spacing:-.02em;font-weight:800;margin-bottom:.35em;text-wrap:balance}
.lead{color:#5E5F5A;max-width:52ch;margin-bottom:1.6em}
.popular{display:grid;gap:.8rem} @media(min-width:640px){.popular{grid-template-columns:1fr 1fr}} @media(min-width:1000px){.popular{grid-template-columns:repeat(4,1fr)}}
.dish{background:#fff;border:1px solid #E0D7C8;border-radius:16px;padding:1.2rem 1.3rem;display:grid;gap:.3rem;align-content:start;transition:transform .2s,box-shadow .2s} .dish:hover{transform:translateY(-2px);box-shadow:0 14px 30px -22px rgba(0,0,0,.4)} .dish b{font-size:1.08em} .dish span{color:#5E5F5A;font-size:.92em} .dish em{font-style:normal;font-weight:800;color:#A6482F;font-size:1.15em;margin-top:.3em}
.more{display:inline-block;margin-top:1.4em;font-weight:700;text-decoration-thickness:2px;text-underline-offset:.25em} .more:hover{color:#A6482F}
.groups{display:grid;gap:clamp(24px,4vw,40px)}
.group{background:#fff;border:1px solid #E0D7C8;border-radius:20px;padding:clamp(18px,3vw,32px)} .group .gh{font-size:1.25em;font-weight:800;margin-bottom:.6em;padding-bottom:.6em;border-bottom:2px solid #F3E1D8}
.items li{display:grid;grid-template-columns:1fr auto;gap:.15em 1em;padding:.7em 0;border-bottom:1px dotted #E0D7C8;align-items:baseline} .items li:last-child{border-bottom:0} .items b{font-weight:600} .items small{grid-column:1;color:#5E5F5A;font-size:.92em} .items em{font-style:normal;font-weight:800;white-space:nowrap;grid-column:2;grid-row:1;font-variant-numeric:tabular-nums} .items .veg{display:inline-block;font-size:.72em;font-weight:800;color:#2F6B3A;background:#E3F0E3;border-radius:6px;padding:.1em .4em;margin-left:.4em;vertical-align:middle}
.allergens{margin-top:2em;color:#5E5F5A;font-size:.95em;background:#EFE7DA;padding:1em 1.2em;border-radius:12px}
.twocol{display:grid;gap:2rem} @media(min-width:860px){.twocol{grid-template-columns:1fr 1fr;gap:4rem;align-items:start}}
.steps{counter-reset:s;display:grid;gap:1rem} .steps li{display:grid;grid-template-columns:2.6rem 1fr;gap:1rem;background:#fff;border:1px solid #E0D7C8;border-radius:16px;padding:1.2rem} .steps li::before{counter-increment:s;content:counter(s);width:2.6rem;height:2.6rem;border-radius:50%;background:#A6482F;color:#fff;display:grid;place-items:center;font-weight:800} .steps b{display:block;font-size:1.08em;margin-bottom:.2em} .steps p{color:#5E5F5A;font-size:.95em}
.notes{background:#2E3A33;color:#F7F2EA;border-radius:20px;padding:clamp(20px,3vw,32px)} .notes h2{font-size:1.1em;font-weight:800;margin-bottom:.8em} .notes li{padding:.5em 0;border-top:1px solid #F7F2EA22;opacity:.92} .notes li:first-child{border-top:0}
.info{display:grid;gap:1.5rem;align-content:start}
.box{background:#fff;border:1px solid #E0D7C8;border-radius:20px;padding:clamp(18px,3vw,28px)} .box address{font-size:1.1em;line-height:1.5}
.demo-form.box h2{font-size:1.3em;font-weight:800;margin-bottom:.8em}
.footer{background:#2E3A33;color:#F7F2EA;padding:clamp(28px,4vw,48px) 0;font-size:.92em} .footer .wrap{display:grid;gap:1.5rem} @media(min-width:760px){.footer .wrap{grid-template-columns:1fr 1fr 1fr}}
.footer b{display:block;font-weight:800;margin-bottom:.5em} .footer a{text-decoration:none} .footer a:hover{text-decoration:underline} .footer ul{display:grid;gap:.3em;opacity:.9}
/* Mobil (unter 600 px): Einstieg, Überschriften, kurze Texte, Gerichte-Kacheln und Verweise zentriert; Speisekarte, Schritte, Hinweise, Boxen, Formular und Fußzeile bleiben links. */
@media(max-width:599px){.hero>div:first-child,.eyebrow,h1,h2.t,.lead,.dish,.pitch,.filter__row{text-align:center} h1,.sub,.lead{margin-inline:auto} .actions,.filter__row{justify-content:center} .more{display:table;margin-inline:auto} .box .eyebrow,.steps .eyebrow{text-align:left}}
