/* Quantity controls are enhanced only after their JS handlers are attached. */
.veriphase .quantity.vp-quantity-control {
  display: inline-flex;
  align-items: stretch;
  flex: 0 0 auto;
  width: auto;
  min-width: 144px;
  max-width: 100%;
  min-height: 48px;
  margin: 0;
  border: 1px solid var(--line-2, #cbd9dc);
  border-radius: 12px;
  background: var(--paper-2, #fff);
  overflow: visible;
}
.veriphase .vp-quantity-control .vp-quantity-button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  min-width: 48px;
  min-height: 48px;
  padding: 0;
  border: 0;
  border-radius: 11px;
  box-shadow: none;
  background: transparent;
  color: var(--ink, #102129);
  font: inherit;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
}
.veriphase .vp-quantity-control .vp-quantity-button:hover:not(:disabled) { background: var(--teal-tint, #e8f3f2); }
.veriphase .vp-quantity-control .vp-quantity-button:disabled { opacity: .38; cursor: default; }
.veriphase .quantity.vp-quantity-control input.qty,
.veriphase.woocommerce div.product.vp-pdp form.cart .quantity.vp-quantity-control input.qty {
  appearance: textfield;
  -moz-appearance: textfield;
  flex: 1 1 48px;
  width: 48px;
  min-width: 48px;
  max-width: 80px;
  min-height: 48px;
  height: 48px;
  margin: 0;
  padding: 8px 2px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  text-align: center;
  color: var(--ink, #102129);
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}
.veriphase .vp-quantity-control input.qty::-webkit-inner-spin-button,
.veriphase .vp-quantity-control input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.veriphase .vp-quantity-control :is(input.qty, .vp-quantity-button):focus-visible { outline: 2px solid var(--teal, #087f78); outline-offset: 2px; position: relative; z-index: 1; }
.veriphase .vp-quantity-control input.qty[aria-invalid="true"] { box-shadow: inset 0 -2px var(--danger, #b32d2e); }
.veriphase.woocommerce div.product.vp-pdp form.cart { gap: 16px; flex-wrap: wrap; align-items: center; }
.veriphase.woocommerce div.product.vp-pdp form.cart::before,
.veriphase.woocommerce div.product.vp-pdp form.cart::after { content: none; display: none; }
.veriphase.woocommerce div.product.vp-pdp form.cart .quantity.vp-quantity-control { margin: 0; float: none; }
.veriphase.woocommerce div.product.vp-pdp form.cart .single_add_to_cart_button { min-height: 48px; flex: 1 1 180px; }
.veriphase.woocommerce-cart .woocommerce-cart-form table.cart .product-quantity { width: 176px; min-width: 160px; }
.veriphase.woocommerce-cart .woocommerce-cart-form table.cart td.product-remove a.remove { width: 44px; height: 44px; min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.veriphase .vp-cart-update-status { min-height: 1.5em; margin: 0 0 16px; color: var(--ink-3, #506570); font-size: 14px; line-height: 1.5; }
.veriphase .vp-cart-update-status.is-error { color: var(--danger, #a52b2b); }
.veriphase .vp-cart-update-status a { margin-inline-start: .5em; text-decoration: underline; }
.veriphase .vp-cart-auto-update:not(.vp-cart-update-failed) button[name="update_cart"] { display: none; }
.veriphase .checkout-button[aria-disabled="true"] { opacity: .6; cursor: progress; }
.veriphase .woocommerce-message .restore-item { display: inline-flex; align-items: center; min-height: 44px; padding-inline: 8px; }
@media (max-width: 767px) {
  .veriphase.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive.cart tr.cart_item td.product-quantity {
    width: auto;
    min-width: 0;
    margin-left: 0;
    margin-inline-start: 0;
    padding-top: 14px;
    clear: both;
  }
  .veriphase .woocommerce-cart-form .product-quantity .vp-quantity-control { margin-inline-start: auto; }
}
@media (max-width: 380px) {
  .veriphase.woocommerce div.product.vp-pdp form.cart .single_add_to_cart_button { flex-basis: 100%; }
}
