/* FIGGZ Marketplace V295.6.27 - adaptive, DB-driven product variation controls with stock-aware availability. */
.single-product .fz2948-cart-area form.variations_form.fz2948-attribute-ui-ready table.variations tr.fz2948-attribute-row{margin-bottom:12px;gap:6px}
.single-product .fz2948-cart-area form.variations_form.fz2948-attribute-ui-ready table.variations label{display:block;margin:0 0 2px;color:#344054;font-size:12px;font-weight:900;text-transform:none}

/* Native WooCommerce select remains the source of truth. Enhanced choices hide it visually only. */
.single-product .fz2948-cart-area .fz2948-native-select-enhanced{position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}

.single-product .fz2948-cart-area .fz2948-attribute-choice-ui{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.single-product .fz2948-cart-area .fz2948-attribute-choice{min-height:36px;border:1px solid #cfd6df;border-radius:7px;background:#fff;color:#202938;padding:7px 12px;font:inherit;font-size:13px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease,opacity .14s ease}
.single-product .fz2948-cart-area .fz2948-attribute-choice:hover:not(:disabled),.single-product .fz2948-cart-area .fz2948-attribute-choice:focus-visible{border-color:#111827;outline:0;box-shadow:0 0 0 3px rgba(255,212,0,.18)}
.single-product .fz2948-cart-area .fz2948-attribute-choice.is-selected{border-color:#111827;background:#111827;color:#fff;box-shadow:0 0 0 2px #ffd400}
.single-product .fz2948-cart-area .fz2948-attribute-choice:disabled,.single-product .fz2948-cart-area .fz2948-attribute-choice.is-unavailable{opacity:.36;cursor:not-allowed;text-decoration:line-through;box-shadow:none}
.single-product .fz2948-cart-area .fz2948-attribute-choice-label{display:block;min-width:0;overflow-wrap:anywhere}

/* Color always stays visual. Every label is still shown so color is never communicated by color alone. */
.single-product .fz2948-cart-area .fz2948-attribute-choice-ui.is-swatch{gap:8px 9px}
.single-product .fz2948-cart-area .fz2948-attribute-choice-ui.is-swatch .fz2948-attribute-choice{min-height:38px;padding:5px 10px 5px 6px;border-radius:999px;background:#fff;color:#202938}
.single-product .fz2948-cart-area .fz2948-attribute-choice-ui.is-swatch .fz2948-attribute-choice.is-selected{background:#fff;color:#111827;border-color:#111827;box-shadow:0 0 0 2px #ffd400}
.single-product .fz2948-cart-area .fz2948-attribute-swatch-dot{width:25px;height:25px;flex:0 0 25px;border-radius:50%;border:1px solid rgba(17,24,39,.22);background:var(--fz2948-swatch-color,#e8ebef);box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.single-product .fz2948-cart-area .fz2948-attribute-swatch-dot.is-unmapped{background:linear-gradient(135deg,#f5f6f8 0 48%,#d7dce3 48% 52%,#fff 52% 100%)}

/* Larger non-color option sets stay compact and use WooCommerce's real DB-backed select. */
.single-product .fz2948-cart-area .fz2948-attribute-select-wrap{position:relative}
.single-product .fz2948-cart-area select.fz2948-attribute-select{display:block!important;width:100%!important;min-height:42px!important;height:42px!important;border:1px solid #cfd6df!important;border-radius:7px!important;background:#fff!important;color:#202938!important;padding:0 36px 0 11px!important;font-size:13px!important;line-height:42px!important;box-shadow:none!important;appearance:auto!important}
.single-product .fz2948-cart-area select.fz2948-attribute-select:focus{border-color:#111827!important;outline:0!important;box-shadow:0 0 0 3px rgba(255,212,0,.18)!important}

/* If a variation-swatch plugin is installed, FIGGZ owns the visible control only after enhancement succeeds. */
.single-product .fz2948-cart-area form.fz2948-attribute-ui-ready .fz2948-third-party-choice-ui{display:none!important}

@media (max-width:720px){
  .single-product .fz2948-cart-area .fz2948-attribute-choice-ui{gap:7px}
  .single-product .fz2948-cart-area .fz2948-attribute-choice{min-height:38px;padding:7px 11px;font-size:12px}
  .single-product .fz2948-cart-area .fz2948-attribute-choice-ui.is-swatch .fz2948-attribute-choice{min-height:38px;padding-right:9px}
  .single-product .fz2948-cart-area .fz2948-attribute-swatch-dot{width:24px;height:24px;flex-basis:24px}
}
[dir="rtl"] .single-product .fz2948-cart-area select.fz2948-attribute-select{padding:0 11px 0 36px!important}

/* V295.6.20: FIGGZ owns exactly one visible variation control per DB attribute. */
.single-product .fz2948-cart-area form.fz2948-attribute-ui-ready .fz2948-competing-choice-ui{display:none!important}

/* V295.6.21: take DOM ownership of the native WooCommerce select so a third-party
   swatch wrapper cannot remain visible beside the FIGGZ control. */
.single-product .fz2948-cart-area .fz2948-native-select-host{display:block;width:100%;position:relative}
.single-product .fz2948-cart-area .fz2948-native-select-host.is-source-only{height:0;min-height:0;overflow:visible}
.single-product .fz2948-cart-area .fz2948-native-select-host.is-select{display:block!important}
.single-product .fz2948-cart-area form.fz2948-attribute-ui-ready .fz2948-competing-choice-ui{display:none!important}

/* V295.6.27: values with no active, visible, purchasable, in-stock DB variation stay visible but disabled. */
.single-product .fz2948-cart-area .fz2948-attribute-choice.is-unavailable .fz2948-attribute-swatch-dot{filter:grayscale(.35);opacity:.58}
.single-product .fz2948-cart-area .fz2948-attribute-row.is-all-unavailable .fz2948-attribute-choice-ui{opacity:.72}
.single-product .fz2948-cart-area select.fz2948-attribute-select option:disabled{color:#98a2b3}

/* V295.6.27 authorized live variation inventory diagnostics. Hidden unless
   ?figgz_variation_debug=1 is requested by a user allowed to edit the product. */
.fz295627-debug{position:fixed;left:18px;right:18px;bottom:18px;z-index:100000;background:#fff;border:2px solid #111;border-radius:12px;box-shadow:0 18px 60px rgba(0,0,0,.28);font-size:12px;max-height:48vh;overflow:auto}
.fz295627-debug summary{cursor:pointer;padding:12px 14px;font-weight:900;background:#ffe600;color:#111;position:sticky;top:0;z-index:2}
.fz295627-debug summary small{font-weight:700}
.fz295627-debug-scroll{overflow:auto}
.fz295627-debug table{width:100%;border-collapse:collapse;background:#fff;min-width:980px}
.fz295627-debug th,.fz295627-debug td{padding:7px 8px;border:1px solid #e2e5e9;text-align:left;vertical-align:top;white-space:nowrap}
.fz295627-debug th{background:#111;color:#fff;position:sticky;top:42px}
.fz295627-debug-empty{margin:0;padding:14px;color:#b42318;font-weight:800}
.fz2948-no-sellable-variations .fz2948-attribute-choice{opacity:.42;cursor:not-allowed}
