/* =========================================================================
   BLACK TRAP - GLOBALER DESIGN-FIX (Precision System)
   Geladen von mu-plugins/blacktrap-global-design-fix.php
   (wp_enqueue_scripts, Prioritaet 9999, Version = filemtime; gesucht in
   mu-plugins/blacktrap-global-design-fix/ bzw. mu-plugins/assets/).
   Kill-Switch: define('BT_GDF_DISABLED', true); in wp-config.php.

   MASTERREFERENZ: die Startseite (Elementor-Dokument 33064 + Global Classes
   .bt-btn-primary / .bt-eyebrow / .bt-heading ...). NICHT das Codex-Plugin.

   Stand der Pruefung: 2026-09-27, alle Selektoren/Werte gegen die live
   gerenderten Seiten verifiziert (Headless-Chrome, computed styles, 129
   Sitemap-URLs gecrawlt, 412 Elementor-CSS-Dateien gescannt).

   AENDERUNGEN
   - 2026-09-27: Blog-Einzelartikel aus .bt-gdf-exclude herausgenommen und
     in eigenen Scope .bt-gdf-blog-scope (Abschnitt 10) ueberfuehrt:
     Headlines #192a3d (1,2:1) / Fliesstext #3a4f66 (2,1:1) auf dunklem
     Grund -> --bt-gdf-ink / --bt-gdf-soft; helle Inline-Boxen
     (Zusammenfassung, Inhaltsverzeichnis, Fazit) -> Panel. Geprueft gegen
     alle 10 live Blog-Artikel (8 Handschrift-HTML, 2 Elementor).
   - 2026-09-27: /faq/ und /diagnose/ ebenfalls aus .bt-gdf-exclude
     herausgenommen -> eigene Scopes .bt-gdf-faq-scope (Abschnitt 8a) und
     .bt-gdf-diagnose-scope (Abschnitt 8b). .bt-gdf-exclude ist damit
     aktuell auf keiner Seite gesetzt (Regeln bleiben fuer kuenftige
     Ausnahmen erhalten).

   -------------------------------------------------------------------------
   SPEZIFITAETS-STRATEGIE (bitte vor Aenderungen lesen)
   -------------------------------------------------------------------------
   1. "html"-Praefix (+0,0,1): gewinnt jeden Gleichstand gegen die Quelle,
      egal in welcher Reihenfolge Elementor/Plugins ihr CSS ausgeben
      (Elementor-Template-CSS und Plugin-<style>-Bloecke landen teils im
      Footer, also NACH diesem Stylesheet).
   2. "html:not(#bt-gdf)" (+1,0,1): ":not(#id)" matcht jedes Element (keins
      hat diese ID), zaehlt aber wie ein ID-Selektor. Damit schlagen wir
      Elementor-Klassenketten wie
      ".elementor-31476 .elementor-element.elementor-element-6099391 ..."
      (bis 5 Klassen) OHNE von fluechtigen Widget-IDs abzuhaengen.
      Wird nur auf eng gefasste, semantische Selektoren angewendet.
   3. !important NUR dort, wo die Quelle selbst !important setzt (sonst
      verliert jede Spezifitaet). Jede Stelle ist mit [!i: Quelle]
      kommentiert.

   -------------------------------------------------------------------------
   TOKEN-KOLLISION (wichtig)
   -------------------------------------------------------------------------
   Das Plugin blacktrap-core (class-btc-reference-pages.php,
   class-btc-shortcodes.php) gibt auf Produkt- und Referenzseiten INLINE im
   <body> einen eigenen Block
       :root { --bt-bg:#0F0F0F; --bt-panel:#111111; --bt-soft:#C4C7C8;
               --bt-muted:#8D9492; --bt-text:#FFF; --bt-accent:#94e6b2 }
   aus. Er kommt nach jedem Stylesheet und gewinnt dort jeden :root-Tie.
   Ausserdem deklariert blacktrap-tickets (assets/style.css) auf :root ein
   eigenes --bt-green:#697861 fuer sein HELLES Formular (/ticket-status/ ist
   hier bewusst ausgeschlossen) - ein oeffentliches --bt-green aus dieser
   Datei wuerde es je nach Ladereihenfolge ueberschreiben.
   Darum gilt: Diese Datei DEKLARIERT KEINE oeffentlichen --bt-*-Tokens.
   Alle eigenen Tokens heissen --bt-gdf-* (privater Namensraum) und jede
   Regel hier referenziert nur diese. Einzige, bewusste Ausnahmen:
   - --bt-font-mono (Abschnitt 0): gezielter Override, weil blacktrap-shop-ui
     "font-family: var(--bt-gdf-font-mono) !important" nutzt (JetBrains Mono ->
     IBM Plex Mono); Wert identisch zu btcodex-frontend.css.
   - --bt-accent (Abschnitt 2b): nur auf den Wurzel-Elementen des
     blacktrap-core-Plugins, nie auf :root.

   -------------------------------------------------------------------------
   SEITEN-SCOPE (einzige Quelle: blacktrap-global-design-fix.php)
   -------------------------------------------------------------------------
   Der Loader haengt per body_class-Filter Scope-Klassen an <body>; die
   Seiten-ID-Listen stehen NUR dort (bt_gdf_scope_ids()). Diese Datei
   referenziert ausschliesslich die Klassen:
     .bt-gdf-exclude      aktuell keine Seite (Liste im Loader leer):
                          behaelt Blocksy-Akzent UND -Schrift.
     .bt-gdf-faq-scope    /faq/: dunkle "Grundlagen"-Sektion, 3-Saeulen-Box,
                          Accordion-Farben (Abschnitt 8a).
     .bt-gdf-diagnose-scope /diagnose/: Symptom-Checker (bt-wiki-Shortcode
                          [btwiki_diagnosis]) im Precision-Look (8b).
     .bt-gdf-blog-scope   Blog-Einzelartikel (nur Post-Type "post"): helle
                          Text-/Headline-Farbe + dunkle Inline-Boxen
                          (Abschnitt 10). Sitewide Regeln gelten dort.
     .bt-gdf-accent-off   Demo-Seite /contact/: nur Blocksy-Akzent behalten.
     .bt-gdf-text-scope   WooCommerce-Seiten + Rechtsseiten: helle Text-/
                          Headline-Farbe (Abschnitt 1c).
     .bt-gdf-button-scope .bt-gdf-text-scope + About-Seite: Farbe der
                          Elementor-V3-Buttons (Abschnitt 4b).
   Klassen und Stylesheet kommen aus demselben Loader und sind daher immer
   gemeinsam aktiv bzw. gemeinsam aus (auch per Kill-Switch BT_GDF_DISABLED).

   -------------------------------------------------------------------------
   SCHRIFTEN
   -------------------------------------------------------------------------
   Space Grotesk / IBM Plex Sans / IBM Plex Mono werden aktuell NICHT
   self-hosted geladen, sondern sitewide ueber das Elementor-Kit von
   fonts.googleapis.com (elementor-gf-*-css). Diese Datei laedt KEINE
   Schriften und fuegt keine Google-Fonts-Links hinzu; sie referenziert nur
   die Familiennamen (mit System-Fallbacks). Siehe Report / Memory
   feedback-google-fonts-site-wide.md.

   AUSDRUECKLICH NICHT IM SCOPE: FAQ-Hero (Stockfoto-Banner, Arial-H1),
   /shop/ -> /shop-3/-Redirect, Produktbild-Behandlung (helle Fotos),
   Labor-Terminal (/labor/) und Substrat-Konfigurator (eigene Plugin-UIs).
   ========================================================================= */


/* =========================================================================
   0. TOKENS
   ========================================================================= */

/* Private Precision-Tokens (Werte = Startseite / btcodex-frontend.css).
   Nur --bt-gdf-*, siehe Kopfkommentar "TOKEN-KOLLISION". */
:root {
    --bt-gdf-bg: #161618;
    --bt-gdf-panel: #212129;
    --bt-gdf-ink: #f2f2f0;
    --bt-gdf-soft: #a8a8ae;
    --bt-gdf-muted: #6c6c72;
    --bt-gdf-line: #2e2e36;
    --bt-gdf-line-strong: #35353f;
    --bt-gdf-green: #6bb079;
    /* Text auf Gruen (.bt-btn-primary). #0e1410 auf #6bb079 = 7,2:1,
       auf Hover #7fc08c = 8,7:1 (WCAG AA/AAA). */
    --bt-gdf-on-live: #0e1410;
    /* Hover-Ton von .bt-btn-primary:hover (Elementor Global Class, Startseite). */
    --bt-gdf-green-hover: #7fc08c;
    /* Fehler-Ton = Elementor-Globalvariable --bt-error (Kit). */
    --bt-gdf-error: #e57f76;

    --bt-gdf-font-display: "Space Grotesk", "Segoe UI Variable Text", -apple-system,
        BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    --bt-gdf-font-text: "IBM Plex Sans", "Segoe UI Variable Text", "Segoe UI Variable",
        -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --bt-gdf-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* EINZIGER oeffentlicher Token-Override (bewusst): --bt-font-mono.
   blacktrap-shop-ui/assets/css/base.css setzt :root { --bt-font-mono:
   'JetBrains Mono' } und nutzt es mit !important (Footer-Eyebrows,
   Mengenfeld auf allen WooCommerce-Seiten). :root:root (0,2,0) gewinnt
   unabhaengig von der Ladereihenfolge. Stack identisch zu
   btcodex-frontend.css -> fuer Codex ein No-op; blacktrap-tickets
   definiert kein --bt-font-*. */
:root:root {
    --bt-font-mono: var(--bt-gdf-font-mono);
}


/* =========================================================================
   1. GLOBALE THEME-TOKENS (Blocksy) + BODY
   -------------------------------------------------------------------------
   Blocksy definiert Palette UND abgeleitete Variablen in
   uploads/blocksy/css/global.css auf :root, z. B.
       --theme-text-color: var(--theme-palette-color-3)
       --theme-link-initial-color: var(--theme-palette-color-1)
   Diese werden auf :root EINMAL aufgeloest und fertig vererbt. Deshalb:
   - Aenderung auf :root  -> alle abgeleiteten Variablen ziehen mit.
   - Aenderung tiefer (body) -> abgeleitete Variablen muessen dort neu
     deklariert werden (siehe 1b/1c).

   REGRESSIONSTEST (Headless-Chrome, alle 129 Sitemap-URLs, Kontrast
   vorher/nachher): Ein globales Umschalten von palette-3/-4 (Text/Headlines
   hell) macht auf 26 Seiten Text auf hellen "Inseln" unlesbar (Blog-Artikel-
   Boxen, bt-lab-*-Seiten /gattungen/ /pflanzen/ /komponenten/ /substrate/,
   /habitat-finder/, /cookies/, /developer-api/, /ticket-status/, Demo-Seiten
   /contact/ /services/, Code-Bloecke auf /widerrufsbelehrung/). Deshalb:
   - palette-1/-2 (Akzent) sitewide, ausser .bt-gdf-exclude (derzeit keine
     Seite) und Demo-/contact/.
   - palette-3/-4 (Text/Headlines) nur per Allow-List: WooCommerce-Seiten
     und Rechtsseiten (geprueft: dort keine hellen Inseln ausser Code),
     sowie Blog-Artikel (Abschnitt 10, dort werden die hellen Boxen selbst
     mit abgedunkelt).
   ========================================================================= */

/* --- 1a. Akzent + Schrift sitewide (:root:root schlaegt Blocksy's :root
   unabhaengig von der Ladereihenfolge). palette-5..8 bleiben unangetastet. */
:root:root {
    --theme-palette-color-1: var(--bt-gdf-green);       /* vorher #2872fa */
    --theme-palette-color-2: var(--bt-gdf-green-hover); /* vorher #1559ed */

    /* Text auf Akzentflaechen. Blocksy (uploads/blocksy/css/global.css,
       :root) setzt beide Button-Text-Tokens und den Selection-Text auf
       #ffffff - auf Gruen nur 2,6:1 (Hover 2,1:1), WCAG-AA-Fehler.
       Betrifft alles, was Blocksy's main.min.css ueber diese Tokens faerbt,
       auch ohne .button-Klasse (dort greift 4a NICHT):
       .added_to_cart ("Warenkorb anzeigen" nach AJAX-Add-to-Cart),
       .woocommerce-message .showlogin / .restore-item, .wp-element-button,
       .wp-block-button__link, button[class*=ajax], nacktes [type=submit]
       (z. B. Suchformulare), .ct-button, Entry-Meta-Pills.
       Mit --bt-gdf-on-live: 7,2:1 bzw. 8,7:1 (Hover). */
    --theme-button-text-initial-color: var(--bt-gdf-on-live);
    --theme-button-text-hover-color: var(--bt-gdf-on-live);
    --theme-selection-text-color: var(--bt-gdf-on-live);

    /* Blocksy setzt font-family: var(--theme-font-family) direkt auf
       body, h1-h6, label, figcaption ... */
    --theme-font-family: var(--bt-gdf-font-text);
}

/* Blocksy ueberschreibt die Tokens aus 1a auf Einzel-Selektoren mit
   hart codiertem Weiss auf palette-1 (global.css):
     .demo_store { --theme-text-color:#fff; --background-color:palette-1 }
     [data-header*=type-1] #search-modal .ct-search-form
         { --theme-button-text-initial-color:rgba(255,255,255,.7) ... }
   Beides ist live aktuell nicht gerendert (Elementor-Header, kein
   Store-Notice), wuerde bei Aktivierung aber Weiss auf Gruen zeigen.
   Ausnahmeseiten (1b) behalten Blocksy-Blau + Weiss. */
html body:not(.bt-gdf-exclude):not(.bt-gdf-accent-off) .demo_store {
    --theme-text-color: var(--bt-gdf-on-live);
}

html body:not(.bt-gdf-exclude):not(.bt-gdf-accent-off) #search-modal .ct-search-form {
    --theme-button-text-initial-color: var(--bt-gdf-on-live);
    --theme-button-text-hover-color: var(--bt-gdf-on-live);
}

/* --- 1b. Ausnahmen (out of scope bzw. Kontrast-Regression): Seiten mit
   .bt-gdf-exclude (derzeit keine; /faq/ und /diagnose/ seit 2026-09-27 in
   eigenen Scopes, Abschnitt 8a/8b) behalten Blocksy-Akzent und
   -Schrift komplett; Demo-Seite /contact/ (.bt-gdf-accent-off) nur den
   Akzent. Stellt ALLE in 1a geaenderten Farb-Tokens auf die Blocksy-
   Originalwerte (global.css) zurueck -> dort unveraendert blaue Buttons
   mit weisser Schrift. */
html body.bt-gdf-exclude,
html body.bt-gdf-accent-off {
    --theme-palette-color-1: #2872fa;
    --theme-palette-color-2: #1559ed;
    --theme-link-initial-color: #2872fa;
    --theme-link-hover-color: #1559ed;
    --theme-selection-background-color: #2872fa;
    --theme-selection-text-color: #ffffff;
    --theme-button-background-initial-color: #2872fa;
    --theme-button-background-hover-color: #1559ed;
    --theme-button-text-initial-color: #ffffff;
    --theme-button-text-hover-color: #ffffff;
    --theme-form-field-border-focus-color: #2872fa;
    --theme-form-selection-field-active-color: #2872fa;
    --e-global-color-blocksy_palette_1: #2872fa;
    --e-global-color-blocksy_palette_2: #1559ed;
}

html body.bt-gdf-exclude {
    --theme-font-family: var(--theme-font-stack-default);
}

/* --- 1c. Text-/Headline-Farbe (vorher #3A4F66 / #192a3d = dunkel auf
   dunkel) nur auf WooCommerce- und Rechtsseiten (.bt-gdf-text-scope,
   Seitenliste im PHP-Loader). /cookies/ bewusst NICHT: weisse
   Richtlinien-Box mit geerbter Headline-Farbe. */
html body.bt-gdf-text-scope {
    --theme-palette-color-3: var(--bt-gdf-soft);
    --theme-palette-color-4: var(--bt-gdf-ink);
    --theme-text-color: var(--bt-gdf-soft);
    --theme-headings-color: var(--bt-gdf-ink);
    --e-global-color-blocksy_palette_3: var(--bt-gdf-soft);
    --e-global-color-blocksy_palette_4: var(--bt-gdf-ink);
}

/* Blocksy-Code-Bloecke haben hellen palette-6-Hintergrund (#f2f5f7) -> dort
   die bisherige dunkle Schrift behalten (live u. a. /widerrufsbelehrung/).
   Nur im Text-Scope: ausserhalb ist die Textfarbe unveraendert, und eine
   globale Regel wuerde hell-auf-dunkel geerbten Text (z. B. nackte <pre>
   im Codex, /developer-api/) dunkel auf dunkel machen. */
html body.bt-gdf-text-scope :where(pre, code, kbd, samp) {
    color: #3a4f66;
}

/* --- 1d. Headlines (Blocksy h1-h3) auf die Display-Schrift. Wirkt NUR
   ueber die Blocksy-Variable, d. h. jede Klasse mit eigener font-family
   (Codex-Titel, Growbook, Elementor-Widgets) bleibt unberuehrt. */
html body:not(.bt-gdf-exclude) :where(h1, h2, h3) {
    --theme-font-family: var(--bt-gdf-font-display);
}

/* Body-Hintergrund: live #131313 (child-theme blacktrap-home.css), die
   Startseite nutzt #161618.
   [!i: blacktrap-shop-ui base.css ".bt-mode-dark { background:#0e0e0e !important }"] */
html body {
    background: var(--bt-gdf-bg) !important;
}

/* Body-Schrift: blacktrap-shop-ui setzt ".bt-ui-enabled { font-family:'Inter' }"
   auf <body> aller WooCommerce-Seiten (0,1,0) -> hier (0,1,2).
   Ausnahmen wie 1b. */
html body:not(.bt-gdf-exclude) {
    font-family: var(--bt-gdf-font-text);
}

/* Header-Navigation (Header-Template 32085): live Inter bzw. System-Font. */
html .elementor-location-header .elementor-nav-menu .elementor-item,
html .elementor-location-header .elementor-nav-menu .elementor-sub-item {
    font-family: var(--bt-gdf-font-text);
}


/* =========================================================================
   2. MINT (#A9CFB8) -> GRUEN (var(--bt-gdf-green)) - handgeschriebener Teil
      Der Grossteil (235 Regeln aus Elementor-Seiten-/Template-CSS) steht als
      generierter "Spiegel" in Abschnitt 9 am Dateiende.
   ========================================================================= */

/* --- 2a. Elementor-Kit (post-197.css, Custom CSS) - Menu-Cart im Header.
   Kit-Feld selbst wird NICHT angefasst, nur ueberschrieben.
   [!i: Kit ".elementor-menu-cart__toggle .elementor-button:hover {... !important}"] */
html .elementor-menu-cart__toggle .elementor-button:hover {
    background: var(--bt-gdf-green) !important;
    border-color: var(--bt-gdf-green) !important;
    color: var(--bt-gdf-on-live) !important;
}

/* [!i: Kit ".elementor-menu-cart__toggle .elementor-button-icon-qty {... !important}"] */
html .elementor-menu-cart__toggle .elementor-button-icon-qty {
    background: var(--bt-gdf-green) !important;
    color: var(--bt-gdf-on-live) !important;
    border-color: var(--bt-gdf-on-live) !important;
}

/* Menu-Cart-Toggle ("€0,00"): Precision-Secondary-Look (Hairline, 8px).
   [!i: Kit ".elementor-menu-cart__toggle .elementor-button { border ...; border-radius:0 !important }"] */
html .elementor-menu-cart__toggle .elementor-button {
    border-color: var(--bt-gdf-line-strong) !important;
    border-radius: 8px !important;
    font-family: var(--bt-gdf-font-mono);
}

/* --- 2b. blacktrap-core (Referenzseiten + Qualitaets-/Referenzprofil-Box auf
   Produktseiten): Akzent #94e6b2 ist die hellere Mint-Variante desselben
   Dark-Editorial-Systems. Wird ueber die plugin-eigene Variable --bt-accent
   umgebogen - nur auf den Wurzel-Elementen des Plugins, damit das gleichnamige
   --bt-accent von blacktrap-shop-ui (#5d6d5d, :root) unberuehrt bleibt. */
html .bt-reference-page,
html .bt-quality-box,
html .bt-ref-profile,
html .bt-ref-badge,
html .bt-ref-link {
    --bt-accent: var(--bt-gdf-green);
}

/* Score-Karte: Rahmen rgba(169,207,184,.32) hart codiert (nicht ueber --bt-accent). */
html .bt-quality-score-card {
    border-right-color: rgba(107, 176, 121, 0.32);
    border-bottom-color: rgba(107, 176, 121, 0.32);
    border-left-color: rgba(107, 176, 121, 0.32);
}


/* =========================================================================
   3. TYPOGRAFIE - Georgia -> Space Grotesk (handgeschriebener Teil)
      Elementor-Widgets: siehe generierter Spiegel in Abschnitt 9.
   ========================================================================= */

/* blacktrap-core Inline-CSS (Referenzseiten, Produkt-Qualitaetsbox). */
html .bt-reference-page h1,
html .bt-quality-box__head h3,
html .bt-ref-profile__head h3,
html .bt-ref-badge h4 {
    font-family: var(--bt-gdf-font-display);
}

/* Monospace: JetBrains Mono (Mengenfeld, Footer-Eyebrows) wird bereits durch
   das --bt-font-mono-Token in Abschnitt 0 auf IBM Plex Mono gezogen
   (shop-ui nutzt "font-family: var(--bt-font-mono) !important"). */


/* =========================================================================
   4. BUTTONS - Look von .bt-btn-primary (Startseite):
      bg --bt-gdf-green, Text --bt-gdf-on-live, IBM Plex Mono 13px/500, uppercase,
      letter-spacing 1px, radius 8px, kein Rahmen; Hover #7fc08c.
   ========================================================================= */

/* --- 4a. WooCommerce-/Germanized-Buttons.
   Die Selektorliste spiegelt die Kit-Regel "body .button.wc-forward, body
   .woocommerce a.button, ... body button.button" plus die WooCommerce-
   Buttons, die Elementor-Templates separat einfaerben (Add-to-Cart,
   Checkout). Codex-/Growbook-Seiten enthalten keine dieser Klassen (geprueft).
   [!i: Kit "body a.button, body button.button, ... { background:#A9CFB8 !important;
        border-radius:0 !important; font-size:12px !important; ... }"
        und Template 31476 "form.cart .single_add_to_cart_button {... !important}"] */
html:not(#bt-gdf) .woocommerce a.button,
html:not(#bt-gdf) .woocommerce button.button,
html:not(#bt-gdf) .woocommerce input.button,
html:not(#bt-gdf) .woocommerce #respond input#submit,
html:not(#bt-gdf) a.button,
html:not(#bt-gdf) button.button,
html:not(#bt-gdf) input.button,
html:not(#bt-gdf) .button.wc-forward,
html:not(#bt-gdf) .button.wc-backward,
html:not(#bt-gdf) .checkout-button,
html:not(#bt-gdf) .single_add_to_cart_button,
html:not(#bt-gdf) .wc-gzd-button,
html:not(#bt-gdf) .wc-gzd-modal-button,
html:not(#bt-gdf) .woocommerce-gzd-button,
html:not(#bt-gdf) .woocommerce-gzd-legal-checkbox-text .button {
    background: var(--bt-gdf-green) !important;
    color: var(--bt-gdf-on-live) !important;
    border: 1px solid var(--bt-gdf-green) !important;
    border-radius: 8px !important;
    font-family: var(--bt-gdf-font-mono) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

/* [!i: Kit ":hover { background:#FFFFFF !important; ... }"] */
html:not(#bt-gdf) .woocommerce a.button:hover,
html:not(#bt-gdf) .woocommerce button.button:hover,
html:not(#bt-gdf) .woocommerce input.button:hover,
html:not(#bt-gdf) .woocommerce #respond input#submit:hover,
html:not(#bt-gdf) a.button:hover,
html:not(#bt-gdf) button.button:hover,
html:not(#bt-gdf) input.button:hover,
html:not(#bt-gdf) .button.wc-forward:hover,
html:not(#bt-gdf) .button.wc-backward:hover,
html:not(#bt-gdf) .checkout-button:hover,
html:not(#bt-gdf) .single_add_to_cart_button:hover,
html:not(#bt-gdf) .wc-gzd-button:hover,
html:not(#bt-gdf) .wc-gzd-modal-button:hover,
html:not(#bt-gdf) .woocommerce-gzd-button:hover {
    background: var(--bt-gdf-green-hover) !important;
    border-color: var(--bt-gdf-green-hover) !important;
    color: var(--bt-gdf-on-live) !important;
}

/* Kinder (Preis im Add-to-Cart-Button etc.) erben die dunkle Schrift;
   Kit setzt "[class*=cart] .button * { color:#0A0A0A !important }" ohnehin. */

html:not(#bt-gdf) a.button:focus-visible,
html:not(#bt-gdf) button.button:focus-visible,
html:not(#bt-gdf) input.button:focus-visible,
html:not(#bt-gdf) .single_add_to_cart_button:focus-visible,
html:not(#bt-gdf) .checkout-button:focus-visible {
    outline: 2px solid var(--bt-gdf-ink);
    outline-offset: 2px;
}

/* --- 4b. Elementor-V3-Button-Widget (.elementor-widget-button .elementor-button).
   Zwei Stufen:
   - FARBE schwach: ersetzt nur den Elementor-Standard (#69727D grau,
     frontend.min.css, 0,1,0). Widgets mit eigener Farbe (Ghost-/Outline-
     Buttons) behalten ihre Farbe; ihr Mint wird im Spiegel (Abschnitt 9)
     zu Gruen. NUR auf .bt-gdf-button-scope (WooCommerce-, Rechts- und
     About-Seite, Liste im PHP-Loader): Regressionstest zeigte auf Blocksy-
     Demo-Seiten (/services/, /collection-4/) Buttons mit eigenem
     Hintergrund, aber Standard-Textfarbe -> dort wuerde die dunkle Schrift
     unlesbar. Spezifitaet (0,3,2), identisch zur frueheren :is()-ID-Liste.
   - FORM/SCHRIFT stark (Booster): radius 8px, Plex Mono uppercase -
     schlaegt die Widget-eigenen Typografie-/Radius-Regeln (ohne !important).
     BEWUSST NICHT auf die Farb-Allow-List beschraenkt: Form und Schrift
     aendern keinen Kontrast, und der Precision-Button-Look soll auf allen
     In-Scope-Seiten gelten (auch Startseiten-nahe Seiten wie /contact-us/,
     /codex-status/ oder die Legacy-Seite 32009). AUSGENOMMEN ist aber
     .bt-gdf-exclude (derzeit keine Seite), damit die Regel
     nicht dem im Kopf erklaerten Scope widerspricht.
   Der Header-Warenkorb (.elementor-menu-cart__toggle .elementor-button) ist
   KEIN .elementor-widget-button und bleibt aussen vor. */
html body.bt-gdf-button-scope .elementor-widget-button .elementor-button {
    background-color: var(--bt-gdf-green);
    color: var(--bt-gdf-on-live);
    fill: var(--bt-gdf-on-live);
}

html:not(#bt-gdf) body:not(.bt-gdf-exclude) .elementor-widget-button .elementor-button,
html:not(#bt-gdf) body:not(.bt-gdf-exclude) .e-form-submit-button-base {
    border-radius: 8px;
    font-family: var(--bt-gdf-font-mono);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* --- 4c. Pagination (Blocksy .ct-pagination + WooCommerce-Pagination).
   Farbe der aktuellen Seite im Produktarchiv kommt aus dem Spiegel
   (Template 31537, dort !important); hier Form + Standardfarben fuer alle
   anderen Kontexte (Kit-Regel ohne !important). */
html:not(#bt-gdf) .ct-pagination .page-numbers,
html:not(#bt-gdf) .woocommerce-pagination .page-numbers {
    border-radius: 8px;
    border-color: var(--bt-gdf-line);
    font-family: var(--bt-gdf-font-mono);
}

html:not(#bt-gdf) .ct-pagination .page-numbers.current,
html:not(#bt-gdf) .woocommerce-pagination .page-numbers.current {
    background: var(--bt-gdf-green);
    border-color: var(--bt-gdf-green);
    color: var(--bt-gdf-on-live);
}


/* =========================================================================
   5. WOOCOMMERCE-HINWEISE (live: #F0F1F3 hellgrau mit #3A4F66-Text =
      "Lichtloch" auf der dunklen Seite, u. a. leerer Warenkorb).
      Blocksy steuert das ueber --background-color / --theme-text-color auf
      genau diesen Klassen; beides wird gesetzt.
   ========================================================================= */
html:not(#bt-gdf) .woocommerce-info,
html:not(#bt-gdf) .woocommerce-message,
html:not(#bt-gdf) .woocommerce-error,
html:not(#bt-gdf) .wc-block-components-notice-banner {
    --background-color: var(--bt-gdf-panel);
    --theme-text-color: var(--bt-gdf-ink);
    --theme-link-initial-color: var(--bt-gdf-green);
    --theme-link-hover-color: var(--bt-gdf-green-hover);
    background-color: var(--bt-gdf-panel);
    color: var(--bt-gdf-ink);
    border: 1px solid var(--bt-gdf-line);
    border-left: 3px solid var(--bt-gdf-green);
    border-radius: 8px;
}

html:not(#bt-gdf) .woocommerce-error,
html:not(#bt-gdf) .wc-block-components-notice-banner.is-error {
    border-left-color: var(--bt-gdf-error);
}

html:not(#bt-gdf) .woocommerce-info::before,
html:not(#bt-gdf) .woocommerce-message::before {
    color: var(--bt-gdf-green);
}

/* Leerer Warenkorb: Wrapper-Text erbte #3A4F66. */
html .wc-empty-cart-message {
    color: var(--bt-gdf-ink);
}


/* =========================================================================
   6. HEADER MOBIL - Warenkorb-Button rutscht in eine zweite Zeile
   -------------------------------------------------------------------------
   Ursache (live gemessen bei 390px, Header-Template 32085):
   - Zeile .elementor-element-1880605: flex-wrap:wrap + space-between.
   - Menue-Container .elementor-element-c09fb45 hat mobil --width:50%
     (162px), obwohl er nur den 33px-Burger enthaelt.
   - Logo 64px (+Padding) + 162px + Warenkorb 105px > 343px verfuegbar
     -> Warenkorb bricht um, Header ~179px hoch.
   - Zusaetzlich macht das Nav-Widget (.elementor-element-46fa3ba) 34px
     gap + 10px Margin zum eingeklappten Dropdown -> 77px statt 33px Hoehe.
   Fix: Zeile nowrap, Menue-Container auf Inhaltsbreite, Reihenfolge
   Logo | Warenkorb | Burger, Dropdown absolut unter die Headerzeile
   (sonst wuerde es sich in den nun 33px schmalen Container quetschen).
   ========================================================================= */
@media (max-width: 767px) {
    html .elementor-location-header .elementor-element.elementor-element-1880605 {
        position: relative;
        flex-wrap: nowrap;
        --flex-wrap: nowrap;
        align-items: center;
        gap: 12px;
    }

    html .elementor-location-header .elementor-element.elementor-element-6619192 {
        order: 1;
        margin-right: auto;
    }

    html .elementor-location-header .elementor-element.elementor-element-91a745b {
        order: 2;
        flex: 0 0 auto;
    }

    html .elementor-location-header .elementor-element.elementor-element-c09fb45 {
        order: 3;
        flex: 0 0 auto;
        width: auto;
        --width: auto;
        position: static;
    }

    html .elementor-location-header .elementor-element.elementor-element-46fa3ba {
        gap: 0;
        position: static;
    }

    /* Nur der Dropdown-CONTAINER (<nav>), nicht die Untermenues
       (<ul class="sub-menu elementor-nav-menu--dropdown">). */
    html .elementor-location-header .elementor-element.elementor-element-46fa3ba nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 50;
        margin-top: 0;
    }
}


/* =========================================================================
   7. COOKIE-BANNER (Plugin blacktrap-cookie-consent, <style> im Footer,
      einfache Klassen ohne !important) + Kit-Cookie-Regel
   ========================================================================= */

/* --- 7a. Kit-Regel "body a[href*=cookie], body button[class*=cookie], ..."
   macht u. a. den Footer-Link "Cookies" (/cookies/), .bt-cookie-primary und
   den schwebenden #bt-cookie-reset zu Mint-Buttons. Gleiche Selektorliste,
   Precision-Werte.
   [!i: Kit-Regel setzt jede dieser Eigenschaften mit !important] */
html:not(#bt-gdf) body a[href*="cookie"],
html:not(#bt-gdf) body button[class*="cookie"],
html:not(#bt-gdf) body .borlabs-cookie-preference,
html:not(#bt-gdf) body .woocommerce-gzd-legal-checkbox-text a,
html:not(#bt-gdf) body .cmplz-show-banner,
html:not(#bt-gdf) body .cmplz-manage-consent,
html:not(#bt-gdf) body .wp-gdpr-cookie-notice-button {
    background: var(--bt-gdf-green) !important;
    color: var(--bt-gdf-on-live) !important;
    border: 1px solid var(--bt-gdf-green) !important;
    border-radius: 8px !important;
    font-family: var(--bt-gdf-font-mono) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
}

/* Hover. Die Kit-Datei hat KEINE eigene Hover-Regel fuer diese Selektoren;
   ihre Basisregel gilt aber auch im :hover-Zustand, und jede Nicht-
   !important-Deklaration verliert gegen sie.
   [!i: Kit "body a[href*=cookie], body button[class*=cookie], ...
        { background:#A9CFB8 !important; color:#0A0A0A !important;
          border:1px solid #A9CFB8 !important }" - bzw. deren Precision-
        Ersatz direkt darueber, ebenfalls !important] */
html:not(#bt-gdf) body a[href*="cookie"]:hover,
html:not(#bt-gdf) body button[class*="cookie"]:hover {
    background: var(--bt-gdf-green-hover) !important;
    border-color: var(--bt-gdf-green-hover) !important;
    color: var(--bt-gdf-on-live) !important;
}

/* Footer-Link "Cookies": kompakter als die Kit-Vorgabe (14px 24px), damit er
   in der Footer-Linkliste nicht als Block heraussticht.
   [!i: Kit "padding:14px 24px !important"] */
html:not(#bt-gdf) footer .bt-footer-link a[href*="cookie"] {
    display: inline-block;
    padding: 8px 14px !important;
}

/* --- 7b. Panel */
html:not(#bt-gdf) .bt-cookie-notice {
    color: var(--bt-gdf-soft);
    font-family: var(--bt-gdf-font-text);
}

html:not(#bt-gdf) .bt-cookie-panel {
    background: var(--bt-gdf-panel);
    border: 1px solid var(--bt-gdf-line);
    border-left: 3px solid var(--bt-gdf-green);
    border-radius: 8px;
}

/* Kicker = .bt-eyebrow der Startseite (Plex Mono, gruen, uppercase). */
html:not(#bt-gdf) .bt-cookie-kicker {
    color: var(--bt-gdf-green);
    font-family: var(--bt-gdf-font-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.5px;
}

/* Titel = .bt-heading der Startseite (Space Grotesk 500, 22px) - auf der
   Startseite sind ALLE Ueberschriften Space Grotesk, Plex Sans ist Fliesstext. */
html:not(#bt-gdf) .bt-cookie-panel h2 {
    color: var(--bt-gdf-ink);
    font-family: var(--bt-gdf-font-display);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.25;
}

html:not(#bt-gdf) .bt-cookie-panel p {
    color: var(--bt-gdf-soft);
}

html:not(#bt-gdf) .bt-cookie-panel .bt-cookie-muted {
    color: var(--bt-gdf-muted);
}

/* Buttons im Panel: gemeinsame Form. .bt-cookie-primary faellt zusaetzlich
   unter die Kit-Regel (7a) -> Farben dort.
   [!i: Kit "body button[class*=cookie] { padding:14px 24px !important; line-height:1 !important }"] */
html:not(#bt-gdf) body .bt-cookie-actions button,
html:not(#bt-gdf) body .bt-cookie-actions a {
    border-radius: 8px !important;
    padding: 13px 18px !important;
    font-family: var(--bt-gdf-font-mono) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    line-height: 1.2 !important;
}

/* Sekundaer = .bt-btn-secondary (transparent, Hairline, --bt-gdf-ink). */
html:not(#bt-gdf) .bt-cookie-secondary {
    background: transparent;
    color: var(--bt-gdf-ink);
    border: 1px solid var(--bt-gdf-line-strong);
}

html:not(#bt-gdf) .bt-cookie-secondary:hover {
    background: var(--bt-gdf-panel);
    border-color: var(--bt-gdf-soft);
    color: var(--bt-gdf-ink);
}

/* Schwebender "Cookies"-Button unten links (Kit macht ihn zum Mint-Button).
   [!i: Kit "padding:14px 24px !important"] */
html:not(#bt-gdf) #bt-cookie-reset {
    padding: 9px 14px !important;
    font-size: 11px !important;
}

/* --- 7c. Mobil: live ~60% des Viewports, Buttons untereinander
   (flex-direction:column, width:100%). Kompakter; Buttons nebeneinander,
   unter ca. 340px Viewport automatisch untereinander (flex-wrap). */
@media (max-width: 767px) {
    html:not(#bt-gdf) .bt-cookie-notice {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }

    html:not(#bt-gdf) .bt-cookie-panel {
        padding: 16px 16px 14px;
    }

    html:not(#bt-gdf) .bt-cookie-kicker {
        margin: 0 0 6px;
        font-size: 10px;
    }

    html:not(#bt-gdf) .bt-cookie-panel h2 {
        margin: 0 0 8px;
        font-size: 18px;
    }

    html:not(#bt-gdf) .bt-cookie-panel p {
        margin: 0 0 8px;
        font-size: 13px;
        line-height: 1.5;
    }

    html:not(#bt-gdf) .bt-cookie-panel .bt-cookie-muted {
        font-size: 12px;
    }

    /* Nebeneinander, wenn beide Buttons passen, sonst umbrechen.
       Breitenrechnung (Plex Mono 11px = 6,6px/Zeichen + 1px Letter-Spacing,
       Padding 2x10px, Rahmen 2px):
         "VERSTANDEN" (10 Z.)            ->  98px
         "DATENSCHUTZERKLAERUNG" (20 Z.) -> 174px  (ein Wort, unbrechbar)
         zusammen + 8px Gap              -> 280px
       Verfuegbare Innenbreite = Viewport - 24px (Notice-Rand) - 4px
       (Rahmen 1+3) - 32px (Panel-Padding):
         320px -> 260px: passt nicht -> Umbruch, beide Buttons volle Breite
         360px -> 300px: eine Zeile, 20px Rest werden verteilt
         390px -> 330px: eine Zeile, 50px Rest werden verteilt
       flex:1 1 auto + min-width:auto (Standard) = kein Button wird je
       schmaler als sein Text -> kein Clipping/Overflow. Frueher
       flex:1 1 0 + min-width:0 + nowrap: bei 320px lief
       "DATENSCHUTZERKLAERUNG" ueber den Button hinaus. */
    html:not(#bt-gdf) .bt-cookie-actions {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 12px;
    }

    /* [!i: Kit-Padding, s. o.] */
    html:not(#bt-gdf) body .bt-cookie-actions button,
    html:not(#bt-gdf) body .bt-cookie-actions a {
        flex: 1 1 auto;
        width: auto;
        padding: 12px 10px !important;
        font-size: 11px !important;
        text-align: center;
    }

    html:not(#bt-gdf) #bt-cookie-reset {
        left: 12px;
        bottom: 12px;
    }
}


/* =========================================================================
   8. PRODUKT-SPEC-BOX - "Doppelrahmen"
      Template 31476: Container .elementor-element-1a5e341 (3px solid
      #C4C7C8, radius 1px) umschliesst .bt-product-facts-box (1px
      rgba(255,255,255,.10)). Aussen auf Hairline, innen Rahmen weg.
   ========================================================================= */
html .elementor-31476 .elementor-element.elementor-element-1a5e341 {
    border: 1px solid var(--bt-gdf-line);
    --border-top-width: 1px;
    --border-right-width: 1px;
    --border-bottom-width: 1px;
    --border-left-width: 1px;
    --border-color: var(--bt-gdf-line);
    border-radius: 8px;
    --border-radius: 8px;
}

/* Quelle: ".elementor-31476 .elementor-element.elementor-element-21cb061
   { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.10) }"
   (0,3,0) -> hier (0,3,1) ueber die semantische Klasse statt der Widget-ID.
   Hintergrund ebenfalls weg, sonst doppelt geschichtetes .03-Weiss. */
html .elementor-31476 .elementor-element.bt-product-facts-box {
    border: 0;
    background: transparent;
}


/* =========================================================================
   8a. SEITE /faq/ (.bt-gdf-faq-scope, seit 2026-09-27; Seiten-ID im Loader)
   -------------------------------------------------------------------------
   Steht wie Abschnitt 10 bewusst VOR dem generierten Spiegel (Abschnitt 9).
   Elementor-Dokument 31957. Live gemessen (Headless-Chrome, 2026-09-27):
   - Sektion "Grundlagen zu Karnivoren-Substraten" = Container
     .elementor-element-15049fc mit background-color:#F9F9F9
     (post-31957.css, 0,4,0) -> H2 #f2f2f0 darauf unsichtbar.
   - "Die 3 Saeulen"-Box = H4 (Atomic-Klasse, #96ceff) + Icon-Liste
     .elementor-element-647354e (#E6E6E6, 0,3,0), Text #3a4f66.
   - Accordions (29x Elementor Nested Accordion): Frage-Titel #1f2124
     (Widget-Default --n-accordion-title-*-color) = dunkel auf dunkel, in
     System-Schrift; Rahmen #d5d8dc (--n-accordion-border-color).
     Antwort-Container erben #3a4f66 (Blocksy palette-3).
   Sektion/Box haben keine semantische Klasse -> Container-ID (wie
   Abschnitt 6). Wird die Sektion im Editor neu angelegt, greift die Regel
   nicht mehr; dann die Farben im Editor auf Globals setzen.
   Hero (Stockfoto-Banner, Arial-H1 .e-40f8a28-*, olivgruene H5) bewusst
   NICHT angefasst (eigener Redesign-Schritt).
   Seit dem Wegfall von .bt-gdf-exclude gelten hier auch 1a (gruener
   Akzent, Plex Sans als Body-Schrift) und 1d (h1-h3 Space Grotesk).
   ========================================================================= */

/* Helle Sektion -> Panel-Band mit Hairlines (hebt die Sektion wie vorher
   vom Seitengrund ab, jetzt im dunklen System). Quelle 0,4,0 -> 1,3,2. */
html:not(#bt-gdf) body.bt-gdf-faq-scope .elementor-element.elementor-element-15049fc {
    background-color: var(--bt-gdf-panel);
    border-top: 1px solid var(--bt-gdf-line);
    border-bottom: 1px solid var(--bt-gdf-line);
}

html:not(#bt-gdf) body.bt-gdf-faq-scope .elementor-element-15049fc h2 {
    color: var(--bt-gdf-ink);
    font-family: var(--bt-gdf-font-display);
}

html:not(#bt-gdf) body.bt-gdf-faq-scope .elementor-element-15049fc p {
    color: var(--bt-gdf-soft);
}

/* "Die 3 Saeulen": Kopf + Liste als eine dunkle Karte auf dem Panel-Band,
   gruene Oberkante als Akzent (statt #96ceff / #E6E6E6). */
html:not(#bt-gdf) body.bt-gdf-faq-scope .elementor-element-15049fc h4 {
    background-color: var(--bt-gdf-bg);
    color: var(--bt-gdf-ink);
    font-family: var(--bt-gdf-font-display);
    font-weight: 500;
    /* Quelle padding-inline:0 -> Text buendig mit der Liste (40px). */
    padding-inline: 40px;
    border: 1px solid var(--bt-gdf-line);
    border-top: 3px solid var(--bt-gdf-green);
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
}

html:not(#bt-gdf) body.bt-gdf-faq-scope .elementor-element-15049fc .elementor-widget-icon-list {
    background-color: var(--bt-gdf-bg);
    border: 1px solid var(--bt-gdf-line);
    border-top: 0;
    border-radius: 0 0 8px 8px;
}

html:not(#bt-gdf) body.bt-gdf-faq-scope .elementor-element-15049fc .elementor-icon-list-text {
    color: var(--bt-gdf-ink);
}

html:not(#bt-gdf) body.bt-gdf-faq-scope .elementor-element-15049fc .elementor-icon-list-icon svg {
    fill: var(--bt-gdf-green);
}

html:not(#bt-gdf) body.bt-gdf-faq-scope .elementor-element-15049fc .elementor-icon-list-icon i {
    color: var(--bt-gdf-green);
}

/* Kapitel-Ueberschriften ("1. Einleitung" ...): live Plex Sans 600 ->
   Display-Schrift wie alle Startseiten-Ueberschriften. */
html:not(#bt-gdf) body.bt-gdf-faq-scope .elementor-31957 h3.e-heading-base {
    color: var(--bt-gdf-ink);
    font-family: var(--bt-gdf-font-display);
    font-weight: 500;
}

/* Accordion: ueber die Widget-eigenen Variablen (Widget-Default 0,1,0;
   die Seiten-CSS setzt pro Widget nur Groessen, keine Farben). Bewusst
   OHNE :not(#bt-gdf), damit spaeter im Editor gesetzte Farben gewinnen. */
html body.bt-gdf-faq-scope .elementor-widget-n-accordion {
    --n-accordion-title-normal-color: var(--bt-gdf-ink);
    --n-accordion-title-hover-color: var(--bt-gdf-green);
    --n-accordion-title-active-color: var(--bt-gdf-ink);
    --n-accordion-icon-normal-color: var(--bt-gdf-soft);
    --n-accordion-icon-hover-color: var(--bt-gdf-green);
    --n-accordion-icon-active-color: var(--bt-gdf-green);
    --n-accordion-border-color: var(--bt-gdf-line);
}

/* Frage-Titel: live System-Schrift (erbte den Blocksy-Stack). */
html body.bt-gdf-faq-scope .elementor-widget-n-accordion .e-n-accordion-item-title {
    font-family: var(--bt-gdf-font-text);
    font-weight: 500;
}

/* Aufgeklappte Antwort: Text --bt-gdf-soft, Hervorhebungen/Links wie im
   Fliesstext der Startseite (.bt-body). */
html body.bt-gdf-faq-scope .elementor-widget-n-accordion .e-n-accordion-item > .e-con {
    color: var(--bt-gdf-soft);
    font-family: var(--bt-gdf-font-text);
}

html:not(#bt-gdf) body.bt-gdf-faq-scope .elementor-widget-n-accordion .e-n-accordion-item > .e-con :where(p, li) {
    color: var(--bt-gdf-soft);
}

html body.bt-gdf-faq-scope .elementor-widget-n-accordion .e-n-accordion-item > .e-con :where(strong, b) {
    color: var(--bt-gdf-ink);
}

html body.bt-gdf-faq-scope .elementor-widget-n-accordion .e-n-accordion-item > .e-con a {
    color: var(--bt-gdf-ink);
    text-decoration: underline;
    text-decoration-color: var(--bt-gdf-green);
    text-underline-offset: 3px;
}


/* =========================================================================
   8b. SEITE /diagnose/ (.bt-gdf-diagnose-scope, seit 2026-09-27)
   -------------------------------------------------------------------------
   Quelle: Plugin bt-wiki, Shortcode [btwiki_diagnosis]
   (includes/frontend/class-btwiki-shortcode.php -> render_diagnosis(),
   Template templates/shortcodes/diagnosis.php), per Elementor-Shortcode-
   Widget auf Seite 31052 eingebunden. Das Template gibt einen <style>-Block
   IM <body> aus (nach diesem Stylesheet) mit
       :root { --lab-bg:#fdfdfd; --lab-text-main:#0f172a; ... }
   und einfachen Klassen (.bt-diag-*, 0,1,0 bis 0,2,1, ohne !important).
   Farben werden deshalb ueber die plugin-eigenen --lab-*-Variablen
   umgebogen - nur auf dem Wurzel-Element .bt-diag-wrapper, nie auf :root
   (gleiches Muster wie --bt-accent in Abschnitt 2b; keine neuen
   oeffentlichen --bt-*-Tokens). Hart codierte Weisstoene (#fff, #f8fafc)
   und Radien werden direkt ueberschrieben.
   Der Diagnose-Status (--lab-accent-red: "Diagnostic_Probe // Signal_
   Ready", Scan-Linie, Karten-Akzent) bleibt ein Warnton, aber der des
   Systems (--bt-gdf-error statt Tailwind #f43f5e).
   ========================================================================= */
html body.bt-gdf-diagnose-scope .bt-diag-wrapper {
    --lab-bg: var(--bt-gdf-bg);
    --lab-surface: var(--bt-gdf-panel);
    --lab-text-main: var(--bt-gdf-ink);
    --lab-text-muted: var(--bt-gdf-soft);
    --lab-border: var(--bt-gdf-line);
    --lab-shadow: none;
    --lab-accent-red: var(--bt-gdf-error);
    --lab-accent-blue: var(--bt-gdf-green);
    --lab-accent-green: var(--bt-gdf-green);
    /* nur noch als Fokus-Ring des Eingabefelds genutzt -> Gruen */
    --lab-glow-red: rgba(107, 176, 121, 0.2);
    background-image: none;
    font-family: var(--bt-gdf-font-text);
    /* Quelle: min-height:80vh -> grosse Leerflaeche unter dem Formular. */
    min-height: 0;
}

html body.bt-gdf-diagnose-scope .bt-diag-console {
    backdrop-filter: none;
    border-radius: 8px;
}

/* Status-Zeile = .bt-eyebrow-Rezept (Plex Mono 500, 1,5px), Farbe Warnton. */
html body.bt-gdf-diagnose-scope .bt-diag-status {
    font-family: var(--bt-gdf-font-mono);
    font-weight: 500;
    letter-spacing: 1.5px;
}

/* H1 = .bt-heading (Space Grotesk 500) statt System-Schrift 900 uppercase. */
html body.bt-gdf-diagnose-scope .bt-diag-title {
    font-family: var(--bt-gdf-font-display);
    font-weight: 500;
    letter-spacing: -0.5px;
    text-transform: none;
}

/* Eingabefeld: dunkles Feld auf dem Panel, Hairline, gruener Fokus.
   Blocksy erzwingt height:40px - mit dem Quell-Padding 15px blieb kaum
   Innenhoehe; daher Hoehe/Padding neu (gleich hoch wie der Button).
   min-height: mobil (<600px) stapelt die Quelle per flex-direction:column,
   dort macht "flex:1" (Basis 0) die Hoehe sonst auf ~20px. */
html body.bt-gdf-diagnose-scope .bt-diag-search input {
    height: 48px;
    min-height: 48px;
    padding: 0 16px;
    background: var(--bt-gdf-bg);
    border: 1px solid var(--bt-gdf-line-strong);
    border-radius: 8px;
    color: var(--bt-gdf-ink);
    font-family: var(--bt-gdf-font-text);
    font-weight: 400;
    box-shadow: none;
}

html body.bt-gdf-diagnose-scope .bt-diag-search input::placeholder {
    color: var(--bt-gdf-muted);
    opacity: 1;
}

html body.bt-gdf-diagnose-scope .bt-diag-search input:focus {
    background: var(--bt-gdf-bg);
    border-color: var(--bt-gdf-green);
    box-shadow: 0 0 0 3px var(--lab-glow-red);
}

/* Button = Rezept aus 4a (.bt-btn-primary der Startseite). */
html body.bt-gdf-diagnose-scope .bt-diag-btn {
    min-height: 48px;
    padding: 0 24px;
    background: var(--bt-gdf-green);
    color: var(--bt-gdf-on-live);
    border: 1px solid var(--bt-gdf-green);
    border-radius: 8px;
    font-family: var(--bt-gdf-font-mono);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: none;
}

html body.bt-gdf-diagnose-scope .bt-diag-btn:hover {
    background: var(--bt-gdf-green-hover);
    border-color: var(--bt-gdf-green-hover);
    color: var(--bt-gdf-on-live);
    transform: none;
    box-shadow: none;
}

html body.bt-gdf-diagnose-scope .bt-diag-btn:focus-visible {
    outline: 2px solid var(--bt-gdf-ink);
    outline-offset: 2px;
}

/* Scan-Hinweis + Fusszeile: Farben kommen ueber --lab-*, die Schrift steht
   aber im style-Attribut ("font-family: monospace").
   [!i: Inline-style-Attribut im Template diagnosis.php] */
html body.bt-gdf-diagnose-scope .bt-diag-console > div[style],
html body.bt-gdf-diagnose-scope .bt-diag-container > footer {
    font-family: var(--bt-gdf-font-mono) !important;
}

/* Treffer-Karten + Leerzustand (nur nach einer Suche sichtbar):
   hart codiertes #fff -> Panel, Radien 18/24px -> 8px. */
html body.bt-gdf-diagnose-scope .bt-diag-card {
    background: var(--bt-gdf-panel);
    border-left-width: 3px;
    border-radius: 8px;
}

html body.bt-gdf-diagnose-scope .bt-card-meta,
html body.bt-gdf-diagnose-scope .bt-card-action {
    font-family: var(--bt-gdf-font-mono);
}

html body.bt-gdf-diagnose-scope .bt-card-action {
    font-weight: 500;
}

html body.bt-gdf-diagnose-scope .bt-card-title {
    font-family: var(--bt-gdf-font-display);
    font-weight: 500;
}

html body.bt-gdf-diagnose-scope .bt-diag-empty {
    background: var(--bt-gdf-panel);
    border: 1px dashed var(--bt-gdf-line-strong);
    border-radius: 8px;
}

/* Blocksy faerbt h3 mit palette-4 (#192a3d) - hier dunkel auf dunkel. */
html body.bt-gdf-diagnose-scope .bt-diag-empty h3 {
    color: var(--bt-gdf-ink);
    font-family: var(--bt-gdf-font-display);
    font-weight: 500;
}


/* =========================================================================
   10. BLOG-EINZELARTIKEL (.bt-gdf-blog-scope, seit 2026-09-27)
   -------------------------------------------------------------------------
   Steht bewusst VOR dem generierten Spiegel (Abschnitt 9), damit ein
   Neu-Generieren des Spiegels (bis Dateiende) diesen Block nicht erfasst.

   Klasse: nur is_single() && Post-Type "post" (PHP-Loader). Codex-Arten,
   Produkte und andere CPTs haben eigene Templates und bekommen sie nicht.
   Da Blog-Artikel nicht mehr in .bt-gdf-exclude sind, gelten dort jetzt
   auch 1a (gruener Akzent/Links, Plex Sans), 1d (h1-h3 Space Grotesk) und
   der Body-Font aus Abschnitt 1 - Blocksy-blaue Links werden dadurch gruen.

   Live-Befund (10 Artikel, Stand 2026-09-27), Template Blocksy
   data-prefix="single_blog_post", Inhalt in
       main#main > .ct-container-full > article.post > .entry-content
   (".entry-header .page-title" wird per <style id="blacktrap-hide-page-
   title"> ausgeblendet; die sichtbare H1 steht im Inhalt).
   - 8 Artikel: handgeschriebenes HTML (article.botany-article u. ae.) mit
     INLINE-Styles: helle Boxen section.abstract, nav.toc,
     section.winter-checklist, <footer> (Fazit) und ein <p> - Hintergruende
     #fafafa #f4f4f4 #fcfcfc #fdfdfd #fff #f9f9f9 #fff5f5 #f4f9f4 #f0f7ff
     #eef7ff; graue Rahmen #ddd/#eee/#ccc; Textfarben #555 (2,4:1),
     #2c3e50 (1,7:1), #c0392b (3,3:1, auf Panel 2,9:1), #2980b9.
     Inline-Styles schlagen jede Spezifitaet -> dort !important
     [!i: Inline-style-Attribut].
   - 2 Artikel mit Elementor (/codex-status/ = post-32671, bereits dunkel
     gestaltet; /substratqualitaet-.../ = post-30903, Text-Widgets #333333).
     Elementor-Widgets setzen Farben auf dem Widget-Wrapper, <p> erben ->
     darum KEINE "p { color }"-Regel (wuerde z. B. die gruenen Eyebrow-
     Texte in post-32671 grau machen); Fliesstext laeuft ueber Tokens.
   - Keine pre/code im Bestand, aber Blocksy gibt pre/code/kbd/samp den
     hellen palette-6-Hintergrund (#f2f5f7, main.min.css) - mit geerbtem
     --bt-gdf-soft waeren das 2,2:1 -> eigene Regel 10d.

   Kontrast (WCAG 2.x, relative Luminanz, gerechnet):
     auf --bt-gdf-bg #161618:    ink 16,1:1 | soft 7,6:1 | green 7,0:1 |
                                 error 6,6:1
     auf --bt-gdf-panel #212129: ink 14,3:1 | soft 6,8:1 | green 6,2:1 |
                                 error 5,8:1
     Tabellenkopf (inline #2c3e50, weiss, unveraendert): 11,0:1
   ========================================================================= */

/* --- 10a. Text-/Headline-Tokens wie 1c (Blocksy loest h1-h6 ueber
   --theme-headings-color, body ueber --theme-text-color, .entry-meta und
   Formular-Text ebenfalls ueber --theme-text-color auf). Gilt fuer die
   ganze Seite (auch Kommentarformular); Elementor-Widgets mit eigener
   Farbe bleiben unberuehrt. */
html body.bt-gdf-blog-scope {
    --theme-palette-color-3: var(--bt-gdf-soft);
    --theme-palette-color-4: var(--bt-gdf-ink);
    --theme-text-color: var(--bt-gdf-soft);
    --theme-headings-color: var(--bt-gdf-ink);
    --e-global-color-blocksy_palette_3: var(--bt-gdf-soft);
    --e-global-color-blocksy_palette_4: var(--bt-gdf-ink);
}

/* Linien im Inhalt: Blocksy loest diese Tokens auf :root auf (palette-5
   #e1e8ed = helle Linie auf dunklem Grund) -> hier direkt neu setzen.
   Wirkt auf hr (Hintergrund = --theme-form-field-border-initial-color)
   und Tabellen ohne Inline-Rahmen. */
html body.bt-gdf-blog-scope .entry-content {
    --theme-border-color: var(--bt-gdf-line);
    --theme-table-border-color: var(--bt-gdf-line);
    --theme-form-field-border-initial-color: var(--bt-gdf-line);
}

/* --- 10b. Headlines h4-h6 ebenfalls Space Grotesk (h1-h3 via 1d). Wie 1d
   nur ueber die Blocksy-Variable -> Klassen mit eigener font-family
   (Elementor-Widgets) bleiben unberuehrt. */
html body.bt-gdf-blog-scope .entry-content :where(h4, h5, h6) {
    --theme-font-family: var(--bt-gdf-font-display);
}

/* --- 10c. Helle Inline-Boxen (Zusammenfassung, Inhaltsverzeichnis,
   Fazit, Checklisten) -> Panel. Erfasst die bekannten Klassen UND jedes
   Element mit Inline-Hintergrund, damit neue handgeschriebene Artikel mit
   anderen Hellwerten mitgenommen werden. Ausgenommen: Tabellenzeilen/
   -zellen (dunkler Kopf #2c3e50 bleibt), Elementor-Inhalte und WP-Cover-
   Bloecke (gewollte Bild-/Overlay-Hintergruende). Nur background-COLOR;
   ein eventuelles Inline-background-image bleibt.
   [!i: Inline-style-Attribut] */
html body.bt-gdf-blog-scope .entry-content :is(.abstract, .toc, .winter-checklist, [style*="background"]):not(tr, th, td, .elementor-element, .elementor *, [class*="wp-block-cover"]) {
    background-color: var(--bt-gdf-panel) !important;
    color: var(--bt-gdf-soft) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

/* Hairline statt "kein Rahmen": nur bei Boxen OHNE eigenen border-
   Shorthand, als Ring (box-shadow), damit farbige Akzentkanten
   (border-left/-top) erhalten bleiben. Boxen mit eigenem border-Shorthand
   bekommen stattdessen die Linienfarbe (graue Rahmen, unten). */
html body.bt-gdf-blog-scope .entry-content :is(.abstract, .toc, .winter-checklist, [style*="background"]):not(tr, th, td, .elementor-element, .elementor *, [class*="wp-block-cover"]):not([style*="border:"]) {
    box-shadow: 0 0 0 1px var(--bt-gdf-line) !important;
}

/* Graue Inline-Rahmen (#ddd/#eee/#ccc: Boxen, FAQ-Trenner, Tabellen) ->
   Hairline. [!i: Inline-style-Attribut] */
html body.bt-gdf-blog-scope .entry-content :is([style*="solid #ddd"], [style*="solid #eee"], [style*="solid #ccc"]) {
    border-color: var(--bt-gdf-line) !important;
}

/* Farbige Akzentkanten auf die zwei Systemfarben: Navy #2c3e50 (auf
   Panel 1,5:1, praktisch unsichtbar), Blau #2980b9 und die Fremd-
   Gruentoene #27ae60/#2ecc71 -> --bt-gdf-green; Rot #c0392b ->
   --bt-gdf-error. border-color faerbt nur Seiten, die inline einen
   border-style haben. [!i: Inline-style-Attribut] */
html body.bt-gdf-blog-scope .entry-content :is([style*="solid #2c3e50"], [style*="solid #2980b9"], [style*="dashed #2980b9"], [style*="solid #27ae60"], [style*="solid #2ecc71"]) {
    border-color: var(--bt-gdf-green) !important;
}

html body.bt-gdf-blog-scope .entry-content [style*="solid #c0392b"] {
    border-color: var(--bt-gdf-error) !important;
}

/* Inline-Textfarben. Headlines mit Inline-Farbe (#2c3e50, #2980b9) ->
   ink; Rot (Warn-Headlines, ein Link) -> --bt-gdf-error (zwei Attribut-
   Selektoren = hoehere Spezifitaet als die ink-Regel); #555 (Meta-Zeilen,
   Bildunterschrift) -> soft. [!i: Inline-style-Attribut] */
html body.bt-gdf-blog-scope .entry-content :is(h1, h2, h3, h4, h5, h6)[style*="color"] {
    color: var(--bt-gdf-ink) !important;
}

html body.bt-gdf-blog-scope .entry-content [style*="color"]:is([style*="color: #c0392b"], [style*="color:#c0392b"]) {
    color: var(--bt-gdf-error) !important;
}

html body.bt-gdf-blog-scope .entry-content :is([style*="color: #555"], [style*="color:#555"]) {
    color: var(--bt-gdf-soft) !important;
}

/* --- 10d. Code (pre/code/kbd/samp). Blocksy: heller palette-6-Grund
   #f2f5f7 bei (0,0,1) -> hier Panel + ink + Plex Mono (0,1,2). Gilt fuer
   die ganze Seite (auch Kommentare). ink auf Panel 14,3:1. */
html body.bt-gdf-blog-scope :where(pre, code, kbd, samp) {
    background: var(--bt-gdf-panel);
    color: var(--bt-gdf-ink);
    font-family: var(--bt-gdf-font-mono);
}

html body.bt-gdf-blog-scope pre {
    border: 1px solid var(--bt-gdf-line);
    border-radius: 8px;
}

html body.bt-gdf-blog-scope pre code {
    background: transparent;
}

/* --- 10e. Elementor-Blogartikel /substratqualitaet-entscheidet-ueber-
   leben-und-tod/ (post-30903.css): Text-Editor-Widgets mit hart
   codiertem #333333 (1,4:1 auf #161618) -> soft. Gleiches Muster wie der
   Spiegel (Abschnitt 9): Originalselektor + "html " (0,3,1 > 0,3,0).
   Bei Aenderung im Editor diese Regel mit loeschen. */
html .elementor-30903 .elementor-element.elementor-element-25deda0,
html .elementor-30903 .elementor-element.elementor-element-07bbe50 {
    color: var(--bt-gdf-soft);
}


/* =========================================================================
   9. GENERIERTER SPIEGEL: Elementor-Seiten-/Template-CSS
   -------------------------------------------------------------------------
   Jede Regel unten ist die 1:1-Kopie eines live gefundenen Elementor-
   Selektors (uploads/elementor/css/post-*.css bzw. local-*-frontend-*.css),
   der #A9CFB8 / rgba(169,207,184,a) / #a9cfb8XX oder Georgia setzt - mit
   "html " davor (+0,0,1) und dem Precision-Wert:
       #A9CFB8              -> var(--bt-gdf-green)
       rgba(169,207,184,a)  -> rgba(107,176,121,a)
       Georgia              -> var(--bt-gdf-font-display)
   Wirkungsbereich = exakt der der Originalregel (gleiche Widget-IDs).
   !important steht nur dort, wo das Original es hat.
   Ausgenommen: Kit post-197 (Abschnitte 2a/4a/7a) und die globalen
   #comments-/.comment-author-Regeln aus post-32671 (Widget-Custom-CSS, das
   nur auf /codex-status/ laedt und die Kommentare dort bereits dunkel
   gestaltet; Blog-Artikel allgemein: Abschnitt 10).
   WARTUNG (wichtig): Die Spiegelregeln haben hoehere Spezifitaet als das
   Elementor-Original und GEWINNEN IMMER - auch gegen spaetere Aenderungen
   im Editor, und auch in der Editor-Vorschau (dieses Mu-Plugin laedt dort
   ebenfalls). Um die Farbe/Schrift eines gespiegelten Widgets zu aendern,
   ZUERST dessen Spiegelregel aus dieser Datei loeschen - sonst wird die
   Aenderung nicht sichtbar, auch nicht in der Editor-Vorschau.
   Neu angelegte Widgets (neue Widget-ID) sind vom Spiegel nicht erfasst:
   dort die Farbe im Editor auf die Globalvariable "bt-live" setzen.
   Der Spiegel ist bewusst eine Bruecke, bis die Seiten im Editor auf
   Globals umgestellt sind; dabei die jeweilige Spiegelregel mit loeschen.
   ========================================================================= */

/* --- Elementor document 103: Datenschutzerklaerung (/datenschutzerklaerung-black-trap/) (post-103.css) --- */
html .elementor-103 .elementor-element.elementor-element-855579f {
    color: var(--bt-gdf-green);
}
html .elementor-103 .elementor-element.elementor-element-05e2977 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-103 .elementor-element.elementor-element-55891b1 {
    color: var(--bt-gdf-green);
}
html .elementor-103 .elementor-element.elementor-element-0c2a098 {
    color: var(--bt-gdf-green);
}
html .elementor-103 .elementor-element.elementor-element-91017b9 {
    color: var(--bt-gdf-green);
}
html .elementor-103 .elementor-element.elementor-element-0d23d8e {
    color: var(--bt-gdf-green);
}
html .elementor-103 .elementor-element.elementor-element-dd0b962 {
    color: var(--bt-gdf-green);
}
html .elementor-103 .elementor-element.elementor-element-4f49986 {
    color: var(--bt-gdf-green);
}

/* --- Elementor document 141: Impressum (/impressum/) (post-141.css) --- */
html .elementor-141 .elementor-element.elementor-element-848142f {
    color: var(--bt-gdf-green);
}
html .elementor-141 .elementor-element.elementor-element-05b6db5 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-141 .elementor-element.elementor-element-8ec55d1 {
    border-color: var(--bt-gdf-green);
    --border-color: var(--bt-gdf-green);
}
html .elementor-141 .elementor-element.elementor-element-13ee221 {
    color: var(--bt-gdf-green);
}
html .elementor-141 .elementor-element.elementor-element-2549b55 {
    color: var(--bt-gdf-green);
}
html .elementor-141 .elementor-element.elementor-element-cfa79ef {
    color: var(--bt-gdf-green);
}
html .elementor-141 .elementor-element.elementor-element-89f2b17 {
    color: var(--bt-gdf-green);
}
html .elementor-141 .elementor-element.elementor-element-bf5d9b9 {
    color: var(--bt-gdf-green);
}
html .elementor-141 .elementor-element.elementor-element-f879848 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-141 .elementor-element.elementor-element-256aea7 {
    color: var(--bt-gdf-green);
}
html .elementor-141 .elementor-element.elementor-element-34011a6 {
    color: var(--bt-gdf-green);
}

/* --- Elementor document 144: Versand (/versand/) (local-144-frontend-desktop.css, post-144.css) --- */
html .elementor .e-6c6174b-84c1c6a {
    color: var(--bt-gdf-green);
}
html .elementor .e-6431438-326d4c6 {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-225b23b-2b42cd4 {
    color: var(--bt-gdf-green);
}
html .elementor .e-343d551-3d14efd {
    color: var(--bt-gdf-green);
}
html .elementor .e-a82c267-0ef3539 {
    color: var(--bt-gdf-green);
}
html .elementor .e-fbbbf66-5e30b86 {
    color: var(--bt-gdf-green);
}
html .elementor .e-5aaea41-9b5ed9c {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-c644e23-53804ad {
    color: var(--bt-gdf-green);
}
html .elementor .e-daac6fa-0ec0011 {
    color: var(--bt-gdf-green);
}
html .elementor .e-b1031c5-2b801df {
    color: var(--bt-gdf-green);
}
html .elementor .e-dbdbe88-4a7c25e {
    color: var(--bt-gdf-green);
}
html .elementor .e-57b6cf1-0fbbdc8 {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-4aeb9af-a734fc6 {
    color: var(--bt-gdf-green);
}
html .elementor .e-4439b3c-215b861 {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-43b2cd4-a74204a {
    color: var(--bt-gdf-green);
}
html .elementor .e-6dae277-89d5a6a {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-64874ed-bb61ae9 {
    color: var(--bt-gdf-green);
}
html .elementor .e-73a8659-ca87fb0 {
    color: var(--bt-gdf-green);
}
html .elementor .e-01dd92c-c81a1ed {
    color: var(--bt-gdf-green);
}
html .elementor .e-3e14659-b149304 {
    color: var(--bt-gdf-green);
}
html .elementor .e-ebbaed4-e289ddf {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-6cc8816-006d802 {
    color: var(--bt-gdf-green);
}
html .elementor .e-d8572f7-97cc056 {
    color: var(--bt-gdf-green);
}
html .elementor .e-4485b27-bf87796 {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-144 .elementor-element.elementor-element-6c98ece1 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}

/* --- Elementor document 30137: Cart/Checkout Elementor pages (/cart/, /checkout-2-2/) (post-30137.css) --- */
html .elementor-30137 .elementor-element.elementor-element-d1735a9 .button,
html .elementor-30137 .elementor-element.elementor-element-d1735a9 button,
html .elementor-30137 .elementor-element.elementor-element-d1735a9 .checkout-button,
html .elementor-30137 .elementor-element.elementor-element-d1735a9 a.checkout-button {
    background: var(--bt-gdf-green) !important;
    border: 1px solid var(--bt-gdf-green) !important;
}
html .elementor-30137 .elementor-element.elementor-element-d1735a9 a {
    color: var(--bt-gdf-green) !important;
}
html .elementor-30137 .elementor-element.elementor-element-d1735a9 .amount {
    color: var(--bt-gdf-green) !important;
}
html .elementor-30137 .elementor-element.elementor-element-d1735a9 .cart_totals h2 {
    font-family: var(--bt-gdf-font-display) !important;
}

/* --- Elementor document 30473: Mein Konto (/my-account-4/) (post-30473.css) --- */
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-MyAccount-navigation li.is-active a,
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-MyAccount-navigation a:hover {
    background: var(--bt-gdf-green) !important;
}
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-MyAccount-content h2,
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-MyAccount-content h3,
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-MyAccount-content legend {
    font-family: var(--bt-gdf-font-display) !important;
}
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-MyAccount-content a {
    color: var(--bt-gdf-green) !important;
}
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-MyAccount-content .button,
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-MyAccount-content a.button,
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-orders-table__cell-order-actions .button {
    background: var(--bt-gdf-green) !important;
    border: 1px solid var(--bt-gdf-green) !important;
}
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-info::before,
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-message::before,
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-error::before {
    color: var(--bt-gdf-green) !important;
}
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-info .button,
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-message .button,
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-error .button {
    background: var(--bt-gdf-green) !important;
    border: 1px solid var(--bt-gdf-green) !important;
}
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-MyAccount-content [class*="wfls"] button,
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-MyAccount-content [class*="wfls"] .button,
html .elementor-30473 .elementor-element.elementor-element-4b490e28 .woocommerce-MyAccount-content [class*="wfls"] input[type="button"] {
    color: var(--bt-gdf-green) !important;
    border: 1px solid var(--bt-gdf-green) !important;
}

/* --- Elementor document 30480: Kontakt (/contact-us/) (local-30480-frontend-desktop.css) --- */
html .elementor .e-e38c407-759d489 {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-ff9e8f4-0de8ffd {
    background-color: var(--bt-gdf-green);
}
html .elementor .e-70c146e-45c75f7 {
    color: var(--bt-gdf-green);
}
html .elementor .e-f02ca68-e5a7f79 {
    color: var(--bt-gdf-green);
}
html .elementor .e-6ee3fb0-1392eeb {
    color: var(--bt-gdf-green);
}

/* --- Elementor document 30665: About (/about-us-2/) (post-30665.css) --- */
html .elementor-30665 .elementor-element.elementor-element-d57bba5 {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-ae8a5c6 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30665 .elementor-element.elementor-element-c3cac70 {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-474e820 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30665 .elementor-element.elementor-element-011bce2 {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-cce8f01 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30665 .elementor-element.elementor-element-f835eeb {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-a678170 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30665 .elementor-element.elementor-element-1b97f60 {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-58c679a .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30665 .elementor-element.elementor-element-36618d7 {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-7394cae .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30665 .elementor-element.elementor-element-400c51f {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-0e8db5c .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30665 .elementor-element.elementor-element-27613e0 {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-32f414c .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30665 .elementor-element.elementor-element-10a65ff {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-4b47eae .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30665 .elementor-element.elementor-element-46de0da {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-f4a5b50 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30665 .elementor-element.elementor-element-726ba2b {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-c78238a .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30665 .elementor-element.elementor-element-b4c549a {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-8565a36 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30665 .elementor-element.elementor-element-471e72b {
    color: var(--bt-gdf-green);
}
html .elementor-30665 .elementor-element.elementor-element-580524d .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}

/* --- Elementor document 30971: AGB (/agballgemeine-geschaeftsbedingungen-agb-black-trap/) (post-30971.css) --- */
html .elementor-30971 .elementor-element.elementor-element-14d1174 {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-1dd5361 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30971 .elementor-element.elementor-element-9ea192c {
    border-color: var(--bt-gdf-green);
    --border-color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-2c75795 {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-f7fbf9d {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-22f5334 {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-ebe5ea7 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30971 .elementor-element.elementor-element-bcf7bce {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-85f7c3e .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30971 .elementor-element.elementor-element-e26f9cb {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-e3adb92 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30971 .elementor-element.elementor-element-32b3f7b {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-26fd73a .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30971 .elementor-element.elementor-element-185b782 {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-8810979 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30971 .elementor-element.elementor-element-1e31514 {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-e7dc8ab .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30971 .elementor-element.elementor-element-f198626 {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-c9ce0d0 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30971 .elementor-element.elementor-element-00d4e06 {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-c4b0975 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30971 .elementor-element.elementor-element-a978b46 {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-1004be3 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-30971 .elementor-element.elementor-element-b7040c7 {
    color: var(--bt-gdf-green);
}
html .elementor-30971 .elementor-element.elementor-element-cd27465 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}

/* --- Elementor document 31476: WooCommerce single-product template (all /produkt/... pages) (post-31476.css) --- */
html .elementor-31476 .elementor-element.elementor-element-ff2624b {
    color: var(--bt-gdf-green);
}
html .elementor-31476 .elementor-element.elementor-element-183f708 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-31476 .elementor-element.elementor-element-6099391 .product_title,
html .elementor-31476 .elementor-element.elementor-element-6099391 h1 {
    font-family: var(--bt-gdf-font-display) !important;
}
html .elementor-31476 .elementor-element.elementor-element-6099391 .price,
html .elementor-31476 .elementor-element.elementor-element-6099391 .woocommerce-Price-amount,
html .elementor-31476 .elementor-element.elementor-element-6099391 .amount {
    color: var(--bt-gdf-green) !important;
}
html .elementor-31476 .elementor-element.elementor-element-6099391 .bti-dynamic-stock {
    color: var(--bt-gdf-green) !important;
}
html .elementor-31476 .elementor-element.elementor-element-6099391 .bti-dynamic-stock .dashicons {
    color: var(--bt-gdf-green) !important;
}
html .elementor-31476 .elementor-element.elementor-element-6099391 form.cart .single_add_to_cart_button {
    background: var(--bt-gdf-green) !important;
    border: 1px solid var(--bt-gdf-green) !important;
}
html .elementor-31476 .elementor-element.elementor-element-6099391 .wc-block-mini-cart__button,
html .elementor-31476 .elementor-element.elementor-element-6099391 .wc-block-mini-cart__button:hover,
html .elementor-31476 .elementor-element.elementor-element-6099391 .wc-block-mini-cart__button:focus,
html .elementor-31476 .elementor-element.elementor-element-6099391 .ct-cart-item,
html .elementor-31476 .elementor-element.elementor-element-6099391 .ct-cart-item:hover,
html .elementor-31476 .elementor-element.elementor-element-6099391 a.cart-contents,
html .elementor-31476 .elementor-element.elementor-element-6099391 a.cart-contents:hover {
    background: var(--bt-gdf-green) !important;
    border-color: var(--bt-gdf-green) !important;
}
html .elementor-31476 .elementor-element.elementor-element-707186e h2,
html .elementor-31476 .elementor-element.elementor-element-707186e h3,
html .elementor-31476 .elementor-element.elementor-element-707186e h4 {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-31476 .elementor-element.elementor-element-707186e a {
    color: var(--bt-gdf-green);
}
html .elementor-31476 .elementor-element.elementor-element-7bfd6c0 .btl-quality-kicker {
    color: var(--bt-gdf-green);
}
html .elementor-31476 .elementor-element.elementor-element-7bfd6c0 .btl-quality-kicker::before {
    background: var(--bt-gdf-green);
}
html .elementor-31476 .elementor-element.elementor-element-7bfd6c0 .btl-quality-header h3 {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-31476 .elementor-element.elementor-element-7bfd6c0 .btl-quality-status {
    border-color: rgba(107, 176, 121, 0.35);
    background: rgba(107, 176, 121, 0.12);
    color: var(--bt-gdf-green);
}
html .elementor-31476 .elementor-element.elementor-element-7bfd6c0 .btl-quality-status::before {
    background: var(--bt-gdf-green);
}
html .elementor-31476 .elementor-element.elementor-element-7bfd6c0 .btl-quality-product span {
    background: rgba(107, 176, 121, 0.12) !important;
    color: var(--bt-gdf-green) !important;
}
html .elementor-31476 .elementor-element.elementor-element-7bfd6c0 .btl-quality-card-flag {
    background: rgba(107, 176, 121, 0.12) !important;
    color: var(--bt-gdf-green) !important;
}
html .elementor-31476 .elementor-element.elementor-element-7bfd6c0 .btl-quality-card::after {
    background: var(--bt-gdf-green) !important;
}
html .elementor-31476 .elementor-element.elementor-element-7bfd6c0 .btl-quality-documents a,
html .elementor-31476 .elementor-element.elementor-element-7bfd6c0 .btl-download-list a {
    color: var(--bt-gdf-green) !important;
}
html .elementor-31476 .elementor-element.elementor-element-86a74fa h2 {
    font-family: var(--bt-gdf-font-display) !important;
}
html .elementor-31476 .elementor-element.elementor-element-86a74fa ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--bt-gdf-font-display) !important;
}
html .elementor-31476 .elementor-element.elementor-element-86a74fa ul.products li.product .price {
    color: var(--bt-gdf-green) !important;
}
html .elementor-31476 .elementor-element.elementor-element-86a74fa ul.products li.product:hover {
    border-color: rgba(107, 176, 121, 0.45) !important;
}
html .elementor-31476 .elementor-element.elementor-element-86a74fa ul.products li.product:hover .woocommerce-loop-product__title {
    color: var(--bt-gdf-green) !important;
}
html .elementor-31476 .elementor-element.elementor-element-86a74fa ul.products li.product .wc-gzd-additional-info a,
html .elementor-31476 .elementor-element.elementor-element-86a74fa ul.products li.product .legal-price-info a,
html .elementor-31476 .elementor-element.elementor-element-86a74fa ul.products li.product .shipping-costs-info a {
    color: var(--bt-gdf-green) !important;
}
html .elementor-31476 .elementor-element.elementor-element-bb3f2c1 .bt-info-card-label {
    color: var(--bt-gdf-green);
}
html .elementor-31476 .elementor-element.elementor-element-bb3f2c1 .bt-info-card h4 {
    font-family: var(--bt-gdf-font-display);
}

/* --- Elementor document 31537: WooCommerce product-archive template (/products/, all /produkt-kategorie/... pages) (local-31537-frontend-desktop.css, post-31537.css) --- */
html .elementor .e-10024d2-210b72f {
    background-color: var(--bt-gdf-green);
}
html .elementor .e-dcb5e6b-b433f64 {
    background-color: rgba(107, 176, 121, 0);
}
html .elementor .e-8a706d7-a538743 {
    background-color: rgba(107, 176, 121, 0);
}
html .elementor .e-1fa75bc-27e1e62 {
    background-color: rgba(107, 176, 121, 0);
}
html .elementor .e-19d9a1e-8ca6f34 {
    background-color: rgba(107, 176, 121, 0);
}
html .elementor .e-4b6b4d5-5479c8e {
    background-color: rgba(107, 176, 121, 0);
}
html .elementor .e-9e7a77d-399d0a8 {
    background-color: rgba(107, 176, 121, 0);
}
html .elementor .e-6eca6a0-c2a9af7 {
    background-color: rgba(107, 176, 121, 0);
}
html .elementor .e-1ada5bb-594e8ca {
    background-color: rgba(107, 176, 121, 0);
}
html .elementor .e-7906ec9-396e2be {
    background-color: rgba(107, 176, 121, 0);
}
html .elementor .e-aac76ce-7a49f82 {
    background-color: rgba(107, 176, 121, 0);
}
html .elementor .e-cf10c56-4e50f4d {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-31537 .elementor-element.elementor-element-f2fe17b .elementor-heading-title {
    color: var(--bt-gdf-green);
}
html .elementor-31537 .elementor-element.elementor-element-680fee6 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-31537 .elementor-element.elementor-element-56c3fb1 {
    color: var(--bt-gdf-green);
}
html .elementor-31537 .elementor-element.elementor-element-6dd1cb5 .elementor-button {
    background-color: var(--bt-gdf-green);
}
html .elementor-31537 .elementor-element.elementor-element-e411720 ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-31537 .elementor-element.elementor-element-e411720 ul.products li.product .price {
    color: var(--bt-gdf-green);
}
html .elementor-31537 .elementor-element.elementor-element-e411720 ul.products li.product .wc-gzd-additional-info a,
html .elementor-31537 .elementor-element.elementor-element-e411720 ul.products li.product .legal-price-info a,
html .elementor-31537 .elementor-element.elementor-element-e411720 ul.products li.product .shipping-costs-info a {
    color: var(--bt-gdf-green);
}
html .elementor-31537 .elementor-element.elementor-element-e411720 ul.products li.product:hover {
    border-color: rgba(107, 176, 121, 0.45);
}
html .elementor-31537 .elementor-element.elementor-element-e411720 ul.products li.product:hover .woocommerce-loop-product__title {
    color: var(--bt-gdf-green);
}
html .elementor-31537 .elementor-element.elementor-element-e411720 .woocommerce-pagination span.current,
html .elementor-31537 .elementor-element.elementor-element-e411720 .page-numbers.current,
html .elementor-31537 .elementor-element.elementor-element-e411720 span.page-numbers.current {
    background: var(--bt-gdf-green) !important;
    border-color: var(--bt-gdf-green) !important;
}

/* --- Elementor document 31651: Barrierefreiheit (/barrierefreiheit/) (local-31651-frontend-desktop.css) --- */
html .elementor .e-867f628-1425a0a {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-1b5ee42-15fe50f {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-1c85487-b05ac9c {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-5dbab2d-582954f {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-dc0700f-c47cb4d {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-76f9457-7f25820 {
    font-family: var(--bt-gdf-font-display);
}
html .elementor .e-d90ac3a-3dbe892 {
    color: var(--bt-gdf-green);
}
html .elementor .e-5c08f0d-ddd12eb {
    font-family: var(--bt-gdf-font-display);
}

/* --- Elementor document 31823: Vertrag widerrufen (/vertrag-widerrufen/) (post-31823.css) --- */
html .elementor-31823 .elementor-element.elementor-element-9b31021 {
    color: var(--bt-gdf-green);
}
html .elementor-31823 .elementor-element.elementor-element-6f750ae7 select option:checked,
html .elementor-31823 .elementor-element.elementor-element-6f750ae7 select option:hover,
html .elementor-31823 .elementor-element.elementor-element-6f750ae7 select option:focus {
    background-color: var(--bt-gdf-green) !important;
}
html .elementor-31823 .elementor-element.elementor-element-6f750ae7 .select2-results__option--highlighted {
    background: var(--bt-gdf-green) !important;
}
html .elementor-31823 .elementor-element.elementor-element-49641dce input:focus,
html .elementor-31823 .elementor-element.elementor-element-49641dce select:focus,
html .elementor-31823 .elementor-element.elementor-element-49641dce textarea:focus {
    border-color: var(--bt-gdf-green) !important;
    box-shadow: 0 0 0 1px rgba(107, 176, 121, 0.35) !important;
}
html .elementor-31823 .elementor-element.elementor-element-49641dce .button,
html .elementor-31823 .elementor-element.elementor-element-49641dce button,
html .elementor-31823 .elementor-element.elementor-element-49641dce input[type="submit"] {
    background: var(--bt-gdf-green) !important;
    border: 1px solid var(--bt-gdf-green) !important;
}
html .elementor-31823 .elementor-element.elementor-element-49641dce a {
    color: var(--bt-gdf-green) !important;
}

/* --- Elementor document 32009: Legacy page /https-blacktrap-de/ (post-32009.css) --- */
html .elementor-32009 .elementor-element.elementor-element-5f76ad9 {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-7511455 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-bdfd7a0 .elementor-button {
    background-color: var(--bt-gdf-green);
    border-color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-a6f13e4 {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-2f8d61a .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-1ba4769 .elementor-button {
    fill: var(--bt-gdf-green);
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-9dbfae1 .elementor-button {
    fill: var(--bt-gdf-green);
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-66be34d .elementor-button {
    fill: var(--bt-gdf-green);
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-dcb4d16 {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-adcd58c .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-8f847bf {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-97ea792 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-00b8207 {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-5ae61d8 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-04d0d59 {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-6b9e07b .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-0de068c {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-0b60d1e {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-3067dc2 {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-efe44c0 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-c752e36 {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-c86bf7d .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-755a4cb {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-a89df9a .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-bb130ee .elementor-icon-list-icon i {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-bb130ee .elementor-icon-list-icon svg {
    fill: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-caf9b29 {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-6393582 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-efe5e5e {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-5061b6f .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-b395e48 .elementor-button {
    fill: var(--bt-gdf-green);
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-61862b2 {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-c0460e7 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-49cd4fa .elementor-button {
    fill: var(--bt-gdf-green);
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-08830b1 {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-fb899cb .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-4952d25 .elementor-button {
    fill: var(--bt-gdf-green);
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-78dadb5 {
    color: var(--bt-gdf-green);
}
html .elementor-32009 .elementor-element.elementor-element-efd05af .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32009 .elementor-element.elementor-element-b658201 .elementor-button {
    background-color: var(--bt-gdf-green);
}

/* --- Elementor document 32085: Global header template (every page) (post-32085.css) --- */
html .elementor-32085 .elementor-element.elementor-element-46fa3ba .elementor-nav-menu--main .elementor-item:hover,
html .elementor-32085 .elementor-element.elementor-element-46fa3ba .elementor-nav-menu--main .elementor-item.elementor-item-active,
html .elementor-32085 .elementor-element.elementor-element-46fa3ba .elementor-nav-menu--main .elementor-item.highlighted,
html .elementor-32085 .elementor-element.elementor-element-46fa3ba .elementor-nav-menu--main .elementor-item:focus {
    color: var(--bt-gdf-green);
    fill: var(--bt-gdf-green);
}
html .elementor-32085 .elementor-element.elementor-element-46fa3ba .elementor-nav-menu--main .elementor-item.elementor-item-active {
    color: var(--bt-gdf-green);
}
html .elementor-32085 .elementor-element.elementor-element-46fa3ba .elementor-nav-menu--dropdown a:hover,
html .elementor-32085 .elementor-element.elementor-element-46fa3ba .elementor-nav-menu--dropdown a:focus,
html .elementor-32085 .elementor-element.elementor-element-46fa3ba .elementor-nav-menu--dropdown a.elementor-item-active,
html .elementor-32085 .elementor-element.elementor-element-46fa3ba .elementor-nav-menu--dropdown a.highlighted,
html .elementor-32085 .elementor-element.elementor-element-46fa3ba .elementor-menu-toggle:hover,
html .elementor-32085 .elementor-element.elementor-element-46fa3ba .elementor-menu-toggle:focus {
    color: var(--bt-gdf-green);
}

/* --- Elementor document 32671: /codex-status/ (Elementor page, NOT Codex-plugin output) (post-32671.css) --- */
html .elementor-32671 .elementor-element.elementor-element-5910f93 {
    color: var(--bt-gdf-green);
}
html .elementor-32671 .elementor-element.elementor-element-28e7162 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32671 .elementor-element.elementor-element-8452590 {
    color: var(--bt-gdf-green);
}
html .elementor-32671 .elementor-element.elementor-element-6e370c1 {
    color: var(--bt-gdf-green);
}
html .elementor-32671 .elementor-element.elementor-element-a69b848 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32671 .elementor-element.elementor-element-cc17316 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32671 .elementor-element.elementor-element-4111465 {
    color: var(--bt-gdf-green);
}
html .elementor-32671 .elementor-element.elementor-element-ed5ad5a .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32671 .elementor-element.elementor-element-907301f .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32671 .elementor-element.elementor-element-551b3372 {
    color: var(--bt-gdf-green);
}
html .elementor-32671 .elementor-element.elementor-element-158ad3f5 .elementor-heading-title {
    font-family: var(--bt-gdf-font-display);
}
html .elementor-32671 .elementor-element.elementor-element-2db8f00 {
    color: var(--bt-gdf-green);
}
html .elementor-32671 .elementor-element.elementor-element-806b979 {
    color: var(--bt-gdf-green);
}
html .elementor-32671 .elementor-element.elementor-element-57d6edd .elementor-progress-wrapper .elementor-progress-bar {
    background-color: var(--bt-gdf-green);
}
html .elementor-32671 .elementor-element.elementor-element-3560e78 .elementor-progress-wrapper .elementor-progress-bar {
    background-color: var(--bt-gdf-green);
}
html .elementor-32671 .elementor-element.elementor-element-99b2654 .elementor-progress-wrapper .elementor-progress-bar {
    background-color: var(--bt-gdf-green);
}
html .elementor-32671 .elementor-element.elementor-element-42f8bc9 .elementor-icon-list-icon i {
    color: var(--bt-gdf-green);
}
html .elementor-32671 .elementor-element.elementor-element-42f8bc9 .elementor-icon-list-icon svg {
    fill: var(--bt-gdf-green);
}
