/* ==========================================================================
   legal.css — seitenspezifische Regeln für Rechtstexte (Impressum,
   Datenschutz) sowie die schlichte 404-Fehlerseite.
   page-hero, Header (Glaslook), Footer und Buttons liegen in
   base.css / components.css und werden hier NICHT wiederholt.
   ========================================================================== */

/* LEGAL CONTENT */
.legal { padding: 80px 0 120px; }
.legal-wrap { max-width: 760px; }
.legal-block { margin-bottom: 48px; scroll-margin-top: 90px; }
.legal-block:last-child { margin-bottom: 0; }
.legal-block h2 { font-size: 26px; line-height: 1.2; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--color-border-brass); }
.legal-block h3 { font-family: "Inter", sans-serif; font-size: 17px; font-weight: 600; color: var(--color-marine); margin: 24px 0 8px; }
.legal-block p { font-size: 17px; line-height: 1.7; margin-bottom: 16px; }
.legal-block p:last-child { margin-bottom: 0; }
.legal-block ul { margin: 0 0 16px; padding-left: 22px; }
.legal-block ul li { font-size: 17px; line-height: 1.7; margin-bottom: 6px; }
.legal-block a { word-break: break-word; }
.legal-block .address-line { line-height: 1.9; }
.placeholder { background: rgba(184, 149, 74, 0.14); border-bottom: 1px dashed var(--color-brass); padding: 1px 6px; border-radius: 3px; font-family: "JetBrains Mono", monospace; font-size: 0.88em; color: #8a6d2e; font-style: normal; }
.legal-note { margin-top: 12px; padding: 16px 20px; background: var(--color-sand); border-left: 3px solid var(--color-brass); border-radius: 0 6px 6px 0; font-size: 15px; line-height: 1.6; color: var(--color-stone); }
.legal-note strong { color: var(--color-marine); font-family: "Inter", sans-serif; font-weight: 600; }
.legal-toc { margin-bottom: 56px; padding: 24px 28px; background: var(--color-sand); border-radius: 12px; }
.legal-toc .toc-title { font-family: "JetBrains Mono", monospace; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--color-brass); margin-bottom: 14px; }
.legal-toc ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 24px; padding: 0; }
.legal-toc ul li { margin: 0; }
.legal-toc ul li a { font-family: "Inter", sans-serif; font-size: 14px; color: var(--color-marine); text-decoration: none; }
.legal-toc ul li a:hover { color: var(--color-brass); }

/* ERROR (404) */
.error-hero { padding: 96px 0 88px; }
.error-actions { margin-top: 28px; }

@media (max-width: 768px) {
  .legal { padding: 56px 0 80px; }
  .legal-toc ul { grid-template-columns: 1fr; }
  .error-hero { padding: 64px 0 56px; }
}
