/* ==========================================================================
   RAZZEK SYSTEMS — DESIGN TOKENS
   Variables globales de color, tipografía, espaciado y efectos.
   Todas las páginas del sitio comparten este único archivo de tokens,
   lo que permite escalar el diseño (nuevos productos, secciones, etc.)
   sin duplicar valores ni romper la consistencia visual.
   ========================================================================== */

:root {
  /* ---- Paleta de marca ---- */
  --color-navy: #0F172A;       /* Azul oscuro — texto principal / fondos oscuros */
  --color-navy-soft: #1E293B;  /* Variante para tarjetas sobre fondo oscuro */
  --color-primary: #2563EB;    /* Azul principal — acciones, enlaces, marca */
  --color-primary-light: #3B82F6; /* Azul claro — hovers, acentos, gradientes */
  --color-primary-dark: #1D4ED8;  /* Azul oscurecido — estados activos */

  --color-white: #FFFFFF;
  --color-gray-50: #F8FAFC;
  --color-gray-100: #F1F5F9;
  --color-gray-200: #E2E8F0;
  --color-gray-300: #CBD5E1;
  --color-gray-400: #94A3B8;
  --color-gray-500: #64748B;
  --color-gray-600: #475569;

  --color-success: #10B981;
  --color-success-bg: #DCFCE7;
  --color-warning: #F59E0B;
  --color-danger: #EF4444;

  /* ---- Gradientes ---- */
  --gradient-brand: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary) 55%, var(--color-primary-dark) 100%);
  --gradient-dark: linear-gradient(160deg, var(--color-navy) 0%, #16213D 100%);
  --gradient-radial-glow: radial-gradient(circle at 30% 20%, rgba(59, 130, 246, 0.35), transparent 60%);
  --gradient-text: linear-gradient(90deg, var(--color-primary-light), var(--color-primary));

  /* ---- Tipografía ---- */
  --font-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --fs-xs: 0.8125rem;
  --fs-sm: 0.9375rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.375rem;
  --fs-xl: 1.75rem;
  --fs-2xl: 2.25rem;
  --fs-3xl: 3rem;
  --fs-4xl: 3.75rem;
  --lh-tight: 1.15;
  --lh-snug: 1.35;
  --lh-normal: 1.6;

  /* ---- Espaciado ---- */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 6rem;
  --space-4xl: 8rem;

  /* ---- Contenedores ---- */
  --container-max: 1240px;
  --container-narrow: 820px;
  --header-height: 76px;

  /* ---- Bordes y radios ---- */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 999px;
  --border-subtle: 1px solid var(--color-gray-200);
  --border-subtle-dark: 1px solid rgba(255, 255, 255, 0.08);

  /* ---- Sombras elegantes ---- */
  --shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08), 0 2px 6px rgba(15, 23, 42, 0.05);
  --shadow-lg: 0 20px 48px rgba(15, 23, 42, 0.12), 0 6px 16px rgba(15, 23, 42, 0.06);
  --shadow-glow: 0 12px 40px rgba(37, 99, 235, 0.25);
  --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.6);

  /* ---- Transiciones ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --transition-fast: 0.18s var(--ease-out);
  --transition-base: 0.32s var(--ease-out);
  --transition-slow: 0.6s var(--ease-out);

  /* ---- Capas ---- */
  --z-header: 100;
  --z-overlay: 200;
  --z-modal: 300;
}
