/**
 * Rechtstexte (Datenschutz / Impressum / Admin): Lesefluss, Print, keine Theme-Hardcodes.
 * Farben nur über bestehende Tokens (--ink, --muted, --line, --bg-elev, --pad, --focus).
 */

.legal-page {
  overflow: auto;
  padding: var(--pad, 1.25rem);
  max-width: 46rem;
  margin: 0 auto;
  color: var(--ink, var(--text-color, inherit));
}

.legal-main {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.legal-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
}

.legal-toolbar a {
  color: var(--ink, inherit);
}

.legal-page h1 {
  margin: 0;
  font-size: clamp(1.4rem, 2.4vw, 1.85rem);
  color: var(--ink, inherit);
}

.legal-page h2 {
  margin: 1.4rem 0 0.45rem;
  font-size: 1.12rem;
  color: var(--ink, inherit);
}

.legal-page article,
.legal-page p,
.legal-page li {
  color: var(--ink, inherit);
  line-height: 1.55;
}

.legal-page .muted,
.legal-lang-note {
  color: var(--muted, var(--ink, inherit));
}

.legal-disclaimer {
  border: 1px solid var(--line, currentColor);
  background: var(--bg-elev, transparent);
  border-radius: 12px;
  padding: 0.75rem 1rem;
}

.legal-disclaimer p {
  margin: 0;
}

.legal-page a {
  color: var(--ink, inherit);
  text-decoration-thickness: 0.08em;
}

.legal-page a:focus-visible,
.legal-toolbar button:focus-visible,
.privacy-admin-form :focus-visible {
  outline: 2px solid var(--focus, currentColor);
  outline-offset: 2px;
}

.legal-versions {
  padding-left: 1.2rem;
}

.legal-nav {
  margin-top: 1.5rem;
}

.privacy-admin-form {
  display: grid;
  gap: 0.85rem;
}

.privacy-admin-form fieldset {
  border: 1px solid var(--line, currentColor);
  border-radius: 12px;
  padding: 0.75rem 1rem 1rem;
  margin: 0;
}

.privacy-admin-form legend {
  color: var(--ink, inherit);
  font-weight: 650;
  padding: 0 0.35rem;
}

.privacy-admin-hint {
  margin: 0;
}

/* Druck / „Als PDF sichern“: nur die sichtbare Rechtsseite, kein App-Chrome. */
@media print {
  html,
  body,
  .app {
    overflow: visible !important;
    height: auto !important;
    background: #fff !important;
    color: #111 !important;
  }

  .skip-link,
  .app-footer,
  .consent-dialog,
  .no-print,
  #admin-chrome,
  .view[hidden] {
    display: none !important;
  }

  #view-privacy:not([hidden]),
  #view-impressum:not([hidden]),
  #view-admin-privacy:not([hidden]) {
    display: block !important;
    overflow: visible !important;
    position: static !important;
    max-width: none;
    padding: 0;
    color: #111;
  }

  .legal-disclaimer {
    border-color: #444;
    background: transparent;
  }

  a[href]::after {
    content: none;
  }
}
