




/* Keep the desktop mega menu out of the header grid flow. */
@media (min-width: 1200px) {
  html body #header .hd-category[open] > .hd-category__panel {
    position: fixed !important;
    top: 117px !important;
    left: 50% !important;
    width: min(1280px, calc(100vw - 48px)) !important;
    max-width: min(1280px, calc(100vw - 48px)) !important;
    transform: translateX(-50%) !important;
  }
}
@media (min-width: 851px) and (max-width: 1199px) {
  html body #header .hd-category[open] > .hd-category__panel {
    position: fixed !important;
    top: 164px !important;
    left: 50% !important;
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    transform: translateX(-50%) !important;
  }
}
/* Keep the category panel out of header layout flow at every breakpoint. */
html body #header .hd-category[open] > .hd-category__panel { position: fixed !important; }

/*
 * In Hoang Gia — shared UI system
 * Loaded after the legacy theme layers to keep every template on one responsive system.
 */
:root {
  --hg-ink: #172b4d;
  --hg-navy: #123565;
  --hg-blue: #0861dc;
  --hg-blue-dark: #064fb5;
  --hg-gold: #e4a238;
  --hg-muted: #64748b;
  --hg-line: #e2e8f0;
  --hg-paper: #f5f7fb;
  --hg-card-shadow: 0 10px 30px rgba(18, 53, 101, .075);
  --hg-radius-sm: 8px;
  --hg-radius: 12px;
  --hg-radius-lg: 18px;
  --hg-content-width: 1280px;
  --hg-font: 'Inter', Arial, sans-serif;
}

html { scroll-behavior: smooth; }

/* Keep the six-step process row centered inside the page container. */
@media (min-width: 761px) {
  body.home ol.lp-process__grid {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

body {
  color: var(--hg-ink);
  background: #fff;
  font-family: var(--hg-font) !important;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body *:not(i):not(svg):not(path):not([class*="fa-"]) { font-family: var(--hg-font) !important; }
*, *::before, *::after { box-sizing: border-box; }
img, video, iframe { max-width: 100%; }
img { height: auto; }
a { color: var(--hg-blue); }
a:hover { color: var(--hg-blue-dark); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(8, 97, 220, .35); outline-offset: 2px; }

.container { width: min(var(--hg-content-width), calc(100% - 48px)); }
.site-page, .news-page, .sp-page, .hg-contact-page, .hg-wc-page { color: var(--hg-ink); }
.site-page, .news-page, .sp-page { background: var(--hg-paper); }
.page-layout { gap: 28px; }
.page-main, .page-sidebar .widget, .sp-content,
.woocommerce-cart form, .woocommerce-cart .cart_totals,
.woocommerce-checkout form.checkout, .woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-content {
  border-color: var(--hg-line);
  border-radius: var(--hg-radius-lg);
  box-shadow: var(--hg-card-shadow);
}
.page-main { padding: clamp(22px, 3.5vw, 42px); }
.page-content { color: #41516a; font-size: 16px; line-height: 1.8; }
.page-content h2, .page-content h3, .sp-content h2, .sp-content h3 { color: var(--hg-navy); line-height: 1.35; }
.page-title, .news-header__title, .sp-head__title, .spd-title { color: var(--hg-navy); }
.news-header__title, .sp-head__title { letter-spacing: -.035em; }

/* Shared controls. */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
input[type="url"], input[type="number"], input[type="password"], select, textarea {
  min-height: 44px;
  border: 1px solid #d6e0ec;
  border-radius: var(--hg-radius-sm);
  background-color: #fff;
  color: var(--hg-ink);
  font-size: 15px;
  line-height: 1.4;
}
textarea { min-height: 120px; padding-top: 11px; }
input::placeholder, textarea::placeholder { color: #8996a8; opacity: 1; }
input:focus, select:focus, textarea:focus { border-color: #7eafe8; box-shadow: 0 0 0 3px rgba(8, 97, 220, .11); }
.button, button.button, input[type="submit"], .woocommerce a.button,
.woocommerce button.button, .woocommerce input.button {
  min-height: 42px;
  border-radius: var(--hg-radius-sm);
  font-weight: 700;
}
.button:disabled, button:disabled, input:disabled { cursor: not-allowed; }

/* Shared header: one compact desktop row, with a dedicated mobile search row. */
#header.site-header {
  position: sticky;
  top: 0;
  z-index: 1100;
  background: #fff;
  box-shadow: 0 5px 18px rgba(18, 53, 101, .055);
}
#header .hd-top { border-bottom: 1px solid #edf1f6; background: #fff; }
#header .hd-top__inner {
  display: grid;
  grid-template-columns: 180px 156px minmax(220px, 1fr) auto;
  grid-template-areas: "brand category search actions";
  align-items: center;
  gap: 14px;
  width: min(1440px, calc(100% - 48px));
  min-height: 84px;
  margin: 0 auto;
  padding: 10px 0;
}
#header .hd-top__logo { grid-area: brand; min-width: 0; margin: 0; }
#header .hd-top__logo img { display: block !important; width: 180px; max-width: 100%; max-height: 54px; object-fit: contain; }
#header .hd-category { grid-area: category; min-width: 0; }
#header .hd-category > summary {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 14px;
  border-radius: 9px;
  background: var(--hg-blue);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}
#header .hd-category > summary:hover, #header .hd-category[open] > summary { background: var(--hg-blue-dark); }
#header .hd-category > summary .fa-bars { font-size: 18px; }
#header .hd-category__chevron { margin-left: auto; font-size: 11px; }
#header .hd-top__search {
  grid-area: search;
  display: flex !important;
  width: 100%;
  max-width: none;
  min-width: 0;
  height: 54px;
  overflow: hidden;
  border: 1px solid #d6dfea;
  border-radius: 9px;
  background: #fff;
  box-shadow: none;
}
#header .hd-top__search input[type="search"] {
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0 16px;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 15px;
  box-shadow: none;
}
#header .hd-top__search button { flex: 0 0 54px; width: 54px; min-height: 0; border: 0; border-radius: 0; background: var(--hg-blue); color: #fff; font-size: 18px; }
#header .hd-top__search button:hover { background: var(--hg-blue-dark); }
#header .hd-top__actions { grid-area: actions; display: flex; align-items: center; gap: 0; }
#header .hd-top__action { min-height: 42px; gap: 9px; padding: 0 12px; border: 0; border-left: 1px solid #e4e9f0; border-radius: 0; background: transparent; color: var(--hg-ink); box-shadow: none; text-decoration: none; }
#header .hd-top__action:first-child { border-left: 0; }
#header .hd-top__action-icon { flex: 0 0 30px; width: 30px; height: 30px; color: var(--hg-blue); font-size: 19px; }
#header .hd-top__action-icon img { width: 25px; height: 25px; object-fit: contain; }
#header .hd-top__action-text small { color: #6e7c90; font-size: 11px; font-weight: 500; } @media (min-width: 851px) { #header .hd-top__branch-phone { color: #52657f !important; font-size: 13px !important; font-weight: 650 !important; } #header .hd-top__branch-phone strong { color: var(--hg-navy) !important; font-size: 17px !important; font-weight: 800 !important; letter-spacing: .1px; } }
#header .hd-top__action-text strong { color: var(--hg-blue); font-size: 14px; font-weight: 750; white-space: nowrap; }
#header .hd-top__cart { width: 42px; height: 42px; flex: 0 0 42px; margin-left: 8px; border: 1px solid var(--hg-line); border-radius: 9px; background: #f8faff; color: var(--hg-navy); }
#header .hd-benefits { min-height: 46px; border-bottom: 1px solid #e8edf4; background: #fff; }
#header .hd-benefits__inner { display: flex; width: min(1320px, calc(100% - 48px)); min-height: 46px; align-items: center; justify-content: space-between; gap: 10px; margin: 0 auto; overflow: auto hidden; scrollbar-width: none; }
#header .hd-benefits__inner::-webkit-scrollbar { display: none; }
#header .hd-benefits__inner span { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; padding: 0 12px; color: #263750; font-size: 13px; font-weight: 600; white-space: nowrap; }
#header .hd-benefits__inner span:first-child { padding-left: 0; }
#header .hd-benefits__inner span + span { border-left: 1px solid #e6ebf2; }
#header .hd-benefits__inner i { color: var(--hg-blue); font-size: 15px; }

/* Refined category mega menu. */
#header .hd-category__panel { top: 140px !important; border: 1px solid var(--hg-line); border-radius: 16px; box-shadow: 0 22px 60px rgba(15, 35, 66, .24); }
#header .hd-category__sidebar { padding: 18px 12px; background: #fbfcfe; }
#header .hd-category__group { min-height: 46px; border-radius: 8px; font-size: 13px; }
#header .hd-category__content { padding: 20px; }
#header .hd-category__hero { min-height: 190px; border-radius: 12px; }
#header .hd-category__products { gap: 12px; }
#header .hd-category__product { border-radius: 10px; }

@media (min-width: 851px) and (max-width: 1199px) {
  #header .hd-top__inner {
    grid-template-columns: 164px minmax(0, 1fr) auto;
    grid-template-areas: "brand actions actions" "category search search";
    gap: 8px 14px;
    width: calc(100% - 40px);
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 0;
  }
  #header .hd-top__logo img { width: 160px; }
  #header .hd-top__actions { justify-self: end; }
  #header .hd-top__action { padding: 0 10px; }
  #header .hd-top__action-text strong { font-size: 13px; }
  #header .hd-top__search { height: 46px; }
  #header .hd-category > summary { min-height: 46px; }
  #header .hd-category__panel { top: 164px !important; }
  #header .hd-benefits__inner { display: flex !important; grid-template-columns: none !important; justify-content: flex-start !important; width: calc(100% - 40px) !important; overflow-x: auto !important; }
  #header .hd-benefits__inner span { flex: 0 0 auto !important; white-space: nowrap !important; }
}

@media (max-width: 850px) {
  #header.site-header { position: sticky; top: 0; }
  #header .hd-top__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    grid-template-areas: "brand category actions" "search search search" !important;
    gap: 8px 10px !important;
    width: calc(100% - 28px) !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 9px 0 10px !important;
  }
  #header .hd-top__logo { grid-area: brand !important; width: auto !important; min-width: 0 !important; }
  #header .hd-top__logo img { width: 148px !important; max-width: 100% !important; max-height: 42px !important; }
  #header .hd-category { grid-area: category !important; width: auto !important; min-width: 0 !important; }
  #header .hd-category > summary { min-height: 40px !important; gap: 8px; padding: 0 11px; border-radius: 8px; font-size: 13px; }
  #header .hd-category > summary .fa-bars { font-size: 15px; }
  #header .hd-category__chevron { display: none; }
  #header .hd-top__search { grid-area: search !important; grid-column: 1 / -1 !important; width: 100% !important; height: 44px !important; }
  #header .hd-top__search input[type="search"] { padding: 0 12px; font-size: 14px; }
  #header .hd-top__search button { flex-basis: 46px; width: 46px; font-size: 16px; }
  #header .hd-top__actions { grid-area: actions !important; display: flex !important; width: auto !important; justify-self: end !important; gap: 6px !important; }
  #header .hd-top__action { width: 38px; min-width: 38px; height: 38px; min-height: 38px; justify-content: center; padding: 0; border: 1px solid var(--hg-line); border-radius: 8px; }
  #header .hd-top__action + .hd-top__action { border-left: 1px solid var(--hg-line); }
  #header .hd-top__action-text { display: none; }
  #header .hd-top__action-icon { flex: 0 0 auto; width: auto; height: auto; font-size: 17px; }
  #header .hd-top__action-icon img { width: 22px; height: 22px; }
  #header .hd-top__cart { grid-column: auto !important; width: 38px !important; height: 38px !important; flex: 0 0 38px; margin: 0 !important; }
  #header .hd-benefits__inner { width: calc(100% - 28px); min-height: 40px; justify-content: flex-start; }
  #header .hd-benefits__inner span { gap: 7px; padding: 0 9px; font-size: 12px; }
  #header .hd-category__panel { top: 160px !important; width: calc(100vw - 24px) !important; height: min(74dvh, 620px); max-height: calc(100dvh - 172px) !important; }
  #header .hd-category__panels { max-height: calc(74dvh - 58px); }
}

@media (max-width: 560px) {
  body { font-size: 15px; }
  .container { width: calc(100% - 28px); }
  #header .hd-top__inner { width: calc(100% - 24px) !important; grid-template-columns: minmax(0, 1fr) auto auto !important; gap: 7px 8px !important; }
  #header .hd-top__logo img { width: 134px !important; max-height: 38px !important; }
  #header .hd-category > summary { min-height: 38px; gap: 7px; padding: 0 9px; font-size: 12px; }
  #header .hd-top__actions { gap: 5px; }
  #header .hd-top__zalo, #header .hd-top__quote { display: none; }
  #header .hd-top__action, #header .hd-top__cart { width: 36px; min-width: 36px; height: 36px; min-height: 36px; flex-basis: 36px; }
  #header .hd-top__search { height: 42px; }
  #header .hd-top__search input[type="search"] { font-size: 13px; }
  #header .hd-benefits__inner { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0 !important; width: 100% !important; min-height: 52px !important; overflow: visible !important; }
  #header .hd-benefits__inner span { display: flex; min-width: 0; min-height: 48px; justify-content: center; gap: 5px; padding: 4px 5px !important; font-size: 11px !important; line-height: 1.25; text-align: center; white-space: normal; }
  #header .hd-benefits__inner span:first-child { padding-left: 5px !important; }
  #header .hd-benefits__inner span:nth-child(n+4) { display: none !important; }
  #header .hd-benefits__inner span + span { border-left: 1px solid #e6ebf2; }
  #header .hd-category__panel { top: 166px !important; height: min(74dvh, 620px); max-height: calc(100dvh - 178px) !important; border-radius: 12px; }
  #header .hd-category__hero { min-height: 112px; }
  #header .hd-category__hero-copy strong { font-size: 18px; }
  #header .hd-category__content { padding: 10px; }
  #header .hd-category__services { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #header .hd-category__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.home .hg-home-banner__copy { width: 66%; padding: 16px; }
  body.home .hg-home-banner__title { font-size: 24px; line-height: 1.08; }
  body.home .hg-home-banner__visual { width: 41%; padding-right: 4px; }
}

/* Home modules use the same quiet page canvas and evenly weighted type scale. */
body.home { background: #f1f5fb !important; }
body.home .lp-partners--strip, body.home .hg-solutions, body.home .hg-home-projects, body.home .lp-blog { background: #f1f5fb !important; }
body.home .hg-home-section-head h2,
body.home .hg-solutions__heading h2 { color: var(--hg-navy) !important; font-size: clamp(23px, 2.4vw, 30px) !important; font-weight: 750 !important; letter-spacing: -.03em; }
body.home .hg-home-section-head p { color: var(--hg-muted); font-size: 14px; }
body.home .hg-home-project { border: 1px solid var(--hg-line); border-radius: 12px; box-shadow: 0 4px 16px rgba(18, 53, 101, .07); }
body.home .hg-home-project__title { padding: 11px 12px; font-size: 13px; }
body.home .hg-solution-card { overflow: hidden; border: 1px solid var(--hg-line) !important; border-radius: 12px !important; box-shadow: 0 4px 14px rgba(18, 53, 101, .06); }
body.home .hg-solution-card__title { color: var(--hg-ink); font-size: 13px !important; }
body.home .lp-process__step { border: 1px solid var(--hg-line); border-radius: 12px; box-shadow: 0 4px 16px rgba(18, 53, 101, .055); }
body.home .lp-process__step h4 { color: var(--hg-navy); font-size: 15px; }

/* Product, category and article grids share card borders, radii and content spacing. */
.woocommerce ul.products li.product, .hg-solution-card, .hg-home-project,
.woo-product-card, .news-card, .ncard, .post-card {
  border-color: var(--hg-line);
  border-radius: var(--hg-radius);
}
.woocommerce ul.products li.product:hover, .woo-product-card:hover { box-shadow: var(--hg-card-shadow); }
.woocommerce-loop-product__title { color: var(--hg-navy); line-height: 1.45; }
.woocommerce .woocommerce-breadcrumb, .woocommerce-breadcrumb { color: var(--hg-muted); font-size: 13px; }
.woocommerce div.product .product_title, .woocommerce-products-header__title { color: var(--hg-navy); letter-spacing: -.025em; }
.spd-title { font-size: clamp(22px, 2vw, 26px) !important; line-height: 1.3 !important; }
.spd-desc-content h2, .spd-desc-title { font-size: clamp(21px, 2vw, 25px) !important; line-height: 1.4 !important; }
.spd-desc-content h3 { font-size: clamp(18px, 1.8vw, 21px) !important; line-height: 1.4 !important; }
.spd-desc-content p, .spd-desc-content li { line-height: 1.75 !important; }
.news-card, .ncard, .post-card { box-shadow: 0 5px 18px rgba(18, 53, 101, .055); }

/* Floating contact controls stay reachable without covering mobile content. */
.hg-float-contact { z-index: 1000; }
@media (max-width: 560px) {
  .hg-float-contact { right: 12px !important; bottom: max(12px, env(safe-area-inset-bottom)) !important; }
  .hg-float__btn--zalo { width: 48px !important; min-width: 48px !important; height: 48px !important; }
  .page-main { padding: 20px 16px; }
  .page-content { font-size: 15px; line-height: 1.75; }
  .page-content img, .sp-content img { height: auto; }
  .lh2__hero-inner { padding-top: 38px; padding-bottom: 34px; }
  .lh2__main { padding-top: 32px; }
  .lh2__map-wrap { min-height: 300px; }
  .woocommerce-cart table.cart, .woocommerce-checkout form.checkout,
  .woocommerce-cart .cart_totals, .woocommerce-checkout #order_review { border-radius: 12px; }
  .woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 10px 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Service/category archives mirror the reference's hero, client strip and featured-service tabs. */
body.tax-product_cat .arc-header,
body.archive.woocommerce .arc-header {
  padding: 12px 0 24px !important;
  border: 0 !important;
  background: #eef4ff !important;
}
body.tax-product_cat .arc-header > .container,
body.archive.woocommerce .arc-header > .container { max-width: 1320px !important; }
body.tax-product_cat .arc-header__hero,
body.archive.woocommerce .arc-header__hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 30%);
  align-items: center;
  gap: clamp(18px, 3vw, 42px);
  min-height: 245px;
  padding: clamp(22px, 4vw, 48px);
  overflow: hidden;
  border: 1px solid #dce8fb;
  border-radius: 18px;
  background: linear-gradient(115deg, #fff 0%, #f8fbff 57%, #e4efff 100%);
  box-shadow: 0 12px 36px rgba(25, 72, 137, .07);
}
body.tax-product_cat .arc-header__hero::after,
body.archive.woocommerce .arc-header__hero::after {
  position: absolute;
  right: 19%;
  bottom: -90px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: rgba(8, 97, 220, .055);
  content: "";
  pointer-events: none;
}
body.tax-product_cat .arc-header__copy,
body.archive.woocommerce .arc-header__copy { position: relative; z-index: 1; }
body.tax-product_cat .arc-header__eyebrow,
body.archive.woocommerce .arc-header__eyebrow {
  display: block;
  margin-bottom: 8px;
  color: #1761c7;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
body.tax-product_cat .arc-header__title,
body.archive.woocommerce .arc-header__title {
  margin: 0;
  color: #122d52 !important;
  font-size: clamp(27px, 3vw, 38px) !important;
  font-weight: 850 !important;
  line-height: 1.17 !important;
}
body.tax-product_cat .arc-header__count,
body.archive.woocommerce .arc-header__count {
  display: inline-flex;
  align-items: center;
  margin-left: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #e8f1ff;
  color: #54708f !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  vertical-align: middle;
}
body.tax-product_cat .arc-header__intro,
body.archive.woocommerce .arc-header__intro {
  max-width: 660px;
  margin: 12px 0 17px;
  color: #596b82;
  font-size: 14px;
  line-height: 1.65;
}
body.tax-product_cat .arc-header__cta,
body.archive.woocommerce .arc-header__cta {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 10px;
  padding: 0 16px;
  border-radius: 8px;
  background: #075bd5;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}
body.tax-product_cat .arc-header__cta:hover,
body.archive.woocommerce .arc-header__cta:hover { background: #064fb5; color: #fff; }
body.tax-product_cat .arc-header__visual,
body.archive.woocommerce .arc-header__visual {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  max-width: 330px;
  aspect-ratio: 1.36 / 1;
  place-items: center;
  overflow: hidden;
  border: 5px solid rgba(255,255,255,.86);
  border-radius: 14px;
  background: #dceaff;
  box-shadow: 0 12px 25px rgba(25, 72, 137, .13);
}
body.tax-product_cat .arc-header__visual img,
body.archive.woocommerce .arc-header__visual img { width: 100%; height: 100%; object-fit: cover; }
body.tax-product_cat .arc-header__visual > span,
body.archive.woocommerce .arc-header__visual > span { color: #1761c7; font-size: 44px; }
body.tax-product_cat .arc-partners,
body.archive.woocommerce .arc-partners { padding: 18px 0 22px !important; background: #f7f9fd !important; }
body.tax-product_cat .arc-partners .lp-partners__grid,
body.archive.woocommerce .arc-partners .lp-partners__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
body.tax-product_cat .arc-partners .lp-partners__item,
body.archive.woocommerce .arc-partners .lp-partners__item { height: 55px; padding: 4px; border: 0; background: transparent; box-shadow: none; }
body.tax-product_cat .arc-partners .lp-partners__item img,
body.archive.woocommerce .arc-partners .lp-partners__item img { max-height: 46px; filter: grayscale(1); opacity: .5; }

body.tax-product_cat .hg-service-showcase,
body.archive.woocommerce .hg-service-showcase { padding: 30px 0 24px; background: #fff; }
body.tax-product_cat .hg-service-showcase .hg-solutions__heading,
body.archive.woocommerce .hg-service-showcase .hg-solutions__heading { max-width: none; margin: 0 0 15px; text-align: left; }
body.tax-product_cat .hg-service-showcase .hg-solutions__heading h2,
body.archive.woocommerce .hg-service-showcase .hg-solutions__heading h2 { margin-bottom: 4px; font-size: clamp(22px, 2.3vw, 28px); }
body.tax-product_cat .hg-service-showcase .hg-solutions__heading p,
body.archive.woocommerce .hg-service-showcase .hg-solutions__heading p { font-size: 13px; }
body.tax-product_cat .hg-service-showcase .hg-solution-tabs,
body.archive.woocommerce .hg-service-showcase .hg-solution-tabs {
  justify-content: flex-start;
  gap: 4px;
  margin: 0;
  padding: 4px 8px 0;
  border-bottom: 1px solid #075bd5;
  background: #f4f7fc;
  scrollbar-width: thin;
}
body.tax-product_cat .hg-service-showcase .hg-solution-tab,
body.archive.woocommerce .hg-service-showcase .hg-solution-tab { border-radius: 8px 8px 0 0; }
body.tax-product_cat .hg-service-showcase__panel,
body.archive.woocommerce .hg-service-showcase__panel { padding: 18px; border-radius: 0 0 14px 14px; background: #075bd5; }
body.tax-product_cat .hg-service-showcase__panel .hg-solution-panel__intro,
body.archive.woocommerce .hg-service-showcase__panel .hg-solution-panel__intro { max-width: 980px; color: rgba(255,255,255,.9); }
body.tax-product_cat .hg-service-showcase__panel .hg-solution-grid,
body.archive.woocommerce .hg-service-showcase__panel .hg-solution-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
body.tax-product_cat .hg-service-showcase__panel .hg-solution-card,
body.archive.woocommerce .hg-service-showcase__panel .hg-solution-card { border: 0; border-radius: 9px; }
body.tax-product_cat .hg-service-showcase__panel .hg-solution-card__image,
body.archive.woocommerce .hg-service-showcase__panel .hg-solution-card__image { aspect-ratio: 1.3 / 1; }
body.tax-product_cat .hg-service-showcase__links,
body.archive.woocommerce .hg-service-showcase__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
body.tax-product_cat .hg-service-showcase__links a,
body.archive.woocommerce .hg-service-showcase__links a { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.36); border-radius: 999px; color: #fff; font-size: 11px; font-weight: 700; text-decoration: none; }
body.tax-product_cat .hg-service-showcase__links a:hover,
body.archive.woocommerce .hg-service-showcase__links a:hover { background: rgba(255,255,255,.14); }

body.tax-product_cat .arc-products__heading,
body.archive.woocommerce .arc-products__heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin: 0 0 8px; }
body.tax-product_cat .arc-products__heading h2,
body.archive.woocommerce .arc-products__heading h2 { margin: 0; color: var(--hg-ink); font-size: clamp(22px, 2.2vw, 28px); font-weight: 850; line-height: 1.2; }
body.tax-product_cat .arc-products__heading .hg-eyebrow,
body.archive.woocommerce .arc-products__heading .hg-eyebrow { margin-bottom: 3px; }
body.tax-product_cat .arc-products__heading > span,
body.archive.woocommerce .arc-products__heading > span { color: var(--hg-muted); font-size: 12px; font-weight: 700; }

/* Article detail pages: editorial three-column layout inspired by the reference. */
body.single-post .sp-page--article {
  padding: 20px 0 64px;
  background: #fff;
}
body.single-post .sp-page--article > .container {
  width: min(var(--hg-content-width), calc(100% - 48px));
  max-width: var(--hg-content-width) !important;
}
body.single-post .sp-page--article .sp-bc {
  max-width: none !important;
  margin: 0 auto 22px !important;
  padding: 0;
  color: #718096;
  font-size: 13px;
  line-height: 1.5;
}
body.single-post .sp-page--article .sp-head--article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px 20px;
  max-width: none !important;
  margin: 0 auto 22px !important;
  padding: 0 0 17px;
  border-bottom: 1px solid #e5eaf1;
}
body.single-post .sp-head--article .sp-head__title {
  grid-column: 1 / -1;
  margin: 0;
  color: #101a2f;
  font-size: clamp(26px, 3vw, 34px) !important;
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1.22;
}
body.single-post .sp-head--article .sp-head__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin: 0;
  color: #687487;
  font-size: 13px;
  line-height: 1.5;
}
body.single-post .sp-head--article .sp-head__meta > span,
body.single-post .sp-head--article .sp-head__meta > a { white-space: nowrap; }
body.single-post .sp-head--article .sp-head__meta i { margin-right: 4px; color: #1764d8; }
body.single-post .sp-head--article .sp-head__cat {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  margin: 0;
  padding: 3px 9px;
  border: 1px solid #dce8fb;
  border-radius: 999px;
  background: #f3f7ff;
  color: #1558bf;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}
body.single-post .sp-head--article .sp-share {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
body.single-post .sp-share__label { margin-right: 2px; color: #748197; font-size: 12px; font-weight: 650; }
body.single-post .sp-share__button {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #dfe6ef;
  border-radius: 50%;
  background: #fff;
  color: #2463bf;
  font-size: 15px;
  text-decoration: none;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
body.single-post .sp-share__button:hover { transform: translateY(-1px); border-color: #9fc0f1; background: #f1f6ff; }
body.single-post .sp-share__button--zalo span { font-size: 10px; font-weight: 800; }
body.single-post .sp-share__status { color: #16834c; font-size: 11px; }

body.single-post .sp-grid--article {
  display: grid !important;
  grid-template-columns: minmax(210px, 250px) minmax(0, 1fr) minmax(220px, 276px) !important;
  align-items: start;
  gap: 24px;
  width: 100%;
  max-width: none !important;
  margin: 0 auto !important;
}
body.single-post .sp-grid--article > .sp-aside--article-toc { order: 1; }
body.single-post .sp-grid--article > .sp-main--article { order: 2; min-width: 0; }
body.single-post .sp-grid--article > .sp-aside--product { order: 3; }
body.single-post .sp-grid--article-no-toc { grid-template-columns: minmax(0, 1fr) minmax(220px, 276px) !important; }
body.single-post .sp-grid--article-no-toc > .sp-main--article { order: 1; }
body.single-post .sp-grid--article-no-toc > .sp-aside--product { order: 2; }
body.single-post .sp-grid--article .sp-aside--article-toc,
body.single-post .sp-grid--article .sp-aside--product {
  display: block !important;
  position: sticky;
  top: 105px;
  min-width: 0;
  align-self: start;
}
body.single-post .sp-aside--article-toc .hg-toc {
  position: relative !important;
  width: auto !important;
  margin: 0 !important;
  overflow: hidden;
  border: 1px solid #dce5f3 !important;
  border-radius: 10px !important;
  background: #edf2ff !important;
  box-shadow: none !important;
}
body.single-post .sp-aside--article-toc .hg-toc__float { display: none !important; }
body.single-post .sp-aside--article-toc .hg-toc__header {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  border-bottom: 1px solid #d9e1f0;
  color: #26364f;
  font-size: 14px;
  font-weight: 750;
}
body.single-post .sp-aside--article-toc .hg-toc__header span { gap: 8px; }
body.single-post .sp-aside--article-toc .hg-toc__header span i { color: #2765d8; }
body.single-post .sp-aside--article-toc .hg-toc__arrow { color: #687994; transform: rotate(180deg); }
body.single-post .sp-aside--article-toc .hg-toc.collapsed .hg-toc__arrow { transform: rotate(180deg); }
body.single-post .sp-aside--article-toc .hg-toc__body,
body.single-post .sp-aside--article-toc .hg-toc.collapsed .hg-toc__body {
  display: block !important;
  max-height: min(70vh, 660px);
  padding: 8px 10px 12px;
  overflow-y: auto;
  overflow-x: hidden;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.single-post .sp-aside--article-toc .hg-toc__list { margin: 0; padding: 0; }
body.single-post .sp-aside--article-toc .hg-toc__item { border: 0; }
body.single-post .sp-aside--article-toc .hg-toc__link {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 8px 7px;
  border-radius: 6px;
  color: #29384e;
  font-size: 13px;
  line-height: 1.45;
  text-decoration: none;
}
body.single-post .sp-aside--article-toc .hg-toc__num { flex: 0 0 auto; color: #245ec1; font-size: 12px; font-weight: 750; }
body.single-post .sp-aside--article-toc .hg-toc__item--h3 .hg-toc__link { padding-left: 18px; color: #56647a; font-size: 12px; }

body.single-post .sp-main--article,
body.single-post .sp-content--article {
  width: 100%;
  max-width: none !important;
  min-width: 0;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.single-post .sp-content--article {
  color: #202b3e;
  font-size: 16px;
  line-height: 1.72;
}
body.single-post .sp-content--article > *:first-child { margin-top: 0 !important; }
body.single-post .sp-content--article p { margin: 0 0 1.05em; }
body.single-post .sp-content--article h2 {
  display: block;
  margin: 1.75em 0 .65em;
  padding: 0 0 9px;
  border: 0;
  border-bottom: 1px solid #e4eaf2;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #101a2f;
  font-size: clamp(20px, 2.2vw, 25px);
  font-weight: 750;
  line-height: 1.35;
}
body.single-post .sp-content--article h2::before { display: none; }
body.single-post .sp-content--article h3 {
  display: block;
  margin: 1.35em 0 .55em;
  padding: 0;
  border: 0;
  background: transparent;
  color: #172b4d;
  font-size: 18px;
  font-weight: 720;
  line-height: 1.4;
}
body.single-post .sp-content--article h3::before { display: none; }
body.single-post .sp-content--article a { color: #155fc8; text-decoration: underline; text-underline-offset: 2px; }
body.single-post .sp-content--article figure,
body.single-post .sp-content--article .wp-caption,
body.single-post .sp-content--article .wp-block-image { max-width: 100%; margin: 20px auto; }
body.single-post .sp-content--article img { display: block; height: auto; margin: 0 auto; border-radius: 9px; }
body.single-post .sp-content--article figcaption,
body.single-post .sp-content--article .wp-caption-text { margin-top: 7px; color: #768397; font-size: 12px; line-height: 1.45; text-align: center; }
body.single-post .sp-content--article ul,
body.single-post .sp-content--article ol { margin: 0 0 1.2em; padding-left: 1.45em; }
body.single-post .sp-content--article li { margin: 0 0 .5em; padding-left: .15em; }
body.single-post .sp-content--article blockquote {
  margin: 20px 0;
  padding: 14px 17px;
  border-left: 4px solid #2870df;
  border-radius: 0 8px 8px 0;
  background: #f3f7fe;
  color: #31425c;
}
body.single-post .sp-content--article table {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 18px 0 22px;
  overflow-x: auto;
  border-collapse: collapse;
  font-size: 14px;
}
body.single-post .sp-content--article th,
body.single-post .sp-content--article td { min-width: 105px; padding: 10px 12px; border: 1px solid #dce4ef; text-align: left; vertical-align: top; }
body.single-post .sp-content--article th { background: #f0f5fc; color: #142747; font-weight: 700; }
body.single-post .sp-content--article iframe,
body.single-post .sp-content--article video { max-width: 100%; }

body.single-post .sp-aside--product > * { margin-bottom: 14px; }
body.single-post .sp-product-card,
body.single-post .sp-contact-card {
  overflow: hidden;
  border: 1px solid #e0e7f0;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(20, 48, 89, .055);
}
body.single-post .sp-product-card { padding: 0 12px 13px; }
body.single-post .sp-product-card__heading {
  margin: 0 -12px 11px;
  padding: 14px 13px 11px;
  border-bottom: 1px solid #edf1f6;
  color: #18243a;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.35;
}
body.single-post .sp-product-card__link { display: block; color: #18243a; text-decoration: none; }
body.single-post .sp-product-card__image {
  display: block;
  aspect-ratio: 16 / 10;
  margin-bottom: 10px;
  overflow: hidden;
  border-radius: 7px;
  background: #f2f5fa;
}
body.single-post .sp-product-card__image img { width: 100%; height: 100%; object-fit: cover; }
body.single-post .sp-product-card__link > strong { display: block; font-size: 14px; line-height: 1.42; }
body.single-post .sp-product-card__rating { margin: 7px 0; color: #ec9b26; font-size: 12px; letter-spacing: .03em; }
body.single-post .sp-product-card__rating small { color: #556274; font-size: 11px; letter-spacing: 0; }
body.single-post .sp-product-card__price {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 8px 0 11px;
  padding: 8px 9px;
  border-radius: 6px;
  background: #edf3ff;
  color: #65748a;
  font-size: 11px;
}
body.single-post .sp-product-card__price strong { color: #155fc8; font-size: 13px; text-align: right; }
body.single-post .sp-product-card__button {
  display: flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 6px;
  background: #075bd5;
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}
body.single-post .sp-contact-card { display: grid; gap: 8px; padding: 14px; background: #f7f9fd; }
body.single-post .sp-contact-card__eyebrow { color: #2262c3; font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
body.single-post .sp-contact-card > strong { margin-bottom: 3px; color: #18243a; font-size: 14px; line-height: 1.4; }
body.single-post .sp-contact-card > a { display: flex; align-items: center; gap: 8px; color: #225db8; font-size: 12px; font-weight: 700; text-decoration: none; }
/* Keep the global contact shortcuts from covering the narrow product column. */
body.single-post .hg-float-contact { right: 0 !important; gap: 8px !important; }
body.single-post .hg-float-contact .hg-float__btn,
body.single-post .hg-float-contact .hg-float__btn--call,
body.single-post .hg-float-contact .hg-float__btn--zalo,
body.single-post .hg-float-contact .hg-float__btn--messenger {
  position: relative;
  width: 52px !important;
  min-width: 52px !important;
  height: 52px !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 50% !important;
}
body.single-post .hg-float-contact .hg-float__label {
  position: absolute;
  top: 50%;
  right: calc(100% + 8px);
  display: block !important;
  width: max-content;
  padding: 7px 10px;
  border: 1px solid #dce5f3;
  border-radius: 7px;
  background: #fff;
  color: #1c2d47;
  box-shadow: 0 5px 16px rgba(20, 48, 89, .1);
  opacity: 0;
  pointer-events: none;
  transform: translate(5px, -50%);
  visibility: hidden;
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
body.single-post .hg-float-contact .hg-float__btn:hover .hg-float__label,
body.single-post .hg-float-contact .hg-float__btn:focus-visible .hg-float__label {
  opacity: 1;
  transform: translate(0, -50%);
  visibility: visible;
}
body.single-post .hg-float-contact .hg-float__num { display: block; }
body.single-post .sp-article-cta {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 28px 0 0;
  padding: 17px;
  border: 1px solid #d9e7fb;
  border-radius: 10px;
  background: #f3f7ff;
}
body.single-post .sp-article-cta__icon { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 50%; background: #e2edff; color: #1b60ce; }
body.single-post .sp-article-cta__copy { display: grid; gap: 3px; min-width: 0; }
body.single-post .sp-article-cta__copy strong { color: #172b4d; font-size: 14px; }
body.single-post .sp-article-cta__copy span { color: #68778d; font-size: 12px; line-height: 1.4; }
body.single-post .sp-article-cta__button { display: inline-flex; min-height: 38px; flex: 0 0 auto; align-items: center; gap: 7px; margin-left: auto; padding: 0 13px; border-radius: 6px; background: #075bd5; color: #fff; font-size: 12px; font-weight: 750; text-decoration: none; }
body.single-post .sp-author-card {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 30px 0 0;
  padding: 18px 20px;
  border: 1px solid #e1e7ef;
  border-radius: 10px;
  background: #fff;
}
body.single-post .sp-author-card__avatar,
body.single-post .sp-author-card__avatar img { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 50%; object-fit: cover; }
body.single-post .sp-author-card__avatar { display: grid; place-items: center; overflow: hidden; background: #eef3fb; }
body.single-post .sp-author-card > div:last-child { display: grid; gap: 2px; }
body.single-post .sp-author-card__eyebrow { color: #738197; font-size: 11px; }
body.single-post .sp-author-card strong { color: #172b4d; font-size: 15px; }
body.single-post .sp-author-card p { margin: 3px 0 0; color: #5c6a7d; font-size: 13px; line-height: 1.55; }
body.single-post .sp-related--articles { max-width: none !important; margin: 38px auto 0 !important; }
body.single-post .sp-related__top { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
body.single-post .sp-related__top > div { display: grid; gap: 2px; }
body.single-post .sp-related__eyebrow { color: #2463c4; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
body.single-post .sp-related--articles .sp-related__heading { margin: 0; color: #15233a; font-size: 23px; font-weight: 750; line-height: 1.3; }
body.single-post .sp-related__top > a { color: #1b60c8; font-size: 13px; font-weight: 700; text-decoration: none; }
body.single-post .sp-related--articles .sp-related__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
body.single-post .sp-related--articles .sp-related__card { overflow: hidden; border: 1px solid #e0e7f0; border-radius: 9px; background: #fff; box-shadow: 0 5px 18px rgba(20, 48, 89, .045); text-decoration: none; }
body.single-post .sp-related--articles .sp-related__img { aspect-ratio: 16 / 10; margin: 0; overflow: hidden; background: #f1f4f8; }
body.single-post .sp-related--articles .sp-related__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
body.single-post .sp-related--articles .sp-related__card:hover .sp-related__img img { transform: scale(1.035); }
body.single-post .sp-related--articles .sp-related__info { padding: 12px; }
body.single-post .sp-related--articles .sp-related__date { margin-bottom: 5px; color: #8591a3; font-size: 11px; }
body.single-post .sp-related--articles .sp-related__info h3 { display: -webkit-box; min-height: 42px; margin: 0 0 5px; overflow: hidden; color: #1a2b46; font-size: 14px; font-weight: 700; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
body.single-post .sp-related--articles .sp-related__info p { display: -webkit-box; margin: 0; overflow: hidden; color: #718096; font-size: 12px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

@media (max-width: 1050px) {
  body.single-post .sp-grid--article { grid-template-columns: minmax(190px, 230px) minmax(0, 1fr) minmax(200px, 240px) !important; gap: 16px; }
  body.single-post .sp-grid--article-no-toc { grid-template-columns: minmax(0, 1fr) minmax(200px, 240px) !important; }
  body.single-post .sp-content--article { font-size: 15px; }
}
@media (max-width: 900px) {
  body.single-post .sp-page--article > .container { width: min(var(--hg-content-width), calc(100% - 36px)); }
  body.single-post .sp-grid--article { grid-template-columns: minmax(0, 1fr) !important; gap: 18px; }
  body.single-post .sp-grid--article > .sp-aside--article-toc { order: 1; position: static; }
  body.single-post .sp-grid--article > .sp-main--article { order: 2; }
  body.single-post .sp-grid--article > .sp-aside--product { order: 3; position: static; }
  body.single-post .sp-grid--article-no-toc > .sp-main--article { order: 1; }
  body.single-post .sp-grid--article-no-toc > .sp-aside--product { order: 2; }
  body.single-post .sp-aside--article-toc .hg-toc__body,
  body.single-post .sp-aside--article-toc .hg-toc.collapsed .hg-toc__body { max-height: 320px; }
  body.single-post .sp-related--articles .sp-related__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  body.single-post .sp-page--article { padding: 12px 0 42px; }
  body.single-post .sp-page--article > .container { width: calc(100% - 28px); }
  body.single-post .sp-page--article .sp-bc { margin-bottom: 14px !important; font-size: 11px; }
  body.single-post .sp-page--article .sp-head--article { grid-template-columns: minmax(0, 1fr); gap: 9px; margin-bottom: 16px !important; padding-bottom: 13px; }
  body.single-post .sp-head--article .sp-head__title { font-size: 25px !important; line-height: 1.25; }
  body.single-post .sp-head--article .sp-head__meta { gap: 6px 11px; font-size: 11px; }
  body.single-post .sp-head--article .sp-share { justify-self: start; gap: 7px; }
  body.single-post .sp-share__button { width: 32px; height: 32px; font-size: 13px; }
  body.single-post .sp-share__label { font-size: 11px; }
  body.single-post .sp-grid--article { gap: 15px; }
  body.single-post .sp-aside--article-toc .hg-toc__header { min-height: 44px; padding: 11px 13px; font-size: 13px; }
  body.single-post .sp-aside--article-toc .hg-toc__body,
  body.single-post .sp-aside--article-toc .hg-toc.collapsed .hg-toc__body { max-height: 240px; padding: 5px 8px 8px; }
  body.single-post .sp-aside--article-toc .hg-toc__link { padding: 7px 5px; font-size: 12px; }
  body.single-post .sp-content--article { font-size: 15px; line-height: 1.68; }
  body.single-post .sp-content--article h2 { margin-top: 1.5em; font-size: 20px; }
  body.single-post .sp-content--article h3 { font-size: 17px; }
  body.single-post .sp-article-cta { flex-wrap: wrap; gap: 10px; padding: 14px; }
  body.single-post .sp-article-cta__icon { width: 34px; height: 34px; flex-basis: 34px; }
  body.single-post .sp-article-cta__copy { flex: 1 1 calc(100% - 48px); }
  body.single-post .sp-article-cta__copy strong { font-size: 13px; }
  body.single-post .sp-article-cta__copy span { font-size: 11px; }
  body.single-post .sp-article-cta__button { min-height: 35px; margin-left: 44px; }
  body.single-post .sp-author-card { align-items: flex-start; gap: 11px; margin-top: 22px; padding: 14px; }
  body.single-post .sp-author-card__avatar,
  body.single-post .sp-author-card__avatar img { width: 48px; height: 48px; flex-basis: 48px; }
  body.single-post .sp-author-card p { font-size: 12px; }
  body.single-post .sp-related--articles { margin-top: 28px !important; }
  body.single-post .sp-related--articles .sp-related__list { gap: 9px; }
  body.single-post .sp-related--articles .sp-related__info { padding: 9px; }
  body.single-post .sp-related--articles .sp-related__info h3 { min-height: 36px; font-size: 12px; }
  body.single-post .sp-related--articles .sp-related__info p { font-size: 11px; }
  body.single-post .sp-related--articles .sp-related__heading { font-size: 20px; }
  body.single-post .sp-related__top > a { font-size: 11px; }
}

@media (max-width: 900px) {
  body.tax-product_cat .arc-header__hero,
  body.archive.woocommerce .arc-header__hero { grid-template-columns: minmax(0, 1fr) minmax(180px, 30%); }
  body.tax-product_cat .hg-service-showcase__panel .hg-solution-grid,
  body.archive.woocommerce .hg-service-showcase__panel .hg-solution-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.tax-product_cat .arc-partners .lp-partners__grid,
  body.archive.woocommerce .arc-partners .lp-partners__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  body.tax-product_cat .arc-header,
  body.archive.woocommerce .arc-header { padding: 8px 0 16px !important; }
  body.tax-product_cat .arc-header__hero,
  body.archive.woocommerce .arc-header__hero { grid-template-columns: minmax(0, 1fr) 82px; gap: 10px; min-height: 0; padding: 18px 15px; border-radius: 13px; }
  body.tax-product_cat .arc-header__eyebrow,
  body.archive.woocommerce .arc-header__eyebrow { margin-bottom: 5px; font-size: 9px; }
  body.tax-product_cat .arc-header__title,
  body.archive.woocommerce .arc-header__title { font-size: 22px !important; }
  body.tax-product_cat .arc-header__count,
  body.archive.woocommerce .arc-header__count { display: block; width: max-content; margin: 7px 0 0; padding: 3px 7px; font-size: 10px !important; }
  body.tax-product_cat .arc-header__intro,
  body.archive.woocommerce .arc-header__intro { display: -webkit-box; margin: 8px 0 10px; overflow: hidden; font-size: 11px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  body.tax-product_cat .arc-header__cta,
  body.archive.woocommerce .arc-header__cta { min-height: 34px; gap: 6px; padding: 0 9px; font-size: 10px; }
  body.tax-product_cat .arc-header__visual,
  body.archive.woocommerce .arc-header__visual { width: 82px; aspect-ratio: 1; border-width: 3px; border-radius: 10px; }
  body.tax-product_cat .arc-partners,
  body.archive.woocommerce .arc-partners { padding: 10px 0 12px !important; }
  body.tax-product_cat .arc-partners .lp-partners__grid,
  body.archive.woocommerce .arc-partners .lp-partners__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
  body.tax-product_cat .arc-partners .lp-partners__item,
  body.archive.woocommerce .arc-partners .lp-partners__item { height: 42px; }
  body.tax-product_cat .arc-partners .lp-partners__item img,
  body.archive.woocommerce .arc-partners .lp-partners__item img { max-height: 34px; }
  body.tax-product_cat .hg-service-showcase,
  body.archive.woocommerce .hg-service-showcase { padding: 22px 0 16px; }
  body.tax-product_cat .hg-service-showcase .hg-solutions__heading,
  body.archive.woocommerce .hg-service-showcase .hg-solutions__heading { margin-bottom: 10px; }
  body.tax-product_cat .hg-service-showcase .hg-solution-tabs,
  body.archive.woocommerce .hg-service-showcase .hg-solution-tabs { gap: 2px; padding: 4px 5px 0; }
  body.tax-product_cat .hg-service-showcase .hg-solution-tab,
  body.archive.woocommerce .hg-service-showcase .hg-solution-tab { padding: 9px 11px; font-size: 11px; }
  body.tax-product_cat .hg-service-showcase__panel,
  body.archive.woocommerce .hg-service-showcase__panel { padding: 10px; border-radius: 0 0 10px 10px; }
  body.tax-product_cat .hg-service-showcase__panel .hg-solution-grid,
  body.archive.woocommerce .hg-service-showcase__panel .hg-solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  body.tax-product_cat .hg-service-showcase__panel .hg-solution-card__body,
  body.archive.woocommerce .hg-service-showcase__panel .hg-solution-card__body { padding: 9px; }
  body.tax-product_cat .hg-service-showcase__panel .hg-solution-card__title,
  body.archive.woocommerce .hg-service-showcase__panel .hg-solution-card__title { min-height: 35px; font-size: 11px; }
  body.tax-product_cat .hg-service-showcase__panel .hg-solution-card__price,
  body.archive.woocommerce .hg-service-showcase__panel .hg-solution-card__price { font-size: 10px; }
  body.tax-product_cat .hg-service-showcase__links,
  body.archive.woocommerce .hg-service-showcase__links { gap: 5px; margin-top: 9px; }
  body.tax-product_cat .hg-service-showcase__links a,
  body.archive.woocommerce .hg-service-showcase__links a { padding: 6px 8px; font-size: 10px; }
  body.tax-product_cat .arc-products__heading,
  body.archive.woocommerce .arc-products__heading { margin-bottom: 4px; }
  body.tax-product_cat .arc-products__heading > span,
  body.archive.woocommerce .arc-products__heading > span { font-size: 10px; }
}


/* Hoang Gia homepage finish: consistent color, type scale and responsive sections. */
@media (min-width:851px){#header .hd-top__inner,#header .hd-benefits__inner{width:min(var(--hg-content-width),calc(100% - 48px))!important}}
body.home{background:#fff!important;color:var(--hg-ink)}
body.home .lp-hero.hg-home-banners{width:min(var(--hg-content-width),calc(100% - 48px))!important;height:clamp(280px,27vw,360px)!important;max-height:360px!important;margin:18px auto 0!important;overflow:hidden;border:1px solid rgba(18,53,101,.08);border-radius:16px;background:var(--hg-paper)!important;box-shadow:0 12px 32px rgba(18,53,101,.09)}
body.home .hg-home-banners .lp-hero__slide{gap:12px}
body.home .hg-home-banner{border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
body.home .hg-home-banner--blue{background:linear-gradient(125deg,#0753bc,#0874df)!important}
body.home .hg-home-banner--gold{background:linear-gradient(125deg,#fff3c7,#f2d078)!important;color:var(--hg-navy)!important}
body.home .hg-home-banner--gold:hover{color:var(--hg-navy)!important}
body.home .hg-home-banner__copy{width:57%;padding:clamp(20px,2.4vw,36px)}
body.home .hg-home-banner__eyebrow{margin-bottom:9px;font-size:11px;letter-spacing:.075em}
body.home .hg-home-banner__title{font-size:clamp(25px,2.7vw,39px)!important;font-weight:850;letter-spacing:-.035em;line-height:1.08}
body.home .hg-home-banner--blue .hg-home-banner__title strong{color:#ffd66b}
body.home .hg-home-banner--gold .hg-home-banner__title strong{color:var(--hg-blue-dark)}
body.home .hg-home-banner__desc{max-width:290px;margin-top:11px;font-size:14px;font-weight:550;line-height:1.5}
body.home .hg-home-banner__cta{min-height:40px;margin-top:16px;padding:0 15px;border-radius:8px;font-size:13px;font-weight:750;box-shadow:0 3px 10px rgba(5,44,104,.12)}
body.home .hg-home-banner--gold .hg-home-banner__cta{background:var(--hg-blue)}
body.home .hg-home-banner__visual{width:47%;padding:14px 14px 14px 0}
body.home .hg-home-banner__visual::before{inset:12% 0 12% 7%;border-radius:20px 0 0 20px;background:rgba(255,255,255,.2)}
body.home .hg-home-banner__visual img{border-radius:10px 0 0 10px;filter:drop-shadow(0 10px 16px rgba(13,37,72,.17))}
body.home .lp-partners--strip{padding:22px 0 12px!important;background:#f2f6fc!important}
body.home .lp-partners--strip .lp-partners__grid{width:min(var(--hg-content-width),calc(100% - 48px));min-height:72px;gap:clamp(10px,1.8vw,24px)}
body.home .lp-partners--strip .lp-partners__item{display:grid;height:64px;place-items:center;padding:8px 10px;border:1px solid #e7edf5;border-radius:10px;background:#fff;box-shadow:0 3px 10px rgba(18,53,101,.035)}
body.home .lp-partners--strip .lp-partners__item img{max-width:100%;max-height:46px;filter:none!important;opacity:1!important;object-fit:contain}
body.home .hg-solutions{padding:34px 0 46px!important;background:#fff!important}
body.home .hg-solutions__heading{margin-bottom:22px!important}
body.home .hg-solutions__heading .hg-eyebrow{display:inline-flex;margin-bottom:7px;color:var(--hg-blue);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body.home .hg-solutions__heading h2,body.home .hg-home-section-head h2,body.home .hg-home-projects__heading h2,body.home .lp-blog .lp-section-head h2{margin:0 0 6px!important;color:var(--hg-navy)!important;font-size:clamp(25px,2.4vw,32px)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1.22!important}
body.home .hg-solutions__heading p,body.home .hg-home-section-head p,body.home .hg-home-projects__heading p,body.home .lp-blog .lp-section-head p{margin:0!important;color:var(--hg-muted)!important;font-size:15px!important;font-weight:450;line-height:1.55!important}
body.home .hg-solution-tabs{gap:6px!important;padding:0 0 10px!important;overflow-x:auto;border-bottom:1px solid var(--hg-line);border-radius:0;background:#fff!important;scrollbar-width:thin}
body.home .hg-solution-tab{flex:0 0 auto;min-height:42px;padding:9px 14px!important;border:1px solid #e4ebf4!important;border-radius:8px!important;background:#f7f9fc!important;color:#41516a!important;font-size:13px!important;font-weight:650!important;line-height:1.3;white-space:nowrap}
body.home .hg-solution-tab.is-active{border-color:var(--hg-blue)!important;background:var(--hg-blue)!important;color:#fff!important;box-shadow:0 4px 12px rgba(8,97,220,.16)!important}
body.home .hg-solution-panel{padding:16px!important;border:1px solid var(--hg-line);border-top:0;border-radius:0 0 14px 14px;background:#f5f8fd!important}
body.home .hg-solution-feature{grid-template-columns:minmax(180px,.85fr) minmax(0,4.15fr);gap:14px}
body.home .hg-solution-panel__intro{align-items:flex-start;padding:16px!important;border:1px solid #e2eaf5;background:#fff;color:#53647c!important;font-size:14px!important;font-weight:450;line-height:1.65}
body.home .hg-solution-grid{gap:12px!important}
body.home .hg-solution-card{overflow:hidden;border:1px solid #e1e8f1!important;border-radius:10px!important;background:#fff;box-shadow:0 4px 12px rgba(18,53,101,.045);transition:transform .18s,box-shadow .18s,border-color .18s}
body.home .hg-solution-card:hover{transform:translateY(-2px);border-color:#b8d1f5!important;box-shadow:0 10px 22px rgba(18,53,101,.1)}
body.home .hg-solution-card__image{aspect-ratio:1.28/1!important;background:#f3f6fa!important}
body.home .hg-solution-card__body{padding:12px!important}
body.home .hg-solution-card__title{min-height:40px!important;color:var(--hg-ink);font-size:13px!important;font-weight:700;line-height:1.45}
body.home .hg-solution-card__price{color:var(--hg-blue-dark);font-size:12px!important;font-weight:700}
body.home .hg-solution-card__more{color:var(--hg-blue);font-size:11px!important;font-weight:700}
body.home .hg-solutions__more a{min-height:40px;padding:0 15px;border:1px solid #c7d9f3;border-radius:8px;background:#fff;color:var(--hg-blue-dark);font-size:13px;font-weight:700}
body.home .hg-home-projects{padding:44px 0 50px;background:#edf3fc!important}
body.home .hg-home-projects__heading{margin-bottom:23px}
body.home .hg-home-projects__marquee{margin:12px 0}
body.home .hg-home-project{border:1px solid #e1e8f1;border-radius:12px;box-shadow:0 5px 18px rgba(18,53,101,.075)}
body.home .hg-home-project__image{background:#f4f6fa}
body.home .hg-home-project__title{min-height:48px;padding:11px 14px;color:var(--hg-ink);font-size:13px;font-weight:650}
body.home .hg-home-videos{padding:46px 0 50px;background:#fff}
body.home .hg-home-section-head{margin-bottom:24px}
body.home .hg-home-videos__grid{gap:18px}
body.home .hg-home-video{border:1px solid var(--hg-line);border-radius:12px;box-shadow:0 6px 20px rgba(18,53,101,.08)}
body.home .hg-home-video video{background:#0e1d32}
body.home .hg-home-video figcaption{padding:13px 15px;color:var(--hg-ink);font-size:14px;font-weight:700}
body.home .lp-process{padding:46px 0 50px!important;background:#f5f8fd!important}
body.home .lp-process .hg-home-section-head{margin-bottom:28px!important}
body.home .lp-process__grid{gap:14px!important}
body.home .lp-process__step{min-width:0;padding:18px 14px!important;border:1px solid var(--hg-line)!important;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(18,53,101,.045)}
body.home .lp-process__step h4{color:var(--hg-navy)!important;font-size:15px!important;font-weight:750;line-height:1.4}
body.home .lp-process__step p{color:var(--hg-muted)!important;font-size:13px!important;line-height:1.55}
body.home .lp-process__icon{color:var(--hg-blue)!important}
body.home .lp-process__num{background:var(--hg-blue)!important}
body.home .lp-blog{padding:46px 0 52px!important;background:#fff!important}
body.home .lp-blog .lp-section-head{margin-bottom:24px;text-align:center}
body.home .lp-blog__grid{gap:16px!important}
body.home .lp-blog__card{overflow:hidden;border:1px solid var(--hg-line)!important;border-radius:12px!important;background:#fff;box-shadow:0 5px 18px rgba(18,53,101,.06);text-decoration:none}
body.home .lp-blog__img{overflow:hidden;background:#f1f5fa}
body.home .lp-blog__img img{display:block;width:100%;aspect-ratio:1.5/1;object-fit:cover}
body.home .lp-blog__body{padding:13px 14px 15px}
body.home .lp-blog__date{color:#78889e;font-size:11px}
body.home .lp-blog__body h4{color:var(--hg-ink);font-size:14px;font-weight:700;line-height:1.45}
@media(max-width:850px){body.home .lp-hero.hg-home-banners{width:calc(100% - 28px)!important;margin-top:12px!important}body.home .lp-partners--strip .lp-partners__grid{width:calc(100% - 28px)}body.home .hg-solution-feature{grid-template-columns:1fr}body.home .hg-solution-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.home .lp-process__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.home .lp-blog__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:600px){body.home .lp-hero.hg-home-banners{width:calc(100% - 24px)!important;height:280px!important;margin-top:10px!important;border-radius:13px}body.home .hg-home-banners .lp-hero__slide{gap:0}body.home .hg-home-banner{border-radius:12px}body.home .hg-home-banner__copy{width:65%;padding:17px 16px}body.home .hg-home-banner__eyebrow{max-width:185px;margin-bottom:7px;font-size:9px}body.home .hg-home-banner__title{font-size:clamp(22px,7vw,28px)!important}body.home .hg-home-banner__desc{max-width:190px;margin-top:9px;font-size:12px}body.home .hg-home-banner__cta{min-height:36px;margin-top:12px;padding:0 11px;font-size:12px}body.home .hg-home-banner__visual{width:44%;padding:10px 4px 10px 0}body.home .hg-home-banner__visual::before{inset:18% 0 18% 8%}body.home .lp-partners--strip{padding:15px 0 8px!important}body.home .lp-partners--strip .lp-partners__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}body.home .lp-partners--strip .lp-partners__item{height:46px;padding:5px;border-radius:8px}body.home .lp-partners--strip .lp-partners__item img{max-height:34px}body.home .hg-solutions{padding:28px 0 34px!important}body.home .hg-solutions__heading,body.home .hg-home-section-head,body.home .hg-home-projects__heading,body.home .lp-blog .lp-section-head{margin-bottom:18px!important}body.home .hg-solutions__heading h2,body.home .hg-home-section-head h2,body.home .hg-home-projects__heading h2,body.home .lp-blog .lp-section-head h2{font-size:24px!important}body.home .hg-solutions__heading p,body.home .hg-home-section-head p,body.home .hg-home-projects__heading p,body.home .lp-blog .lp-section-head p{font-size:13px!important}body.home .hg-solution-tabs{padding-bottom:8px!important}body.home .hg-solution-tab{min-height:38px;padding:8px 11px!important;font-size:12px!important}body.home .hg-solution-panel{padding:11px!important}body.home .hg-solution-panel__intro{padding:12px!important;font-size:13px!important}body.home .hg-solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}body.home .hg-solution-card__body{padding:10px!important}body.home .hg-solution-card__title{min-height:36px!important;font-size:12px!important}body.home .hg-home-projects{padding:32px 0 36px}body.home .hg-home-project{flex-basis:min(78vw,330px)}body.home .hg-home-project__title{min-height:42px;padding:9px 11px;font-size:12px}body.home .hg-home-videos{padding:34px 0 38px}body.home .hg-home-videos__grid{grid-template-columns:1fr;gap:12px}body.home .lp-process{padding:34px 0 38px!important}body.home .lp-process__grid{grid-template-columns:1fr!important;gap:10px!important}body.home .lp-process__step{padding:13px!important}body.home .lp-blog{padding:36px 0 42px!important}body.home .lp-blog__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}body.home .lp-blog__body{padding:10px}body.home .lp-blog__body h4{font-size:12px}}
@media(max-width:560px){body .hg-float-contact{display:grid!important;right:12px!important;left:12px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;width:min(430px,calc(100vw - 24px))!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:1px!important;padding:5px!important;border:1px solid #dce8f8!important;border-radius:14px!important;background:rgba(255,255,255,.97)!important;box-shadow:0 8px 22px rgba(17,54,104,.16)!important}body .hg-float-contact .hg-float__btn,body .hg-float-contact .hg-float__btn--call,body .hg-float-contact .hg-float__btn--zalo,body .hg-float-contact .hg-float__btn--page,body .hg-float-contact .hg-float__btn--email{width:100%!important;min-width:0!important;height:45px!important;min-height:45px!important;flex-direction:column!important;justify-content:center!important;gap:3px!important;padding:2px 1px!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important}body .hg-float-contact .hg-float__btn-icon{width:21px!important;min-width:21px!important;height:21px!important;border-radius:6px!important}body .hg-float-contact .hg-float__btn-icon i{font-size:11px!important}body .hg-float-contact .hg-float__btn-icon img{width:16px!important;height:16px!important}body .hg-float-contact .hg-float__label{display:block!important;width:100%;font-size:8px!important;line-height:1.1!important;text-align:center!important;text-overflow:ellipsis}body .hg-float-contact .hg-float__num{display:none!important}body{padding-bottom:60px!important}}

/* Ensure longer campaign titles and CTAs fit the narrow banner. */
@media(max-width:600px){body.home .hg-home-banner__copy{padding:15px 14px}body.home .hg-home-banner__title{font-size:clamp(20px,6vw,24px)!important}body.home .hg-home-banner__desc{margin-top:7px;font-size:11px;line-height:1.4}body.home .hg-home-banner__cta{min-height:34px;margin-top:9px;padding:0 10px;font-size:11px}}


/* Full-bleed homepage canvases with a shared, contained content column. */
body.home { overflow-x: clip; background: #fff !important; }
body.home #page.site { width: 100% !important; max-width: none !important; margin: 0 !important; background: #fff !important; box-shadow: none !important; }
body.home #header.site-header, body.home .lp-hero.hg-home-banners, body.home .lp-partners--strip, body.home .hg-solutions, body.home .hg-home-videos, body.home .lp-process, body.home .lp-blog, body.home .site-footer.hgf--reference { width: 100% !important; max-width: none !important; margin-right: 0 !important; margin-left: 0 !important; }
body.home #header.site-header, body.home .lp-hero.hg-home-banners, body.home .lp-partners--strip, body.home .hg-solutions, body.home .hg-home-videos, body.home .lp-process, body.home .lp-blog { background-color: #fff !important; }
body.home #header .hd-top__inner, body.home #header .hd-benefits__inner, body.home .lp-partners--strip > .container, body.home .hg-solutions > .container, body.home .hg-home-videos > .container, body.home .lp-process > .container, body.home .lp-blog > .container, body.home .site-footer.hgf--reference > .container { width: min(var(--hg-content-width), calc(100% - var(--hg-page-gutter) - var(--hg-page-gutter))) !important; max-width: var(--hg-content-width) !important; margin-right: auto !important; margin-left: auto !important; }
body.home .hg-home-banners .lp-hero__slides { right: auto !important; left: 50% !important; width: min(var(--hg-content-width), calc(100% - var(--hg-page-gutter) - var(--hg-page-gutter))) !important; transform: translateX(-50%); }
body.home .hg-home-projects { background: #eaf0fb !important; }

/* Keep the category drawer clear of the old page artwork behind it. */
body:has(.hd-category[open])::before { background: rgba(241, 245, 251, .97) !important; }
@media (max-width: 850px) { body.home .hg-home-banners .lp-hero__slides { width: calc(100% - 28px) !important; } }

body.home .lp-hero.hg-home-banners { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }

/* Simplify the desktop header controls. */
@media (min-width: 851px) {
  #header .hd-category > summary {
    max-width: 140px;
    padding-right: 12px;
    padding-left: 12px;
  }
  #header .hd-top__action,
  #header .hd-top__action + .hd-top__action,
  #header .hd-top__hotline {
    border: 0 !important;
    border-left: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}
/* Keep the mega menu hidden while closed and centered on narrow screens. */
#header .hd-category:not([open]) > .hd-category__panel {
  display: none !important;
}
@media (min-width: 851px) {
  #header .hd-category[open] > .hd-category__panel {
    display: grid !important;
  }
}
@media (max-width: 850px) {
  #header .hd-category {
    position: static !important;
  }
  #header .hd-category[open] > .hd-category__panel {
    display: block !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

/* In Túi Giấy archive: bright, creative product discovery. */
body.tax-product_cat.term-in-tui-giay .arc-header {
  padding: 18px 0 28px !important;
  background: linear-gradient(135deg, #edf5ff, #fff8eb) !important;
}
body.tax-product_cat.term-in-tui-giay .arc-header__hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
  gap: clamp(22px, 4vw, 48px);
  min-height: 320px;
  padding: clamp(26px, 4.5vw, 52px);
  overflow: hidden;
  border: 1px solid #dce9fc;
  border-radius: 24px;
  background: radial-gradient(circle at 82% 14%, #ffe9b5 0 8%, transparent 8.2%), linear-gradient(120deg, #fff 0%, #f7fbff 58%, #e8f2ff 100%);
  box-shadow: 0 14px 32px rgba(25, 72, 137, .08);
}
body.tax-product_cat.term-in-tui-giay .arc-header__hero::before {
  position: absolute; top: -70px; right: 33%; width: 170px; height: 170px;
  border: 20px solid rgba(255, 190, 64, .16); border-radius: 50%; content: ""; pointer-events: none;
}
body.tax-product_cat.term-in-tui-giay .arc-header__eyebrow {
  display: inline-flex; margin: 0 0 12px; padding: 7px 12px; border: 1px solid #d8e7ff;
  border-radius: 999px; background: #eff6ff; color: #165bc0; font-size: 11px; font-weight: 800; letter-spacing: .09em;
}
body.tax-product_cat.term-in-tui-giay .arc-header__title {
  max-width: 650px; color: #142b50 !important; font-size: clamp(34px, 4vw, 50px) !important;
  font-weight: 900 !important; letter-spacing: -.04em; line-height: 1.08 !important;
}
body.tax-product_cat.term-in-tui-giay .arc-header__intro {
  max-width: 620px; margin: 14px 0 20px; color: #5d6e86; font-size: clamp(15px, 1.2vw, 17px); line-height: 1.7;
}
body.tax-product_cat.term-in-tui-giay .arc-header__count {
  margin-left: 10px; padding: 7px 11px; background: #fff0bc; color: #77520b !important;
  font-size: 12px !important; font-weight: 800 !important; transform: rotate(-2deg);
}
body.tax-product_cat.term-in-tui-giay .arc-header__visual {
  max-width: 470px; aspect-ratio: 4 / 3; border: 6px solid #fff; border-radius: 20px;
  background: #e8eef6; box-shadow: 0 16px 32px rgba(25, 72, 137, .14); transform: rotate(1deg);
}
body.tax-product_cat.term-in-tui-giay .arc-header__visual img { object-fit: cover; object-position: center; border-radius: 13px; }
body.tax-product_cat.term-in-tui-giay .arc-partners .lp-partners__item img { filter: none; opacity: 1; }
body.tax-product_cat.term-in-tui-giay .hg-service-showcase { padding: 30px 0; background: #f8fbff; }
body.tax-product_cat.term-in-tui-giay .hg-service-showcase .hg-solutions__heading h2,
body.tax-product_cat.term-in-tui-giay .arc-products__heading h2 {
  color: #142b50; font-size: clamp(24px, 2.5vw, 32px); font-weight: 900; letter-spacing: -.03em;
}
body.tax-product_cat.term-in-tui-giay .arc-products {
  padding: 32px 0 40px !important; background: radial-gradient(ellipse at 8% 4%, rgba(57, 132, 255, .07), transparent 30%), #f6f9ff !important;
}
body.tax-product_cat.term-in-tui-giay .arc-products__heading { align-items: end; margin-bottom: 16px; }
body.tax-product_cat.term-in-tui-giay .arc-products__heading .hg-eyebrow {
  display: inline-block; margin-bottom: 6px; padding: 6px 10px; border-radius: 999px; background: #e8f1ff;
  color: #1b64c8; font-size: 10px; font-weight: 800; letter-spacing: .09em;
}
body.tax-product_cat.term-in-tui-giay .arc-products__heading > span {
  padding: 7px 11px; border: 1px solid #e3ebf8; border-radius: 999px; background: #fff; color: #60718a;
}
body.tax-product_cat.term-in-tui-giay ul.products { gap: 16px !important; }
body.tax-product_cat.term-in-tui-giay ul.products li.product {
  overflow: hidden; border: 1px solid #e0e9f7 !important; border-radius: 16px !important;
  box-shadow: 0 7px 20px rgba(32, 66, 115, .06) !important; transition: transform .18s ease, box-shadow .18s ease !important;
}
body.tax-product_cat.term-in-tui-giay ul.products li.product:hover { transform: translateY(-3px) !important; box-shadow: 0 13px 26px rgba(32, 83, 154, .12) !important; }
body.tax-product_cat.term-in-tui-giay .woocommerce-loop-product__title { padding: 12px 14px 5px !important; font-size: 14px !important; line-height: 1.45 !important; }
body.tax-product_cat.term-in-tui-giay ul.products li.product .price { color: #c87812 !important; font-size: 16px !important; }
body.tax-product_cat.term-in-tui-giay .product-views { color: #8290a3 !important; }
body.tax-product_cat.term-in-tui-giay .arc-desc__box--collapse[open] {
  border-color: #dce7f6 !important; border-radius: 17px !important; background: linear-gradient(145deg, #fff, #f8fbff) !important;
  box-shadow: 0 8px 24px rgba(18, 53, 101, .06) !important;
}
body.tax-product_cat.term-in-tui-giay .arc-desc__summary { min-height: 54px; padding: 13px 18px !important; color: #17345b !important; font-weight: 800 !important; }
body.tax-product_cat.term-in-tui-giay .arc-desc__content { padding: 22px clamp(16px, 3vw, 32px) 30px !important; color: #42536b; font-size: 15px; line-height: 1.8; }
body.tax-product_cat.term-in-tui-giay .arc-desc__content h2 {
  margin: 30px 0 12px !important; padding-bottom: 9px !important; border-bottom: 1px solid #e4ebf5;
  color: #17345b !important; font-size: clamp(22px, 2.3vw, 29px) !important; font-weight: 850 !important;
}
body.tax-product_cat.term-in-tui-giay .arc-desc__content h3 { margin: 21px 0 8px !important; color: #205fb7 !important; font-size: 18px !important; font-weight: 800 !important; }
body.tax-product_cat.term-in-tui-giay .arc-desc__content p { margin: 0 0 13px !important; }
body.tax-product_cat.term-in-tui-giay .arc-desc__content ul {
  margin: 14px 0 20px !important; padding: 15px 20px 15px 40px !important; border: 1px solid #e4edf9;
  border-radius: 13px; background: #f4f8ff;
}
body.tax-product_cat.term-in-tui-giay .arc-desc__content li { margin: 5px 0; }
body.tax-product_cat.term-in-tui-giay .arc-desc__content img { border: 4px solid #fff; border-radius: 14px; box-shadow: 0 8px 22px rgba(25, 72, 137, .1); }
@media (max-width: 760px) {
  body.tax-product_cat.term-in-tui-giay .arc-header { padding: 12px 0 20px !important; }
  body.tax-product_cat.term-in-tui-giay .arc-header__hero { grid-template-columns: minmax(0, 1fr); min-height: 0; gap: 18px; padding: 22px 18px; border-radius: 19px; }
  body.tax-product_cat.term-in-tui-giay .arc-header__visual { width: 100%; max-width: none; aspect-ratio: 4 / 3; transform: none; }
  body.tax-product_cat.term-in-tui-giay .arc-header__title { font-size: clamp(30px, 8vw, 40px) !important; }
  body.tax-product_cat.term-in-tui-giay .arc-header__intro { margin: 11px 0 16px; font-size: 14px; }
  body.tax-product_cat.term-in-tui-giay .arc-partners .lp-partners__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  body.tax-product_cat.term-in-tui-giay .arc-products { padding: 24px 0 30px !important; }
  body.tax-product_cat.term-in-tui-giay ul.products { gap: 12px !important; }
  body.tax-product_cat.term-in-tui-giay .arc-products__heading { align-items: start; }
  body.tax-product_cat.term-in-tui-giay .arc-products__heading h2 { font-size: 23px !important; }
  body.tax-product_cat.term-in-tui-giay .arc-desc__content { padding: 17px 15px 22px !important; font-size: 14px; }
}


/* Full-bleed mega menu and campaign slide backgrounds. */
@media (min-width: 851px) {
  #header .hd-category[open] > .hd-category__panel {
    width: 100vw !important;
    max-width: none !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
  }
  #header .hd-category[open] .hd-category__content > .hd-category__hero {
    margin-right: -20px !important;
    margin-left: -20px !important;
    border-radius: 0 !important;
  }
}
@media (max-width: 850px) {
  #header .hd-category[open] > .hd-category__panel {
    width: 100vw !important;
    max-width: none !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
  }
  #header .hd-category[open] .hd-category__content > .hd-category__hero {
    margin-right: -12px !important;
    margin-left: -12px !important;
    border-radius: 0 !important;
  }
}

@media (min-width: 641px) and (max-width: 850px) {
  #header .hd-category[open] .hd-category__content > .hd-category__hero {
    margin-right: -20px !important;
    margin-left: -20px !important;
  }
}

/* Remove the Uni-Son logo from the homepage customer strip. */
body.home .lp-partners__item:has(> img[src*="logo-doi-tac-18.webp"]) {
  display: none !important;
}


/* Friendly responsive homepage process: overrides the shared UI layer loaded later. */
body.home .lp-process {
  padding: 54px 0 60px !important;
  background: #eaf0fb !important;
}
body.home .lp-process > .container { width: min(1280px, calc(100% - 48px)) !important; max-width: 1280px !important; margin-inline: auto !important; }
body.home .lp-process .hg-home-section-head { margin: 0 auto 36px !important; text-align: center !important; }
body.home .lp-process .hg-home-section-head h2 { margin: 0 0 8px !important; color: #101b35 !important; font-size: clamp(28px, 2.6vw, 36px) !important; line-height: 1.2 !important; font-weight: 800 !important; }
body.home .lp-process .hg-home-section-head p { max-width: 660px !important; margin: 0 auto !important; color: #5e6b83 !important; font-size: 16px !important; line-height: 1.6 !important; }
body.home ol.lp-process__grid { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 0 !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.home .lp-process__step { position: relative !important; display: flex !important; min-width: 0 !important; flex-direction: column !important; align-items: center !important; margin: 0 !important; padding: 0 12px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; text-align: center !important; }
body.home .lp-process__step::after { position: absolute !important; top: 47px !important; left: calc(50% + 51px) !important; display: block !important; width: calc(100% - 102px) !important; height: 0 !important; border: 0 !important; border-top: 3px dashed #cbd9f3 !important; background: none !important; content: "" !important; }
body.home .lp-process__step:last-child::after { display: none !important; }
body.home .lp-process__num { position: absolute !important; z-index: 2 !important; top: 1px !important; left: calc(50% + 20px) !important; display: grid !important; width: 29px !important; height: 29px !important; place-items: center !important; margin: 0 !important; border: 3px solid #eaf0fb !important; border-radius: 50% !important; background: #2459df !important; color: #fff !important; font-size: 12px !important; font-weight: 800 !important; line-height: 1 !important; }
body.home .lp-process__icon { position: relative !important; z-index: 1 !important; display: grid !important; width: 96px !important; height: 96px !important; flex: 0 0 96px !important; place-items: center !important; margin: 0 auto 16px !important; border: 2px solid #dbe5fa !important; border-radius: 50% !important; background: #fff !important; box-shadow: 0 0 0 5px #fff !important; color: #2459df !important; font-size: 24px !important; line-height: 1 !important; }
body.home .lp-process__step h4 { margin: 0 0 7px !important; color: #17233e !important; font-size: 16px !important; font-weight: 750 !important; line-height: 1.4 !important; }
body.home .lp-process__step p { max-width: 210px !important; margin: 0 !important; color: #5e6b83 !important; font-size: 14px !important; line-height: 1.55 !important; }
@media (max-width: 1360px) and (min-width: 761px) {
  body.home ol.lp-process__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; row-gap: 34px !important; }
  body.home .lp-process__step::after { display: none !important; }
}
@media (max-width: 760px) {
  body.home .lp-process { padding: 38px 0 42px !important; }
  body.home .lp-process > .container { width: calc(100% - 32px) !important; }
  body.home .lp-process .hg-home-section-head { margin-bottom: 24px !important; text-align: left !important; }
  body.home .lp-process .hg-home-section-head h2 { font-size: 26px !important; }
  body.home .lp-process .hg-home-section-head p { max-width: 38ch !important; margin: 0 !important; font-size: 14px !important; }
  body.home ol.lp-process__grid { grid-template-columns: minmax(0, 1fr) !important; row-gap: 10px !important; }
  body.home .lp-process__step { display: grid !important; grid-template-columns: 56px minmax(0, 1fr) !important; grid-template-rows: auto auto !important; column-gap: 14px !important; align-items: center !important; padding: 0 0 12px !important; text-align: left !important; }
  body.home .lp-process__step::after { top: 57px !important; right: auto !important; bottom: -10px !important; left: 27px !important; width: 0 !important; height: auto !important; border: 0 !important; border-left: 2px dashed #cbd9f3 !important; }
  body.home .lp-process__step:last-child { padding-bottom: 0 !important; }
  body.home .lp-process__step:last-child::after { display: none !important; }
  body.home .lp-process__num { top: -1px !important; left: 38px !important; width: 22px !important; height: 22px !important; border-width: 2px !important; font-size: 10px !important; }
  body.home .lp-process__icon { grid-column: 1 !important; grid-row: 1 / span 2 !important; width: 54px !important; height: 54px !important; flex-basis: 54px !important; margin: 0 !important; box-shadow: 0 0 0 4px #fff !important; font-size: 19px !important; }
  body.home .lp-process__step h4 { grid-column: 2 !important; margin: 0 0 3px !important; font-size: 15px !important; }
  body.home .lp-process__step p { grid-column: 2 !important; max-width: none !important; font-size: 13px !important; line-height: 1.5 !important; }
}


/* Friendly responsive homepage process: overrides the shared UI layer loaded later. */













@media (max-width: 1360px) and (min-width: 761px) {
  
  
}
@media (max-width: 760px) {
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}


/* Keep the floating contact dock clear of the process steps on laptop and phone screens. */
@media (min-width: 761px) and (max-width: 1360px) {
  body.home .hg-float-contact { right: 12px !important; bottom: 14px !important; gap: 7px !important; }
  body.home .hg-float-contact .hg-float__btn { width: 46px !important; min-width: 46px !important; height: 46px !important; min-height: 46px !important; justify-content: center !important; padding: 4px !important; border-radius: 50% !important; }
  body.home .hg-float-contact .hg-float__label { display: none !important; }
  body.home .hg-float-contact .hg-float__btn-icon { width: 34px !important; min-width: 34px !important; height: 34px !important; border-radius: 50% !important; }
}
@media (max-width: 760px) {
  body.home .lp-process > .container { width: calc(100% - 80px) !important; margin-right: auto !important; margin-left: 12px !important; }
  body.home .hg-float-contact { right: 10px !important; bottom: 12px !important; gap: 6px !important; }
  body.home .hg-float-contact .hg-float__btn { width: 42px !important; min-width: 42px !important; height: 42px !important; min-height: 42px !important; justify-content: center !important; padding: 3px !important; border-radius: 50% !important; }
  body.home .hg-float-contact .hg-float__label { display: none !important; }
  body.home .hg-float-contact .hg-float__btn-icon { width: 32px !important; min-width: 32px !important; height: 32px !important; border-radius: 50% !important; }
}


/* Prevent the floating contact links from expanding over the final process step. */
@media (min-width: 761px) and (max-width: 1360px), (max-width: 760px) {
  body.home .hg-float-contact .hg-float__btn,
  body.home .hg-float-contact .hg-float__btn--call,
  body.home .hg-float-contact .hg-float__btn--zalo,
  body.home .hg-float-contact .hg-float__btn--page,
  body.home .hg-float-contact .hg-float__btn--email {
    display: flex !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    overflow: hidden !important;
    justify-content: center !important;
    padding: 3px !important;
    border-radius: 50% !important;
  }
  body.home .hg-float-contact .hg-float__btn .hg-float__label,
  body.home .hg-float-contact .hg-float__btn > span:not(.hg-float__btn-icon) { display: none !important; }
  body.home .hg-float-contact .hg-float__btn-icon { flex: 0 0 34px !important; width: 34px !important; min-width: 34px !important; height: 34px !important; border-radius: 50% !important; }
}
@media (max-width: 760px) {
  body.home .hg-float-contact .hg-float__btn,
  body.home .hg-float-contact .hg-float__btn--call,
  body.home .hg-float-contact .hg-float__btn--zalo,
  body.home .hg-float-contact .hg-float__btn--page,
  body.home .hg-float-contact .hg-float__btn--email {
    flex-basis: 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
  }
  body.home .hg-float-contact .hg-float__btn-icon { flex-basis: 32px !important; width: 32px !important; min-width: 32px !important; height: 32px !important; }
}


/* Keep the process readable beside fixed contact actions across tablet and desktop widths. */
@media (min-width: 761px) and (max-width: 1000px) {
  body.home ol.lp-process__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: calc(100% - 200px) !important;
    max-width: calc(100% - 200px) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}
@media (min-width: 1001px) {
  body.home ol.lp-process__grid {
    width: calc(100% - 180px) !important;
    max-width: calc(100% - 180px) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}


/* Give homepage partner logos a little more visual weight while keeping each mark contained. */
body.home .lp-partners--strip .lp-partners__item { padding: 5px 10px !important; }
body.home .lp-partners--strip .lp-partners__item img { max-width: 100% !important; max-height: 52px !important; object-fit: contain !important; }
@media (max-width: 760px) {
  body.home .lp-partners--strip .lp-partners__item { padding: 5px 8px !important; }
  body.home .lp-partners--strip .lp-partners__item img { max-height: 48px !important; }
}


/* Keep the six-step process row centered inside the page container. */
@media (min-width: 761px) {
  
}


/* Product gallery: preserve each source image's full aspect ratio. */
body.single-product .spd-wrapper .spd-top.spd-top--print-reference .spd-gallery .spd-print-gallery-viewer {
  aspect-ratio: var(--spd-active-image-ratio, 3 / 2) !important;
  height: auto !important;
  overflow: hidden !important;
}
body.single-product .spd-wrapper .spd-top.spd-top--print-reference .spd-gallery .spd-print-gallery-viewer img.spd-print-gallery-slide {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}


/* Override legacy fixed gallery ratios: show every product image uncropped. */

/* Override legacy fixed gallery ratios: show every product image uncropped. */
html body.single-product.theme-hoanggia.wp-singular .site .spd-wrapper .spd-top.spd-top--print-reference .spd-gallery .spd-print-gallery-viewer {
  aspect-ratio: var(--spd-active-image-ratio, 3 / 2) !important;
  height: auto !important;
  max-height: none !important;
}
html body.single-product.theme-hoanggia.wp-singular .site .spd-wrapper .spd-top.spd-top--print-reference .spd-gallery .spd-print-gallery-viewer img.spd-print-gallery-slide {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}


/* Contact details are consistent across both Hoang Gia offices. */
#header .hd-top__branch-contact { display:grid; grid-template-columns:auto auto; align-items:center; gap:10px; min-width:0; padding:0 10px; }
#header .hd-top__branch-phones, #header .hd-top__branch-zalos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:8px; min-width:0; }
#header .hd-top__branch-phone { display:flex; flex-direction:column; min-width:0; gap:1px; color:var(--hg-ink); line-height:1.15; text-decoration:none; white-space:nowrap; }
#header .hd-top__branch-phone small { color:#738197; font-size:10px; font-weight:550; }
#header .hd-top__branch-phone strong { color:var(--hg-navy); font-size:12px; font-weight:800; }
#header .hd-top__branch-zalos a { display:flex; align-items:center; gap:4px; min-width:0; color:var(--hg-blue); font-size:10px; font-weight:700; text-decoration:none; white-space:nowrap; }
#header .hd-top__branch-zalos img { display:block; width:18px; height:18px; object-fit:contain; }
#header .hd-top__branch-zalos a:hover, #header .hd-top__branch-phone:hover { color:var(--hg-blue-dark); }

.hgf-ref__contact-strip { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:10px !important; }
.hgf-ref__contact-strip .hgf-ref__contact-item { display:grid !important; grid-template-columns:38px minmax(0,1fr); grid-template-rows:auto auto; align-items:center; column-gap:10px; min-width:0; padding:12px 14px; text-decoration:none; }
.hgf-ref__contact-strip .hgf-ref__contact-item > span { grid-column:1; grid-row:1 / span 2; display:grid; width:38px; height:38px; place-items:center; }
.hgf-ref__contact-strip .hgf-ref__contact-item > span img { width:24px; height:24px; object-fit:contain; }
.hgf-ref__contact-strip .hgf-ref__contact-item > strong { grid-column:2; grid-row:1; min-width:0; color:var(--hg-ink); font-size:12px; line-height:1.3; }
.hgf-ref__contact-strip .hgf-ref__contact-item > em { grid-column:2; grid-row:2; min-width:0; color:#63748d; font-size:12px; line-height:1.35; font-style:normal; overflow-wrap:anywhere; }
@media (max-width:900px) { .hgf-ref__contact-strip { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media (max-width:520px) { .hgf-ref__contact-strip { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:7px !important; } .hgf-ref__contact-strip .hgf-ref__contact-item { grid-template-columns:30px minmax(0,1fr); column-gap:7px; padding:9px 8px; } .hgf-ref__contact-strip .hgf-ref__contact-item > span { width:30px; height:30px; } .hgf-ref__contact-strip .hgf-ref__contact-item > strong, .hgf-ref__contact-strip .hgf-ref__contact-item > em { font-size:10px; } }

/* Keep product-page contact areas readable when both locations are listed. */
body.single-product .spd-print-contact { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
body.single-product .spd-print-contact__phone, body.single-product .spd-print-contact__zalo { display:inline-flex; min-width:0; align-items:center; gap:6px; line-height:1.35; }
body.single-product .spd-sb-card--hotline .spd-sb-phone { display:flex; width:100%; min-height:38px; align-items:center; gap:7px; padding:7px 10px; border-radius:8px; font-size:12px; line-height:1.3; }
body.single-product .spd-sb-channels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
body.single-product .spd-sb-channels .spd-sb-channel { display:flex; min-width:0; min-height:36px; align-items:center; justify-content:center; gap:5px; padding:6px 8px; text-align:center; font-size:11px; line-height:1.25; }
body.single-product .spd-commitments__cta { display:flex; flex-wrap:wrap; gap:7px; }
body.single-product .spd-commitments__cta .spd-commitments__btn { display:inline-flex; flex:1 1 calc(50% - 7px); min-width:130px; min-height:36px; align-items:center; justify-content:center; gap:6px; padding:6px 9px; font-size:11px; text-align:center; }
@media (max-width:560px) { body.single-product .spd-sb-channels { grid-template-columns:1fr 1fr; } body.single-product .spd-commitments__cta .spd-commitments__btn { min-width:0; font-size:10px; } }

@media (max-width:850px) {
  #header .hd-top__inner { grid-template-areas:"brand category" "search search" "branches branches" !important; grid-template-columns:minmax(0,1fr) auto !important; }
  #header .hd-top__actions { grid-area:branches !important; display:grid !important; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:6px; width:100% !important; justify-self:stretch !important; }
  #header .hd-top__branch-contact { display:grid; grid-template-columns:minmax(0,1fr); gap:5px; padding:0; }
  #header .hd-top__branch-phones, #header .hd-top__branch-zalos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
  #header .hd-top__branch-phone { min-height:34px; justify-content:center; padding:4px 7px; border:1px solid #e5ebf3; border-radius:7px; background:#fff; }
  #header .hd-top__branch-phone small { font-size:9px; }
  #header .hd-top__branch-phone strong { font-size:11px; }
  #header .hd-top__branch-zalos a { min-height:30px; justify-content:center; padding:4px 5px; border:1px solid #e5ebf3; border-radius:7px; background:#f8faff; font-size:9px; }
  #header .hd-top__branch-zalos img { width:16px; height:16px; }
  #header .hd-top__quote { display:flex !important; width:36px !important; min-width:36px !important; height:36px !important; min-height:36px !important; }
  #header .hd-top__cart { width:36px !important; min-width:36px !important; height:36px !important; flex-basis:36px !important; }
}
@media (max-width:560px) {
  #header .hd-top__inner { grid-template-areas:"brand category actions" "search search search" "branches branches branches" !important; gap:7px 8px !important; }
  #header .hd-top__actions { grid-template-columns:minmax(0,1fr) auto !important; gap:5px !important; }
  #header .hd-top__quote { display:none !important; }
  #header .hd-top__branch-contact { gap:4px; }
  #header .hd-top__branch-phone { min-height:32px; padding:3px 6px; }
  #header .hd-top__branch-phone small { font-size:8px; }
  #header .hd-top__branch-phone strong { font-size:10px; }
  #header .hd-top__branch-zalos a { min-height:28px; font-size:8px; }
}


/* Contact page: show both Hanoi and Ho Chi Minh City channels clearly. */
.hg-contact-page .hg-contact-page__channel-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
@media (max-width: 760px) {
  .hg-contact-page .hg-contact-page__channel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .hg-contact-page .hg-contact-page__social-links a[aria-label^="Chat Zalo"] {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    padding: 0 8px !important;
    border-radius: 9px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }
  .hg-contact-page .hg-contact-page__social-links a[aria-label^="Chat Zalo"] img {
    width: 18px !important;
    height: 18px !important;
  }
}
@media (min-width: 761px) {
  .hg-contact-page .hg-contact-page__social-links a[aria-label^="Chat Zalo"] {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    padding: 0 9px !important;
    border-radius: 9px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }
}


/* Homepage solutions: polished tabbed showcase matching the supplied reference. */
body.home .hg-solutions {
  padding: 42px 0 54px !important;
  background: #eaf0fb !important;
}
body.home .hg-solutions__heading {
  margin: 0 auto 26px !important;
  text-align: center !important;
}
body.home .hg-solutions__heading .hg-eyebrow {
  margin-bottom: 7px !important;
  color: #1261d7 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}
body.home .hg-solutions__heading h2 {
  margin: 0 0 5px !important;
  color: #101b35 !important;
  font-size: clamp(27px, 2.5vw, 36px) !important;
  line-height: 1.2 !important;
}
body.home .hg-solutions__heading p {
  margin: 0 !important;
  color: #606d83 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}
body.home .hg-solution-tabs {
  display: flex !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 10px !important;
  overflow-x: auto !important;
  border: 0 !important;
  border-radius: 15px 15px 0 0 !important;
  background: #fff !important;
  scrollbar-width: thin;
}
body.home .hg-solution-tab {
  min-height: 60px !important;
  padding: 0 26px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #5d687a !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
body.home .hg-solution-tab.is-active {
  border: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  background: #0861dc !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.home .hg-solution-panel {
  padding: 28px 20px 30px !important;
  border: 0 !important;
  border-radius: 0 0 17px 17px !important;
  background: #075bd5 !important;
  box-shadow: 0 12px 28px rgba(15, 66, 154, .12) !important;
}
body.home .hg-solution-feature {
  grid-template-columns: minmax(205px, 1fr) minmax(0, 4fr) !important;
  align-items: stretch !important;
  gap: 22px !important;
}
body.home .hg-solution-panel__intro {
  position: relative !important;
  display: flex !important;
  min-height: 100% !important;
  align-items: flex-start !important;
  margin: 0 !important;
  padding: 25px 22px 45px !important;
  overflow: hidden !important;
  border: 1px solid rgba(18, 53, 101, .06) !important;
  border-radius: 15px !important;
  background: #fff !important;
  color: #1763d3 !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
  box-shadow: 0 8px 20px rgba(15, 53, 111, .09) !important;
}
body.home .hg-solution-panel__intro::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 76px;
  height: 58px;
  background: linear-gradient(135deg, #e9f0fb 0 48%, #fff 50% 64%, #dfe7f3 100%);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  content: "";
  filter: drop-shadow(-3px -3px 4px rgba(20, 52, 99, .08));
}
body.home .hg-solution-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-content: stretch !important;
  gap: 14px !important;
}
body.home .hg-solution-grid > .hg-solution-card:nth-child(n+5) { display: none !important; }
body.home .hg-solution-card {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  padding: 10px !important;
  border: 1px solid rgba(17, 52, 105, .08) !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: 0 6px 17px rgba(10, 40, 94, .11) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}
body.home .hg-solution-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 24px rgba(10, 40, 94, .18) !important;
}
body.home .hg-solution-card__image {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1.42 / 1 !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  border-radius: 11px !important;
  background: #f0f3f7 !important;
}
body.home .hg-solution-card__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .22s ease !important;
}
body.home .hg-solution-card:hover .hg-solution-card__image img { transform: scale(1.035); }
body.home .hg-solution-card__body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 9px !important;
  padding: 13px 2px 2px !important;
}
body.home .hg-solution-card__title {
  display: -webkit-box !important;
  min-height: 42px !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: #172b4d !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1.4 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
body.home .hg-solution-card__price {
  display: block !important;
  min-height: 43px !important;
  margin: auto 0 0 !important;
  padding: 9px 12px !important;
  border-radius: 9px !important;
  background: #eef1f5 !important;
  color: #647084 !important;
  font-size: 14px !important;
  font-weight: 550 !important;
  line-height: 1.5 !important;
}
body.home .hg-solution-card__price .woocommerce-Price-amount,
body.home .hg-solution-card__price .woocommerce-Price-currencySymbol {
  color: #075bd5 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}
body.home .hg-solution-card__more {
  display: flex !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #1760df !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}
body.home .hg-solution-card__more i { color: #fff !important; }
body.home .hg-solutions__more { margin: 20px 0 0 !important; }
body.home .hg-solutions__more a {
  min-height: 42px !important;
  padding: 0 18px !important;
  border: 1px solid #d7e5fa !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #075bd5 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}
@media (max-width: 1000px) {
  body.home .hg-solution-feature { grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; }
  body.home .hg-solution-panel__intro { min-height: 0 !important; padding: 18px 20px 26px !important; }
  body.home .hg-solution-panel__intro::after { width: 48px; height: 36px; }
  body.home .hg-solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 11px !important; }
}
@media (max-width: 600px) {
  body.home .hg-solutions { padding: 30px 0 36px !important; }
  body.home .hg-solutions__heading { margin-bottom: 19px !important; }
  body.home .hg-solutions__heading h2 { font-size: 25px !important; }
  body.home .hg-solutions__heading p { font-size: 13px !important; }
  body.home .hg-solution-tabs { padding: 0 5px !important; border-radius: 12px 12px 0 0 !important; }
  body.home .hg-solution-tab { min-height: 48px !important; padding: 0 13px !important; font-size: 12px !important; }
  body.home .hg-solution-tab.is-active { border-radius: 9px 9px 0 0 !important; }
  body.home .hg-solution-panel { padding: 13px !important; border-radius: 0 0 13px 13px !important; }
  body.home .hg-solution-feature { gap: 11px !important; }
  body.home .hg-solution-panel__intro { padding: 15px 15px 24px !important; border-radius: 11px !important; font-size: 13px !important; line-height: 1.58 !important; }
  body.home .hg-solution-card { padding: 7px !important; border-radius: 11px !important; }
  body.home .hg-solution-card__image { aspect-ratio: 1.18 / 1 !important; border-radius: 8px !important; }
  body.home .hg-solution-card__body { gap: 7px !important; padding: 9px 1px 1px !important; }
  body.home .hg-solution-card__title { min-height: 37px !important; font-size: 12px !important; line-height: 1.38 !important; }
  body.home .hg-solution-card__price { min-height: 36px !important; padding: 7px 8px !important; border-radius: 7px !important; font-size: 11px !important; }
  body.home .hg-solution-card__price .woocommerce-Price-amount,
  body.home .hg-solution-card__price .woocommerce-Price-currencySymbol { font-size: 13px !important; }
  body.home .hg-solution-card__more { min-height: 36px !important; padding: 0 7px !important; font-size: 11px !important; }
  body.home .hg-solutions__more { margin-top: 14px !important; }
}


/* Company profile page: editorial, spacious and responsive. */
body.page-id-7870 .hg-about-page { --hga-ink:#132b4f; --hga-blue:#075bd5; --hga-muted:#65758d; --hga-line:#e1e8f2; color:var(--hga-ink); overflow:hidden; }
body.page-id-7870 .hg-about-page .container { width:min(1220px,calc(100% - 48px)); margin-inline:auto; }
body.page-id-7870 .hg-about-page h1, body.page-id-7870 .hg-about-page h2, body.page-id-7870 .hg-about-page h3, body.page-id-7870 .hg-about-page p { margin-top:0; }
body.page-id-7870 .hg-about-page h1, body.page-id-7870 .hg-about-page h2, body.page-id-7870 .hg-about-page h3 { color:var(--hga-ink); letter-spacing:-.035em; }
body.page-id-7870 .hg-about-page p { color:var(--hga-muted); }
body.page-id-7870 .hga-hero { position:relative; padding:clamp(48px,7vw,86px) 0 40px; background:linear-gradient(180deg,#eff5ff 0%,#f8faff 100%); }
body.page-id-7870 .hga-hero::before { position:absolute; top:-170px; right:-100px; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle,rgba(51,125,231,.12),rgba(51,125,231,0) 68%); content:""; pointer-events:none; }
body.page-id-7870 .hga-hero__inner { position:relative; display:grid; grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr); align-items:center; gap:clamp(36px,7vw,92px); }
body.page-id-7870 .hga-eyebrow, body.page-id-7870 .hga-kicker { margin:0 0 13px; color:#1761ca !important; font-size:12px; font-weight:800; letter-spacing:.12em; line-height:1.45; }
body.page-id-7870 .hga-hero h1 { margin:0 0 18px; color:#10284d; font-size:clamp(38px,5vw,60px); font-weight:850; line-height:1.06; }
body.page-id-7870 .hga-hero h1 span { color:#1261d6; }
body.page-id-7870 .hga-hero__lead { max-width:610px; margin:0 0 23px; color:#536883; font-size:clamp(16px,1.55vw,19px); line-height:1.72; }
body.page-id-7870 .hga-hero__actions, body.page-id-7870 .hga-hero__tags { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
body.page-id-7870 .hga-button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:9px; padding:0 17px; border:1px solid transparent; border-radius:9px; font-size:14px; font-weight:750; text-decoration:none; transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }
body.page-id-7870 .hga-button:hover { transform:translateY(-1px); }
body.page-id-7870 .hga-button--primary { background:var(--hga-blue); color:#fff; box-shadow:0 8px 18px rgba(7,91,213,.18); }
body.page-id-7870 .hga-button--light { border-color:#d9e5f6; background:#fff; color:#1c4f91; }
body.page-id-7870 .hga-hero__tags { gap:9px 18px; margin-top:23px; }
body.page-id-7870 .hga-hero__tags span { display:inline-flex; align-items:center; gap:7px; color:#526984; font-size:13px; font-weight:650; }
body.page-id-7870 .hga-hero__tags i { color:#1765d7; }
body.page-id-7870 .hga-hero__visual { position:relative; display:flex; min-height:340px; flex-direction:column; justify-content:center; gap:14px; padding:36px; overflow:hidden; border:1px solid rgba(255,255,255,.5); border-radius:22px; background:linear-gradient(145deg,#0b4faf 0%,#0968dd 58%,#328de9 100%); box-shadow:0 24px 55px rgba(19,65,133,.2); }
body.page-id-7870 .hga-hero__visual::after { position:absolute; right:-90px; bottom:-150px; width:370px; height:370px; border:1px solid rgba(255,255,255,.15); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.045),0 0 0 62px rgba(255,255,255,.035); content:""; }
body.page-id-7870 .hga-hero__visual-orbit { position:absolute; top:-70px; left:48%; width:170px; height:170px; border:1px solid rgba(255,255,255,.16); border-radius:50%; }
body.page-id-7870 .hga-hero__visual-title { position:relative; z-index:1; display:flex; align-items:center; gap:15px; margin-bottom:8px; color:#fff; }
body.page-id-7870 .hga-hero__visual-mark { display:grid; width:58px; height:58px; flex:0 0 58px; place-items:center; border:1px solid rgba(255,255,255,.32); border-radius:17px; background:rgba(255,255,255,.15); font-size:25px; }
body.page-id-7870 .hga-hero__visual-title small, body.page-id-7870 .hga-hero__location small { display:block; color:rgba(255,255,255,.72); font-size:10px; font-weight:750; letter-spacing:.12em; }
body.page-id-7870 .hga-hero__visual-title strong { display:block; margin-top:5px; color:#fff; font-size:23px; line-height:1.22; }
body.page-id-7870 .hga-hero__location { position:relative; z-index:1; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:70px; padding:11px 14px; border:1px solid rgba(255,255,255,.23); border-radius:12px; background:rgba(255,255,255,.12); color:#fff; backdrop-filter:blur(8px); }
body.page-id-7870 .hga-hero__location > i { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:rgba(255,255,255,.17); }
body.page-id-7870 .hga-hero__location strong { display:block; margin-top:3px; color:#fff; font-size:14px; }
body.page-id-7870 .hga-hero__location b { color:rgba(255,255,255,.48); font-size:21px; }
body.page-id-7870 .hga-hero__visual-note { position:relative; z-index:1; margin:0; color:rgba(255,255,255,.82) !important; font-size:12px; text-align:center; }
body.page-id-7870 .hga-facts { position:relative; z-index:2; padding:0 0 40px; background:#f8faff; }
body.page-id-7870 .hga-facts__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:21px 8px; border:1px solid #e2eaf5; border-radius:14px; background:#fff; box-shadow:0 12px 30px rgba(23,62,117,.06); }
body.page-id-7870 .hga-fact { display:flex; min-width:0; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:4px 14px; text-align:center; }
body.page-id-7870 .hga-fact + .hga-fact { border-left:1px solid #e7edf5; }
body.page-id-7870 .hga-fact strong { color:#145fc8; font-size:clamp(19px,2.2vw,27px); font-weight:850; line-height:1.2; }
body.page-id-7870 .hga-fact span { color:#66778d; font-size:12px; line-height:1.4; }
body.page-id-7870 .hga-story { padding:68px 0 76px; background:#fff; }
body.page-id-7870 .hga-story__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.8fr); align-items:center; gap:clamp(38px,7vw,90px); }
body.page-id-7870 .hga-story__copy h2, body.page-id-7870 .hga-section-head h2 { margin:0 0 18px; font-size:clamp(28px,3.3vw,40px); font-weight:820; line-height:1.18; }
body.page-id-7870 .hga-story__copy h2 span, body.page-id-7870 .hga-section-head h2 span { color:#1762cc; }
body.page-id-7870 .hga-story__copy > p:not(.hga-kicker) { margin:0 0 14px; font-size:15px; line-height:1.8; }
body.page-id-7870 .hga-story__note { display:flex; align-items:flex-start; gap:12px; margin-top:23px; padding:15px 16px; border:1px solid #dce8f9; border-radius:11px; background:#f4f8ff; }
body.page-id-7870 .hga-story__note > i { margin-top:3px; color:#1764d5; }
body.page-id-7870 .hga-story__note strong, body.page-id-7870 .hga-story__note small { display:block; }
body.page-id-7870 .hga-story__note strong { color:#1d385d; font-size:13px; }
body.page-id-7870 .hga-story__note small { margin-top:4px; color:#6d7c91; font-size:12px; line-height:1.5; }
body.page-id-7870 .hga-offices { display:grid; gap:13px; }
body.page-id-7870 .hga-office { position:relative; padding:21px 22px 19px; overflow:hidden; border:1px solid #e0e8f2; border-radius:14px; background:#fff; box-shadow:0 8px 24px rgba(18,53,101,.055); }
body.page-id-7870 .hga-office::after { position:absolute; top:0; right:0; width:4px; height:100%; background:linear-gradient(#3f88e6,#0e5ccc); content:""; }
body.page-id-7870 .hga-office__index { color:#4380cb; font-size:10px; font-weight:800; letter-spacing:.1em; }
body.page-id-7870 .hga-office h3 { margin:8px 0 6px; font-size:18px; font-weight:780; }
body.page-id-7870 .hga-office h3 i { margin-right:6px; color:#1763d5; }
body.page-id-7870 .hga-office p { margin:0 0 13px; font-size:13px; line-height:1.6; }
body.page-id-7870 .hga-office > a { display:inline-flex; align-items:center; gap:7px; margin:2px 14px 0 0; color:#155dc0; font-size:13px; font-weight:750; text-decoration:none; }
body.page-id-7870 .hga-office > a:hover { color:#083f92; }
body.page-id-7870 .hga-principles { padding:70px 0 78px; background:#f2f6fd; }
body.page-id-7870 .hga-section-head { max-width:690px; margin-bottom:28px; }
body.page-id-7870 .hga-section-head > p:last-child { max-width:620px; margin:0; color:#687991; font-size:15px; line-height:1.65; }
body.page-id-7870 .hga-section-head--center { margin:0 auto 32px; text-align:center; }
body.page-id-7870 .hga-section-head--center > p:last-child { margin-inline:auto; }
body.page-id-7870 .hga-principles__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
body.page-id-7870 .hga-principle { min-height:248px; padding:25px 24px; border:1px solid #e0e8f2; border-radius:15px; background:#fff; box-shadow:0 8px 24px rgba(18,53,101,.045); }
body.page-id-7870 .hga-principle__icon { display:grid; width:44px; height:44px; place-items:center; margin-bottom:19px; border-radius:13px; background:#eaf2ff; color:#1261d4; font-size:18px; }
body.page-id-7870 .hga-principle > p { margin:0 0 7px; color:#54739b; font-size:10px; font-weight:800; letter-spacing:.1em; }
body.page-id-7870 .hga-principle h3 { margin:0 0 10px; font-size:19px; font-weight:780; line-height:1.35; }
body.page-id-7870 .hga-principle > div { color:#687991; font-size:13px; line-height:1.72; }
body.page-id-7870 .hga-capabilities { padding:72px 0 78px; background:#fff; }
body.page-id-7870 .hga-section-head--row { display:flex; max-width:none; align-items:end; justify-content:space-between; gap:30px; }
body.page-id-7870 .hga-section-head--row > p { max-width:420px; padding-bottom:6px; }
body.page-id-7870 .hga-capabilities__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
body.page-id-7870 .hga-capability { display:flex; min-width:0; flex-direction:column; align-items:flex-start; padding:22px 20px 19px; border:1px solid #e1e8f1; border-radius:13px; background:#fff; color:inherit; box-shadow:0 7px 22px rgba(18,53,101,.045); text-decoration:none; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
body.page-id-7870 .hga-capability:hover { transform:translateY(-3px); border-color:#b9d1f3; box-shadow:0 14px 28px rgba(18,53,101,.095); }
body.page-id-7870 .hga-capability__icon { display:grid; width:44px; height:44px; place-items:center; margin-bottom:18px; border-radius:12px; background:#edf4ff; color:#1763d5; font-size:18px; }
body.page-id-7870 .hga-capability > small { margin-bottom:6px; color:#6380a3; font-size:9px; font-weight:800; letter-spacing:.11em; }
body.page-id-7870 .hga-capability h3 { margin:0 0 8px; font-size:17px; font-weight:780; line-height:1.35; }
body.page-id-7870 .hga-capability p { flex:1; margin:0 0 17px; font-size:12px; line-height:1.65; }
body.page-id-7870 .hga-capability__more { display:flex; width:100%; align-items:center; justify-content:space-between; padding-top:12px; border-top:1px solid #edf1f6; color:#155dc0; font-size:11px; font-weight:750; }
body.page-id-7870 .hga-methods { padding:69px 0 74px; background:linear-gradient(120deg,#102f5b,#123d78); }
body.page-id-7870 .hga-methods__layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:clamp(36px,7vw,88px); }
body.page-id-7870 .hga-methods .hga-section-head { margin:0; }
body.page-id-7870 .hga-methods .hga-kicker { color:#a9ccff !important; }
body.page-id-7870 .hga-methods .hga-section-head h2 { color:#fff; }
body.page-id-7870 .hga-methods .hga-section-head h2 span { color:#a9ccff; }
body.page-id-7870 .hga-methods .hga-section-head > p:last-child { color:rgba(255,255,255,.74); }
body.page-id-7870 .hga-methods__list { display:grid; gap:10px; }
body.page-id-7870 .hga-methods__list article { display:grid; grid-template-columns:38px minmax(0,1fr) 20px; align-items:center; gap:13px; min-height:91px; padding:15px 17px; border:1px solid rgba(255,255,255,.17); border-radius:12px; background:rgba(255,255,255,.08); }
body.page-id-7870 .hga-methods__list article > span { color:#9fc5ff; font-size:12px; font-weight:800; }
body.page-id-7870 .hga-methods__list h3 { margin:0 0 3px; color:#fff; font-size:16px; font-weight:780; }
body.page-id-7870 .hga-methods__list p { margin:0; color:rgba(255,255,255,.73); font-size:12px; line-height:1.55; }
body.page-id-7870 .hga-methods__list article > i { color:#a9ccff; font-size:13px; }
body.page-id-7870 .hga-process { padding:70px 0 78px; background:#f5f8fd; }
body.page-id-7870 .hga-process__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
body.page-id-7870 .hga-process__grid li { position:relative; min-width:0; padding:19px 16px 18px; border:1px solid #e0e8f2; border-radius:13px; background:#fff; box-shadow:0 7px 20px rgba(18,53,101,.04); }
body.page-id-7870 .hga-process__grid li > b { position:absolute; top:14px; right:15px; color:#9eb6d4; font-size:12px; }
body.page-id-7870 .hga-process__grid li > span { display:grid; width:43px; height:43px; place-items:center; margin-bottom:17px; border-radius:12px; background:#eaf2ff; color:#1763d5; font-size:17px; }
body.page-id-7870 .hga-process__grid h3 { margin:0 0 7px; font-size:14px; font-weight:780; line-height:1.4; }
body.page-id-7870 .hga-process__grid p { margin:0; font-size:12px; line-height:1.65; }
body.page-id-7870 .hga-contact-cta { padding:38px 0; background:#fff; }
body.page-id-7870 .hga-contact-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:28px 30px; border-radius:16px; background:linear-gradient(110deg,#0c5bc5,#1477e6); box-shadow:0 14px 34px rgba(7,91,213,.16); }
body.page-id-7870 .hga-contact-cta .hga-kicker { margin-bottom:7px; color:rgba(255,255,255,.74) !important; }
body.page-id-7870 .hga-contact-cta h2 { margin:0 0 6px; color:#fff; font-size:clamp(22px,2.6vw,30px); font-weight:800; line-height:1.25; }
body.page-id-7870 .hga-contact-cta__inner > div:first-child > p:last-child { max-width:550px; margin:0; color:rgba(255,255,255,.83); font-size:13px; line-height:1.6; }
body.page-id-7870 .hga-contact-cta__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
body.page-id-7870 .hga-button--white { background:#fff; color:#1357ad; }
body.page-id-7870 .hga-button--outline { border-color:rgba(255,255,255,.42); background:rgba(255,255,255,.08); color:#fff; }
body.page-id-7870 .hga-button--outline:hover { background:rgba(255,255,255,.16); color:#fff; }
@media (max-width:1050px) {
 body.page-id-7870 .hga-hero__inner { grid-template-columns:minmax(0,1fr) minmax(300px,.85fr); gap:34px; }
 body.page-id-7870 .hga-hero__visual { min-height:300px; padding:26px; }
 body.page-id-7870 .hga-capabilities__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.page-id-7870 .hga-process__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body.page-id-7870 .hga-contact-cta__inner { align-items:flex-start; flex-direction:column; }
 body.page-id-7870 .hga-contact-cta__actions { justify-content:flex-start; }
}
@media (max-width:760px) {
 body.page-id-7870 .hg-about-page .container { width:calc(100% - 36px); }
 body.page-id-7870 .hga-hero { padding:38px 0 28px; }
 body.page-id-7870 .hga-hero__inner, body.page-id-7870 .hga-story__grid, body.page-id-7870 .hga-methods__layout { grid-template-columns:minmax(0,1fr); gap:28px; }
 body.page-id-7870 .hga-hero h1 { font-size:clamp(35px,9vw,48px); }
 body.page-id-7870 .hga-hero__visual { min-height:280px; }
 body.page-id-7870 .hga-facts { padding-bottom:30px; }
 body.page-id-7870 .hga-facts__grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px 6px; }
 body.page-id-7870 .hga-fact { min-height:70px; padding:8px 6px; }
 body.page-id-7870 .hga-fact:nth-child(3) { border-left:0; border-top:1px solid #e7edf5; }
 body.page-id-7870 .hga-fact:nth-child(4) { border-top:1px solid #e7edf5; }
 body.page-id-7870 .hga-story, body.page-id-7870 .hga-principles, body.page-id-7870 .hga-capabilities, body.page-id-7870 .hga-process { padding:48px 0 52px; }
 body.page-id-7870 .hga-section-head--row { align-items:flex-start; flex-direction:column; gap:0; }
 body.page-id-7870 .hga-principles__grid { grid-template-columns:1fr; }
 body.page-id-7870 .hga-principle { min-height:0; padding:20px; }
 body.page-id-7870 .hga-capabilities__grid { gap:10px; }
 body.page-id-7870 .hga-capability { padding:16px 14px; }
 body.page-id-7870 .hga-capability h3 { font-size:15px; }
 body.page-id-7870 .hga-capability p { font-size:11px; }
 body.page-id-7870 .hga-methods { padding:48px 0 52px; }
 body.page-id-7870 .hga-process__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.page-id-7870 .hga-contact-cta { padding:24px 0; }
 body.page-id-7870 .hga-contact-cta__inner { gap:18px; padding:22px 19px; }
 body.page-id-7870 .hga-contact-cta__actions { display:grid; width:100%; grid-template-columns:1fr; }
 body.page-id-7870 .hga-contact-cta__actions .hga-button { justify-content:flex-start; }
}
@media (max-width:480px) {
 body.page-id-7870 .hg-about-page .container { width:calc(100% - 28px); }
 body.page-id-7870 .hga-hero__actions { display:grid; grid-template-columns:1fr; }
 body.page-id-7870 .hga-hero__actions .hga-button { width:100%; }
 body.page-id-7870 .hga-hero__tags { gap:8px 13px; }
 body.page-id-7870 .hga-hero__tags span { font-size:11px; }
 body.page-id-7870 .hga-hero__visual { min-height:260px; padding:19px; border-radius:16px; }
 body.page-id-7870 .hga-hero__visual-title strong { font-size:19px; }
 body.page-id-7870 .hga-hero__location { grid-template-columns:32px minmax(0,1fr) auto; gap:8px; padding:9px; }
 body.page-id-7870 .hga-hero__location > i { width:31px; height:31px; }
 body.page-id-7870 .hga-hero__location strong { font-size:12px; }
 body.page-id-7870 .hga-capabilities__grid { grid-template-columns:1fr; }
 body.page-id-7870 .hga-capability { display:grid; grid-template-columns:42px minmax(0,1fr); column-gap:11px; align-items:start; }
 body.page-id-7870 .hga-capability__icon { grid-column:1; grid-row:1 / span 3; margin:0; }
 body.page-id-7870 .hga-capability > small, body.page-id-7870 .hga-capability h3, body.page-id-7870 .hga-capability p, body.page-id-7870 .hga-capability__more { grid-column:2; }
 body.page-id-7870 .hga-capability p { margin-bottom:10px; }
 body.page-id-7870 .hga-capability__more { width:100%; }
 body.page-id-7870 .hga-process__grid { grid-template-columns:1fr; }
 body.page-id-7870 .hga-process__grid li { display:grid; grid-template-columns:42px minmax(0,1fr); column-gap:12px; padding:14px; }
 body.page-id-7870 .hga-process__grid li > span { grid-column:1; grid-row:1 / span 2; width:40px; height:40px; margin:0; }
 body.page-id-7870 .hga-process__grid h3, body.page-id-7870 .hga-process__grid p { grid-column:2; }
 body.page-id-7870 .hga-process__grid h3 { align-self:end; }
 body.page-id-7870 .hga-process__grid p { align-self:start; }
}


/* News article reading layout — 2026-10-06 */
body.single-post .sp-page--article .sp-bc,
body.single-post .sp-page--article .sp-head--article,
body.single-post .sp-page--article .sp-grid--article,
body.single-post .sp-page--article .sp-author-card,
body.single-post .sp-page--article .sp-related--articles {
  width: 100%;
  max-width: 1050px !important;
  margin-inline: auto !important;
}
body.single-post .sp-page--article .sp-grid--article {
  grid-template-columns: 220px minmax(0, 1fr) !important;
  justify-content: center;
  column-gap: 34px;
  row-gap: 24px;
}
body.single-post .sp-page--article .sp-grid--article-no-toc {
  grid-template-columns: minmax(0, 760px) !important;
}
body.single-post .sp-grid--article > .sp-aside--article-toc {
  grid-column: 1;
  grid-row: 1 / span 2;
}
body.single-post .sp-grid--article > .sp-main--article {
  grid-column: 2;
  grid-row: 1;
}
body.single-post .sp-grid--article > .sp-aside--product {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  grid-column: 2;
  grid-row: 2;
  align-items: start;
  gap: 16px;
  position: static;
}
body.single-post .sp-grid--article-no-toc > .sp-main--article,
body.single-post .sp-grid--article-no-toc > .sp-aside--product { grid-column: 1; }
body.single-post .sp-aside--product > * { margin-bottom: 0; }
body.single-post .sp-content--article {
  overflow-wrap: break-word;
  color: #25334a;
  font-size: 16px;
  line-height: 1.78;
}
body.single-post .sp-content--article p,
body.single-post .sp-content--article ul,
body.single-post .sp-content--article ol { margin-bottom: 1.15em; }
body.single-post .sp-content--article h2 {
  margin-top: 1.8em;
  margin-bottom: .7em;
  font-size: clamp(21px, 2vw, 26px);
  line-height: 1.32;
}
body.single-post .sp-content--article h3 {
  margin-top: 1.5em;
  margin-bottom: .55em;
  font-size: clamp(18px, 1.7vw, 21px);
  line-height: 1.4;
}
body.single-post .sp-content--article img,
body.single-post .sp-content--article video,
body.single-post .sp-content--article iframe { max-width: 100%; height: auto; }
body.single-post .sp-content--article figure,
body.single-post .sp-content--article .wp-caption,
body.single-post .sp-content--article .wp-block-image {
  width: fit-content;
  max-width: 100%;
  margin: 24px auto;
}
body.single-post .sp-content--article figcaption,
body.single-post .sp-content--article .wp-caption-text { font-size: 13px; line-height: 1.55; }
body.single-post .sp-head--article .sp-head__title {
  max-width: 900px;
  font-size: clamp(28px, 2.6vw, 36px) !important;
  line-height: 1.24;
}
@media (max-width: 900px) {
  body.single-post .sp-page--article .sp-grid--article,
  body.single-post .sp-page--article .sp-grid--article-no-toc {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 20px;
  }
  body.single-post .sp-grid--article > .sp-aside--article-toc,
  body.single-post .sp-grid--article > .sp-main--article,
  body.single-post .sp-grid--article > .sp-aside--product {
    grid-column: 1;
    grid-row: auto;
  }
  body.single-post .sp-grid--article > .sp-aside--article-toc { position: static; }
  body.single-post .sp-aside--article-toc .hg-toc.collapsed .hg-toc__body {
    display: none !important;
    max-height: 0;
    padding: 0;
  }
  body.single-post .sp-aside--article-toc .hg-toc:not(.collapsed) .hg-toc__body {
    display: block !important;
    max-height: min(55vh, 420px);
  }
}
@media (max-width: 600px) {
  body.single-post .sp-page--article .sp-head--article { gap: 12px; }
  body.single-post .sp-head--article .sp-head__title {
    font-size: clamp(25px, 7vw, 30px) !important;
    line-height: 1.27;
  }
  body.single-post .sp-head--article .sp-head__meta { gap: 7px 12px; font-size: 12px; }
  body.single-post .sp-content--article { font-size: 16px; line-height: 1.74; }
  body.single-post .sp-content--article h2 { font-size: 21px; }
  body.single-post .sp-content--article h3 { font-size: 18px; }
  body.single-post .sp-content--article figure,
  body.single-post .sp-content--article .wp-caption,
  body.single-post .sp-content--article .wp-block-image { margin: 19px auto; }
  body.single-post .sp-grid--article > .sp-aside--product {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Keep article list icons clear of the first letter. */
body.single-post .sp-content--article ul { padding-left: 0 !important; }
body.single-post .sp-content--article ul li { padding-left: 29px !important; }

/* Balance the contact card when an article has no related product. */
body.single-post .sp-aside--product .sp-contact-card:only-child { width: 100%; max-width: 420px; justify-self: end; }
@media (max-width: 600px) { body.single-post .sp-aside--product .sp-contact-card:only-child { max-width: none; } }

/* Compact article breadcrumb and table of contents on smaller screens. */
@media (max-width: 900px) {
  body.single-post .sp-page--article .hg-bc { flex-wrap: wrap; }
  body.single-post .sp-page--article .hg-bc > a { white-space: nowrap; }
  body.single-post .sp-page--article .hg-bc > i:last-of-type,
  body.single-post .sp-page--article .hg-bc > span { display: none; }
  body.single-post .sp-aside--article-toc .hg-toc { padding: 0 !important; }
  body.single-post .sp-aside--article-toc .hg-toc__header { min-height: 48px; margin-bottom: 0 !important; padding: 11px 14px !important; border-bottom: 0 !important; }
  body.single-post .sp-aside--article-toc .hg-toc:not(.collapsed) .hg-toc__header { border-bottom: 1px solid #d9e1f0 !important; }
  body.single-post .sp-aside--article-toc .hg-toc:not(.collapsed) .hg-toc__arrow { transform: none !important; }
}


/* 2026-10-06: balanced footer with both branches. */
body .site-footer.hgf--reference {background:#f3f7fc!important;border-top:1px solid #dbe6f4!important;box-shadow:none!important}
body .site-footer.hgf--reference > .container {width:min(calc(100% - 40px),1280px)!important;max-width:1280px!important}
body .site-footer.hgf--reference .hgf-ref__contact-strip {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;padding:28px 0 24px!important;border-bottom:1px solid #dce5f1!important}
body .site-footer.hgf--reference .hgf-ref__contact-strip::before {content:"Liên hệ nhanh tại hai cơ sở";grid-column:1/-1;order:0;color:#153461;font-size:18px;font-weight:800;line-height:1.3}
body .site-footer.hgf--reference .hgf-ref__contact-item--page,body .site-footer.hgf--reference .hgf-ref__contact-item--email {display:none!important}
body .site-footer.hgf--reference .hgf-ref__contact-item--hanoi {order:1}
body .site-footer.hgf--reference .hgf-ref__contact-item--zalo-hanoi {order:2}
body .site-footer.hgf--reference .hgf-ref__contact-item--hcm {order:3}
body .site-footer.hgf--reference .hgf-ref__contact-item--zalo-hcm {order:4}
body .site-footer.hgf--reference .hgf-ref__contact-item {min-width:0;min-height:74px;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:11px 12px;border:1px solid #dce6f3;border-radius:12px;background:#fff;box-shadow:none}
body .site-footer.hgf--reference .hgf-ref__contact-item > span {width:40px;height:40px;border-radius:10px}
body .site-footer.hgf--reference .hgf-ref__contact-item strong {font-size:12.5px}
body .site-footer.hgf--reference .hgf-ref__contact-item em {margin-top:3px;font-size:12px}
body .site-footer.hgf--reference .hgf-ref__main {display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.7fr)!important;align-items:stretch;gap:18px;padding:24px 0 26px}
body .site-footer.hgf--reference .hgf-ref__brand,body .site-footer.hgf--reference .hgf-ref__company {min-width:0;min-height:0;padding:24px!important;border:1px solid #dce6f2!important;border-radius:15px;background:#fff;box-shadow:0 6px 22px rgba(21,56,102,.045)}
body .site-footer.hgf--reference .hgf-ref__links {display:none!important}
body .site-footer.hgf--reference .hgf-ref__logo {margin-bottom:13px;padding:0;background:transparent}
body .site-footer.hgf--reference .hgf-ref__logo img {width:174px;max-width:100%;height:auto}
body .site-footer.hgf--reference .hgf-ref__intro-heading {margin:0 0 9px;color:#173968;font-size:16px;line-height:1.3}
body .site-footer.hgf--reference .hgf-ref__brand p {margin-bottom:10px;font-size:13.5px;line-height:1.58}
body .site-footer.hgf--reference .hgf-ref__socials {margin-top:15px}
body .site-footer.hgf--reference .hgf-ref__company {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 22px;align-content:start}
body .site-footer.hgf--reference .hgf-ref__company h3 {grid-column:1/-1;margin:0 0 15px;padding-bottom:12px;font-size:14px}
body .site-footer.hgf--reference .hgf-ref__company p {max-width:none;margin:0 0 10px;color:#53647d;font-size:12.5px;line-height:1.58}
body .site-footer.hgf--reference .hgf-ref__company p strong {color:#173968;font-size:13px}
body .site-footer.hgf--reference .hgf-ref__company p:nth-of-type(1) {grid-column:1;grid-row:2}
body .site-footer.hgf--reference .hgf-ref__company p:nth-of-type(2) {grid-column:1;grid-row:3}
body .site-footer.hgf--reference .hgf-ref__company p:nth-of-type(3) {grid-column:2;grid-row:2}
body .site-footer.hgf--reference .hgf-ref__company p:nth-of-type(4) {grid-column:2;grid-row:3}
body .site-footer.hgf--reference .hgf-ref__company p:nth-of-type(5) {grid-column:1;grid-row:4}
body .site-footer.hgf--reference .hgf-ref__company p:nth-of-type(6) {grid-column:2;grid-row:4}
body .site-footer.hgf--reference .hgf-ref__policies {gap:8px 18px;padding:15px 0;border-color:#dce5f1}
body .site-footer.hgf--reference .hgf-ref__policies a {padding:3px 0;border:0;border-radius:0;background:transparent;color:#53647d;font-size:12.5px}
body .site-footer.hgf--reference .hgf-ref__bottom {padding:14px 0 19px}
body .site-footer.hgf--reference .hgf-ref__bottom p {font-size:12px}
@media(max-width:900px){body .site-footer.hgf--reference .hgf-ref__contact-strip {grid-template-columns:repeat(2,minmax(0,1fr))!important}body .site-footer.hgf--reference .hgf-ref__main {grid-template-columns:minmax(0,1fr)!important;gap:14px}}
@media(max-width:620px){body .site-footer.hgf--reference > .container {width:calc(100% - 32px)!important}body .site-footer.hgf--reference .hgf-ref__contact-strip {gap:8px!important;padding:24px 0 18px!important}body .site-footer.hgf--reference .hgf-ref__contact-strip::before {font-size:16px}body .site-footer.hgf--reference .hgf-ref__contact-item {min-height:68px;grid-template-columns:32px minmax(0,1fr);gap:7px;padding:8px}body .site-footer.hgf--reference .hgf-ref__contact-item > span {width:32px;height:32px}body .site-footer.hgf--reference .hgf-ref__contact-item strong {font-size:11px}body .site-footer.hgf--reference .hgf-ref__contact-item em {font-size:10.5px}body .site-footer.hgf--reference .hgf-ref__main {padding:18px 0 20px}body .site-footer.hgf--reference .hgf-ref__brand,body .site-footer.hgf--reference .hgf-ref__company {padding:20px!important}body .site-footer.hgf--reference .hgf-ref__company {grid-template-columns:minmax(0,1fr)}body .site-footer.hgf--reference .hgf-ref__company p {grid-column:1!important;grid-row:auto!important}body .site-footer.hgf--reference .hgf-ref__company p:nth-of-type(3) {margin-top:5px;padding-top:14px;border-top:1px solid #e6edf6}}

/* 2026-10-06: compact floating call control. */
html body div.hg-float-contact[data-hg-compact-ready="1"] {width:54px!important;min-width:54px!important;max-width:calc(100vw - 24px)!important;align-items:flex-end!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;opacity:1!important;pointer-events:auto!important}
html body div.hg-float-contact[data-hg-compact-ready="1"].is-open {width:min(232px,calc(100vw - 24px))!important}
html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle,html body div.hg-float-contact[data-hg-compact-ready="1"].is-open .hg-float__toggle {width:54px!important;min-width:54px!important;max-width:54px!important;height:54px!important;min-height:54px!important;padding:0!important;flex:0 0 54px!important;border-radius:50%!important;background:#0861dc!important;box-shadow:0 7px 18px rgba(11,64,139,.22)!important;transition:background .18s ease,transform .18s ease,box-shadow .18s ease!important}
html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle:hover,html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle:focus-visible {background:#074eb3!important;transform:translateY(-2px);box-shadow:0 10px 22px rgba(11,64,139,.3)!important}
html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle:focus-visible {outline:3px solid #9cc2ff!important;outline-offset:3px}
html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle-label,html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle-caret,html body div.hg-float-contact[data-hg-compact-ready="1"].is-open .hg-float__toggle-label,html body div.hg-float-contact[data-hg-compact-ready="1"].is-open .hg-float__toggle-caret {display:none!important}
html body div.hg-float-contact[data-hg-compact-ready="1"].is-open .hg-float__toggle > .fa-phone {display:none!important}
html body div.hg-float-contact[data-hg-compact-ready="1"].is-open .hg-float__toggle::after {content:"×";color:#fff;font:400 30px/1 Arial,sans-serif}
html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list {width:min(232px,calc(100vw - 24px))!important}
@media(min-width:768px){html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > .hg-float__btn--zalo {display:none!important}}
@media(max-width:767px){html body div.hg-float-contact[data-hg-compact-ready="1"] {width:50px!important;min-width:50px!important}html body div.hg-float-contact[data-hg-compact-ready="1"].is-open {width:min(220px,calc(100vw - 20px))!important}html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle,html body div.hg-float-contact[data-hg-compact-ready="1"].is-open .hg-float__toggle {width:50px!important;min-width:50px!important;max-width:50px!important;height:50px!important;min-height:50px!important;flex-basis:50px!important}html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list {width:min(220px,calc(100vw - 20px))!important}}
@media(prefers-reduced-motion:reduce){html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle {transition:none!important}}

/* Override the older footer-sibling rail width that leaves a white box. */
html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"] {width:54px!important;min-width:54px!important;max-width:54px!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;align-items:flex-end!important}
html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"].is-open {width:min(232px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important}
html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle,html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"].is-open .hg-float__toggle {width:54px!important;min-width:54px!important;max-width:54px!important;height:54px!important;border-radius:50%!important}
html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list {width:min(232px,calc(100vw - 24px))!important}
@media(max-width:767px){html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"] {width:50px!important;min-width:50px!important;max-width:50px!important}html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"].is-open {width:min(220px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important}html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle,html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"].is-open .hg-float__toggle {width:50px!important;min-width:50px!important;max-width:50px!important;height:50px!important}html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list {width:min(220px,calc(100vw - 20px))!important}}

html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"].is-footer-visible,html body.hg-footer-in-view #footer ~ div.hg-float-contact[data-hg-compact-ready="1"] {opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}

/* Final contact spacing and PC-only call choices. */
html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"] {right:max(14px,env(safe-area-inset-right))!important;bottom:max(14px,env(safe-area-inset-bottom))!important}
@media(min-width:768px){html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list:not([hidden]) > a.hg-float__btn--zalo {display:none!important}}
@media(max-width:767px){html body #footer ~ div.hg-float-contact[data-hg-compact-ready="1"] {right:max(12px,env(safe-area-inset-right))!important;bottom:max(12px,env(safe-area-inset-bottom))!important}}


/* Mobile product quantity row: keep the label and stepper compact and aligned. */
@media (max-width: 520px) {
  .single-product .spd-qty-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }
  .single-product .spd-qty-ctrl {
    width: 122px !important;
    min-width: 122px !important;
    max-width: 122px !important;
    flex: 0 0 122px !important;
    margin-left: auto !important;
  }
  .single-product .spd-qty-btn { flex: 0 0 34px !important; }
  .single-product .spd-qty-input { flex: 0 0 50px !important; }
}


/* White framed trays for the two moving project rows. */
body.home .hg-home-projects__marquee {
  width: calc(100% - 32px) !important;
  max-width: none !important;
  margin: 12px auto !important;
  padding: 10px clamp(12px, 2vw, 28px) !important;
  border: 3px solid #fff;
  border-radius: 22px;
  background: rgba(255, 255, 255, .18);
  box-shadow: 0 10px 26px rgba(18, 53, 101, .07);
  box-sizing: border-box !important;
}
@media (max-width: 600px) {
  body.home .hg-home-projects__marquee {
    width: calc(100% - 16px) !important;
    margin-block: 9px !important;
    padding: 7px 8px !important;
    border-width: 2px;
    border-radius: 16px;
  }
}



/* Mobile and tablet home hero: separate the copy and artwork so neither crowds the other. */
@media (max-width: 850px) {
  body.home .lp-hero.hg-home-banners {
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
  }
  body.home .hg-home-banners .lp-hero__slides,
  body.home .hg-home-banners .lp-hero__slide {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body.home .hg-home-banners .hg-home-banner__copy {
    flex: 0 0 58% !important;
    width: 58% !important;
    max-width: 58% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: clamp(16px, 3vw, 24px) !important;
  }
  body.home .hg-home-banners .hg-home-banner__visual {
    width: 42% !important;
    max-width: 42% !important;
    box-sizing: border-box !important;
    padding: 12px 10px 12px 0 !important;
  }
  body.home .hg-home-banners .hg-home-banner__title {
    max-width: 100% !important;
    font-size: clamp(23px, 4.5vw, 33px) !important;
    line-height: 1.12 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  body.home .hg-home-banners .hg-home-banner__desc {
    max-width: 100% !important;
    font-size: clamp(12px, 1.8vw, 15px) !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 560px) {
  body.home .hg-home-banners .hg-home-banner__copy {
    padding: 14px 12px !important;
  }
  body.home .hg-home-banners .hg-home-banner__eyebrow {
    margin-bottom: 7px !important;
    font-size: 9px !important;
    letter-spacing: .055em !important;
  }
  body.home .hg-home-banners .hg-home-banner__title {
    font-size: clamp(21px, 6.2vw, 25px) !important;
    line-height: 1.12 !important;
  }
  body.home .hg-home-banners .hg-home-banner__desc {
    margin-top: 8px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }
  body.home .hg-home-banners .hg-home-banner__cta {
    min-height: 36px !important;
    margin-top: 10px !important;
    padding-inline: 10px !important;
    font-size: 11px !important;
  }
  body.home .hg-home-banners .hg-home-banner__visual {
    width: 40% !important;
    max-width: 40% !important;
    padding-right: 6px !important;
  }
}



/* Show one readable banner at a time on smaller screens. */
@media (max-width: 850px) {
  body.home .hg-home-banners .lp-hero__slide {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }
  body.home .hg-home-banners .lp-hero__slide > .hg-home-banner:nth-child(n+2) {
    display: none !important;
  }
}



/* Give Vietnamese headlines a little more line length on phones. */
@media (max-width: 850px) {
  body.home .hg-home-banners .hg-home-banner__copy {
    flex-basis: 63% !important;
    width: 63% !important;
    max-width: 63% !important;
  }
  body.home .hg-home-banners .hg-home-banner__visual {
    width: 37% !important;
    max-width: 37% !important;
  }
}
@media (max-width: 560px) {
  body.home .hg-home-banners .hg-home-banner__title {
    font-size: clamp(20px, 5.6vw, 23px) !important;
  }
}



/* Full-bleed process and footer backgrounds across all templates. */
html body .lp-process,
html body #footer.site-footer.hgf--reference {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box !important;
}
html body .lp-process { background-color: #eaf0fb !important; }
html body #footer.site-footer.hgf--reference { background-color: #f3f7fc !important; }
html body .lp-process > .container,
html body #footer.site-footer.hgf--reference > .container {
  width: min(var(--hg-content-width, 1280px), calc(100% - 48px)) !important;
  max-width: var(--hg-content-width, 1280px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 620px) {
  html body .lp-process > .container,
  html body #footer.site-footer.hgf--reference > .container {
    width: calc(100% - 32px) !important;
  }
}



/* Expand the product portfolio across the full website content width on desktop. */
@media (min-width: 821px) {
  html body.single-product .spd-body-section--print-reference .spd-body-layout {
    grid-template-columns: minmax(0, 1fr) minmax(250px, 310px) !important;
  }
  html body.single-product .spd-body-section--print-reference .spd-body-main {
    display: contents !important;
  }
  html body.single-product .spd-body-section--print-reference .spd-samples-section {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  html body.single-product .spd-body-section--print-reference .spd-desc-inner {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
  }
  html body.single-product .spd-body-section--print-reference .spd-body-sidebar--consult {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
}


/* Mobile header: logo, direct search and the Mẫu menu in one row. */
@media (max-width: 850px) {
  html body #header .hd-top__inner { display:grid!important; grid-template-columns:minmax(96px,132px) minmax(0,1fr) auto!important; grid-template-areas:"brand search category"!important; align-items:center!important; gap:8px!important; width:calc(100% - 24px)!important; min-height:62px!important; height:auto!important; padding:8px 0!important; overflow:visible!important; }
  html body #header .hd-top__logo { grid-area:brand!important; display:flex!important; align-items:center!important; min-width:0!important; width:100%!important; }
  html body #header .hd-top__logo img { display:block!important; width:100%!important; max-width:132px!important; max-height:40px!important; object-fit:contain!important; }
  html body #header .hd-top__search { grid-area:search!important; grid-column:auto!important; display:flex!important; min-width:0!important; width:100%!important; height:40px!important; margin:0!important; border:1px solid #d7e2f0!important; border-radius:10px!important; background:#fff!important; box-shadow:none!important; }
  html body #header .hd-top__search input[type="search"] { min-width:0!important; padding:0 9px!important; font-size:12px!important; }
  html body #header .hd-top__search button { flex:0 0 36px!important; width:36px!important; font-size:14px!important; }
  html body #header .hd-category { grid-area:category!important; width:auto!important; min-width:0!important; justify-self:end!important; }
  html body #header .hd-category > summary { min-width:72px!important; min-height:40px!important; justify-content:center!important; gap:6px!important; padding:0 9px!important; border-radius:10px!important; font-size:12px!important; }
  html body #header .hd-category > summary .fa-bars { font-size:13px!important; }
  html body #header .hd-category__chevron { display:none!important; }
  html body #header .hd-top__actions, html body #header .hd-benefits { display:none!important; }
  html body #header .hd-category__panel { top:70px!important; width:calc(100vw - 16px)!important; max-width:calc(100vw - 16px)!important; height:min(78dvh,640px)!important; max-height:calc(100dvh - 82px)!important; border-radius:14px!important; }
}
@media (max-width:380px) {
  html body #header .hd-top__inner { grid-template-columns:minmax(86px,98px) minmax(0,1fr) auto!important; gap:6px!important; width:calc(100% - 18px)!important; min-height:58px!important; padding:7px 0!important; }
  html body #header .hd-top__logo img { max-width:98px!important; max-height:36px!important; }
  html body #header .hd-top__search { height:38px!important; }
  html body #header .hd-top__search input[type="search"] { padding:0 7px!important; font-size:11px!important; }
  html body #header .hd-top__search button { flex-basis:32px!important; width:32px!important; }
  html body #header .hd-category > summary { min-width:66px!important; min-height:38px!important; gap:5px!important; padding:0 7px!important; font-size:11px!important; }
  html body #header .hd-category__panel { top:66px!important; width:calc(100vw - 12px)!important; max-width:calc(100vw - 12px)!important; max-height:calc(100dvh - 76px)!important; }
}


/* Mobile Mẫu button: clear hamburger and right-aligned dropdown cue. */
@media (max-width: 850px) {
  html body #header .hd-category {
    width: 84px !important;
    justify-self: end !important;
  }
  html body #header .hd-category > summary {
    display: flex !important;
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    padding-inline: 9px !important;
  }
  html body #header .hd-category > summary > i:first-child {
    display: inline-flex !important;
    flex: 0 0 14px !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: "Font Awesome 6 Free" !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }
  html body #header .hd-category > summary > i:first-child::before {
    content: "\f0c9" !important;
  }
  html body #header .hd-category > summary .hd-category__chevron {
    display: inline-flex !important;
    flex: 0 0 10px !important;
    width: 10px !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }
}
@media (max-width: 380px) {
  html body #header .hd-category { width: 72px !important; }
  html body #header .hd-category > summary {
    min-width: 0 !important;
    padding-inline: 7px !important;
    gap: 5px !important;
  }
}

/* Keep the two desktop call choices compact over single-product pages. */
@media (min-width: 1024px) {
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"],
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] {
    right: 16px !important;
    bottom: 16px !important;
    width: 216px !important;
    min-width: 216px !important;
    max-width: calc(100vw - 32px) !important;
    gap: 6px !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn,
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn {
    flex: 0 0 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    padding: 6px 10px !important;
    border-radius: 14px !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__btn-icon,
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__btn-icon {
    flex: 0 0 32px !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__label,
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__label {
    flex: 1 !important;
    text-align: left !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__num,
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__num {
    margin-top: 1px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
  }
}


/* Use the hamburger glyph for the category control on desktop and mobile. */
html body #header .hd-category > summary > i:first-child {
  font-family: "Font Awesome 6 Free" !important;
  font-style: normal !important;
  font-weight: 900 !important;
}
html body #header .hd-category > summary > i:first-child::before {
  content: "\f0c9" !important;
}


/* Larger contact cards with tighter spacing on desktop and mobile. */
@media (min-width: 768px) {
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"],
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] {
    width: 260px !important;
    min-width: 260px !important;
    gap: 6px !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn,
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn {
    flex-basis: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    gap: 10px !important;
    padding: 6px 10px !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__btn-icon,
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__btn-icon {
    flex-basis: 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__label,
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__label {
    font-size: 13px !important;
    line-height: 1.15 !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__num,
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__num {
    font-size: 16px !important;
    line-height: 1.1 !important;
  }
}
@media (max-width: 767px) {
  html body #footer ~ div.hg-float-contact.is-open {
    width: min(260px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
  }
  html body #footer ~ div.hg-float-contact.is-open .hg-float-contact__options { gap: 6px !important; }
  html body #footer ~ div.hg-float-contact.is-open .hg-float__btn,
  html body #footer ~ div.hg-float-contact.is-open .hg-float__btn--call,
  html body #footer ~ div.hg-float-contact.is-open .hg-float__btn--zalo {
    height: 58px !important;
    min-height: 58px !important;
    padding: 6px 10px !important;
    gap: 10px !important;
  }
  html body #footer ~ div.hg-float-contact.is-open .hg-float__btn-icon {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
  }
  html body #footer ~ div.hg-float-contact.is-open .hg-float__label { font-size: 13px !important; }
  html body #footer ~ div.hg-float-contact.is-open .hg-float__num { font-size: 16px !important; }
}


/* Final contact-card sizing: larger type, icons, and less wasted space. */
@media (min-width: 1024px) {
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] { width: 280px !important; min-width: 280px !important; max-width: calc(100vw - 32px) !important; gap: 5px !important; }
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn { flex-basis: 64px !important; height: 64px !important; min-height: 64px !important; max-height: 64px !important; gap: 8px !important; padding: 5px 9px !important; border-radius: 16px !important; }
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__btn-icon { flex-basis: 44px !important; width: 44px !important; min-width: 44px !important; height: 44px !important; }
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__label { flex: 1 !important; text-align: left !important; font-size: 15px !important; line-height: 1.15 !important; }
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__num { margin-top: 2px !important; font-size: 18px !important; line-height: 1.1 !important; }
}
@media (max-width: 767px) {
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] { width: min(480px, calc(100vw - 24px)) !important; min-width: 0 !important; max-width: calc(100vw - 24px) !important; gap: 7px !important; }
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn { flex-basis: 72px !important; height: 72px !important; min-height: 72px !important; max-height: 72px !important; gap: 10px !important; padding: 6px 12px !important; border-radius: 17px !important; }
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__btn-icon { flex-basis: 48px !important; width: 48px !important; min-width: 48px !important; height: 48px !important; }
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__label { flex: 1 !important; text-align: left !important; font-size: 16px !important; line-height: 1.15 !important; }
  html body.single-product div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__num { margin-top: 2px !important; font-size: 20px !important; line-height: 1.1 !important; }
}


/* Give the contact cards final priority over legacy footer rules. */
@media (min-width: 1024px) {
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] { width: 280px !important; min-width: 280px !important; max-width: calc(100vw - 32px) !important; gap: 5px !important; }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn { flex-basis: 64px !important; height: 64px !important; min-height: 64px !important; max-height: 64px !important; gap: 8px !important; padding: 5px 9px !important; }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__btn-icon { flex-basis: 44px !important; width: 44px !important; min-width: 44px !important; height: 44px !important; }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__label { flex: 1 !important; text-align: left !important; font-size: 15px !important; line-height: 1.15 !important; }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__num { margin-top: 2px !important; font-size: 18px !important; line-height: 1.1 !important; }
}
@media (max-width: 767px) {
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] { width: min(480px, calc(100vw - 24px)) !important; min-width: 0 !important; max-width: calc(100vw - 24px) !important; gap: 7px !important; }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn { flex-basis: 72px !important; height: 72px !important; min-height: 72px !important; max-height: 72px !important; gap: 10px !important; padding: 6px 12px !important; }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__btn-icon { flex-basis: 48px !important; width: 48px !important; min-width: 48px !important; height: 48px !important; }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__label { flex: 1 !important; text-align: left !important; font-size: 16px !important; line-height: 1.15 !important; }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__num { margin-top: 2px !important; font-size: 20px !important; line-height: 1.1 !important; }
}


/* Expand the mobile contact list so the full phone numbers fit. */
@media (max-width: 767px) {
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list { width: min(480px, calc(100vw - 24px)) !important; max-width: calc(100vw - 24px) !important; }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn { width: 100% !important; flex: 0 0 80px !important; height: 80px !important; min-height: 80px !important; max-height: 80px !important; padding: 6px 12px !important; gap: 10px !important; }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__btn-icon { flex-basis: 52px !important; width: 52px !important; min-width: 52px !important; height: 52px !important; }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__label { font-size: 17px !important; }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__num { font-size: 21px !important; }
}


/* Left-align contact text and prevent phone numbers from truncating. */
html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__label { align-items: flex-start !important; text-align: left !important; min-width: 0 !important; }
html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__num { width: max-content !important; max-width: none !important; overflow: visible !important; text-overflow: clip !important; white-space: nowrap !important; }


/* Footer: clean three-column layout with replaceable consultant avatar slots. */
#footer.hgf--team {
  color: #17243b;
  background: #fff !important;
  border-top: 4px solid #075fe0;
  box-shadow: 0 -10px 30px rgba(20, 55, 100, .045);
}
#footer.hgf--team > .container {
  width: min(100% - 48px, 1480px) !important;
  max-width: 1480px !important;
  margin-inline: auto !important;
}
#footer.hgf--team .hgf-team__grid {
  display: grid !important;
  grid-template-columns: minmax(230px, .95fr) minmax(410px, 1.8fr) minmax(190px, .72fr);
  align-items: start;
  gap: clamp(22px, 2.2vw, 40px);
  padding: 42px 0 34px;
}
#footer.hgf--team .hgf-team__company,
#footer.hgf--team .hgf-team__consult,
#footer.hgf--team .hgf-team__nav { min-width: 0; }
#footer.hgf--team .hgf-team__logo { display: inline-flex; margin: 0 0 22px; }
#footer.hgf--team .hgf-team__logo img { display: block; width: 174px; max-width: 100%; height: auto; }
#footer.hgf--team h3 {
  margin: 0 0 17px;
  color: #101d36;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .015em;
  text-transform: uppercase;
}
#footer.hgf--team .hgf-team__company h3 { margin-bottom: 10px; font-size: 14px; }
#footer.hgf--team .hgf-team__intro,
#footer.hgf--team .hgf-team__section-note {
  margin: 0 0 18px;
  color: #748196;
  font-size: 13px;
  line-height: 1.6;
}
#footer.hgf--team .hgf-team__address {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  margin: 0 0 14px;
}
#footer.hgf--team .hgf-team__address-icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 13px;
  background: #edf4ff;
  color: #075fe0;
  font-size: 17px;
}
#footer.hgf--team .hgf-team__address p { display: grid; gap: 4px; margin: 1px 0 0; }
#footer.hgf--team .hgf-team__address strong { color: #202e46; font-size: 13px; line-height: 1.4; }
#footer.hgf--team .hgf-team__address span,
#footer.hgf--team .hgf-team__email,
#footer.hgf--team .hgf-team__hours { color: #778397; font-size: 13px; line-height: 1.55; }
#footer.hgf--team .hgf-team__email,
#footer.hgf--team .hgf-team__hours { display: flex; align-items: center; gap: 9px; margin: 10px 0 0; text-decoration: none; overflow-wrap: anywhere; }
#footer.hgf--team .hgf-team__email i,
#footer.hgf--team .hgf-team__hours i { flex: 0 0 16px; color: #3378ee; text-align: center; }
#footer.hgf--team .hgf-team__socials { display: flex; gap: 10px; margin-top: 20px; }
#footer.hgf--team .hgf-team__socials a {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #e2e9f3;
  border-radius: 50%;
  color: #1765dc;
  background: #fff;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
#footer.hgf--team .hgf-team__socials a:hover { transform: translateY(-2px); border-color: #bfd5fb; background: #f2f7ff; }
#footer.hgf--team .hgf-team__section-note { margin-top: -8px; margin-bottom: 16px; }
#footer.hgf--team .hgf-team__advisor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
#footer.hgf--team .hgf-team__advisor-card {
  display: flex;
  min-width: 0;
  min-height: 238px;
  flex-direction: column;
  align-items: center;
  padding: 23px 16px 18px;
  border: 1px solid #e3e9f1;
  border-radius: 16px;
  background: #fff;
  text-align: center;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
#footer.hgf--team .hgf-team__advisor-card:hover { transform: translateY(-2px); border-color: #c8dcff; box-shadow: 0 10px 26px rgba(26, 73, 142, .08); }
#footer.hgf--team .hgf-team__avatar {
  display: grid;
  width: 66px;
  height: 66px;
  flex: 0 0 66px;
  place-items: center;
  overflow: hidden;
  border: 4px solid #f0f6ff;
  border-radius: 50%;
  background: #e7f0ff;
  color: #1765dc;
  font-size: 24px;
}
#footer.hgf--team .hgf-team__avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
#footer.hgf--team .hgf-team__advisor-card h4 { margin: 13px 0 8px; color: #17243b; font-size: 15px; font-weight: 750; line-height: 1.35; }
#footer.hgf--team .hgf-team__phone { display: inline-flex; align-items: center; gap: 8px; color: #707d90; font-size: 14px; line-height: 1.4; text-decoration: none; white-space: nowrap; }
#footer.hgf--team .hgf-team__phone i { color: #397df1; }
#footer.hgf--team .hgf-team__zalo {
  display: inline-flex;
  min-width: 116px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  padding: 8px 18px;
  border-radius: 999px;
  background: #eaf2ff;
  color: #075fe0;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background .18s ease, color .18s ease;
}
#footer.hgf--team .hgf-team__zalo:hover { background: #075fe0; color: #fff; }
#footer.hgf--team .hgf-team__nav { display: grid; gap: 27px; }
#footer.hgf--team .hgf-team__nav-group { display: grid; align-content: start; gap: 13px; }
#footer.hgf--team .hgf-team__nav-group h3 { margin: 0 0 1px; }
#footer.hgf--team .hgf-team__nav-group a { color: #26354d; font-size: 14px; line-height: 1.4; text-decoration: none; transition: color .18s ease; }
#footer.hgf--team .hgf-team__nav-group a:hover { color: #075fe0; }
#footer.hgf--team .hgf-team__bottom { padding: 16px 0 20px; border-top: 1px solid #e6ebf3; }
#footer.hgf--team .hgf-team__bottom p { margin: 0; color: #7a8799; font-size: 12px; line-height: 1.55; }

@media (max-width: 1120px) {
  #footer.hgf--team .hgf-team__grid { grid-template-columns: minmax(220px, .9fr) minmax(0, 1.6fr); gap: 28px; }
  #footer.hgf--team .hgf-team__nav { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-top: 22px; border-top: 1px solid #e6ebf3; }
}
@media (max-width: 700px) {
  #footer.hgf--team > .container { width: calc(100% - 32px) !important; }
  #footer.hgf--team .hgf-team__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; padding: 30px 0 24px; }
  #footer.hgf--team .hgf-team__logo { margin-bottom: 16px; }
  #footer.hgf--team .hgf-team__company h3 { font-size: 13px; }
  #footer.hgf--team .hgf-team__nav { grid-column: auto; gap: 24px; padding-top: 22px; }
  #footer.hgf--team .hgf-team__bottom { padding-bottom: 24px; }
}
@media (max-width: 440px) {
  #footer.hgf--team .hgf-team__advisor-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  #footer.hgf--team .hgf-team__advisor-card { min-height: 0; padding: 18px 14px 16px; }
  #footer.hgf--team .hgf-team__nav { grid-template-columns: minmax(0, 1fr); }
}


/* Footer reference: clean light surface overrides legacy blue footer skin. */
html body #footer.site-footer.hgf.hgf--reference.hgf--team {
  background: #fff !important;
  background-image: none !important;
  color: #203047 !important;
  border-top: 1px solid #e3eaf4;
}
html body #footer.site-footer.hgf.hgf--reference.hgf--team .container { background: transparent !important; }
html body #footer.site-footer.hgf.hgf--reference.hgf--team h3 { color: #14233f !important; }
html body #footer.site-footer.hgf.hgf--reference.hgf--team .hgf-team__intro,
html body #footer.site-footer.hgf.hgf--reference.hgf--team .hgf-team__address span,
html body #footer.site-footer.hgf.hgf--reference.hgf--team .hgf-team__email,
html body #footer.site-footer.hgf.hgf--reference.hgf--team .hgf-team__hours,
html body #footer.site-footer.hgf.hgf--reference.hgf--team .hgf-team__bottom p { color: #748096 !important; }
html body #footer.site-footer.hgf.hgf--reference.hgf--team .hgf-team__nav-group a { color: #26354d !important; }
html body #footer.site-footer.hgf.hgf--reference.hgf--team .hgf-team__advisor-card {
  border-color: #e3e9f1;
  background: #fff !important;
}

/* Remove legacy vertical padding from the footer's two content sections. */
html body #footer.site-footer.hgf.hgf--reference.hgf--team .hgf-team__company,
html body #footer.site-footer.hgf.hgf--reference.hgf--team .hgf-team__consult {
  padding: 0 !important;
}


/* Compact, accessible CAPTCHA for quote forms. */
.hg-quote-captcha { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin:12px 0; padding:10px 12px; border:1px solid #dedede; border-radius:10px; background:#fff; }
.hg-quote-captcha__prompt { display:grid; gap:2px; min-width:0; }
.hg-quote-captcha__label { color:#555; font-size:12px; line-height:1.35; }
.hg-quote-captcha__question { color:#263238; font-size:17px; font-weight:800; line-height:1.2; }
.hg-quote-captcha__answer { flex:0 0 100px; width:100px; margin:0; }
.hg-quote-captcha__answer input { width:100%; min-width:0; min-height:42px; margin:0; padding:7px 9px; border:1px solid #cbd8e9; border-radius:8px; background:#fff; text-align:center; font-weight:700; }
.hg-quote-captcha__honeypot { position:absolute!important; left:-10000px!important; top:auto!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.hg-quote-modal__status[role="status"] { color:#b42318; }
.spd-quote-error { margin:0 0 12px; padding:10px 12px; border:1px solid #f1c5c1; border-radius:8px; background:#fff7f6; color:#a52a21; font-size:13px; line-height:1.5; }
@media (max-width:480px) { .hg-quote-captcha { gap:8px; padding:9px 10px; } .hg-quote-captcha__label { font-size:11px; } .hg-quote-captcha__question { font-size:16px; } .hg-quote-captcha__answer { flex-basis:88px; width:88px; } }


/* Balance the desktop header without changing the mobile layout. */
@media (min-width: 1200px) {
  #header .hd-top__inner { grid-template-columns: minmax(176px, 184px) minmax(124px, 136px) minmax(320px, 1fr) auto !important; column-gap: 16px !important; }
  #header .hd-top__logo img { width: 180px !important; max-height: 54px !important; } #header .hd-category > summary { min-height: 46px !important; }
}
@media (min-width: 851px) and (max-width: 1199px) {
  #header .hd-top__inner { grid-template-columns: 164px minmax(0, 1fr) !important; grid-template-areas: "brand actions" "category search" !important; column-gap: 16px !important; }
  #header .hd-top__search { width: 100% !important; max-width: none !important; }
  #header .hd-top__actions { grid-column: 2 !important; justify-self: end !important; }
}
@media (min-width: 851px) {
  #header .hd-category > summary { box-sizing: border-box !important; width: 100% !important; }
  #header .hg-primary-nav__list { width: 100% !important; justify-content: space-between !important; gap: 4px !important; }
  #header .hg-primary-nav__list > li > a { font-size: clamp(13.5px, 1vw, 14px) !important; }
  #header .hd-benefits__inner { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; min-height: 52px !important; gap: 0 !important; overflow: visible !important; }
  #header .hd-benefits__inner span { display: flex !important; flex: initial !important; min-width: 0 !important; justify-content: center !important; padding: 6px 8px !important; white-space: normal !important; text-align: center !important; font-size: 12px !important; line-height: 1.3 !important; }
}


/* Homepage refinements: neutral category colors and a compact desktop contact button. */
html body section.hg-solutions { background: #f7f8fa !important; }
body.home .hg-solution-panel { background: #f5f7f8 !important; border: 1px solid #e3e9f2 !important; border-top: 0 !important; border-radius: 0 0 20px 20px !important; box-shadow: none !important; }
body.home .hg-solution-card { border: 1px solid #e4eaf2 !important; box-shadow: 0 5px 18px rgba(23, 43, 77, .06) !important; }
body.home .hg-solution-tab:not(.is-active) { background: #fff !important; }
@media (min-width: 768px) {
  html body .hg-float-contact { position: fixed !important; right: 20px !important; bottom: 20px !important; width: 56px !important; height: 56px !important; overflow: visible !important; }
  html body #hg-float-contact-list,
  html body #hg-float-contact-list[hidden] { position: fixed !important; right: 20px !important; bottom: 20px !important; left: auto !important; top: auto !important; display: flex !important; flex-direction: row !important; width: 56px !important; height: 56px !important; max-height: none !important; overflow: visible !important; }
  html body .hg-float-contact .hg-float__btn--hcm,
  html body .hg-float-contact .hg-float__btn--zalo,
  html body .hg-float-contact .hg-float__toggle,
  html body #hg-float-contact-list > a:not(.hg-float__btn--hanoi) { display: none !important; }
  html body .hg-float-contact .hg-float__btn--hanoi { position: fixed !important; right: 20px !important; bottom: 20px !important; display: flex !important; width: 56px !important; min-width: 56px !important; height: 56px !important; min-height: 56px !important; max-height: 56px !important; flex: 0 0 56px !important; justify-content: center !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #1264e8 !important; color: #fff !important; box-shadow: 0 8px 24px rgba(18, 100, 232, .24) !important; }
  html body .hg-float-contact .hg-float__btn--hanoi .hg-float__label { display: none !important; }
  html body .hg-float-contact .hg-float__btn--hanoi .hg-float__btn-icon { display: flex !important; width: 56px !important; height: 56px !important; margin: 0 !important; border-radius: 50% !important; background: transparent !important; color: #fff !important; }
}


/* Nút gọi lại nổi: luôn hiện trên PC, mở nhanh hai hotline */
@media (min-width: 851px) {
  html body div.hg-float-contact[data-hg-compact-ready="1"] {
    position: fixed !important;
    right: 20px !important;
    bottom: 20px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    align-items: flex-end !important;
    gap: 10px !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle {
    position: fixed !important;
    right: 20px !important;
    bottom: 20px !important;
    z-index: 100001 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: auto !important;
    min-width: 148px !important;
    max-width: 190px !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 18px 0 10px !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg,#075fe0,#347fe9) !important;
    color: #fff !important;
    box-shadow: 0 9px 24px rgba(7,78,179,.26) !important;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
    cursor: pointer !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle:hover,
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle:focus-visible {
    transform: translateY(-2px) !important;
    background: linear-gradient(135deg,#064fb5,#176cda) !important;
    box-shadow: 0 12px 28px rgba(7,78,179,.32) !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle > .fa-phone {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.16) !important;
    color: #fff !important;
    font-size: 16px !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle-label {
    display: inline-flex !important;
    color: #fff !important;
    font-size: 0 !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle-label::before {
    content: "Gọi lại";
    font-size: 15px;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle-caret,
  html body div.hg-float-contact[data-hg-compact-ready="1"].is-open .hg-float__toggle::after {
    display: none !important;
    content: none !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"].is-open .hg-float__toggle-label::before {
    content: "Đóng";
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list {
    position: fixed !important;
    right: 20px !important;
    bottom: 84px !important;
    z-index: 100000 !important;
    display: none !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: min(250px,calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    max-height: min(60vh,360px) !important;
    overflow: auto !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"].is-open .hg-float__list:not([hidden]) {
    display: flex !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn--call {
    display: flex !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 7px 12px !important;
    border: 1px solid #dce8f8 !important;
    border-radius: 15px !important;
    background: #fff !important;
    color: #173b70 !important;
    box-shadow: 0 7px 20px rgba(18,62,122,.15) !important;
    animation: none !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn--hcm {
    display: flex !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn--zalo {
    display: none !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list .hg-float__label {
    display: block !important;
    color: #52627a !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list .hg-float__num {
    display: block !important;
    margin-top: 3px !important;
    color: #173b70 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body div.hg-float-contact[data-hg-compact-ready="1"] .hg-float__toggle {
    transition: none !important;
  }
}


/* PC: luôn bung sẵn hai nút gọi Hà Nội và TP.HCM */
@media (min-width: 851px) {
  html body div.hg-float-contact[data-hg-compact-ready="1"] {
    position: fixed !important;
    right: 20px !important;
    bottom: 20px !important;
    z-index: 100000 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: min(248px,calc(100vw - 40px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 40px) !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list,
  html body div.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list[hidden] {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  html body div.hg-float-contact[data-hg-compact-ready="1"] > .hg-float__toggle {
    display: none !important;
  }
  html body #hg-float-contact-list > a.hg-float__btn--hanoi,
  html body #hg-float-contact-list > a.hg-float__btn--hcm {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    box-sizing: border-box !important;
    flex: 0 0 60px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 7px 14px 7px 8px !important;
    border: 1px solid #dce7f6 !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: #173b70 !important;
    box-shadow: 0 7px 20px rgba(18,62,122,.14) !important;
    text-decoration: none !important;
    transform: none !important;
    animation: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
  }
  html body #hg-float-contact-list > a.hg-float__btn--hanoi:hover,
  html body #hg-float-contact-list > a.hg-float__btn--hcm:hover {
    border-color: #b8d0f3 !important;
    box-shadow: 0 10px 24px rgba(18,62,122,.2) !important;
    transform: translateY(-2px) !important;
  }
  html body #hg-float-contact-list > a.hg-float__btn--hanoi .hg-float__btn-icon,
  html body #hg-float-contact-list > a.hg-float__btn--hcm .hg-float__btn-icon {
    display: flex !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #eaf2ff !important;
    color: #075fe0 !important;
  }
  html body #hg-float-contact-list > a.hg-float__btn--hanoi .hg-float__btn-icon i,
  html body #hg-float-contact-list > a.hg-float__btn--hcm .hg-float__btn-icon i {
    color: #075fe0 !important;
    font-size: 17px !important;
  }
  html body #hg-float-contact-list > a.hg-float__btn--hanoi .hg-float__label,
  html body #hg-float-contact-list > a.hg-float__btn--hcm .hg-float__label {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    color: #52627a !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }
  html body #hg-float-contact-list > a.hg-float__btn--hanoi .hg-float__num,
  html body #hg-float-contact-list > a.hg-float__btn--hcm .hg-float__num {
    display: block !important;
    margin-top: 3px !important;
    color: #173b70 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
  }
  html body #hg-float-contact-list > a.hg-float__btn--zalo {
    display: none !important;
  }
}


/* Ưu tiên hiển thị đồng thời hai hotline PC trên các quy tắc cũ */
@media (min-width: 851px) {
  html body #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"],
  html body div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] {
    width: min(248px,calc(100vw - 40px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 40px) !important;
    height: auto !important;
    align-items: stretch !important;
  }
  html body #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list,
  html body #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list[hidden],
  html body div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list,
  html body div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list[hidden] {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  html body #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] > .hg-float__toggle,
  html body div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] > .hg-float__toggle {
    display: none !important;
  }
  html body #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list > a.hg-float__btn--hanoi,
  html body #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list > a.hg-float__btn--hcm,
  html body div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list > a.hg-float__btn--hanoi,
  html body div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list > a.hg-float__btn--hcm {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex: 0 0 60px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    padding: 7px 14px 7px 8px !important;
    border: 1px solid #dce7f6 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 7px 20px rgba(18,62,122,.14) !important;
  }
}


@media (min-width: 851px) {
  html body #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list > a.hg-float__btn--hanoi,
  html body div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list > a.hg-float__btn--hanoi {
    justify-content: flex-start !important;
    gap: 12px !important;
    padding-left: 8px !important;
  }
  html body #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list > a.hg-float__btn--hanoi .hg-float__label,
  html body div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list > a.hg-float__btn--hanoi .hg-float__label {
    display: block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: #52627a !important;
    font-size: 12px !important;
    text-align: left !important;
  }
  html body #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list > a.hg-float__btn--hanoi .hg-float__num,
  html body div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] #hg-float-contact-list#hg-float-contact-list > a.hg-float__btn--hanoi .hg-float__num {
    display: block !important;
    color: #173b70 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
  }
}


/* Homepage refresh: balanced product cards and a compact editorial grid. */
@media (min-width: 1200px) {
  body.home .hg-solution-feature {
    grid-template-columns: minmax(230px, .95fr) minmax(0, 4.05fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
  }
  body.home .hg-solution-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
  body.home .hg-solution-panel__intro {
    min-height: 100% !important;
    padding: 26px 22px !important;
    justify-content: center !important;
    line-height: 1.65 !important;
  }
  body.home .lp-blog__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(205px, auto) !important;
    gap: 18px !important;
    align-items: stretch !important;
  }
  body.home .lp-blog__card:first-child {
    grid-area: span 2 / span 2 !important;
  }
}

@media (min-width: 851px) and (max-width: 1199px) {
  body.home .hg-solution-feature {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  body.home .hg-solution-panel__intro {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 16px 20px !important;
    border-radius: 13px !important;
    line-height: 1.6 !important;
  }
  body.home .hg-solution-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
  body.home .lp-blog__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(190px, auto) !important;
    gap: 18px !important;
  }
  body.home .lp-blog__card:first-child {
    grid-area: span 2 / span 2 !important;
  }
}

body.home .hg-solution-card {
  min-width: 0 !important;
  height: 100% !important;
  padding: 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 15px !important;
  box-shadow: 0 7px 20px rgba(18, 53, 101, .07) !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
body.home .hg-solution-card:hover {
  transform: translateY(-3px) !important;
  border-color: #c9d9f1 !important;
  box-shadow: 0 12px 26px rgba(18, 53, 101, .12) !important;
}
body.home .hg-solution-card__image {
  width: 100% !important;
  aspect-ratio: 1.38 / 1 !important;
  height: auto !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: #f3f6fa !important;
}
body.home .hg-solution-card__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .35s ease !important;
}
body.home .hg-solution-card:hover .hg-solution-card__image img {
  transform: scale(1.035) !important;
}
body.home .hg-solution-card__body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
  padding: 13px 2px 2px !important;
}
body.home .hg-solution-card__title {
  min-height: 42px !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}
body.home .hg-solution-card__price {
  min-height: 39px !important;
  margin-top: auto !important;
  padding: 8px 11px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
body.home .hg-solution-card__more {
  min-height: 38px !important;
  padding: 0 12px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

body.home .lp-blog__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: minmax(200px, auto) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
body.home .lp-blog__card {
  min-width: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: 0 7px 22px rgba(20, 42, 83, .07) !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
body.home .lp-blog__card:hover {
  transform: translateY(-3px) !important;
  border-color: #c9d9f1 !important;
  box-shadow: 0 13px 28px rgba(20, 42, 83, .12) !important;
}
body.home .lp-blog__card:first-child {
  grid-area: span 2 / span 2 !important;
}
body.home .lp-blog__img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1.62 / 1 !important;
  height: auto !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  background: #eaf0f8 !important;
}
body.home .lp-blog__img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .35s ease !important;
}
body.home .lp-blog__card:hover .lp-blog__img img {
  transform: scale(1.025) !important;
}
body.home .lp-blog__body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
  padding: 15px 16px 17px !important;
}
body.home .lp-blog__date {
  color: #718096 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
body.home .lp-blog__body h4 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
  margin: 0 !important;
  color: #172b4d !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}
body.home .lp-blog__card:first-child .lp-blog__img {
  aspect-ratio: 1.72 / 1 !important;
}
body.home .lp-blog__card:first-child .lp-blog__body {
  padding: 19px 21px 21px !important;
}
body.home .lp-blog__card:first-child .lp-blog__body h4 {
  font-size: clamp(19px, 2vw, 23px) !important;
  line-height: 1.35 !important;
  -webkit-line-clamp: 3 !important;
}

@media (max-width: 850px) {
  body.home .hg-solution-feature {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  body.home .hg-solution-panel__intro {
    min-height: 0 !important;
    padding: 15px 17px !important;
  }
  body.home .hg-solution-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  body.home .lp-blog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(0, auto) !important;
    gap: 14px !important;
  }
  body.home .lp-blog__card:first-child {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
  body.home .lp-blog__card:first-child .lp-blog__img {
    aspect-ratio: 1.85 / 1 !important;
  }
}

@media (max-width: 600px) {
  body.home .hg-solution-panel__intro {
    padding: 14px 15px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }
  body.home .hg-solution-grid {
    gap: 10px !important;
  }
  body.home .hg-solution-card {
    padding: 8px !important;
    border-radius: 13px !important;
  }
  body.home .hg-solution-card__image {
    aspect-ratio: 1.16 / 1 !important;
    border-radius: 8px !important;
  }
  body.home .hg-solution-card__body {
    gap: 8px !important;
    padding: 10px 1px 1px !important;
  }
  body.home .hg-solution-card__title {
    min-height: 39px !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
  }
  body.home .hg-solution-card__price {
    min-height: 35px !important;
    padding: 7px 9px !important;
    font-size: 13px !important;
  }
  body.home .hg-solution-card__more {
    min-height: 35px !important;
    font-size: 12px !important;
  }
  body.home .lp-blog__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
  }
  body.home .lp-blog__card:first-child {
    grid-column: auto !important;
  }
  body.home .lp-blog__img,
  body.home .lp-blog__card:first-child .lp-blog__img {
    aspect-ratio: 1.72 / 1 !important;
  }
  body.home .lp-blog__body,
  body.home .lp-blog__card:first-child .lp-blog__body {
    padding: 14px 15px 16px !important;
  }
  body.home .lp-blog__body h4 {
    font-size: 16px !important;
  }
  body.home .lp-blog__card:first-child .lp-blog__body h4 {
    font-size: 18px !important;
  }
}


/* Desktop and tablet news grid: keep the feature article in a three-column rhythm. */
@media (min-width: 851px) and (max-width: 1199px) {
  body.home .lp-blog__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(190px, auto) !important;
    gap: 18px !important;
  }
  body.home .lp-blog__card:first-child {
    grid-area: span 2 / span 2 !important;
  }
}


@media (min-width: 851px) and (max-width: 1199px) {
  body.home .lp-blog__img {
    aspect-ratio: 2.05 / 1 !important;
  }
  body.home .lp-blog__card:first-child .lp-blog__img {
    aspect-ratio: 1.72 / 1 !important;
  }
  body.home .lp-blog__body {
    gap: 6px !important;
    padding: 12px 14px 14px !important;
  }
  body.home .lp-blog__body h4 {
    font-size: 14px !important;
    -webkit-line-clamp: 2 !important;
  }
}

/* Hide online quote forms and checkout controls; keep search and direct contact available. */
body #spd-quote-form,
body .spd-quote-form,
body #quote-form,
body .quote-form,
body .request-quote-form,
body .contact-form,
body .wpcf7,
body .wpforms-container,
body .fluentform,
body .elementor-form,
body .gform_wrapper,
body .nf-form-cont,
body .forminator-ui,
body form:not(.search-form):not(.woocommerce-product-search):not(.hg-search-form):not(.header-search):not([role=search]):not([class*=search]):not([id*=search]) {
  display: none !important;
}

/* Remove links that start a quote, cart, or online payment flow. */
body a[href*="spd-quote-form"],
body a[href*="bao-gia"],
body a[href*="add-to-cart"],
body a[href*="gio-hang"],
body a[href*="/cart/"],
body a[href*="thanh-toan"],
body .add_to_cart_button,
body .single_add_to_cart_button,
body .buy-now,
body .buy_now_button,
body .wc-proceed-to-checkout,
body .checkout-button,
body .cart-contents,
body .header-cart,
body .widget_shopping_cart,
body .woocommerce .quantity,
body .single-product .quantity,
body form.cart,
body .woocommerce-cart-form,
body .woocommerce form.checkout,
body .woocommerce-checkout #order_review {
  display: none !important;
}

/* Hide checkout screens if someone opens a saved cart or checkout URL directly. */
body.woocommerce-cart main,
body.woocommerce-checkout main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main {
  display: none !important;
}

/* Hide the custom quantity and purchase panel on product pages. */
body.single-product .spd-cart-wrap { display: none !important; }


/* Hide the header benefits strip across the site. */
body .hd-benefits {
  display: none !important;
}


/* Homepage project gallery: cleaner spacing, stronger hierarchy, balanced product cards. */
body.home .hg-work {
  padding: clamp(52px, 6vw, 84px) 0;
  background: linear-gradient(180deg, #f5f8fd 0%, #ffffff 100%);
  border-top: 1px solid #e7edf5;
}
body.home .hg-work__inner { width: calc(100% - 48px); max-width: 1360px; }
body.home .hg-work__intro { max-width: 820px; margin: 0 auto clamp(36px, 4vw, 52px); text-align: center; }
body.home .hg-work__intro .hg-section-eyebrow {
  padding: 6px 12px; border: 1px solid #dce8fb; border-radius: 999px;
  background: #eaf2ff; color: #245db8; font-size: 10px; letter-spacing: .15em;
}
body.home .hg-work__intro h2 {
  margin: 14px 0 12px; color: #12244a; font-size: clamp(31px, 3.4vw, 46px);
  line-height: 1.15; letter-spacing: -.035em;
}
body.home .hg-work__intro p { max-width: 720px; margin: 0 auto; color: #66768d; font-size: clamp(14px, 1.2vw, 16px); line-height: 1.75; }
body.home .hg-work__group + .hg-work__group { margin-top: clamp(34px, 4vw, 52px); }
body.home .hg-work__group-head { gap: 20px; margin-bottom: 18px; padding-bottom: 14px; border-color: #d7e2f0; }
body.home .hg-work__group-head h3 { position: relative; padding-left: 14px; color: #18315c; font-size: clamp(18px, 2vw, 23px); line-height: 1.3; }
body.home .hg-work__group-head h3::before { content: ""; position: absolute; top: .12em; bottom: .12em; left: 0; width: 4px; border-radius: 8px; background: #2466cf; }
body.home .hg-work__group-head p { color: #718198; font-size: 13px; }
body.home .hg-work__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(270px, 22vw, 320px); gap: clamp(12px, 1.4vw, 18px); }
body.home .hg-work__grid > .hg-work__card:first-child { grid-column: span 2; grid-row: span 2; display: flex; flex-direction: column; overflow: hidden; }
body.home .hg-work__card { position: relative; display: flex; height: 100%; flex-direction: column; overflow: hidden; padding: 8px; border: 1px solid #dce6f2; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(20, 48, 88, .065); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
body.home .hg-work__card:hover, body.home .hg-work__card:focus-visible { transform: translateY(-3px); border-color: #b9cdec; box-shadow: 0 14px 30px rgba(20, 48, 88, .12); }
body.home .hg-work__media { flex: 0 0 auto; aspect-ratio: 16 / 10; border: 1px solid #edf1f7; border-radius: 14px; background: #f3f6fa; }
body.home .hg-work__media img { object-fit: contain; }
body.home .hg-work__body { flex: 1; min-height: 92px; padding: 11px 8px 6px; }
body.home .hg-work__kind { font-size: 9px; letter-spacing: .13em; }
body.home .hg-work__title { margin: 5px 0 8px; color: #172b4d; font-size: 14px; line-height: 1.4; }
body.home .hg-work__link { font-size: 12px; }
@media (max-width: 900px) {
  body.home .hg-work__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; }
  body.home .hg-work__grid > .hg-work__card:first-child { grid-column: span 2; grid-row: auto; }
  body.home .hg-work__grid > .hg-work__card:first-child .hg-work__media { aspect-ratio: 2 / 1; }
}
@media (max-width: 740px) {
  body.home .hg-work { padding: 44px 0; }
  body.home .hg-work__inner { width: calc(100% - 32px); }
  body.home .hg-work__intro { margin-bottom: 32px; }
  body.home .hg-work__intro h2 { font-size: clamp(27px, 7vw, 34px); }
  body.home .hg-work__group + .hg-work__group { margin-top: 34px; }
  body.home .hg-work__group-head { margin-bottom: 14px; }
  body.home .hg-work__grid { gap: 10px; }
  body.home .hg-work__grid > .hg-work__card:first-child .hg-work__media { aspect-ratio: 16 / 9; }
  body.home .hg-work__grid > .hg-work__card:not(:first-child) .hg-work__media { aspect-ratio: 4 / 3; }
  body.home .hg-work__card { padding: 6px; border-radius: 15px; }
  body.home .hg-work__media { border-radius: 10px; }
  body.home .hg-work__body { min-height: 88px; padding: 9px 5px 5px; }
  body.home .hg-work__title { font-size: 12px; }
}
@media (max-width: 430px) {
  body.home .hg-work__inner { width: calc(100% - 24px); }
  body.home .hg-work__group-head h3 { font-size: 17px; }
  body.home .hg-work__group-head p { font-size: 12px; }
}


/* Let the featured gallery image fill its span without stretching the caption. */
body.home .hg-work__grid > .hg-work__card:first-child .hg-work__media { flex: 1 1 auto; min-height: 0; aspect-ratio: auto; }
body.home .hg-work__grid > .hg-work__card:first-child .hg-work__body { flex: 0 0 auto; min-height: 92px; }
@media (max-width: 900px) {
  body.home .hg-work__grid > .hg-work__card:first-child .hg-work__media { flex: 0 0 auto; aspect-ratio: 2 / 1; }
}
@media (max-width: 740px) {
  body.home .hg-work__grid > .hg-work__card:first-child .hg-work__media { aspect-ratio: 16 / 9; }
}


/* Widen product category content while keeping a balanced page gutter. */
@media (min-width: 901px) {
      body.tax-product_cat .arc-header > .container,
        body.tax-product_cat .arc-bag-guide > .container,
          body.tax-product_cat .arc-products > .container,
            body.tax-product_cat .arc-desc > .container,
              body.post-type-archive-product .arc-header > .container,
                body.post-type-archive-product .arc-bag-guide > .container,
                  body.post-type-archive-product .arc-products > .container,
                    body.post-type-archive-product .arc-desc > .container {
                            width: calc(100% - clamp(32px, 4vw, 72px));
                                max-width: 2200px;
                    }
}

                    }
}

/* Apply the wider frame to the archive template wrappers directly. */
@media (min-width: 901px) {
      .arc-header > .container,
        .arc-bag-guide .container,
          .arc-products .container,
            .arc-desc .container {
                    width: calc(100% - 48px) !important;
                        max-width: 2200px !important;
                            margin-inline: auto;
            }
}

            }
}

/* Expand product category sections across the desktop page width. */
@media (min-width: 901px) {
  html body.tax-product_cat .arc-header,
  html body.tax-product_cat .arc-bag-guide,
  html body.tax-product_cat .arc-products,
  html body.tax-product_cat .arc-filter,
  html body.tax-product_cat .arc-desc {
    box-sizing: border-box !important;
    width: calc(100vw - clamp(32px, 4vw, 72px)) !important;
    max-width: 2200px !important;
    margin-left: calc(50% - 50vw + clamp(16px, 2vw, 36px)) !important;
    margin-right: auto !important;
  }

  html body.tax-product_cat .arc-header .container,
  html body.tax-product_cat .arc-bag-guide .container,
  html body.tax-product_cat .arc-products .container,
  html body.tax-product_cat .arc-filter .container,
  html body.tax-product_cat .arc-desc .container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* Wide desktop archive layout: break category sections out of the theme's capped container. */
@media (min-width: 901px) {
  .arc-header,
  .arc-bag-guide,
  .arc-products,
  .arc-filter,
  .arc-desc {
    box-sizing: border-box !important;
    width: calc(100vw - clamp(32px, 4vw, 72px)) !important;
    max-width: 2200px !important;
    margin-left: calc(50% - 50vw + clamp(16px, 2vw, 36px)) !important;
    margin-right: auto !important;
  }

  .arc-header .container,
  .arc-bag-guide .container,
  .arc-products .container,
  .arc-filter .container,
  .arc-desc .container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* Keep catalog product images in consistent 4:3 (800x600) frames. */
body.tax-product_cat .arc-bag-products img,
body.tax-product_cat .arc-products img,
body.archive.woocommerce ul.products li.product a img {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
}


/* Hide product prices on category cards and product detail pages. */
body.tax-product_cat .arc-bag-products .price,
body.tax-product_cat .arc-products .price,
body.archive.woocommerce ul.products li.product .price,
body.single-product .spd-print-price,
body.single-product .spd-print-price__divider,
body.single-product .price {
  display: none !important;
}

/* Also hide prices on related-product cards shown beneath product details. */
body.single-product .spd-related-card__price {
  display: none !important;
}


/* Product detail: clear section tabs and readable specification tables. */
html body.single-product .spd-product-tabs {
  display: flex !important; gap: 6px !important; min-height: 0 !important; height: auto !important;
  margin: 0 auto 20px !important; padding: 7px !important; border: 1px solid #e2eaf5 !important;
  border-radius: 14px !important; background: #f7faff !important;
  box-shadow: 0 6px 18px rgba(24, 55, 98, .08) !important; overflow-x: auto !important;
  scrollbar-width: none; overscroll-behavior-x: contain;
}
html body.single-product .spd-product-tabs::-webkit-scrollbar { display: none; }
html body.single-product .spd-product-tabs a {
  display: inline-flex !important; flex: 0 0 auto !important; align-items: center !important;
  justify-content: center; min-height: 42px !important; padding: 0 16px !important;
  border: 1px solid transparent !important; border-radius: 10px !important;
  color: #53647c !important; -webkit-text-fill-color: #53647c !important;
  background: transparent !important; font-size: 14px !important; font-weight: 650 !important;
  line-height: 1.25 !important; text-decoration: none !important; white-space: nowrap !important;
  transition: color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
html body.single-product .spd-product-tabs a:hover { color: #155ac5 !important; -webkit-text-fill-color: #155ac5 !important; background: #fff !important; border-color: #e0e9f6 !important; }
html body.single-product .spd-product-tabs a.is-active { color: #fff !important; -webkit-text-fill-color: #fff !important; background: #1765d8 !important; border-color: #1765d8 !important; font-weight: 700 !important; box-shadow: 0 4px 11px rgba(23, 101, 216, .22) !important; }
html body.single-product #spd-description [aria-label*="trượt"] { max-width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
html body.single-product #spd-description .ftwp-postcontent table,
html body.single-product #spd-description table {
  width: 100% !important; min-width: 520px !important; margin: 16px 0 24px !important;
  border: 1px solid #dce6f3 !important; border-radius: 13px !important; border-collapse: separate !important;
  border-spacing: 0 !important; overflow: hidden !important; background: #fff !important;
  color: #26364d !important; box-shadow: 0 5px 16px rgba(25, 55, 95, .06) !important;
  font-size: 15px !important; line-height: 1.55 !important;
}
html body.single-product #spd-description .ftwp-postcontent table th,
html body.single-product #spd-description .ftwp-postcontent table td,
html body.single-product #spd-description table th,
html body.single-product #spd-description table td {
  padding: 13px 16px !important; border: 0 !important; border-bottom: 1px solid #e8edf5 !important;
  background: #fff !important; color: #26364d !important; -webkit-text-fill-color: #26364d !important;
  text-align: left !important; vertical-align: middle !important;
}
html body.single-product #spd-description table th { font-weight: 700 !important; }
html body.single-product #spd-description .ftwp-postcontent table tbody tr:nth-child(even) > *,
html body.single-product #spd-description table tbody tr:nth-child(even) > * { background: #f8faff !important; }
html body.single-product #spd-description .ftwp-postcontent table tbody tr:hover > *,
html body.single-product #spd-description table tbody tr:hover > * { background: #f0f6ff !important; }
html body.single-product #spd-description .ftwp-postcontent table thead tr:first-child > *,
html body.single-product #spd-description table thead tr:first-child > *,
html body.single-product #spd-description .ftwp-postcontent table:not(:has(thead)) > tbody > tr:first-child > *,
html body.single-product #spd-description table:not(:has(thead)) > tbody > tr:first-child > * {
  background: #214f98 !important; color: #fff !important; -webkit-text-fill-color: #fff !important;
  font-weight: 700 !important; border-bottom-color: #214f98 !important;
}
html body.single-product #spd-description table tr:last-child > * { border-bottom: 0 !important; }
@media (max-width: 680px) {
  html body.single-product .spd-product-tabs { gap: 4px !important; padding: 5px !important; border-radius: 12px !important; scroll-snap-type: x proximity; }
  html body.single-product .spd-product-tabs a { min-height: 38px !important; padding: 0 12px !important; border-radius: 8px !important; font-size: 13px !important; scroll-snap-align: start; }
  html body.single-product #spd-description .ftwp-postcontent table,
  html body.single-product #spd-description table { min-width: 500px !important; margin: 12px 0 20px !important; font-size: 13px !important; }
  html body.single-product #spd-description .ftwp-postcontent table th,
  html body.single-product #spd-description .ftwp-postcontent table td,
  html body.single-product #spd-description table th,
  html body.single-product #spd-description table td { padding: 10px 12px !important; }
}


/* In Formex category: wider cards and an editorial service guide. */
@media (min-width: 901px) {
  body.tax-product_cat.term-in-formex .arc-header > .container,
  body.tax-product_cat.term-in-formex .arc-products > .container,
  body.tax-product_cat.term-in-formex .arc-desc > .container {
    width: min(1540px, calc(100% - clamp(32px, 4vw, 80px))) !important;
    max-width: 1540px !important;
    margin-inline: auto !important;
  }
}
body.tax-product_cat.term-in-formex .arc-header {
  background: linear-gradient(180deg, #f1f5fb 0%, #f8fafd 100%) !important;
  padding-bottom: clamp(24px, 3vw, 42px) !important;
}
body.tax-product_cat.term-in-formex .arc-header__hero {
  border: 1px solid #e1e8f2 !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 44px rgba(24, 54, 94, .08) !important;
}
body.tax-product_cat.term-in-formex .arc-header__visual img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 5px solid #fff;
  border-radius: 19px;
  box-shadow: 0 12px 30px rgba(17, 47, 86, .12);
}
body.tax-product_cat.term-in-formex .arc-products {
  background: linear-gradient(180deg, #f8fafd 0%, #f1f5fa 100%) !important;
  padding-block: clamp(28px, 4vw, 56px) !important;
}
body.tax-product_cat.term-in-formex .arc-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.6vw, 24px) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.tax-product_cat.term-in-formex .arc-products ul.products::before,
body.tax-product_cat.term-in-formex .arc-products ul.products::after { display: none !important; }
body.tax-product_cat.term-in-formex .arc-products ul.products > li.product {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid #dfe7f1 !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(20, 48, 84, .055) !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body.tax-product_cat.term-in-formex .arc-products ul.products > li.product:hover {
  transform: translateY(-4px);
  border-color: #bbcee5 !important;
  box-shadow: 0 16px 34px rgba(20, 48, 84, .12) !important;
}
body.tax-product_cat.term-in-formex .arc-products ul.products > li.product a img {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  margin: 0 !important;
}
body.tax-product_cat.term-in-formex .arc-products .woocommerce-loop-product__title {
  min-height: 58px;
  padding: 16px 18px 8px !important;
  color: #142d4d !important;
  font-size: clamp(16px, 1.25vw, 19px) !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
}
body.tax-product_cat.term-in-formex .arc-products .product-views {
  padding: 0 18px 16px !important;
  color: #8390a1 !important;
  font-size: 12px !important;
}
body.tax-product_cat.term-in-formex .arc-desc {
  padding: 12px 0 clamp(42px, 5vw, 72px) !important;
  background: linear-gradient(180deg, #f1f5fa 0%, #f7f9fc 100%) !important;
}
body.tax-product_cat.term-in-formex .arc-desc__box {
  width: 100% !important;
  max-width: 1540px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e0e8f2 !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 16px 42px rgba(22, 49, 84, .07) !important;
}
body.tax-product_cat.term-in-formex .arc-desc__summary--static {
  margin: 0 !important;
  padding: 20px clamp(20px, 3vw, 42px) !important;
  border: 0 !important;
  border-bottom: 1px solid #e7edf5 !important;
  background: linear-gradient(90deg, #f4f8ff 0%, #fff 76%) !important;
  color: #17375f !important;
  font-size: 18px !important;
  font-weight: 850 !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 14px 18px !important;
  max-width: none !important;
  padding: clamp(20px, 3vw, 42px) !important;
  color: #4b5b70 !important;
  font-size: 15.5px !important;
  line-height: 1.75 !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > * {
  min-width: 0 !important;
  margin: 0 !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > p:first-child {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  position: relative;
  overflow: hidden;
  padding: 28px clamp(22px, 4vw, 52px) 28px 30px !important;
  border: 0 !important;
  border-left: 5px solid #f3bd55 !important;
  border-radius: 18px !important;
  background: radial-gradient(circle at 93% 10%, rgba(111, 166, 231, .28), transparent 24%), linear-gradient(112deg, #17385f 0%, #255c9e 100%) !important;
  box-shadow: 0 14px 30px rgba(20, 55, 100, .13) !important;
  color: #f4f8ff !important;
  font-size: clamp(16px, 1.35vw, 19px) !important;
  line-height: 1.75 !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > p:first-child::before {
  display: block;
  margin-bottom: 7px;
  color: #ffd77f;
  content: "FORMEX  ·  PP BỒI  ·  IN UV  ·  CNC";
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .13em;
  line-height: 1.4;
}
body.tax-product_cat.term-in-formex .arc-desc__content > p:first-child strong { color: #fff !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > p:first-child a {
  color: #fff !important;
  text-decoration-color: #ffd77f !important;
  text-underline-offset: 3px;
}
body.tax-product_cat.term-in-formex .arc-desc__content > h2 {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 52px;
  padding: 12px 16px !important;
  border: 1px solid #e4ebf4 !important;
  border-left: 4px solid #2871d1 !important;
  border-radius: 13px !important;
  background: linear-gradient(90deg, #f2f7ff, #fff 82%) !important;
  color: #17365b !important;
  font-size: clamp(20px, 1.65vw, 26px) !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > h2::before {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  background: #f0b947;
  box-shadow: 0 0 0 4px rgba(240, 185, 71, .16);
  content: "";
}
body.tax-product_cat.term-in-formex .arc-desc__content > h3 {
  align-self: end;
  padding: 15px 17px 8px !important;
  border: 1px solid #e4ebf4 !important;
  border-bottom: 0 !important;
  border-radius: 15px 15px 0 0 !important;
  background: #fff !important;
  color: #173d6b !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > h3 + p {
  padding: 0 17px 17px !important;
  border: 1px solid #e4ebf4 !important;
  border-top: 0 !important;
  border-radius: 0 0 15px 15px !important;
  background: #fff !important;
  color: #59687c !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > ul {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: start;
  gap: 9px !important;
  padding: 14px !important;
  border: 1px solid #e5ebf3 !important;
  border-radius: 17px !important;
  background: #f7f9fc !important;
  list-style: none !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > ul li {
  position: relative;
  min-height: 78px;
  margin: 0 !important;
  padding: 14px 13px 14px 39px !important;
  border: 1px solid #e6edf5 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #43566e !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  list-style: none !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > ul li::before {
  position: absolute;
  top: 13px;
  left: 13px;
  color: #2670d2;
  content: "✓";
  font-size: 15px;
  font-weight: 900;
}
body.tax-product_cat.term-in-formex .arc-desc__content > table {
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden;
  border: 1px solid #dfe7f1 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: 0 8px 22px rgba(24, 51, 86, .055) !important;
  color: #34465d !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > table th,
body.tax-product_cat.term-in-formex .arc-desc__content > table td {
  padding: 14px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid #e8edf4 !important;
  color: #34465d !important;
  text-align: left !important;
  vertical-align: middle !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > table thead th {
  background: #173d6b !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-weight: 800 !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > table tbody tr:nth-child(even) td { background: #f6f9fd !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > table tbody tr:hover td { background: #edf4fd !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > ol {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 0 !important;
  counter-reset: formex-step;
  list-style: none !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > ol li {
  position: relative;
  min-height: 112px;
  margin: 0 !important;
  padding: 47px 15px 15px !important;
  border: 1px solid #e2eaf4 !important;
  border-radius: 15px !important;
  background: linear-gradient(180deg, #fff, #f8faff) !important;
  color: #465971 !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  list-style: none !important;
  box-shadow: 0 5px 16px rgba(25, 52, 88, .045) !important;
  counter-increment: formex-step;
}
body.tax-product_cat.term-in-formex .arc-desc__content > ol li::before {
  position: absolute;
  top: 13px;
  left: 14px;
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  background: #eaf2ff;
  color: #1b65c4;
  content: counter(formex-step, decimal-leading-zero);
  font-size: 10px;
  font-weight: 900;
}
body.tax-product_cat.term-in-formex .arc-desc__content > p:nth-child(11) {
  padding: 12px 16px !important;
  border: 1px solid #f1e5c8 !important;
  border-radius: 12px !important;
  background: #fffaf0 !important;
  color: #725b2d !important;
  font-size: 13px !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > p:nth-child(28),
body.tax-product_cat.term-in-formex .arc-desc__content > p:nth-child(29) {
  display: flex;
  align-items: center;
  min-height: 78px;
  padding: 16px 18px !important;
  border: 1px solid #e2eaf4 !important;
  border-radius: 14px !important;
  background: #f8faff !important;
  color: #40546d !important;
}
body.tax-product_cat.term-in-formex .arc-desc__content > p:nth-child(31) {
  padding: 19px 22px !important;
  border: 1px solid #dce7f5 !important;
  border-left: 4px solid #2670d2 !important;
  border-radius: 14px !important;
  background: linear-gradient(90deg, #eef5ff, #fbfdff) !important;
  color: #294668 !important;
  font-weight: 650;
}
/* Follow the earlier request to keep price figures off category pages. */
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(9),
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(10),
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(11),
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(12) { display: none !important; }
/* Explicit editorial grid placement for desktop. */
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(2) { grid-column: 1 / 7 !important; grid-row: 2 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(3) { grid-column: 1 / 7 !important; grid-row: 3 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(4) { grid-column: 7 / 13 !important; grid-row: 2 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(5) { grid-column: 7 / 13 !important; grid-row: 3 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(6) { grid-column: 1 / -1 !important; grid-row: 4 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(7) { grid-column: 1 / -1 !important; grid-row: 5 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(8) { grid-column: 1 / -1 !important; grid-row: 6 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(13) { grid-column: 1 / -1 !important; grid-row: 7 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(14) { grid-column: 1 / 7 !important; grid-row: 8 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(15) { grid-column: 1 / 7 !important; grid-row: 9 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(16) { grid-column: 7 / 13 !important; grid-row: 8 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(17) { grid-column: 7 / 13 !important; grid-row: 9 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(18) { grid-column: 7 / 13 !important; grid-row: 10 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(19) { grid-column: 1 / -1 !important; grid-row: 11 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(20) { grid-column: 1 / -1 !important; grid-row: 12 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(21) { grid-column: 1 / -1 !important; grid-row: 13 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(22) { grid-column: 1 / 5 !important; grid-row: 14 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(23) { grid-column: 1 / 5 !important; grid-row: 15 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(24) { grid-column: 5 / 9 !important; grid-row: 14 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(25) { grid-column: 5 / 9 !important; grid-row: 15 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(26) { grid-column: 9 / 13 !important; grid-row: 14 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(27) { grid-column: 9 / 13 !important; grid-row: 15 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(28) { grid-column: 1 / -1 !important; grid-row: 16 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(29) { grid-column: 1 / 7 !important; grid-row: 17 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(30) { grid-column: 7 / 13 !important; grid-row: 17 !important; }
body.tax-product_cat.term-in-formex .arc-desc__content > :nth-child(31) { grid-column: 1 / -1 !important; grid-row: 18 !important; }
@media (max-width: 900px) {
  body.tax-product_cat.term-in-formex .arc-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.tax-product_cat.term-in-formex .arc-desc__box { max-width: calc(100% - 28px) !important; }
  body.tax-product_cat.term-in-formex .arc-desc__content { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.tax-product_cat.term-in-formex .arc-desc__content > * { grid-column: 1 / -1 !important; grid-row: auto !important; }
  body.tax-product_cat.term-in-formex .arc-desc__content > h3,
  body.tax-product_cat.term-in-formex .arc-desc__content > h3 + p { grid-column: 1 / -1 !important; }
  body.tax-product_cat.term-in-formex .arc-desc__content > ol { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  body.tax-product_cat.term-in-formex .arc-header__hero { border-radius: 17px !important; }
  body.tax-product_cat.term-in-formex .arc-header__visual img { border-width: 3px; border-radius: 14px; }
  body.tax-product_cat.term-in-formex .arc-products ul.products { grid-template-columns: minmax(0, 1fr) !important; }
  body.tax-product_cat.term-in-formex .arc-products ul.products > li.product { border-radius: 16px !important; }
  body.tax-product_cat.term-in-formex .arc-desc__box { max-width: calc(100% - 20px) !important; border-radius: 18px !important; }
  body.tax-product_cat.term-in-formex .arc-desc__content { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; padding: 16px !important; font-size: 14px !important; }
  body.tax-product_cat.term-in-formex .arc-desc__content > * { grid-column: 1 / -1 !important; grid-row: auto !important; }
  body.tax-product_cat.term-in-formex .arc-desc__content > p:first-child { padding: 21px 18px !important; border-radius: 14px !important; font-size: 15px !important; }
  body.tax-product_cat.term-in-formex .arc-desc__content > p:first-child::before { font-size: 9px; }
  body.tax-product_cat.term-in-formex .arc-desc__content > h2 { min-height: 0; padding: 12px !important; border-radius: 11px !important; font-size: 19px !important; }
  body.tax-product_cat.term-in-formex .arc-desc__content > ul { grid-template-columns: minmax(0, 1fr) !important; padding: 10px !important; }
  body.tax-product_cat.term-in-formex .arc-desc__content > ul li { min-height: 0; }
  body.tax-product_cat.term-in-formex .arc-desc__content > ol { grid-template-columns: minmax(0, 1fr) !important; }
  body.tax-product_cat.term-in-formex .arc-desc__content > table { display: block !important; max-width: 100% !important; overflow-x: auto !important; white-space: normal !important; font-size: 12px !important; }
  body.tax-product_cat.term-in-formex .arc-desc__content > table th,
  body.tax-product_cat.term-in-formex .arc-desc__content > table td { min-width: 125px; padding: 10px 11px !important; }
  body.tax-product_cat.term-in-formex .arc-desc__summary--static { padding: 15px 17px !important; font-size: 16px !important; }
}



/* Final Formex refinements: use the full content frame and honor hidden category prices. */
@media (min-width: 901px) {
  html body.tax-product_cat.term-in-formex .arc-header > .container,
  html body.tax-product_cat.term-in-formex .arc-products > .container,
  html body.tax-product_cat.term-in-formex .arc-desc > .container {
    width: calc(100% - clamp(32px, 4vw, 80px)) !important;
    max-width: 1540px !important;
  }
}
html body.tax-product_cat.term-in-formex .arc-desc__content > * {
  width: 100% !important;
  max-width: none !important;
}
html body.tax-product_cat.term-in-formex .arc-desc__content > table:nth-of-type(2) {
  display: none !important;
}
html body.tax-product_cat.term-in-formex .arc-desc__content > ol > li::marker {
  content: "" !important;
  color: transparent !important;
  font-size: 0 !important;
}
html body.tax-product_cat.term-in-formex .arc-desc__content > p:nth-child(29),
html body.tax-product_cat.term-in-formex .arc-desc__content > p:nth-child(30) {
  display: flex !important;
  align-items: center !important;
  min-height: 78px !important;
  padding: 16px 18px !important;
  border: 1px solid #e2eaf4 !important;
  border-radius: 14px !important;
  background: #f8faff !important;
  color: #40546d !important;
}


/* Article tables: clearer headers and room beside the fixed contact panel. */
body.single-post .sp-content--article table { border: 1px solid #dce4ef; border-radius: 12px; box-shadow: 0 4px 14px rgba(20,48,89,.06); }
body.single-post .sp-content--article thead th,
body.single-post .sp-content--article tbody tr:first-child td[colspan] { background: #193967; color: #fff; font-weight: 750; }
body.single-post .sp-content--article tbody tr:nth-child(even) td { background: #f8faff; }
body.single-post .sp-content--article table:not(:has(thead)) tbody tr:nth-child(2) td { background: #eef4fc; color: #17345b; font-weight: 700; }
@media (min-width: 761px) and (max-width: 1199px) { body.single-post .sp-content--article table { width: calc(100% - 260px); max-width: calc(100% - 260px); } }
@media (min-width: 1200px) and (max-width: 1540px) { body.single-post .sp-content--article table { width: calc(100% - 150px); max-width: calc(100% - 150px); } }
@media (max-width: 760px) { body.single-post .sp-content--article table { width: calc(100% - 64px); max-width: calc(100% - 64px); } }

/* In Catalogue (product 785): its eight completed samples are repeated in the portfolio below. Keep the cover image above. */
body.single-product.postid-785 .spd-print-gallery-slide:not(:first-child),
body.single-product.postid-785 .spd-print-gallery-thumbs,
body.single-product.postid-785 .spd-print-gallery-controls,
body.single-product.postid-785 .spd-print-gallery-count {
  display: none !important;
}


/* Home category showcase: wider cards and more products visible. */
@media (min-width: 1200px) {
  body.home .hg-solutions > .container {
    width: calc(100% - 48px) !important;
    max-width: 1880px !important;
    margin-inline: auto !important;
  }
  body.home .hg-solution-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}
@media (min-width: 1600px) {
  body.home .hg-solution-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}
body.home .hg-solutions .hg-solution-grid > .hg-solution-card:nth-child(n+5) {
  display: flex !important;
  flex-direction: column;
}
body.home .hg-solution-card__image { aspect-ratio: 4 / 3 !important; }
body.home .hg-solution-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f1f4f8;
}


/* Article tables: fill the full article column and keep wide price grids readable on mobile. */
body.single-post .sp-content--article table {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}
@media (max-width: 760px) {
  body.single-post .sp-content--article table:has(tr:nth-child(2) > :nth-child(6)) th,
  body.single-post .sp-content--article table:has(tr:nth-child(2) > :nth-child(6)) td {
    white-space: nowrap !important;
  }
}


/* Keep the fixed contact cards out of a full-width article table while readers view it. */
@media (min-width: 1200px) {
  body.single-post:has(.sp-content--article :target) .hg-float-contact,
  body.single-post:has(.sp-content--article table:hover) .hg-float-contact {
    left: 14px !important;
    right: auto !important;
  }
}


/* Keep the Formex category table across the full description grid. */
html body.tax-product_cat.term-in-formex .arc-desc__content > table:first-of-type {
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 760px) {
  html body.tax-product_cat.term-in-formex .arc-desc__content {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  html body.tax-product_cat.term-in-formex .arc-desc__content > * {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 760px) {
  html body.tax-product_cat.term-in-formex #page .arc-desc__content > * {
    grid-column: 1 / -1 !important;
  }
}

/* Center archive sections when low browser zoom makes the CSS viewport wider than their max width. */
@media (min-width: 901px) {
      .arc-header,
        .arc-bag-guide,
          .arc-products,
            .arc-filter,
              .arc-desc {
                      margin-left: auto !important;
                          margin-right: auto !important;
              }
}

              

/* Catalogue product detail: clean gallery, useful section navigation and a readable two-column article. */
html body.single-product.postid-785 .spd-product-tabs {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  min-height: 48px !important;
  height: auto !important;
  margin: 0 auto 20px !important;
  padding: 6px !important;
  gap: 6px !important;
  overflow-x: auto !important;
  position: sticky !important;
  top: 8px !important;
  z-index: 30 !important;
  border: 1px solid #e3eaf3 !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 8px 24px rgba(20,47,85,.08) !important;
  backdrop-filter: blur(10px);
}
html body.single-product.postid-785 .spd-product-tabs a {
  display: inline-flex !important;
  min-height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 16px !important;
  border: 1px solid transparent !important;
  border-radius: 9px !important;
  color: #53647c !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
html body.single-product.postid-785 .spd-product-tabs a[hidden] { display: none !important; }
html body.single-product.postid-785 .spd-product-tabs a:hover { color: #155ac5 !important; background: #f4f8ff !important; }
html body.single-product.postid-785 .spd-product-tabs a.is-active { color: #fff !important; background: #1765d8 !important; border-color: #1765d8 !important; }
html body.single-product.postid-785 .spd-top--print-reference { gap: 26px !important; }
html body.single-product.postid-785 .spd-print-gallery-viewer {
  border: 1px solid #e2e9f2 !important;
  border-radius: 16px !important;
  background: #f4f6f9 !important;
  box-shadow: 0 10px 28px rgba(20,47,85,.08) !important;
}
html body.single-product.postid-785 .spd-body-section--print-reference > .container { max-width: 1440px !important; }
html body.single-product.postid-785 .spd-body-section--print-reference .spd-body-layout {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(290px,340px) !important;
  gap: 26px !important;
  align-items: start !important;
}
html body.single-product.postid-785 .spd-body-section--print-reference .spd-body-main { display: contents !important; }
html body.single-product.postid-785 .spd-body-section--print-reference .spd-samples-section {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
}
html body.single-product.postid-785 .spd-body-section--print-reference .spd-desc-inner {
  grid-column: 1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  border: 1px solid #e2e9f2 !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(20,47,85,.055) !important;
}
html body.single-product.postid-785 .spd-body-section--print-reference .spd-body-sidebar--consult {
  display: flex !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  position: sticky !important;
  top: 78px !important;
  align-self: start !important;
  gap: 12px !important;
}
html body.single-product.postid-785 .spd-body-sidebar--consult > .spd-print-advisor {
  display: block !important;
  padding: 20px !important;
  color: #172943 !important;
  background: #fff !important;
  border: 1px solid #e0e8f2 !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 24px rgba(20,47,85,.07) !important;
}
html body.single-product.postid-785 .spd-body-sidebar--consult .spd-sb-card__glow { display: none !important; }
html body.single-product.postid-785 .spd-body-sidebar--consult .spd-sb-card__eyebrow,
html body.single-product.postid-785 .spd-body-sidebar--consult .spd-sb-card__title,
html body.single-product.postid-785 .spd-body-sidebar--consult .spd-sb-card__hours { color: #172943 !important; }
html body.single-product.postid-785 .spd-body-sidebar--consult .spd-sb-phone {
  min-height: 44px !important;
  color: #25456f !important;
  background: #f4f7fb !important;
  border: 1px solid #e6edf6 !important;
  border-radius: 9px !important;
}
html body.single-product.postid-785 .spd-body-sidebar--consult .spd-sb-channels { grid-template-columns: 1fr !important; gap: 8px !important; }
html body.single-product.postid-785 .spd-body-sidebar--consult > .spd-sb-card--quote { display: none !important; }
html body.single-product.postid-785 #spd-description .spd-desc-title { font-size: clamp(24px,2vw,30px) !important; line-height: 1.2 !important; }
html body.single-product.postid-785 #ftwp-postcontent { color: #35445a !important; font-size: 16px !important; line-height: 1.8 !important; }
html body.single-product.postid-785 #ftwp-postcontent h2,
html body.single-product.postid-785 #ftwp-postcontent h3 { color: #172943 !important; line-height: 1.35 !important; margin-top: 30px !important; margin-bottom: 12px !important; }
html body.single-product.postid-785 #ftwp-postcontent h2 { padding-left: 14px !important; border-left: 3px solid #2874df !important; font-size: clamp(20px,1.8vw,25px) !important; }
html body.single-product.postid-785 #ftwp-postcontent p { margin: 0 0 16px !important; }
html body.single-product.postid-785 #ftwp-postcontent figure { width: auto !important; max-width: 100% !important; margin: 22px auto !important; }
html body.single-product.postid-785 #ftwp-postcontent figure img { display: block !important; width: 100% !important; height: auto !important; border: 1px solid #e3eaf3 !important; border-radius: 12px !important; }
@media (max-width: 820px) {
  html body.single-product.postid-785 .spd-body-section--print-reference .spd-body-layout { grid-template-columns: minmax(0,1fr) !important; gap: 18px !important; }
  html body.single-product.postid-785 .spd-body-section--print-reference .spd-samples-section { grid-column: 1 !important; grid-row: 1 !important; }
  html body.single-product.postid-785 .spd-body-section--print-reference .spd-desc-inner { grid-column: 1 !important; grid-row: 2 !important; }
  html body.single-product.postid-785 .spd-body-section--print-reference .spd-body-sidebar--consult { grid-column: 1 !important; grid-row: 3 !important; position: static !important; }
  html body.single-product.postid-785 .spd-product-tabs { top: 6px !important; margin-bottom: 14px !important; }
}
@media (max-width: 600px) {
  html body.single-product.postid-785 .spd-product-tabs a { padding: 0 12px !important; font-size: 13px !important; }
  html body.single-product.postid-785 #ftwp-postcontent { font-size: 15px !important; line-height: 1.72 !important; }
  html body.single-product.postid-785 .spd-body-sidebar--consult { width: 100% !important; }
}


/* Hoang Gia bag landing: reference-inspired structure with Hoang Gia content and photos. */
html body:has(main.hgbag) main.hgbag > .hgbag-section{order:5!important}
html body:has(main.hgbag) main.hgbag > #hgbag-products{order:2!important}
html body:has(main.hgbag) main.hgbag > #hgbag-specs{order:3!important}
html body:has(main.hgbag) main.hgbag > #hgbag-price{order:4!important}
html body:has(main.hgbag) .hgbag-hero{background:radial-gradient(ellipse 38% 24% at 0% 44%,rgba(255,181,66,.88),transparent 76%),radial-gradient(ellipse 38% 24% at 100% 44%,rgba(255,197,72,.9),transparent 76%),linear-gradient(180deg,#0739bd 0%,#0745c7 34%,#08c4e8 53%,#078af0 76%,#0756d6 100%)!important}
html body:has(main.hgbag) .hgbag-shell{width:min(1260px,calc(100% - 56px))!important}
html body:has(main.hgbag) .hgbag-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;gap:42px!important;min-height:510px!important}
html body:has(main.hgbag) .hgbag h1{font-size:clamp(30px,2.2vw,36px)!important;line-height:1.12!important;margin:14px 0 12px!important}
html body:has(main.hgbag) .hgbag-hero .hgbag-lead{max-width:560px!important;font-size:16px!important;line-height:1.6!important}
html body:has(main.hgbag) .hgbag-hero-points>li{min-height:58px!important;border-radius:10px!important;background:rgba(255,255,255,.17)!important}
html body:has(main.hgbag) .hgbag-actions{border-radius:14px!important;box-shadow:0 12px 30px rgba(5,35,102,.2)!important}
html body:has(main.hgbag) .hgbag-visual{transform:translateY(4px)!important}
@media(min-width:1101px){html body:has(main.hgbag) .hgbag-products{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:760px){html body:has(main.hgbag) .hgbag-shell{width:calc(100% - 28px)!important}html body:has(main.hgbag) .hgbag-hero-grid{min-height:0!important;gap:20px!important}html body:has(main.hgbag) .hgbag h1{font-size:clamp(30px,8vw,38px)!important}}


/* Soft, consistent price/spec tables: focused on editorial content only. */
body.single-product #spd-description .ftwp-postcontent table,
body.single-product .hg-card__price table,
body.single-product .hg-tet__details-body table,
body.single-post .sp-content--article table,
.arc-desc__content table,
.hgb-table-wrap .hgb-table {
  width: 100%;
  max-width: 100%;
  margin: 18px 0;
  border: 1px solid #e1e8f1 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 13px;
  overflow: hidden;
  background: #fff;
  color: #34435a;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 7px 20px rgba(29, 55, 92, .055);
}
body.single-product #spd-description .ftwp-postcontent table th,
body.single-product #spd-description .ftwp-postcontent table td,
body.single-product .hg-card__price table th,
body.single-product .hg-card__price table td,
body.single-product .hg-tet__details-body table th,
body.single-product .hg-tet__details-body table td,
body.single-post .sp-content--article table th,
body.single-post .sp-content--article table td,
.arc-desc__content table th,
.arc-desc__content table td,
.hgb-table-wrap .hgb-table th,
.hgb-table-wrap .hgb-table td {
  padding: 12px 15px !important;
  border: 0 !important;
  border-right: 1px solid #e8edf4 !important;
  border-bottom: 1px solid #e8edf4 !important;
  color: #34435a;
  vertical-align: middle;
}
body.single-product #spd-description .ftwp-postcontent table tr:first-child > *,
body.single-product .hg-card__price table tr:first-child > *,
body.single-product .hg-tet__details-body table tr:first-child > *,
body.single-post .sp-content--article table tr:first-child > *,
.arc-desc__content table tr:first-child > *,
.hgb-table-wrap .hgb-table tr:first-child > * {
  background: #edf3fb !important;
  color: #29466f !important;
  font-weight: 750 !important;
}
body.single-product #spd-description .ftwp-postcontent table tr:nth-child(even) > td,
body.single-product .hg-card__price table tr:nth-child(even) > td,
body.single-product .hg-tet__details-body table tr:nth-child(even) > td,
body.single-post .sp-content--article table tr:nth-child(even) > td,
.arc-desc__content table tr:nth-child(even) > td,
.hgb-table-wrap .hgb-table tr:nth-child(even) > td { background: #fafbfd; }
body.single-product #spd-description .ftwp-postcontent table tr:hover > td,
body.single-product .hg-card__price table tr:hover > td,
body.single-product .hg-tet__details-body table tr:hover > td,
body.single-post .sp-content--article table tr:hover > td,
.arc-desc__content table tr:hover > td,
.hgb-table-wrap .hgb-table tr:hover > td { background: #f4f8fd; }
body.single-product #spd-description .ftwp-postcontent table tr:last-child > *,
body.single-product .hg-card__price table tr:last-child > *,
body.single-product .hg-tet__details-body table tr:last-child > *,
body.single-post .sp-content--article table tr:last-child > *,
.arc-desc__content table tr:last-child > *,
.hgb-table-wrap .hgb-table tr:last-child > * { border-bottom: 0 !important; }
body.single-product #spd-description .ftwp-postcontent table tr > :last-child,
body.single-product .hg-card__price table tr > :last-child,
body.single-product .hg-tet__details-body table tr > :last-child,
body.single-post .sp-content--article table tr > :last-child,
.arc-desc__content table tr > :last-child,
.hgb-table-wrap .hgb-table tr > :last-child { border-right: 0 !important; }
@media (max-width: 700px) {
  body.single-product #spd-description .ftwp-postcontent table:has(tr > :nth-child(5)),
  body.single-post .sp-content--article table:has(tr > :nth-child(5)),
  .arc-desc__content table:has(tr > :nth-child(5)),
  .hgb-table-wrap .hgb-table:has(tr > :nth-child(5)) {
    display: block;
    min-width: 680px;
    max-width: 100%;
    overflow-x: auto;
    white-space: nowrap;
  }
  body.single-product #spd-description .ftwp-postcontent table th,
  body.single-product #spd-description .ftwp-postcontent table td,
  body.single-post .sp-content--article table th,
  body.single-post .sp-content--article table td,
  .arc-desc__content table th,
  .arc-desc__content table td,
  .hgb-table-wrap .hgb-table th,
  .hgb-table-wrap .hgb-table td { padding: 10px 12px !important; }
  .hgb-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}



/* Popup gọi tư vấn theo khu vực */
html.hg-call-modal-open { overflow: hidden; }
.hg-call-modal { display: none; }
.hg-call-modal.is-open { position: fixed; inset: 0; z-index: 100005; display: grid; place-items: center; padding: 18px; }
.hg-call-modal__backdrop { position: absolute; inset: 0; background: rgba(17, 31, 53, .52); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.hg-call-modal__dialog { position: relative; z-index: 1; width: min(100%, 500px); max-height: min(90vh, 650px); overflow: auto; padding: 30px; border: 1px solid #e1e9f4; border-radius: 22px; background: #fff; color: #172744; box-shadow: 0 24px 72px rgba(18, 37, 68, .24); }
.hg-call-modal__close { position: absolute; top: 13px; right: 14px; display: grid; width: 38px; height: 38px; place-items: center; border: 0; border-radius: 50%; background: #f1f5fb; color: #445775; font: 400 25px/1 Arial, sans-serif; cursor: pointer; }
.hg-call-modal__eyebrow { margin: 0 44px 8px 0; color: #2866d5; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.hg-call-modal__dialog h2 { margin: 0 38px 8px 0; color: #172744; font-size: clamp(22px, 5vw, 28px); line-height: 1.2; }
.hg-call-modal__description { margin: 0; color: #66758b; font-size: 15px; line-height: 1.55; }
.hg-call-modal__choices { display: grid; gap: 11px; margin-top: 22px; }
.hg-call-modal__choice { display: grid; grid-template-columns: 48px minmax(0, 1fr) 24px; align-items: center; gap: 13px; min-width: 0; padding: 15px 16px; border: 1px solid #dfe8f5; border-radius: 15px; background: #fff; color: #172744; text-decoration: none !important; transition: border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease; }
.hg-call-modal__choice:hover { border-color: #8db3f0; background: #f7faff; box-shadow: 0 8px 22px rgba(32, 82, 153, .09); transform: translateY(-1px); }
.hg-call-modal__choice:focus-visible, .hg-call-modal__close:focus-visible { outline: 3px solid rgba(40, 102, 213, .35); outline-offset: 3px; }
.hg-call-modal__icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: #edf4ff; color: #1762dc; font-size: 18px; }
.hg-call-modal__copy { display: grid; gap: 2px; min-width: 0; }
.hg-call-modal__copy > span { color: #63738c; font-size: 14px; font-weight: 650; }
.hg-call-modal__copy strong { color: #183b70; font-size: 22px; font-weight: 800; line-height: 1.25; letter-spacing: .01em; }
.hg-call-modal__copy small { color: #8793a5; font-size: 12px; }
.hg-call-modal__arrow { justify-self: end; color: #2866d5; font-size: 20px; font-weight: 700; }
.hg-call-modal__note { margin: 16px 0 0; color: #7a8799; font-size: 12px; text-align: center; }
@media (max-width: 520px) {
  .hg-call-modal.is-open { padding: 14px; }
  .hg-call-modal__dialog { padding: 25px 18px 19px; border-radius: 19px; }
  .hg-call-modal__choice { grid-template-columns: 42px minmax(0, 1fr) 18px; gap: 10px; padding: 13px 12px; }
  .hg-call-modal__icon { width: 42px; height: 42px; font-size: 16px; }
  .hg-call-modal__copy strong { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .hg-call-modal__choice { transition: none; }
}


/* Hide the repeated branch-contact block on product 813; keep global and floating contacts visible. */
body.postid-813.single-product .spd-print-intro .hg-location-note,
body.postid-813.single-product .spd-print-contact {
  display: none !important;
}


/* Homepage category shelf: show four larger products per tab on desktop. */
@media (min-width: 1100px) {
  body.home .hg-solution-feature {
    grid-template-columns: minmax(180px, .72fr) minmax(0, 3.28fr) !important;
    gap: 16px !important;
  }

  body.home .hg-solution-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}


/* In tờ rơi: bảng giá gọn, sáng và trung tính. */
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a5 + div table,
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a4 + div table {
  width: 100% !important;
  border: 1px solid #e2e5e9 !important;
  border-radius: 12px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .045) !important;
}
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a5 + div table td,
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a5 + div table th,
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a4 + div table td,
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a4 + div table th {
  padding: 12px 16px !important;
  border-color: #e7e9ed !important;
  color: #344054 !important;
}
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a5 + div table tr:first-child > *,
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a4 + div table tr:first-child > * {
  background: #f1f3f5 !important;
  color: #263445 !important;
  font-weight: 700 !important;
}
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a5 + div table tr:not(:first-child) > *,
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a4 + div table tr:not(:first-child) > * {
  background: #fff !important;
}
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a5 + div table tr:nth-child(odd):not(:first-child) > *,
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a4 + div table tr:nth-child(odd):not(:first-child) > * {
  background: #f8f9fa !important;
}
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a5 + div table tr:not(:first-child) > *:first-child,
body.postid-800 .spd-description .ftwp-postcontent #bang-gia-in-to-roi-a4 + div table tr:not(:first-child) > *:first-child {
  color: #293648 !important;
  font-weight: 650 !important;
}


/* Neutral table skin for both leaflet price tables (product #800). */
body.postid-800 .spd-description .ftwp-postcontent table {
  border: 1px solid #e2e5e9 !important;
  border-radius: 12px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .045) !important;
}
body.postid-800 .spd-description .ftwp-postcontent table tr:first-child > * {
  background: #f1f3f5 !important;
  color: #263445 !important;
  font-weight: 700 !important;
  border-color: #e2e5e9 !important;
}
body.postid-800 .spd-description .ftwp-postcontent table tr:not(:first-child) > * {
  background: #fff !important;
  color: #344054 !important;
  border-color: #e7e9ed !important;
}
body.postid-800 .spd-description .ftwp-postcontent table tr:nth-child(odd):not(:first-child) > * {
  background: #f8f9fa !important;
}
body.postid-800 .spd-description .ftwp-postcontent table tr:not(:first-child) > *:first-child {
  color: #293648 !important;
  font-weight: 650 !important;
}


/* Neutral colors for leaflet A5/A4 price tables. */
body.postid-800 #spd-description #ftwp-postcontent table { background: #fff !important; background-color: #fff !important; border: 1px solid #e2e5e9 !important; border-collapse: separate !important; border-spacing: 0 !important; border-radius: 10px !important; overflow: hidden !important; box-shadow: none !important; }
body.postid-800 #spd-description #ftwp-postcontent table tr:first-child > * { background: #f1f3f5 !important; background-color: #f1f3f5 !important; background-image: none !important; color: #263445 !important; border-color: #e2e5e9 !important; font-weight: 700 !important; }
body.postid-800 #spd-description #ftwp-postcontent table tr:not(:first-child) > * { background: #fff !important; background-color: #fff !important; background-image: none !important; color: #344054 !important; border-color: #e7e9ed !important; }
body.postid-800 #spd-description #ftwp-postcontent table tr:nth-child(odd):not(:first-child) > * { background: #f8f9fa !important; background-color: #f8f9fa !important; }
body.postid-800 #spd-description #ftwp-postcontent table tr > *:first-child { font-weight: 650 !important; color: #293648 !important; }

/* Restore dark readable header text against the neutral header. */
body.postid-800 #spd-description #ftwp-postcontent table tr:first-child > * { color: #263445 !important; -webkit-text-fill-color: #263445 !important; }

/* Mobile contact cards: widen the stack and make each option easier to read. */
@media (max-width: 767px) {
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"],
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"].is-open {
    right: 8px !important;
    left: auto !important;
    width: min(520px, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
    box-sizing: border-box !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn {
    flex-basis: 84px !important;
    height: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;
    padding: 8px 14px 8px 10px !important;
    gap: 12px !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__btn-icon {
    flex-basis: 54px !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__label {
    font-size: 18px !important;
  }
  html body.single-product #footer ~ div.hg-float-contact.hg-float-contact[data-hg-compact-ready="1"] .hg-float__list > a.hg-float__btn .hg-float__num {
    font-size: 22px !important;
  }
}




/* In Hoang Gia editorial layout: news archive and article detail */
.news-page { background:#f6f8fb!important; padding:28px 0 72px!important; }
.news-page > .container { width:min(1360px,calc(100% - 40px))!important; max-width:1360px!important; }
.news-page .news-header--simple { max-width:none!important; margin:0 0 18px!important; padding:28px 34px 30px!important; border:1px solid #e4eaf2!important; border-radius:20px!important; background:linear-gradient(135deg,#fff 0%,#f8fbff 100%)!important; box-shadow:0 10px 30px rgba(21,48,87,.055); }
.news-page .news-header--simple::before { content:'GÓC KIẾN THỨC IN ẤN'; display:block; margin:0 0 10px; color:#1764d8; font-size:11px; font-weight:850; letter-spacing:.12em; }
.news-page .news-header__title { margin:0!important; color:#142747!important; font-size:clamp(34px,4vw,48px)!important; line-height:1.1!important; letter-spacing:-.045em!important; }
.news-page .news-header__desc { max-width:720px!important; margin:12px 0 0!important; color:#64748b!important; font-size:16px!important; line-height:1.7!important; }
.news-page .news-cats { max-width:none!important; margin:0 0 22px!important; padding:8px!important; display:flex; gap:8px!important; flex-wrap:wrap; border:1px solid #e5ebf3!important; border-radius:16px!important; background:#fff!important; }
.news-page .news-cats__item { min-height:40px; padding:8px 15px!important; border:1px solid transparent!important; border-radius:11px!important; background:#f7f9fc!important; color:#52627a!important; font-size:13px!important; font-weight:700!important; transition:background .18s ease,color .18s ease,border-color .18s ease; }
.news-page .news-cats__item:hover { border-color:#c9daf5!important; background:#eef4ff!important; color:#1458c8!important; }
.news-page .news-cats__item--active { border-color:#155fc8!important; background:#155fc8!important; color:#fff!important; box-shadow:0 5px 14px rgba(21,95,200,.18); }
.news-page .news-layout--with-sidebar { max-width:none!important; margin:0!important; display:grid!important; grid-template-columns:minmax(0,1fr) 300px!important; align-items:start; gap:24px!important; }
.news-page .news-main--wide { min-width:0; }
.news-page .news-grid--simple { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:20px!important; }
.news-page .ncard--simple { min-width:0; overflow:hidden!important; border:1px solid #e4eaf2!important; border-radius:18px!important; background:#fff!important; box-shadow:0 8px 24px rgba(20,48,88,.055)!important; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important; }
.news-page .ncard--simple:hover { transform:translateY(-4px)!important; border-color:#c8d9f2!important; box-shadow:0 16px 34px rgba(20,48,88,.11)!important; }
.news-page .ncard__link { height:100%; display:flex!important; flex-direction:column; gap:0!important; padding:0!important; color:inherit; text-decoration:none; }
.news-page .ncard__img { width:100%; aspect-ratio:16/10!important; overflow:hidden; border-radius:0!important; background:#eef2f7; }
.news-page .ncard__img img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease!important; }
.news-page .ncard--simple:hover .ncard__img img { transform:scale(1.035)!important; }
.news-page .ncard__cat { top:14px!important; left:14px!important; padding:6px 10px!important; border:1px solid rgba(255,255,255,.85); border-radius:999px!important; background:rgba(255,255,255,.94)!important; color:#155fc8!important; font-size:10px!important; letter-spacing:.04em; }
.news-page .ncard__body { flex:1; display:flex; flex-direction:column; padding:18px 20px 16px!important; }
.news-page .ncard__title { margin:0 0 9px!important; color:#172b4d!important; font-size:19px!important; font-weight:800!important; line-height:1.36!important; letter-spacing:-.02em; -webkit-line-clamp:2; }
.news-page .ncard__excerpt { margin:0 0 16px!important; color:#68778d!important; font-size:14px!important; line-height:1.65!important; -webkit-line-clamp:3; }
.news-page .ncard__meta { margin-top:auto; padding-top:12px; display:flex; justify-content:space-between; gap:10px; border-top:1px solid #edf1f6; color:#7b8798!important; font-size:12px!important; }
.news-page .news-sidebar--category { position:sticky; top:120px; min-width:0; }
.news-page .news-sidebar--category .ns-widget { margin:0 0 16px!important; padding:16px!important; overflow:hidden; border:1px solid #e4eaf2!important; border-radius:18px!important; background:#fff!important; box-shadow:0 8px 24px rgba(20,48,88,.05)!important; }
.news-page .news-sidebar--category .ns-widget__title { margin:-16px -16px 12px!important; padding:16px 18px 13px!important; border-bottom:1px solid #edf1f6!important; color:#172b4d!important; font-size:16px!important; }
.news-page .ns-search { display:flex; gap:8px; align-items:center; }
.news-page .ns-search input[type=search] { min-width:0; width:100%; height:44px; padding:0 13px; border:1px solid #dfe7f1; border-radius:11px; background:#f8fafc; color:#172b4d; font:inherit; outline:none; }
.news-page .ns-search input[type=search]:focus { border-color:#8ab1ef; background:#fff; box-shadow:0 0 0 3px rgba(21,95,200,.1); }
.news-page .ns-popular { display:grid; gap:12px; }
.news-page .ns-popular__item { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; gap:11px; padding:0 0 12px; border-bottom:1px solid #edf1f6; text-decoration:none; }
.news-page .ns-popular__item:last-child { padding-bottom:0; border-bottom:0; }
.news-page .ns-popular__img { width:76px; height:64px; overflow:hidden; border-radius:10px; background:#eef2f7; }
.news-page .ns-popular__img img { width:100%; height:100%; object-fit:cover; }
.news-page .ns-popular__info h4 { margin:0 0 5px; color:#243750; font-size:13px; font-weight:750; line-height:1.4; }
.news-page .ns-popular__info span { color:#8490a0; font-size:11px; }
.news-page .pagination { display:flex; justify-content:center; gap:7px; margin:28px 0 0; }
.news-page .pagination .page-numbers { min-width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; padding:0 11px; border:1px solid #e1e8f1; border-radius:10px; background:#fff; color:#43546d; font-size:13px; font-weight:700; text-decoration:none; }
.news-page .pagination .current,.news-page .pagination .page-numbers:hover { border-color:#155fc8; background:#155fc8; color:#fff; }
body.single-post .sp-page--article { padding:32px 0 76px!important; background:#f6f8fb!important; }
body.single-post .sp-page--article > .container { width:min(1320px,calc(100% - 48px))!important; max-width:1320px!important; }
body.single-post .sp-page--article .sp-head--article { margin:0 0 22px!important; padding:28px 32px!important; border:1px solid #e3eaf3!important; border-radius:20px!important; background:linear-gradient(135deg,#fff 0%,#fbfcfe 100%)!important; box-shadow:0 8px 26px rgba(20,48,88,.05); }
body.single-post .sp-head--article .sp-head__title { color:#142747!important; font-size:clamp(32px,3.5vw,44px)!important; line-height:1.16!important; letter-spacing:-.045em!important; }
body.single-post .sp-grid--article { grid-template-columns:minmax(210px,245px) minmax(0,1fr) minmax(220px,260px)!important; gap:20px!important; align-items:start; }
body.single-post .sp-aside--article-toc .hg-toc { border:1px solid #e1e8f1!important; border-radius:16px!important; background:#fff!important; box-shadow:0 8px 22px rgba(20,48,88,.045)!important; }
body.single-post .sp-main--article .sp-content--article { padding:clamp(26px,3.3vw,42px)!important; border:1px solid #e3eaf3!important; border-radius:20px!important; background:#fff!important; box-shadow:0 10px 30px rgba(20,48,88,.05)!important; color:#33445c!important; font-size:16px!important; line-height:1.82!important; }
body.single-post .sp-content--article h2 { margin-top:1.65em!important; padding-bottom:.45em!important; border-bottom:1px solid #e7edf5!important; color:#142747!important; font-size:clamp(23px,2.5vw,30px)!important; line-height:1.28!important; }
body.single-post .sp-content--article h3 { margin-top:1.4em!important; color:#1d4d91!important; font-size:21px!important; line-height:1.35!important; }
body.single-post .sp-content--article p { color:#3f4e63; }
body.single-post .sp-content--article img { border-radius:12px!important; }
body.single-post .sp-related--articles { margin-top:36px!important; padding-top:28px; border-top:1px solid #e1e8f1; }
body.single-post .sp-related--articles .sp-related__heading { color:#142747!important; font-size:26px!important; letter-spacing:-.03em; }
body.single-post .sp-related--articles .sp-related__card { overflow:hidden; border:1px solid #e3eaf3!important; border-radius:15px!important; background:#fff!important; box-shadow:0 7px 22px rgba(20,48,88,.05)!important; }
/* Editorial article layout: toc, article and related product on desktop. */
body.single-post #content.single-post-page {
  width: min(1600px, calc(100% - 40px)) !important;
  max-width: 1600px !important;
  margin-inline: auto !important;
}
body.single-post #page .sp-page--article > .container {
  width: 100% !important;
  max-width: none !important;
  padding-inline: 20px !important;
}
body.single-post .sp-page--article .sp-bc,
body.single-post .sp-page--article .sp-head--article,
body.single-post .sp-page--article .sp-grid--article,
body.single-post .sp-page--article .sp-author-card,
body.single-post .sp-page--article .sp-related--articles {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}
body.single-post .sp-page--article .sp-head--article {
  margin-bottom: 22px !important;
}
body.single-post .sp-page--article .sp-grid--article {
  display: grid !important;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) minmax(260px, 290px) !important;
  gap: 22px !important;
  align-items: start !important;
}
body.single-post .sp-page--article .sp-grid--article > .sp-aside--article-toc {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  position: sticky !important;
  top: 120px !important;
  align-self: start !important;
}
body.single-post .sp-page--article .sp-grid--article > .sp-main--article {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}
body.single-post .sp-page--article .sp-grid--article > .sp-aside--product {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-column: 3 !important;
  grid-row: 1 !important;
  gap: 14px !important;
  position: sticky !important;
  top: 120px !important;
  align-self: start !important;
  min-width: 0 !important;
}
body.single-post .sp-page--article .sp-grid--article-no-toc {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 290px) !important;
}
body.single-post .sp-page--article .sp-grid--article-no-toc > .sp-main--article { grid-column: 1 !important; }
body.single-post .sp-page--article .sp-grid--article-no-toc > .sp-aside--product { grid-column: 2 !important; }
@media (max-width: 1100px) {
  .news-page .news-layout--with-sidebar { grid-template-columns: minmax(0, 1fr) 270px !important; gap: 18px !important; }
  .news-page .news-grid--simple { gap: 16px !important; }
  body.single-post #content.single-post-page { width: calc(100% - 32px) !important; }
  body.single-post .sp-page--article .sp-grid--article { grid-template-columns: minmax(205px, 230px) minmax(0, 1fr) !important; gap: 20px !important; }
  body.single-post .sp-page--article .sp-grid--article > .sp-aside--product { grid-column: 2 !important; grid-row: 2 !important; position: static !important; }
  body.single-post .sp-page--article .sp-grid--article-no-toc { grid-template-columns: minmax(0, 1fr) !important; }
  body.single-post .sp-page--article .sp-grid--article-no-toc > .sp-aside--product { grid-column: 1 !important; grid-row: 2 !important; }
}
@media (max-width: 860px) {
  .news-page .news-layout--with-sidebar { grid-template-columns: 1fr !important; }
  .news-page .news-sidebar--category { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .news-page .news-sidebar--category .ns-widget { margin: 0 !important; }
  body.single-post .sp-page--article .sp-grid--article,
  body.single-post .sp-page--article .sp-grid--article-no-toc { grid-template-columns: minmax(0, 1fr) !important; row-gap: 18px !important; }
  body.single-post .sp-page--article .sp-grid--article > .sp-aside--article-toc,
  body.single-post .sp-page--article .sp-grid--article > .sp-main--article,
  body.single-post .sp-page--article .sp-grid--article > .sp-aside--product,
  body.single-post .sp-page--article .sp-grid--article-no-toc > .sp-main--article,
  body.single-post .sp-page--article .sp-grid--article-no-toc > .sp-aside--product { grid-column: 1 !important; grid-row: auto !important; position: static !important; }
}
@media (max-width: 640px) {
  .news-page { padding: 16px 0 48px !important; }
  .news-page > .container { width: calc(100% - 24px) !important; }
  .news-page .news-header--simple { margin-bottom: 12px !important; padding: 23px 20px !important; border-radius: 16px !important; }
  .news-page .news-header__title { font-size: 34px !important; }
  .news-page .news-header__desc { font-size: 14px !important; }
  .news-page .news-cats { margin-bottom: 16px !important; flex-wrap: nowrap; overflow-x: auto; }
  .news-page .news-cats__item { flex: 0 0 auto; }
  .news-page .news-grid--simple { grid-template-columns: 1fr !important; gap: 14px !important; }
  .news-page .ncard__img { aspect-ratio: 16 / 10 !important; }
  .news-page .ncard__body { padding: 16px !important; }
  .news-page .ncard__title { font-size: 18px !important; }
  .news-page .news-sidebar--category { grid-template-columns: 1fr; }
  body.single-post #content.single-post-page { width: calc(100% - 16px) !important; }
  body.single-post .sp-page--article { padding: 18px 0 52px !important; }
  body.single-post #page .sp-page--article > .container { padding-inline: 8px !important; }
  body.single-post .sp-page--article .sp-head--article { padding: 21px 18px !important; border-radius: 16px !important; }
  body.single-post .sp-head--article .sp-head__title { font-size: 30px !important; }
  
  /* Keep single-product sections aligned on desktop instead of mixing full-width and narrow containers. */
  @media (min-width: 1101px) {
    html body.single-product .spd-wrapper > .container:has(.spd-top--print-reference),
      html body.single-product .spd-body-section--print-reference > .container,
        html body.single-product .spd-related {
            width: min(1440px, calc(100% - 48px)) !important;
                max-width: 1440px !important;
                    margin-left: auto !important;
                        margin-right: auto !important;
                            box-sizing: border-box !important;
                              }
                              
                                html body.single-product .spd-body-section--print-reference > .container > .spd-body-layout {
                                    width: 100% !important;
                                        max-width: 100% !important;
                                            margin-left: auto !important;
                                                margin-right: auto !important;
                                                    grid-template-columns: minmax(0, 1fr) minmax(260px, 310px) !important;
                                                        column-gap: 24px !important;
                                                            align-items: start !important;
                                                              }
                                                              
                                                                html body.single-product .spd-body-section--print-reference .spd-samples-section,
                                                                  html body.single-product .spd-body-section--print-reference .spd-samples-grid,
                                                                    html body.single-product .spd-body-section--print-reference .spd-desc-inner,
                                                                      html body.single-product .spd-body-section--print-reference .spd-body-sidebar--consult {
                                                                          width: 100% !important;
                                                                              max-width: 100% !important;
                                                                                  min-width: 0 !important;
                                                                                      box-sizing: border-box !important;
                                                                                        }
                                                                                        }
  body.single-post .sp-main--article .sp-content--article { padding: 22px 18px !important; border-radius: 16px !important; font-size: 15px !important; line-height: 1.78 !important; }
  body.single-post .sp-content--article table { display: block; max-width: 100%; overflow-x: auto; }
  body.single-post .sp-page--article .sp-grid--article > .sp-aside--product { grid-template-columns: 1fr !important; }
  body.single-post .sp-related--articles .sp-related__heading { font-size: 22px !important; }
}

/* Use a clean white canvas behind article pages. */
body.single-post #content.single-post-page,
body.single-post .sp-page--article {
  background: #fff !important;
}


/* Align desktop product sections to one consistent readable width. */
@media (min-width: 1101px) {
      html body.single-product .spd-wrapper > .container:has(.spd-top--print-reference),
        html body.single-product .spd-body-section--print-reference > .container,
          html body.single-product .spd-related {
                  width: min(1440px, calc(100% - 48px)) !important;
                      max-width: 1440px !important;
                          margin-left: auto !important;
                              margin-right: auto !important;
                                  box-sizing: border-box !important;
          }
          
            html body.single-product .spd-body-section--print-reference > .container > .spd-body-layout {
                    width: 100% !important;
                        max-width: 100% !important;
                            margin-left: auto !important;
                                margin-right: auto !important;
                                    grid-template-columns: minmax(0, 1fr) minmax(260px, 310px) !important;
                                        column-gap: 24px !important;
                                            align-items: start !important;
            }
            
              html body.single-product .spd-body-section--print-reference .spd-samples-section,
                html body.single-product .spd-body-section--print-reference .spd-samples-grid,
                  html body.single-product .spd-body-section--print-reference .spd-desc-inner,
                    html body.single-product .spd-body-section--print-reference .spd-body-sidebar--consult {
                            width: 100% !important;
                                max-width: 100% !important;
                                    min-width: 0 !important;
                                        box-sizing: border-box !important;
                    }
}
                    }
            }
          }
}

/* Keep the product hero aligned with its 1440px detail sections. */
@media (min-width: 1101px) {
  html body.single-product.single-product .spd-wrapper > .container:has(.spd-top--print-reference) {
    width: min(1440px, calc(100% - 48px)) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}


/* Override the page-level 1680px hero rule so product sections share one width. */
@media (min-width: 1101px) {
  html body.single-product #page#page .spd-wrapper > .container:has(.spd-top--print-reference) {
    width: min(1440px, calc(100% - 48px)) !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}
