/* ==========================================================================
   CompliKI Ratgeber - Zusatz-Bausteine für den Ratgeber-Bereich (V5 "Die Akte")
   --------------------------------------------------------------------------
   v5.css ist eingefroren (Schutzgeländer 16). Diese Datei ergänzt sie
   ausschließlich um die zwei Bausteine, die ALLE Ratgeber-Seiten teilen:
   Fließtext-Rhythmus und Beitrags-Kopfzeile.

   Bewusst KEIN Inline-<style>-Block je Seite: der wäre siebenmal identisch und
   erzeugt genau die Drift, die beim Consent-CSS (14x inline) im Audit
   bemängelt wurde.

   Alle Klassen tragen das Präfix rt-; es gibt keine Kollision mit v5.css.
   Farben und Abstände kommen ausschließlich aus den V5-Tokens, damit die
   Druck-Umdefinition am Ende von v5.css (@media print) automatisch greift.
   ========================================================================== */

/* ---- Fließtext im Beitrag ------------------------------------------------
   66ch Zeilenlänge: auf dem dunklen Canvas fällt die Lesbarkeit ab etwa
   75 Zeichen sichtbar ab. */
.rt-prose { max-width: 66ch; }
.rt-prose > * + * { margin-top: 16px; }
.rt-prose p { color: var(--ink-soft); font-size: 1rem; line-height: 1.68; }
.rt-prose strong { color: var(--ink-hi); font-weight: 600; }
.rt-prose em { font-style: normal; color: var(--ink-hi); }
.rt-prose a {
  color: var(--amber);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--amber-line);
  transition: text-decoration-color var(--tr-micro);
}
.rt-prose a:hover { text-decoration-color: var(--amber); }

.rt-prose h2 { font-size: clamp(1.4rem, 2.2vw, 1.8rem); margin-top: 44px; }
.rt-prose h3 { font-size: 1.18rem; font-weight: 600; margin-top: 32px; }
.rt-prose h2 + p, .rt-prose h3 + p { margin-top: 10px; }

/* Listen ohne Browser-Default: Marker in Mono/Amber, passend zum Aktenlook. */
.rt-prose ul, .rt-prose ol { list-style: none; padding: 0; display: grid; gap: 10px; }
.rt-prose li { position: relative; padding-left: 28px; color: var(--ink-soft); font-size: 0.98rem; line-height: 1.62; }
.rt-prose li strong { color: var(--ink-hi); }
.rt-prose ul > li::before {
  content: "-";
  position: absolute; left: 8px; top: 0;
  font-family: var(--font-mono); font-weight: 500; color: var(--amber);
}
.rt-prose ol { counter-reset: rt-ol; }
.rt-prose ol > li { counter-increment: rt-ol; }
.rt-prose ol > li::before {
  content: counter(rt-ol) ".";
  position: absolute; left: 0; top: 1px;
  font-family: var(--font-mono); font-weight: 500; font-size: 0.86rem; color: var(--amber);
}

/* Der Merksatz eines Abschnitts erbt .note / .note--accent aus v5.css und
   braucht hier nur die Breitenfreigabe, wenn er im .rt-prose steht. */
.rt-prose > .note { max-width: none; }

/* Zwischenüberschrift im Mono-Stil: .rt-prose p ist spezifischer als .mono und
   würde sonst Schriftgröße und Farbe überschreiben. */
.rt-prose p.mono { font-size: 0.72rem; color: var(--ink-mute); }

/* ---- Beitrags-Kopfzeile (Autor, Datum, Rechtsstand) -----------------------
   Trägt die menschenlesbare Entsprechung zu datePublished/dateModified aus
   dem Article-JSON-LD. Beide Werte müssen zusammen gepflegt werden. */
.rt-byline {
  display: flex; flex-wrap: wrap; gap: 10px 24px;
  margin-top: 26px; padding-top: 16px; border-top: 1px solid var(--line);
}
.rt-byline > span {
  display: inline-flex; align-items: baseline; gap: 8px;
  font-family: var(--font-mono); font-weight: 500;
  font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--ink-mute);
}
.rt-byline b, .rt-byline time {
  font-family: var(--font-body); font-weight: 600; font-size: 0.82rem;
  letter-spacing: 0; text-transform: none; color: var(--ink-soft);
}
.rt-byline a { color: var(--ink-soft); text-decoration: underline; text-underline-offset: 3px; }
.rt-byline a:hover { color: var(--ink-hi); }
