/* Rechtsseiten (Impressum, Datenschutz, ToS) — Tokens tragen hell UND dunkel,
   der Schalter liegt auf <html data-theme>. */
body { background: var(--bg); color: var(--ink); font: 15.5px/1.7 var(--font, system-ui), sans-serif; }

.recht { max-width: 780px; margin: 0 auto; padding: 24px 20px 64px; min-width: 0; }
.recht-kopf { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; }
.recht-kopf a.zurueck { text-decoration: none; color: var(--ink-muted); font-size: 14px;
  padding: 7px 11px; border: 1px solid var(--line); border-radius: 9px; }
.recht-kopf a.zurueck:hover { color: var(--ink); border-color: var(--line-strong); }
.recht-thema { margin-left: auto; }
.recht-thema .icon { width: 15px; height: 15px; }

.recht h1 { margin: 0 0 4px; font-size: clamp(26px, 4vw, 34px); letter-spacing: -.02em; }
.recht h2 { margin: 30px 0 8px; font-size: 18px; }
.recht h3 { margin: 20px 0 6px; font-size: 15.5px; }
.recht p, .recht li, .recht address { color: var(--ink-muted); line-height: 1.7;
  overflow-wrap: anywhere; font-style: normal; }
.recht li { margin: 4px 0; }
.recht strong { color: var(--ink); }
.recht a { color: var(--ink); text-underline-offset: 3px; }
.recht .stand { font-size: 13px; color: var(--ink-faint); margin-top: 0; }

.rl-fehlt { display: flex; gap: 10px; padding: 12px 14px; margin: 16px 0;
  border: 1px solid var(--warn); border-radius: 10px; background: var(--warn-bg);
  font-size: 14px; color: var(--ink); }

.recht table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 10px 0; }
.recht th, .recht td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line);
  color: var(--ink-muted); vertical-align: top; }
.recht th { color: var(--ink); font-weight: 650; }

.recht-fuss { margin-top: 44px; padding-top: 18px; border-top: 1px solid var(--line);
  display: flex; gap: 14px; flex-wrap: wrap; font-size: 13.5px; }
.recht-fuss a { color: var(--ink-muted); }
