/* ==========================================================================
   Rechtstexte (Impressum, Datenschutz), "rt-"
   --------------------------------------------------------------------------
   Lange Lesetexte, keine Marketing-Sektionen: eine Spalte, ruhige Typografie,
   Zeilenlänge auf 72 Zeichen begrenzt. Nutzt die Tokens des Exports.
   Responsive-Overrides in assets/responsive.css.
   ========================================================================== */

.rt-hero .h-display { margin-bottom: 0; }
.rt-stand { margin: 14px 0 0; font-family: var(--font-mono); font-size: 12.5px;
  font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fg-2); }

.rt-body { max-width: 72ch; }

.rt-sec { padding-top: 44px; }
.rt-sec:first-child { padding-top: 0; }

.rt-h2 { display: flex; align-items: baseline; gap: 8px; margin: 0 0 18px;
  font-family: var(--font-serif); font-size: 24px; font-weight: 700;
  letter-spacing: -0.02em; line-height: 1.25; color: var(--fg-1); }
.rt-num { flex: 0 0 auto; font-family: var(--font-serif); font-size: 24px;
  font-weight: 700; color: var(--fg-1); }

.rt-p { margin: 0 0 16px; font-size: 15.5px; line-height: 1.7; color: var(--fg-1); }
.rt-p:last-child { margin-bottom: 0; }
.rt-p strong { font-weight: 700; }

.rt-body a { color: var(--primary); font-weight: 600; text-decoration: none;
  border-bottom: 1px solid transparent; }
.rt-body a:hover { border-bottom-color: var(--primary); }

.rt-adresse { margin: 0 0 20px; font-style: normal; font-size: 15.5px;
  line-height: 1.7; color: var(--fg-1); }

.rt-dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: 0; margin: 0 0 20px; }
.rt-dl dt { padding: 5px 0; font-size: 15.5px; font-weight: 600; color: var(--fg-1); }
.rt-dl dd { margin: 0; padding: 5px 0; font-size: 15.5px; color: var(--fg-1); }

.rt-ul { margin: 0 0 18px; padding: 0; list-style: none; }
.rt-ul li { position: relative; padding-left: 20px; margin-bottom: 9px;
  font-size: 15.5px; line-height: 1.65; color: var(--fg-1); }
.rt-ul li::before { content: ''; position: absolute; left: 4px; top: 11px;
  width: 5px; height: 5px; border-radius: 50%; background: var(--primary); }
.rt-norm { font-family: var(--font-mono); font-size: 12px; color: var(--fg-2);
  white-space: nowrap; }

.rt-tabelle-wrap { margin: 0 0 20px; overflow-x: auto; }
.rt-tabelle { width: 100%; border-collapse: collapse; font-size: 14px; }
.rt-tabelle th { padding: 12px 14px; text-align: left; font-family: var(--font-sans);
  font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--fg-2); background: var(--page-bg-surface);
  border-bottom: 1px solid var(--border-1); }
.rt-tabelle td { padding: 12px 14px; color: var(--fg-1); line-height: 1.5;
  border-bottom: 1px solid var(--border-1); }
.rt-tabelle tr:last-child td { border-bottom: 0; }


/* Die Rechtstexte teilen sich den Hero mit den Produktseiten, dort tragen
   200px Innenabstand oben eine Headline mit Lead, Chips und zwei Buttons.
   Hier steht darunter eine Zeile, und der Abstand sieht aus wie ein Fehler.
   Gefunden im QM-Durchgang 2026-09-08. */
.rt-hero { padding-top: 132px; padding-bottom: 48px; }
/* Der Export gibt jeder .section 96px oben. Zwischen der Trennlinie des Heros
   und der ersten Zeile Text stand dadurch ein Loch. */
.rt-hero + .section { padding-top: 40px; }
@media (max-width: 640px) {
  .rt-hero { padding-top: 104px; padding-bottom: 32px; }
  .rt-hero + .section { padding-top: 28px; }
}
