/* Live refresh: the table dims while WooCommerce recalculates server-side */
.woocommerce-cart form.woocommerce-cart-form.mudc-cp-busy{opacity:.55 !important;pointer-events:none !important;}

/* ===== the theme's OWN quantity arrows — killed at the source =====
 * GymCare renders its own up/down arrows inside every .quantity
 * (.quantity-up / .quantity-down, plus .quantity-icon / .quantity-label) and
 * positions them absolutely — the child theme sets .quantity-up{right:-7px}
 * and .quantity-down{left:83%}. The segmented stepper replaces them, but the
 * theme re-inserts them after every cart refresh, and because the wrapper was
 * position:static its overflow:hidden could NOT clip an absolutely positioned
 * child: the arrow escaped to the nearest positioned ancestor and surfaced as
 * a stray "+" beside the cart totals (and a "−" beside a row) the moment a
 * quantity was changed. Removed in CSS rather than JS, so a late
 * re-injection cannot bring them back. */
.woocommerce-cart .quantity-up,.woocommerce-cart .quantity-down,.woocommerce-cart .quantity-icon,.woocommerce-cart .quantity-label,
.woocommerce-checkout .quantity-up,.woocommerce-checkout .quantity-down,.woocommerce-checkout .quantity-icon,.woocommerce-checkout .quantity-label{display:none !important;}

/* Quantity — one segmented pill (- | qty | +), rebuilt by cart-page.js in
 * both modes; matches the side-cart drawer stepper (white pill, light
 * dividers, red accent on hover). */
.quantity.mudc-qty-wrap{display:inline-flex !important;align-items:stretch !important;position:relative !important;background:#ffffff !important;border:1px solid #d9dde3 !important;border-radius:10px !important;overflow:hidden !important;gap:0 !important;margin:0 !important;padding:0 !important;width:auto !important;max-width:none !important;float:none !important;transform:none !important;box-shadow:none !important;}
.quantity.mudc-qty-wrap input.qty{display:block !important;visibility:visible !important;opacity:1 !important;width:52px !important;max-width:52px !important;min-width:52px !important;flex:0 0 52px !important;height:46px !important;min-height:46px !important;margin:0 !important;padding:0 !important;border:0 !important;border-left:1px solid #d9dde3 !important;border-right:1px solid #d9dde3 !important;border-radius:0 !important;background:#ffffff !important;text-align:center !important;font-size:15px !important;font-weight:600 !important;line-height:46px !important;color:#111111 !important;box-shadow:none !important;outline:none !important;transform:none !important;float:none !important;-moz-appearance:textfield !important;appearance:textfield !important;}
.quantity.mudc-qty-wrap input.qty::-webkit-outer-spin-button,.quantity.mudc-qty-wrap input.qty::-webkit-inner-spin-button{-webkit-appearance:none !important;margin:0 !important;}
.quantity.mudc-qty-wrap .mudc-cp-step{position:static !important;display:flex !important;align-items:center !important;justify-content:center !important;width:44px !important;min-width:44px !important;max-width:44px !important;flex:0 0 44px !important;height:46px !important;margin:0 !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:#ffffff !important;color:#222222 !important;font-size:20px !important;font-weight:400 !important;line-height:1 !important;text-indent:0 !important;cursor:pointer !important;transform:none !important;box-shadow:none !important;float:none !important;text-decoration:none !important;}
.quantity.mudc-qty-wrap .mudc-cp-step:hover{background:#f5f6f8 !important;color:var(--mudc-accent,#e60000) !important;}
.quantity.mudc-qty-wrap .mudc-cp-step:active{background:#fdeaea !important;}

/* Mobile — keep the stepper fully on-screen and finger-friendly: pad the
 * quantity cell in from the screen edge and give both buttons 44px-wide
 * touch targets. */
@media (max-width: 768px){
    .woocommerce-cart table.shop_table.cart td.product-quantity{padding-right:18px !important;padding-left:8px !important;}
    .quantity.mudc-qty-wrap{margin-right:6px !important;}
    .quantity.mudc-qty-wrap input.qty{width:44px !important;max-width:44px !important;min-width:44px !important;flex:0 0 44px !important;height:46px !important;min-height:46px !important;line-height:46px !important;font-size:16px !important;}
    .quantity.mudc-qty-wrap .mudc-cp-step{width:44px !important;min-width:44px !important;max-width:44px !important;flex:0 0 44px !important;height:46px !important;}
}

/* ===== bundle group (checkout review-order table) =====
 * The cart page draws the whole bundle card in cart-page.css; on checkout
 * the review-order table only needs the drawer's bundle head sitting above
 * its lines. */
table.shop_table tr.mudc-bundle-head td{background:#ffffff !important;border-top:1px solid #e0e0e0 !important;padding:14px 16px !important;}
table.shop_table tr.mudc-bundle-head .mudc-bundle-head{padding:0;margin:0;}
