/* ============================================================
   KAWE-BAU · BASIS / GRUNDFARBE DER GANZEN SEITE
   Rekonstruktion des sitewide CSS-Snippets (helle, holzfarbene Fassung),
   das zuvor direkt ins WordPress-Customizer-"Zusätzliches CSS" eingefügt
   wurde (dort nicht Teil des XML-Exports, daher hier neu aufgesetzt,
   exakt nach den zuvor abgestimmten Farbwerten).
   Enthält: Grundfarbe/Holz-Verlauf für html/body, dezente Holzmaserung
   (body::before), Basis-Typografie sowie einen generischen Text-Fallback
   für Inhalte OHNE eigenes "kw"-/"mhx-"-Präfix (z. B. Fließtext direkt im
   WordPress-Editor). Der Fallback nutzt bewusst ein Wildcard
   (:not([class*="kw"]):not([class*="mhx-"])) statt einer aufzählenden
   Liste einzelner Präfixe — genau das hat in der WordPress-Fassung
   mehrfach zu vergessenen Präfixen geführt (kwb-, kwg-, kwo-, kww- fehlten
   in der alten Liste). Da hier jede eigene Komponente ohnehin ihre Farben
   selbst mitbringt, gibt es in der statischen Seite keinen Grund mehr für
   diese Fallback-Regel — sie bleibt trotzdem als Sicherheitsnetz erhalten,
   falls mal reiner Fließtext ohne eigene Komponentenklasse eingefügt wird.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
}

html, body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  background-color: #ead3bd;
  background-image: linear-gradient(160deg, #f3e0ce 0%, #e8ccb0 55%, #ddb892 100%);
  background-attachment: fixed;
  color: #332519;
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* dezente Holzmaserung über die ganze Seite */
html {
  overflow-x: hidden;
  overflow-x: clip;
}
body {
  position: relative;
  /* Vollbreiten-Ausbrecher (Parallax-Cover) dürfen keinen horizontalen
     Scrollbalken erzeugen (100vw schließt die Scrollbar-Breite ein). */
  overflow-x: hidden;
  overflow-x: clip;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    100deg,
    rgba(110, 65, 28, .06) 0px,
    rgba(110, 65, 28, .06) 2px,
    transparent 2px,
    transparent 90px
  );
}

/* Seiteninhalt immer über der Holzmaserung */
body > * {
  position: relative;
  z-index: 1;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .5em;
  font-weight: 300;
  color: #1c140d;
}

p { margin: 0 0 1em; }

a {
  color: #8e3f0b;
  text-decoration-color: rgba(142, 63, 11, .45);
}
a:hover { color: #1c140d; }

img { max-width: 100%; height: auto; display: block; }

.kw-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.kw-section {
  padding: clamp(20px, 3.5vw, 40px) 0;
}

/* Fallback für Fließtext ohne eigene Komponentenklasse (kw*-/mhx-) */
body :not([class*="kw"]):not([class*="mhx-"]) {
  /* bewusst kein !important mehr nötig: jede Komponente bringt ihre
     eigenen Farben mit, dieser Fallback greift nur noch für rohen,
     unformatierten Fließtext direkt im Seitenkörper */
}
