/* Jogi oldalak (ÁSZF, Adatvédelem, Cookie-tájékoztató): közös stílus. A refresh.css UTÁN töltődik, a hero háttere és fejléc alá nyúlása a refresh.css-ben van.
   Elvek: egy olvasható oszlop (nem a tartalomjegyzék mellé szorítva), vonal doboz helyett, a cégadatok és a szolgáltatók külön, áttekinthető elrendezésben,
   táblázat telefonon egymás alatti sorokban (nem vízszintes görgetéssel). Minden érték a meglévő tokenekből jön. */

/* ---------- Hero ---------- */
body .legal-hero .container{ max-width:1024px; }
body .legal-hero .eyebrow{
  display:inline-flex; align-items:center; gap:10px; padding:7px 14px 7px 12px; border-radius:999px;
  border:1px solid var(--v-glass-line); background:var(--v-glass); box-shadow:none;
  font:600 13px/1 var(--font-display); letter-spacing:0; text-transform:none; color:var(--v-ink);
}
body .legal-hero .eyebrow::before{ content:""; width:8px; height:8px; border-radius:50%; background:#3FBF9F; }
body .legal-hero h1{ margin-top:18px; max-width:18ch; }
body .legal-hero .updated{ display:flex; flex-wrap:wrap; gap:6px 24px; margin-top:20px; font:500 14px/1.5 var(--font-body); color:var(--v-muted); }
body .legal-hero .updated time{ color:var(--v-ink); font-weight:600; }

/* a három dokumentum közti váltó: sima szöveges hivatkozások, az aktív alatt vonal (mint a fejléc menüjében) */
.legal-switch{ display:flex; flex-wrap:wrap; gap:4px 22px; margin-top:26px; font:600 15px/1 var(--font-display); }
.legal-switch a{ position:relative; padding:8px 0; color:var(--v-muted); text-decoration:none; }
.legal-switch a:hover{ color:var(--v-ink); }
.legal-switch a[aria-current="page"]{ color:var(--v-ink); }
.legal-switch a[aria-current="page"]::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px; background:var(--v-accent); }

/* ---------- Elrendezés: tartalomjegyzék | olvasható oszlop ---------- */
body .legal-body{ padding:28px 0 96px; }
body .legal-body .container{ max-width:1024px; display:grid; grid-template-columns:232px minmax(0,720px); column-gap:72px; align-items:start; }
.legal-content{ min-width:0; }

/* tartalomjegyzék: függőleges vonal, az aktív szakasz mellett vastagabb vonal */
body .legal-toc{
  position:sticky; top:112px; width:auto; display:flex; flex-direction:column; gap:0;
  border-left:1px solid var(--v-line); font:500 14px/1.4 var(--font-body);
}
body .legal-toc a{ position:relative; padding:8px 0 8px 18px; border-radius:0; background:none; color:var(--v-muted); text-decoration:none; transition:color .2s ease; }
body .legal-toc a::before{ content:""; position:absolute; left:-1px; top:6px; bottom:6px; width:2px; border-radius:2px; background:transparent; transition:background-color .2s ease; }
body .legal-toc a:hover{ background:none; color:var(--v-ink); }
body .legal-toc a.is-active{ color:var(--v-ink); font-weight:600; }
body .legal-toc a.is-active::before{ background:var(--v-accent); }

/* ---------- Szöveg ---------- */
body .legal-content section{ padding-top:48px; margin-top:48px; border-top:1px solid var(--v-line); }
body .legal-content section:first-child{ padding-top:0; margin-top:0; border-top:0; }
body .legal-content h2{ margin-bottom:18px; font:600 clamp(23px,2.6vw,29px)/1.22 var(--font-display); letter-spacing:-.025em; color:var(--v-ink); scroll-margin-top:112px; }
body .legal-content h3{ margin:26px 0 8px; font:600 17px/1.4 var(--font-display); color:var(--v-ink); letter-spacing:-.01em; }
body .legal-content p, body .legal-content li{ font:400 16.5px/1.75 var(--font-body); color:var(--v-text); }
body .legal-content p{ max-width:70ch; margin-top:14px; }
body .legal-content p:first-of-type{ margin-top:0; }
body .legal-content ul:not(.legal-providers), body .legal-content ol{ max-width:70ch; margin-top:14px; padding-left:22px; }
body .legal-content li{ margin-top:8px; }
body .legal-content li::marker{ color:var(--lavender-600); }
body .legal-content a{ color:var(--v-accent); text-decoration:underline; text-decoration-color:rgba(107,90,196,.35); text-underline-offset:3px; }
body .legal-content a:hover{ text-decoration-color:var(--v-accent); }
body .legal-content strong{ color:var(--v-ink); font-weight:650; }
body .legal-content code{ padding:2px 7px; border-radius:6px; background:var(--lavender-050,#FAF9FE); border:1px solid var(--v-line); font:500 13.5px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; color:var(--v-ink); }

/* ---------- Cégadatok: egy kártya, soronként címke és érték ---------- */
.legal-facts{ margin:18px 0 0; padding:2px 18px; max-width:400px; background:#fff; border:1px solid var(--v-line); border-radius:16px; }
.legal-facts > div{ display:grid; grid-template-columns:84px minmax(0,1fr); gap:4px 12px; align-items:baseline; padding:10px 0; border-top:1px solid var(--v-line); }
.legal-facts > div:first-child{ border-top:0; }
.legal-facts dt{ font:600 12px/1.5 var(--font-body); letter-spacing:.02em; color:var(--v-muted); }
.legal-facts dd{ margin:0; font:600 15px/1.4 var(--font-display); letter-spacing:-.01em; color:var(--v-ink); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
body .legal-content .legal-facts a{ color:var(--v-ink); text-decoration-color:rgba(107,90,196,.45); }
body .legal-content .legal-facts + p{ margin-top:16px; }

/* ---------- Szolgáltatók: vonalakkal elválasztott lista, kártyák nélkül ---------- */
body .legal-content .legal-providers{ list-style:none; padding:0; margin:22px 0 0; border-bottom:1px solid var(--v-line); }
body .legal-content .legal-providers li{ margin:0; padding:20px 0; border-top:1px solid var(--v-line); }
.legal-providers b{ display:block; font:600 18px/1.35 var(--font-display); letter-spacing:-.015em; color:var(--v-ink); }
.legal-providers span{ display:block; margin-top:6px; font:400 16px/1.65 var(--font-body); color:var(--v-text); max-width:64ch; }
.legal-providers address{ margin-top:8px; font:400 14px/1.5 var(--font-body); font-style:normal; color:var(--v-muted); }

/* ---------- Táblázat ---------- */
body .legal-table{ display:table; width:100%; max-width:none; overflow:visible; margin-top:22px; border-collapse:collapse; font:400 15.5px/1.65 var(--font-body); border-top:1px solid var(--v-line); }
body .legal-table th{ padding:14px 20px 10px 0; border-bottom:1px solid var(--v-line); font:700 11.5px/1.3 var(--font-body); letter-spacing:.09em; text-transform:uppercase; color:var(--v-muted); text-align:left; }
body .legal-table td{ min-width:0; padding:18px 20px 18px 0; border-bottom:1px solid var(--v-line); color:var(--v-text); vertical-align:top; }
body .legal-table td:first-child{ width:27%; font:600 15.5px/1.5 var(--font-display); color:var(--v-ink); letter-spacing:-.005em; }
body .legal-table td:last-child, body .legal-table th:last-child{ padding-right:0; }

/* ---------- Kiemelt megjegyzés ---------- */
body .legal-callout{ margin-top:22px; padding:20px 24px; border-radius:22px; background:var(--lavender-050,#FAF9FE); border:1px solid var(--v-line); }
body .legal-callout p{ margin-top:0; max-width:none; font-size:15.5px; }

/* ---------- Telefon és keskeny képernyő ---------- */
/* a tartalomjegyzék 900 px alatt lenyíló "Tartalomjegyzék" sor lesz (a legal.js készíti), hogy ne vesszen el a tájékozódás */
.legal-tocm{ display:none; }
@media (max-width:900px){
  body .legal-body .container{ display:block; }
  body .legal-toc{ display:none; }
  .legal-tocm{ display:block; margin:0 0 36px; border-top:1px solid var(--v-line); border-bottom:1px solid var(--v-line); }
  .legal-tocm summary{ display:flex; align-items:center; justify-content:space-between; padding:16px 0; font:600 16px/1.2 var(--font-display); color:var(--v-ink); cursor:pointer; list-style:none; }
  .legal-tocm summary::-webkit-details-marker{ display:none; }
  .legal-tocm summary::after{ content:""; width:9px; height:9px; margin-right:4px; border-right:2px solid var(--v-muted); border-bottom:2px solid var(--v-muted); transform:rotate(45deg); transition:transform .25s ease; }
  .legal-tocm[open] summary::after{ transform:rotate(-135deg); margin-top:6px; }
  .legal-tocm > div{ display:flex; flex-direction:column; padding:0 0 12px; }
  .legal-tocm a{ padding:11px 0; font:500 15.5px/1.35 var(--font-body); color:var(--v-text); text-decoration:none; border-top:1px solid var(--v-line); }
  .legal-tocm a:first-child{ border-top:0; }
  body .legal-body{ padding-top:20px; }
}
@media (max-width:640px){
  body .legal-hero h1{ max-width:none; }
  body .legal-content section{ padding-top:40px; margin-top:40px; }
  body .legal-content p, body .legal-content li{ font-size:16px; }
  .legal-facts{ padding:0 16px; max-width:none; border-radius:14px; }
  .legal-facts > div{ grid-template-columns:76px minmax(0,1fr); gap:2px 10px; padding:10px 0; }
  .legal-providers b{ font-size:17px; }
  /* a táblázat sorai egymás alatti blokkok: a címke a cella fölött, nincs vízszintes görgetés */
  body .legal-table, body .legal-table tbody, body .legal-table tr, body .legal-table td{ display:block; width:auto; }
  body .legal-table thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  body .legal-table{ border-top:0; }
  body .legal-table tr{ padding:18px 0; border-bottom:1px solid var(--v-line); }
  body .legal-table tr:first-child{ border-top:1px solid var(--v-line); }
  body .legal-table td{ min-width:0; padding:2px 0; border:0; }
  body .legal-table td:first-child{ width:auto; padding-bottom:4px; font-size:16.5px; }
  body .legal-table td[data-label]::before{ content:attr(data-label); display:block; margin-top:10px; font:700 11px/1.4 var(--font-body); letter-spacing:.09em; text-transform:uppercase; color:var(--v-muted); }
}

/* ---------- Nyomtatás: csak a dokumentum ---------- */
@media print{
  .site-header, .app-dock, .site-footer, .legal-toc, .legal-tocm, .legal-switch, #vcc, .vcc{ display:none !important; }
  body .legal-hero{ margin:0 !important; padding:0 0 12px !important; background:none !important; border-radius:0 !important; }
  body .legal-body .container{ display:block; max-width:none; }
  body .legal-content p, body .legal-content li{ font-size:11pt; color:#000; }
  body .legal-content a{ color:#000; text-decoration:none; }
  body .legal-content section{ break-inside:avoid-page; }
}
@media (prefers-reduced-motion:reduce){ body .legal-toc a, body .legal-toc a::before, .legal-tocm summary::after{ transition:none; } }
