/* Cart page styling - scoped to #cart-page to avoid bleed */
#cart-page {
  --cart-muted: #6c757d;
  --cart-border: #e9ecef;
  --cart-bg-soft: #f8f9fa;
  --cart-row-hover: #fcfcfd;
  --cart-accent: #0d6efd;
}

/* Heading and breadcrumb */
#cart-page h1.h3 { margin: 0; letter-spacing: -0.01em; }
#cart-page .breadcrumb {
  background: transparent;
  margin: 0;
}
#cart-page .breadcrumb .breadcrumb-item { color: var(--cart-muted); }
#cart-page .breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: var(--cart-muted); }
#cart-page .breadcrumb .breadcrumb-item.active { color: #212529; font-weight: 500; }

/* Card polish */
#cart-page .card { border-color: var(--cart-border); box-shadow: 0 4px 16px rgba(33,37,41,.04); }
#cart-page .card > .card-body { padding: 1rem; }

/* Table appearance */
.table-cart { --bs-table-bg: #fff; }
.table-cart thead th {
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: #495057;
  background: var(--cart-bg-soft);
  border-bottom: 1px solid var(--cart-border) !important;
}
.table-cart tbody tr { transition: background-color .15s ease; }
.table-cart tbody tr:hover { background: var(--cart-row-hover); }
.table-cart th, .table-cart td { vertical-align: middle; }
.table-cart tfoot td { border-top: 1px solid var(--cart-border); background: #fff; }

/* Product cell */
#cart-page .product-thumb { width: 64px; height: 64px; border: 1px solid var(--cart-border); background: #fff; }
#cart-page .product-thumb .thumb-img { width: 64px; height: 64px; object-fit: cover; display: block; transition: transform .18s ease; }
#cart-page .thumb-wrap:hover .thumb-img { transform: scale(1.06); }
#cart-page .fw-semibold a { color: #212529; }
#cart-page .fw-semibold a:hover { color: var(--cart-accent); text-decoration: none; }
#cart-page .text-truncate { opacity: .85; }

/* Remove button */
#cart-page .btn-outline-danger.btn-sm { border-color: #f1aeb5; color: #dc3545; }
#cart-page .btn-outline-danger.btn-sm:hover { background: #dc3545; color: #fff; }

/* Quantity control */
#cart-page .qty-group { width: 140px; }
#cart-page .qty-group .btn { width: 36px; }
#cart-page .qty-group input[type="number"] { max-width: 68px; }
/* Hide number spinners for a cleaner look */
#cart-page input[type=number]::-webkit-outer-spin-button,
#cart-page input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#cart-page input[type=number] { appearance: textfield; -moz-appearance: textfield; }

/* Coupon row */
#cart-page #coupon_apply_form .form-control { min-width: 220px; }
#cart-page #coupon_apply_form .btn { white-space: nowrap; }

/* Order summary */
#cart-page .card-title { font-size: 1.05rem; margin-bottom: .75rem; }
#cart-page .position-sticky.top-3 { top: 1rem; }
#cart-page .alert { border: 1px solid var(--cart-border); }

/* Shipping list enhancements */
/* Highlight selected option in modern browsers */
#cart-page .list-group-item.list-group-item-action { border-color: var(--cart-border); }
#cart-page .list-group-item.list-group-item-action:has(.form-check-input:checked) {
  border-color: rgba(13,110,253,.35);
  background: #f1f6ff;
  box-shadow: inset 0 0 0 1px rgba(13,110,253,.1);
}
#cart-page .list-group-item .fw-semibold { font-weight: 600; }

/* Totals rows */
#cart-page [data-cart-total] { font-weight: 700; }
#cart-page #discount_row { color: #157347 !important; }

/* Continue shopping */
#cart-page .btn-outline-secondary { border-color: var(--cart-border); }
#cart-page .btn-outline-secondary:hover { background: #f2f4f7; }

/* Subtle utilities */
#cart-page .top-3 { top: 1rem; }

/* Responsive tweaks */
@media (max-width: 576px) {
  #cart-page .qty-group { width: 120px; }
  #cart-page #coupon_apply_form { width: 100%; }
  #cart-page #coupon_apply_form .form-control { flex: 1 1 auto; min-width: 0; }
}
