/* Barry's Wholesale v0.8.1 — dedicated simple-product buy box.
   This component intentionally does NOT use WooCommerce's .button or
   .single_add_to_cart_button classes, preventing historical theme rules from
   collapsing its width or shape. */

body.single-product form.bw-buybox {
  display:block !important;
  float:none !important;
  clear:both !important;
  width:min(100%, 440px) !important;
  max-width:440px !important;
  margin:12px 0 30px !important;
  padding:0 !important;
}

body.single-product .bw-buybox__quantity-group {
  display:block !important;
  width:126px !important;
  margin:0 0 16px !important;
}

body.single-product .bw-buybox__label {
  display:block !important;
  margin:0 0 8px !important;
  color:#66645f !important;
  font-size:9px !important;
  font-weight:850 !important;
  line-height:1 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}

body.single-product .bw-buybox__stepper {
  display:grid !important;
  grid-template-columns:36px 54px 36px !important;
  width:126px !important;
  height:46px !important;
  overflow:hidden !important;
  border:1px solid #d6d2ca !important;
  border-radius:999px !important;
  background:#fff !important;
  box-shadow:0 2px 10px rgba(17,17,17,.04) !important;
}

body.single-product .bw-buybox__stepper > .bw-qty-btn {
  appearance:none !important;
  -webkit-appearance:none !important;
  display:grid !important;
  place-items:center !important;
  width:36px !important;
  height:44px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#111 !important;
  font:700 18px/1 Arial,Helvetica,sans-serif !important;
  cursor:pointer !important;
  transition:background-color .15s ease, transform .15s ease !important;
}
body.single-product .bw-buybox__stepper > .bw-qty-btn:hover { background:#f3f1ec !important; }
body.single-product .bw-buybox__stepper > .bw-qty-btn:active { transform:scale(.94); }

body.single-product .bw-buybox__stepper > .quantity {
  display:block !important;
  float:none !important;
  width:54px !important;
  height:44px !important;
  margin:0 !important;
}

body.single-product .bw-buybox__stepper input.qty {
  appearance:textfield !important;
  -moz-appearance:textfield !important;
  display:block !important;
  width:54px !important;
  min-width:54px !important;
  max-width:54px !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-left:1px solid #ece9e3 !important;
  border-right:1px solid #ece9e3 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  color:#111 !important;
  text-align:center !important;
  font:800 14px/44px Arial,Helvetica,sans-serif !important;
  outline:0 !important;
}
body.single-product .bw-buybox__stepper input.qty::-webkit-inner-spin-button,
body.single-product .bw-buybox__stepper input.qty::-webkit-outer-spin-button {
  -webkit-appearance:none !important;
  margin:0 !important;
}

body.single-product button.bw-buybox__cta {
  appearance:none !important;
  -webkit-appearance:none !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:1fr 40px !important;
  align-items:center !important;
  float:none !important;
  clear:both !important;
  width:100% !important;
  min-width:100% !important;
  max-width:440px !important;
  height:60px !important;
  min-height:60px !important;
  margin:0 !important;
  padding:0 10px 0 28px !important;
  border:1px solid var(--accent) !important;
  border-radius:18px !important;
  background:var(--accent) !important;
  background-image:none !important;
  box-shadow:0 9px 28px rgba(17,17,17,.14) !important;
  color:var(--accent-text) !important;
  font:800 14px/1 Arial,Helvetica,sans-serif !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-decoration:none !important;
  cursor:pointer !important;
  overflow:hidden !important;
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
}

body.single-product .bw-buybox__cta-label {
  display:block !important;
  width:100% !important;
  text-align:center !important;
  transform:translateX(20px) !important;
}
body.single-product .bw-buybox__cta-icon {
  display:grid !important;
  place-items:center !important;
  width:40px !important;
  height:40px !important;
  border-radius:50% !important;
  background:rgba(17,17,17,.10) !important;
  color:var(--accent-text) !important;
  font-size:18px !important;
  line-height:1 !important;
  transition:transform .18s ease, background-color .18s ease !important;
}
body.single-product button.bw-buybox__cta:hover {
  filter:brightness(.94) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 13px 32px rgba(17,17,17,.18) !important;
}
body.single-product button.bw-buybox__cta:hover .bw-buybox__cta-icon {
  background:rgba(17,17,17,.16) !important;
  transform:translateX(2px) !important;
}
body.single-product button.bw-buybox__cta:active {
  transform:translateY(0) !important;
  box-shadow:0 6px 18px rgba(17,17,17,.12) !important;
}
body.single-product button.bw-buybox__cta:focus-visible {
  outline:2px solid var(--ink) !important;
  outline-offset:3px !important;
}

@media (max-width:680px) {
  body.single-product form.bw-buybox {
    width:100% !important;
    max-width:none !important;
  }
  body.single-product button.bw-buybox__cta {
    width:100% !important;
    min-width:100% !important;
    max-width:none !important;
    height:58px !important;
    min-height:58px !important;
  }
}
