/* Legal pages (Impressum, Datenschutz) — builds on style.css */
.legal-header .header-inner { justify-content: space-between; }
.legal-back { font-size: 0.88rem; font-weight: 600; color: var(--ink); }
.legal-back:hover { color: var(--orange-deep); }

.legal { padding: 64px 0 96px; }
.legal-grid {
  display: grid;
  grid-template-columns: 4fr 8fr;
  gap: 72px;
  align-items: start;
}
.legal-head { position: sticky; top: calc(var(--header-h, 68px) + 32px); }
.legal-body { max-width: 760px; }
.legal-body > h2:first-child { margin-top: 0; }
@media (max-width: 900px) {
  .legal-grid { grid-template-columns: 1fr; gap: 0; }
  .legal-head { position: static; }
}
.legal h1 { font-size: clamp(1.75rem, 7.5vw, 3rem); margin-bottom: 0.3em; hyphens: auto; overflow-wrap: break-word; }
.legal-lead { color: var(--muted); margin-bottom: 40px; }
.legal h2 { font-size: 1.15rem; margin: 40px 0 12px; scroll-margin-top: 88px; }
.legal p, .legal li { font-size: 0.98rem; }
.legal a { color: var(--orange-deep); text-decoration: underline; text-underline-offset: 2px; }
.legal a:hover { color: var(--ink); }
.legal address { font-style: normal; margin: 0 0 1em; }
.legal dl { display: grid; grid-template-columns: max-content 1fr; gap: 4px 16px; margin: 0 0 1em; }
.legal dt { font-weight: 600; }
.legal dd { margin: 0; overflow-wrap: anywhere; }
.legal-updated { margin-top: 56px; font-size: 0.85rem; color: var(--muted); }

@media (max-width: 520px) {
  .legal dl { grid-template-columns: 1fr; gap: 0; }
  .legal dd { margin-bottom: 8px; }
}

.footer-bottom a { color: var(--muted-dark); text-decoration: underline; text-underline-offset: 2px; }
.footer-bottom a:hover { color: var(--paper-text); }
