/* =====================================================================
   VEFA RESTAURANT — base.css  (theme-agnostisch; Farben via theme.css)
   Moderne, dezente Effekte; vollständig per prefers-reduced-motion abschaltbar.
   ===================================================================== */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/cormorant-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/cormorant-ext-400.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/cormorant-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/cormorant-ext-500.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/cormorant-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/cormorant-ext-600.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/cormorant-400-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/cormorant-ext-400-italic.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('../fonts/cormorant-500-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('../fonts/cormorant-ext-500-italic.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-ext-400.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-ext-500.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-ext-600.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
  --f-display:'Cormorant Garamond','Iowan Old Style',Palatino,'Times New Roman',Georgia,serif;
  --f-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --gutter:clamp(20px,4vw,56px); --content:1240px; --measure:62ch;
  --r-sm:4px; --r-md:10px; --r-lg:16px;
  --ease:cubic-bezier(.4,0,.2,1); --ease-out:cubic-bezier(.16,1,.3,1);
  /* Sticky-Stack: deterministische Höhen für Header + Kategorienavigation */
  --header-h:64px; --catnav-h:54px;
}
@media(min-width:761px){:root{--catnav-h:100px;}}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h);overflow-x:clip;scrollbar-gutter:stable;}
body{margin:0;font-family:var(--f-body);font-weight:400;font-size:16px;line-height:1.65;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word;overflow-x:clip;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--brand);text-decoration:none;transition:color .2s var(--ease);}
a:hover,a:focus-visible{color:var(--brand-soft);}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
:focus-visible{outline:2px solid var(--gold-text);outline-offset:3px;border-radius:var(--r-sm);}
::selection{background:var(--brand);color:#fff;}
.wrap{width:100%;max-width:var(--content);margin:0 auto;padding:0 var(--gutter);}
.skip{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}
.skip:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;padding:12px 20px;background:var(--ink);color:var(--bg);border-radius:var(--r-md);z-index:1000;font-weight:600;}

/* Typografie */
.h-display{font-family:var(--f-display);font-weight:500;letter-spacing:-.01em;line-height:1.06;color:var(--ink);margin:0;overflow-wrap:break-word;}
.h-display em{font-style:italic;font-weight:400;color:var(--display-em);}
.h-1{font-size:clamp(2.6rem,6.5vw,4.8rem);}
.h-2{font-size:clamp(2rem,4.2vw,3.1rem);}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text);}
.eyebrow::before{content:'';width:32px;height:1px;background:var(--gold);}
.lead{font-size:1.075rem;line-height:1.6;color:var(--ink-2);max-width:var(--measure);}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font-weight:600;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid transparent;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);text-decoration:none;line-height:1;}
.btn--primary{background:var(--btn-bg);color:var(--btn-ink);}
.btn--primary:hover,.btn--primary:focus-visible{background:var(--btn-bg-hover);color:var(--btn-ink-hover);transform:translateY(-2px);box-shadow:var(--shadow);}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--rule-strong);}
.btn--ghost:hover,.btn--ghost:focus-visible{border-color:var(--brand);color:var(--brand);transform:translateY(-2px);}
.btn svg{width:14px;height:14px;flex-shrink:0;}

/* Header / Nav (sticky + shrink) */
.nav{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:saturate(150%) blur(14px);-webkit-backdrop-filter:saturate(150%) blur(14px);border-bottom:1px solid var(--rule);transition:box-shadow .3s var(--ease),background-color .3s var(--ease);}
.nav.is-scrolled{box-shadow:var(--shadow);}
.nav__bar{max-width:var(--content);margin:0 auto;padding:0 var(--gutter);min-height:var(--header-h);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;}
.nav__brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-display);font-style:italic;font-weight:500;font-size:1.4rem;color:var(--ink);letter-spacing:-.005em;}
.nav__brand .brand-mark{width:38px;height:38px;object-fit:contain;border-radius:50%;background:var(--surface);padding:3px;}
.nav__brand .brand-logo{height:36px;width:auto;display:block;}
@media(max-width:560px){.nav__brand .brand-logo{height:30px;}}
.nav__brand b{font-style:normal;font-weight:600;}
.nav__brand sup{font-family:var(--f-body);font-style:normal;font-size:.5em;font-weight:600;color:var(--gold-text);margin-left:2px;vertical-align:top;line-height:1;}
.nav__links{display:flex;justify-content:center;gap:28px;font-size:.82rem;font-weight:500;letter-spacing:.04em;}
.nav__links a{color:var(--ink-2);position:relative;padding:8px 0;}
.nav__links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease);}
.nav__links a:hover,.nav__links a:focus-visible,.nav__links a[aria-current]{color:var(--ink);}
.nav__links a:hover::after,.nav__links a:focus-visible::after,.nav__links a[aria-current]::after{transform:scaleX(1);}
.nav__tools{display:flex;align-items:center;gap:8px;justify-self:end;}
.nav__icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule);border-radius:50%;color:var(--ink-2);transition:color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease);}
.nav__icon:hover,.nav__icon:focus-visible{color:var(--brand);border-color:var(--brand);transform:translateY(-2px);}
.nav__icon svg{width:16px;height:16px;}
.nav__burger{display:none;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--rule);border-radius:50%;color:var(--ink-2);}
.nav__burger svg{width:18px;height:18px;}
.nav__sheet{position:fixed;top:0;right:0;bottom:0;width:min(86vw,360px);background:var(--surface);border-left:1px solid var(--rule);transform:translateX(100%);transition:transform .3s var(--ease-out);padding:84px 28px 28px;z-index:99;display:flex;flex-direction:column;gap:18px;overflow-y:auto;visibility:hidden;}
.nav__sheet.is-open{transform:translateX(0);visibility:visible;box-shadow:-20px 0 60px rgba(0,0,0,.3);}
.nav__sheet a{font-family:var(--f-display);font-size:1.55rem;color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:10px;letter-spacing:-.01em;}
.nav__sheet a:hover{color:var(--brand);}
.nav__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .3s var(--ease);z-index:98;}
.nav__backdrop.is-open{opacity:1;visibility:visible;}
@media(max-width:880px){.nav__links{display:none;}.nav__burger{display:inline-flex;}.nav__tools .nav__icon--secondary{display:none;}}
@media(max-width:560px){.nav__tools .btn{display:none;}.nav__bar{gap:12px;}}

/* Hero (Ken-Burns + Overlay) */
.hero{padding:clamp(44px,7vw,92px) var(--gutter) clamp(48px,6vw,80px);}
.hero__inner{max-width:var(--content);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:center;}
.hero__content{display:flex;flex-direction:column;gap:22px;}
.hero__title em{display:block;}
.hero__sub{max-width:46ch;}
.hero__badges{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:2px;}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;}
.hero__media{position:relative;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow);}
.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02);animation:kenburns 18s var(--ease) infinite alternate;}
.hero__media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.5));pointer-events:none;}
.hero__caption{position:absolute;bottom:18px;left:22px;right:22px;color:#fff;font-family:var(--f-display);font-style:italic;font-size:.95rem;line-height:1.3;z-index:1;}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.12)}}
@media(max-width:880px){.hero__inner{grid-template-columns:1fr;}.hero__media{aspect-ratio:4/3;order:-1;}}

/* Halal-Badge (klein, dezent) */
.halal{display:inline-flex;align-items:center;gap:10px;}
.halal__mark{width:46px;height:46px;background:var(--halal-mark) center/contain no-repeat;flex-shrink:0;}
.halal__txt{font-size:.82rem;color:var(--ink-2);line-height:1.3;}
.halal__txt b{color:var(--ink);font-weight:600;}

/* Section shell */
.section{padding:clamp(56px,8vw,108px) 0;position:relative;}
.section--surface-2{background:var(--surface-2);}
.section__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:end;margin-bottom:clamp(32px,5vw,56px);}
.section__head-r{padding-bottom:6px;}
@media(max-width:760px){.section__head{grid-template-columns:1fr;}}

/* Kurzprofil */
.profile{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);list-style:none;margin:0;padding:0;}
.profile__item{padding:28px 24px;display:flex;flex-direction:column;gap:10px;}
.profile__item+.profile__item{border-left:1px solid var(--rule);}
.profile__icon{width:36px;height:36px;color:var(--gold);}
.profile__icon svg{width:28px;height:28px;}
.profile__title{font-family:var(--f-display);font-weight:600;font-size:1.1rem;color:var(--ink);margin:0;}
.profile__text{font-size:.92rem;color:var(--ink-2);margin:0;line-height:1.5;}
@media(max-width:880px){.profile{grid-template-columns:repeat(2,1fr);}.profile__item:nth-child(odd){border-left:0;}.profile__item:nth-child(n+3){border-top:1px solid var(--rule);}.profile__item:nth-child(3){border-left:0;}}
@media(max-width:520px){.profile{grid-template-columns:1fr;}.profile__item{border-left:0!important;}.profile__item+.profile__item{border-top:1px solid var(--rule);}}

/* Speisekarte-Teaser: Bild-Kategorie-Karten */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px;}
.cat-card{position:relative;display:block;border-radius:var(--r-md);overflow:hidden;aspect-ratio:3/4;background:var(--surface-2);color:#fff;box-shadow:var(--shadow);}
.cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out);}
.cat-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.72));}
.cat-card__body{position:absolute;left:0;right:0;bottom:0;padding:18px;z-index:1;}
.cat-card__num{display:block;font-family:var(--f-display);font-style:italic;font-size:.85rem;color:#f3e7c9;opacity:.95;}
.cat-card__title{display:block;font-family:var(--f-display);font-weight:600;font-size:1.25rem;line-height:1.1;margin:2px 0 0;color:#fff;}
.cat-card__count{display:block;margin-top:3px;font-size:.76rem;letter-spacing:.04em;color:rgba(255,255,255,.82);}
.cat-card--drinks{background:linear-gradient(155deg,var(--surface-3),var(--surface-2));color:var(--ink);}
.cat-card--drinks::after{display:none;}
.cat-card--drinks .cat-card__num{color:var(--gold-text);}
.cat-card--drinks .cat-card__title{color:var(--ink);}
.cat-card--drinks .cat-card__count{color:var(--ink-mute);}
.cat-card--drinks .cat-card__deco{position:absolute;top:16px;right:16px;color:var(--gold);opacity:.5;}
.cat-card--drinks .cat-card__deco svg{width:46px;height:46px;}
.cat-card:hover img,.cat-card:focus-visible img{transform:scale(1.07);}
.cats__actions{display:flex;flex-wrap:wrap;gap:12px;}
@media(max-width:880px){.cats{grid-template-columns:repeat(2,1fr);}}
@media(max-width:440px){.cats{grid-template-columns:1fr 1fr;}}

/* Bewertungen */
.reviews__layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:clamp(28px,5vw,64px);align-items:start;}
.reviews__agg{border:1px solid var(--rule);border-radius:var(--r-md);padding:28px;background:var(--surface);box-shadow:var(--shadow);}
.reviews__big{font-family:var(--f-display);font-weight:600;font-size:clamp(3.5rem,6vw,5rem);line-height:1;color:var(--ink);letter-spacing:-.02em;}
.reviews__big em{font-style:italic;color:var(--display-em);font-weight:500;}
.reviews__big small{font-family:var(--f-body);font-size:1.1rem;font-weight:500;color:var(--ink-mute);}
.reviews__stars{display:inline-flex;gap:3px;margin:12px 0 8px;color:var(--gold-text);font-size:1.2rem;letter-spacing:.08em;}
.reviews__count{font-size:.9rem;color:var(--ink-2);margin:0 0 16px;}
.reviews__src{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;letter-spacing:.04em;}
.reviews__src svg{width:15px;height:15px;}
.reviews__list{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;}
.reviews__list .review{flex:0 1 calc(50% - 7px);min-width:230px;}
.review{border:1px solid var(--rule);border-radius:var(--r-md);padding:22px 24px;background:var(--surface);transition:transform .2s var(--ease),box-shadow .2s var(--ease);}
.review:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.review__stars{color:var(--gold-text);font-size:.85rem;letter-spacing:.1em;margin-bottom:8px;}
.review__body{font-family:var(--f-display);font-style:italic;font-size:1.12rem;line-height:1.45;color:var(--ink);margin:0 0 12px;}
.review__meta{font-size:.8rem;color:var(--ink-mute);letter-spacing:.03em;}
.review__meta b{color:var(--ink-2);font-weight:600;font-style:normal;}
@media(max-width:760px){.reviews__layout{grid-template-columns:1fr;}.reviews__list{grid-template-columns:1fr;}}

/* Historie + Count-up */
.history__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:center;}
.history__media{aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow);}
.history__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out);}
.history__media:hover img{transform:scale(1.05);}
.history__text{display:flex;flex-direction:column;gap:16px;max-width:60ch;}
.history__body h3{font-family:var(--f-display);font-weight:600;font-size:clamp(1.15rem,1.9vw,1.4rem);line-height:1.25;color:var(--ink);margin:0 0 12px;}
.history__body p{margin:0;}.history__body p+p{margin-top:12px;}
.history__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid var(--rule);}
.history__stat dt{font-family:var(--f-display);font-weight:600;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1;color:var(--ink);margin:0 0 4px;}
.history__stat dt em{font-style:italic;color:var(--display-em);font-weight:500;}
.history__stat dd{margin:0;font-size:.72rem;color:var(--ink-mute);letter-spacing:.14em;text-transform:uppercase;}
@media(max-width:880px){.history__inner{grid-template-columns:1fr;}}

/* Galerie (Hover-Zoom) */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.gallery__item{border-radius:var(--r-md);overflow:hidden;background:var(--surface-2);aspect-ratio:4/3;}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out);}
.gallery__item:hover img{transform:scale(1.08);}
.gallery__item--lg,.gallery__item--md,.gallery__item--sm{grid-column:auto;grid-row:auto;}
@media(max-width:620px){.gallery{grid-template-columns:repeat(2,1fr);}}

/* Kontakt */
.contact__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:start;}
.contact__block{display:flex;flex-direction:column;gap:8px;}
.contact__block h3{font-weight:600;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text);margin:0 0 4px;}
.contact__block address{font-style:normal;font-family:var(--f-display);font-size:1.15rem;line-height:1.5;color:var(--ink);}
.contact__hours{border-collapse:collapse;font-size:.92rem;color:var(--ink);}
.contact__hours td{padding:6px 12px 6px 0;vertical-align:top;}
.contact__hours td:first-child{color:var(--ink-2);width:9ch;}
.contact__channels{display:flex;flex-direction:column;gap:10px;font-size:.92rem;margin-top:4px;}
.contact__channels a{display:inline-flex;align-items:center;gap:10px;color:var(--ink);}
.contact__channels a:hover{color:var(--brand);}
.contact__channels svg{width:17px;height:17px;color:var(--gold-text);flex-shrink:0;}
.contact__map{position:relative;aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;background:var(--surface-2);border:1px solid var(--rule);display:block;box-shadow:var(--shadow);}
.contact__map svg.map-art{position:absolute;inset:0;width:100%;height:100%;}
.contact__map-label{position:absolute;top:14px;left:16px;right:16px;font-family:var(--f-display);font-style:italic;font-size:1.05rem;color:var(--ink);}
.contact__map-cta{position:absolute;bottom:14px;left:14px;background:var(--btn-bg);color:var(--btn-ink);padding:10px 16px;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;transition:background-color .2s var(--ease);}
.contact__map:hover .contact__map-cta{background:var(--btn-bg-hover);color:var(--btn-ink-hover);}
.contact__map-cta svg{width:12px;height:12px;}
@media(max-width:880px){.contact__layout{grid-template-columns:1fr 1fr;}.contact__map{grid-column:1/-1;aspect-ratio:16/9;}}
@media(max-width:520px){.contact__layout{grid-template-columns:1fr;}}

/* Footer */
.footer{background:var(--footer-bg);color:var(--footer-ink);padding:clamp(48px,6vw,80px) 0 28px;font-size:.9rem;line-height:1.6;}
.footer__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);margin-bottom:40px;}
.footer__brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-style:italic;font-weight:500;font-size:1.5rem;color:var(--footer-strong);margin-bottom:14px;}
.footer__brand b{font-style:normal;font-weight:600;}
.footer__brand sup{font-family:var(--f-body);font-style:normal;font-size:.5em;font-weight:600;color:var(--footer-head);margin-left:2px;vertical-align:top;line-height:1;}
.footer__brand-mark{width:34px;height:34px;object-fit:contain;border-radius:50%;background:var(--surface);padding:3px;}
.footer__logo{height:40px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.9;}
.footer__about{color:var(--footer-mute);max-width:36ch;margin:0 0 14px;}
.footer__halal{display:inline-flex;align-items:center;gap:10px;margin-top:4px;}
.footer__halal .halal__mark{width:40px;height:40px;}
.footer__halal span{font-size:.82rem;color:var(--footer-mute);}
.footer h3{font-weight:600;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--footer-head);margin:0 0 14px;}
.footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.footer a{color:var(--footer-ink);}
.footer a:hover{color:var(--footer-head);}
.footer__social{display:flex;gap:10px;margin-top:14px;}
.footer__social a{width:38px;height:38px;border:1px solid var(--footer-rule);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);}
.footer__social a:hover{color:var(--footer-head);border-color:var(--footer-head);transform:translateY(-2px);}
.footer__social svg{width:17px;height:17px;}
.footer__bottom{padding-top:22px;border-top:1px solid var(--footer-rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.8rem;color:var(--footer-mute);letter-spacing:.04em;}
@media(max-width:880px){.footer__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.footer__grid{grid-template-columns:1fr;}}

/* Reveal-on-scroll */
.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
.js [data-reveal].is-in{opacity:1;transform:none;}
.js [data-reveal][data-reveal="2"]{transition-delay:.08s;}
.js [data-reveal][data-reveal="3"]{transition-delay:.16s;}
.js [data-reveal][data-reveal="4"]{transition-delay:.24s;}

/* ============ SPEISEKARTE ============ */
.page-head{padding:clamp(44px,6vw,84px) var(--gutter) clamp(20px,3vw,30px);}
.page-head__inner{max-width:var(--content);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:end;}
.page-head__text{display:flex;flex-direction:column;gap:16px;}
.page-head__actions{display:flex;flex-wrap:wrap;gap:12px;padding-bottom:6px;}
@media(max-width:760px){.page-head__inner{grid-template-columns:1fr;}}
.cat-nav{position:sticky;top:var(--header-h);z-index:40;background:var(--header-bg);backdrop-filter:saturate(150%) blur(10px);-webkit-backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--rule);}
.cat-nav__inner{max-width:var(--content);margin:0 auto;padding:0 var(--gutter);display:flex;flex-wrap:wrap;justify-content:center;gap:0 2px;}
.cat-nav__inner::-webkit-scrollbar{display:none;}
.cat-nav a{flex:0 0 auto;padding:13px 12px;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);position:relative;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;min-height:44px;}
.cat-nav a::before{content:attr(data-num);font-family:var(--f-display);font-style:italic;color:var(--gold-text);font-size:.82rem;}
.cat-nav a::after{content:'';position:absolute;bottom:8px;left:14px;right:14px;height:1px;background:var(--brand);transform:scaleX(0);transform-origin:0 50%;transition:transform .25s var(--ease);}
.cat-nav a:hover,.cat-nav a.is-active{color:var(--ink);}
.cat-nav a:hover::after,.cat-nav a.is-active::after{transform:scaleX(1);}
@media(max-width:760px){.cat-nav__inner{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent);}}
.legend{max-width:var(--content);margin:24px auto 0;padding:0 var(--gutter);display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;font-size:.85rem;color:var(--ink-2);}
.legend__title{color:var(--ink);font-weight:600;}
.legend__halal{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);}
.legend__halal .halal__mark{width:34px;height:34px;}
.tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid currentColor;line-height:1.4;}
.tag--vegi{color:var(--olive);}
.tag--vegan{color:var(--olive);background:color-mix(in srgb,var(--olive) 10%,transparent);}
.cat{padding:clamp(40px,5vw,64px) 0 clamp(20px,3vw,32px);scroll-margin-top:var(--catnav-h);}
.cat__banner{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:21/6;background:var(--surface-2);margin-bottom:clamp(20px,3vw,32px);box-shadow:var(--shadow);}
.cat__banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cat__banner::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(0,0,0,.74),rgba(0,0,0,.32) 58%,rgba(0,0,0,.06) 86%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 42%);}
.cat__banner-body{position:absolute;left:0;bottom:0;padding:clamp(18px,3vw,30px);z-index:1;color:#fff;}
.cat__banner--plain{aspect-ratio:auto;min-height:160px;display:flex;align-items:center;gap:clamp(18px,3vw,32px);padding:clamp(22px,3vw,34px);background:linear-gradient(135deg,var(--surface-3),var(--surface-2));}
.cat__banner--plain::after{display:none;}
.cat__deco{flex:0 0 auto;color:var(--gold);opacity:.6;display:inline-flex;}
.cat__deco svg{width:clamp(46px,7vw,64px);height:clamp(46px,7vw,64px);}
.cat__banner--plain .cat__banner-body{position:static;padding:0;color:var(--ink);}
.cat__chapter{font-family:var(--f-display);font-style:italic;font-size:1rem;color:#f3e7c9;}
.cat__banner--plain .cat__chapter{color:var(--gold-text);}
.cat__title{font-family:var(--f-display);font-weight:600;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.05;margin:2px 0 6px;color:#fff;}
.cat__banner--plain .cat__title{color:var(--ink);}
.cat__lede{font-size:.95rem;color:rgba(255,255,255,.9);max-width:60ch;margin:0;}
.cat__banner--plain .cat__lede{color:var(--ink-2);}
/* Kapitel-Banner auf kleineren Screens: Höhe folgt dem Inhalt, damit Bild nicht
   zusammengepresst wird und der Text vollständig hineinpasst. */
@media(max-width:760px){
  .cat__banner:not(.cat__banner--plain){aspect-ratio:auto;min-height:172px;display:flex;align-items:flex-end;}
  .cat__banner:not(.cat__banner--plain) .cat__banner-body{position:relative;width:100%;}
  .cat__banner:not(.cat__banner--plain)::after{background:linear-gradient(0deg,rgba(0,0,0,.88) 4%,rgba(0,0,0,.5) 46%,rgba(0,0,0,.12));}
  .cat__lede{max-width:none;}
  .cat__banner--plain{flex-wrap:wrap;}
}
.dishes{display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px;}
@media(max-width:820px){.dishes{grid-template-columns:1fr;}}
.dish{padding:14px 0;border-bottom:1px solid var(--rule);}
.dish__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;}
.dish__name{font-family:var(--f-display);font-weight:600;font-size:1.18rem;line-height:1.2;color:var(--ink);margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;}
.dish__name em{font-style:italic;font-weight:400;color:var(--gold-text);font-size:.9rem;}
.dish__tags{display:inline-flex;gap:6px;flex-wrap:wrap;}
.dish__price{font-family:var(--f-display);font-weight:600;font-size:1.2rem;color:var(--ink);white-space:nowrap;}
.dish__price small{font-size:.8rem;color:var(--ink-mute);font-weight:400;}
.dish__desc{font-size:.9rem;color:var(--ink-2);margin:3px 0 0;line-height:1.45;max-width:62ch;}
.menu-foot{max-width:var(--content);margin:0 auto;padding:8px var(--gutter) clamp(40px,5vw,64px);color:var(--ink-mute);font-size:.85rem;}

/* ============ LEGAL ============ */
.legal{padding:clamp(40px,6vw,80px) 0 clamp(48px,6vw,88px);}
.legal__inner{max-width:760px;}
.legal h1{font-family:var(--f-display);font-weight:500;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.05;margin:0 0 12px;}
.legal h1 em{font-style:italic;color:var(--display-em);font-weight:400;}
.legal__intro{color:var(--ink-2);font-size:1.05rem;margin:0 0 8px;max-width:62ch;}
.toc{margin:28px 0 8px;padding:20px 24px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);}
.toc h2{font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text);margin:0 0 12px;}
.toc ol{margin:0;padding-left:1.3em;columns:2;column-gap:32px;font-size:.92rem;}
.toc li{margin:0 0 6px;}
@media(max-width:560px){.toc ol{columns:1;}}
.legal h2.sec{font-family:var(--f-display);font-weight:600;font-size:clamp(1.4rem,2.4vw,1.8rem);margin:40px 0 10px;scroll-margin-top:16px;}
.legal h3{font-weight:600;font-size:1rem;margin:22px 0 6px;}
.legal p{margin:0 0 12px;color:var(--ink);max-width:64ch;}
.legal address{font-style:normal;font-family:var(--f-display);font-size:1.15rem;line-height:1.55;margin:0 0 12px;}
.legal ul{margin:0 0 12px;padding-left:1.2em;max-width:64ch;}
.legal li{margin:0 0 6px;}
.legal .muted{color:var(--ink-mute);font-size:.92rem;}
.todo{display:inline-block;background:color-mix(in srgb,var(--brand) 12%,transparent);border:1px dashed var(--brand-soft);color:var(--brand);border-radius:var(--r-sm);padding:1px 8px;font-size:.85rem;font-weight:500;}
.note{background:var(--surface-2);border-left:3px solid var(--gold);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:14px 18px;margin:0 0 12px;font-size:.92rem;color:var(--ink-2);max-width:64ch;}

/* ============ MOBILES DESIGN (modern, zentriert) ============ */
@media(max-width:760px){
  /* Hero zentriert als Komposition */
  .hero{padding-top:clamp(28px,9vw,52px);}
  .hero__inner{gap:30px;}
  .hero__content{align-items:center;text-align:center;gap:18px;}
  .hero__content .eyebrow{justify-content:center;}
  .hero__sub{margin-left:auto;margin-right:auto;}
  .hero__cta{justify-content:center;width:100%;}
  .hero__media{aspect-ratio:4/3;border-radius:var(--r-lg);}
  .hero__title{font-size:clamp(2.2rem,8.5vw,3rem);}
  /* Section-Heads zentriert */
  .section{padding:clamp(48px,11vw,80px) 0;}
  .section__head{text-align:center;gap:14px;margin-bottom:clamp(24px,6vw,40px);}
  .section__head .eyebrow{justify-content:center;}
  .section__head .lead{margin-left:auto;margin-right:auto;}
  /* Button-Gruppen zentriert */
  .cats__actions,.page-head__actions,.history__stats{justify-content:center;}
  .page-head__text{align-items:center;text-align:center;}
  .page-head__text .eyebrow{justify-content:center;}
  .page-head__text .lead{margin-left:auto;margin-right:auto;}
  .page-head__actions{justify-content:center;}
  /* Bewertungen volle Breite */
  .reviews__list .review{flex:1 1 100%;min-width:0;}
  .reviews__agg{text-align:center;}
  .reviews__stars{justify-content:center;}
  /* Historie-Text zentriert, Bild als Karte oben */
  .history__text{align-items:center;text-align:center;}
  .history__text .eyebrow{justify-content:center;}
  .history__body{max-width:46ch;text-align:left;}
}
@media(max-width:520px){
  /* Buttons gestapelt + voll – klar zentriert */
  .hero__cta{flex-direction:column;align-items:stretch;max-width:340px;margin-left:auto;margin-right:auto;}
  .hero__cta .btn{width:100%;justify-content:center;}
  .cats__actions{flex-direction:column;align-items:stretch;}
  .cats__actions .btn{width:100%;justify-content:center;}
  .page-head__actions{width:100%;}
  .page-head__actions .btn{flex:1 1 auto;justify-content:center;}
  .footer__bottom{justify-content:center;text-align:center;}
}
/* Startseite mobil: Hero- und Historie-Foto randlos über die volle Bildschirmbreite, vollständig sichtbar */
@media(max-width:760px){
  .hero__media,.history__media{aspect-ratio:auto;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0;box-shadow:none;background:none;}
  .hero__media img{position:static;width:100%;height:auto;object-fit:contain;transform:none;animation:none;}
  .hero__media::after{display:none;}
  .hero__caption{position:static;color:var(--ink-2);text-align:center;margin-top:10px;padding:0 var(--gutter);}
  .history__media img{height:auto;object-fit:contain;}
  .gallery{grid-template-columns:1fr;}
  .gallery__item{aspect-ratio:auto;}
  .gallery__item img{height:auto;object-fit:contain;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
  [data-reveal]{opacity:1!important;transform:none!important;}
  .hero__media img{animation:none;transform:none;}
}

/* ============ AKTUELLES / EVENTS ============ */
.events{display:grid;gap:clamp(16px,2.5vw,24px);}
.events + .cats__actions{margin-top:clamp(24px,3vw,32px);}
.event{display:grid;grid-template-columns:minmax(116px,148px) 1fr;gap:clamp(16px,3vw,32px);align-items:center;padding:clamp(20px,3vw,30px);border:1px solid var(--rule);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);}
.event__date{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:var(--r-md);background:var(--surface-2);padding:16px 10px;}
.event__date .day{font-family:var(--f-display);font-weight:600;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1;color:var(--display-em);}
.event__date .year{font-size:.8rem;color:var(--ink-mute);margin-top:4px;letter-spacing:.06em;}
.event__tag{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);margin-bottom:8px;}
.event__body h3{font-family:var(--f-display);font-weight:600;font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.15;margin:0 0 6px;color:var(--ink);}
.event__body p{margin:0;color:var(--ink-2);max-width:62ch;line-height:1.55;}
.event__meta{margin-top:12px;font-size:.88rem;color:var(--ink-mute);display:flex;flex-wrap:wrap;gap:6px 18px;}
.events__note{margin-top:clamp(24px,4vw,40px);padding-top:clamp(20px,3vw,28px);border-top:1px solid var(--rule);}
.events__note p{color:var(--ink-2);max-width:60ch;}
.events__note .cats__actions{margin-top:16px;}
@media(max-width:560px){.event{grid-template-columns:1fr;}.event__date{flex-direction:row;gap:10px;justify-content:flex-start;padding:12px 16px;}}

/* zentrierte Kopfzeile (z. B. Aktuelles) */
.page-head__inner--center{grid-template-columns:minmax(0,1fr);justify-items:center;}
.page-head__inner--center .page-head__text{align-items:center;text-align:center;}
.page-head__inner--center .eyebrow{justify-content:center;}
.page-head__inner--center .page-head__actions{justify-content:center;margin-top:8px;}

/* ============ SPRACHUMSCHALTER (DE/TR/EN) ============ */
/* Ohne JavaScript ist der Umschalter funktionslos → ausblenden (Fallback: Deutsch). */
html:not(.js) .nav__lang,html:not(.js) .nav__sheet-lang{display:none;}
.nav__lang{position:relative;display:inline-flex;}
.nav__lang-btn{width:auto;min-width:38px;height:38px;padding:0 11px;gap:6px;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.06em;}
.nav__lang-btn svg{width:16px;height:16px;flex:0 0 auto;}
.nav__lang-code{line-height:1;}
.nav__lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:158px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);box-shadow:var(--shadow);padding:6px;z-index:60;display:flex;flex-direction:column;gap:2px;}
.nav__lang-menu[hidden]{display:none;}
.nav__lang-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:none;border:0;cursor:pointer;font:inherit;font-size:.9rem;color:var(--ink-2);padding:9px 12px;border-radius:var(--r-sm);min-height:40px;}
.nav__lang-menu button:hover,.nav__lang-menu button:focus-visible{background:var(--surface-2);color:var(--ink);}
.nav__lang-menu button.is-active{color:var(--ink);font-weight:600;}
.nav__lang-menu button.is-active::after{content:'';width:15px;height:15px;flex:0 0 auto;background:var(--brand);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;}
/* Sprachauswahl im Mobil-Menü */
.nav__sheet-lang{margin-top:auto;padding-top:18px;border-top:1px solid var(--rule);display:flex;gap:8px;}
.nav__sheet-lang button{flex:1 1 0;font:inherit;font-family:var(--f-body);font-size:.85rem;font-weight:600;letter-spacing:.04em;padding:11px 8px;border:1px solid var(--rule);border-radius:var(--r-sm);background:none;color:var(--ink-2);cursor:pointer;min-height:44px;}
.nav__sheet-lang button.is-active{border-color:var(--brand);color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,transparent);}

/* ============ KONTAKTFORMULAR ============ */
.contact__form-wrap{margin-top:clamp(34px,5vw,60px);padding-top:clamp(28px,4vw,44px);border-top:1px solid var(--rule);}
.contact__form-wrap>h3{font-family:var(--f-display);font-weight:600;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.1;margin:0 0 6px;color:var(--ink);}
.contact__form-wrap>p.cform__intro{color:var(--ink-2);max-width:62ch;margin:0 0 22px;}
.cform{max-width:760px;display:flex;flex-direction:column;gap:16px;}
.cform__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:560px){.cform__row{grid-template-columns:1fr;}}
.cform__field{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--ink-2);}
.cform__field>span{font-weight:500;letter-spacing:.02em;}
.cform input,.cform textarea{font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--r-sm);padding:12px 14px;width:100%;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);}
.cform input::placeholder,.cform textarea::placeholder{color:var(--ink-mute);}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent);}
.cform textarea{resize:vertical;min-height:130px;}
.cform__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.cform__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:2px;}
.cform__note{font-size:.82rem;color:var(--ink-mute);margin:0;max-width:46ch;}
.cform__status{margin:4px 0 0;font-size:.9rem;font-weight:500;min-height:1.2em;}
.cform__status.is-ok{color:var(--olive);}
.cform__status.is-err{color:var(--brand);}
.cform__consent{display:flex;align-items:flex-start;gap:10px;font-size:.82rem;color:var(--ink-2);max-width:64ch;}
.cform__consent input{width:auto;margin-top:2px;flex:0 0 auto;}
/* Contact Form 7 (WordPress) an das Theme-Design angleichen */
.wpcf7 .wpcf7-response-output{margin:14px 0 0;padding:12px 16px;border-radius:var(--r-sm);font-size:.9rem;border:1px solid var(--rule-strong);}
.wpcf7 .wpcf7-not-valid-tip{color:var(--brand);font-size:.82rem;}
.wpcf7 .wpcf7-spinner{margin:0 0 0 10px;}

/* ==== Sprachumschalter v16: Flaggen, Bullet-Fix, zentriertes Kontaktformular ==== */
/* Bullet-Fix: Liste ohne Aufzählungszeichen */
.nav__lang-menu{list-style:none;margin:0;}
.nav__lang-menu li{list-style:none;margin:0;}
/* Flaggen */
.flag{width:21px;height:14px;display:inline-block;border-radius:2px;flex:0 0 auto;box-shadow:0 0 0 1px rgba(31,26,20,.14);vertical-align:middle;}
.nav__lang-name{display:inline-flex;align-items:center;gap:10px;}
/* Toggle zeigt nur die Flagge der aktiven Sprache */
.nav__lang-btn .flag{display:none;}
html:not([data-lang]) .nav__lang-btn .flag--de,
html[data-lang="de"] .nav__lang-btn .flag--de{display:inline-block;}
html[data-lang="tr"] .nav__lang-btn .flag--tr{display:inline-block;}
html[data-lang="en"] .nav__lang-btn .flag--en{display:inline-block;}
/* Mobile-Sheet-Buttons mit Flagge */
.nav__sheet-lang button{display:flex;align-items:center;justify-content:center;gap:8px;}
/* Kontaktformular zentriert */
.contact__form-wrap{text-align:center;}
.contact__form-wrap>p.cform__intro{margin-left:auto;margin-right:auto;}
.cform{margin-left:auto;margin-right:auto;text-align:left;}
.cform__actions{justify-content:center;}

/* ==== Contact Form 7 (WordPress) exakt an das .cform-Design angleichen ==== */
.contact__form-wrap .wpcf7{max-width:460px;margin-left:auto;margin-right:auto;text-align:left;}
.contact__form-wrap .wpcf7-form{display:flex;flex-direction:column;gap:14px;}
.contact__form-wrap .wpcf7-form>p{margin:0;}
.contact__form-wrap .wpcf7-form .cform__field{margin:0;}
.contact__form-wrap .wpcf7-form .wpcf7-form-control-wrap{display:block;width:100%;}
.contact__form-wrap .wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.contact__form-wrap .wpcf7-form textarea{font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--r-sm);padding:12px 14px;width:100%;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);}
.contact__form-wrap .wpcf7-form input:not([type="submit"])::placeholder,
.contact__form-wrap .wpcf7-form textarea::placeholder{color:var(--ink-mute);}
.contact__form-wrap .wpcf7-form input:not([type="submit"]):focus,
.contact__form-wrap .wpcf7-form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent);}
.contact__form-wrap .wpcf7-form textarea{resize:vertical;min-height:130px;}
.contact__form-wrap .wpcf7-form .cform__actions{justify-content:center;margin-top:2px;}
.contact__form-wrap .wpcf7-form .cform__actions input[type="submit"]{cursor:pointer;}
.contact__form-wrap .wpcf7-form .wpcf7-spinner{margin:0;}


/* --- Schwebender WhatsApp-Button (nur Mobil/Tablet) -------------------------
   Sichtbar ab <=880px, also genau dort, wo die sekundaeren Navigations-Icons
   ausgeblendet werden. Farbe #25D366 (klassisches WhatsApp-Gruen, auf Wunsch des
   Betreibers). Hinweis: Kontrast weisses Glyph auf #25D366 = 1,98:1, damit unter
   der 3:1-Schwelle von WCAG 2.2 SC 1.4.11 (bewusste Entscheidung).
   Die Fuellfarbe aendert sich bei Hover/Fokus/Klick NICHT - Feedback nur ueber
   Schatten und minimale Verschiebung.
   z-index 90 liegt unter Backdrop (98) und Mobil-Menue (99); zusaetzlich wird
   der Button per :has() ausgeblendet, solange das Menue offen ist (Browser
   ohne :has()-Unterstuetzung zeigen ihn abgedunkelt unter dem Overlay).
   --------------------------------------------------------------------------- */
.wa-fab{display:none;}
@media(max-width:880px){
  .wa-fab{
    display:inline-flex;align-items:center;justify-content:center;
    position:fixed;z-index:90;
    right:calc(16px + env(safe-area-inset-right,0px));
    bottom:calc(16px + env(safe-area-inset-bottom,0px));
    width:56px;height:56px;border-radius:50%;
    background:#25D366;color:#fff;
    box-shadow:0 6px 18px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.10);
    transition:transform .2s var(--ease),box-shadow .2s var(--ease);
    -webkit-tap-highlight-color:transparent;
  }
  .wa-fab svg{width:28px;height:28px;}
  /* Farbe bleibt bei Hover/Fokus/Klick unveraendert - nur Schatten/Position. */
  .wa-fab:hover,.wa-fab:focus,.wa-fab:focus-visible,.wa-fab:active,.wa-fab:visited{background:#25D366;color:#fff;}
  .wa-fab:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.32),0 0 0 1px rgba(0,0,0,.10);}
  .wa-fab:focus-visible{outline:3px solid var(--brand);outline-offset:3px;}
  .wa-fab:active{transform:translateY(0);box-shadow:0 3px 10px rgba(0,0,0,.30),0 0 0 1px rgba(0,0,0,.10);}
  body:has(.nav__sheet.is-open) .wa-fab{opacity:0;visibility:hidden;pointer-events:none;}
}
@media(max-width:880px) and (prefers-reduced-motion:reduce){
  .wa-fab{transition:none;}
  .wa-fab:hover,.wa-fab:focus-visible{transform:none;}
}


/* --- Zusatzstoff-/Allergencodes und Legende (Originalkarte) ---------------- */
.dish__codes{font-size:.62em;font-weight:600;letter-spacing:.04em;color:var(--gold-text);vertical-align:super;line-height:0;white-space:nowrap;}
.dish__desc .dish__codes{color:var(--ink-mute);}
.legend__title{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;}
.legend__title:hover,.legend__title:focus-visible{color:var(--brand);}
.additives{scroll-margin-top:calc(var(--header-h) + var(--catnav-h));}
.additives .cat__title{font-family:var(--f-display);font-weight:600;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.1;margin:0 0 18px;color:var(--ink);}  /* .cat__title ist fuer helle Schrift auf dunklem Banner gesetzt (#fff) - hier steht die Ueberschrift auf hellem Grund und braucht die Textfarbe. */
.additives .cat__title::after{content:'';display:block;width:56px;height:1px;background:var(--gold);margin-top:14px;}
.additives__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,48px);align-items:start;}
.additives__col h3{font-family:var(--f-body);font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text);margin:0 0 10px;}
.additives__col ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;}
.additives__col li{font-size:.92rem;color:var(--ink-2);display:grid;grid-template-columns:2.2em 1fr;gap:8px;}
.additives__col li b{color:var(--ink);font-weight:600;}
.additives__notes{margin-top:26px;padding-top:18px;border-top:1px solid var(--rule);display:grid;gap:6px;}
.additives__notes p{margin:0;font-size:.92rem;color:var(--ink-mute);}
@media(max-width:620px){.additives__grid{grid-template-columns:1fr;}}
