/* Keyframe Animations & Micro-Interactions */

@keyframes pulseGlow {
    0%, 100% {
        box-shadow: 0 0 15px rgba(56, 189, 248, 0.35), 0 0 30px rgba(16, 185, 129, 0.2);
    }
    50% {
        box-shadow: 0 0 25px rgba(56, 189, 248, 0.6), 0 0 45px rgba(16, 185, 129, 0.35);
    }
}

@keyframes goldGlow {
    0%, 100% {
        box-shadow: 0 0 15px rgba(245, 158, 11, 0.4), 0 0 35px rgba(251, 191, 36, 0.2);
    }
    50% {
        box-shadow: 0 0 25px rgba(245, 158, 11, 0.7), 0 0 50px rgba(251, 191, 36, 0.4);
    }
}

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

@keyframes rotateBorder {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

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

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.92);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes ripple {
    0% {
        transform: scale(0.95);
        opacity: 0.8;
    }
    50% {
        transform: scale(1.15);
        opacity: 0.3;
    }
    100% {
        transform: scale(1.3);
        opacity: 0;
    }
}

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

.animate-gold-glow {
    animation: goldGlow 3.5s infinite ease-in-out;
}

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

.animate-shimmer {
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0) 100%);
    background-size: 200% 100%;
    animation: shimmer 3s infinite;
}
