/* Elrendezés: a logóra épül. Fehér fejléc az eredeti logóval, a logó zöldje a sávokban, téglavöröse a gombokon, fehér íve a sávok alján. */
:root{
  --bg:#F7F8F4; --surface:#FFFFFF; --surface-2:#E9EEE4; --ink:#16241A; --muted:#55645A; --line:#D5DDCF;
  --green:#1D4C2A; --bordeaux:#7A1A12; --bordeaux-ink:#FFFFFF; --hop:#A9C52F; --hop-ink:#16240A;
  --ok:#2E7D4F; --closed:#A23A2E; --ph:#B0452F;
  --night:#173F24; --night-2:#1D4C2A; --on-night:#FFFFFF; --on-night-muted:#C3D4C4; --night-line:#35603F;
  --shadow:0 18px 40px -22px rgba(15,34,25,.45);
  --display:"Bitter","Rockwell","Roboto Slab",Georgia,serif;
  --body:"Rubik","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --mono:"DM Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --wrap:1180px; --gut:clamp(16px,4vw,40px); --r:14px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0C1611; --surface:#14241B; --surface-2:#1A2E23; --ink:#E9EFE6; --muted:#9DB0A2; --line:#284034;
  --green:#8FCB9C; --bordeaux:#A8281C; --bordeaux-ink:#FFFFFF; --hop:#C4DB4A; --hop-ink:#1B2A0A;
  --ok:#6FCB91; --closed:#F08A7B; --ph:#F0957F;
  --night:#0F2B18; --night-2:#16381F; --on-night:#FFFFFF; --on-night-muted:#C3D4C4; --night-line:#2B4F35;
  --shadow:0 18px 40px -22px rgba(0,0,0,.8); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0C1611; --surface:#14241B; --surface-2:#1A2E23; --ink:#E9EFE6; --muted:#9DB0A2; --line:#284034;
  --green:#8FCB9C; --bordeaux:#A8281C; --bordeaux-ink:#FFFFFF; --hop:#C4DB4A; --hop-ink:#1B2A0A;
  --ok:#6FCB91; --closed:#F08A7B; --ph:#F0957F;
  --night:#0F2B18; --night-2:#16381F; --on-night:#FFFFFF; --on-night-muted:#C3D4C4; --night-line:#2B4F35;
  --shadow:0 18px 40px -22px rgba(0,0,0,.8); color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased;padding-bottom:0}
img,svg{max-width:100%}
[hidden]{display:none!important}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,3.8vw,2.9rem)}
h3{font-size:1.3rem;line-height:1.2}
p{margin:0}
:focus-visible{outline:3px solid var(--hop);outline-offset:3px}
a:not(.btn):not([class]):focus-visible,.link:focus-visible{border-radius:6px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.eyebrow{font:500 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.night .eyebrow{color:var(--hop)}
.lead{font-size:1.15rem;color:var(--muted);max-width:60ch}
.night .lead{color:var(--on-night-muted)}
.sec{padding-block:clamp(56px,8vw,104px)}
.sec-head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(28px,4vw,48px)}
.night{background:var(--night);color:var(--on-night)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* gombok */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:1.5px solid var(--bordeaux);background:var(--bordeaux);color:var(--bordeaux-ink);font:600 1rem/1 var(--body);text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.night .btn.ghost{color:var(--on-night);border-color:var(--on-night)}
.btn.hop{background:var(--hop);border-color:var(--hop);color:var(--hop-ink)}
.btn.sm{min-height:40px;padding:0 16px;font-size:.92rem}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.link{font-weight:600;text-underline-offset:4px}

/* bemutató-sáv + fejléc */
.demo{background:var(--hop);color:var(--hop-ink);font:500 .82rem/1.3 var(--body);text-align:center;padding:7px var(--gut)}
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 6px 18px -14px rgba(22,36,26,.5)}
.hdr-in{display:flex;align-items:center;gap:20px;min-height:72px}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1;margin-right:auto}
.brand small{font:500 .62rem/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--hop)}
.brand b{font:700 1.7rem/1 var(--display);margin-top:3px}
.nav{display:flex;gap:26px}
.nav a{text-decoration:none;font-weight:500;font-size:.98rem;padding-block:8px;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--hop)}
.pill{display:inline-flex;align-items:center;gap:8px;font:500 .85rem/1.2 var(--body);padding:8px 14px;border-radius:999px;border:1px solid var(--night-line);white-space:nowrap}
.dot{width:9px;height:9px;border-radius:50%;background:var(--closed);flex:none}
.is-open .dot{background:var(--hop);box-shadow:0 0 0 4px rgba(183,207,58,.22)}
.cartbtn{position:relative;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:.92rem;padding:10px 14px;border-radius:999px;border:1px solid var(--night-line)}
.cartbtn .n{min-width:22px;height:22px;border-radius:11px;background:var(--hop);color:var(--hop-ink);font:500 .78rem/22px var(--mono);text-align:center;padding-inline:5px}
.burger{display:none;background:none;border:1px solid var(--night-line);color:inherit;border-radius:10px;width:44px;height:44px;font-size:1.3rem;cursor:pointer}
@media (max-width:980px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--night);flex-direction:column;gap:0;padding:8px var(--gut) 18px;border-bottom:1px solid var(--night-line)}
  .nav.open{display:flex}
  .nav a{padding-block:14px;border-bottom:1px solid var(--night-line)}
  .burger{display:block}
  .hdr .pill,.hdr .btn{display:none}
}

/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(900px 480px at 78% 30%,rgba(183,207,58,.13),transparent 65%),radial-gradient(700px 500px at 8% 90%,rgba(122,30,44,.28),transparent 70%),linear-gradient(180deg,var(--night),var(--night-2))}
.lights{position:absolute;inset:0 0 auto 0;height:150px;width:100%;pointer-events:none}
.lights path{fill:none;stroke:var(--night-line);stroke-width:1.5}
.lights circle{fill:#FFE9A8;filter:drop-shadow(0 0 7px rgba(255,220,130,.95));animation:glow 4.5s ease-in-out infinite}
@keyframes glow{0%,100%{opacity:1}50%{opacity:.55}}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(120px,13vw,170px) clamp(56px,7vw,96px)}
.hero h1{font-size:clamp(2.7rem,7.2vw,5.4rem)}
.hero h1 em{font-style:normal;color:var(--hop)}
.hero-copy{display:flex;flex-direction:column;gap:24px;min-width:0}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.status-row{display:flex;flex-wrap:wrap;gap:10px}
.trust{display:flex;flex-wrap:wrap;gap:14px 34px;padding-top:22px;border-top:1px solid var(--night-line)}
.trust div{display:flex;flex-direction:column;gap:2px}
.trust b{font:700 1.7rem/1 var(--display)}
.trust span{font-size:.85rem;color:var(--on-night-muted)}
.arch{position:relative;aspect-ratio:4/5;max-width:100%;border-radius:999px 999px var(--r) var(--r);border:1px solid var(--night-line);background:linear-gradient(200deg,rgba(183,207,58,.16),transparent 55%),var(--night-2);display:flex;align-items:flex-end;justify-content:center;padding:28px;text-align:center}
.slot-note{font:500 .78rem/1.5 var(--mono);letter-spacing:.06em;color:var(--on-night-muted);border:1px dashed var(--on-night-muted);border-radius:10px;padding:12px 14px}
.photo{aspect-ratio:4/3;max-width:100%;border-radius:var(--r);background:repeating-linear-gradient(135deg,var(--surface-2) 0 14px,transparent 14px 28px),var(--surface);border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;padding:18px;text-align:center;font:500 .78rem/1.5 var(--mono);color:var(--muted)}
.badge{position:absolute;left:-18px;bottom:54px;background:var(--surface);color:var(--ink);border-radius:var(--r);padding:14px 18px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;text-align:left}
.badge b{font:700 2.1rem/1 var(--display)}
.badge span{font-size:.82rem;color:var(--muted);line-height:1.35}
.stars{color:#E0A526;letter-spacing:2px}
@media (max-width:860px){.hero-in{grid-template-columns:1fr}.arch{aspect-ratio:16/11;border-radius:160px 160px var(--r) var(--r)}.badge{left:12px;bottom:12px}}

/* kártyák, rácsok */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.dish{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:14px;min-width:0}
.dish .photo{aspect-ratio:16/10}
.dish p{color:var(--muted);font-size:.96rem}
.dish-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.price{font:500 1.05rem/1 var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,6vw,80px);align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.stack{display:flex;flex-direction:column;gap:20px;min-width:0}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--night-line);border:1px solid var(--night-line);border-radius:var(--r);overflow:hidden}
.facts div{background:var(--night);padding:18px;display:flex;flex-direction:column;gap:4px}
.facts b{font:700 1.5rem/1.1 var(--display);color:var(--hop)}
.facts span{font-size:.9rem;color:var(--on-night-muted)}
.oven svg{display:block;width:100%;height:auto}
.chips{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}
.chips li{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.95rem;background:var(--surface)}
.night .chips li{background:transparent;border-color:var(--night-line)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px;counter-reset:s;padding:0;margin:0;list-style:none}
.steps li{counter-increment:s;border-top:2px solid var(--green);padding-top:16px;display:flex;flex-direction:column;gap:6px}
.steps li::before{content:counter(s);font:700 2.2rem/1 var(--display);color:var(--green)}
.steps span{color:var(--muted);font-size:.96rem}
.quote{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;gap:16px}
.quote blockquote{margin:0;font:500 clamp(1.4rem,2.8vw,2rem)/1.35 var(--display)}
.quote cite{font-style:normal;color:var(--muted);font-size:.92rem}
.rating{display:flex;flex-direction:column;gap:10px}
.rating .big{font:800 clamp(4rem,9vw,6.5rem)/.9 var(--display);color:var(--green)}
.band{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.band article{border:1px solid var(--line);border-radius:var(--r);padding:26px;background:var(--surface);display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.band p{color:var(--muted)}
details{border-bottom:1px solid var(--line);padding-block:18px}
summary{cursor:pointer;font-weight:600;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::after{content:"+";font:700 1.5rem/1 var(--display);color:var(--green)}
details[open] summary::after{content:"–"}
details p{color:var(--muted);margin-top:10px;max-width:65ch}
.ph{text-decoration:underline dashed var(--ph);text-underline-offset:4px;cursor:help}
.ph-box{border:1.5px dashed var(--ph);border-radius:10px;padding:12px 14px;color:var(--ph);font-size:.92rem}
.no-ph .ph{text-decoration:none}.no-ph .ph-box{border-color:var(--line);color:var(--muted)}

/* aloldali fej */
.page-head{background:linear-gradient(180deg,var(--night),var(--night-2));color:var(--on-night);position:relative;overflow:hidden}
.page-head .wrap{position:relative;padding-block:clamp(110px,11vw,140px) clamp(36px,5vw,56px);display:flex;flex-direction:column;gap:16px}
.page-head h1{font-size:clamp(2.3rem,5.6vw,4rem)}

/* étlap */
.menu-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:36px;align-items:start;padding-block:32px 80px}
@media (max-width:1020px){.menu-layout{grid-template-columns:1fr}}
.tools{position:sticky;top:calc(env(safe-area-inset-top,0px) + 73px);z-index:20;background:var(--bg);padding-block:12px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--line)}
.search{width:100%;min-height:48px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0 20px;font:400 1rem var(--body)}
.cats{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.cats a{flex:none;text-decoration:none;font-weight:500;font-size:.9rem;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface)}
.cats a:hover{border-color:var(--green)}
.msec{padding-top:36px}
.msec h2{font-size:clamp(1.6rem,3vw,2.1rem);padding-bottom:12px;border-bottom:2px solid var(--green)}
.msec .note{color:var(--muted);font-size:.93rem;margin-top:10px}
.item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;padding-block:16px;border-bottom:1px solid var(--line);align-items:center}
.item h3{font:600 1.05rem/1.3 var(--body);letter-spacing:0}
.item p{color:var(--muted);font-size:.93rem;margin-top:3px}
.item .side{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.add{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--bordeaux);background:var(--bordeaux);color:var(--bordeaux-ink);font-size:1.4rem;line-height:1;cursor:pointer;flex:none}
.add:hover{transform:scale(1.07)}
.only{font:500 .76rem/1.35 var(--mono);color:var(--muted);max-width:170px;text-align:right}
.vbtn{min-height:40px;padding:0 12px;border-radius:999px;border:1.5px solid var(--bordeaux);background:transparent;color:var(--ink);font:500 .85rem var(--mono);cursor:pointer}
.vbtn:hover{background:var(--bordeaux);color:var(--bordeaux-ink)}
.empty{padding:28px 0;color:var(--muted)}
.cart{position:sticky;top:calc(env(safe-area-inset-top,0px) + 96px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow);max-height:calc(100vh - 120px);overflow:auto}
@media (max-width:1020px){.cart{position:static;max-height:none}}
.cart h2{font-size:1.6rem}
.cline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding-block:10px;border-bottom:1px solid var(--line);font-size:.95rem}
.qty{display:inline-flex;align-items:center;gap:8px}
.qty button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;font-size:1rem}
.tot{display:flex;justify-content:space-between;gap:12px;font-weight:600}
.tot.big{font-size:1.2rem;padding-top:10px;border-top:2px solid var(--ink)}
form{display:flex;flex-direction:column;gap:14px}
.f{display:flex;flex-direction:column;gap:6px;min-width:0}
.f label,.f legend{font-weight:600;font-size:.9rem}
.f input,.f select,.f textarea{min-height:48px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:10px 14px;font:400 1rem var(--body);width:100%}
.f textarea{min-height:90px;resize:vertical}
.row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
fieldset{border:0;padding:0;margin:0}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;font-weight:500}
.seg input{accent-color:var(--bordeaux);min-height:0;width:auto}
.err{color:var(--closed);font-size:.9rem;font-weight:600}
.done{border:2px solid var(--ok);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}
.done h3{color:var(--ok)}
.done pre{white-space:pre-wrap;font:400 .9rem/1.5 var(--mono);margin:0;background:var(--surface-2);border-radius:10px;padding:14px}
.hint{font-size:.88rem;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:999px;font-weight:600;font-size:.92rem;opacity:0;pointer-events:none;transition:.25s;z-index:80;max-width:calc(100% - 32px);text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* foglalás, kapcsolat */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,3.5vw,36px);box-shadow:var(--shadow)}
.two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:start;padding-block:40px 80px}
@media (max-width:900px){.two{grid-template-columns:1fr}}
.hours{width:100%;border-collapse:collapse}
.hours td{padding:10px 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
.hours tr.today td{font-weight:700;color:var(--green)}
.copyline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:12px;border-bottom:1px solid var(--line)}
.copyline b{font:500 1.1rem var(--mono);user-select:all}
.map{aspect-ratio:16/10;max-width:100%;border-radius:var(--r);border:1px dashed var(--line);background:radial-gradient(circle at 55% 45%,var(--hop) 0 7px,transparent 8px),repeating-linear-gradient(0deg,var(--surface-2) 0 1px,transparent 1px 44px),repeating-linear-gradient(90deg,var(--surface-2) 0 1px,transparent 1px 44px),var(--surface);display:flex;align-items:flex-end;padding:16px}
.legal h2{font-size:1.7rem;margin-top:44px;margin-bottom:12px}
.legal p,.legal li{color:var(--muted);max-width:70ch}
.legal .wrap{padding-block:40px 80px}

/* lábléc + mobil sáv */
.ftr{background:var(--night);color:var(--on-night);padding-block:56px 120px}
.ftr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:36px}
.ftr h3{font:500 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--hop);margin-bottom:14px}
.ftr ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;color:var(--on-night-muted)}
.ftr a{text-underline-offset:4px}
.ftr .fine{margin-top:40px;padding-top:20px;border-top:1px solid var(--night-line);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:.85rem;color:var(--on-night-muted)}
.ftr button.txt{background:none;border:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:0}
.eu{border:1px dashed var(--on-night-muted);border-radius:10px;padding:12px;font-size:.82rem;color:var(--on-night-muted)}
.mbar{display:none}
@media (max-width:980px){
  .mbar{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--night);border-top:1px solid var(--night-line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
  .mbar a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.92rem;color:var(--on-night);border:1px solid var(--night-line);text-align:center;padding-inline:8px}
  .mbar a:first-child{background:var(--bordeaux);border-color:var(--bordeaux);color:var(--bordeaux-ink)}
}
.rise{animation:rise .7s ease both}
@keyframes rise{from{transform:translateY(14px);opacity:.01}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.night .steps li{border-color:var(--hop)}
.night .steps li::before{color:var(--hop)}

.eyebrow{line-height:1.5}
.arch{align-items:center}
.arch .slot-note{max-width:260px}
.badge{bottom:28px}
@media (max-width:860px){.lights{height:110px}.hero-in{padding-top:150px}.badge{position:static;margin-top:14px;box-shadow:none}.arch{flex-direction:column}}

/* logóra épülő fejléc */
.hdr-in{min-height:84px}
.brand img{display:block;height:60px;width:auto}
.ftr .brand img{height:70px}
.nav a:hover,.nav a[aria-current]{border-color:var(--bordeaux)}
.hdr .pill,.cartbtn{border-color:var(--line)}
.callbtn{display:none;width:46px;height:46px;border-radius:50%;background:var(--hop);color:var(--hop-ink);align-items:center;justify-content:center;text-decoration:none;font-size:1.2rem;flex:none}
.burger{background:var(--green);color:var(--surface);border:0;border-radius:50%;width:46px;height:46px}
@media (max-width:980px){.nav{background:var(--surface);border-bottom:1px solid var(--line)}.nav a{border-bottom:1px solid var(--line)}.callbtn{display:flex}.hdr-in{min-height:72px;gap:10px}.brand img{height:48px}}
@media (max-width:420px){.cartbtn{padding:10px}.cartbtn .lbl{display:none}}
.hero h1{font-weight:800;letter-spacing:-.02em}
.page-head h1{font-weight:800}
.swoosh{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(40px,7vw,90px);display:block;pointer-events:none}
.swoosh .w{fill:var(--on-night)}.swoosh .r{fill:var(--bordeaux)}.swoosh .b{fill:var(--bg)}
.hero-in{padding-bottom:clamp(96px,11vw,150px)}
.page-head .wrap{padding-bottom:clamp(80px,9vw,120px)}
.tools{top:calc(env(safe-area-inset-top,0px) + 85px)}
@media (max-width:980px){.tools{top:calc(env(safe-area-inset-top,0px) + 73px)}}
.msec h2{border-color:var(--bordeaux)}

.nav a,.btn,.cartbtn{white-space:nowrap}
@media (max-width:1180px){.hdr .pill{display:none}}

/* harmadik kör: fényfüzér nélkül, egyszerűbb, étlapszerűbb megjelenés */
:root{--r:6px;--mono:var(--body)}
.eyebrow{font:600 .8rem/1.4 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--bordeaux)}
.night .eyebrow{color:var(--hop)}
.price,.num,.only,.vbtn,.copyline b,.hours td:last-child{font-family:var(--body);font-variant-numeric:tabular-nums}
.price{font-weight:600}
.only{font-weight:400;font-size:.82rem}
.photo{font:400 .88rem/1.5 var(--body)}
.ph-box{font-family:var(--body)}
.rise{animation:none}
.hero{background:linear-gradient(180deg,var(--night),var(--night-2))}
.hero-in{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:end;padding-top:clamp(56px,7vw,100px)}
.page-head .wrap{padding-top:clamp(44px,6vw,76px)}
@media (max-width:860px){.hero-in{grid-template-columns:1fr;padding-top:44px}}
.gline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:var(--on-night-muted);font-size:.98rem}
.gline b{color:var(--on-night)}
.photo-note{font-size:.82rem;color:var(--on-night-muted)}
.today{background:var(--surface);color:var(--ink);border-radius:var(--r);padding:clamp(20px,2.6vw,30px);box-shadow:var(--shadow);min-width:0}
.today h2{font-size:1.3rem;margin-bottom:14px}
.today dl{margin:0 0 16px}
.today .rw{display:flex;justify-content:space-between;gap:16px;padding-block:11px;border-top:1px solid var(--line)}
.today dt{color:var(--muted)}
.today dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.today .pill{border-color:var(--line);margin-bottom:14px}
.board{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,64px);align-items:stretch}
.board .photo{aspect-ratio:auto;min-height:280px;height:100%}
@media (max-width:860px){.board{grid-template-columns:1fr}.board .photo{min-height:200px}}
.mrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 20px;padding-block:20px;border-bottom:1px solid var(--line)}
.mrow:first-child{border-top:2px solid var(--ink)}
.mrow h3{font-size:1.35rem}
.mrow p{color:var(--muted);font-size:.98rem;grid-column:1}
.mrow .price{font-size:1.15rem;align-self:baseline}
.mrow .tadd{grid-column:2;justify-self:end;align-self:end}
.tadd{background:none;border:0;padding:6px 0;color:var(--bordeaux);font:600 .95rem var(--body);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.soft{background:var(--surface-2)}
.oven .ln{fill:none;stroke:var(--green);stroke-width:1.5}
.oven .dt{fill:var(--bordeaux)}
.oven text{fill:var(--ink);font:600 20px var(--body)}
.leaders{list-style:none;margin:0;padding:0;max-width:520px}
.leaders li{display:flex;align-items:baseline;gap:10px;padding-block:8px}
.leaders li i{flex:1;border-bottom:1px dotted var(--muted);transform:translateY(-4px);min-width:20px}
.plain{columns:2;column-gap:32px;padding-left:1.1em;margin:0}
.plain li{margin-bottom:6px;break-inside:avoid}
@media (max-width:520px){.plain{columns:1}}
.red{background:var(--bordeaux);color:var(--bordeaux-ink)}
.red .lead{color:inherit;opacity:.92}
.red .ph{text-decoration-color:currentColor}
.red .btn{background:var(--bordeaux-ink);border-color:var(--bordeaux-ink);color:var(--bordeaux)}
.towns{font:700 clamp(1.3rem,2.6vw,1.9rem)/1.45 var(--display);max-width:26ch}
.cols3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px 44px}
.cols3 article{border-top:2px solid var(--ink);padding-top:18px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.cols3 p{color:var(--muted)}
.quote{border:0;background:none;border-radius:0;border-left:4px solid var(--bordeaux);padding:4px 0 4px clamp(18px,3vw,32px)}
summary::after{color:var(--bordeaux)}
.msec h3.eyebrow{color:var(--green)}

.hero-in{padding-bottom:40px}
.soft details{border-color:var(--line)}

/* negyedik kör: SVG-logó egységes méretben, étlap kosara */
.brand,.brand img{flex:none}
.brand img,.ftr .brand img{height:56px;width:auto;max-width:none;aspect-ratio:670/240}
.tools{position:static;top:auto;border-bottom:0;padding-block:0 8px}
#cartBody{min-height:0}
.cart{overflow:visible;max-height:none}
.cart-items,.cart-sum{display:flex;flex-direction:column;gap:14px;min-width:0}
.cart-sum .tot:first-child{padding-top:12px;border-top:1px solid var(--line)}
@media (min-width:1021px){
  .cart{top:calc(env(safe-area-inset-top,0px) + 100px);max-height:calc(100vh - 116px);overflow:hidden}
  #cartBody{flex:1 1 auto;display:flex;flex-direction:column}
  .cart-items{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding-right:8px;margin-right:-8px}
  .cart-sum{flex:none}
}
.brand{align-items:flex-start}.brand img{align-self:flex-start;object-fit:contain}

/* ötödik kör: a kereső és a kategóriasor végig látható */
.tools{position:sticky;top:calc(env(safe-area-inset-top,0px) + 85px);z-index:30;background:var(--bg);padding-block:12px 10px;border-bottom:1px solid var(--line);box-shadow:0 10px 14px -14px rgba(22,36,26,.45)}
@media (max-width:980px){.tools{top:calc(env(safe-area-inset-top,0px) + 73px)}}
.msec{scroll-margin-top:var(--msec-off,220px)}
.cats a[aria-current]{background:var(--green);border-color:var(--green);color:var(--surface)}
#hdr{display:contents}
.msec{scroll-margin-top:calc(var(--msec-off,220px) - 124px)}

/* hatodik kör: a nyitvatartási állapot sima mondat, nem jelvény */
.now{margin:0;font:400 1rem/1.45 var(--body);color:var(--muted)}
.now b{font-weight:600;color:var(--closed)}
.now.is-open b{color:var(--ok)}
.today .now{margin-bottom:14px}
.hdr-now{font-size:.9rem;white-space:nowrap}
@media (max-width:1180px){.hdr-now{display:none}}

/* kemence-rajz animációja (csak ha a JS előkészítette; enélkül a rajz kész állapotban látszik) */
.oven .o-ring,.oven .o-dash{transform-box:view-box;transform-origin:260px 205px}
.oven .dt{transform-box:fill-box;transform-origin:center}
.oven.prep .o-ring{stroke-dasharray:1006;stroke-dashoffset:1006;transform:rotate(-90deg)}
.oven.prep .o-dash{opacity:0;transform:rotate(-50deg)}
.oven.prep .o-dim{stroke-dasharray:200;stroke-dashoffset:200}
.oven.prep .dt{opacity:0;transform:scale(0)}
.oven.prep text{opacity:0;transform:translateY(6px)}
.oven.go .o-ring{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s cubic-bezier(.65,0,.35,1)}
.oven.go .o-dash{opacity:1;transform:rotate(0);transition:opacity .9s ease .7s,transform 1.6s cubic-bezier(.22,1,.36,1) .5s}
.oven.go .o-dim{stroke-dashoffset:0;transition:stroke-dashoffset .9s cubic-bezier(.65,0,.35,1) 1.2s}
.oven.go .dt{opacity:1;transform:scale(1);transition:opacity .3s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}
.oven.go .dt{transition-delay:1.4s}.oven.go .dt:nth-of-type(4){transition-delay:1.52s}.oven.go .dt:nth-of-type(5){transition-delay:1.64s}.oven.go .dt:nth-of-type(6){transition-delay:1.76s}.oven.go .dt:nth-of-type(7){transition-delay:1.88s}
.oven.go text{opacity:1;transform:none;transition:opacity .6s ease 1.9s,transform .6s ease 1.9s}

/* a kategóriasor tördelődik, nem görgethető oldalra */
.cats{flex-wrap:wrap;overflow:visible;padding-bottom:0;gap:6px 8px}
@media (max-width:640px){.cats a{padding:6px 11px;font-size:.84rem}}

/* hetedik kör: bemutató térkép (OpenStreetMap-adatokból rajzolva) */
:root{--m-bg:#ECEFE7;--m-park:#CFE2C3;--m-foot:#9DB08F;--m-case:#C9CFC2;--m-road:#FFFFFF;--m-main:#FBF3D6;--m-text:#3E4A41;--m-halo:#ECEFE7}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--m-bg:#16231B;--m-park:#1E3A27;--m-foot:#4C6A55;--m-case:#0D1611;--m-road:#2C3D33;--m-main:#4A4430;--m-text:#C9D6CC;--m-halo:#16231B}}
:root[data-theme="dark"]{--m-bg:#16231B;--m-park:#1E3A27;--m-foot:#4C6A55;--m-case:#0D1611;--m-road:#2C3D33;--m-main:#4A4430;--m-text:#C9D6CC;--m-halo:#16231B}
.mapbox{position:relative;margin:0;aspect-ratio:16/11;max-width:100%;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--m-bg);touch-action:none;cursor:grab;user-select:none}
.mapbox.drag{cursor:grabbing}
.osm{display:block;width:100%;height:100%}
.m-bg{fill:var(--m-bg)}.m-park{fill:var(--m-park);fill-rule:evenodd}
.m-foot{fill:none;stroke:var(--m-foot);stroke-width:1;stroke-dasharray:3 3}
.m-case,.m-r6,.m-r3,.m-r1{fill:none;stroke-linecap:round;stroke-linejoin:round}
.m-case{stroke:var(--m-case)}.m-r6c{stroke-width:6}.m-r3c{stroke-width:11}.m-r1c{stroke-width:15}
.m-r6{stroke:var(--m-road);stroke-width:4}.m-r3{stroke:var(--m-road);stroke-width:8.5}.m-r1{stroke:var(--m-main);stroke-width:12}
.m-lab text{font:500 12px var(--body);fill:var(--m-text)}
.m-lab-park text{font-style:italic;fill:var(--green)}
.osm text.h{stroke:var(--m-halo);stroke-width:4px;stroke-linejoin:round}
.m-pin path{fill:var(--bordeaux);stroke:var(--surface);stroke-width:2}
.m-pin .m-dot{fill:var(--surface)}
.m-pin text{font:700 14px var(--body);fill:var(--ink)}
.m-pin text.h{stroke:var(--m-halo);stroke-width:5px}
.m-pulse{fill:var(--bordeaux);opacity:.25;transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(.4);opacity:.45}100%{transform:scale(2.2);opacity:0}}
.map-ctl{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.map-ctl button{width:40px;height:40px;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);font:500 1.25rem/1 var(--body);cursor:pointer}
.map-ctl button:last-child{border-bottom:0;font-size:1.05rem}
.map-ctl button:hover{background:var(--surface-2)}
.map-card{position:absolute;left:12px;bottom:30px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;box-shadow:var(--shadow);max-width:calc(100% - 80px);cursor:auto}
.map-card span{color:var(--muted);font-size:.9rem}
.map-links{display:flex;gap:14px;margin-top:4px}
.map-links a{color:var(--bordeaux);font-weight:600;font-size:.92rem;text-underline-offset:3px}
.mapbox figcaption{position:absolute;right:6px;bottom:4px;font-size:.7rem;color:var(--muted);background:var(--m-halo);padding:1px 6px;border-radius:4px;opacity:.9}
@media (max-width:520px){.mapbox{aspect-ratio:4/5}}
@media (max-width:520px){.map-card{padding:10px 12px;bottom:26px}.map-card span:not(.map-links){font-size:.82rem}}

/* nyolcadik kör: a rendelés lépései a kosáron belül */
.csteps{display:flex;gap:8px;list-style:none;margin:0;padding:0;font-size:.85rem;color:var(--muted);flex:none}
.csteps li{flex:1;border-top:3px solid var(--line);padding-top:6px}
.csteps li span{font-variant-numeric:tabular-nums}
.csteps li.ok{border-color:var(--green);color:var(--ink)}
.csteps li[aria-current]{border-color:var(--bordeaux);color:var(--ink);font-weight:600}
.recap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;background:var(--surface-2);font-weight:500}

/* kilencedik kör: szélesebb kosár, minden elfér görgetés nélkül */
@media (min-width:1021px){
  .menu-layout{grid-template-columns:minmax(0,1fr) 440px;gap:32px}
  .cart{padding:20px 22px;gap:12px}
  .cart .row2{grid-template-columns:1fr 1fr;gap:10px}
  .cart form{gap:10px}
  .cart .f input,.cart .f select{min-height:42px;padding:8px 12px}
  .cart .f textarea{min-height:54px;height:54px}
  .cart .seg label{padding:7px 14px}
  .cart-sum{gap:10px}
  .cart-sum .hint{font-size:.82rem}
  .cart .tot.big{padding-top:8px}
  .cart .recap{padding:9px 12px}
}
@media (min-width:1021px) and (max-width:1180px){.menu-layout{grid-template-columns:minmax(0,1fr) 400px}}
.cart .seg input{min-height:0;padding:0;width:auto}

/* tizedik kör: egységes lekerekítés a pirula-gombokhoz és a logóhoz igazítva
   --r: kártyák, panelek, fotóhelyek, térkép; --r-in: kártyán belüli elemek és mezők; gombok, címkék: teljes pirula */
:root{--r:24px;--r-in:14px}
.today,.cart,.panel,.done,.photo,.mapbox,.map,.dish,.band article,.badge,.facts{border-radius:var(--r)}
.f input,.f select,.f textarea,.ph-box,.recap,.done pre,.eu,.map-card,.map-ctl{border-radius:var(--r-in)}
.mapbox figcaption{border-radius:999px;padding:1px 8px}
.burger{border-radius:50%}
.cartbtn .n{border-radius:999px}
.board .photo{border-radius:var(--r)}
.msec h2{border-radius:0}

/* tizenegyedik kör: tömör kategóriasor (asztalon egy sor, mobilon lenyíló) */
.tools-row{display:flex;gap:8px;min-width:0}
.tools-row .search{flex:1 1 auto;min-width:0}
.catsel{display:none;flex:0 0 42%;min-height:48px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0 14px;font:500 .95rem var(--body)}
.cats{flex-wrap:nowrap;gap:2px;justify-content:space-between}
.cats a{border:0;background:none;padding:7px 10px;font-size:.92rem;white-space:nowrap}
.cats a:hover{background:var(--surface-2)}
.cats a[aria-current]{background:var(--green);color:var(--surface)}
@media (max-width:860px){.cats{display:none}.catsel{display:block}}
.cats{flex-wrap:wrap;justify-content:flex-start;gap:2px 2px}
.cats a{padding:6px 10px;font-size:.88rem}
/* szellemgomb a sötétzöld sávokon: jól látható világos körvonal és felirat */
.page-head .btn.ghost,.night .btn.ghost{color:var(--on-night);border-color:var(--on-night);background:rgba(255,255,255,.08)}
.page-head .btn.ghost:hover,.night .btn.ghost:hover{background:var(--on-night);color:var(--night)}

/* a fejléc kosárgombja csak nem üres kosárnál látszik */
.cartbtn.pop{animation:cartpop .45s cubic-bezier(.34,1.56,.64,1)}
@keyframes cartpop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}

/* a kosárgomb fix helyen jelenik meg és tűnik el, a menüpontok nem mozdulnak */
.cartslot{display:flex;justify-content:flex-end;width:104px;flex:none}
.cartslot .cartbtn{opacity:0;visibility:hidden;transform:scale(.7);transition:opacity .2s ease-in,transform .25s ease-in,visibility 0s linear .25s}
.cartslot.on .cartbtn{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease-out,transform .45s cubic-bezier(.34,1.56,.64,1),visibility 0s}
@media (max-width:980px){.cartslot{width:52px}.cartbtn .lbl{display:none}.cartbtn{padding:10px}}
@media (prefers-reduced-motion:reduce){.cartslot .cartbtn{transform:none}}

/* tizenkettedik kör: szélesebb étlap oldal, a kategóriák egy sorban */
.pg-etlap{--wrap:1480px}
.cats{flex-wrap:nowrap;justify-content:space-between;gap:2px}
.cats a{padding:6px 9px;font-size:.88rem}
.tools.compact .cats{display:none}
.tools.compact .catsel{display:block}
@media (min-width:1021px){.pg-etlap .menu-layout{grid-template-columns:minmax(0,1fr) 420px;gap:28px}}
:root{--wrap:1480px}
