/* Entrance animations */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes pulseGlow {
  0%,
  100% {
    box-shadow:
      0 0 32px rgba(168, 85, 247, 0.35),
      0 0 64px rgba(124, 58, 237, 0.2),
      inset 0 0 24px rgba(168, 85, 247, 0.06);
  }
  50% {
    box-shadow:
      0 0 48px rgba(168, 85, 247, 0.55),
      0 0 90px rgba(147, 51, 234, 0.35),
      inset 0 0 32px rgba(168, 85, 247, 0.1);
  }
}

@keyframes textGlowPulse {
  0%,
  100% {
    text-shadow:
      0 0 20px rgba(192, 132, 252, 0.8),
      0 0 45px rgba(168, 85, 247, 0.45);
  }
  50% {
    text-shadow:
      0 0 28px rgba(233, 213, 255, 0.95),
      0 0 60px rgba(168, 85, 247, 0.65);
  }
}

@keyframes centerPulse {
  0%,
  100% {
    opacity: 0.75;
    transform: translateX(-50%) scale(1);
  }
  50% {
    opacity: 1;
    transform: translateX(-50%) scale(1.08);
  }
}

@keyframes btnPulse {
  0%,
  100% {
    box-shadow: 0 0 24px rgba(168, 85, 247, 0.45);
  }
  50% {
    box-shadow: 0 0 40px rgba(192, 132, 252, 0.7);
  }
}

@keyframes floatSoft {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

/* Hero stagger */
.hero-home .hero-logo-box {
  animation: fadeUp 0.7s ease 0.1s backwards, pulseGlow 5s ease-in-out 0.8s infinite;
}

.hero-home .hero-title-split {
  animation: fadeUp 0.7s ease 0.25s backwards;
}

.hero-home .hero-desc {
  animation: fadeUp 0.7s ease 0.4s backwards;
}

.hero-home .hero-btns {
  animation: fadeUp 0.7s ease 0.55s backwards;
}

.title-shadow {
  animation: textGlowPulse 4s ease-in-out infinite;
}

.btn-discord-glow {
  animation: btnPulse 3s ease-in-out infinite;
}

/* Page load */
.top-header {
  animation: fadeIn 0.5s ease;
}

.catalog-card {
  animation: fadeUp 0.6s ease backwards;
}

.catalog-card:nth-child(1) {
  animation-delay: 0.05s;
}
.catalog-card:nth-child(2) {
  animation-delay: 0.1s;
}
.catalog-card:nth-child(3) {
  animation-delay: 0.15s;
}
.catalog-card:nth-child(4) {
  animation-delay: 0.2s;
}
.catalog-card:nth-child(5) {
  animation-delay: 0.25s;
}

.product-showcase {
  animation: fadeUp 0.65s ease 0.1s backwards, pulseGlow 6s ease-in-out 1s infinite;
}

.product-panel {
  animation: fadeUp 0.65s ease 0.25s backwards;
}

@media (prefers-reduced-motion: reduce) {
  .hero-home .hero-logo-box,
  .hero-home .hero-title-split,
  .hero-home .hero-desc,
  .hero-home .hero-btns,
  .title-shadow,
  .btn-discord-glow,
  .catalog-card,
  .product-showcase,
  .product-panel,
  .top-header {
    animation: none !important;
  }
}
