/* ===========================================================
   Rechtstexte — Impressum & Datenschutz
   Erbt Typografie & Komponenten von styles.css
   =========================================================== */

/* ---------- Slim Nav (wie bp-header, ohne Cover-Akzente) ---------- */
.lg-header {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in oklch, var(--bg) 90%, transparent);
  backdrop-filter: blur(12px) saturate(1.1);
  box-shadow: 0 1px 0 var(--line-soft);
  padding-block: 12px;
}
.lg-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.lg-back {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.9rem; font-weight: 600; color: var(--ink-soft);
  transition: color .2s, gap .2s;
}
.lg-back:hover { color: var(--sage-deep); gap: 12px; }
.lg-nav__title { font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; color: var(--ink); }
@media (max-width: 560px) { .lg-nav__title { display: none; } }

/* ---------- Kopf ---------- */
.lg-hero { padding-block: clamp(48px, 7vw, 80px) clamp(12px, 3vw, 24px); }
.lg-hero .h-display { max-width: 20ch; }

/* ---------- Inhalt ---------- */
.legal { max-width: 760px; }
.legal-block { padding-block: clamp(20px, 3vw, 32px); border-top: 1px solid var(--line-soft); }
.legal-block:first-of-type { border-top: 0; }
.legal-block h2 {
  font-family: var(--font-body); font-weight: 700;
  font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--sage-deep); margin-bottom: 1em;
}
.legal-block h3 {
  font-family: var(--font-display); font-size: 1.3rem; margin: 1.1em 0 0.4em;
}
.legal-block p, .legal-block li { color: var(--ink-soft); font-size: 1rem; }
.legal-block strong { color: var(--ink); font-weight: 700; }
.legal-block a { text-decoration: underline; text-underline-offset: 3px; color: var(--ink); }
.legal-block a:hover { color: var(--sage-deep); }
.legal-block ul { margin: 0.4em 0 1.1em; padding-left: 1.2em; }
.legal-block ul li { margin-bottom: 0.4em; }

.legal-card {
  background: var(--card); border: 1px solid var(--line-soft);
  border-radius: var(--radius); padding: clamp(24px, 3vw, 34px);
}
.legal-card h3 { margin-top: 0; }
.legal-card .role { font-size: 0.84rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--clay); margin-bottom: 1em; }
.legal-line { display: flex; gap: 10px; padding: 4px 0; }
.legal-line span:first-child { color: var(--ink-soft); min-width: 11em; flex: none; }
.legal-line span:last-child { color: var(--ink); font-weight: 600; }
@media (max-width: 480px) { .legal-line { flex-direction: column; gap: 2px; } .legal-line span:first-child { min-width: 0; } }
