/* ============================================================
   RECHTSTEXTE — Impressum, Datenschutz, AGB
   Ergänzt audit-tool.css (dort liegen Tokens und Grundlayout)
   um ein ruhiges Leselayout für lange Fließtexte.
   ============================================================ */

.legal{
  max-width:780px;
  margin-inline:auto;
  padding:132px 22px 80px;
}

.legal__head{
  margin-bottom:44px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}
.legal__head h1{margin-bottom:12px}
.legal__updated{
  font-family:var(--ff-mono); font-size:12px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--text-dim);
}

.legal h2{
  font-size:22px; margin:44px 0 16px;
  padding-top:6px;
}
.legal h2:first-of-type{margin-top:0}
.legal h3{font-size:17px; margin:28px 0 10px; color:#fff}

.legal p{
  color:var(--text-mute); font-size:16px; line-height:1.75;
  margin-bottom:16px;
}
.legal p:last-child{margin-bottom:0}
.legal strong{color:#fff; font-weight:600}
.legal a{color:var(--purple-light)}
.legal a:hover{text-decoration:underline}

.legal ul{margin:0 0 18px; padding:0; list-style:none}
.legal ul li{
  position:relative; padding-left:22px; margin-bottom:9px;
  color:var(--text-mute); font-size:16px; line-height:1.7;
}
.legal ul li::before{
  content:""; position:absolute; left:4px; top:11px;
  width:5px; height:5px; border-radius:50%; background:var(--purple);
}
.legal ol{margin:0 0 18px; padding-left:22px; color:var(--text-mute)}
.legal ol li{margin-bottom:9px; font-size:16px; line-height:1.7}

/* Definitionsblöcke (Impressum, Verantwortlicher) */
.legal__box{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--radius); padding:24px 26px; margin-bottom:24px;
}
.legal__box p{margin-bottom:5px; font-size:15.5px}
.legal__box p:last-child{margin-bottom:0}

/* Tabelle für Verarbeitungs-Übersichten */
.legal table{
  width:100%; border-collapse:collapse; font-size:14.5px;
  margin-bottom:22px; min-width:0;
}
.legal thead th{
  text-align:left; padding:12px 14px; font-family:var(--ff-mono);
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--text-dim); border-bottom:1px solid var(--line-strong);
  font-weight:500; white-space:nowrap;
}
.legal tbody td{
  padding:13px 14px; border-bottom:1px solid var(--line);
  color:var(--text-mute); vertical-align:top; line-height:1.6;
}
.legal tbody td:first-child{color:#fff; white-space:nowrap}
.legal .table-scroll{overflow-x:auto}

/* Inhaltsverzeichnis */
.legal__toc{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--radius); padding:22px 26px; margin-bottom:40px;
}
.legal__toc h2{font-size:13px; font-family:var(--ff-mono); letter-spacing:.14em;
  text-transform:uppercase; color:var(--text-dim); margin:0 0 14px}
.legal__toc ol{padding-left:20px; margin:0}
.legal__toc li{margin-bottom:6px; font-size:15px}
.legal__toc a{color:var(--text-mute)}
.legal__toc a:hover{color:#fff; text-decoration:none}

@media (max-width:700px){
  .legal{padding-top:108px}
  .legal h2{font-size:19px; margin-top:34px}
  .legal p, .legal ul li, .legal ol li{font-size:15.5px}
  .legal__box{padding:20px}
}
