/* DÖNERADO /speisekarte: direct entry, no intro film. Fast to scan, every dish opens a detail panel. */
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.menu-page{background:var(--ink)}

/* ---------- hero ---------- */
.mhero{position:relative;overflow:hidden;padding:calc(var(--hdr) + clamp(50px,9svh,110px)) var(--gutter) clamp(50px,8svh,90px);
  background:radial-gradient(ellipse at 85% 0,rgba(184,106,50,.3),transparent 55%),var(--espresso)}
.mhero-in{position:relative;max-width:820px}
.mhero h1{font-size:clamp(50px,8.4vw,136px);margin:12px 0 18px}
.mhero .lede{color:var(--muted);font-size:clamp(16px,1.4vw,19px);max-width:56ch;margin-bottom:22px}
.mhero-facts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-bottom:26px}
.mhero-facts li{display:flex;align-items:center;gap:8px;font:600 13px/1 var(--sans);padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(18,12,9,.4)}
.mhero-facts .dot{width:8px;height:8px;border-radius:50%;background:#7d6a58}
.mhero-facts .is-open .dot,.mhero-facts .status.is-open .dot{background:#79c26b}
.mhero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px}

/* ---------- sticky category bar ---------- */
.catbar{position:sticky;top:var(--hdr);z-index:90;background:rgba(18,12,9,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.catbar-list{display:flex;gap:4px;list-style:none;overflow-x:auto;scrollbar-width:none;padding:10px var(--gutter);scroll-padding:0 var(--gutter)}
.catbar-list::-webkit-scrollbar{display:none}
.catbar a{display:block;padding:10px 16px;border-radius:999px;font:600 14px/1 var(--sans);text-decoration:none;color:var(--muted);white-space:nowrap;transition:color .3s,background .3s}
.catbar a:hover{color:var(--cream)}
.catbar a[aria-current="true"]{color:var(--ink);background:var(--cream)}
.catbar-ink{position:absolute;left:0;bottom:0;height:2px;width:var(--w,0);background:var(--amber);transform:translateX(var(--x,0));transition:transform .45s var(--ease),width .45s var(--ease)}

/* ---------- sections ---------- */
.karte{padding-bottom:40px}
.msec{position:relative;padding:clamp(70px,10svh,110px) var(--gutter) 10px;scroll-margin-top:calc(var(--hdr) + 58px);max-width:1440px;margin:0 auto}
.sec-head{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:end;gap:0 18px;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.sec-n{grid-row:span 2;font:600 13px/1 var(--sans);letter-spacing:.2em;color:var(--amber);align-self:start;padding-top:12px}
.sec-head h2{font:400 clamp(38px,5vw,74px)/.95 var(--wood);text-transform:uppercase;letter-spacing:.01em}
.sec-head p{color:var(--muted);max-width:62ch;margin-top:12px}

.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;list-style:none}
.item-btn{position:relative;display:flex;flex-direction:column;width:100%;height:100%;text-align:left;border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg,#22150e,#1a110c);box-shadow:inset 0 0 0 1px var(--line);transition:transform .45s var(--ease),box-shadow .3s}
.item-btn:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1.5px var(--copper),0 24px 50px rgba(0,0,0,.45)}
.item-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#2a160d}
.item-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.item-btn:hover .item-media img{transform:scale(1.06)}
.item-media.ph{display:grid;place-items:center;align-content:center;gap:8px;background:repeating-linear-gradient(90deg,#2f190f 0 46px,#24130b 46px 49px)}
.ph-word{font:400 clamp(44px,5vw,64px)/1 var(--wood);text-transform:uppercase;color:rgba(244,229,200,.85)}
.item-media .ph-star{position:absolute;right:14px;top:14px;width:34px;height:auto;object-fit:contain;opacity:.35}
.ph-note{font:600 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--sand)}
.item-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}
.item-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.item-name{font:700 19px/1.2 var(--slab)}
.item-price{font:700 19px/1.2 var(--slab);color:var(--amber);white-space:nowrap}
.item-desc{color:var(--muted);font-size:14px;line-height:1.5}
.item-opts{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.item-opts span{font:500 13px/1 var(--sans);padding:8px 10px;border-radius:10px;background:rgba(244,229,200,.06);box-shadow:inset 0 0 0 1px var(--line)}
.item-opts b{font-family:var(--slab);color:var(--amber);margin-left:4px}
.item-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px}
.tag{display:inline-flex;align-items:center;font:700 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:7px 10px;border-radius:999px;border:1px solid rgba(244,229,200,.3)}
.tag.pop{background:var(--amber);color:var(--ink);border-color:var(--amber)}
.tag.hot{background:var(--ember);color:var(--cream);border-color:var(--ember)}
.tag.new{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.is-extra .item-btn{background:transparent;box-shadow:none;border:1.5px dashed rgba(184,106,50,.7)}
.is-extra .item-media.ph{aspect-ratio:16/9}

.drinks{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:clamp(20px,4vw,50px);align-items:start}
.drinks-img{border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.drinks-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.drinks-list{list-style:none}
.drinks-list li{display:flex;align-items:baseline;gap:10px;padding:16px 0;border-bottom:1px dashed var(--line);font:600 18px/1.2 var(--slab)}
.drinks-list i{flex:1;border-bottom:1px dotted rgba(244,229,200,.25);transform:translateY(-4px)}
.drinks-list b{color:var(--amber);white-space:nowrap}

.hinweise-in{max-width:880px;padding:28px 30px;border-radius:18px;background:var(--cream-2);color:var(--ink)}
.hinweise-in p{margin-bottom:10px}
.hinweise-in p:last-child{margin-bottom:0}

.visit{margin-top:80px;padding:clamp(60px,10svh,110px) var(--gutter);background:radial-gradient(ellipse at 20% 50%,rgba(184,106,50,.3),transparent 60%),var(--espresso)}
.visit-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:30px;max-width:1300px;margin:0 auto}
.visit h2{font-size:clamp(34px,4.4vw,66px);margin:12px 0 12px}
.visit p{color:var(--muted);max-width:56ch}
.visit-cta{display:flex;flex-wrap:wrap;gap:12px}

/* reveal while scrolling (only when motion is allowed, see menu.js) */
.reveal .item,.reveal .sec-head,.reveal .drinks{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .8s var(--ease)}
.reveal .in{opacity:1;transform:none}

/* ---------- dish detail ---------- */
.dish{position:fixed;inset:0;margin:auto;width:min(980px,calc(100% - 32px));max-height:min(720px,calc(100svh - 40px));padding:0;border:0;border-radius:22px;
  background:var(--espresso);color:var(--cream);box-shadow:0 40px 120px rgba(0,0,0,.6),inset 0 0 0 1px var(--line);overflow:hidden}
.dish::backdrop{background:rgba(10,6,4,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dish[open]{animation:dishIn .5s var(--ease)}
@keyframes dishIn{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
.dish-in{display:grid;grid-template-columns:1.05fr 1fr;max-height:inherit}
.dish-media{position:relative;min-height:320px;background:#2a160d;overflow:hidden}
.dish-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dish-media .ph{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:10px;background:repeating-linear-gradient(90deg,#2f190f 0 46px,#24130b 46px 49px)}
.dish-media .ph b{font:400 72px/1 var(--wood);text-transform:uppercase}
.dish-media .ph em{font:600 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;font-style:normal;color:var(--sand)}
.dish-body{padding:clamp(24px,4vw,40px);overflow-y:auto;display:flex;flex-direction:column;gap:14px}
.dish-cat{font:600 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--amber)}
.dish-name{font-size:clamp(34px,4vw,54px)}
.dish-desc{color:var(--muted);font-size:16px}
.dish-prices{list-style:none;display:grid;gap:8px}
.dish-prices li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 16px;border-radius:12px;background:rgba(244,229,200,.05);box-shadow:inset 0 0 0 1px var(--line)}
.dish-prices b{font:700 22px/1 var(--slab);color:var(--amber)}
.dish-tags{display:flex;flex-wrap:wrap;gap:6px}
.dish-tags:empty,.dish-note:empty{display:none}
.dish-note{font-size:14px;color:var(--sand);padding-left:12px;border-left:2px solid var(--copper)}
.dish-nav{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.dish-nav button{font:600 14px/1 var(--sans);padding:12px 4px;color:var(--muted)}
.dish-nav button:hover{color:var(--amber)}
.dish-close{position:absolute;right:14px;top:14px;z-index:2;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(18,12,9,.75);box-shadow:inset 0 0 0 1.5px rgba(244,229,200,.35)}
.dish-close:hover{background:var(--cream);color:var(--ink)}
.dish-close svg{width:20px;height:20px}

@media (max-width:899px){
  .hdr-actions .btn{display:none}
  .items{grid-template-columns:1fr 1fr;gap:12px}
  .item-body{padding:12px 12px 14px}
  .item-name,.item-price{font-size:16px}
  .item-top{flex-direction:column;gap:4px}
  .item-desc{font-size:13px}
  .drinks{grid-template-columns:1fr}
  /* detail panel becomes a bottom sheet */
  .dish{inset:auto 0 0 0;margin:0;width:100%;max-width:none;max-height:92svh;border-radius:22px 22px 0 0}
  .dish[open]{animation:sheetIn .45s var(--ease)}
  @keyframes sheetIn{from{transform:translateY(40%);opacity:0}to{transform:none;opacity:1}}
  .dish-in{grid-template-columns:1fr;max-height:92svh;overflow-y:auto}
  .dish-media{min-height:0;aspect-ratio:4/3}
  .dish-body{overflow:visible;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
}
@media (max-width:420px){.items{grid-template-columns:1fr}.item-top{flex-direction:row}}
