/* ==========================================================================
   Impressum und Datenschutz — ruhiger Lesesatz wie ein Datenblatt.
   Eigentümer: Shell. Nur Tokens aus basis.css. Im Bühnen-Slot zeichnet
   site.js das Hallen-Linienwerk (SZ.halle), nie hinter dem Foto.
   ========================================================================== */
.rechtstext { padding-block: clamp(40px, 5vw, 72px) var(--abstand); border-top: 1px solid var(--linie); }
.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: 66ch; }
.fliess > p { margin-top: 1.05em; 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); overflow-wrap: anywhere; }
.fliess a:hover { text-decoration-color: var(--rot); }
.fliess h2 {
  counter-increment: kapitel; position: relative;
  margin-top: clamp(64px, 8vw, 104px); padding-top: 22px; border-top: 2px solid var(--text);
  font-size: var(--t-2xl); max-width: 20ch;
}
/* Kapitelnummer als Schild in der Randspalte: echte Reihenfolge der Überschriften */
.fliess h2::before {
  content: "§ " counter(kapitel, decimal-leading-zero);
  position: absolute; top: 24px; right: calc(100% + var(--spalt));
  padding: 4px 8px; border: 1px solid var(--linie-stark); border-radius: var(--r-1);
  font: 500 var(--t-mono)/1 var(--schrift-mono); letter-spacing: .06em; color: var(--text-leise); white-space: nowrap;
}
.fliess h2:first-child { margin-top: 0; }
.fliess h3 { margin-top: 2.1em; font-size: var(--t-lg); font-weight: 600; letter-spacing: 0; line-height: 1.2; }
.fliess h3 + p { margin-top: .5em; }
.fliess ul { margin-top: 1em; list-style: none; display: grid; gap: 8px; color: var(--text-leise); }
.fliess li { position: relative; padding-left: 24px; }
.fliess li::before { content: ""; position: absolute; left: 0; top: .72em; width: 10px; height: 2px; background: var(--text-leise); }

/* Pflichtangaben als Typenschild */
.fliess dl {
  display: grid; grid-template-columns: minmax(150px, max-content) 1fr; margin: 28px 0 0;
  background: var(--flaeche); border: 1px solid var(--linie); border-radius: var(--r-2); padding: 4px 20px;
}
.fliess dt, .fliess dd { padding: 14px 0; border-bottom: 1px solid var(--linie); }
.fliess dt:last-of-type, .fliess dd:last-of-type { border-bottom: 0; }
.fliess dt { padding-right: 28px; font: 500 var(--t-mono)/2 var(--schrift-mono); letter-spacing: .07em; 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; width: max-content; margin-bottom: 16px; }
}
@media (max-width: 700px) {
  .rechtstext__raster { grid-template-columns: 1fr; }
  .fliess { grid-column: 1; }
}
@media (max-width: 560px) {
  .fliess dl { grid-template-columns: 1fr; padding: 4px 16px; }
  .fliess dt { padding-bottom: 0; border-bottom: 0; }
  .fliess dd { padding-top: 2px; }
}
