/* aurorador/assets/css/dm-animations.css */

.dm-pressable {
    transition: transform 0.15s cubic-bezier(0.22,0.61,0.36,1), box-shadow 0.15s ease;
    transform: translate3d(0,0,0);
    will-change: transform, box-shadow;
}
.dm-pressable:active {
    transform: scale(0.95) translate3d(0,1px,0);
    box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

.dm-fly-heart {
    font-size: 20px;
    pointer-events: none;
    position: absolute;
    z-index: 8000;
    transform: translate3d(0,0,0);
    will-change: transform, opacity;
    -webkit-font-smoothing: antialiased;
}

.dm-heart-trail {
    position: absolute;
    font-size: 14px;
    pointer-events: none;
    opacity: 1;
    transform: translate3d(0,0,0) scale(1);
    will-change: transform, opacity;
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
    z-index: 7998;
}

.dm-firework-dot {
    width: 7px;
    height: 7px;
    background: radial-gradient(circle, #ff8a8a, #ff2a2a);
    border-radius: 50%;
    position: absolute;
    pointer-events: none;
    opacity: 1;
    transform: translate3d(0,0,0);
    will-change: transform, opacity;
    transition: transform 0.6s ease-out, opacity 0.6s ease-out;
    z-index: 7999;
}

.dm-cart-bounce {
    animation: dmCartBounce 0.45s cubic-bezier(0.22,0.61,0.36,1);
    transform-origin: center center;
    will-change: transform;
}
@keyframes dmCartBounce {
    0% { transform: scale(1); }
    30% { transform: scale(1.18); }
    60% { transform: scale(0.92); }
    100% { transform: scale(1); }
}

@media (hover: none) {
    .dm-pressable:hover {
        transform: none;
        box-shadow: none;
    }
}
