/* ============================================================
   AB Industrie Service — Typography tokens
   One family does it all: Montserrat. Headlines are Bold (700, h1/h2) and
   SemiBold (600, h3/h4); body is Regular (400) at relaxed leading. German
   copy runs long, so line-heights stay generous and headings balance-wrap.
   Ethnocentric (--font-wordmark) is reserved for the logo/wordmark only.
   ============================================================ */
:root {
  /* Hausschrift für ALLE Shop-Texte: Fließtext, Headlines, Buttons (§4.1) */
  --font-sans: 'Montserrat', 'Open Sans', -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  /* Headlines nutzen dieselbe Familie, schwerere Schnitte */
  --font-display: 'Montserrat', 'Open Sans', -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  /* Display/Wortmarke — Ethnocentric NUR für Logo-Schriftzug, Wortmarken-
     Anwendungen und Hero-Banner mit Wortmarken-Charakter (§4.2). Niemals
     für Fließtext-Headlines oder Body. */
  --font-wordmark: 'Ethnocentric', 'Montserrat', 'Arial Narrow', sans-serif;

  /* ---- Weights ---- */
  --fw-thin:      100; /* @kind font */
  --fw-light:     300; /* @kind font */
  --fw-regular:   400; /* @kind font */
  --fw-medium:    500; /* @kind font */
  --fw-semibold:  600; /* @kind font */
  --fw-bold:      700; /* @kind font */
  --fw-extrabold: 800; /* @kind font */

  /* ---- Type scale (1.250 major-third-ish, tuned) ---- */
  --fs-2xs:  0.6875rem; /* 11px — legal / labels */
  --fs-xs:   0.75rem;   /* 12px */
  --fs-sm:   0.875rem;  /* 14px */
  --fs-base: 1rem;      /* 16px — body */
  --fs-md:   1.125rem;  /* 18px — lead body */
  --fs-lg:   1.375rem;  /* 22px */
  --fs-xl:   1.75rem;   /* 28px */
  --fs-2xl:  2.25rem;   /* 36px */
  --fs-3xl:  3rem;      /* 48px */
  --fs-4xl:  3.75rem;   /* 60px */
  --fs-5xl:  4.75rem;   /* 76px — hero */

  /* ---- Line heights ---- */
  --lh-tight:   1.05; /* @kind font */
  --lh-snug:    1.18; /* @kind font */
  --lh-heading: 1.1; /* @kind font */
  --lh-normal:  1.5; /* @kind font */
  --lh-relaxed: 1.65; /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-tighter: -0.03em; /* @kind font */
  --ls-tight:   -0.015em; /* @kind font */
  --ls-normal:  0; /* @kind font */
  --ls-wide:    0.04em; /* @kind font */
  --ls-label:   0.12em;  /* @kind font */
  --ls-caps:    0.18em;  /* @kind font */

  /* ---- Semantic roles ---- */
  --text-eyebrow-size: var(--fs-xs);
  --text-eyebrow-weight: var(--fw-bold);
  --text-eyebrow-spacing: var(--ls-label);

  --text-h1-weight: var(--fw-bold);
  --text-h2-weight: var(--fw-bold);
  --text-h3-weight: var(--fw-semibold);
  --text-body-weight: var(--fw-regular);
  --text-lead-weight: var(--fw-regular);
}
