/* ===== Önhosztolt betűtípusok (korábban Google Fonts @import) =====
   Hivatalos, módosítatlan variable WOFF2 fájlok. latin + latin-ext (magyar ő/ű).
   font-display:swap – a korábbi &display=swap viselkedéssel egyezik. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/inter-latin.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+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 800;font-display:swap;src:url('../fonts/inter-latin-ext.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:'Playfair Display';font-style:normal;font-weight:600 800;font-display:swap;src:url('../fonts/playfair-display-latin.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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600 800;font-display:swap;src:url('../fonts/playfair-display-latin-ext.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 700;font-display:swap;src:url('../fonts/cormorant-garamond-latin.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+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 700;font-display:swap;src:url('../fonts/cormorant-garamond-latin-ext.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{
  --max:1320px;

  /* ── Design System: typography families ── */
  --font-heading:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-body:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;

  /* ── Design System: spacing scale ── */
  --space-1:4px;
  --space-2:8px;
  --space-3:16px;
  --space-4:24px;
  --space-5:32px;
  --space-6:48px;
  --space-7:64px;

  /* ── Design System: border radius scale ── */
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:18px;
  --radius-xl:30px;

  /* ── Design System: shadow scale ── */
  --shadow-xs:0 1px 2px rgba(0,0,0,.05);
  --shadow-sm:0 1px 4px rgba(0,0,0,.08);
  --shadow-md:0 8px 24px rgba(0,0,0,.12);
  --shadow-lg:0 18px 40px rgba(0,0,0,.16);

  /* ── Golden Ratio szekció-ritmus (section / vertical rhythm; opcionális) ── */
  --gr-1:6px; --gr-2:10px; --gr-3:16px; --gr-4:26px; --gr-5:42px; --gr-6:68px; --gr-7:110px;

  /* ── border radius (bővített skála) ── */
  --radius-xs:8px;
  --radius-pill:999px;
  --radius-circle:50%;

  /* ── typography scale (referencia; a globális h1/h2/h3/lead ezt követi) ── */
  --text-display:clamp(42px,7vw,82px);
  --text-h2:clamp(28px,4vw,48px);
  --text-h3:clamp(20px,2vw,26px);
  --text-lead:clamp(16px,1.5vw,21px);
  --text-body:16px;
  --text-sm:14px;
  --text-caption:12px;

  /* ── icon méretek ── */
  --icon-sm:16px; --icon-md:20px; --icon-lg:24px; --icon-xl:32px;

  /* ── animation / transition tokenek ── */
  --dur-fast:.15s;
  --dur-normal:.2s;
  --dur-slow:.3s;
  --ease-std:ease;
  --ease-out:ease-out;

  /* ── z-index skála (referencia; a meglévő értékekhez igazítva) ── */
  --z-base:1; --z-sticky:200; --z-dropdown:300; --z-overlay:900; --z-cookie:1000; --z-modal:1100;

  /* ── brand logó (téma-érzékeny; a [data-theme] blokkok felülírják) ── */
  --brand-logo:url('../images/branding/logo-light.png');
  --watermark-opacity:.045;

  /* Breakpointok (referencia — @media-ben CSS var nem használható):
     mobil ≤600 · tablet ≤768 · iPad ≤1024 · laptop ≤1280 · desktop >1280 · konténer --max:1320 */
}
html[data-theme="light"]{
  --bg-grad:linear-gradient(180deg,#FCFBF8,#FAFAF7 45%,#F7F5F0);
  --panel:#ffffff; --line:rgba(26,26,26,.10); --text:#1A1A1A;
  --muted:#5a5550; --soft:#6f6044; --accent:#8F6E17; --accent2:#cfa53a;
  --wash:26,26,26; --card-overlay-1:rgba(184,146,42,.025); --card-overlay-2:rgba(184,146,42,.01);
  --shadow-card:0 10px 36px rgba(26,26,26,.08);
  --topbar-bg:rgba(255,255,255,0.86); --topbar-border:rgba(184,146,42,0.16);
  --popover-bg:#ffffff; --popover-hover-bg:#f1ede4;
  --input-bg:#ffffff; --input-text:#1A1A1A; --input-border:rgba(26,26,26,.16);
  --fade-rgb:250,250,247; --map-attr-bg:rgba(255,255,255,.82);
  --toggle-track-off:rgba(26,26,26,.18);
  --on-accent:#ffffff;
  --accent-rgb:143,110,23;
  --brand-logo:url('../images/branding/logo-light.png');
  --watermark-opacity:.045;
}
html[data-theme="dark"]{
  --bg-grad:linear-gradient(180deg,#090909,#101010 45%,#141414);
  --panel:#141414; --line:rgba(201,168,76,.12); --text:#F2EBE0;
  --muted:#d3c5b3; --soft:#aa967e; --accent:#C9A84C; --accent2:#f0d4aa;
  --wash:255,255,255; --card-overlay-1:rgba(var(--wash),.02); --card-overlay-2:rgba(var(--wash),.01);
  --shadow-card:0 18px 60px rgba(0,0,0,.28);
  --topbar-bg:rgba(10,8,5,0.82); --topbar-border:rgba(201,168,76,0.12);
  --popover-bg:#171717; --popover-hover-bg:#222;
  --input-bg:#121212; --input-text:#f8f4ee; --input-border:rgba(var(--wash),.16);
  --fade-rgb:15,15,15; --map-attr-bg:rgba(13,13,13,.75);
  --toggle-track-off:rgba(var(--wash),.12);
  --on-accent:#0d0d0d;
  --accent-rgb:201,168,76;
  --brand-logo:url('../images/branding/logo-dark.png');
  --watermark-opacity:.03;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body,.topbar,.card,.product-card,.store-card,.paly-card,.btn,.field input,.field select,.field textarea,.checkbox-box,.order-field input,.order-field select,.order-field textarea,.dropdown-menu,.nav-dropdown-menu,.mob-panel,#cookieBanner,.cookie-modal-box,#cookieModal .cookie-modal-box,.qty-input,.filter-search,.nav-link,.nav-cta,.theme-toggle{
  transition:background .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease;
}
body{margin:0;color:var(--text);font-family:var(--font-body);background:var(--bg-grad);min-height:100vh;position:relative;}
/* A korábbi globális, fix vízjel (törött royal_logo.jpeg hivatkozással) helyett
   szekciónkénti, téma-érzékeny watermark kerül alkalmazásra (lásd lentebb). */
a{color:inherit;text-decoration:none}
.page{position:relative;z-index:1;padding-top:76px}
.container{max-width:var(--max);margin:0 auto;padding:0 22px}
.topbar{position:sticky;top:0;z-index:200;background:var(--topbar-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--topbar-border);}
.nav{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;letter-spacing:1.5px;color:var(--text);text-decoration:none;}
.brand-dot{width:12px;height:12px;border-radius:var(--radius-circle);background:var(--accent);flex-shrink:0;}
.links{display:flex;flex-wrap:wrap;gap:8px}
.links a{padding:10px 14px;border-radius:var(--radius-pill);color:var(--muted);border:1px solid transparent}
.links a:hover,.links a.active{border-color:var(--line);background:rgba(var(--wash),.04);color:var(--text)}
.hero,.section{padding:72px 0}
.hero-grid,.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
.card,.product-card,.store-card,.paly-card{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--panel) linear-gradient(180deg,var(--card-overlay-1),var(--card-overlay-2));box-shadow:var(--shadow-card)}
.pad{padding:26px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}
.eyebrow::before{content:"";display:inline-block;width:34px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}
h1,h2,h3,p{margin:0}
h1{font-family:var(--font-heading);font-size:clamp(42px,7vw,82px);line-height:1;letter-spacing:-.045em}
h2{font-family:var(--font-heading);font-size:clamp(28px,4vw,48px);line-height:1.05;letter-spacing:-.03em}
h3{font-size:clamp(20px,2vw,26px);line-height:1.15}
.lead{margin-top:16px;color:var(--muted);font-size:clamp(16px,1.5vw,21px)}
.copy{color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:var(--radius-pill);font-weight:800;cursor:pointer;border:none}
.btn.primary{background:#D6AF43;color:#000000;border:none}
.btn.secondary{border:1px solid var(--line);background:rgba(var(--wash),.03);color:var(--text)}
.list{display:grid;gap:10px;margin-top:16px}
.list div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px dashed rgba(var(--wash),.10)}
.list span:first-child{color:var(--soft)}
.list span{min-width:0;overflow-wrap:break-word}
.section-head{display:grid;gap:14px;max-width:980px;margin-bottom:var(--space-4)}
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.chip{padding:10px 14px;border-radius:var(--radius-pill);border:1px solid var(--line);background:rgba(var(--wash),.03);color:var(--muted)}
.category-wrap{display:grid;gap:22px}
.category-box{border:1px solid var(--line);border-radius:32px;padding:24px;background:linear-gradient(180deg,rgba(var(--wash),.02),rgba(var(--wash),.01))}
.category-box + .category-box{margin-top:12px}
.product-grid,.store-grid,.paly-grid,.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.product-card,.store-card,.paly-card{overflow:hidden}
.gallery{padding:var(--space-3) var(--space-3) 0}
.main-image,.main-missing{display:block;width:100%;height:260px;object-fit:cover;background:var(--popover-bg);border-radius:var(--radius-lg);border:1px solid var(--line)}
.main-missing{display:flex;align-items:center;justify-content:center;color:var(--soft)}
.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.thumb-btn{background:transparent;border:0;padding:0;cursor:pointer;min-width:0}
.thumb-btn img{display:block;width:100%;height:78px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line)}
.thumb-btn.active img{outline:2px solid var(--accent)}
.details{margin-top:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:rgba(var(--wash),.03);overflow:hidden}
.details summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:700}
.details summary::-webkit-details-marker{display:none}
.details-body{padding:0 16px 16px;color:var(--muted);font-size:14px}
.nutri{display:grid;gap:6px;margin:12px 0}
.nutri div{display:flex;justify-content:space-between;gap:12px;padding-bottom:4px;border-bottom:1px dashed rgba(var(--wash),.08)}
.notice{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(var(--wash),.03);color:var(--muted)}
.szechenyi{display:inline-block;margin-top:10px;padding:8px 12px;border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--soft);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.footer{padding:var(--space-7) 0 var(--space-6);border-top:1px solid var(--line);background:rgba(var(--wash),.02)}
.footer-card{padding:0;border:none;border-radius:0;box-shadow:none;background:transparent}
/* ── Footer brand logó (hangsúlyosabb, mint a navbar; téma-érzékeny) ── */
.footer-card::before{
  content:"";
  display:block;
  width:200px;
  max-width:60%;
  height:60px;
  margin:0 0 22px;
  background:var(--brand-logo) left center/contain no-repeat;
}

/* ── Szekció watermark: nagy, visszafogott brand logó a sima hátterű szekciók mögött ──
   Csak dekoratív háttérréteg; a tartalom felette marad. Nem érinti a Hero/Timeline/videó
   elemeket (azok külön osztályúak), és a pseudo-elem háttere a szekció dobozára záródik. */
.section,.category-box{position:relative;}
.section > *,.category-box > *{position:relative;z-index:1;}
.section::before,.category-box::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  -webkit-user-select:none;user-select:none;
  background:var(--brand-logo) center/48% no-repeat;
  opacity:var(--watermark-opacity);
  mix-blend-mode:soft-light;
  filter:blur(.2px);
}
@media(max-width:760px){
  .section::before,.category-box::before{background-size:64%;}
}
/* Ne duplázódjon a watermark, ha a szekció beágyazott watermarkos konténert tartalmaz */
.section:has(.category-box)::before,
.section:has(.section)::before{display:none;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.field label{display:block;color:var(--soft);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font:inherit}
.field textarea{min-height:120px;resize:vertical}
.checkbox-box{display:grid;gap:10px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--input-border);background:var(--input-bg)}
.checkbox-box label{display:flex;gap:12px;align-items:flex-start;color:var(--muted)}
.checkbox-box input{width:22px;min-width:22px;max-width:22px;height:22px;min-height:22px;margin:2px 0 0 0;flex:0 0 22px}
.checkbox-box span{flex:1 1 auto;display:block;white-space:normal;line-height:1.45}
@media (max-width:1200px){.two-col{grid-template-columns:1fr}}
@media (max-width:1080px){.hero-grid,.product-grid,.store-grid,.paly-grid,.contact-grid{grid-template-columns:1fr}}
@media (max-width:760px){.links{display:none}.form-grid{grid-template-columns:1fr}.main-image,.main-missing{height:220px}.thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}}


html{scroll-behavior:smooth}
.chips a.chip{display:inline-flex;align-items:center}


.actions a{display:inline-flex}
.chips a.chip{cursor:pointer;text-decoration:none}


.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.actions .btn,.actions a.btn{display:inline-flex !important;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:var(--radius-pill);font-weight:800;cursor:pointer;text-decoration:none}
.actions .primary{background:#D6AF43;color:#000000}
.actions .secondary{border:1px solid var(--line);background:rgba(var(--wash),.03);color:var(--text)}
.chips a.chip{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}


@media (max-width:760px){
  .dropdown-menu{position:static; margin-top:8px; min-width:100%}
}


/* Dropdown menu rebuilt */
.links{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.links > a,
.links > .dropdown > a{
  padding:8px 12px;
  border-radius:var(--radius-pill);
  color:rgba(var(--wash),0.7);
  border:1px solid transparent;
  text-decoration:none;
  font-size:13px;
  font-weight:500;
  letter-spacing:0.5px;
  transition:color .2s ease;
}
.links > a:hover,
.links > .dropdown > a:hover{
  color:var(--accent);
}
.links > a.active,
.links > .dropdown > a.active{
  color:var(--accent);
}
/* "Partnerré válás" CTA pill */
.links > a[href="franchise.html"],
.links > a.active[href="franchise.html"]{
  background:rgba(var(--accent-rgb),0.12);
  border:1px solid rgba(var(--accent-rgb),0.35);
  border-radius:20px;
  padding:5px 14px;
  color:var(--accent);
  font-size:12px;
  letter-spacing:0.5px;
  transition:background .2s ease;
}
.links > a[href="franchise.html"]:hover,
.links > a.active[href="franchise.html"]:hover{
  background:rgba(var(--accent-rgb),0.22);
  color:var(--accent);
}
.dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.dropdown-main{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.dropdown-main::after{
  content:"▾";
  font-size:.85em;
  opacity:.8;
}
.dropdown-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  min-width:240px;
  margin-top:0;
  padding:10px;
  border-radius:var(--radius-xs);
  border:1px solid rgba(var(--accent-rgb),0.15);
  background:var(--input-bg);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:0 18px 40px rgba(0,0,0,.45);
  display:block;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .12s ease, visibility 0s linear .22s;
  z-index:200;
}
/* Transparent bridge covers the 8px gap so hover is never lost */
.dropdown-menu::before{
  content:'';
  position:absolute;
  bottom:100%;
  left:-10px;
  right:-10px;
  height:12px;
}
.dropdown-menu a{
  display:block;
  padding:12px 14px;
  border-radius:var(--radius-xs);
  color:rgba(var(--wash),0.7);
  text-decoration:none;
  font-size:13px;
  transition:color .15s ease;
}
.dropdown-menu a:hover{
  color:var(--accent);
  background:rgba(var(--accent-rgb),0.06);
}
/* hover-alapú dropdown letiltva – csak click nyit */
/*@media (hover:hover){
  .dropdown:hover .dropdown-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .12s ease, visibility 0s;
  }
}*/
.dropdown.open .dropdown-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transition:opacity .12s ease, visibility 0s !important;
}
@media (max-width:760px){
  .dropdown-menu{
    position:static;
    min-width:100%;
    margin-top:8px;
  }
}


.hero-slider{position:relative;min-height:460px;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s ease}
.hero-slide.active{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hero-overlay{position:absolute;inset:auto 18px 18px 18px;padding:20px;border-radius:24px;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.70))}
.hero-dots{display:flex;gap:8px;margin-top:14px}
.hero-dot{width:10px;height:10px;border-radius:var(--radius-circle);background:rgba(var(--wash),.35);cursor:pointer}
.hero-dot.active{background:var(--accent)}
.store-locator{display:grid;grid-template-columns:1fr .9fr;gap:22px}
.store-results{display:grid;gap:14px}
.store-item{padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(var(--wash),.02)}
.franchise-hero{padding:72px 0}
.franchise-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.kpi{padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(var(--wash),.02)}
.filter-bar{display:grid;gap:12px;margin-top:18px}
.filter-search{width:100%;min-height:52px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);font:inherit}
.news-hero{padding:72px 0 28px}
.news-template-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
.article-list{display:grid;gap:18px}
.article-card{padding:22px}
.badge-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.mini-badge{padding:6px 10px;border-radius:var(--radius-pill);border:1px solid var(--line);background:rgba(var(--wash),.03);font-size:12px;color:var(--muted)}
.section-hidden{display:none !important}
.hidden-product-card{display:none !important}
.cat-hidden{display:none !important}
.product-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}
.product-tab{padding:10px 18px;border-radius:var(--radius-pill);border:1px solid var(--line);background:rgba(var(--wash),.03);color:var(--muted);font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap;transition:color .2s ease,border-color .2s ease,background .2s ease}
.product-tab:hover{color:var(--text);border-color:rgba(var(--wash),.22)}
.product-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.product-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.footer-grid{grid-template-columns:1.4fr .6fr;gap:var(--space-6)}
.footer-links{display:grid;gap:var(--space-3)}
.footer-links a{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--muted);transition:color .2s ease}
.footer-links a:hover{color:var(--accent)}
.footer-links a::before{content:"";width:14px;height:14px;flex-shrink:0;background-color:currentColor;opacity:.5;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
@media (max-width:980px){
  .store-locator,.franchise-grid,.kpi-grid,.news-template-grid,.footer-grid{grid-template-columns:1fr}
  .franchise-steps-grid{grid-template-columns:1fr}
}


.edit-hint{margin-top:10px;padding:10px 12px;border-radius:14px;border:1px dashed rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.08);color:var(--muted);font-size:13px;line-height:1.45}
.edit-label{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-pill);background:rgba(var(--wash),.05);border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--soft);margin-bottom:10px}


.allergen-note{margin-top:10px;padding:8px 12px;border-radius:var(--radius-pill);display:inline-flex;border:1px solid rgba(var(--accent-rgb),.30);background:rgba(var(--accent-rgb),.10);color:var(--accent2);font-size:13px}
.allergen-line{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(var(--wash),.10);color:var(--accent2)}


.allergen-box{margin-top:10px;padding:12px 14px;border-radius:var(--radius-lg);border:1px solid rgba(var(--accent-rgb),.20);background:rgba(var(--wash),.03)}
.allergen-title{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);font-weight:700;margin-bottom:10px}
.allergen-badges{display:flex;flex-wrap:wrap;gap:8px}
.allergen-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;border:1px solid rgba(var(--wash),.12)}
.allergen-badge.contains{background:rgba(var(--accent-rgb),.14);color:var(--accent2);border-color:rgba(var(--accent-rgb),.28)}
.allergen-badge.free{background:rgba(var(--wash),.04);color:var(--muted)}
.allergen-note-detail{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.5}


@media (max-width: 900px){ .season-grid{grid-template-columns:repeat(2,1fr)!important;} }

.category-block{padding:8px 0 0}


/* Szezonális termékek kiemelés a lenyíló menüben */
.dropdown-menu a[href$="#szezonalis"]{
  color: var(--accent2);
  font-weight: 700;
}


.season-wide{display:flex;flex-direction:column;gap:34px}
.season-block{width:100%}
.season-block-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
@media (max-width: 900px){
  .season-track img{width:240px;min-width:240px;height:170px}
  .season-block-head{flex-direction:column;align-items:flex-start}
}


.season-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.season-marquee{overflow:hidden;margin-top:18px;position:relative}
.season-marquee::before,.season-marquee::after{content:"";position:absolute;top:0;bottom:0;width:48px;z-index:2;pointer-events:none}
.season-marquee::before{left:0;background:linear-gradient(to right, rgba(var(--fade-rgb),0.95), rgba(var(--fade-rgb),0))}
.season-marquee::after{right:0;background:linear-gradient(to left, rgba(var(--fade-rgb),0.95), rgba(var(--fade-rgb),0))}
.season-track.auto-scroll{display:flex;gap:14px;width:max-content;animation:seasonScroll 28s linear infinite}
.season-track.auto-scroll img{width:320px;min-width:320px;height:220px;object-fit:cover;border-radius:20px;display:block}
.season-marquee:hover .season-track.auto-scroll{animation-play-state:paused}
@keyframes seasonScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (max-width: 900px){
  .season-track.auto-scroll img{width:240px;min-width:240px;height:170px}
  .season-track.auto-scroll{animation-duration:22s}
}


/* Hírek teljes szélességű blokkok */
.news-wide{
  display:flex;
  flex-direction:column;
  gap:34px;
  margin-top:24px;
}
.news-block{
  width:100%;
  padding:32px;
}
.news-block:first-child{
  border:1px solid rgba(var(--wash),.10);
  background:linear-gradient(to right, var(--panel), var(--popover-bg));
}
.news-block:first-child h2{
  font-size:32px;
}
@media (max-width:900px){
  .news-block{
    padding:24px;
  }
  .news-block:first-child h2{
    font-size:26px;
  }
}


/* Scroll fade-in */
.reveal-on-scroll{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .7s ease, transform .7s ease;
  will-change:opacity, transform;
}
.reveal-on-scroll.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* Hero cikk */
.hero-news-block{
  position:relative;
  padding:40px;
  border:1px solid rgba(var(--accent-rgb),.16);
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb),.12), transparent 30%),
    linear-gradient(135deg, rgba(var(--wash),.035), rgba(var(--wash),.01));
  overflow:hidden;
}
.hero-news-block::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(var(--accent-rgb),.06), transparent 40%);
}
.hero-news-title{
  font-size:clamp(34px, 5vw, 54px);
  line-height:1.02;
  max-width:900px;
}
.hero-news-subcopy{
  margin-top:16px;
  max-width:880px;
  font-size:17px;
  line-height:1.7;
}
@media (max-width:900px){
  .hero-news-block{padding:26px}
}


/* ===== Global advanced motion ===== */
.stagger-item{
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .55s ease, transform .55s ease;
  transition-delay: var(--stagger-delay, 0ms);
}
.stagger-item.is-visible{
  opacity: 1;
  transform: translateY(0);
}

.parallax-wrap{
  position: relative;
  overflow: hidden;
}
.parallax-layer{
  will-change: transform;
  transform: translateY(0);
}

/* ===== Hero video placeholder ===== */
.hero-media-shell{
  position: relative;
  min-height: 460px;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(var(--wash),.08);
  background:
    radial-gradient(circle at top right, rgba(var(--accent-rgb),.12), transparent 30%),
    linear-gradient(180deg, rgba(var(--wash),.03), rgba(var(--wash),.01));
}
.hero-video-placeholder{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 28px;
}
.hero-video-card{
  max-width: 720px;
  width: 100%;
  border-radius: 24px;
  padding: 28px;
  background: rgba(15,15,15,.72);
  border: 1px solid rgba(var(--wash),.08);
  backdrop-filter: blur(10px);
  text-align: left;
}
.hero-video-card h3{
  margin: 10px 0 8px;
}
.hero-video-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:var(--radius-pill);
  border:1px solid rgba(var(--accent-rgb),.28);
  background:rgba(var(--accent-rgb),.08);
  color:var(--accent2);
  font-size:13px;
  font-weight:700;
}
.hero-video-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}
.hero-video-note{
  margin-top:12px;
  color:var(--soft);
  font-size:14px;
  line-height:1.55;
}

.hero-grid.parallax-wrap .hero-media-shell{
  min-height: 520px;
}

@media (max-width: 900px){
  .hero-media-shell{
    min-height: 380px;
  }
  .hero-video-card{
    padding: 22px;
  }
}

.image-placeholder{
  width:100%;
  min-height:240px;
  border-radius:var(--radius-lg);
  border:1px dashed rgba(var(--accent-rgb),.35);
  background:linear-gradient(180deg, rgba(var(--wash),.04), rgba(var(--wash),.015));
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--soft);
  font-weight:700;
  letter-spacing:.04em;
}


/* ===== Hamburger gomb ===== */
.menu-btn{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:6px;
  width:44px;
  height:44px;
  border:1px solid rgba(var(--accent-rgb),0.25);
  border-radius:var(--radius-sm);
  background:rgba(var(--accent-rgb),0.06);
  cursor:pointer;
  padding:0;
  flex-shrink:0;
}
.menu-btn span{
  display:block;
  width:20px;
  height:2px;
  background:rgba(var(--accent-rgb),0.9);
  border-radius:2px;
  transition:transform .25s ease, opacity .25s ease;
}
/* Mobile drawer – "Partnerré válás" pill */
.mob-link[href="franchise.html"]{
  color:var(--accent) !important;
}
.menu-btn.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-btn.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.menu-btn.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media (max-width:760px){
  .menu-btn{display:flex}
  .links{ display:none !important; }
}

/* ===== Prémium mobile drawer ===== */
.mob-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  z-index:1000;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .3s ease, visibility 0s .3s;
}
.mob-backdrop.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .3s ease, visibility 0s 0s;
}
.mob-panel{
  position:fixed;
  top:0;right:0;
  width:min(420px,100vw);
  height:100vh;
  height:100dvh;
  background:var(--popover-bg);
  z-index:1001;
  display:flex;
  flex-direction:column;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
  overflow:hidden;
  box-shadow:-10px 0 48px rgba(0,0,0,.65);
}
.mob-panel.is-open{ transform:translateX(0); }
@media(min-width:761px){
  .mob-backdrop,.mob-panel{ display:none !important; }
}
.mob-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 24px;
  border-bottom:1px solid rgba(var(--wash),.08);
  flex-shrink:0;
}
.mob-brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}
.mob-brand-dot{
  width:10px;height:10px;
  background:var(--accent);
  border-radius:var(--radius-circle);
  flex-shrink:0;
}
.mob-brand-name{
  font-size:17px;
  font-weight:700;
  letter-spacing:.03em;
  color:var(--text);
}
.mob-close{
  width:44px;height:44px;
  border-radius:var(--radius-circle);
  border:1.5px solid rgba(var(--wash),.18);
  background:rgba(var(--wash),.04);
  color:var(--text);
  font-size:20px;
  line-height:1;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .2s, background .2s, color .2s;
  flex-shrink:0;
  padding:0;
}
.mob-close:hover{
  border-color:var(--accent);
  background:rgba(var(--accent-rgb),.1);
  color:var(--accent);
}
.mob-nav{
  flex:1;
  overflow-y:auto;
  padding:0 0 24px;
  border-top:1px solid rgba(var(--wash),.06);
}
.mob-nav::-webkit-scrollbar{width:3px}
.mob-nav::-webkit-scrollbar-track{background:transparent}
.mob-nav::-webkit-scrollbar-thumb{background:rgba(var(--wash),.12);border-radius:2px}
.mob-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:18px 24px;
  font-size:21px;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--text);
  text-decoration:none;
  border:none;
  border-bottom:1px solid rgba(var(--wash),.06);
  background:none;
  text-align:left;
  cursor:pointer;
  box-sizing:border-box;
  opacity:0;
  transform:translateX(24px);
  transition:
    color .15s ease,
    background .15s ease,
    opacity .3s ease calc(var(--mob-i,0) * 45ms + 100ms),
    transform .3s ease calc(var(--mob-i,0) * 45ms + 100ms);
  -webkit-tap-highlight-color:transparent;
}
.mob-panel.is-open .mob-link{ opacity:1; transform:translateX(0); }
.mob-link.active{ color:var(--accent2); }
.mob-link:active{ background:rgba(var(--wash),.04); }
.mob-acc-btn{
  border:none;
  border-bottom:1px solid rgba(var(--wash),.06);
}
.mob-link-arrow{
  font-size:1.3em;
  font-weight:300;
  opacity:.4;
  transition:transform .25s ease;
  flex-shrink:0;
}
.mob-acc-btn.open .mob-link-arrow{ transform:rotate(90deg); }
.mob-sub{
  display:none;
  background:rgba(var(--wash),.025);
  border-bottom:1px solid rgba(var(--wash),.06);
}
.mob-sub.open{ display:block; }
.mob-sub-link{
  display:block;
  padding:13px 24px 13px 42px;
  font-size:15.5px;
  font-weight:500;
  color:var(--muted);
  text-decoration:none;
  border-bottom:1px solid rgba(var(--wash),.04);
  transition:color .12s;
  -webkit-tap-highlight-color:transparent;
}
.mob-sub-link:last-child{ border-bottom:none; }
.mob-sub-link:active{ color:var(--accent2); }
.mob-franchise-cta{
  margin:20px 20px 8px;
  padding:20px;
  border:1px solid rgba(var(--accent-rgb),.35);
  border-radius:14px;
  background:rgba(var(--accent-rgb),.05);
}
.mob-franchise-cta .eyebrow{
  font-size:10.5px;
  margin-bottom:8px;
  display:block;
}
.mob-franchise-cta h4{
  font-size:16px;
  font-weight:700;
  color:var(--text);
  margin:0 0 14px;
  line-height:1.35;
}
.mob-franchise-btn{
  display:block;
  width:100%;
  padding:13px 16px;
  background:var(--accent);
  color:#0d0d0d;
  font-size:14px;
  font-weight:700;
  letter-spacing:.03em;
  text-decoration:none;
  border-radius:var(--radius-xs);
  text-align:center;
  transition:background .2s;
  box-sizing:border-box;
}
.mob-franchise-btn:hover,.mob-franchise-btn:active{ background:var(--accent2); }
.mob-footer-section{
  padding:16px 24px;
  border-top:1px solid rgba(var(--wash),.08);
  flex-shrink:0;
}
.mob-footer-contact{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-bottom:10px;
}
.mob-footer-contact a{
  font-size:13px;
  color:var(--soft);
  text-decoration:none;
  transition:color .15s;
}
.mob-footer-contact a:hover{ color:var(--accent2); }
.mob-footer-tagline{
  font-size:11px;
  color:rgba(var(--wash),.22);
  letter-spacing:.05em;
  text-transform:uppercase;
  margin:0;
}

/* ===== Touch targets ===== */
.hero-dot{width:14px;height:14px}

/* ===== Hírek oldal: dupla section/container padding nullázása (minden méretben) ===== */
.news-hero>.container>.news-template-grid>.section{padding:0}
.news-hero>.container>.news-template-grid>.section>.container{padding:0}
/* Award kép max magasság */
.news-hero .card>img{max-height:340px;object-fit:cover;width:100%;display:block}


/* ===== Kisebb mobilok (< 760px) ===== */
@media (max-width:760px){
  .hero,.section{padding:48px 0}
  .news-hero{padding:32px 0 0}
  h2{font-size:clamp(24px,6vw,42px)}
  .lead{font-size:clamp(15px,4vw,18px)}
  .pad{padding:20px}
}


/* ===== Kis képernyő / iPhone (< 480px) ===== */
@media (max-width:480px){
  .season-track.auto-scroll img{width:160px;min-width:160px;height:115px}
  .season-track.auto-scroll{animation-duration:16s}
  .hero-media-shell{min-height:220px}
  .hero-grid.parallax-wrap .hero-media-shell{min-height:240px}
  .hero,.section{padding:32px 0}
  .pad{padding:16px}
  h1{font-size:clamp(34px,9vw,58px)}
  h2{font-size:clamp(20px,6vw,32px)}
  h3{font-size:clamp(17px,5vw,22px)}
  .lead{font-size:14px;margin-top:10px}
  .product-grid,.store-grid,.paly-grid,.contact-grid{grid-template-columns:1fr}
  .franchise-grid,.kpi-grid,.franchise-steps-grid{grid-template-columns:1fr}
  /* Hírek oldal */
  .news-hero{padding:20px 0 0}
  .news-hero>.container>.section-head h2{font-size:clamp(18px,6vw,26px)}
  .news-hero>.container>.section-head .lead{font-size:14px}
  .news-hero .card>img{max-height:240px}
  .season-block-head h3{font-size:17px}
  .season-marquee{margin-top:10px}
  /* Section-head */
  .section-head{gap:8px;margin-bottom:16px}
  .eyebrow{font-size:11px;letter-spacing:.16em}
}


/* ===== Footer jogi sáv ===== */
.footer-legal{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px dashed rgba(var(--wash),.10);
}
.footer-copy{
  font-size:13px;
  color:var(--soft);
}
.footer-legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.footer-legal-links a,
.footer-legal-links button{
  font-size:13px;
  color:var(--soft);
  background:none;
  border:none;
  cursor:pointer;
  padding:6px 10px;
  border-radius:var(--radius-pill);
  font-family:inherit;
  text-decoration:none;
  transition:color .2s, background .2s;
}
.footer-legal-links a:hover,
.footer-legal-links button:hover{
  color:var(--text);
  background:rgba(var(--wash),.06);
}
@media (max-width:600px){
  .footer-legal{flex-direction:column;align-items:flex-start}
}


/* ===== Cookie consent banner ===== */
.cookie-banner{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:1100;
  padding:16px 22px;
  background:var(--popover-bg);
  backdrop-filter:blur(16px);
  border-top:1px solid rgba(var(--wash),.10);
  display:none;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
}
.cookie-banner.visible{
  display:flex;
  animation:cookieBannerIn .38s ease forwards;
}
@keyframes cookieBannerIn{
  from{transform:translateY(100%);opacity:0}
  to{transform:translateY(0);opacity:1}
}
.cookie-banner-text{
  flex:1 1 300px;
  font-size:14px;
  color:var(--muted);
  line-height:1.55;
}
.cookie-banner-text a{
  color:var(--accent2);
  text-decoration:underline;
}
.cookie-banner-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  flex-shrink:0;
}
.cookie-btn-accept{
  min-height:42px;
  padding:0 20px;
  border-radius:var(--radius-pill);
  border:none;
  background:linear-gradient(180deg,var(--accent2),var(--accent));
  color:#22170d;
  font-weight:800;
  cursor:pointer;
  font-family:inherit;
  font-size:14px;
}
.cookie-btn-necessary{
  min-height:42px;
  padding:0 16px;
  border-radius:var(--radius-pill);
  border:1px solid rgba(var(--wash),.16);
  background:rgba(var(--wash),.04);
  color:var(--muted);
  cursor:pointer;
  font-family:inherit;
  font-size:14px;
}
.cookie-btn-accept:hover{opacity:.88}
.cookie-btn-necessary:hover{color:var(--text);border-color:rgba(var(--wash),.3)}

/* Cookie modal (beállítások) */
.cookie-modal-overlay{
  position:fixed;
  inset:0;
  z-index:10001;
  background:rgba(0,0,0,.75);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:16px;
}
@media (min-width:600px){
  .cookie-modal-overlay{align-items:center}
}
.cookie-modal{
  width:100%;
  max-width:560px;
  max-height:80vh;
  overflow-y:auto;
  border-radius:24px;
  border:1px solid rgba(var(--wash),.12);
  background:var(--popover-bg);
  padding:28px;
}
.cookie-modal h3{margin:0 0 10px}
.cookie-modal-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:16px 0;
  border-bottom:1px dashed rgba(var(--wash),.08);
}
.cookie-modal-row:last-of-type{border-bottom:none}
.cookie-modal-label{font-weight:700;font-size:15px}
.cookie-modal-desc{color:var(--muted);font-size:13px;margin-top:4px;line-height:1.45}
.cookie-toggle{
  position:relative;
  width:48px;
  height:26px;
  flex-shrink:0;
}
.cookie-toggle input{opacity:0;width:0;height:0;position:absolute}
.cookie-toggle-track{
  position:absolute;
  inset:0;
  border-radius:var(--radius-pill);
  background:var(--toggle-track-off);
  cursor:pointer;
  transition:background .2s;
}
.cookie-toggle input:checked + .cookie-toggle-track{background:var(--accent)}
.cookie-toggle-thumb{
  position:absolute;
  top:3px;left:3px;
  width:20px;height:20px;
  border-radius:var(--radius-circle);
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.25);
  transition:transform .2s;
  pointer-events:none;
}
.cookie-toggle input:checked ~ .cookie-toggle-thumb{transform:translateX(22px)}
.cookie-toggle input:disabled + .cookie-toggle-track{opacity:.5;cursor:not-allowed}
.cookie-modal-save{
  width:100%;
  margin-top:20px;
  min-height:48px;
  border-radius:var(--radius-pill);
  border:none;
  background:linear-gradient(180deg,var(--accent2),var(--accent));
  color:#22170d;
  font-weight:800;
  cursor:pointer;
  font-family:inherit;
  font-size:15px;
}

/* Egyszerűsített süti-tájékoztató – banner cím + információs modal tartalom */
/* Saját belépő-animáció, amely megtartja a vízszintes középre igazítást (translateX(-50%)),
   mert a megosztott cookieBannerIn keyframe forwards-fill felülírná azt → jobbra csúszó sáv. */
@keyframes cookieBannerInCentered{
  from{opacity:0;transform:translateX(-50%) translateY(12px)}
  to{opacity:1;transform:translateX(-50%) translateY(0)}
}
#cookieBanner{flex-direction:column;align-items:stretch;gap:14px}
/* A középre-igazítást megtartó belépő-animáció csak a desktop lebegő kártyára (≥769px);
   ≤768px-en a sáv 16px margós, transform:none – ott a megosztott cookieBannerIn (csak translateY) fut. */
@media (min-width:769px){ #cookieBanner{animation:cookieBannerInCentered .38s ease forwards} }
@media (prefers-reduced-motion:reduce){ #cookieBanner{animation:none} }
.cookie-banner-body{display:flex;flex-direction:column;gap:8px}
/* A régi sorelrendezéshez tartozó flex-basis/margó felülírása a függőleges kártyában */
.cookie-banner-body .cookie-banner-text{flex:0 0 auto;margin:0}
.cookie-banner-title{
  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--text);
  margin:0;
}
.cookie-modal-body{color:var(--muted);font-size:14px;line-height:1.6}
.cookie-modal-body p{margin:0 0 12px}
.cookie-modal-body strong{color:var(--text)}
.cookie-modal-body code{
  font-size:12px;
  background:rgba(var(--wash),.06);
  padding:2px 6px;
  border-radius:6px;
}
.cookie-modal-list{
  margin:0 0 14px;
  padding-left:20px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cookie-modal-list li{line-height:1.55}
.cookie-modal-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin:0;
}
.cookie-modal-links a{
  color:var(--accent2);
  text-decoration:underline;
  font-weight:600;
}
/* Világos témában a fehér modal-háttéren sötétebb arany a megfelelő kontrasztért (WCAG AA) */
html[data-theme="light"] .cookie-modal-links a{color:#8a6a12}

/* ── Jogi oldalak – UX finomítás (Legfontosabb tudnivalók összefoglaló, tartalomjegyzék, meta sor) ── */
.legal-meta{margin-top:10px;font-size:13px;color:var(--muted)}
.legal-summary-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.legal-summary-list li{line-height:1.6}
.legal-link{color:var(--accent2);text-decoration:underline}
html[data-theme="light"] .legal-link{color:#8a6a12}
.legal-toc ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;counter-reset:toc}
.legal-toc li{counter-increment:toc;min-width:0}
.legal-toc a{display:block;padding:9px 10px;border-radius:10px;color:var(--text);text-decoration:none;line-height:1.4;transition:background .15s ease}
.legal-toc a::before{content:counter(toc) ". ";color:var(--accent2);font-weight:700}
html[data-theme="light"] .legal-toc a::before{color:#8a6a12}
.legal-toc a:hover{background:rgba(var(--wash),.06)}
.legal-toc a:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}
/* A sticky fejléc miatti ugrás-korrekció: a fejezetcím ne kerüljön a fejléc alá */
.toc-section,#legfontosabb,#tartalomjegyzek{scroll-margin-top:96px}
@media (max-width:640px){ .legal-toc ol{grid-template-columns:1fr} }


/* =================================================================
   HOME PAGE – PRÉMIUM ÚJRATERVEZÉS
   ================================================================= */

/* ── Hero ── */
.home-hero{
  padding:96px 0 80px;
  position:relative;
  overflow:hidden;
}
.home-hero::before{
  content:"";
  position:absolute;
  top:-220px; right:-180px;
  width:780px; height:780px;
  border-radius:var(--radius-circle);
  background:radial-gradient(circle, rgba(var(--accent-rgb),.07) 0%, transparent 68%);
  pointer-events:none;
  z-index:0;
}
.home-hero>.container{ position:relative; z-index:1; }
.home-hero-inner{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:56px;
  align-items:center;
}
.home-hero-tagline{
  font-size:clamp(17px,2vw,22px);
  color:var(--muted);
  margin-top:18px;
  line-height:1.55;
}

/* Hero CTA hover effects */
.btn.primary{
  transition:background-color .2s ease-out, transform .2s ease-out, box-shadow .2s ease-out;
}
.btn.primary:hover{
  background:#C7A03A;
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(var(--accent-rgb),.20);
}
.btn.primary:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px #0d0d0d,0 0 0 5px #f0d4aa;
}
.btn.secondary{
  transition:border-color .2s ease-out, background .2s ease-out, transform .2s ease-out, color .2s ease-out;
}
.btn.secondary:hover{
  border-color:rgba(var(--wash),.24);
  background:rgba(var(--wash),.07);
  color:var(--text);
  transform:translateY(-2px);
}
.btn.primary:active,
.btn.secondary:active{
  transform:translateY(0);
}

/* ── Stat bar ── */
.home-stat-bar{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(var(--wash),.015);
}
.home-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.home-stat{
  padding:34px 24px;
  text-align:center;
  border-right:1px solid var(--line);
}
.home-stat:last-child{border-right:none}
.home-stat-num{
  display:block;
  font-size:clamp(30px,4.5vw,54px);
  font-weight:900;
  letter-spacing:-.045em;
  color:var(--accent);
  line-height:1;
}
.home-stat-label{
  display:block;
  margin-top:7px;
  font-size:11px;
  color:var(--soft);
  letter-spacing:.18em;
  text-transform:uppercase;
}

/* ── Franchise mega block ── */
.home-franchise-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(var(--accent-rgb),.32);
  border-radius:36px;
  padding:60px 56px;
  background:
    radial-gradient(ellipse at 85% 0%, rgba(var(--accent-rgb),.13) 0%, transparent 55%),
    linear-gradient(170deg,rgba(var(--wash),.025) 0%,rgba(var(--wash),.008) 100%);
}
.home-franchise-card::after{
  content:"R";
  position:absolute;
  top:-30px;right:30px;
  font-size:260px;
  font-weight:900;
  letter-spacing:-.06em;
  color:rgba(var(--accent-rgb),.045);
  line-height:1;
  pointer-events:none;
  user-select:none;
}
.home-franchise-header{max-width:640px}
.home-franchise-benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:40px 0 36px;
}
.home-franchise-benefit{
  padding:18px 20px;
  border:1px solid rgba(var(--accent-rgb),.2);
  border-radius:20px;
  background:rgba(var(--accent-rgb),.04);
  transition:border-color .2s,background .2s;
}
.home-franchise-benefit:hover{
  border-color:rgba(var(--accent-rgb),.4);
  background:rgba(var(--accent-rgb),.08);
}
.home-franchise-benefit strong{display:block;color:var(--accent2);font-size:14px;font-weight:700}
.home-franchise-benefit p{color:var(--muted);font-size:13px;margin-top:5px;line-height:1.45}

/* ── Brand story ── */
.home-story-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:start;
}
.home-year-display{
  font-size:clamp(64px,11vw,120px);
  font-weight:900;
  letter-spacing:-.07em;
  color:transparent;
  -webkit-text-stroke:1.5px rgba(var(--accent-rgb),.45);
  line-height:.9;
  margin-bottom:18px;
}
.home-story-values{display:grid;gap:12px;margin-top:8px}
.home-story-value{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:rgba(var(--wash),.02);
  transition:border-color .2s;
}
.home-story-value:hover{border-color:rgba(var(--wash),.18)}
.home-story-value strong{display:block;font-size:14px;font-weight:700;color:var(--text)}

/* ── Product showcase ── */
.home-product-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:28px;
}
.home-product-item{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--line);
}
.home-product-item img{
  width:100%;
  height:230px;
  object-fit:cover;
  display:block;
  transition:transform .25s ease-out;
}
.home-product-item:hover img{transform:scale(1.06)}
.home-product-name{
  position:absolute;
  bottom:0;left:0;right:0;
  padding:10px 14px;
  background:linear-gradient(transparent,rgba(0,0,0,.72));
  font-size:13px;
  font-weight:600;
  color:var(--accent2);
}

/* ── Map teaser ── */
.home-map-teaser{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:40px;
  align-items:center;
}
.home-map-store-cards{display:grid;gap:10px}
.home-map-store-card{
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:rgba(var(--wash),.02);
  transition:border-color .2s;
}
.home-map-store-card:hover{border-color:rgba(var(--wash),.18)}
.home-map-store-card strong{font-size:14px;color:var(--text)}


/* ── Responsive breakpoints ── */
@media(max-width:1080px){
  .home-hero-inner{grid-template-columns:1fr}
  .home-franchise-benefits{grid-template-columns:repeat(2,1fr)}
  .home-story-grid{grid-template-columns:1fr;gap:28px}
  .home-map-teaser{grid-template-columns:1fr}
}
@media(max-width:760px){
  .home-hero{ padding:56px 0 44px }
  .home-hero::before{ width:480px; height:480px; top:-120px; right:-100px; }
  .home-franchise-card{padding:32px 24px}
  .home-franchise-card::after{font-size:160px;top:-10px;right:10px}
  .home-stats{grid-template-columns:repeat(2,1fr)}
  .home-stat:nth-child(2){border-right:none}
  .home-product-grid{grid-template-columns:1fr 1fr}
  .home-product-item img{height:170px}
}
@media(max-width:480px){
  .home-franchise-benefits{grid-template-columns:1fr 1fr}
  .home-franchise-card{padding:24px 18px}
  .home-stat{padding:22px 14px}
  .home-year-display{font-size:clamp(52px,14vw,90px)}
  .home-product-grid{grid-template-columns:1fr 1fr}
  .home-product-item img{height:140px}
}


/* =================================================================
   TÉRKÉP MARKER – PRÉMIUM SVG DESIGN
   (felülírja a korábbi betűalapú megjelölést, ha CSS-ben kellene)
   ================================================================= */
.leaflet-marker-icon svg{ filter:drop-shadow(0 3px 6px rgba(0,0,0,.55)) }


/* =================================================================
   NAVBAR GAP FIX – html reset + iOS safe-area support
   ================================================================= */
html{
  margin:0;
  padding:0;
}
.topbar{
  padding-top:env(safe-area-inset-top,0px);
}
.page{
  padding-top:0;
}


/* =================================================================
   BALATON / KIEMELT KÉPEK FIX – arányos megjelenítés, no squeeze
   ================================================================= */
.news-hero .one-col .card img,
.news-hero .card > img{
  width:100%;
  display:block;
  border-radius:24px;
  height:clamp(220px,35vw,420px);
  object-fit:cover;
  object-position:center;
  max-height:none;
}
@media(max-width:480px){
  .news-hero .one-col .card img,
  .news-hero .card > img{
    height:clamp(180px,52vw,280px);
  }
}


/* =================================================================
   ÜZLETKERESŐ TÉRKÉP – mintaboltok.html
   ================================================================= */

/* Szűrő chipek */
.store-filter-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:20px;
}
@media (max-width:600px){
  .store-filter-row{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:6px;
    scrollbar-width:none;
  }
  .store-filter-row::-webkit-scrollbar{ display:none; }
}
.store-chip{
  padding:10px 20px;
  border-radius:var(--radius-pill);
  border:1px solid var(--line);
  background:rgba(var(--wash),.04);
  color:var(--muted);
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:background .18s,color .18s,border-color .18s;
  line-height:1;
}
.store-chip:hover{
  background:rgba(var(--accent-rgb),.15);
  color:var(--accent2);
  border-color:rgba(var(--accent-rgb),.4);
}
.store-chip.active{
  background:var(--accent);
  color:#1a0e04;
  border-color:var(--accent);
  font-weight:700;
}

/* Térkép konténer */
.map-wrap{
  border-radius:28px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 18px 60px rgba(0,0,0,.38);
  position:relative;
}
#storeMap{
  width:100%;
  height:480px;
}
@media(max-width:760px){
  #storeMap{height:360px}
}
@media(max-width:480px){
  #storeMap{height:300px}
  .map-wrap{border-radius:20px}
}

/* Leaflet dark popup stílus */
.royal-popup .leaflet-popup-content-wrapper{
  background:var(--popover-bg);
  border:1px solid rgba(var(--wash),.12);
  border-radius:20px;
  box-shadow:0 12px 40px rgba(0,0,0,.65);
  color:var(--text);
  padding:0;
}
.royal-popup .leaflet-popup-content{
  margin:0;
  width:auto !important;
}
.royal-popup .leaflet-popup-tip-container .leaflet-popup-tip{
  background:var(--popover-bg);
}
.royal-popup .leaflet-popup-close-button{
  color:var(--soft) !important;
  font-size:18px !important;
  top:10px !important;
  right:12px !important;
}

/* Popup belső tartalom */
.rp-popup{
  padding:18px 20px 16px;
  min-width:230px;
  max-width:300px;
}
.rp-cat{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
}
.rp-name{
  display:block;
  font-size:15px;
  font-weight:700;
  margin-top:6px;
  line-height:1.25;
  color:var(--text);
}
.rp-desc{
  font-size:12px;
  color:var(--muted);
  margin-top:6px;
  margin-bottom:4px;
  line-height:1.5;
}
.rp-addr{
  font-size:13px;
  color:var(--soft);
  margin-top:6px;
  line-height:1.45;
}
.rp-hours{
  margin-top:10px;
  display:grid;
  gap:4px;
}
.rp-hours-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
  color:var(--muted);
}
.rp-hours-row span:first-child{color:var(--soft)}
.rp-links{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.rp-link{
  font-size:13px;
  color:var(--accent);
  text-decoration:none;
  transition:color .15s;
}
.rp-link:hover{color:var(--accent2)}
.rp-route{
  display:inline-flex;
  margin-top:12px;
  padding:8px 14px;
  border-radius:var(--radius-pill);
  border:1px solid rgba(var(--accent-rgb),.4);
  color:var(--accent);
  font-size:12px;
  font-weight:600;
  transition:background .15s;
  text-decoration:none;
}
.rp-route:hover{background:rgba(var(--accent-rgb),.12)}

/* Marker cluster stílus */
.royal-cluster{
  background:rgba(var(--accent-rgb),.2);
  border:2px solid var(--accent);
  border-radius:var(--radius-circle);
  display:flex;
  align-items:center;
  justify-content:center;
}
.royal-cluster div{
  width:36px;
  height:36px;
  border-radius:var(--radius-circle);
  background:var(--accent);
  color:#1a0e04;
  font-weight:800;
  font-size:14px;
  font-family:Inter,sans-serif;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Lista kártyák grid */
.store-list-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
@media(max-width:980px){
  .store-list-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .store-list-grid{grid-template-columns:1fr}
}

/* Bolt kártya képek */
.store-list-img{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:var(--radius-lg);
  display:block;
}
.store-list-img-placeholder{
  width:100%;
  height:120px;
  border-radius:var(--radius-lg);
  background:rgba(var(--accent-rgb),.08);
  border:1px solid rgba(var(--accent-rgb),.18);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:36px;
  font-weight:900;
  color:rgba(var(--accent-rgb),.35);
  letter-spacing:-.02em;
}

/* Üzletkártya címe: a helyes címsorhierarchia miatt <h2>, de a megjelenés
   pixelpontosan a korábbi <h3>-mal egyezik (törzs-betűtípus, nem a heading
   serif; ugyanaz a sormagasság és betűköz). A font-size és margin a tagen
   inline marad. */
.store-card-title{
  font-family:var(--font-body);
  font-weight:700;
  line-height:1.15;
  letter-spacing:normal;
}

/* Kategória badge a kártyán */
.store-cat-badge{
  display:inline-flex;
  padding:5px 12px;
  border-radius:var(--radius-pill);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.store-cat-badge.bolt{
  background:rgba(var(--accent-rgb),.12);
  border:1px solid rgba(var(--accent-rgb),.3);
  color:var(--accent);
}
.store-cat-badge.uzem{
  background:rgba(138,168,136,.1);
  border:1px solid rgba(138,168,136,.3);
  color:#8ba888;
}

/* RC-fix (M-05): rejtett honeypot mező – off-screen (nem display:none),
   képernyőolvasó és Tab elől elrejtve, layout-shift nélkül. */
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

/* RC-fix (H-01): világos témás kontraszt ≥4.5:1 kis szövegnél.
   Csak a világos témát érinti; a sötét téma (var(--accent) alapú) megfelel. */
html[data-theme="light"] .store-cat-badge.bolt{
  color:#6b5210; /* accent-sötétített: #6b5210 a világos tinten ~5.1:1 */
}
html[data-theme="light"] .store-chip.active{
  background:#b8922a; /* fényesebb brand-arany háttér a sötét szöveg alá */
  border-color:#b8922a;
  color:#1a0e04; /* ~6.4:1 */
}

/* Nyitvatartás sorok a kártyán */
.sl-hours{
  margin-top:12px;
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:var(--radius-sm);
  background:rgba(var(--wash),.03);
  border:1px solid var(--line);
}
.sl-hours-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
  color:var(--muted);
}
.sl-hours-row span:first-child{color:var(--soft)}

/* Kapcsolati linkek a kártyán */
.sl-contacts{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.sl-contact-link{
  font-size:13px;
  color:var(--accent);
  text-decoration:none;
  transition:color .15s;
}
.sl-contact-link:hover{color:var(--accent2)}

/* ── Store-locator ikonok (Lucide inline SVG, egységes igazítás) ── */
.loc-ico{width:15px;height:15px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.rp-link,.sl-contact-link{display:inline-flex;align-items:center;gap:6px}
.rp-addr{display:flex;align-items:flex-start;gap:6px}
.rp-addr .loc-ico{margin-top:3px}
.mob-view-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.mob-view-tab .loc-ico{width:16px;height:16px}
.ext-ico{width:14px;height:14px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-left:5px;vertical-align:middle}

/* Leaflet alap overrides a dark témához */
.leaflet-control-zoom a{
  background:var(--popover-bg) !important;
  color:var(--accent) !important;
  border-color:rgba(var(--wash),.12) !important;
}
.leaflet-control-zoom a:hover{
  background:var(--popover-hover-bg) !important;
  color:var(--accent2) !important;
}
.leaflet-bar{
  border:1px solid rgba(var(--wash),.12) !important;
  border-radius:var(--radius-sm) !important;
  overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,.4) !important;
}
.leaflet-control-attribution{
  background:var(--map-attr-bg) !important;
  color:var(--soft) !important;
  font-size:10px !important;
  border-radius:var(--radius-xs) 0 0 0 !important;
}
.leaflet-control-attribution a{color:var(--accent) !important}


/* =================================================================
   FRANCHISE FUNNEL – Sticky CTA / Trust bar / FAQ
   ================================================================= */

/* Floating sticky CTA – megjelenik görgés után */
.franchise-sticky{
  position:fixed;bottom:28px;right:28px;z-index:200;
  opacity:0;transform:translateY(16px);
  transition:opacity .3s ease,transform .3s ease;pointer-events:none;
}
.franchise-sticky.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.franchise-sticky-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 24px;border-radius:var(--radius-pill);
  background:linear-gradient(180deg,var(--accent2),var(--accent));color:#22170d;
  font-weight:800;font-size:15px;text-decoration:none;white-space:nowrap;
  box-shadow:0 8px 24px rgba(var(--accent-rgb),.30);
  border:none;cursor:pointer;font-family:inherit;
}
.franchise-sticky-btn:hover{opacity:.88}
@media(max-width:600px){
  .franchise-sticky{bottom:18px;right:14px}
  .franchise-sticky-btn{font-size:13px;padding:12px 18px}
}

/* Trust number bar a franchise hero alatt */
.franchise-trust-bar{
  display:flex;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:rgba(var(--wash),.015);
}
.franchise-trust-item{
  flex:1;padding:24px 16px;text-align:center;border-right:1px solid var(--line);
}
.franchise-trust-item:last-child{border-right:none}
.franchise-trust-num{
  display:block;font-size:clamp(22px,3vw,38px);font-weight:900;
  color:var(--accent);letter-spacing:-.04em;line-height:1;
}
.franchise-trust-label{
  display:block;margin-top:5px;font-size:11px;color:var(--soft);
  letter-spacing:.16em;text-transform:uppercase;
}
@media(max-width:640px){
  .franchise-trust-bar{flex-wrap:wrap}
  .franchise-trust-item{flex:1 1 50%;border-right:none;border-bottom:1px solid var(--line)}
  .franchise-trust-item:nth-child(odd){border-right:1px solid var(--line)}
  .franchise-trust-item:last-child{border-bottom:none}
}

/* FAQ accordion */
.faq-grid{display:grid;gap:10px;margin-top:28px}
.faq-item{
  border:1px solid var(--line);border-radius:var(--radius-lg);
  background:rgba(var(--wash),.02);overflow:hidden;transition:border-color .2s;
}
.faq-item:hover{border-color:rgba(var(--wash),.16)}
.faq-item.open{border-color:rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.03)}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:18px 20px;background:none;border:none;color:var(--text);
  font:700 15px/1.4 inherit;cursor:pointer;text-align:left;
}
.faq-q::after{content:"＋";flex-shrink:0;font-size:18px;color:var(--accent);transition:transform .25s}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{display:none;padding:0 20px 18px;color:var(--muted);font-size:14px;line-height:1.65}
.faq-item.open .faq-a{display:block}

/* Franchise urgency badge */
.urgency-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:var(--radius-pill);
  border:1px solid rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.10);
  color:var(--accent2);font-size:13px;font-weight:700;
  margin-bottom:16px;
}
.urgency-dot{
  width:8px;height:8px;border-radius:var(--radius-circle);background:var(--accent);
  animation:pulse-dot 1.8s ease-in-out infinite;flex-shrink:0;
}
@keyframes pulse-dot{
  0%,100%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.5)}
  50%{box-shadow:0 0 0 5px rgba(var(--accent-rgb),0)}
}

/* Inline mini-form (franchise CTA alján) */
.franchise-mini-form{
  display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:20px;align-items:end;
}
.franchise-mini-form .field{margin:0}
.franchise-mini-form .field input{min-height:48px;border-radius:14px}
.franchise-mini-form .btn{min-height:48px;white-space:nowrap;padding:0 20px}
@media(max-width:680px){
  .franchise-mini-form{grid-template-columns:1fr}
}


/* =================================================================
   LEAD / FORM SUCCESS STATE
   ================================================================= */
.form-success{display:none;text-align:center;padding:48px 28px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:var(--radius-lg);background:rgba(var(--accent-rgb),.04)}
.form-success.visible{display:block}
.form-success-icon{display:block;margin-bottom:16px;color:var(--accent2)}
.form-success-icon svg{width:52px;height:52px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.form-success h3{color:var(--accent2);font-size:clamp(20px,2.5vw,28px)}
.form-success .copy{max-width:460px;margin:14px auto 0;line-height:1.7}
.form-success .badge-row{justify-content:center;margin-top:18px}

.form-trust-row{
  display:flex;flex-wrap:wrap;gap:18px;
  margin-top:18px;padding-top:16px;border-top:1px dashed rgba(var(--wash),.10);
}
.form-trust-item{
  display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);
}
.form-trust-item::before{content:"";width:14px;height:14px;flex:0 0 auto;background:var(--accent);-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='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%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='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
/* Inline Lucide check ikon (checklisták, trust sorok) */
.chk-ico{width:15px;height:15px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2px;margin-right:5px}


/* =================================================================
   KAPCSOLAT OLDAL – teljes tervezés
   ================================================================= */
.contact-page-hero{padding:72px 0 48px}
.contact-info-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px;
}
.contact-info-card{
  padding:22px 24px;border:1px solid var(--line);border-radius:22px;
  background:rgba(var(--wash),.02);transition:border-color .2s;
}
.contact-info-card:hover{border-color:rgba(var(--wash),.16)}
.contact-info-label{
  display:block;font-size:11px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--soft);margin-bottom:8px;
}
.contact-info-value{font-size:15px;color:var(--text);line-height:1.6}
.contact-info-value a{color:var(--accent2);text-decoration:none}
.contact-info-value a:hover{color:var(--accent)}
.contact-page-grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:32px;align-items:start;
}
.contact-franchise-teaser{
  padding:28px;border:1px solid rgba(var(--accent-rgb),.28);border-radius:24px;
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.07),rgba(var(--accent-rgb),.02));
}
@media(max-width:900px){
  .contact-info-grid{grid-template-columns:1fr}
  .contact-page-grid{grid-template-columns:1fr}
  .contact-franchise-teaser{position:static}
}
@media(max-width:480px){.contact-page-hero{padding:48px 0 28px}}


/* =================================================================
   STORE LIST – prémium ikon placeholder (B/Ü helyett SVG)
   ================================================================= */
.store-icon-placeholder{
  width:100%;height:90px;border-radius:var(--radius-md);
  background:rgba(var(--accent-rgb),.06);border:1px solid rgba(var(--accent-rgb),.14);
  display:flex;align-items:center;justify-content:center;
}
.store-icon-placeholder svg{opacity:.6}

/* Google Maps route link */
.rp-route-gmaps{
  display:inline-flex;margin-top:8px;padding:8px 14px;border-radius:var(--radius-pill);
  border:1px solid rgba(var(--accent-rgb),.4);color:var(--accent);
  font-size:12px;font-weight:600;transition:background .15s;text-decoration:none;
}
.rp-route-gmaps:hover{background:rgba(var(--accent-rgb),.12)}

/* =================================================================
   TÉRKÉP – MOBIL POPUP FIX + POPUP ACTION GOMBOK
   ================================================================= */

/* Popup ne lógjon ki mobilon */
@media(max-width:600px){
  .royal-popup .leaflet-popup-content-wrapper{
    max-width:calc(100vw - 36px) !important;
  }
  .rp-popup{
    min-width:0;
    max-width:calc(100vw - 60px);
  }
}

/* Popup CTA gombok sor (útvonal + gmaps megnyitás) */
.rp-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.rp-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:8px 13px;border-radius:var(--radius-pill);
  font-size:12px;font-weight:600;
  text-decoration:none;transition:background .15s;
  white-space:nowrap;
}
.rp-btn-primary{
  background:linear-gradient(180deg,var(--accent2),var(--accent));
  color:#22170d;border:none;
}
.rp-btn-primary:hover{opacity:.88}
.rp-btn-secondary{
  border:1px solid rgba(var(--accent-rgb),.35);color:var(--accent);
}
.rp-btn-secondary:hover{background:rgba(var(--accent-rgb),.10)}

/* Popup szeparátor */
.rp-separator{
  height:1px;background:rgba(var(--wash),.08);margin:10px 0;
}

/* KPI dobozok a mintaboltok hero-ban */
.kpi{
  padding:18px 16px;border:1px solid var(--line);border-radius:var(--radius-lg);
  background:rgba(var(--wash),.02);text-align:center;
}
.kpi strong{
  display:block;font-size:clamp(24px,3.5vw,40px);font-weight:900;
  color:var(--accent);letter-spacing:-.04em;line-height:1;
}
.kpi span.copy{
  display:block;margin-top:5px;font-size:12px;color:var(--soft);
  letter-spacing:.14em;text-transform:uppercase;
}

/* Térkép alatti franchise CTA */
.map-franchise-cta{
  margin-top:48px;padding:32px 36px;
  border:1px solid rgba(var(--accent-rgb),.28);border-radius:28px;
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.07),rgba(var(--accent-rgb),.02));
  display:flex;align-items:center;justify-content:space-between;
  gap:28px;flex-wrap:wrap;
}
.map-franchise-cta .actions{margin-top:0}
@media(max-width:680px){
  .map-franchise-cta{padding:24px 20px;flex-direction:column;align-items:flex-start}
}

/* ===== Térkép gesture hint overlay ===== */
.gesture-hint{
  position:absolute;
  inset:0;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  opacity:0;
  transition:opacity .35s ease;
}
.gesture-hint.visible{ opacity:1; }
.gesture-hint span{
  padding:10px 22px;
  background:rgba(8,8,8,.85);
  border:1px solid rgba(255,255,255,.14);
  border-radius:100px;
  color:#f5efe6;
  font-size:14px;
  font-weight:500;
  letter-spacing:.02em;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:0 4px 24px rgba(0,0,0,.5);
}

/* ===== Mobil térkép/lista nézet váltó ===== */
.mob-view-tabs{
  display:none;
  background:rgba(var(--wash),.04);
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  padding:4px;
  margin-bottom:18px;
  box-sizing:border-box;
}
.mob-view-tab{
  flex:1;
  padding:10px 16px;
  border-radius:var(--radius-pill);
  border:none;
  background:none;
  color:var(--muted);
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:background .2s, color .2s;
  -webkit-tap-highlight-color:transparent;
}
.mob-view-tab.active{
  background:var(--accent);
  color:#1a0e04;
  font-weight:700;
}
@media(max-width:760px){
  .mob-view-tabs{ display:flex; }
  body.map-view-active #storeCardGrid{ display:none !important; }
  body.list-view-active #mapViewSection{ display:none !important; }
  body.map-view-active #storeMap{
    height:400px;
    height:calc(100svh - 230px);
  }
  body.list-view-active #storeCardGrid{ margin-top:16px !important; }
  .royal-popup .leaflet-popup-close-button{
    font-size:24px !important;
    width:36px !important;
    height:36px !important;
    top:8px !important;
    right:8px !important;
    line-height:36px !important;
  }
}

/* ===== Form error state ===== */
.form-error{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px 18px;
  border:1px solid rgba(220,60,60,.3);
  border-radius:14px;
  background:rgba(220,60,60,.07);
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
  margin-top:14px;
}
.form-error p{ margin:0;flex:1; }
.form-error a{ color:var(--accent2);text-decoration:underline; }
.form-error-icon{
  flex-shrink:0;
  width:24px;height:24px;
  border-radius:var(--radius-circle);
  background:rgba(220,60,60,.15);
  border:1px solid rgba(220,60,60,.4);
  color:#f87171;
  font-size:13px;
  font-weight:700;
  display:flex;align-items:center;justify-content:center;
}


/* =================================================================
   AWARD FEATURE BLOCK – Balatoni Mámor (hirek.html)
   Bal kép + jobb szöveg split layout, prémium megjelenés
   ================================================================= */
.award-feature-block{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:0;
  border-radius:var(--radius-xl);
  overflow:hidden;
  border:1px solid rgba(var(--accent-rgb),.20);
  background:linear-gradient(135deg, rgba(var(--wash),.025), rgba(var(--wash),.01));
  box-shadow:var(--shadow-sm);
  transition:transform .25s ease-out, box-shadow .2s ease-out, border-color .2s ease-out;
  position:relative;
}
.award-feature-block::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 80% 0%, rgba(var(--accent-rgb),.09), transparent 55%);
  pointer-events:none;
  z-index:0;
}
.award-feature-block:hover{
  transform:translateY(-2px);
  border-color:rgba(var(--accent-rgb),.4);
  box-shadow:var(--shadow-md);
}
.award-feature-img{
  position:relative;
  overflow:hidden;
  min-height:500px;
  z-index:1;
}
.award-feature-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .3s ease-out;
}
.award-feature-block:hover .award-feature-img img{
  transform:scale(1.05);
}
.award-feature-content{
  padding:56px 48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:1;
  background:linear-gradient(135deg, rgba(var(--accent-rgb),.06) 0%, transparent 60%);
}
.award-feature-title{
  font-size:clamp(28px, 3.5vw, 44px);
  line-height:1.05;
  letter-spacing:-.035em;
  margin-top:16px;
  color:var(--text);
}
.award-feature-content .copy{
  margin-top:14px;
  line-height:1.70;
  font-size:15px;
}
.award-feature-content .badge-row{
  margin-top:24px;
}

/* Elismerés szekció fejléc spacing */
.award-section-head{
  max-width:820px;
}

@media(max-width:960px){
  .award-feature-block{grid-template-columns:1fr}
  .award-feature-img{min-height:340px}
  .award-feature-content{padding:40px 36px}
}
@media(max-width:600px){
  .award-feature-block{border-radius:24px}
  .award-feature-img{min-height:260px}
  .award-feature-content{padding:28px 24px}
  .award-feature-title{font-size:clamp(22px, 6vw, 32px)}
  .award-feature-content .copy{font-size:14px}
}


/* =================================================================
   ARANY VÁROSJELÖLŐ MARKEREK – mintaboltok.html
   ================================================================= */
.royal-town-icon{
  position:relative;
  width:64px;
  height:64px;
}
.town-pulse-ring{
  position:absolute;
  inset:0;
  border-radius:var(--radius-circle);
  border:2px solid rgba(var(--accent-rgb),.6);
  animation:townPulse 2.6s ease-out infinite;
  pointer-events:none;
}
.town-pulse-ring2{
  position:absolute;
  inset:8px;
  border-radius:var(--radius-circle);
  border:1.5px solid rgba(var(--accent-rgb),.35);
  animation:townPulse 2.6s ease-out infinite;
  animation-delay:.8s;
  pointer-events:none;
}
.town-glow-dot{
  position:absolute;
  top:50%;left:50%;
  width:20px;height:20px;
  transform:translate(-50%,-50%);
  border-radius:var(--radius-circle);
  background:radial-gradient(circle at 38% 36%, #f5dfa0 0%, var(--accent) 50%, rgba(180,130,50,.6) 100%);
  box-shadow:0 0 16px rgba(var(--accent-rgb),.85), 0 0 36px rgba(var(--accent-rgb),.45), 0 0 60px rgba(var(--accent-rgb),.2);
  border:1.5px solid rgba(var(--wash),.3);
}
@keyframes townPulse{
  0%  {transform:scale(.55);opacity:.9}
  100%{transform:scale(2);opacity:0}
}

/* Town popup */
.tp-popup{
  padding:18px 20px 16px;
  min-width:260px;
  max-width:330px;
}
.tp-town-name{
  display:block;
  font-size:18px;
  font-weight:800;
  color:var(--text);
  margin-top:5px;
  letter-spacing:-.02em;
}
.tp-stores{
  margin-top:14px;
  display:grid;
  gap:9px;
}
.tp-store-item{
  padding:10px 12px;
  border-radius:var(--radius-sm);
  background:rgba(var(--wash),.04);
  border:1px solid rgba(var(--wash),.08);
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.tp-store-icon{
  flex-shrink:0;
  width:26px;height:26px;
  border-radius:7px;
  background:rgba(var(--accent-rgb),.12);
  border:1px solid rgba(var(--accent-rgb),.28);
  display:flex;align-items:center;justify-content:center;
  margin-top:1px;
}
.tp-store-info{ flex:1;min-width:0; }
.tp-store-type{
  display:block;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:3px;
}
.tp-store-name{
  display:block;
  font-size:13px;
  font-weight:700;
  color:var(--text);
  line-height:1.3;
}
.tp-store-addr{
  display:block;
  font-size:12px;
  color:var(--soft);
  margin-top:3px;
  line-height:1.4;
}


/* =================================================================
   DARK FORM FIELDS – sötét téma, scoped .form-grid / .field
   Javítja a fehér select hátteret partner.html és kapcsolat.html
   oldalakon. A .pf-* premium form rendszert NEM érinti.
   ================================================================= */

/* ── 1. Alap mezők: sötét háttér, arany border, appearance reset ── */
.form-grid .field input,
.form-grid .field select,
.form-grid .field textarea {
  background: var(--input-bg);
  color: rgba(var(--wash),0.85);
  border-color: rgba(var(--accent-rgb),0.25);
  -webkit-appearance: none;
  appearance: none;
  transition: border-color .2s ease, background .2s ease;
}

/* ── 2. Fókusz állapot ── */
.form-grid .field input:focus,
.form-grid .field select:focus,
.form-grid .field textarea:focus {
  outline: none;
  border-color: rgba(var(--accent-rgb),0.6);
  background: var(--popover-hover-bg);
}

/* ── 3. Placeholder szín ── */
.form-grid .field input::placeholder,
.form-grid .field textarea::placeholder {
  color: rgba(var(--wash),0.35);
}

/* ── 4. Select – arany SVG nyíl, padding jogra ── */
.form-grid .field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23D8AB68' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
  cursor: pointer;
}

/* ── 5. Select option sötét téma (browser-best-effort) ── */
.form-grid .field select option {
  background: var(--popover-bg);
  color: rgba(var(--wash),0.85);
}

/* ── 6. Checkbox – saját megjelenés visszaállítva (nem .pf-*) ── */
.form-grid .field input[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
  width: 16px;
  height: 16px;
  min-height: unset;
  accent-color: var(--accent);
  padding: 0;
  cursor: pointer;
}

/* ── 7. Label – visszafogottabb szín ── */
.form-grid .field label {
  color: rgba(var(--wash),0.55);
}

/* ── 8. Autofill – Chrome/Safari dark override ── */
.form-grid input:-webkit-autofill,
.form-grid textarea:-webkit-autofill,
.form-grid select:-webkit-autofill {
  -webkit-text-fill-color: rgba(var(--wash),0.85) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--input-bg) inset !important;
  transition: background-color 9999s ease-in-out 0s;
}

/* ── 9. iOS Safari – min 16px fókusz zoom elkerülése ── */
@media (max-width:760px) {
  .form-grid .field input,
  .form-grid .field select,
  .form-grid .field textarea {
    font-size: 16px;
  }
}

/* ── 10. prefers-reduced-motion ── */
@media (prefers-reduced-motion:reduce) {
  .form-grid .field input,
  .form-grid .field select,
  .form-grid .field textarea {
    transition: none;
  }
}


/* =================================================================
   NAVBAR – új egységes rendszer (nav-inner / nav-links / nav-dropdown)
   Kompatibilis a régi .topbar/.nav/.links osztályokkal amelyek
   más helyeken még élhetnek – azokat NEM töröljük.
   ================================================================= */

/* ── Nav inner container ── */
.nav-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 36px;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

/* ── Brand ── */
.nav-brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  flex-shrink:0;
}
.nav-brand-dot{
  width:9px;
  height:9px;
  border-radius:var(--radius-circle);
  background:var(--accent);
  flex-shrink:0;
  box-shadow:0 0 6px rgba(var(--accent-rgb),.45);
}
.nav-brand-text{
  font-family:Georgia,serif;
  font-size:16px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--text);
  white-space:nowrap;
}

/* ── Brand logó a navbarban (téma-érzékeny, CSS background – nincs JS) ── */
.nav-logo{
  display:block;
  height:34px;
  aspect-ratio:1189/761;
  background:var(--brand-logo) center/contain no-repeat;
  flex-shrink:0;
}

/* ── Desktop nav links ── */
.nav-links{
  display:flex;
  align-items:center;
  gap:2px;
  list-style:none;
  margin:0;
  padding:0;
}
.nav-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 13px;
  font-size:12.5px;
  font-weight:500;
  letter-spacing:.5px;
  color:rgba(245,240,232,.88);
  text-decoration:none;
  border-radius:6px;
  transition:color .18s,background .18s;
  background:none;
  border:none;
  cursor:pointer;
  white-space:nowrap;
  font-family:inherit;
  line-height:1;
}
.nav-link:hover,
.nav-link.active{
  color:var(--accent);
  background:rgba(var(--accent-rgb),.07);
}

/* ── CTA pill ── */
.nav-cta{
  display:inline-flex;
  align-items:center;
  padding:7px 18px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.9px;
  color:rgba(245,240,232,.88);
  text-decoration:none;
  border:1px solid rgba(var(--accent-rgb),.28);
  border-radius:20px;
  background:transparent;
  transition:background .2s,border-color .2s,color .2s;
  margin-left:6px;
  white-space:nowrap;
}
.nav-cta:hover{
  background:rgba(var(--accent-rgb),.12);
  border-color:rgba(var(--accent-rgb),.6);
  color:var(--accent);
}
.nav-cta.active{
  background:rgba(var(--accent-rgb),.14);
  border-color:rgba(var(--accent-rgb),.65);
  color:var(--accent);
}

/* ── Light theme navbar legibility fix (a .home-page hero-overlay navbar nem érintett) ── */
html[data-theme="light"] .topbar{
  background:#FFFFFF;
  border-bottom:1px solid rgba(184,146,42,0.20);
}
html[data-theme="light"] body:not(.home-page) .nav-link{
  color:#8F6E17;
}
html[data-theme="light"] body:not(.home-page) .nav-link:hover,
html[data-theme="light"] body:not(.home-page) .nav-link.active{
  color:#8A6D1F;
  background:rgba(184,146,42,.08);
}
html[data-theme="light"] body:not(.home-page) .nav-cta{
  color:#8F6E17;
  border-color:#8F6E17;
  background:transparent;
}
html[data-theme="light"] body:not(.home-page) .nav-cta:hover,
html[data-theme="light"] body:not(.home-page) .nav-cta.active{
  background:#8F6E17;
  color:#FFFFFF;
  border-color:#8F6E17;
}
html[data-theme="light"] body:not(.home-page) .nav-dropdown-btn{
  color:#8F6E17;
}
html[data-theme="light"] body:not(.home-page) .nav-dropdown-btn:hover,
html[data-theme="light"] body:not(.home-page) .nav-dropdown-btn.active{
  color:#8A6D1F;
  background:rgba(184,146,42,.08);
}

/* ── Theme toggle (Light / Dark) ── */
.theme-toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  width:50px;
  height:28px;
  flex-shrink:0;
  margin-left:8px;
  padding:3px;
  border-radius:var(--radius-pill);
  border:1px solid var(--topbar-border);
  background:rgba(var(--accent-rgb),.08);
  cursor:pointer;
  transition:background .3s ease,border-color .3s ease;
}
.theme-toggle:hover{
  border-color:rgba(var(--accent-rgb),.5);
}
.theme-toggle-thumb{
  position:absolute;
  top:2px;
  left:2px;
  width:22px;
  height:22px;
  border-radius:var(--radius-circle);
  background:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--on-accent);
  transition:transform .3s cubic-bezier(.22,.61,.36,1),background .3s ease;
}
.theme-toggle[aria-pressed="true"] .theme-toggle-thumb{
  transform:translateX(20px);
}
.theme-toggle-thumb svg{
  width:13px;
  height:13px;
  display:block;
}
.theme-toggle-icon-moon{display:none}
.theme-toggle[aria-pressed="true"] .theme-toggle-icon-sun{display:none}
.theme-toggle[aria-pressed="true"] .theme-toggle-icon-moon{display:block}

.home-page .topbar .theme-toggle{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
}


/* ── Dropdown ── */
.nav-dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
}
/* Chevron-only button (no .nav-link class) */
.nav-dropdown-btn{
  background:none;
  border:none;
  cursor:pointer;
  padding:6px 8px 6px 2px;
  color:rgba(245,240,232,.88);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  /* RC-fix (H-02): WCAG 2.2 target-size ≥24×24px valós kattintható terület.
     A negatív margó semlegesíti a méretnövekedést, így a nav-elrendezés nem tolódik. */
  min-width:24px;
  min-height:24px;
  margin:-3px -2px;
  border-radius:6px;
  transition:color .18s, background .18s;
  line-height:1;
  flex-shrink:0;
}
.nav-dropdown-btn:hover,
.nav-dropdown-btn.active{
  color:var(--accent);
  background:rgba(var(--accent-rgb),.07);
}
.nav-dropdown-btn svg{
  transition:transform .2s ease;
  flex-shrink:0;
}
.nav-dropdown.open .nav-dropdown-btn svg{
  transform:rotate(180deg);
}
.nav-dropdown-menu{
  display:none;
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%);
  z-index:9999;
  min-width:200px;
  background:var(--popover-bg);
  border:1px solid rgba(var(--accent-rgb),0.15);
  border-radius:10px;
  padding:6px;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:0 16px 40px rgba(0,0,0,0.5);
}
.nav-dropdown.open .nav-dropdown-menu{
  display:block;
}

/* Desktop hover – csak pointer:fine eszközökön (nem touch) */
@media (hover:hover) and (pointer:fine){
  .nav-dropdown:hover .nav-dropdown-menu{
    display:block;
  }
  /* Invisible bridge fills the 10px gap so hover doesn't drop when
     moving mouse from button down to the menu */
  .nav-dropdown-menu::before{
    content:'';
    position:absolute;
    top:-14px;
    left:0;
    right:0;
    height:14px;
  }
}

.nav-dropdown-item{
  display:block;
  padding:9px 14px;
  font-size:13px;
  color:rgba(245,240,232,.7);
  text-decoration:none;
  border-radius:6px;
  transition:background .15s,color .15s;
  white-space:nowrap;
}
.nav-dropdown-item:hover{
  background:rgba(var(--accent-rgb),.10);
  color:var(--accent);
}

/* ── Hamburger ── */
.nav-hamburger{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:6px;
  flex-shrink:0;
}
.nav-hamburger span{
  display:block;
  width:22px;
  height:2px;
  background:rgba(var(--accent-rgb),.85);
  border-radius:2px;
  transition:transform .25s ease,opacity .25s ease;
}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ── Mobile ── */
@media(max-width:860px){
  .nav-hamburger{display:flex;}
  .nav-links{
    display:none;
    position:fixed;
    top:68px;
    left:0;
    right:0;
    background:var(--popover-bg);
    flex-direction:column;
    align-items:stretch;
    padding:16px;
    gap:4px;
    border-bottom:1px solid var(--topbar-border);
    z-index:190;
    overflow-y:auto;
    max-height:calc(100vh - 68px);
  }
  .nav-links.open{display:flex;}
  .nav-dropdown-menu{
    position:static;
    transform:none;
    box-shadow:none;
    border:none;
    background:rgba(var(--wash),.03);
    border-radius:6px;
    margin-top:4px;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .nav-link,.nav-cta{
    width:100%;
    justify-content:flex-start;
  }
  .nav-cta{
    margin-left:0;
    text-align:center;
    justify-content:center;
  }
  /* Mobile: split dropdown - text link stretches, chevron stays compact */
  .nav-dropdown{
    width:100%;
    display:flex;
    align-items:center;
  }
  .nav-dropdown .nav-dropdown-label{
    flex:1;
    padding-right:4px;
  }
  .nav-dropdown-btn{
    width:auto;
    padding:8px 10px;
    flex-shrink:0;
  }
  .nav-inner{padding:0 20px;gap:10px;}
  .theme-toggle{margin-left:auto;}
}

@media(max-width:480px){
  .nav-inner{padding:0 16px;}
  .nav-brand-text{font-size:15px;}
}

/* ── Régi hover dropdown letiltása az új nav kontextusban ── */
/* A .dropdown:hover .dropdown-menu rule megmarad de az új HTML
   .nav-dropdown osztályt használ, tehát nem ütközik */

/* ── Custom Select ── */
.custom-select-wrapper { position: relative; width: 100%; }
.custom-select-wrapper select { display: none !important; }
.custom-select-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 11px 14px; background: rgba(var(--wash),0.05); border: 1px solid rgba(var(--accent-rgb),0.25); border-radius: 6px; color: rgba(245,240,232,0.5); font-size: 14px; font-family: inherit; cursor: pointer; transition: border-color 0.2s, background 0.2s; user-select: none; }
.custom-select-trigger.has-value { color: rgba(245,240,232,0.85); }
.custom-select-trigger:hover, .custom-select-wrapper.open .custom-select-trigger { border-color: rgba(var(--accent-rgb),0.55); background: rgba(var(--wash),0.07); }
.custom-select-trigger svg { flex-shrink: 0; margin-left: 8px; transition: transform 0.2s; }
.custom-select-wrapper.open .custom-select-trigger svg { transform: rotate(180deg); }
.custom-select-options { display: none; position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: var(--popover-bg); border: 1px solid rgba(var(--accent-rgb),0.2); border-radius: var(--radius-xs); overflow: hidden; z-index: 999; box-shadow: var(--shadow-lg); max-height: 240px; overflow-y: auto; }
.custom-select-wrapper.open .custom-select-options { display: block; }
.custom-select-option { padding: 10px 14px; font-size: 13px; color: rgba(245,240,232,0.7); cursor: pointer; transition: background 0.15s, color 0.15s; }
.custom-select-option:hover { background: rgba(var(--accent-rgb),0.1); color: var(--accent); }
.custom-select-option.selected { color: var(--accent); background: rgba(var(--accent-rgb),0.08); }
.custom-select-option.placeholder { color: rgba(245,240,232,0.3); }

/* RC-fix: a custom-select feliratszínei világos témában. A trigger és az
   opciók szövege hardcode-olt világos krém színt használt (245,240,232),
   ami a világos témás fehér háttéren (--popover-bg) olvashatatlan volt
   (fehér-fehér). Világos témában a téma-előtér tokenre (--wash) váltjuk,
   így ≥4.5:1 kontraszt jön létre. A sötét téma szabályai változatlanok. */
html[data-theme="light"] .custom-select-trigger { color: rgba(var(--wash),0.7); }
html[data-theme="light"] .custom-select-trigger.has-value { color: rgba(var(--wash),0.9); }
html[data-theme="light"] .custom-select-option { color: rgba(var(--wash),0.85); }
html[data-theme="light"] .custom-select-option.placeholder { color: rgba(var(--wash),0.7); }


/* ═══════════════════════════════════════════════════════════
   RÓLUNK OLDAL – Hero, Timeline kiemelés, Vezető bemutató
   ═══════════════════════════════════════════════════════════ */

/* ── Hero ── */
.rolunk-hero {
  padding: 88px 0 0;
}
.rolunk-hero-h1 {
  font-size: clamp(40px, 6vw, 80px);
  line-height: 1.05;
  letter-spacing: -.03em;
  margin-top: 16px;
}

/* ── Idővonal – aktuális (Ma) elem ── */
.rolunk-timeline-item--current .rolunk-timeline-card {
  background: rgba(var(--accent-rgb),.06);
  border-color: rgba(var(--accent-rgb),.4);
}
.rolunk-timeline-item--current .rolunk-timeline-marker {
  background: var(--accent2);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb),.28), 0 0 12px rgba(var(--accent-rgb),.25);
}

/* ── Vezető bemutató ── */
.rolunk-leader-card {
  max-width: 640px;
  margin: 32px auto 0;
  text-align: center;
}
.rolunk-leader-name {
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 700;
  color: var(--text);
  margin-top: 16px;
  margin-bottom: 0;
}
.rolunk-leader-title {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-top: 8px;
  margin-bottom: 16px;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .rolunk-hero {
    padding: 64px 0 0;
  }
}
@media (max-width: 600px) {
  .rolunk-hero {
    padding: 48px 0 0;
  }
  .rolunk-hero-h1 {
    letter-spacing: -.02em;
  }
}


/* ═══════════════════════════════════════════════════════════
   HOME HERO OVERLAY NAVBAR  (csak .home-page body)
   ═══════════════════════════════════════════════════════════ */

.home-page .topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 300;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  transition:
    background 0.45s ease,
    backdrop-filter 0.45s ease,
    border-color 0.45s ease;
}

.home-page .topbar.scrolled {
  background: rgba(14,11,8,0.82) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid rgba(var(--accent-rgb),0.18) !important;
}

/* Brand elrejtése — ne foglaljon helyet */
.home-page .brand,
.home-page .nav-brand {
  display: none !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Nav-inner: linkek jobbra rendezve */
.home-page .topbar .nav-inner {
  height: 58px;
  min-height: 58px;
  background: transparent !important;
  justify-content: flex-end;
}

/* Nav-links: jobbra igazítva */
.home-page .topbar .nav-links {
  margin-left: 0;
  justify-content: flex-end;
}

/* Nav linkek — fehér, text-shadow a jó olvashatóságért (a hero fotó felett, témától független) */
.home-page .topbar .nav-link,
.home-page .topbar .nav-dropdown-btn {
  color: rgba(255,255,255,0.92);
  text-shadow: 0 2px 12px rgba(0,0,0,0.45);
  transition: color 0.25s ease;
}

.home-page .topbar .nav-link:hover,
.home-page .topbar .nav-dropdown-btn:hover {
  color: var(--accent);
}

/* Csak az aktuális oldal linkje arany */
.home-page .topbar .nav-link.active,
.home-page .topbar .nav-link[aria-current="page"],
.home-page .topbar .nav-item.active > .nav-link {
  color: var(--accent);
}

/* Partnerré válás — visszafogott luxury pill (a hero fotó felett, témától független) */
.home-page .topbar .nav-cta {
  color: rgba(255,255,255,0.92);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  text-shadow: none;
}

.home-page .topbar .nav-cta:hover,
.home-page .topbar .nav-cta.active {
  color: var(--accent);
  border-color: rgba(var(--accent-rgb),0.35);
  background: rgba(var(--accent-rgb),0.08);
}

.home-page .nav-dropdown-menu {
  z-index: 9999;
}

@media (max-width: 860px) {
  .home-page .topbar .nav-inner {
    justify-content: flex-end;
  }
  .home-page .nav-links {
    background: rgba(10,8,5,0.96);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }
}


/* ═══════════════════════════════════════════════════════════
   POILÂNE REVEAL VARIÁNSOK
   ═══════════════════════════════════════════════════════════ */

.reveal-slow {
  opacity: 0;
  transform: translateY(44px);
  transition:
    opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.reveal-slow.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-left {
  opacity: 0;
  transform: translateX(-36px);
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-right {
  opacity: 0;
  transform: translateX(36px);
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-left.is-visible,
.reveal-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {
  .reveal-slow,
  .reveal-left,
  .reveal-right {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* ═══════════════════════════════════════════════════════════
   HERO SCROLL INDICATOR
   ═══════════════════════════════════════════════════════════ */

.hero-scroll-line {
  width: 1px;
  height: 42px;
  background: linear-gradient(
    to bottom,
    rgba(var(--accent-rgb),0),
    rgba(var(--accent-rgb),0.9)
  );
  animation: heroScrollLine 2.6s ease-in-out infinite;
}

.hero-scroll-text {
  font-size: 9px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(var(--accent-rgb),0.75);
  font-family: Arial, sans-serif;
}

@keyframes heroScrollLine {
  0%   { opacity: 0; transform: scaleY(0); transform-origin: top; }
  40%  { opacity: 1; transform: scaleY(1); transform-origin: top; }
  80%  { opacity: 0; transform: scaleY(1); transform-origin: bottom; }
  100% { opacity: 0; transform: scaleY(0); transform-origin: bottom; }
}

@media (max-width: 768px) {
  .hero-scroll-line { height: 28px; }
}

/* ═══════════════════════════════════════════════════════════
   COOKIE CONSENT BANNER + MODAL
   ═══════════════════════════════════════════════════════════ */

#cookieBanner {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  width: min(560px, calc(100vw - 32px));
  background: var(--popover-bg);
  border: 1px solid rgba(var(--accent-rgb),.2);
  border-radius: 20px;
  padding: 24px 28px;
  z-index: 9999;
  box-shadow: 0 24px 64px rgba(0,0,0,.6);
  transition: opacity .3s ease, transform .3s ease;
}

#cookieBanner.cookie-hide {
  opacity: 0;
  transform: translateX(-50%) translateY(12px);
  pointer-events: none;
}

.cookie-banner-text {
  font-size: 13px;
  color: rgba(245,240,232,.7);
  line-height: 1.6;
  margin-bottom: 18px;
}

.cookie-banner-text a {
  color: rgba(var(--accent-rgb),.9);
  text-decoration: underline;
}

.cookie-banner-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.cookie-btn {
  padding: 10px 18px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid transparent;
  transition: opacity .2s, background .2s, border-color .2s, color .2s;
  line-height: 1;
}

.cookie-btn-accept {
  background: var(--accent);
  color: #111;
  border-color: var(--accent);
}
.cookie-btn-accept:hover { opacity: .85; }

.cookie-btn-reject {
  background: transparent;
  color: rgba(245,240,232,.7);
  border-color: rgba(245,240,232,.2);
}
.cookie-btn-reject:hover {
  border-color: rgba(245,240,232,.5);
  color: rgba(245,240,232,.95);
}

.cookie-btn-settings {
  background: transparent;
  color: rgba(245,240,232,.45);
  border: none;
  font-size: 12px;
  margin-left: auto;
}
.cookie-btn-settings:hover { color: rgba(var(--accent-rgb),.9); }

/* ── Cookie Settings Modal ── */

#cookieModal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(0,0,0,.6);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}

#cookieModal.modal-open {
  opacity: 1;
  pointer-events: all;
}

.cookie-modal-box {
  background: var(--popover-bg);
  border: 1px solid rgba(var(--accent-rgb),.15);
  border-radius: 24px;
  padding: 32px;
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  box-shadow: 0 32px 96px rgba(0,0,0,.7);
  outline: none;
}

.cookie-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: rgba(245,240,232,.95);
  margin-bottom: 8px;
}

.cookie-modal-lead {
  font-size: 13px;
  color: rgba(245,240,232,.5);
  margin-bottom: 24px;
  line-height: 1.6;
}

.cookie-category {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 16px 0;
  border-top: 1px solid rgba(var(--wash),.06);
  gap: 16px;
}

.cookie-cat-info { flex: 1; }

.cookie-cat-name {
  font-size: 14px;
  font-weight: 600;
  color: rgba(245,240,232,.88);
  margin-bottom: 4px;
}

.cookie-cat-desc {
  font-size: 12px;
  color: rgba(245,240,232,.4);
  line-height: 1.5;
}

.cookie-always-on {
  font-size: 11px;
  color: rgba(var(--accent-rgb),.75);
  font-weight: 500;
  text-align: right;
  white-space: nowrap;
  flex-shrink: 0;
  margin-top: 2px;
}

.cookie-toggle {
  position: relative;
  width: 40px;
  height: 22px;
  flex-shrink: 0;
  margin-top: 2px;
}

.cookie-toggle input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.cookie-toggle-track {
  position: absolute;
  inset: 0;
  background: var(--toggle-track-off);
  border-radius: 100px;
  cursor: pointer;
  transition: background .2s;
}

.cookie-toggle input:checked ~ .cookie-toggle-track {
  background: var(--accent);
}

.cookie-toggle-thumb {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: var(--radius-circle);
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
  pointer-events: none;
  transition: transform .2s;
}

.cookie-toggle input:checked ~ .cookie-toggle-track .cookie-toggle-thumb {
  transform: translateX(18px);
}

.cookie-modal-actions {
  display: flex;
  gap: 10px;
  margin-top: 24px;
  flex-wrap: wrap;
}

.cookie-modal-actions .cookie-btn { flex: 1; min-width: 120px; }

@media (max-width: 480px) {
  #cookieBanner { padding: 20px; bottom: 16px; }
  .cookie-banner-actions { flex-direction: column; align-items: stretch; }
  .cookie-btn-settings { margin-left: 0; text-align: center; }
  .cookie-modal-box { padding: 24px 20px; }
}

/* ═══════════════════════════════════════════════════════════
   LIGHT MODE OLVASHATÓSÁGI JAVÍTÁSOK (bugfix)
   ═══════════════════════════════════════════════════════════ */

/* 1) Home hero navbar — light módban arany szöveg a fehér helyett */
html[data-theme="light"] .home-page .topbar .nav-link,
html[data-theme="light"] .home-page .topbar .nav-dropdown-btn {
  color: #8F6E17;
}
html[data-theme="light"] .home-page .topbar .nav-link:hover,
html[data-theme="light"] .home-page .topbar .nav-dropdown-btn:hover {
  color: #8a6d1f;
}
html[data-theme="light"] .home-page .topbar .nav-cta {
  color: #8F6E17;
  border-color: rgba(184,146,42,0.4);
  background: rgba(184,146,42,0.06);
}
html[data-theme="light"] .home-page .topbar .nav-cta:hover,
html[data-theme="light"] .home-page .topbar .nav-cta.active {
  color: #8a6d1f;
  border-color: rgba(184,146,42,0.55);
  background: rgba(184,146,42,0.12);
}

/* 2) Home hero gombok — light módban fehér szöveg az arany háttéren olvashatóbb */
html[data-theme="light"] .home-hero-text .actions .btn.secondary {
  color: #FFFFFF;
  border-color: rgba(255,255,255,0.35);
  background: rgba(255,255,255,0.06);
}
html[data-theme="light"] .home-hero-text .actions .btn.secondary:hover {
  color: #FFFFFF;
  border-color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.12);
}

/* 4) Termékek dropdown menü — light módban arany szöveg a fehér helyett */
html[data-theme="light"] .nav-dropdown-menu {
  background: #FFFFFF;
  border: 1px solid rgba(184,146,42,0.25);
  box-shadow: var(--shadow-md);
}
html[data-theme="light"] .nav-dropdown-item {
  color: #8F6E17;
}
html[data-theme="light"] .nav-dropdown-item:hover {
  background: rgba(184,146,42,0.08);
  color: #8a6d1f;
}

/* 5) Cookie banner — light módban arany szöveg a fehér helyett */
html[data-theme="light"] .cookie-banner {
  background: #FFFFFF;
  border-top: 1px solid rgba(184,146,42,0.25);
  box-shadow: 0 4px 24px rgba(0,0,0,0.12);
}
html[data-theme="light"] .cookie-banner .cookie-banner-text {
  color: #8F6E17;
}
html[data-theme="light"] .cookie-banner .cookie-banner-text a {
  color: #8a6d1f;
}
html[data-theme="light"] .cookie-banner .cookie-btn-necessary {
  border: 1px solid #8F6E17;
  background: transparent;
  color: #8F6E17;
}
html[data-theme="light"] .cookie-banner .cookie-btn-necessary:hover {
  background: rgba(184,146,42,0.08);
  color: #8a6d1f;
}
html[data-theme="light"] .cookie-banner .cookie-btn-accept {
  color: #FFFFFF;
}

/* ===== Interakciós rendszer – egységes :focus-visible fókuszgyűrű =====
   A billentyűzetes fókusz mindenhol azonos, jól látható arany gyűrűt kap.
   (A .btn.primary szándékosan kettős gyűrűt használ a kontraszt miatt az
   arany gombon; a .product-tab / review-vezérlők / partner-mezők már
   ugyanezt az outline-konvenciót viselik.) */
.btn.secondary:focus-visible,
.thumb-btn:focus-visible,
.chip:focus-visible,
a.chip:focus-visible,
.store-chip:focus-visible,
.details summary:focus-visible,
.faq-q:focus-visible,
.custom-select-trigger:focus-visible,
.form-grid .field input:focus-visible,
.form-grid .field select:focus-visible,
.form-grid .field textarea:focus-visible,
.checkbox-box input:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}


/* ══════════════════════════════════════════════════════════════════════════
   PREMIUM MOBILE UX REFAKTOR — kizárólag max-width:768px
   A desktop / laptop / tablet / iPad (≥769px) nézetet EGYÁLTALÁN nem érinti.
   Csak CSS (grid / flexbox / media query); nincs JS. Hero és Timeline kihagyva.
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width:768px){

  /* 7. Levegősebb elrendezés – container / szekció */
  .container{padding:0 20px;}
  .section{padding:32px 0;}

  /* 1 · 2 · 3 · 10. Három/négy-oszlopos gridek → egy oszlop.
     !important, mert az inline grid-template-columns:repeat(3,1fr) különben felülírná.
     Kivétel: statisztikák (.kpi-grid / .home-stats), Hero és Timeline — érintetlenek. */
  .franchise-grid,
  .franchise-steps-grid,
  .rolunk-leaders-grid,
  .home-franchise-benefits{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  /* 9. Kártyák: soha nincs fix magasság; a hosszabb szöveg ne törje szét a layoutot */
  .franchise-grid > .card,
  .franchise-steps-grid > *,
  .rolunk-leaders-grid > *,
  .home-franchise-benefit{
    height:auto;
    min-height:0;
  }

  /* 3. Előnykártyák: nagyobb belső padding, hangsúlyosabb szöveg */
  .home-franchise-benefit{padding:24px 22px;}
  .home-franchise-benefit strong{font-size:15px;}

  /* 5 · 11. CTA gombok: teljes szélesség, középre, max 420px, kényelmes touch.
     Csak a tartalmi szekciók CTA-i — a Hero CTA-jait NEM érinti. */
  .section .actions{flex-direction:column;align-items:center;width:100%;}
  .section .actions .btn,
  .section .actions a.btn{
    width:100%;
    max-width:420px;
    min-height:50px;
  }

  /* 11. Touch UX: min. 44px érintési felület gomboknál / accordionnál */
  .faq-q{min-height:52px;padding:16px 18px;}
  .faq-a{padding:0 18px 18px;}
  .cookie-btn-accept,
  .cookie-btn-necessary{min-height:46px;}

  /* 6. Cookie banner (#cookieBanner id-alapú, hogy felülírja a középre-igazítást):
     lebegő kártya 16px margókkal – soha ne lógjon ki, ne okozzon vízszintes scrollt. */
  #cookieBanner{
    left:16px;
    right:16px;
    bottom:16px;
    width:auto;
    max-width:calc(100vw - 32px);
    transform:none;
  }
  #cookieBanner.cookie-hide{transform:translateY(12px);}
  .cookie-banner-actions{width:100%;flex-direction:column;align-items:stretch;}
  .cookie-banner-actions button{width:100%;justify-content:center;}

  /* 8. Tipográfia – tartalmi szekció-címek (Hero/Timeline kihagyva; arányok megtartva) */
  .section h2{font-size:clamp(26px,6.8vw,32px);}
}

/* =================================================================
   ACCESSIBILITY – skip link + képernyőolvasó-only segédosztály
   ================================================================= */
.skip-link{
  position:absolute; left:12px; top:-80px; z-index:2000;
  background:var(--accent); color:#fff; padding:10px 16px;
  border-radius:var(--radius-sm,8px); font:700 15px/1 var(--font-body,sans-serif);
  text-decoration:none; box-shadow:var(--shadow-lg,0 8px 24px rgba(0,0,0,.2));
  transition:top .15s ease;
}
.skip-link:focus{ top:12px; }
.skip-link:focus-visible{ outline:3px solid var(--text); outline-offset:2px; }

.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
