/* ============================================================
   SPD Ortsverein Börger — Design Tokens
   Farben, Typografie, Abstände, Effekte. Basis für style.css.
   Quelle: SPD-Design-System (CD-Manual 2024).
   ============================================================ */

/* ---- Fonts ----
   SPD TheSans is self-hosted (woff2/ttf under assets/fonts, preloaded in the HTML head)
   — no external font requests, so no user data is sent to a third-party font CDN. */

@font-face {
  font-family: "SPD TheSans";
  src: url("../fonts/SPD_TheSans_Regular.woff2") format("woff2"),
       url("../fonts/SPD_TheSans_Regular.ttf") format("truetype");
  font-weight: 300 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "SPD TheSans";
  src: url("../fonts/SPD_TheSans_ExtraBold.woff2") format("woff2"),
       url("../fonts/SPD_TheSans_ExtraBold.ttf") format("truetype");
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: light;

  /* ---- Colors: SPD-Rot (CMYK 0/100/100/0 · RGB 227/0/15 · HKS 14 · Pantone 485 C) ---- */
  --spd-red: #e3000f;
  --red-50:  #fdeaeb;
  --red-100: #fbccce;
  --red-200: #f599a0;
  --red-300: #ef5660;
  --red-400: #ec2630;
  --red-500: #e3000f;
  --red-600: #c50010;
  --red-700: #a4000d;
  --red-800: #7d000a;
  --red-900: #520007;

  --black: #000000;
  --white: #ffffff;

  --gray-50:  #f6f6f7;
  --gray-100: #ececee;
  --gray-200: #dcdce0;
  --gray-300: #c2c2c8;
  --gray-400: #9a9aa3;
  --gray-500: #71717a;
  --gray-600: #52525b;
  --gray-700: #3a3a42;
  --gray-800: #232329;
  --gray-900: #131316;

  --color-brand: var(--spd-red);
  --color-brand-hover: var(--red-600);
  --color-brand-press: var(--red-700);

  --surface-page: var(--white);
  --surface-sunken: var(--gray-50);

  --text-strong: var(--black);
  --text-body: var(--gray-800);
  --text-muted: var(--gray-500);
  --text-link: var(--spd-red);

  --border-subtle: var(--gray-200);
  --border-default: var(--gray-300);

  /* ---- Typography ---- */
  --font-sans: "SPD TheSans", "Calibri", "Helvetica Neue", Arial, sans-serif;
  --font-versal: "SPD TheSans", Arial, sans-serif; /* Versal-Schnitt nicht lizenziert verfügbar — Fallback: ExtraBold + Versalien */

  --fw-regular: 400;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  --leading-tight: 1.05;
  --leading-normal: 1.5;
  --tracking-tight: -0.02em;
  --tracking-caps: 0.06em;

  /* ---- Spacing / radii ---- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  --container-lg: 1200px;
  --container-md: 860px;
  --container-sm: 720px;

  /* ---- Effects ---- */
  --shadow-card: 0 2px 10px rgba(0, 0, 0, 0.08);
  --shadow-card-hover: 0 10px 32px rgba(0, 0, 0, 0.16);
  --duration-fast: 150ms;
  --duration-base: 200ms;
}
