/* Hide Out of Stock Variations - CSS */

/* Hide out of stock options */
.variations select option.out-of-stock-option,
.variations select option[style*="display: none"],
.variations select option:disabled {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    z-index: -9999 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    font-size: 0 !important;
}

/* Hide swatches and radio buttons */
.variations .value.out-of-stock,
.variations input[type="radio"].out-of-stock,
.variations label.out-of-stock {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    z-index: -9999 !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Additional selectors for various swatch plugins */
.variation-swatches .swatch.out-of-stock,
.wcvp-swatches .swatch.out-of-stock,
.wpzoom-vcf-swatches .swatch.out-of-stock,
.yith-wcvs-style-list li.out-of-stock,
.yith-wcvs-style-label li.out-of-stock {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    z-index: -9999 !important;
    pointer-events: none !important;
}

/* Force hide with multiple properties */
[class*="out-of-stock"],
[data-stock-status="outofstock"],
[data-stock="0"] {
    display: none !important;
}

/* Ensure form elements work properly */
form.variations_form select[name^="attribute_"] {
    min-width: 150px;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

form.variations_form select[name^="attribute_"] option:not(.out-of-stock-option) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    z-index: auto !important;
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 4px !important;
    border: 1px solid #ccc !important;
    font-size: 14px !important;
}