/* ==========================================================================
   Impressum und Datenschutz — ruhiger Lesesatz.
   Eigentümer: Shell. Nur Tokens aus basis.css. Signaturszene: SZ.stroemung
   (site.js) im Bühnen-Slot, gedämpft.
   ========================================================================== */
.seite-impressum .buehne-klein__szene { padding-bottom: clamp(48px, 6vw, 96px); }

.rechtstext { padding-block: clamp(24px, 3vw, 48px) var(--abstand); }
.rechtstext__raster { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 8fr) minmax(0, 1fr); gap: var(--spalt); }
.fliess { grid-column: 2; counter-reset: kapitel; max-width: 760px; }
.fliess > p, .fliess > ul, .fliess > dl { max-width: 64ch; }
.fliess > p { margin-top: 1.1em; color: var(--text-leise); }
.fliess > p:first-child { margin-top: 0; }
.fliess a { color: var(--text); text-decoration: underline; text-decoration-color: var(--linie-stark); }
.fliess a:hover { text-decoration-color: var(--rot-text); }
.fliess h2 {
  counter-increment: kapitel; position: relative;
  margin-top: clamp(64px, 8vw, 112px); padding-top: 26px; border-top: 1px solid var(--linie-stark);
  font-size: var(--t-2xl); max-width: 20ch;
}
/* Kapitelnummer: echte Reihenfolge der Überschriften, in der Randspalte */
.fliess h2::before {
  content: counter(kapitel, decimal-leading-zero);
  position: absolute; top: 30px; right: calc(100% + var(--spalt));
  font: 500 var(--t-mono)/1 var(--schrift-daten); letter-spacing: .12em; color: var(--text-leise);
}
.fliess h2:first-child { margin-top: 0; }
.fliess h3 { margin-top: 2.2em; font-size: var(--t-lg); font-stretch: 94%; letter-spacing: -.01em; line-height: 1.25; }
.fliess h3 + p { margin-top: .55em; }
.fliess ul { margin-top: 1em; list-style: none; display: grid; gap: 8px; color: var(--text-leise); }
.fliess li { position: relative; padding-left: 26px; }
.fliess li::before { content: ""; position: absolute; left: 0; top: .82em; width: 12px; height: 1px; background: var(--luft); }

/* Pflichtangaben als ruhige Datentabelle */
.fliess dl { display: grid; grid-template-columns: minmax(150px, max-content) 1fr; margin: 32px 0 0; border-top: 1px solid var(--linie); }
.fliess dt, .fliess dd { padding: 16px 0; border-bottom: 1px solid var(--linie); }
.fliess dt { padding-right: 32px; font: 500 var(--t-mono)/1.9 var(--schrift-daten); letter-spacing: .12em; text-transform: uppercase; color: var(--text-leise); }
.fliess dd { margin: 0; line-height: 1.6; }

@media (max-width: 1000px) {
  .rechtstext__raster { grid-template-columns: minmax(0, 1fr) minmax(0, 8fr); }
  .fliess h2::before { position: static; display: block; margin-bottom: 18px; }
}
@media (max-width: 700px) {
  .rechtstext__raster { grid-template-columns: 1fr; }
  .fliess { grid-column: 1; }
}
@media (max-width: 560px) {
  .fliess dl { grid-template-columns: 1fr; }
  .fliess dt { padding-bottom: 0; border-bottom: 0; }
  .fliess dd { padding-top: 4px; }
}
