/* Product Variant Selection Styles */
.variant-option {
    transition: all 0.2s ease-in-out;
}

.variant-option:hover {
    transform: translateY(-1px);
}

.variant-option.selected {
    border-color: rgb(99 102 241) !important;
    background-color: rgb(238 242 255) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.variant-thumbnail {
    position: relative;
}

.variant-thumbnail .variant-indicator {
    transition: opacity 0.2s ease-in-out;
}

.variant-thumbnail:hover .variant-indicator {
    opacity: 1;
}

/* Gallery thumbnail improvements */
.gallery-thumbnail.active {
    border-color: rgb(99 102 241) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}

.gallery-thumbnail[data-image-type="variant"] {
    border: 2px solid transparent;
}

.gallery-thumbnail[data-image-type="variant"]:hover {
    border-color: rgb(99 102 241);
}

/* Price update animation */
.price-updating {
    animation: priceUpdate 0.3s ease-in-out;
}

@keyframes priceUpdate {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

/* Variant selection feedback */
.variant-selected-feedback {
    animation: variantSelected 0.4s ease-in-out;
}

@keyframes variantSelected {
    0% { 
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.4);
    }
    70% { 
        transform: scale(1.02);
        box-shadow: 0 0 0 10px rgba(99, 102, 241, 0);
    }
    100% { 
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(99, 102, 241, 0);
    }
}
