/* ================================================================
   ANIMATIONS — Keyframes & AOS Fallback (Optimized)
   ================================================================ */

@keyframes pulsate {
  0%, 100% { transform: translateY(0); opacity: 0.6; }
  50%       { transform: translateY(8px); opacity: 1; }
}

@keyframes neonPulse {
  0%, 100% {
    box-shadow:
      0 0 8px rgba(107, 45, 216, 0.35),
      0 0 18px rgba(107, 45, 216, 0.15);
  }
  50% {
    box-shadow:
      0 0 18px rgba(107, 45, 216, 0.7),
      0 0 32px rgba(107, 45, 216, 0.4);
  }
}

@keyframes floatLogo {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-10px); }
}

@keyframes shimmer {
  0%, 100% { opacity: 0.45; }
  50%       { opacity: 0.7; }
}

/* ── AOS Fallback (χωρίς βιβλιοθήκη) ────────────────────────── */
[data-aos] {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
  /* will-change μόνο για animated elements */
}

[data-aos="fade-up"]  { transform: translateY(28px); }
[data-aos="fade"]     { transform: none; }
[data-aos="zoom-in"]  { transform: scale(0.92); }

[data-aos].aos-animate {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* ── Reduced Motion Support ──────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .main1_logo {
    animation: none !important;
  }
  .main1_ipcopier {
    animation: none !important;
  }
  .discord-btn {
    animation: none !important;
  }
  .main1_downarrow {
    animation: none !important;
  }
}