/* Шрифт Golos Text (SIL Open Font License, см. /fonts/OFL-LICENSE.txt), размещён локально. */
@font-face { font-family: 'Golos Text'; font-style: normal; font-display: swap; font-weight: 400; src: url(/fonts/golos-text-cyrillic-400-normal.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-display: swap; font-weight: 500; src: url(/fonts/golos-text-cyrillic-500-normal.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-display: swap; font-weight: 600; src: url(/fonts/golos-text-cyrillic-600-normal.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-display: swap; font-weight: 700; src: url(/fonts/golos-text-cyrillic-700-normal.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-display: swap; font-weight: 400; src: url(/fonts/golos-text-cyrillic-ext-400-normal.woff2) format('woff2'); unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-display: swap; font-weight: 600; src: url(/fonts/golos-text-cyrillic-ext-600-normal.woff2) format('woff2'); unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-display: swap; font-weight: 400; src: url(/fonts/golos-text-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-display: swap; font-weight: 500; src: url(/fonts/golos-text-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-display: swap; font-weight: 600; src: url(/fonts/golos-text-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-display: swap; font-weight: 700; src: url(/fonts/golos-text-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* Дизайн-токены. Единые для сайта, мини-приложения и кабинета. */
:root {
  color-scheme: light;

  /* Нейтральные */
  --c-bg: #f3f3ef;
  --c-bg-deep: #e9e9e3;
  --c-surface: #ffffff;
  --c-surface-2: #f8f8f5;
  --c-text: #1a1e26;
  --c-text-2: #474d59;
  --c-text-3: #5f6673;
  --c-line: #dcddd7;
  --c-line-strong: #c4c6bf;
  --c-input-border: #858b96;   /* ≥3:1 к белому */

  /* Основной — глубокий синий */
  --c-primary: #1b3f8b;
  --c-primary-hover: #15326f;
  --c-primary-active: #0f2756;
  --c-primary-soft: #e8edf7;
  --c-primary-soft-2: #d4ddef;
  --c-on-primary: #ffffff;

  /* Состояния */
  --c-success: #1b6b44;
  --c-success-soft: #e3f1e8;
  --c-danger: #b0261d;
  --c-danger-soft: #fbecea;
  --c-danger-tint: #fffafa;
  --c-warning: #6f4b00;
  --c-warning-soft: #fdf1d3;
  --c-warning-line: #e2c171;

  /* Цвета флага Республики Дагестан — только тонкая полоса-подпись */
  --c-flag-green: #1f8a4c;
  --c-flag-blue: #1d5fb4;
  --c-flag-red: #c4162a;

  --focus-ring: 0 0 0 3px #ffffff, 0 0 0 6px #1b3f8b;

  /* Типографика */
  --font: 'Golos Text', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --fs-xs: 0.8125rem;   /* 13 */
  --fs-sm: 0.9375rem;   /* 15 */
  --fs-md: 1.0625rem;   /* 17 — основной текст публичной части */
  --fs-lg: 1.25rem;     /* 20 */
  --fs-xl: 1.625rem;    /* 26 */
  --fs-2xl: clamp(1.875rem, 1.25rem + 2.6vw, 2.875rem); /* 30 → 46 */
  --lh-tight: 1.15;
  --lh-snug: 1.3;
  --lh: 1.55;
  --measure: 62ch;

  /* Отступы */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-7: 32px;
  --s-8: 40px;
  --s-9: 56px;
  --s-10: 72px;

  /* Формы и поверхности */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --control-h: 52px;
  --control-h-sm: 40px;
  --tap: 44px;
  --shadow-pop: 0 10px 30px rgba(20, 28, 45, 0.14), 0 2px 6px rgba(20, 28, 45, 0.08);

  --dur: 160ms;
  --ease: cubic-bezier(0.2, 0, 0, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur: 0ms; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
