/* Global Animations Library */

@keyframes rainbow-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(14, 165, 233, 0.8);
        border-color: #0ea5e9;
    }

    25% {
        box-shadow: 0 0 0 10px rgba(168, 85, 247, 0);
        border-color: #a855f7;
    }

    50% {
        box-shadow: 0 0 0 15px rgba(236, 72, 153, 0);
        border-color: #ec4899;
    }

    75% {
        box-shadow: 0 0 0 10px rgba(234, 179, 8, 0);
        border-color: #eab308;
    }

    100% {
        box-shadow: 0 0 0 0 rgba(14, 165, 233, 0);
        border-color: #0ea5e9;
    }
}

.animate-rainbow-pulse {
    animation: rainbow-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    border: 2px solid transparent !important;
}

@keyframes border-glow-flow {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

.border-glow-premium {
    position: relative;
    background-clip: padding-box;
    border: 2px solid transparent !important;
}

.border-glow-premium::before {
    content: '';
    position: absolute;
    top: -2px;
    bottom: -2px;
    left: -2px;
    right: -2px;
    background: linear-gradient(45deg, #0ea5e9, #6366f1, #a855f7, #ec4899, #0ea5e9);
    background-size: 400% 400%;
    z-index: -1;
    border-radius: inherit;
    animation: border-glow-flow 3s ease infinite;
}