/* ── Cart page ─────────────────────────────────────────────────────── */
.s-cart { max-width:1100px; margin:0 auto; padding:2.5rem 1.25rem 5rem; }

/* Empty state */
.s-cart__empty { display:flex; flex-direction:column; align-items:center; text-align:center; padding:5rem 1rem; }
.s-cart__empty-icon { width:64px; height:64px; color:var(--muted); margin-bottom:1.5rem; }
.s-cart__empty-title { font-size:1.6rem; font-weight:700; margin:0 0 .5rem; }
.s-cart__empty-text { color:var(--muted); margin:0 0 1.75rem; }
.s-cart__empty-btn { display:inline-flex; align-items:center; gap:.5rem; background:var(--ink); color:#fff; padding:.75rem 1.6rem; border-radius:999px; font-weight:700; font-size:.95rem; transition:opacity .15s; }
.s-cart__empty-btn:hover { opacity:.85; }

/* Layout */
.s-cart__layout { display:grid; grid-template-columns:1fr 340px; gap:3rem; align-items:start; }

/* Heading */
.s-cart__heading { font-size:1.6rem; font-weight:800; margin:0 0 1.5rem; display:flex; align-items:baseline; gap:.75rem; }
.s-cart__count { font-size:.95rem; font-weight:400; color:var(--muted); }
.s-cart__notice { margin-bottom:1.25rem; }

/* Item list */
.s-cart__list { display:flex; flex-direction:column; }
.s-cart__row { display:grid; grid-template-columns:88px 1fr auto; gap:1.25rem; align-items:start; padding:1.25rem 0; border-bottom:1px solid var(--line); }

/* Thumb */
.s-cart__thumb { display:block; border-radius:12px; overflow:hidden; background:#f1efec; flex-shrink:0; }
.s-cart__thumb img { width:88px; height:110px; object-fit:contain; display:block; mix-blend-mode:multiply; }
.s-cart__thumb-placeholder { width:88px; height:110px; background:linear-gradient(135deg,#e6e0d7,#cfc6b8); }

/* Info */
.s-cart__title { font-weight:700; font-size:1rem; color:var(--ink); display:block; margin-bottom:.4rem; }
.s-cart__title:hover { color:var(--accent); }
.s-cart__meta { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; margin-bottom:.85rem; }
.s-cart__tag { font-size:.78rem; background:var(--bg); border:1px solid var(--line); border-radius:999px; padding:.2rem .65rem; color:var(--muted); }
.s-cart__unit { font-size:.82rem; color:var(--muted); }
.s-cart__qty-form .qty-stepper { display:inline-flex; align-items:center; gap:.25rem; }
.s-cart__qty-form .qty-btn { width:32px; height:32px; border-radius:8px; font-size:1.1rem; }
.s-cart__qty-form .qty-input { width:44px; font-size:.9rem; }

/* Right col */
.s-cart__right { display:flex; flex-direction:column; align-items:flex-end; gap:.65rem; padding-top:.1rem; }
.s-cart__sub { font-weight:700; font-size:1rem; white-space:nowrap; }
.s-cart__remove { background:none; border:none; cursor:pointer; color:var(--muted); padding:.3rem; display:flex; border-radius:6px; transition:color .15s, background .15s; }
.s-cart__remove:hover { color:var(--ink); background:var(--bg); }

/* Continue link */
.s-cart__continue { display:inline-flex; align-items:center; gap:.5rem; margin-top:1.5rem; font-size:.875rem; color:var(--muted); transition:color .15s; }
.s-cart__continue:hover { color:var(--ink); }

/* Summary panel */
.s-cart__summary { background:#fff; border:1.5px solid var(--line); border-radius:20px; padding:1.75rem; position:sticky; top:150px; align-self:start; }
.s-cart__summary-heading { font-size:1.1rem; font-weight:700; margin:0 0 1.25rem; }
.s-cart__summary-rows { display:flex; flex-direction:column; gap:.7rem; padding-bottom:1rem; border-bottom:1px solid var(--line); margin-bottom:1rem; }
.s-cart__summary-row { display:flex; justify-content:space-between; font-size:.9rem; }
.s-cart__summary-muted { color:var(--muted); }
.s-cart__summary-total { display:flex; justify-content:space-between; align-items:baseline; font-size:1rem; margin-bottom:1.25rem; }
.s-cart__summary-total strong { font-size:1.2rem; }
.s-cart__checkout-btn { width:100%; display:flex; justify-content:center; align-items:center; gap:.6rem; background:var(--ink); color:#fff; border:none; border-radius:999px; padding:.9rem 1.25rem; font-size:1rem; font-weight:700; cursor:pointer; font-family:inherit; transition:opacity .15s; }
.s-cart__checkout-btn:hover { opacity:.88; }
.s-cart__summary-note { display:flex; align-items:center; gap:.4rem; font-size:.78rem; color:var(--muted); margin:.85rem 0 .75rem; justify-content:center; }
.s-cart__pay-badges { display:flex; flex-wrap:wrap; gap:.4rem; justify-content:center; }

/* Dark */
html.theme-dark .s-cart__summary { background:#1d1813; }
html.theme-dark .s-cart__tag { background:#241e18; }
/* Filled buttons use var(--ink) bg (flips light in dark mode) → darken the text */
html.theme-dark .s-cart__checkout-btn,
html.theme-dark .s-cart__empty-btn { color:#16130f; }

/* Responsive */
@media (max-width:860px) {
  .s-cart__layout { grid-template-columns:1fr; }
  .s-cart__summary { position:static; }
}
@media (max-width:480px) {
  .s-cart__row { grid-template-columns:72px 1fr; }
  .s-cart__right { flex-direction:row; align-items:center; grid-column:1/-1; justify-content:space-between; padding-top:0; }
  .s-cart__thumb img, .s-cart__thumb-placeholder { width:72px; height:90px; }
}
