/* Custom UI Enhancements */

/* Smooth transitions for buttons */
button, .btn, a.tf-btn {
    transition: all 0.3s ease;
}

/* Focus states for accessibility */
button:focus, 
input:focus, 
select:focus, 
textarea:focus,
a:focus {
    outline: 2px solid #007bff;
    outline-offset: 2px;
}

/* Loading state animation */
[wire\:loading] {
    opacity: 0.6;
    pointer-events: none;
}

/* Smooth image loading */
img {
    transition: opacity 0.3s ease;
}

img.lazyload:not(.lazyloaded) {
    opacity: 0;
}

img.lazyloaded {
    opacity: 1;
}

/* Cart item animations */
.cart-item-mobile {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cart-item-mobile:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Disabled button styles */
button:disabled,
.btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Alert animations */
.alert {
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Product card hover effect */
.card-product {
    transition: transform 0.2s ease;
}

.card-product:hover {
    transform: translateY(-4px);
}

/* Quantity button hover */
.btn-quantity:hover:not(:disabled) {
    background-color: #f0f0f0;
}

/* Stock badge styles */
.stock-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}
