/**
 * DistrictM Cart UX — match demo-page/gio-hang.html
 * v1.1.0
 */

:root {
  --dm-cx-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --dm-cx-accent: #a88462;
  --dm-cx-accent-hover: #8f6f52;
  --dm-cx-border: #e5e5e5;
  --dm-cx-border-strong: #d4d4d4;
  --dm-cx-surface: #fafafa;
  --dm-cx-text: #171717;
  --dm-cx-secondary: #525252;
  --dm-cx-muted: #737373;
  --dm-cx-danger: #dc2626;
  --dm-cx-danger-bg: #fef2f2;
  --dm-cx-success: #16a34a;
  --dm-cx-success-bg: #f0fdf4;
  --dm-cx-radius: 8px;
  --dm-cx-transition: 200ms ease;
}

/* ── Page base (cart only) ────────────────────────────────── */

body.woocommerce-cart,
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .cart-container,
body.woocommerce-cart .cart-wrapper {
  font-family: var(--dm-cx-font);
  color: var(--dm-cx-text);
}

/* Kill Flatsome sticky sidebar / clipped scroll that “hides” the product list */
body.woocommerce-cart .is-sticky-column,
body.woocommerce-cart .is-sticky-column .inner-sticky,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart_totals {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  height: auto !important;
  max-height: none !important;
  transform: none !important;
  overflow: visible !important;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .shop_table.cart,
body.woocommerce-cart .cart-wrapper,
body.woocommerce-cart .row,
body.woocommerce-cart .col {
  overflow: visible !important;
  max-height: none !important;
}

/* Mobile: stack list → totals as one page (list always in document flow) */
@media (max-width: 849px) {
  body.woocommerce-cart .woocommerce.row,
  body.woocommerce-cart .cart-container .row {
    display: flex !important;
    flex-direction: column !important;
  }

  body.woocommerce-cart .woocommerce.row > .col,
  body.woocommerce-cart .woocommerce.row > [class*="large-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* Product column first, totals second */
  body.woocommerce-cart .woocommerce-cart-form {
    order: 1;
    display: block !important;
    width: 100% !important;
  }

  body.woocommerce-cart .cart-collaterals {
    order: 2;
    display: block !important;
    width: 100% !important;
    margin-top: 1.5rem;
  }
}

/* ── Hide Woo shipping calculator ─────────────────────────── */

.woocommerce-cart .woocommerce-shipping-calculator,
.woocommerce-cart .shipping-calculator-button,
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .woocommerce-shipping-totals {
  display: none !important;
}

body.dm-cx-has-discount-rows .cart_totals tr.cart-discount {
  display: none !important;
}

/* ── Free-ship strip ──────────────────────────────────────── */

.dm-cx-ship-strip {
  margin: 0 0 1.25rem;
  padding: 0.875rem 1rem;
  border: 1px solid var(--dm-cx-border);
  background: var(--dm-cx-surface);
  font-family: var(--dm-cx-font);
}

.dm-cx-ship-strip.is-unlocked {
  border-color: #c5d9c8;
  background: var(--dm-cx-success-bg);
}

.dm-cx-ship-strip__msg {
  margin: 0 0 0.5rem;
  font-size: 0.875rem;
  color: var(--dm-cx-text);
  line-height: 1.45;
}

.dm-cx-ship-strip__msg strong {
  font-weight: 600;
}

.dm-cx-ship-strip__bar {
  height: 4px;
  background: var(--dm-cx-border);
  overflow: hidden;
}

.dm-cx-ship-strip__fill {
  height: 100%;
  background: var(--dm-cx-text);
  transition: width var(--dm-cx-transition);
}

.dm-cx-ship-strip.is-unlocked .dm-cx-ship-strip__fill {
  background: var(--dm-cx-success);
}

/* ── Cart totals (demo-like) ──────────────────────────────── */

.woocommerce-cart .cart_totals {
  font-family: var(--dm-cx-font);
  width: 100%;
  padding: 0;
  background: transparent;
  border: 0;
}

/* Kill Flatsome / theme line above “Tổng cộng giỏ hàng” */
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart_totals,
body.woocommerce-cart .cart-sidebar,
body.woocommerce-cart .cart-wrapper > .large-5,
body.woocommerce-cart .cart-wrapper > .medium-5,
body.woocommerce-cart .cart-wrapper > [class*="large-5"],
body.woocommerce-cart .cart-wrapper > [class*="medium-5"],
body.woocommerce-cart .row-divided,
body.woocommerce-cart .row-divided > .col,
body.woocommerce-cart .row-divided > [class*="large-"],
body.woocommerce-cart .row-divided > [class*="medium-"],
body.woocommerce-cart .row-divided > [class*="small-"],
body.dm-cx-cart .cart-collaterals .col-inner,
body.dm-cx-cart .cart-sidebar .col-inner {
  border: 0 !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body.woocommerce-cart .row-divided > .col:before,
body.woocommerce-cart .row-divided > .col:after,
body.woocommerce-cart .row-divided > [class*="large-"]:before,
body.woocommerce-cart .row-divided > [class*="large-"]:after,
body.woocommerce-cart .cart-collaterals::before,
body.woocommerce-cart .cart_totals::before,
body.woocommerce-cart .cart-sidebar::before,
body.woocommerce-cart .cart-collaterals hr,
body.woocommerce-cart .cart_totals hr,
body.woocommerce-cart .cart-sidebar hr {
  content: none !important;
  display: none !important;
  border: 0 !important;
  height: 0 !important;
  width: 0 !important;
  background: none !important;
}

.woocommerce-cart .woocommerce-cart-form {
  border-bottom: 0 !important;
}

.woocommerce-cart .cart_totals > h2,
.woocommerce-cart .cart_totals .cart-totals-title,
.woocommerce-cart .cart_totals .widget-title {
  margin: 0 0 0.35rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: none !important;
  font-family: var(--dm-cx-font) !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--dm-cx-text) !important;
}

.woocommerce-cart .cart_totals > h2::before,
.woocommerce-cart .cart_totals > h2::after,
.woocommerce-cart .cart_totals .cart-totals-title::before,
.woocommerce-cart .cart_totals .cart-totals-title::after,
.woocommerce-cart .cart_totals .widget-title::before,
.woocommerce-cart .cart_totals .widget-title::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

.woocommerce-cart .cart_totals table.shop_table,
.woocommerce-cart .cart_totals table {
  display: block !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
}

.woocommerce-cart .cart_totals table tbody {
  display: flex !important;
  flex-direction: column;
  width: 100%;
}

.woocommerce-cart .cart_totals tr {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  width: 100% !important;
  margin: 0 !important;
  padding: 0.85rem 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--dm-cx-border) !important;
  background: transparent !important;
}

.woocommerce-cart .cart_totals tr.order-total {
  border-bottom: 1px solid var(--dm-cx-border) !important;
}

.woocommerce-cart .cart_totals tr.dm-cx-row--before { order: 1; }
.woocommerce-cart .cart_totals tr.dm-cx-row--discount { order: 2; }
.woocommerce-cart .cart_totals tr.cart-subtotal { order: 3; }
.woocommerce-cart .cart_totals tr.cart-discount { order: 4; }
.woocommerce-cart .cart_totals tr.fee { order: 5; }
.woocommerce-cart .cart_totals tr.dm-cx-row--ship-free { order: 5; }
.woocommerce-cart .cart_totals tr.tax-rate { order: 7; }
.woocommerce-cart .cart_totals tr.order-total { order: 10; }

.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
  display: block !important;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
  font-family: var(--dm-cx-font) !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  color: var(--dm-cx-secondary) !important;
  line-height: 1.45;
}

.woocommerce-cart .cart_totals td {
  text-align: right !important;
  color: var(--dm-cx-text) !important;
  font-variant-numeric: tabular-nums;
}

/* Kill Woo/Flatsome mobile data-title labels + underline-only borders */
.woocommerce-cart .cart_totals td::before,
.woocommerce-cart .cart_totals th::before {
  content: none !important;
  display: none !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  font-weight: 700 !important;
  font-size: 1rem !important;
  color: var(--dm-cx-text) !important;
}

.woocommerce-cart .cart_totals .dm-cx-row__was,
.woocommerce-cart .cart_totals .dm-cx-row__was .amount,
.woocommerce-cart .cart_totals tr.dm-cx-row--before td,
.woocommerce-cart .cart_totals tr.dm-cx-row--before .amount {
  color: var(--dm-cx-text) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.woocommerce-cart .cart_totals tr.dm-cx-row--discount td,
.woocommerce-cart .cart_totals tr.dm-cx-row--discount .dm-cx-discount-amount,
.woocommerce-cart .cart_totals tr.dm-cx-row--discount .amount {
  color: var(--dm-cx-danger) !important;
  font-weight: 600 !important;
}

.woocommerce-cart .cart_totals .dm-cx-ship-free {
  display: block;
  font-weight: 600;
  color: var(--dm-cx-success) !important;
  text-decoration: none !important;
  border: 0 !important;
}

.woocommerce-cart .cart_totals .dm-cx-ship-free__note {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--dm-cx-muted) !important;
  text-decoration: none !important;
  border: 0 !important;
}

.woocommerce-cart .cart_totals tr.fee td {
  font-weight: 600 !important;
}

/* Checkout button — demo solid black */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  margin: 1.5rem 0 0 !important;
  padding: 0 !important;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0.9rem 1.25rem !important;
  border: 1px solid var(--dm-cx-text) !important;
  border-radius: 0 !important;
  background: var(--dm-cx-text) !important;
  color: #fff !important;
  font-family: var(--dm-cx-font) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  line-height: 1.3 !important;
  transition: background var(--dm-cx-transition), color var(--dm-cx-transition), border-color var(--dm-cx-transition) !important;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:focus,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button:focus {
  background: #fff !important;
  color: var(--dm-cx-text) !important;
  border-color: var(--dm-cx-text) !important;
}

/* Hide ALL native Woo/Flatsome coupon UIs — only .dm-cx-coupon stays */
body.woocommerce-cart .woocommerce-cart-form .coupon,
body.woocommerce-cart .woocommerce-cart-form td.actions .coupon,
body.woocommerce-cart .cart_totals > .coupon,
body.woocommerce-cart .cart_totals .coupon,
body.woocommerce-cart .cart-collaterals .coupon,
body.woocommerce-cart .cart-sidebar .coupon,
body.woocommerce-cart .woocommerce-form-coupon-toggle,
body.woocommerce-cart .checkout_coupon,
body.woocommerce-cart .woocommerce-form-coupon,
body.woocommerce-cart form.checkout_coupon {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

.woocommerce-cart-form .button[name="update_cart"] {
  font-family: var(--dm-cx-font);
}

/* Demo coupon under checkout CTA */
body.woocommerce-cart .dm-cx-coupon {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  margin-top: 1.75rem !important;
  padding-top: 1.1rem !important;
  border-top: 1px solid var(--dm-cx-border) !important;
  font-family: var(--dm-cx-font);
  overflow: visible !important;
}

body.woocommerce-cart .dm-cx-coupon__title {
  display: block !important;
  margin: 0 0 0.65rem !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--dm-cx-text) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.woocommerce-cart .dm-cx-coupon__form {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  width: 100% !important;
}

body.woocommerce-cart .dm-cx-coupon__row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 0.5rem !important;
  align-items: stretch !important;
  width: 100% !important;
}

body.woocommerce-cart .dm-cx-coupon__row .dm-cx-coupon__input,
body.woocommerce-cart .dm-cx-coupon__row input.input-text {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 2.5rem !important;
  margin: 0 !important;
  padding: 0.55rem 0.75rem !important;
  border: 1px solid var(--dm-cx-border) !important;
  border-radius: 0 !important;
  background: #fff !important;
  font-family: var(--dm-cx-font) !important;
  font-size: 0.875rem !important;
  box-shadow: none !important;
  float: none !important;
}

body.woocommerce-cart .dm-cx-coupon__row .dm-cx-coupon__btn,
body.woocommerce-cart .dm-cx-coupon__row button.button {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 5.5rem !important;
  max-width: none !important;
  height: 2.5rem !important;
  margin: 0 !important;
  padding: 0 0.9rem !important;
  border: 1px solid var(--dm-cx-border) !important;
  border-radius: 0 !important;
  background: var(--dm-cx-surface) !important;
  color: var(--dm-cx-secondary) !important;
  font-family: var(--dm-cx-font) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  line-height: 1 !important;
  float: none !important;
}

body.woocommerce-cart .dm-cx-coupon__row .dm-cx-coupon__btn:hover,
body.woocommerce-cart .dm-cx-coupon__row button.button:hover {
  background: #f0f0f0 !important;
  color: var(--dm-cx-text) !important;
}

.woocommerce-cart .dm-cx-coupon .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

/* Continue shopping — only the link is the button (no outer box) */
.woocommerce-cart .continue-shopping,
.woocommerce-cart-form + .continue-shopping,
.woocommerce-cart .return-to-shop,
.woocommerce-cart-form table.shop_table.cart tbody tr.actions,
.woocommerce-cart-form table.shop_table.cart tbody tr.actions td {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.woocommerce-cart .continue-shopping {
  display: block !important;
  margin: 2.25rem 0 0.75rem !important;
  padding: 0 !important;
  width: auto !important;
}

.woocommerce-cart a.button.wc-backward,
.woocommerce-cart .continue-shopping a,
.woocommerce-cart .return-to-shop a.button,
.woocommerce-cart-form ~ a.button.wc-backward {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  max-width: max-content !important;
  margin: 2.25rem 0 0.75rem !important;
  padding: 0.65rem 1rem !important;
  border: 1px solid var(--dm-cx-text) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--dm-cx-text) !important;
  font-family: var(--dm-cx-font) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background var(--dm-cx-transition), color var(--dm-cx-transition) !important;
}

.woocommerce-cart .continue-shopping a {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.woocommerce-cart a.button.wc-backward:hover,
.woocommerce-cart .continue-shopping a:hover,
.woocommerce-cart .return-to-shop a.button:hover {
  background: var(--dm-cx-text) !important;
  color: #fff !important;
}

/* ── Quantity stepper (− | qty | +) — equal cells, centered ─ */

.woocommerce-cart .product-quantity {
  text-align: center !important;
}

.woocommerce-cart .product-quantity .quantity {
  display: grid !important;
  grid-template-columns: 1.75rem 2rem 1.75rem;
  align-items: stretch;
  justify-content: center;
  height: 2rem;
  margin: 0 auto;
  border: 1px solid var(--dm-cx-border-strong);
  border-radius: var(--dm-cx-radius);
  background: #fff;
  overflow: hidden;
  float: none !important;
  width: 5.5rem !important;
  max-width: 5.5rem !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .product-quantity .quantity .minus,
.woocommerce-cart .product-quantity .quantity .plus,
.woocommerce-cart .product-quantity .quantity a.minus,
.woocommerce-cart .product-quantity .quantity a.plus,
.woocommerce-cart .product-quantity .quantity button.minus,
.woocommerce-cart .product-quantity .quantity button.plus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--dm-cx-surface) !important;
  color: var(--dm-cx-text) !important;
  box-shadow: none !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  vertical-align: middle !important;
}

.woocommerce-cart .product-quantity .quantity input.qty {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid var(--dm-cx-border) !important;
  border-right: 1px solid var(--dm-cx-border) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  text-align: center !important;
  font-family: var(--dm-cx-font) !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 2rem !important;
  -moz-appearance: textfield;
  appearance: textfield;
}

.woocommerce-cart .product-quantity .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .product-quantity .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Remove */
.woocommerce-cart .product-remove a.remove {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 2rem !important;
  height: 2rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--dm-cx-border) !important;
  border-radius: var(--dm-cx-radius) !important;
  background: #fff !important;
  color: var(--dm-cx-muted) !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.woocommerce-cart .product-remove a.remove:hover {
  color: var(--dm-cx-danger) !important;
  border-color: var(--dm-cx-danger) !important;
  background: var(--dm-cx-danger-bg) !important;
}

.woocommerce-cart .product-price del {
  display: block;
  font-size: 0.75rem;
  font-weight: 400 !important;
  color: var(--dm-cx-muted) !important;
  text-decoration: line-through !important;
}

.woocommerce-cart .product-price del .amount {
  color: inherit !important;
  text-decoration: inherit !important;
}

.woocommerce-cart .product-price ins {
  display: block;
  background: none !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  color: var(--dm-cx-text) !important;
}

.woocommerce-cart .product-name a {
  font-family: var(--dm-cx-font);
  color: var(--dm-cx-accent) !important;
  font-weight: 500;
}

/* ── Desktop product grid (1 row: product | giá | SL | tạm | x) ─ */

@media (min-width: 850px) {
  .woocommerce-cart-form table.shop_table.cart {
    width: 100% !important;
    border-collapse: collapse;
    table-layout: fixed;
  }

  /*
   * Sản phẩm gets max leftover width; Giá/SL/Tạm tính sit tighter on the right.
   */
  .woocommerce-cart-form table.shop_table.cart thead tr,
  .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item,
  .woocommerce-cart-form table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 5.75rem 5.75rem 6.75rem 2.25rem;
    column-gap: 0.65rem;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
  }

  .woocommerce-cart-form table.shop_table.cart thead th,
  .woocommerce-cart-form table.shop_table.cart tbody td {
    display: block !important;
    width: auto !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    min-width: 0;
    vertical-align: middle;
  }

  .woocommerce-cart-form table.shop_table.cart thead {
    border-bottom: 1px solid var(--dm-cx-border);
  }

  .woocommerce-cart-form table.shop_table.cart thead th {
    padding-bottom: 0.75rem !important;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--dm-cx-muted);
    font-family: var(--dm-cx-font);
  }

  .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item,
  .woocommerce-cart-form table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item {
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--dm-cx-border);
  }

  /* Thumb + name share col 1 */
  .woocommerce-cart-form table.shop_table.cart tbody .product-thumbnail {
    grid-column: 1;
    grid-row: 1;
    width: 56px;
    align-self: center;
    z-index: 1;
  }

  .woocommerce-cart-form table.shop_table.cart tbody .product-name {
    grid-column: 1;
    grid-row: 1;
    padding-left: 68px !important;
    padding-right: 0.5rem !important;
    align-self: center;
    min-width: 0;
  }

  .woocommerce-cart-form table.shop_table.cart thead .product-thumbnail {
    display: none !important;
  }

  .woocommerce-cart-form table.shop_table.cart thead .product-name {
    grid-column: 1;
    text-align: left !important;
  }

  /* Giá — center under header */
  .woocommerce-cart-form table.shop_table.cart .product-price,
  .woocommerce-cart-form table.shop_table.cart thead .product-price {
    grid-column: 2;
    grid-row: 1;
    justify-self: stretch;
    align-self: center;
    text-align: center !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    padding: 0 !important;
  }

  /* Số lượng — center under header + center stepper */
  .woocommerce-cart-form table.shop_table.cart .product-quantity,
  .woocommerce-cart-form table.shop_table.cart thead .product-quantity {
    grid-column: 3;
    grid-row: 1;
    justify-self: stretch;
    align-self: center;
    text-align: center !important;
    width: auto !important;
    padding: 0 !important;
  }

  .woocommerce-cart-form table.shop_table.cart .product-quantity .quantity {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Tạm tính — right */
  .woocommerce-cart-form table.shop_table.cart .product-subtotal,
  .woocommerce-cart-form table.shop_table.cart thead .product-subtotal {
    grid-column: 4;
    grid-row: 1;
    justify-self: stretch;
    align-self: center;
    text-align: right !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }

  .woocommerce-cart-form table.shop_table.cart .product-subtotal {
    font-weight: 600;
  }

  .woocommerce-cart-form table.shop_table.cart .product-remove,
  .woocommerce-cart-form table.shop_table.cart thead .product-remove {
    grid-column: 5;
    grid-row: 1;
    justify-self: end;
    align-self: center;
  }

  .woocommerce-cart-form table.shop_table.cart thead .product-remove {
    font-size: 0;
    color: transparent;
  }

  .woocommerce-cart-form table.shop_table.cart .product-thumbnail img {
    width: 56px !important;
    height: 56px !important;
    object-fit: contain;
  }

  .woocommerce-cart-form table.shop_table.cart tbody tr.actions {
    display: block !important;
    width: 100%;
  }

  .woocommerce-cart-form table.shop_table.cart tbody tr.actions td {
    display: block !important;
    width: 100% !important;
    padding: 0.5rem 0 0 !important;
  }
}

/* ── Mobile product list — match demo areas ───────────────── */

@media (max-width: 849px) {
  .woocommerce-cart-form {
    display: block !important;
    visibility: visible !important;
  }

  .woocommerce-cart-form table.shop_table.cart thead {
    display: none !important;
  }

  .woocommerce-cart-form table.shop_table.cart,
  .woocommerce-cart-form table.shop_table.cart tbody {
    display: block !important;
    width: 100% !important;
  }

  /*
   * Mobile (demo):
   * [thumb] [name ……………] [x]
   *         [price]   [qty]
   *         Tạm tính  [sub]
   */
  .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item,
  .woocommerce-cart-form table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) max-content 2rem;
    grid-template-areas:
      "thumb name name remove"
      "thumb price qty qty"
      "thumb sub sub sub";
    column-gap: 0.65rem;
    row-gap: 0.55rem;
    align-items: center;
    padding: 1.1rem 0;
    border-bottom: 1px solid var(--dm-cx-border);
    margin: 0;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    position: relative !important;
  }

  .woocommerce-cart-form table.shop_table.cart tbody td {
    display: block !important;
    width: auto !important;
    float: none !important;
    clear: none !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
    position: static !important;
  }

  .woocommerce-cart-form table.shop_table.cart tbody td::before {
    content: none !important;
    display: none !important;
  }

  .woocommerce-cart-form table.shop_table.cart .product-thumbnail {
    grid-area: thumb;
    display: block !important;
    align-self: start;
    width: 56px !important;
  }

  .woocommerce-cart-form table.shop_table.cart .product-thumbnail img {
    width: 56px !important;
    height: 56px !important;
    object-fit: contain;
  }

  .woocommerce-cart-form table.shop_table.cart .product-name {
    grid-area: name;
    min-width: 0;
    max-width: 100%;
    text-align: left !important;
    align-self: start;
    padding: 0.1rem 0.25rem 0 0 !important;
  }

  .woocommerce-cart-form table.shop_table.cart .product-name a {
    display: block;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* Hide Flatsome “1 x giá” under name */
  .woocommerce-cart-form table.shop_table.cart .product-name .mobile-product-price,
  .woocommerce-cart-form table.shop_table.cart .product-name .show-for-small,
  .woocommerce-cart-form table.shop_table.cart .product-name .product-mobile-price,
  .woocommerce-cart-form table.shop_table.cart .product-name .cart-item-price,
  .woocommerce-cart-form table.shop_table.cart .product-name .amount {
    display: none !important;
  }

  .woocommerce-cart-form table.shop_table.cart .product-name > a .amount {
    display: none !important;
  }

  .woocommerce-cart-form table.shop_table.cart .product-remove,
  .woocommerce-cart-form table.shop_table.cart td.product-remove {
    grid-area: remove !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-self: start !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 2rem !important;
    min-width: 2rem !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin: 0 !important;
  }

  .woocommerce-cart-form table.shop_table.cart .product-price {
    grid-area: price;
    justify-self: start;
    align-self: center;
    font-size: 0.875rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .woocommerce-cart-form table.shop_table.cart .product-price del {
    display: inline;
    margin-right: 0.35rem;
    font-weight: 400;
  }

  .woocommerce-cart-form table.shop_table.cart .product-quantity {
    grid-area: qty;
    justify-self: end;
    align-self: center;
    text-align: right !important;
    width: max-content !important;
    margin: 0 !important;
  }

  /* Compact stepper on mobile */
  .woocommerce-cart-form table.shop_table.cart .product-quantity .quantity {
    width: 5.25rem !important;
    max-width: 5.25rem !important;
    height: 1.85rem !important;
    margin: 0 0 0 auto !important;
    grid-template-columns: 1.55rem 1.85rem 1.55rem !important;
  }

  .woocommerce-cart-form table.shop_table.cart .product-quantity .quantity .minus,
  .woocommerce-cart-form table.shop_table.cart .product-quantity .quantity .plus,
  .woocommerce-cart-form table.shop_table.cart .product-quantity .quantity a.minus,
  .woocommerce-cart-form table.shop_table.cart .product-quantity .quantity a.plus,
  .woocommerce-cart-form table.shop_table.cart .product-quantity .quantity button.minus,
  .woocommerce-cart-form table.shop_table.cart .product-quantity .quantity button.plus {
    font-size: 0.9rem !important;
  }

  .woocommerce-cart-form table.shop_table.cart .product-quantity .quantity input.qty {
    font-size: 0.8125rem !important;
    line-height: 1.85rem !important;
  }

  .woocommerce-cart-form table.shop_table.cart .product-subtotal {
    grid-area: sub;
    justify-self: end;
    text-align: right !important;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  .woocommerce-cart-form table.shop_table.cart .product-subtotal::before {
    content: "Tạm tính ";
    font-weight: 400;
    color: var(--dm-cx-muted);
    font-size: 0.75rem;
    margin-right: 0.35rem;
  }

  .woocommerce-cart-form table.shop_table.cart tbody tr.actions {
    display: block !important;
    padding-top: 0.25rem;
    padding-bottom: 0.5rem;
    border: 0 !important;
  }

  .woocommerce-cart-form table.shop_table.cart tbody tr.actions td {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding: 0 !important;
  }
}
