/* WooCommerce product cards */
.ntm-brand .product-small .box-image,
.ntm-brand .product-small .box-text {
  background: transparent;
}

.ntm-brand .product-small .box-image {
  border-radius: var(--ntm-radius-md);
  overflow: hidden;
  background: var(--ntm-birch);
}

.ntm-brand .product-small .name {
  font-size: 1rem;
  font-weight: 600;
}

.ntm-brand .price {
  color: var(--ntm-black);
  font-weight: 600;
}

.ntm-brand .woocommerce-breadcrumb,
.ntm-brand .product_meta {
  color: var(--ntm-taupe);
}

.ntm-brand .quantity input,
.ntm-brand input.input-text,
.ntm-brand select,
.ntm-brand textarea {
  border-color: var(--ntm-line);
  border-radius: var(--ntm-radius-sm);
  box-shadow: none;
  background: var(--ntm-white);
}

.ntm-brand .cart_totals,
.ntm-brand .woocommerce-checkout-review-order,
.ntm-brand .woocommerce-form-coupon,
.ntm-brand .woocommerce-form-login {
  border-radius: var(--ntm-radius-md);
}

/* ==========================================================================
   Product Detail v1 (single product only). Native Flatsome layout (no sidebar, gallery 7/12,
   "Sections" tabs, related as a grid) plus these scoped rules. See docs/product-detail-v1.md.
   ========================================================================== */

/* Width and gutters: 1300px content, same edges as the Homepage v1 grid (14px gutter below 1356px) */
body.ntm-brand.single-product .product-main > .row.content-row,
body.ntm-brand.single-product .product-footer > .container {
  max-width: 1328px;
  padding-right: 14px;
  padding-left: 14px;
}
body.ntm-brand.single-product .product-main { padding-top: 8px; }
body.ntm-brand.single-product .product-gallery.col { padding: 0 10px 30px; }

/* Gallery: 4:3 frame; the picture is contained, never cropped (square/portrait photos letterbox on Birch) */
body.ntm-brand.single-product .product-gallery .woocommerce-product-gallery__image {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--ntm-radius-md);
  background: var(--ntm-birch);
}
body.ntm-brand.single-product .product-gallery .woocommerce-product-gallery__image > a { display: block; width: 100%; height: 100%; }
body.ntm-brand.single-product .product-gallery .woocommerce-product-gallery__image img { width: 100%; height: 100%; object-fit: contain; }
body.ntm-brand.single-product .product-gallery .product-images .wishlist-icon { display: none; } /* YITH heart on the picture */

/* Summary */
body.ntm-brand.single-product .product-info.col { padding: 0 10px 30px 48px; }
body.ntm-brand.single-product .product-info .woocommerce-breadcrumb {
  margin: 0 0 14px;
  font-size: .8125rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ntm-taupe);
}
body.ntm-brand.single-product .product-info .product-title {
  margin: 0 0 12px;
  font-size: 2.125rem;
  font-weight: 600;
  line-height: 1.2;
}
body.ntm-brand.single-product .product-info .price-wrapper { margin: 0 0 16px; }
body.ntm-brand.single-product .product-info .price { font-size: 1.5rem; font-weight: 600; line-height: 1.3; }
body.ntm-brand.single-product .product-info .product-short-description {
  max-width: 34em;
  margin: 0 0 24px;
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(26, 26, 26, .72);
}
body.ntm-brand.single-product .product-info .product-short-description p { margin: 0; }

/* Quantity + Add to Cart */
body.ntm-brand.single-product .product-info form.cart:not(.variations_form) {
  display: flex;
  align-items: stretch;
  gap: 12px;
  margin: 0 0 24px;
}
body.ntm-brand.single-product .product-info form.cart .quantity { margin: 0; }
body.ntm-brand.single-product .product-info form.cart .quantity .qty,
body.ntm-brand.single-product .product-info form.cart .quantity .button { height: 52px; margin: 0; }
body.ntm-brand.single-product .product-info form.cart .quantity .ux-quantity__button { width: 44px; min-width: 44px; padding: 0; }
body.ntm-brand.single-product .product-info form.cart .quantity .qty { width: 44px; min-width: 44px; }
body.ntm-brand.single-product .product-info form.cart .single_add_to_cart_button {
  flex: 1 1 auto;
  max-width: 320px;
  height: 52px;
  min-height: 52px;
  margin: 0;
  font-size: .9375rem;
  letter-spacing: 0;
  text-transform: none;
}

/* Hide for v1: YITH wishlist button (plugin stays active), tags (demo tag), meta hairlines */
body.ntm-brand.single-product .product-info .yith-wcwl-add-to-wishlist { display: none; }
body.ntm-brand.single-product .product-info .product_meta { padding: 0; border: 0; font-size: .8125rem; color: var(--ntm-taupe); }
body.ntm-brand.single-product .product-info .product_meta > span { display: block; padding: 2px 0; border: 0; }
body.ntm-brand.single-product .product-info .product_meta .tagged_as { display: none; }
body.ntm-brand.single-product .product-info .product_meta a { color: inherit; }

/* Information area: editorial rows (heading left, content right), inset to the same 10px column edge as the gallery */
body.ntm-brand.single-product .product-page-sections,
body.ntm-brand.single-product .related-products-wrapper { margin-right: 10px; margin-left: 10px; }
body.ntm-brand.single-product .product-page-sections { margin-top: 32px; }
body.ntm-brand.single-product .product-page-sections .product-section .row { margin-right: 0; margin-left: 0; }
body.ntm-brand.single-product .product-page-sections .product-section .row > .col { padding-right: 0; padding-left: 0; }
body.ntm-brand.single-product .product-page-sections .product-section { padding: 40px 0; border-top: 1px solid var(--ntm-line); }
body.ntm-brand.single-product .product-page-sections .product-section .row > .col:first-child { flex-basis: 25%; max-width: 25%; }
body.ntm-brand.single-product .product-page-sections .product-section .row > .col:last-child { flex-basis: 75%; max-width: 75%; }
body.ntm-brand.single-product .product-page-sections h5 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
body.ntm-brand.single-product .product-page-sections .panel { max-width: 44em; font-size: 1rem; line-height: 1.7; color: rgba(26, 26, 26, .78); }
body.ntm-brand.single-product .product-page-sections .panel > :last-child { margin-bottom: 0; }
body.ntm-brand.single-product .woocommerce-product-attributes { margin: 0; border: 0; }
body.ntm-brand.single-product .woocommerce-product-attributes th,
body.ntm-brand.single-product .woocommerce-product-attributes td {
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid var(--ntm-line);
  font-size: 1rem;
  text-transform: none;
  background: none;
}
body.ntm-brand.single-product .woocommerce-product-attributes th { width: 32%; font-weight: 500; color: var(--ntm-taupe); }
body.ntm-brand.single-product .woocommerce-product-attributes td p { margin: 0; }
/* Never show an empty label/value row (WooCommerce already omits attributes without values; this is a safety net) */
body.ntm-brand.single-product .woocommerce-product-attributes .woocommerce-product-attributes-item:has(> td:empty),
body.ntm-brand.single-product .woocommerce-product-attributes .woocommerce-product-attributes-item:has(> td > p:empty) { display: none; }

/* Room for future real content in the description ("Vật liệu", "Hoàn thiện", "Kích thước", "Màu sắc", "Bảo quản" as headings, lists, notes) */
body.ntm-brand.single-product .product-page-sections .panel h2,
body.ntm-brand.single-product .product-page-sections .panel h3,
body.ntm-brand.single-product .product-page-sections .panel h4 {
  margin: 1.75em 0 .4em;
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
  color: var(--ntm-black);
}
body.ntm-brand.single-product .product-page-sections .panel > :first-child { margin-top: 0; }
body.ntm-brand.single-product .product-page-sections .panel p { margin: 0 0 1em; }
body.ntm-brand.single-product .product-page-sections .panel ul,
body.ntm-brand.single-product .product-page-sections .panel ol { margin: 0 0 1em 1.25em; }
body.ntm-brand.single-product .product-page-sections .panel li { margin-bottom: .35em; }
body.ntm-brand.single-product .product-page-sections .panel strong { font-weight: 600; color: var(--ntm-black); }

/* Related products: same card as Homepage Featured (image, name, price) */
body.ntm-brand.single-product .related-products-wrapper { margin-top: 24px; padding: 40px 0 64px; border-top: 1px solid var(--ntm-line); }
/* Flatsome caps the related row at 1065px; widen it by the two row-small gutters (max-width reset needs !important, as on Homepage Featured) */
body.ntm-brand.single-product .related-products-wrapper > .row { width: calc(100% + 19.6px); max-width: none !important; }
body.ntm-brand.single-product .related-products-wrapper .product-section-title {
  max-width: none;
  margin: 0 0 24px;
  padding: 0;
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}
body.ntm-brand.single-product .related-products-wrapper .product-small .image-tools,
body.ntm-brand.single-product .related-products-wrapper .product-small .box-text .category { display: none; }
body.ntm-brand.single-product .related-products-wrapper .product-small .box-image { aspect-ratio: 4 / 3; }
body.ntm-brand.single-product .related-products-wrapper .product-small .box-image > div:not(.image-tools),
body.ntm-brand.single-product .related-products-wrapper .product-small .box-image a { display: block; height: 100%; }
body.ntm-brand.single-product .related-products-wrapper .product-small .box-image img { width: 100%; height: 100%; object-fit: contain; }

@media (max-width: 1199.98px) {
  body.ntm-brand.single-product .product-info.col { padding-left: 32px; }
  body.ntm-brand.single-product .product-info .product-title { font-size: 1.875rem; }
  body.ntm-brand.single-product .product-info .price { font-size: 1.375rem; }
}

@media (max-width: 849.98px) {
  body.ntm-brand.single-product .product-info.col { padding: 8px 10px 30px; }
  body.ntm-brand.single-product .product-page-sections .product-section .row > .col:first-child,
  body.ntm-brand.single-product .product-page-sections .product-section .row > .col:last-child { flex-basis: 100%; max-width: 100%; }
  body.ntm-brand.single-product .product-page-sections .product-section { padding: 28px 0; }
  body.ntm-brand.single-product .product-page-sections h5 { margin-bottom: 12px; }
  body.ntm-brand.single-product .related-products-wrapper { padding: 32px 0 48px; }
  body.ntm-brand.single-product .related-products-wrapper .product-section-title { font-size: 1.375rem; }
}

@media (max-width: 549.98px) {
  /* Large gallery first, edge to edge; summary below */
  body.ntm-brand.single-product .product-main > .row.content-row { padding-right: 0; padding-left: 0; }
  body.ntm-brand.single-product .product-gallery.col { padding: 0 0 8px; }
  body.ntm-brand.single-product .product-gallery .woocommerce-product-gallery__image { border-radius: 0; }
  body.ntm-brand.single-product .product-page-sections,
  body.ntm-brand.single-product .related-products-wrapper { margin-right: 0; margin-left: 0; }
  body.ntm-brand.single-product .product-info.col { padding: 8px 14px 24px; }
  body.ntm-brand.single-product .product-info .product-title { font-size: 1.625rem; }
  body.ntm-brand.single-product .product-info .price { font-size: 1.375rem; }
  body.ntm-brand.single-product .product-info form.cart .quantity .qty,
  body.ntm-brand.single-product .product-info form.cart .quantity .button,
  body.ntm-brand.single-product .product-info form.cart .single_add_to_cart_button { height: 54px; min-height: 54px; }
  body.ntm-brand.single-product .product-info form.cart .single_add_to_cart_button { max-width: none; }
}

/* Mini cart (opens after Add to Cart): the "Xem giỏ hàng" button had dark text on a dark background */
body.ntm-brand .widget_shopping_cart .woocommerce-mini-cart__buttons a.button:not(.checkout) {
  background-color: transparent;
  border: 1px solid var(--ntm-black);
  color: var(--ntm-black);
}

/* ==========================================================================
   Shop + product archive v1 (shop, product categories, collections: body.archive.woocommerce).
   Native Flatsome settings (no sidebar, 4/3/2 columns, title on, quick view/hover/category label off) plus these
   scoped rules. Cards match Homepage Featured and the product-page related cards. See docs/shop-archive-v1.md.
   ========================================================================== */

/* Width and gutters: 1300px content, same edges as Homepage v1 and Product Detail v1 (14px gutter below 1356px) */
body.ntm-brand.archive.woocommerce .page-title-inner.container,
body.ntm-brand.archive.woocommerce .category-page-row {
  max-width: 1328px;
  padding-right: 14px;
  padding-left: 14px;
}
body.ntm-brand.archive.woocommerce .category-page-row { padding-top: 14px; } /* heading-to-grid gap (title bar 20px + 14px) */
body.ntm-brand.archive.woocommerce .category-page-row > .col { padding-right: 10px; padding-left: 10px; }
body.ntm-brand.archive.woocommerce .shop-container .products.row { width: calc(100% + 19.6px); max-width: none !important; } /* Flatsome caps the row at 1065px */

/* Archive header: small breadcrumb above the title, title left, result count + sorting quietly on the right */
body.ntm-brand.archive.woocommerce .page-title-inner { align-items: flex-end; padding-top: 40px; padding-bottom: 20px; }
body.ntm-brand.archive.woocommerce .page-title-inner > .flex-col { padding-right: 10px; padding-left: 10px; }
body.ntm-brand.archive.woocommerce .page-title-inner > .flex-col.flex-grow { display: flex; flex-direction: column; }
body.ntm-brand.archive.woocommerce .page-title-inner > .flex-col.flex-grow > .is-large { order: -1; margin: 0 0 10px; font-size: .8125rem; }
body.ntm-brand.archive.woocommerce .page-title-inner .woocommerce-breadcrumb {
  margin: 0;
  font-size: .8125rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ntm-taupe);
}
body.ntm-brand.archive.woocommerce .page-title-inner .woocommerce-breadcrumb a { color: inherit; }
body.ntm-brand.archive.woocommerce .page-title-inner h1.shop-page-title {
  margin: 0;
  font-size: 2.125rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}
body.ntm-brand.archive.woocommerce .page-title-inner .woocommerce-result-count { margin: 0 16px 0 0; font-size: .8125rem; color: var(--ntm-taupe); }
body.ntm-brand.archive.woocommerce .page-title-inner .woocommerce-ordering { margin: 0; }
/* Sorting: light, compact, subtle border (40px on touch-size screens, 44px on phones for comfortable tap targets) */
body.ntm-brand.archive.woocommerce .page-title-inner select.orderby {
  width: auto;
  max-width: 200px;
  height: 34px;
  min-height: 34px;
  margin: 0;
  padding: 0 28px 0 10px;
  border: 1px solid var(--ntm-line);
  border-radius: var(--ntm-radius-sm);
  background-color: transparent;
  box-shadow: none;
  font-size: .8125rem;
  line-height: 1.2;
  color: var(--ntm-black);
}
body.ntm-brand.archive.woocommerce .page-title-inner select.orderby:hover,
body.ntm-brand.archive.woocommerce .page-title-inner select.orderby:focus { border-color: var(--ntm-taupe); }
body.ntm-brand.archive.woocommerce .page-title-inner select.orderby:focus-visible { outline: 2px solid var(--ntm-black); outline-offset: 2px; }
body.ntm-brand.archive.woocommerce .term-description { max-width: 44em; margin: 0 0 24px; font-size: 1rem; line-height: 1.6; color: rgba(26, 26, 26, .72); }
body.ntm-brand.archive.woocommerce .term-description p { margin: 0; }

/* Product card: 4:3 frame, picture contained (never cropped), image + name + price only */
body.ntm-brand.archive.woocommerce .products .product-small.col { padding-bottom: 8px; }
body.ntm-brand.archive.woocommerce .products .product-small .box-image { aspect-ratio: 4 / 3; }
body.ntm-brand.archive.woocommerce .products .product-small .box-image > div:not(.image-tools),
body.ntm-brand.archive.woocommerce .products .product-small .box-image a { display: block; height: 100%; }
body.ntm-brand.archive.woocommerce .products .product-small .box-image img { width: 100%; height: 100%; object-fit: contain; }
body.ntm-brand.archive.woocommerce .products .product-small .image-tools { display: none; } /* YITH wishlist heart and hover tools; plugin stays active */
body.ntm-brand.archive.woocommerce .products .product-small .box-text { padding: 12px 0 0; }
/* Card text: same line-height and name-to-price spacing on every card; long names wrap, never truncate */
body.ntm-brand.archive.woocommerce .products .product-small .name { margin: 0; font-size: 1rem; line-height: 1.35; }
body.ntm-brand.archive.woocommerce .products .product-small .price-wrapper { margin: 6px 0 0; }
body.ntm-brand.archive.woocommerce .products .product-small .price { display: block; margin: 0; font-size: .9rem; line-height: 1.4; }

/* 3 columns from 850 to 1199px (Flatsome's native desktop count is 4 from 850px) */
@media (min-width: 850px) and (max-width: 1199.98px) {
  body.ntm-brand.archive.woocommerce .products.large-columns-4 > .col { flex-basis: 33.3333%; max-width: 33.3333%; }
}

/* Pagination (appears from the 13th product) */
body.ntm-brand.archive.woocommerce .woocommerce-pagination { margin-top: 48px; padding-bottom: 8px; text-align: center; }
body.ntm-brand.archive.woocommerce .woocommerce-pagination ul.page-numbers { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 0; padding: 0; }
body.ntm-brand.archive.woocommerce .woocommerce-pagination ul.page-numbers > li { margin: 0; padding: 0; border: 0; }
body.ntm-brand.archive.woocommerce .woocommerce-pagination .page-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  margin: 0;
  padding: 0 12px;
  border: 1px solid var(--ntm-line);
  border-radius: var(--ntm-radius-sm);
  background: transparent;
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1;
  color: var(--ntm-black);
}
body.ntm-brand.archive.woocommerce .woocommerce-pagination a.page-number:hover { border-color: var(--ntm-black); background: var(--ntm-birch); }
body.ntm-brand.archive.woocommerce .woocommerce-pagination .page-number.current { border-color: var(--ntm-black); background: var(--ntm-black); color: var(--ntm-white); }

@media (max-width: 1199.98px) {
  body.ntm-brand.archive.woocommerce .page-title-inner h1.shop-page-title { font-size: 1.875rem; }
  body.ntm-brand.archive.woocommerce .page-title-inner select.orderby { height: 40px; min-height: 40px; font-size: .875rem; }
}

@media (max-width: 849.98px) {
  body.ntm-brand.archive.woocommerce .page-title-inner { padding-top: 28px; padding-bottom: 16px; }
  body.ntm-brand.archive.woocommerce .category-page-row { padding-top: 24px; }
  /* Flatsome centres the header with .medium-text-center { text-align: center !important } */
  body.ntm-brand.archive.woocommerce .page-title-inner > .flex-col,
  body.ntm-brand.archive.woocommerce .page-title-inner > .flex-col > * { text-align: left !important; }
  body.ntm-brand.archive.woocommerce .page-title-inner > .flex-col.flex-grow { align-items: flex-start; }
  body.ntm-brand.archive.woocommerce .page-title-inner .woocommerce-ordering { margin-top: 14px; }
  body.ntm-brand.archive.woocommerce .products .product-small.col { padding-bottom: 6px; }
  body.ntm-brand.archive.woocommerce .woocommerce-pagination { margin-top: 32px; }
}

@media (max-width: 549.98px) {
  body.ntm-brand.archive.woocommerce .category-page-row > .col,
  body.ntm-brand.archive.woocommerce .page-title-inner > .flex-col { padding-right: 0; padding-left: 0; }
  body.ntm-brand.archive.woocommerce .page-title-inner h1.shop-page-title { font-size: 1.625rem; }
  body.ntm-brand.archive.woocommerce .page-title-inner select.orderby { height: 44px; min-height: 44px; max-width: 260px; }
  body.ntm-brand.archive.woocommerce .products .product-small .box-text { padding-top: 10px; }
}

/* ==========================================================================
   Cart + Checkout v1 (body.woocommerce-cart and body.woocommerce-checkout only). Native settings: coupon below the
   products, auto-refresh on (Flatsome then hides "Cập nhật giỏ hàng" itself). The collapsible coupon / order notes come
   from assets/js/namthomoc.js. No shipping or payment methods are configured yet; the styles below are ready for them.
   See docs/cart-checkout-v1.md.
   ========================================================================== */

/* Shared: 1300px content aligned with the rest of the site, page heading, primary buttons */
body.ntm-brand.woocommerce-cart .page-wrapper > .row-main,
body.ntm-brand.woocommerce-checkout .page-wrapper > .row-main { max-width: 1328px; padding-right: 14px; padding-left: 14px; }
body.ntm-brand.woocommerce-cart .page-wrapper > .row-main > .col,
body.ntm-brand.woocommerce-checkout .page-wrapper > .row-main > .col { padding-right: 10px; padding-left: 10px; }
body.ntm-brand.woocommerce-cart .ntm-page-title,
body.ntm-brand.woocommerce-checkout .ntm-page-title { margin: 8px 0 24px; font-size: 2.125rem; font-weight: 600; letter-spacing: 0; line-height: 1.2; }
body.ntm-brand.woocommerce-order-received .ntm-page-title { display: none; } /* the thank-you page has its own heading */

body.ntm-brand.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button,
body.ntm-brand.woocommerce-checkout #payment #place_order {
  display: block;
  float: none;
  width: 100%;
  height: 52px;
  min-height: 52px;
  margin: 0;
  padding: 0 24px;
  border-radius: var(--ntm-radius-sm);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 50px;
  text-transform: none;
  /* Flatsome paints these with its Secondary colour (greige); the CTA must be the site's black primary */
  border: 1px solid var(--ntm-black) !important;
  background-color: var(--ntm-black) !important;
  color: var(--ntm-white) !important;
}
body.ntm-brand.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover,
body.ntm-brand.woocommerce-checkout #payment #place_order:hover { border-color: #000 !important; background-color: #000 !important; }
body.ntm-brand.woocommerce-checkout #payment #place_order { height: 56px; min-height: 56px; line-height: 54px; }

/* Shared: quiet notices (success, info, error) */
body.ntm-brand.woocommerce-cart .woocommerce-message,
body.ntm-brand.woocommerce-cart .woocommerce-info,
body.ntm-brand.woocommerce-cart .woocommerce-error,
body.ntm-brand.woocommerce-checkout .woocommerce-message,
body.ntm-brand.woocommerce-checkout .woocommerce-info,
body.ntm-brand.woocommerce-checkout .woocommerce-error {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  border-left: 3px solid var(--ntm-greige);
  border-radius: var(--ntm-radius-sm);
  background: var(--ntm-birch);
  font-size: .9375rem;
  line-height: 1.5;
  text-align: left;
  color: var(--ntm-black);
}
body.ntm-brand.woocommerce-cart .woocommerce-message,
body.ntm-brand.woocommerce-checkout .woocommerce-message { border-left-color: #6B7F4F; }
body.ntm-brand.woocommerce-cart .woocommerce-error,
body.ntm-brand.woocommerce-checkout .woocommerce-error { border-left-color: #B4463A; background: #FBF1EE; }
body.ntm-brand.woocommerce-cart .woocommerce-message .message-container,
body.ntm-brand.woocommerce-cart .woocommerce-info .message-container,
body.ntm-brand.woocommerce-cart .woocommerce-error .message-container,
body.ntm-brand.woocommerce-checkout .woocommerce-message .message-container,
body.ntm-brand.woocommerce-checkout .woocommerce-info .message-container,
body.ntm-brand.woocommerce-checkout .woocommerce-error .message-container { max-width: none; margin: 0; padding: 12px 16px; text-align: left !important; color: inherit; }
body.ntm-brand.woocommerce-cart .woocommerce-error ul,
body.ntm-brand.woocommerce-checkout .woocommerce-error ul { margin: 0; padding: 0; list-style: none; }
/* Each error item is a link (to its field) wrapping its own padded container: tighten the list */
body.ntm-brand.woocommerce-cart .woocommerce-error,
body.ntm-brand.woocommerce-checkout .woocommerce-error { padding: 6px 0; }
body.ntm-brand.woocommerce-cart .woocommerce-error li,
body.ntm-brand.woocommerce-checkout .woocommerce-error li { margin: 0; padding: 0; }
body.ntm-brand.woocommerce-cart .woocommerce-error li .message-container,
body.ntm-brand.woocommerce-checkout .woocommerce-error li .message-container { padding: 6px 16px; }
body.ntm-brand.woocommerce-cart .woocommerce-error li a,
body.ntm-brand.woocommerce-checkout .woocommerce-error li a { display: block; text-decoration: none; color: inherit; }
body.ntm-brand.woocommerce-cart .woocommerce-message:focus,
body.ntm-brand.woocommerce-cart .woocommerce-error:focus,
body.ntm-brand.woocommerce-checkout .woocommerce-message:focus,
body.ntm-brand.woocommerce-checkout .woocommerce-error:focus,
body.ntm-brand.woocommerce-checkout .woocommerce-NoticeGroup:focus { outline: 0; } /* WooCommerce focuses the group programmatically after a failed submit */
body.ntm-brand.woocommerce-checkout form.checkout .checkout-inline-error-message { display: block; margin-top: 6px; font-size: .8125rem; line-height: 1.4; color: #B4463A; }
body.ntm-brand.woocommerce-cart .woocommerce-message a,
body.ntm-brand.woocommerce-cart .woocommerce-info a,
body.ntm-brand.woocommerce-checkout .woocommerce-info a { font-weight: 600; text-decoration: underline; color: inherit; }

/* ---- Cart: items left, totals right ---- */
body.ntm-brand.woocommerce-cart .woocommerce.row-divided { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0 48px; max-width: none; margin: 0; }
body.ntm-brand.woocommerce-cart .woocommerce.row-divided > .col { border-left: 0; }
body.ntm-brand.woocommerce-cart .woocommerce.row-divided > .col.large-7 { flex: 1 1 0; min-width: 0; max-width: none; padding: 0; }
body.ntm-brand.woocommerce-cart .woocommerce.row-divided > .cart-collaterals { flex: 0 0 400px; max-width: 400px; padding: 0; }
body.ntm-brand.woocommerce-cart .cart-sidebar { padding: 0; }

/* The table is rendered as a grid (same column template for the header and every row) so the actions row and mobile
   layout are fully controllable; WooCommerce's markup and the cart form are unchanged. */
body.ntm-brand.woocommerce-cart table.cart { display: block; width: 100%; margin: 0; border: 0; }
body.ntm-brand.woocommerce-cart table.cart thead,
body.ntm-brand.woocommerce-cart table.cart tbody { display: block; width: 100%; }
body.ntm-brand.woocommerce-cart table.cart thead tr,
body.ntm-brand.woocommerce-cart table.cart tr.cart_item { display: grid; grid-template-columns: 44px 112px minmax(0, 1fr) 96px 132px 104px; align-items: center; }
body.ntm-brand.woocommerce-cart table.cart thead tr { padding-bottom: 12px; border-bottom: 1px solid var(--ntm-line); }
body.ntm-brand.woocommerce-cart table.cart tr.cart_item { padding: 20px 0; border-bottom: 1px solid var(--ntm-line); }
body.ntm-brand.woocommerce-cart table.cart thead th { display: block; padding: 0 12px 0 0; border: 0; font-size: .8125rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--ntm-taupe); }
body.ntm-brand.woocommerce-cart table.cart tr.cart_item > td { display: block; padding: 0 12px 0 0; border: 0; background: none; }
body.ntm-brand.woocommerce-cart table.cart td.product-remove { width: 44px; padding-right: 0; }
body.ntm-brand.woocommerce-cart table.cart td.product-remove a.remove {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 0 0 -10px;
  border: 0;
  border-radius: var(--ntm-radius-sm);
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--ntm-taupe);
}
body.ntm-brand.woocommerce-cart table.cart td.product-remove a.remove:hover { background: var(--ntm-birch); color: var(--ntm-black); }
body.ntm-brand.woocommerce-cart table.cart td.product-thumbnail { padding-right: 16px; }
body.ntm-brand.woocommerce-cart table.cart td.product-thumbnail img { display: block; width: 96px; max-width: none; height: auto; border-radius: var(--ntm-radius-sm); background: var(--ntm-birch); }
body.ntm-brand.woocommerce-cart table.cart td.product-name a { font-size: 1rem; font-weight: 600; line-height: 1.35; text-decoration: none; color: var(--ntm-black); }
body.ntm-brand.woocommerce-cart table.cart td.product-price { font-size: .9375rem; color: var(--ntm-taupe); }
body.ntm-brand.woocommerce-cart table.cart td.product-subtotal { padding-right: 0; font-size: 1rem; font-weight: 600; text-align: right; }
body.ntm-brand.woocommerce-cart table.cart thead th.product-subtotal { padding-right: 0; text-align: right; }
body.ntm-brand.woocommerce-cart table.cart .ux-quantity { display: inline-flex; align-items: stretch; height: 44px; margin: 0; overflow: hidden; border: 1px solid var(--ntm-line); border-radius: var(--ntm-radius-sm); }
body.ntm-brand.woocommerce-cart table.cart .ux-quantity .ux-quantity__button { width: 40px; height: 42px; min-width: 40px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--ntm-black); }
body.ntm-brand.woocommerce-cart table.cart .ux-quantity .qty { width: 44px; min-width: 44px; height: 42px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 1rem; text-align: center; }

/* Under the items: "Tiếp tục xem sản phẩm" as a text link, coupon as a quiet toggle */
body.ntm-brand.woocommerce-cart table.cart tbody > tr:not(.cart_item) { display: block; }
body.ntm-brand.woocommerce-cart table.cart td.actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; width: 100%; padding: 20px 0 0; border: 0; }
body.ntm-brand.woocommerce-cart table.cart td.actions > * { max-width: 100%; }
body.ntm-brand.woocommerce-cart table.cart td.actions::before,
body.ntm-brand.woocommerce-cart table.cart td.actions::after { content: none; } /* Flatsome's .clear pseudo-elements would become flex items */
body.ntm-brand.woocommerce-cart td.actions .continue-shopping { order: 1; float: none; margin: 0; }
body.ntm-brand.woocommerce-cart td.actions .continue-shopping a.button.button-continue-shopping {
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  box-shadow: none;
  font-size: .9375rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  text-decoration: underline;
  text-transform: none;
  /* brand.css paints .button.primary black with !important; this one is a text link */
  border: 0 !important;
  background: none !important;
  color: var(--ntm-black) !important;
}
body.ntm-brand.woocommerce-cart td.actions .coupon { order: 2; margin: 0; text-align: left; }
body.ntm-brand.woocommerce-cart td.actions .coupon .coupon-error-notice { margin: 10px 0 0; font-size: .875rem; line-height: 1.4; text-align: left; color: #B4463A; }
body.ntm-brand.woocommerce-cart td.actions .coupon.is-open { flex: 1 0 100%; }
body.ntm-brand.woocommerce-cart td.actions .coupon > h3.widget-title { display: none; } /* replaced by the toggle button (JS); visible if JS is off */
html:not(.ntm-js) body.ntm-brand.woocommerce-cart td.actions .coupon > h3.widget-title { display: block; margin: 0 0 8px; font-size: .9375rem; font-weight: 500; }
body.ntm-brand.woocommerce-cart .ntm-coupon-toggle {
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  font-size: .9375rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  text-decoration: underline;
  text-transform: none;
  color: var(--ntm-taupe);
  cursor: pointer;
}
body.ntm-brand.woocommerce-cart .ntm-coupon-toggle:hover,
body.ntm-brand.woocommerce-cart .ntm-coupon-toggle[aria-expanded="true"] { color: var(--ntm-black); }
body.ntm-brand.woocommerce-cart td.actions .coupon .flex-row { max-width: 420px; margin-top: 12px; }
body.ntm-brand.woocommerce-cart td.actions .coupon .flex-row[hidden] { display: none; }
body.ntm-brand.woocommerce-cart td.actions .coupon #coupon_code { height: 44px; margin: 0; }
body.ntm-brand.woocommerce-cart td.actions .coupon button[name="apply_coupon"] { height: 44px; min-height: 44px; margin: 0; padding: 0 18px; font-size: .9375rem; letter-spacing: 0; text-transform: none; }

/* Totals card: quiet surface, thin border, one strong black CTA */
body.ntm-brand.woocommerce-cart .cart_totals { padding: 24px; border: 1px solid var(--ntm-line); border-radius: var(--ntm-radius-md); background: var(--ntm-warm-white); }
body.ntm-brand.woocommerce-cart .cart_totals > table:first-child { margin: 0 0 12px; }
body.ntm-brand.woocommerce-cart .cart_totals > table:first-child th { padding: 0; border: 0; font-size: 1.125rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
body.ntm-brand.woocommerce-cart .cart_totals .shop_table { margin: 0 0 20px; border: 0; }
body.ntm-brand.woocommerce-cart .cart_totals .shop_table th,
body.ntm-brand.woocommerce-cart .cart_totals .shop_table td { padding: 12px 0; border: 0; border-bottom: 1px solid var(--ntm-line); font-size: .9375rem; text-transform: none; letter-spacing: 0; }
body.ntm-brand.woocommerce-cart .cart_totals .shop_table th { font-weight: 500; color: var(--ntm-taupe); }
body.ntm-brand.woocommerce-cart .cart_totals .shop_table td { text-align: right; }
body.ntm-brand.woocommerce-cart .cart_totals .order-total th,
body.ntm-brand.woocommerce-cart .cart_totals .order-total td { border-bottom: 0; font-size: 1.125rem; font-weight: 600; color: var(--ntm-black); }
body.ntm-brand.woocommerce-cart .cart_totals .woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
body.ntm-brand.woocommerce-cart .cart_totals .woocommerce-shipping-methods li { margin: 0 0 6px; }

/* Empty cart */
body.ntm-brand.woocommerce-cart .cart-empty { margin-bottom: 20px; }
body.ntm-brand.woocommerce-cart .return-to-shop { margin: 0; text-align: left; }
body.ntm-brand.woocommerce-cart .return-to-shop .button { height: 48px; min-height: 48px; margin: 0; padding: 0 24px; border: 1px solid var(--ntm-black); background: var(--ntm-black); font-size: 1rem; letter-spacing: 0; line-height: 46px; text-transform: none; color: var(--ntm-white); }

/* ---- Checkout: fields left, order review right ---- */
body.ntm-brand.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin: 0 0 20px; border: 0; background: none; font-size: .9375rem; color: var(--ntm-taupe); }
body.ntm-brand.woocommerce-checkout .woocommerce-form-coupon-toggle .message-container { padding: 0; }
body.ntm-brand.woocommerce-checkout .woocommerce-form-coupon { margin: 0 0 20px; padding: 16px; border: 1px solid var(--ntm-line); border-radius: var(--ntm-radius-sm); background: var(--ntm-warm-white); }
body.ntm-brand.woocommerce-checkout .woocommerce-form-coupon-toggle a.showcoupon { color: var(--ntm-black); }
body.ntm-brand.woocommerce-checkout form.checkout > .row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0 48px; max-width: none; margin: 0; }
body.ntm-brand.woocommerce-checkout form.checkout > .row > .col { border-left: 0; }
body.ntm-brand.woocommerce-checkout form.checkout > .row > .col.large-7 { flex: 1 1 0; min-width: 0; max-width: none; padding: 0; }
body.ntm-brand.woocommerce-checkout form.checkout > .row > .col.large-5 { flex: 0 0 460px; max-width: 460px; padding: 0; }
body.ntm-brand.woocommerce-checkout form.checkout .col-inner.has-border { padding: 28px; border: 1px solid var(--ntm-line); border-radius: var(--ntm-radius-md); background: var(--ntm-warm-white); }

body.ntm-brand.woocommerce-checkout #customer_details h3,
body.ntm-brand.woocommerce-checkout #order_review_heading { margin: 0 0 16px; font-size: 1.25rem; font-weight: 600; letter-spacing: 0; line-height: 1.3; text-transform: none; }
body.ntm-brand.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row { margin-bottom: 16px; }
body.ntm-brand.woocommerce-checkout form.checkout .form-row label { margin-bottom: 6px; font-size: .875rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--ntm-black); }
body.ntm-brand.woocommerce-checkout form.checkout .form-row label .optional { font-weight: 400; color: var(--ntm-taupe); }
body.ntm-brand.woocommerce-checkout form.checkout .form-row label .required { color: var(--ntm-black); text-decoration: none; }
body.ntm-brand.woocommerce-checkout form.checkout input.input-text,
body.ntm-brand.woocommerce-checkout form.checkout select,
body.ntm-brand.woocommerce-checkout form.checkout .select2-selection { height: 46px; margin: 0; padding: 0 12px; border: 1px solid var(--ntm-line); border-radius: var(--ntm-radius-sm); box-shadow: none; font-size: 1rem; }
body.ntm-brand.woocommerce-checkout form.checkout textarea { min-height: 96px; padding: 10px 12px; border: 1px solid var(--ntm-line); border-radius: var(--ntm-radius-sm); box-shadow: none; font-size: 1rem; }
body.ntm-brand.woocommerce-checkout form.checkout input.input-text:focus,
body.ntm-brand.woocommerce-checkout form.checkout select:focus,
body.ntm-brand.woocommerce-checkout form.checkout textarea:focus { border-color: var(--ntm-black); outline: 0; box-shadow: 0 0 0 1px var(--ntm-black); }
body.ntm-brand.woocommerce-checkout form.checkout .woocommerce-invalid input.input-text,
body.ntm-brand.woocommerce-checkout form.checkout .woocommerce-invalid select { border-color: #B4463A; }
body.ntm-brand.woocommerce-checkout form.checkout .woocommerce-invalid label { color: #B4463A; }

/* Company is optional and secondary; postcode is hidden only while WooCommerce treats it as optional (e.g. Vietnam) */
body.ntm-brand.woocommerce-checkout #billing_company_field label { color: var(--ntm-taupe); }
body.ntm-brand.woocommerce-checkout #billing_postcode_field:not(.validate-required),
body.ntm-brand.woocommerce-checkout #shipping_postcode_field:not(.validate-required) { display: none !important; } /* !important: WooCommerce's country script sets an inline display */

/* Order notes: optional, collapsed behind a quiet toggle (JS); always visible without JS */
body.ntm-brand.woocommerce-checkout .woocommerce-additional-fields { margin-top: 8px; }
html.ntm-js body.ntm-brand.woocommerce-checkout .woocommerce-additional-fields > h3 { display: none; }
body.ntm-brand.woocommerce-checkout .ntm-notes-toggle { padding: 0; border: 0; background: none; box-shadow: none; font-size: .9375rem; font-weight: 500; letter-spacing: 0; line-height: 1.4; text-decoration: underline; text-transform: none; color: var(--ntm-taupe); cursor: pointer; }
body.ntm-brand.woocommerce-checkout .ntm-notes-toggle:hover,
body.ntm-brand.woocommerce-checkout .ntm-notes-toggle[aria-expanded="true"] { color: var(--ntm-black); }
body.ntm-brand.woocommerce-checkout .woocommerce-additional-fields__field-wrapper[hidden] { display: none; }
body.ntm-brand.woocommerce-checkout .woocommerce-additional-fields__field-wrapper { margin-top: 12px; }

/* Order review + totals */
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table { margin: 0 0 16px; border: 0; }
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table td { padding: 12px 0; border: 0; border-bottom: 1px solid var(--ntm-line); font-size: .9375rem; letter-spacing: 0; text-transform: none; }
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table thead th { padding-top: 0; font-size: .8125rem; font-weight: 500; color: var(--ntm-taupe); }
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td { text-align: right; }
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th { font-weight: 500; color: var(--ntm-taupe); }
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td { border-bottom: 0; font-size: 1.125rem; font-weight: 600; color: var(--ntm-black); }
body.ntm-brand.woocommerce-checkout .woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
body.ntm-brand.woocommerce-checkout .woocommerce-shipping-methods li { margin: 0 0 6px; }

/* Totals tables (cart totals, checkout review) as grids: label left, value right, one hairline per row; shipping rows (future
   methods) stack the label over a left-aligned option list. Block-level rows inside a real table shrink, hence the grid. */
body.ntm-brand.woocommerce-cart .cart_totals .shop_table,
body.ntm-brand.woocommerce-cart .cart_totals .shop_table tbody,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table thead,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot { display: block; width: 100%; }
body.ntm-brand.woocommerce-cart .cart_totals .shop_table tr,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; align-items: baseline; border-bottom: 1px solid var(--ntm-line); }
body.ntm-brand.woocommerce-cart .cart_totals .shop_table tr th,
body.ntm-brand.woocommerce-cart .cart_totals .shop_table tr td,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tr th,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tr td { display: block; width: auto; padding: 12px 0; border: 0; }
body.ntm-brand.woocommerce-cart .cart_totals .shop_table tr.order-total,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total { border-bottom: 0; }
body.ntm-brand.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals { grid-template-columns: minmax(0, 1fr); }
body.ntm-brand.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals th,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th { padding-bottom: 6px; }
body.ntm-brand.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { padding-top: 0; text-align: left; }
/* WooCommerce 11 nests the shipping options in a table inside the row: label left, options right */
body.ntm-brand.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals > td.shipping__inner,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td.shipping__inner { padding: 0; }
body.ntm-brand.woocommerce-cart .cart_totals table.shipping__table,
body.ntm-brand.woocommerce-cart .cart_totals table.shipping__table tbody,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table table.shipping__table,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table table.shipping__table tbody { display: block; width: 100%; margin: 0; border: 0; }
body.ntm-brand.woocommerce-cart .cart_totals table.shipping__table tr,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table table.shipping__table tr { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 16px; align-items: baseline; border-bottom: 0; }
body.ntm-brand.woocommerce-cart .cart_totals table.shipping__table tr th,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table table.shipping__table tr th { padding: 12px 0; font-weight: 500; color: var(--ntm-taupe); }
body.ntm-brand.woocommerce-cart .cart_totals table.shipping__table tr td,
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table table.shipping__table tr td { padding: 12px 0; text-align: right; }
body.ntm-brand.woocommerce-cart .cart_totals .woocommerce-shipping-destination { display: none; } /* "options will be updated during checkout" is noise for free nationwide shipping */
body.ntm-brand.woocommerce-cart .woocommerce-shipping-methods li,
body.ntm-brand.woocommerce-checkout .woocommerce-shipping-methods li { display: flex; align-items: baseline; justify-content: flex-end; gap: 8px; margin: 0 0 6px; }
body.ntm-brand.woocommerce-cart .woocommerce-shipping-methods li label,
body.ntm-brand.woocommerce-checkout .woocommerce-shipping-methods li label { margin: 0; font-size: .9375rem; font-weight: 400; text-transform: none; color: var(--ntm-black); }

/* Payment: ready for future methods (bank transfer, gateways), no boxes around the whole list */
body.ntm-brand.woocommerce-checkout #payment { margin: 0; padding: 0; border: 0; background: none; }
body.ntm-brand.woocommerce-checkout #payment ul.wc_payment_methods { margin: 0 0 16px; padding: 0; border: 0; list-style: none; }
body.ntm-brand.woocommerce-checkout #payment li.wc_payment_method { margin: 0 0 10px; padding: 14px 16px; border: 1px solid var(--ntm-line); border-radius: var(--ntm-radius-sm); background: #fff; }
body.ntm-brand.woocommerce-checkout #payment li.wc_payment_method > label { margin: 0; font-size: .9375rem; font-weight: 600; text-transform: none; color: var(--ntm-black); }
body.ntm-brand.woocommerce-checkout #payment li.wc_payment_method:has(> input:checked) { border-color: var(--ntm-black); }
body.ntm-brand.woocommerce-checkout #payment div.payment_box { margin: 10px 0 0; padding: 12px 14px; border-radius: var(--ntm-radius-sm); background: var(--ntm-birch); font-size: .875rem; line-height: 1.5; color: rgba(26, 26, 26, .78); }
body.ntm-brand.woocommerce-checkout #payment div.payment_box::before { display: none; }
body.ntm-brand.woocommerce-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }
body.ntm-brand.woocommerce-checkout #payment li.woocommerce-notice { margin: 0; padding: 12px 14px; border: 0; border-left: 3px solid var(--ntm-greige); border-radius: var(--ntm-radius-sm); background: var(--ntm-birch); font-size: .875rem; line-height: 1.5; }
body.ntm-brand.woocommerce-checkout #payment div.form-row.place-order { margin: 0; padding: 0; }
body.ntm-brand.woocommerce-checkout .woocommerce-privacy-policy-text { margin-top: 14px; font-size: .8125rem; line-height: 1.5; color: var(--ntm-taupe); }
body.ntm-brand.woocommerce-checkout .woocommerce-privacy-policy-text p { margin: 0; }

@media (max-width: 1199.98px) {
  body.ntm-brand.woocommerce-cart .ntm-page-title,
  body.ntm-brand.woocommerce-checkout .ntm-page-title { font-size: 1.875rem; }
}

/* ---- Below 850px: single column, stacked cart rows ---- */
@media (max-width: 849.98px) {
  body.ntm-brand.woocommerce-cart .ntm-page-title,
  body.ntm-brand.woocommerce-checkout .ntm-page-title { margin-bottom: 20px; font-size: 1.875rem; }
  body.ntm-brand.woocommerce-cart .woocommerce.row-divided > .col.large-7,
  body.ntm-brand.woocommerce-cart .woocommerce.row-divided > .cart-collaterals,
  body.ntm-brand.woocommerce-checkout form.checkout > .row > .col.large-7,
  body.ntm-brand.woocommerce-checkout form.checkout > .row > .col.large-5 { flex: 0 0 100%; max-width: 100%; }
  body.ntm-brand.woocommerce-cart .woocommerce.row-divided > .cart-collaterals,
  body.ntm-brand.woocommerce-checkout form.checkout > .row > .col.large-5 { margin-top: 32px; }
  body.ntm-brand.woocommerce-cart .cart_totals { padding: 20px; }
  body.ntm-brand.woocommerce-checkout form.checkout .col-inner.has-border { padding: 20px; }

  body.ntm-brand.woocommerce-cart table.cart,
  body.ntm-brand.woocommerce-cart table.cart tbody { display: block; width: 100%; }
  body.ntm-brand.woocommerce-cart table.cart thead { display: none; }
  body.ntm-brand.woocommerce-cart table.cart tr.cart_item {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) 44px;
    grid-template-areas: "thumb name remove" "thumb qty qty";
    gap: 6px 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--ntm-line);
  }
  body.ntm-brand.woocommerce-cart table.cart tr.cart_item > td { display: block; width: auto; padding: 0; border: 0; }
  body.ntm-brand.woocommerce-cart table.cart td.product-thumbnail { grid-area: thumb; }
  body.ntm-brand.woocommerce-cart table.cart td.product-thumbnail img { width: 88px; }
  body.ntm-brand.woocommerce-cart table.cart td.product-name { grid-area: name; }
  body.ntm-brand.woocommerce-cart table.cart td.product-remove { grid-area: remove; justify-self: end; width: 44px; }
  body.ntm-brand.woocommerce-cart table.cart td.product-remove a.remove { margin: -6px 0 0; }
  body.ntm-brand.woocommerce-cart table.cart td.product-quantity { grid-area: qty; align-self: end; text-align: left; }
  body.ntm-brand.woocommerce-cart table.cart tr.cart_item > td.product-price,
  body.ntm-brand.woocommerce-cart table.cart tr.cart_item > td.product-subtotal { display: none; }
  body.ntm-brand.woocommerce-cart table.cart .mobile-product-price { margin-top: 4px; font-size: .875rem; color: var(--ntm-taupe); }
  body.ntm-brand.woocommerce-cart table.cart td.actions { display: flex; padding-top: 16px; }
  body.ntm-brand.woocommerce-cart table.cart tr:not(.cart_item) { display: block; }
  /* comfortable tap targets for the text links */
  body.ntm-brand.woocommerce-cart .ntm-coupon-toggle,
  body.ntm-brand.woocommerce-checkout .ntm-notes-toggle { min-height: 44px; }
  body.ntm-brand.woocommerce-cart td.actions .continue-shopping a.button.button-continue-shopping { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (max-width: 549.98px) {
  body.ntm-brand.woocommerce-cart .page-wrapper > .row-main > .col,
  body.ntm-brand.woocommerce-checkout .page-wrapper > .row-main > .col { padding-right: 0; padding-left: 0; }
  body.ntm-brand.woocommerce-cart .ntm-page-title,
  body.ntm-brand.woocommerce-checkout .ntm-page-title { font-size: 1.625rem; }
  body.ntm-brand.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button { height: 54px; min-height: 54px; line-height: 52px; }
  body.ntm-brand.woocommerce-cart td.actions .coupon .flex-row { max-width: none; }
}
@media (min-width: 850px) and (max-width: 1199.98px) {
  body.ntm-brand.woocommerce-cart .woocommerce.row-divided > .cart-collaterals { flex-basis: 340px; max-width: 340px; }
  body.ntm-brand.woocommerce-cart .woocommerce.row-divided,
  body.ntm-brand.woocommerce-checkout form.checkout > .row { gap: 0 32px; }
  body.ntm-brand.woocommerce-checkout form.checkout > .row > .col.large-5 { flex-basis: 400px; max-width: 400px; }
  /* narrower items column: drop the unit-price column (price x quantity = subtotal) */
  body.ntm-brand.woocommerce-cart table.cart thead tr,
  body.ntm-brand.woocommerce-cart table.cart tr.cart_item { grid-template-columns: 44px 96px minmax(0, 1fr) 132px 96px; }
  body.ntm-brand.woocommerce-cart table.cart th.product-price,
  body.ntm-brand.woocommerce-cart table.cart tr.cart_item > td.product-price { display: none; }
  body.ntm-brand.woocommerce-cart table.cart td.product-thumbnail img { width: 80px; }
}

/* Checkout: quiet installation note under the shipping row */
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tr.ntm-shipping-note { display: block; }
body.ntm-brand.woocommerce-checkout .woocommerce-checkout-review-order-table tr.ntm-shipping-note td { display: block; padding: 0 0 12px; font-size: .8125rem; line-height: 1.5; color: var(--ntm-taupe); text-align: left; }

/* Order received (narrow screens): show the order summary (order number) before the bank details */
@media (max-width: 849px) {
  body.ntm-brand.woocommerce-order-received .woocommerce-order.row > .large-5 { order: -1; }
}

/* VietQR payment block (logic in namthomoc-core; thank-you page and My Account > View Order) */
.ntm-vietqr { margin: 0 0 32px; padding: 24px 20px; text-align: center; background: var(--ntm-birch); border-radius: 4px; }
.ntm-vietqr__title { margin: 0 0 16px; font-size: 1.125rem; font-weight: 600; color: var(--ntm-black); text-transform: none; letter-spacing: 0; }
.ntm-vietqr__qr { width: 240px; max-width: 100%; margin: 0 auto 12px; padding: 0; background: #fff; border: 1px solid var(--ntm-line); line-height: 0; }
.ntm-vietqr__hint { margin: 0 0 16px; font-size: .875rem; color: var(--ntm-taupe); }
.ntm-vietqr__facts { display: grid; gap: 6px; max-width: 320px; margin: 0 auto 12px; text-align: left; }
.ntm-vietqr__facts > div { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 16px; align-items: baseline; }
.ntm-vietqr__facts dt { margin: 0; text-transform: none; letter-spacing: 0; font-size: .875rem; font-weight: 400; color: var(--ntm-taupe); }
.ntm-vietqr__facts dd { margin: 0; text-transform: none; letter-spacing: 0; text-align: right; font-size: .9375rem; font-weight: 600; color: var(--ntm-black); overflow-wrap: anywhere; }
.ntm-vietqr__link { margin: 0; font-size: .8125rem; }
.ntm-vietqr__link a { color: var(--ntm-taupe); text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 549px) { .ntm-vietqr__qr { width: 220px; } }
