.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.cart-list { border-top: 1px solid var(--line); }
.cart-item { display: grid; grid-template-columns: 110px minmax(0, 1fr) 88px 100px; gap: 1.25rem; align-items: center; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.cart-item__image { width: 110px; aspect-ratio: 1; }
.cart-item h2 { margin-bottom: .3rem; font-size: 1.2rem; }
.cart-item p { margin-bottom: .35rem; color: var(--gold-dark); font-size: .84rem; }
.cart-item label { font-size: .72rem; }
.cart-item input { width: 100%; margin-top: .3rem; padding: .55rem; border: 1px solid var(--line); }
.cart-item > strong { text-align: right; font-size: .88rem; }
.cart-item--unavailable { opacity: .76; }
.cart-item__warning { grid-column: 2 / -1; margin: -.6rem 0 0; color: var(--danger) !important; font-size: .72rem !important; }
.cart-summary { position: sticky; top: 1.5rem; padding: 1.5rem; background: var(--surface); }
.cart-summary > span, .cart-summary > strong { display: block; }
.cart-summary > span { color: var(--muted); font-size: .8rem; }
.cart-summary > strong { margin: .3rem 0 1rem; font: 400 1.8rem/1.2 var(--serif); }
.cart-summary p { color: var(--muted); font-size: .75rem; }
.cart-summary .button { width: 100%; margin-top: .5rem; }

@media (max-width: 850px) { .cart-layout { grid-template-columns: 1fr; }.cart-summary { position: static; } }
@media (max-width: 600px) { .cart-item { grid-template-columns: 84px minmax(0, 1fr); gap: .8rem 1rem; }.cart-item__image { grid-row: 1 / span 2; width: 84px; }.cart-item label { grid-column: 2; width: 88px; }.cart-item > strong { grid-column: 2; text-align: left; }.cart-item h2 { overflow-wrap: anywhere; } }
