/* page-cart.css — shopping cart */

.xb-cart-pg { background:var(--xb-bg);min-height:100vh;padding-bottom:calc(var(--xb-bot-h) + 20px); }

/* ── PAGE HEADER ── */
.xb-cart-pg-head {
  padding:18px 16px;max-width:var(--xb-max);margin-inline:auto;
}
.xb-cart-pg-title {
  font-family:'Syne',sans-serif;font-size:1.35rem;font-weight:800;
  color:var(--xb-ink);display:flex;align-items:center;gap:10px;
}
.xb-cart-count-chip {
  font-size:.75rem;font-weight:700;background:var(--xb-accent-pale);
  color:var(--xb-accent);padding:2px 10px;border-radius:var(--xb-r-full);
}

/* ── LAYOUT ── */
.xb-cart-layout {
  max-width:var(--xb-max);margin-inline:auto;
  padding:0 16px 24px;display:flex;flex-direction:column;gap:20px;
}

/* ── ITEM CARD ── */
.xb-cart-item {
  background:var(--xb-surface);border-radius:var(--xb-r-lg);
  padding:14px;box-shadow:var(--xb-s-xs);
  display:flex;gap:13px;align-items:flex-start;
  animation:xb-fadeUp .3s ease both;
  transition:box-shadow .2s;
}
.xb-cart-item:hover { box-shadow:var(--xb-s-sm); }
.xb-item-thumb {
  width:64px;height:80px;border-radius:var(--xb-r-sm);
  flex-shrink:0;display:flex;align-items:flex-end;padding:7px;
  font-family:'Syne',sans-serif;font-size:.5rem;font-weight:700;
  color:rgba(255,255,255,.9);letter-spacing:.06em;text-transform:uppercase;
  background:linear-gradient(135deg,#374151,#111827);
}
.xb-item-body { flex:1;min-width:0; }
.xb-item-name {
  font-family:'Syne',sans-serif;font-weight:700;font-size:.92rem;
  color:var(--xb-ink);margin-bottom:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.xb-item-variant {
  font-size:.76rem;color:var(--xb-ink2);margin-bottom:10px;
  display:flex;align-items:center;gap:5px;
}
.xb-item-variant::before {
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--xb-accent);flex-shrink:0;
}
.xb-item-controls { display:flex;align-items:center;gap:6px; }
.xb-qty-btn {
  width:28px;height:28px;border-radius:var(--xb-r-xs);
  background:var(--xb-bg);border:1.5px solid rgba(0,0,0,.09);
  font-size:.95rem;font-weight:700;color:var(--xb-ink);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .15s;line-height:1;
}
.xb-qty-btn:hover { background:#ebebea; }
.xb-qty-btn:disabled { opacity:.4;cursor:not-allowed; }
.xb-qty-num {
  font-weight:700;font-size:.9rem;
  min-width:24px;text-align:center;color:var(--xb-ink);
}
.xb-item-remove {
  font-size:.72rem;color:var(--xb-ink3);cursor:pointer;
  text-decoration:underline;background:none;border:none;
  font-family:inherit;padding:0;margin-left:6px;
  transition:color .2s;
}
.xb-item-remove:hover { color:#ef4444; }
.xb-item-right { text-align:right;flex-shrink:0;padding-top:2px; }
.xb-item-price {
  font-family:'Syne',sans-serif;font-weight:800;font-size:1rem;color:var(--xb-ink);
}
.xb-item-old-price { font-size:.74rem;color:var(--xb-ink3);text-decoration:line-through;margin-bottom:2px; }

/* ── CART ACTIONS ── */
.xb-cart-clear {
  font-size:.78rem;color:var(--xb-ink3);background:none;border:none;
  cursor:pointer;text-decoration:underline;font-family:inherit;
  padding:0;display:inline-flex;align-items:center;gap:5px;margin-top:4px;
  transition:color .2s;
}
.xb-cart-clear:hover { color:#ef4444; }

/* ── ORDER SUMMARY ── */
.xb-cart-summary {
  background:var(--xb-surface);border-radius:var(--xb-r-xl);
  padding:20px;box-shadow:var(--xb-s-md);
}
.xb-sum-title {
  font-family:'Syne',sans-serif;font-size:1rem;font-weight:800;
  color:var(--xb-ink);margin-bottom:16px;
}
.xb-sum-row {
  display:flex;justify-content:space-between;align-items:center;
  padding:9px 0;font-size:.86rem;color:var(--xb-ink2);
  border-bottom:1px solid rgba(0,0,0,.05);
}
.xb-sum-row:last-of-type { border-bottom:none; }
.xb-sum-row.total {
  font-family:'Syne',sans-serif;font-weight:800;font-size:1.05rem;
  color:var(--xb-ink);padding-top:14px;margin-top:4px;
}
.xb-discount-code {
  display:flex;gap:8px;margin:14px 0;
}
.xb-discount-input {
  flex:1;height:40px;padding:0 12px;
  border:1.5px solid #e5e5e3;border-radius:var(--xb-r-sm);
  font-size:.84rem;outline:none;transition:border-color .2s;
}
.xb-discount-input:focus { border-color:var(--xb-accent); }
.xb-discount-apply {
  height:40px;padding:0 16px;border-radius:var(--xb-r-sm);
  background:var(--xb-bg);border:1.5px solid #e5e5e3;
  font-size:.82rem;font-weight:600;color:var(--xb-ink2);cursor:pointer;
  white-space:nowrap;transition:all .2s;
}
.xb-discount-apply:hover { border-color:var(--xb-accent);color:var(--xb-accent); }
.xb-checkout-btn {
  width:100%;height:52px;
  background:linear-gradient(135deg,var(--xb-accent),#e55a00);
  color:#fff;font-size:.97rem;font-weight:700;
  border-radius:var(--xb-r-full);border:none;cursor:pointer;
  box-shadow:0 4px 16px rgba(255,107,0,.35);
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:18px;text-decoration:none;
  transition:opacity .2s,transform .15s;
}
.xb-checkout-btn:hover { opacity:.9;transform:translateY(-1px); }
.xb-continue-link {
  display:block;text-align:center;font-size:.83rem;
  color:var(--xb-ink2);margin-top:12px;text-decoration:underline;
  cursor:pointer;background:none;border:none;font-family:inherit;width:100%;
}

/* ── EMPTY STATE ── */
.xb-cart-empty {
  text-align:center;padding:56px 20px;
  animation:xb-fadeUp .4s ease both;
}
.xb-cart-empty-icon {
  width:80px;height:80px;border-radius:50%;background:var(--xb-accent-pale);
  display:flex;align-items:center;justify-content:center;
  margin-inline:auto;margin-bottom:18px;
}
.xb-cart-empty h2 {
  font-family:'Syne',sans-serif;font-size:1.25rem;font-weight:700;
  color:var(--xb-ink);margin-bottom:8px;
}
.xb-cart-empty p { font-size:.88rem;color:var(--xb-ink2);margin-bottom:22px; }

/* ── SKELETON ── */
.xb-skel {
  background:linear-gradient(90deg,#f0f0ee 25%,#e4e4e2 50%,#f0f0ee 75%);
  background-size:200% 100%;animation:xb-shimmer 1.4s infinite;border-radius:var(--xb-r-sm);
}
.xb-skel-cart { height:108px;margin-bottom:10px; }
@keyframes xb-shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* ── RESPONSIVE ── */
@media (min-width:768px) {
  .xb-cart-pg-head { padding:24px 24px; }
  .xb-cart-layout {
    flex-direction:row;align-items:flex-start;gap:28px;padding:0 24px 32px;
  }
  .xb-cart-items-col { flex:1;min-width:0; }
  .xb-cart-summary { position:sticky;top:calc(var(--xb-nav-h)+16px);width:340px;flex-shrink:0; }
  .xb-cart-pg { padding-bottom:20px; }
}
