/* ==========================================================================
   CART — table + summary
   ========================================================================== */
.cart-page-head{ padding:48px 0 36px; text-align:center; background:var(--cream-deep); border-bottom:1px solid var(--border-soft); }
.cart-page-head .eyebrow{ display:inline-flex; margin-bottom:14px; }

.cart-layout{ display:grid; grid-template-columns:1fr 360px; gap:52px; padding:40px 0 110px; align-items:flex-start; }
@media (max-width:860px){ .cart-layout{ grid-template-columns:1fr; } }

.cart-table{ width:100%; border-collapse:collapse; }
.cart-table thead th{
  text-align:left; font-family:var(--font-mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em;
  color:var(--warm-gray); padding-bottom:14px; border-bottom:2px solid var(--ink);
  font-weight:700;
}
.cart-table tbody td{ padding:22px 0; border-bottom:1px solid var(--border-soft); vertical-align:middle; }
.ct-product{ display:flex; gap:16px; align-items:center; }
.ct-product img{ width:80px; height:80px; object-fit:cover; border-radius:var(--radius-sm); flex:none; }
.ct-product h4{ font-family:var(--font-body); font-weight:600; font-size:.96rem; margin-bottom:4px; }
.ct-product .ct-meta{ font-family:var(--font-mono); font-size:.72rem; color:var(--warm-gray); font-weight:600; }
.ct-remove{ background:none; border:0; color:var(--gold); cursor:pointer; font-family:var(--font-mono); font-size:.7rem; font-weight:700; text-decoration:underline; margin-top:8px; padding:0; }
.ct-qty .qty-stepper{ width:fit-content; }
.ct-price{ font-family:var(--font-display); text-align:right; font-weight:700; }
@media (max-width:700px){
  .cart-table thead{ display:none; }
  .cart-table tbody td{ display:block; padding:6px 0; border:0; }
  .cart-table tbody tr{ display:block; padding:20px 0; border-bottom:1px solid var(--border-soft); }
  .ct-price{ text-align:left; font-size:1.05rem; margin-top:10px; }
}

.summary-panel{
  background:var(--cream-deep); border:1px solid var(--border-soft); border-radius:var(--radius); padding:28px 24px; position:sticky; top:100px;
}
.summary-panel h3{ margin-bottom:20px; text-transform:none; }
.summary-row{ display:flex; justify-content:space-between; padding:10px 0; font-size:.92rem; color:var(--warm-gray); }
.summary-row.total{ border-top:1px solid var(--border); margin-top:8px; padding-top:18px; font-family:var(--font-display); font-size:1.05rem; color:var(--ink); font-weight:700; }
.summary-note{ font-size:.8rem; color:var(--warm-gray); margin-top:16px; line-height:1.6; }

.empty-cart{ text-align:center; padding:100px 20px; }
.empty-cart svg{ margin-bottom:24px; color:var(--border); }
