/* Animations & Micro-Interactions */

@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.3);
  }
  50% {
    box-shadow: 0 0 30px rgba(245, 208, 97, 0.6);
  }
}

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

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

.animate-pulse {
  animation: pulseGlow 3s infinite ease-in-out;
}

.animate-float {
  animation: floatSlow 4s infinite ease-in-out;
}

.animate-fade {
  animation: fadeIn 0.6s ease-out forwards;
}

/* Glassmorphism shine effect */
.shine-effect {
  position: relative;
  overflow: hidden;
}

.shine-effect::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    45deg,
    transparent 45%,
    rgba(255, 255, 255, 0.1) 50%,
    transparent 55%
  );
  transform: rotate(30deg);
  transition: var(--transition-normal);
  opacity: 0;
}

.shine-effect:hover::before {
  opacity: 1;
  animation: shineAnimation 1.2s ease-in-out;
}

@keyframes shineAnimation {
  0% {
    transform: translateX(-100%) rotate(30deg);
  }
  100% {
    transform: translateX(100%) rotate(30deg);
  }
}
