
.wshb-swatches{margin:12px 0}.wshb-swatches__label{font-weight:600;margin-bottom:8px}.wshb-swatches__list{display:flex;flex-wrap:wrap;gap:8px}
.wshb-swatch{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #d8d8d8;border-radius:6px;padding:6px 9px;cursor:pointer}
.wshb-swatch:hover,.wshb-swatch.is-selected{border-color:#111}.wshb-swatch__dot{width:22px;height:22px;border-radius:50%;background:var(--wshb-swatch,#eee);border:1px solid rgba(0,0,0,.18)}
.wshb-swatch[data-has-hex="0"] .wshb-swatch__dot{background:linear-gradient(135deg,#eee 0 45%,#ccc 45% 55%,#eee 55% 100%)}

/* =========================================================
   BM PRODUCT VARIATION UI
   Colour + Size visual controls
   WooCommerce selects remain in DOM as source of truth
   ========================================================= */

.single-product .wshb-swatches{
  margin:22px 0 0;
}

.single-product .wshb-swatches + .wshb-swatches{
  margin-top:22px;
}

.single-product .wshb-swatches__label{
  display:block;
  margin:0 0 10px;
  font-size:16px;
  line-height:1.3;
  font-weight:700;
  color:#111;
}

.single-product .wshb-swatches__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}

/* Colour buttons */
.single-product .wshb-swatches--colour .wshb-swatch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:7px 12px;
  margin:0;
  background:#fff;
  border:1px solid #d7d7d7;
  border-radius:6px;
  color:#111;
  font:inherit;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  transition:border-color .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.single-product .wshb-swatches--colour .wshb-swatch__dot{
  display:block;
  flex:0 0 26px;
  width:26px;
  height:26px;
  border-radius:50%;
  background:var(--wshb-swatch,#eee);
  border:1px solid rgba(0,0,0,.18);
}

.single-product .wshb-swatches--colour .wshb-swatch__name{
  font-size:14px;
  line-height:1.1;
  white-space:nowrap;
}

/* Size buttons */
.single-product .wshb-size-list{
  gap:8px;
}

.single-product .wshb-size-swatch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  min-height:44px;
  padding:7px 11px;
  margin:0;
  background:#fff;
  border:1px solid #d7d7d7;
  border-radius:6px;
  color:#111;
  font:inherit;
  font-size:14px;
  font-weight:500;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  transition:border-color .15s ease, box-shadow .15s ease, opacity .15s ease;
}

/* Hover */
.single-product .wshb-swatch:not(:disabled):hover{
  border-color:#777;
}

/* Selected */
.single-product .wshb-swatch.is-selected{
  border-color:#111;
  box-shadow:0 0 0 1px #111;
}

/* Unavailable variation option */
.single-product .wshb-swatch.is-disabled,
.single-product .wshb-swatch:disabled{
  position:relative;
  opacity:.35;
  cursor:not-allowed;
}

/* Keep WooCommerce variation machinery alive,
   but visually remove its duplicate table UI. */
.single-product form.variations_form table.variations{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* Keep WooCommerce variation result visible */
.single-product form.variations_form .single_variation_wrap{
  margin-top:24px;
}

/* Mobile */
@media (max-width: 767px){

  .single-product .wshb-swatches{
    margin-top:18px;
  }

  .single-product .wshb-swatches + .wshb-swatches{
    margin-top:18px;
  }

  .single-product .wshb-swatches__list{
    gap:7px;
  }

  .single-product .wshb-swatches--colour .wshb-swatch{
    min-height:44px;
    padding:7px 10px;
  }

  .single-product .wshb-swatches--colour .wshb-swatch__dot{
    width:24px;
    height:24px;
    flex-basis:24px;
  }

  .single-product .wshb-swatches--colour .wshb-swatch__name{
    font-size:13px;
  }

  .single-product .wshb-size-swatch{
    min-width:44px;
    min-height:44px;
    padding:7px 10px;
  }
}


/* BM Clear selection */
.single-product .bm-variation-reset{
  display:inline-block;
  margin:12px 0 0;
  padding:0;
  border:0;
  background:none;
  color:#555;
  font:inherit;
  font-size:13px;
  line-height:1.4;
  text-decoration:underline;
  cursor:pointer;
}

.single-product .bm-variation-reset:hover{
  color:#111;
}

.single-product .bm-variation-reset[hidden]{
  display:none !important;
}

/* Improved Clear selection button */
.single-product .bm-variation-reset{
  display:flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:42px;
  margin:14px 0 0 !important;
  padding:8px 16px !important;

  background:#fff !important;
  border:1px solid #cfcfcf !important;
  border-radius:6px !important;

  color:#333 !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  text-decoration:none !important;

  cursor:pointer;
  box-shadow:none !important;
  transition:border-color .15s ease, background-color .15s ease;
}

.single-product .bm-variation-reset:hover,
.single-product .bm-variation-reset:focus{
  background:#f7f7f7 !important;
  border-color:#777 !important;
  color:#111 !important;
}

.single-product .bm-variation-reset[hidden]{
  display:none !important;
}

@media (max-width:767px){
  .single-product .bm-variation-reset{
    min-height:44px;
    padding:9px 16px !important;
    font-size:14px !important;
  }
}
