/* BinBon Shopee-style quantity controls - v1.2.3 */
.bb-product-qty-stepper {
  display: inline-flex;
  align-items: stretch;
  height: 40px;
  border: 1px solid #d9d9d9;
  background: #fff;
  vertical-align: middle;
  box-sizing: border-box;
}
.bb-product-qty-stepper .bb-qty-step {
  width: 40px;
  min-width: 40px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #555;
  font-size: 20px;
  line-height: 38px;
  text-align: center;
  float: none;
  box-shadow: none;
}
.bb-product-qty-stepper .bb-qty-minus { border-right: 1px solid #e3e3e3; }
.bb-product-qty-stepper .bb-qty-plus { border-left: 1px solid #e3e3e3; }
.bb-product-qty-stepper #input-quantity.form-control {
  width: 56px;
  min-width: 56px;
  height: 38px;
  min-height: 38px;
  padding: 0 6px;
  margin: 0 !important;
  float: none !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-align: center;
  background: #fff;
}
.bb-qty-step:hover:not(:disabled) { background: #f6f6f6; color: #111; }
.bb-qty-step:disabled { cursor: not-allowed; color: #c9c9c9; background: #fafafa; }

/* Sneaker Shoes product detail: keep Quantity and Buy button on the same row,
   with Wishlist/Compare moved to the next row. This neutralizes the theme's
   legacy float/margin rules and matches the requested layout. */
.product-info-main label[for='input-quantity'] {
  float: left;
  line-height: 40px !important;
  margin-top: 5px !important;
  margin-right: 12px;
  margin-bottom: 0;
}
.product-info-main .bb-product-qty-stepper {
  float: left;
  margin-top: 5px;
  margin-right: 12px;
}
.product-info-main #button-cart.button-cart {
  clear: none;
  display: inline-block;
  vertical-align: top;
  margin-top: 5px;
  margin-left: 0;
  min-height: 40px;
}
.product-info-main button.btn-wishlist {
  clear: both;
  display: inline-block;
  margin-top: 8px;
}
.product-info-main button.btn-compare {
  clear: none;
  display: inline-block;
  margin-top: 8px;
}
@media (max-width: 767px) {
  .product-info-main label[for='input-quantity'] {
    float: none;
    display: block;
    margin-right: 0;
  }
  .product-info-main .bb-product-qty-stepper {
    float: left;
  }
  .product-info-main #button-cart.button-cart {
    display: inline-block;
    margin-top: 5px;
  }
}

/* Default/fallback cart (used by Sneaker Shoes) and BinBon cart. */
.bb-cart-qty-control {
  display: inline-flex !important;
  align-items: stretch;
  width: auto !important;
  min-width: 0;
  max-width: none !important;
  vertical-align: middle;
}
.bb-cart-qty-control > .bb-qty-step {
  width: 38px;
  min-width: 38px;
  height: 34px;
  padding: 0;
  border: 1px solid #ddd;
  border-radius: 0;
  background: #fff;
  color: #555;
  font-size: 18px;
  line-height: 32px;
  text-align: center;
}
.bb-cart-qty-control > .bb-qty-minus { border-right: 0; }
.bb-cart-qty-control > .bb-qty-plus { border-left: 0; }
.bb-cart-qty-control > .bb-cart-qty-input.form-control {
  width: 52px !important;
  min-width: 52px;
  height: 34px;
  padding: 0 5px;
  border-radius: 0;
  box-shadow: none;
  text-align: center;
  float: none;
}
.bb-cart-qty-control > .input-group-btn {
  display: inline-flex !important;
  width: auto;
  vertical-align: top;
}
/* Refresh is redundant because typing and +/- submit the native cart form automatically. */
.bb-cart-qty-control > .input-group-btn > .btn-primary,
body.binbon-theme .bb-cart-qty-control .bb-cart-update {
  display: none !important;
}
.bb-cart-qty-control > .input-group-btn > .btn-danger {
  height: 34px;
  border-radius: 0 3px 3px 0;
}

/* BinBon editorial cart specifics. */
body.binbon-theme .bb-cart-qty-control {
  grid-template-columns: 38px minmax(44px, 1fr) 38px !important;
}
body.binbon-theme .bb-cart-qty-control .bb-qty-step {
  height: 38px;
  min-height: 38px;
  padding: 0;
  border: 0;
  background: #fff;
  color: #555;
  font-size: 18px;
  line-height: 38px;
  text-align: center;
}
body.binbon-theme .bb-cart-qty-control .bb-qty-minus { border-right: 1px solid #d8d3cc; }
body.binbon-theme .bb-cart-qty-control .bb-qty-plus { border-left: 1px solid #d8d3cc; }
body.binbon-theme .bb-cart-qty-control .form-control { text-align: center; padding-left: 4px; padding-right: 4px; }
@media (max-width: 767px) {
  body.binbon-theme .bb-cart-line-qty { width: 124px; }
  .product-info-main button.btn-wishlist,
  .product-info-main button.btn-compare { padding-left: 18px; padding-right: 18px; }
}
