/* ============================================================
   CoLe's Heart — rechtliche-seiten.css
   Gemeinsame Page-Composition für Impressum (Page 231) + Datenschutz
   (Page 235), Design „Version B" (klassische, schmale Lesespalte ~820px).
   Quelle: Claude-Design-Export „Rechtstexte – Finale (Version B)".
   Rechtstext bleibt VERBATIM (IST-Inhalt) — hier nur Layout/Typografie
   über Tag-Scope (.ch-legal__body h2/h3/p/ul/a). Lädt via Auto-Loader.
   ============================================================ */

.ch-legal { background: var(--ch-cream); }
.ch-legal > .row_inner { max-width: 1180px; margin-inline: auto; padding: 60px 40px 88px; }
.ch-legal .module { margin: 0; }
/* Lesetext linksbündig am Container (schmale Spalte, nicht zentriert) */
.ch-legal__head, .ch-legal__body, .ch-legal__foot { max-width: 820px; margin-inline: 0; }

/* ---------- Seitenkopf ---------- */
.ch-legal__head { padding-bottom: 26px; border-bottom: 1px solid var(--ch-line); }
.ch-legal .lg-kicker {
  font-family: var(--ch-font-body); font-weight: 700; font-size: 13px;
  letter-spacing: .16em; text-transform: uppercase; color: var(--ch-gold-600);
  display: block; margin-bottom: 14px;
}
.ch-legal .lg-title {
  font-family: var(--ch-font-display) !important; font-weight: 600 !important;
  font-size: clamp(36px, 5vw, 56px); line-height: 1.04; letter-spacing: -0.015em;
  color: var(--ch-ink); margin: 0;
}
.ch-legal .lg-updated {
  font-family: var(--ch-font-body); font-size: 13.5px; color: var(--ch-ink-mute); margin: 14px 0 0;
}

/* ---------- Lesetext (verbatim IST-Markup, per Scope gestylt) ---------- */
.ch-legal__body { padding-top: 24px; }
.ch-legal__body h2 {
  font-family: var(--ch-font-display) !important; font-weight: 600 !important;
  font-size: 26px; line-height: 1.2; color: var(--ch-ink); margin: 36px 0 14px;
}
.ch-legal__body > h2:first-child { margin-top: 0; }
.ch-legal__body h3 {
  font-family: var(--ch-font-body) !important; font-weight: 600 !important;
  font-size: 17px; line-height: 1.4; color: var(--ch-ink); margin: 26px 0 8px;
}
.ch-legal__body h3 strong { font-weight: 600; }
.ch-legal__body p,
.ch-legal__body div {
  font-family: var(--ch-font-body); font-size: 16px; line-height: 1.75;
  color: var(--ch-ink-soft); margin: 0 0 14px;
}
.ch-legal__body ul { margin: 0 0 16px; padding-left: 22px; }
.ch-legal__body li {
  font-family: var(--ch-font-body); font-size: 16px; line-height: 1.7;
  color: var(--ch-ink-soft); margin: 0 0 6px;
}
.ch-legal__body strong { font-weight: 600; color: var(--ch-ink); }
.ch-legal__body a {
  color: var(--ch-gold-600); text-decoration: none;
  border-bottom: 1px solid var(--ch-gold-200); word-break: break-word;
}
.ch-legal__body a:hover { color: var(--ch-gold-500); border-color: var(--ch-gold-400); }

/* ---------- Fuß ---------- */
.ch-legal__foot { margin-top: 42px; padding-top: 24px; border-top: 1px solid var(--ch-line); }
.ch-legal .lg-back {
  font-family: var(--ch-font-body); font-weight: 500; font-size: 15px;
  color: var(--ch-gold-600); text-decoration: none;
  display: inline-flex; align-items: center; gap: 6px;
}
.ch-legal .lg-back:hover { color: var(--ch-gold-500); }

@media (max-width: 560px) {
  .ch-legal > .row_inner { padding: 44px 20px 64px; }
  .ch-legal__body h2 { font-size: 23px; }
}
@media (max-width: 900px) {
  .ch-legal > .row_inner { padding-inline: 24px; }
}
