/* The original select still supplies WooCommerce's form value and change events. */
body.single-product form.variations_form .w91-vd-native {
  position: absolute !important; width: 1px !important; min-width: 0 !important; max-width: 1px !important;
  height: 1px !important; padding: 0 !important; margin: -1px !important; border: 0 !important;
  overflow: hidden !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important;
  white-space: nowrap !important; pointer-events: none !important;
}
body.single-product form.variations_form .w91-vd { display: inline-block; width: 155px; max-width: 100%; vertical-align: top; }
body.single-product form.variations_form button.w91-vd-trigger {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  width: 100%; min-height: 44px; box-sizing: border-box; padding: 10px 20px;
  margin: 0; float: none; position: static; transform: none;
  border: 0; border-bottom: 1px solid #000; border-radius: 0; box-shadow: none;
  background: #fff; color: #333; font-family: system-ui, sans-serif; font-size: 13px;
  font-weight: 400; line-height: 1.4; letter-spacing: 0; text-transform: uppercase;
  text-align: left; cursor: pointer;
}
.w91-vd-trigger > span { overflow: hidden; text-overflow: ellipsis; }
.w91-vd-trigger::after { content: ''; flex: 0 0 8px; width: 8px; height: 8px; border-right: 1.5px solid #000; border-bottom: 1.5px solid #000; transform: translateY(-2px) rotate(45deg); }
.w91-vd-trigger[aria-expanded="true"]::after { transform: translateY(2px) rotate(225deg); }
body.single-product form.variations_form .w91-vd-trigger:focus-visible { outline: 2px solid #222; outline-offset: 3px; }
.w91-vd-trigger:disabled { opacity: .45; cursor: default; }
.w91-vd-menu {
  position: fixed; z-index: 999999; box-sizing: border-box; margin: 0; padding: 4px 0;
  list-style: none; background: #fff; color: #333; border: 1px solid #eee;
  border-radius: 0; box-shadow: 0 6px 18px rgb(0 0 0 / 7%); overflow-y: auto;
  overscroll-behavior: contain; font-family: system-ui, sans-serif; text-transform: none;
}
.w91-vd-menu[hidden] { display: none !important; }
.w91-vd-menu > .w91-vd-option {
  display: flex; justify-content: space-between; align-items: center; gap: 24px;
  min-height: 52px; box-sizing: border-box; margin: 0; padding: 14px 18px;
  font-size: 14px; font-weight: 500; line-height: 1.5; letter-spacing: 1px; cursor: pointer;
}
.w91-vd-option.is-active { background: #f7f7f7; }
.w91-vd-option[aria-selected="true"] > .w91-vd-value { text-decoration: underline; text-underline-offset: 4px; }
.w91-vd-option[aria-disabled="true"] { color: #aaa; cursor: default; }
.w91-vd-stock { color: #cf893b; font-size: 12px; font-weight: 400; letter-spacing: .5px; }
@media (max-width: 560px) { .w91-vd-menu > .w91-vd-option { min-height: 50px; padding: 13px 16px; } }
