/* ==========================================================================
   CREATIVE webstúdió — egyedi stílusok (Bootstrap 5.3.8 fölé)
   Forrás: design-csomag-creative/design_handoff_creative_webstudio/tokens
   ========================================================================== */

/* ---------- Betűtípusok (saját tárhelyről — nincs harmadik feles betöltés) ---------- */
@font-face{font-family:"Poppins";font-weight:400;font-display:swap;src:url("../assets/fonts/poppins-latin-ext-400.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";font-weight:400;font-display:swap;src:url("../assets/fonts/poppins-latin-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";font-weight:500;font-display:swap;src:url("../assets/fonts/poppins-latin-ext-500.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";font-weight:500;font-display:swap;src:url("../assets/fonts/poppins-latin-500.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Poppins";font-weight:600;font-display:swap;src:url("../assets/fonts/poppins-latin-ext-600.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Poppins";font-weight:600;font-display:swap;src:url("../assets/fonts/poppins-latin-600.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-weight:400;font-display:swap;src:url("../assets/fonts/dm-sans-latin-ext-400.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-weight:400;font-display:swap;src:url("../assets/fonts/dm-sans-latin-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-weight:500;font-display:swap;src:url("../assets/fonts/dm-sans-latin-ext-500.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-weight:500;font-display:swap;src:url("../assets/fonts/dm-sans-latin-500.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-weight:700;font-display:swap;src:url("../assets/fonts/dm-sans-latin-ext-700.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:"DM Sans";font-weight:700;font-display:swap;src:url("../assets/fonts/dm-sans-latin-700.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-weight:400;font-display:swap;src:url("../assets/fonts/jetbrains-mono-latin-ext-400.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";font-weight:400;font-display:swap;src:url("../assets/fonts/jetbrains-mono-latin-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-display:swap;src:url("../assets/fonts/jetbrains-mono-latin-ext-500.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-display:swap;src:url("../assets/fonts/jetbrains-mono-latin-500.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Design tokenek ---------- */
:root{
  --brand-black:#000;--brand-wine:#60143b;--brand-indigo:#454674;--brand-pink:#ff64b4;--brand-camel:#cea277;
  --wine-50:#fbf3f7;--wine-100:#f4e2ec;--wine-200:#e6c2d6;--wine-500:#8a2f5d;--wine-600:#60143b;--wine-700:#4d1030;--wine-800:#380b23;
  --pink-50:#fff3f9;--pink-200:#ffc4e1;--pink-300:#ff9ecd;--pink-400:#ff64b4;--pink-500:#f2409b;--pink-600:#d51f7c;
  --camel-100:#f5e9dc;--camel-400:#cea277;--camel-600:#8e6743;
  --ink-900:#0b0a0c;--ink-800:#17151a;--ink-700:#2a2730;--ink-600:#4b4753;--ink-500:#6e6a77;--ink-400:#948f9c;
  --ink-300:#c2bdc8;--ink-200:#e2dee6;--ink-100:#f1eff3;--ink-050:#f8f7fa;--white:#fff;

  --text-strong:var(--ink-900);--text-body:var(--ink-700);--text-muted:var(--ink-500);--text-faint:var(--ink-400);
  --text-on-dark:#fff;--text-on-dark-muted:rgba(255,255,255,.72);
  --surface-page:#fff;--surface-subtle:var(--ink-050);--surface-card:#fff;
  --border-hairline:var(--ink-200);--border-soft:var(--ink-100);--border-strong:var(--ink-300);--border-on-dark:rgba(255,255,255,.16);
  --focus-ring:var(--pink-400);

  --font-display:"Poppins","Segoe UI",system-ui,sans-serif;
  --font-body:"DM Sans","Segoe UI",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;
  --fs-display-l:clamp(2.25rem,4.4vw,3.5rem);--fs-display-m:clamp(1.875rem,3vw,2.5rem);
  --fs-heading-l:1.75rem;--fs-heading-m:1.375rem;--fs-heading-s:1.125rem;
  --fs-body-l:1.125rem;--fs-body-m:1rem;--fs-body-s:.9375rem;--fs-caption:.8125rem;--fs-eyebrow:.75rem;
  --lh-display:1.12;--lh-heading:1.25;--lh-body:1.65;--lh-relaxed:1.75;
  --ls-display:-.025em;--ls-heading:-.015em;--ls-eyebrow:.14em;

  --space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--space-11:80px;
  --gutter:24px;--section-y:clamp(64px,9vw,128px);--card-pad:28px;
  --container-max:1200px;--container-narrow:760px;

  --radius-xs:6px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:999px;--radius-media:20px;--radius-input:12px;
  --shadow-xs:0 1px 2px rgba(11,10,12,.06);--shadow-sm:0 2px 8px rgba(11,10,12,.06);
  --shadow-md:0 10px 30px -12px rgba(11,10,12,.14);--shadow-lg:0 24px 60px -24px rgba(11,10,12,.20);
  --blur-glass:blur(18px);

  --ease-standard:cubic-bezier(.22,.61,.36,1);--ease-out-soft:cubic-bezier(.16,1,.3,1);
  --dur-fast:160ms;--dur-base:240ms;--dur-slow:420ms;--dur-reveal:700ms;

  --gradient-haze:radial-gradient(120% 90% at 20% 15%,#fdeef2 0%,rgba(253,238,242,0) 60%),radial-gradient(110% 80% at 85% 30%,#f0d6f2 0%,rgba(240,214,242,0) 65%),radial-gradient(120% 100% at 50% 110%,#d9d6ea 0%,rgba(217,214,234,0) 60%);
  --gradient-ink:linear-gradient(180deg,#332f39 0%,#221f28 100%);

  --header-h:78px;

  /* Bootstrap változók felülírása */
  --bs-body-font-family:var(--font-body);
  --bs-body-font-size:1rem;
  --bs-body-line-height:var(--lh-body);
  --bs-body-color:var(--text-body);
  --bs-body-color-rgb:42,39,48;
  --bs-body-bg:#fff;
  --bs-emphasis-color:var(--ink-900);
  --bs-heading-color:var(--text-strong);
  --bs-link-color:var(--wine-600);--bs-link-color-rgb:96,20,59;
  --bs-link-hover-color:var(--pink-500);--bs-link-hover-color-rgb:242,64,155;
  --bs-border-color:var(--border-hairline);
  --bs-border-radius:16px;--bs-border-radius-sm:10px;--bs-border-radius-lg:24px;--bs-border-radius-pill:999px;
  --bs-font-monospace:var(--font-mono);
  --bs-primary:var(--ink-700);--bs-primary-rgb:42,39,48;
  --bs-secondary:var(--brand-indigo);--bs-secondary-rgb:69,70,116;
  --bs-focus-ring-color:var(--focus-ring);
  --bs-gutter-x:1.5rem;
}

/* ---------- Alap ---------- */
html{scroll-padding-top:calc(var(--header-h) + 12px)}
body{background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
h1,h2,h3,h4,.h1,.h2,.h3,.h4{font-family:var(--font-display);font-weight:600;color:var(--text-strong);letter-spacing:var(--ls-heading);line-height:var(--lh-heading)}
/* Címsorok: nincs kötőjeles elválasztás — a teljes szó kerül új sorba */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,
.display-l,.display-m,.section-heading,.cta-banner h2,.modal-title,
.faq .q-text,.cookie-banner .cb-title,.contact-card .title,.info-card h3,.cookie-cat h3{
  hyphens:manual;
  -webkit-hyphens:manual;
  -ms-hyphens:manual;
  word-break:normal;
  overflow-wrap:normal;
}
p{text-wrap:pretty}
a{text-decoration:none;transition:color var(--dur-fast) var(--ease-standard)}
img{max-width:100%;height:auto}
::selection{background:var(--pink-200);color:var(--ink-900)}

/* Fókusz: 2px pink, 2px offset — minden fókuszálható elemen */
:focus-visible,
.btn:focus-visible,.form-check-input:focus-visible,.accordion-button:focus-visible,.btn-close:focus-visible,.nav-link:focus-visible{
  outline:2px solid var(--focus-ring)!important;outline-offset:2px;box-shadow:none!important
}
.form-check-input:focus,.accordion-button:focus,.btn-close:focus{box-shadow:none}

.container{max-width:calc(var(--container-max) + var(--gutter)*2);padding-inline:var(--gutter)}
.container-narrow{max-width:calc(var(--container-narrow) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section-y)}
.bg-subtle{background:var(--surface-subtle)}
.bg-haze{background:var(--gradient-haze)}
.text-muted-ds{color:var(--text-muted)}
.lead-ds{font-size:var(--fs-body-l);line-height:var(--lh-body);color:var(--ink-600)}
.mono{font-family:var(--font-mono)}

/* ---------- Tipográfiai elemek ---------- */
.display-l{font-size:var(--fs-display-l);line-height:var(--lh-display);letter-spacing:var(--ls-display);margin:0}
.display-m{font-size:var(--fs-display-m);line-height:1.28;letter-spacing:var(--ls-display);margin:0}
/* Hero cím: nincs kötőjeles elválasztás, csak szóközönkénti sortörés.
   Keskeny kijelzőn a betűméret a képernyőhöz igazodik, hogy a leghosszabb
   szó („agrárvállalkozások”) is kiférjen egy sorba. */
.hero h1{
  max-width:20ch;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal;word-break:normal;text-wrap:balance;
  font-size:min(var(--fs-display-l),calc((100vw - 48px) / 9.8))
}

.badge-ds{
  display:inline-flex;align-items:center;gap:var(--space-2);height:40px;padding:0 20px;border-radius:var(--radius-pill);
  font-family:var(--font-body);font-size:var(--fs-body-s);font-weight:500;background:var(--wine-600);color:#fff;line-height:1
}
.badge-ds::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pink-400)}
.badge-ds--ink{background:var(--ink-700)}
.badge-ds--ink::before{background:var(--camel-400)}

.section-heading{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start;max-width:68ch}
.section-heading.text-center{align-items:center;margin-inline:auto;max-width:var(--container-narrow)}
/* mobilon balra zárt (mint a többi szekciócím), tablettől középre */
@media (min-width:768px){
  .section-heading--center-md{align-items:center;text-align:center;margin-inline:auto;max-width:var(--container-narrow)}
}
.section-heading p{margin:0;font-size:var(--fs-body-l);color:var(--text-muted)}

/* ---------- Ikonok (Lucide, inline SVG sprite) ---------- */
.i{width:1em;height:1em;flex:0 0 auto;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icon-chip{width:44px;height:44px;flex:0 0 auto;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--wine-50);color:var(--wine-600);font-size:22px}
.icon-chip--pink{width:40px;height:40px;background:var(--pink-50);color:var(--pink-600);font-size:20px}

/* ---------- Gombok ---------- */
.btn{
  --bs-btn-font-family:var(--font-body);--bs-btn-font-weight:500;--bs-btn-font-size:var(--fs-body-m);
  --bs-btn-padding-x:var(--control-pad-x,22px);--bs-btn-padding-y:0;--bs-btn-border-radius:var(--radius-pill);
  --bs-btn-focus-box-shadow:none;
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:46px;letter-spacing:.005em;white-space:nowrap;
  transition:background-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)
}
.btn:active{transform:scale(.98)}
.btn .i{font-size:18px}
.btn-lg{--bs-btn-font-size:var(--fs-body-l);--bs-btn-padding-x:32px;--bs-btn-border-radius:var(--radius-pill);min-height:56px}
.btn-sm{--bs-btn-font-size:var(--fs-body-s);--bs-btn-padding-x:18px;--bs-btn-border-radius:var(--radius-pill);min-height:36px}
.btn-primary{
  --bs-btn-bg:var(--ink-700);--bs-btn-border-color:var(--ink-700);--bs-btn-color:#fff;
  --bs-btn-hover-bg:var(--ink-800);--bs-btn-hover-border-color:var(--ink-800);--bs-btn-hover-color:#fff;
  --bs-btn-active-bg:var(--ink-800);--bs-btn-active-border-color:var(--ink-800);--bs-btn-active-color:#fff
}
.btn-outline-dark{
  --bs-btn-bg:#fff;--bs-btn-color:var(--ink-900);--bs-btn-border-color:var(--border-strong);
  --bs-btn-hover-bg:var(--ink-050);--bs-btn-hover-color:var(--ink-900);--bs-btn-hover-border-color:var(--ink-900);
  --bs-btn-active-bg:var(--ink-050);--bs-btn-active-color:var(--ink-900);--bs-btn-active-border-color:var(--ink-900)
}
.btn-ondark{
  --bs-btn-bg:#fff;--bs-btn-color:var(--ink-900);--bs-btn-border-color:#fff;
  --bs-btn-hover-bg:var(--wine-50);--bs-btn-hover-color:var(--ink-900);--bs-btn-hover-border-color:var(--wine-50);
  --bs-btn-active-bg:var(--wine-50);--bs-btn-active-color:var(--ink-900);--bs-btn-active-border-color:var(--wine-50)
}
.btn-ghost{
  --bs-btn-bg:transparent;--bs-btn-color:var(--text-strong);--bs-btn-border-color:transparent;
  --bs-btn-hover-bg:var(--ink-100);--bs-btn-hover-color:var(--text-strong);--bs-btn-hover-border-color:transparent;
  --bs-btn-active-bg:var(--ink-100);--bs-btn-active-color:var(--text-strong);--bs-btn-active-border-color:transparent
}
/* Mobil: kicsit kisebb CTA gombok */
@media (max-width:575.98px){
  .btn-lg{--bs-btn-font-size:1rem;--bs-btn-padding-x:22px;min-height:50px;white-space:normal;text-align:center}
  .btn-lg .i{font-size:17px}
}

/* ---------- Fejléc (sticky, üveg) ---------- */
.site-header{
  position:sticky;top:0;z-index:1030;height:var(--header-h);
  background:rgba(255,255,255,.82);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);
  border-bottom:1px solid var(--border-hairline)
}
.site-header .container{height:100%;display:flex;align-items:center;gap:var(--space-4)}
.site-header .brand img{height:34px;width:auto;display:block}
.menu-toggle{width:44px;height:44px;border-radius:var(--radius-pill);border:1px solid var(--border-hairline);background:#fff;color:var(--text-strong);
  display:inline-flex;align-items:center;justify-content:center;font-size:20px;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}
.menu-toggle:hover{background:var(--ink-050);border-color:var(--ink-300)}
.site-header .navbar > .container{flex-wrap:nowrap}
.site-header .header-cta{margin-left:auto}

/* Asztali vízszintes menü (lg+) */
.desktop-nav{margin-left:auto;align-items:center;gap:2px}
.desktop-nav .nav-link{
  position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 8px!important;
  font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--text-body);white-space:nowrap
}
.desktop-nav .nav-link::after{
  content:"";position:absolute;left:8px;right:8px;bottom:8px;height:1px;background:var(--pink-400);
  transform:scaleX(0);transform-origin:left center;transition:transform var(--dur-base) var(--ease-standard)
}
.desktop-nav .nav-link:hover{color:var(--wine-600)}
.desktop-nav .nav-link:hover::after{transform:scaleX(1)}
.desktop-nav .nav-link.active{color:var(--wine-600)}
.desktop-nav .nav-link.active::after{transform:scaleX(1)}
@media (min-width:992px){
  .desktop-nav + .header-cta{margin-left:var(--space-4)}
}
@media (min-width:1200px){
  .desktop-nav{gap:6px}
  .desktop-nav .nav-link{font-size:var(--fs-body-s);padding:0 10px!important}
  .desktop-nav .nav-link::after{left:10px;right:10px}
  .desktop-nav + .header-cta{margin-left:var(--space-6)}
}
@media (max-width:399.98px){
  .site-header .brand img{height:28px}
  .site-header .header-cta{--bs-btn-padding-x:14px}
}

/* ---------- Offcanvas menü ---------- */
.offcanvas.site-menu{
  --bs-offcanvas-width:min(380px,88vw);--bs-offcanvas-bg:#fff;--bs-offcanvas-padding-x:28px;--bs-offcanvas-padding-y:24px;
  --bs-offcanvas-border-color:var(--border-hairline);box-shadow:var(--shadow-lg)
}
.site-menu .offcanvas-header{height:var(--header-h);border-bottom:1px solid var(--border-soft)}
.site-menu .offcanvas-header img{height:30px;width:auto}
.site-menu .btn-close{width:44px;height:44px;padding:0;border-radius:var(--radius-pill);background-size:14px;opacity:.8}
.site-menu .btn-close:hover{background-color:var(--ink-100);opacity:1}
.site-menu .menu-label{font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-faint);margin:0 0 var(--space-3)}
.site-menu .nav-link{
  display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:10px 14px;margin-inline:-14px;border-radius:var(--radius-sm);
  font-family:var(--font-display);font-weight:500;font-size:1.0625rem;color:var(--text-body);letter-spacing:var(--ls-heading)
}
.site-menu .nav-link .num{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-faint);font-weight:400;min-width:22px}
.site-menu .nav-link:hover{background:var(--ink-050);color:var(--wine-600)}
.site-menu .nav-link.active{background:var(--wine-50);color:var(--wine-600)}
.site-menu .nav-link.active .num{color:var(--pink-500)}
.site-menu .nav-link.active::after{content:"";margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--pink-400)}
.site-menu .nav-sm .nav-link{font-family:var(--font-body);font-weight:400;font-size:var(--fs-body-s);min-height:44px}
.site-menu .menu-contact a{display:flex;align-items:center;gap:var(--space-3);color:var(--text-body);min-height:44px}
.site-menu .menu-contact a:hover{color:var(--wine-600)}
.offcanvas-backdrop{--bs-backdrop-bg:var(--ink-900);--bs-backdrop-opacity:.4}

/* ---------- Hero ---------- */
.hero{padding-block:clamp(56px,7vw,104px);overflow:hidden}
.hero-wide{padding-inline:max(var(--gutter),calc(((100% - var(--container-max))/2 + var(--gutter))/2))}
.hero-wide > .row{--bs-gutter-x:clamp(28px,4vw,56px);--bs-gutter-y:clamp(28px,4vw,56px)}
.hero-copy{display:flex;flex-direction:column;gap:var(--space-6);align-items:flex-start;padding-inline-end:var(--gutter)}
.hero-copy .lead-ds{margin:0;max-width:52ch}
.hero-media{display:block;width:100%;height:auto;animation:om-float 7s ease-in-out infinite}
.hero-media--photo{border-radius:var(--radius-media);animation:none}
/* Mobil: hero gombok középre zárva, egymás alatt, egyforma szélességben */
@media (max-width:575.98px){
  .hero-copy{padding-inline-end:0}
  /* egymás alatt, középre zárva; minden gomb csak a saját tartalma szélességű */
  .hero-actions{flex-direction:column;align-items:center;align-self:stretch;width:100%}
  .hero-actions .btn{width:auto;max-width:100%}
}
.hero-sm{padding-block:clamp(48px,6vw,88px)}
.hero-sm .inner{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start}
.hero-sm .inner p{margin:0}
@keyframes om-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ---------- Média ---------- */
.media-frame{border-radius:var(--radius-media);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:4/3;
  transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.media-frame img{width:100%;height:100%;object-fit:cover;display:block}
.media-frame:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.portrait-frame{position:relative;height:100%;min-height:360px;border-radius:var(--radius-media);overflow:hidden;box-shadow:var(--shadow-md)}
.portrait-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
@media (max-width:991.98px){.portrait-frame{min-height:0;aspect-ratio:3/4;max-width:480px}}
.media-placeholder{position:relative;min-height:320px;height:100%;border-radius:var(--radius-media);border:1px dashed var(--border-strong);
  background:var(--gradient-haze);color:var(--wine-600);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);text-align:center;padding:var(--space-5)}
.media-placeholder .i{font-size:26px;opacity:.75}
.media-placeholder span{font-size:var(--fs-body-s);font-weight:500}
.media-placeholder small{font-family:var(--font-mono);font-size:var(--fs-caption);opacity:.7}

/* ---------- Szolgáltatás kártya ---------- */
.service-card{height:100%;display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.service-card .card-media{aspect-ratio:4/3;overflow:hidden;border-bottom:1px solid var(--border-soft);background:var(--gradient-haze)}
.service-card .card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--ease-standard)}
.service-card:hover .card-media img{transform:scale(1.04)}
.service-card .card-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--card-pad)}
.service-card .card-meta{display:flex;align-items:center;gap:var(--space-3)}
.service-card .num{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-faint);letter-spacing:.08em}
.service-card h3{margin:0;font-size:var(--fs-heading-m)}
.service-card p{margin:0;font-size:var(--fs-body-s);color:var(--text-muted)}

/* ---------- Miért mi ---------- */
@media (min-width:992px){.sticky-heading{position:sticky;top:calc(var(--header-h) + 32px)}}
.feature-item{display:flex;gap:var(--space-4);align-items:flex-start}
.feature-item h3{margin:0 0 4px;font-size:var(--fs-heading-s)}
.feature-item p{margin:0;font-size:var(--fs-body-s);color:var(--text-muted)}
.heading-break{white-space:pre-line}
@media (max-width:767.98px){.why-cta{display:flex;justify-content:center;margin-top:var(--space-2)}}

/* ---------- Referencia rács + lightbox ---------- */
.ref-cell{display:block;width:100%;padding:0;border:1px solid var(--border-hairline);border-radius:var(--radius-media);overflow:hidden;background:var(--ink-100);
  box-shadow:var(--shadow-sm);aspect-ratio:4/3;cursor:zoom-in;transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.ref-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--ease-standard),filter var(--dur-base) var(--ease-standard)}
.ref-cell:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.ref-cell:hover img{transform:scale(1.07);filter:brightness(.68)}
/* Mobil: referenciák vízszintes, lapozható sliderként (scroll-snap) */
@media (max-width:767.98px){
  .ref-grid{
    position:relative;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
    scrollbar-width:none;margin-inline:calc(var(--gutter)*-1);padding-inline:calc(var(--gutter) - var(--bs-gutter-x)*.5);
    padding-bottom:4px;scroll-padding-inline:var(--gutter)
  }
  .ref-grid::-webkit-scrollbar{display:none}
  .ref-grid > .col{flex:0 0 84%;max-width:84%;scroll-snap-align:center}
  /* a vízszintesen kilógó diák ne maradjanak rejtve a reveal miatt */
  .js .ref-grid > :not(.is-revealed){opacity:1;transform:none}
  .ref-cell:hover{transform:none}
}
.ref-dots{display:flex;justify-content:center;gap:8px;margin-top:var(--space-5)}
.ref-dots span{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--ink-300);transition:width var(--dur-base) var(--ease-standard),background-color var(--dur-base) var(--ease-standard)}
.ref-dots span.active{width:24px;background:var(--wine-600)}
.cta-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-8);
  border-radius:var(--radius-lg);background:var(--surface-page);border:1px solid var(--border-hairline);box-shadow:var(--shadow-sm)}
.cta-strip p{margin:0;color:var(--text-muted);max-width:56ch}
.cta-strip--subtle{background:var(--surface-subtle)}
/* Hosszú feliratú gomb: tördelhető, a dobozon belül marad */
.cta-wrap{max-width:100%}
@media (max-width:575.98px){
  .cta-strip{padding:var(--space-6)}
  .cta-wrap{white-space:normal;text-align:left;line-height:1.3;padding-block:10px}
}

.lightbox .modal-content{background:transparent;border:0;box-shadow:none}
.lightbox .modal-body{padding:0;display:flex;align-items:center;justify-content:center}
.lightbox .modal-body img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;border-radius:var(--radius-media);box-shadow:var(--shadow-lg);cursor:default}
.lightbox-backdrop{--bs-backdrop-bg:#000;--bs-backdrop-opacity:.88}
.lb-btn{position:fixed;z-index:1060;width:44px;height:44px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.45);
  color:#fff;display:grid;place-items:center;font-size:20px;transition:background-color var(--dur-fast) var(--ease-standard)}
.lb-btn:hover{background:var(--wine-600)}
.lb-close{top:clamp(12px,2.5vw,28px);right:clamp(12px,2.5vw,28px)}
.lb-prev,.lb-next{top:50%;transform:translateY(-50%);width:48px;height:48px}
.lb-prev{left:clamp(10px,2vw,24px)}.lb-next{right:clamp(10px,2vw,24px)}
.lb-counter{position:fixed;z-index:1060;bottom:clamp(14px,3vw,28px);left:0;right:0;margin:0;text-align:center;font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:.08em;color:rgba(255,255,255,.72)}
.modal.lightbox{cursor:zoom-out}

/* ---------- Partner marquee ---------- */
.logo-marquee{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-track{display:flex;gap:48px;width:max-content;align-items:center;animation:logo-marquee 34s linear infinite}
.logo-track img{height:88px;width:auto;display:block;opacity:.85;transition:opacity var(--dur-fast)}
.logo-track img:hover{opacity:1}
.logo-marquee:hover .logo-track{animation-play-state:paused}
@keyframes logo-marquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 24px))}}
@media (max-width:575.98px){.logo-track img{height:64px}}

/* ---------- Fix hátterű képsáv ---------- */
.fixed-band{position:relative;height:450px;overflow:hidden}
.fixed-band__layer{position:absolute;top:0;left:0;right:0;height:100vh;background:url("../assets/jonoyogo-2.webp") center/cover no-repeat;will-change:transform}
/* Mobil: rögzített háttér helyett sima, arányos kép */
.fixed-band__img{display:block;width:100%;height:auto}
@media (max-width:767.98px){.fixed-band{height:auto}}

/* ---------- Kapcsolat kártya ---------- */
.contact-card{display:flex;flex-direction:column;gap:var(--space-5);background:var(--surface-subtle);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--card-pad)}
.contact-card .title{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--fs-heading-m);color:var(--text-strong)}
.contact-row{display:flex;align-items:center;gap:var(--space-3);color:var(--text-body);line-height:1.2;min-height:44px;overflow-wrap:anywhere}
.contact-row .i{font-size:18px}
.contact-row:hover{color:var(--wine-600)}

/* ---------- Kihívás → megoldás ---------- */
.challenge-head{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-eyebrow);text-transform:uppercase}
.challenge-row{padding-block:var(--space-7);border-top:1px solid var(--border-hairline)}
.challenge-row h3{font-size:var(--fs-heading-s);margin:0 0 var(--space-2)}
.challenge-row .c h3{color:var(--ink-600)}
.challenge-row .s h3{color:var(--wine-600)}
.challenge-row p{margin:0;font-size:var(--fs-body-s)}
.challenge-row .c p{color:var(--text-muted)}
.challenge-arrow{width:44px;height:44px;border-radius:var(--radius-pill);background:var(--wine-50);color:var(--wine-600);display:inline-flex;align-items:center;justify-content:center;font-size:20px}
@media (max-width:767.98px){.challenge-arrow{transform:rotate(90deg)}}

/* ---------- CTA banner (ink) ---------- */
.cta-banner{border-radius:var(--radius-xl);padding:clamp(32px,5vw,64px);background:var(--gradient-ink);border:1px solid var(--border-on-dark);
  display:flex;flex-wrap:wrap;gap:var(--space-7);align-items:center;justify-content:space-between}
.cta-banner .copy{max-width:56ch;display:flex;flex-direction:column;gap:var(--space-3)}
.cta-banner h2{margin:0;color:#fff;font-size:var(--fs-display-m);line-height:var(--lh-display);letter-spacing:var(--ls-display);white-space:pre-line}
.cta-banner p{margin:0;font-size:var(--fs-body-l);color:var(--text-on-dark-muted)}

/* ---------- Folyamat ---------- */
.process-step{display:flex;flex-direction:column;gap:var(--space-4)}
.process-step .top{display:flex;align-items:center;gap:var(--space-3)}
.process-step .dot{width:44px;height:44px;flex:0 0 auto;border-radius:var(--radius-pill);background:var(--ink-700);color:#fff;font-family:var(--font-display);font-weight:600;display:inline-flex;align-items:center;justify-content:center}
.process-step .line{height:1px;flex:1;background:linear-gradient(90deg,var(--ink-300),transparent);transform-origin:left center;transform:scaleX(0);transition:transform 900ms var(--ease-out-soft) 300ms}
.process-step.is-revealed .line,.no-reveal .process-step .line{transform:scaleX(1)}
.process-step h3{margin:0;font-size:var(--fs-heading-s)}
.process-step p{margin:0;font-size:var(--fs-body-s);color:var(--text-muted)}

/* ---------- Ajánlatkérés / Tally ---------- */
.form-card{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:clamp(28px,3vw,40px);height:100%}
.form-card iframe{display:block;width:100%;border:0;overflow:hidden;min-height:400px}
.form-fallback{margin-top:var(--space-4);font-size:var(--fs-body-s);color:var(--text-muted)}

/* ---------- GYIK (Bootstrap accordion) ---------- */
.faq-group + .faq-group{margin-top:var(--space-11)}
.faq-group h2{font-size:var(--fs-heading-l);margin:0}
.faq .accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:var(--border-hairline);--bs-accordion-border-radius:0;--bs-accordion-inner-border-radius:0;
  --bs-accordion-btn-padding-x:0;--bs-accordion-btn-padding-y:var(--space-6);--bs-accordion-body-padding-x:0;--bs-accordion-body-padding-y:0;
  --bs-accordion-active-bg:transparent;--bs-accordion-active-color:var(--text-strong);--bs-accordion-btn-focus-box-shadow:none}
.faq .accordion-item{border-left:0;border-right:0;border-bottom:0}
.faq .accordion-item:last-child{border-bottom:1px solid var(--border-hairline)}
.faq .accordion-button{display:grid;grid-template-columns:48px minmax(0,1fr) 32px;gap:var(--space-4);align-items:start;text-align:left;background:none;box-shadow:none}
.faq .accordion-button::after{display:none}
.faq .q-num{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--pink-500);padding-top:5px}
.faq .q-text{font-family:var(--font-display);font-weight:600;font-size:var(--fs-heading-s);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);color:var(--text-strong)}
.faq .q-toggle{width:32px;height:32px;border-radius:var(--radius-pill);justify-self:end;background:var(--wine-50);color:var(--wine-600);display:inline-flex;align-items:center;justify-content:center;font-size:16px;transition:transform var(--dur-base) var(--ease-standard)}
.faq .q-toggle .v{transition:opacity var(--dur-base) var(--ease-standard)}
.faq .accordion-button:not(.collapsed) .q-toggle .v{opacity:0}
.faq .accordion-button:hover .q-text{color:var(--wine-600)}
.faq .accordion-body{display:grid;grid-template-columns:48px minmax(0,1fr) 32px;gap:var(--space-4)}
.faq .accordion-body p{grid-column:2;margin:0;padding-bottom:var(--space-7);max-width:68ch;color:var(--text-muted);line-height:var(--lh-relaxed)}
@media (max-width:575.98px){
  .faq .accordion-button,.faq .accordion-body{grid-template-columns:32px minmax(0,1fr) 32px;gap:var(--space-3)}
  .faq .accordion-body p{grid-column:2 / 4}
}

/* ---------- Jogi oldalak (prose) ---------- */
.prose{display:flex;flex-direction:column;gap:var(--space-8)}
.prose section{display:flex;flex-direction:column;gap:var(--space-3)}
.prose h2{margin:0;font-size:var(--fs-heading-m)}
.prose h3{margin:0;font-size:var(--fs-heading-s)}
.prose p{margin:0;line-height:var(--lh-relaxed);color:var(--text-muted)}
.prose a{text-decoration:underline;text-decoration-color:var(--wine-200);text-underline-offset:3px}
.prose a:hover{text-decoration-color:currentColor}
.prose .updated{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-muted)}
.info-card{border:1px solid var(--border-hairline);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-2)}
.info-card .num{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--pink-500)}
/* Címke–érték lista (pl. „Kezelt adatok: …”) */
.data-list{margin:0;display:grid;grid-template-columns:minmax(0,1fr);row-gap:var(--space-3)}
.data-list > div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding-top:var(--space-3);border-top:1px solid var(--border-soft)}
.data-list > div:first-child{border-top:0;padding-top:0}
.data-list dt{font-weight:500;color:var(--text-strong);font-size:var(--fs-body-s)}
.data-list dd{margin:0;color:var(--text-muted);line-height:var(--lh-relaxed)}
.data-list a{overflow-wrap:anywhere}
@media (min-width:768px){
  .data-list > div{grid-template-columns:200px minmax(0,1fr);gap:var(--space-5)}
  .data-list dt{padding-top:2px}
}
.info-card .data-list{margin-top:var(--space-3)}
.cookie-table{--bs-table-bg:transparent;font-size:var(--fs-body-s);margin:0}
.cookie-table th{font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}
.cookie-table td{color:var(--text-muted)}

/* ---------- Footer ---------- */
.site-footer{background:var(--gradient-ink);color:var(--text-on-dark-muted);padding-block:var(--space-11) var(--space-7)}
/* Lábléc logó: eredeti képarány megtartása (a flex oszlop ne nyújtsa ki) */
.site-footer .logo{
  display:block;align-self:flex-start;flex:0 0 auto;
  width:auto;height:auto;max-width:100%;max-height:132px;
  aspect-ratio:1/1;object-fit:contain;object-position:left center
}
@media (max-width:575.98px){.site-footer .logo{max-height:112px}}
.site-footer .col-title{display:block;font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--camel-400);margin-bottom:var(--space-3)}
.site-footer nav,.site-footer .f-col{display:flex;flex-direction:column;gap:var(--space-3)}
.site-footer a,.site-footer .link-btn{color:var(--text-on-dark-muted);font-size:var(--fs-body-s);display:inline-flex;align-items:center;gap:var(--space-2)}
.site-footer a:hover,.site-footer .link-btn:hover{color:var(--pink-300)}
.site-footer a .i{color:var(--camel-400);font-size:16px}
.site-footer p{margin:0;font-size:var(--fs-body-s);max-width:34ch}
.site-footer .bottom{margin-top:var(--space-10);padding-top:var(--space-5);border-top:1px solid var(--border-on-dark);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;font-size:var(--fs-caption);color:rgba(255,255,255,.55)}
.link-btn{background:none;border:0;padding:0;text-align:left;font:inherit;cursor:pointer}

/* ==========================================================================
   Cookie hozzájárulás — banner + beállítások modal
   ========================================================================== */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:1045;padding:0 var(--space-4) var(--space-4);
  pointer-events:none;transform:translateY(calc(100% + 24px));opacity:0;visibility:hidden;
  transition:transform var(--dur-slow) var(--ease-out-soft),opacity var(--dur-base) var(--ease-standard),visibility 0s linear var(--dur-slow)
}
.cookie-banner.is-visible{transform:none;opacity:1;visibility:visible;transition:transform var(--dur-reveal) var(--ease-out-soft),opacity var(--dur-base) var(--ease-standard),visibility 0s}
.cookie-banner__inner{
  pointer-events:auto;max-width:var(--container-max);margin-inline:auto;
  background:rgba(255,255,255,.94);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);
  border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--shadow-sm);
  padding:clamp(20px,2.4vw,28px)
}
.cookie-banner .cb-icon{width:44px;height:44px;border-radius:var(--radius-pill);background:var(--wine-50);color:var(--wine-600);display:inline-flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto}
.cookie-banner .cb-eyebrow{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--wine-600);margin:0 0 4px}
.cookie-banner .cb-title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-heading-s);color:var(--text-strong);margin:0 0 6px;letter-spacing:var(--ls-heading)}
.cookie-banner .cb-text{margin:0;font-size:var(--fs-body-s);color:var(--text-muted);max-width:70ch}
.cookie-banner .cb-text a{text-decoration:underline;text-decoration-color:var(--wine-200);text-underline-offset:3px}
.cookie-banner .cb-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:flex-end}
.cookie-banner .cb-reject{font-size:var(--fs-body-s)}
@media (max-width:991.98px){
  .cookie-banner .cb-actions{justify-content:flex-start}
}
@media (max-width:575.98px){
  .cookie-banner{padding:0 10px 10px}
  .cookie-banner .cb-actions .btn{flex:1 1 100%}
  .cookie-banner .cb-actions .cb-reject{order:3}
}

.cookie-modal .modal-content{border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.cookie-modal .modal-header{padding:var(--space-6) var(--card-pad) var(--space-4);border-bottom:1px solid var(--border-soft);align-items:flex-start}
.cookie-modal .modal-title{font-size:var(--fs-heading-m);margin:0}
.cookie-modal .modal-body{padding:var(--space-5) var(--card-pad)}
.cookie-modal .modal-footer{padding:var(--space-4) var(--card-pad) var(--space-6);border-top:1px solid var(--border-soft);gap:var(--space-3)}
.cookie-modal .modal-footer > *{margin:0}
.cookie-modal .btn-close{width:44px;height:44px;padding:0;border-radius:var(--radius-pill);background-size:14px;margin:-8px -10px 0 auto}
.cookie-modal .btn-close:hover{background-color:var(--ink-100)}
.cookie-cat{border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:var(--space-5);display:flex;gap:var(--space-4);align-items:flex-start;justify-content:space-between}
.cookie-cat + .cookie-cat{margin-top:var(--space-3)}
.cookie-cat .num{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--pink-500)}
.cookie-cat h3{font-size:var(--fs-heading-s);margin:2px 0 4px}
.cookie-cat p{margin:0;font-size:var(--fs-body-s);color:var(--text-muted)}
.cookie-cat .always{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-faint);white-space:nowrap;padding-top:4px}
.cookie-cat .form-switch{padding-left:0;margin:4px 0 0;min-height:auto}
.cookie-cat .form-switch .form-check-input{
  width:48px;height:28px;margin:0;float:none;cursor:pointer;border-color:var(--border-strong);background-color:var(--ink-100);
  --bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23948f9c'/%3e%3c/svg%3e")
}
.cookie-cat .form-switch .form-check-input:checked{background-color:var(--ink-700);border-color:var(--ink-700);
  --bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}
.cookie-cat .form-switch .form-check-input:disabled{opacity:.55;cursor:not-allowed}
@media (max-width:575.98px){.cookie-modal .modal-footer .btn{flex:1 1 100%}}

/* ==========================================================================
   Vissza a tetejére gomb
   ========================================================================== */
html{scroll-behavior:smooth}
.back-to-top{
  position:fixed;right:clamp(16px,2.5vw,32px);bottom:clamp(16px,2.5vw,32px);z-index:1035;
  width:52px;height:52px;border-radius:var(--radius-pill);border:1px solid var(--ink-700);
  background:var(--ink-700);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:22px;
  box-shadow:var(--shadow-lg),var(--shadow-sm);cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-out-soft),
             background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),visibility 0s linear var(--dur-base)
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none;
  transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-out-soft),
             background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),visibility 0s}
.back-to-top:hover{background:var(--wine-600);border-color:var(--wine-600)}
.back-to-top:hover .i{transform:translateY(-2px)}
.back-to-top .i{transition:transform var(--dur-fast) var(--ease-standard)}
.back-to-top:active{transform:scale(.96)}
/* amíg a cookie banner nyitva van, ne takarja ki */
.cookie-open .back-to-top{opacity:0;visibility:hidden;pointer-events:none}
@media (max-width:575.98px){.back-to-top{width:46px;height:46px;font-size:20px}}

/* ==========================================================================
   Scroll reveal — csak akkor rejtünk, ha fut a JS (html.js)
   ========================================================================== */
.js [data-reveal]:not(.is-revealed),
.js [data-reveal-stagger] > :not(.is-revealed){opacity:0;transform:translateY(14px)}
.js [data-reveal],.js [data-reveal-stagger] > *{
  transition:opacity var(--dur-reveal) var(--ease-out-soft) var(--reveal-delay,0ms),transform var(--dur-reveal) var(--ease-out-soft) var(--reveal-delay,0ms)
}
.js [data-reveal="fade"]:not(.is-revealed){transform:none}

/* ---------- Csökkentett mozgás ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:1ms!important;animation:none!important;scroll-behavior:auto!important}
  .js [data-reveal]:not(.is-revealed),.js [data-reveal-stagger] > :not(.is-revealed){opacity:1;transform:none}
  .process-step .line{transform:scaleX(1)}
}
