/* ===========================================================
   CART DRAWER (Light Edition)
   =========================================================== */

.cart-drawer { position: fixed; inset: 0; z-index: 300; visibility: hidden; }
.cart-drawer.open { visibility: visible; }

.cart-scrim {
  position: absolute; top:0; right:0; bottom:0; left:0;
  background: rgba(29,30,35,0.4);
  opacity: 0;
  transition: opacity 0.3s var(--ease-soft);
}
.cart-drawer.open .cart-scrim { opacity: 1; }

.cart-panel {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: min(420px, 92vw);
  background: var(--cream);
  color: var(--ink);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.4s var(--ease-out);
  box-shadow: -10px 0 40px rgba(29,30,35,0.12);
}
.cart-drawer.open .cart-panel { transform: translateX(0); }

.cart-header { display: flex; align-items: center; justify-content: space-between; padding: var(--space-5); border-bottom: 1px solid var(--line); }
.cart-header h3 { font-size: 19px; }
.cart-close { background: none; border: none; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; color: var(--ink); }
.cart-close svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.6; fill: none; }

.cart-items { flex: 1; overflow-y: auto; padding: var(--space-4) var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); }

.cart-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; height: 100%; gap: var(--space-3); color: var(--ink-faint); padding: var(--space-6); }
.cart-empty svg { width: 48px; height: 48px; stroke: var(--line); fill: none; stroke-width: 1.2; }

.cart-item { display: flex; gap: var(--space-3); padding-bottom: var(--space-4); border-bottom: 1px solid var(--line); }
.cart-item img { width: 72px; height: 72px; object-fit: cover; border-radius: var(--radius-sm); background: var(--parchment); flex-shrink: 0; }
.cart-item-info { flex: 1; min-width: 0; }
.cart-item-name { font-size: 14px; font-weight: 600; margin-bottom: 2px; }
.cart-item-cat { font-family: var(--font-mono); font-size: 10px; color: var(--gold-deep); text-transform: uppercase; letter-spacing: 0.05em; }
.cart-item-row { display: flex; align-items: center; justify-content: space-between; margin-top: var(--space-2); }

.qty-stepper { display: flex; align-items: center; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.qty-stepper button { background: none; border: none; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--ink); }
.qty-stepper button:hover { background: var(--parchment); }
.qty-stepper span { font-family: var(--font-mono); font-size: 12px; min-width: 22px; text-align: center; }

.cart-item-price { font-family: var(--font-mono); font-size: 13px; font-weight: 600; }
.cart-item-remove { background: none; border: none; color: var(--error); font-size: 11px; text-decoration: underline; padding: 0; margin-top: 6px; }

.cart-footer { padding: var(--space-5); border-top: 1px solid var(--line); }
.cart-subtotal-row { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: var(--space-2); }
.cart-subtotal-row .label { font-size: 14px; color: var(--ink-soft); }
.cart-subtotal-row .value { font-family: var(--font-mono); font-size: 18px; font-weight: 700; }
.cart-shipping-note { font-size: 12px; color: var(--ink-soft); margin-bottom: var(--space-4); }
.cart-footer .btn-primary { width: 100%; }
