/* Legal pages (/privacy/, /impressum/, /terms/): long, calm text in a readable column – tokens only. */
.legal {
  max-width: 46rem;
  margin-inline: auto;
  color: var(--c-text);
  line-height: var(--lh-body);
}
.legal h1 {
  margin: 0 0 var(--sp-3);
  color: var(--c-navy);
  font-size: var(--fs-3xl);
  font-weight: var(--fw-bold);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-heading);
}
.legal-meta { margin: 0 0 var(--sp-6); color: var(--c-muted); font-size: var(--fs-sm); }
.legal h2 {
  margin: var(--sp-7) 0 var(--sp-3);
  color: var(--c-navy);
  font-size: var(--fs-xl);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-heading);
}
.legal h3 { margin: var(--sp-5) 0 var(--sp-2); color: var(--c-navy); font-size: var(--fs-lg); font-weight: var(--fw-semibold); line-height: var(--lh-snug); }
.legal p { margin: 0 0 var(--sp-3); }
.legal ul { margin: 0 0 var(--sp-3); padding-left: var(--sp-5); }
.legal li { margin-bottom: var(--sp-2); }
.legal a { color: var(--c-navy); text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal a:hover { color: var(--c-slate); }
.legal address { margin: 0 0 var(--sp-3); font-style: normal; }
.legal-summary {
  margin: 0 0 var(--sp-6);
  padding: var(--sp-4) var(--sp-5);
  border-radius: var(--r-lg);
  background: var(--c-info-soft);
  color: var(--c-navy);
}
.legal-summary ul { margin: 0; }
.legal-summary li:last-child { margin-bottom: 0; }
.legal-table-wrap { margin: 0 0 var(--sp-3); overflow-x: auto; }
.legal-table { width: 100%; min-width: 32rem; border-collapse: collapse; font-size: var(--fs-sm); }
.legal-table th, .legal-table td { padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--c-border); text-align: left; vertical-align: top; }
.legal-table th { color: var(--c-navy); font-weight: var(--fw-semibold); }
.legal-links { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-5); margin: var(--sp-7) 0 0; padding: var(--sp-5) 0 0; border-top: 1px solid var(--c-border); list-style: none; }
.legal-links li { margin: 0; }
