/* ============================================================================
 NOA · Rechtliche Seiten (body.page-legal)
 Aus assets/css/style.css ausgelagert (Perf): wird NUR auf den betreffenden
 Seiten via body_class geladen (partials/head.php $pageCssModules), nicht mehr
 render-blockend site-weit. Nutzt die globalen :root-Variablen aus style.css
 (die zuerst lädt). @media-Blöcke sind co-located → Ladereihenfolge unkritisch.
 ============================================================================ */

/* ============================================================================ */
/* RECHTLICHE SEITEN (Widerruf, AGB, Datenschutz, Impressum) */
/* ============================================================================ */
.legal-page { padding: 56px 0 80px; background: #ffffff; }
.legal-page .legal-wrap { max-width: 820px; margin: 0 auto; padding: 0 20px; color: #1a1a1a; line-height: 1.7; font-size: 1.02rem; }
.legal-page h2 { font-size: 1.45rem; margin: 40px 0 14px; letter-spacing: -0.01em; border-bottom: 1px solid rgba(10, 37, 64, 0.12); padding-bottom: 8px; }
.legal-page h3 { font-size: 1.12rem; margin: 26px 0 10px; }
.legal-page p, .legal-page ul, .legal-page ol { margin: 0 0 14px; }
.legal-page ul, .legal-page ol { padding-left: 22px; }
.legal-page li { margin-bottom: 6px; }
.legal-page a { color: #00a9b4; text-decoration: underline; text-underline-offset: 2px; }
.legal-page a:hover { color: #0a2540; }
.legal-page .placeholder { display: block; background: #fff8e6; border-left: 4px solid #f5a33b; padding: 12px 16px; margin: 14px 0; font-style: italic; color: #6b4a00; border-radius: 4px; }
.legal-page .meta-info { background: #f3fbfd; border: 1px solid rgba(0, 169, 180, 0.2); padding: 14px 18px; border-radius: 6px; margin: 24px 0 32px; font-size: 0.95rem; }
.legal-page .toc { background: #f7f9fb; border: 1px solid rgba(10, 37, 64, 0.08); border-radius: 8px; padding: 18px 22px; margin: 24px 0 36px; }
.legal-page .toc strong { display: block; margin-bottom: 8px; font-size: 0.95rem; color: #0a2540; }
.legal-page .toc ol { margin: 0; padding-left: 22px; font-size: 0.95rem; }
.legal-page address { font-style: normal; line-height: 1.7; }
.legal-page .form-box { background: #f7f9fb; border: 1px dashed rgba(10, 37, 64, 0.2); padding: 22px 24px; border-radius: 8px; margin: 18px 0 24px; font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: 0.96rem; line-height: 1.65; }
.legal-page .form-box p { margin-bottom: 12px; }



/* ===== DARK MODE · legal.css (auto-generated aus CSS-Audit, gezielte Flächen/Text-Korrekturen) ===== */
[data-theme="dark"] .legal-page { background: var(--bg); }
[data-theme="dark"] .legal-page .legal-wrap { color: var(--text); }
[data-theme="dark"] .legal-page h2 { border-bottom-color: var(--border); }
[data-theme="dark"] .legal-page a:hover { color: var(--text-strong); }
[data-theme="dark"] .legal-page .placeholder { background: var(--surface-2); }
[data-theme="dark"] .legal-page .placeholder { color: var(--text); }
[data-theme="dark"] .legal-page .meta-info { background: var(--surface-2); }
[data-theme="dark"] .legal-page .toc { background: var(--surface-2); border-color: var(--border); }
[data-theme="dark"] .legal-page .toc strong { color: var(--text-strong); }
[data-theme="dark"] .legal-page .form-box { background: var(--surface-2); border-color: var(--border); }
