/* ==========================================================================
   DESIGN SYSTEM: MIDNIGHT CIRCUIT v2.0 (NexoTaller Pre-Launch)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Sora:wght@600;700;800;900&display=swap');

:root {
  /* Brand Colors — ADN de Marca NexoTaller */
  --color-primary: #A020F0;       /* Nexo Violeta (ADN Nivel 1) */
  --color-secondary: #0078D4;     /* Azul Mecánico (ADN Nivel 2 — Acción) */
  --color-accent: #00E5FF;        /* Cian Láser (ADN Nivel 3 — Solo 1-2px) */
  --color-steel: #8B949E;         /* Gris Estructural (ADN Nivel 1 — 70% de la UI) */
  --color-bg: #0B0E14;            /* Negro Abisal (ADN Modo Oscuro) */
  --color-card: #1F242D;          /* Gris Azulado Profundo (ADN Superficies) */
  --color-text-main: #E1E5E9;     /* Blanco Hueso (ADN Texto Principal) */
  --color-text-muted: #8B949E;    /* Gris Acero (ADN Texto Secundario) */
}

/* Base Settings */
body {
  font-family: 'Inter', sans-serif;
  background-color: var(--color-bg);
  color: var(--color-text-main);
  overflow-x: hidden;
}

.font-sora {
  font-family: 'Sora', sans-serif;
}

/* Custom Micro-Animations */
@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-8px);
  }
}

@keyframes pulse-glow {
  0%, 100% {
    opacity: 0.6;
    box-shadow: 0 0 15px rgba(160, 32, 240, 0.3);
  }
  50% {
    opacity: 1;
    box-shadow: 0 0 25px rgba(160, 32, 240, 0.6), 0 0 40px rgba(0, 120, 212, 0.2);
  }
}

@keyframes gradient-bg {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* Animation Utilities */
.animate-float {
  animation: float 4s ease-in-out infinite;
}

.animate-pulse-glow {
  animation: pulse-glow 2.5s ease-in-out infinite;
}

.gradient-animate {
  background-size: 200% 200%;
  animation: gradient-bg 8s ease infinite;
}

/* Glassmorphism 2.0 Components */
.glass-card {
  background: rgba(30, 41, 59, 0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.glass-card-hover {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.glass-card-hover:hover {
  border-color: rgba(160, 32, 240, 0.3);
  box-shadow: 0 10px 30px -10px rgba(160, 32, 240, 0.15);
  transform: translateY(-2px);
}

.glass-navbar {
  background: rgba(15, 23, 42, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.glass-input {
  background: rgba(15, 23, 42, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--color-text-main);
  transition: all 0.25s ease;
}

.glass-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(160, 32, 240, 0.25);
}

/* Premium Button Hover Lift effect */
.btn-hover-lift {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
}

.btn-hover-lift:hover {
  transform: translateY(-4px);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--color-bg);
}
::-webkit-scrollbar-thumb {
  background: #1E293B;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #334155;
}

/* FAQ transition container */
.faq-content {
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s ease;
}

.faq-item.active .faq-icon {
  transform: rotate(180deg);
  color: var(--color-secondary);
}

.faq-item.active {
  border-color: rgba(0, 120, 212, 0.3);
}

/* Modal Open Animation */
#modalWaitlist {
  transition: opacity 0.3s ease;
}

#modalWaitlist.hidden {
  display: none !important;
}

