/* ==========================================================================
   BACHUSZ AUTÓS-MOTOROS ISKOLA — Design system v7
   Élénk kék (domináns) + lila + citromsárga + meleg korall. Nincs zöld.
   ========================================================================== */

/* ---------- Fonts ---------- */

/* ---------- Tokens ---------- */
:root{
  /* Base surfaces */
  --c-bg:            #FFFFFF;
  --c-bg-tint:       #F1F1FC;
  --c-surface:       #FFFFFF;
  --c-ink:           #211C2E;
  --c-ink-soft:      #5B5568;
  --c-ink-mute:      #8D869B;
  --c-line:          #E9E7EF;

  /* Brand — vidám, fiatalos: világoskék + lime zöld páros, fehér alapon */
  --c-violet:        #29B6E8;   /* dominant: vivid sky blue — links, nav, structure */
  --c-violet-deep:   #1C98C4;
  --c-violet-ink:    #0E1530;   /* deep ink, used only for photo-CTA overlays */
  --c-cyan:          #6FD8FF;   /* lighter sky blue — decorative variety / dark-bg pop */
  --c-orange:        #9AE637;   /* lime green — CTA + highlighter */
  --c-orange-deep:   #7EC91A;
  --c-lime:          #FFC247;   /* small warm sparks: stars only */
  --c-lime-deep:     #E5A61C;
  --c-green:         #6FBE1E;   /* checkmarks — lime-green family */
  --c-sky:           #E8F8FF;
  --c-pink:          #FF7DA6;   /* meleg, játékos rózsaszín-korall — kis dekoratív kiegészítő */

  /* Gradients */
  --grad-hero: radial-gradient(120% 140% at 18% 8%, rgba(41,182,232,.18) 0%, rgba(255,125,166,.12) 40%, rgba(154,230,55,.12) 70%, rgba(255,255,255,0) 88%);
  --grad-cta:  linear-gradient(120deg, #1C98C4 0%, #29B6E8 45%, #9AE637 115%);
  --grad-lime: linear-gradient(120deg, #29B6E8 0%, #9AE637 100%);

  /* Type */
  --font-display: 'Outfit', 'Segoe UI', sans-serif;
  --font-body:    'Inter', 'Segoe UI', sans-serif;

  --fs-display-xl: clamp(2.4rem, 1.55rem + 3.6vw, 4.1rem);
  --fs-display-l:  clamp(2rem, 1.4rem + 2.4vw, 3rem);
  --fs-display-m:  clamp(1.6rem, 1.25rem + 1.4vw, 2.15rem);
  --fs-lead:       clamp(1.05rem, 0.97rem + 0.3vw, 1.2rem);

  /* Shape */
  --radius-s:  14px;
  --radius-m:  22px;
  --radius-l:  32px;
  --notch:     26px;

  /* Shadow — soft, low-contrast, less "boxy" */
  --shadow-card: 0 16px 34px -20px rgba(26, 23, 48, .16);
  --shadow-pop:  0 26px 50px -18px rgba(30, 84, 200, .26);

  /* Motion */
  --ease: cubic-bezier(.19,1,.22,1);

  --header-h: 84px;
}

/* ---------- Reset ---------- */
*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x:hidden; width:100%; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
body{
  margin:0;
  background:var(--c-bg);
  color:var(--c-ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  width:100%;
  position:relative;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font:inherit; cursor:pointer; border:none; background:none; color:inherit; }
h1,h2,h3,h4,p{ margin:0; }
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:600; color:var(--c-ink); letter-spacing:-.01em; line-height:1.22; }
svg{ display:block; }

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--c-violet); color:#fff; padding:.9rem 1.4rem; border-radius:0 0 12px 0; z-index:999;
}
.skip-link:focus{ left:0; }

:focus-visible{ outline:3px solid var(--c-orange); outline-offset:3px; border-radius:4px; }

.container{ width:100%; max-width:1240px; margin-inline:auto; padding-inline:24px; }
@media (max-width:640px){ .container{ padding-inline:20px; } }

.section{ padding-block: clamp(3.6rem, 3rem + 3vw, 6.2rem); }
.section-s{ padding-block: clamp(2.6rem, 2.2rem + 2vw, 4.2rem); }
.bg-white{ background:var(--c-surface); }
.bg-tint{ background:var(--c-bg-tint); }
.bg-sky{ background:var(--c-sky); }
.bg-ink{ background:var(--c-violet-ink); color:#EDEBFB; }
.bg-ink h2, .bg-ink h3{ color:#fff; }

/* ---------- Kicker (replaces tracked all-caps eyebrow) ---------- */
.kicker{
  display:inline-flex; align-items:center; gap:.55rem;
  font-family:var(--font-body); font-weight:700; font-size:.92rem;
  color:var(--c-violet); margin-bottom:.9rem;
}
.kicker::before{
  content:''; width:9px; height:9px; border-radius:50%; background:var(--c-orange); flex:none;
}
.bg-ink .kicker{ color:var(--c-lime); }
.bg-ink .kicker::before{ background:var(--c-lime); }
.center .kicker{ justify-content:center; }

/* ---------- Highlighter underline — pure-CSS, autoplays left → right ---------- */
.mark{ position:relative; display:inline-block; white-space:nowrap; }
.mark .mark-svg{
  position:absolute; left:-2%; bottom:-.1em; width:104%; height:.26em;
  overflow:visible; pointer-events:none;
}
.mark .mark-svg path{
  fill:none; stroke:var(--c-pink); stroke-width:5.5; stroke-linecap:round;
  stroke-dasharray:200; stroke-dashoffset:200;
  animation:mark-draw 1.05s cubic-bezier(.5,0,.25,1) .55s forwards;
}
.bg-ink .mark .mark-svg path{ stroke:var(--c-pink); }
@keyframes mark-draw{ to{ stroke-dashoffset:0; } }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.6rem; justify-content:center;
  padding:1rem 1.7rem; border-radius:100px; font-weight:700; font-size:.98rem;
  font-family:var(--font-body); transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .3s;
  white-space:nowrap;
}
.btn .arrow{ width:18px; height:11px; transition:transform .3s var(--ease); }
.btn:hover .arrow{ transform:translateX(4px); }
.btn-primary{ background:var(--c-orange); color:var(--c-ink); box-shadow:0 14px 28px -12px rgba(126,201,26,.45); }
.btn-primary:hover{ background:var(--c-orange-deep); color:#fff; transform:translateY(-2px); }
.btn-violet{ background:var(--c-violet); color:#fff; box-shadow:0 16px 32px -12px rgba(91,61,246,.5); }
.btn-violet:hover{ background:var(--c-violet-deep); transform:translateY(-2px); }
.btn-outline{ background:transparent; color:var(--c-ink); box-shadow:inset 0 0 0 2px var(--c-line); }
.btn-outline:hover{ box-shadow:inset 0 0 0 2px var(--c-violet); color:var(--c-violet); }
.bg-ink .btn-outline{ color:#fff; box-shadow:inset 0 0 0 2px rgba(255,255,255,.3); }
.bg-ink .btn-outline:hover{ box-shadow:inset 0 0 0 2px var(--c-lime); color:var(--c-lime); }
.btn-sm{ padding:.75rem 1.3rem; font-size:.88rem; }
.btn-text{ display:inline-flex; align-items:center; gap:.5rem; font-weight:700; color:var(--c-violet); }
.btn-text .arrow{ width:16px; height:10px; }
.btn-text:hover .arrow{ transform:translateX(4px); }

/* ==========================================================================
   HEADER / NAV
   ========================================================================== */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:200;
  height:var(--header-h);
  display:flex; align-items:center;
  background:rgba(252,251,255,.7);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:background .3s, border-color .3s, height .3s;
}
.site-header.is-scrolled{
  height:72px;
  background:rgba(252,251,255,.92);
  border-bottom-color:var(--c-line);
}
.site-header .container{ display:flex; align-items:center; justify-content:space-between; gap:1.4rem; }
.header-brand img{ height:38px; width:auto; }
.header-nav ul{ display:flex; align-items:center; gap:1.3rem; }
.header-nav a{ font-weight:600; font-size:.9rem; color:var(--c-ink-soft); position:relative; padding:.3rem 0; white-space:nowrap; }
.header-nav a::after{
  content:''; position:absolute; left:0; right:100%; bottom:-2px; height:3px; border-radius:3px;
  background:var(--c-orange); transition:right .3s var(--ease);
}
.header-nav a:hover, .header-nav a[aria-current="page"]{ color:var(--c-ink); }
.header-nav a:hover::after, .header-nav a[aria-current="page"]::after{ right:0; }
.header-actions{ display:flex; align-items:center; gap:1rem; }

.nav-toggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; }
.nav-toggle span{ width:22px; height:2.5px; background:var(--c-ink); border-radius:2px; transition:transform .3s, opacity .3s; margin-inline:auto; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

.mobile-menu{
  position:fixed; inset:0; z-index:190;
  background:#fff;
  padding: calc(var(--header-h) + .5rem) 1.5rem 1.5rem;
  display:flex; flex-direction:column; gap:1.2rem;
  transform:translateY(-100%); opacity:0;
  transition:transform .45s var(--ease), opacity .3s;
  overflow-y:auto;
}
.mobile-menu.is-open{ transform:translateY(0); opacity:1; }
.mobile-menu nav{ display:flex; flex-direction:column; }
.mobile-menu nav a{
  color:var(--c-ink); font-family:var(--font-display); font-size:1.1rem; font-weight:600;
  padding:.6rem 0; border-bottom:1px solid var(--c-line);
}
.mobile-menu nav a[aria-current="page"]{ color:var(--c-orange); }
.mobile-cta{ align-self:flex-start; }
.mobile-contact{ display:flex; flex-direction:column; gap:.4rem; color:var(--c-ink-mute); font-size:.85rem; margin-top:auto; padding-top:1rem; border-top:1px solid var(--c-line); }

@media (max-width: 1180px){
  .header-nav{ display:none; }
  .nav-toggle{ display:flex; }
  .header-actions .btn-primary{ display:none; }
}
@media (min-width: 1181px){ .mobile-menu{ display:none; } }

/* ==========================================================================
   HOME HERO
   ========================================================================== */
.home-hero{
  position:relative;
  padding-top: calc(var(--header-h) + clamp(1.5rem, 4vw, 3rem));
  padding-bottom: clamp(3rem, 6vw, 5rem);
  background: var(--c-bg);
  overflow:hidden;
}
.home-hero::before{
  content:''; position:absolute; top:-25%; right:-18%; width:70%; height:80%;
  background: var(--grad-hero);
  filter: blur(70px);
  pointer-events:none;
}
.home-hero::after{
  content:''; position:absolute; left:-16%; bottom:-34%; width:52%; height:68%;
  background: radial-gradient(circle, rgba(255,201,71,.20) 0%, transparent 68%);
  filter: blur(60px);
  pointer-events:none;
}
.hero-grid{
  display:grid; grid-template-columns: 1.02fr 1fr; gap:clamp(2rem, 4vw, 4rem);
  align-items:center; position:relative; z-index:1;
}
.hero-collage{
  position:relative; aspect-ratio:1/1.02; max-width:520px; width:100%; min-height:340px;
}
.hero-collage .tile{
  position:absolute; border-radius:var(--radius-m); overflow:hidden; box-shadow:var(--shadow-card);
  opacity:0; transform:translateY(30px) scale(.96);
  animation:tile-in .8s var(--ease) .3s forwards;
}
.hero-collage .tile img{ width:100%; height:100%; object-fit:cover; }
.hero-collage .tile-a{ width:70%; height:62%; left:0; top:2%; z-index:2; }
.hero-collage .tile-b{ width:56%; height:44%; right:0; bottom:6%; z-index:3; border:6px solid var(--c-bg); animation-delay:.45s; }
@keyframes tile-in{ to{ opacity:1; transform:translateY(0) scale(1); } }
.hero-collage .blob{
  position:absolute; width:82%; height:82%; right:-14%; top:6%; z-index:0;
  background:radial-gradient(circle at 35% 30%, rgba(41,182,232,.34), rgba(255,125,166,.26) 50%, rgba(154,230,55,.26) 78%, transparent 90%);
  border-radius:50%; filter:blur(4px);
  opacity:0; transform:scale(.85);
  animation:blob-in 1.1s var(--ease) .35s forwards;
}
@keyframes blob-in{ to{ opacity:1; transform:scale(1); } }
.hero-badge{
  position:absolute; z-index:4; left:6%; bottom:5%;
  background:#fff; border-radius:var(--radius-s); padding:1rem 1.2rem; box-shadow:var(--shadow-pop);
  display:flex; align-items:center; gap:.8rem; min-width:200px;
  opacity:0; transform:translateY(20px);
  animation:badge-in .7s var(--ease) .7s forwards;
}
@keyframes badge-in{ to{ opacity:1; transform:translateY(0); } }
.hero-badge-num{ font-family:var(--font-display); font-size:1.8rem; font-weight:700; color:var(--c-pink); line-height:1; }
.hero-badge-label{ font-size:.82rem; color:var(--c-ink-mute); font-weight:600; line-height:1.25; }

.hero-copy .kicker{ margin-bottom:1.1rem; }
.hero-title{ font-size:var(--fs-display-xl); }
.hero-desc{ margin-top:1.4rem; font-size:var(--fs-lead); color:var(--c-ink-soft); max-width:46ch; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.1rem; }
.hero-trust{ display:flex; flex-wrap:wrap; gap:1.6rem; margin-top:2.4rem; }
.hero-trust-item{ display:flex; align-items:center; gap:.7rem; }
.hero-trust-item svg{ width:22px; height:22px; color:var(--c-violet); flex:none; }
.hero-trust-item span{ font-size:.88rem; font-weight:600; color:var(--c-ink-soft); }

@media (max-width: 980px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-collage{ order:-1; max-width:420px; margin-inline:auto; margin-bottom:2.4rem; }
  .hero-copy{ text-align:left; }
}
@media (max-width:520px){
  .hero-collage{ aspect-ratio:1/1.15; }
}

/* ---------- Stat cards (redesigned — no gradient banner) ---------- */
.stat-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; }
.stat-card{ text-align:center; padding:1.6rem 1rem; }
.stat-card-icon{
  width:58px; height:58px; border-radius:50%; background:var(--c-sky); color:var(--c-violet);
  display:flex; align-items:center; justify-content:center; margin:0 auto 1.1rem;
}
.stat-card-icon svg{ width:28px; height:28px; }
.stat-card-num{ font-family:var(--font-display); font-size:clamp(1.9rem,1.5rem + 1.3vw,2.5rem); font-weight:700; color:var(--c-ink); line-height:1; }
.stat-card-label{ font-size:.85rem; color:var(--c-ink-mute); margin-top:.5rem; font-weight:600; }
@media (max-width:760px){
  .stat-cards{ grid-template-columns:repeat(4,1fr); gap:.4rem; }
  .stat-card{ padding:.4rem .2rem; }
  .stat-card-icon{ width:36px; height:36px; margin-bottom:.5rem; }
  .stat-card-icon svg{ width:18px; height:18px; }
  .stat-card-num{ font-size:1.15rem; }
  .stat-card-label{ font-size:.62rem; margin-top:.25rem; line-height:1.15; }
}

/* ---------- Stat strip (legacy, still used on Árak page) ---------- */
.stat-strip{ background:var(--grad-cta); padding-block:2.7rem; position:relative; overflow:hidden; }
.stat-strip::after{ content:''; position:absolute; inset:0; background:radial-gradient(70% 140% at 90% -20%, rgba(255,255,255,.22), transparent 60%); mix-blend-mode:overlay; }
.stat-strip .container{ position:relative; z-index:1; display:flex; flex-wrap:wrap; }
.stat-strip .stat{ flex:1 1 150px; padding-inline:1.6rem; border-left:1px solid rgba(255,255,255,.28); text-align:center; }
.stat-strip .stat:first-child{ border-left:none; }
.stat-strip .stat-num{ font-family:var(--font-display); font-size:clamp(2.1rem,1.7rem + 1.4vw,2.9rem); color:#fff; font-weight:700; line-height:1; }
.stat-strip .stat-label{ font-size:.85rem; color:rgba(255,255,255,.85); margin-top:.5rem; font-weight:600; }
@media (max-width:760px){
  .stat-strip .container{ justify-content:center; row-gap:1.6rem; }
  .stat-strip .stat{ flex:1 1 42%; border-left:none; }
}

/* ---------- Photo marquee (learner moments loop) ---------- */
.marquee-wrap{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.marquee-track{ display:flex; gap:1.2rem; width:max-content; animation:marquee 42s linear infinite; will-change:transform; transform:translateZ(0); backface-visibility:hidden; }
.marquee-wrap:hover .marquee-track{ animation-play-state:paused; }
.marquee-track img{ height:230px; width:300px; border-radius:22px; object-fit:cover; flex:none; box-shadow:var(--shadow-card); }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (max-width:760px){ .marquee-track img{ height:130px; width:170px; border-radius:14px; } .marquee-track{ gap:.6rem; animation-duration:28s; } }


/* ==========================================================================
   PAGE HERO (subpages)
   ========================================================================== */
.page-hero{
  position:relative; padding-top: calc(var(--header-h) + 2.4rem); padding-bottom:2.8rem;
  background:linear-gradient(160deg, #E9F1FF 0%, #FFF9E8 55%, #FFF1EC 100%); overflow:hidden; color:var(--c-ink);
}
.page-hero::before{
  content:''; position:absolute; inset:-10%;
  background: radial-gradient(70% 120% at 92% -10%, rgba(154,230,55,.20), transparent 55%),
              radial-gradient(55% 100% at 40% -20%, rgba(255,125,166,.16), transparent 55%),
              radial-gradient(60% 110% at -5% 115%, rgba(41,182,232,.18), transparent 60%);
  filter: blur(40px);
}
.page-hero .container{ position:relative; z-index:1; }
.page-hero h1{ color:var(--c-ink); font-size:var(--fs-display-l); margin-top:.7rem; }
.page-hero .hero-desc{ color:var(--c-ink-soft); }
.page-hero.with-media{ padding-bottom:0; }
.page-hero-media{
  position:relative; z-index:1; margin-top:2.4rem; border-radius:var(--radius-l) var(--radius-l) 0 0;
  overflow:hidden; aspect-ratio:16/6; max-height:340px;
}
.page-hero-media img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:700px){ .page-hero-media{ aspect-ratio:16/11; max-height:260px; } }

.breadcrumb{ font-size:.86rem; color:var(--c-ink-mute); margin-bottom:.4rem; }
.breadcrumb a{ color:var(--c-ink-soft); }
.breadcrumb a:hover{ color:var(--c-violet); }

/* ==========================================================================
   PROCESS TIMELINE ("A jogosítványodhoz vezető út")
   ========================================================================== */
.timeline{ position:relative; margin-top:3rem; }
.timeline-line{
  position:absolute; left:29px; top:8px; bottom:8px; width:3px;
  background:var(--c-line); z-index:0;
}
.timeline-progress{
  position:absolute; left:0; top:0; width:100%; height:0%; background:var(--grad-cta);
  border-radius:3px; transition:height .1s linear;
}
.timeline-item{ position:relative; z-index:1; display:flex; gap:1.6rem; padding-bottom:2.6rem; }
.timeline-item:last-child{ padding-bottom:0; }
.timeline-num{
  flex:none; width:60px; height:60px; border-radius:50%; background:#fff; box-shadow:var(--shadow-card);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700;
  font-size:1.3rem; color:var(--c-violet); border:2px solid var(--c-line);
  opacity:0; transform:scale(.7); transition:opacity .5s var(--ease), transform .5s var(--ease), border-color .4s, color .4s, background .4s;
}
.timeline-item.is-visible .timeline-num{ opacity:1; transform:scale(1); border-color:var(--c-violet); }
.timeline-item.is-visible ~ .timeline-item .timeline-num{ }
.timeline-body{ padding-top:.55rem; opacity:0; transform:translateY(14px); transition:opacity .6s var(--ease) .1s, transform .6s var(--ease) .1s; }
.timeline-item.is-visible .timeline-body{ opacity:1; transform:translateY(0); }
.timeline-body h3{ font-size:1.2rem; margin-bottom:.5rem; }
.timeline-body p{ color:var(--c-ink-soft); max-width:56ch; }

@media (max-width:640px){
  .timeline-line{ left:24px; }
  .timeline-num{ width:48px; height:48px; font-size:1.05rem; }
  .timeline-item{ gap:1.1rem; }
}
.timeline-split{ display:grid; grid-template-columns:.85fr 1.3fr; gap:clamp(2rem,4vw,4rem); align-items:start; }
.timeline-media{ position:sticky; top:calc(var(--header-h) + 1.6rem); border-radius:var(--radius-l); overflow:hidden; aspect-ratio:3/3.8; box-shadow:var(--shadow-card); }
.timeline-media img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:900px){ .timeline-split{ grid-template-columns:1fr; } .timeline-media{ position:static; aspect-ratio:16/9; margin-bottom:1rem; } }

/* ==========================================================================
   SECTION HEAD
   ========================================================================== */
.section-head{ max-width:660px; }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-head h2{ font-size:var(--fs-display-m); }
.section-head p{ margin-top:1rem; color:var(--c-ink-soft); font-size:var(--fs-lead); }
.section-head-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }

/* ==========================================================================
   SPLIT (image + text)
   ========================================================================== */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,4.5rem); align-items:center; }
.split.reverse{ direction:rtl; }
.split.reverse > *{ direction:ltr; }
.split-media{ position:relative; border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--shadow-card); aspect-ratio:4/3.3; }
.split-media img{ width:100%; height:100%; object-fit:cover; }
.split-media .badge-float{
  position:absolute; left:1.2rem; bottom:1.2rem; background:#fff; padding:.75rem 1.1rem; border-radius:14px;
  font-weight:700; font-size:.9rem; box-shadow:var(--shadow-card); display:flex; align-items:center; gap:.6rem;
}
.split-media .badge-float svg{ width:20px; height:20px; color:var(--c-orange); }
@media (max-width:860px){
  .split, .split.reverse{ grid-template-columns:1fr; direction:ltr; }
  .split-media{ aspect-ratio:16/11; }
  .split-media.split-media-portrait{ aspect-ratio:4/3.6; }
}
.split-media-portrait img{ object-position:top center; }

/* ==========================================================================
   CATEGORY GRID (kepzesek)
   ========================================================================== */
.category-grid{ display:grid; grid-template-columns:repeat(5, 1fr); gap:1.1rem; margin-top:2.6rem; }
.category-card{
  position:relative; border-radius:var(--radius-m); overflow:hidden; background:#fff; box-shadow:var(--shadow-card);
  display:flex; flex-direction:column; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  clip-path: polygon(0 0, calc(100% - var(--notch)) 0, 100% var(--notch), 100% 100%, 0 100%);
}
.category-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-pop); }
.category-card .cc-media{ aspect-ratio:4/3; overflow:hidden; }
.category-card .cc-media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.category-card:hover .cc-media img{ transform:scale(1.07); }
.category-card .cc-body{ padding:1.3rem 1.4rem 1.5rem; flex:1; display:flex; flex-direction:column; }
.category-card .cc-tag{ font-family:var(--font-display); font-weight:700; color:var(--c-violet); font-size:1.05rem; }
.category-card .cc-title{ font-weight:700; margin-top:.2rem; }
.category-card .cc-group{ margin-top:.4rem; font-size:.84rem; color:var(--c-ink-mute); }
.category-card .cc-arrow{
  margin-top:1rem; width:38px; height:38px; border-radius:50%; background:var(--c-sky); color:var(--c-violet);
  display:flex; align-items:center; justify-content:center; transition:background .3s, color .3s;
}
.category-card:hover .cc-arrow{ background:var(--c-orange); color:#fff; }
.category-card .cc-arrow svg{ width:16px; height:16px; }

@media (max-width:980px){ .category-grid{ grid-template-columns:repeat(3, 1fr); } }
@media (max-width:560px){ .category-grid{ grid-template-columns:repeat(2, 1fr); gap:.7rem; } }

/* ---------- Compact homepage category grid (3 + "more" tile) ---------- */
.category-grid-compact{ grid-template-columns:repeat(3, 1fr); }
@media (max-width:640px){ .category-grid-compact{ grid-template-columns:1fr; } }

/* ---------- Compact category chips (homepage teaser) ---------- */
.chip-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; margin-top:2.6rem; }
.cat-chip{
  background:#fff; border-radius:18px; padding:1.3rem 1rem; text-align:center; box-shadow:var(--shadow-card);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s;
}
.cat-chip:hover{ transform:translateY(-5px); background:var(--c-violet); box-shadow:var(--shadow-pop); }
.cat-chip .chip-letter{ font-family:var(--font-display); font-weight:700; font-size:1.5rem; color:var(--c-violet); transition:color .35s; }
.cat-chip:hover .chip-letter{ color:#fff; }
.cat-chip .chip-name{ display:block; font-size:.78rem; color:var(--c-ink-mute); margin-top:.3rem; transition:color .35s; }
.cat-chip:hover .chip-name{ color:rgba(255,255,255,.8); }
@media (max-width:860px){ .chip-grid{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:560px){ .chip-grid{ grid-template-columns:repeat(3,1fr); gap:.7rem; } .cat-chip{ padding:1rem .6rem; } }

/* ==========================================================================
   VEHICLE / INSTRUCTOR GRID
   ========================================================================== */
.tile-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:1.4rem; margin-top:2.6rem; }
.instr-grid{ grid-template-columns:repeat(3,1fr); gap:1.6rem; }
@media (max-width:900px){ .instr-grid{ grid-template-columns:repeat(2,1fr); gap:1rem; } }
.veh-grid{ grid-template-columns:repeat(3,1fr); gap:1.6rem; }
@media (max-width:900px){ .veh-grid{ grid-template-columns:repeat(2,1fr); gap:1rem; } }
@media (max-width:640px){ .veh-grid{ gap:1rem; } }
.tile-plate{ font-size:.78rem; font-weight:700; letter-spacing:.03em; color:var(--c-ink-soft); background:var(--c-sky); display:inline-block; padding:.15rem .5rem; border-radius:4px; margin-top:.3rem; }

/* ---------- Post-it style note (autók oldal) ---------- */
.postit{
  max-width:380px; margin:2.4rem auto 0; background:#FFF4BE; color:#4a3f10;
  padding:1.4rem 1.6rem 1.5rem; border-radius:4px 4px 10px 10px; position:relative;
  box-shadow:0 10px 24px -8px rgba(0,0,0,.25), 0 2px 4px rgba(0,0,0,.1);
  transform:rotate(-1.4deg); font-family:var(--font-display); font-size:.92rem; line-height:1.5;
}
.postit::before{ content:""; position:absolute; top:-10px; left:50%; transform:translateX(-50%); width:70px; height:18px; background:rgba(255,255,255,.55); border-radius:2px; }
.postit-pin{ position:absolute; top:-9px; left:50%; transform:translateX(-50%); width:18px; height:18px; color:var(--c-orange); filter:drop-shadow(0 2px 2px rgba(0,0,0,.3)); }
.postit p{ margin:0; }
.instr-mini-card{ display:flex; align-items:center; gap:1.6rem; background:#fff; border-radius:var(--radius-l); padding:1.7rem 2rem; box-shadow:var(--shadow-card); max-width:760px; margin-inline:auto; flex-wrap:wrap; border:2px solid var(--c-sky); }
.instr-mini-card img{ width:92px; height:92px; border-radius:50%; object-fit:cover; flex:none; box-shadow:var(--shadow-card); }
.instr-mini-label{ font-size:.8rem; font-weight:700; color:var(--c-violet); text-transform:uppercase; letter-spacing:.05em; }
.instr-mini-name{ font-family:var(--font-display); font-weight:800; font-size:1.4rem; margin-top:.25rem; }
.instr-mini-sub{ font-size:.92rem; color:var(--c-ink-mute); margin-top:.25rem; }
.instr-mini-card .btn-text{ margin-left:auto; font-size:.95rem; }
@media (max-width:560px){
  .instr-mini-card{ padding:1.3rem 1.4rem; gap:1.1rem; }
  .instr-mini-card img{ width:68px; height:68px; }
  .instr-mini-name{ font-size:1.15rem; }
  .instr-mini-card .btn-text{ margin-left:0; width:100%; }
}
.instr-filter-bar{ display:flex; gap:.6rem; flex-wrap:wrap; background:var(--c-sky); border-radius:999px; padding:.6rem; }
.instr-filter-btn{ font:inherit; font-weight:700; font-size:.86rem; padding:.6rem 1.25rem; border-radius:999px; border:none; background:transparent; color:var(--c-violet-ink); cursor:pointer; transition:background .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease); }
.instr-filter-btn:hover{ background:#fff; color:var(--c-violet); }
.instr-filter-btn.is-active{ background:var(--c-violet); color:#fff; box-shadow:var(--shadow-card); }
@media (max-width:640px){ .instr-filter-bar{ border-radius:var(--radius-m); } }
.instr-group{ margin-top:3.4rem; padding-top:2.6rem; border-top:1px solid var(--c-line); }
.instr-group:first-child{ margin-top:0; padding-top:0; border-top:none; }
.instr-group-head{ margin-bottom:1.6rem; display:flex; align-items:baseline; gap:.8rem; flex-wrap:wrap; }
.instr-group-head .kicker{ background:var(--c-violet); color:#fff; padding:.3rem .8rem; border-radius:999px; font-size:.74rem; }
.instr-group-head h2{ font-size:1.3rem; margin:0; }
.instr-group[hidden]{ display:none; }
.veh-teaser-grid{ grid-template-columns:repeat(4,1fr); gap:1.1rem; }
@media (max-width:760px){ .veh-teaser-grid{ grid-template-columns:repeat(2,1fr); gap:.8rem; } }
.card-tile{
  background:#fff; border-radius:var(--radius-m); overflow:hidden; box-shadow:var(--shadow-card);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease); display:block;
}
.card-tile:hover{ transform:translateY(-6px); box-shadow:var(--shadow-pop); }
.card-tile .tile-media{ aspect-ratio:4/3; overflow:hidden; }
.card-tile.is-portrait .tile-media{ aspect-ratio:3/3.4; }
.card-tile .tile-media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.card-tile:hover .tile-media img{ transform:scale(1.06); }
.card-tile .tile-body{ padding:1.2rem 1.3rem 1.4rem; }
.tile-eyebrow{ font-size:.78rem; font-weight:700; color:var(--c-violet); }
.tile-title{ font-family:var(--font-display); font-weight:700; font-size:1.08rem; margin-top:.15rem; }
.tile-sub{ font-size:.86rem; color:var(--c-ink-mute); margin-top:.15rem; }
.tile-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:.9rem; }
.tile-arrow{ width:34px; height:34px; border-radius:50%; background:var(--c-sky); color:var(--c-violet); display:flex; align-items:center; justify-content:center; }
.tile-arrow svg{ width:15px; height:15px; }
.card-tile:hover .tile-arrow{ background:var(--c-orange); color:#fff; }

/* ==========================================================================
   PILLARS / FEATURE CARDS
   ========================================================================== */
.pillars{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; margin-top:2.8rem; }
.pillar{
  background:#fff; border-radius:var(--radius-m); padding:1.8rem 1.6rem; box-shadow:var(--shadow-card);
}
.pillar-icon{
  width:52px; height:52px; border-radius:16px; background:var(--c-sky); color:var(--c-violet);
  display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem;
}
.pillar-icon svg{ width:26px; height:26px; }
.pillar h3{ font-size:1.1rem; margin-bottom:.5rem; }
.pillar p{ color:var(--c-ink-soft); font-size:.95rem; }
@media (max-width:980px){ .pillars{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .pillars{ grid-template-columns:1fr; } }

/* ==========================================================================
   TESTIMONIALS
   ========================================================================== */
.testi-rail{ position:relative; margin-top:2.6rem; }
.testi-track{
  display:flex; gap:1.4rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:.6rem;
  scrollbar-width:none;
}
.testi-track::-webkit-scrollbar{ display:none; }
.testi-card{
  flex:0 0 min(360px, 84vw); scroll-snap-align:start; background:#fff; border-radius:var(--radius-l);
  padding:2.2rem; box-shadow:var(--shadow-card); border-top:4px solid var(--c-pink); position:relative;
}
.testi-card.is-full{ flex:none; width:100%; }
.testi-card::before{
  content:'“'; position:absolute; top:1rem; right:1.6rem; font-family:var(--font-display); font-size:3.5rem;
  color:var(--c-sky); line-height:1; font-weight:700;
}
.testi-stars{ display:flex; gap:.2rem; color:var(--c-lime-deep); margin-bottom:1.1rem; position:relative; z-index:1; }
.testi-stars svg{ width:16px; height:16px; }
.testi-quote{ color:var(--c-ink-soft); font-size:1.04rem; line-height:1.65; position:relative; z-index:1; }
.testi-person{ display:flex; align-items:center; gap:.9rem; margin-top:1.6rem; }
.testi-avatar{ width:48px; height:48px; border-radius:50%; background:var(--c-pink); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-family:var(--font-display); flex:none; }
.testi-name{ font-weight:700; font-size:.95rem; }
.testi-role{ font-size:.82rem; color:var(--c-ink-mute); }
.testi-controls{ display:flex; gap:.7rem; justify-content:center; margin-top:1.6rem; }
.testi-controls button{ width:44px; height:44px; border-radius:50%; background:#fff; box-shadow:var(--shadow-card); display:flex; align-items:center; justify-content:center; transition:background .3s,color .3s; }
.testi-controls button:hover{ background:var(--c-violet); color:#fff; }
.testi-controls svg{ width:18px; height:18px; }

/* ==========================================================================
   FAQ ACCORDION
   ========================================================================== */
.faq-list{ max-width:820px; margin-top:2.6rem; }
.faq-item{ border-bottom:1px solid var(--c-line); }
.faq-item:first-child{ border-top:1px solid var(--c-line); }
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.25rem 1.5rem; text-align:left; font-weight:700; font-family:var(--font-display); font-size:1.02rem;
}
.faq-q .plus{ flex:none; width:30px; height:30px; border-radius:50%; background:var(--c-sky); color:var(--c-violet); display:flex; align-items:center; justify-content:center; transition:transform .35s var(--ease), background .3s, color .3s; }
.faq-item.is-open .faq-q .plus{ transform:rotate(135deg); background:var(--c-orange); color:#fff; }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.faq-a-in{ padding:0 1.5rem 1.4rem; color:var(--c-ink-soft); max-width:70ch; }

/* ==========================================================================
   CTA BAND
   ========================================================================== */
.cta-band{
  position:relative; overflow:hidden; border-radius:var(--radius-l);
  padding:clamp(2.8rem,5vw,4.5rem) clamp(1.6rem,4vw,3rem); color:#fff; text-align:center;
  min-height:280px; display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.cta-band .cta-bg{ position:absolute; inset:0; z-index:0; }
.cta-band .cta-bg img{ width:100%; height:100%; object-fit:cover; }
.cta-band .cta-bg::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(18,10,30,.45) 0%, rgba(18,10,30,.72) 100%);
}
.cta-band > *{ position:relative; z-index:1; }
.cta-band h2{ color:#fff; font-size:var(--fs-display-m); }
.cta-band p{ color:rgba(255,255,255,.88); margin-top:.9rem; max-width:52ch; margin-inline:auto; }
.cta-band .btn-primary{ margin-top:1.8rem; background:var(--c-orange); color:var(--c-ink); box-shadow:0 16px 32px -12px rgba(0,0,0,.4); }
.cta-band .btn-primary:hover{ background:var(--c-orange-deep); }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{ background:var(--c-bg-tint); color:var(--c-ink); padding-top:4rem; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.4rem; padding-block:3rem; border-bottom:1px solid var(--c-line); }
.footer-grid img{ height:34px; }
.footer-grid p{ margin-top:1.1rem; color:var(--c-ink-mute); max-width:32ch; font-size:.9rem; }
.footer-col h4{ font-size:.92rem; color:var(--c-ink); margin-bottom:1.1rem; }
.footer-col a{ display:block; color:var(--c-ink-soft); font-size:.92rem; padding:.35rem 0; transition:color .25s; }
.footer-col a:hover{ color:var(--c-violet); }
.footer-social{ display:flex; gap:.7rem; margin-top:1.3rem; }
.footer-social a{ width:38px; height:38px; border-radius:50%; background:#fff; box-shadow:var(--shadow-card); color:var(--c-violet); display:flex; align-items:center; justify-content:center; transition:background .3s,color .3s; }
.footer-social a:hover{ background:var(--c-orange); color:#fff; }
.footer-social svg{ width:17px; height:17px; }
.footer-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; padding-block:1.6rem; font-size:.85rem; color:var(--c-ink-mute); }
.footer-bottom-links{ display:flex; gap:1.4rem; flex-wrap:wrap; }
.footer-bottom-links a:hover{ color:var(--c-violet); }
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   FORMS
   ========================================================================== */
.form-card{ background:#fff; border-radius:var(--radius-l); padding:clamp(1.6rem,3vw,2.6rem); box-shadow:var(--shadow-card); }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.form-field{ display:flex; flex-direction:column; gap:.5rem; }
.form-field.full{ grid-column:1/-1; }
.form-field label{ font-size:.88rem; font-weight:700; color:var(--c-ink-soft); }
.form-field input, .form-field select, .form-field textarea{
  width:100%; max-width:100%; border:2px solid var(--c-line); border-radius:12px; padding:.85rem 1rem; font-family:var(--font-body); font-size:.98rem;
  background:var(--c-bg); transition:border-color .25s;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{ border-color:var(--c-violet); outline:none; }
.form-field .hint{ font-size:.78rem; color:var(--c-ink-mute); }
.form-check{ display:flex; align-items:flex-start; gap:.7rem; font-size:.9rem; color:var(--c-ink-soft); cursor:pointer; }
.form-check input{ margin-top:.2rem; accent-color:var(--c-violet); width:18px; height:18px; }
.form-submit{ width:100%; }
.form-success{ display:none; text-align:center; padding:3rem 1rem; }
.form-success.is-visible{ display:block; }
.form-success svg{ width:56px; height:56px; color:var(--c-lime-deep); margin-inline:auto; margin-bottom:1rem; }
@media (max-width:640px){ .form-grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   PRICING TABLE
   ========================================================================== */
.pricing-table{ width:100%; border-collapse:collapse; background:#fff; border-radius:var(--radius-m); overflow:hidden; box-shadow:var(--shadow-card); }
.pricing-table th, .pricing-table td{ padding:1rem 1.4rem; text-align:left; border-bottom:1px solid var(--c-line); font-size:.95rem; }
.pricing-table th{ background:var(--c-sky); font-family:var(--font-display); font-weight:700; color:var(--c-violet-ink); }
.pricing-table td.num, .pricing-table th.num{ text-align:right; font-weight:700; }
.pricing-table tr:last-child td{ border-bottom:none; }
.pricing-table .row-total td{ background:var(--c-bg-tint); font-weight:800; color:var(--c-violet-ink); }
.pricing-table td.num, .pricing-table th.num{ white-space:nowrap; }
@media (max-width:480px){
  .pricing-table th, .pricing-table td{ padding:.75rem .7rem; font-size:.82rem; }
  .pricing-table td.num, .pricing-table th.num{ font-size:.82rem; }
}
.price-note{ font-size:.85rem; color:var(--c-ink-mute); margin-top:1rem; }
.row-sub{ display:inline-block; font-size:.78rem; font-weight:600; color:var(--c-ink-mute); background:var(--c-sky); padding:.05rem .5rem; border-radius:999px; margin-left:.3rem; white-space:nowrap; }

/* ---------- Colorful uniform price-card wrapper (category pages) ---------- */
.price-card-boxed{ background:#fff; border-radius:var(--radius-l); padding:1.8rem 1.9rem 1.6rem; box-shadow:var(--shadow-card); border-top:5px solid var(--c-orange); max-width:560px; margin-inline:auto; }
.price-card-boxed .pricing-table{ box-shadow:none; }
.price-card-boxed .price-card-icon{ width:46px; height:46px; border-radius:13px; background:var(--c-sky); color:var(--c-violet); display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.price-card-boxed .price-card-icon svg{ width:22px; height:22px; }
.price-cards-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; max-width:1040px; margin-inline:auto; align-items:start; }
.price-cards-row .price-card-boxed{ max-width:none; }
.price-cards-row .price-card-boxed-label{ font-weight:700; margin-bottom:.9rem; text-align:center; color:var(--c-violet-ink); }
@media (max-width:760px){ .price-cards-row{ grid-template-columns:1fr; } }

/* ---------- "A kategóriáról röviden" redesigned blurb ---------- */
.about-blurb{ max-width:680px; margin-inline:auto; text-align:center; background:var(--c-sky); border-radius:var(--radius-l); padding:2.2rem 2rem; position:relative; }
.about-blurb .about-blurb-icon{ width:48px; height:48px; border-radius:50%; background:#fff; color:var(--c-violet); display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; box-shadow:var(--shadow-card); }
.about-blurb .about-blurb-icon svg{ width:22px; height:22px; }
.about-blurb p{ color:var(--c-violet-ink); font-size:1.02rem; line-height:1.65; margin:0; }
.about-blurb .kicker{ display:block; margin-bottom:.6rem; }

/* ---------- "Másik kategória" link card (category pages) ---------- */
.further-cats{ display:flex; align-items:center; justify-content:space-between; gap:1.4rem; max-width:760px; margin-inline:auto; padding:1.5rem 1.8rem; background:#fff; border-radius:var(--radius-l); box-shadow:var(--shadow-card); border:2px solid var(--c-sky); transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
.further-cats:hover{ transform:translateY(-3px); box-shadow:var(--shadow-pop); border-color:var(--c-violet); }
.further-cats-text{ display:flex; flex-direction:column; gap:.2rem; }
.further-cats-title{ font-family:var(--font-display); font-weight:800; font-size:1.2rem; color:var(--c-violet-ink); }
.further-cats-sub{ color:var(--c-ink-mute); font-size:.95rem; }
.further-cats-go{ flex:none; width:48px; height:48px; border-radius:50%; background:var(--c-violet); color:#fff; display:flex; align-items:center; justify-content:center; transition:transform .3s var(--ease), background .3s; }
.further-cats:hover .further-cats-go{ transform:translateX(4px); background:var(--c-orange); }
.further-cats-go svg{ width:20px; height:12px; }
.doc-link{ display:inline-flex; align-items:center; gap:.6rem; background:#fff; border-radius:100px; padding:.75rem 1.3rem; font-weight:700; font-size:.88rem; box-shadow:var(--shadow-card); color:var(--c-violet); transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.doc-link:hover{ transform:translateY(-2px); box-shadow:var(--shadow-pop); }
.doc-link svg{ width:18px; height:18px; flex:none; }

/* ---------- Document cards (Tájékoztatók page) ---------- */
.doc-card-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem; margin-top:2rem; }
.doc-card{ display:flex; gap:1.2rem; background:#fff; border-radius:var(--radius-m); padding:1.5rem; box-shadow:var(--shadow-card); transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.doc-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-pop); }
.doc-card-icon{ width:48px; height:48px; border-radius:14px; background:var(--c-sky); color:var(--c-violet); display:flex; align-items:center; justify-content:center; flex:none; }
.doc-card-icon svg{ width:22px; height:22px; }
@media (max-width:700px){ .doc-card-grid{ grid-template-columns:1fr; } }

/* ---------- Grouped document cards (Tájékoztatók page, v2) ---------- */
.doc-group-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:2rem; }
.doc-group{ background:#fff; border-radius:var(--radius-m); padding:1.3rem 1.3rem 1.4rem; box-shadow:var(--shadow-card); transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.doc-group:hover{ transform:translateY(-4px); box-shadow:var(--shadow-pop); }
.doc-group-head{ margin-bottom:1rem; }
.doc-group-head .tile-eyebrow{ display:inline-block; margin-bottom:.3rem; }
.doc-group-head h3{ font-size:1.05rem; line-height:1.3; margin:0; }
.doc-group .doc-links{ display:flex; flex-direction:column; gap:.6rem; }
.doc-group .doc-link{ justify-content:flex-start; width:100%; box-shadow:none; background:var(--c-sky); font-size:.85rem; padding:.65rem 1rem; }
.doc-group .doc-link:hover{ transform:none; box-shadow:none; background:var(--c-violet); color:#fff; }
@media (max-width:980px){ .doc-group-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .doc-group-grid{ grid-template-columns:1fr; } }

/* ---------- Statisztika tables ---------- */
.stat-table-wrap{ overflow-x:auto; }
.stat-table-wrap .pricing-table{ min-width:460px; }

/* ---------- Ajándékutalvány (gift voucher) ---------- */
/* ---------- Ajándékutalvány (bachusz-voucher-*) — kompakt, végleges ---------- */
.bachusz-voucher{ padding-block: clamp(2.4rem, 1.9rem + 2vw, 3.6rem); background:#fff; overflow:visible; }
.bachusz-voucher-grid{
  display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(2rem,4vw,3.6rem); align-items:center;
}
.bachusz-voucher-eyebrow{
  display:inline-flex; align-items:center; gap:.55rem; font-size:.78rem; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:var(--c-violet-deep);
}
.bachusz-voucher-dot{ width:7px; height:7px; border-radius:50%; background:var(--c-orange); flex:none; }
.bachusz-voucher-heading{
  margin-top:.7rem; font-size:clamp(1.9rem,1.5rem+1.8vw,2.7rem); line-height:1.1; font-weight:800; color:var(--c-ink);
}
.bachusz-voucher-desc{ margin-top:.9rem; font-size:.98rem; line-height:1.6; color:var(--c-ink-soft); max-width:42ch; }
.bachusz-voucher-cta{
  display:inline-flex; align-items:center; gap:.6rem; margin-top:1.5rem; padding:.95rem 1.6rem; border-radius:100px;
  background:var(--c-orange); color:var(--c-ink); font-weight:700; font-size:.96rem; box-shadow:0 14px 26px -14px rgba(154,230,55,.6);
  transition:transform .25s, box-shadow .25s;
}
.bachusz-voucher-cta:hover{ transform:translateY(-2px); box-shadow:0 18px 32px -14px rgba(154,230,55,.7); }
.bachusz-voucher-cta svg{ width:18px; height:11px; }
.bachusz-voucher-features{ display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; margin-top:1.6rem; }
.bachusz-voucher-feature{ font-size:.84rem; font-weight:600; color:var(--c-ink-soft); white-space:nowrap; }

.bachusz-voucher-visual{ position:relative; display:flex; align-items:center; justify-content:center; padding:1.2rem; }
.bachusz-voucher-glow{
  position:absolute; inset:-14% -16%; z-index:0; border-radius:50%;
  background:radial-gradient(closest-side, rgba(41,182,232,.40) 0%, rgba(41,182,232,.18) 50%, transparent 76%);
  filter:blur(16px);
}
.bachusz-voucher-frame{
  position:relative; z-index:1; width:100%; max-width:440px; display:flex; justify-content:center;
}
.bachusz-voucher-card-img{
  display:block; width:100%; height:auto;
  filter:drop-shadow(0 22px 32px rgba(14,21,48,.38));
  animation:bachusz-voucher-float 4.8s ease-in-out infinite;
}
@keyframes bachusz-voucher-float{
  0%, 100%{ transform:translateY(0); }
  50%{ transform:translateY(-10px); }
}
@media (prefers-reduced-motion: reduce){
  .bachusz-voucher-card-img{ animation:none; }
}
@media (max-width:860px){
  .bachusz-voucher-grid{ grid-template-columns:1fr; text-align:center; }
  .bachusz-voucher-copy{ display:contents; }
  .bachusz-voucher-eyebrow{ order:1; justify-content:center; }
  .bachusz-voucher-heading{ order:2; }
  .bachusz-voucher-desc{ order:3; margin-inline:auto; }
  .bachusz-voucher-cta{ order:4; width:100%; justify-content:center; }
  .bachusz-voucher-visual{ order:5; padding:1.6rem .5rem; }
  .bachusz-voucher-features{ order:6; justify-content:center; margin-top:1.4rem; }
  .bachusz-voucher-frame{ max-width:320px; width:90%; }
}
.price-tabs{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2rem; }
.price-tab{ padding:.65rem 1.2rem; border-radius:100px; background:#fff; box-shadow:var(--shadow-card); font-weight:700; font-size:.88rem; transition:background .3s,color .3s; }
.price-tab.is-active, .price-tab:hover{ background:var(--c-violet); color:#fff; }

.price-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:1.6rem; align-items:start; }
.price-card{ background:#fff; border-radius:var(--radius-m); padding:1.6rem 1.7rem; box-shadow:var(--shadow-card); }
.price-card .pricing-table{ box-shadow:none; }
.price-card{ --tone:var(--c-violet); --tone-soft:var(--c-sky); border-top:5px solid var(--tone); position:relative; height:100%; }
.price-card.tone-auto{ --tone:var(--c-orange-deep); --tone-soft:#F1FBDD; }
.price-card.tone-trailer{ --tone:var(--c-lime-deep); --tone-soft:#FFF6DA; }
.price-card.tone-truck{ --tone:var(--c-pink); --tone-soft:#FFEAF1; }
.price-card.tone-bus{ --tone:var(--c-violet-deep); --tone-soft:#DDF3FC; }
.price-head{ display:flex; align-items:center; gap:.8rem; margin-bottom:.3rem; }
.price-head h3{ font-size:1.05rem; margin:0; }
.price-tag{ font-family:var(--font-display); font-weight:800; font-size:1rem; background:var(--tone-soft); color:var(--c-violet-ink); padding:.25rem .8rem; border-radius:999px; border:1.5px solid var(--tone); white-space:nowrap; }
.price-sub{ font-size:.86rem; color:var(--c-ink-mute); margin-bottom:1rem; }
.price-head + table{ margin-top:1rem; }
.price-card .row-total td{ background:var(--tone-soft); }
.price-card .row-total td.num{ color:var(--c-violet-ink); font-size:1.08rem; }
.price-card .price-note{ background:var(--tone-soft); display:inline-block; padding:.35rem .8rem; border-radius:10px; color:var(--c-violet-ink); }
.price-card.is-popular::after{ content:"Legnépszerűbb"; position:absolute; top:-.8rem; right:1.2rem; background:var(--c-pink); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.04em; padding:.3rem .8rem; border-radius:999px; box-shadow:var(--shadow-card); }
@media (max-width:760px){ .price-grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   MISC: info grid, checklist, ghost number, contact strip, legal
   ========================================================================== */
.info-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:2rem; }
.info-item{ background:#fff; border-radius:var(--radius-s); padding:1.2rem 1.4rem; box-shadow:var(--shadow-card); }
.info-label{ font-size:.78rem; color:var(--c-ink-mute); font-weight:700; }
.info-value{ margin-top:.3rem; font-weight:700; font-family:var(--font-display); }
@media (max-width:760px){ .info-grid{ grid-template-columns:1fr; } }

.checklist li{ display:flex; align-items:flex-start; gap:.8rem; padding:.55rem 0; }
.checklist svg{ width:22px; height:22px; color:#fff; background:var(--c-violet); border-radius:50%; padding:4px; flex:none; margin-top:.05rem; }
.checklist span{ color:var(--c-ink-soft); }

.ghost-number{ font-family:var(--font-display); font-weight:700; font-size:clamp(4rem,10vw,7.5rem); color:var(--c-line); line-height:1; }

/* ---------- Practical-hours breakdown bar (category pages) ---------- */
.breakdown-bar{ display:flex; width:100%; height:14px; border-radius:20px; overflow:hidden; background:var(--c-line); }
.breakdown-bar span{ height:100%; }
.breakdown-legend{ display:flex; flex-wrap:wrap; gap:1.4rem; margin-top:1.2rem; }
.breakdown-legend span{ display:inline-flex; align-items:center; gap:.5rem; font-size:.88rem; color:var(--c-ink-soft); font-weight:600; }
.breakdown-legend .dot{ width:10px; height:10px; border-radius:50%; flex:none; }

.contact-strip{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.contact-strip-item{ background:#fff; border-radius:var(--radius-m); padding:1.4rem; display:flex; align-items:center; gap:1rem; box-shadow:var(--shadow-card); transition:transform .3s var(--ease); }
a.contact-strip-item:hover{ transform:translateY(-4px); }
.contact-strip-icon{ width:46px; height:46px; border-radius:14px; background:var(--c-sky); color:var(--c-violet); display:flex; align-items:center; justify-content:center; flex:none; }
.contact-strip-icon svg{ width:22px; height:22px; }
.contact-strip-label{ display:block; font-size:.78rem; color:var(--c-ink-mute); font-weight:700; }
.contact-strip-value{ display:block; font-weight:700; }
@media (max-width:760px){ .contact-strip{ grid-template-columns:1fr; } }

.map-embed{ border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--shadow-card); }
.map-embed iframe{ width:100%; height:100%; border:0; display:block; min-height:340px; }

/* ---------- Contact panel (Kapcsolat page) ---------- */
.contact-panel{
  display:grid; grid-template-columns:1fr 1fr; border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--shadow-pop);
  min-height:520px;
}
.contact-panel-info{ background:var(--grad-cta); color:#fff; padding:clamp(2rem,4vw,3rem); display:flex; flex-direction:column; }
.contact-panel-info h2{ margin-top:.6rem; }
.contact-panel-links{ display:flex; flex-direction:column; gap:1rem; margin-top:1.8rem; }
.contact-panel-links a{ display:flex; align-items:center; gap:1rem; color:#fff; }
.contact-panel-links svg{ width:22px; height:22px; flex:none; background:rgba(255,255,255,.16); border-radius:12px; padding:9px; box-sizing:content-box; }
.contact-panel-links small{ display:block; font-size:.76rem; opacity:.75; font-weight:600; }
.contact-panel-links span{ font-weight:700; }
.contact-panel-hours{ margin-top:auto; padding-top:2rem; border-top:1px solid rgba(255,255,255,.2); }
.contact-panel-hours h4{ color:#fff; font-size:.92rem; margin-bottom:.8rem; }
.contact-panel-hours div{ display:flex; justify-content:space-between; padding:.35rem 0; font-size:.9rem; color:rgba(255,255,255,.85); }
.contact-panel-map{ min-height:320px; }
.contact-panel-map iframe{ width:100%; height:100%; border:0; display:block; }
@media (max-width:860px){ .contact-panel{ grid-template-columns:1fr; } .contact-panel-map{ min-height:280px; } }

.spot-pills{ display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center; margin-top:2rem; }
.spot-pill{ display:inline-flex; align-items:center; gap:.55rem; background:#fff; border-radius:100px; padding:.8rem 1.3rem; font-weight:700; font-size:.9rem; box-shadow:var(--shadow-card); }
.spot-pill svg{ width:17px; height:17px; color:var(--c-pink); flex:none; }

.legal-content{ max-width:760px; margin-inline:auto; }
.legal-content h2{ font-size:1.3rem; margin-top:2.2rem; margin-bottom:.9rem; }
.legal-content h2:first-child{ margin-top:0; }
.legal-content p, .legal-content li{ color:var(--c-ink-soft); }
.legal-content ul{ display:flex; flex-direction:column; gap:.5rem; padding-left:1.3rem; list-style:disc; }
.legal-content a{ color:var(--c-violet); text-decoration:underline; }
.verify-note{ background:var(--c-sky); border-radius:var(--radius-s); padding:1.1rem 1.3rem; font-size:.9rem; color:var(--c-violet-ink); margin-bottom:1.6rem; }

.tag-row{ display:flex; flex-wrap:wrap; gap:.6rem; }
.tag{ padding:.4rem .9rem; border-radius:100px; background:var(--c-sky); color:var(--c-violet); font-weight:700; font-size:.82rem; }
.profile-strip{ display:flex; flex-wrap:wrap; gap:1.6rem; margin-top:1.6rem; padding:1.3rem 1.5rem; background:#fff; border-radius:var(--radius-m); box-shadow:var(--shadow-card); }
.instr-profile{ display:grid; grid-template-columns:220px 1fr; gap:2.2rem; align-items:center; background:#fff; border-radius:var(--radius-l); padding:1.8rem; box-shadow:var(--shadow-card); }
.instr-profile-photo{ width:220px; height:220px; border-radius:var(--radius-m); object-fit:cover; object-position:center top; box-shadow:var(--shadow-card); }
.instr-profile .profile-strip{ display:grid; grid-template-columns:repeat(2,1fr); gap:.9rem; margin:0; padding:0; background:none; box-shadow:none; border-radius:0; }
.instr-profile .profile-strip > div{ background:var(--c-sky); border-radius:var(--radius-s); padding:.9rem 1.1rem; min-width:0; }
.instr-profile .p-label{ text-transform:uppercase; letter-spacing:.05em; font-size:.7rem; color:var(--c-violet-deep); }
.instr-profile .p-val{ font-size:.98rem; line-height:1.35; overflow-wrap:anywhere; }
@media (max-width:860px){ .instr-profile{ grid-template-columns:1fr; justify-items:center; text-align:left; gap:1.4rem; } .instr-profile .profile-strip{ width:100%; } .instr-profile-photo{ width:160px; height:160px; border-radius:50%; } }
@media (max-width:520px){ .instr-profile{ padding:1.3rem; } .instr-profile .profile-strip{ grid-template-columns:1fr; } }
.p-label{ font-size:.76rem; color:var(--c-ink-mute); font-weight:700; }
.p-val{ font-weight:700; margin-top:.15rem; }
.p-val a{ color:var(--c-violet); }

/* ==========================================================================
   REVEAL / ANIMATION UTILITIES
   ========================================================================== */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-visible{ opacity:1; transform:translateY(0); }
.reveal-scale{ opacity:0; transform:scale(.94); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal-scale.is-visible{ opacity:1; transform:scale(1); }
.stagger > *{ opacity:0; transform:translateY(24px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.stagger.is-visible > *{ opacity:1; transform:translateY(0); }
.stagger.is-visible > *:nth-child(1){ transition-delay:.02s; }
.stagger.is-visible > *:nth-child(2){ transition-delay:.09s; }
.stagger.is-visible > *:nth-child(3){ transition-delay:.16s; }
.stagger.is-visible > *:nth-child(4){ transition-delay:.23s; }
.stagger.is-visible > *:nth-child(5){ transition-delay:.30s; }
.stagger.is-visible > *:nth-child(6){ transition-delay:.37s; }
.stagger.is-visible > *:nth-child(n+7){ transition-delay:.4s; }

.magnetic{ will-change:transform; }

.scroll-progress{ position:fixed; top:0; left:0; height:3px; background:var(--grad-cta); z-index:300; width:0%; }
.back-to-top{
  position:fixed; right:1.5rem; bottom:1.5rem; width:48px; height:48px; border-radius:50%;
  background:var(--c-violet); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-pop); opacity:0; pointer-events:none; transform:translateY(10px);
  transition:opacity .3s, transform .3s; z-index:150;
}
.back-to-top.is-visible{ opacity:1; pointer-events:auto; transform:translateY(0); }
.back-to-top svg{ width:20px; height:20px; }

.text-center{ text-align:center; }

/* Utility for full-bleed image-behind hero on small pages */
.eyebrow{ display:none; } /* legacy class no longer used visually; kept for backward compat */

/* ---------- Homepage instructor circles ---------- */
.instr-circles{ display:grid; grid-template-columns:repeat(6,1fr); gap:1.6rem 1.2rem; margin-top:2.4rem; }
.instr-circle{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:.2rem; }
.instr-circle-photo{ position:relative; width:100%; max-width:168px; aspect-ratio:1; border-radius:50%; padding:5px; background:linear-gradient(135deg,var(--c-violet),var(--c-orange)); box-shadow:var(--shadow-card); transition:transform .4s var(--ease), box-shadow .4s var(--ease); margin-bottom:.8rem; }
.instr-circle-photo img{ width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:center top; border:4px solid #fff; }
.instr-circle:hover .instr-circle-photo{ transform:translateY(-6px) scale(1.04); box-shadow:var(--shadow-pop); }
.instr-circle-name{ font-family:var(--font-display); font-weight:700; font-size:1rem; line-height:1.25; }
.instr-circle-sub{ font-size:.84rem; color:var(--c-ink-mute); }
@media (max-width:900px){ .instr-circles{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:480px){ .instr-circles{ gap:1.4rem .8rem; } .instr-circle-name{ font-size:.9rem; } }

/* ---------- Instructor profile v2 ---------- */
.instr-hero-grid{ display:grid; grid-template-columns:260px 1fr; gap:3rem; align-items:center; margin-top:1.6rem; }
.instr-hero-photo{ width:260px; height:260px; border-radius:50%; padding:7px; background:linear-gradient(135deg,var(--c-violet),var(--c-orange)); box-shadow:var(--shadow-pop); }
.instr-hero-photo img{ width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:center top; border:6px solid #fff; }
.role-chip{ display:inline-block; background:#fff; color:var(--c-violet-deep); font-weight:700; font-size:.85rem; padding:.4rem 1rem; border-radius:999px; box-shadow:var(--shadow-card); margin-bottom:.9rem; }
.instr-hero-text h1{ margin:0 0 .6rem; }
.instr-tagline{ font-family:var(--font-display); font-size:clamp(1.15rem,1rem + .8vw,1.5rem); font-weight:500; color:var(--c-violet-ink); line-height:1.4; border-left:4px solid var(--c-orange); padding-left:1rem; max-width:34ch; margin:0 0 1.6rem; }
.instr-hero-actions{ display:flex; gap:.9rem; flex-wrap:wrap; }
.instr-hero-actions .btn svg:not(.arrow){ width:18px; height:18px; }
.instr-body{ display:grid; grid-template-columns:1.5fr 1fr; gap:3.2rem; align-items:start; }
.instr-bio h2{ margin-bottom:1.2rem; }
.instr-bio p{ color:var(--c-ink-soft); font-size:1.05rem; line-height:1.75; margin:0 0 1.1rem; }
.instr-bio .instr-lead{ font-size:1.2rem; color:var(--c-violet-ink); line-height:1.65; }
.instr-facts{ position:sticky; top:calc(var(--header-h) + 1.2rem); background:#fff; border-radius:var(--radius-l); padding:1.8rem; box-shadow:var(--shadow-pop); border-top:5px solid var(--c-violet); }
.instr-facts h3{ font-size:1.1rem; margin:0 0 1.1rem; }
.instr-facts ul{ display:flex; flex-direction:column; gap:1rem; }
.instr-facts li{ display:flex; gap:.9rem; align-items:flex-start; }
.fact-icon{ flex:none; width:40px; height:40px; border-radius:50%; background:var(--c-sky); color:var(--c-violet-deep); display:flex; align-items:center; justify-content:center; }
.fact-icon svg{ width:19px; height:19px; }
.fact-text{ display:flex; flex-direction:column; min-width:0; }
.fact-label{ font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; color:var(--c-ink-mute); font-weight:700; }
.fact-val{ font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.fact-val a{ color:var(--c-violet-deep); }
@media (max-width:900px){
  .instr-hero-grid{ grid-template-columns:1fr; justify-items:center; text-align:center; gap:1.6rem; }
  .instr-hero-photo{ width:200px; height:200px; }
  .instr-tagline{ border-left:none; padding-left:0; margin-inline:auto; }
  .instr-hero-actions{ justify-content:center; }
  .instr-body{ grid-template-columns:1fr; gap:2rem; }
  .instr-facts{ position:static; }
}
/* oktatók lista: csoportfejléc v2 */
.instr-group-head{ display:flex; align-items:center; gap:1rem; margin-bottom:1.6rem; }
.igh-icon{ flex:none; width:52px; height:52px; border-radius:16px; background:var(--c-violet); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-card); }
.igh-icon svg{ width:26px; height:26px; }
.instr-group-head h2{ margin:0; font-size:1.5rem; }
.instr-group-head p{ margin:.1rem 0 0; color:var(--c-ink-mute); font-weight:600; font-size:.92rem; }

/* bemutatkozás v3: nyitómondat + ikonos kártyák */
.bio-lead{ position:relative; background:linear-gradient(135deg,#FFF3D6,#FFE9F0); border-radius:var(--radius-l); padding:2rem 2rem 1.8rem 4.6rem; margin:.4rem 0 1.4rem; }
.bio-quote{ position:absolute; left:1.3rem; top:.1rem; font:700 5.2rem/1 var(--font-display); color:var(--c-pink); }
.instr-bio .bio-lead p{ margin:0; font:500 1.3rem/1.6 var(--font-display); color:var(--c-violet-ink); }
.bio-cards{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.bio-card{ background:#fff; border-radius:var(--radius-m); padding:1.6rem; box-shadow:var(--shadow-card); border-top:5px solid var(--c-violet); }
.bio-card-2{ border-top-color:var(--c-orange); }
.bio-ico{ width:46px; height:46px; border-radius:14px; background:var(--c-sky); color:var(--c-violet-deep); display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.bio-card-2 .bio-ico{ background:#EEFBD6; color:var(--c-orange-deep); }
.bio-ico svg{ width:24px; height:24px; }
.bio-card h3{ font-size:1.15rem; margin:0 0 .5rem; color:var(--c-violet-ink); }
.instr-bio .bio-card p{ margin:0; font-size:1rem; line-height:1.7; color:var(--c-ink-soft); }
/* kulcsszó: rózsaszín hullámos aláhúzás (mint a főoldalon) */
.hl{ font-weight:700; color:var(--c-violet-ink); background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 16' preserveAspectRatio='none'%3E%3Cpath d='M2 11c18-7 30-8 46-4 17 4 30 4 46-1 12-3 22-3 34 1' fill='none' stroke='%23FF7DA6' stroke-width='4.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 0 100%/0% .3em; padding-bottom:.28em; -webkit-box-decoration-break:clone; box-decoration-break:clone; transition:background-size 1s cubic-bezier(.5,0,.25,1) .5s; }
.is-visible .hl{ background-size:100% .3em; }
@media (prefers-reduced-motion:reduce){ .hl{ background-size:100% .3em; transition:none; } }
@media (max-width:700px){ .bio-cards{ grid-template-columns:1fr; } .bio-lead{ padding:1.6rem 1.3rem 1.4rem 3.6rem; } .bio-quote{ left:.9rem; font-size:4.2rem; } .instr-bio .bio-lead p{ font-size:1.15rem; } }

/* ---------- Jelentkezés: lépések + lépéses űrlap ---------- */
.how-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; counter-reset:none; }
.how-step{ position:relative; background:#fff; border-radius:var(--radius-l); padding:2rem 1.6rem 1.7rem; box-shadow:var(--shadow-card); text-align:center; }
.how-step:nth-child(1){ --t:var(--c-violet); --tb:#E8F8FF; }
.how-step:nth-child(2){ --t:var(--c-pink); --tb:#FFE9F0; }
.how-step:nth-child(3){ --t:var(--c-orange-deep); --tb:#EEFBD6; }
.how-ico{ display:flex; width:68px; height:68px; margin:0 auto 1rem; border-radius:22px; background:var(--tb); color:var(--t); align-items:center; justify-content:center; }
.how-ico svg{ width:32px; height:32px; }
.how-num{ position:absolute; top:-14px; left:50%; transform:translateX(-50%); width:30px; height:30px; border-radius:50%; background:var(--t); color:#fff; font:700 .9rem/30px var(--font-display); text-align:center; box-shadow:0 0 0 5px #fff; }
.how-step:not(:last-child)::after{ content:""; position:absolute; top:50%; right:-1.4rem; width:1.4rem; border-top:3px dotted var(--c-violet); opacity:.45; }
.how-step h3{ font-size:1.12rem; margin:0 0 .4rem; }
.how-step p{ margin:0; color:var(--c-ink-soft); font-size:.97rem; line-height:1.6; }
@media (max-width:760px){ .how-steps{ grid-template-columns:1fr; } .how-step:not(:last-child)::after{ display:none; } }

.wiz{ padding:clamp(1.4rem,3vw,2.4rem); }
.wiz-progress{ list-style:none; margin:0 0 .9rem; padding:0; display:flex; justify-content:space-between; gap:.5rem; }
.wiz-progress li{ display:flex; align-items:center; gap:.55rem; font-weight:700; font-size:.9rem; color:var(--c-ink-mute); }
.wiz-progress li span{ width:30px; height:30px; border-radius:50%; background:var(--c-sky); color:var(--c-violet-deep); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); }
.wiz-progress li.is-current{ color:var(--c-violet-ink); }
.wiz-progress li.is-current span{ background:var(--c-violet); color:#fff; }
.wiz-progress li.is-done span{ background:var(--c-orange); color:var(--c-violet-ink); }
.wiz-bar{ height:6px; border-radius:99px; background:var(--c-sky); overflow:hidden; margin-bottom:1.8rem; }
.wiz-bar i{ display:block; height:100%; width:33%; border-radius:99px; background:linear-gradient(90deg,var(--c-violet),var(--c-orange)); transition:width .5s var(--ease); }
.wiz-panel{ display:none; }
.wiz-panel.is-active{ display:block; animation:wizin .45s var(--ease); }
@keyframes wizin{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
.wiz-title{ font-size:1.5rem; margin:0 0 1.2rem; }
.cat-group{ margin-bottom:1.1rem; }
.cat-group-label{ font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--c-ink-mute); margin-bottom:.5rem; }
.cat-chips{ display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:.7rem; }
.cat-chip{ position:relative; cursor:pointer; }
.cat-chip input{ position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
.cat-chip-body{ display:flex; flex-direction:column; gap:.1rem; padding:.85rem 1rem; border:2px solid #E4E9F2; border-radius:var(--radius-s); background:#fff; transition:border-color .25s, background .25s, transform .25s, box-shadow .25s; }
.cat-code{ font:700 1.2rem var(--font-display); color:var(--c-violet-ink); }
.cat-name{ font-size:.82rem; color:var(--c-ink-mute); line-height:1.3; }
.cat-chip:hover .cat-chip-body{ border-color:var(--c-violet); transform:translateY(-2px); }
.cat-chip input:checked + .cat-chip-body{ border-color:var(--c-violet); background:var(--c-sky); box-shadow:0 8px 20px rgba(41,182,232,.2); }
.cat-chip input:checked + .cat-chip-body .cat-code{ color:var(--c-violet-deep); }
.cat-chip input:focus-visible + .cat-chip-body{ outline:3px solid var(--c-violet); outline-offset:2px; }
.wiz-instr{ margin-top:1.4rem; }
.wiz-instr label em{ font-weight:500; color:var(--c-ink-mute); font-style:normal; }
.wiz-nav{ display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:2rem; }
.wiz-error{ color:#C0345B; font-weight:600; font-size:.92rem; margin:.4rem 0 0; }
.wiz-error a{ color:inherit; text-decoration:underline; }
.hp-field{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.form-foot{ text-align:center; color:var(--c-ink-mute); font-size:.88rem; margin-top:1.4rem; }
.form-success{ background:#fff; border-radius:var(--radius-l); box-shadow:var(--shadow-card); }
@media (max-width:640px){
  .wiz-progress li{ font-size:0; gap:0; flex:1; justify-content:center; } .wiz-progress li span{ font-size:.9rem; }
  .cat-chips{ grid-template-columns:1fr 1fr; }
  .wiz-nav .btn{ padding:.9rem 1.2rem; }
}
.cat-chip input{ box-shadow:none!important; border:0!important; background:none!important; appearance:none; -webkit-appearance:none; }
.cat-chip{ box-shadow:none!important; }

/* ---------- Egységes kártyarács (Képzések / Oktatók / Járművek) ---------- */
.gfilter{ display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; background:var(--c-sky); border-radius:999px; padding:.4rem; width:fit-content; max-width:100%; margin:2rem auto 0; }
.gcards{ display:grid; gap:1.4rem; margin-top:2.2rem; }
.gcards-4{ grid-template-columns:repeat(4,1fr); }
.gcards-5{ grid-template-columns:repeat(5,1fr); gap:1.2rem; }
.gcard{ display:flex; flex-direction:column; background:#fff; border-radius:var(--radius-m); overflow:hidden; box-shadow:var(--shadow-card); transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
a.gcard:hover{ transform:translateY(-6px); box-shadow:var(--shadow-pop); }
.gcard[hidden]{ display:none; }
.gcard-media{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--c-sky); }
.gcard-person .gcard-media{ aspect-ratio:4/5; }
.gcard-media img{ width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .8s var(--ease); }
.gcard-person .gcard-media img{ object-position:center 20%; }
a.gcard:hover .gcard-media img{ transform:scale(1.06); }
.gcode{ position:absolute; left:.8rem; top:.8rem; background:#fff; color:var(--c-violet-ink); font:700 1.15rem/1 var(--font-display); padding:.5rem .8rem; border-radius:12px; box-shadow:0 6px 16px rgba(14,21,48,.18); }
.gcard-body{ display:flex; flex-direction:column; gap:.3rem; padding:1.1rem 1.2rem 1.3rem; flex:1; }
.gcard-title{ font-size:1.05rem; line-height:1.3; margin:0; }
.gcard-sub{ margin:0; color:var(--c-ink-mute); font-size:.88rem; line-height:1.4; }
.gcard-plate{ display:inline-block; align-self:flex-start; background:var(--c-sky); color:var(--c-violet-deep); font-weight:700; font-size:.78rem; padding:.2rem .6rem; border-radius:8px; margin:.15rem 0; letter-spacing:.03em; }
.gcard-go{ margin-top:auto; padding-top:.7rem; display:inline-flex; align-items:center; gap:.5rem; font-weight:700; font-size:.88rem; color:var(--c-violet-deep); }
.gcard-go svg{ width:18px; height:11px; transition:transform .3s var(--ease); }
a.gcard:hover .gcard-go svg{ transform:translateX(5px); }
.gtag{ align-self:flex-start; display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:.25rem .65rem; border-radius:999px; background:var(--tg-bg,#E8F8FF); color:var(--tg-fg,#1C98C4); }
.gtag-float{ position:absolute; left:.7rem; bottom:.7rem; box-shadow:0 6px 14px rgba(14,21,48,.2); text-transform:none; font-size:.8rem; letter-spacing:0; background:var(--tg-solid); color:var(--tg-ink,#fff); }
.gtag[data-g="motor"]{ --tg-bg:#FFE9F0; --tg-fg:#D6457A; --tg-solid:#FF7DA6; --tg-ink:#4A0F26; }
.gtag[data-g="auto"]{ --tg-bg:#E8F8FF; --tg-fg:#1C98C4; --tg-solid:#29B6E8; --tg-ink:#06283A; }
.gtag[data-g="potkocsi"]{ --tg-bg:#EDE9FF; --tg-fg:#6246C9; --tg-solid:#A99BF2; --tg-ink:#1E1450; }
.gtag[data-g="teherauto"]{ --tg-bg:#EEFBD6; --tg-fg:#5E9A0B; --tg-solid:#9AE637; --tg-ink:#1F3A00; }
.gtag[data-g="autobusz"]{ --tg-bg:#FFF3D6; --tg-fg:#B5790A; --tg-solid:#FFC247; --tg-ink:#3E2A00; }
@media (max-width:1100px){ .gcards-5{ grid-template-columns:repeat(3,1fr); } .gcards-4{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px){ .gcards-5,.gcards-4{ grid-template-columns:repeat(2,1fr); gap:.8rem; } .gcard-body{ padding:.9rem .9rem 1.1rem; } .gcard-title{ font-size:.98rem; } .gcode{ font-size:1rem; padding:.4rem .65rem; } }

/* ---------- v2: bento (Képzések) + fotó-overlay kártyák (Oktatók, Járművek) ---------- */
.gcards-bento{ grid-template-columns:repeat(4,1fr); grid-auto-rows:240px; gap:1rem; }
.gcards-bento .gcard, .gcards-ov .gcard{ position:relative; border-radius:26px; background:#0E1530; box-shadow:none; color:#fff; isolation:isolate; }
.gcards-bento .gcard::after, .gcards-ov .gcard::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(14,21,48,0) 38%,rgba(14,21,48,.86) 100%); pointer-events:none; transition:opacity .4s; }
.gcards-bento .gcard-media{ position:absolute; inset:0; aspect-ratio:auto; }
.gb-big{ grid-column:span 2; grid-row:span 2; }
.gb-wide{ grid-column:span 2; }
.gcards-bento .gcode{ left:auto; right:1.2rem; top:1rem; background:none; box-shadow:none; padding:0; z-index:3; color:#fff; font:700 2.6rem/1 var(--font-display); letter-spacing:-.02em; text-shadow:0 2px 16px rgba(0,0,0,.4); }
.gb-big .gcode{ font-size:4.2rem; right:1.6rem; top:1.4rem; }
.gcards-bento .gtag-float, .gcards-ov .gtag-float{ left:1.1rem; top:1.1rem; bottom:auto; z-index:3; }
.gcards-bento .gtag-float{ background:rgba(255,255,255,.2); color:#fff; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.4); box-shadow:none; }
.gcards-bento .gcard-body, .gcards-ov .gcard-body{ position:absolute; left:0; right:0; bottom:0; z-index:3; padding:1.2rem 1.3rem; background:none; }
.gcards-bento .gcard-title, .gcards-ov .gcard-title{ color:#fff; font-size:1.12rem; }
.gb-big .gcard-title{ font-size:1.8rem; }
.gcards-bento .gcard-go{ color:#fff; padding-top:.5rem; }
a.gcard:hover::after{ opacity:.85; }
.gcards-ov{ grid-template-columns:repeat(5,1fr); gap:1rem; }
.gcards-ov .gcard-media{ aspect-ratio:3/4; }
.gcards-ov .gcard-veh .gcard-media{ aspect-ratio:1/1; }
.gcards-ov .gcard-sub{ color:rgba(255,255,255,.82); }
.gcards-ov .gcard-plate{ background:rgba(255,255,255,.18); color:#fff; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.3); }
@media (max-width:1100px){ .gcards-ov{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px){ .gcards-bento{ grid-template-columns:repeat(2,1fr); grid-auto-rows:210px; } .gb-big{ grid-row:span 1; } .gb-big .gcard-title{ font-size:1.4rem; } .gb-big .gcode{ font-size:3rem; } }
@media (max-width:760px){ .gcards-ov{ grid-template-columns:repeat(2,1fr); gap:.7rem; } .gcards-bento{ gap:.7rem; grid-auto-rows:190px; } .gcards-bento .gcode{ font-size:1.9rem; } .gcards-bento .gcard-body, .gcards-ov .gcard-body{ padding:.9rem; } .gcards-bento .gcard-title, .gcards-ov .gcard-title{ font-size:.98rem; } .gcards-bento .gcard-go{ display:none; } }

.gcards-bento .gtag-glass{ background:rgba(255,255,255,.2); color:#fff; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.4); margin-bottom:.45rem; }
@media (max-width:760px){ .gcards-bento .gtag-glass{ font-size:.66rem; padding:.2rem .5rem; margin-bottom:.3rem; } }

/* ---------- v3: index-lista (Képzések), kör-portrék (Oktatók), járműkártyák ---------- */
.ix-list{ margin-top:2.4rem; }
.ix-group{ display:grid; grid-template-columns:260px 1fr; gap:2.5rem; padding:2.2rem 0; border-top:1px solid #E3E8F2; }
.ix-group[hidden]{ display:none; }
.ix-head h2{ font-size:1.7rem; margin:0 0 .35rem; line-height:1.2; }
.ix-head p{ margin:0; color:var(--c-ink-mute); font-weight:600; font-size:.92rem; }
.ix-row{ display:grid; grid-template-columns:120px 1fr 150px 44px; align-items:center; gap:1.4rem; padding:1rem .8rem; border-bottom:1px solid #EEF1F7; border-radius:16px; transition:background .3s var(--ease); }
.ix-row:last-child{ border-bottom:0; }
.ix-row:hover{ background:#F2FAFF; }
.ix-code{ font:700 1.9rem/1.1 var(--font-display); color:var(--c-violet-ink); }
.ix-name{ font-weight:600; font-size:1.05rem; color:var(--c-violet-ink); }
.ix-thumb{ width:150px; height:84px; border-radius:14px; object-fit:cover; transition:transform .5s var(--ease); }
.ix-row:hover .ix-thumb{ transform:scale(1.05); }
.ix-go{ width:44px; height:44px; border-radius:50%; border:1.5px solid #D5DCE8; display:flex; align-items:center; justify-content:center; color:var(--c-violet-deep); transition:all .3s var(--ease); }
.ix-row:hover .ix-go{ background:var(--c-violet); color:#fff; border-color:var(--c-violet); }
.ix-go svg{ width:18px; height:11px; }
@media (max-width:860px){ .ix-group{ grid-template-columns:1fr; gap:.6rem; padding:1.6rem 0; } .ix-row{ grid-template-columns:78px 1fr 84px 36px; gap:.8rem; padding:.8rem .2rem; } .ix-code{ font-size:1.3rem; } .ix-name{ font-size:.95rem; } .ix-thumb{ width:84px; height:56px; border-radius:10px; } .ix-go{ width:34px; height:34px; } }
@media (max-width:480px){ .ix-row{ grid-template-columns:62px 1fr 60px; } .ix-go{ display:none; } .ix-thumb{ width:60px; height:44px; } }

.pc-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:2.6rem 1.4rem; margin-top:2.6rem; }
.pc{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:.3rem; }
.pc[hidden]{ display:none; }
.pc-photo{ width:100%; max-width:190px; aspect-ratio:1/1; border-radius:50%; padding:6px; background:linear-gradient(135deg,var(--c-violet),var(--c-orange)); box-shadow:var(--shadow-card); transition:transform .5s var(--ease), box-shadow .5s var(--ease); margin-bottom:.8rem; }
.pc-photo img{ width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:center 18%; border:5px solid #fff; }
.pc:hover .pc-photo{ transform:translateY(-6px); box-shadow:var(--shadow-pop); }
.pc-name{ font:700 1.1rem/1.25 var(--font-display); color:var(--c-violet-ink); }
.pc-what{ font-size:.9rem; font-weight:600; color:var(--c-violet-deep); }
.pc-veh{ font-size:.82rem; color:var(--c-ink-mute); line-height:1.4; }
@media (max-width:1100px){ .pc-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px){ .pc-grid{ grid-template-columns:repeat(2,1fr); gap:2rem .8rem; } .pc-photo{ max-width:150px; } }

.vc-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem; margin-top:2.4rem; }
.vc{ background:#fff; border-radius:var(--radius-m); box-shadow:var(--shadow-card); overflow:hidden; display:flex; flex-direction:column; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.vc[hidden]{ display:none; }
.vc:hover{ transform:translateY(-5px); box-shadow:var(--shadow-pop); }
.vc-photo{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--c-sky); }
.vc-photo > img{ width:100%; height:100%; object-fit:cover; }
.vc-instr{ position:absolute; top:.6rem; right:.6rem; display:flex; align-items:center; gap:.45rem; background:rgba(255,255,255,.96); padding:.25rem .7rem .25rem .25rem; border-radius:999px; box-shadow:0 4px 14px rgba(14,21,48,.18); max-width:calc(100% - 1.2rem); }
.vc-instr img{ width:30px; height:30px; flex:none; border-radius:50%; object-fit:cover; object-position:center 18%; border:2px solid var(--c-violet); }
.vc-instr span{ font-size:.74rem; font-weight:700; color:var(--c-violet-ink); line-height:1.15; }
.vc-body{ padding:1rem 1.1rem 1.2rem; display:flex; flex-direction:column; gap:.3rem; }
.vc-cat{ font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--c-violet-deep); }
.vc-body h3{ font-size:1.05rem; margin:0; line-height:1.3; }
.vc-plate{ margin:.1rem 0 0; font-size:.82rem; color:var(--c-ink-mute); }
.vc-plate b{ color:var(--c-violet-ink); letter-spacing:.03em; }
.vc-sub{ margin:0; font-size:.84rem; color:var(--c-ink-soft); line-height:1.4; }
@media (max-width:1180px){ .vc-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px){ .vc-grid{ grid-template-columns:repeat(2,1fr); gap:.8rem; } .vc-instr span{ display:none; } .vc-instr{ padding:.2rem; } }
.ix-code{ white-space:nowrap; }
.ix-row{ grid-template-columns:150px 1fr 150px 44px; }
@media (max-width:860px){ .ix-row{ grid-template-columns:92px 1fr 84px 36px; } }
@media (max-width:480px){ .ix-row{ grid-template-columns:84px 1fr 60px; } .ix-code{ font-size:1.15rem; } }

/* színes csoportok (Képzések) */
.ix-group{ --gc:#29B6E8; --gt:#1C98C4; --gb:#F2FAFF; }
.ix-group[data-g="motor"]{ --gc:#FF7DA6; --gt:#D6457A; --gb:#FFF3F7; }
.ix-group[data-g="auto"]{ --gc:#29B6E8; --gt:#1C98C4; --gb:#F2FAFF; }
.ix-group[data-g="potkocsi"]{ --gc:#A99BF2; --gt:#6246C9; --gb:#F6F4FF; }
.ix-group[data-g="teherauto"]{ --gc:#9AE637; --gt:#5E9A0B; --gb:#F5FDE6; }
.ix-group[data-g="autobusz"]{ --gc:#FFC247; --gt:#B5790A; --gb:#FFF9E8; }
.ix-bar{ display:block; width:46px; height:6px; border-radius:99px; background:var(--gc); margin-bottom:1rem; }
.ix-code{ color:var(--gt); }
.ix-row:hover{ background:var(--gb); }
.ix-row:hover .ix-go{ background:var(--gc); border-color:var(--gc); color:#fff; }
.ix-group[data-g="teherauto"] .ix-row:hover .ix-go, .ix-group[data-g="autobusz"] .ix-row:hover .ix-go{ color:var(--c-violet-ink); }
.ix-go{ color:var(--gt); }
.ix-group{ border-top:1px solid #E3E8F2; }
/* járműkártya: oktató-lábléc */
.vc-instr{ display:none; }
.vc-body{ flex:1; }
.vc-foot{ margin-top:auto; padding-top:.9rem; display:flex; align-items:center; gap:.75rem; border-top:1px solid #EEF1F7; margin-top:.9rem; }
.vc-av{ flex:none; width:58px; height:58px; border-radius:50%; padding:3px; background:linear-gradient(135deg,var(--c-violet),var(--c-orange)); box-shadow:var(--shadow-card); }
.vc-av img{ width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:center 18%; border:3px solid #fff; }
.vc-who{ display:flex; flex-direction:column; min-width:0; line-height:1.25; }
.vc-who small{ font-size:.7rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--c-ink-mute); }
.vc-who b{ font-size:.95rem; color:var(--c-violet-ink); }
@media (max-width:760px){ .vc-av{ width:46px; height:46px; } .vc-who b{ font-size:.85rem; } }
.info-banner{ display:flex; align-items:center; gap:1rem; max-width:620px; margin:2.6rem auto 0; background:var(--c-sky); border-radius:var(--radius-m); padding:1rem 1.4rem; }
.info-banner-ico{ flex:none; width:42px; height:42px; border-radius:50%; background:#fff; color:var(--c-violet-deep); display:flex; align-items:center; justify-content:center; }
.info-banner-ico svg{ width:22px; height:22px; }
.info-banner p{ margin:0; color:var(--c-violet-ink); font-size:.97rem; }

/* ---------- v4: járműkártyák — nagy kör alakú oktató a sarokban ---------- */
.vc-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.6rem; margin-top:2.6rem; }
.vc{ width:calc((100% - 3.2rem) / 3); border-radius:var(--radius-l); }
.vc-photo{ aspect-ratio:16/10; }
.vc-corner{ position:absolute; top:.9rem; right:.9rem; display:flex; flex-direction:column; align-items:center; gap:.4rem; z-index:2; }
.vc-corner .vc-av{ width:92px; height:92px; padding:4px; background:linear-gradient(135deg,var(--c-violet),var(--c-orange)); box-shadow:0 10px 24px rgba(14,21,48,.3); }
.vc-corner .vc-av img{ border:4px solid #fff; }
.vc-name{ background:#fff; color:var(--c-violet-ink); font-size:.78rem; font-weight:700; padding:.28rem .75rem; border-radius:999px; box-shadow:0 4px 12px rgba(14,21,48,.2); white-space:nowrap; }
.vc-body{ padding:1.4rem 1.6rem 1.7rem; gap:.45rem; }
.vc-cat{ align-self:flex-start; background:var(--c-sky); color:var(--c-violet-deep); padding:.3rem .8rem; border-radius:999px; font-size:.72rem; }
.vc-body h3{ font-size:1.45rem; margin-top:.3rem; }
.vc-plate{ display:inline-flex; align-items:center; align-self:flex-start; gap:.5rem; margin:.2rem 0 0; font-size:.78rem; color:var(--c-ink-mute); }
.vc-plate b{ background:#fff; color:var(--c-violet-ink); border:2px solid var(--c-violet-ink); border-radius:7px; padding:.12rem .55rem; font-size:.9rem; letter-spacing:.08em; }
.vc-sub{ font-size:.92rem; }
@media (max-width:1000px){ .vc{ width:calc((100% - 1.6rem) / 2); } }
@media (max-width:640px){ .vc{ width:100%; } .vc-corner .vc-av{ width:74px; height:74px; } .vc-body h3{ font-size:1.25rem; } }

/* ---------- v5: márka-színek (kék · lime · rózsaszín · sárga) ---------- */
/* Képzések: színes panelek, kör alakú képes kategória-csempékkel */
.ix-list{ display:flex; flex-direction:column; gap:1.4rem; }
.ix-group{ border:0; border-radius:32px; padding:2rem 2.2rem; gap:2rem; grid-template-columns:260px 1fr; background:var(--gp); }
.ix-group[data-g="motor"]{ --gc:#FF7DA6; --gp:#FFE9F1; --gt:#14102B; }
.ix-group[data-g="auto"]{ --gc:#29B6E8; --gp:#E4F6FD; --gt:#14102B; }
.ix-group[data-g="potkocsi"]{ --gc:#9AE637; --gp:#EEFBD5; --gt:#14102B; }
.ix-group[data-g="teherauto"]{ --gc:#FFC247; --gp:#FFF3D6; --gt:#14102B; }
.ix-group[data-g="autobusz"]{ --gc:#FF7DA6; --gp:#FFE9F1; --gt:#14102B; }
.ix-bar{ width:54px; height:8px; }
.ix-head h2{ font-size:1.9rem; }
.ix-head p{ color:var(--c-violet-ink); opacity:.65; }
.ix-rows{ display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:.9rem; align-content:start; }
.ix-row{ grid-template-columns:68px 1fr 34px; grid-template-areas:"thumb code go" "thumb name go"; column-gap:1rem; row-gap:0; padding:.8rem 1rem .8rem .8rem; background:#fff; border:2px solid transparent; border-radius:22px; box-shadow:0 6px 18px rgba(14,21,48,.06); align-items:center; transition:transform .35s var(--ease), border-color .3s, box-shadow .35s var(--ease); }
.ix-row:last-child{ border-bottom:2px solid transparent; }
.ix-row:hover{ background:#fff; transform:translateY(-4px); border-color:var(--gc); box-shadow:0 14px 30px rgba(14,21,48,.12); }
.ix-thumb{ grid-area:thumb; width:68px; height:68px; border-radius:50%; object-fit:cover; border:3px solid #fff; box-shadow:0 0 0 3px var(--gc); }
.ix-row:hover .ix-thumb{ transform:scale(1.06); }
.ix-code{ grid-area:code; color:var(--c-violet-ink); font-size:1.45rem; align-self:end; }
.ix-name{ grid-area:name; font-weight:500; font-size:.88rem; color:var(--c-ink-soft); align-self:start; line-height:1.3; }
.ix-go{ grid-area:go; width:34px; height:34px; background:var(--gp); border:0; color:var(--c-violet-ink); }
.ix-row:hover .ix-go{ background:var(--gc); color:var(--c-violet-ink); border:0; }
@media (max-width:860px){ .ix-group{ grid-template-columns:1fr; padding:1.5rem 1.2rem; gap:1rem; } .ix-rows{ grid-template-columns:1fr; } .ix-row{ grid-template-columns:60px 1fr 30px; } .ix-thumb{ width:60px; height:60px; } .ix-code{ font-size:1.3rem; } .ix-go{ display:flex; width:30px; height:30px; } }
@media (max-width:480px){ .ix-row{ grid-template-columns:60px 1fr 30px; } .ix-thumb{ width:60px; height:60px; } }

/* Járművek: színes jelvények, rendszám, kártya-akcent */
.vc{ --gc:#29B6E8; --gp:#E4F6FD; --gtx:#0E7BA6; border-top:6px solid var(--gc); }
.vc[data-group="teherauto"]{ --gc:#9AE637; --gp:#EEFBD5; --gtx:#4F8A05; }
.vc[data-group="autobusz"]{ --gc:#FF7DA6; --gp:#FFE9F1; --gtx:#C83A6C; }
.vc-cat{ background:var(--gp); color:var(--gtx); }
.vc-plate b{ background:var(--gp); border-color:var(--gc); color:var(--c-violet-ink); }
.vc-name{ border:2px solid var(--gc); }
.vc-corner .vc-av{ background:var(--gc); }

/* ---------- v6: visszafogottabb színek, nem fekete szöveg/gombok ---------- */
.ix-group[data-g="motor"]{ --gc:#FF7DA6; --gp:#FDF3F6; }
.ix-group[data-g="auto"]{ --gc:#29B6E8; --gp:#F1F8FC; }
.ix-group[data-g="potkocsi"]{ --gc:#9AE637; --gp:#F6FBEA; }
.ix-group[data-g="teherauto"]{ --gc:#FFC247; --gp:#FFF9EC; }
.ix-group[data-g="autobusz"]{ --gc:#29B6E8; --gp:#F1F8FC; }
.ix-group{ border:1px solid rgba(41,182,232,.14); }
.ix-bar{ height:5px; width:44px; }
.ix-head h2{ color:#2B3F6B; }
.ix-head p{ color:var(--c-ink-mute); opacity:1; }
.ix-row{ box-shadow:0 4px 14px rgba(43,63,107,.06); }
.ix-code{ color:var(--c-violet-deep); }
.ix-name{ color:var(--c-ink-soft); }
.ix-thumb{ box-shadow:0 0 0 2px var(--gc); }
.ix-go{ background:#fff; border:1.5px solid #D5E7F2; color:var(--c-violet-deep); }
.ix-row:hover .ix-go{ background:var(--c-violet); border-color:var(--c-violet); color:#fff; }
/* járművek: nem fekete rendszám */
.vc-plate b{ color:var(--c-violet-deep); }
.vc-body h3{ color:#2B3F6B; }
.vc-name{ color:var(--c-violet-deep); }

/* ---------- v7: Képzések áttekintő egységes tónus + járművek vegyes színek + képzés-oldalak ---------- */
.ix-group, .ix-group[data-g]{ --gc:var(--c-violet); --gp:#F4F9FC; background:#F4F9FC; border:1px solid #E3EEF6; }
.ix-bar{ background:var(--c-violet)!important; }
.ix-row{ border-color:transparent; }
.ix-row:hover{ border-color:var(--c-violet); }
.ix-thumb{ box-shadow:0 0 0 2px var(--c-violet)!important; }
.ix-popular{ position:relative; }
.ix-popular::after{ content:"Legnépszerűbb"; position:absolute; top:-11px; right:14px; background:var(--c-pink); color:#fff; font:700 .7rem/1 var(--font-body); letter-spacing:.04em; padding:.38rem .75rem; border-radius:999px; box-shadow:0 4px 12px rgba(255,125,166,.4); }

/* Járművek: vegyes színek (profilkép · rendszám · csík eltérő) */
.vc{ --ring:#29B6E8; --plate:#9AE637; --plate-ink:#4F8A05; border-top:6px solid var(--ring); }
.vc:nth-child(4n+1){ --ring:#29B6E8; --plate:#FF7DA6; --plate-ink:#C83A6C; }
.vc:nth-child(4n+2){ --ring:#9AE637; --plate:#29B6E8; --plate-ink:#0E7BA6; }
.vc:nth-child(4n+3){ --ring:#FF7DA6; --plate:#FFC247; --plate-ink:#9A6A00; }
.vc:nth-child(4n+4){ --ring:#FFC247; --plate:#9AE637; --plate-ink:#4F8A05; }
.vc{ border-top:6px solid var(--ring); }
.vc-corner .vc-av{ background:var(--ring); }
.vc-name{ border:2px solid var(--ring); color:#2B3F6B; }
.vc-cat{ background:#EEF5FA; color:#4B6A86; }
.vc-plate b{ background:#fff; border-color:var(--plate); color:var(--plate-ink); box-shadow:0 0 0 3px color-mix(in srgb,var(--plate) 22%,transparent); }

/* Képzés-oldalak */
.kp-intro{ display:flex; align-items:flex-start; gap:1.1rem; max-width:860px; margin:0 auto; padding:1.5rem 1.8rem; background:linear-gradient(135deg,#F1F8FC,#F7FBEC); border-radius:var(--radius-l); }
.kp-intro-ico{ flex:none; width:44px; height:44px; border-radius:50%; background:#fff; color:var(--c-violet-deep); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-card); }
.kp-intro-ico svg{ width:22px; height:22px; }
.kp-intro p{ margin:0; font:500 1.15rem/1.65 var(--font-display); color:#2B3F6B; }
.kp-stats-card{ display:grid; grid-template-columns:300px 1fr; gap:2.4rem; background:#fff; border-radius:var(--radius-l); padding:2.2rem; box-shadow:var(--shadow-card); align-items:center; }
.kp-stats{ display:flex; flex-direction:column; gap:1rem; }
.kp-stat{ background:var(--c-sky); border-radius:22px; padding:1.2rem 1.4rem; }
.kp-stat:nth-child(2){ background:#EEFBD6; }
.kp-stat b{ display:block; font:700 3rem/1 var(--font-display); color:#2B3F6B; letter-spacing:-.02em; }
.kp-stat span{ display:block; margin-top:.3rem; font-weight:600; color:var(--c-ink-soft); }
.kp-split h2{ font-size:1.5rem; margin:.3rem 0 1.4rem; }
.kp-split-note{ margin:1.2rem 0 0; color:var(--c-ink-mute); font-size:.92rem; }
.kp-main{ display:grid; grid-template-columns:1.6fr 1fr; gap:2.6rem; align-items:start; }
.kp-left .section-head{ margin-bottom:1.4rem; }
.kp-left .price-cards-row{ grid-template-columns:1fr 1fr; gap:1.2rem; }
.kp-cond{ margin-top:2.4rem; background:#F4F9FC; border-radius:var(--radius-l); padding:1.8rem; }
.kp-cond h3{ font-size:1.2rem; margin:0 0 1rem; color:#2B3F6B; }
.kp-aside .btn{ width:100%; }
.kp-cta{ display:flex; flex-direction:column; gap:.7rem; margin-top:1.4rem; }
.kp-wide{ width:100%; justify-content:center; white-space:normal; text-align:center; }
.kp-docs{ display:flex; flex-direction:column; gap:.6rem; margin-top:1.2rem; padding-top:1.2rem; border-top:1px solid #E3EEF6; }
.kp-docs .doc-link{ width:100%; }
.kp-team{ display:grid; grid-template-columns:1fr; gap:1.6rem; text-align:center; justify-items:center; }
.kp-team h2{ margin:.3rem 0 0; }
.kp-people{ display:flex; flex-wrap:wrap; justify-content:center; gap:2rem 2.4rem; }
.kp-person{ display:flex; flex-direction:column; align-items:center; gap:.7rem; width:140px; text-align:center; }
.kp-person-photo{ width:120px; height:120px; border-radius:50%; padding:5px; background:linear-gradient(135deg,var(--c-violet),var(--c-orange)); box-shadow:var(--shadow-card); transition:transform .5s var(--ease); }
.kp-person-photo img{ width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:center 18%; border:4px solid #fff; }
.kp-person:hover .kp-person-photo{ transform:translateY(-5px); }
.kp-person-name{ font:700 .98rem/1.3 var(--font-display); color:#2B3F6B; }
.th-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin-top:3rem; }
.th-card{ background:#fff; border-radius:var(--radius-m); padding:1.6rem 1.3rem 1.4rem; box-shadow:var(--shadow-card); position:relative; border-top:5px solid var(--c-violet); }
.th-card:nth-child(2){ border-top-color:var(--c-orange); } .th-card:nth-child(3){ border-top-color:var(--c-pink); } .th-card:nth-child(4){ border-top-color:var(--c-lime); }
.th-num{ display:flex; width:36px; height:36px; border-radius:50%; background:var(--c-sky); color:var(--c-violet-deep); font:700 1rem var(--font-display); align-items:center; justify-content:center; margin-bottom:.9rem; }
.th-card p{ margin:0; font-size:.97rem; line-height:1.6; color:var(--c-ink-soft); }
@media (max-width:1000px){ .kp-main{ grid-template-columns:1fr; } .kp-aside{ position:static; } .kp-stats-card{ grid-template-columns:1fr; } .kp-stats{ flex-direction:row; } .kp-stat{ flex:1; } .th-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .kp-left .price-cards-row{ grid-template-columns:1fr; } .th-grid{ grid-template-columns:1fr; } .kp-stats{ flex-direction:column; } .kp-stat b{ font-size:2.4rem; } .kp-intro{ padding:1.2rem; } .kp-intro p{ font-size:1.02rem; } .kp-person{ width:120px; } .kp-person-photo{ width:100px; height:100px; } }

/* ---------- v8 ---------- */
.ix-group:nth-child(3n+1){ --gc:#29B6E8; --gk:#1C98C4; }
.ix-group:nth-child(3n+2){ --gc:#FF7DA6; --gk:#D6416F; }
.ix-group:nth-child(3n+3){ --gc:#9AE637; --gk:#5A9A08; }
.ix-group .ix-bar{ background:var(--gc)!important; }
.ix-group .ix-code{ color:var(--gk); }
.ix-group .ix-thumb{ box-shadow:0 0 0 3px var(--gc)!important; }
.ix-group .ix-go{ color:var(--gk); box-shadow:inset 0 0 0 2px var(--gc); }
.ix-group .ix-row:hover{ border-color:var(--gc); }
.kp-about{ display:flex; gap:1.1rem; align-items:flex-start; margin-top:1.6rem; padding:1.6rem 1.8rem; border-radius:var(--radius-l); background:linear-gradient(135deg,#FFF1F6,#F7FBEC); }
.kp-about-ico{ flex:none; width:44px; height:44px; border-radius:50%; background:#fff; color:#D6416F; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-card); }
.kp-about-ico svg{ width:22px; height:22px; }
.kp-about h3{ margin:0 0 .35rem; font-size:1.15rem; color:#2B3F6B; }
.kp-about p{ margin:0; color:var(--c-ink-soft); line-height:1.65; }
.kp-team{ display:flex!important; align-items:center; justify-content:space-between; gap:2rem 3rem; text-align:left; background:#fff; border-radius:var(--radius-l); padding:2rem 2.4rem; box-shadow:var(--shadow-card); flex-wrap:wrap; }
.kp-team h2{ font-size:1.6rem; margin:.3rem 0 0; }
.kp-people{ flex:1; justify-content:center; }
.kp-team-btn{ flex:none; }
.how-steps-4{ grid-template-columns:repeat(4,1fr); margin-top:3rem; }
.how-step:nth-child(4){ --t:#E5A100; --tb:#FFF3D6; }
.how-steps-4 .how-step:not(:last-child)::after{ right:-1.4rem; }
@media (max-width:1000px){ .how-steps-4{ grid-template-columns:repeat(2,1fr); } .how-steps-4 .how-step::after{ display:none!important; } .kp-team{ flex-direction:column; text-align:center; } }
@media (max-width:640px){ .how-steps-4{ grid-template-columns:1fr; } .kp-about{ padding:1.2rem; } .kp-team{ padding:1.5rem 1.2rem; } }
.kp-left .price-card-boxed{ max-width:none; margin-inline:0; }
.kp-left .price-cards-row{ max-width:none; margin-inline:0; }
/* ---------- v9: egységes igazítás + rózsaszín/sárga/lime akcentek ---------- */
.kp-main-head{ margin-bottom:1.8rem; }
.kp-main-head .section-head{ margin:0; max-width:none; text-align:left; }
.kp-main{ align-items:start; }
.kp-aside{ margin-top:0; }
.kp-team{ display:block!important; text-align:left; }
.kp-team-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem 2rem; flex-wrap:wrap; margin-bottom:1.8rem; }
.kp-team .kp-people{ justify-content:flex-start; gap:2rem 2.4rem; }
@media (max-width:640px){ .kp-team-head{ flex-direction:column; align-items:flex-start; } }
.ix-group:nth-child(3n+1){ --gc:#FF7DA6; --gk:#D6416F; }
.ix-group:nth-child(3n+2){ --gc:#FFC247; --gk:#B07800; }
.ix-group:nth-child(3n+3){ --gc:#9AE637; --gk:#5A9A08; }
.ix-group .ix-bar{ background:var(--gc)!important; }
.kp-team-head{ width:100%; margin-inline:0; }
.kp-team .kp-team-head > div{ text-align:left; }
.kp-team-btn,.kp-aside .btn-outline{ color:var(--c-violet-deep); border-color:#CFE9F5; }
.kp-person{ width:150px; }
/* finom, vékony márka-gyűrű, mindenkinél ugyanaz */
.kp-person-photo,.pc-photo,.kp-person:nth-child(n) .kp-person-photo,.pc:nth-child(n) .pc-photo{ background:linear-gradient(135deg,#29B6E8,#9AE637); padding:3px; box-shadow:0 10px 24px rgba(41,182,232,.22); }
.kp-person-photo img,.pc-photo img{ border:4px solid #fff!important; }

/* ---------- v10: nyugodtabb színek ---------- */
.ix-group:nth-child(5n+1){ --gc:#9AE637; --gk:#5A9A08; }
.ix-group:nth-child(5n+2){ --gc:#FFC247; --gk:#B07800; }
.ix-group:nth-child(5n+3){ --gc:#FF7DA6; --gk:#D6416F; }
.ix-group:nth-child(5n+4){ --gc:#9AE637; --gk:#5A9A08; }
.ix-group:nth-child(5n+5){ --gc:#FFC247; --gk:#B07800; }
.ix-popular::after{ background:var(--c-violet); box-shadow:0 4px 12px rgba(41,182,232,.35); }
/* járművek: egységes, nyugodt séma */
.vc, .vc:nth-child(n){ --ring:#29B6E8; --plate:#9AE637; --plate-ink:#4F8A05; border-top:0; }
.vc-corner .vc-av{ background:linear-gradient(135deg,#29B6E8,#9AE637); }
.vc-name{ border:0; box-shadow:0 4px 12px rgba(14,21,48,.12); color:#2B3F6B; }
.vc-plate b{ box-shadow:none; border-color:#9AE637; background:#F4FCE6; color:#4F8A05; }

/* járművek: egységes, finom színfelvitel */
.vc{ position:relative; overflow:hidden; }
.vc::before{ content:""; position:absolute; left:0; right:0; top:0; height:6px; z-index:3; background:linear-gradient(90deg,#29B6E8,#9AE637 40%,#FFC247 70%,#FF7DA6); }
.vc-body{ background:linear-gradient(180deg,#fff 0%,#F3FAFE 100%); }
.vc-cat{ background:#E3F6FD; color:#1C98C4; }
.vc-name{ color:#1C98C4; }
.vc-body h3{ color:#2B3F6B; }
.vc-plate b{ background:#EEFBD6; border-color:#9AE637; }

.vc::before{ height:5px; background:linear-gradient(90deg,#29B6E8,#9AE637); }

/* járművek: apró, egységes színes részletek */
.vc-plate b{ background:#FFF0F5; border-color:#FF7DA6; color:#D6416F; }
.vc-name::before{ content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:#FF7DA6; margin-right:.45rem; vertical-align:middle; }
.vc-cat{ position:relative; padding-left:1.5rem; }
.vc-cat::before{ content:""; position:absolute; left:.65rem; top:50%; width:7px; height:7px; margin-top:-3.5px; border-radius:50%; background:#9AE637; }

/* v11: harmonikus járműkártya: márkakék + egyetlen lime részlet, rendszámtábla-hatású rendszám */
.vc-name::before{ background:#9AE637; }
.vc-cat{ padding-left:.9rem; }
.vc-cat::before{ display:none; }
.vc-plate b{ position:relative; display:inline-block; background:#fff; border:2px solid #1C98C4; border-radius:8px; color:#1C98C4; padding:.28rem .8rem .28rem 2.2rem; letter-spacing:.08em; overflow:hidden; box-shadow:none; }
.vc-plate b::before{ content:"H"; position:absolute; left:0; top:0; bottom:0; width:1.65rem; background:#1C98C4; color:#fff; font:700 .72rem/1 var(--font-body); letter-spacing:0; display:flex; align-items:center; justify-content:center; }

/* v12: lágy pasztell részletek (kék · sárga · rózsaszín) */
.vc::before{ display:none; }
.vc-plate b{ display:inline-block; padding:.32rem .95rem; border:0; border-radius:999px; background:#FFF3CF; color:#2B3F6B; letter-spacing:.1em; font-weight:700; box-shadow:inset 0 0 0 1.5px #FFD97A; }
.vc-plate b::before{ display:none; }
.vc-name::before{ background:#FF7DA6; }
.vc-cat{ background:#E3F6FD; color:#1C98C4; }
.vc-body{ background:linear-gradient(180deg,#fff 0%,#FFF9FB 100%); }

/* v13: rendezett kártyaalj */
.vc-body{ background:#fff; }
.vc-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .6rem; margin-top:.35rem; }
.vc-plate{ margin:0; display:inline-flex; align-items:center; gap:.5rem; font-size:.78rem; color:var(--c-ink-mute); }
.vc-plate b{ background:#EAF6FC; box-shadow:none; border:0; border-radius:8px; padding:.3rem .7rem; color:#2B3F6B; font-size:.9rem; letter-spacing:.08em; }
.vc-sub{ margin:0; padding:.3rem .75rem; border-radius:999px; background:#FFEAF1; color:#C0305F; font-size:.8rem; font-weight:600; line-height:1.3; }
.vc-name::before{ background:#FF7DA6; }

/* ---------- v14: főoldali előnézetek, vékony mobil szűrők ---------- */
.cat-prev{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; margin-top:2.2rem; }
.cat-prev-card{ position:relative; display:flex; align-items:center; gap:.9rem; padding:1rem 1.1rem; background:#F4F9FC; border:1px solid #E3EEF6; border-radius:24px; transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s; --gc:#9AE637; }
.cat-prev-card:nth-child(2){ --gc:#FFC247; } .cat-prev-card:nth-child(3){ --gc:#FF7DA6; } .cat-prev-card:nth-child(4){ --gc:#9AE637; }
.cat-prev-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-card); border-color:var(--gc); }
.cat-prev-thumb{ flex:none; width:64px; height:64px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 3px var(--gc); border:3px solid #fff; }
.cat-prev-txt{ flex:1; min-width:0; display:flex; flex-direction:column; gap:.15rem; }
.cat-prev-txt b{ font:700 1.05rem/1.2 var(--font-display); color:#2B3F6B; }
.cat-prev-txt small{ font-size:.82rem; color:var(--c-ink-mute); font-weight:600; letter-spacing:.02em; }
.cat-prev-go{ flex:none; width:34px; height:34px; border-radius:50%; background:#fff; color:var(--c-violet-deep); display:flex; align-items:center; justify-content:center; box-shadow:inset 0 0 0 2px var(--gc); }
.cat-prev-go svg{ width:14px; height:10px; }
@media (max-width:1000px){ .cat-prev{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .cat-prev{ grid-template-columns:1fr; gap:.7rem; margin-top:1.4rem; } .cat-prev-card{ padding:.7rem .9rem; border-radius:20px; } .cat-prev-thumb{ width:52px; height:52px; } .cat-prev-go{ width:30px; height:30px; } }

.vc-teaser{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin-top:2.2rem; }
.vc-teaser .vc{ width:auto; }
.vc-teaser .vc-corner .vc-av{ width:64px; height:64px; padding:3px; }
.vc-teaser .vc-corner .vc-av img{ border-width:3px; }
.vc-teaser .vc-corner{ top:.6rem; right:.6rem; }
.vc-teaser .vc-name{ font-size:.7rem; padding:.22rem .6rem; }
.vc-teaser .vc-body{ padding:1rem 1.1rem 1.2rem; }
.vc-teaser .vc-body h3{ font-size:1.05rem; }
@media (max-width:1000px){ .vc-teaser{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){
  .vc-teaser{ display:flex; overflow-x:auto; gap:.9rem; scroll-snap-type:x mandatory; margin-inline:calc(24px * -1); padding:.4rem 24px 1rem; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .vc-teaser::-webkit-scrollbar{ display:none; }
  .vc-teaser .vc{ flex:0 0 74%; scroll-snap-align:center; }
}

/* szűrősávok: vékonyabb, mobilon egy sorban húzható */
.gfilter, .instr-filter-bar{ padding:.3rem; gap:.25rem; }
.instr-filter-btn{ padding:.5rem 1.05rem; font-size:.84rem; }
@media (max-width:640px){
  .gfilter, .instr-filter-bar{ flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; width:100%; padding:.25rem; border-radius:999px; scrollbar-width:none; -webkit-overflow-scrolling:touch; margin-top:1.3rem; }
  .gfilter::-webkit-scrollbar, .instr-filter-bar::-webkit-scrollbar{ display:none; }
  .instr-filter-btn{ flex:none; padding:.4rem .85rem; font-size:.78rem; white-space:nowrap; }
}

.cat-prev-badge{ position:absolute; top:-10px; right:16px; z-index:2; background:#29B6E8; color:#fff; font:700 .68rem/1 'Inter',sans-serif; letter-spacing:.04em; padding:.35rem .7rem; border-radius:999px; box-shadow:0 4px 12px rgba(41,182,232,.35); }
.cat-prev-txt small{ color:#8D869B!important; font-weight:600; }
.cat-prev-go{ color:#1C98C4!important; }
.vc-teaser .vc-plate{ color:#8D869B; }

/* mobil szűrő: több soros, vékony gombok (nem görgethető) */
@media (max-width:640px){
  .gfilter, .instr-filter-bar{ flex-wrap:wrap; overflow:visible; justify-content:center; width:100%; padding:0; gap:.4rem .4rem; background:transparent; border-radius:0; margin-top:1.3rem; }
  .instr-filter-btn{ flex:none; padding:.38rem .9rem; font-size:.8rem; border:1.5px solid #CFE9F5; background:#fff; white-space:nowrap; }
  .instr-filter-btn.is-active{ border-color:var(--c-violet); background:var(--c-violet); }
}

/* ---------- v15: mobil méretezés (kisebb, arányosabb) ---------- */
@media (max-width:640px){
  html{ font-size:14.5px; }
  :root{ --header-h:62px; --fs-display-xl:1.95rem; --fs-display-l:1.7rem; --fs-display-m:1.4rem; --fs-lead:1rem; }
  .site-header.is-scrolled{ height:58px; }
  .header-brand img{ height:30px; }
  .section{ padding-block:2.6rem; }
  .section-s{ padding-block:2rem; }
  .page-hero{ padding-top:calc(var(--header-h) + 1.4rem); padding-bottom:1.6rem; }
  .page-hero p{ font-size:.98rem; }
  .btn{ padding:.8rem 1.3rem; font-size:.92rem; }
  .btn-sm{ padding:.6rem 1.1rem; font-size:.84rem; }
  .section-head p{ margin-top:.7rem; }
  .section-head-row{ gap:.8rem; }
  .kp-stats-card{ padding:1.2rem; gap:1.2rem; }
  .kp-stat{ padding:.9rem 1.1rem; }
  .kp-stat b{ font-size:2rem; }
  .price-card-boxed{ padding:1.2rem 1.1rem; }
  .pricing-table td, .pricing-table th{ padding:.6rem .5rem; font-size:.9rem; }
  .instr-facts{ padding:1.3rem; }
  .kp-cond{ padding:1.2rem; margin-top:1.6rem; }
  .how-step{ padding:1.5rem 1.2rem 1.3rem; }
  .how-steps-4{ margin-top:2rem; gap:1.2rem; }
  .split{ gap:1.6rem; }
  .vc-photo{ aspect-ratio:16/9; }
  .vc-corner .vc-av{ width:64px; height:64px; }
  .vc-grid{ gap:1rem; margin-top:1.6rem; }
  .vc{ width:100%; }
  .vc-body{ padding:1rem 1.1rem 1.1rem; }
  .ix-group{ padding:1.2rem; gap:1rem; }
  .ix-group h2{ font-size:1.35rem; }
  .ix-row{ padding:.55rem .7rem; }
  .pc-grid{ gap:1.4rem .6rem; margin-top:1.6rem; }
  .instr-circles{ margin-top:1.6rem; }
  .stat-card{ padding:1.1rem .8rem; }
  .stat-card-num{ font-size:1.8rem; }
  .further-cats{ padding:1.1rem 1.2rem; }
  .cta-band{ padding:2rem 1.3rem; }
  .bachusz-voucher{ padding-block:2.4rem; }
  footer .footer-grid{ gap:1.6rem; }
}
@media (max-width:640px){
  .kp-team .kp-people{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem .5rem; justify-items:center; }
  .kp-person{ width:100%; gap:.45rem; } .kp-person-name{ font-size:.82rem; }
  .kp-person-photo{ width:84px; height:84px; }
}
@media (max-width:640px){
  .kp-stats{ flex-direction:row!important; gap:.7rem; }
  .kp-stat{ flex:1; padding:.8rem .9rem; } .kp-stat b{ font-size:1.7rem; } .kp-stat span{ font-size:.8rem; }
}

/* v16: főoldal – az összes kategória */
.cat-prev{ grid-template-columns:repeat(3,1fr); }
.cat-prev-card[data-g="1"]{ --gc:#9AE637; --gk:#5A9A08; }
.cat-prev-card[data-g="2"]{ --gc:#FFC247; --gk:#B07800; }
.cat-prev-card[data-g="3"]{ --gc:#FF7DA6; --gk:#D6416F; }
.cat-prev-card[data-g="4"]{ --gc:#9AE637; --gk:#5A9A08; }
.cat-prev-card[data-g="5"]{ --gc:#FFC247; --gk:#B07800; }
.cat-prev-txt b{ color:var(--gk); font-size:1.15rem; }
.cat-prev-txt small{ color:#5B5568!important; font-weight:500; font-size:.84rem; line-height:1.35; }
@media (max-width:1000px){ .cat-prev{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .cat-prev{ grid-template-columns:1fr; gap:.55rem; } .cat-prev-card{ padding:.55rem .8rem; } .cat-prev-thumb{ width:44px; height:44px; } .cat-prev-txt b{ font-size:1.05rem; } .cat-prev-go{ width:28px; height:28px; } .cat-prev-badge{ top:-9px; } }
@media (max-width:640px){
  .stat-table-wrap .pricing-table{ min-width:0; width:100%; table-layout:fixed; }
  .stat-table-wrap .pricing-table th, .stat-table-wrap .pricing-table td{ padding:.55rem .35rem; font-size:.74rem; line-height:1.25; }
  .stat-table-wrap .pricing-table th:first-child, .stat-table-wrap .pricing-table td:first-child{ width:34%; padding-left:.6rem; }
}

/* v16: főoldali kategóriacsoportok (5 kártya) */
.cat-prev{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.1rem; }
.cat-prev-card{ flex-direction:column; text-align:center; gap:.8rem; padding:1.5rem 1rem 1.2rem; width:calc((100% - 4.4rem) / 5); }
.cat-prev-thumb{ width:84px; height:84px; }
.cat-prev-txt{ flex:none; align-items:center; }
.cat-prev-txt b{ font-size:1.05rem; }
.cat-prev-go{ margin-top:.2rem; }
@media (max-width:1000px){ .cat-prev-card{ width:calc((100% - 2.2rem) / 3); } }
@media (max-width:640px){
  .cat-prev{ gap:.55rem; }
  .cat-prev-card{ width:100%; flex-direction:row; text-align:left; padding:.6rem .85rem; gap:.8rem; }
  .cat-prev-thumb{ width:48px; height:48px; }
  .cat-prev-txt{ flex:1; align-items:flex-start; }
  .cat-prev-go{ margin-top:0; }
}
