/* Cart unit: cart, checkout, add-to-cart panel. */
.cart-lines { width: 100%; border-collapse: collapse; margin: 12px 0; }
.cart-lines th, .cart-lines td { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.cart-lines td.total, .cart-lines td.price { white-space: nowrap; }
.cart-lines form { display: flex; gap: 6px; align-items: center; margin: 0; }
/* button.link: styled as a small secondary button in style.css */
.cart-summary { max-width: 360px; margin-left: auto; }
.cart-summary .grand { font-size: 20px; font-weight: 700; }
.cart-summary .discount { color: var(--accent); }
form.coupon { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 12px 0; }
form.coupon label { flex-basis: 100%; margin: 0; }
.checkout-form { max-width: 360px; }
.checkout-form input { width: 100%; }
.declined { font-weight: 600; color: var(--warn); }
form.add-to-cart { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 16px 0;
  padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--card); }
form.add-to-cart label { margin: 0; }
.low-stock, .out-of-stock { flex-basis: 100%; margin: 4px 0 0; color: var(--warn); }
@media (max-width: 600px) {
  .cart-lines thead { display: none; }
  .cart-lines tr { display: grid; grid-template-columns: 1fr auto; padding: 8px 0; border-bottom: 1px solid var(--line); }
  .cart-lines td { border: 0; padding: 2px 0; }
  .cart-summary { max-width: none; }
}
