/**
 * Nhân Sâm Việt Hàn — main.css v2
 * Redesign theo tham khảo kojamart.com, thegioihongsam.com: header xanh thương hiệu,
 * card sản phẩm sạch, section xen kẽ nền, CTA đỏ sâm nổi bật. Mobile-first.
 */

/* ============ BASE ============ */
body {
  font-family: var(--ns-font);
  font-size: var(--ns-fs-body);
  line-height: var(--ns-lh-body);
  color: var(--ns-ink);
  background: var(--ns-bg);
}
h1, h2, h3, h4 { line-height: var(--ns-lh-heading); color: var(--ns-ink); }
h1 { font-size: var(--ns-fs-h1); }
h2 { font-size: var(--ns-fs-h2); }
h3 { font-size: var(--ns-fs-h3); }
a { color: var(--ns-primary-dark); text-decoration: none; }
a:hover { color: var(--ns-primary); }
img { max-width: 100%; height: auto; }

.ns-container {
  max-width: var(--ns-container);
  margin: 0 auto;
  padding-left: var(--ns-pad-x);
  padding-right: var(--ns-pad-x);
}

/* ============ THÔNG BÁO ĐẦU TRANG ============ */
.ns-notice {
  position: relative;
  background: linear-gradient(90deg, var(--ns-primary-dark), var(--ns-primary));
  color: #fff;
  text-align: center;
  font-size: var(--ns-fs-small);
  padding: 8px 44px;
  font-weight: 500;
}
.ns-notice a { color: var(--ns-gold-light); text-decoration: underline; }
.ns-notice__close {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  background: var(--ns-red); border: 2px solid rgba(255,255,255,.55); color: #fff; font-size: 23px; font-weight: 700;
  width: 32px; height: 32px; min-width: 32px; min-height: 32px !important; max-height: 32px;
  padding: 0; margin: 0;
  border-radius: 50%; cursor: pointer; line-height: 1;
  display: inline-grid; place-items: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.3);
  transition: filter var(--ns-ease), transform var(--ns-ease);
}
.ns-notice__close:hover { filter: brightness(1.15); transform: translateY(-50%) scale(1.1); }

/* ============ HEADER v5 — logo lớn | search ngắn giữa | hotline + giỏ hàng phải (1 hàng) ============ */
.site-header {
  background: linear-gradient(135deg, var(--ns-primary-dark) 0%, var(--ns-primary) 100%) !important;
  box-shadow: 0 2px 10px rgba(31, 125, 44, .25);
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  border-bottom: 0 !important; /* Storefront mac dinh border-bottom 1px #f0f0f0 -> gay lan trang 1px duoi menu */
}
.site-header .col-full {
  display: flex !important;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  padding-top: 10px; padding-bottom: 10px;
  max-width: var(--ns-container);
}
@media (min-width: 861px) {
  .site-header .col-full { flex-wrap: nowrap; }
}
/* THANG HANG TUYET DOI: trung hoa margin mac dinh cua Storefront tren moi phan tu hang header */
.site-header .col-full > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.ns-header-search form { margin: 0 !important; }
.ns-header-search input[type="search"] { margin: 0 !important; }
.site-branding a, .custom-logo-link { display: block; line-height: 0; }
/* LOGO: trai, lon ro rang */
.site-branding {
  flex: 0 0 auto;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
  display: flex; align-items: center;
}
.site-branding img,
.site-branding .custom-logo,
.custom-logo-link img {
  max-height: 78px !important;
  max-width: 210px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
  display: block;
}

/* Search ngan gon giua */
.ns-header-search { flex: 0 1 400px; min-width: 220px; margin-left: auto; margin-right: auto; }
.ns-header-search form { display: flex; position: relative; }
.ns-header-search input[type="search"] {
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: var(--ns-radius-full);
  padding: 9px 50px 9px 18px;
  font-size: 14px;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.08);
}
.ns-header-search button {
  position: absolute; right: 4px; top: 4px; bottom: 4px;
  width: 42px;
  border: 0; border-radius: var(--ns-radius-full);
  background: var(--ns-gold); color: var(--ns-ink);
  font-size: 15px; cursor: pointer;
  transition: filter var(--ns-ease);
}
.ns-header-search button:hover { filter: brightness(1.08); }

/* Hotline phai */
.ns-header-hotline {
  flex: 0 0 auto;
  display: flex; align-items: center; gap: 10px;
  color: #fff !important;
}
.ns-header-hotline__icon {
  width: 42px; height: 42px; border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.25);
  font-size: 17px;
}
.ns-header-hotline__text small { display: block; font-size: 11px; opacity: .85; }
.ns-header-hotline__text strong { font-size: 16.5px; font-weight: 800; color: var(--ns-gold-light); white-space: nowrap; }

/* GIO HANG noi bat, canh hotline tren cung hang header */
.site-header .site-header-cart {
  flex: 0 0 auto;
  list-style: none;
  margin: 0 !important; padding: 0;
  position: relative;
  float: none !important;
  display: flex; align-items: center;
}
.site-header .site-header-cart li { list-style: none; margin: 0; display: flex; align-items: center; }
/* Ap kieu vang cho ca markup cu (amount + count) neu fragment cache con sot */
.site-header .site-header-cart .cart-contents {
  display: inline-flex !important; align-items: center; gap: 8px;
  background: var(--ns-gold);
  color: var(--ns-ink) !important;
  border-radius: var(--ns-radius-full);
  padding: 10px 18px !important;
  font-weight: 800; font-size: 13.5px;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(0,0,0,.22);
  transition: filter var(--ns-ease), transform var(--ns-ease);
  line-height: 1.2;
}
.site-header .site-header-cart .cart-contents .amount { color: var(--ns-ink) !important; font-weight: 800; }
.site-header .site-header-cart .cart-contents .count { color: rgba(30,42,32,.75); font-weight: 700; font-size: 12px; }
.site-header .site-header-cart .cart-contents:hover { filter: brightness(1.07); transform: translateY(-1px); }
.site-header .site-header-cart .cart-contents::after { display: none !important; content: none !important; }
.ns-cart-ic { font-size: 16px; }
.ns-cart-count {
  min-width: 21px; height: 21px;
  border-radius: var(--ns-radius-full);
  background: var(--ns-red); color: #fff;
  display: inline-grid; place-items: center;
  font-size: 12px; font-weight: 800;
  padding: 0 6px; line-height: 1;
}
.site-header-cart .widget_shopping_cart,
.site-header-cart .site-header-cart__contents { display: none !important; }

@media (max-width: 860px) {
  .site-header .col-full { gap: 10px; }
  .site-branding img, .site-branding .custom-logo, .custom-logo-link img { max-height: 54px !important; max-width: 140px !important; }
  .ns-header-hotline__text { display: none; }
  .ns-cart-label { display: none; }
  .site-header .site-header-cart .cart-contents { padding: 9px 13px !important; }
  .ns-header-search { order: 5; flex-basis: 100%; min-width: 0; margin: 0; }
}

/* ============ THANH NAV + MEGA MENU (1 hàng gọn, không khoảng trắng dưới) ============ */
.storefront-primary-navigation {
  background: rgba(0, 0, 0, .14) !important;
  border-top: 1px solid rgba(255,255,255,.15);
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .storefront-primary-navigation > .col-full {
    display: flex; align-items: center; gap: 14px;
    max-width: var(--ns-container); margin: 0 auto;
    padding: 0 var(--ns-pad-x);
  }
  .storefront-primary-navigation .main-navigation { flex: 1; margin: 0 !important; }
}
.ns-mega { position: relative; }
.ns-mega__btn {
  height: 100%;
  min-height: 46px;
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--ns-gold) !important;
  color: var(--ns-ink) !important;
  border: 0; cursor: pointer;
  font-weight: 800; font-size: 13.5px; letter-spacing: .3px;
  padding: 0 18px;
  border-radius: 0;
}
.ns-mega__bars { font-size: 15px; }
.ns-mega__caret { transition: transform var(--ns-ease); }
.ns-mega.open .ns-mega__caret { transform: rotate(180deg); }
.ns-mega__panel {
  display: none;
  position: absolute; top: 100%; left: 0; z-index: 1000;
  width: min(920px, 92vw);
  background: #fff;
  border-radius: 0 0 var(--ns-radius-lg) var(--ns-radius-lg);
  box-shadow: 0 18px 44px rgba(20, 48, 26, .25);
  padding: var(--ns-sp-4);
  border-top: 3px solid var(--ns-gold);
}
.ns-mega.open .ns-mega__panel { display: block; }
@media (min-width: 1024px) {
  .ns-mega:hover .ns-mega__panel { display: block; }
}
.ns-mega__grid {
  display: grid; gap: var(--ns-sp-4);
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) { .ns-mega__grid { grid-template-columns: repeat(4, 1fr); } }
.ns-mega__parent {
  display: block;
  font-weight: 800; font-size: 13.5px;
  color: var(--ns-primary-dark) !important;
  border-bottom: 2px solid var(--ns-primary-light);
  padding-bottom: 6px; margin-bottom: 6px;
  text-transform: uppercase;
}
.ns-mega__col ul { list-style: none; margin: 0; padding: 0; }
.ns-mega__col li a {
  display: block; padding: 4px 0;
  font-size: 13px; color: var(--ns-gray) !important;
}
.ns-mega__col li a:hover { color: var(--ns-red) !important; padding-left: 4px; }
.ns-mega__all {
  display: inline-block; margin-top: var(--ns-sp-3);
  font-weight: 700; font-size: 13.5px;
  color: var(--ns-red) !important;
}
@media (max-width: 767px) {
  .ns-mega { display: none; } /* mobile dung menu handheld cua theme */
}

/* Menu tren 1 hang gon */
.main-navigation ul li a {
  color: #fff !important;
  font-weight: 600;
  font-size: 13.5px;
  padding: 13px 11px !important;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .main-navigation > div > ul { display: flex; flex-wrap: nowrap; align-items: center; }
}
.main-navigation ul li a:hover { color: var(--ns-gold-light) !important; }
.main-navigation ul.menu > li.current-menu-item > a { color: var(--ns-gold) !important; }
button.menu-toggle {
  color: #fff !important; border-color: rgba(255,255,255,.4) !important;
  background: transparent !important;
}
.handheld-navigation ul li a { color: var(--ns-ink) !important; }

/* ============ HERO BANNER — FULL-BLEED tràn viền ngang, sát menu ============ */
/* Trang chu: khong co khoang trang giua menu va banner */
.home .site-content, .page-template-template-homepage .site-content { padding-top: 0 !important; }
.home .site-content .col-full, .page-template-template-homepage .site-content .col-full { margin-top: 0 !important; }
.home .site-main, .page-template-template-homepage .site-main { padding-top: 0 !important; margin-top: 0 !important; }
.ns-hero {
  position: relative; overflow: hidden; background: var(--ns-primary-light);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
}
.ns-hero__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.ns-hero__track::-webkit-scrollbar { display: none; }
.ns-hero__slide { flex: 0 0 100%; scroll-snap-align: start; }
/* Chieu cao banner giam 25% so voi ty le anh goc (2560x1301 -> hien thi 2560x976), object-fit cover crop deu */
.ns-hero__slide img { width: 100%; display: block; aspect-ratio: 2560/976; object-fit: cover; }
@media (max-width: 767px) { .ns-hero__slide img { aspect-ratio: auto; } }
/* Dots slider: khay kinh mo, nut nho hinh TRON deu (khong gian pill) */
.ns-hero__dots {
  position: absolute; bottom: 14px; left: 0; right: 0;
  display: flex; justify-content: center; align-items: center; gap: 8px;
  width: max-content; margin: 0 auto;
  padding: 7px 12px;
  background: rgba(20, 30, 22, .28);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 999px;
}
.ns-hero__dots button {
  width: 8px !important; height: 8px !important;
  min-width: 0 !important; min-height: 0 !important;
  border-radius: 50%;
  border: 0; background: rgba(255, 255, 255, .55); cursor: pointer;
  padding: 0 !important; margin: 0; line-height: 0; font-size: 0;
  box-shadow: none;
  transition: background .3s ease, box-shadow .3s ease;
}
.ns-hero__dots button:hover { background: rgba(255, 255, 255, .85); }
.ns-hero__dots button.active {
  background: var(--ns-gold);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .75);
}
@media (max-width: 767px) {
  .ns-hero__dots { bottom: 8px; padding: 5px 10px; gap: 6px; }
  .ns-hero__dots button { width: 6px !important; height: 6px !important; }
}

/* ============ BLOCK CAM KẾT ============ */
.ns-trust { margin-top: -1px; padding: var(--ns-sp-4) 0; background: #fff; border-bottom: 1px solid var(--ns-line); }
.ns-trust__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--ns-sp-3);
}
@media (min-width: 768px) { .ns-trust__grid { grid-template-columns: repeat(4, 1fr); gap: var(--ns-sp-4); } }
.ns-trust__item {
  display: flex; align-items: center; gap: 10px;
  background: var(--ns-primary-light);
  border-radius: var(--ns-radius-lg);
  padding: 12px;
  transition: transform var(--ns-ease);
}
.ns-trust__item:hover { transform: translateY(-2px); }
.ns-trust__icon {
  font-size: 22px; flex: 0 0 42px; height: 42px;
  display: grid; place-items: center;
  background: #fff; border-radius: 50%;
  box-shadow: var(--ns-shadow-sm);
}
.ns-trust__item strong { display: block; font-size: 13px; color: var(--ns-primary-dark); }
.ns-trust__item small { color: var(--ns-gray); font-size: 11.5px; line-height: 1.4; display: block; }

/* ============ SECTION ============ */
.ns-section { padding: var(--ns-sp-8) 0 var(--ns-sp-6); }
.ns-section--bestseller { background: linear-gradient(180deg, #fff 0%, var(--ns-beige) 100%); }
.ns-section--gift { background: var(--ns-gold-light); }
.ns-section--promo { background: #fdf3f2; }
.ns-section--posts { background: #fff; }
.ns-section--reviews { background: var(--ns-primary-light); }
.ns-section__title {
  display: flex; align-items: center; gap: 10px;
  font-size: var(--ns-fs-h2);
  margin-bottom: var(--ns-sp-6);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .3px;
}
.ns-section__title::before {
  content: ""; flex: 0 0 6px; height: 26px;
  background: linear-gradient(180deg, var(--ns-primary), var(--ns-gold));
  border-radius: 3px;
}
.ns-section__title::after {
  content: ""; flex: 1; height: 1px;
  background: linear-gradient(90deg, var(--ns-line), transparent);
}

/* ============ DANH MỤC CHIPS ============ */
.ns-cat-chips { display: flex; gap: var(--ns-sp-2); overflow-x: auto; padding-bottom: var(--ns-sp-2); scrollbar-width: none; flex-wrap: nowrap; }
@media (min-width: 1024px) { .ns-cat-chips { flex-wrap: wrap; } }
/* Mobile: luoi 2 cot de nhin, khong cuon ngang */
@media (max-width: 549px) {
  .ns-cat-chips {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    overflow: visible;
    padding-bottom: 0;
  }
  .ns-chip {
    width: 100%;
    justify-content: center;
    text-align: center;
    padding: 11px 8px;
    font-size: 12.5px;
    white-space: normal;
    line-height: 1.35;
    min-height: 44px;
  }
}
.ns-cat-chips::-webkit-scrollbar { display: none; }
.ns-chip {
  flex: 0 0 auto;
  padding: 11px 20px;
  min-height: var(--ns-touch);
  display: inline-flex; align-items: center;
  background: #fff;
  border: 1.5px solid var(--ns-primary);
  border-radius: var(--ns-radius-full);
  font-weight: 600; font-size: var(--ns-fs-small);
  color: var(--ns-primary-dark) !important;
  transition: background var(--ns-ease), color var(--ns-ease), transform var(--ns-ease);
  box-shadow: var(--ns-shadow-sm);
}
.ns-chip:hover, .ns-chip:focus {
  background: var(--ns-primary-dark) !important;
  border-color: var(--ns-primary-dark);
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(31, 125, 44, .35);
}

/* ============ CARD SẢN PHẨM ============ */
ul.products { margin-bottom: 0 !important; }
/* Grid CHUAN: 2 SP/hang mobile — 4 SP/hang desktop (>=992px). De !important thang moi rule Storefront */
.ns-section ul.products,
ul.products.ns-grid,
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--ns-sp-3) !important;
}
/* Clearfix ::before/::after cua WooCommerce chiem o grid dau tien -> tat */
.ns-section ul.products::before, .ns-section ul.products::after,
ul.products.ns-grid::before, ul.products.ns-grid::after,
.woocommerce ul.products::before, .woocommerce ul.products::after,
.woocommerce-page ul.products::before, .woocommerce-page ul.products::after {
  display: none !important;
  content: none !important;
}
@media (min-width: 992px) {
  .ns-section ul.products,
  ul.products.ns-grid,
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: var(--ns-sp-4) !important;
  }
}
ul.products.ns-grid li.product,
.ns-section ul.products li.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.site-main ul.products li.product {
  width: 100% !important;
  float: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
ul.products li.product {
  background: #fff;
  border: 1px solid var(--ns-line);
  border-radius: var(--ns-radius-lg);
  overflow: hidden;
  padding: 0 0 var(--ns-sp-3) !important;
  margin-bottom: 0 !important;
  transition: transform var(--ns-ease), box-shadow var(--ns-ease), border-color var(--ns-ease);
  display: flex; flex-direction: column;
  position: relative;
}
/* FIX LECH CARD: link bao anh+ten+gia gian het chieu cao, gia ghim day, nut deu hang */
ul.products li.product > a.woocommerce-LoopProduct-link,
ul.products li.product > a:first-of-type {
  display: flex; flex-direction: column;
  flex: 1 1 auto;
}
ul.products li.product .woocommerce-loop-product__title { margin-bottom: 4px; }
ul.products li.product .price {
  margin-top: auto !important;
  min-height: 46px;
  align-items: flex-end !important;
  align-content: flex-end;
}
@media (min-width: 1024px) {
  ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(30, 42, 32, .12);
    border-color: var(--ns-primary);
  }
}
ul.products li.product > a img,
ul.products li.product .woocommerce-loop-product__link img {
  aspect-ratio: 1/1; object-fit: cover; width: 100%;
  margin-bottom: var(--ns-sp-2) !important;
  border-bottom: 1px solid var(--ns-line);
}
ul.products li.product .woocommerce-loop-product__title {
  font-size: 13.5px !important;
  font-weight: 600;
  padding: 0 var(--ns-sp-3) !important;
  line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 2.9em;
  color: var(--ns-ink);
}
ul.products li.product .price {
  padding: 4px var(--ns-sp-3) 0 !important;
  font-weight: 800 !important;
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
  color: var(--ns-red) !important;
  font-size: var(--ns-fs-price) !important;
  margin-bottom: 4px !important;
}
ul.products li.product .price del {
  color: var(--ns-gray); font-weight: 400; font-size: 12.5px; opacity: .85;
}
ul.products li.product .price ins { text-decoration: none; color: var(--ns-red); }
.price .screen-reader-text { display: none !important; }

.ns-sale-badge, span.onsale {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  background: linear-gradient(135deg, #e74c3c, var(--ns-red)) !important;
  color: #fff; font-weight: 800; font-size: 12px;
  min-height: 0 !important; min-width: 0 !important; line-height: 1;
  padding: 6px 9px; border-radius: var(--ns-radius-sm);
  box-shadow: 0 2px 6px rgba(192, 57, 43, .4);
  margin: 0 !important;
}

ul.products li.product .button,
ul.products li.product .ajax_add_to_cart {
  margin: 10px var(--ns-sp-3) 0 !important;
  background: #fff !important;
  color: var(--ns-red) !important;
  border: 1.5px solid var(--ns-red) !important;
  border-radius: var(--ns-radius) !important;
  font-weight: 600; font-size: 13px;
  text-align: center;
  padding: 9px !important;
  transition: all var(--ns-ease);
}
ul.products li.product .button:hover { background: #fdf0ef !important; }
.ns-btn-buy-now {
  display: block;
  margin: var(--ns-sp-2) var(--ns-sp-3) 0;
  background: linear-gradient(135deg, #e74c3c, var(--ns-red));
  color: #fff !important;
  text-align: center; font-weight: 700; font-size: 13.5px;
  padding: 11px; min-height: var(--ns-touch);
  border-radius: var(--ns-radius);
  letter-spacing: .4px;
  box-shadow: 0 3px 10px rgba(192, 57, 43, .3);
  transition: all var(--ns-ease);
}
.ns-btn-buy-now:hover { filter: brightness(1.08); transform: translateY(-1px); }

/* ============ BRAND BLOCK v2 — kicker + checklist + CTA + media + stats card ============ */
.ns-brand {
  background:
    radial-gradient(900px 360px at 88% -8%, rgba(212, 169, 78, .22), transparent 60%),
    linear-gradient(135deg, var(--ns-primary-dark), var(--ns-primary));
  color: #fff;
}
.ns-brand__grid { display: grid; gap: var(--ns-sp-6); }
/* v4.7.1: 2 cot can bang, video canh giua noi dung */
@media (min-width: 900px) { .ns-brand__grid { grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; } }
.ns-brand__kicker {
  display: inline-block;
  background: rgba(255, 255, 255, .13);
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: var(--ns-radius-full);
  padding: 6px 16px;
  font-size: 12px; font-weight: 800; letter-spacing: 1.4px;
  color: var(--ns-gold-light);
  margin-bottom: 16px;
}
.ns-brand h2 { color: #fff; font-size: clamp(24px, 3.2vw, 32px); font-weight: 800; line-height: 1.3; margin-bottom: 12px; }
.ns-brand h2 em { font-style: normal; color: var(--ns-gold); }
.ns-brand__lead { color: rgba(255,255,255,.9); font-size: 14.5px; line-height: 1.75; margin-bottom: 18px; }
.ns-brand strong { color: var(--ns-gold-light); }
/* Checklist 2 cot voi icon check tron */
.ns-brand__points { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 640px) { .ns-brand__points { grid-template-columns: 1fr 1fr; gap: 12px 18px; } }
.ns-brand__points li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,.95);
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--ns-radius);
  padding: 10px 12px;
}
.ns-brand__check {
  flex: 0 0 22px; height: 22px;
  display: inline-grid; place-items: center;
  background: linear-gradient(135deg, var(--ns-gold-light), var(--ns-gold));
  color: #1e2a20; font-weight: 800; font-size: 12px;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.ns-brand__cta { display: flex; gap: 12px; flex-wrap: wrap; }
/* Media: video khung gold + 2 anh co chu thich */
.ns-brand__media { display: flex; flex-direction: column; gap: 14px; }
.ns-brand__video {
  position: relative; aspect-ratio: 16/9;
  border-radius: var(--ns-radius-lg); overflow: hidden;
  border: 2px solid rgba(212, 169, 78, .55);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
  background: #0c1f10;
}
.ns-brand__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ns-brand__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
/* Hang anh rieng duoi grid video (v4.7.0) */
.ns-brand__photos--row { margin-top: 22px; gap: 18px; }
.ns-brand__photos.ns-brand__photos--row img { aspect-ratio: 16/9; }
@media (max-width: 767px) { .ns-brand__photos--row { grid-template-columns: 1fr; } }
/* v4.7.1: checklist 2 cot tren man rong, CTA thoang */
@media (min-width: 900px) {
  .ns-brand__points { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 22px; }
}
.ns-brand__cta { margin-top: 20px; }
.ns-brand__photos figure { margin: 0; position: relative; border-radius: var(--ns-radius-lg); overflow: hidden; box-shadow: 0 10px 24px rgba(0,0,0,.28); }
.ns-brand__photos img {
  width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block;
  border: 2px solid rgba(255,255,255,.2); border-radius: var(--ns-radius-lg);
  transition: transform var(--ns-ease);
}
.ns-brand__photos figure:hover img { transform: scale(1.04); }
.ns-brand__photos figcaption {
  position: absolute; left: 0; right: 0; bottom: 0;
  background: linear-gradient(transparent, rgba(12, 31, 16, .88));
  color: #fff; font-size: 12px; font-weight: 700;
  padding: 22px 12px 9px;
  pointer-events: none;
}
.ns-btn-primary {
  display: inline-block;
  background: var(--ns-gold); color: var(--ns-ink) !important;
  font-weight: 700; padding: 12px 26px;
  border-radius: var(--ns-radius-full);
  transition: all var(--ns-ease);
}
.ns-btn-primary:hover { filter: brightness(1.06); transform: translateY(-1px); }
/* Stats card: kinh mo, so gold lon, icon */
.ns-brand__stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--ns-sp-3);
  margin-top: var(--ns-sp-6);
  padding-top: var(--ns-sp-6);
  border-top: 1px solid rgba(255, 255, 255, .16);
}
@media (min-width: 900px) { .ns-brand__stats { grid-template-columns: repeat(4, 1fr); gap: var(--ns-sp-4); } }
.ns-stat {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--ns-radius-lg);
  padding: 18px 14px;
  text-align: center;
  transition: transform var(--ns-ease), background var(--ns-ease);
}
.ns-stat:hover { transform: translateY(-3px); background: rgba(255,255,255,.14); }
.ns-stat__icon { display: block; font-size: 22px; margin-bottom: 6px; }
.ns-stat strong { display: block; font-size: 27px; font-weight: 800; color: var(--ns-gold-light); line-height: 1.2; }
.ns-stat span:last-child { font-size: 12px; color: rgba(255,255,255,.85); }
.ns-stat {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--ns-radius-lg);
  padding: var(--ns-sp-4);
  text-align: center;
}
.ns-stat strong { display: block; font-size: 26px; font-weight: 800; color: var(--ns-gold-light); }
.ns-stat span { font-size: 12px; color: rgba(255,255,255,.85); }

/* ============ BÀI VIẾT ============ */
.ns-posts-grid { display: grid; gap: var(--ns-sp-4); }
@media (min-width: 768px) { .ns-posts-grid { grid-template-columns: repeat(3, 1fr); } }
.ns-post-card {
  background: #fff; border: 1px solid var(--ns-line);
  border-radius: var(--ns-radius-lg); overflow: hidden;
  transition: box-shadow var(--ns-ease);
}
.ns-post-card:hover { box-shadow: var(--ns-shadow); }
.ns-post-card__thumb img { aspect-ratio: 16/9; object-fit: cover; width: 100%; display: block; }
.ns-post-card__title { font-size: 15px; margin: var(--ns-sp-3) var(--ns-sp-3) var(--ns-sp-1); }
.ns-post-card__title a { color: var(--ns-ink); }
.ns-post-card__title a:hover { color: var(--ns-primary-dark); }
.ns-post-card__excerpt { color: var(--ns-gray); font-size: 13px; padding: 0 var(--ns-sp-3) var(--ns-sp-3); margin: 0; }

/* ============ ĐÁNH GIÁ ============ */
.ns-reviews { display: grid; gap: var(--ns-sp-3); }
@media (min-width: 768px) { .ns-reviews { grid-template-columns: repeat(3, 1fr); } }
.ns-review {
  background: #fff; border-radius: var(--ns-radius-lg);
  padding: var(--ns-sp-4); margin: 0;
  box-shadow: var(--ns-shadow-sm);
  font-size: var(--ns-fs-small);
  border-left: 3px solid var(--ns-gold);
}
.ns-review__stars { color: var(--ns-gold); letter-spacing: 2px; margin-bottom: 6px; }
.ns-review footer { color: var(--ns-gray); margin-top: 8px; font-weight: 600; }

/* ============ TRANG CHI TIẾT SP ============ */
.single-product div.product .price { font-size: 24px; font-weight: 800; color: var(--ns-red) !important; }
.single-product div.product .price ins { text-decoration: none; }
.single-product div.product form.cart .single_add_to_cart_button {
  background: linear-gradient(135deg, #e74c3c, var(--ns-red)) !important;
  font-size: 16px; font-weight: 700;
  min-height: var(--ns-btn-h); border-radius: var(--ns-radius);
  width: 100%;
  box-shadow: 0 4px 14px rgba(192, 57, 43, .3);
}
.ns-product-trust {
  display: grid; gap: 6px;
  background: var(--ns-primary-light);
  border-radius: var(--ns-radius);
  padding: var(--ns-sp-3);
  margin: var(--ns-sp-3) 0;
  font-size: var(--ns-fs-small);
}
.ns-product-contact { display: flex; gap: var(--ns-sp-2); margin: var(--ns-sp-3) 0; }
.ns-btn-zalo, .ns-btn-call {
  flex: 1; text-align: center; padding: 12px; min-height: var(--ns-touch);
  border-radius: var(--ns-radius); font-weight: 600; font-size: var(--ns-fs-small);
  color: #fff !important;
}
.ns-btn-zalo { background: var(--ns-zalo); }
.ns-btn-call { background: var(--ns-primary); }

/* ============ CHECKOUT v2 — form trai + don hang phai (card sticky) ============ */
/* Input/textarea/select dong bo */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
  min-height: 46px;
  border: 1.5px solid #dde6de;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 15px;
  background: #fff;
  box-shadow: none;
  transition: border-color var(--ns-ease), box-shadow var(--ns-ease);
}
.woocommerce-checkout textarea { min-height: 92px; }
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
  border-color: var(--ns-primary);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(44, 165, 58, .13);
}
.woocommerce-checkout form.checkout label { font-weight: 700; font-size: 13.5px; color: var(--ns-ink); }
.woocommerce-checkout form.checkout .form-row { margin-bottom: 14px; }
/* Tieu de khoi form */
.woocommerce-checkout form.checkout h3,
#order_review_heading {
  font-size: 17px; font-weight: 800; color: var(--ns-primary-dark);
  padding-bottom: 10px; margin-bottom: 16px;
  border-bottom: 2px solid var(--ns-gold);
  display: flex; align-items: center; gap: 8px;
}
.woocommerce-checkout form.checkout h3::before { content: "📋"; font-size: 16px; }
#order_review_heading::before { content: "🧾"; font-size: 16px; }
/* Cot don hang: card sticky */
form.checkout .col.large-5 > .col-inner,
form.checkout .col:last-child > .col-inner {
  background: #f7faf7;
  border: 1.5px solid var(--ns-line);
  border-radius: var(--ns-radius-lg);
  padding: 22px 22px 18px;
  box-shadow: var(--ns-shadow-sm);
}
@media (min-width: 850px) {
  form.checkout .col.large-5 > .col-inner,
  form.checkout .col:last-child > .col-inner { position: sticky; top: 96px; }
}
/* Bang review don hang */
.woocommerce-checkout-review-order-table { border: 0 !important; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td { border: 0 !important; padding: 9px 4px !important; font-size: 13.5px; }
.woocommerce-checkout-review-order-table tbody tr { border-bottom: 1px dashed var(--ns-line) !important; }
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td { font-size: 16.5px; font-weight: 800; color: var(--ns-red); padding-top: 12px !important; }
/* Phuong thuc thanh toan: card radio */
#payment { background: transparent !important; }
#payment ul.payment_methods { border: 0 !important; padding: 0 !important; }
#payment ul.payment_methods li {
  background: #fff;
  border: 1.5px solid var(--ns-line);
  border-radius: var(--ns-radius);
  padding: 12px 14px !important;
  margin-bottom: 10px;
  transition: border-color var(--ns-ease), box-shadow var(--ns-ease);
}
#payment ul.payment_methods li:has(input:checked) {
  border-color: var(--ns-primary);
  box-shadow: 0 0 0 3px rgba(44, 165, 58, .12);
}
#payment ul.payment_methods li label { font-weight: 700; font-size: 14px; }
#payment div.payment_box {
  background: var(--ns-primary-light) !important;
  border-radius: var(--ns-radius);
  font-size: 13px;
  margin-top: 10px !important;
}
#payment div.payment_box::before { display: none !important; }
#place_order {
  background: linear-gradient(135deg, #e74c3c, var(--ns-red)) !important;
  font-size: 16px; font-weight: 800;
  min-height: 52px; width: 100%;
  border-radius: var(--ns-radius);
  box-shadow: 0 4px 14px rgba(192, 57, 43, .35);
  letter-spacing: .3px;
  transition: transform var(--ns-ease), filter var(--ns-ease);
}
#place_order:hover { filter: brightness(1.07); transform: translateY(-1px); }
/* Ghi chu don hang gon */
.woocommerce-additional-fields h3 { margin-top: 6px; }
@media (max-width: 849px) {
  form.checkout .col.large-5 > .col-inner,
  form.checkout .col:last-child > .col-inner { padding: 16px 14px; }
}

/* ============ TRANG GIO HANG v2 — bang trai + tong don card sticky phai ============ */
/* Buoc tien trinh (Gio hang > Thanh toan > Hoan tat) */
.woocommerce-cart .checkout-steps a, .woocommerce-checkout .checkout-steps a { font-weight: 700; }
.woocommerce-cart .checkout-steps a:first-child { color: var(--ns-primary-dark); }
/* Bang san pham: card trang */
.woocommerce-cart .woocommerce-cart-form { padding: 4px; }
/* Layout 65/35: bang trai rong, cot phai du cho tong don + coupon */
@media (min-width: 850px) {
  .woocommerce-cart .woocommerce.row > .col.large-7 { flex-basis: 65%; max-width: 65%; }
  .woocommerce-cart .woocommerce.row > .cart-collaterals.large-5 { flex-basis: 35%; max-width: 35%; }
}
/* Phan bo cot trong bang: ten SP chiem phan con lai (khong bi ep 95px) */
.woocommerce-cart table.cart td.product-remove, .woocommerce-cart table.cart th.product-remove { width: 48px; }
.woocommerce-cart table.cart td.product-thumbnail, .woocommerce-cart table.cart th.product-thumbnail { width: 100px; }
.woocommerce-cart table.cart td.product-name { width: auto; min-width: 200px; }
.woocommerce-cart table.cart td.product-name a { display: inline-block; line-height: 1.5; white-space: normal; }
.woocommerce-cart table.cart td.product-price, .woocommerce-cart table.cart th.product-price,
.woocommerce-cart table.cart td.product-subtotal, .woocommerce-cart table.cart th.product-subtotal { width: 112px; white-space: nowrap; }
.woocommerce-cart table.cart td.product-quantity, .woocommerce-cart table.cart th.product-quantity { width: 128px; }
.woocommerce-cart table.cart {
  background: #fff;
  border: 1.5px solid var(--ns-line) !important;
  border-radius: var(--ns-radius-lg);
  overflow: hidden;
}
.woocommerce-cart table.cart caption h2, .woocommerce-cart .cart-wrapper h2 {
  font-size: 17px; font-weight: 800; color: var(--ns-primary-dark);
}
.woocommerce-cart table.cart th {
  background: #f2f8f3;
  color: var(--ns-primary-dark);
  font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: .4px;
  border-bottom: 2px solid var(--ns-gold) !important;
  padding: 12px 14px !important;
}
.woocommerce-cart table.cart td { border-color: var(--ns-line) !important; padding: 14px !important; vertical-align: middle; }
.woocommerce-cart table.cart img { border-radius: var(--ns-radius); max-width: 84px; border: 1px solid var(--ns-line); }
.woocommerce-cart table.cart .product-name a { font-weight: 700; color: var(--ns-ink); font-size: 14.5px; }
.woocommerce-cart table.cart .product-name a:hover { color: var(--ns-primary-dark); }
/* Gia trong gio: sale noi bat */
.woocommerce-cart table.cart .amount { color: var(--ns-red); font-weight: 800; }
.woocommerce-cart table.cart del .amount { color: #9aa39c; font-weight: 500; font-size: 12.5px; }
.woocommerce-cart table.cart ins { text-decoration: none; }
/* Nut xoa: Y HET nut dong popup topbar (.ns-notice__close) */
.woocommerce-cart table.cart .remove, .woocommerce-cart .cart_item .remove {
  background: var(--ns-red);
  border: 2px solid rgba(255,255,255,.55);
  color: #fff !important;
  font-size: 23px !important; font-weight: 700;
  width: 32px; height: 32px; min-width: 32px; min-height: 32px !important; max-height: 32px;
  padding: 0; margin: 0;
  border-radius: 50%; cursor: pointer; line-height: 1;
  display: inline-grid; place-items: center;
  box-shadow: none;
  transition: all var(--ns-ease);
}
.woocommerce-cart table.cart .remove:hover { filter: brightness(1.15); transform: scale(1.1); color: #fff !important; background: var(--ns-red); }
/* Qty control */
.woocommerce-cart .quantity .qty { border: 1.5px solid #dde6de; border-radius: 8px; min-height: 38px; }
/* Cot tong don: card xanh nhat (box thuong, khong sticky) */
.woocommerce-cart .cart-collaterals .cart_totals {
  background: #f7faf7;
  border: 1.5px solid var(--ns-line);
  border-radius: var(--ns-radius-lg);
  padding: 22px;
  box-shadow: var(--ns-shadow-sm);
}
.woocommerce-cart .cart_totals h2 {
  font-size: 17px; font-weight: 800; color: var(--ns-primary-dark);
  padding-bottom: 10px; margin-bottom: 14px;
  border-bottom: 2px solid var(--ns-gold);
  display: flex; align-items: center; gap: 8px;
}
.woocommerce-cart .cart_totals h2::before { content: "🧾"; font-size: 16px; }
.woocommerce-cart .cart_totals table { border: 0 !important; }
.woocommerce-cart .cart_totals th, .woocommerce-cart .cart_totals td { border: 0 !important; padding: 9px 4px !important; font-size: 14px; }
.woocommerce-cart .cart_totals tr { border-bottom: 1px dashed var(--ns-line); }
.woocommerce-cart .cart_totals .order-total .amount { color: var(--ns-red); font-weight: 800; font-size: 18px; }
/* Nut Tien hanh thanh toan: do dam full */
.woocommerce-cart .checkout-button {
  display: flex !important; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #e74c3c, var(--ns-red)) !important;
  color: #fff !important;
  font-size: 15.5px; font-weight: 800; letter-spacing: .3px;
  min-height: 52px; width: 100%;
  border-radius: var(--ns-radius) !important;
  box-shadow: 0 4px 14px rgba(192, 57, 43, .35);
  transition: transform var(--ns-ease), filter var(--ns-ease);
}
.woocommerce-cart .checkout-button:hover { filter: brightness(1.07); transform: translateY(-1px); }
/* Ma giam gia: card vien dut vang noi bat, nut Ap dung xanh dam */
.woocommerce-cart .ux-cart-coupon { margin-top: 16px; }
.woocommerce-cart .ux-cart-coupon .coupon {
  background: #fffdf5;
  border: 1.5px dashed var(--ns-gold);
  border-radius: var(--ns-radius-lg);
  padding: 16px;
}
.woocommerce-cart .ux-cart-coupon .coupon h3.widget-title {
  font-size: 14.5px; font-weight: 800; color: var(--ns-ink);
  margin: 0 0 12px; padding: 0; border: 0;
  display: flex; align-items: center; gap: 7px;
}
.woocommerce-cart .ux-cart-coupon .coupon h3.widget-title .icon-tag {
  display: inline-grid; place-items: center;
  width: 26px; height: 26px; border-radius: 50%;
  background: linear-gradient(135deg, var(--ns-gold-light), var(--ns-gold));
  color: #1e2a20; font-size: 13px;
}
.woocommerce-cart .ux-cart-coupon .coupon .input-text {
  width: 100%;
  border: 1.5px solid #e2d9bd; border-radius: 8px;
  min-height: 44px; padding: 10px 14px;
  background: #fff; font-size: 14px;
  margin-bottom: 10px;
  box-shadow: none;
  transition: border-color var(--ns-ease), box-shadow var(--ns-ease);
}
.woocommerce-cart .ux-cart-coupon .coupon .input-text:focus {
  border-color: var(--ns-primary); outline: 0;
  box-shadow: 0 0 0 3px rgba(44, 165, 58, .13);
}
.woocommerce-cart .ux-cart-coupon .coupon .button {
  /* Thiet ke nhu nut "CAP NHAT GIO HANG": xanh la solid, bo goc lon, khong hieu ung ruom ra */
  width: 100%; min-height: 44px;
  background: linear-gradient(180deg, #35b545, #279a36) !important;
  color: #fff !important;
  font-family: var(--ns-font) !important;
  font-weight: 700; font-size: 13px; letter-spacing: .4px; text-transform: uppercase;
  border: 0 !important; border-radius: 10px !important;
  box-shadow: none;
  transition: filter .15s ease;
}
.woocommerce-cart .ux-cart-coupon .coupon .button:hover { filter: brightness(1.05); transform: none; }
/* Tiet kiem badge trong gio */
.woocommerce-cart .cart_item .ns-save, .woocommerce-cart td .save-amount { color: var(--ns-primary-dark); font-weight: 700; font-size: 12px; }
/* Hang nut hanh dong: "Tiep tuc xem san pham" dong bo font/kich thuoc voi "Cap nhat gio hang" */
.woocommerce-cart table.cart td.actions a.button-continue-shopping,
.woocommerce-cart table.cart td.actions button[name="update_cart"] {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 0 18px; margin-bottom: 0;
  font-family: var(--ns-font) !important;
  font-size: 13px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase;
  line-height: 1.2;
  border: 0 !important; border-radius: 8px !important;
  transition: transform var(--ns-ease), filter var(--ns-ease), background var(--ns-ease);
}
.woocommerce-cart table.cart td.actions a.button-continue-shopping {
  background: #fff !important;
  color: var(--ns-primary-dark) !important;
  box-shadow: inset 0 0 0 2px var(--ns-primary);
}
.woocommerce-cart table.cart td.actions a.button-continue-shopping:hover { background: #f2f8f3 !important; transform: translateY(-1px); }
.woocommerce-cart table.cart td.actions button[name="update_cart"] {
  background: linear-gradient(135deg, var(--ns-primary-dark), var(--ns-primary)) !important;
  color: #fff !important;
}
.woocommerce-cart table.cart td.actions button[name="update_cart"]:hover { filter: brightness(1.08); transform: translateY(-1px); }

/* ============ HEADER DANH MUC (trang thuong hieu / danh muc SP) ============ */
.shop-page-title.category-page-title {
  background:
    radial-gradient(700px 200px at 85% 0%, rgba(212, 169, 78, .16), transparent 60%),
    linear-gradient(135deg, #eef7ef 0%, #f8fcf8 100%);
  border-bottom: 1px solid var(--ns-line);
  padding: 18px 0 16px;
}
.category-page-title .page-title-inner { min-height: 0 !important; }
.category-page-title .breadcrumbs { font-size: 12.5px; font-weight: 700; letter-spacing: .4px; color: var(--ns-gray); }
.category-page-title .breadcrumbs a { color: var(--ns-primary-dark); }
/* Ten danh muc hien ro (Flatsome an trong breadcrumb) */
.tax-product_cat .category-page-title .is-large .breadcrumbs { text-transform: none; }
/* Mo ta danh muc (neu co) gon */
.category-page-title .category-filtering + p, .term-description { max-width: 860px; color: var(--ns-gray); font-size: 13.5px; }

/* ============ THANH LIÊN HỆ CỐ ĐỊNH ============ */
.ns-contact-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 999;
  display: flex;
  background: #fff;
  box-shadow: 0 -2px 14px rgba(30, 42, 32, .14);
  height: var(--ns-contact-bar-h);
  padding-bottom: env(safe-area-inset-bottom);
  border-top: 1px solid var(--ns-line);
}
.ns-contact-bar__item {
  flex: 1;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 2px;
  font-size: 11px; font-weight: 700;
  min-height: var(--ns-touch);
}
.ns-contact-bar__icon { font-size: 19px; }
.ns-contact-bar__item--phone { color: var(--ns-primary-dark); }
.ns-contact-bar__item--zalo { color: var(--ns-zalo); }
.ns-contact-bar__item--messenger { color: var(--ns-messenger); }
body { padding-bottom: calc(var(--ns-contact-bar-h) + env(safe-area-inset-bottom)); }
@media (min-width: 1024px) {
  .ns-contact-bar {
    left: auto; right: 20px; bottom: 20px;
    flex-direction: column; width: 66px; height: auto;
    border-radius: var(--ns-radius-full); padding: 10px 0;
    border: 1px solid var(--ns-line);
  }
  body { padding-bottom: 0; }
}

/* ============ POPUP ============ */
.ns-popup { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; }
.ns-popup__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.65); }
.ns-popup__body { position: relative; max-width: min(440px, 90vw); border-radius: var(--ns-radius-lg); overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
.ns-popup__body img { display: block; width: 100%; }
.ns-popup__close {
  position: absolute; top: 10px; right: 10px; z-index: 2;
  width: 38px; height: 38px; border-radius: 50%;
  background: linear-gradient(135deg, #e74c3c, var(--ns-red)); color: #fff;
  border: 2px solid rgba(255,255,255,.65); font-size: 26px; font-weight: 700; cursor: pointer;
  box-shadow: 0 3px 10px rgba(0,0,0,.35);
  transition: filter var(--ns-ease), transform var(--ns-ease);
}
.ns-popup__close:hover { filter: brightness(1.12); transform: scale(1.08); }
/* Nut dong off-canvas / lightbox Flatsome (mobile menu, zoom anh) noi bat */
.mfp-close, button.mfp-close {
  background: linear-gradient(135deg, #e74c3c, var(--ns-red)) !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 38px !important; height: 38px !important; line-height: 38px !important;
  font-size: 26px !important; font-weight: 700 !important;
  opacity: 1 !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.3);
  top: 8px; right: 8px;
}

/* ============ MENU DOC — icon moi muc cha ============ */
.header-vertical-menu li.ns-vm-ic > a { display: flex !important; align-items: center; gap: 9px; }
.header-vertical-menu li.ns-vm-ic > a::before {
  flex: 0 0 26px; height: 26px;
  display: inline-grid; place-items: center;
  font-size: 14px;
  background: linear-gradient(135deg, #eef7ef, #fdf6e6);
  border: 1px solid var(--ns-line);
  border-radius: 8px;
}
.header-vertical-menu li.ns-vm-samhq > a::before    { content: "\1F33F"; } /* 🌿 */
.header-vertical-menu li.ns-vm-brand > a::before    { content: "\1F3F7\FE0F"; } /* 🏷️ */
.header-vertical-menu li.ns-vm-dongtrung > a::before{ content: "\1F41B"; } /* 🐛 */
.header-vertical-menu li.ns-vm-linhchi > a::before  { content: "\1F344"; } /* 🍄 */
.header-vertical-menu li.ns-vm-quatang > a::before  { content: "\1F381"; } /* 🎁 */
.header-vertical-menu li.ns-vm-suckhoe > a::before  { content: "\1F48A"; } /* 💊 */
.header-vertical-menu li.ns-vm-samtuoi > a::before  { content: "\1F331"; } /* 🌱 */
.header-vertical-menu li.ns-vm-thongdo > a::before  { content: "\1F332"; } /* 🌲 */

/* ============ v4.7.5: ICON TUY CHINH (anh tu thu vien) ============ */
/* Icon anh trong tieu de section (v4.7.7) */
.ns-section__title .ns-title-ic { width: 28px; height: 28px; object-fit: contain; vertical-align: -5px; margin-right: 4px; display: inline-block; }
/* Icon anh trong menu (moi menu) */
.ns-menu-ic-img { width: 20px; height: 20px; object-fit: contain; vertical-align: -4px; border-radius: 4px; }
.ns-menu-ic-emoji { margin-right: 2px; }
/* Menu doc: item co icon tuy chinh -> tat emoji ::before cu + giu layout flex */
.header-vertical-menu li.ns-has-custom-ic > a { display: flex !important; align-items: center; gap: 9px; }
.header-vertical-menu li.ns-has-custom-ic > a::before { content: none !important; }
.header-vertical-menu li.ns-has-custom-ic .ns-menu-ic-img { width: 22px; height: 22px; flex: 0 0 22px; }
/* Icon anh trong block cam ket / chon theo nhu cau / social */
.ns-trust__icon img { width: 26px; height: 26px; object-fit: contain; }
.ns-audience__icon img { width: 36px; height: 36px; object-fit: contain; }
.ns-social__glyph img { width: 34px; height: 34px; object-fit: contain; border-radius: 50%; }

/* ============ FOOTER ============ */
.site-footer {
  background: #14301a !important;
  color: #b9cfc0;
  border-top: 4px solid var(--ns-gold);
}
.site-footer a, .site-footer a:visited { color: #d7e8db; }
.site-footer a:hover { color: var(--ns-gold-light); }
.site-footer .widget-title { color: var(--ns-gold-light); font-size: 15px; text-transform: uppercase; letter-spacing: .5px; }
/* An thanh footer bar mac dinh cua storefront (search/cart trung lap) */
.site-footer .footer-bar,
.site-footer .storefront-handheld-footer-bar { display: none; }

/* ============ MÃ GIẢM GIÁ ============ */
.ns-coupons-wrap { background: linear-gradient(180deg, #fff8ec, #fff); }
.ns-coupons { display: grid; grid-template-columns: 1fr; gap: var(--ns-sp-3); }
@media (min-width: 640px) { .ns-coupons { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .ns-coupons { grid-template-columns: repeat(4, 1fr); } }
.ns-coupon {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  background: #fff;
  border: 1.5px dashed var(--ns-gold);
  border-radius: var(--ns-radius-lg);
  padding: 14px;
  position: relative;
  box-shadow: var(--ns-shadow-sm);
}
.ns-coupon::before {
  content: "🎟️"; position: absolute; top: -12px; left: 12px; font-size: 18px;
}
.ns-coupon__left strong { display: block; color: var(--ns-red); font-size: 15px; }
.ns-coupon__left small { color: var(--ns-gray); font-size: 12px; }
.ns-coupon__right { text-align: right; flex: 0 0 auto; }
.ns-coupon__right code {
  display: block; font-weight: 800; font-size: 13px;
  color: var(--ns-primary-dark); background: var(--ns-primary-light);
  padding: 3px 8px; border-radius: 6px; margin-bottom: 6px;
}
.ns-coupon__copy {
  background: var(--ns-primary); color: #fff; border: 0;
  font-size: 12px; font-weight: 700; padding: 6px 12px;
  border-radius: var(--ns-radius-full); cursor: pointer;
  transition: background var(--ns-ease);
}
.ns-coupon__copy:hover { background: var(--ns-primary-dark); }
.ns-coupon__copy.copied { background: var(--ns-gold); color: var(--ns-ink); }

/* ============ CHỌN THEO NHU CẦU ============ */
.ns-audience-wrap { background: #fff; }
.ns-audience { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--ns-sp-3); }
@media (min-width: 768px) { .ns-audience { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .ns-audience { grid-template-columns: repeat(6, 1fr); } }
.ns-audience__card {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px;
  background: var(--ns-primary-light);
  border: 1px solid transparent;
  border-radius: var(--ns-radius-lg);
  padding: var(--ns-sp-4) var(--ns-sp-2);
  transition: all var(--ns-ease);
}
.ns-audience__card:hover {
  background: #fff; border-color: var(--ns-primary);
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(44, 165, 58, .18);
}
.ns-audience__icon {
  font-size: 30px; width: 60px; height: 60px;
  display: grid; place-items: center;
  background: #fff; border-radius: 50%;
  box-shadow: var(--ns-shadow-sm);
}
.ns-audience__card strong { font-size: 13.5px; color: var(--ns-ink); }
.ns-audience__card small { font-size: 11.5px; color: var(--ns-gray); line-height: 1.4; }

/* ============ CHỨNG NHẬN VÀ GIẢI THƯỞNG ============ */
.ns-certs-wrap {
  background: linear-gradient(160deg, #14301a, var(--ns-primary-dark));
  color: #fff;
}
.ns-certs-wrap .ns-section__title { color: #fff; }
.ns-certs-wrap .ns-section__title::after { background: linear-gradient(90deg, rgba(255,255,255,.25), transparent); }
.ns-certs__lead { color: rgba(255,255,255,.88); max-width: none; margin-bottom: var(--ns-sp-6); font-size: 14.5px; }
.ns-certs {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--ns-sp-3);
  margin-bottom: var(--ns-sp-6);
}
@media (min-width: 900px) { .ns-certs { grid-template-columns: repeat(4, 1fr); gap: var(--ns-sp-4); } }
.ns-cert {
  margin: 0;
  background: #fff;
  border-radius: var(--ns-radius-lg);
  padding: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .28);
  border: 2px solid var(--ns-gold);
  transition: transform var(--ns-ease);
  text-align: center;
  display: flex; flex-direction: column;
}
.ns-cert:hover { transform: translateY(-4px) scale(1.02); }
.ns-cert img {
  width: 100%; aspect-ratio: 3/4; object-fit: contain;
  border-radius: var(--ns-radius-sm);
  background: #faf8f3;
  display: block;
}
.ns-cert figcaption {
  padding: 10px 6px 4px;
  font-size: 11.5px; font-weight: 700;
  color: var(--ns-ink);
  line-height: 1.45;
  letter-spacing: .2px;
  margin-top: auto;
}
.ns-certs__badges {
  display: grid; grid-template-columns: 1fr; gap: var(--ns-sp-3);
}
/* 3 box tren 1 hang (da bo box bao chi) */
@media (min-width: 700px) { .ns-certs__badges { grid-template-columns: repeat(3, 1fr); } }
.ns-cert-badge {
  display: flex; align-items: center; gap: 12px;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: var(--ns-radius-lg);
  padding: 14px;
  color: #fff !important;
}
a.ns-cert-badge:hover { background: rgba(255,255,255,.18); }
.ns-cert-badge__icon {
  flex: 0 0 44px; height: 44px;
  display: grid; place-items: center;
  background: var(--ns-gold);
  border-radius: 50%;
  font-size: 20px;
}
.ns-cert-badge strong { display: block; font-size: 13.5px; color: var(--ns-gold-light); }
.ns-cert-badge small { font-size: 12px; color: rgba(255,255,255,.85); line-height: 1.45; display: block; }

/* ============ FOOTER 4 CỘT — chuan hoa nen xanh dam thuong hieu ============ */
.ns-footer-wrap {
  background: linear-gradient(160deg, #16301c 0%, #1e4426 100%);
  margin-top: 48px;
}
.ns-footer-wrap .ns-container { max-width: var(--ns-container); margin-inline: auto; padding-inline: 20px; }
/* Logo footer cot 1 */
.ns-footer-logo-link { display: inline-block; margin-bottom: 12px; }
.ns-footer-logo {
  display: block;
  width: auto; height: 84px; max-width: 200px;
  object-fit: contain;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .35));
}
.ns-footer-cols {
  display: grid; gap: var(--ns-sp-6);
  grid-template-columns: 1fr;
  padding: var(--ns-sp-8) 0 var(--ns-sp-4);
}
@media (min-width: 768px) { .ns-footer-cols { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ns-footer-cols { grid-template-columns: 1.3fr 1fr 1fr 1.2fr; } }
.ns-footer-col h4 {
  color: var(--ns-gold-light) !important; font-size: 14px;
  text-transform: uppercase; letter-spacing: .5px;
  margin-bottom: var(--ns-sp-3);
}
.ns-footer-col ul { list-style: none; margin: 0; padding: 0; }
.ns-footer-col li { padding: 5px 0; font-size: 13.5px; }
/* Link footer ro rang tren nen xanh dam */
.ns-footer-wrap .ns-footer-cols a,
.ns-footer-wrap .ns-footer-cols a:visited {
  color: #d7e8db !important;
  text-decoration: none;
  transition: color var(--ns-ease), padding-left var(--ns-ease);
}
.ns-footer-wrap .ns-footer-cols a:hover {
  color: var(--ns-gold) !important;
  padding-left: 3px;
}
.ns-footer-col p { font-size: 13.5px; color: #b9cfc0; margin-bottom: 8px; line-height: 1.6; }
.ns-footer-col .ns-footer-hotline {
  display: inline-block; background: var(--ns-gold); color: var(--ns-ink) !important;
  font-weight: 800; font-size: 16px;
  padding: 10px 20px; border-radius: var(--ns-radius-full); margin-top: 6px;
  box-shadow: 0 4px 12px rgba(212, 169, 78, .35);
}
.ns-footer-wrap .ns-footer-cols .ns-footer-hotline:hover { color: var(--ns-ink) !important; padding-left: 20px; filter: brightness(1.06); }
/* Thanh copyright Flatsome dong bo mau toi */
.absolute-footer, html .absolute-footer.dark {
  background: #102315 !important;
  color: #8fae96;
  padding: 14px 0;
  font-size: 12.5px;
}
.absolute-footer .copyright-footer { color: #8fae96; }
/* Footer wrapper Flatsome trong suot (chi con copyright) */
.footer-wrapper { background: transparent; }
.site-info { text-align: center; font-size: 12.5px; padding: var(--ns-sp-4) 0; color: #8fae96; border-top: 1px solid rgba(255,255,255,.08); }

/* ============ SOCIAL NỔI BẬT ============ */
.ns-social-wrap { background: linear-gradient(180deg, #f5faf6, #fff); }
.ns-socials { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--ns-sp-3); }
@media (min-width: 640px) { .ns-socials { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .ns-socials { grid-template-columns: repeat(5, 1fr); } }
.ns-social {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px;
  padding: var(--ns-sp-6) var(--ns-sp-3);
  border-radius: var(--ns-radius-lg);
  color: #fff !important;
  box-shadow: var(--ns-shadow);
  transition: transform var(--ns-ease), box-shadow var(--ns-ease);
  position: relative; overflow: hidden;
}
.ns-social::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.25), transparent 55%);
}
.ns-social:hover { transform: translateY(-4px) scale(1.02); box-shadow: 0 14px 30px rgba(0,0,0,.22); }
.ns-social__glyph {
  width: 56px; height: 56px; border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(255,255,255,.22);
  font-size: 26px; font-weight: 800;
  z-index: 1;
}
.ns-social strong { font-size: 16px; z-index: 1; }
.ns-social small { font-size: 12px; opacity: .9; z-index: 1; }
.ns-social--facebook { background: linear-gradient(135deg, #1877f2, #0e5fcc); }
.ns-social--tiktok { background: linear-gradient(135deg, #2b2b2b, #000); }
.ns-social--tiktok .ns-social__glyph { background: rgba(255,255,255,.15); color: #25f4ee; text-shadow: 2px 2px 0 #fe2c55; }
.ns-social--zalo { background: linear-gradient(135deg, #0068ff, #0047b3); }
.ns-social--shopee { background: linear-gradient(135deg, #ff6633, #ee4d2d); }
.ns-social--youtube { background: linear-gradient(135deg, #ff4e45, #e60000); }

/* ============ GOOGLE MAP ============ */
.ns-map-wrap { background: #fff; }
.ns-map { display: grid; gap: var(--ns-sp-4); border-radius: var(--ns-radius-lg); overflow: hidden; }
@media (min-width: 900px) {
  .ns-map { grid-template-columns: 1fr 1.6fr; align-items: stretch; }
}
.ns-map__info {
  background: linear-gradient(160deg, var(--ns-primary-dark), var(--ns-primary));
  color: #fff;
  padding: var(--ns-sp-6);
  border-radius: var(--ns-radius-lg);
  display: flex; flex-direction: column; gap: 8px;
}
.ns-map__info h3 { color: #fff; font-size: 20px; margin-bottom: 4px; }
.ns-map__info p { color: rgba(255,255,255,.93); font-size: 14px; margin: 0; }
.ns-map__info .ns-map__address { font-weight: 700; font-size: 15px; }
.ns-map__info .ns-btn-primary { margin-top: auto; align-self: flex-start; }
.ns-map__frame {
  border-radius: var(--ns-radius-lg);
  overflow: hidden;
  min-height: 320px;
  box-shadow: var(--ns-shadow);
  border: 1px solid var(--ns-line);
}
.ns-map__frame iframe { width: 100%; height: 100%; min-height: 320px; border: 0; display: block; }

/* ============ TRANG CỬA HÀNG — chỉ hiển thị sản phẩm, full-width ============ */
/* An sidebar TOAN SITE (chi tiet san pham, checkout, lien he, bai viet...) */
body #secondary, body .widget-area { display: none !important; }
body .content-area { width: 100% !important; float: none !important; margin-right: 0 !important; margin-left: 0 !important; }
.post-type-archive-product .content-area,
.tax-product_cat .content-area,
.tax-product_tag .content-area {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
.post-type-archive-product .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header,
.post-type-archive-product .storefront-sorting,
.tax-product_cat .storefront-sorting {
  display: none !important;
}
.post-type-archive-product .site-main,
.tax-product_cat .site-main,
.tax-product_tag .site-main {
  padding-top: var(--ns-sp-5);
}

/* Phan trang gon dep — markup Flatsome (.nav-pagination .page-number) */
.woocommerce-pagination { text-align: center; margin: var(--ns-sp-6) 0 var(--ns-sp-4); }
ul.page-numbers.nav-pagination {
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
  list-style: none; margin: 0; padding: 0;
}
.nav-pagination > li { margin: 0 !important; border: 0 !important; }
.nav-pagination > li > .page-number {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 42px; height: 42px; padding: 0 13px;
  border-radius: var(--ns-radius-full);
  background: #fff;
  border: 1.5px solid var(--ns-line);
  color: var(--ns-ink) !important;
  font-weight: 700; font-size: 14px; line-height: 1;
  transition: all var(--ns-ease);
}
.nav-pagination > li > a.page-number:hover {
  border-color: var(--ns-primary);
  background: var(--ns-primary-light);
  color: var(--ns-primary-dark) !important;
  transform: translateY(-1px);
}
.nav-pagination > li > .page-number.current {
  background: linear-gradient(135deg, var(--ns-primary-dark), var(--ns-primary));
  color: #fff !important;
  border-color: transparent;
  box-shadow: 0 4px 12px rgba(31, 125, 44, .35);
}
.nav-pagination > li > .page-number.dots { border: 0; background: transparent; box-shadow: none; }
/* Fallback markup cu (Storefront) */
.woocommerce-pagination ul.page-numbers { border: 0 !important; }
.woocommerce-pagination ul.page-numbers li { border: 0 !important; }

/* ============ TRANG GIỚI THIỆU ============ */
.page-gioi-thieu .site-content { padding: 0 !important; }
.ns-about { --about-max: 1040px; }
.ns-about .ns-container { max-width: var(--about-max); margin: 0 auto; padding: 0 var(--ns-pad-x); }

.ns-about-hero {
  background:
    radial-gradient(1200px 400px at 80% -10%, rgba(212,169,78,.25), transparent 60%),
    linear-gradient(135deg, var(--ns-primary-dark) 0%, var(--ns-primary) 100%);
  color: #fff;
  padding: clamp(48px, 8vw, 96px) 0 clamp(40px, 6vw, 72px);
  text-align: center;
}
.ns-about-hero__kicker {
  display: inline-block;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: var(--ns-radius-full);
  padding: 6px 18px;
  font-size: 12.5px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  margin-bottom: 18px;
}
.ns-about-hero h1 { color: #fff; font-size: clamp(30px, 5vw, 46px); font-weight: 800; margin: 0 0 16px; }
.ns-about-hero__sub { max-width: 760px; margin: 0 auto 34px; font-size: 15.5px; line-height: 1.75; color: rgba(255,255,255,.92); }
.ns-about-hero__stats {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px;
  max-width: 760px; margin: 0 auto;
}
@media (min-width: 768px) { .ns-about-hero__stats { grid-template-columns: repeat(4, 1fr); } }
.ns-about-hero__stats > div {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: var(--ns-radius-lg);
  padding: 16px 10px;
}
.ns-about-hero__stats strong { display: block; font-size: 26px; font-weight: 800; color: var(--ns-gold-light); }
.ns-about-hero__stats span { font-size: 12.5px; opacity: .9; }

/* Chu Tam quote */
.ns-about-tam { background: #faf7ef; border-bottom: 1px solid var(--ns-line); padding: clamp(32px, 5vw, 56px) 0; }
.ns-about-tam__grid { display: flex; align-items: center; gap: 28px; }
.ns-about-tam__mark {
  flex: 0 0 auto;
  width: 92px; height: 92px; border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--ns-gold) 0%, #b8860b 100%);
  color: #fff; font-size: 44px; font-weight: 800;
  box-shadow: 0 10px 26px rgba(184,134,11,.35);
}
.ns-about-tam blockquote { margin: 0; border: 0; padding: 0; }
.ns-about-tam blockquote p { font-size: clamp(15.5px, 2vw, 18px); line-height: 1.8; color: var(--ns-ink); font-style: italic; margin: 0 0 10px; }
.ns-about-tam cite { font-style: normal; font-size: 13px; font-weight: 700; color: var(--ns-primary-dark); letter-spacing: .5px; }
@media (max-width: 640px) { .ns-about-tam__grid { flex-direction: column; text-align: center; } }

.ns-about-section { padding: clamp(40px, 6vw, 72px) 0; }
.ns-about-section--tint { background: var(--ns-bg-soft, #f5f8f5); }
.ns-about-h2 { font-size: clamp(22px, 3.4vw, 30px); font-weight: 800; color: var(--ns-primary-dark); margin: 0 0 28px; text-align: center; }
.ns-about-lead { text-align: center; max-width: 680px; margin: -14px auto 26px; color: var(--ns-gray); font-size: 14.5px; }

/* Timeline */
.ns-timeline { list-style: none; margin: 0 auto; padding: 0; max-width: 820px; position: relative; }
.ns-timeline::before {
  content: "";
  position: absolute; left: 74px; top: 8px; bottom: 8px;
  width: 3px; border-radius: 2px;
  background: linear-gradient(180deg, var(--ns-gold), var(--ns-primary));
}
.ns-timeline li { display: flex; gap: 26px; padding: 0 0 34px; position: relative; }
.ns-timeline li:last-child { padding-bottom: 0; }
.ns-timeline__year {
  flex: 0 0 96px;
  align-self: flex-start;
  text-align: center;
  background: var(--ns-primary-dark);
  color: var(--ns-gold-light);
  font-weight: 800; font-size: 13.5px;
  padding: 8px 6px;
  border-radius: var(--ns-radius-full);
  box-shadow: 0 4px 12px rgba(31,125,44,.3);
  position: relative; z-index: 1;
}
.ns-timeline__body {
  flex: 1;
  background: #fff;
  border: 1px solid var(--ns-line);
  border-radius: var(--ns-radius-lg);
  padding: 18px 22px;
  box-shadow: var(--ns-shadow-sm);
}
.ns-timeline__body h3 { margin: 0 0 8px; font-size: 16px; font-weight: 800; color: var(--ns-ink); }
.ns-timeline__body p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--ns-gray); }
@media (max-width: 640px) {
  .ns-timeline::before { left: 8px; }
  .ns-timeline li { flex-direction: column; gap: 10px; padding-left: 28px; }
  .ns-timeline__year { align-self: flex-start; }
}

/* Tam nhin / Su menh */
.ns-about-vm { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 768px) { .ns-about-vm { grid-template-columns: 1fr 1fr; gap: 26px; } }
.ns-about-vm__card {
  background: #fff;
  border: 1px solid var(--ns-line);
  border-top: 4px solid var(--ns-gold);
  border-radius: var(--ns-radius-lg);
  padding: 30px 28px;
  box-shadow: var(--ns-shadow);
}
.ns-about-vm__icon { font-size: 34px; display: block; margin-bottom: 12px; }
.ns-about-vm__card h2 { font-size: 20px; font-weight: 800; color: var(--ns-primary-dark); margin: 0 0 12px; text-transform: uppercase; letter-spacing: .5px; }
.ns-about-vm__card p { margin: 0; font-size: 14.5px; line-height: 1.8; color: var(--ns-gray); }

/* Why us */
.ns-about-why { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 640px) { .ns-about-why { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ns-about-why { grid-template-columns: repeat(4, 1fr); } }
.ns-about-why article {
  background: #fff;
  border: 1px solid var(--ns-line);
  border-radius: var(--ns-radius-lg);
  padding: 24px 20px;
  text-align: center;
  box-shadow: var(--ns-shadow-sm);
  transition: transform var(--ns-ease), box-shadow var(--ns-ease), border-color var(--ns-ease);
}
.ns-about-why article:hover { transform: translateY(-4px); border-color: var(--ns-primary); box-shadow: 0 12px 28px rgba(30,42,32,.12); }
.ns-about-why span { font-size: 34px; display: block; margin-bottom: 12px; }
.ns-about-why h3 { font-size: 15.5px; font-weight: 800; color: var(--ns-primary-dark); margin: 0 0 10px; }
.ns-about-why p { margin: 0; font-size: 13.5px; line-height: 1.7; color: var(--ns-gray); }

/* Benefits */
.ns-about-benefits {
  list-style: none; margin: 0 auto; padding: 0;
  max-width: 860px;
  display: grid; grid-template-columns: 1fr; gap: 12px;
}
@media (min-width: 640px) { .ns-about-benefits { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ns-about-benefits { grid-template-columns: repeat(3, 1fr); } }
.ns-about-benefits li {
  background: #fff;
  border: 1px solid var(--ns-line);
  border-left: 4px solid var(--ns-primary);
  border-radius: var(--ns-radius);
  padding: 14px 16px;
  font-size: 13.5px; font-weight: 600; color: var(--ns-ink);
  line-height: 1.6;
}

/* Locations */
.ns-about-locations { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 640px) { .ns-about-locations { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ns-about-locations { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .ns-about-locations--three { grid-template-columns: repeat(3, 1fr); max-width: 940px; margin-inline: auto; } }
.ns-about-locations article {
  background: #fff;
  border: 1px solid var(--ns-line);
  border-radius: var(--ns-radius-lg);
  padding: 22px 20px;
  box-shadow: var(--ns-shadow-sm);
  text-align: center;
}
.ns-about-locations span { font-size: 30px; display: block; margin-bottom: 10px; }
.ns-about-locations h3 { font-size: 15px; font-weight: 800; color: var(--ns-primary-dark); margin: 0 0 8px; }
.ns-about-locations p { margin: 0; font-size: 13px; line-height: 1.65; color: var(--ns-gray); }
.ns-about-loc-note { margin-top: 6px !important; font-weight: 700; color: var(--ns-primary) !important; }

/* CTA */
.ns-about-cta {
  background: linear-gradient(135deg, var(--ns-primary-dark) 0%, var(--ns-primary) 100%);
  color: #fff;
  text-align: center;
  padding: clamp(40px, 6vw, 64px) 0;
}
.ns-about-cta h2 { color: #fff; font-size: clamp(22px, 3.4vw, 30px); font-weight: 800; margin: 0 0 10px; }
.ns-about-cta p { color: rgba(255,255,255,.9); margin: 0 0 24px; font-size: 14.5px; }
.ns-about-cta__actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.ns-btn-gold {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--ns-gold); color: var(--ns-ink) !important;
  font-weight: 800; font-size: 15px;
  padding: 13px 28px; border-radius: var(--ns-radius-full);
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  transition: filter var(--ns-ease), transform var(--ns-ease);
}
.ns-btn-gold:hover { filter: brightness(1.07); transform: translateY(-2px); }
.ns-btn-light {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.14); color: #fff !important;
  border: 1px solid rgba(255,255,255,.4);
  font-weight: 700; font-size: 15px;
  padding: 13px 28px; border-radius: var(--ns-radius-full);
  transition: background var(--ns-ease);
}
.ns-btn-light:hover { background: rgba(255,255,255,.24); }

/* ============ TRANG TIN TỨC — card grid (tham khảo kojamart), không sidebar ============ */
.blog .site-content { padding-top: 0 !important; }
.ns-news { padding-bottom: var(--ns-sp-6); }
.ns-news .ns-container { max-width: var(--ns-container); margin: 0 auto; padding: 0 var(--ns-pad-x); }

.ns-news-hero {
  background: linear-gradient(135deg, var(--ns-primary-dark) 0%, var(--ns-primary) 100%);
  color: #fff;
  text-align: center;
  padding: clamp(34px, 5vw, 56px) 0;
  margin-bottom: var(--ns-sp-6);
}
.ns-news-hero h1 { color: #fff; font-size: clamp(24px, 4vw, 36px); font-weight: 800; margin: 0 0 10px; }
.ns-news-hero p { color: rgba(255,255,255,.9); max-width: 640px; margin: 0 auto; font-size: 14.5px; }
.ns-news-hero__back {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 14px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: var(--ns-radius-full);
  padding: 7px 16px;
  color: #fff !important;
  font-size: 13px; font-weight: 700;
  transition: background var(--ns-ease);
}
.ns-news-hero__back:hover { background: rgba(255,255,255,.26); }

/* Section theo danh muc */
.ns-news-section { margin-bottom: var(--ns-sp-7, 48px); }
.ns-news-section__head {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  border-bottom: 2px solid var(--ns-primary);
  padding-bottom: 10px;
  margin-bottom: var(--ns-sp-4);
}
.ns-news-section__head h2 {
  margin: 0;
  font-size: clamp(17px, 2.6vw, 22px);
  font-weight: 800;
  color: var(--ns-primary-dark);
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.ns-news-section__count {
  font-size: 11.5px; font-weight: 700;
  color: var(--ns-gray);
  background: var(--ns-bg-soft, #f0f5f0);
  border: 1px solid var(--ns-line);
  border-radius: var(--ns-radius-full);
  padding: 3px 10px;
}
.ns-news-section__all {
  flex: 0 0 auto;
  font-size: 13px; font-weight: 800;
  color: var(--ns-red) !important;
  white-space: nowrap;
}
.ns-news-section__all:hover { text-decoration: underline; }

.ns-news-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ns-sp-4);
}
@media (min-width: 640px) { .ns-news-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ns-news-grid { grid-template-columns: repeat(3, 1fr); gap: var(--ns-sp-5); } }

.ns-news-card {
  background: #fff;
  border: 1px solid var(--ns-line);
  border-radius: var(--ns-radius-lg);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform var(--ns-ease), box-shadow var(--ns-ease), border-color var(--ns-ease);
  margin: 0 !important;
}
.ns-news-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(30, 42, 32, .14);
  border-color: var(--ns-primary);
}
.ns-news-card__media {
  position: relative;
  display: block;
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, #eef5ef, #dcebde);
  overflow: hidden;
}
.ns-news-card__media img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .35s ease;
}
.ns-news-card:hover .ns-news-card__media img { transform: scale(1.05); }
.ns-news-card__placeholder {
  display: grid; place-items: center;
  width: 100%; height: 100%;
  font-size: 44px; opacity: .55;
}
.ns-news-card__date {
  position: absolute; top: 10px; left: 10px;
  background: var(--ns-gold);
  color: var(--ns-ink);
  border-radius: var(--ns-radius);
  padding: 6px 10px;
  text-align: center;
  line-height: 1.05;
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
}
.ns-news-card__date strong { display: block; font-size: 17px; font-weight: 800; }
.ns-news-card__date small { font-size: 10.5px; font-weight: 700; text-transform: uppercase; }
.ns-news-card__body {
  padding: var(--ns-sp-3) var(--ns-sp-4) var(--ns-sp-4);
  display: flex; flex-direction: column; flex: 1;
}
.ns-news-card__cat {
  align-self: flex-start;
  font-size: 11px; font-weight: 800;
  letter-spacing: .8px; text-transform: uppercase;
  color: var(--ns-primary) !important;
  margin-bottom: 6px;
  position: relative;
  padding-left: 14px;
}
.ns-news-card__cat::before {
  content: "";
  position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 8px; height: 8px; border-radius: 2px;
  background: linear-gradient(135deg, var(--ns-gold), var(--ns-primary));
}
/* Title: chu dam ro rang, doi mau khi hover */
.ns-news-card__title {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: -.1px;
}
.ns-news-card__title a {
  color: var(--ns-ink) !important;
  font-weight: 800 !important; /* Storefront ep a ve 300 */
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 3em;
  text-decoration: none;
  transition: color var(--ns-ease);
}
.ns-news-card:hover .ns-news-card__title a,
.ns-news-card__title a:hover {
  color: var(--ns-primary-dark) !important;
}
.ns-news-card__excerpt {
  margin: 0 0 14px;
  font-size: 13.5px; line-height: 1.7; color: var(--ns-gray);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.ns-news-card__more {
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 800; letter-spacing: .6px;
  color: var(--ns-primary-dark) !important;
  border: 1.5px solid var(--ns-primary);
  border-radius: var(--ns-radius-full);
  padding: 8px 18px;
  transition: background var(--ns-ease), color var(--ns-ease);
}
.ns-news-card__more:hover { background: var(--ns-primary); color: #fff !important; }

/* Phan trang tin tuc (paginate_links) */
.ns-news-pagination { text-align: center; margin-top: var(--ns-sp-6); }
.ns-news-pagination .page-numbers {
  display: inline-grid; place-items: center;
  min-width: 40px; height: 40px; padding: 0 12px; margin: 0 3px;
  border-radius: var(--ns-radius);
  background: #fff;
  border: 1px solid var(--ns-line);
  color: var(--ns-ink) !important;
  font-weight: 700; font-size: 14px;
}
.ns-news-pagination .page-numbers.current {
  background: var(--ns-primary); color: #fff !important; border-color: var(--ns-primary);
}
.ns-news-pagination a.page-numbers:hover { border-color: var(--ns-primary); color: var(--ns-primary) !important; }
.ns-news-pagination .page-numbers.dots { border: 0; background: transparent; }

/* ============ MISC ============ */
/* Fix loi font: button/input Storefront dung "Source Sans Pro" (da bo) -> ep ve font he thong Be Vietnam Pro */
button, input, select, textarea, .button {
  font-family: var(--ns-font) !important;
}
:focus-visible { outline: 2px solid var(--ns-primary); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
.home .storefront-breadcrumb { display: none; }
.button, button, input[type="button"], input[type="submit"] { border-radius: var(--ns-radius); }

/* ============ TRANG LIEN HE ============ */
.ns-contact-channels article a {
  color: var(--ns-primary-dark);
  font-weight: 800;
  text-decoration: none;
  word-break: break-word;
  transition: color var(--ns-ease);
}
.ns-contact-channels article a:hover { color: var(--ns-gold); }
/* Icon SVG thay emoji */
.ns-contact .ns-cicon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 54px; height: 54px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(31, 125, 44, .10), rgba(212, 169, 78, .22));
  color: var(--ns-primary-dark);
  margin: 0 0 12px;
}
.ns-contact .ns-about-benefits li { display: flex; align-items: flex-start; gap: 10px; }
.ns-contact .ns-about-benefits li svg { flex: 0 0 auto; margin-top: 2px; color: var(--ns-primary); }
.ns-contact .ns-btn-gold svg, .ns-contact .ns-btn-light svg { vertical-align: -3.5px; margin-right: 5px; }
/* Toi uu tuong phan chu trong box: title dam toi ro rang, doan van xam trung tinh */
.ns-contact .ns-about-locations h3 { color: var(--ns-ink); font-size: 16px; }
.ns-contact .ns-about-locations p { color: #49544d; font-size: 13.5px; }
.ns-contact .ns-about-loc-note { color: var(--ns-primary-dark) !important; }
.ns-contact .ns-contact-channels article a { font-size: 15px; }
.ns-contact .ns-about-benefits li { color: var(--ns-ink); font-size: 13.5px; line-height: 1.65; }

/* ============ FLATSOME HEADER — nen TRANG, nav xanh thuong hieu ============ */
#header .header-wrapper {
  background: #fff;
  box-shadow: 0 2px 14px rgba(30, 42, 32, .08);
}
#header .header-main { background: transparent; }
/* Thanh nav duoi giu dai xanh nhan dien thuong hieu */
#header .header-bottom {
  background: linear-gradient(135deg, var(--ns-primary-dark) 0%, var(--ns-primary) 100%);
  min-height: 44px;
}
/* Logo mau tren nen trang */
#logo img { max-height: 66px; width: auto; padding: 5px 0; }
/* Search: nen xam nhat + vien, focus vien xanh; nut vang giu nguyen */
.header-main .searchform { max-width: 400px; }
.header-main .searchform .search-field {
  border: 1.5px solid #dde6de; border-right: 0;
  border-radius: 24px 0 0 24px;
  height: 44px; padding-left: 18px;
  font-size: 13.5px; background: #f6f9f6; color: var(--ns-ink);
  box-shadow: none;
  transition: border-color var(--ns-ease), background var(--ns-ease);
}
.header-main .searchform .search-field:focus {
  background: #fff; border-color: var(--ns-primary);
  box-shadow: 0 0 0 3px rgba(44, 165, 58, .12);
}
.header-main .searchform .submit-button {
  border: 0; border-radius: 0 24px 24px 0;
  height: 44px; min-width: 52px;
  background: linear-gradient(135deg, var(--ns-gold), #c39a3e) !important;
  color: #1e2a20 !important;
}
/* Hotline: chu toi ro rang tren nen trang */
#header .ns-header-hotline { color: var(--ns-ink) !important; margin-right: 4px; }
#header .ns-header-hotline__icon {
  background: var(--ns-primary-light);
  border: 1px solid #d9e8db;
  color: var(--ns-primary-dark);
}
#header .ns-header-hotline__text small { color: #6b776d; opacity: 1; }
#header .ns-header-hotline__text strong { color: var(--ns-primary-dark); }
/* Icon mobile (menu, gio hang icon-only) mau toi tren nen trang */
#header .header-main .nav > li > a:not(.header-cart-link),
#header .header-main .mobile-nav > li > a {
  color: var(--ns-ink);
}
/* Gio hang: pill vang noi bat + badge do + icon, bat mat hon */
#header .cart-item > a.header-cart-link {
  background: linear-gradient(135deg, #e9c778, var(--ns-gold) 45%, #c39a3e);
  color: #1e2a20 !important;
  border: 1.5px solid rgba(255, 255, 255, .45);
  border-radius: 24px;
  padding: 9px 18px !important;
  font-weight: 800;
  display: inline-flex; align-items: center; gap: 8px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255,255,255,.4);
  transition: transform var(--ns-ease), box-shadow var(--ns-ease), filter var(--ns-ease);
}
#header .cart-item > a.header-cart-link:hover {
  transform: translateY(-1px) scale(1.03);
  filter: brightness(1.05);
  box-shadow: 0 6px 18px rgba(212, 169, 78, .55), inset 0 1px 0 rgba(255,255,255,.4);
}
#header .cart-item .header-cart-title { font-size: 13.5px; text-transform: none; font-weight: 800; }
#header .cart-item .header-cart-title::before { content: "\1F6D2"; margin-right: 7px; font-size: 16px; }
#header .cart-item .cart-icon { margin-left: 2px; }
#header .cart-item .cart-icon strong {
  background: #e02b2b; color: #fff;
  border: 2px solid #fff; border-radius: 50%;
  width: 24px; height: 24px; line-height: 20px;
  font-size: 12px; text-align: center; display: inline-block;
  box-shadow: 0 2px 6px rgba(224, 43, 43, .5);
}
#header .cart-item .cart-icon strong::after, #header .cart-item .cart-icon strong::before { display: none; }
/* Nut DANH MUC SAN PHAM (vertical menu) — nen vang thuong hieu (dong bo mau hover) */
.header-bottom .header-vertical-menu__opener {
  background: linear-gradient(135deg, var(--ns-gold), #c39a3e);
  color: #1e2a20; font-weight: 800; letter-spacing: .4px;
  border-radius: 6px 6px 0 0; padding: 10px 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
  transition: filter var(--ns-ease);
}
.header-bottom .header-vertical-menu__opener:hover { filter: brightness(1.08); background: linear-gradient(135deg, var(--ns-gold), #c39a3e); color: #1e2a20; }
.header-bottom .header-vertical-menu__title { font-size: 13.5px; }
/* Nav chinh */
.header-bottom .nav > li > a.nav-top-link {
  color: #fff; font-weight: 700; font-size: 13.5px;
  text-transform: none;
}
.header-bottom .nav > li > a.nav-top-link:hover,
.header-bottom .nav > li.active > a.nav-top-link { color: var(--ns-gold); }

/* ============ MEGA MENU THUONG HIEU — thu gon + icon moi muc ============ */
li.ns-brand-menu .nav-dropdown {
  border: 0; border-top: 3px solid var(--ns-gold);
  border-radius: 0 0 var(--ns-radius-lg) var(--ns-radius-lg);
  box-shadow: 0 18px 44px rgba(20, 48, 26, .24);
  padding: 14px 16px !important;
}
li.ns-brand-menu .nav-dropdown > .sub-menu,
li.ns-brand-menu ul.sub-menu {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 12px;
  margin: 0; padding: 0; list-style: none;
}
li.ns-brand-menu .sub-menu > li { margin: 0 !important; padding: 0 !important; width: auto !important; border: 0 !important; }
li.ns-brand-menu .sub-menu > li > a {
  display: flex !important; align-items: center; gap: 10px;
  padding: 8px 10px !important;
  border-radius: var(--ns-radius);
  font-size: 13.5px !important; font-weight: 600;
  color: var(--ns-ink) !important;
  text-transform: none !important; letter-spacing: 0 !important;
  transition: background var(--ns-ease), color var(--ns-ease), transform var(--ns-ease);
}
li.ns-brand-menu .sub-menu > li > a::before {
  content: "\1F33F"; /* 🌿 */
  flex: 0 0 32px; height: 32px;
  display: inline-grid; place-items: center;
  font-size: 15px;
  background: linear-gradient(135deg, #eef7ef, #fdf6e6);
  border: 1px solid var(--ns-line);
  border-radius: 50%;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
li.ns-brand-menu .sub-menu > li > a:hover {
  background: var(--ns-primary-light);
  color: var(--ns-primary-dark) !important;
  transform: translateX(2px);
}
li.ns-brand-menu .sub-menu > li > a:hover::before {
  background: linear-gradient(135deg, var(--ns-gold-light), var(--ns-gold));
  border-color: var(--ns-gold);
}
/* Trang chu: hero sat header (front-page.php khong co page-wrapper) */
.ns-home { padding-top: 0; }
.ns-home .ns-hero { margin-top: 0; }
/* Card san pham Flatsome: an nhan chuyen muc (UI cu khong co), gia mau DO */
.product-small .box-text .category { display: none; }
.product-small .box-text .price { color: var(--ns-red); font-weight: 800; }
.product-small .box-text .product-title a { color: var(--ns-ink); font-weight: 700; }

/* ============ CARD SAN PHAM FLATSOME — redesign v4.2 ============ */
/* Khung card: vien nhe, bo goc, hover noi len */
.products .product-small > .col-inner {
  background: #fff;
  border: 1px solid var(--ns-line);
  border-radius: var(--ns-radius-lg);
  overflow: hidden;
  display: flex; flex-direction: column;
  height: 100%;
  padding-bottom: 12px;
  transition: transform var(--ns-ease), box-shadow var(--ns-ease), border-color var(--ns-ease);
}
@media (min-width: 1024px) {
  .products .product-small > .col-inner:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(30, 42, 32, .14);
    border-color: var(--ns-primary);
  }
}
/* Anh: vien duoi mo phan tach */
.products .product-small .box-image { border-bottom: 1px solid var(--ns-line); }
/* Noi dung: can trai, gia ghim day de nut deu hang */
.products .product-small > .col-inner > .box { flex: 1 1 auto; display: flex; flex-direction: column; }
.products .product-small .box-text { padding: 10px 12px 0; text-align: left; flex: 1 1 auto; display: flex; flex-direction: column; }
.products .product-small .box-text .product-title {
  font-size: 13.5px !important; font-weight: 700; line-height: 1.45;
  margin-bottom: 4px;
}
/* Tieu de hien DAY DU ten san pham (khong cat 2 dong) */
.products .product-small .box-text .product-title a {
  display: block;
  min-height: 2.9em;
}
.products .product-small .box-text .price-wrapper { margin-top: auto; }
/* Gia mau DO, can GIUA box; gia khuyen mai pill do + gia goc gach ngang can doi */
.products .product-small .box-text .price {
  color: var(--ns-red) !important; font-weight: 800; font-size: 16px;
  display: flex; align-items: center; justify-content: center; gap: 7px; flex-wrap: wrap;
  text-align: center;
  line-height: 1.3;
}
/* .amount/bdi ke thua mau cha (Flatsome dat mau rieng lam gia bi den) —
   gia thuong ke thua DO tu .price, gia gach ke thua XAM tu del, gia sale ke thua DO tu ins */
.product-small .box-text .price .amount,
.product-small .box-text .price bdi { color: inherit !important; }
.products .product-small .box-text .price del {
  color: #9aa39c; font-weight: 500; font-size: 12px; opacity: 1;
  order: 2;
}
.products .product-small .box-text .price ins {
  text-decoration: none; color: var(--ns-red);
  background: #fdeeec;
  padding: 3px 9px; border-radius: 8px;
  font-size: 16.5px; font-weight: 800;
  box-shadow: inset 0 0 0 1px rgba(192, 57, 43, .18);
  order: 1;
}
/* Nut THEM VAO GIO — FIX 2 lop: Flatsome render <div.add-to-cart-button> BOC <a.button>.
   Wrapper chi lam layout (khong nen/bong), nut that la the <a> ben trong. */
.product-small .box-text div.add-to-cart-button {
  display: block; width: 100%;
  margin: 10px 0 0; padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border: 0 !important; border-radius: 0 !important;
  min-height: 0; height: auto; line-height: 0;
}
.product-small .box-text .add-to-cart-button a.button,
.product-small .box-text a.add_to_cart_button {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 44px; height: 44px;
  margin: 0 !important; padding: 0 12px !important;
  background: linear-gradient(135deg, #e9c778, var(--ns-gold) 45%, #c39a3e) !important;
  color: #1e2a20 !important;
  border: 0 !important; border-radius: var(--ns-radius) !important;
  font-weight: 800; font-size: 13px; line-height: 1.2;
  text-align: center; letter-spacing: .3px; cursor: pointer;
  text-transform: none;
  box-shadow: 0 3px 10px rgba(212, 169, 78, .35), inset 0 1px 0 rgba(255,255,255,.4);
  transition: transform var(--ns-ease), box-shadow var(--ns-ease), filter var(--ns-ease);
}
.product-small .box-text .add-to-cart-button a.button:hover,
.product-small .box-text a.add_to_cart_button:hover {
  filter: brightness(1.06); transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(212, 169, 78, .5), inset 0 1px 0 rgba(255,255,255,.4);
}
/* Nut MUA NGAY do — cung 44px, flex center nhu nut them gio */
.products .product-small .ns-btn-buy-now {
  display: flex; align-items: center; justify-content: center;
  min-height: 44px; height: 44px; padding: 0 12px;
  margin: 8px 12px 0;
  line-height: 1.2;
}
/* An payment icons mac dinh (Visa/PayPal/Stripe khong dung) */
.payment-icons, .absolute-footer .payment-icons { display: none !important; }

/* ============ TRANG SAN PHAM CHI TIET (Flatsome) ============ */
.product-info .product-title { font-weight: 800; color: var(--ns-ink); }
.product-info .price { color: var(--ns-primary-dark) !important; font-weight: 800; font-size: 1.4em; }
/* Nut "Them vao gio" giu gradient do theo UI da duyet (rule ben tren) */
.product-info .quantity .qty { border-radius: var(--ns-radius); }
.ns-btn-buy-now-single {
  display: block; width: 100%;
  margin-top: 10px; padding: 13px 18px;
  text-align: center;
  background: linear-gradient(135deg, var(--ns-gold), #c39a3e);
  color: #1e2a20 !important;
  font-weight: 800; font-size: 14.5px; letter-spacing: .4px;
  border-radius: var(--ns-radius);
  transition: transform var(--ns-ease), box-shadow var(--ns-ease);
}
.ns-btn-buy-now-single:hover { transform: translateY(-1px); box-shadow: 0 5px 16px rgba(212, 169, 78, .5); }
.woocommerce-tabs .nav-tabs > li.active > a { color: var(--ns-primary-dark) !important; border-color: var(--ns-primary) !important; }
.related-products-wrapper h3, .related.products > h2 { font-weight: 800; color: var(--ns-primary-dark); }
.product-info .breadcrumbs { font-weight: 600; }

/* ============ RESPONSIVE MOBILE (Flatsome) ============ */
@media (max-width: 549px) {
  /* Card san pham: nut gon hon */
  .ns-btn-buy-now { font-size: 11.5px; padding: 8px 10px; }
  /* Trang chi tiet: nut lien he full width */
  .ns-product-contact { flex-direction: column; }
  .ns-product-contact a { text-align: center; }
  /* Section title nho lai */
  .ns-section__title { font-size: 19px; }
  /* Coupon 1 cot */
  .ns-coupons { grid-template-columns: 1fr; }
  /* Footer cot xep doc, cach deu */
  .ns-footer-cols { grid-template-columns: 1fr; gap: 22px; }
  /* Chua cho thanh lien he co dinh day man */
  #wrapper { padding-bottom: 56px; }
  .absolute-footer { margin-bottom: 0; }
}
@media (max-width: 849px) {
  /* Hotline an tren tablet/mobile (Flatsome tu an html element o mobile header) */
  .ns-header-hotline { display: none; }
}

/* ============ v4.6.2 — FOOTER: ICON MANG XA HOI ============ */
/* Logo PNG trang (nen trong suot) dat trong hinh tron mau thuong hieu */
.ns-footer-social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.ns-footer-social__link {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  box-shadow: 0 3px 8px rgba(0, 0, 0, .28);
  transition: transform var(--ns-ease), filter var(--ns-ease);
}
.ns-footer-social__link img { width: 22px; height: 22px; display: block; }
.ns-footer-social__link:hover { transform: translateY(-3px); filter: brightness(1.12); }
.ns-footer-social__link--fb { background: #1877f2; }
.ns-footer-social__link--zalo { background: #0068ff; }
.ns-footer-social__link--tiktok { background: #010101; border: 1px solid rgba(255, 255, 255, .28); }
.ns-footer-social__link--shopee { background: #ee4d2d; }
/* Logo chung nhan BCT + DMCA trong footer (v4.7.0) */
.ns-footer-certs { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.ns-footer-certs a { display: inline-flex; background: #fff; border-radius: 6px; padding: 4px 8px; transition: transform var(--ns-ease); }
.ns-footer-certs a:hover { transform: translateY(-2px); }
.ns-footer-certs img { display: block; height: 40px; width: auto; }
.ns-footer-certs a:last-child img { height: 20px; }

/* ============ v4.6.9 — BAO CHI NOI VE NSVH ============ */
.ns-press { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ns-press__card {
  background: #fff;
  border: 1.5px solid var(--ns-line);
  border-radius: var(--ns-radius-lg);
  padding: 20px 22px;
  display: flex; flex-direction: column; gap: 8px;
  transition: transform var(--ns-ease), box-shadow var(--ns-ease), border-color var(--ns-ease);
}
.ns-press__card:hover { transform: translateY(-3px); box-shadow: var(--ns-shadow-md); border-color: var(--ns-primary); }
.ns-press__logo {
  display: inline-flex; align-items: center;
  height: 34px; margin-bottom: 2px;
}
.ns-press__logo img { max-height: 34px; width: auto; max-width: 130px; object-fit: contain; }
.ns-press__card h3 { font-size: 15.5px; font-weight: 800; line-height: 1.5; margin: 0; }
.ns-press__card h3 a { color: var(--ns-ink); }
.ns-press__card h3 a:hover { color: var(--ns-primary-dark); }
.ns-press__card p { font-size: 13.5px; color: #66716a; line-height: 1.65; margin: 0; flex: 1 1 auto; }
.ns-press__more {
  font-size: 13px; font-weight: 700; color: var(--ns-primary-dark);
  text-decoration: underline; text-underline-offset: 3px;
  align-self: flex-start;
}
.ns-press__more:hover { color: var(--ns-red); }
@media (max-width: 767px) { .ns-press { grid-template-columns: 1fr; } }

/* ============ v4.6.9 — TRANG GIOI THIEU: anh that tu site cu ============ */
.ns-about-vm__img { margin: -6px -6px 14px; border-radius: var(--ns-radius); overflow: hidden; }
.ns-about-vm__img img { width: 100%; aspect-ratio: 2/1; object-fit: cover; display: block; }
.ns-about-why__img {
  display: grid; place-items: center;
  width: 74px; height: 74px; margin: 0 auto 10px;
  background: #f2f8f3; border-radius: 50%;
  overflow: hidden;
}
.ns-about-why__img img { width: 46px; height: 46px; object-fit: contain; }
.ns-about-gift { display: grid; grid-template-columns: minmax(0, 340px) 1fr; gap: 26px; align-items: center; }
.ns-about-gift__photo { margin: 0; }
.ns-about-gift__photo img { width: 100%; border-radius: var(--ns-radius-lg); display: block; }
.ns-about-benefits li img { width: 34px; height: 34px; object-fit: contain; flex: 0 0 auto; vertical-align: middle; margin-right: 4px; }
@media (max-width: 767px) {
  .ns-about-gift { grid-template-columns: 1fr; }
  .ns-about-gift__photo { max-width: 320px; margin: 0 auto; }
}

/* ============ v4.6.6 — TRANG HOAN TAT DON HANG (order-received) ============ */
/* Hero xac nhan */
.ns-thankyou-hero {
  text-align: center;
  background: linear-gradient(180deg, #f2f9f3, #fff 85%);
  border: 1.5px solid #d9ead9;
  border-radius: var(--ns-radius-lg);
  padding: 34px 22px 28px;
  margin-bottom: 26px;
}
.ns-thankyou-hero__check {
  display: inline-grid; place-items: center;
  width: 64px; height: 64px; border-radius: 50%;
  background: linear-gradient(135deg, #35b545, var(--ns-primary-dark));
  color: #fff; font-size: 32px; font-weight: 800;
  box-shadow: 0 6px 18px rgba(39, 154, 54, .35);
  margin-bottom: 12px;
}
.ns-thankyou-hero h1 { font-size: clamp(22px, 3vw, 28px); font-weight: 800; color: var(--ns-primary-dark); margin: 0 0 6px; }
.ns-thankyou-hero__sub { font-size: 15px; color: #4a554c; margin: 0 0 20px; }
.ns-thankyou-hero__code {
  display: inline-block;
  background: #fdf6dd; border: 1px solid #ecd98f; border-radius: 8px;
  padding: 1px 10px; font-weight: 800; color: #8a6d1f;
}
/* Timeline 3 buoc */
.ns-thankyou-steps {
  display: flex; justify-content: center; gap: clamp(14px, 4vw, 44px);
  list-style: none; margin: 0 auto 18px; padding: 0;
  max-width: 640px;
}
.ns-thankyou-steps li { display: flex; flex-direction: column; align-items: center; gap: 3px; flex: 1; position: relative; }
.ns-thankyou-steps li::after {
  content: ""; position: absolute; top: 16px; left: calc(50% + 24px); right: calc(-50% + 24px);
  height: 2px; background: #d9e5da; border-radius: 1px;
}
.ns-thankyou-steps li:last-child::after { display: none; }
.ns-thankyou-steps__num {
  display: grid; place-items: center;
  width: 32px; height: 32px; border-radius: 50%;
  background: #eef3ee; color: #6a766c; font-weight: 800; font-size: 14px;
  border: 2px solid #d9e5da;
}
.ns-thankyou-steps li.is-done .ns-thankyou-steps__num {
  background: var(--ns-primary); color: #fff; border-color: var(--ns-primary);
}
.ns-thankyou-steps strong { font-size: 13.5px; color: var(--ns-ink); }
.ns-thankyou-steps small { font-size: 12px; color: #7b867d; }
.ns-thankyou-hero__note {
  display: inline-block;
  background: #fffbea; border: 1px dashed var(--ns-gold); border-radius: 8px;
  padding: 8px 16px; font-size: 13.5px; color: #7a6a35; margin: 0 0 18px;
}
.ns-thankyou-hero__cta { display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; }
/* 2 nut CTA can doi cung co (khong keo gian) */
.ns-thankyou-hero__cta a { flex: 0 0 auto; width: auto; margin: 0; }
.ns-btn-call {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  padding: 13px 28px; min-height: 0;
  background: linear-gradient(135deg, var(--ns-primary-dark), var(--ns-primary));
  color: #fff !important;
  font-weight: 800; font-size: 15px; line-height: 1.6;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(31, 125, 44, .3);
  transition: transform var(--ns-ease), filter var(--ns-ease);
}
.ns-btn-call:hover { filter: brightness(1.08); transform: translateY(-1px); color: #fff !important; }
/* Cot phai: card tom tat don */
.woocommerce-order-received .woocommerce-order .is-well {
  background: #f7faf7;
  border: 1.5px solid var(--ns-line);
  border-radius: var(--ns-radius-lg);
  padding: 22px !important;
  box-shadow: var(--ns-shadow-sm);
}
.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-size: 14.5px; line-height: 1.65; color: var(--ns-primary-dark);
}
ul.woocommerce-order-overview {
  display: grid; grid-template-columns: 1fr; gap: 8px;
  margin: 14px 0 0; padding: 0; list-style: none;
}
ul.woocommerce-order-overview li {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  background: #fff;
  border: 1px solid var(--ns-line); border-radius: 8px;
  padding: 9px 12px;
  font-size: 13px; color: #66716a;
  margin: 0 !important; float: none !important; width: auto !important;
  border-right: 1px solid var(--ns-line) !important;
}
ul.woocommerce-order-overview li strong { display: block; font-size: 13.5px; color: var(--ns-ink); text-align: right; }
ul.woocommerce-order-overview li.total strong { color: var(--ns-red); font-size: 15px; }
/* Cot trai: bang chi tiet don */
.woocommerce-order-received .woocommerce-order-details h2,
.woocommerce-order-received .woocommerce-customer-details h2 {
  font-size: 17px; font-weight: 800; color: var(--ns-primary-dark);
  padding-bottom: 10px; margin-bottom: 14px;
  border-bottom: 2px solid var(--ns-gold);
}
.woocommerce-order-received table.woocommerce-table--order-details {
  background: #fff;
  border: 1.5px solid var(--ns-line) !important;
  border-radius: var(--ns-radius-lg);
  overflow: hidden;
}
.woocommerce-order-received table.woocommerce-table--order-details th,
.woocommerce-order-received table.woocommerce-table--order-details td {
  border-color: var(--ns-line) !important;
  padding: 11px 14px !important;
  font-size: 14px;
}
.woocommerce-order-received table.woocommerce-table--order-details thead th {
  background: #f2f8f3; color: var(--ns-primary-dark);
  font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: .4px;
  border-bottom: 2px solid var(--ns-gold) !important;
}
.woocommerce-order-received table.woocommerce-table--order-details .woocommerce-table__product-name a { font-weight: 700; color: var(--ns-ink); }
.woocommerce-order-received table.woocommerce-table--order-details .woocommerce-table__product-name a:hover { color: var(--ns-primary-dark); }
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td { font-size: 15px; }
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child .amount { color: var(--ns-red); font-weight: 800; }
/* Ghi chu COD tren cot trai */
.woocommerce-order-received .woocommerce-order > .col > .col-inner > p:first-child,
.woocommerce-order-received .ns-cod-note {
  background: #fffbea; border: 1px dashed var(--ns-gold); border-radius: 8px;
  padding: 10px 14px; font-size: 13.5px; color: #7a6a35;
}
/* Dia chi khach */
.woocommerce-order-received .woocommerce-customer-details address {
  background: #fff;
  border: 1.5px solid var(--ns-line); border-radius: var(--ns-radius-lg);
  padding: 16px 18px;
  font-style: normal; line-height: 1.8; font-size: 14px;
}
/* Nut goi ho tro: XANH solid noi tren nen trang (kich thuoc dat o block CTA phia tren) */
/* Box thong tin nguoi nhan v2: hang co nhan + icon don sac */
.ns-customer-card__box {
  background: #fff;
  border: 1.5px solid var(--ns-line);
  border-radius: var(--ns-radius-lg);
  padding: 6px 18px;
}
.ns-customer-card__row {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 12px 0;
  border-bottom: 1px dashed var(--ns-line);
}
.ns-customer-card__row:last-child { border-bottom: 0; }
.ns-customer-card__icon {
  flex: 0 0 auto;
  display: grid; place-items: center;
  width: 34px; height: 34px; border-radius: 50%;
  background: #eef6ef;
  color: var(--ns-primary-dark);
  margin-top: 2px;
}
.ns-customer-card__body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ns-customer-card__body small {
  font-size: 11.5px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase;
  color: #8b968d;
}
.ns-customer-card__body strong { font-size: 14.5px; color: var(--ns-ink); font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
.ns-customer-card__body strong a { color: var(--ns-primary-dark); }
.ns-customer-card__body strong a:hover { color: var(--ns-red); }
.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--phone::before { content: "📞 "; }
.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--email::before { content: "✉️ "; }
@media (max-width: 549px) {
  .ns-thankyou-hero { padding: 26px 14px 22px; }
  .ns-thankyou-steps { gap: 8px; }
  .ns-thankyou-steps strong { font-size: 12px; }
  .ns-thankyou-steps small { font-size: 10.5px; }
  .ns-thankyou-steps li::after { left: calc(50% + 20px); right: calc(-50% + 20px); }
  .ns-thankyou-hero__cta a { width: 100%; }
}

/* ============ v4.6.3 — BAI MO TA DANH MUC: dan trang dep, dua xuong duoi san pham ============ */
/* Intro ngan gon phia tren danh sach */
.ns-cat-intro { max-width: 900px; margin: 2px auto 18px; text-align: center; padding: 0 10px; }
.ns-cat-intro p { display: inline; font-size: 14.5px; color: #5c6b5e; line-height: 1.7; margin: 0; }
.ns-cat-intro__more {
  display: inline-block; margin-left: 7px;
  font-size: 13.5px; font-weight: 700; color: var(--ns-primary-dark);
  text-decoration: underline; text-underline-offset: 3px; white-space: nowrap;
}
.ns-cat-intro__more:hover { color: var(--ns-red); }
/* Bai viet day du: card doc de chiu duoi luoi san pham */
.ns-cat-article {
  max-width: 920px; margin: 36px auto 12px;
  background: #fff;
  border: 1.5px solid var(--ns-line);
  border-radius: var(--ns-radius-lg);
  padding: 30px clamp(18px, 4vw, 44px) 26px;
  box-shadow: var(--ns-shadow-sm);
}
/* v4.7.2: bien the box dau trang (trang Khuyen mai) — full width bang layout san pham */
.ns-cat-article--top { max-width: none; margin: 4px auto 26px; padding-bottom: 22px; }
.ns-cat-article__head { text-align: center; margin-bottom: 22px; }
.ns-cat-article__kicker {
  display: inline-block; margin-bottom: 8px;
  font-size: 12px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase;
  color: #8a6d1f;
  background: linear-gradient(135deg, #fdf6dd, #f7ecc4);
  border: 1px solid #ecd98f; border-radius: 999px;
  padding: 5px 14px;
}
.ns-cat-article__head h2 { font-size: clamp(19px, 2.6vw, 24px); font-weight: 800; color: var(--ns-primary-dark); margin: 0; }
.ns-cat-article__head h2::after {
  content: ""; display: block; width: 64px; height: 3px;
  background: linear-gradient(90deg, var(--ns-gold), #e9c778);
  margin: 10px auto 0; border-radius: 2px;
}
.ns-cat-article__body { font-size: 15px; line-height: 1.85; color: #3c463e; }
.ns-cat-article__body p { margin: 0 0 14px; }
.ns-cat-article__body > p:first-child { font-size: 16.5px; color: var(--ns-ink); }
/* strong dau doan = tieu de muc con noi bat */
.ns-cat-article__body p > strong:first-child {
  display: block;
  font-size: 16.5px; font-weight: 800; color: var(--ns-primary-dark);
  margin: 24px 0 8px; padding-left: 12px;
  border-left: 3px solid var(--ns-gold);
  line-height: 1.5;
}
.ns-cat-article__body h2, .ns-cat-article__body h3 {
  font-size: 17px; font-weight: 800; color: var(--ns-primary-dark);
  margin: 26px 0 10px; padding-left: 12px; border-left: 3px solid var(--ns-gold);
}
.ns-cat-article__body a { color: var(--ns-primary-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ns-cat-article__body a:hover { color: var(--ns-red); }
.ns-cat-article__body ul, .ns-cat-article__body ol { margin: 0 0 14px 20px; }
.ns-cat-article__body li { margin-bottom: 6px; }
.ns-cat-article__body img { border-radius: var(--ns-radius); margin: 6px auto 14px; display: block; max-width: 100%; height: auto; }
/* Disclaimer nghieng cuoi bai -> note box vang nhat */
.ns-cat-article__body p > em:only-child {
  display: block;
  background: #fffbea; border: 1px dashed var(--ns-gold);
  border-radius: 8px; padding: 10px 14px;
  font-size: 13px; color: #7a6a35;
}
/* Thu gon bai dai + gradient fade + nut xem them */
.ns-cat-article__body.is-collapsed { max-height: 560px; overflow: hidden; position: relative; }
.ns-cat-article__body.is-collapsed::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 88%);
}
.ns-cat-article__toggle {
  display: block; margin: 16px auto 0;
  min-height: 40px; padding: 0 26px;
  background: #fff; color: var(--ns-primary-dark);
  border: 0; border-radius: 999px;
  box-shadow: inset 0 0 0 2px var(--ns-primary);
  font-family: var(--ns-font); font-size: 13px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase;
  cursor: pointer;
  transition: background var(--ns-ease), transform var(--ns-ease);
}
.ns-cat-article__toggle:hover { background: #f2f8f3; transform: translateY(-1px); }
@media (max-width: 549px) {
  .ns-cat-article { padding: 22px 16px 20px; margin-top: 26px; }
  .ns-cat-article__body { font-size: 14.5px; }
  .ns-cat-article__body.is-collapsed { max-height: 480px; }
}






