/*
 * Дизайн-токены (Фаза 4). Значения зафиксированы прогоном craft/emil-design-eng/
 * apple-design/accessibility перед написанием CSS — см. REFACTORING_PLAN.md, Фаза 4.
 * Контраст пересчитан по WCAG 2.1 формуле относительной яркости, а не подобран на глаз —
 * именно пропуск этого шага дал в прежней версии #9ca3af (2.54:1).
 */
:root {
  /* нейтрали одной температуры (zinc), без чистого чёрного/белого — craft R7 */
  --bg: #fafafa;
  --surface: #ffffff;
  --border: #e4e4e7; /* декоративный hairline: карточки, разделители списка */
  --border-strong: #94949c; /* функциональная граница (поле ввода) — 3.01:1 на --surface, WCAG 1.4.11 */
  --text: #18181b; /* 17.7:1 на --surface */
  --text-muted: #52525b; /* 7.7:1 */
  --text-subtle: #71717a; /* 4.8:1 — минимум для второстепенного текста, замена #9ca3af (2.54:1) */

  --accent: #2563eb; /* 5.2:1 на --surface; тот же контраст у белого текста на --accent */
  --accent-hover: #1d4ed8; /* 6.7:1 у белого текста на себе */
  --danger: #dc2626; /* 4.8:1 */
  --success: #15803d; /* 5.0:1 — заменяет #16a34a (3.3:1, не проходил AA для текста) */

  /* Подложки под цветной текст. Заведены токенами после ревью M3: обе пары
     жили хардкодом мимо tokens.css (#e0eaff у бейджа, #fef2f2 у баннера
     ошибки), поэтому пересчёт контраста Фазы 4 их просто не увидел — и
     #2563eb на #e0eaff давал 4.28:1 при норме 4.5:1 для текста 13px. */
  --accent-soft: #e0eaff; /* фон бейджа */
  --band: #f2f4f8; /* подложка первого экрана: та же нейтраль, уведённая в холод к акценту */
  --accent-on-soft: #1d4ed8; /* 5.6:1 на --accent-soft */
  --danger-soft: #fef2f2; /* фон баннера ошибки */
  --danger-on-soft: #b91c1c; /* 5.9:1 на --danger-soft; сам --danger даёт 4.41:1 */

  /* шаг 4px — craft R8 */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-6: 24px;
  --s-8: 32px;
  --s-12: 48px;
  --s-16: 64px;

  /* типографская шкала — craft R9 (5 шагов + отдельное hero-число цены) */
  --t-xs: 13px;
  --t-sm: 15px;
  --t-md: 17px;
  --t-lg: 21px;
  --t-xl: 26px; /* второстепенный заголовок (success/oferta) — не hero, поэтому без clamp */
  --t-display: clamp(28px, 5vw, 44px);
  --t-price: clamp(36px, 8vw, 48px);

  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 20px;

  /* motion — emil-design-eng: сильные кривые вместо встроенных */
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --d-fast: 120ms;
  --d-base: 160ms;
  --d-slow: 220ms;

  /* z-index — craft R6, один слоящийся элемент на сайте: cookie-баннер */
  --z-banner: 10;
}
