:root {
  /* Paleta de cores moderna para academia - 2025 */
  --preto-profundo: #0A0A0A;
  --cinza-escuro: #1A1A1A;
  --cinza-medio: #2A2A2A;
  --cinza-claro: #3A3A3A;
  --cinza-neutro: #F5F5F5;
  --branco-puro: #FFFFFF;
  
  /* Cores de energia e motivação */
  --laranja-energia: #FF6B35;
  --laranja-claro: #FF8A5B;
  --laranja-escuro: #E55A2B;
  --laranja-secundario: #FF8C00;
  --laranja-mais-claro: #FFB08A;
  --laranja-escuro-profundo: #C24A1F;
  --azul-eletrico: #007BFF;
  --azul-claro: #4DA3FF;
  --azul-escuro: #0056CC;
  
  /* Cores de apoio */
  --amarelo-destaque: #FFD700;
  --roxo-premium: #8B5CF6;
  --vermelho-alerta: #EF4444;
  
  /* Tema Claro */
  --bg-primary: #FEFEFE;
  --bg-secondary: #F8F9FA;
  --bg-accent: #F5F6F7;
  --bg-card: #FDFDFD;
  --text-primary: var(--preto-profundo);
  --text-secondary: var(--cinza-escuro);
  --text-muted: #6B7280;
  --accent-primary: var(--laranja-energia);
  --accent-secondary: var(--laranja-secundario);
  --accent-hover: var(--laranja-escuro);
  --border-color: #E5E7EB;
  --shadow-color: rgba(0, 0, 0, 0.08);
  --shadow-color-lg: rgba(0, 0, 0, 0.15);
  
  /* Gradientes modernos */
  --gradient-primary: linear-gradient(135deg, var(--laranja-energia) 0%, var(--laranja-escuro) 100%);
  --gradient-secondary: linear-gradient(135deg, var(--laranja-secundario) 0%, var(--laranja-escuro-profundo) 100%);
  --gradient-hero: linear-gradient(135deg, rgba(255, 107, 53, 0.9) 0%, rgba(255, 140, 0, 0.8) 100%);
  --gradient-card: linear-gradient(145deg, var(--branco-puro) 0%, #FAFAFA 100%);
  --gradient-dark: linear-gradient(135deg, var(--preto-profundo) 0%, var(--cinza-escuro) 100%);
  
  /* Espaçamentos responsivos */
  --spacing-xs: 0.5rem;
  --spacing-sm: 1rem;
  --spacing-md: 1.5rem;
  --spacing-lg: 2rem;
  --spacing-xl: 3rem;
  --spacing-2xl: 4rem;
  --spacing-3xl: 6rem;
  
  /* Border radius modernos */
  --border-radius-sm: 0.5rem;
  --border-radius-md: 0.75rem;
  --border-radius-lg: 1rem;
  --border-radius-xl: 1.5rem;
  --border-radius-2xl: 2rem;
  --border-radius-full: 9999px;
  
  /* Sombras modernas */
  --box-shadow-sm: 0 1px 2px 0 var(--shadow-color);
  --box-shadow: 0 4px 6px -1px var(--shadow-color);
  --box-shadow-md: 0 10px 15px -3px var(--shadow-color-lg);
  --box-shadow-lg: 0 20px 25px -5px var(--shadow-color-lg);
  --box-shadow-xl: 0 25px 50px -12px var(--shadow-color-lg);
  --box-shadow-glow: 0 0 20px rgba(255, 107, 53, 0.3);
  --box-shadow-neon: 0 0 30px rgba(255, 140, 0, 0.4);
  
  /* Transições suaves */
  --transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-bounce: 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  
  /* Tipografia moderna */
  --font-family-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-family-heading: 'Inter', system-ui, sans-serif;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;
  
  /* Tamanhos de fonte responsivos */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-size-5xl: 3rem;
  --font-size-6xl: 3.75rem;
  --font-size-7xl: 4.5rem;
  
  /* Line heights */
  --line-height-tight: 1.25;
  --line-height-snug: 1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  --line-height-loose: 2;
  
  /* Z-index */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal: 1040;
  --z-popover: 1050;
  --z-tooltip: 1060;
  
  /* Breakpoints */
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-2xl: 1536px;
}

/* Tema Escuro */
[data-theme="dark"] {
  --bg-primary: var(--preto-profundo);
  --bg-secondary: var(--cinza-escuro);
  --bg-accent: var(--cinza-medio);
  --bg-card: var(--cinza-escuro);
  --text-primary: var(--branco-puro);
  --text-secondary: var(--cinza-neutro);
  --text-muted: #9CA3AF;
  --accent-primary: var(--laranja-energia);
  --accent-secondary: var(--laranja-secundario);
  --accent-hover: var(--laranja-claro);
  --border-color: var(--cinza-claro);
  --shadow-color: rgba(0, 0, 0, 0.3);
  --shadow-color-lg: rgba(0, 0, 0, 0.5);
  
  --gradient-card: linear-gradient(145deg, var(--cinza-escuro) 0%, var(--cinza-medio) 100%);
  --box-shadow-glow: 0 0 20px rgba(255, 107, 53, 0.5);
  --box-shadow-neon: 0 0 30px rgba(255, 140, 0, 0.6);
}

/* Transições globais suaves */
*,
*::before,
*::after {
  transition: background-color var(--transition-normal), 
              color var(--transition-normal), 
              border-color var(--transition-normal),
              box-shadow var(--transition-normal),
              transform var(--transition-normal),
              opacity var(--transition-normal);
}

/* Responsividade aprimorada */
@media (max-width: 1536px) {
  :root {
    --spacing-3xl: 5rem;
    --font-size-7xl: 4rem;
    --font-size-6xl: 3.5rem;
  }
}

@media (max-width: 1280px) {
  :root {
    --spacing-2xl: 3rem;
    --spacing-3xl: 4rem;
    --font-size-7xl: 3.5rem;
    --font-size-6xl: 3rem;
    --font-size-5xl: 2.5rem;
  }
}

@media (max-width: 1024px) {
  :root {
    --spacing-xl: 2.5rem;
    --spacing-2xl: 3rem;
    --spacing-3xl: 3.5rem;
    --font-size-7xl: 3rem;
    --font-size-6xl: 2.5rem;
    --font-size-5xl: 2rem;
    --font-size-4xl: 1.875rem;
  }
}

@media (max-width: 768px) {
  :root {
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-2xl: 2.5rem;
    --spacing-3xl: 3rem;
    --font-size-7xl: 2.5rem;
    --font-size-6xl: 2rem;
    --font-size-5xl: 1.75rem;
    --font-size-4xl: 1.5rem;
    --font-size-3xl: 1.375rem;
  }
}

@media (max-width: 640px) {
  :root {
    --spacing-md: 1rem;
    --spacing-lg: 1.25rem;
    --spacing-xl: 1.5rem;
    --spacing-2xl: 2rem;
    --spacing-3xl: 2.5rem;
    --font-size-7xl: 2rem;
    --font-size-6xl: 1.75rem;
    --font-size-5xl: 1.5rem;
    --font-size-4xl: 1.375rem;
    --font-size-3xl: 1.25rem;
  }
}

@media (max-width: 480px) {
  :root {
    --spacing-sm: 0.75rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.25rem;
    --spacing-xl: 1.5rem;
    --spacing-2xl: 1.75rem;
    --font-size-7xl: 1.75rem;
    --font-size-6xl: 1.5rem;
    --font-size-5xl: 1.375rem;
    --font-size-4xl: 1.25rem;
  }
}

@media (max-width: 375px) {
  :root {
    --spacing-xs: 0.375rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 0.75rem;
    --spacing-lg: 1rem;
    --spacing-xl: 1.25rem;
    --font-size-7xl: 1.5rem;
    --font-size-6xl: 1.375rem;
    --font-size-5xl: 1.25rem;
  }
}

/* Utilitários para animações */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideUp {
  from { 
    opacity: 0; 
    transform: translateY(20px); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}

@keyframes slideDown {
  from { 
    opacity: 0; 
    transform: translateY(-20px); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}

@keyframes scaleIn {
  from { 
    opacity: 0; 
    transform: scale(0.95); 
  }
  to { 
    opacity: 1; 
    transform: scale(1); 
  }
}

@keyframes pulse {
  0%, 100% { 
    opacity: 1; 
  }
  50% { 
    opacity: 0.8; 
  }
}

@keyframes glow {
  0%, 100% { 
    box-shadow: var(--box-shadow-glow); 
  }
  50% { 
    box-shadow: 0 0 25px rgba(255, 107, 53, 0.5); 
  }
}

/* Classes utilitárias para animações */
.animate-fade-in {
  animation: fadeIn 0.8s ease-out;
}

.animate-slide-up {
  animation: slideUp 0.8s ease-out;
}

.animate-slide-down {
  animation: slideDown 0.8s ease-out;
}

.animate-scale-in {
  animation: scaleIn 0.8s ease-out;
}

.animate-pulse {
  animation: pulse 3s infinite;
}

.animate-glow {
  animation: glow 3s infinite;
}

