/* ──────────────────────────────────────────────────────────────
   Impressum und Datenschutz
   Links ein Inhaltsverzeichnis, rechts gut lesbarer Text.
   ────────────────────────────────────────────────────────────── */

.legal-hero{padding-top:clamp(2.2rem,5vw,4rem)}
.legal-hero h1{font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.02;letter-spacing:-.045em}
.legal-hero p{margin-top:.6rem;color:var(--muted)}
.legal-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.4rem;padding-top:clamp(1.6rem,3.5vw,2.6rem)}
@media(min-width:1000px){.legal-grid{grid-template-columns:240px minmax(0,46rem);gap:5rem}}
.legal-toc{border-top:2px solid var(--ink);padding-top:.8rem}
@media(min-width:1000px){.legal-toc{position:sticky;top:100px;align-self:start}}
.legal-toc b{display:block;font-size:.875rem;font-weight:600;color:var(--muted);margin-bottom:.4rem}
.legal-toc ol{list-style:none;margin:0;padding:0}
.legal-toc a{display:block;padding:.3rem 0;font-size:.9375rem;color:var(--ink-2);text-decoration:none;line-height:1.4}
.legal-toc a:hover{color:var(--green)}
@media(min-width:601px) and (max-width:999px){.legal-toc ol{columns:2;column-gap:1.5rem}}

.legal{font-size:1rem;line-height:1.7;color:var(--ink-2)}
.legal section+section{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--ink)}
.legal h2{margin-top:2.2rem;font-size:1.3rem;letter-spacing:-.02em;line-height:1.25;scroll-margin-top:100px}
.legal h2.sec{margin-top:0;font-size:clamp(1.5rem,2.6vw,1.9rem)}
.legal h3{margin-top:1.6rem;font-size:1.0938rem;letter-spacing:-.01em}
.legal p{margin-top:.8rem}
.legal a{color:var(--green);font-weight:500;text-underline-offset:.2em}
.legal strong{color:var(--ink);font-weight:600}
.legal code{font-size:.9em;background:var(--paper-2);padding:.1em .3em}
.legal ul{list-style:none;margin:.8rem 0 0;padding:0}
.legal ul li{position:relative;margin-top:.35rem;padding-left:1.3rem}
.legal ul li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;background:var(--green)}
.legal dl{margin:1rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.4rem}
.legal dt{color:var(--muted)}
.legal dd{margin:0;color:var(--ink)}
.legal .stand{margin-top:.3rem;font-size:.9375rem;color:var(--muted)}
.legal .note{margin-top:1.2rem;padding:1rem 1.2rem;background:#f0f7f2;border-left:3px solid var(--green)}
.legal .note p{margin:0}
.legal .note__label{display:block;color:var(--ink);font-weight:700;margin-bottom:.15rem}
.legal .tbl{margin-top:1.2rem;overflow-x:auto}
.legal table{width:100%;border-collapse:collapse;font-size:.9375rem}
.legal th,.legal td{text-align:left;vertical-align:top;padding:.65rem .8rem .65rem 0;border-bottom:1px solid var(--line)}
.legal thead th{border-bottom:2px solid var(--ink);color:var(--ink);font-weight:600}
.optout{margin-top:1.6rem;padding:1.3rem 1.4rem;background:var(--paper-2)}
.optout b{display:block;color:var(--ink);font-size:1.0625rem}
.optout p{margin-top:.4rem}
.optout .btn{margin-top:1rem}
.optout #optout-status{font-size:.9375rem;color:var(--ink)}

@media(max-width:700px){
  .legal-hero{padding-top:1.6rem}
  .legal-hero h1{font-size:2.1rem}
  .legal .tbl--stack thead{display:none}
  .legal .tbl--stack table,.legal .tbl--stack tbody,.legal .tbl--stack tr,.legal .tbl--stack td{display:block;width:100%}
  .legal .tbl--stack tr{padding:.7rem 0;border-bottom:1px solid var(--line)}
  .legal .tbl--stack td{padding:.1rem 0;border:0}
  .legal .tbl--stack td[data-label]::before{content:attr(data-label);display:inline-block;min-width:6rem;color:var(--muted)}
  .legal dl{grid-template-columns:1fr;gap:.1rem}
  .legal dd{margin-bottom:.5rem}
}
