/* ================================================
   cart.css — Cart Page Styles
   ================================================ */
.cart-layout { display: grid; grid-template-columns: 1fr 380px; gap: var(--space-8); align-items: flex-start; }
.cart-items-section { background: var(--color-surface); border-radius: var(--radius-xl); padding: var(--space-6); box-shadow: var(--shadow-sm); }
.cart-items-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-4); padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-border); }
.cart-item { display: flex; gap: var(--space-4); padding: var(--space-4) 0; border-bottom: 1px solid var(--color-border); }
.cart-item:last-child { border-bottom: none; }
.cart-item-img { width: 90px; height: 90px; border-radius: var(--radius-md); object-fit: cover; background: var(--color-cream); flex-shrink: 0; }
.cart-item-info { flex: 1; min-width: 0; }
.cart-item-brand { font-size: var(--text-xs); color: var(--color-text-muted); text-transform: uppercase; }
.cart-item-name { font-size: var(--text-sm); font-weight: 500; margin: var(--space-1) 0; }
.cart-item-variant { font-size: var(--text-xs); color: var(--color-text-muted); }
.cart-item-rating { font-size: var(--text-xs); color: #f59e0b; }
.cart-item-price-row { display: flex; align-items: center; gap: var(--space-2); margin: var(--space-2) 0; }
.cart-item-price { font-weight: 700; font-size: var(--text-base); }
.cart-item-mrp { font-size: var(--text-sm); color: var(--color-text-muted); text-decoration: line-through; }
.cart-item-discount { font-size: var(--text-xs); color: var(--color-primary); font-weight: 600; }
.cart-item-actions { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-3); }
.cart-remove-btn { font-size: var(--text-xs); color: var(--color-error); cursor: pointer; display: flex; align-items: center; gap: 4px; }
.cart-wishlist-btn { font-size: var(--text-xs); color: var(--color-text-muted); cursor: pointer; display: flex; align-items: center; gap: 4px; }
.cart-wishlist-btn:hover { color: var(--color-primary); }

/* ── Order Summary ── */
.order-summary { background: var(--color-surface); border-radius: var(--radius-xl); padding: var(--space-6); box-shadow: var(--shadow-sm); position: sticky; top: 80px; }
.order-summary h3 { font-size: var(--text-sm); letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-text-muted); margin-bottom: var(--space-4); }
.summary-row { display: flex; justify-content: space-between; font-size: var(--text-sm); padding: var(--space-2) 0; }
.summary-row.total { font-weight: 700; font-size: var(--text-base); color: var(--color-text-primary); border-top: 2px solid var(--color-border); padding-top: var(--space-4); margin-top: var(--space-2); }
.summary-row.free { color: var(--color-primary); }
.summary-savings { background: #f0f7f2; border-radius: var(--radius-md); padding: var(--space-3); text-align: center; font-size: var(--text-sm); color: var(--color-primary); font-weight: 600; margin: var(--space-4) 0; }
.coupon-row { display: flex; gap: var(--space-2); margin: var(--space-4) 0; }
.coupon-row input { flex: 1; }
.secure-badges { display: flex; align-items: center; justify-content: center; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-4); }
.secure-badge { font-size: var(--text-xs); color: var(--color-text-muted); background: var(--color-bg); padding: var(--space-1) var(--space-3); border-radius: var(--radius-sm); }

/* Delivery progress bar */
.delivery-progress { background: var(--color-cream); border-radius: var(--radius-lg); padding: var(--space-4); margin-bottom: var(--space-4); }
.delivery-progress-text { font-size: var(--text-sm); color: var(--color-text-secondary); margin-bottom: var(--space-2); }
.delivery-progress-text strong { color: var(--color-primary); }

/* ── Cart Drawer ── */
#cart-drawer { z-index: 901; }
.cart-drawer-items { padding: var(--space-4) var(--space-6); flex: 1; overflow-y: auto; }
.cart-drawer-item { display: flex; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--color-border); }
.cart-drawer-item-img { width: 64px; height: 64px; border-radius: var(--radius-md); object-fit: cover; background: var(--color-cream); flex-shrink: 0; }
.cart-drawer-footer { padding: var(--space-6); border-top: 1px solid var(--color-border); background: var(--color-surface); }
.cart-drawer-total { display: flex; justify-content: space-between; font-weight: 700; margin-bottom: var(--space-4); }
