/* Stepper like the Woo Blocks cart one. px sizes and a local reset: the theme kit restyles every button. */
.glowme-qty-off,
.glowme-qty-off ~ .added_to_cart,
.e-loop-add-to-cart-form-container:has(.glowme-qty) .added_to_cart, /* workaround: Elementor Pro 4.1.2 loop add-to-cart moves Woo's «Просмотр корзины» out of the form */
.glowme-qty[hidden],
.glowme-qty [hidden] { display: none !important; }

.glowme-qty {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  height: 40px;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  background: #fff;
  color: #252525;
  font-size: 14px;
  line-height: 20px;
  vertical-align: middle;
}
.glowme-qty .glowme-qty__btn {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  width: 36px;
  height: 38px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #252525;
  font: inherit;
  font-size: 18px;
  line-height: 38px;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
}
.glowme-qty .glowme-qty__btn:hover { background: #f9f9f9; color: #252525; }
.glowme-qty .glowme-qty__btn:focus-visible { outline: 2px solid #252525; outline-offset: -2px; }
.glowme-qty .glowme-qty__btn:disabled { background: transparent; color: #777; opacity: .5; cursor: default; }
.glowme-qty .glowme-qty__value { min-width: 28px; text-align: center; }
.glowme-qty__error { display: block; margin-top: 4px; color: #b32d2e; font-size: 12px; line-height: 16px; overflow-wrap: normal; word-break: normal; }
.elementor-menu-cart__product .glowme-qty { height: 32px; margin-right: 8px; }
.elementor-menu-cart__product .glowme-qty .glowme-qty__btn { width: 30px; height: 30px; line-height: 30px; }
/* Sizes of the native buttons it replaces, measured live 2026-10-15. The theme sizes them in rem on a vw-scaled root (8–10.7px), so rem is the only exact match. */
.e-loop-add-to-cart-form .glowme-qty { height: 3.6rem; } /* card: the 3.6rem square cart icon */
.e-loop-add-to-cart-form .glowme-qty .glowme-qty__btn { width: 3.6rem; height: calc(3.6rem - 2px); line-height: calc(3.6rem - 2px); }
body.single-product form.cart:not(.e-loop-add-to-cart-form) .glowme-qty { width: calc(17.25rem + 2px); height: calc(5rem + 2px); margin-top: 1.6rem; justify-content: space-between; } /* product page: «В корзину», 2×4rem padding + 9.25rem text, 1.6rem top margin */
/* workaround: Elementor Pro 4.1.2 product add-to-cart widget styles `.cart button` at (0,4,1) and gives it flex-basis 100% at (0,5,4): repeat the reset and states above it, max-width caps the basis. */
body.single-product form.cart:not(.e-loop-add-to-cart-form) .glowme-qty .glowme-qty__btn { flex: none; width: 5rem; max-width: 5rem; height: 5rem; padding: 0; border: 0; background: transparent; color: #252525; font-size: 18px; line-height: 5rem; text-transform: none; }
body.single-product form.cart:not(.e-loop-add-to-cart-form) .glowme-qty .glowme-qty__btn:hover { background: #f9f9f9; color: #252525; }
body.single-product form.cart:not(.e-loop-add-to-cart-form) .glowme-qty .glowme-qty__btn:disabled { background: transparent; color: #777; }
body.single-product form.cart:not(.e-loop-add-to-cart-form) .glowme-qty .glowme-qty__btn:focus-visible { outline: 2px solid #252525; outline-offset: -2px; }
/* Card and product forms are nowrap flex rows: the hint hangs under the form, out of the flow, so nothing around it moves; it wraps within the control's width. */
form.cart:has(.glowme-qty__error) { position: relative; }
form.cart .glowme-qty__error { position: absolute; top: 100%; left: 0; right: 0; z-index: 1; background: #fff; } /* a long message may reach the next card: stay legible over it */
.e-loop-add-to-cart-form .glowme-qty__error { text-align: right; }
