/* Loading state styles for product cards */
.treesal-add-to-cart-icon {
    position: relative;
    transition: opacity 0.3s ease;
}

.treesal-add-to-cart-icon.loading {
    opacity: 0.7;
    pointer-events: none;
}

.treesal-add-to-cart-icon.loading::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 50%;
    margin-top: -8px;
    margin-left: -8px;
    border: 2px solid rgba(0, 0, 0, 0.1);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: treesal-spin 0.8s infinite linear;
}

@keyframes treesal-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Hide SVG and text while loading */
.treesal-add-to-cart-icon.loading svg,
.treesal-add-to-cart-icon.loading .add-to-cart-text {
    opacity: 0;
} 