/* Cart button states */
.btn-add-to-cart {
    position: relative;
    transition: all 0.3s ease;
}

.btn-add-to-cart.processing {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.btn-add-to-cart.success {
    background-color: #28a745 !important;
    border-color: #28a745 !important;
}

.btn-add-to-cart[disabled] {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

/* Cart count animation */
@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

.cart-count.pulse {
    animation: pulse 0.5s ease-in-out;
}

/* Prevent text selection during processing */
.btn-add-to-cart.processing,
.btn-add-to-cart[disabled] {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Loading spinner */
.fa-spinner.fa-spin {
    animation: fa-spin 1s infinite linear;
}

@keyframes fa-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}