/* Checkout page specific styles – minimal, leveraging base.css */
.checkout-header { margin-block: var(--space-10) var(--space-6); }
.checkout-layout { display: grid; gap: var(--space-8); grid-template-columns: 1fr; align-items: start; }
@media (min-width: 960px) { .checkout-layout { grid-template-columns: 2fr 1fr; } .order-aside { position: sticky; top: 96px; } }

.step-heading { margin-bottom: var(--space-4); }

/* Cart */
.cart-list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-6); }
.cart-item__row { display: grid; gap: var(--space-3); grid-template-columns: 1fr; }
.cart-item__main { display: grid; gap: 2px; }
.cart-item__title { font-weight: 600; }
.cart-item__meta { color: var(--gray-600); }
.cart-item__controls { display: grid; grid-template-columns: 120px 1fr 1fr; gap: var(--space-3); align-items: center; }
.qty-input { width: 100%; text-align: center; }
.cart-item__price, .cart-item__total { text-align: right; font-weight: 600; }
@media (max-width: 520px) { .cart-item__controls { grid-template-columns: 96px 1fr 1fr; } }

/* Promo */
.promo__row { display: grid; gap: var(--space-3); grid-template-columns: 1fr auto; }
.promo__feedback { margin-top: var(--space-3); color: var(--color-success); }

/* Shipping options */
.ship-options, .pay-options { display: grid; gap: var(--space-3); }
.ship-option, .pay-option { display: inline-flex; align-items: center; gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--gray-200); border-radius: var(--radius-md); background: var(--color-surface); }
.ship-option input, .pay-option input { margin: 0; }

/* Forms */
.grid--form { grid-template-columns: repeat(2, 1fr); }
.grid--form .full { grid-column: 1 / -1; }
.fieldset { border: 0; padding: 0; margin: 0; }
.inline { display: inline-flex; align-items: center; gap: var(--space-3); }
.terms { margin-top: var(--space-4); }
.actions { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-top: var(--space-4); }
.form-error { color: var(--color-danger); margin-top: var(--space-3); }

/* Review */
.review__rows, .aside__rows { display: grid; gap: var(--space-3); }
.review__row, .aside__row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.review__row.total .amount, .aside__row.total .amount { font-size: var(--text-lg); font-weight: 700; }
.vat-note, .mini-note { color: var(--gray-600); }

/* Payment fields */
.payment-fields { margin-top: var(--space-4); }

/* Confirmation */
.order-confirmation { margin-block: var(--space-8) var(--space-12); }
.tracking { margin-top: var(--space-4); }

/* Aside summary */
.order-aside hr { border-top-color: var(--gray-200); }

@media (max-width: 760px) {
  .grid--form { grid-template-columns: 1fr; }
}
