.store-cart-page { display: flex; flex-direction: column; gap: var(--store-space-6); }
.store-cart-page__header { align-items: end; background: var(--store-primary); border-radius: var(--store-radius-lg); color: #fff; display: flex; justify-content: space-between; min-height: 180px; padding: clamp(var(--store-space-5), 5vw, var(--store-space-7)); }
.store-cart-page__eyebrow { color: rgba(255,255,255,.72); font-size: 0.8125rem; font-weight: 900; letter-spacing: .08em; margin: 0 0 var(--store-space-2); text-transform: uppercase; }
.store-cart-page__title { font-size: clamp(2.1rem, 4vw, 3.5rem); font-weight: 900; letter-spacing: -.02em; line-height: .98; margin: 0; }
.store-cart-page__count { color: var(--store-color-text-muted); margin: 0; }
.store-cart-page__header .store-cart-page__count { color: rgba(255,255,255,.76); font-weight: 800; }
.store-cart-page__layout { align-items: start; display: grid; gap: var(--store-space-6); grid-template-columns: minmax(0, 1fr) minmax(320px, 380px); }
.store-cart-items { min-width: 0; }
.store-cart-items__header { align-items: center; display: flex; justify-content: space-between; margin-bottom: var(--store-space-3); }
.store-cart-items__header h2, .store-cart-summary h2 { font-size: 1.125rem; margin: 0; }
.store-cart-clear { font-size: 0.8125rem; min-height: 34px; padding-inline: var(--store-space-2); }
.store-cart-items__list { display: flex; flex-direction: column; gap: var(--store-space-3); }
.store-cart-item { align-items: center; background: var(--store-color-surface); border: 1px solid var(--store-color-border); border-radius: var(--store-radius-lg); box-shadow: var(--store-shadow-sm); display: grid; gap: var(--store-space-4); grid-template-columns: 108px minmax(140px, 1fr) minmax(100px, 0.7fr) minmax(150px, 0.8fr) minmax(90px, 0.55fr) 42px; min-width: 0; padding: var(--store-space-4); }
.store-cart-item__media { aspect-ratio: 1; background: var(--store-color-surface-muted); border-radius: var(--store-radius-md); overflow: hidden; position: relative; }
.store-cart-item__media a, .store-cart-item__image { display: block; height: 100%; width: 100%; }
.store-cart-item__image { object-fit: contain; }
.store-cart-item__image.store-image-broken { display: none; }
.store-cart-item__fallback { align-items: center; color: var(--store-color-text-muted); display: flex; inset: 0; justify-content: center; position: absolute; }
.store-cart-item__fallback[hidden] { display: none; }
.store-cart-item__name { color: var(--store-color-text); display: block; font-weight: 700; overflow-wrap: anywhere; }
.store-cart-item__name:hover { color: var(--store-color-accent); }
.store-cart-item__sku, .store-cart-item__label { color: var(--store-color-text-muted); display: block; font-size: 0.75rem; }
.store-cart-item__sku { margin-top: var(--store-space-1); }
.store-cart-item__variation { color: var(--store-color-text-muted); display: flex; flex-wrap: wrap; font-size: 0.8125rem; gap: var(--store-space-2); margin-top: var(--store-space-2); }
.store-cart-item__unit, .store-cart-item__subtotal { min-width: 0; }
.store-cart-item__unit strong, .store-cart-item__subtotal strong { display: block; margin-top: var(--store-space-1); }
.store-cart-quantity__control { align-items: center; display: flex; }
.store-cart-quantity__control .store-button { border-radius: 0; min-height: 38px; }
.store-cart-quantity__control .store-button:first-child { border-radius: var(--store-radius-sm) 0 0 var(--store-radius-sm); }
.store-cart-quantity__control .store-button:last-child { border-radius: 0 var(--store-radius-sm) var(--store-radius-sm) 0; }
.store-cart-quantity__input { border: 1px solid var(--store-color-border); min-height: 38px; text-align: center; width: 52px; }
.store-cart-item__remove { color: var(--store-color-danger); min-height: 38px; }
.store-cart-items__actions { align-items: center; display: flex; flex-wrap: wrap; gap: var(--store-space-3); justify-content: space-between; margin-top: var(--store-space-4); }
.store-cart-summary { background: var(--store-color-surface); border: 1px solid var(--store-color-border); border-radius: var(--store-radius-lg); box-shadow: var(--store-shadow-sm); padding: var(--store-space-5); position: sticky; top: var(--store-space-4); }
.store-cart-summary__lines { border-bottom: 1px solid var(--store-color-border); margin: var(--store-space-4) 0 0; padding-bottom: var(--store-space-4); }
.store-cart-summary__lines > div { align-items: baseline; display: flex; justify-content: space-between; padding-block: var(--store-space-2); }
.store-cart-summary__lines dt { color: var(--store-color-text-muted); font-weight: 400; }
.store-cart-summary__lines dd { margin: 0; text-align: right; }
.store-cart-summary__total { align-items: baseline; display: flex; font-size: 1rem; justify-content: space-between; padding-block: var(--store-space-4); }
.store-cart-summary__total strong { color: var(--store-color-text); font-size: 1.7rem; font-weight: 900; }
.store-cart-summary__checkout { justify-content: center; width: 100%; }
.store-cart-summary__note { color: var(--store-color-text-muted); font-size: 0.75rem; margin: var(--store-space-3) 0 0; }
.store-cart-empty { background: var(--store-color-surface-soft); border-radius: var(--store-radius-lg); min-height: 360px; }
.store-cart-empty > i { color: var(--store-color-text-muted); font-size: 2.5rem; }

@media (max-width: 1199.98px) {
    .store-cart-item { grid-template-columns: 80px minmax(140px, 1fr) minmax(90px, 0.65fr) minmax(130px, 0.8fr) 42px; }
    .store-cart-item__media { width: 80px; }
    .store-cart-item__unit { display: none; }
}
@media (max-width: 767.98px) {
    .store-cart-page__layout { display: flex; flex-direction: column; }
    .store-cart-items, .store-cart-summary { width: 100%; }
    .store-cart-summary { position: static; }
    .store-cart-item { grid-template-columns: 72px minmax(0, 1fr) 38px; padding: var(--store-space-3); }
    .store-cart-item__media { width: 72px; }
    .store-cart-item__details { align-self: start; }
    .store-cart-item__quantity { grid-column: 1 / 3; }
    .store-cart-item__subtotal { grid-column: 2 / 3; grid-row: 2; }
    .store-cart-item__remove { grid-column: 3; grid-row: 2; }
    .store-cart-item__quantity .store-form-label { margin-bottom: var(--store-space-1); }
}
@media (max-width: 575.98px) {
    .store-cart-page__header { align-items: start; flex-direction: column; gap: var(--store-space-2); }
    .store-cart-items__header { align-items: start; gap: var(--store-space-2); }
    .store-cart-items__actions { align-items: stretch; flex-direction: column; }
    .store-cart-items__actions .store-button { width: 100%; }
}
