/* Your custom css */

.cart-button.cart-added-feedback {
    animation: cart-added-highlight 1.2s ease-out;
}

.cartItemCount.cart-added-feedback {
    display: inline-block;
    animation: cart-count-pop 650ms ease-out;
}

.cart-button.cart-added-feedback .la-shopping-bag {
    animation: cart-icon-bounce 650ms ease-out;
}

@keyframes cart-added-highlight {
    0%, 70% {
        box-shadow: inset 0 0 0 2px hsl(var(--white) / 0.85), 0 0 0 4px hsl(var(--base) / 0.2);
    }
    100% {
        box-shadow: inset 0 0 0 2px transparent, 0 0 0 8px transparent;
    }
}

@keyframes cart-count-pop {
    0%, 100% { transform: scale(1); }
    35% { transform: scale(1.55); }
    65% { transform: scale(0.95); }
}

@keyframes cart-icon-bounce {
    0%, 100% { transform: translateY(0); }
    35% { transform: translateY(-5px) rotate(-8deg); }
    65% { transform: translateY(1px) rotate(5deg); }
}

@media (prefers-reduced-motion: reduce) {
    .cart-button.cart-added-feedback,
    .cartItemCount.cart-added-feedback,
    .cart-button.cart-added-feedback .la-shopping-bag {
        animation: none;
    }

    .cart-button.cart-added-feedback {
        outline: 2px solid hsl(var(--base));
        outline-offset: 3px;
    }
}