/**
 * CVOT Animations
 * Keyframe animations used across the theme
 *
 * @package CVOT_Kadence
 */

/* Fade Up entrance */
@keyframes cvot-fadeUp {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}
.cvot-animate-fade-up {
    animation: cvot-fadeUp 0.5s ease-out both;
}
.cvot-delay-100 { animation-delay: 0.1s; }
.cvot-delay-200 { animation-delay: 0.2s; }
.cvot-delay-300 { animation-delay: 0.3s; }
.cvot-delay-400 { animation-delay: 0.4s; }

/* Slide Down (compact bar) */
@keyframes cvot-slideDown {
    from { transform: translateY(-100%); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}
@keyframes cvot-slideUp {
    from { transform: translateY(0); opacity: 1; }
    to   { transform: translateY(-100%); opacity: 0; }
}

/* Live pulse ring */
@keyframes cvot-livePulseRing {
    0%   { transform: scale(1); opacity: 0.6; }
    100% { transform: scale(2.2); opacity: 0; }
}
.cvot-live-pulse-ring {
    animation: cvot-livePulseRing 1.5s ease-out infinite;
}

/* Ping animation */
@keyframes cvot-ping {
    75%, 100% {
        transform: scale(2);
        opacity: 0;
    }
}

/* Scanline for video */
@keyframes cvot-scanline {
    0%   { transform: translateY(-100%); opacity: 0; }
    50%  { opacity: 0.06; }
    100% { transform: translateY(100%); opacity: 0; }
}

/* Subtle hover scale */
@keyframes cvot-pulse-subtle {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.02); }
}

/* Skeleton loading */
@keyframes cvot-shimmer {
    0%   { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}
.cvot-skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: cvot-shimmer 1.5s infinite;
    border-radius: 0.5rem;
}
