.cart-drawer-overlay { transition: opacity .3s ease-in-out, visibility .3s ease-in-out; }
.cart-drawer { transition: transform .35s cubic-bezier(.16, 1, .3, 1); }

@keyframes pulseCart {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.12); }
}

.animate-cart-pulse { animation: pulseCart .4s ease-in-out; }
#exam-modal { transition: opacity .25s ease-in-out; }
#exam-modal article { animation: catalogModalIn .2s ease-out; }

@keyframes catalogModalIn {
    from { opacity: 0; transform: scale(.96) translateY(8px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
