.cart__heading{font-size:var(--fs-h1);line-height:var(--lh-h1)}.cart__message{margin-top:2rem;font-size:var(--fs-body-l);line-height:var(--lh-body-l);color:var(--text-muted)}.cart__empty-cta{margin-top:1.5rem}.cart__grid{margin-top:2.5rem;display:grid;grid-gap:var(--spacing-gap);gap:var(--spacing-gap)}.cart__lines{border:1px solid var(--surface-border);border-radius:var(--radius-card);background:var(--surface-bg-secondary)}.cart__line{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:var(--space-card)}.cart__line+.cart__line{border-top:1px solid var(--surface-border)}.cart__thumb{width:6rem;flex-shrink:0;aspect-ratio:4/3;border-radius:var(--radius-card);background-size:cover;background-position:50%}.cart__line-info{min-width:0;flex:1 1}.cart__line-name{font-size:var(--fs-h4);line-height:var(--lh-h4)}.cart__line-price{font-size:var(--fs-body-s);line-height:var(--lh-body-s);color:var(--text-muted)}.cart__remove{margin-top:.25rem}.cart__stepper{gap:.5rem}.cart__step,.cart__stepper{display:flex;align-items:center}.cart__step{width:2.25rem;height:2.25rem;justify-content:center;border:1px solid var(--surface-border);border-radius:var(--radius-pill);background:none;font-size:var(--fs-body-l);cursor:pointer}.cart__step:hover{background:var(--surface-bg)}.cart__step:disabled{opacity:.4;cursor:not-allowed}.cart__qty{width:2rem;text-align:center;font-size:var(--fs-body-l);font-weight:600}.cart__line-total{width:6rem;text-align:right;font-family:var(--brand-font-heading);font-size:var(--fs-h4);line-height:var(--lh-h4)}.cart__summary-heading{font-size:var(--fs-h3);line-height:var(--lh-h3)}.cart__total-row{margin-top:1.5rem;display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--surface-border);padding-top:1rem}.cart__total-label{font-size:var(--fs-body-l);font-weight:600}.cart__total{font-family:var(--brand-font-heading);font-size:var(--fs-h2);line-height:var(--lh-h2)}.cart__note{margin-top:.5rem;font-size:var(--fs-body-s);line-height:var(--lh-body-s);color:var(--text-muted)}.cart__checkout{margin-top:1.5rem}.cart__error{margin-top:1rem}.cart__continue{margin-top:1rem;text-align:center}@media (min-width:640px){.cart__line{flex-wrap:nowrap}}@media (min-width:1024px){.cart__grid{grid-template-columns:1fr 22rem;align-items:start}}