.cart-page { padding-top: 24px; }
.cart-layout { display: grid; gap: 20px; padding-bottom: 40px; }
.cart-items { display: grid; gap: 14px; }
.cart-item { display: grid; grid-template-columns: 100px 1fr; gap: 16px; padding: 12px; border-radius: var(--radius-md); border: 1px solid hsl(var(--border)); background: hsl(var(--card)); }
.cart-art { width: 100px; height: 120px; border-radius: 16px; overflow: hidden; background: hsl(var(--secondary)); }
.cart-art img { width: 100%; height: 100%; }
.cart-item h3 { font-size: 1.05rem; margin-bottom: 4px; }
.qty-row { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.qty-row button { width: 34px; height: 34px; border-radius: 999px; background: hsl(var(--secondary)); font-weight: 900; }
.remove-btn { color: hsl(var(--destructive)); background: transparent; font-weight: 900; margin-left: auto; }
.cart-summary { background: hsl(var(--card)); border: 1px solid hsl(var(--border)); border-radius: var(--radius-lg); padding: 24px; height: fit-content; box-shadow: var(--shadow-sm); }
.summary-line { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid hsl(var(--border)); }
.summary-total { font-size: 1.35rem; font-weight: 900; }
.cart-summary .btn { width: 100%; margin-top: 18px; }
@media (min-width: 900px) { .cart-layout { grid-template-columns: 1fr 360px; align-items: start; } }