.cart{padding-block:var(--space-2xl) var(--space-section);min-height:60vh}.cart__title{font-size:var(--text-xl);color:var(--color-ink-secondary);margin-bottom:var(--space-xl);font-weight:500}.cart__empty{align-items:center;gap:var(--space-lg);padding-block:var(--space-4xl);text-align:center;flex-direction:column;display:flex}.cart__empty p{font-size:var(--text-lg);color:var(--color-ink-secondary);max-width:none}.cart__content{gap:var(--space-2xl);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=960px){.cart__content{gap:var(--space-3xl);grid-template-columns:1fr 20rem}}.cart__items{gap:var(--space-xl);flex-direction:column;display:flex}.cart__item{gap:var(--space-lg);padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);grid-template-columns:1fr;display:grid}@media (width>=640px){.cart__item{gap:var(--space-xl);grid-template-columns:12rem 1fr}}.cart__item-image{aspect-ratio:1;border-radius:var(--radius-md);background:var(--color-surface-warm);overflow:hidden}.cart__item-image img{object-fit:contain;width:100%;height:100%;padding:var(--space-md)}.cart__item-body{gap:var(--space-md);flex-direction:column;min-width:0;display:flex}.cart__item-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.cart__item-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:var(--leading-snug)}.cart__item-subtitle{font-size:var(--text-sm);color:var(--color-ink-secondary);margin-top:var(--space-xs)}.cart__item-features{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cart__item-features li{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-ink-secondary);display:flex}.cart__item-features svg{color:var(--color-forest);flex-shrink:0}.cart__item-footer{justify-content:space-between;align-items:center;gap:var(--space-lg);padding-top:var(--space-sm);margin-top:auto;display:flex}.cart__item-price{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);font-variant-numeric:tabular-nums}.cart__qty{border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;display:inline-flex;overflow:hidden}.cart__qty-btn{width:2.75rem;height:2.75rem;font-size:var(--text-lg);color:var(--color-ink);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;font-weight:500;display:flex}.cart__qty-btn:hover{background:var(--color-surface-warm)}.cart__qty-btn:disabled{opacity:.3;cursor:default}.cart__qty-btn:disabled:hover{background:0 0}.cart__qty-count{text-align:center;width:2.5rem;font-size:var(--text-sm);font-variant-numeric:tabular-nums;border-inline:1px solid var(--color-border);font-weight:600;line-height:2.25rem}.cart__remove{font-size:var(--text-sm);color:var(--color-ink-muted);cursor:pointer;min-height:2.75rem;padding:var(--space-xs) var(--space-sm);transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none}.cart__remove:hover{color:var(--color-error)}.cart__summary-inner{background:var(--color-surface-warm);border-radius:var(--radius-lg);padding:var(--space-xl);gap:var(--space-lg);flex-direction:column;display:flex}@media (width>=960px){.cart__summary{position:sticky;top:6rem}}.cart__summary-line{justify-content:space-between;align-items:baseline;display:flex}.cart__summary-line span:first-child{font-size:var(--text-base);color:var(--color-ink-secondary)}.cart__summary-value{font-family:var(--font-display);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:600}.cart__summary-note,.cart__app-note{font-size:var(--text-sm);color:var(--color-ink-muted);max-width:none}.cart__app-note a{color:inherit;font-weight:600;text-decoration:underline}.cart__checkout{width:100%}.cart__continue{text-align:center;font-size:var(--text-sm);color:var(--color-ink-secondary);transition:color var(--duration-fast) var(--ease-out);font-weight:500}.cart__continue:hover{color:var(--color-terra)}
