/* XVR Quantities 2.2.6 — scoped storefront layout; assets are loaded once through Document. */
.xvr-quantity-root { box-sizing:border-box; min-width:0; }
.xvr-quantity-root *, .input-group-quantity-cart-xvr *, .input-group-quantity-cart-packaging-xvr * { box-sizing:border-box; }
.xvr-quantity-root .text-quantity-unit-catalog-xvr,
.xvr-quantity-root .text-quantity-unit-product-xvr,
.xvr-quantity-root .text-quantity-packaging-catalog-xvr,
.xvr-quantity-root .text-quantity-packaging-product-xvr { display:block; margin:0 0 6px; color:#111; font-size:12px; font-weight:600; line-height:1.25; }
.input-group-quantity-xvr, .input-group-catalog-xvr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:100%; min-width:0; }
.input-group-quantity-xvr.without-packaging-xvr, .input-group-catalog-xvr.without-packaging-xvr { grid-template-columns:minmax(0,1fr); }
.input-group-quantity-default-xvr, .input-group-quantity-packaging-xvr, .input-group-quantity-catalog-xvr, .input-group-quantity-packaging-catalog-xvr { min-width:0; }
.xvr-quantity-root .number-spinner-XVR-button,
.xvr-quantity-root .number-spinner-XVR-button-packaging,
.input-group-quantity-cart-xvr .number-spinner-XVR-button,
.input-group-quantity-cart-packaging-xvr .number-spinner-XVR-button-packaging { --xvr-control-size:36px; display:grid; grid-template-columns:var(--xvr-control-size) minmax(0,1fr) var(--xvr-control-size); align-items:center; gap:6px; width:100%; min-width:0; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.xvr-quantity-root .qty-switch__btn_xvr,
.input-group-quantity-cart-xvr [data-dir], .input-group-quantity-cart-packaging-xvr [data-dir] { display:inline-flex; align-items:center; justify-content:center; width:var(--xvr-control-size); min-width:var(--xvr-control-size); height:var(--xvr-control-size); margin:0; padding:0; border:1px solid #111; border-radius:8px; background:#111; color:#fff; box-shadow:none; line-height:1; }
.xvr-quantity-root .input-quantity-XVR, .xvr-quantity-root .input-minimum_packaging-XVR,
.input-group-quantity-cart-xvr .input-quantity-XVR, .input-group-quantity-cart-packaging-xvr .input-minimum_packaging-XVR { display:block; width:100%; min-width:0; height:var(--xvr-control-size); margin:0; padding:4px 6px; border:1px solid #e1e5ea; border-radius:8px; background:#fff; color:#111; box-shadow:none; text-align:center; -webkit-appearance:none; appearance:none; }
.xvr-quantity-root .qty-switch__btn_xvr:focus-visible, .xvr-quantity-root .input-quantity-XVR:focus-visible, .xvr-quantity-root .input-minimum_packaging-XVR:focus-visible { outline:2px solid #111827; outline-offset:2px; box-shadow:0 0 0 3px rgba(255,193,7,.35); }
.input-group-quantity-xvr { max-width:560px; margin:14px 0 12px; }
#product-product .product-page__cart { display:grid !important; grid-template-columns:minmax(0,1fr) 48px !important; gap:10px 16px !important; width:100% !important; min-width:0 !important; }
#product-product .product-page__cart > .input-group-quantity-xvr { grid-column:1/-1; grid-row:1; max-width:none; margin:0; }
#product-product .product-page__cart > .product-page__add-to-cart { grid-column:1; grid-row:2; width:100%; min-width:0; height:42px; margin:0; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
#product-product .product-page__cart > .product-page__quick-order { grid-column:2; grid-row:2; width:48px; min-width:48px; height:42px; margin:0; padding-left:0; padding-right:0; display:inline-flex; align-items:center; justify-content:center; }
.quick-order__cart > .input-group-quantity-xvr { flex:0 0 100%; width:100%; max-width:none; margin:0 0 10px; }
.product-thumb .product-thumb__cart { display:flex !important; flex-flow:row wrap !important; align-items:stretch !important; gap:8px !important; min-width:0 !important; }
.product-thumb .product-thumb__cart > .input-group-catalog-xvr { flex:0 0 100%; width:100%; margin:0; }
.product-thumb .product-thumb__cart > .product-thumb__add-to-cart,
.product-thumb .product-thumb__cart > button.add_to_cart { flex:0 0 100% !important; width:100% !important; min-width:0 !important; height:34px !important; margin:0 !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:6px !important; position:relative !important; inset:auto !important; transform:none !important; }
@media (min-width:768px) {
  .product-thumb .xvr-quantity-root .number-spinner-XVR-button, .product-thumb .xvr-quantity-root .number-spinner-XVR-button-packaging { --xvr-control-size:24px; gap:3px; }
  .product-thumb .xvr-quantity-root .qty-switch__btn_xvr { border-radius:6px; }
  .product-thumb .xvr-quantity-root .input-quantity-XVR, .product-thumb .xvr-quantity-root .input-minimum_packaging-XVR { height:24px; padding:0 3px; border-radius:6px; font-size:10px; }
  .product-thumb .xvr-quantity-root .text-quantity-unit-catalog-xvr, .product-thumb .xvr-quantity-root .text-quantity-packaging-catalog-xvr { min-height:18px; margin-bottom:4px; font-size:9px; line-height:1.1; }
}
@media (max-width:767px) {
  .product-thumb, .product-thumb__caption, .product-thumb__cart { min-width:0 !important; max-width:100% !important; }
  .product-thumb .product-thumb__cart > .input-group-catalog-xvr { gap:5px; margin:10px 0 8px; }
  .product-thumb .xvr-quantity-root .number-spinner-XVR-button, .product-thumb .xvr-quantity-root .number-spinner-XVR-button-packaging { --xvr-control-size:20px; gap:2px; }
  .product-thumb .xvr-quantity-root .qty-switch__btn_xvr { border-radius:5px; font-size:9px; }
  .product-thumb .xvr-quantity-root .input-quantity-XVR, .product-thumb .xvr-quantity-root .input-minimum_packaging-XVR { height:20px; padding:0 2px; border-radius:5px; font-size:9px; }
  .product-thumb .xvr-quantity-root .text-quantity-unit-catalog-xvr, .product-thumb .xvr-quantity-root .text-quantity-packaging-catalog-xvr { min-height:18px; margin-bottom:3px; font-size:8px; line-height:1.1; }
}
@media (max-width:420px) {
  .input-group-quantity-xvr { gap:10px; }
  .input-group-quantity-xvr .number-spinner-XVR-button, .input-group-quantity-xvr .number-spinner-XVR-button-packaging { --xvr-control-size:34px; gap:4px; }
}

/* Shared cart component: compact two-column multiplier controls in header/modal and UniShop cart. */
.header-cart__quantity .xvr-cart-quantity-root,
.checkout-cart__quantity .xvr-cart-quantity-root { width:100%; min-width:190px; max-width:280px; gap:6px; margin:0; }
.header-cart__quantity .xvr-cart-quantity-root .number-spinner-XVR-button,
.header-cart__quantity .xvr-cart-quantity-root .number-spinner-XVR-button-packaging,
.checkout-cart__quantity .xvr-cart-quantity-root .number-spinner-XVR-button,
.checkout-cart__quantity .xvr-cart-quantity-root .number-spinner-XVR-button-packaging { --xvr-control-size:24px; gap:3px; }
.header-cart__quantity .xvr-cart-quantity-root .text-quantity-unit-catalog-xvr,
.header-cart__quantity .xvr-cart-quantity-root .text-quantity-packaging-catalog-xvr,
.checkout-cart__quantity .xvr-cart-quantity-root .text-quantity-unit-catalog-xvr,
.checkout-cart__quantity .xvr-cart-quantity-root .text-quantity-packaging-catalog-xvr { min-height:14px; margin-bottom:3px; font-size:9px; line-height:1.1; }
.header-cart__quantity .xvr-cart-quantity-root .input-quantity-XVR,
.header-cart__quantity .xvr-cart-quantity-root .input-minimum_packaging-XVR,
.checkout-cart__quantity .xvr-cart-quantity-root .input-quantity-XVR,
.checkout-cart__quantity .xvr-cart-quantity-root .input-minimum_packaging-XVR { height:24px; padding:0 3px; border-radius:6px; font-size:10px; }
.header-cart__quantity .xvr-cart-quantity-root .qty-switch__btn_xvr,
.checkout-cart__quantity .xvr-cart-quantity-root .qty-switch__btn_xvr { border-radius:6px; font-size:9px; }
@media (max-width:767px) {
  .header-cart__quantity .xvr-cart-quantity-root, .checkout-cart__quantity .xvr-cart-quantity-root { min-width:170px; max-width:240px; gap:4px; }
}

/* Quick-order fallback: when another OCMOD prevents exact spinner replacement, keep the XVR component and hide only UniShop's original direct spinner. */
.quick-order__cart > .xvr-native-quick-order-qty { display:none !important; }

/* XVR quick order: quantity/unit and package controls occupy their own row; order button stays below. */
.xvr-quick-order-cart { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:10px !important; width:100% !important; align-items:stretch !important; justify-items:stretch !important; }
.xvr-quick-order-cart > .input-group-quantity-xvr { grid-column:1; width:100%; max-width:none; margin:0; }
.xvr-quick-order-cart > .add_to_cart { grid-column:1; width:100%; max-width:360px; justify-self:center; margin:0; }
.xvr-quick-order-cart > .xvr-native-quick-order-qty { display:none !important; }
