/* ============================================
   ANIMATIONS & KEYFRAMES
   Bolivia Import Manager
   ============================================ */

/* Fade In */
@keyframes bimFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Slide Up */
@keyframes bimSlideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Slide In Right */
@keyframes bimSlideInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Slide In Left */
@keyframes bimSlideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Shake */
@keyframes bimShake {
    0%, 100% {
        transform: translateX(0);
    }
    10%, 30%, 50%, 70%, 90% {
        transform: translateX(-5px);
    }
    20%, 40%, 60%, 80% {
        transform: translateX(5px);
    }
}

/* Pulse */
@keyframes bimPulse {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 4px 12px rgba(214, 48, 49, 0.3);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 8px 24px rgba(214, 48, 49, 0.6);
    }
}

/* Spinner */
@keyframes bimSpin {
    to {
        transform: rotate(360deg);
    }
}

/* Toast Animations */
@keyframes bimToastIn {
    from {
        opacity: 0;
        transform: translateX(40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes bimToastOut {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(40px);
    }
}

/* Notice Slide In */
@keyframes bimNoticeSlideIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Scale In (Modals) */
@keyframes bimScaleIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Animation Classes */
.bim-animate-enter {
    animation-duration: 0.35s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    animation-fill-mode: both;
}

.bim-slide-in-right {
    animation-name: bimSlideInRight;
}

.bim-slide-in-left {
    animation-name: bimSlideInLeft;
}

.bim-fade-in {
    animation-name: bimFadeIn;
}
