/* Rechtstexte (Datenschutz, Versand & Widerruf): Spalte und Typografie wie das Impressum */
:root {
  --page: min(100vw, 1600px);
  --u: calc(var(--page) / 1363);
}
body::before {
  content: ""; position: fixed; inset: 0 0 auto 0; height: clamp(90px, 13vh, 140px); z-index: 90;
  background: linear-gradient(var(--bg) 40%, transparent); pointer-events: none;
}

/* Spalte und Typografie wie das Impressum */
.legal-text { width: calc(649 * var(--u)); margin-left: calc((100vw - var(--page)) / 2 + 357 * var(--u)); padding: calc(262 * var(--u)) 0 calc(120 * var(--u)); }
.legal-text h1 { font-weight: 400; font-size: calc(57.8 * var(--u)); line-height: 1.075; letter-spacing: -.01em; margin-bottom: calc(94 * var(--u)); }
.legal-text h2 { font-weight: 400; font-size: 12.7px; line-height: 1.1; letter-spacing: .06em; text-transform: uppercase; margin-top: 3.2em; }
.legal-text h2:first-of-type { margin-top: 0; }
.legal-text h3 { font-weight: 400; font-size: 12.7px; line-height: 1.1; letter-spacing: .06em; margin-top: 2em; }
.legal-text p, .legal-text li, .legal-text td {
  font-family: var(--font-mono); font-size: 12.7px; line-height: 1.25; letter-spacing: -.02em;
}
.legal-text p { margin-top: 1em; }
.legal-text ul, .legal-text ol { margin: 1em 0 0 1.4em; }
.legal-text li + li { margin-top: .35em; }
.legal-text li ul { margin-top: .35em; }
.legal-text strong { font-weight: 700; }
.legal-text a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; overflow-wrap: anywhere; }
.legal-text a:hover { opacity: .55; }
.legal-text table.summary { border-collapse: collapse; margin-top: 1.2em; width: 100%; }
.legal-text table.summary td { border: 1px solid #808080; padding: 14px 16px; line-height: 1.5; }
.legal-text .source { margin-top: 3em; opacity: .6; }
.legal-text .ph { color: #8a8a8a; font-style: italic; }   /* fehlende Angabe */
.legal-text ul.form { list-style: "– "; }

@media (max-width: 760px) {
  .legal-text { width: auto; margin: 0; padding: 120px var(--gutter) 64px; }
  .legal-text h1 { font-size: 34px; margin-bottom: 40px; }
}

/* Widerrufsbutton (§ 356a BGB): gut sichtbar, hebt sich ab */
.legal-text a.widerruf-btn, .site-footer a.widerruf-link {
  display: inline-block; padding: 12px 18px; background: #000; color: #fff; text-decoration: none;
  font-family: var(--font-mono); font-size: 12.7px; letter-spacing: .04em; text-transform: uppercase;
}
