/* ==========================================================================
   09 — Adatkezelési tájékoztató · 10 — Impresszum
   Dokumentum-archetípus: nincs hero, hosszabb sormagasság, ragadós
   tartalomjegyzék, és nyomtatáskor csak a szöveg marad.
   ========================================================================== */

.legal {
  padding-block: var(--space-10) var(--space-12);
}

.legal__head {
  padding-bottom: var(--space-5);
  border-bottom: 1px solid var(--color-divider-light);
}

.legal__head h1 {
  margin-top: var(--space-2);
  font-size: var(--fs-h2);
}

.legal__lead {
  max-width: 68ch;
  margin-top: var(--space-3);
  font-size: var(--fs-lead);
  color: var(--color-text-muted);
}

.legal__meta {
  margin-top: var(--space-3);
  font-size: var(--fs-sm);
  color: var(--color-text-faint);
}

.legal__body {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: var(--space-8);
  align-items: start;
  margin-top: var(--space-6);
}

/* Egyhasábos változat (10 — Impresszum): nincs tartalomjegyzék. */
.legal__body--single {
  grid-template-columns: minmax(0, 1fr);
}

/* --------------------------------------------------------------------------
   Tartalomjegyzék
   -------------------------------------------------------------------------- */

.legal__toc {
  position: sticky;
  top: calc(var(--header-height) + var(--space-3));
}

.legal__toc-title {
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--color-text-faint);
}

.legal__toc ol {
  margin-top: var(--space-2);
  counter-reset: toc;
}

.legal__toc a {
  display: block;
  padding-block: var(--space-1);
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
  border-inline-start: 2px solid transparent;
  padding-inline-start: var(--space-2);
  transition: color var(--transition), border-color var(--transition);
}

.legal__toc a:hover {
  color: var(--color-text-strong);
  border-inline-start-color: var(--color-divider-light);
}

.legal__toc a:target,
.legal__toc a.is-current {
  color: var(--color-accent);
  border-inline-start-color: var(--color-accent);
}

/* Mobilon összecsukva, alapból zárva. */
.legal__toc-toggle {
  display: none;
}

/* --------------------------------------------------------------------------
   Törzs
   -------------------------------------------------------------------------- */

.legal__content > section + section {
  margin-top: var(--space-6);
}

/* A horgony ne csússzon a ragadós fejléc mögé. */
.legal__content > section {
  scroll-margin-top: calc(var(--header-height) + var(--space-3));
}

.legal__content h2 {
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  letter-spacing: 0;
}

.legal__content h3 {
  margin-top: var(--space-4);
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  letter-spacing: 0;
}

.legal__content p,
.legal__content li {
  max-width: 68ch;
  font-size: var(--fs-base);
  line-height: 1.7;
  color: var(--color-text-muted);
}

.legal__content h2 + p,
.legal__content h3 + p {
  margin-top: var(--space-2);
}

.legal__content p + p {
  margin-top: var(--space-3);
}

.legal__content ul {
  margin-top: var(--space-2);
  padding-inline-start: var(--space-3);
  list-style: disc;
}

.legal__content li + li {
  margin-top: var(--space-1);
}

.legal__content a {
  color: var(--color-text);
  text-decoration: underline;
}

.legal__content a:hover {
  color: var(--color-accent);
}

/* --------------------------------------------------------------------------
   Megnevezés / érték párok
   -------------------------------------------------------------------------- */

.legal__table {
  margin-top: var(--space-3);
  border-top: 1px solid var(--color-divider-light);
}

.legal__row {
  display: grid;
  grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
  gap: var(--space-2) var(--space-4);
  padding-block: var(--space-2);
  border-bottom: 1px solid var(--color-divider-light);
}

.legal__row dt {
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  color: var(--color-text-strong);
}

.legal__row dd {
  margin: 0;
  font-size: var(--fs-base);
  color: var(--color-text-muted);
}

.legal__row dd a {
  display: inline-flex;
  align-items: center;
  min-height: var(--tap-target);
  color: var(--color-text-muted);
  text-decoration: underline;
}

.legal__row dd a:hover {
  color: var(--color-accent);
}

/* ==========================================================================
   Reszponzív
   ========================================================================== */

@media (max-width: 1199px) {
  .legal__body {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .legal__toc {
    position: static;
  }

  .legal__toc ol {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1) var(--space-3);
  }

  .legal__toc a {
    border-inline-start: 0;
    padding-inline-start: 0;
    border-bottom: 2px solid transparent;
  }
}

@media (max-width: 767px) {
  .legal {
    padding-block: var(--space-8);
  }

  .legal__row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-05);
  }

  /* A tartalomjegyzék összecsukva, alapból zárva. */
  .legal__toc-toggle {
    display: block;
    min-height: var(--tap-target);
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    color: var(--color-text-strong);
    cursor: pointer;
  }

  .legal__toc:not([open]) ol {
    display: none;
  }
}

/* ==========================================================================
   Nyomtatás — csak a dokumentum marad
   ========================================================================== */

@media print {
  .site-header,
  .site-footer,
  .skip-link,
  .cta,
  .legal__toc {
    display: none !important;
  }

  .legal {
    padding-block: 0;
  }

  .legal__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .legal__content p,
  .legal__content li {
    max-width: none;
    color: #000;
  }

  /* Papíron a hivatkozás célja nem látszik, ezért kiírjuk. */
  .legal__content a[href^="http"]::after,
  .legal__content a[href^="mailto"]::after {
    content: " (" attr(href) ")";
    font-size: 0.9em;
  }

  .legal__content > section {
    break-inside: avoid;
  }
}
