.cart-page{background:var(--color-paper);min-height:60vh}.cart-page__hero{border-bottom:1px solid var(--color-steel);background:linear-gradient(#fffffff5 0%,#f4f6f8eb 100%),radial-gradient(70% 80% at 0 0,#e106000d,#0000 55%)}.cart-page__wrap{max-width:960px;margin:0 auto;padding:2.25rem 1.25rem 3rem}.cart-page__hero h1{font-family:var(--font-display);text-transform:uppercase;color:var(--color-brand);margin:0 0 .75rem;font-size:clamp(2rem,4vw,2.75rem)}.cart-page__lead{max-width:38rem;color:var(--color-ink);margin:0;line-height:1.55}.cart-page__loading{background:var(--color-surface);border:1px solid var(--color-steel);color:var(--color-muted);margin:0;padding:1.5rem}.cart-empty{background:var(--color-surface);border:1px solid var(--color-steel);padding:1.75rem 1.5rem}.cart-empty h2{font-family:var(--font-display);text-transform:uppercase;color:var(--color-brand);margin:0 0 .75rem}.cart-empty__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.cart-layout{gap:1.25rem;display:grid}.cart-lines{gap:.85rem;display:grid}.cart-line{background:var(--color-surface);border:1px solid var(--color-steel);gap:1.25rem;padding:1.35rem 1.25rem;transition:opacity .15s;display:grid;box-shadow:0 1px #1c1f240a}.cart-line.is-updating{opacity:.55;pointer-events:none}.cart-line__main{min-width:0}.cart-line__part{font-family:var(--font-display);letter-spacing:.03em;color:var(--color-brand);margin:0 0 .4rem;font-size:clamp(1.35rem,3vw,1.7rem);font-weight:700}.cart-line__title{max-width:36rem;color:var(--color-ink);margin:0 0 .85rem;font-size:1.02rem;font-weight:500;line-height:1.45}.cart-line__controls{border-top:1px solid var(--color-steel);gap:1rem;padding-top:1.1rem;display:grid}.cart-line__label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:block}.cart-line__qty{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.cart-line__qty .cart-line__label{width:100%;margin-bottom:.15rem}.cart-qty-btn{border:1px solid var(--color-steel);width:2.35rem;height:2.35rem;color:var(--color-brand);cursor:pointer;background:#fff;font-size:1.2rem;font-weight:700;line-height:1}.cart-qty-btn:hover{border-color:var(--color-brand);background:var(--color-paper)}.cart-qty-input{border:1px solid var(--color-steel);text-align:center;-moz-appearance:textfield;width:3.6rem;height:2.35rem;font-size:1rem;font-weight:700}.cart-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cart-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cart-line__prices{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.cart-line__unit,.cart-line__total{background:var(--color-paper);border:1px solid var(--color-steel);margin:0;padding:.7rem .8rem}.cart-line__unit{color:var(--color-ink);font-size:1rem;font-weight:600}.cart-line__total{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-brand);font-size:1.35rem;font-weight:700}.cart-line__remove{color:var(--color-muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:.95rem;font-weight:700;text-decoration:underline}.cart-line__remove:hover{color:var(--color-red)}.cart-summary{background:var(--color-surface);border:1px solid var(--color-steel);padding:1.5rem 1.35rem}.cart-summary h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;color:var(--color-brand);margin:0 0 1.1rem;font-size:1.25rem}.cart-summary__row{justify-content:space-between;align-items:baseline;gap:1rem;font-size:1.1rem;display:flex}.cart-summary__row strong{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-brand);font-size:1.6rem}.cart-summary__note{color:var(--color-muted);margin:.9rem 0 0;font-size:.95rem;line-height:1.45}.cart-summary__actions{gap:.65rem;margin-top:1.35rem;display:grid}.cart-page .text-link{color:var(--color-brand);font-weight:700}@media (width>=760px){.cart-line{padding:1.5rem 1.6rem}.cart-line__controls{grid-template-columns:auto 1fr;align-items:end;gap:1.5rem}.cart-line__prices{justify-self:end;width:min(100%,22rem)}}@media (width>=900px){.cart-layout{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:1.5rem}.cart-summary{position:sticky;top:6.5rem}.cart-summary__actions .btn{text-align:center;justify-content:center;width:100%}}
