/* BeLight Product Options 0.1.0. No global gallery/lightbox/image selectors.
 * Repeating the root class intentionally beats common Woo theme selectors.
 * Elementor-generated per-widget controls have greater specificity. */
.elementor-widget-belight-product-options { min-width:0; max-width:100%; width:100%; }
.elementor-widget-belight-product-options .blc.blc {
    --blc-row-gap:16px; --blc-label-gap:8px; --blc-action-gap:10px;
    --blc-label-color:#172554; --blc-selected-color:#0a1f5c;
    --blc-photo-size:66px; --blc-photo-padding:4px; --blc-option-height:36px; --blc-option-width:54px;
    --blc-swatch-gap:8px; --blc-swatch-radius:9px; --blc-swatch-bg:#fff; --blc-swatch-border:#dce7f3; --blc-swatch-color:#172554;
    --blc-swatch-bg-hover:#f4f9ff; --blc-swatch-border-hover:#8fbff5; --blc-swatch-color-hover:#0d6efd;
    --blc-swatch-bg-active:#f1f8ff; --blc-swatch-border-active:#0d6efd; --blc-swatch-color-active:#0d6efd;
    --blc-qty-width:112px; --blc-qty-height:52px; --blc-qty-radius:12px; --blc-qty-bg:#f3f8fd; --blc-qty-border:#dce7f3; --blc-qty-color:#172554; --blc-qty-hover:#e8f3ff;
    --blc-extra-basis:auto; --blc-link-color:#0d6efd; --blc-link-hover:#0057c5;
    width:100%; max-width:100%; min-width:0; box-sizing:border-box; color:#172554;
    container:blc / inline-size;
}
.elementor-widget-belight-product-options .blc.blc *, .elementor-widget-belight-product-options .blc.blc *::before, .elementor-widget-belight-product-options .blc.blc *::after { box-sizing:border-box; }
.elementor-widget-belight-product-options .blc.blc [hidden], .elementor-widget-belight-product-options .blc.blc template { display:none !important; }
.elementor-widget-belight-product-options .blc.blc form.cart { display:block; width:100%; max-width:100%; min-width:0; margin:0; float:none; }
.elementor-widget-belight-product-options .blc.blc table.variations { display:block; width:100%; margin:0 0 16px; border:0; background:none; border-collapse:collapse; }
.elementor-widget-belight-product-options .blc.blc table.variations tbody { display:flex; flex-direction:column; gap:var(--blc-row-gap); width:100%; }
.elementor-widget-belight-product-options .blc.blc table.variations tr { display:flex; flex-direction:column; width:100%; gap:var(--blc-label-gap); border:0; background:none; }
.elementor-widget-belight-product-options .blc.blc table.variations th.label, .elementor-widget-belight-product-options .blc.blc table.variations td.label {
    display:flex; flex-wrap:wrap; align-items:center; width:100%; margin:0; padding:0; min-width:0;
    border:0; background:none; color:var(--blc-label-color); font-size:13px; line-height:1.4; font-weight:600; text-align:start;
}
.elementor-widget-belight-product-options .blc.blc table.variations th.label label, .elementor-widget-belight-product-options .blc.blc table.variations td.label label { margin:0; padding:0; color:inherit; font:inherit; }
.elementor-widget-belight-product-options .blc.blc table.variations td.value { display:block; width:100%; padding:0; margin:0; border:0; background:none; position:relative; }
.elementor-widget-belight-product-options .blc.blc .blc-selected-value { color:var(--blc-selected-color); font-weight:500; }
.elementor-widget-belight-product-options .blc.blc .blc-guide { display:inline-flex; align-items:center; gap:6px; margin-inline-start:auto; color:var(--blc-link-color); font-size:12px; font-weight:500; text-decoration:none; }
.elementor-widget-belight-product-options .blc.blc .blc-guide svg { width:17px; height:17px; flex:none; }
.elementor-widget-belight-product-options .blc.blc .blc-guide:hover, .elementor-widget-belight-product-options .blc.blc .reset_variations:hover { color:var(--blc-link-hover); }
.elementor-widget-belight-product-options .blc.blc .reset_variations { display:inline-block; margin-top:10px; color:var(--blc-link-color); font-size:12px; font-weight:400; }
.elementor-widget-belight-product-options .blc.blc .blc-native-select { position:absolute !important; width:1px !important; height:1px !important; min-height:0 !important; padding:0 !important; margin:-1px !important; clip:rect(0,0,0,0) !important; clip-path:inset(50%) !important; overflow:hidden !important; white-space:nowrap; border:0 !important; }
/* Hide only competing swatch UI in a select cell replaced by OUR controls. */
.elementor-widget-belight-product-options .blc.blc .blc-own-options :is(.variable-items-wrapper,.woo-variation-items-wrapper,.cfvsw-swatches-container,.wvs-swatches-wrapper,.thwvsf-wrapper-ul,.tawcvs-swatches,.swatchly-swatch-wrap,.swatches-select) { display:none !important; }
.elementor-widget-belight-product-options .blc.blc .blc-swatches { display:flex; flex-flow:row wrap; align-items:start; gap:var(--blc-swatch-gap); width:100%; max-width:100%; margin:0; padding:0; }
.elementor-widget-belight-product-options .blc.blc .blc-swatch {
    -webkit-appearance:none; appearance:none; display:flex; flex-direction:column; justify-content:center; align-items:center;
    position:relative; flex:0 0 auto; min-width:var(--blc-option-width); min-height:var(--blc-option-height);
    width:auto; height:auto; padding:6px 12px; margin:0; float:none; border:1px solid var(--blc-swatch-border);
    border-radius:var(--blc-swatch-radius); background:var(--blc-swatch-bg); background-image:none;
    color:var(--blc-swatch-color); font-family:inherit; font-size:13px; font-weight:500; line-height:1.25; text-transform:none; text-decoration:none;
    box-shadow:none; cursor:pointer; transition:background-color .18s,border-color .18s,box-shadow .18s;
}
.elementor-widget-belight-product-options .blc.blc .blc-swatch::before { display:none; }
.elementor-widget-belight-product-options .blc.blc .blc-swatch-image { display:none; }
.elementor-widget-belight-product-options .blc.blc .blc-swatches[data-kind="image"] .blc-swatch { width:var(--blc-photo-size); min-width:var(--blc-photo-size); height:var(--blc-photo-size); min-height:var(--blc-photo-size); padding:var(--blc-photo-padding); }
.elementor-widget-belight-product-options .blc.blc .blc-swatch.has-image img.blc-swatch-image { display:block; width:100%; height:100%; max-width:100%; object-fit:contain; padding:0; margin:0; border:0; border-radius:4px; background:#fff; }
.elementor-widget-belight-product-options .blc.blc .blc-swatch.has-image:not(.blc-with-label) .blc-swatch-label { display:none; }
.elementor-widget-belight-product-options .blc.blc .blc-swatches[data-kind="image"] .blc-swatch.blc-with-label { height:auto; min-height:calc(var(--blc-photo-size) + 18px); }
.elementor-widget-belight-product-options .blc.blc .blc-swatch.blc-with-label.has-image img.blc-swatch-image { height:calc(var(--blc-photo-size) - 2 * var(--blc-photo-padding)); }
.elementor-widget-belight-product-options .blc.blc .blc-swatch.blc-with-label .blc-swatch-label { font-size:11px; margin-top:4px; max-width:100%; overflow-wrap:anywhere; }
.elementor-widget-belight-product-options .blc.blc .blc-swatch:hover:not(:disabled) { background:var(--blc-swatch-bg-hover); border-color:var(--blc-swatch-border-hover); color:var(--blc-swatch-color-hover); box-shadow:0 2px 8px #0d6efd0d; }
.elementor-widget-belight-product-options .blc.blc .blc-swatch.is-active { background:var(--blc-swatch-bg-active); border-color:var(--blc-swatch-border-active); color:var(--blc-swatch-color-active); box-shadow:inset 0 0 0 1px var(--blc-swatch-border-active); }
.elementor-widget-belight-product-options .blc.blc .blc-swatch.is-active.has-image::after { content:'✓'; position:absolute; top:-5px; right:-5px; display:flex; align-items:center; justify-content:center; width:17px; height:17px; border:2px solid #fff; border-radius:50%; color:#fff; background:var(--blc-swatch-border-active); font:600 11px/1 sans-serif; }
.elementor-widget-belight-product-options .blc.blc.blc-no-tick .blc-swatch::after { display:none; }
.elementor-widget-belight-product-options .blc.blc .blc-swatch:disabled { opacity:.38; cursor:not-allowed; box-shadow:none; text-decoration:line-through; }
.elementor-widget-belight-product-options .blc.blc .blc-swatch:focus-visible, .elementor-widget-belight-product-options .blc.blc .blc-qty-step:focus-visible, .elementor-widget-belight-product-options .blc.blc .blc-extra:focus-visible, .elementor-widget-belight-product-options .blc.blc .single_add_to_cart_button:focus-visible { outline:2px solid #0d6efd; outline-offset:3px; }
.elementor-widget-belight-product-options .blc.blc .single_variation_wrap { margin:0; width:100%; }
.elementor-widget-belight-product-options .blc.blc .woocommerce-variation { margin-bottom:12px; }
.elementor-widget-belight-product-options .blc.blc .woocommerce-variation:empty { margin-bottom:0; }
.elementor-widget-belight-product-options .blc.blc .stock { margin:0 0 10px; }
.elementor-widget-belight-product-options .blc.blc .stock.in-stock { color:#138d43; }
.elementor-widget-belight-product-options .blc.blc .blc-actions { display:flex; flex-flow:row wrap; align-items:stretch; gap:var(--blc-action-gap); width:100%; min-width:0; margin:0; }
.elementor-widget-belight-product-options .blc.blc .blc-actions .quantity { flex:0 0 var(--blc-qty-width); width:var(--blc-qty-width); max-width:100%; margin:0; float:none; }
.elementor-widget-belight-product-options .blc.blc .blc-actions .blc-quantity {
    display:flex; align-items:stretch; height:var(--blc-qty-height); min-height:var(--blc-qty-height);
    border:1px solid var(--blc-qty-border); border-radius:var(--blc-qty-radius); background:var(--blc-qty-bg); overflow:hidden;
}
.elementor-widget-belight-product-options .blc.blc .blc-quantity input.qty {
    appearance:textfield; -moz-appearance:textfield; flex:1 1 0; width:0; min-width:0; max-width:100%; height:100%; padding:0; margin:0; border:0;
    border-radius:0; background:#ffffffb8; box-shadow:none; text-align:center; font-family:inherit; font-size:15px; font-weight:600; color:var(--blc-qty-color);
}
.elementor-widget-belight-product-options .blc.blc .blc-quantity input.qty::-webkit-inner-spin-button,.elementor-widget-belight-product-options .blc.blc .blc-quantity input.qty::-webkit-outer-spin-button { appearance:none; margin:0; }
.elementor-widget-belight-product-options .blc.blc .blc-qty-step { appearance:none; flex:0 0 30px; width:30px; min-width:0; min-height:0; padding:0; margin:0; border:0; border-radius:0; background:transparent; background-image:none; box-shadow:none; color:var(--blc-qty-color); font-family:inherit; font-weight:500; font-size:20px; line-height:1; cursor:pointer; }
.elementor-widget-belight-product-options .blc.blc .blc-qty-step:hover:not(:disabled) { background:var(--blc-qty-hover); color:#0d6efd; }
.elementor-widget-belight-product-options .blc.blc .blc-qty-step:disabled { opacity:.35; cursor:default; }
.elementor-widget-belight-product-options .blc.blc .blc-quantity > :is(.plus,.minus) { display:none !important; }
.elementor-widget-belight-product-options .blc.blc .blc-actions .single_add_to_cart_button, .elementor-widget-belight-product-options .blc.blc .blc-extra {
    --blc-icon-size:21px; display:inline-flex; justify-content:center; align-items:center; gap:9px;
    flex:1 1 140px; min-width:0; max-width:100%; min-height:52px; float:none; margin:0; padding:10px 14px;
    border:1px solid transparent; border-radius:12px; background:#066bff; background-image:none;
    color:#fff; box-shadow:none; font-family:inherit; font-size:14px; line-height:1.35; font-weight:600; text-transform:none;
    text-align:center; text-decoration:none; white-space:normal; cursor:pointer; transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s;
}
.elementor-widget-belight-product-options .blc.blc .blc-actions .single_add_to_cart_button:hover { background-color:#0057d8; color:#fff; }
.elementor-widget-belight-product-options .blc.blc .blc-actions .single_add_to_cart_button.disabled, .elementor-widget-belight-product-options .blc.blc .blc-actions .single_add_to_cart_button:disabled { opacity:.48; cursor:not-allowed; }
.elementor-widget-belight-product-options .blc.blc .blc-extra { flex:1 1 var(--blc-extra-basis); min-width:170px; background-color:#009b43; font-size:12px; }
.elementor-widget-belight-product-options .blc.blc .blc-extra:hover { background-color:#007d36; color:#fff; }
.elementor-widget-belight-product-options .blc.blc .blc-extra-text { white-space:pre-line; overflow-wrap:anywhere; }
.elementor-widget-belight-product-options .blc.blc .blc-extra[aria-disabled="true"] { cursor:not-allowed; }
.elementor-widget-belight-product-options .blc.blc .blc-icon { display:inline-flex; justify-content:center; align-items:center; width:var(--blc-icon-size); height:var(--blc-icon-size); flex:0 0 var(--blc-icon-size); line-height:1; font-size:var(--blc-icon-size); }
.elementor-widget-belight-product-options .blc.blc .blc-icon svg { width:100%; height:100%; fill:none; }
.elementor-widget-belight-product-options .blc.blc .blc-icon svg:not([stroke]) { fill:currentColor; }
.elementor-widget-belight-product-options .blc.blc .blc-extra-fallback { display:flex; margin-top:12px; }
.elementor-widget-belight-product-options .blc.blc .blc-feedback { padding:8px 10px; margin:12px 0 0; background:#fff8e8; color:#684a12; border-radius:6px; font-size:13px; }
.elementor-widget-belight-product-options .blc.blc .blc-notice { padding:12px; border:1px solid #dce7f3; color:#172554; background:#f7fbff; font-size:13px; }
.elementor-widget-belight-product-options .blc.blc.blc-no-reset .reset_variations { display:none !important; }
.elementor-widget-belight-product-options .blc.blc.blc-no-stock .stock.in-stock, .elementor-widget-belight-product-options .blc.blc.blc-no-variation-price .woocommerce-variation-price, .elementor-widget-belight-product-options .blc.blc.blc-no-description .woocommerce-variation-description { display:none; }
/* A source-gallery snapshot is inert HTML, not another visible gallery. */
.elementor-widget-belight-product-options .blc.blc template.wc-product-gallery-default-template { display:none !important; }
@container blc (max-width:520px) {
    .elementor-widget-belight-product-options .blc.blc .blc-extra { flex-basis:100%; width:100%; }
}
@media (max-width:767px) {
    .elementor-widget-belight-product-options .blc.blc { --blc-photo-size:58px; --blc-option-height:40px; --blc-option-width:46px; --blc-swatch-gap:7px; --blc-row-gap:14px; --blc-qty-width:106px; --blc-qty-height:48px; --blc-action-gap:8px; --blc-extra-basis:100%; }
    .elementor-widget-belight-product-options .blc.blc .blc-actions .single_add_to_cart_button,.elementor-widget-belight-product-options .blc.blc .blc-extra { min-height:48px; }
    .elementor-widget-belight-product-options .blc.blc .blc-extra { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .elementor-widget-belight-product-options .blc.blc .blc-swatch,.elementor-widget-belight-product-options .blc.blc .blc-extra,.elementor-widget-belight-product-options .blc.blc .single_add_to_cart_button { transition:none; } }
/* Hidden quantities (sold individually) must not reserve an empty column. */
.elementor-widget-belight-product-options .blc.blc .blc-actions .quantity:has(> input.qty[type="hidden"]) { display:none !important; }
.elementor-widget-belight-product-options .blc.blc .blc-actions .quantity:not(.blc-quantity) input.qty:not([type="hidden"]) { width:100%; max-width:100%; min-height:var(--blc-qty-height); border:1px solid var(--blc-qty-border); border-radius:var(--blc-qty-radius); padding:8px; margin:0; background:var(--blc-qty-bg); color:var(--blc-qty-color); text-align:center; }
