/* kiasajo.hu — v2 („Szalon-rács”) tokenek (DESIGN_v2 2.–5.). A színek a sajo-arculat szerint (sajoauto_web site.css :13-18). */
/* Betű (DESIGN_v2 3.1–3.2): két pár saját tárhelyről (gen/static/fonts/FONTS.json, OFL-1.1); csak a használt pár töltődik.
   A tartalék: helyi Arial, a „Kia Sportage 8 949 000 Ft-tól” sor fej nélküli Chromium-mérésével illesztve (10-20: Archivo 1289,3 px /
   Arial 1306,4 px → 98,7 %; Barlow 400: 1260,1 / 1306,4 → 96,5 %); az ascent/descent a betű hhea-értéke / size-adjust. */
@font-face{font-family:"Sajo Archivo";src:url("../fonts/archivo/archivo-var.woff2?v=b2d866dd65") format("woff2");font-weight:400 700;font-stretch:100% 112%;font-display:swap}
@font-face{font-family:"Sajo Barlow";src:url("../fonts/barlow/barlow-400.woff2?v=b2d866dd65") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Sajo Barlow";src:url("../fonts/barlow/barlow-500.woff2?v=b2d866dd65") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Sajo Barlow";src:url("../fonts/barlow/barlow-600.woff2?v=b2d866dd65") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Sajo Barlow SC";src:url("../fonts/barlow/barlow-sc-500.woff2?v=b2d866dd65") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Sajo Barlow SC";src:url("../fonts/barlow/barlow-sc-600.woff2?v=b2d866dd65") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Sajo Barlow SC";src:url("../fonts/barlow/barlow-sc-700.woff2?v=b2d866dd65") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Sajo Archivo Tartalek";src:local("Arial"),local("Helvetica Neue"),local("Roboto");size-adjust:98.7%;ascent-override:89%;descent-override:21.3%;line-gap-override:0%}
@font-face{font-family:"Sajo Barlow Tartalek";src:local("Arial"),local("Helvetica Neue"),local("Roboto");size-adjust:96.5%;ascent-override:103.6%;descent-override:20.7%;line-gap-override:0%}

:root{
  --ink:#0a0b0d; --ink-2:#15171b; --ink-3:#23262c;
  --white:#ffffff; --paper:#f4f3f0; --paper-2:#eae8e3;
  --brand-1:#0a7cff; --brand-2:#00c2ff; --brand-ink:#0057c2;
  --grad:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  --mute-l:#5b5e66; --mute-d:#a3a7ae; --line-l:rgba(10,11,13,.12); --line-d:rgba(255,255,255,.14);
  --ok:#0e9f6e; --err:#d9304a;

  --font-a:"Sajo Archivo","Sajo Archivo Tartalek",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --font-b-cim:"Sajo Barlow SC","Sajo Barlow Tartalek",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --font-b-szoveg:"Sajo Barlow","Sajo Barlow Tartalek",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --font:var(--font-a); --font-wide:var(--font-a);

  /* típusskála (DESIGN_v2 3.3), ≥ 1240 px; a kisebb sávok lent. Px-ben, vw és clamp nélkül. */
  --t-nev:72px; --t-marka:36px; --t-d1:48px; --t-h2:36px; --t-ar:36px; --t-tol:21px; --t-h3:24px; --t-h4:18px;
  --t-bev:19px; --t-body:17px; --t-ar-k:18px; --t-data:15px; --t-gomb:15px; --t-small:14px;

  /* térköz (DESIGN 4.): 4-es alap, két szakasz-szint; nagyobb függőleges köz nincs */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px;
  --sz-1:64px; --sz-2:32px; --fej-koz:32px; --rac-sor:32px;

  /* rács (DESIGN 5.): 12 oszlop 900 px-től (1440-en 88 px), alatta 4 */
  --margo:60px; --koz:24px; --max:1320px; --fejlec:64px;
  --oszlop:calc((min(100vw, 1440px) - 2 * var(--margo) - 11 * var(--koz)) / 12);

  --r-gomb:999px; --r-mezo:6px;
  --e:cubic-bezier(.2,.7,.2,1); --t-int:180ms;
}
@media (max-width:1239.98px){ :root{
  --t-nev:60px; --t-marka:30px; --t-d1:44px; --t-h2:32px; --t-ar:32px; --t-tol:19px; --t-h3:22px; --t-bev:18px;
  --margo:40px; --oszlop:calc((100vw - 2 * var(--margo) - 11 * var(--koz)) / 12); } }
@media (max-width:899.98px){ :root{
  --t-nev:44px; --t-marka:24px; --t-d1:36px; --t-h2:28px; --t-ar:28px; --t-tol:16px; --t-h3:20px; --t-h4:17px; --t-bev:17px;
  --t-body:16px; --t-ar-k:16px; --t-gomb:16px;
  --sz-1:40px; --sz-2:24px; --fej-koz:24px; --rac-sor:24px;
  --margo:20px; --koz:16px; --oszlop:calc((100vw - 2 * var(--margo) - 3 * var(--koz)) / 4); } }
@media (max-width:359.98px){ :root{
  --t-nev:38px; --t-marka:21px; --t-d1:32px; --t-h2:24px; --t-ar:24px; --t-tol:14px; --t-h3:18px; --t-h4:16px; --t-bev:16px;
  --t-ar-k:15px; --t-data:14px; --t-gomb:15px; --t-small:13px;
  --margo:16px; --koz:12px; } }
/* a J1 b-párja (csak a homokozóban, betu.js): név, cím, ár Barlow Semi Condensed, szöveg Barlow */
html[data-betu="b"]{ --font:var(--font-b-szoveg); --font-wide:var(--font-b-cim); }

/* kiasajo.hu — v2 („Szalon-rács”) alap: reset, rács, mező-alap (DESIGN_v2 2., 5., 6.1). Tokenek: tokenek.css; a komponensek a
   komp/*.css-ben; a build mindet egy static/css/oldal.css-be fűzi (gen/build.py _css_osszefuz). */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--fejlec) + 16px); }
body { margin: 0; background: var(--white); color: var(--ink); font-family: var(--font); font-size: var(--t-body); line-height: 1.55;
  font-kerning: normal; font-optical-sizing: auto; overflow-x: clip; }
img, video { display: block; max-width: 100%; height: auto; }
picture { display: block; }
a { color: inherit; }
h1, h2, h3, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
button { font: inherit; }
:focus-visible { outline: 3px solid var(--brand-1); outline-offset: 3px; }
.rejtett { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ugro { position: absolute; left: 16px; top: -100px; z-index: 100; padding: 12px 16px; background: var(--white); color: var(--ink); border-radius: var(--r-mezo); }
.ugro:focus { top: 12px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* rács (DESIGN 5.): tartalom legfeljebb 1320 px, a margó a sávtól függ (60 / 40 / 20 / 16) */
.racs { width: 100%; max-width: calc(var(--max) + 2 * var(--margo)); margin-inline: auto; padding-inline: var(--margo); }
p { max-width: 68ch; }

/* űrlap-alap: a mező kerete --mute-l (fehéren 6,5:1, WCAG 1.4.11); a hibaszöveg csak fehér alapon (DESIGN 2.) */
.urlap-racs { display: grid; gap: var(--s5) var(--koz); }
@media (min-width: 700px) { .urlap-racs { grid-template-columns: repeat(2, minmax(0, 1fr)); } .mezo--szeles { grid-column: 1 / -1; } }
.mezo { display: grid; gap: var(--s2); align-content: start; }
.mezo label { font-size: 14px; font-weight: 560; }
.mezo input, .mezo select, .mezo textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--mute-l); border-radius: var(--r-mezo);
  background: var(--white); color: var(--ink); font: inherit; font-size: 16px; transition: border-color var(--t-int) var(--e); }
.mezo textarea { min-height: 140px; resize: vertical; }
.mezo input:hover, .mezo select:hover, .mezo textarea:hover { border-color: var(--ink); }
.mezo [aria-invalid="true"] { border-color: var(--err); }
.mezo-hiba { color: var(--err); font-size: 14px; }
.mezo--jelolo .jelolo { display: flex; gap: var(--s3); align-items: flex-start; font-weight: 400; font-size: 15px; line-height: 1.5; }
.jelolo input { flex: none; width: 22px; height: 22px; min-height: 0; margin-top: 1px; accent-color: var(--brand-1); }
.jelolo a { color: var(--brand-ink); }
.mez { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
/* Turnstile (2026-10-20): a widget 300 px-es; 359 px alatt arányosan kicsinyítve, hogy az űrlap-hasáb (280 px) ne szélesedjen */
.cf-turnstile { margin-top: var(--s5); }
@media (max-width: 359px) { .cf-turnstile { width: 280px; height: 61px; transform: scale(.9333); transform-origin: 0 0; } }
.urlap > .gomb { margin-top: var(--s6); }
.urlap-kozos-hiba { margin-top: var(--s5); padding: var(--s4); border-left: 3px solid var(--err); background: var(--paper); }
/* P3 2. kör: a tesztvezetés-jelölő — a [hidden] erősebb a .mezo display-énél; nyitva a címke ≥ 44 px érintési cél */
.urlap [data-tesztvezetes-jelolo][hidden] { display: none; }
.urlap [data-tesztvezetes-jelolo] .jelolo { min-height: 44px; align-items: center; }

/* komp/arak.css */
/* Az #arak szakasz teljes változata (DESIGN_v2 7.3; LA): ≥ 900 a változat-tábla az 1–9., a PDF-gombok a 10–12. oszlopban, egy sorban
   kezdődnek; < 900 egymás alatt (előbb a PDF-gombok, a DOM-sorrend szerint), < 760 a tábla soronként kártya. A számok jobbra zárva,
   táblázatos számjeggyel. A K5 a regi_arlista.css-t törli: ez a fájl önálló. */
.arak-racs { row-gap: var(--s5); }
@media (max-width: 899.98px) { .arak-racs > * { grid-column: 1 / -1; } }
@media (min-width: 900px) {
  .arak-dok, .arak-doboz { grid-row: 1; }
  .arak-megj { grid-row: 2; }
  /* hosszú táblánál (Sportage: 36 sor) a PDF-gombok görgetés közben is a tábla mellett maradnak */
  .arak-dok { position: sticky; top: calc(var(--fejlec) + var(--s5)); align-self: start; }
}
/* a pdf.css 3-oszlopos max-szélessége a teljes sorra szól; itt a cella maga a 10–12. oszlop */
.arak-dok .pdf-gombok { max-width: none; }
.arak-doboz { min-width: 0; overflow-x: auto; }
.arak-doboz:focus-visible { outline: 3px solid var(--brand-1); outline-offset: 3px; }
.arak-tabla { width: 100%; border-collapse: collapse; font-size: var(--t-data); font-variant-numeric: tabular-nums; }
.arak-tabla th, .arak-tabla td { padding: var(--s3) var(--s4) var(--s3) 0; text-align: left; vertical-align: baseline;
  border-bottom: 1px solid var(--line-l); }
.arak-tabla thead th { padding-top: 0; font-size: var(--t-small); font-weight: 500; color: var(--mute-l); border-bottom-color: var(--ink);
  white-space: nowrap; }
.arak-tabla tbody th { font-weight: 600; }
.arak-tabla tbody tr:hover { background: var(--paper); }
.arak-tabla .arak-szam { text-align: right; white-space: nowrap; }
.arak-tabla .arak-ar { font-size: var(--t-ar-k); font-weight: 600; color: var(--ink); }
.arak-tabla .arak-muv { padding-right: 0; text-align: right; white-space: nowrap; }
.arak-modell { display: block; font-weight: 400; color: var(--mute-l); }
.arak-konf { display: inline-flex; align-items: center; min-height: 44px; color: var(--brand-ink); font-weight: 600; text-decoration: underline;
  text-underline-offset: 4px; text-decoration-thickness: 1px; }
.arak-konf:hover { text-decoration-thickness: 2px; }
.arak-megj { max-width: 72ch; font-size: var(--t-small); color: var(--mute-l); }
@media (max-width: 759.98px) {
  .arak-tabla thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .arak-tabla, .arak-tabla tbody { display: block; width: 100%; }
  .arak-tabla tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s1) var(--s3); padding-block: var(--s4);
    border-bottom: 1px solid var(--line-l); }
  /* sorok: szint · adatok (motor, kW, váltó, hatótáv) · ár balra + „Összeállítom” jobbra; a ::before teljes szélességű törés */
  .arak-tabla tr::before { content: ""; flex-basis: 100%; order: 1; }
  .arak-tabla td:empty { display: none; }
  .arak-tabla tbody tr:first-child { border-top: 1px solid var(--ink); }
  .arak-tabla tbody tr:hover { background: none; }
  .arak-tabla th, .arak-tabla td { display: block; padding: 0; border: 0; }
  .arak-tabla tbody th { flex-basis: 100%; font-size: var(--t-body); }
  .arak-modell { display: inline; }
  .arak-tabla td { color: var(--mute-l); }
  .arak-tabla .arak-szam { text-align: left; }
  .arak-tabla .arak-ar { order: 2; flex: 1 1 auto; margin-top: var(--s1); font-size: var(--t-h4); }
  .arak-tabla .arak-muv { order: 3; margin-top: var(--s1); }
}

/* komp/elerhetoseg.css */
/* Elérhetőség-blokk (DESIGN_v2 6.2.4; K0): a „lablec” (sötét) és a „nagy” (fehér, Kapcsolat / Rólunk) változat 4 egyforma hasábja;
   390-en 2 × 2. A „sav” változat a komp/fejlec.css-ben (a felső sáv része). */
.elerh--lablec, .elerh--nagy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5) var(--koz); align-items: stretch; }
@media (min-width: 900px) { .elerh--lablec, .elerh--nagy { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.elerh-hasab { display: grid; gap: var(--s2); align-content: start; min-width: 0; }
.elerh-cimke { font-size: var(--t-small); font-weight: 600; }
.elerh-ertek { font-size: var(--t-h4); font-weight: 600; font-variant-numeric: tabular-nums; }
.elerh-link { overflow-wrap: anywhere; }
.elerh-nyitva { display: grid; gap: 2px; margin: 0; }
.elerh-nyitva div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 var(--s4); font-variant-numeric: tabular-nums; }
.elerh-nyitva dt, .elerh-nyitva dd { white-space: nowrap; }
.elerh-nyitva dd { margin: 0; font-weight: 500; }
.elerh--lablec .elerh-cimke, .elerh--lablec .elerh-nyitva dt { color: var(--mute-d); }
.elerh--lablec .elerh-ertek, .elerh--lablec .elerh-nyitva dd { color: var(--white); }
.elerh--nagy { padding-top: var(--s5); border-top: 2px solid var(--ink); }
.elerh--nagy .elerh-cimke, .elerh--nagy .elerh-nyitva dt { color: var(--mute-l); }
.elerh--nagy .elerh-ertek { font-size: var(--t-h3); }
.elerh--nagy .gomb { justify-self: start; margin-top: var(--s2); }
@media (max-width: 899.98px), (pointer: coarse) { .elerh-hasab > a { display: inline-flex; align-items: center; min-height: 44px; } }

/* komp/fejlec.css */
/* Felső sáv, fejléc, márkapár, mobil menü (DESIGN_v2 2., 6.2.1; K0). A márkapár méretei K-szorzók: minden méret
   calc(<szorzó> * var(--k)), a --k sávonként (fejléc 22 / 26 / 30, lábléc 30 / 36; K = a Kia-jel tinta-magassága). */

/* márkapár */
.marka-par { --k: 22px; display: inline-flex; align-items: center; flex: none; text-decoration: none; }
@media (min-width: 360px) { .marka-par[data-hely="fejlec"] { --k: 26px; } }
@media (min-width: 1240px) { .marka-par[data-hely="fejlec"] { --k: 30px; } }
.marka-par[data-hely="lablec"] { --k: 30px; }
@media (min-width: 900px) { .marka-par[data-hely="lablec"] { --k: 36px; } }
.marka-par[data-hely] .kia-jel { flex: none; width: calc(var(--kia-w) * var(--k)); height: calc(var(--kia-h) * var(--k));
  margin: calc(var(--ter) * var(--k)); margin-right: calc((var(--ter) + var(--vonal-koz)) * var(--k)); }
.marka-par[data-hely] .marka-vonal { display: block; flex: none; width: 1px; height: var(--k); margin-right: calc(var(--vonal-utan) * var(--k)); }
/* a Sajó-tinta a SAJÁT sáv K-jának 0,8-e (marka.SAJO_ARANY): a --sajo-h a legnagyobb sáv floor(0,8 K)-jából jön, a kisebb sávon
   azzal szorozva a lábléc 390-en 23,33 px lett (LV 6: ≥ 24 − 0,5); a szélesség a kép arányából (width/height attribútum) */
.marka-par[data-hely] .sajo-jel { flex: none; width: auto; height: calc(0.8 * var(--k) / var(--sajo-tinta, 1)); }
.marka-par--sotet .marka-vonal { background: rgba(255,255,255,.55); }
.marka-par--vilagos .marka-vonal { background: rgba(10,11,13,.45); }

/* felső sáv: ≥ 1240, 36 px, elgörgethető (nem ragadós); cím + útvonal · két nyitvatartás · telefon (+ 1240–1439: tesztvezetés) */
.felso-sav { display: none; background: var(--ink); color: var(--white); border-bottom: 1px solid var(--line-d); font-size: var(--t-small); }
.felso-sav a { color: var(--white); text-decoration: none; }
.felso-sav a:hover { text-decoration: underline; text-underline-offset: 3px; }
.elerh--sav { display: flex; align-items: center; justify-content: space-between; gap: var(--s5); min-height: 36px; }
.elerh--sav p { max-width: none; white-space: nowrap; }
.elerh--sav .elerh-cim, .elerh--sav .elerh-nyitva { display: flex; gap: var(--s5); }
.elerh--sav .elerh-cimke { color: var(--mute-d); }
.elerh--sav .elerh-jobb { display: flex; align-items: center; gap: var(--s5); font-variant-numeric: tabular-nums; }
.felso-sav .felso-sav-tv { display: none; }
@media (min-width: 1240px) { .felso-sav { display: block; } }
@media (min-width: 1240px) and (max-width: 1439.98px) { .felso-sav .felso-sav-tv { display: inline; } }

/* fejléc: ragadós, 64 px; [márkapár] [7 pontos menü] [Tesztvezetést kérek ≥ 1440] [Ajánlatot kérek] */
.fejlec { position: sticky; top: 0; z-index: 50; background: var(--ink); color: var(--white); }
.fejlec-sor { display: flex; align-items: center; justify-content: space-between; gap: var(--s5); height: var(--fejlec); }
.fomenu { display: none; }
.menu-gomb { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: -10px; padding: 0;
  background: none; border: 0; color: var(--white); cursor: pointer; }
.menu-ikon, .menu-ikon::before, .menu-ikon::after { display: block; width: 22px; height: 1.5px; background: currentColor; transition: transform var(--t-int) var(--e); }
.menu-ikon { position: relative; }
.menu-ikon::before, .menu-ikon::after { content: ""; position: absolute; left: 0; }
.menu-ikon::before { top: -7px; }
.menu-ikon::after { top: 7px; }
.menu-nyitva .menu-ikon { background: transparent; }
.menu-nyitva .menu-ikon::before { transform: translateY(7px) rotate(45deg); }
.menu-nyitva .menu-ikon::after { transform: translateY(-7px) rotate(-45deg); }
.menu-nyitva body { overflow: hidden; }
/* < 1240: teljes képernyős menü — a 7 pont, a telefon és a két gomb */
.menu-nyitva .fomenu { display: flex; position: fixed; inset: var(--fejlec) 0 0 0; flex-direction: column; justify-content: space-between;
  gap: var(--s7); padding: var(--s6) var(--margo) calc(var(--s6) + env(safe-area-inset-bottom)); background: var(--ink); overflow-y: auto; }
.fomenu-lista a { display: block; padding: 10px 0; color: var(--white); text-decoration: none; font-family: var(--font-wide);
  font-size: var(--t-h2); font-weight: 600; font-stretch: 104%; line-height: 1.15; }
.fomenu-lista a[aria-current="page"] { color: var(--brand-2); }
.fomenu-cta { display: flex; flex-direction: column; gap: var(--s3); align-items: stretch; }
.fejlec-tel { color: var(--white); text-decoration: none; font-size: var(--t-h4); font-weight: 600; font-variant-numeric: tabular-nums;
  padding: 10px 0; white-space: nowrap; }
.fomenu-cta .gomb-vonal { border-color: rgba(255,255,255,.5); color: var(--white); }
.fomenu-cta .gomb-vonal:hover { background: var(--white); color: var(--ink); }

@media (min-width: 1240px) {
  .menu-gomb { display: none; }
  .fomenu, .menu-nyitva .fomenu { display: flex; position: static; flex-direction: row; align-items: center; justify-content: flex-end; flex: 1;
    gap: var(--s5); padding: 0; background: none; overflow: visible; }
  .fomenu-lista { display: flex; gap: 20px; margin-right: auto; padding-left: var(--s6); }
  .fomenu-lista a { padding: 6px 0; font-family: var(--font); font-size: var(--t-gomb); font-weight: 500; font-stretch: 100%; color: var(--mute-d);
    border-bottom: 2px solid transparent; transition: color var(--t-int) var(--e); }
  .fomenu-lista a:hover { color: var(--white); }
  .fomenu-lista a[aria-current="page"] { color: var(--white); border-image: var(--grad) 1; border-bottom-style: solid; }
  .fomenu-cta { flex-direction: row; align-items: center; gap: var(--s3); }
  .fejlec-tel { display: none; }
  .fomenu-cta .gomb { min-height: 40px; padding: 0 18px; font-size: var(--t-small); }
}
/* 1240–1439: a tesztvezetés-gomb a felső sávba kerül (a valós feliratokkal és a valós Kia-jellel 1240-en mérve fér, 10-20) */
@media (min-width: 1240px) and (max-width: 1439.98px) {
  .fomenu-lista { gap: 16px; padding-left: var(--s5); }
  .fomenu-cta .fejlec-tv { display: none; }
}

/* komp/flotta.css */
/* Flotta (DESIGN_v2 7.10; LC) — a Car Fleet egyetlen helye: partner 1–6 + logó 8–12 (paper); a szolgáltatás-csempék (komp/szerviz.css
   .szolg-racs) és a „kérjen ajánlatot” csempe (.szolg-csempe--cta) teljes 3-as sorokat adnak: ez a sor maradékát fogja (--maradek). */
.flotta-partner { row-gap: var(--s5); align-items: center; }
.flotta-partner-szoveg { display: grid; gap: var(--s4); align-content: start; }
.flotta-partner-bev { font-size: var(--t-bev); line-height: 1.5; }
.flotta-partner-logo img { width: min(272px, 100%); height: auto; }
@media (max-width: 899.98px) { .flotta-partner-szoveg, .flotta-partner-logo, .flotta-urlap-fej, .flotta-urlap-panel { grid-column: 1 / -1; } }
@media (min-width: 900px) { .flotta-cta { grid-column: span var(--maradek, 1); } }
.flotta-urlap-fej { display: grid; gap: var(--s4); align-content: start; }
.flotta-urlap-panel { padding: var(--s6); background: var(--white); border-radius: var(--r-mezo); }
@media (max-width: 899.98px) { .flotta-urlap-fej { margin-bottom: var(--s5); } .flotta-urlap-panel { padding: var(--s4); } }

/* komp/hos.css */
/* hős + dia-szalag (K3; DESIGN 6.2.2, 7.1). A DOM a K0 _komp_hos.html-je, az állapotot a hos.js adja ([data-aktiv], [data-fut],
   aria-current, .hos-video--fut). A diák egymásra rakva állnak (grid-area 1/1), a nem aktív dia visibility: hidden. Sávok: < 900
   mobil (a média a rácsból teljes szélességre tör ki), ≥ 900 12 oszlop: média 1–8, panel 9–12; szalag: H1 + vezérlő 1–3, lista 4–12. */
.hos { --hos-ido: 7000ms; background: var(--ink); color: var(--white); padding-block: var(--sz-2); }
.hos-racs { display: grid; }
.hos-diak { display: grid; }
.hos-dia {
  grid-area: 1 / 1; display: grid; align-content: start; gap: var(--s5);
  visibility: hidden; opacity: 0; transition: opacity 400ms, visibility 0s linear 400ms;
}
.hos-dia[data-aktiv] { visibility: visible; opacity: 1; transition: opacity 400ms, visibility 0s; }

/* média: 16:9 doboz, a videó a kép fölött, csak lejátszáskor tűnik elő */
.hos-media {
  position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink-2);
}
.hos-kep, .hos-kep img { display: block; width: 100%; height: 100%; }
.hos-kep img { object-fit: cover; }
.hos-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 400ms; }
.hos-video--fut { opacity: 1; }

/* panel: márkaszó, név (szélességhez igazítva, egy sorban), alcím, ár + „-tól”, gombsor */
.hos-panel { container-type: inline-size; display: grid; align-content: center; gap: var(--s3); min-width: 0; }
.hos-marka { margin: 0; font-size: var(--t-marka); line-height: 1; font-weight: 450; }
.hos-nev {
  margin: 0; white-space: nowrap; line-height: 1; letter-spacing: -0.01em;
  font-size: min(var(--t-nev), calc(100cqw / (var(--nev-hossz, 10) * var(--nev-arany, 0.58))));
}
.hos-alcim { margin: 0; color: var(--mute-d); font-size: var(--t-bev); line-height: 1.5; max-width: 64ch; }
.hos-datum, .hos-ajanlat p { margin: 0; font-size: var(--t-body); line-height: 1.55; }
.hos-ajanlat { display: grid; gap: var(--s2); }
.hos-ar { margin: 0; line-height: 1; font-variant-numeric: lining-nums; }
.hos-ar .ar-szam { font-size: var(--t-ar); }
.hos-ar .ar-cimke { font-size: var(--t-tol); color: var(--mute-d); }
.hos-panel .gombsor { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s4); align-items: center; margin-top: var(--s3); }
.hos-panel .gombsor > :nth-child(n + 3) { grid-column: 1 / -1; }
.gombsor-link { display: flex; margin: 0; }
/* < 900: a média a rács széléig ér úgy, hogy semmi nem lóg ki (a margó a panelen van, nem negatív margó a médián); a panel kitölti
   a legmagasabb dia magasságát, és a gombsor az alján áll, így minden dián ugyanott van, és a rövidebb dia alatt sincs üres sáv a
   szalag H1-éig (LV 1 c); 360 px alatt a két gomb (pl. „Ajánlatot kérek” + „Összes modell”) belső térköze kisebb, hogy elférjen */
@media (max-width: 899.98px) {
  .hos-racs { padding-inline: 0; }
  .hos-dia { grid-template-rows: auto 1fr; }
  .hos-panel { display: flex; flex-direction: column; padding-inline: var(--margo); }
  .hos-panel .gombsor { margin-top: auto; padding-top: var(--s3); }
}
@media (max-width: 359.98px) { .hos-panel .gombsor .gomb { padding-inline: var(--s3); } }

/* dia-szalag: H1, vezérlő, lista (mobilon vízszintesen görgethető csip-sor, mini-kép nélkül) */
.hos-szalag { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s4) var(--s2); align-items: center; margin-top: var(--s5); }
.hos-h1 { grid-column: 1 / -1; margin: 0; font-size: var(--t-h4); line-height: 1.3; }
.hos-vezerlo { display: flex; gap: var(--s2); }
.hos-vezerlo button {
  position: relative; inline-size: 44px; block-size: 44px; padding: 0; border: 1px solid var(--line-d); border-radius: 0;
  background: transparent; color: var(--white); cursor: pointer;
}
.hos-vezerlo [data-hos-elozo], .hos-vezerlo [data-hos-kovetkezo] { display: none; }
/* jelkép csak, ha a jelölés nem ad saját tartalmat (szöveg nincs a CSS-ben) */
.hos-vezerlo button:empty::before {
  content: ""; position: absolute; inset: 0; margin: auto; inline-size: 10px; block-size: 10px;
  border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(-45deg);
}
.hos-vezerlo [data-hos-elozo]:empty::before { transform: rotate(135deg); }
.hos-vezerlo [data-hos-szunet]:empty::before { border-width: 0 3px; transform: none; inline-size: 6px; block-size: 14px; }
.hos-vezerlo [data-hos-szunet][aria-pressed="true"]:empty::before {
  inline-size: 0; block-size: 0; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent currentColor;
}
.hos-lista {
  display: flex; gap: var(--s2); margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none;
  overscroll-behavior-x: contain; scroll-snap-type: x proximity;
}
.hos-lista li { flex: none; scroll-snap-align: start; }
.hos-lista button {
  position: relative; display: grid; gap: var(--s2); align-content: start; min-block-size: 44px; padding: var(--s3) var(--s4);
  border: 1px solid var(--line-d); border-radius: 0; background: transparent; color: var(--mute-d);
  font: inherit; font-size: var(--t-gomb); line-height: 1.2; text-align: left; cursor: pointer;
}
.hos-lista button[aria-current="true"] { color: var(--white); }
.hos-lista img, .hos-lista picture { display: none; }
.hos-folyamat {
  position: absolute; inset-inline: 0; inset-block-end: -1px; block-size: 2px; background: var(--grad);
  transform: scaleX(0); transform-origin: left;
}
.hos-lista button[aria-current="true"] .hos-folyamat { transform: scaleX(1); }
.hos[data-fut="a"] .hos-lista button[aria-current="true"] .hos-folyamat { animation: hos-fut-a var(--hos-ido) linear; }
.hos[data-fut="b"] .hos-lista button[aria-current="true"] .hos-folyamat { animation: hos-fut-b var(--hos-ido) linear; }
@keyframes hos-fut-a { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes hos-fut-b { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.hos-vezerlo button:focus-visible, .hos-lista button:focus-visible { outline: 2px solid var(--brand-2); outline-offset: 2px; }

@media (min-width: 900px) {
  .hos-dia { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--koz); align-items: center; }
  .hos-media { grid-column: 1 / span 8; }
  .hos-panel { grid-column: 9 / span 4; }
  .hos-panel .gombsor { display: flex; flex-wrap: wrap; gap: var(--s4); }
  .hos-panel .gombsor > :nth-child(n + 3) { flex-basis: 100%; }
  .hos-szalag { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--koz); row-gap: var(--s4); align-items: start; margin-top: var(--s5); }
  .hos-h1 { grid-column: 1 / span 3; }
  .hos-vezerlo { grid-column: 1 / span 3; grid-row: 2; }
  .hos-vezerlo [data-hos-elozo], .hos-vezerlo [data-hos-kovetkezo] { display: block; }
  .hos-lista { grid-column: 4 / span 9; grid-row: 1 / span 2; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); overflow: visible; }
  .hos-lista button { block-size: 100%; inline-size: 100%; padding: 0 0 var(--s2); border: 0; border-block-end: 1px solid var(--line-d); }
  .hos-lista button > span:not(.hos-folyamat) { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-block-size: 2.4em; }
  .hos-lista img, .hos-lista picture { display: block; inline-size: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
}

@media (prefers-reduced-motion: reduce) {
  .hos-dia, .hos-dia[data-aktiv], .hos-video { transition: none; }
}

/* komp/jogi.css */
/* Jogi oldalak (DESIGN_v2 7.15; LC): lapfej (H1), törzs ≤ 72ch; a tábla a saját dobozában görget. A törzs a build_legal.py kimenete,
   változatlanul — ez a fájl csak a megjelenése. */
.jogi-lap-torzs { max-width: 72ch; min-width: 0; }
.jogi-lap-torzs > :first-child { margin-top: 0; }
.jogi-lap-torzs h2 { margin: var(--s7) 0 var(--s3); font-family: var(--font-wide); font-size: var(--t-h3); font-weight: 600; line-height: 1.2; }
.jogi-lap-torzs h3 { margin: var(--s5) 0 var(--s2); font-size: var(--t-h4); font-weight: 600; line-height: 1.3; }
.jogi-lap-torzs p, .jogi-lap-torzs li { margin-bottom: var(--s3); }
.jogi-lap-torzs ul, .jogi-lap-torzs ol { margin-bottom: var(--s3); padding-left: 1.4em; list-style: revert; }
.jogi-lap-torzs a { color: var(--brand-ink); overflow-wrap: anywhere; }
.jogi-lap-torzs .jogi-tabla { max-width: 100%; overflow-x: auto; margin-bottom: var(--s5); -webkit-overflow-scrolling: touch; }
.jogi-lap-torzs table { border-collapse: collapse; min-width: 100%; font-size: var(--t-data); }
.jogi-lap-torzs th, .jogi-lap-torzs td { padding: var(--s2) var(--s3); text-align: left; vertical-align: top; border-bottom: 1px solid var(--line-l); }
.jogi-lap-torzs th { font-weight: 600; }

/* komp/kapcsolat.css */
/* Kapcsolat (DESIGN_v2 7.12; LD): a K0 lead-blokkja a térkép mellett, a 7–12. oszlopban. A blokk saját szakasz-kerete
   (háttér, térköz, rács-margó, info-hasáb) itt nem kell: a telefon és a nyitvatartás a fenti elérhetőség-blokkban már áll,
   ezért a lead-info csak a címet és a bevezetőt mutatja, alatta a panel. A lead.css a kapcsolat.css után fűződik (név szerint),
   ezért a felülírás egy szinttel specifikusabb. */
.kapcsolat-lead .lead { padding: 0; background: none; }
.kapcsolat-lead .racs { max-width: none; padding-inline: 0; }
.kapcsolat-lead .lead-racs { display: block; }
.kapcsolat-lead .lead-tel, .kapcsolat-lead .lead-nyitva { display: none; }
.kapcsolat-lead .lead-panel { margin-top: var(--s5); }
@media (min-width: 900px) { .kapcsolat-lead .lead .urlap-racs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* négy fül a 6 oszlopos panelben (≥ 900) egyforma szélesen, tördelhetően; < 900 2 × 2-ben, hogy a leghosszabb felirat
   („Szervizidőpont”) 390-en és 320-on is kiférjen */
.kapcsolat-lead .lead-fulek { flex-wrap: wrap; }
.kapcsolat-lead .lead-ful { flex: 1 1 0; min-width: 0; padding: var(--s2); white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 899.98px) { .kapcsolat-lead .lead-ful { flex: 1 1 50%; } }
/* 320 px: a K0 „nagy” elérhetőség-blokkjának 2 × 2-es hasábja itt 138 px; a cím-érték és az „Útvonaltervezés” gomb így fér ki */
@media (max-width: 359.98px) {
  .lap-kapcsolat .elerh--nagy .elerh-ertek { font-size: var(--t-h4); }
  .lap-kapcsolat .elerh--nagy .gomb { padding-inline: var(--s3); font-size: var(--t-small); }
}

/* komp/kartya.css */
/* Kártya, kártyarács, csipek (DESIGN_v2 5., 6.1; K0). Rács: ≥ 1240 4 / sor, 900–1239 3 / sor, < 900 2 / sor; a képdoboz 16:10, a sorban
   minden kártya egyforma magas, az ár (a műveletsor) a kártya alján, így az alsó élek egy vonalban vannak. */
.kartyarac { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rac-sor) var(--koz); align-items: stretch; }
@media (min-width: 900px) { .kartyarac { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1240px) { .kartyarac { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kartya { display: flex; flex-direction: column; min-width: 0; }
@media (max-width: 899.98px) { .kartya--mobil-rejt { display: none; } }
.kartya-link { display: flex; flex-direction: column; gap: var(--s2); height: 100%; color: inherit; text-decoration: none; }
.kartya-media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--paper); margin-bottom: var(--s2); }
.kartya-media--szeles { aspect-ratio: 16 / 9; }
.kartya-kep, .kartya-kep img { display: block; width: 100%; height: 100%; }
.kartya-kep img { object-fit: cover; transition: transform 600ms var(--e); }
.illeszt-contain .kartya-kep img { object-fit: contain; }
a.kartya-link:hover .kartya-kep img { transform: scale(1.02); }
.kartya-nev { font-family: var(--font-wide); font-size: var(--t-h4); font-weight: 600; font-stretch: 104%; line-height: 1.2; letter-spacing: -0.005em; }
a.kartya-link:hover .kartya-nev { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.kartya-ar, .kartya-jel { margin-top: auto; padding-top: var(--s1); font-size: var(--t-data); }
.kartya-ar { font-weight: 450; font-variant-numeric: proportional-nums; color: var(--mute-l); }
.kartya-ar .ar-szam { color: var(--ink); font-weight: 600; }
.kartya-jel { color: var(--brand-ink); font-weight: 600; }
.csempe { display: flex; align-items: center; height: 100%; padding: var(--s4); background: var(--paper); }
.csempe-nev { font-family: var(--font-wide); font-weight: 600; font-stretch: 112%; font-size: var(--t-h3); line-height: 1; color: var(--ink); }
.szakasz-lab { margin-top: var(--fej-koz); }

/* kategória-csipek: linkek (a szakasz-fejben jobbra, mobilon vízszintesen görgethető sáv) */
.csipek ul { display: flex; flex-wrap: wrap; gap: var(--s2); }
@media (max-width: 899.98px) {
  .szakasz-fej .csipek { width: 100%; }
  .szakasz-fej .csipek ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
}
.csip { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--line-l); border-radius: var(--r-gomb);
  font-size: var(--t-small); font-weight: 500; text-decoration: none; color: var(--ink); white-space: nowrap; transition: border-color var(--t-int) var(--e); }
.csip:hover { border-color: var(--ink); }
.csip[aria-current="page"] { background: var(--ink); border-color: var(--ink); color: var(--white); }
.csip--sotet { border-color: var(--line-d); color: var(--white); }
.csip--sotet:hover { border-color: var(--white); }
.lapfej .csipek { margin-top: var(--s6); }

/* komp/konf_blokk.css */
/* Konfigurátor-blokk a főoldalon (DESIGN_v2 7.1; K0): 1–4 cím + szöveg + fő gomb; 5–12 öt egyforma lépés-csempe (sorszám --brand-2,
   lépésnév --t-h4, súgó 14 px), alatta a konfigurálható modellek csipjei. < 900: egymás alatt, a súgó egy sorban. */
.konf-blokk-info, .konf-blokk-tartalom { grid-column: 1 / -1; min-width: 0; }
.konf-blokk-szoveg { margin-top: var(--s4); color: var(--mute-d); font-size: var(--t-body); line-height: 1.55; }
.konf-blokk-gomb { margin-top: var(--s5); }
.konf-blokk-tartalom { margin-top: var(--s6); }
.konf-lepesek { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s4); margin: 0; padding: 0; list-style: none; }
.konf-lepes { display: grid; grid-template-columns: auto minmax(0, 1fr); align-content: start; gap: var(--s1) var(--s3); padding-top: var(--s3);
  border-top: 1px solid var(--line-d); }
.konf-lepes-szam { grid-row: 1 / span 2; color: var(--brand-2); font-size: var(--t-h3); font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.konf-lepes-nev { font-size: var(--t-h4); font-weight: 600; line-height: 1.25; }
.konf-lepes-sugo { color: var(--mute-d); font-size: var(--t-small); line-height: 1.45; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 1;
  -webkit-box-orient: vertical; }
.konf-blokk-modellek-cim { margin-top: var(--s5); color: var(--mute-d); font-size: var(--t-small); }
.konf-blokk-csipek { display: flex; flex-wrap: wrap; gap: var(--s2); margin: var(--s3) 0 0; padding: 0; list-style: none; }
@media (max-width: 899.98px) {
  .konf-blokk-csipek { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
}
@media (min-width: 900px) {
  .konf-blokk-tartalom { margin-top: 0; }
  .konf-lepesek { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s4); }
  .konf-lepes { grid-template-columns: minmax(0, 1fr); }
  .konf-lepes-szam { grid-row: auto; font-size: var(--t-h3); }
  .konf-lepes-sugo { -webkit-line-clamp: 3; }
}

/* komp/konf_oldal.css */
/* Konfigurátor-hub és konfigurátor-oldal (DESIGN_v2 7.6–7.7; LB). A #konf belső rácsa (tartalom 1–8, összesítő 9–12) a
   konfigurator/src/konf.css-é; itt a lap-szintű rész: konf-fej, a hub csempéi, és a főoldali csempe-szabály visszaállítása. */

/* hub: a főoldali konfigurátor-blokk 5 csempéje (komp/konf_blokk.css) világos alapon */
.konf-lepesek--hub .konf-lepes { border-top-color: var(--ink); }
.konf-lepesek--hub .konf-lepes-szam { color: var(--brand-ink); }
.konf-lepesek--hub .konf-lepes-sugo { color: var(--mute-l); }

/* konf-fej (fehér, sz-2 / sz-2): 1–8 morzsa · H1 · ár · linkek, 9–12 kártyakép 16:10; a hasáb tetejére igazítva (a 10.13.25-ös
   üres sáv az align-items: end-ből jött) */
.konf-fej { padding-block: var(--sz-2); background: var(--white); color: var(--ink); }
.konf-fej .racs-12 { align-items: start; row-gap: var(--s5); }
.konf-fej-szoveg, .konf-fej-kep { min-width: 0; }
@media (max-width: 899.98px) { .konf-fej-szoveg, .konf-fej-kep { grid-column: 1 / -1; } }
.konf-fej .morzsa { margin-bottom: var(--s4); }
.konf-fej .morzsa ol { padding-top: 0; }
.konf-fej-ar { margin-top: var(--s4); font-size: var(--t-ar); font-weight: 480; line-height: 1; font-variant-numeric: lining-nums; }
.konf-fej-ar .ar-cimke { font-size: var(--t-tol); font-weight: 400; color: var(--mute-l); }
.konf-fej-linkek { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s5); margin: var(--s5) 0 0; padding: 0; list-style: none; }
.konf-fej-linkek a { display: inline-flex; align-items: center; min-height: 44px; }
.konf-fej-kep { aspect-ratio: 16 / 10; background: var(--paper); }
.konf-fej-kep .konf-kep, .konf-fej-kep img { display: block; width: 100%; height: 100%; }
.konf-fej-kep img { object-fit: cover; }

/* a komp/konf_blokk.css .konf-lepes és .konf-lepes-szam szabálya a főoldali csempéé; a konfigurator.js ugyanezt az osztálynevet
   adja a lépés-szakasznak és a lépés-sáv számának (390-en a szakasz két hasábba tört, és vízszintesen kilógott) */
#konf .konf-lepes { display: block; padding-top: 0; border-top: 0; }
#konf .konf-lepes-szam { grid-row: auto; color: inherit; font-size: inherit; line-height: inherit; }

/* 390: az összesítő alsó lapjának helye a sötét lábléc alján (nem a #konf alatt — ott 250 px-es üres sávot hagyott a lábléc
   előtt, LV 1; és nem a body alján — ott fehér sáv maradt a lábléc alatt) */
@media (max-width: 1023.98px) { .lap-konf .lablec { padding-bottom: calc(var(--sz-2) + 168px + env(safe-area-inset-bottom)); } }
/* 1440: a lépés-láb (Tovább / Vissza) a ragadós összesítő aljáig ér, a két hasáb alja egy vonalban (a verify a ragadós
   összesítőt kihagyja, így a rövid 1. lépés alatt üres sáv maradt) */
@media (min-width: 1024px) {
  #konf .konf-fo { align-self: stretch; display: flex; flex-direction: column; }
  #konf .konf-lepes { flex: 1 0 auto; display: flex; flex-direction: column; }
  #konf .konf-lepes > * { min-width: 0; }
  #konf .konf-lepes-lab { margin-top: auto; padding-top: var(--s5); }
}

/* az ajánlatkérő lap konfigurátor-összesítő doboza (urlap.html, konf_lead) — a regi_konf.css-ből, változatlanul */
.konf-osszesito-doboz { padding: var(--s5); background: var(--paper); }
.konf-osszesito-doboz .konf-osszeg { margin-top: var(--s2); font-size: var(--t-ar); font-weight: 600; font-stretch: 90%; font-variant-numeric: tabular-nums; }

/* komp/lablec.css */
/* Lábléc (DESIGN_v2 2., 6.2.4; K0): --ink; 0. márkapár (K 36) + státusz · 1. elérhetőség · 2. link-csoportok 4 egyforma hasábban
   (a „Modellek” csoportcím a 2. hasáb fölé is átér, de nem ível át) · 3. © + bemutatkozás. */
.lablec { --lablec-cim-mag: calc(var(--t-h4) * 1.3 + var(--s3)); background: var(--ink); color: var(--mute-d); font-size: var(--t-data);
  padding-block: var(--sz-1) var(--sz-2); }
.lablec a { color: var(--white); text-decoration: none; }
.lablec a:hover { text-decoration: underline; text-underline-offset: 4px; }
.lablec-racs { display: grid; gap: var(--s7); }
.lablec-fej { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s4) var(--s6); }
.lablec-statusz { color: var(--white); font-weight: 500; }
.lablec-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s6) var(--koz); align-items: stretch;
  padding-top: var(--s6); border-top: 1px solid var(--line-d); }
@media (min-width: 900px) { .lablec-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.lablec-hasab { min-width: 0; }
.lablec-csoport-cim { margin: 0 0 var(--s3); color: var(--white); font-size: var(--t-h4); font-weight: 600; line-height: 1.3; }
.lablec-hasab .lablec-csoport-cim ~ .lablec-csoport-cim { margin-top: var(--s5); }
.lablec-csoport-cim--atero { white-space: nowrap; }
.lablec-hasab--folytatas { padding-top: var(--lablec-cim-mag); }
.lablec-nav ul { display: grid; gap: var(--s2); }
.lablec-lab { display: grid; gap: var(--s3); padding-top: var(--s5); border-top: 1px solid var(--line-d); font-size: var(--t-small); }
.lablec-lab p { max-width: 96ch; }
@media (max-width: 899.98px), (pointer: coarse) {
  .lablec-nav a, .lablec-nav .link-gomb { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
  .lablec-nav ul { gap: 0; }
}

/* komp/landing.css */
/* GO-landing és akciós oldal (DESIGN_v2 7.16–7.17; LE). Hős (ink): ≥ 900 média 1–8 (16:9, a videó a poszter fölött), panel 9–12
   függőlegesen középre; < 900 a média a rácsból teljes szélességre tör ki, alatta a panel; < 800 a csomag álló (9:16) videója,
   ha van. Visszaszámláló: 4 egyforma csempe (320 px-ig kifér). Szöveg és GYIK 1–8, fotó 1–12, időpontfoglalás info 1–4 + űrlap 5–12. */
.landing-hos { background: var(--ink); color: var(--white); padding-block: var(--sz-2); }
/* a panel a média tetejéhez igazodik: középre igazítva a H1 fölötti sáv 1440-en > 112 px lenne (LV 1c) */
.landing-hos-racs { row-gap: var(--s5); align-items: start; }
.landing-hos-media { position: relative; aspect-ratio: var(--arany); overflow: hidden; background: var(--ink-2); }
.landing-hos-poszter, .landing-hos-poszter img, .landing-hos-media video, .landing-hos-media .horizont-media { display: block; width: 100%; height: 100%; }
.landing-hos-poszter img, .landing-hos-media video { object-fit: cover; }
.landing-hos-media video { position: absolute; inset: 0; }
@media (max-width: 899.98px) {
  .landing-hos-media { grid-column: 1 / -1; margin-inline: calc(-1 * var(--margo)); }
  .landing-hos-panel { grid-column: 1 / -1; }
}
@media (max-width: 799.98px) { .landing-hos-media--allo { aspect-ratio: var(--arany-allo, var(--arany)); } }
/* a videó poster-e a fekvő nyitókép: mozgáskímélő beállításnál (nincs automatikus lejátszás) az álló dobozban a <picture> álló
   nyitóképe látszik, a videó csak a lejátszás-gomb után (a site.js data-kezi jelölése) */
@media (max-width: 799.98px) and (prefers-reduced-motion: reduce) { .landing-hos-media--allo video:not([data-kezi]) { visibility: hidden; } }
.landing-hos-panel { display: grid; align-content: start; gap: var(--s4); min-width: 0; container-type: inline-size; }
.landing-hos-cim { font-family: var(--font-wide); font-size: min(var(--t-d1), 12cqw); font-weight: 600; font-stretch: 104%; line-height: 1.05;
  letter-spacing: -0.01em; text-wrap: balance; overflow-wrap: break-word; }
.landing-hos-alcim { color: var(--mute-d); font-size: var(--t-bev); line-height: 1.5; }
.landing-hos-datum { color: var(--mute-d); font-size: var(--t-data); font-variant-numeric: tabular-nums; }
.landing-hos-gombok { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--s3); margin-top: var(--s2); }
.landing-hos-gombok .gomb { justify-content: center; text-align: center; }
.landing-hos :focus-visible, .landing-vissza :focus-visible { outline-color: var(--brand-2); }

/* szakasz-címek (a szakasz-fej betűje) és bevezető */
.landing-cim { margin-bottom: var(--fej-koz); font-family: var(--font-wide); font-size: var(--t-h2); font-weight: 600; font-stretch: 104%;
  line-height: 1.1; letter-spacing: -0.01em; text-wrap: balance; }
.landing-bev { font-size: var(--t-bev); line-height: 1.5; color: var(--mute-l); }

/* visszaszámláló: 4 egyforma csempe; a címke szón belül nem törik (mate-ca mérte: „másodper / c” 390-en) */
.landing-csempek { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s4); margin: 0; }
.landing-csempe { display: grid; gap: var(--s2); align-content: start; min-width: 0; padding: var(--s5) var(--s4); background: var(--ink-2);
  border: 1px solid var(--line-d); }
.landing-csempe dd { order: -1; margin: 0; font-family: var(--font-wide); font-weight: 400; font-size: clamp(30px, 6.4vw, 96px); line-height: 1;
  font-variant-numeric: tabular-nums lining-nums; }
.landing-csempe dt { color: var(--mute-d); font-size: clamp(12px, 3.6vw, var(--t-data)); word-break: keep-all; hyphens: none; overflow-wrap: normal; }
@media (max-width: 599.98px) {
  .landing-csempek { gap: var(--s2); }
  .landing-csempe { padding: var(--s3) var(--s1); justify-items: center; text-align: center; }
}
@media (max-width: 359.98px) { .landing-csempek { gap: var(--s1); } }

/* szöveg és GYIK 1–8 (< 900 a 4 oszlopos rács teljes szélessége) */
@media (max-width: 899.98px) { .landing-torzs, .landing-gyik { grid-column: 1 / -1; } }
.landing-torzs p { font-size: var(--t-bev); line-height: 1.6; max-width: 72ch; }

/* fotó 1–12 (16:9), < 900 teljes szélesség; alatta közvetlenül az időpont-szakasz (a ragadós info miatt a rés ≤ 144 px, LV 1a) */
.landing-foto { width: 100%; overflow: hidden; background: var(--paper); }
@media (max-width: 899.98px) { .landing-foto { width: auto; margin-inline: calc(-1 * var(--margo)); } }
.landing-foto-kep, .landing-foto-kep img { display: block; width: 100%; height: 100%; }
.landing-foto-kep img { object-fit: cover; }

/* időpontfoglalás (7.9 mintájára): info 1–4 (≥ 900 ragadós a fejléc alatt), fehér űrlap-panel 5–12, ≥ 1240 3 hasábos mezőrács */
.landing-idopont { row-gap: var(--s6); align-items: start; }
.landing-idopont-info { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s4); min-width: 0; }
.landing-idopont-info .landing-cim { margin-bottom: 0; }
.landing-idopont-info .lead-tel, .landing-idopont-info .lead-nyitva { margin-top: 0; }
.landing-cim-sor { font-size: var(--t-small); color: var(--mute-l); }
.landing-idopont-urlap { min-width: 0; background: var(--white); padding: var(--s4); border-radius: var(--r-mezo); }
@media (min-width: 900px) {
  .landing-idopont-info { position: sticky; top: calc(var(--fejlec) + var(--s5)); }
  .landing-idopont-urlap { padding: var(--s6); }
}
@media (min-width: 1240px) { .landing-idopont-urlap .urlap-racs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 899.98px) { .landing-idopont-info, .landing-idopont-urlap { grid-column: 1 / -1; } }

/* GYIK 1–8 */
.gyik-elem { border-top: 1px solid var(--line-l); }
.gyik-elem:last-child { border-bottom: 1px solid var(--line-l); }
.gyik-elem summary { display: flex; align-items: center; min-height: 56px; padding-block: var(--s4); cursor: pointer; font-size: var(--t-h4);
  font-weight: 600; list-style: none; }
.gyik-elem summary::-webkit-details-marker { display: none; }
.gyik-kerdes { font: inherit; }
.gyik-elem summary::after { content: "+"; margin-left: auto; padding-left: var(--s5); font-weight: 300; font-size: 1.4em; color: var(--brand-ink); }
.gyik-elem[open] summary::after { content: "–"; }
.gyik-elem p { max-width: 64ch; padding-bottom: var(--s5); color: var(--mute-l); }

/* komp/lead.css */
/* Lead-blokk (DESIGN_v2 6.2.3, 7.1; K0): info 1–4 + fehér panel 5–12 (fülek 44 px, 3 hasábos kompakt mezőrács); < 900: egymás alatt,
   a mezők 1 hasábban. JS nélkül (a _komp_lead.html <noscript>-je) a fülsor rejtett, és minden panel látszik egymás alatt. */
.lead-racs { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s6) var(--koz); }
@media (min-width: 900px) {
  .lead-racs { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
  .lead-info { grid-column: 1 / 5; }
  .lead-panel { grid-column: 5 / 13; }
}
.lead-cim { font-family: var(--font-wide); font-size: var(--t-h2); font-weight: 600; line-height: 1.12; }
.lead-bev { margin-top: var(--s4); font-size: var(--t-bev); }
.lead-tel { display: inline-flex; align-items: center; min-height: 44px; margin-top: var(--s5); color: var(--ink); font-size: var(--t-h3); font-weight: 600; text-decoration: none;
  font-variant-numeric: tabular-nums; white-space: nowrap; }
.lead-tel:hover { text-decoration: underline; text-underline-offset: 3px; }
.lead-nyitva { margin-top: var(--s5); font-size: var(--t-small); }
.lead-nyitva-cimke { color: var(--mute-l); }
.lead-nyitva dl div { display: flex; gap: var(--s3); }
.lead-nyitva dd { margin: 0; font-variant-numeric: tabular-nums; }

.lead-panel { background: var(--white); padding: var(--s4); border-radius: var(--r-mezo); }
@media (min-width: 900px) { .lead-panel { padding: var(--s6); } }
/* 360 px alatt a panel belseje 256 px: a Turnstile (300 px-es keret) ennyire kicsinyítve fér el (a site.css 280 px-e a panelen kívüli űrlapé) */
@media (max-width: 359.98px) { .lead-panel .cf-turnstile { width: 256px; height: 56px; transform: scale(.8533); } }
/* a fülek < 900 px-en egyforma szélesek és kiférnek (390-en 3 × ≈ 110); ≥ 900 a felirat szélessége */
.lead-fulek { display: flex; margin-bottom: var(--s5); border-bottom: 1px solid var(--line-l); }
.lead-ful { flex: 1 1 0; min-width: 0; min-height: 44px; padding: 0; background: none; border: 0; border-bottom: 2px solid transparent;
  margin-bottom: -1px; color: var(--mute-l); font: inherit; font-size: var(--t-small); font-weight: 600; cursor: pointer; line-height: 1.2; }
@media (max-width: 359.98px) { .lead-ful { font-size: 12px; } }
@media (min-width: 900px) { .lead-fulek { gap: var(--s2); } .lead-ful { flex: 0 0 auto; padding: 0 var(--s4); font-size: var(--t-gomb); white-space: nowrap; } }
.lead-ful[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--ink); }
.lead-lap[hidden] { display: none; }

/* kompakt mezőrend: asztalon 3 hasáb, az üzenet és a jelölők teljes szélességben, az üzenet 2 soros (88 px) */
@media (min-width: 900px) { .lead .urlap-racs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.lead .mezo textarea { min-height: 88px; }
.lead-tovabbi { margin-top: var(--s5); }
.lead-tovabbi summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 600; }
.lead-tovabbi .urlap-racs { margin-top: var(--s4); }

/* komp/lista.css */
/* A modell-család oldalai (DESIGN_v2 7.2, 7.4, 7.5; LA): modell-lista és kategória (lapfej: H1 1–8, bevezető ≤ 64ch, csipek;
   mobilon a csipek vízszintesen görgethető sávban), elektromos (lapfej szöveg 1–7 + kép 9–12, 16:10; három egyforma hajtás-csempe
   1–4 · 5–8 · 9–12, egy vonalban záruló modell-sorral), összehasonlítás (a tábla a saját dobozában görget), és az összehasonlítás
   sávja a kártyarács alatt. Térköz csak a tokenekből; a szakasz térközét a szakasz-módosító adja. */
@media (min-width: 900px) { .lista-fej .lapfej2-cim { max-width: calc(8 * (100% - 11 * var(--koz)) / 12 + 7 * var(--koz)); } }
.lista-fej--szeles .lapfej2-bev { max-width: 72ch; }
.lista-csipek { margin-top: var(--s5); }
@media (max-width: 899.98px) {
  .lista-csipek ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--margo));
    padding-inline: var(--margo); }
  .lista-csipek ul::-webkit-scrollbar { display: none; }
  /* a görgethető sávban a kategória aktív csipje az első, így látszik (320-on a „Elektromos és hibrid” a képernyőn kívül esett) */
  .lista-csipek li:has([aria-current="page"]) { order: -1; }
}

/* elektromos lapfej: a .racs-12 mobilon 4 oszlop — ott a szöveg és a kép teljes szélességű, egymás alatt */
.lista-ev-fej .racs-12 { row-gap: var(--s5); align-items: start; }
@media (max-width: 899.98px) { .lista-ev-szoveg, .lista-ev-kep { grid-column: 1 / -1; } }
.lista-ev-kep { aspect-ratio: 16 / 10; background: var(--paper); }
.lista-ev-picture, .lista-ev-picture img { display: block; width: 100%; height: 100%; }
.lista-ev-picture img { object-fit: cover; }

/* hajtás-csempék: egyforma magasak (stretch); a modell-csipek a szöveg után (a csempén belül nincs üres sáv, LV 1 hasáb) */
.hajtas-sor { row-gap: var(--koz); }
@media (max-width: 899.98px) { .hajtas-csempe { grid-column: 1 / -1; } }
.hajtas-csempe { display: flex; flex-direction: column; gap: var(--s3); min-width: 0; padding: var(--s5); background: var(--paper);
  border-top: 2px solid var(--ink); }
.hajtas-cim { font-family: var(--font-wide); font-size: var(--t-h3); font-weight: 600; font-stretch: 104%; line-height: 1.15; }
.hajtas-szoveg { color: var(--ink-3); }
.hajtas-modellek { display: flex; flex-wrap: wrap; gap: var(--s2); margin: 0; padding: var(--s2) 0 0; list-style: none; }
.hajtas-modellek .csip { background: var(--white); }

/* az összehasonlítás sávja a kártyarács alatt (a modell-családból elérhető; a felirat a kapu kulcsa, nyíl CSS-ből) */
.lista-osz { position: relative; display: grid; gap: var(--s2); margin-top: var(--fej-koz); padding: var(--s5) calc(var(--s5) + 40px) var(--s5) var(--s5);
  border: 1px solid var(--ink); border-radius: var(--r-mezo); color: var(--ink); text-decoration: none;
  transition: background-color var(--t-int) var(--e), color var(--t-int) var(--e); }
@media (min-width: 900px) {
  .lista-osz { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--koz); align-items: center; }
  .lista-osz-cim { grid-column: 1 / 6; }
  .lista-osz-bev { grid-column: 6 / 13; }
}
.lista-osz::after { content: ""; position: absolute; right: var(--s5); top: 50%; width: 12px; height: 12px; margin-top: -6px;
  border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
.lista-osz:hover { background: var(--ink); color: var(--white); }
.lista-osz-cim { font-family: var(--font-wide); font-size: var(--t-h4); font-weight: 600; font-stretch: 104%; line-height: 1.25; }
.lista-osz-bev { font-size: var(--t-small); color: var(--mute-l); }
.lista-osz:hover .lista-osz-bev { color: var(--mute-d); }

/* összehasonlítás: a konfigurátor JS-e rajzol bele (.osz, a konf.css-ben); az oldal nem görget vízszintesen */
.lista-osz-doboz { min-width: 0; max-width: 100%; }
/* < 900: a ~35 modell-csip három sorban, vízszintesen görgetve (fal helyett; 390-en 1000 px magas volt) */
@media (max-width: 899.98px) {
  .lista-osz-doboz .osz-modellek { display: grid; grid-auto-flow: column; grid-template-rows: repeat(3, auto); justify-content: start;
    overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--margo)); padding-inline: var(--margo); }
  .lista-osz-doboz .osz-gomb { white-space: nowrap; }
}
.lista-osz-ures { color: var(--mute-l); font-size: var(--t-small); }

/* komp/modell.css */
/* A modell-oldal szakaszai (DESIGN_v2 7.3; K0): bevezető 1–7 + adatsor 9–12; kiemelés: kép 1–7 (16:10, az illeszt dönt) + szöveg
   8–12, a páros kiemelés tükrözve; galéria: saját dobozában vízszintesen görgethető sáv, 420 / 240 px magas képek. */
.modell-bev, .modell-adatsor, .kiemeles2-media, .kiemeles2-szoveg { grid-column: 1 / -1; min-width: 0; }
.modell-bev-szoveg { font-size: var(--t-bev); line-height: 1.55; max-width: 64ch; }
.modell-bev-hamarosan { margin-top: var(--s4); color: var(--mute-l); }
.modell-adatsor { margin-top: var(--s6); }
.kiemeles2-media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--paper); }
.kiemeles2-kep, .kiemeles2-kep img { display: block; width: 100%; height: 100%; }
.kiemeles2-kep img { object-fit: cover; }
.kiemeles2-media.illeszt-contain .kiemeles2-kep img { object-fit: contain; }
.kiemeles2-szoveg { display: grid; gap: var(--s4); align-content: start; margin-top: var(--s5); }
.kiemeles2-cim { font-family: var(--font-wide); font-size: var(--t-h2); font-weight: 600; font-stretch: 104%; line-height: 1.12; text-wrap: balance; }
.galeria2 { display: flex; gap: var(--koz); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
.galeria2-elem { flex: none; height: 240px; margin: 0; scroll-snap-align: start; }
.galeria2-kep, .galeria2-kep img { display: block; height: 100%; width: auto; max-width: none; }
@media (min-width: 900px) {
  .modell-bev { grid-column: 1 / 8; }
  .modell-adatsor { grid-column: 9 / 13; margin-top: 0; }
  .kiemeles2-media { grid-column: 1 / 8; }
  .kiemeles2-szoveg { grid-column: 8 / 13; margin-top: 0; padding-left: var(--s6); }
  .kiemeles2--tukor .kiemeles2-media { grid-column: 6 / 13; grid-row: 1; }
  .kiemeles2--tukor .kiemeles2-szoveg { grid-column: 1 / 6; grid-row: 1; padding-left: 0; padding-right: var(--s6); }
  .galeria2-elem { height: 420px; }
}
.hos-jel { margin: 0; color: var(--brand-2); font-weight: 600; }

/* komp/pdf.css */
/* PDF-gombok és az #arak alapváltozata (DESIGN_v2 7.3; K0): ≥ 900 a 10–12. oszlop szélességében egymás alatt, egyforma magasak;
   < 900 teljes szélességben. */
.arak-bev { max-width: 64ch; margin-bottom: var(--fej-koz); font-size: var(--t-bev); color: var(--mute-l); }
.pdf-gombok { display: grid; gap: var(--s3); margin: 0; padding: 0; list-style: none; grid-auto-rows: 1fr; }
@media (min-width: 900px) { .pdf-gombok { max-width: calc(3 * (100% - 11 * var(--koz)) / 12 + 2 * var(--koz)); } }
.pdf-gomb { display: flex; flex-direction: column; justify-content: center; gap: var(--s1); height: 100%; min-height: 64px; padding: var(--s3) var(--s4);
  border: 1px solid var(--ink); border-radius: var(--r-mezo); color: var(--ink); text-decoration: none; }
.pdf-gomb:hover { background: var(--ink); color: var(--white); }
.pdf-gomb-nev { font-weight: 600; }
.pdf-gomb-meta { font-size: var(--t-small); color: var(--mute-l); }
.pdf-gomb:hover .pdf-gomb-meta { color: var(--mute-d); }

/* komp/ragados.css */
/* Ragadós mobil sáv (DESIGN_v2 6.2.5; K0): < 900 px, fix alul, 64 px + safe-area; a menü (50) alatt, a süti-sáv alatt. */
.ragados { display: none; }
@media (max-width: 899.98px) {
  .ragados { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s3); align-items: center; min-height: calc(64px + env(safe-area-inset-bottom)); padding: var(--s2) var(--margo)
    calc(var(--s2) + env(safe-area-inset-bottom)); background: var(--ink); border-top: 1px solid var(--line-d); }
  .ragados[hidden] { display: none; }
  .ragados-gomb { width: 100%; }
  .van-ragados { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .menu-nyitva .ragados { display: none; }
}

/* komp/regi_kozos.css */
/* ÁTMENETI (K0, DESIGN_v2 6.1): a v1 („Horizont”) közös szabályai egy-az-egyben, hogy a még át nem dolgozott oldalak a
   K0 után se essenek szét. A v1-only tokenek itt élnek „regi-” előtaggal (a v2 tokenek: tokenek.css). Törli: a Z. */
:root { --regi-s9: 96px; --regi-szakasz: var(--sz-1); --regi-t-hero: clamp(56px, 10.5vw, 192px); }
.jogi-torzs ul, .jogi-torzs ol { padding-left: 1.4em; list-style: revert; }
.fejlec :focus-visible, .felso-sav :focus-visible, .lablec :focus-visible, .ragados :focus-visible, .horizont-szalag :focus-visible, .szakasz--sotet :focus-visible, .zaro :focus-visible,
.ajanlat-szalag :focus-visible, .videoszakasz :focus-visible { outline-color: var(--brand-2); }
.h2 { font-family: var(--font-wide); font-weight: 450; font-stretch: 110%; font-size: var(--t-h2); line-height: 1.05; letter-spacing: -0.01em; text-wrap: balance; }
.h3 { font-weight: 560; font-size: var(--t-h3); line-height: 1.2; }
.bevezeto { font-size: clamp(18px, 1.35vw, 21px); line-height: 1.55; max-width: 60ch; color: var(--ink); }
.bevezeto--nagy { font-size: clamp(20px, 1.9vw, 28px); line-height: 1.45; font-weight: 380; letter-spacing: -0.005em; max-width: 34ch; text-wrap: pretty; }
.megjegyzes { color: var(--mute-l); font-size: var(--t-small); margin-top: var(--s5); }
/* gombok: pirula, a gradiens csak az elsődlegesen (felirat --ink, WCAG) */
.gomb { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 22px; border-radius: var(--r-gomb);
  font-size: 15px; font-weight: 560; line-height: 1; text-decoration: none; white-space: nowrap; border: 1px solid transparent; cursor: pointer;
  transition: background-color var(--t-int) var(--e), border-color var(--t-int) var(--e), color var(--t-int) var(--e); }
.gomb-nagy { min-height: 52px; padding: 0 30px; font-size: 16px; }
.gomb-fo { background: var(--grad); color: var(--ink); }
.gomb-fo:hover { background: var(--brand-2); }
.gomb-vonal { border-color: var(--ink); color: var(--ink); background: transparent; }
.gomb-vonal:hover { background: var(--ink); color: var(--white); }
.gomb-vonal-sotet { border-color: rgba(255,255,255,.5); color: var(--white); background: transparent; }
.gomb-vonal-sotet:hover { border-color: var(--white); background: var(--white); color: var(--ink); }
.gomb-szoveg-sotet { color: var(--white); padding-inline: 4px; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.gombsor { display: flex; flex-wrap: wrap; gap: var(--s3); align-items: center; }
.szoveg-link { color: var(--brand-ink); font-weight: 560; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.szoveg-link:hover { text-decoration-thickness: 2px; }
.link-gomb { background: none; border: 0; padding: 0; color: inherit; text-decoration: underline; cursor: pointer; }
/* --- Horizont: kép, alatta a szalag a széles névvel; a képen semmi --------------------------------------- */
.horizont { background: var(--ink); color: var(--white); }
.horizont-media { position: relative; width: 100%; background: var(--ink-2); overflow: hidden; }
.horizont-kep, .horizont-kep img, .lapfej-kep, .lapfej-kep img { width: 100%; height: 100%; }
.horizont-kep img, .lapfej-kep img { object-fit: cover; }
@media (min-width: 800px) {
  .horizont-media, .lapfej-media { max-height: 78svh; }
}
.horizont-szalag { padding-block: var(--s6) var(--s8); }
.horizont-racs { display: grid; gap: var(--s6); }
.horizont-cim { margin: 0; font-weight: 300; }
.horizont-marka { display: block; margin-bottom: var(--s2); font-size: 15px; font-weight: 500; letter-spacing: .01em; color: var(--mute-d); }
.hero-nev { display: block; font-family: var(--font-wide); font-weight: 300; font-stretch: 125%; line-height: .9; letter-spacing: -0.02em;
  white-space: nowrap; font-size: min(var(--regi-t-hero), calc((100vw - 2 * var(--margo)) / (var(--nev-hossz) * 0.66)));
  font-size: min(var(--regi-t-hero), calc(100cqw / (var(--nev-hossz) * 0.66)));
  animation: horizont-nev 900ms var(--e) both; }
/* P2: a név a saját hasábjához méreteződik (1440-en az ár-hasáb mellett a hosszú név az ár alá lógott — PV5 Passenger) */
.horizont-fo { min-width: 0; container-type: inline-size; }
@keyframes horizont-nev { from { font-stretch: 75%; opacity: .001; } to { font-stretch: 125%; opacity: 1; } }
.horizont-alcim { margin-top: var(--s4); color: var(--mute-d); font-size: clamp(17px, 1.3vw, 20px); line-height: 1.5; max-width: 52ch; }
.horizont-alcim--fo { color: var(--white); font-size: clamp(19px, 1.6vw, 24px); font-weight: 450; }
.horizont-cselekves { display: grid; gap: var(--s5); align-content: end; }
.horizont-ar, .konf-fej-ar { font-weight: 480; font-stretch: 100%; font-size: var(--t-ar); line-height: 1; font-variant-numeric: proportional-nums lining-nums; letter-spacing: -0.01em; }
.horizont-ar .ar-cimke { font-weight: 400; font-size: .5em; color: var(--mute-d); margin-left: 2px; }
.ar-jelzes { display: block; margin-top: var(--s2); font-size: var(--t-small); font-weight: 400; font-stretch: 100%; color: var(--mute-d); letter-spacing: 0; }
.horizont-jel { font-size: var(--t-h3); color: var(--brand-2); }
@media (min-width: 900px) {
  .horizont-szalag { padding-block: var(--s7) var(--regi-s9); }
  .horizont-racs { grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: var(--s8); }
  .horizont-cselekves { justify-items: end; text-align: right; }
}
/* --- szakaszok -------------------------------------------------------------------------------------------- */
.szakasz { padding-block: var(--regi-szakasz); }
.szakasz--szuk { padding-block: var(--s8); }
.szakasz--szuk-fent { padding-block: var(--s5) var(--regi-szakasz); }
.lapfej-media + .szakasz--szuk-fent { padding-top: var(--s8); }  /* teljes szélességű kép után a kártyák nem tapadnak rá (P2) */
.szakasz--papir { background: var(--paper); }
.szakasz--sotet { background: var(--ink); color: var(--white); }
.szakasz--sotet .bevezeto { color: var(--mute-d); }
.szakasz-lab { margin-top: var(--s8); }
.ketteso { display: grid; gap: var(--s7); }
.ketteso-szoveg { display: grid; gap: var(--s5); align-content: start; }
@media (min-width: 900px) {
  .ketteso { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--koz); }
  .ketteso-szoveg { grid-column: 1 / span 6; }
  .ketteso-lista { grid-column: 8 / span 5; }
  .ketteso--bevezeto .ketteso-szoveg { grid-column: 1 / span 7; }
  .ketteso--bevezeto .ketteso-lista { grid-column: 9 / span 4; align-self: start; padding-top: 10px; }
}
.harmas { display: grid; gap: var(--s7); }
.harmas-elem { display: grid; gap: var(--s4); align-content: start; padding-top: var(--s5); border-top: 1px solid var(--line-l); }
@media (min-width: 900px) { .harmas { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--koz); } }
/* a régi kétoszlopos blokk kártyalistája (a régi sablonok; a v2 kártyarács a komp/kartya.css-ben) */
.ketteso-lista .kartyak { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 700px) { .ketteso-lista .kartyak { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* adatsor: egyenrangú definíció-lista, érték és egység egy sorban */
.adatsor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5) var(--koz); }
.adatsor-elem { padding-top: var(--s3); border-top: 1px solid var(--line-l); }
.adatsor dt { font-size: var(--t-small); color: var(--mute-l); }
.adatsor dd { margin-top: 2px; font-size: clamp(20px, 1.7vw, 26px); font-weight: 420; font-stretch: 105%; font-variant-numeric: proportional-nums; }
/* kiemelés: teljes szélességű kép + mellette szöveg, váltakozó oldal, sosem egymáson */
.kiemeles { display: grid; gap: var(--s6); padding-bottom: var(--regi-szakasz); }
.kiemeles-media { overflow: hidden; background: var(--paper); }
.kiemeles-kep, .kiemeles-kep img { width: 100%; height: 100%; }
.kiemeles-kep img { object-fit: cover; }
.kiemeles-szoveg { display: grid; gap: var(--s5); align-content: center; padding-inline: var(--margo); }
.kiemeles-szoveg p { font-size: clamp(17px, 1.25vw, 19px); line-height: 1.6; max-width: 46ch; }
@media (min-width: 900px) {
  .kiemeles--kep { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: clamp(32px, 5vw, 96px); align-items: center; }
  .kiemeles--kep .kiemeles-szoveg { padding-inline: 0 var(--margo); }
  .kiemeles--jobb.kiemeles--kep { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .kiemeles--jobb .kiemeles-media { order: 2; }
  .kiemeles--jobb.kiemeles--kep .kiemeles-szoveg { padding-inline: var(--margo) 0; }
  .kiemeles:not(.kiemeles--kep) { max-width: calc(var(--max) + 2 * var(--margo)); margin-inline: auto; }
}
/* galéria: vízszintes scroll-snap a saját dobozában (az oldal nem görget vízszintesen), teljes magasságú képek */
.galeria { padding-bottom: var(--regi-szakasz); }
.galeria-sav { display: flex; gap: var(--s2); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--margo);
  padding-inline: var(--margo); scrollbar-width: thin; overscroll-behavior-x: contain; }
.galeria-elem { flex: none; height: clamp(260px, 62vh, 760px); scroll-snap-align: start; background: var(--paper); }
.galeria-elem .galeria-kep, .galeria-elem img { height: 100%; width: auto; max-width: none; }
/* egyetlen kép: teljes szélesség, saját arányban (nem balra zárt sáv üres jobb oldallal) */
.galeria--egy .galeria-sav { overflow: visible; }
.galeria--egy .galeria-elem { width: 100%; height: auto; }
.galeria--egy .galeria-elem .galeria-kep, .galeria--egy .galeria-elem img { width: 100%; height: auto; }
/* videó: teljes szélességű hurok, alatta cím és a látható szünet-gomb */
.videoszakasz { background: var(--ink); color: var(--white); }
.video-keret { width: 100%; max-height: 86svh; overflow: hidden; background: var(--ink-2); }
.video-keret video { width: 100%; height: 100%; object-fit: cover; }
.video-sor { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s5); padding-block: var(--s6) var(--s8); }
/* konfigurátor-lépések a főoldalon: valódi sorrend */
.lepesek { display: grid; gap: 0; counter-reset: l; }
.lepesek li { display: flex; align-items: baseline; gap: var(--s5); padding-block: var(--s4); border-top: 1px solid var(--line-d);
  font-family: var(--font-wide); font-stretch: 112%; font-size: clamp(20px, 1.9vw, 28px); font-weight: 350; }
.lepesek li:last-child { border-bottom: 1px solid var(--line-d); }
.lepes-szam { font-family: var(--font); font-stretch: 85%; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--brand-2); min-width: 2ch; }
/* záró sáv */
.zaro { background: var(--ink); color: var(--white); padding-block: var(--regi-s9); }
.zaro-racs { display: grid; gap: var(--s6); }
@media (min-width: 900px) { .zaro-racs { grid-template-columns: minmax(0, 1fr) auto; align-items: end; } }
/* űrlap */
.urlap-lap { display: grid; gap: var(--s7); padding-block: clamp(48px, 8vw, 112px) var(--regi-szakasz); }
.urlap-fej { display: grid; gap: var(--s5); align-content: start; }
/* P2: a keskeny űrlap-hasábban a leghosszabb szó („Szervizidőpont”) is férjen ki — a cím a hasábhoz méreteződik, végső esetben törik
   (elválasztás nem: az a rövid szavakat is fölöslegesen bontotta, „Itt va-gyunk”) */
.urlap-fej { container-type: inline-size; }
.urlap-fej .lapfej-cim { font-size: min(var(--t-d1), 13.5cqw); overflow-wrap: break-word; }
@media (min-width: 1000px) {
  .urlap-lap { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--regi-s9); }
  .urlap-fej { position: sticky; top: calc(var(--fejlec) + var(--s7)); align-self: start; }
}
.cim-blokk { font-style: normal; line-height: 1.7; }
.cim-blokk a { text-decoration: none; }
.cim-blokk a:hover { text-decoration: underline; }
.cim-blokk--nagy { font-size: clamp(20px, 1.8vw, 26px); font-weight: 450; }
/* nyitvatartás */
.nyitva { display: grid; gap: var(--s2); }
.nyitva-cim { font-size: var(--t-small); font-weight: 560; color: var(--mute-l); }
.nyitva dl { display: grid; gap: 2px; }
.nyitva dl div { display: flex; justify-content: space-between; gap: var(--s5); font-variant-numeric: tabular-nums; }
.nyitva dd { font-weight: 500; }
.ketteso-lista > * + * { margin-top: var(--s6); }
.urlap-fej .nyitva { max-width: 360px; }
/* szolgáltatás-lista */
.szolg-lista { display: grid; gap: var(--s6); }
.szolg-lista li { display: grid; gap: var(--s2); padding-top: var(--s5); border-top: 1px solid var(--line-l); }
/* partner */
.partner-nagy img { width: min(272px, 70%); height: auto; }
/* köszönő, 404, jogi */
.koszonjuk, .hiba404 { display: grid; gap: var(--s6); padding-block: clamp(80px, 14vw, 200px); }
.jogi { padding-block: var(--regi-s9) var(--regi-szakasz); }
.jogi-torzs { margin-top: var(--s7); max-width: 72ch; }
.jogi-torzs h2 { margin: var(--s7) 0 var(--s3); font-size: var(--t-h3); }
.jogi-torzs p, .jogi-torzs li { margin-bottom: var(--s3); }
.jogi-torzs { min-width: 0; }
.jogi-tabla { max-width: 100%; overflow-x: auto; margin-bottom: var(--s5); -webkit-overflow-scrolling: touch; }
.jogi-tabla table { border-collapse: collapse; min-width: 100%; }
.jogi-tabla th, .jogi-tabla td { padding: var(--s2) var(--s3); text-align: left; vertical-align: top; border-bottom: 1px solid var(--line-l); }
/* --- érintési cél mobilon és érintőképernyőn: minden önálló link és gomb ≥ 44 × 44 CSS px (WCAG 2.5.5; P2, verify erintesi_cel) --- */
@media (max-width: 760px), (pointer: coarse) {
  .marka-par, .csip, .szoveg-link, .morzsa a, .arlista-sor h2 a, .cim-blokk a {
    display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
}

/* komp/rolunk.css */
/* Rólunk (DESIGN_v2 7.11; LD): bemutatkozás 1–7 + telephely 9–12; 4 egyforma érték-csempe (≥ 900 egy sorban, 3-3 oszlop;
   alatta 2 × 2). A csempék száma a kapu kulcsaiból jön (hiányzó kulcsnál kevesebb), a sor ekkor is egyforma hasábokra oszlik. */
.rolunk-bem { row-gap: var(--s5); align-items: start; }
@media (max-width: 899.98px) { .rolunk-bem > * { grid-column: 1 / -1; } }
.rolunk-bem-fo { font-size: var(--t-bev); line-height: 1.5; }
.rolunk-bem-mellek { color: var(--mute-l); }
.rolunk-ertekek { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rac-sor) var(--koz); }
@media (min-width: 900px) { .rolunk-ertekek { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); } }
.rolunk-ertek { display: flex; flex-direction: column; gap: var(--s3); min-width: 0; padding: var(--s5); background: var(--white);
  border-top: 2px solid var(--ink); overflow-wrap: break-word; hyphens: auto; }
@media (max-width: 899.98px) { .rolunk-ertek { padding: var(--s4); } }
.rolunk-ertek-cim { font-family: var(--font-wide); font-size: var(--t-h3); font-weight: 600; line-height: 1.15; }
/* 320 px: a 2 × 2-es csempe hasábja 106 px, a cím leghosszabb szava („márkakereskedés”) nem fér el — egy hasáb (I-FIX2) */
@media (max-width: 359.98px) { .rolunk-ertekek { grid-template-columns: minmax(0, 1fr); } }
/* 320 px: a K0 „nagy” elérhetőség-blokkjának 2 × 2-es hasábja itt 138 px; a cím-érték és az „Útvonaltervezés” gomb így fér ki */
@media (max-width: 359.98px) {
  .lap-rolunk .elerh--nagy .elerh-ertek { font-size: var(--t-h4); }
  .lap-rolunk .elerh--nagy .gomb { padding-inline: var(--s3); font-size: var(--t-small); }
}

/* komp/szakasz.css */
/* Szakasz-ritmus, rács, lapfej és morzsa (DESIGN_v2 4., 5.; K0). A szakasz térközét kizárólag a módosító adja (két szint:
   --sz-1, --sz-2); komponens saját külső margót nem kap. */
.szakasz--fent-sz1 { padding-top: var(--sz-1); }
.szakasz--fent-sz2 { padding-top: var(--sz-2); }
.szakasz--lent-sz1 { padding-bottom: var(--sz-1); }
.szakasz--lent-sz2 { padding-bottom: var(--sz-2); }
.szakasz--white { background: var(--white); color: var(--ink); }
.szakasz--paper { background: var(--paper); color: var(--ink); }
.szakasz--ink { background: var(--ink); color: var(--white); }
.szakasz-fej { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--s4) var(--s6);
  margin-bottom: var(--fej-koz); }
.szakasz-fej-cim { font-family: var(--font-wide); font-size: var(--t-h2); font-weight: 600; font-stretch: 104%; line-height: 1.1;
  letter-spacing: -0.01em; text-wrap: balance; }

/* rács: 12 oszlop 900 px-től, alatta 4; az o-a-b segéd az a–b oszlopot fogja (≥ 900) */
.racs-12 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--koz); }
@media (min-width: 900px) {
  .racs-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .o-1-1 { grid-column: 1 / 2; } .o-1-2 { grid-column: 1 / 3; } .o-1-3 { grid-column: 1 / 4; } .o-1-4 { grid-column: 1 / 5; } .o-1-5 { grid-column: 1 / 6; } .o-1-6 { grid-column: 1 / 7; } .o-1-7 { grid-column: 1 / 8; } .o-1-8 { grid-column: 1 / 9; } .o-1-9 { grid-column: 1 / 10; } .o-1-10 { grid-column: 1 / 11; } .o-1-11 { grid-column: 1 / 12; } .o-1-12 { grid-column: 1 / 13; }
  .o-2-2 { grid-column: 2 / 3; } .o-2-3 { grid-column: 2 / 4; } .o-2-4 { grid-column: 2 / 5; } .o-2-5 { grid-column: 2 / 6; } .o-2-6 { grid-column: 2 / 7; } .o-2-7 { grid-column: 2 / 8; } .o-2-8 { grid-column: 2 / 9; } .o-2-9 { grid-column: 2 / 10; } .o-2-10 { grid-column: 2 / 11; } .o-2-11 { grid-column: 2 / 12; } .o-2-12 { grid-column: 2 / 13; }
  .o-3-3 { grid-column: 3 / 4; } .o-3-4 { grid-column: 3 / 5; } .o-3-5 { grid-column: 3 / 6; } .o-3-6 { grid-column: 3 / 7; } .o-3-7 { grid-column: 3 / 8; } .o-3-8 { grid-column: 3 / 9; } .o-3-9 { grid-column: 3 / 10; } .o-3-10 { grid-column: 3 / 11; } .o-3-11 { grid-column: 3 / 12; } .o-3-12 { grid-column: 3 / 13; }
  .o-4-4 { grid-column: 4 / 5; } .o-4-5 { grid-column: 4 / 6; } .o-4-6 { grid-column: 4 / 7; } .o-4-7 { grid-column: 4 / 8; } .o-4-8 { grid-column: 4 / 9; } .o-4-9 { grid-column: 4 / 10; } .o-4-10 { grid-column: 4 / 11; } .o-4-11 { grid-column: 4 / 12; } .o-4-12 { grid-column: 4 / 13; }
  .o-5-5 { grid-column: 5 / 6; } .o-5-6 { grid-column: 5 / 7; } .o-5-7 { grid-column: 5 / 8; } .o-5-8 { grid-column: 5 / 9; } .o-5-9 { grid-column: 5 / 10; } .o-5-10 { grid-column: 5 / 11; } .o-5-11 { grid-column: 5 / 12; } .o-5-12 { grid-column: 5 / 13; }
  .o-6-6 { grid-column: 6 / 7; } .o-6-7 { grid-column: 6 / 8; } .o-6-8 { grid-column: 6 / 9; } .o-6-9 { grid-column: 6 / 10; } .o-6-10 { grid-column: 6 / 11; } .o-6-11 { grid-column: 6 / 12; } .o-6-12 { grid-column: 6 / 13; }
  .o-7-7 { grid-column: 7 / 8; } .o-7-8 { grid-column: 7 / 9; } .o-7-9 { grid-column: 7 / 10; } .o-7-10 { grid-column: 7 / 11; } .o-7-11 { grid-column: 7 / 12; } .o-7-12 { grid-column: 7 / 13; }
  .o-8-8 { grid-column: 8 / 9; } .o-8-9 { grid-column: 8 / 10; } .o-8-10 { grid-column: 8 / 11; } .o-8-11 { grid-column: 8 / 12; } .o-8-12 { grid-column: 8 / 13; }
  .o-9-9 { grid-column: 9 / 10; } .o-9-10 { grid-column: 9 / 11; } .o-9-11 { grid-column: 9 / 12; } .o-9-12 { grid-column: 9 / 13; }
  .o-10-10 { grid-column: 10 / 11; } .o-10-11 { grid-column: 10 / 12; } .o-10-12 { grid-column: 10 / 13; }
  .o-11-11 { grid-column: 11 / 12; } .o-11-12 { grid-column: 11 / 13; }
  .o-12-12 { grid-column: 12 / 13; }
}
[data-szimmetria] { align-items: stretch; }
[data-kepdoboz] { position: relative; overflow: hidden; }

/* lapfej (a k.lapfej és a lapfej2): a fejléc alsó éle és a H1 között ≤ 112 / 72 px a morzsával együtt (LV 1c) */
.lapfej, .lapfej2 { padding-block: 40px var(--sz-2); }
.lapfej-cim, .lapfej2-cim { font-family: var(--font-wide); font-size: var(--t-d1); font-weight: 600; font-stretch: 104%; line-height: 1.05;
  letter-spacing: -0.01em; text-wrap: balance; }
/* 320 px (2026-10-20): a lapfej-cím leghosszabb szava („Vállalkozásoknak.”) is férjen ki a 359 px alatti nézetben */
@media (max-width: 359px) { .lapfej-cim, .lapfej2-cim { font-size: min(var(--t-d1), 10.4vw); } }
.lapfej-bevezeto, .lapfej2-bev { margin-top: var(--s4); font-size: var(--t-bev); line-height: 1.5; color: var(--mute-l); max-width: 64ch; }
.lapfej .gombsor, .lapfej p:has(> .gomb), .lapfej2 .gombsor { margin-top: var(--s5); }
.lapfej-media, .lapfej2-media { position: relative; width: 100%; overflow: hidden; background: var(--paper); }
.lapfej2-kep, .lapfej2-kep img { width: 100%; height: 100%; }
.lapfej2-kep img { object-fit: cover; }
@media (max-width: 899.98px) { .lapfej, .lapfej2 { padding-top: 24px; } }

/* morzsa: a lapfej fölött, egy sorban; az utolsó (nem link) elem a linkekkel egy vonalban (P2 B5) */
.morzsa ol { display: flex; flex-wrap: wrap; gap: var(--s2); padding-top: var(--s4); font-size: var(--t-small); color: var(--mute-l); }
.morzsa li { display: flex; align-items: center; }
.morzsa li + li::before { content: "/"; margin-right: var(--s2); color: var(--mute-l); }
.morzsa a { text-decoration: none; }
.morzsa a:hover { text-decoration: underline; }
.lapfej2 .morzsa { margin-bottom: var(--s4); }
.lapfej2 .morzsa ol { padding-top: 0; }

/* két egyforma fél (főoldal: szerviz és cégeknek; DESIGN_v2 7.1): ≥ 900 1–6 és 7–12, alatta egymás alatt */
.fel-sor { row-gap: var(--s6); }
@media (max-width: 899.98px) { .fel-panel { grid-column: 1 / -1; } }
.fel-panel { display: flex; flex-direction: column; gap: var(--s4); min-width: 0; padding-top: var(--s5); border-top: 1px solid var(--ink); }
.fel-cim { font-family: var(--font-wide); font-size: var(--t-h3); font-weight: 600; font-stretch: 104%; line-height: 1.15; }
.fel-lista { display: grid; gap: var(--s2); margin: 0; padding: 0; list-style: none; }
.fel-lista li { padding-left: var(--s4); position: relative; }
.fel-lista li::before { content: ""; position: absolute; left: 0; top: .7em; width: 6px; height: 6px; background: var(--brand-2); }
.fel-gomb { display: flex; margin-top: auto; padding-top: var(--s2); }   /* flex: a gomb alatt nincs sorköz-maradék (LV 1) */

/* komp/szerviz.css */
/* Szerviz (DESIGN_v2 7.8; LC): lapfej szöveg 1–7 + kép 9–12 (16:10); szolgáltatás-csempék 3 / sor (4-es oszlopok), < 900 egymás
   alatt; az elérhetőség „nagy” változatában a szerviz-nyitvatartás kiemelve. A .szolg-racs / .szolg-csempe a flotta-oldal is használja. */
.szerviz-fej .racs-12 { row-gap: var(--s5); align-items: start; }
.szerviz-fej .gombsor { margin-top: var(--s5); }
.szerviz-fej-media { aspect-ratio: 16 / 10; background: var(--paper); }
.szerviz-fej-kep, .szerviz-fej-kep img { width: 100%; height: 100%; }
.szerviz-fej-kep img { object-fit: cover; }
@media (max-width: 899.98px) { .szerviz-fej-szoveg, .szerviz-fej-media { grid-column: 1 / -1; } }

.szolg-racs { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--koz); align-items: stretch; }
@media (min-width: 900px) { .szolg-racs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 899.98px) { .szolg-racs { gap: var(--s3); } .szolg-csempe { padding: var(--s4); gap: var(--s2); } }
.szolg-csempe { display: flex; flex-direction: column; gap: var(--s3); min-width: 0; padding: var(--s5); background: var(--paper);
  border-top: 2px solid var(--ink); }
.szolg-csempe--feher { background: var(--white); }
.szolg-csempe-cim { overflow-wrap: anywhere; font-family: var(--font-wide); font-size: var(--t-h4); font-weight: 600; font-stretch: 104%; line-height: 1.2; }
.szolg-csempe p { font-size: var(--t-data); line-height: 1.55; color: var(--mute-l); }
.szolg-csempe--cta { background: var(--ink); color: var(--white); border-top-color: var(--brand-2); }
.szolg-csempe--cta p { color: var(--mute-d); }
.szolg-csempe-gomb { margin-top: auto; padding-top: var(--s2); }

.szerviz-tomb { display: grid; row-gap: var(--sz-1); }
.szerviz-tomb > * { min-width: 0; }
.szerviz-elerh .elerh-hasab:last-child .elerh-cimke { color: var(--brand-ink); }
.szerviz-elerh .elerh-hasab:last-child .elerh-nyitva dt, .szerviz-elerh .elerh-hasab:last-child .elerh-nyitva dd { color: var(--ink); font-weight: 600; }

/* komp/terkep.css */
/* Térkép (DESIGN_v2 6.2.6, 7.12; LD): ≥ 900 a térkép 1–6 (16:10, 1440-en 648 × 405), mellette a caller 7–12; < 900 egymás alatt.
   A helyőrző a betöltésig fedi az üres (src nélküli) iframe-et; a cím-sor és az útvonal-link a doboz alatt marad. */
.terkep-sor { row-gap: var(--s7); align-items: start; }
@media (max-width: 899.98px) { .terkep-hasab, .terkep-mellett { grid-column: 1 / -1; } }
.terkep-hasab { display: grid; gap: var(--s5); min-width: 0; }
.terkep-cim { font-family: var(--font-wide); font-size: var(--t-h2); font-weight: 600; line-height: 1.12; }
.terkep-doboz { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--r-mezo); background: var(--paper-2); }
.terkep-iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.terkep-helyorzo { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--s4); padding: var(--s5); text-align: center; background-color: var(--paper-2);
  background-image: linear-gradient(var(--line-l) 1px, transparent 1px), linear-gradient(90deg, var(--line-l) 1px, transparent 1px);
  background-size: 48px 48px; }
.terkep-helyorzo[hidden] { display: none; }
.terkep-helyorzo-cim { font-size: var(--t-h4); font-weight: 600; }
.terkep-helyorzo .gomb { background: var(--white); }
.terkep-lab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--s2) var(--s5);
  max-width: none; font-size: var(--t-small); color: var(--mute-l); }

/* komp/urlap_lap.css */
/* Űrlap-lap (DESIGN_v2 7.9; LC): info 1–4, ragadós a fejléc alatt; az űrlap 5–12, ≥ 1240 a lead-blokk 3 hasábos mezőrácsával,
   teljes mezőrenddel; < 900 egymás alatt, a mezők 1 hasábban. */
.ulap .racs-12 { row-gap: var(--s6); }
.ulap-info { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s4); min-width: 0; container-type: inline-size; }
.ulap-cim { font-family: var(--font-wide); font-size: min(var(--t-h2), 12cqw); font-weight: 600; font-stretch: 104%; line-height: 1.1;
  letter-spacing: -0.01em; text-wrap: balance; overflow-wrap: anywhere; }
.ulap-bev { font-size: var(--t-body); line-height: 1.55; color: var(--mute-l); }
.ulap-info .lead-tel, .ulap-info .lead-nyitva { margin-top: 0; }
.ulap-nyitva { width: 100%; max-width: 320px; }
.ulap-nyitva dl div { justify-content: space-between; }
.ulap-cim-sor { font-size: var(--t-small); color: var(--mute-l); }
.ulap-urlap { min-width: 0; }
@media (min-width: 900px) { .ulap-info { position: sticky; top: calc(var(--fejlec) + var(--s5)); align-self: start; } }
@media (min-width: 1240px) { .ulap-urlap .urlap-racs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 899.98px) { .ulap-info, .ulap-urlap { grid-column: 1 / -1; } }

/* komp/zaro_oldalak.css */
/* Köszönő oldal és 404 (DESIGN_v2 7.13–7.14; LC): fő 1–8 (H1, szöveg, telefon vagy gombsor), alatta 4 modellkártya. */
.zo-fo { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s4); min-width: 0; overflow-wrap: anywhere; }
.zo-tel { color: var(--ink); font-size: var(--t-h3); font-weight: 600; text-decoration: none; font-variant-numeric: tabular-nums; white-space: nowrap; }
.zo-tel:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 899.98px), (pointer: coarse) { .zo-tel { display: inline-flex; align-items: center; min-height: 44px; } }
@media (max-width: 899.98px) { .zo-fo { grid-column: 1 / -1; } }
