/* Shared cart controls retain the existing Guard-Tex page design. */
[hidden] { display: none !important; }
.commerce-message { font-size: .875rem; line-height: 1.5; margin-top: .75rem; }
.commerce-message:empty { display: none; }
.commerce-message.is-error { color: #9d2424; }
.commerce-retry { background: none; border: 1px solid var(--border); padding: .625rem 1rem; min-height: 44px; margin-top: .5rem; font-weight: 600; }
.commerce-fallback { display: inline-block; font-size: .8125rem; text-decoration: underline; text-underline-offset: 3px; margin-top: .75rem; }
.commerce-cart-messages { padding: 0 1.5rem; }
.commerce-cart-messages:has(.commerce-message:not(:empty)) { padding-bottom: .75rem; }
.cart-item { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 1rem; padding-bottom: 1.5rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--border); }
.cart-item-image { align-self: start; aspect-ratio: 1; background: var(--cream); padding: .5rem; display: flex; align-items: center; justify-content: center; }
.cart-item-image img { max-width: 100%; max-height: 100%; object-fit: contain; }
.cart-item-title { font-size: .9375rem; font-weight: 700; margin-bottom: .25rem; overflow-wrap: anywhere; }
.cart-item-variant { font-size: .75rem; color: var(--gray); margin-bottom: .5rem; }
.cart-item-price { font-size: .875rem; font-weight: 600; }
.cart-item-controls { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-top: .75rem; }
.cart-line-quantity { display: flex; align-items: center; border: 1px solid var(--border); }
.cart-line-button { min-width: 44px; min-height: 44px; background: none; border: none; font-size: 1rem; }
.cart-line-count { width: 32px; text-align: center; font-size: .8125rem; font-weight: 600; }
.cart-line-remove { font-size: .6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--gray); }
.cart-line-button:disabled, .buy-now-btn:disabled, .quantity-btn:disabled, .checkout-btn:disabled, .commerce-retry:disabled { opacity: .5; cursor: not-allowed; }
button:focus-visible, .commerce-fallback:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .cart-overlay, .cart-drawer { transition: none; }
}
