/* =====================================================================
   TOKENS (v5 „Канал“): всички цветове, шрифтове, размери и движения са тук.
   Цветовете са петте от бранда „Сигнал“. Шрифтове: Russo One (заглавия) + Rubik (текст, избран 12.11.2026).
   ===================================================================== */
:root {
  /* Colours (brand-guide.md, section 2) */
  --navy:  #0A1A3F;   /* Нощен сигнал: main background */
  --blue:  #2557D6;   /* ПГТК синьо: screens, lockers, buttons */
  --air:   #EAF0FB;   /* Ефир: light sections */
  --white: #FFFFFF;
  --sig:   #8DB2FF;   /* Светъл сигнал: accent only (8.1:1 on navy) */

  /* Fonts (both render-checked in Bulgarian under lang="bg", 12.11.2026) */
  --f-display: "Russo One", "Rubik", system-ui, sans-serif;
  --f-text: "Rubik", system-ui, sans-serif;
  --w-text: 400; --w-label: 600; --w-bold: 800;

  /* Type scale (7 sizes) */
  --fs-s:    0.875rem;
  --fs-body: clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
  --fs-lead: clamp(1.125rem, 1rem + 0.6vw, 1.5rem);
  --fs-h3:   clamp(1.375rem, 1.2rem + 0.8vw, 1.875rem);
  --fs-h2:   clamp(2rem, 1.4rem + 2.8vw, 3.75rem);
  --fs-h1:   clamp(2.75rem, 1.6rem + 5vw, 6.25rem);
  --fs-tv:   clamp(2.25rem, 0.75rem + 7cqi, 5.5rem);  /* big word in a channel's lower third, sized to the TV, not the window */
  --fs-wordmark: clamp(2.25rem, 0.25rem + 10.5vw, 13rem); /* footer wordmark: "Ученически" fits at 320 px */

  /* Spacing (4/8 scale) */
  --s1: 0.25rem; --s2: 0.5rem; --s3: 0.75rem; --s4: 1rem; --s5: 1.5rem;
  --s6: 2rem; --s7: 3rem; --s8: 4rem; --s9: 6rem; --s10: 8rem;
  --gutter: clamp(1rem, 0.4rem + 3vw, 4rem);
  --maxw: 90rem;

  /* Radii: 3 + pill */
  --r-s: 8px; --r-m: 16px; --r-l: 32px; --r-pill: 999px;

  /* Hard offset shadows, no blur (2) */
  --hard-sig: 0 6px 0 var(--sig);
  --hard-tv: 12px 12px 0 var(--sig);

  /* TV scanlines (navy at 16 %) */
  --scanline: rgba(10, 26, 63, .16);

  /* Lines */
  --line: 2px; --line-thick: 4px;

  /* Motion */
  --ease: cubic-bezier(.22, 1, .36, 1);
  --spring: cubic-bezier(.34, 1.56, .64, 1);
  --t-ui: 200ms; --t-move: 600ms; --t-door: 750ms;

  --head-h: 6.5rem;   /* sticky header height on phones (2 rows); anchors scroll below it */
}
@media (min-width: 64rem) {
  :root { --head-h: 4.5rem; }
}
