/* Rechtstexte (Impressum, Datenschutz) und Seitenfuß – ergänzt styles.css */
.legal { max-width: 800px; margin: 0 auto; padding: var(--sp-10) var(--sp-8) var(--sp-10); }
.legal h1 { font-size: 32px; letter-spacing: -.02em; margin-bottom: var(--sp-2); }
.legal .stand { color: var(--muted); margin-bottom: var(--sp-8); }
.legal h2 { font-size: 20px; margin: var(--sp-8) 0 var(--sp-3); }
.legal h3 { font-size: 16px; margin: var(--sp-5) 0 var(--sp-2); }
.legal p, .legal li { max-width: 72ch; line-height: 1.65; }
.legal p + p { margin-top: var(--sp-3); }
.legal ul { list-style: disc; padding-left: var(--sp-6); margin: var(--sp-2) 0; }
.legal li + li { margin-top: var(--sp-1); }
.legal address { font-style: normal; line-height: 1.65; }
.legal a { color: var(--primary); }
.legal .box { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--sp-5) var(--sp-6); }
.legal .hinweis { background: var(--primary-soft); border-radius: var(--r-md); padding: var(--sp-4) var(--sp-5); }
/* Platzhalter, die vor der Veröffentlichung ersetzt werden müssen */
.todo { background: #FEF08A; color: #713F12; padding: 0 4px; border-radius: 3px; font-weight: 600; }
.back { display: inline-flex; align-items: center; gap: var(--sp-2); color: var(--primary); font-weight: 600; text-decoration: none; margin-bottom: var(--sp-6); }
.back:hover { text-decoration: underline; }

/* Seitenfuß mit Rechtslinks (alle Seiten) */
.site-foot { max-width: 1440px; margin: 0 auto; padding: var(--sp-4) var(--sp-8) var(--sp-8); display: flex; flex-wrap: wrap; gap: var(--sp-5); color: var(--muted); font-size: 14px; }
.site-foot a { color: var(--muted); text-decoration: none; }
.site-foot a:hover { color: var(--primary); text-decoration: underline; }
.site-foot span { margin-right: auto; }

/* Rechtslinks in der Kopfleiste – ohne Scrollen immer sichtbar */
.legal-links { margin-left: auto; display: flex; align-items: center; gap: var(--sp-1); }
.legal-links a { color: var(--panel-muted); text-decoration: none; font-size: 14px; font-weight: 500; padding: 8px 12px; border-radius: 999px; transition: color .15s var(--ease), background .15s var(--ease); }
.legal-links a:hover { color: var(--panel-ink); background: rgba(255, 255, 255, .06); }
.legal-links a[aria-current=page] { color: var(--panel-ink); background: rgba(255, 255, 255, .12); }
.legal-links a:focus-visible { box-shadow: 0 0 0 3px var(--panel), 0 0 0 5px #93C5FD; }
.legal-links + .btn-ghost { margin-left: var(--sp-2); }
/* Variante auf heller Fläche (Versionsübersicht) */
.legal-links-top { justify-content: flex-end; margin: 0 0 var(--sp-4); }
.legal-links-top a { color: var(--muted); }
.legal-links-top a:hover { color: var(--primary); background: var(--primary-soft); }
@media (max-width: 640px) { .legal-links a { padding: 6px 8px; font-size: 13px; } }

/* 404-Seite */
.notfound { text-align: center; display: grid; justify-items: center; gap: var(--sp-3); padding-top: var(--sp-10); }
.notfound h1 { margin: 0; }
.notfound p { color: var(--muted); max-width: 46ch; margin: 0 auto; }
.notfound .btn-primary-solid { background: var(--primary); color: #fff; padding: 12px 22px; text-decoration: none; margin-top: var(--sp-3); }
.notfound .btn-primary-solid:hover { background: #172E6E; }
.notfound .btn-primary-solid:focus-visible { box-shadow: var(--focus); }
