/* Gemeinsames Design für Impressum & Datenschutz — spiegelt index.html */
:root {
  --acid:#C6F24E; --magenta:#F0338D; --cyan:#35E0DC;
  --bg:#FAFAFA; --bg-alt:#F0F0F2; --surface:#FFFFFF;
  --border:#E4E4E8; --text:#16161A; --text-muted:#5C5C66;
  --shadow:0 8px 30px rgba(22,22,26,.07);
}
[data-theme="dark"] {
  --bg:#101014; --bg-alt:#16161C; --surface:#1C1C24;
  --border:#2C2C36; --text:#F2F2F5; --text-muted:#9A9AA8;
  --shadow:0 8px 30px rgba(0,0,0,.4);
}
* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg); color:var(--text); line-height:1.7;
  transition:background .3s, color .3s;
}
::selection { background:var(--acid); color:#16161A; }
.container { max-width:820px; margin:0 auto; padding:0 24px; }

header {
  position:sticky; top:0; z-index:100; border-bottom:1px solid var(--border);
  background:color-mix(in srgb, var(--bg) 85%, transparent); backdrop-filter:blur(14px);
}
header .container { display:flex; justify-content:space-between; align-items:center; height:68px; max-width:1140px; }
.logo { font-weight:800; font-size:1.15rem; text-decoration:none; color:var(--text); letter-spacing:-.02em; }
.logo b { color:var(--magenta); }
.logo .dot { color:var(--acid); -webkit-text-stroke:.5px rgba(0,0,0,.15); }
.theme-toggle {
  border:1px solid var(--border); background:var(--surface); color:var(--text);
  width:40px; height:40px; border-radius:12px; cursor:pointer; font-size:1.05rem;
  display:grid; place-items:center; transition:border-color .2s;
}
.theme-toggle:hover { border-color:var(--acid); }

main { padding:72px 0 96px; }
h1 { font-size:clamp(1.9rem,4vw,2.6rem); letter-spacing:-.02em; line-height:1.15; margin-bottom:12px; }
h1 span {
  background:linear-gradient(120deg,#8bc113,var(--cyan));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
[data-theme="dark"] h1 span {
  background:linear-gradient(120deg,var(--acid),var(--cyan));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.lead { color:var(--text-muted); margin-bottom:44px; }
h2 {
  font-size:1.15rem; letter-spacing:-.01em; margin:40px 0 12px;
  padding-left:14px; border-left:3px solid var(--acid);
}
h2:nth-of-type(even) { border-left-color:var(--magenta); }
h3 { font-size:1rem; margin:24px 0 8px; }
p, li { color:var(--text-muted); }
p { margin-bottom:12px; }
ul { margin:0 0 12px 22px; }
li { margin-bottom:6px; }
a { color:var(--magenta); font-weight:600; }
strong { color:var(--text); }
address { font-style:normal; color:var(--text-muted); }

.box {
  background:var(--surface); border:1px solid var(--border); border-radius:18px;
  padding:24px 28px; margin-bottom:24px; box-shadow:var(--shadow);
}
.box.todo { border-color:var(--magenta); }
.box.todo::before {
  content:"Vor dem Livegang prüfen"; display:inline-block; margin-bottom:10px;
  font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--magenta);
}
.back {
  display:inline-block; margin-top:48px; padding:12px 24px; border-radius:14px;
  border:1.5px solid var(--border); color:var(--text); text-decoration:none; font-weight:700;
  transition:border-color .2s, color .2s;
}
.back:hover { border-color:var(--magenta); color:var(--magenta); }
