/**
 * Agrovercity - Motion Design & Cinematic Animations
 * Luxury Gold & Emerald Visual Dynamics
 */

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

@keyframes pulseGoldGlow {
    0%, 100% {
        box-shadow: 0 0 15px rgba(212, 175, 55, 0.4), 0 0 30px rgba(245, 215, 122, 0.2);
    }
    50% {
        box-shadow: 0 0 30px rgba(212, 175, 55, 0.7), 0 0 50px rgba(245, 215, 122, 0.5);
    }
}

@keyframes floatGentle {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-8px) rotate(1deg);
    }
}

@keyframes floatLogo {
    0%, 100% {
        transform: translateY(0px) scale(1);
        filter: drop-shadow(0 15px 25px rgba(212, 175, 55, 0.35));
    }
    50% {
        transform: translateY(-10px) scale(1.02);
        filter: drop-shadow(0 25px 40px rgba(245, 215, 122, 0.55));
    }
}

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

@keyframes lightBurstExplosion {
    0% {
        transform: scale(0.1) rotate(0deg);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: scale(3.5) rotate(90deg);
        opacity: 0;
    }
}

@keyframes ribbonUntieLeft {
    0% {
        transform: scaleX(1) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: translateX(-150px) translateY(-50px) rotate(-45deg) scale(0.2);
        opacity: 0;
    }
}

@keyframes ribbonUntieRight {
    0% {
        transform: scaleX(1) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: translateX(150px) translateY(-50px) rotate(45deg) scale(0.2);
        opacity: 0;
    }
}

@keyframes boxLidOpen {
    0% {
        transform: translateY(0) rotateX(0deg);
        opacity: 1;
    }
    40% {
        transform: translateY(-40px) rotateX(-20deg) scale(1.05);
    }
    100% {
        transform: translateY(-180px) rotateX(-120deg) scale(0.4);
        opacity: 0;
    }
}

@keyframes boxBodySink {
    0% {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
    100% {
        transform: translateY(60px) scale(0.85);
        opacity: 0;
    }
}

@keyframes revealFadeUp {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes revealScaleZoom {
    0% {
        opacity: 0;
        transform: scale(0.6);
        filter: blur(10px);
    }
    60% {
        opacity: 1;
        transform: scale(1.05);
        filter: blur(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes borderGlowRun {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

@keyframes particleDrift {
    0% {
        transform: translateY(0) translateX(0) scale(1);
        opacity: 0.2;
    }
    50% {
        opacity: 0.8;
        transform: translateY(-40px) translateX(15px) scale(1.2);
    }
    100% {
        transform: translateY(-80px) translateX(-10px) scale(0.5);
        opacity: 0;
    }
}

@keyframes pulseBadgeGlow {
    0% {
        box-shadow: 0 10px 32px rgba(0, 0, 0, 0.5), 0 0 20px rgba(212, 175, 55, 0.25);
        border-color: rgba(212, 175, 55, 0.6);
    }
    100% {
        box-shadow: 0 12px 38px rgba(0, 0, 0, 0.55), 0 0 35px rgba(212, 175, 55, 0.5);
        border-color: rgba(245, 215, 122, 0.9);
    }
}

/* Reduced Motion Override for Accessibility */
@media (prefers-reduced-motion: reduce) {
    *, ::before, ::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}
