/* Shared style for the legal pages (Impressum, Datenschutz, AGB, Widerruf). */
:root { --bg:#FAFAF7; --text:#1B2526; --muted:#5F6B6C; --border:#E3E6E3; --accent:#3A8F95; --err:#DB4A4A; --card:#fff; }
:root[data-theme="dark"] { --bg:#11161B; --text:#EDF3F2; --muted:#9AA7A7; --border:#2A333B; --accent:#6CC3C9; --card:#1A2128; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --bg:#11161B; --text:#EDF3F2; --muted:#9AA7A7; --border:#2A333B; --accent:#6CC3C9; --card:#1A2128; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font-family:'Inter',system-ui,sans-serif; line-height:1.6; font-size:15px; }
main { max-width: 760px; margin: 0 auto; padding: 32px 16px 64px; }
header.legal-top { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:24px; }
header.legal-top a.home { font-weight:700; color:var(--text); text-decoration:none; }
nav.legal-nav a { color:var(--muted); margin-left:14px; font-size:13px; }
h1 { font-size: 28px; line-height:1.25; margin: 0 0 8px; }
h2 { font-size: 19px; margin: 32px 0 8px; }
h3 { font-size: 16px; margin: 20px 0 6px; }
p, li { color: var(--text); }
.muted { color: var(--muted); font-size: 13px; }
a { color: var(--accent); }
table { border-collapse: collapse; width: 100%; font-size: 14px; }
td, th { border:1px solid var(--border); padding:8px; vertical-align:top; text-align:left; }
mark.ph { background:#FFE58A; color:#1B2526; padding:0 3px; border-radius:3px; }
.box { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:16px 18px; margin:16px 0; }
form label { display:block; font-weight:600; font-size:14px; margin:14px 0 4px; }
form input, form textarea { width:100%; font:inherit; padding:10px 12px; border-radius:8px; border:1px solid var(--border); background:var(--card); color:var(--text); }
button.primary { margin-top:18px; font:inherit; font-weight:600; padding:12px 18px; border-radius:10px; border:none; background:var(--accent); color:#fff; cursor:pointer; }
button.primary:disabled { opacity:.6; cursor:default; }
.error { color: var(--err); margin-top: 10px; }
pre.receipt { white-space: pre-wrap; font: 13px/1.5 'JetBrains Mono', monospace; background: var(--bg); padding: 12px; border-radius: 8px; border:1px solid var(--border); }
