/* Дизайн-токены. Значения перекрываются из site.config.js в src/core/theme.js. */

:root {
  /* Цвета — задаются темой бренда */
  --accent: #fed027;
  --accent-ink: #000;
  --accent-soft: rgb(254 208 39 / 0.14);
  --bg: #0b0b0c;
  --surface: #151517;
  --surface-2: #1e1e21;
  --ink: #f4f4f5;
  --ink-muted: #a1a1a6;
  --line: #2a2a2e;

  --green: #34d399;
  --red: #f87171;
  /* Рейтинг узнаётся по золотой звезде — цвет не подстраивается под бренд */
  --star: #ffb400;

  /* Радиусы */
  --r-sm: 12px;
  --r-md: 16px;
  --r-lg: 22px;
  --r-xl: 30px;
  --r-full: 999px;

  /* Тени и стекло */
  --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.3);
  --shadow-md: 0 8px 24px -8px rgb(0 0 0 / 0.5);
  --shadow-lg: 0 24px 60px -20px rgb(0 0 0 / 0.65);
  --glass: color-mix(in srgb, var(--bg) 72%, transparent);

  /* Типографика — текучая шкала */
  --font: 'Inter Tight', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --t-display: clamp(2.4rem, 1.4rem + 4.4vw, 5rem);
  --t-h1: clamp(1.9rem, 1.3rem + 2.6vw, 3.2rem);
  --t-h2: clamp(1.4rem, 1.1rem + 1.4vw, 2.1rem);
  --t-h3: clamp(1.1rem, 1rem + 0.6vw, 1.4rem);
  --t-body: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
  --t-sm: 0.875rem;
  --t-xs: 0.78rem;

  /* Ритм */
  --gap: clamp(0.75rem, 0.5rem + 1vw, 1.25rem);
  --section: clamp(2.5rem, 1.5rem + 4vw, 5rem);
  --pad: clamp(1rem, 0.6rem + 1.6vw, 2rem);
  --container: 1240px;

  /* Слои */
  --z-header: 40;
  --z-bar: 45;
  --z-modal: 60;
  --z-toast: 70;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dur: 260ms;
}

:root[data-scheme='light'] {
  --bg: #fbfbfa;
  --surface: #fff;
  --surface-2: #f3f3f1;
  --ink: #121214;
  --ink-muted: #6b6b72;
  --line: #e6e6e3;
  --glass: color-mix(in srgb, #fff 76%, transparent);
  --shadow-md: 0 8px 24px -12px rgb(0 0 0 / 0.18);
  --shadow-lg: 0 24px 60px -24px rgb(0 0 0 / 0.22);
}

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