/* Reuse the product page's quantity control and the established cart layout. */
.cart-quantity .cart-stepper { display: inline-flex; flex: 0 0 auto; align-items: stretch; height: 46px; border: 1px solid #c9bdc2; border-radius: 5px; overflow: hidden; }
.cart-stepper [data-cart-step] { display: none; flex: 0 0 44px; width: 44px; border: 0; border-radius: 0; background: #f8f5f1; color: #42363e; }
.cart-quantity-enhanced .cart-stepper [data-cart-step] { display: block; }
.cart-quantity-enhanced .cart-native-save { display: none; }
.cart-stepper [data-cart-step]:hover:not(:disabled) { background: #eee5e1; }
.cart-stepper [data-cart-step]:disabled { color: #b3a4aa; cursor: default; }
.cart-page #content .cart-stepper input[type=number] { flex: 0 0 54px; width: 54px; max-width: 54px; min-height: 44px; padding: 10px 0; border: 0; border-radius: 0; background: #fff; color: #332b30; font: 400 16px/1.5 Lato,sans-serif; text-align: center; appearance: textfield; caret-color: #8b1830; }
.cart-stepper input::-webkit-inner-spin-button,.cart-stepper input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.cart-stepper:focus-within { outline: 3px solid #8b1830; outline-offset: 3px; }
.cart-stepper :focus-visible { outline: 2px solid #8b1830; outline-offset: -3px; }
.cart-page .information-heading { margin-bottom: 24px; }
.cart-quantity-status { display: flex; align-items: center; color: #6c5963; font: 400 14px/1.5 Lato,sans-serif; }
.cart-quantity-status:has(> span:not([hidden]):not(:empty)) { margin-bottom: 16px; }
.cart-quantity-pending .cart-quantity-status,.cart-quantity-failed .cart-quantity-status { position: sticky; top: 0; z-index: 25; background: #fff; }
.cart-quantity-status [data-cart-loading] .fa { margin-right: 8px; }
.cart-quantity-status [data-cart-error] { color: #8b1830; }
.cart-quantity-status button { min-height: 44px; padding: 4px 8px; border: 0; background: transparent; color: #8b1830; text-decoration: underline; text-underline-offset: 3px; font: 700 14px/1.5 Lato,sans-serif; }
.cart-quantity-status button:focus-visible { outline: 3px solid #8b1830; outline-offset: 3px; }
.cart-quantity-status [hidden] { display: none !important; }
[data-cart-checkout][aria-disabled=true] { opacity: .65; cursor: wait; }
.cart-quantity-pending .cart-line-total,.cart-quantity-pending [data-cart-totals] { opacity: .65; }
.cart-quantity-pending .cart-remove { opacity: .65; cursor: wait; }
@media (prefers-reduced-motion: reduce) { .cart-quantity-status .fa-spin { animation: none; } }
