/* ============================================================
   Travel Engagement OS — Design Tokens (v1)
   Переиспользуемая дизайн-система. Только custom properties.
   ============================================================ */
:root {
  /* --- Palette: brand --- */
  --brand-50:  #eef4ff;
  --brand-100: #dbe7ff;
  --brand-200: #bcd0ff;
  --brand-300: #92aeff;
  --brand-400: #6284fb;
  --brand-500: #3f5ff5;   /* primary */
  --brand-600: #2b45db;
  --brand-700: #2236b0;
  --brand-800: #1f318c;
  --brand-900: #1e2e70;

  /* --- Accent: sunset / travel --- */
  --accent-400: #ffb454;
  --accent-500: #ff9a2e;   /* secondary CTA */
  --accent-600: #f07f08;

  /* --- Support --- */
  --teal-500: #12b3a8;
  --violet-500: #7c4dff;
  --pink-500: #ff5d8f;

  /* --- Neutrals --- */
  --ink-900: #0b1020;
  --ink-800: #141a2e;
  --ink-700: #232a44;
  --ink-600: #3a4262;
  --ink-500: #5a6285;
  --ink-400: #8a90ad;
  --ink-300: #b9bed2;
  --ink-200: #dde1ee;
  --ink-100: #eef0f7;
  --ink-50:  #f7f8fc;
  --white:   #ffffff;

  /* --- Semantic --- */
  --bg: var(--white);
  --bg-soft: var(--ink-50);
  --bg-dark: var(--ink-900);
  --fg: var(--ink-900);
  --fg-muted: var(--ink-500);
  --fg-invert: var(--white);
  --border: var(--ink-200);
  --success: #17b26a;
  --warning: #f4b400;
  --danger:  #e5484d;

  /* --- Typography --- */
  --font-sans: "Inter", "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --fs-900: clamp(2.4rem, 5.5vw, 4.2rem);
  --fs-800: clamp(2rem, 4.2vw, 3rem);
  --fs-700: clamp(1.6rem, 3vw, 2.2rem);
  --fs-600: clamp(1.3rem, 2.2vw, 1.7rem);
  --fs-500: 1.125rem;
  --fs-400: 1rem;
  --fs-300: 0.9375rem;
  --fs-200: 0.875rem;
  --lh-tight: 1.1;
  --lh-snug: 1.28;
  --lh-normal: 1.55;
  --tracking-tight: -0.02em;

  /* --- Space (8pt) --- */
  --sp-1: 0.25rem; --sp-2: 0.5rem;  --sp-3: 0.75rem; --sp-4: 1rem;
  --sp-5: 1.25rem; --sp-6: 1.5rem;  --sp-8: 2rem;    --sp-10: 2.5rem;
  --sp-12: 3rem;   --sp-16: 4rem;   --sp-20: 5rem;   --sp-24: 6rem;

  /* --- Radius --- */
  --r-xs: 6px; --r-sm: 10px; --r-md: 14px; --r-lg: 20px; --r-xl: 28px; --r-full: 999px;

  /* --- Shadow --- */
  --sh-xs: 0 1px 2px rgba(11,16,32,.06);
  --sh-sm: 0 2px 8px rgba(11,16,32,.07);
  --sh-md: 0 8px 24px rgba(11,16,32,.09);
  --sh-lg: 0 20px 48px rgba(11,16,32,.13);
  --sh-glow: 0 12px 40px rgba(63,95,245,.32);

  /* --- Layout --- */
  --container: 1180px;
  --container-narrow: 820px;
  --header-h: 68px;

  /* --- Motion --- */
  --ease: cubic-bezier(.22,.61,.36,1);
  --dur-fast: .16s;
  --dur: .28s;
  --dur-slow: .5s;

  /* --- Gradients --- */
  --grad-brand: linear-gradient(135deg, var(--brand-500) 0%, var(--violet-500) 100%);
  --grad-sunset: linear-gradient(135deg, var(--accent-500) 0%, var(--pink-500) 100%);
  --grad-dark: linear-gradient(160deg, var(--ink-900) 0%, #1a2350 55%, #231a4d 100%);
  --grad-mesh: radial-gradient(1200px 600px at 15% -10%, rgba(99,131,251,.35), transparent 60%),
               radial-gradient(900px 500px at 95% 0%, rgba(124,77,255,.30), transparent 55%),
               radial-gradient(700px 500px at 60% 110%, rgba(255,154,46,.18), transparent 60%);
}

/* Optional theme scopes for per-ICP accent override */
[data-theme="enterprise"] { --brand-500: #2b45db; --accent-500: #12b3a8; }
[data-theme="tour"]       { --brand-500: #f07f08; --accent-500: #3f5ff5; }
[data-theme="hotel"]      { --brand-500: #12b3a8; --accent-500: #ff9a2e; }

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0s; --dur: 0s; --dur-slow: 0s; }
  * { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
