/* ==========================================================
   NOMER-SVOBODEN PREMIUM DESIGN TOKENS
   Единая визуальная система для всех публичных страниц.
   ========================================================== */

:root {
  /* Brand palette */
  --color-primary: #075f67;
  --color-primary-rgb: 7, 95, 103;
  --color-primary-hover: #04484f;
  --color-primary-strong: #033b41;
  --color-primary-soft: #eaf5f3;
  --color-primary-softer: #f3f9f8;

  --color-accent: #ff654a;
  --color-accent-rgb: 255, 101, 74;
  --color-accent-hover: #e9533c;
  --color-accent-soft: #fff0ec;

  /* Gold is reserved for paid and premium states only */
  --color-premium: #c89b35;
  --color-premium-hover: #aa7c1f;
  --color-premium-soft: #fff7df;

  /* Surfaces */
  --color-background: #f7f4ef;
  --color-surface: #ffffff;
  --color-surface-muted: #f3f0ea;
  --color-surface-tint: #f6faf9;
  --color-border: #dde6e3;
  --color-border-strong: #c8d7d3;

  /* Text */
  --color-text-primary: #153236;
  --color-text-secondary: #536b6e;
  --color-text-muted: #78898b;
  --color-text-inverse: #ffffff;
  --color-success: #19725f;
  --color-danger: #c9493a;
  --color-warning: #b47d16;

  /* Typography */
  --font-heading: Georgia, "Times New Roman", serif;
  --font-body: Inter, "Helvetica Neue", Arial, sans-serif;
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-md: 16px;
  --font-size-lg: 18px;

  /* Spacing */
  --space-2xs: 4px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 72px;

  /* Radius */
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-pill: 999px;

  /* Shadows */
  --shadow-xs: 0 2px 8px rgba(18, 53, 57, .05);
  --shadow-sm: 0 10px 30px rgba(18, 53, 57, .08);
  --shadow-md: 0 20px 54px rgba(18, 53, 57, .11);
  --shadow-lg: 0 30px 82px rgba(18, 53, 57, .15);
  --shadow-focus: 0 0 0 4px rgba(255, 101, 74, .22);

  /* Motion */
  --transition-fast: 140ms ease;
  --transition-moderate: 220ms ease;
  --transition-slow: 360ms ease;

  /* Layout */
  --container-max: 1240px;
  --content-readable: 760px;
  --header-height: 80px;
  --breakpoint-m: 768px;
}

/* Compatibility bridge with older theme layers */
:root {
  --ns-blue: var(--color-primary);
  --ns-blue-dark: var(--color-primary-hover);
  --ns-blue-600: var(--color-primary-hover);
  --ns-blue-soft: var(--color-primary-soft);
  --ns-bg: var(--color-background);
  --ns-card: var(--color-surface);
  --ns-border: var(--color-border);
  --ns-text: var(--color-text-primary);
  --ns-muted: var(--color-text-secondary);
  --ns-radius: var(--radius-md);
  --ns-shadow: var(--shadow-md);

  --nsv-teal: var(--color-primary);
  --nsv-teal-dark: var(--color-primary-hover);
  --nsv-coral: var(--color-accent);
  --nsv-coral-dark: var(--color-accent-hover);
  --nsv-ink: var(--color-text-primary);
  --nsv-muted: var(--color-text-secondary);
  --nsv-sand: var(--color-background);
  --nsv-cream: #fbf8f3;
  --nsv-line: var(--color-border);
  --nsv-white: var(--color-surface);
}
