/* Gemeinsame Gestaltung der Rechtsseiten (Impressum, Datenschutz).
   Bewusst schlicht und ohne Portal-Skripte - die Seiten muessen auch dann
   erreichbar sein, wenn Backend oder Sitzung nicht verfuegbar sind. */
:root{
  color-scheme:dark;
  --bg:#07090e; --line:#232c39; --line-soft:#1a212c;
  --muted:#8d99aa; --text:#f5f7fb; --red:#ff3154; --red-soft:#ff5470;
  font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box}
body{
  margin:0;color:var(--text);
  background:radial-gradient(900px 500px at 80% 0,rgba(255,49,84,.13),transparent 60%),var(--bg);
}
a{color:var(--red-soft)}
a:focus-visible{outline:2px solid var(--red-soft);outline-offset:3px;border-radius:6px}
img{max-width:100%;height:auto}

.site-header{border-bottom:1px solid rgba(255,255,255,.07);background:rgba(7,9,14,.86)}
.nav{display:flex;align-items:center;gap:24px;max-width:900px;margin:auto;padding:20px 24px}
.nav img{display:block;width:170px}
.nav .back{margin-left:auto;color:#aab5c7;font-size:14px;text-decoration:none}
.nav .back:hover{color:#fff}

main{max-width:900px;margin:auto;padding:52px 24px 80px}
h1{margin:0 0 10px;font-size:clamp(30px,4vw,42px);letter-spacing:-.03em}
.lead{margin:0 0 38px;color:var(--muted);font-size:15px;line-height:1.6}
h2{margin:38px 0 12px;font-size:20px;letter-spacing:-.02em}
h3{margin:24px 0 8px;font-size:15px}
p,li{color:#b3bdcb;font-size:14px;line-height:1.75}
p{margin:0 0 12px}
ul{margin:0 0 12px;padding-left:20px}
li{margin-bottom:6px}
dl{display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px 20px;margin:0 0 18px}
dt{color:var(--muted);font-size:14px}
dd{margin:0;color:#dbe2ec;font-size:14px}
section{padding-top:6px;border-top:1px solid var(--line-soft)}
section:first-of-type{border-top:0}

/* Noch auszufuellende Angaben sind unuebersehbar markiert. */
.todo{
  display:inline-block;padding:2px 8px;border:1px dashed #b4761f;border-radius:6px;
  background:#2a1f0d;color:#ffc266;font-size:13px;font-weight:700;
}
.notice{
  display:flex;gap:13px;margin:0 0 34px;padding:17px 19px;
  border:1px solid #b4761f;border-radius:12px;background:#221a0c;
}
.notice i{flex:0 0 auto;color:#ffc266;font-size:21px}
.notice strong{display:block;margin-bottom:5px;color:#ffd699;font-size:14px}
.notice p{margin:0;color:#d6c3a2;font-size:13px;line-height:1.6}

footer{border-top:1px solid rgba(255,255,255,.08);padding:26px 24px;color:#7d8797;font-size:12px}
.footer-inner{display:flex;justify-content:space-between;gap:20px;max-width:900px;margin:auto}
.footer-inner a{color:#7d8797;text-decoration:none}
.footer-inner a:hover{color:#fff}

@media(max-width:640px){
  dl{grid-template-columns:1fr;gap:2px}
  dt{margin-top:10px}
  main{padding:36px 18px 60px}
  .footer-inner{display:grid;gap:10px}
}

.legal-breadcrumb{margin-bottom:20px;font-size:13px}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
.legal-card{display:block;padding:22px;border:1px solid var(--line);border-radius:14px;background:#10151f;text-decoration:none}
.legal-card:hover{border-color:var(--red-soft);background:#171923}
.legal-card h2{margin:0 0 10px;color:var(--text);font-size:18px}
.legal-card p{margin-bottom:16px}
.legal-card span{font-size:13px}
.legal-footer{display:flex;flex-wrap:wrap;gap:12px 20px}
.legal-table{max-width:100%;overflow-x:auto;margin:18px 0}
.legal-table table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.6}
.legal-table th,.legal-table td{padding:12px;border:1px solid var(--line);text-align:left;vertical-align:top;min-width:120px}
.legal-table th{background:#151b27;color:var(--text)}
.legal-table td{color:#b3bdcb}
.todo{overflow-wrap:anywhere}
blockquote{margin:18px 0;padding:12px 18px;border-left:3px solid var(--red);background:#10151f}
@media(max-width:640px){
  .legal-grid{grid-template-columns:1fr}
  .nav{gap:16px;padding:18px}
  .nav img{width:135px}
  .nav .back{font-size:13px}
}
@media print{
  body{background:#fff;color:#000}
  .site-header,footer,.legal-breadcrumb{display:none}
  main{max-width:none;padding:0}
  p,li,.legal-table td{color:#222}
  .notice,.todo{background:#fff;color:#222;border-color:#777}
  .notice strong,.notice p{color:#222}
}
