/* ============================================================
   BASE — geteilte Grundlagen (Reset + Container) für ALLE ob-Seiten
   ------------------------------------------------------------
   EINZIGE QUELLE. Vorher dupliziert in startseite.css UND unterseiten.css
   (→ Drift-Risiko). Via functions.php (Handle 'ob-base') NACH tokens.css und
   VOR nav/footer/Seiten-CSS geladen. Seitenspezifisches bleibt in der jeweiligen
   Seiten-CSS und überschreibt bei Bedarf (lädt danach).
   ============================================================ */

/* ----- Reset & Base ----- */
/* Globale Basis-Schriftgröße (18px) — alle font-size sind rem, skalieren hierüber. */
html { font-size: var(--ob-fs-base); }
.ob-page *, .ob-page *::before, .ob-page *::after { box-sizing: border-box; }
.ob-page { font-family: 'Jost', sans-serif; color: var(--ob-dark); background: #fff; -webkit-font-smoothing: antialiased; margin: 0; }
.ob-page a { text-decoration: none; color: inherit; }
.ob-page img { max-width: 100%; display: block; }
.ob-page p { margin: 0; }
.ob-page h1, .ob-page h2, .ob-page h3 { margin: 0; }
.ob-page input, .ob-page textarea, .ob-page button { font-family: 'Jost', sans-serif; }
@media print { nav, footer { display: none !important; } }

/* Kadence-Theme-Chrome ausblenden */
.ob-page .site-header,
.ob-page #masthead,
.ob-page .site-footer,
.ob-page #colophon,
.ob-page .kadence-breadcrumbs { display: none !important; }

/* ----- Container (Inhalt = --ob-maxw; Rahmen = Inhalt + 2× Gutter, damit der
   Gutter den Inhalt nicht verschmälert → Sektionen fluchten mit Nav & Hero) ----- */
.ob-container { max-width: calc(var(--ob-maxw) + 2 * var(--ob-gutter)); margin: 0 auto; padding: 0 var(--ob-gutter); }
.ob-container--narrow { max-width: var(--ob-maxw-narrow); margin: 0 auto; padding: 0 var(--ob-gutter); }
.ob-container--wide   { max-width: var(--ob-maxw-wide); margin: 0 auto; padding: 0 var(--ob-gutter); }
