/* ============================================================
   VARIABLES — Sistema de diseño Venibex
   Toda decisión visual del proyecto se centraliza aquí.
   ============================================================ */

:root {
  /* ---------- PALETA DE COLORES ---------- */

  /* Fondos: azul marino oscuro = confianza/autoridad */
  --bg-primary: #0A0F2C;
  --bg-secondary: #050810;

  /* Acentos: violeta = innovación, cian = futuro digital */
  --accent-primary: #7B2FFF;
  --accent-secondary: #00E5FF;

  /* CTA: naranja exclusivo para acción (urgencia + calidez) */
  --cta-primary: #FF6B35;
  --cta-primary-hover: #FF8555;

  /* Texto */
  --text-primary: #FFFFFF;
  --text-secondary: #B0B8D4;
  --text-muted: rgba(176, 184, 212, 0.6);

  /* Estados */
  --success: #10B981;
  --error: #EF4444;
  --warning: #F59E0B;

  /* Bordes y superficies de glassmorphism */
  --border-glass: rgba(255, 255, 255, 0.1);
  --border-glass-hover: rgba(255, 255, 255, 0.2);
  --surface-glass: rgba(255, 255, 255, 0.04);
  --surface-glass-strong: rgba(255, 255, 255, 0.07);

  /* ---------- GRADIENTES PREDEFINIDOS ---------- */
  --gradient-accent: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);
  --gradient-cta: linear-gradient(135deg, var(--cta-primary) 0%, #FF8555 100%);
  --gradient-bg-radial: radial-gradient(ellipse at center, rgba(123, 47, 255, 0.15) 0%, transparent 70%);
  --gradient-text: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));

  /* ---------- TIPOGRAFÍA ---------- */
  --font-display: 'Space Grotesk', system-ui, -apple-system, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;

  /* Escala tipográfica fluida (clamp para responsive) */
  --fs-xs: clamp(0.75rem, 0.7rem + 0.2vw, 0.875rem);
  --fs-sm: clamp(0.875rem, 0.825rem + 0.2vw, 1rem);
  --fs-base: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  --fs-lg: clamp(1.125rem, 1rem + 0.5vw, 1.25rem);
  --fs-xl: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --fs-2xl: clamp(1.5rem, 1.3rem + 0.8vw, 2rem);
  --fs-3xl: clamp(2rem, 1.6rem + 1.5vw, 2.75rem);
  --fs-4xl: clamp(2.5rem, 2rem + 2vw, 3.5rem);
  --fs-hero: clamp(2.75rem, 2rem + 4vw, 5rem);

  /* Pesos */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* Line heights */
  --lh-tight: 1.1;
  --lh-snug: 1.3;
  --lh-normal: 1.6;
  --lh-relaxed: 1.75;

  /* Letter spacing (más negativo en titulares grandes) */
  --ls-tight: -0.02em;
  --ls-tighter: -0.03em;
  --ls-normal: 0;
  --ls-wide: 0.02em;
  --ls-wider: 0.08em;

  /* ---------- ESPACIADO (escala 4px) ---------- */
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.25rem;   /* 20px */
  --space-6: 1.5rem;    /* 24px */
  --space-8: 2rem;      /* 32px */
  --space-10: 2.5rem;   /* 40px */
  --space-12: 3rem;     /* 48px */
  --space-16: 4rem;     /* 64px */
  --space-20: 5rem;     /* 80px */
  --space-24: 6rem;     /* 96px */
  --space-32: 8rem;     /* 128px */

  /* ---------- BORDES Y RADIOS ---------- */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 999px;

  /* ---------- SOMBRAS ---------- */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.4);
  --shadow-glow-violet: 0 0 40px rgba(123, 47, 255, 0.4);
  --shadow-glow-cyan: 0 0 40px rgba(0, 229, 255, 0.3);
  --shadow-glow-cta: 0 8px 32px rgba(255, 107, 53, 0.4);

  /* ---------- TRANSICIONES ---------- */
  --ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 400ms;
  --duration-slower: 600ms;

  /* ---------- LAYOUT ---------- */
  --container-max: 1280px;
  --container-padding: clamp(1rem, 4vw, 3rem);
  --section-padding-y: clamp(4rem, 10vw, 8rem);
  --navbar-height: 72px;

  /* ---------- Z-INDEX (escala) ---------- */
  --z-base: 1;
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-overlay: 30;
  --z-modal: 40;
  --z-navbar: 50;
  --z-toast: 60;
}
