/* CART PAGE */

.cart-layout{ display:grid; grid-template-columns: 1fr; gap: var(--sp-7); padding-block: var(--sp-6) var(--sp-8); }
@media(min-width:900px){ .cart-layout{ grid-template-columns: minmax(0,1fr) 340px; } }

.cart-items{ display:flex; flex-direction:column; }
.cart-row{ display:grid; grid-template-columns: 100px minmax(0,1fr); gap: var(--sp-4); padding-block: var(--sp-5); border-bottom:1px solid var(--c-border); }
.cart-row__media{ position:relative; width:100px; height:128px; background: var(--c-surface); overflow:hidden; }
.cart-row__media .ph{ position:absolute; inset:0; }
.cart-row__info{ display:flex; flex-direction:column; justify-content:space-between; gap: var(--sp-4); min-width:0; }
.cart-row__head{ display:flex; justify-content:space-between; gap: var(--sp-3); }
.cart-row__foot{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap: var(--sp-3); }

.qty-stepper--sm button{ width:32px; height:36px; font-size:1rem; }
.qty-stepper--sm input{ width:38px; height:36px; }

.cart-summary{ background: var(--c-surface); padding: var(--sp-5); height:fit-content; }
.promo-form{ display:flex; gap:8px; margin-top: var(--sp-5); }
.promo-form .input{ flex:1; }

/* WooCommerce-rendered quantity input inside our .qty-stepper wrapper —
   WooCommerce owns stock-limit validation on this field, we only restyle it. */
.qty-stepper .quantity{ display:flex; }
.qty-stepper .qty{
  width:56px; height:36px; text-align:center; border:1.5px solid var(--c-border);
  font-family: var(--font-body); font-size:0.95rem;
}
.woocommerce-message, .woocommerce-error, .woocommerce-info{
  background: var(--c-surface); border-left:3px solid var(--tt-black); padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-body-sm); margin: var(--sp-5) 0 0; list-style:none;
}
.woocommerce-error{ border-left-color: var(--tt-red); }
.cart-summary .button, #coupon_code + button{ white-space:nowrap; }
