/* Cart Page */
.cms-cart-title {
  color: var(--primary-text);
  font-size: 22px;
  line-height: 36px;
  font-weight: 700;
  margin-bottom: 4px;
}

.cms-cart-items-count {
  color: var(--muted-text);
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
}

.cms-cart-items-count .cms-cart-items-count-number {
  color: var(--primary-blue);
  font-weight: 700;
}

.cms-cart-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  list-style-position: inside;

  display: flex;
  flex-direction: column;
  justify-content: stretch;
  align-items: stretch;
  gap: 16px;
}

.cms-cart-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;

  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  padding: 16px;
  margin: 0 !important;
  background-color: #fff;
}

.cms-cart-item .product-thumbnail > a {
  display: inline-block;
  width: 100px;
  height: 100px;

  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.cms-cart-item-left {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  gap: 16px;
}

.cms-cart-item .product-name a {
  color: var(--primary-text);
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
}

.cms-cart-item .product-desc {
  color: var(--muted-text);
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
}

.cms-cart-item-right {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  gap: 16px;
}

.cms-cart-item-right .product-quantity .quantity {
  margin: 0;
}

.cms-cart-item-right .product-quantity .ux-quantity {
  margin: 0;
}

.cms-cart-item-right .product-quantity .ux-quantity__button.ux-quantity__button--minus {
  border: 1px solid var(--border-default);
  border-right: none !important;
  border-radius: var(--radius-md);
  background-color: #fff;
  padding: 0 16px;

  color: var(--muted-text);
  font-size: 16px;
}

.cms-cart-item-right .product-quantity .input-text.qty {
  border: none;
  border-top: 1px solid var(--border-default);
  border-bottom: 1px solid var(--border-default);
  background-color: #fff;
  box-shadow: unset;

  font-size: 18px;

  min-width: 48px;
}

.cms-cart-item-right .product-quantity .ux-quantity__button.ux-quantity__button--plus {
  border: 1px solid var(--border-default);
  border-left: none !important;
  border-radius: var(--radius-md);
  background-color: #fff;
  padding: 0 16px;

  color: var(--muted-text);
  font-size: 16px;
}

.cms-cart-item .product-remove a {
  color: var(--accent-danger);
  font-size: 14px;
  font-weight: 400;
  border: none;
  border-radius: unset;

  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  width: 100%;
}

.cms-cart-item .product-remove a .material-symbols-outlined {
  font-size: 18px;
}

.cms-cart-item-meta {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}

.cms-cam-ket-hoan-tien {
  margin-top: 32px;
  padding: 16px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--primary-blue-soft);
  background-color: var(--primary-blue-soft);

  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
}

.cms-cam-ket-hoan-tien .material-symbols-outlined {
  color: var(--primary-blue);
}

.cms-cam-ket-hoan-tien .cms-box .cms-cam-ket {
  color: var(--primary-text);
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
}

.cms-cam-ket-hoan-tien .cms-box .cms-hoan-tien {
  color: var(--muted-text);
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
}

.cms-cart-actions {
  margin-top: 32px;
  text-align: right;
}

.cms-cart-actions .cms-update-cart {
  color: #fff;
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  background-color: var(--primary-blue);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(23, 115, 207, 0.3) 0px 10px 15px -3px, rgba(23, 115, 207, 0.3) 0px 4px 6px -4px;
}

.cms-cart-actions .cms-update-cart:hover {
  background-color: var(--primary-blue-hover);
}

.cms-cart-actions button.cms-update-cart {
  margin: 0;
}

.cart-collaterals {
  border: none !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 24px;
}

.cart-collaterals .cart-sidebar {
  display: block;
  flex: none;
}

.cart-collaterals .cart-sidebar,
.cms-side-item {
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  padding: 24px !important;
  background-color: #fff;
}

.wc-proceed-to-checkout .checkout-button {
  margin: 0;
  border-radius: var(--radius-pill);
  box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(23, 115, 207, 0.3) 0px 10px 15px -3px, rgba(23, 115, 207, 0.3) 0px 4px 6px -4px;
  text-transform: unset;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  font-size: 16px;
  line-height: 1;
}

.wc-proceed-to-checkout .checkout-button .material-symbols-outlined {
  font-size: 20px;
  line-height: 1;
}
.wc-proceed-to-checkout .checkout-button:hover {
  background-color: var(--primary-blue-hover) !important;
}

.cms-continue-shopping .continue-shopping {
  clear: both;
  float: none;
  text-align: center;
  margin-bottom: 24px;
}

.cms-continue-shopping .continue-shopping a {
  width: 100%;
  color: var(--muted-text);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  margin: 0;
  padding: 12px 16px;
  text-transform: unset;
  border: 1px solid transparent;
  transition: all 0.3s;
}
.cms-continue-shopping .continue-shopping a:hover {
  color: var(--muted-text);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-pill);
  background-color: var(--border-default);
}

.cms-support-order .cms-title {
  color: var(--primary-text);
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  margin-bottom: 12px;
}

.cms-support-order .cms-desc {
  color: var(--muted-text);
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  margin-bottom: 12px;
}

.cms-support-order .cms-call {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  color: var(--primary-blue);
  font-size: 18px;
  line-height: 28px;
  font-weight: 700;
}

.cms-support-order .cms-call .material-symbols-outlined {
  padding: 8px;
  border-radius: var(--radius-pill);
  background-color: var(--primary-blue-soft);
  color: var(--primary-blue);
  font-size: 24px;
}

.cart_totals div.product-name {
  border: none;
  padding: 0;
  margin-bottom: 24px;

  color: var(--primary-text);
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
}

.cart_totals tr th,
.cart_totals tr td {
  border: none;
  padding: 8px 0 !important;
}

/* Apply Coupon */
.cms-coupon .coupon {
  margin-bottom: 24px;
}

.cms-coupon .widget-title {
  margin: 0;
  margin-bottom: 8px;
  padding: 0;
  border: none;
  text-align: left;

  color: var(--primary-text);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.cms-coupon .input-text {
  min-width: 70%;
  padding: 8px 12px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-default);
  background-color: #fff;
  box-shadow: unset;

  font-size: 14px;
  line-height: 20px;

  transition: unset;
}

.cms-coupon .input-text:focus {
  box-shadow: none;
  border: 2px solid var(--primary-blue);
}

.cms-coupon .cms-input-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}

.cms-coupon .cms-input-group input,
.cms-coupon .cms-input-group button {
  margin: 0;
}
/* input full 1 dòng, nút "Áp dụng" xuống dòng dưới (tránh bị che/cắt) */
.cms-coupon .cms-input-group input { flex: 1 1 100%; width: 100%; min-width: 0; }
.cms-coupon .cms-input-group button { flex: 0 0 auto; white-space: nowrap; }

.cms-coupon .cms-input-group button {
  min-width: auto;
  border-radius: var(--radius-lg);
  color: var(--primary-text);
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  background-color: var(--border-default);
  padding: 8px 16px;
}

.order-total th {
  color: var(--primary-text);
  font-size: 16px !important;
  line-height: 24px;
  font-weight: 700 !important;
}
.order-total .woocommerce-Price-amount bdi {
  color: var(--primary-blue);
  font-size: 24px;
  line-height: 32px;
  font-weight: 700;
}
.order-total .cms-included-tax {
  color: var(--muted-text);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
}

.cms-field-title {
  color: var(--muted-text);
  font-size: 16px !important;
  padding: 0 !important;
}

.cms-freeship-conditon-notice {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  padding: 8px;
  background-color: var(--border-default);
  border-radius: var(--radius-md);
}

.cms-freeship-conditon-notice span.material-symbols-outlined {
  color: var(--muted-text);
  font-size: 14px;
  line-height: 1;
}

.cms-freeship-conditon-notice span {
  color: var(--muted-text);
  font-size: 12px;
  line-height: 1;
  text-align: left;
}
@media screen and (max-width: 468px) {
  .cms-cart-item {
    flex-direction: column;
  }

  .cms-cart-item-right {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    width: 100%;

    border-top: 1px solid var(--border-default);
    padding-top: 12px;
  }
}

/* ============================================================
   CART — MOBILE COMPRESSION (high conversion stake)
   ============================================================ */
@media (max-width: 768px) {
  .woocommerce-cart .page-title { font-size: 20px !important; padding: 12px !important; margin: 0 !important; }
  .woocommerce-cart-form, .cart_totals { padding: 0 8px !important; }
  table.shop_table.cart { font-size: 13px !important; }
  table.shop_table.cart thead { display: none !important; }
  table.shop_table.cart tr.cart_item { display: grid !important; grid-template-columns: 60px 1fr; gap: 8px !important; padding: 10px 8px !important; border-bottom: 1px solid var(--border-default) !important; }
  table.shop_table.cart tr.cart_item .product-remove { position: absolute; top: 8px; right: 6px; }
  table.shop_table.cart tr.cart_item .product-remove a { font-size: 16px !important; padding: 2px 6px !important; }
  table.shop_table.cart tr.cart_item .product-thumbnail img { width: 60px !important; height: auto !important; }
  table.shop_table.cart tr.cart_item .product-name { font-size: 13.5px !important; line-height: 1.35 !important; font-weight: 600; }
  table.shop_table.cart tr.cart_item .product-price, table.shop_table.cart tr.cart_item .product-subtotal { font-size: 13px !important; }
  table.shop_table.cart tr.cart_item .product-quantity .qty { width: 56px !important; height: 32px !important; font-size: 13px !important; }
  .cart-collaterals .cart_totals { padding: 14px !important; margin-top: 10px !important; }
  .cart-collaterals .cart_totals h2 { font-size: 16px !important; margin-bottom: 8px !important; }
  .cart-collaterals .cart_totals table { font-size: 13.5px !important; }
  .cart-collaterals .wc-proceed-to-checkout .checkout-button { padding: 12px 18px !important; font-size: 15px !important; height: auto !important; line-height: 1.2 !important; }
  .coupon { display: flex !important; gap: 6px !important; padding: 0 !important; }
  .coupon input[name="coupon_code"] { flex: 1; font-size: 13px !important; height: 38px !important; padding: 0 10px !important; }
  .coupon button { font-size: 13px !important; padding: 0 14px !important; height: 38px !important; }
}
