/* =========================================================
   H&S Service GmbH – Design Tokens
   Nutzfahrzeuge-Zentrum Niesky
   Alle Werte als CSS Custom Properties. Einzige Quelle der
   Wahrheit für Farbe, Typografie, Abstand, Radius, Schatten.
   ========================================================= */

:root {
  /* ---------- Marke ---------- */
  --hs-red:        #E31E24;  /* aus dem Logo entnommen        */
  --hs-ink:        #2B2A29;  /* Anthrazit aus dem Logo        */

  /* ---------- Rot-Skala ---------- */
  --red-50:   #FEF2F2;
  --red-100:  #FDE0E1;
  --red-200:  #F9BCBE;
  --red-500:  #E31E24;   /* Markenrot – Flächen, Buttons      */
  --red-600:  #CC1319;   /* Hover                             */
  --red-700:  #A80F14;   /* Text auf Weiß (Kontrast 7.4:1)    */
  --red-800:  #7E0B0F;   /* Active / Gradient-Ende            */

  /* ---------- Anthrazit / Neutral ---------- */
  --ink-900:  #15181B;   /* Footer, sehr dunkle Bänder        */
  --ink-800:  #23272B;   /* Header, dunkle Sektionen          */
  --ink-700:  #2B2A29;   /* Markenanthrazit, Fließtext dunkel */
  --ink-600:  #3C444C;   /* Überschriften                     */
  --ink-500:  #55606B;   /* Fließtext                         */
  --ink-400:  #7B8791;   /* Sekundärtext, Captions            */
  --ink-300:  #B6BEC6;   /* Deaktiviert, Icons auf Hell       */
  --ink-200:  #DDE2E7;   /* Rahmen, Trennlinien               */
  --ink-100:  #EDF0F3;   /* Flächen, Tabellenzeilen           */
  --ink-50:   #F6F8FA;   /* Sektionshintergrund hell          */
  --white:    #FFFFFF;

  /* ---------- Status ---------- */
  --success:  #1E7A3C;
  --warning:  #B8720A;
  --danger:   var(--red-700);
  --info:     #14618C;

  /* ---------- Semantische Rollen ---------- */
  --bg:              var(--white);
  --bg-muted:        var(--ink-50);
  --bg-inverse:      var(--ink-800);
  --text:            var(--ink-500);
  --text-strong:     var(--ink-700);
  --text-heading:    var(--ink-600);
  --text-inverse:    var(--white);
  --text-muted:      var(--ink-400);
  --link:            var(--red-700);
  --link-hover:      var(--red-800);
  --border:          var(--ink-200);
  --focus-ring:      var(--red-500);

  /* ---------- Typografie ---------- */
  /* Roboto (wie Lück) mit System-Fallback. Lokal hosten – kein
     Google-Fonts-CDN (DSGVO).                                  */
  --font-sans: "Roboto", "Helvetica Neue", Arial, "Segoe UI", system-ui, sans-serif;
  --font-cond: "Roboto Condensed", "Roboto", Arial Narrow, Arial, sans-serif;

  --fs-xs:    0.8125rem;  /* 13px – Captions, Label            */
  --fs-sm:    0.9375rem;  /* 15px – Kleintext, Meta            */
  --fs-base:  1.0625rem;  /* 17px – Fließtext                  */
  --fs-lg:    1.1875rem;  /* 19px – Lead, Intro                */
  --fs-h4:    1.25rem;    /* 20px                              */
  --fs-h3:    1.5rem;     /* 24px – Karten-Überschrift         */
  --fs-h2:    2rem;       /* 32px – Sektionstitel              */
  --fs-h1:    2.75rem;    /* 44px – Seitentitel                */
  --fs-hero:  3.25rem;    /* 52px – Hero (fluid, s. unten)     */

  --lh-tight:  1.15;
  --lh-snug:   1.3;
  --lh-base:   1.65;

  --fw-regular: 400;
  --fw-medium:  500;
  --fw-bold:    700;
  --fw-black:   900;   /* Sektionstitel, Hero – kräftig wie bei den Vorbildern */

  --tracking-wide: 0.08em;  /* Überschrift-Kicker, Buttons      */

  /* ---------- Abstände (4px-Raster) ---------- */
  --sp-1:  0.25rem;  --sp-2:  0.5rem;   --sp-3:  0.75rem;
  --sp-4:  1rem;     --sp-5:  1.5rem;   --sp-6:  2rem;
  --sp-7:  2.5rem;   --sp-8:  3rem;     --sp-9:  4rem;
  --sp-10: 5rem;     --sp-11: 6rem;     --sp-12: 8rem;

  --section-y: clamp(3rem, 7vw, 6rem);   /* vertikaler Sektionsrhythmus */

  /* ---------- Layout ---------- */
  --container:     1200px;
  --container-narrow: 760px;  /* Lesetexte, Beiträge             */
  --gutter:        clamp(1rem, 4vw, 2.5rem);
  --header-h:      88px;

  /* ---------- Radius ---------- */
  --r-sm:  3px;
  --r-md:  6px;
  --r-lg:  10px;
  --r-pill: 999px;

  /* ---------- Schatten ---------- */
  --shadow-sm: 0 1px 2px rgba(21,24,27,.08), 0 1px 3px rgba(21,24,27,.06);
  --shadow-md: 0 4px 10px rgba(21,24,27,.08), 0 2px 4px rgba(21,24,27,.06);
  --shadow-lg: 0 14px 34px rgba(21,24,27,.14);

  /* ---------- Bewegung ---------- */
  --t-fast: 120ms ease;
  --t-base: 200ms ease;

  /* ---------- Z-Index ---------- */
  --z-header: 100;
  --z-dropdown: 200;
  --z-overlay: 900;
  --z-modal: 1000;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
