@keyframes fadePop {
  0% {
    opacity: 0;
    transform: scale(0.7);
  }
  60% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.delay-\[150ms\] {
  animation-delay: 150ms;
}

.animate-fadePop {
  animation: fadePop 0.6s ease-out both;
}

@keyframes fadeIn {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
  }
  
  .animate-fadeIn {
    animation: fadeIn 1s ease-out forwards;
  }
  @keyframes fadeInSoft {
    from {
      opacity: 0;
      transform: translateY(10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  .animate-fadeInSoft {
    animation: fadeInSoft 0.9s ease-out forwards;
  }
  @keyframes fadeUp {
    from {
      opacity: 0;
      transform: translateY(30px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  .animate-fadeUp {
    animation: fadeUp 1s ease-out forwards;
  }
  @keyframes fadeInScale {
    0% {
      opacity: 0;
      transform: scale(0.8);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }
  
  @keyframes fadeOutScale {
    0% {
      opacity: 1;
      transform: scale(1);
    }
    100% {
      opacity: 0;
      transform: scale(0.8);
    }
  }
  
  .scroll-top-btn {
    transition: all 0.3s ease;
  }
  
  .scroll-top-btn.show {
    display: block;
    animation: fadeInScale 0.3s forwards;
  }
  
  .scroll-top-btn.hide {
    animation: fadeOutScale 0.3s forwards;
  }
  .glow-hover {
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
  }
  
  .glow-hover::before {
    content: "";
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(45deg, #ec4899, #8b5cf6, #06b6d4);
    z-index: -1;
    border-radius: 9999px;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
  }
  
  .glow-hover:hover::before {
    opacity: 1;
  }
  .glow-hover {
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
  }
  
  .glow-hover::before {
    content: "";
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(45deg, #ec4899, #8b5cf6, #06b6d4);
    z-index: -1;
    border-radius: 9999px;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
  }
  
  .glow-hover:hover::before {
    opacity: 1;
    animation: pulse-glow 1.5s infinite;
  }
  
  @keyframes pulse-glow {
    0%, 100% {
      transform: scale(1);
      opacity: 1;
    }
    50% {
      transform: scale(1.05);
      opacity: 0.8;
    }
  }
  .glow-forever {
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  
  .glow-forever::before {
    content: "";
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(270deg, #ec4899, #8b5cf6, #06b6d4, #ec4899);
    background-size: 600% 600%;
    border-radius: 9999px;
    z-index: -1;
    animation: gradientPulse 3s ease infinite, borderPulse 1.8s ease-in-out infinite;
  }
  
  @keyframes gradientPulse {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
  }
  
  @keyframes borderPulse {
    0%, 100% {
      transform: scale(1);
      opacity: 1;
    }
    50% {
      transform: scale(1.05);
      opacity: 0.85;
    }
  }
  .glow-forever.sparkle {
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  
  .glow-forever.sparkle::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    pointer-events: none;
    background: radial-gradient(circle, #ffffff88 1px, transparent 1px);
    background-size: 20px 20px;
    animation: sparkleFloat 4s linear infinite;
    opacity: 0.6;
    z-index: 0;
    filter: blur(1px);
  }
  
  @keyframes sparkleFloat {
    from {
      transform: translate(0, 0);
    }
    to {
      transform: translate(20px, 20px);
    }
  }
        