/* ============================================================================
   NOVAchild · ZENTRALE BRAND-/CORPORATE-DESIGN-STEUERUNG  ·  ROTHLER (07.09.2026)
   ----------------------------------------------------------------------------
   White-Label Farb-Token-System. ALLE Markenfarben werden hier zentral gesetzt;
   custom.css, checkout-premium.css und checkout-onepage.css referenzieren
   ausschließlich diese Tokens über var(--token). In den CSS-Dateien gibt es
   KEINE hartkodierten Markenfarben mehr.

   >>> FÜR EINEN NEUEN SHOP: NUR DIESE DATEI + custom/brand_config.tpl ÄNDERN. <<<

   Diese Datei wird in layout/header.tpl als ERSTES Stylesheet geladen, damit
   alle nachfolgenden CSS-Dateien die Tokens kennen.

   Jedes Token ist mit den Flächen beschriftet, die es steuert – so ist sofort
   sichtbar, was sich beim Ändern verändert.
   ============================================================================ */

:root {

  /* ==========================================================================
     1) BRAND CORE  –  die tragenden Markenfarben (steuern die gesamte UI)
     ========================================================================== */

  /* PRIMÄRFARBE der Marke.
     Steuert: Primär-/CTA-Buttons, „In den Warenkorb" (ATC), roter Haupt-Header,
     Links, Preis-Highlight, aktive Variante, Checkout-Primärbutton, Akzentlinien. */
  /* rothler-Blau, Stufe 600 der Skala (Live-Blau #147bcb = Stufe 500 schafft auf Weiss nur 4,4:1,
     600 = 5,6:1 -> WCAG AA fuer weisse Button-Schrift). Skala: BRANDKIT-ROTHLER.md */
  --brand-primary:        #116bb0;

  /* Gleiche Farbe als RGB-Tripel – für halbtransparente Schatten/Glow/Focus via rgba().
     WICHTIG: bei Farbwechsel synchron zu --brand-primary anpassen. */
  --brand-primary-rgb:    17, 107, 176;

  /* HOVER / ACTIVE.
     Steuert: Hover- und Aktiv-Zustände ALLER Buttons (inkl. ATC + Checkout),
     Link-Hover, gedrückte Zustände. */
  --brand-primary-dark:   #0e548b;   /* Stufe 700, 7,9:1 */

  /* Tiefste Abstufung – für Verläufe und tiefe Schatten. */
  --brand-primary-deep:   #0a3e66;   /* Stufe 800 */

  /* Textfarbe AUF der Brandfarbe (weiße Schrift/Icon auf rotem Button). */
  --brand-on-primary:     #ffffff;

  /* Sekundärer Marken-Akzent (edles Gold/Beige, z. B. Versand-Hinweis Mobile). */
  --brand-accent:         #147bcb;   /* rothler Live-Blau (Stufe 500) fuer Links/Icons/Akzente */


  /* ==========================================================================
     2) TOPBAR  –  dunkle obere Promo-/Trust-Leiste
     ========================================================================== */

  /* Hintergrundfarbe der oberen dunklen Topbar (#header-top-bar / .dh-topbar). */
  --brand-topbar-bg:      #072a46;   /* Stufe 900, weisser Text 14,7:1 */

  /* Gleiche Farbe als RGB-Tripel (für rgba-Overlays auf der Topbar). */
  --brand-topbar-rgb:     7, 42, 70;

  /* Textfarbe in der Topbar. */
  --brand-topbar-text:    #ffffff;


  /* ==========================================================================
     3) STATUS / SEMANTIK
     ========================================================================== */

  /* Positiv / „auf Lager" / „Kostenloser Versand" / sichere Zahlung (grün-teal). */
  --brand-success:        #1c871e;   /* rothler Live-Gruen, 4,6:1 */

  /* Highlight-Akzent.
     Steuert: Warenkorb-Zähler-Badge, aktive Checkbox/Radio, Hinweis-Badges.
     Auf die Markenfarbe (Rot) gesetzt. Für ein Gold-Badge stattdessen:
       --brand-highlight: #f8bf00; --brand-highlight-rgb: 248,191,0; --brand-on-highlight: #525252; */
  --brand-highlight:      var(--brand-primary);
  --brand-highlight-rgb:  var(--brand-primary-rgb);   /* für Focus-Ring rgba() */
  --brand-on-highlight:   #ffffff;                    /* weiße Zahl/Text auf rotem Badge */

  /* Helle Marken-Tints – für Rahmen/Hintergründe von ausgewählten/aktiven/Info-
     Elementen (leiten sich aus der Primärfarbe ab, immer dezent rot statt blau). */
  --brand-tint-soft:      rgba(var(--brand-primary-rgb), .10);
  --brand-tint:           rgba(var(--brand-primary-rgb), .20);
  --brand-tint-strong:    rgba(var(--brand-primary-rgb), .32);


  /* ==========================================================================
     4) NEUTRALE PALETTE  (Text & Flächen)
     Markenneutral – in der Regel unverändert lassen, pro Shop optional anpassbar.
     ========================================================================== */
  --color-text:           #0a1628;   /* rothler Live-Dunkel, 17,4:1 */
  --color-text-muted:     #525252;   /* rothler Live-Grau, 7,8:1 */
  --color-text-soft:      #666666;   /* 5,7:1 auf Weiss, 5,3:1 auf Flaeche */
  --color-line:           #ebebeb;   /* rothler Live */
  --color-surface:        #ffffff;   /* Kartenflächen */
  --color-surface-soft:   #f5f7fa;   /* rothler Live */

  /* === TYPOGRAFIE (markenweit) =========================================
     Display = Überschriften/Menü/Buttons, Body = Fließtext/UI.
     @font-face steht unten in dieser Datei (selbst gehostet, fonts/*.woff2). Für neuen Shop hier tauschen. */
  --font-display: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;        /* rothler 09.09.2026: Option 3 (Enes) – Ueberschriften, Menue, Preise, Buttons */
  --font-body:    'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;  /* Fliesstext, Titel, UI; selbst gehostet in fonts/ (kein Google-Aufruf, LG Muenchen 2022) */


  /* ==========================================================================
     5) EIGENE FARBEN ERGÄNZEN
     Hier können pro Shop zusätzliche Marken-/Akzentfarben definiert und in
     custom.css über var(--mein-token) verwendet werden. Beispiel:
       --brand-secondary:   #2f7d46;
       --brand-special:     #ffd166;
     ========================================================================== */


  /* ==========================================================================
     6) VORLAGE: NEUEN SHOP UMFÄRBEN
     Für einen kompletten Rebrand genügt es, die folgenden Kernwerte zu ersetzen –
     Buttons, ATC, Hover, Links, Header, Topbar, Checkout folgen automatisch.

       Beispiel „grüne Marke":
         --brand-primary:      #1f7a3d;
         --brand-primary-rgb:  31, 122, 61;
         --brand-primary-dark: #18632f;
         --brand-primary-deep: #124c24;
         --brand-accent:       #e0a423;
         --brand-topbar-bg:    #0c1f14;
         --brand-topbar-rgb:   12, 31, 20;
     ========================================================================== */
}

/* --- Blau-Skala (BRANDGUIDE.md) als Tokens: bisher nur als Fallbacks in den Modulen, jetzt zentral --- */
:root {
  --blue-50: #f2f8fd; --blue-100: #e0effa; --blue-200: #bcdcf5; --blue-300: #7dbff2; --blue-400: #3c9fec;
  --blue-500: #147bcb; --blue-600: #116bb0; --blue-700: #0e548b; --blue-800: #0a3e66; --blue-900: #072a46; --blue-950: #04192a;
  --focus-ring: #147bcb;
}

/* === SCHRIFTDATEIEN (selbst gehostet, Variable Fonts, latin + latin-ext) ==================
   Manrope 200–800 = Display, IBM Plex Sans 400–700 = Body. Quelle: Google Fonts v23 (WOFF2),
   abgelegt unter templates/NOVAchild/fonts/. font-display: swap -> Text sofort mit System-Schrift,
   Webfont tauscht nach. Preload der beiden latin-Dateien in layout/header.tpl. */
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap; src: url('../fonts/manrope-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap; src: url('../fonts/manrope-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../fonts/ibm-plex-sans-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../fonts/ibm-plex-sans-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
