/* =========================================================================
   Rechtliches (impressum.html, datenschutz.html) – nur Blöcke mit Präfix .legal-
   Nur Tokens aus styles.css, keine Hex-Werte. Globale Komponenten werden hier
   nicht umdefiniert, höchstens über Zusatzklassen erweitert.

   Redesign 10/2026 (brand.md §22): ruhig und sehr gut lesbar im neuen Look –
   runde weiße Blätter auf Eis-Flächen, Datenblätter als Eis-Kacheln mit Fuge,
   Nummern als Pillen, Hinweise in Blau (Eis-Fläche oder tiefe Petrol-Karte),
   Abschluss als tiefe Petrol-Karte. Sticker nur mit fester Bedeutung
   (Dokument = Impressum, Schloss = Datenschutz, Sprechblase = Gespräch,
   Bildmarke = Unternehmen). Keine Bewegung im Rechtstext.
   Typo: Labels, Nummern, Werte in var(--font-ui) (Termina 500), Fließtext
   Roc Grotesk 400 – nie font-weight ohne --font-ui (Roc kennt nur 400).
   ========================================================================= */

/* ---------- Page-Hero ---------- */
/* Eyebrow mit Viertel-Punkt kommt global (styles.css: .page-hero__text > .eyebrow:first-child) */
/* Sticker direkt am Titel (wie „Zufall“/„Konzept“ im Startseiten-Hero) */
.legal-hero__stk {
  --s: 0.72em;
  margin: 0 0 0 0.2em;
  vertical-align: 0.02em;
}
.legal-hero__actions { gap: var(--space-3) var(--space-4); }
.legal-hero__meta {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 var(--space-4);
  border-radius: var(--r-pill);
  background: var(--c-ice-100);
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: var(--c-ink-2);
  font-variant-numeric: lining-nums tabular-nums;
  max-width: none;
}

/* Faktenleiste „Datenschutz auf einen Blick“ als Aside rechts neben dem Titel */
.legal-facts .facts__item { position: relative; overflow: hidden; }
.legal-facts .facts__value { font-size: clamp(1rem, 0.92rem + 0.4vw, 1.1875rem); }
/* Eine Kachel in tiefem Petrol (Werkzeuge rechnen im Browser) – Tokens über .on-dark,
   Fläche blue-800 (on-dark-2 darauf 5,85:1); der Viertel-Bogen ist reine Deko */
.legal-facts__item--deep { background: var(--c-blue-800); box-shadow: none; }
.legal-facts__item--deep::after {
  content: "";
  position: absolute;
  right: -18px;
  bottom: -18px;
  width: 64px;
  height: 64px;
  border-radius: 100% 0 0 0;
  background: var(--c-blue-600);
  pointer-events: none;
}
.legal-facts__item--deep > * { position: relative; z-index: 1; }
@media (min-width: 1024px) {
  .legal-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal-facts .facts__item { min-height: 8.5rem; justify-content: space-between; }
}

/* Kurze Silben nicht abtrennen („dei-ne“), gilt für alle Fließtexte der Rechtsseiten */
.legal-entry__body,
.legal-chapter__body,
.legal-sheet dd { hyphenate-limit-chars: 10 4 4; }
/* Lange Komposita mit &shy; an der Wortfuge („Kommunikations&shy;verläufe“): Chrome trennt
   trotz &shy; zusätzlich automatisch („Kommunikati-onsverläufe“) – im Wort daher nur die
   gesetzten Trennstellen. <span class="legal-fuge">Datenschutz&shy;beauftragte</span> */
.legal-fuge { hyphens: manual; }

/* Label in Termina-Versalien mit Viertel-Punkt (Bildmarke im Kleinen) */
.legal-card__label,
.legal-toc__title,
.legal-next__label {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  max-width: none;
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--text-muted);
  text-wrap: balance;
}
.legal-card__label::before,
.legal-toc__title::before,
.legal-next__label::before {
  content: "";
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 100% 0 0 0;
  background: var(--c-blue-700);
  transform: rotate(180deg);
}
.legal-next__label::before { background: var(--c-blue-300); }

/* ---------- Visitenkarte (Angaben nach § 5 DDG, verantwortliche Stelle) ---------- */
.legal-card { gap: var(--space-5); }
.legal-card--hero {
  border-radius: var(--r-xl);
  padding: clamp(1.5rem, 1rem + 1.8vw, 2.5rem);
  box-shadow: var(--shadow-md), var(--shadow-sm);
}
.legal-card__body { display: grid; gap: var(--space-5); }
.legal-card__brand {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}
.legal-card__mark { flex: none; }
.legal-card__name {
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.012em;
  color: var(--heading);
  text-wrap: balance;
  max-width: none;
}
.legal-card__address {
  margin-top: var(--space-2);
  font-size: 1.0625rem;
  line-height: 1.5;
  color: var(--text-muted);
}
.legal-card__contact { display: grid; gap: var(--space-2); }
.legal-card__contact li { display: flex; min-width: 0; }
/* Kein overflow-wrap:anywhere: E-Mail-Adressen tragen .u-email (global) und brechen nur
   am <wbr> nach dem @ – nie mitten in der Domain, nie mit Trennstrich. */
.legal-card__contact a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
  min-height: var(--tap);
  font-size: 1rem;
  line-height: 1.35;
  font-variant-numeric: lining-nums;
}
.legal-card__contact .icon {
  width: 36px;
  height: 36px;
  padding: 8px;
  border-radius: 50%;
  background: var(--c-ice-100);
  color: var(--c-blue-700);
}
/* Im Datenschutz-Kapitel: Eis-Fläche im weißen Blatt */
.legal-card--inline {
  margin-top: var(--space-5);
  background: var(--c-ice-50);
  box-shadow: none;
}
.legal-card--inline .legal-card__contact .icon { background: var(--c-white); }
/* Schmale Screens: E-Mail-Adresse (Roc) passt neben das Icon, ohne aus der Karte zu ragen */
@media (max-width: 479.98px) {
  .legal-card--inline { padding: var(--space-4); }
  .legal-card__contact a { gap: 10px; font-size: 0.9375rem; }
  .legal-card__contact .icon { width: 32px; height: 32px; padding: 7px; }
}

/* ---------- Impressum: Einträge als runde Blätter ---------- */
.legal-entry {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  padding: clamp(1.5rem, 0.9rem + 2.4vw, 3rem);
  border-radius: var(--r-xl);
  background: var(--c-white);
  box-shadow: var(--shadow-sm);
  color: var(--text);
}
.legal-entry__title {
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.012em;
  color: var(--heading);
}
.legal-entry__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: var(--space-4);
  min-width: 0;
}
.legal-entry__body > * { margin: 0; }
.legal-entry__body p { max-width: var(--measure); }
@media (max-width: 479.98px) {
  .legal-entry__body .link-arrow { font-size: 0.875rem; }
}

/* Pflichtangaben: Vertretung und Vermittlerregister als breite Blätter (Titel links, Text rechts),
   dazwischen Handelsregister und Umsatzsteuer als Kennzahl-Karten nebeneinander */
.legal-bento {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(12px, 1.4vw, 20px);
}
/* Vermittlerregister: tiefe Petrol-Karte (.on-dark biegt die Rollen-Tokens um) */
.legal-entry--deep {
  overflow: hidden;
  isolation: isolate;
  background: var(--gradient-deep);
  box-shadow: var(--shadow-lg);
}
/* Großes Bildmarken-Viertel als ruhige Deko unten links (Logoverlauf, gedämpft) */
.legal-entry--deep::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: calc(-1 * clamp(40px, 5vw, 80px));
  bottom: calc(-1 * clamp(40px, 5vw, 80px));
  width: clamp(160px, 22vw, 300px);
  aspect-ratio: 1;
  border-radius: 0 100% 0 0;
  background: var(--gradient-brand-diagonal);
  opacity: 0.16;
  pointer-events: none;
}
@media (min-width: 768px) {
  .legal-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal-bento > :is(.legal-entry--wide, .legal-entry--deep, .legal-entry--full) { grid-column: 1 / -1; }
}

/* Breite Blätter (Pflichtangaben + Hinweise): Titel links, Text rechts */
.legal-sheets {
  display: grid;
  gap: var(--space-3);
}
@media (min-width: 768px) {
  :is(.legal-sheets > .legal-entry, .legal-bento > .legal-entry--wide, .legal-bento > .legal-entry--deep, .legal-bento > .legal-entry--full) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    column-gap: var(--grid-gap);
    align-items: start;
  }
  :is(.legal-sheets, .legal-bento) .legal-entry__title { padding-top: 0.1em; }
}
@media (min-width: 1024px) {
  :is(.legal-sheets > .legal-entry, .legal-bento > .legal-entry--wide, .legal-bento > .legal-entry--deep, .legal-bento > .legal-entry--full) {
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    column-gap: calc(var(--grid-gap) * 2);
  }
}

/* Schlüssel-Wert-Paare (Register, Nummern, Nachweise) als Eis-Kacheln mit Fuge */
.legal-data {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: var(--fuge);
}
.legal-data > div {
  display: grid;
  align-content: start;
  gap: var(--space-2);
  min-width: 0;
  padding: var(--space-4) var(--space-5) var(--space-5);
  border-radius: var(--r-md);
  background: var(--c-ice-50);
}
.legal-data dt {
  font-family: var(--font-ui);
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
  hyphens: manual;
}
.legal-data dd {
  font-family: var(--font-ui);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--heading);
  font-variant-numeric: lining-nums tabular-nums;
  overflow-wrap: anywhere;
}
/* Pflichtangaben: Kacheln stehen nebeneinander, solange die Nummer einzeilig hineinpasst */
.legal-bento .legal-data { display: flex; flex-wrap: wrap; }
.legal-bento .legal-data > div { flex: 1 1 auto; }
.legal-bento .legal-data > div:has(> .legal-data__text) { flex-basis: 15rem; }
/* Vermittlerregister: Nummer und Registerstelle untereinander (Nummer bleibt einzeilig) */
.legal-entry--deep .legal-data { display: grid; grid-template-columns: minmax(0, 1fr); }
.legal-bento .legal-data dd:not(.legal-data__text) { font-size: clamp(1.125rem, 0.95rem + 0.9vw, 1.625rem); letter-spacing: -0.02em; }
@media (min-width: 480px) {
  .legal-bento .legal-data dd:not(.legal-data__text) { white-space: nowrap; overflow-wrap: normal; }
}
.legal-data dd.legal-data__text {
  font-family: var(--font-text);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--text);
  overflow-wrap: break-word;
}
.on-dark .legal-data > div {
  background: color-mix(in srgb, var(--c-white) 7%, transparent);
  box-shadow: inset 0 0 0 1px var(--line-on-dark);
}
/* Bildnachweise: Label und Text nebeneinander lesen sich ruhiger als Kacheln */
.legal-data--list { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) {
  .legal-data--list > div {
    grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
    column-gap: var(--space-5);
    align-items: baseline;
    padding-block: var(--space-4);
  }
}

/* Ehrlicher, neutraler Platzhaltertext */
.legal-pending { color: var(--text-muted); }

/* ---------- Datenschutz: Raster mit Inhaltsverzeichnis ---------- */
.legal-doc { padding-top: clamp(2.5rem, 1.6rem + 3.4vw, 5rem); }
.legal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}
.legal-layout__main {
  display: grid;
  gap: clamp(12px, 1.4vw, 20px);
  min-width: 0;
}
@media (min-width: 1024px) {
  .legal-layout {
    grid-template-columns: var(--grid-cols);
    column-gap: var(--grid-gap);
    align-items: start;
  }
  .legal-toc { grid-column: 1 / 5; }
  .legal-layout__main { grid-column: 5 / -1; }
}

/* Inhaltsverzeichnis: weiße Karte, Nummern als Pillen, aktiver Abschnitt gefüllt (Scrollspy) */
.legal-toc {
  padding: var(--space-4) var(--space-3) var(--space-3);
  border-radius: var(--r-lg);
  background: var(--c-white);
  box-shadow: var(--shadow-sm);
}
.legal-toc__title { padding: var(--space-1) var(--space-2) var(--space-3); }
.legal-toc__list { display: grid; gap: 2px; }
.legal-toc__link {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-height: var(--tap);
  padding: var(--space-1) var(--space-3) var(--space-1) var(--space-2);
  border-radius: var(--r-md);
  font-family: var(--font-ui);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.005em;
  color: var(--c-ink-2);
  text-decoration: none;
  hyphens: manual;
  transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);
}
.legal-toc__num {
  flex: none;
  display: inline-grid;
  place-items: center;
  min-width: 2.6rem;
  height: 1.6rem;
  padding: 0 0.5em;
  border-radius: var(--r-pill);
  background: var(--c-ice-100);
  color: var(--c-blue-900);
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  font-variant-numeric: lining-nums tabular-nums;
  transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);
}
.legal-toc__label { min-width: 0; }
.legal-toc__link:hover { background: var(--c-ice-50); color: var(--c-ink); }
.legal-toc__link:focus-visible { outline-offset: -3px; }
.legal-toc__link[aria-current="location"] { background: var(--c-ice-100); color: var(--c-blue-900); }
.legal-toc__link[aria-current="location"] .legal-toc__num { background: var(--c-blue-700); color: var(--c-white); }
@media (min-width: 600px) and (max-width: 1023.98px) {
  .legal-toc__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(7, auto);
    grid-auto-flow: column;
    column-gap: var(--space-3);
  }
}
@media (min-width: 1024px) {
  .legal-toc {
    position: sticky;
    top: calc(var(--header-offset, var(--header-h)) + var(--space-4));
    max-height: calc(100vh - var(--header-offset, var(--header-h)) - var(--space-6));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }
}

/* ---------- Kapitel: jedes ein rundes weißes Blatt ---------- */
.legal-chapter {
  min-width: 0;
  padding: clamp(1.25rem, 0.6rem + 3vw, 3.5rem);
  border-radius: var(--r-xl);
  background: var(--c-white);
  box-shadow: var(--shadow-sm);
}
.legal-chapter__title {
  font-size: clamp(1.25rem, 1rem + 1.2vw, 1.875rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.02em;
  max-width: 22em;
}
.legal-chapter__num {
  display: grid;
  place-items: center;
  width: fit-content;
  min-width: 2.7rem;
  height: 1.75rem;
  margin-bottom: var(--space-4);
  padding: 0 0.6em;
  border-radius: var(--r-pill);
  background: var(--c-ice-200);
  color: var(--c-blue-900);
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  font-variant-numeric: lining-nums tabular-nums;
}
.legal-chapter__body { margin-top: var(--space-5); }
.legal-chapter__body li { max-width: var(--measure); }
.legal-chapter__body .legal-keys__item { max-width: none; }
.legal-chapter__body .note p { max-width: none; }

/* „Das Wichtigste in Kürze“: Eis-Fläche im Blatt */
.legal-chapter__body > .legal-summary {
  margin-top: var(--space-6);
  padding: clamp(1rem, 0.6rem + 1.8vw, 2rem);
  border-radius: var(--r-lg);
  background: var(--c-ice-100);
}
.legal-summary__title {
  font-size: 1.1875rem;
  line-height: 1.25;
  letter-spacing: -0.012em;
}
.legal-summary .list-winkel { margin-top: var(--space-4); gap: var(--space-4); }
.legal-summary .list-winkel > li::before { background-color: var(--c-white); }

/* Hinweis-Boxen im Text: Eis-Blau (Browser-Speicher) und tiefe Petrol-Karte (Widerspruchsrecht) */
.legal-chapter__body > .note { margin-top: var(--space-5); }
.note.legal-note {
  align-items: center;
  padding: var(--space-5);
  border-radius: var(--r-lg);
  background: var(--c-ice-100);
  box-shadow: none;
}
.note.legal-note > p {
  font-family: var(--font-ui);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.005em;
  color: var(--c-blue-900);
}
.note.legal-note--deep {
  --text: var(--on-dark);
  --text-muted: var(--on-dark-muted);
  --heading: var(--on-dark);
  --link: var(--c-on-dark);
  --link-hover: var(--c-white);
  --focus: var(--focus-on-dark);
  align-items: flex-start;
  padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
  background: var(--gradient-deep);
  box-shadow: var(--shadow-md);
  color: var(--on-dark);
}
.note.legal-note--deep > .icon { background: var(--gloss-sticker-light); color: var(--c-blue-700); }
.legal-chapter__body .legal-note--deep .note__title {
  margin-top: 0;
  font-size: var(--fs-h4);
  line-height: 1.35;
  color: var(--c-on-dark);
}
.legal-note--deep .note__body > * + * { margin-top: var(--space-3); }
/* Mobil Icon über dem Text, damit die Zeilen nicht zu schmal werden */
@media (max-width: 767.98px) {
  .note.legal-note--deep { flex-direction: column; gap: var(--space-4); }
}

/* Datenblatt „Auf einen Blick“ je Verarbeitung: Eis-Zeilen mit weißer Fuge */
.legal-sheet {
  display: grid;
  gap: 3px;
  margin-top: var(--space-5);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.legal-sheet__row {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-4) var(--space-5);
  border-radius: 6px;
  background: var(--c-ice-50);
}
.legal-sheet dt {
  font-family: var(--font-ui);
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--accent);
  hyphens: manual;
}
.legal-sheet dd {
  font-size: 1rem;
  line-height: 1.55;
  max-width: none;
}
@media (min-width: 768px) {
  .legal-sheet__row { padding-inline: var(--space-6); }
  /* Label-Spalte mindestens so breit wie das längste Versal-Label („Rechtsgrundlage“) –
     feste Untergrenze statt max-content, damit die dd-Spalte in allen Zeilen gleich beginnt. */
  .legal-sheet__row {
    grid-template-columns: minmax(10.5rem, 1fr) minmax(0, 3fr);
    gap: var(--space-5);
    align-items: baseline;
  }
}

/* Gespeicherte Schlüssel im Browser */
.legal-keys { display: grid; gap: var(--fuge); }
.legal-keys__item {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-4) var(--space-5) var(--space-5);
  border-radius: var(--r-md);
  background: var(--c-ice-50);
}
.legal-keys__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-3);
  margin-bottom: var(--space-1);
}
.legal-key {
  min-width: 0;
  padding: 4px 12px;
  border-radius: var(--r-pill);
  background: var(--c-white);
  box-shadow: inset 0 0 0 1px var(--c-ice-200);
  font-family: var(--font-ui);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--c-blue-800);
}
.legal-keys__what { font-size: 1rem; line-height: 1.55; }
.legal-keys__how { font-size: var(--fs-small); line-height: 1.5; color: var(--text-muted); }

/* Betroffenenrechte als Eis-Kacheln */
.legal-rights {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--fuge);
  margin-top: var(--space-5);
}
.legal-rights > div {
  min-width: 0;
  padding: var(--space-4) var(--space-5) var(--space-5);
  border-radius: var(--r-md);
  background: var(--c-ice-50);
}
.legal-rights dt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-3);
  font-family: var(--font-ui);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--heading);
}
.legal-rights__ref {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: var(--r-pill);
  background: var(--c-white);
  box-shadow: inset 0 0 0 1px var(--c-ice-200);
  font-size: 0.6875rem;
  line-height: 1.4;
  letter-spacing: 0.03em;
  color: var(--c-ink-2);
  white-space: nowrap;
  font-variant-numeric: lining-nums;
}
.legal-rights dd { margin-top: var(--space-2); font-size: 1rem; line-height: 1.55; }
@media (min-width: 768px) {
  .legal-rights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Abschluss: Weiterlesen + Kontakt (tiefe Petrol-Karte) ---------- */
.legal-next__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}
.legal-next__card { gap: var(--space-3); }
.legal-next__card > .legal-next__stk { margin-bottom: var(--space-3); }
.legal-next__card .card__title { font-size: clamp(1.375rem, 1.1rem + 1vw, 1.875rem); letter-spacing: -0.02em; }
.legal-next__card .link-arrow { margin-top: auto; }
.legal-next__contact {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: var(--space-4);
}
.legal-next__contact > p { color: var(--text-muted); }
.legal-next__title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--heading);
  text-wrap: balance;
  max-width: 14em;
}
.legal-next__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  max-width: 100%;
  margin-top: var(--space-2);
}
.legal-next__links li { display: flex; min-width: 0; max-width: 100%; }
.legal-next__links a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
  min-height: var(--btn-h);
  padding: 6px var(--space-5) 6px 6px;
  border-radius: var(--r-pill);
  background: color-mix(in srgb, var(--c-white) 8%, transparent);
  box-shadow: inset 0 0 0 1px var(--line-on-dark);
  color: var(--c-on-dark);
  font-size: 1rem;
  line-height: 1.3;
  text-decoration: none;
  font-variant-numeric: lining-nums;
  transition: background-color var(--dur-1) var(--ease-out), transform 0.45s var(--ease-spring);
}
.legal-next__links a:hover {
  color: var(--c-white);
  background: color-mix(in srgb, var(--c-white) 16%, transparent);
  transform: translateY(-2px);
}
.legal-next__links .icon {
  width: 36px;
  height: 36px;
  padding: 8px;
  border-radius: 50%;
  background: var(--c-white);
  color: var(--c-blue-700);
}
@media (min-width: 768px) {
  .legal-next__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--grid-gap); }
  .legal-next__label { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
  .legal-next__grid { grid-template-columns: var(--grid-cols); }
  .legal-next__card { grid-column: 1 / span 5; }
  .legal-next__contact { grid-column: 7 / -1; align-self: center; }
}

/* ---------- Druck ---------- */
@media print {
  .legal-toc, .legal-next, .legal-hero__stk { display: none; }
  .legal-card__mark { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .legal-layout, .legal-layout__main, .legal-bento, .legal-sheets { display: block; }
  .legal-chapter, .legal-entry {
    padding: 0;
    border-radius: 0;
    background: var(--c-white);
    box-shadow: none;
  }
  .legal-chapter + .legal-chapter,
  .legal-entry + .legal-entry { margin-top: 8mm; }
  :is(.legal-sheets, .legal-bento) > .legal-entry { display: block; }
  .legal-entry__title { margin-bottom: 2mm; }
  .legal-entry--deep::after, .legal-facts__item--deep::after { display: none; }
  .legal-summary, .legal-chapter__body > .legal-summary { padding: 0; background: none; }
  .legal-sheet, .legal-data, .legal-keys, .legal-rights { gap: 0; }
  .legal-sheet { overflow: visible; border-radius: 0; }
  .legal-sheet__row, .legal-data > div, .on-dark .legal-data > div, .legal-keys__item, .legal-rights > div {
    padding-inline: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    border-bottom: 1px solid var(--c-ice-300);
  }
  .legal-sheet, .legal-card, .legal-sheet__row, .legal-rights > div, .legal-keys__item, .legal-data > div { break-inside: avoid; }
  .legal-hero__facts .facts__item { background: var(--c-white); }
  .legal-chapter__title, .legal-entry__title { break-after: avoid; break-inside: avoid; }
  /* Section-Head der Rechtsseiten nicht vom Inhalt trennen („02 HINWEISE“ allein am Seitenende) */
  main .section-head { break-inside: avoid; break-after: avoid; }
  /* Kleine Markenzeichen mitdrucken (sonst fehlen Winkel, Nummern-Pillen und Sticker-Flächen) */
  .legal-chapter__num, .legal-toc__num, .legal-note > .icon,
  .legal-summary .list-winkel > li::before { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .note.legal-note--deep { border: 1px solid var(--c-ice-300); }
}

/* Kleine Viewport-Höhe (200–400 % Zoom, Tablet quer): Header und Subnav scrollen dann mit (global),
   deshalb klebt auch hier nichts (Endabnahme, wie wissen.css) */
@media (max-height: 500px) {
  .legal-toc { position: static; max-height: none; }
}
