/* RELA Restaurant CMS 3.8 – oldaltípusok (arculat-sablonok)
   A <body> osztályai: lay-* (sablon), hdr-* (fejléc), hero-* (nyitókép), mnu-* (étlap), crd-* (kártyák),
   anim-* (animáció), dens-* (sűrűség), typ-* (betűpár), has-ticker / has-bottomnav / has-bands, no-photos.
   Minden szín a palettából (Theme::css) jön, így a sablon bármely palettával működik. */

/* ---------- a paletta jobban látszik: címsorok és sávok ---------- */
.section-head h2,.page-head h1,.menu-cat-head h2{color:var(--heading,var(--ink))}
.band .section-head h2{color:#fff}
.has-bands main>.section:not(.band):nth-of-type(odd){background:var(--tint)}
.has-bands main>.section:not(.band):nth-of-type(odd) .dish,.has-bands main>.section:not(.band):nth-of-type(odd) .special{background:transparent}
.has-bands .footer{border-top:6px solid var(--accent)}

/* ---------- előnézeti sáv (csak admin) ---------- */
.lay-preview-bar{position:relative;z-index:90;display:flex;gap:8px 14px;align-items:center;padding:7px var(--gutter);background:#111;color:#fff;font-size:.84rem;line-height:1.3}
.lay-preview-bar .ico{width:16px;height:16px;vertical-align:-3px}
.lay-preview-bar .lpb-label{flex:none}
.lay-preview-bar .lpb-label small{color:rgba(255,255,255,.6)}
.lay-preview-actions{display:flex;gap:4px 6px;align-items:center;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.lay-preview-actions::-webkit-scrollbar{display:none}
.lay-preview-actions a{flex:none;color:rgba(255,255,255,.78);text-decoration:none;padding:3px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.22);font-size:.76rem;white-space:nowrap}
.lay-preview-actions a.on,.lay-preview-actions a:hover{background:#fff;color:#111;border-color:#fff}
.lay-preview-bar select{display:none;flex:1;min-width:0;background:#222;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:5px 8px;font:inherit}
.lay-preview-cta{display:flex;gap:6px;flex:none}
.lay-preview-cta a{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;font-weight:700;font-size:.78rem;text-decoration:none;white-space:nowrap}
.lay-preview-cta .pick{background:#ffd34d;color:#111}
.lay-preview-cta .quit{color:#fff;border:1px solid rgba(255,255,255,.4)}
@media(max-width:1100px){.lay-preview-actions{display:none}.lay-preview-bar select{display:block}.lay-preview-bar .lpb-label small{display:none}}
@media(max-width:560px){.lay-preview-bar{flex-wrap:wrap}.lay-preview-bar .lpb-label{display:none}.lay-preview-cta .pick span{display:none}}

/* ---------- kártyák, gombok ---------- */
.crd-flat{--radius:0px;--radius-sm:0px}
.crd-flat .btn,.crd-flat .cart-btn,.crd-flat .cat-nav a,.crd-flat .chip,.crd-flat .add-btn{border-radius:2px}
.crd-outline .ticket,.crd-outline .special,.crd-outline .quick .wrap,.crd-outline .card,.crd-outline .cat-tile{box-shadow:none;border:2px solid var(--primary)}
.crd-outline .btn{border-width:2px}
.crd-shadow{--shadow:0 2px 4px rgba(0,0,0,.06),0 16px 36px -14px rgba(0,0,0,.35)}
.crd-shadow .ticket,.crd-shadow .special,.crd-shadow .cat-tile{box-shadow:var(--shadow);border-color:transparent}
.crd-soft{--radius:18px;--radius-sm:12px}
.lay-kavezo{--radius:26px;--radius-sm:16px}

/* ---------- sűrűség ---------- */
.dens-airy .section{padding-block:clamp(72px,10vw,140px)}
.dens-airy .dish{padding:26px 0}
.dens-compact .section{padding-block:clamp(32px,4.5vw,60px)}
.dens-compact .section-head{margin-bottom:clamp(16px,2.5vw,28px)}
.dens-compact .page-head{padding-block:clamp(24px,3.5vw,44px) clamp(12px,2vw,24px)}
.dens-compact .dish{padding:12px 0}
.dens-compact .menu-cat{padding-top:clamp(22px,3vw,40px)}
.dens-compact{--step-4:clamp(2.1rem,1.6rem + 2.2vw,3.6rem);--step-3:clamp(1.6rem,1.4rem + 1vw,2.2rem)}

/* ---------- fejléc változatok ---------- */
.hdr-centered .header .wrap{flex-wrap:wrap;justify-content:center;min-height:0;padding-block:16px 6px;row-gap:6px}
.hdr-centered .brand{width:100%;justify-content:center}
.hdr-centered .brand .name{font-size:1.7rem}
.hdr-centered .nav{margin-left:0;order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:6px}
.hdr-centered .nav a{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;border-radius:0}
.hdr-centered .nav a.is-active{background:none;box-shadow:inset 0 -2px 0 var(--gold)}
.hdr-centered .header-actions{position:absolute;right:var(--gutter);top:18px}
.hdr-centered .header{position:sticky}
.hdr-centered .header .wrap{position:relative}
@media(max-width:1240px){.hdr-centered .header .wrap{justify-content:space-between;padding-block:10px}.hdr-centered .brand{width:auto}.hdr-centered .header-actions{position:static}}

.hdr-bold .topbar{background:var(--accent)}
.hdr-bold .header{background:var(--primary);color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.hdr-bold .header .wrap{min-height:66px}
.hdr-bold .brand .name{color:#fff}
.hdr-bold .brand .mark{box-shadow:0 0 0 2px var(--gold)}
.hdr-bold .nav a{color:rgba(255,255,255,.88);text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-size:.85rem;border-radius:4px}
.hdr-bold .nav a:hover{background:rgba(255,255,255,.12);color:#fff}
.hdr-bold .nav a.is-active{background:var(--gold);color:#1a1300}
.hdr-bold .icon-btn{color:#fff;border-color:rgba(255,255,255,.3);background:transparent}
@media(max-width:1480px){.hdr-bold .nav a{letter-spacing:.03em;font-size:.8rem;padding:.5em .5em}}
@media(max-width:1400px){.hdr-bold .nav,.hdr-floating .nav{display:none}.hdr-bold .menu-toggle,.hdr-floating .menu-toggle{display:inline-grid}.hdr-bold .header-actions,.hdr-floating .header-actions{margin-left:auto}}
.hdr-bold .menu-toggle{color:#fff;border-color:rgba(255,255,255,.3);background:transparent}
.hdr-bold .header.scrolled{border-bottom-color:transparent;box-shadow:0 8px 24px -12px rgba(0,0,0,.5)}

.hdr-minimal .topbar{display:none}
.hdr-minimal .nav{display:none}
.hdr-minimal .menu-toggle{display:inline-grid;margin-left:4px}
.hdr-minimal .header-actions{margin-left:auto}
.hdr-minimal .header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.hdr-minimal .header.scrolled{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hdr-minimal .brand .name{font-size:1.6rem}

.hdr-floating .topbar{display:none}
.hdr-floating .header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;padding-top:12px;margin-bottom:-86px}
.hdr-floating .header .wrap{background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:999px;padding:0 10px 0 18px;min-height:62px;box-shadow:0 10px 30px -14px rgba(0,0,0,.45);border:1px solid var(--line)}
.hdr-floating .header.scrolled{border:0}
.hdr-floating .hero .wrap,.hdr-floating .hero-v-poster .wrap{padding-top:clamp(120px,14vw,170px)}
.hdr-floating main>.page-head:first-child,.hdr-floating main>header.page-head{padding-top:120px}
.hdr-floating .menu-tools{top:86px}
.menu-tools{top:var(--hdr-h,74px)}
body:not(.page-home).hdr-floating main{padding-top:86px}

/* ---------- futószalag ---------- */
.ticker{background:var(--gold);color:#1b1400;overflow:hidden;white-space:nowrap;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;border-block:2px solid var(--primary)}
.ticker-track{display:inline-flex;gap:3em;padding:.55em 0;animation:ticker 38s linear infinite}
.ticker-track span{padding-left:3em}
.ticker-track span::before{content:"★";margin-right:3em;color:var(--accent)}
@keyframes ticker{to{transform:translateX(-50%)}}
.anim-none .ticker-track{animation-duration:90s}

/* ---------- alsó mobil menüsor ---------- */
.bottom-nav{display:none}
@media(max-width:820px){
  .has-bottomnav .bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -8px 24px -14px rgba(0,0,0,.35);padding-bottom:env(safe-area-inset-bottom)}
  .has-bottomnav .bottom-nav a,.has-bottomnav .bottom-nav button{all:unset;cursor:pointer;display:grid;justify-items:center;gap:2px;padding:9px 4px 8px;font-size:.7rem;font-weight:650;color:var(--ink-2);position:relative}
  .has-bottomnav .bottom-nav .ico{width:22px;height:22px}
  .has-bottomnav .bottom-nav a.on{color:var(--primary)}
  .has-bottomnav .bottom-nav button{color:#fff;background:var(--accent);margin:6px 4px;border-radius:14px;padding:6px 4px}
  .has-bottomnav .bottom-nav i{position:absolute;top:2px;right:calc(50% - 22px);font-style:normal;background:#fff;color:var(--accent);border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center;font-size:.68rem;font-weight:800}
  .has-bottomnav .cart-bar{display:none!important}
  .has-bottomnav .footer{padding-bottom:84px}
  .has-bottomnav .toast{bottom:84px}
}

/* ---------- nyitóképek ---------- */
.hero-v-full{min-height:min(78vh,720px);display:grid;align-items:center;text-align:center;background:var(--primary) var(--hero-img,none) center/cover no-repeat}
.hero-v-full::before{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 55%,transparent),color-mix(in srgb,var(--primary-deep) 88%,transparent));opacity:1}
.hero-v-full::after{display:none}
.hero-v-full .wrap{display:block;max-width:900px;padding-block:clamp(70px,10vw,140px)}
.hero-v-full h1{margin-inline:auto;max-width:16ch}
.hero-v-full .lead{margin-inline:auto!important;max-width:58ch}
.hero-v-full .kicker{justify-content:center}
.hero-v-full .ctas,.hero-v-full .facts{justify-content:center}

.hero-v-banner .wrap{grid-template-columns:1.1fr .9fr;padding-block:clamp(28px,4vw,52px);align-items:stretch}
.hero-v-banner h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.4rem);max-width:16ch}
.hero-v-banner .kicker{display:inline-flex;gap:.6em;align-items:center}
.hero-v-banner .kicker::before{display:none}
.hero-v-banner .dot{width:10px;height:10px;border-radius:50%;background:#6fd39b;box-shadow:0 0 0 4px rgba(111,211,155,.25)}
.hero-v-banner .dot.closed{background:#ef8a6d;box-shadow:0 0 0 4px rgba(239,138,109,.25)}
.today-card{background:var(--surface);color:var(--ink);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-lg);align-self:center}
.today-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px dashed var(--line-2);padding-bottom:8px;margin-bottom:6px}
.today-head .script{font-family:var(--font-script);font-style:italic;font-size:2rem;color:var(--accent);line-height:1}
.today-head a{font-size:.85rem;color:var(--ink-2);text-decoration:none;display:inline-flex;gap:.3em;align-items:center}
.today-head a .ico{width:14px;height:14px}
.today-opt{padding:10px 0;border-bottom:1px solid var(--line);display:grid;gap:4px}
.today-opt:last-child{border-bottom:0}
.today-opt .lbl{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.today-opt .price{font-weight:800;color:var(--accent);font-size:1.15rem;white-space:nowrap}
.today-opt p{margin:0;color:var(--ink-2);font-size:.92rem}
.today-opt .btn{justify-self:start}
@media(max-width:900px){.hero-v-banner .wrap{grid-template-columns:1fr}}

.hero-v-poster{background:var(--primary);overflow:hidden}
.hero-v-poster::before{opacity:.06}
.hero-v-poster::after{background:linear-gradient(170deg,transparent 62%,var(--accent) 62.2%);inset:0}
.hero-v-poster .wrap{grid-template-columns:1.15fr .85fr;padding-block:clamp(48px,6vw,90px) clamp(70px,9vw,120px)}
.hero-v-poster h1{font-size:clamp(2.8rem,1.5rem + 5vw,6.2rem);line-height:1.02;padding-top:.06em;max-width:13ch;text-shadow:0 4px 0 rgba(0,0,0,.18)}
.hero-v-poster .kicker{background:var(--gold);color:#1b1400;padding:.3em .8em;border-radius:4px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.hero-v-poster .kicker::before{display:none}
.poster-figure{position:relative;justify-self:end;width:min(100%,460px)}
.poster-img{aspect-ratio:1/1;border-radius:calc(var(--radius) + 10px);overflow:hidden;transform:rotate(-4deg);border:6px solid var(--gold);box-shadow:var(--shadow-lg)}
.poster-img img{width:100%;height:100%;object-fit:cover}
.poster-ph{display:grid;place-items:center;background:var(--accent);color:#fff}
.poster-ph .ico{width:40%;height:40%}
.sticker{position:absolute;right:-8px;top:-14px;width:118px;height:118px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;text-align:center;padding:12px;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:.95rem;line-height:1.05;transform:rotate(12deg);box-shadow:0 10px 24px -8px rgba(0,0,0,.5);border:3px dashed rgba(255,255,255,.6)}
@media(max-width:900px){.hero-v-poster .wrap{grid-template-columns:1fr}.poster-figure{justify-self:center;width:min(86%,380px);margin-top:12px}}

.hero-v-elegant{background:var(--bg);color:var(--ink);text-align:center}
.hero-v-elegant::before,.hero-v-elegant::after{display:none}
.hero-v-elegant .wrap{display:block;padding-block:clamp(56px,8vw,110px) 28px;max-width:900px}
.hero-v-elegant .kicker{justify-content:center;color:var(--ink-3);text-transform:uppercase;letter-spacing:.32em;font-size:.72rem}
.hero-v-elegant .kicker::before{display:none}
.hero-v-elegant h1{margin-inline:auto;color:var(--heading);max-width:18ch;font-size:clamp(2.3rem,1.5rem + 3.4vw,4.6rem)}
.hero-v-elegant .rule{display:block;width:72px;height:1px;background:var(--gold);margin:28px auto}
.hero-v-elegant p.lead{color:var(--ink-2);margin:0 auto 30px;max-width:56ch}
.hero-v-elegant .ctas{justify-content:center}
.hero-v-elegant .btn-ghost{color:var(--ink)}
.elegant-figure{padding-bottom:clamp(40px,6vw,80px);max-width:var(--wrap)!important}
.elegant-figure img{width:100%;aspect-ratio:21/8;object-fit:cover;border-radius:var(--radius)}

.hero-v-tiles .wrap{display:block;padding-block:22px}
.tiles-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px}
.tiles-head h1{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.5rem);max-width:none}
.tiles-head .status{display:inline-flex;align-items:center;gap:.5em;font-size:.88rem;color:rgba(255,255,255,.85);margin-top:6px}
.tiles-head .status::before{content:"";width:9px;height:9px;border-radius:50%;background:#6fd39b}
.tiles-head .status.closed::before{background:#ef8a6d}
.cat-tiles-wrap{margin-top:18px}
.cat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(46%,170px),1fr));gap:12px}
.cat-tile{position:relative;display:grid;gap:2px;align-content:end;min-height:120px;padding:14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);text-decoration:none;overflow:hidden;isolation:isolate;transition:transform .15s var(--ease),box-shadow .15s}
.cat-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.cat-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cat-tile img+b,.cat-tile img~small{color:#fff}
.cat-tile:has(img)::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.72))}
.cat-tile .ci{position:absolute;top:12px;left:12px;width:44px;height:44px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}
.cat-tile .ci .ico{width:26px;height:26px}
.cat-tile b{font-size:1.05rem;line-height:1.15}
.cat-tile small{color:var(--ink-3);font-size:.78rem}
.cat-tile.accent{background:var(--accent);border-color:var(--accent)}
.cat-tile.accent b,.cat-tile.accent small{color:#fff}
.cat-tile.accent .ci{background:rgba(255,255,255,.2);color:#fff}

/* ---------- étlap változatok ---------- */
.no-photos .dish .thumb{display:none}
.no-photos .dish{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head head" "desc add" "meta add"}

.mnu-list .dish-list{grid-template-columns:1fr;max-width:880px}
.mnu-list .dish{border-bottom:0;padding:14px 0}
.mnu-list .dish h3{font-size:1.15rem}
.mnu-list .dish .leader{border-bottom:1px dotted var(--ink-3);opacity:.6}
.mnu-list .dish .price{font-family:var(--font-display);font-size:1.15rem;color:var(--heading)}
.mnu-list .menu-cat-head{justify-content:flex-start;border-bottom:1px solid var(--line);padding-bottom:10px}
.mnu-list .menu-cat-head .ico{display:none}
.mnu-list .menu-cat>p{margin-left:0}
.mnu-list .add-btn{width:36px;height:36px}

.mnu-grid .dish-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:18px;margin-top:14px}
.mnu-grid .dish{grid-template-columns:1fr auto;grid-template-areas:"thumb thumb" "head head" "desc desc" "meta add";background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0 0 14px;overflow:hidden;gap:6px 12px}
.mnu-grid .dish>*:not(.thumb){margin-inline:14px}
.mnu-grid .dish .thumb{width:100%;height:auto;aspect-ratio:16/10;border-radius:0}
.mnu-grid .dish.no-thumb::before{content:"";grid-area:thumb;aspect-ratio:16/10;background:linear-gradient(135deg,var(--primary-soft),var(--tint));display:block}
.mnu-grid .dish.no-thumb{grid-template-areas:"thumb thumb" "head head" "desc desc" "meta add"}
.mnu-grid .dish .leader{display:none}
.mnu-grid .dish .head{flex-wrap:wrap;justify-content:space-between;margin-top:6px}
.mnu-grid .dish h3{font-size:1.12rem}
.mnu-grid .dish .price{font-weight:800;color:var(--accent);font-size:1.12rem}
.mnu-grid .dish .desc{font-size:.88rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mnu-grid .dish .add-btn{background:var(--accent);border-color:var(--accent);color:#fff}
.mnu-grid.no-photos .dish{grid-template-areas:"head head" "desc desc" "meta add";padding-top:14px}
.mnu-grid.no-photos .dish.no-thumb::before{display:none}

.mnu-board .page-menu,.mnu-board.page-menu main{background:#1d2120;color:#ece7da}
.mnu-board.page-menu .page-head h1,.mnu-board.page-menu .menu-cat-head h2{color:#fff}
.mnu-board.page-menu .page-head .lead,.mnu-board.page-menu .menu-cat>p,.mnu-board.page-menu .dish .desc{color:rgba(236,231,218,.72)}
.mnu-board.page-menu .menu-tools{background:#1d2120;border-bottom-color:rgba(255,255,255,.12)}
.mnu-board.page-menu .cat-nav a{background:transparent;border-color:rgba(255,255,255,.25);color:#ece7da}
.mnu-board.page-menu .cat-nav a.is-active{background:var(--gold);color:#1b1400;border-color:var(--gold)}
.mnu-board.page-menu .search input{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.2)}
.mnu-board.page-menu .filters span{background:transparent;color:#ece7da;border-color:rgba(255,255,255,.25)}
.mnu-board .dish-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.mnu-board .dish{border-bottom:1px dashed rgba(255,255,255,.18)}
.mnu-board .dish h3{text-transform:uppercase;letter-spacing:.03em;color:#fff}
.mnu-board .dish .leader{border-bottom-color:rgba(255,255,255,.3)}
.mnu-board .dish .price{color:var(--gold);font-weight:800;font-size:1.2rem}
.mnu-board .dish .thumb{border-radius:50%;border:2px solid var(--gold)}
.mnu-board .add-btn{background:var(--accent);border-color:var(--accent);color:#fff}
.mnu-board .chip{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:#ece7da}
.mnu-board.page-menu .allergen-note{color:rgba(236,231,218,.6)}
.mnu-board .menu-cat-head .ico{color:var(--gold)}
@media(max-width:820px){.mnu-board .dish-list{grid-template-columns:1fr}}
/* a kezdőlapi „A séf ajánlja” is kövesse az étlap stílusát */
.mnu-board .page-home .dish-list,.mnu-board.page-home .dish-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:18px}
.mnu-board.page-home .dish{grid-template-columns:1fr auto;grid-template-areas:"thumb thumb" "head head" "desc desc" "meta add";background:#1d2120;color:#ece7da;border:0;border-radius:var(--radius);padding:0 0 14px;overflow:hidden}
.mnu-board.page-home .dish>*:not(.thumb){margin-inline:14px}
.mnu-board.page-home .dish .thumb{width:100%;height:auto;aspect-ratio:4/3;border-radius:0;border:0}
.mnu-board.page-home .dish .desc{color:rgba(236,231,218,.72)}

/* ---------- animációk ---------- */
.anim-subtle .rv,.anim-lively .rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.anim-lively .rv{transform:translateY(34px) scale(.98)}
.rv.in{opacity:1!important;transform:none!important}
.anim-lively .hero h1{animation:pop .7s var(--ease) both}
.anim-lively .hero .ctas{animation:pop .7s .15s var(--ease) both}
.anim-lively .poster-img{animation:tilt 6s ease-in-out infinite}
.anim-lively .sticker{animation:spin 14s linear infinite}
.anim-lively .btn-accent,.anim-lively .cart-btn{transition:transform .15s var(--ease),background .2s}
.anim-lively .btn-accent:hover,.anim-lively .cart-btn:hover{transform:translateY(-2px) rotate(-1deg)}
.anim-lively .cat-tile:hover{transform:translateY(-4px) rotate(-.6deg)}
.anim-lively .mnu-grid .dish:hover,.anim-lively.mnu-grid .dish:hover{transform:translateY(-4px)}
.anim-lively .dish{transition:transform .2s var(--ease)}
.anim-subtle .hero-v-full,.anim-lively .hero-v-full{animation:kenburns 24s ease-in-out infinite alternate;background-size:115% auto}
@keyframes pop{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes tilt{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(-1.5deg) translateY(-6px)}}
@keyframes spin{to{transform:rotate(372deg)}}
@keyframes kenburns{from{background-position:50% 40%}to{background-position:50% 60%}}
@media (prefers-reduced-motion:reduce){.rv{opacity:1!important;transform:none!important}.ticker-track,.anim-lively *{animation:none!important}}

/* ---------- sablon-egyedi díszítések ---------- */
/* Elegáns: vékony vonalak, sok levegő, a gombok szögletes körvonalasak */
.lay-elegans .btn{border-radius:0;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:600}
.lay-elegans .section-head{flex-direction:column;align-items:center;text-align:center}
.lay-elegans .section-head p{margin-inline:auto}
.lay-elegans .section-head h2::after{content:"";display:block;width:56px;height:1px;background:var(--gold);margin:18px auto 0}
.lay-elegans .footer{background:#0f0f0f}
/* Kifőzde: krétás címke-stílus */
.lay-kifozde .section-head h2,.lay-kifozde .page-head h1{position:relative}
.lay-kifozde .section-head h2::after{content:"";position:absolute;left:0;bottom:-6px;width:64px;height:4px;background:var(--gold);border-radius:4px}
.lay-kifozde .weekly-today .menu-opt{font-size:1.05rem}
/* Gyros, street food: matricák, vastag kontúrok */
.lay-gyros .section-head h2,.lay-streetfood .section-head h2{display:inline-block;padding:.05em .35em;background:var(--gold);color:#1b1400;transform:rotate(-1.2deg)}
.lay-gyros .band .section-head h2,.lay-streetfood .band .section-head h2{color:#1b1400}
.lay-gyros .btn,.lay-streetfood .btn,.lay-burger .btn{text-transform:uppercase;letter-spacing:.04em;font-weight:800}
.lay-streetfood .btn,.lay-streetfood .cart-btn{box-shadow:4px 4px 0 var(--ink)}
.lay-streetfood .cat-tile,.lay-streetfood .mnu-grid .dish,.lay-streetfood.mnu-grid .dish{border:2px solid var(--ink)}
/* Burger: sajtsárga sáv */
.lay-burger .section-head h2{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:6px;text-underline-offset:6px}
/* Pizzéria: kockás terítő-díszcsík */
.lay-pizzeria .hero::after{background:none}
.lay-pizzeria .hero{border-bottom:14px solid transparent;border-image:repeating-linear-gradient(90deg,var(--accent) 0 14px,#fff 14px 28px) 14}
.lay-pizzeria .section-head h2::before{content:"";display:block;width:42px;height:6px;margin-bottom:12px;background:linear-gradient(90deg,#2e7d32 33%,#fff 33% 66%,#c62828 66%);border-radius:3px}
/* Kávézó: kézírásos kiemelés */
.lay-kavezo .hero .kicker,.lay-kavezo .section-head p:first-of-type{font-family:var(--font-script);font-style:italic;font-size:1.35rem;letter-spacing:0}
.lay-kavezo .hero .kicker::before{display:none}
/* Büfé: tömör, nagy kontrasztú */
.lay-bufe .section-head h2{font-size:var(--step-2)}
.lay-bufe .btn{border-radius:10px}

/* széles betűtípusoknál a fő menü hamarabb hamburgerbe vált, hogy a Kosár mindig látszódjon */
@media(max-width:1440px){.typ-poppins .nav a,.typ-plain .nav a,.typ-cafe .nav a,.typ-heroscn .nav a,.typ-adventor .nav a{font-size:.84rem;padding:.5em .45em}}
@media(max-width:1380px){.typ-poppins .nav,.typ-plain .nav,.typ-cafe .nav,.typ-heroscn .nav,.typ-adventor .nav{display:none}.typ-poppins .menu-toggle,.typ-plain .menu-toggle,.typ-cafe .menu-toggle,.typ-heroscn .menu-toggle,.typ-adventor .menu-toggle{display:inline-grid}.typ-poppins .header-actions,.typ-plain .header-actions,.typ-cafe .header-actions,.typ-heroscn .header-actions,.typ-adventor .header-actions{margin-left:auto}}
.cat-tiles-wrap{margin-bottom:clamp(20px,3vw,36px)}
/* nagybetűs címek: a magyar ékezetek (Á, É, Ő, Ű) ne lógjanak bele az előző sorba */
.typ-heroscn .hero h1,.typ-poppins .hero h1,.typ-adventor .hero h1,.typ-pagella .hero h1,.typ-heroscn h2,.typ-poppins h2,.typ-adventor h2{line-height:1.06}
