/* Page-CSS Polterschild (Post 2196) — ausgelagert aus den rohen core/html-<style>-Blöcken
   (De-Wurst 2026-06-30). Nur auf der Polterschild-Seite enqueued. Verbatim übernommen;
   einige Selektoren (#aktion, .kw-cta-pair-Mobile) sind durch die neuen Blöcke redundant,
   bleiben aber harmlos. */

/* Mobile (<600px): Überschriften +15% größer. */
@media (max-width: 600px) {
  body.page-id-2196 h1 { font-size: 2.45rem !important; line-height: 1.15 !important; }
  body.page-id-2196 h2 { font-size: 2rem !important; line-height: 1.2 !important; }
  body.page-id-2196 .kw-sh-heading { font-size: 28px !important; }
}
@media (max-width: 600px) {
  .kw-cta-pair {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  .kw-cta-pair > a {
    width: 100% !important;
    box-sizing: border-box;
  }
  .kw-cta-pair--inline {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .kw-cta-pair--inline > a {
    flex: 1 1 0 !important;
    width: auto !important;
    padding: 9px 8px !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.5px !important;
  }
  .kw-cta-label-long { display: none !important; }
  .kw-cta-label-short { display: inline !important; }
  #aktion > div { padding: 12px 18px !important; gap: 12px !important; }
  #aktion > div > div:first-child { gap: 4px !important; flex-direction: column !important; align-items: flex-start !important; }
  #aktion span { line-height: 1.25 !important; }
}
/* Desktop: lange Labels zeigen */
.kw-cta-label-long { display: inline; }
.kw-cta-label-short { display: none; }

/* Layout: Columns / Cards */
.wp-block-columns.alignwide { max-width: 1200px; margin-left:auto; margin-right:auto; padding-left:24px; padding-right:24px; box-sizing:border-box; }
.wp-block-column { display:flex; }
.wp-block-column > .kw-card { display:flex; flex-direction:column; width:100%; }
.kw-card__image-wrap { aspect-ratio: 4/3; overflow:hidden; }
.kw-card__image-wrap img { width:100%; height:100%; object-fit:cover; }
.kw-card__body { flex:1; display:flex; flex-direction:column; }
.kw-card--no-image .kw-card__body { padding-top: 24px; }
.kw-usp-bar__icon-wrap--placeholder { background-image: none !important; background-color: transparent !important; width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }
.kw-usp-bar__icon-wrap--placeholder::after { content: none !important; }

/* Stop-Motion-Cards: gleiche Höhe + Bilder formatfüllend */
.wp-block-columns.alignwide { align-items: stretch; }
.wp-block-columns.alignwide > .wp-block-column { display: flex; }
.wp-block-column > .kw-stop-motion-card { display:flex; flex-direction:column; width:100% !important; height:100%; }
.kw-stop-motion-card__image .kw-stop-motion picture > img,
.kw-stop-motion-card__image .kw-stop-motion > img.kw-stop-motion__frame { object-fit: cover !important; }

/* === Anzeige-Angleichung an Live (de-Wurst-Treue, 2026-06-30) ===
   Die wiederverwendeten Blöcke kw-intro / kw-gk bringen eigene Heading-Styles mit,
   die vom alten Live-Stand abweichen. Hier seitenspezifisch (nur Polterschild)
   auf den Live-Look zurückgeholt, ohne die Blöcke global zu verändern. */

/* (1) Community-Headline „3.000+ Waldarbeiter": Live = gemischte Schreibweise + größer,
       nicht Versalien. */
body.page-id-2196 .kw-intro-grid__text h2 {
  text-transform: none !important;
  font-size: 2.6rem !important;   /* ≈ 41,6px wie Live (statt 36px Versalien) */
}

/* (2) Gewichts-Sektion-Titel „Du bestimmst das Gewicht": Live = Versalien. */
body.page-id-2196 .kw-gk__title {
  text-transform: uppercase !important;
}

/* (3) Gewicht-Karte an Live angleichen: Produktname = kleine Bordeaux-Überzeile OBEN,
       Schildbreite = großer dunkler Titel DARUNTER (statt Bordeaux-Pill). */
body.page-id-2196 .kw-gk__card { display: flex !important; flex-direction: column !important; }
body.page-id-2196 .kw-gk__card-name {           /* Produktname → kleine Überzeile */
  order: 1 !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #7A2C3A !important;
  font-weight: 700 !important;
  margin: 0 0 2px !important;
  padding-right: 0 !important;                  /* alter Platz fürs absolute Badge weg */
}
body.page-id-2196 .kw-gk__badge {                /* Schildbreite → großer Titel im Fluss, kein Pill */
  position: static !important;                   /* raus aus oben-rechts-Ecke */
  top: auto !important;
  right: auto !important;
  order: 2 !important;
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: #1a1a1a !important;
  font-size: 1.45rem !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-weight: 700 !important;
  margin: 0 0 10px !important;
  align-self: flex-start !important;
}
body.page-id-2196 .kw-gk__rows  { order: 3 !important; }
body.page-id-2196 .kw-gk__total { order: 4 !important; }

/* (4) Intro/Community-Sektion liegt auf Bordeaux: Fließtext muss HELL sein (wie Live),
       nicht dunkel — sonst unleserlich. Live: Absatz/Kursiv = cream, Fett = weiß. */
body.page-id-2196 .kw-intro-grid__text p,
body.page-id-2196 .kw-intro-grid__text li,
body.page-id-2196 .kw-intro-grid__text em { color: #F3D9C0 !important; }
body.page-id-2196 .kw-intro-grid__text strong { color: #FFFFFF !important; }

/* (5) Gewicht-Sektion an Live angleichen:
   - Kopf (Overline + Titel + Untertitel) ZENTRIERT (Live: center, Schau war links).
   - Typografie auf Site-Standard: Titel Josefin Sans, Text/Karten PT Serif —
     der kw-gk-Block nutzt sonst den Fallback „Poppins" (--font-display nicht definiert),
     Live nutzt aber PT Serif in den Karten. Total-Wert nicht kursiv, Live-Größe. */
body.page-id-2196 .kw-gk__head { text-align: center !important; }
body.page-id-2196 .kw-gk__title { font-family: 'Josefin Sans', sans-serif !important; }
body.page-id-2196 .kw-gk__sub,
body.page-id-2196 .kw-gk__badge,
body.page-id-2196 .kw-gk__row-label,
body.page-id-2196 .kw-gk__row-value,
body.page-id-2196 .kw-gk__total-value { font-family: 'PT Serif', serif !important; }
body.page-id-2196 .kw-gk__total-value { font-style: normal !important; font-size: 1.6rem !important; }
/* Überzeile (card-name) + „MAX-SETUP"-Label: Live = PT Serif bordeaux (nicht Sans/dunkel). */
body.page-id-2196 .kw-gk__card-name,
body.page-id-2196 .kw-gk__total-label { font-family: 'PT Serif', serif !important; }
body.page-id-2196 .kw-gk__total-label { color: #7A2C3A !important; }
/* Trenn-Strich unter der Gewicht-Überschrift (wie andere Section-Headings + Live) —
   sonst „hängt die Überschrift in der Luft". Gleiche Optik: 60×3px bordeaux, zentriert. */
body.page-id-2196 .kw-gk__title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  margin: 18px auto 0;
  background: #97233F;
}
/* Kopf ÜBER den Karten zentrieren (auf Seitenmitte), nicht linksbündig im Karten-Bereich.
   Bug: .kw-gk__head war ~896px linksbündig, Untertitel 640px linksbündig → Kopf-Mitte
   152–280px links neben der Karten-Mitte. Live zentriert beide auf Seitenmitte. */
body.page-id-2196 .kw-gk__head { max-width: none !important; width: 100% !important; }
body.page-id-2196 .kw-gk__sub  { margin-left: auto !important; margin-right: auto !important; }

/* „Nicht verpassen"-Banner: FULL-BLEED wie Live (Bordeaux über volle Viewport-Breite,
   Inhalt via __inner zentriert). Banner sitzt in 860px-begrenztem Wrapper → echter
   100vw-Ausbruch statt alignfull. Live: full-bleed (w=3008); Schau war 812px schmale Box. */
body.page-id-2196 .kw-aktionsleiste--banner {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
/* 100vw beinhaltet die Scrollbar-Breite → sonst horizontaler Überlauf am documentElement.
   Diese Datei wird NUR auf /polterschild/ geladen, daher wirkt html-clip nur hier
   (clip statt hidden: erzeugt keinen Scroll-Container, bricht kein position:sticky). */
html { overflow-x: clip !important; }
/* Der 860px-Wrapper um die Banner hat selbst Bordeaux + Padding → zeigt sich als Stufe
   über/unter der full-bleed Banner. Neutralisieren, damit NUR die Banner das saubere Band bildet. */
body.page-id-2196 .wp-block-group:has(> .kw-aktionsleiste--banner) {
  background: transparent !important;
  padding: 0 !important;
}

/* Banner-INNENLAYOUT an Live angleichen (2026-07-01):
   Live = eine Reihe (space-between): links ein ~408px schmaler Text-Block mit Overline
   ÜBER dem Text (Spalte) → Text bricht auf 2 Zeilen; rechts die Buttons.
   Schau war: Text-Block als Zeile OHNE Breitenbegrenzung (~975px) → Overline neben Text,
   Text 1 Zeile, dadurch keine Breite mehr für die Buttons → sie brechen in die nächste
   Reihe um. Fix: Text-Block = Spalte + auf ~440px begrenzt (flex: 0 1 440px, kein Wachsen),
   dann bleiben die Buttons rechts in derselben Reihe wie auf Live. */
body.page-id-2196 .kw-aktionsleiste--banner .kw-aktionsleiste__msg {
  flex: 0 1 440px !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
}
/* Eine Reihe erzwingen: Text-Block darf schrumpfen (Text bricht um), Buttons nicht
   (sonst würden die Button-Labels umbrechen). gap kleiner, damit 440+778 in 1240 passt. */
body.page-id-2196 .kw-aktionsleiste--banner .kw-aktionsleiste__inner {
  flex-wrap: nowrap !important;
  gap: 24px !important;
}
body.page-id-2196 .kw-aktionsleiste--banner .kw-cta-pair {
  flex: 0 0 auto !important;
}
/* Mobile: wieder umbrechen (Buttons unter den Text), sonst quetscht nowrap. */
@media (max-width: 860px) {
  body.page-id-2196 .kw-aktionsleiste--banner .kw-aktionsleiste__inner {
    flex-wrap: wrap !important;
  }
}
/* Overline „NICHT VERPASSEN" an Live: PT Serif + weiß (Schau-Default war Josefin Sans + gold).
   Nur die Banner-Variante — der obere „Aktion"-Streifen (compact) bleibt wie er ist. */
body.page-id-2196 .kw-aktionsleiste--banner .kw-aktionsleiste__overline {
  font-family: 'PT Serif', Georgia, serif !important;
  color: #FFFFFF !important;
}

/* Fluent-Forms-Standard-Öffner-Knopf ("Angebot") ausblenden (2026-07-01).
   Das Angebot-Modal (#ff_modal_instance_2) wird bereits von 8 gewollten Triggern geöffnet
   (alle "Unverbindliche Beratung"-Buttons, Paket-CTAs, Sticky-Leiste "Angebot per E-Mail
   erhalten"). Der von Fluent Forms zusätzlich gerenderte Default-Button unten vor dem Footer
   ist redundant + unschön → verstecken. Modal-HTML bleibt (die Trigger brauchen es). */
body.page-id-2196 .ff_form_modal > .kw-angebot-trigger,
body.page-id-2196 button.ff_modal_btn.kw-angebot-trigger {
  display: none !important;
}
