/* Zusatz-Stile fuer die Rechtstext-Seiten (impressum, datenschutz, agb, widerruf). Nutzt die Variablen aus style.css. */
.legal-bar { justify-content: space-between; }
.legal-bar .back { color: var(--ink); text-decoration: none; font-weight: 500; font-size: .95rem; padding: 8px 0; border-bottom: 2px solid transparent; }
.legal-bar .back:hover { border-bottom-color: var(--accent); }
.legal-bar img.logo { height: 30px; width: auto; display: block; }

.legal-doc { padding: clamp(28px, 5vw, 64px) 0 72px; }
.legal-doc h1 { font-size: clamp(2rem, 5.5vw, 3.2rem); font-weight: 800; font-variation-settings: "wdth" 86; letter-spacing: -.03em; line-height: 1.02; text-wrap: balance; margin: 0 0 .5em; }
.legal-doc h2 { font-size: 1.45rem; font-weight: 700; font-variation-settings: "wdth" 92; letter-spacing: -.02em; line-height: 1.15; margin: 2.2rem 0 .5rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.legal-doc h3 { font-size: 1.1rem; margin: 1.4rem 0 .4rem; }
.legal-doc p, .legal-doc li { overflow-wrap: anywhere; }
.legal-doc ul, .legal-doc ol { padding-left: 1.3em; margin: 0 0 .9em; }
.legal-doc li { margin-bottom: .35em; }
.legal-doc address { font-style: normal; margin: 0 0 .9em; }
.legal-doc .meta { color: var(--ink-soft); font-size: .92rem; }
.legal-doc .toc { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 14px 20px; margin: 1.2rem 0 1.6rem; }
.legal-doc .toc ol { margin: 0; columns: 2 260px; }
.legal-doc .toc a { text-decoration: none; }
.legal-doc .toc a:hover { text-decoration: underline; }
.legal-doc .key { background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--r); padding: 14px 18px; margin: 1rem 0 1.4rem; }
.legal-doc .key p:last-child { margin-bottom: 0; }

/* Entwurfshinweis (nach der Pruefung entfernen) und offene Platzhalter */
.draft-note { border: 2px solid var(--warn); border-radius: var(--r); padding: 14px 18px; margin: 0 0 1.8rem; background: color-mix(in srgb, var(--warn) 9%, var(--surface)); font-size: .95rem; }
.draft-note p { margin: 0 0 .4em; }
.draft-note p:last-child { margin-bottom: 0; }
.legal-doc mark.todo { background: color-mix(in srgb, var(--warn) 22%, transparent); color: inherit; border-radius: 4px; padding: 0 .25em; font-family: var(--f-mono); font-size: .92em; }

.legal-doc .form-box { border: 1px solid var(--line-strong); border-radius: var(--r); background: var(--surface); padding: 16px 20px; margin: 1rem 0; }
.legal-doc .form-box p { margin: 0 0 .7em; }

.legal-foot { border-top: 1px solid var(--line-strong); padding: 28px 0 56px; font-size: .92rem; }
.legal-foot nav { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-bottom: 10px; }
.legal-foot a { color: var(--ink); }
.legal-foot a[aria-current="page"] { font-weight: 600; text-decoration: none; }
.legal-foot p { margin: 0; color: var(--ink-soft); }

@media print {
  .site-header, .legal-foot nav { display: none; }
  .legal-doc h2 { break-after: avoid; }
}
