/* texte.css — running text blocks (.gs-text), 11/14/2026, welle "AdSense-fertig" (I3).
   Used by: page texts (start, lists, categories, how-we-check, legal pages),
   guide articles (I2) and giveaway long texts (I1). Every page that renders
   light markdown (site/leicht_md.php) wraps the result in an element with the
   class gs-text and links this file:
     <link rel="stylesheet" href="/assets/texte.css?v=N"> (N = GS_TEXTE_CSS_VERSION, kopf_css.php)
   Colours ONLY from the GS tokens --u-* (assets/unslop.css); fallbacks inside
   var() only. The site is dark-only (color-scheme: dark); the tokens are the
   single place a light theme would redefine, so this file follows them.
   Not linked from kopf_css.php yet (locked until welle 3).

   unslop.css forces `html:root body main h2:not(#u-k)` to 20/24 px, weight 500
   with !important; the h2 rule below carries one class more (.gs-text), so it
   wins regardless of file order. */

.gs-text {
  /* No max-width: the main column itself is the line-length limit (about 780 px at
     1280 px, inside the GP frame); werkzeuge/test_rechtsseiten_breite.py requires text
     pages to fill their box (gap < 48 px). A 68ch cap left a 157 px gap. */
  margin: 24px 0 0;
  color: var(--u-text-2, #b3c2da);
  font-size: 16px;
  line-height: 1.65;
  overflow-wrap: break-word;
  hyphens: manual;
}
.gs-text--trenner {
  padding-top: 20px;
  border-top: 3px solid var(--u-akzent, #d32f2f);
}

html:root body main .gs-text h2:not(#u-k),
.gs-text h2 {
  margin: 32px 0 10px !important;
  color: var(--u-text, #eef3fb);
  font-size: 20px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
}
html:root body main .gs-text > h2:first-child:not(#u-k),
.gs-text > h2:first-child { margin-top: 0 !important; }

.gs-text p { margin: 0; }
.gs-text p + p,
.gs-text ul + p,
.gs-text p + ul { margin-top: 12px; }
.gs-text h2 + p,
.gs-text h2 + ul { margin-top: 0; }

.gs-text ul {
  margin: 12px 0 0;
  padding-left: 22px;
  list-style: disc;
}
.gs-text li { margin: 0; padding-left: 2px; }
.gs-text li + li { margin-top: 6px; }
.gs-text li::marker { color: var(--u-text-3, #93a6c6); }

.gs-text a,
main.gp-seite .gs-text a {
  color: var(--u-fokus, #8fb4ff);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.gs-text a:hover { color: var(--u-text, #eef3fb); }
.gs-text a:focus-visible {
  outline: 2px solid var(--u-fokus, #8fb4ff);
  outline-offset: 2px;
  border-radius: 2px;
}

.gs-text strong { color: var(--u-text, #eef3fb); font-weight: 700; }

/* Source / date line under a text (e.g. "Last updated 11/14/2026"). */
.gs-text .gs-text-stand {
  margin-top: 20px;
  color: var(--u-text-3, #93a6c6);
  font-size: 14px;
}

/* A heading right after a text block (detail page: div.gs-text + h2 "Quick Facts").
   gp.css sets `main.gp-seite h2 { margin: 0 0 12px }`, so without this rule the
   heading sat flush against the last paragraph (screens/nachher, 11/14/2026).
   One class more than gp.css, no !important needed. */
main.gp-seite .gs-text + h2,
.gs-text + h2 { margin-top: 32px; }

/* Source line at the end of a giveaway article (footer.gs-text-quelle,
   gewinnspiel.php): a quiet note, not running text. */
main.gp-seite footer.gs-text-quelle,
footer.gs-text-quelle {
  margin: 20px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--u-linie, rgba(143,180,255,.16));
  color: var(--u-text-3, #93a6c6);
  font-size: 13px;
  line-height: 1.5;
}
main.gp-seite footer.gs-text-quelle p { margin: 0; color: inherit; font-size: inherit; }
main.gp-seite footer.gs-text-quelle a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
main.gp-seite footer.gs-text-quelle a:hover { color: var(--u-text-2, #b3c2da); }
main.gp-seite footer.gs-text-quelle a:focus-visible {
  outline: 2px solid var(--u-fokus, #8fb4ff);
  outline-offset: 2px;
  border-radius: 2px;
}

@media (max-width: 600px) {
  .gs-text { font-size: 16px; line-height: 1.6; }
  main.gp-seite .gs-text + h2,
  .gs-text + h2 { margin-top: 28px; }
  html:root body main .gs-text h2:not(#u-k),
  .gs-text h2 { margin-top: 28px !important; font-size: 19px !important; }
}
