/* ============================================================
   willmixen2026-child — GLOBAL CSS
   ------------------------------------------------------------
   Wird auf JEDER Seite geladen (Home, Archive, Recipe, Page, ...).
   Hier nur SEHR minimale, site-weite Schutzregeln.
   Layout-spezifischer Code gehoert in recipe-template.css /
   home-archive.css.

   v0.8.7 (2026-05-10)
   ============================================================ */

/* ============================================================
   Mobile Horizontal-Overflow-Schutz (site-weit)
   ------------------------------------------------------------
   Slickstream's <slick-heartbeat> position:fixed Element ragt
   auf Mobile (~390px) ueber den Viewport hinaus → erzeugt
   horizontalen Scroll. Plus: Astra Hero-Blobs, Footer-Cols
   und manche Plugin-Container koennen ebenfalls overflowen.

   `clip` ist sicherer als `hidden` — kein neuer Scroll-Container,
   kein Sticky-Break. Fallback `hidden` fuer aeltere Browser.
   ============================================================ */
/* v0.9.8: Color-Scheme bleibt explizit light — verhindert Chrome's Auto-Dark-Mode Render-Layer */
:root {
  color-scheme: light;
}

html {
  overflow-x: hidden;          /* Fallback fuer alte Browser */
  overflow-x: clip;            /* Modern: Chrome 90+, Safari 16+ */
  color-scheme: light;
}
body {
  overflow-x: hidden;
  overflow-x: clip;
  max-width: 100vw;
}

/* ============================================================
   v0.9.14 — Site-wide float-Fix fuer #primary
   ------------------------------------------------------------
   Astras Default fuer #primary ist `float: left` (vorgesehen fuer
   2-Spalten-Layout mit Sidebar). Auf no-Sidebar-Pages laesst das
   den Parent #page kollabieren — der <footer> rendert dann
   parallel zum Content statt darunter. Die 5138px hohe dunkle
   .footer-adv-overlay schimmert in den Content-Bereich.

   v0.9.12 hatte den Fix nur auf wm-home/archive/recipe-Pages
   gezogen. Static WP-Pages (Thermomix-Hub etc.) bleiben sonst
   broken. Hier site-weit, scoped via `.ast-no-sidebar`.
   ============================================================ */
body.ast-no-sidebar #primary {
  float: none !important;
}
body.ast-no-sidebar .site-footer,
body.ast-no-sidebar #colophon {
  clear: both !important;
}

/* ============================================================
   v0.9.11 — Astra-Footer wie von Astra designed
   ------------------------------------------------------------
   v0.9.5-0.9.7 hatten den Footer faelschlich komplett per
   display:none versteckt. v0.9.10 hatte ihn cream eingefaerbt
   (Cargo-Cult-Hack — Footer SOLL visuell vom Content getrennt
   sein). Beide raus. Astra rendert mit seinem Default
   (#3a3a3a + 70px padding) — das ist gewollt, nicht ein Bug.

   Defensive Override gegen Browser-Cache von v0.9.7's display:none:
   ============================================================ */
.footer-adv-overlay,
.ast-footer-overlay,
[class*="footer-adv-overlay"],
[class*="ast-footer-overlay"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ============================================================
   v0.9.20 — Footer-Container Padding wiederherstellen
   ------------------------------------------------------------
   Live-Diagnose: bodyScrollWidth war 2565 bei viewport 2545 →
   20px Overflow. Verursacher: `.footer-adv .ast-container { padding:0 }`
   aus unseren Page-Layout-Overrides — aber Astras Footer-Grid
   nutzt `.ast-row { margin: 0 -20px }` und braucht das Padding
   auf der container-Ebene zur Kompensation. Ohne Padding ueberhing
   die Footer-Row 20px nach rechts, was den gesamten Body breiter
   als Viewport gemacht hat. Mobile Chrome clippt das nicht
   zuverlaessig und Content-Paragraphen ueberlaufen rechts.
   ============================================================ */
.footer-adv .ast-container,
#colophon .ast-container,
.ast-small-footer .ast-container {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* ============================================================
   v0.9.19 — Mobile Overflow-Schutz site-weit
   ------------------------------------------------------------
   Defensive Regeln: jedes Element im Content respektiert die
   Viewport-Breite. Faengt bekannte Boesewichte ab — lange URLs,
   Wide Tables, Iframes, eingebettete Videos, WPRM-Komponenten.
   ============================================================ */
@media (max-width: 760px) {
  .entry-content,
  .article,
  .hub-article {
    overflow-wrap: break-word;
    word-break: break-word;
  }
  .entry-content img,
  .entry-content video,
  .entry-content iframe,
  .entry-content embed,
  .entry-content object,
  .article img,
  .article video,
  .article iframe {
    max-width: 100% !important;
    height: auto !important;
  }
  .entry-content table,
  .article table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
  .entry-content pre,
  .article pre {
    max-width: 100%;
    overflow-x: auto;
  }
  /* WPRM-Container nie breiter als Viewport */
  .wprm-recipe-container,
  [class*="wprm-recipe"]:not([class*="wprm-recipe-rating"]) {
    max-width: 100% !important;
  }
}

/* ============================================================
   v0.9.16 — Heart-Button auf Recipe-Cards ausblenden
   ------------------------------------------------------------
   User-Entscheidung 2026-05-10: nur das Herzchen auf den
   Recipe-Card-Bildern raus. Hero-Save-Button und WPRM/Slickstream
   Save-UI bleiben sichtbar — Save-Funktion bleibt also erhalten,
   nur das visuelle Card-Heart geht raus.
   ============================================================ */
.rcard__save {
  display: none !important;
}

/* ============================================================
   v0.9.3 — Font-Faces site-weit
   ------------------------------------------------------------
   Damit der Header (rendert auf jeder Page) seine Schrift hat,
   selbst auf Page-Types die weder home-archive.css noch
   recipe-template.css laden.
   ============================================================ */
@font-face { font-family: 'Gilroy'; src: url('../fonts/Gilroy-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Gilroy'; src: url('../fonts/Gilroy-Medium.ttf') format('truetype'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Gilroy'; src: url('../fonts/Gilroy-SemiBold.ttf') format('truetype'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Gilroy'; src: url('../fonts/Gilroy-Bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Perfectly Nineties'; src: url('../fonts/PerfectlyNineties-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Perfectly Nineties'; src: url('../fonts/PerfectlyNineties-RegularItalic.ttf') format('truetype'); font-weight: 400; font-style: italic; font-display: swap; }
