/* Дизайн-система ЦРК: шрифты (ТЗ § 3.3) и цвета-токены (§ 3.1). Общий файл для страниц покупателя и управления оплатой.
   В компонентах — только var(--…); литеральные цвета допускаются лишь здесь. */

/* --- Шрифты: локальные woff2, кириллица и латиница; знак ₽ — отдельным крошечным файлом (его нет в этих подмножествах) --- */
@font-face { font-family: "PT Serif"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/pt-serif-cyrillic-700-normal.0c5cf5874944.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "PT Serif"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/pt-serif-latin-700-normal.cd87c62c9c9c.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: "PT Serif"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/pt-serif-rub-700-normal.fd725fb25546.woff2") format("woff2"); unicode-range: U+20BD; }

@font-face { font-family: "PT Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/pt-sans-cyrillic-400-normal.f2664d403038.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "PT Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/pt-sans-latin-400-normal.3f66ddcf744f.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: "PT Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/pt-sans-rub-400-normal.89b909d1fd19.woff2") format("woff2"); unicode-range: U+20BD; }
@font-face { font-family: "PT Sans"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/pt-sans-cyrillic-700-normal.5e1ae1c98141.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "PT Sans"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/pt-sans-latin-700-normal.35e5705c45cf.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: "PT Sans"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/pt-sans-rub-700-normal.11b33de7b08d.woff2") format("woff2"); unicode-range: U+20BD; }

@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/jetbrains-mono-cyrillic-400-normal.82462194ebb6.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/jetbrains-mono-latin-400-normal.caf0dfde4e44.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: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/jetbrains-mono-rub-400-normal.996a178a07e3.woff2") format("woff2"); unicode-range: U+20BD; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/jetbrains-mono-cyrillic-500-normal.af752ba91433.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/jetbrains-mono-latin-500-normal.a21e038a03f7.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: "JetBrains Mono"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/jetbrains-mono-rub-500-normal.c2a2f31aaafd.woff2") format("woff2"); unicode-range: U+20BD; }

/* --- Палитра: светлая тема (по умолчанию, настройка ОС не учитывается) --- */
:root {
  --bg: #FFFFFF;        --mist: #EEF3F8;      --surface: #FFFFFF;   --ink: #10233F;       --muted: #566377;
  --line: #D6DFEA;      --band: #0D2A52;      --on-band: #DCE6F2;   --foot: #10233F;      --on-foot: #B9C6D8;
  --blue: #1560A8;      --link: #1560A8;      --btn-fg: #FFFFFF;    --green: #1E9A5A;     --yel: #FFC425;
  --teal: #12857F;      --navy: #0D2A52;      --graphite: #3A4656;  --orbit: #C3D0DF;     --chip: #E5EEF8;
  --soon: #E1F3E8;      --soon-fg: #13703F;

  /* Производные — из ТЗ, но не в таблице § 3.1 */
  --on-yel: #10233F;      /* текст и иконка на жёлтой плашке (§ 3.1, правило для --yel) */
  --mark-bg: #FFFFFF;     /* белая подложка товарного знака — обязательна в обеих темах (§ 3.6) */

  /* Решения для сервиса оплаты, которых нет в ТЗ, — согласовать по макету Figma */
  --accent: var(--blue);      /* акцент поддомена оплаты (линия 3px под шапкой); в § 8.2 ТЗ для оплаты не задан */
  --label: var(--soon-fg);    /* надзаголовки: --green на белом даёт 3,6:1 при норме 4,5:1 для текста 12–13px */
  --field-line: var(--muted); /* рамка полей ввода: --line даёт 1,35:1 при норме 3:1 для границ элементов управления */
  --danger: #B42318;          /* ошибки: в палитре ТЗ нет цвета ошибки */

  --font-serif: "PT Serif", Georgia, serif;
  --font-sans: "PT Sans", Arial, sans-serif;
  --font-mono: "JetBrains Mono", monospace;
  color-scheme: light;
}

/* --- Тёмная тема: data-mode="dark" на <html> ставит crc-ui.js до первой отрисовки --- */
:root[data-mode="dark"] {
  --bg: #0A1628;        --mist: #0E213C;      --surface: #11284A;   --ink: #E6EDF6;       --muted: #9AABC2;
  --line: #24446F;      --band: #06101F;      --on-band: #C9D6E7;   --foot: #06101F;      --on-foot: #93A5BD;
  --blue: #4A95E0;      --link: #7DB6EE;      --btn-fg: #04162A;    --green: #33C27A;     --yel: #FFC425;
  --teal: #2EB8AE;      --navy: #A9C2E2;      --graphite: #C5CFDB;  --orbit: #24446F;     --chip: #17345C;
  --soon: #143A28;      --soon-fg: #5FD89A;

  --label: var(--green);      /* в тёмной теме --green на фоне даёт 6,4–7,9:1 */
  --danger: #FF8A80;
  color-scheme: dark;
}

/* Плавная смена темы за 0,25 с — только в момент переключения (класс ставит crc-ui.js; при reduced motion не ставит) */
.theme-switching, .theme-switching *, .theme-switching *::before, .theme-switching *::after {
  transition: background-color .25s ease, color .25s ease, border-color .25s ease, fill .25s ease, stroke .25s ease !important;
}
