/* ======================================
   VARIABLES CSS - AlejandroVR
   ====================================== */

:root {
  /* Colores Principales */
  --primary-color: #0066FF;
  --primary-hover: #0052CC;
  --primary-dark: #0047B3;
  --primary-light: #3385FF;
  --primary-ultra-light: #E6F0FF;
  
  --secondary-color: #1E293B;
  --secondary-hover: #334155;
  
  --danger-color: #DC2626;
  --danger-hover: #B91C1C;
  
  --success-color: #10B981;
  --success-hover: #059669;
  
  --accent-color: #FBBF24;
  
  /* Colores de Texto */
  --text-dark: #1F2937;
  --text-medium: #4B5563;
  --text-light: #6B7280;
  --text-lighter: #9CA3AF;
  
  /* Colores de Fondo */
  --bg-white: #FFFFFF;
  --bg-light: #F9FAFB;
  --bg-lighter: #F3F4F6;
  --bg-dark: #1F2937;
  --bg-darker: #111827;
  
  /* Espaciado */
  --spacing-xs: 5px;
  --spacing-sm: 10px;
  --spacing-md: 15px;
  --spacing-lg: 20px;
  --spacing-xl: 35px;
  --spacing-2xl: 60px;
  --spacing-3xl: 100px;
  --spacing-4xl: 120px;
  
  /* Bordes y Radios */
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  --border-radius-xl: 16px;
  --border-radius-2xl: 20px;
  --border-radius-pill: 25px;
  --border-radius-full: 9999px;
  
  /* Tamaños de Fuente */
  --font-size-xs: 0.75rem;    /* 12px */
  --font-size-sm: 0.875rem;   /* 14px */
  --font-size-base: 1rem;     /* 16px */
  --font-size-lg: 1.125rem;   /* 18px */
  --font-size-xl: 1.25rem;    /* 20px */
  --font-size-2xl: 1.5rem;    /* 24px */
  --font-size-3xl: 1.875rem;  /* 30px */
  --font-size-4xl: 2.25rem;   /* 36px */
  --font-size-5xl: 3rem;      /* 48px */
  --font-size-6xl: 3.75rem;   /* 60px */
  
  /* Pesos de Fuente */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  
  /* Line Heights */
  --line-height-tight: 1.25;
  --line-height-snug: 1.375;
  --line-height-normal: 1.6;
  --line-height-relaxed: 1.75;
  --line-height-loose: 2;
  
  /* Sombras */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.05), 0 2px 4px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.08), 0 4px 6px rgba(0, 0, 0, 0.04);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.08), 0 10px 10px rgba(0, 0, 0, 0.03);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.12);
  
  /* Sombras Específicas */
  --shadow-primary: 0 8px 20px rgba(0, 102, 255, 0.3);
  --shadow-primary-lg: 0 20px 40px rgba(0, 102, 255, 0.25);
  --shadow-danger: 0 8px 20px rgba(220, 38, 38, 0.3);
  
  /* Transiciones */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.3s ease;
  --transition-slow: 0.5s ease;
  --transition-all: all 0.3s ease;
  
  /* Container */
  --container-max-width: 1200px;
  --container-padding: 20px;
  
  /* Z-Index Layers */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-modal-backdrop: 400;
  --z-modal: 500;
  --z-popover: 600;
  --z-tooltip: 700;
}

/* Media Query Breakpoints */
@media (max-width: 768px) {
  :root {
    --font-size-5xl: 2.25rem;  /* 36px en mobile */
    --font-size-4xl: 1.875rem; /* 30px en mobile */
    --font-size-3xl: 1.5rem;   /* 24px en mobile */
    
    --spacing-3xl: 60px;
    --spacing-4xl: 80px;
    
    --container-padding: 15px;
  }
}

@media (max-width: 480px) {
  :root {
    --font-size-5xl: 1.875rem; /* 30px en mobile pequeño */
    --font-size-4xl: 1.5rem;   /* 24px en mobile pequeño */
    
    --spacing-2xl: 40px;
    --spacing-3xl: 50px;
    
    --container-padding: 15px;
  }
}