/* ════════════════════════════════════════════════════════════════════════
   Habitat — system typografii (self-hosted, zero CDN przy renderze).
   Switzer (variable, Fontshare/ITF, licencja FFL w fonts/FFL.txt): neo-grotesk
   o precyzji w duchu Teenage Engineering. Jedna rodzina na cały serwis,
   plik variable pokrywa wagi 100..900 oraz polskie znaki (ą ć ę ł ń ó ś ź ż).

   FONT-BOOK HABITAT (role i wagi):
     400  body, dłuższe teksty, wielkie nazwy produktów / hero (display)
     500  nawigacja, UI, duże nagłówki sekcji, przyciski w zdaniowej typografii
     600  ceny, ważne dane (tabular-nums), micro-labels uppercase, akcenty
          ORAZ uppercase micro-CTA 11-13px (ZAPŁAĆ/DODAJ/ZAMÓW/KONFIGURUJ):
          w 500 na odwróconym tle traciły kreskę na monitorach 1x (aliasing)
   Wag 300 i 700 NIE używamy (bold semantyczny = 600, reguła b/strong niżej).
   Wyjątek: flow.html trzyma własne, strojone wagi z osi (560..760).

   Ścieżka url() jest względna do tego pliku, więc działa i dla /modules/*.
   ════════════════════════════════════════════════════════════════════════ */

@font-face {
  font-family: "Switzer";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/switzer-variable.woff2") format("woff2");
}

/* Fallback dopasowany metrycznie do Switzera (formuła jak w next/font,
   policzony z realnych szerokości glifów). Trzyma layout w miejscu zanim
   Switzer doładuje -> brak skoku (CLS). */
@font-face {
  font-family: "Switzer Fallback";
  src: local("Arial");
  ascent-override: 97.30%;
  descent-override: 24.82%;
  line-gap-override: 8.94%;
  size-adjust: 100.72%;
}

:root {
  --font-sans: "Switzer", "Switzer Fallback", "Helvetica Neue", Arial, system-ui, sans-serif;

  /* skala modularna (ratio ~1.25) */
  --fs-100: 0.80rem;   /* caption */
  --fs-200: 0.90rem;   /* small */
  --fs-300: 1.00rem;   /* body */
  --fs-400: 1.25rem;
  --fs-500: 1.563rem;
  --fs-600: 1.953rem;
  --fs-700: 2.441rem;
  --fs-800: 3.052rem;  /* display */
  --fs-900: 3.815rem;  /* hero */

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 600;      /* maks. waga font-booka (bez 700) */

  --lh-tight: 1.05;    /* duże nagłówki */
  --lh-snug: 1.15;
  --lh-body: 1.55;     /* tekst */

  --track-tight: -0.04em;    /* duże nagłówki sekcji */
  --track-display: -0.055em; /* wielkie nazwy / hero display */
  --track-normal: -0.005em;  /* body */
  --track-label: 0.04em;     /* etykiety / wersaliki */
}

/* Rdzeń font-booka, dziedziczony przez cały serwis:
   1) jedna rodzina wszędzie — formularze/przyciski nie spadają na font UA,
   2) semantyczny bold renderuje 600 (wagi 700 nie używamy). */
html, body, button, input, select, textarea { font-family: var(--font-sans); }
b, strong { font-weight: 600; }
