/*
Theme Name: NAPHOGAVN v2
Template: flatsome
Version: 0.4.16
Description: Child theme cho site naphogavn.local, dựa trên Flatsome 3.20.7.
Author: naphogavn-v2
Text Domain: naphogavn-v2
*/

.hot {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 10px;
  color: var(--navy);
  font-weight: 700;
  white-space: nowrap;
}

.hot small {
  display: block;
  color: var(--ink-2);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .02em;
}

.hot a {
  color: inherit;
}

@media (max-width: 760px) {
  .hot {
    display: none;
  }
}

/* Hero: native Flatsome banner inside the explicitly marked section. */
.napho-hero .banner {
  --hero-height: 74vh;
  --hero-min-height: 620px;
  --hero-shade-left: rgba(0, 0, 0, 0.48);
  --hero-shade-middle: rgba(0, 0, 0, 0.18);
  --hero-shade-right: rgba(0, 0, 0, 0);
  --hero-delay-1: 50ms;
  --hero-delay-2: 180ms;
  --hero-delay-3: 300ms;
  --hero-delay-4: 420ms;
  --hero-delay-5: 540ms;
  width: 100%;
  height: var(--hero-height);
  min-height: var(--hero-min-height);
  /* UX Builder emits padding-top for height, inline and in ID-based rules. */
  padding-top: 0 !important;
}

.napho-hero .banner .banner-bg > .overlay {
  background-image: linear-gradient(
    90deg,
    var(--hero-shade-left) 0%,
    var(--hero-shade-middle) 55%,
    var(--hero-shade-right) 100%
  );
}

.napho-hero .banner [data-animate]:not([data-animate="none"]):nth-child(1) {
  --hero-delay: var(--hero-delay-1);
}

.napho-hero .banner [data-animate]:not([data-animate="none"]):nth-child(2) {
  --hero-delay: var(--hero-delay-2);
}

.napho-hero .banner [data-animate]:not([data-animate="none"]):nth-child(3) {
  --hero-delay: var(--hero-delay-3);
}

.napho-hero .banner [data-animate]:not([data-animate="none"]):nth-child(4) {
  --hero-delay: var(--hero-delay-4);
}

.napho-hero .banner [data-animate]:not([data-animate="none"]):nth-child(5) {
  --hero-delay: var(--hero-delay-5);
}

.napho-hero .banner [data-animate]:not([data-animate="none"]) {
  animation-delay: var(--hero-delay, 0ms);
  transition-delay: var(--hero-delay, 0ms);
}

@media (max-width: 549px) {
  .napho-hero .banner {
    --hero-height: 460px;
    --hero-min-height: 460px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .napho-hero .banner [data-animate] {
    animation: none;
    animation-delay: 0ms;
    transition: none;
    transition-delay: 0ms;
    transform: none;
    opacity: 1;
    filter: none;
  }
}

/* Homepage v6 tokens. The client approved the demo's system font. */
.page-id-6049 {
  --accent: #2fa0ca;
  --accent-deep: #1a60a7;
  --navy: #0c4379;
  --ink: #0e1a24;
  --ink-2: #3d4d5c;
  --line: #dbe3ea;
  --bg: #f4f7f9;
  --surface: #ffffff;
  --r: 6px;
  --r-sm: 6px;
  --wrap: 1240px;
  --napho-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-family: var(--napho-font);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  background-color: var(--surface);
}

.page-id-6049 :where(h1, h2, h3, h4, h5, h6, button, input, select, textarea, .button) {
  font-family: var(--napho-font);
}
.page-id-6049 h1:not(.napho-hero *) { font-size: 36px; line-height: 1.2; }
.page-id-6049 h2:not(.napho-hero *) {
  color: var(--navy);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.3;
}
.page-id-6049 h3:not(.napho-hero *) { font-size: 20px; line-height: 1.4; }

/* Inner spacing leaves shortcode padding on the outer section intact. */
.page-id-6049 .section-content.relative:not(.napho-hero, .napho-hero *) {
  padding-block: 40px;
}
.page-id-6049 .section:not(.napho-hero, .napho-hero *) {
  background-color: var(--surface);
}
.page-id-6049 .section:nth-of-type(even):not(.napho-hero, .napho-hero *) {
  background-color: var(--bg);
}
.page-id-6049 .section-content > .row:not(.row-full-width, .napho-hero *) {
  max-width: var(--wrap);
}
.page-id-6049 .section-title-container:not(.napho-hero *) { margin-bottom: 24px; }
.page-id-6049 .section-title.section-title-normal:not(.napho-hero *) {
  border-bottom-color: var(--line);
}
.page-id-6049 .section-title-main:not(.napho-hero *) {
  color: var(--navy);
  font-size: 28px;
  font-weight: 800;
  line-height: 1.3;
  padding-bottom: 12px;
  text-transform: none;
}
.page-id-6049 .sub-title:not(.napho-hero *) {
  color: var(--ink-2);
  font-size: 16px;
  line-height: 1.6;
}

.page-id-6049 .icon-box.featured-box:not(.napho-hero *) { margin-bottom: 24px; }
.page-id-6049 .icon-box.featured-box:not(.napho-hero *) .icon-box-img {
  max-width: 42px;
  flex: 0 0 42px;
  margin-bottom: 16px;
}
.page-id-6049 .icon-box.featured-box:not(.napho-hero *) :where(.icon, .icon-inner) {
  color: var(--accent-deep);
  font-size: 42px;
  line-height: 1;
}
.page-id-6049 .icon-box.featured-box:not(.napho-hero *) .icon-box-text.last-reset {
  color: var(--ink-2);
  font-size: 14.5px;
  line-height: 1.65;
}
.page-id-6049 .icon-box.featured-box:not(.napho-hero *) :where(h2, h3, h4) {
  color: var(--navy);
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
}

.page-id-6049 .product-small.box:not(.napho-hero *) {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r);
  overflow: hidden;
}
.page-id-6049 .product-small.col.has-hover:not(.napho-hero *):is(:hover, :focus-within) .product-small.box {
  border-color: var(--accent);
  box-shadow: 0 4px 14px rgb(12 67 121 / 10%);
}
.page-id-6049 .product-small.box:not(.napho-hero *) .box-image {
  border-radius: var(--r) var(--r) 0 0;
  overflow: hidden;
  background: var(--surface);
}
.page-id-6049 .product-small.box:not(.napho-hero *) .box-image img {
  height: 420px;
  object-fit: cover;
}
.page-id-6049 .product-small.box:not(.napho-hero *) .box-text {
  padding: 14px;
  color: var(--ink);
}
.page-id-6049 .product-small.box:not(.napho-hero *) .title-wrapper a {
  color: var(--navy);
  font-weight: 700;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.page-id-6049 .product-small.box:not(.napho-hero *) .price-wrapper { margin-top: 8px; }

.page-id-6049 .banner.has-hover:not(.napho-hero, .napho-hero *) {
  border-radius: var(--r);
  overflow: hidden;
  background-color: var(--bg);
}
.page-id-6049 .banner.has-hover:not(.napho-hero *) .banner-bg.fill {
  background-size: cover;
  background-position: center;
}
.page-id-6049 .banner.has-hover:not(.napho-hero *) .banner-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.page-id-6049 .banner.has-hover:not(.napho-hero *) .text-box-content.text {
  padding: 12px;
  overflow-wrap: anywhere;
}
/* Native stat/step cards have no background image; do not affect image cards. */
.page-id-6049 .banner.has-hover:not(.napho-hero *):not(:has(.banner-bg img, .banner-bg .bg)) {
  border: 1px solid var(--line);
  /* UX Builder emits the banner background color inline or in ID rules. */
}
/* Image cards: gradient stays below the native text layers and link. */
.page-id-6049 .banner.has-hover:not(.napho-hero *):has(.banner-bg img, .banner-bg .bg) .banner-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgb(14 26 36 / 85%), transparent 80%);
  pointer-events: none;
}
.page-id-6049 .banner.has-hover:not(.napho-hero *):has(.banner-bg img, .banner-bg .bg) .text-inner,
.page-id-6049 .banner.has-hover:not(.napho-hero *):has(.banner-bg img, .banner-bg .bg) .text-inner :where(h2, h3, h4, p, a) {
  color: var(--surface);
}

.page-id-6049 .button:not(.napho-hero *) {
  border-radius: var(--r);
  font-weight: 700;
  letter-spacing: 0;
}
.page-id-6049 .button.primary:not(.is-link):not(.napho-hero *) {
  background-color: var(--navy);
  border-color: var(--navy);
  color: var(--surface);
}
.page-id-6049 .button.alert:not(.napho-hero *) {
  background-color: var(--accent-deep);
  border-color: var(--accent-deep);
  color: var(--surface);
}
.page-id-6049 .button.white.is-outline:not(.napho-hero *) {
  background-color: transparent;
  border-color: var(--surface);
  color: var(--surface);
}
.page-id-6049 .button.white.is-outline:not(.napho-hero *):is(:hover, :focus-visible) {
  background-color: var(--surface);
  color: var(--navy);
}

@media (max-width: 849px) {
  .page-id-6049 h1:not(.napho-hero *) { font-size: 30px; }
  .page-id-6049 :is(h2, .section-title-main):not(.napho-hero *) { font-size: 22px; }
  .page-id-6049 .section-content.relative:not(.napho-hero, .napho-hero *) { padding-block: 28px; }
  /* Only rows of four native text-banner cards become two columns. */
  .page-id-6049 .row:has(> .col:nth-child(4)):not(:has(> .col:nth-child(5))) > .col:has(> .col-inner > .banner.has-hover):not(:has(.banner-bg img, .banner-bg .bg), .napho-hero *) {
    flex-basis: 50%;
    max-width: 50%;
    min-width: 0;
  }
  .page-id-6049 .banner.has-hover:not(.napho-hero *) .text-box.banner-layer { max-width: 100%; }
}

/* PAP: product archives only; keep the home page and PDP rules isolated. */
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .shop-container,
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .category-page-row,
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .page-title-inner {
  max-width: 1240px;
  margin-inline: auto;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .category-page-row > .col {
  padding-inline: 0;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .page-title {
  border: 0;
  background: #fff;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .page-title-inner {
  min-height: 0;
  padding: 18px 0 10px;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .shop-page-title,
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .page-head h1 {
  color: #0c4379;
  font-size: 30px;
  line-height: 1.25;
  text-transform: none;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.breadcrumbs, .woocommerce-breadcrumb) {
  color: #3d4d5c;
  font-size: 13.5px;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.breadcrumbs, .woocommerce-breadcrumb) a {
  color: #1a60a7;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.term-description, .page-head .description) {
  max-width: 70ch;
  color: #3d4d5c;
  font-size: 15px;
  line-height: 1.65;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.woocommerce-result-count, .woocommerce-ordering) {
  display: none;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.napho-pap-chips, .chips) {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 16px 0 22px;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.napho-pap-chips, .chips) a {
  border: 1px solid #dbe3ea;
  border-radius: 4px;
  padding: 8px 14px;
  background: #fff;
  color: #0c4379;
  font-weight: 600;
  line-height: 1.25;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.napho-pap-chips, .chips) a.on {
  border-color: #0c4379;
  background: #0c4379;
  color: #fff;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.pgrid, .products.row) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-inline: 0;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.pgrid, .products.row) > .product {
  width: auto;
  max-width: none;
  padding: 0;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.pgrid, .products.row) > .product > .col-inner {
  height: 100%;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small {
  display: flex;
  height: 100%;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid #dbe3ea;
  border-radius: 6px;
  background: #fff;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small :is(.box-image, .image-cover) {
  width: 100%;
  height: 200px;
  flex: 0 0 auto;
  padding-top: 0;
  border-radius: 6px 6px 0 0;
  background: #eef2f6;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small .box-image :is(.image-fade_in_back, .box-image-inner),
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small .box-image > a {
  width: 100%;
  height: 100%;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small .box-image img {
  width: 100%;
  height: 100%;
  display: block;
  padding: 8px;
  object-fit: contain;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small .box-text {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 15px;
}
/* Flatsome equalize-box writes an incorrect inline height after measuring the square image ratio. */
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.pgrid, .products.row) {
  align-items: start;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.pgrid, .products.row) > .product > .col-inner,
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small {
  height: auto;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small .box-text {
  height: auto !important; /* Required to override Flatsome's inline equalized height. */
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small .product-title,
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small .product-title a {
  display: -webkit-box;
  overflow: hidden;
  color: #0c4379;
  font-size: 15.5px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small .price,
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small .price .amount {
  color: #3d4d5c;
  font-size: 14px;
  font-weight: 600;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive, .search-results.post-type-archive-product) .product-small .price-wrapper {
  margin: 6px 0 0;
  line-height: 1.4;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive, .search-results.post-type-archive-product) .product-small .napho-archive-price {
  display: block;
  color: #3d4d5c;
  font-size: 14px;
  font-weight: 600;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .napho-pap-call {
  display: block;
  margin-top: auto;
  padding-top: 10px;
  color: #1a60a7;
  font-size: 13.5px;
  font-weight: 700;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .napho-pap-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 32px 0;
  border: 1px dashed #dbe3ea;
  border-radius: 6px;
  padding: 22px;
  background: #fff;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .napho-pap-cta h2 {
  margin-bottom: 6px;
  color: #0c4379;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 700;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .napho-pap-cta p {
  margin: 0;
  color: #3d4d5c;
  font-size: 14.5px;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .button.napho-pap-cta-button {
  flex: 0 0 auto;
  margin: 0;
  border-radius: 6px;
  background: #0c4379;
  color: #fff;
  text-transform: none;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .page-numbers .page-number {
  border: 1px solid #dbe3ea;
  background: #fff;
  color: #0c4379;
}
body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .page-numbers .page-number.current {
  border-color: #0c4379;
  background: #0c4379;
  color: #fff;
}
@media (max-width: 1000px) {
  body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.pgrid, .products.row) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .shop-page-title,
  body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .page-head h1 {
    font-size: 23px;
  }
  body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) :is(.pgrid, .products.row) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small :is(.box-image, .image-cover),
  body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .product-small .box-image img {
    height: 150px;
  }
  body:is(.archive.tax-product_cat, .archive.post-type-archive-product, .woocommerce-page.archive) .napho-pap-cta {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 549px) {
  .page-id-6049 h1:not(.napho-hero *) { font-size: 28px; }
  .page-id-6049 h3:not(.napho-hero *) { font-size: 18px; }
  .page-id-6049 .section-title-container:not(.napho-hero *) { margin-bottom: 20px; }
  .page-id-6049 .row:has(> .col:nth-child(4)):not(:has(> .col:nth-child(5))) > .col:has(> .col-inner > .banner.has-hover):not(:has(.banner-bg img, .banner-bg .bg), .napho-hero *) {
    flex-basis: 100%;
    max-width: 100%;
  }
  .page-id-6049 .banner.has-hover:not(.napho-hero *) .text-box-content.text {
    padding: 8px;
    font-size: 14px;
  }
  .page-id-6049 .button:not(.napho-hero *) {
    max-width: 100%;
    white-space: normal;
  }
  .page-id-6049 .icon-box.featured-box:not(.napho-hero *) :where(h2, h3, h4) { font-size: 16px; }
}

/* Homepage v6: hero heading and paired calls to action. */
@media (min-width: 550px) {
  .page-id-6049 .napho-hero .banner {
    height: 630px;
    min-height: 630px;
  }
}

.page-id-6049 .napho-hero h1 {
  font-size: 40px;
  line-height: 1.15;
  font-weight: 800;
  color: #ffffff;
}

.page-id-6049 .napho-hero .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  vertical-align: middle;
}

.page-id-6049 .napho-hero .button.white.is-outline {
  background-color: transparent;
  border: 2px solid #ffffff;
  color: #ffffff;
  font-weight: 800;
  text-shadow: 0 1px 3px rgb(0 0 0 / 45%);
}

.page-id-6049 .napho-hero .button.white.is-outline:is(:hover, :focus-visible) {
  background-color: #ffffff;
  color: var(--navy);
  text-shadow: none;
}

@media (max-width: 549px) {
  .page-id-6049 .napho-hero h1 {
    font-size: 26px;
  }
}

/* Override the inline border-radius: 100% emitted by image_radius="100". */
.page-id-6049 .product-category .box-image {
  border-radius: 6px !important;
  overflow: hidden;
  height: 195px;
}

.page-id-6049 .product-category .box-image img {
  border-radius: 6px;
  height: 195px;
  object-fit: cover;
}
/* Homepage v6 project bento: harmless until these classes exist in the content;
   without matching classes, these rules do not apply. */
.page-id-6049 .napho-proj .napho-proj-big .banner {
  min-height: 720px;
}

.page-id-6049 .napho-proj .napho-proj-sm .banner {
  min-height: 348px;
}

@media (max-width: 849px) {
  .page-id-6049 .napho-proj .napho-proj-big .banner,
  .page-id-6049 .napho-proj .napho-proj-sm .banner {
    min-height: 230px;
  }
}

/* Homepage v6: primary hero action; keep the outline action unchanged. */
.page-id-6049 .napho-hero .button.primary:not(.is-outline) {
  background-color: #ffffff;
  color: var(--navy);
  border-color: #ffffff;
}

.page-id-6049 .napho-hero .button.primary:not(.is-outline):is(:hover, :focus-visible) {
  background-color: var(--navy);
  color: #ffffff;
}

/* Inner defaults preserve shortcode padding on the outer section.
   Inline and ID-based padding on section-content retain precedence. */
.page-id-6049 .section-content.relative:not(.napho-hero, .napho-hero *) {
  padding-block: 28px;
}

@media (max-width: 549px) {
  .page-id-6049 .section-content.relative:not(.napho-hero, .napho-hero *) {
    padding-block: 20px;
  }
}

/* Compact project spacing without changing the approved bento heights. */
.page-id-6049 .napho-proj .row,
.page-id-6049 .napho-proj .col {
  margin-bottom: 10px;
  padding-bottom: 10px;
}

.page-id-6049 .napho-proj .text-inner {
  padding: 10px;
}

.page-id-6049 .napho-proj .proj-cta {
  margin-top: 10px;
  padding: 22px;
  border: 1px dashed #dbe3ea;
  border-radius: 6px;
  background: #ffffff;
  color: #3d4d5c;
}

.page-id-6049 .napho-proj .proj-cta .section-title-main {
  color: #0c4379;
  font-weight: 700;
}

.page-id-6049 .napho-proj .proj-note {
  color: #3d4d5c;
  font-size: 13.5px;
}

/* Approved v6 package. Content rules are confined to page 6049 and main. */
.page-id-6049 #main {
  font-family: var(--napho-font);
  color: var(--ink);
}
.page-id-6049 #main .section:is(.napho-groups, .napho-why, .napho-popular,
  .napho-standards, .napho-achievements, .napho-projects-v6,
  .napho-factory, .napho-steps, .napho-quote) {
  padding: 0;
}
.page-id-6049 #main .section:is(.napho-groups, .napho-why, .napho-popular,
  .napho-standards, .napho-achievements, .napho-projects-v6,
  .napho-factory, .napho-steps, .napho-quote) > .section-content {
  padding: 64px 0;
}
.page-id-6049 #main :is(.napho-groups, .napho-why, .napho-popular,
  .napho-standards, .napho-achievements, .napho-projects-v6,
  .napho-factory, .napho-steps, .napho-quote) .section-title {
  border: 0;
  margin: 0;
}
.page-id-6049 #main :is(.napho-groups, .napho-why, .napho-popular,
  .napho-standards, .napho-achievements, .napho-projects-v6,
  .napho-factory, .napho-steps, .napho-quote) .section-title b {
  display: none;
}
.page-id-6049 #main .section-title-main { border: 0; padding: 0; }
.page-id-6049 #main :is(h3.section-title, .napho-step) .section-title-main {
  font-size: 18px;
}
.page-id-6049 #main .napho-groups {
  background: var(--bg);
}
.page-id-6049 #main :is(.napho-popular, .napho-factory, .napho-steps) {
  background: var(--surface);
}
.page-id-6049 #main :is(.napho-standards, .napho-projects-v6, .napho-quote) {
  background: var(--bg);
}
.page-id-6049 #main :is(.button, .img-inner, input, select, textarea) {
  border-radius: 6px;
}
.page-id-6049 #main .napho-hero > .section-content { padding: 0; }
.page-id-6049 #main .napho-hero .text-box {
  width: 61% !important; /* Override native responsive ID rule. */
  max-width: 660px;
  left: 0;
  transform: translateY(-50%);
}
.page-id-6049 #main .napho-hero .banner-layers { max-width: 1240px; }
.page-id-6049 #main .napho-hero .text-inner { text-align: left; }
.page-id-6049 #main .napho-hero h1 { font-size: 40px; }
.page-id-6049 #main .napho-hero-stats {
  max-width: none;
  margin: 0;
  padding: 0 max(20px, calc((100% - 1240px) / 2));
  min-height: 50px;
  background: rgba(6, 22, 40, .94);
  color: #fff;
  align-items: center;
}
.page-id-6049 #main .napho-hero-stats > .col {
  padding: 12px 4px;
  flex-basis: 25%;
  max-width: 25%;
  font-size: 13px;
  white-space: nowrap;
  text-align: center;
}
.page-id-6049 #main .napho-hero-stats p { margin: 0; }
.page-id-6049 #main .napho-group .img-inner {
  height: 195px;
  overflow: hidden;
  margin-bottom: 10px;
  border-radius: 6px 6px 0 0;
}
.page-id-6049 #main .napho-group img { height: 195px; object-fit: cover; }
.page-id-6049 #main .napho-group { padding-bottom: 0; }
.page-id-6049 #main .napho-group .section-title-container { margin-bottom: 6px; }
.page-id-6049 #main .napho-group > .col-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 14px;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink-2);
  font-size: 14px;
}
.page-id-6049 #main .napho-group .col-inner > p { margin-bottom: 10px; }
.page-id-6049 #main .napho-group .button {
  align-self: flex-start;
  margin-top: auto;
  background: transparent;
  border: 0;
  color: var(--navy);
  font-weight: 700;
  margin-bottom: 6px;
}
.page-id-6049 #main .napho-group .button:hover { color: #1a60a7; }
.page-id-6049 #main .napho-why { background: var(--ink); color: #fff; }
.page-id-6049 #main :is(.napho-why, .napho-achievements, .napho-quote-card)
  :is(h2, h3, .section-title-main) { color: #fff; }
.page-id-6049 #main .napho-why > .section-content { padding-block: 48px; }
.page-id-6049 #main .napho-why .row .row { margin-top: 24px; }
.page-id-6049 #main .napho-reason { padding-bottom: 18px; font-size: 14px; }
.page-id-6049 #main .napho-reason > .col-inner {
  height: 100%;
  padding: 16px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 6px;
}
.page-id-6049 #main .napho-reason .section-title-container { margin-bottom: 8px; }
.page-id-6049 #main .napho-techco .img-inner { overflow: hidden; }
.page-id-6049 #main .napho-techco img { height: 340px; object-fit: cover; }
.page-id-6049 #main .napho-techco .section-title-container { margin: 18px 0 0; }
.page-id-6049 #main .button.napho-chip {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.6;
  min-height: 0;
  padding: 5px 8px;
  margin: 0 5px 8px 0;
  text-transform: none;
  border-width: 1px;
  white-space: normal;
  background: transparent;
  color: inherit;
  border-color: var(--line);
}
.page-id-6049 #main .napho-product > .col-inner {
  height: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 16px;
  background: #fff;
}
.page-id-6049 #main .napho-product :is(.products, .product, .product-small, .row) {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
}
.page-id-6049 #main .napho-product :is(.box-image, .image-cover) {
  padding-top: 0 !important;
}
/* Hop anh bi co ve 0 vi anh absolute; ghi de chieu cao Flatsome de aspect-ratio tao khung vuong. */
.page-id-6049 #main .napho-product .box-image {
  position: relative; height: auto !important; aspect-ratio: 1 / 1;
}
/* Ghi de kich thuoc anh cua Flatsome de anh lap day khung vuong. */
.page-id-6049 #main .napho-product .box-image img {
  position: absolute; inset: 0; width: 100% !important; height: 100% !important;
  object-fit: contain;
}
.page-id-6049 #main .napho-product .box-text { padding: 18px 0; min-height: 106px; }
.page-id-6049 #main .napho-product :is(.price, .price-wrapper, .add_to_cart_button,
  .product_type_simple, .product_type_variable, .category, .star-rating) { display: none; }
.page-id-6049 #main .napho-product .button:not(.napho-chip) { margin-top: 12px; }
.page-id-6049 #main .napho-product .col-inner > p:last-of-type {
  margin-top: 16px;
  color: #1a60a7;
  font-size: 14.5px;
  font-weight: 600;
}
.page-id-6049 #main .napho-standard > .col-inner {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 6px;
  height: 100%;
  background: #fff;
}
.page-id-6049 #main .napho-standard-primary > .col-inner {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}
.page-id-6049 #main .napho-standard-primary .section-title-main { color: #fff; }
.page-id-6049 #main .napho-standard .section-title-container { margin-block: 18px; }
.page-id-6049 #main .napho-achievements { background: var(--navy) !important; color: #fff; }
.page-id-6049 #main .napho-achievements .banner {
  background: rgba(255, 255, 255, .16) !important;
  border: 0;
  border-radius: 6px;
}
.page-id-6049 #main .napho-achievements :is(h2, h3, p, .text-inner) { color: #fff; }
.page-id-6049 #main .napho-achievements .banner h2 { font-size: 36px; }
.page-id-6049 #main .napho-projects-v6 > .section-content { padding-block: 42px; }
.page-id-6049 #main .napho-projects-v6 :is(.row, .col) {
  margin-bottom: 0;
  padding-bottom: 12px;
}
.page-id-6049 #main .napho-projects-v6 .napho-proj-big .banner { height: 720px; }
.page-id-6049 #main .napho-projects-v6 .napho-proj-sm .banner { height: 348px; }
.page-id-6049 #main .napho-factory .section-title { justify-content: flex-start; }
.page-id-6049 #main .napho-factory .img-inner { border-radius: 6px; overflow: hidden; }
.page-id-6049 #main .napho-factory .img-inner img { height: 210px; object-fit: cover; }
.page-id-6049 #main .napho-factory-contact {
  margin-top: 20px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.page-id-6049 #main .napho-factory-contact .button { text-transform: none; overflow-wrap: anywhere; }
.page-id-6049 .napho-steps .napho-step > .col-inner {
  background: #fff; border: 1px solid #dbe3ea; border-radius: 6px;
  padding: 22px 20px; height: 100%;
}
.page-id-6049 .napho-steps .napho-step { padding-bottom: 0; }
.page-id-6049 .napho-steps .napho-step .col-inner > p:first-child {
  color: #1a60a7; font-size: 13px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
}
.page-id-6049 .napho-steps .napho-step .button {
  display: flex; flex-direction: column-reverse; align-items: flex-start;
  text-align: left; font-size: 17px; text-transform: none;
  line-height: 1.4; white-space: normal; margin-bottom: 6px;
}
.page-id-6049 .napho-steps .napho-step .button.is-link,
.page-id-6049 .napho-steps .napho-step .button.is-link span {
  color: #0c4379;
}
.page-id-6049 .napho-steps .napho-step a.button.is-link > span {
  color: #0c4379; font-size: 17px; font-weight: 700;
}
.page-id-6049 .napho-steps .napho-step .button.is-link:hover,
.page-id-6049 .napho-steps .napho-step .button.is-link:hover span { color: #1a60a7; }
.page-id-6049 .napho-steps .napho-step .button i {
  margin: 8px 0; font-size: 28px; color: #1a60a7;
}
.page-id-6049 .napho-steps .napho-step .col-inner > p:last-child {
  margin-bottom: 0; color: #3d4d5c; font-size: 14.5px;
}
.page-id-6049 #main .napho-quote-card {
  background: var(--navy);
  color: #fff;
  border-radius: 6px;
  padding: 40px 28px 16px;
  width: calc(100% - 40px);
  margin-inline: auto;
}
.page-id-6049 #main .napho-quote-card label { color: #fff; font-weight: 500; }
.page-id-6049 #main .napho-quote-card :is(input, select) { margin-bottom: 10px; }
.page-id-6049 #main .napho-quote-card input[type="submit"] {
  background: #fff;
  color: var(--navy);
  border: 0;
  width: 100%;
  margin: 6px 0 0;
}
.page-id-6049 #main .napho-quote-card .wpcf7 p { margin-bottom: 8px; }
.page-id-6049 #main .napho-quote-card .wpcf7-response-output { color: #fff; }

/* Final homepage rhythm pass: keep approved desktop section min-heights unchanged. */
.page-id-6049 #main .napho-group .img-inner {
  height: 180px;
  margin-bottom: 6px;
}
.page-id-6049 #main .napho-group img { height: 180px; object-fit: cover; }
.page-id-6049 #main .napho-group .section-title-container { margin-bottom: 4px; }
.page-id-6049 #main .napho-group .col-inner > p { margin-bottom: 8px; }
.page-id-6049 #main .napho-group .button { margin-bottom: 4px; }
.page-id-6049 #main .napho-quote .col { padding-bottom: 0; }
.page-id-6049 #main .napho-quote-card > .col:first-child > .col-inner > p {
  margin-bottom: 8px;
}
.page-id-6049 #main .napho-why .col { padding-bottom: 0; }
.page-id-6049 #main .napho-why .row .row { margin-top: 16px; }
.page-id-6049 #main .napho-reason .section-title-container { margin-bottom: 4px; }
.page-id-6049 #main .napho-reason p { margin-bottom: 12px; }
.page-id-6049 #main .napho-popular .col { padding-bottom: 0; }
.page-id-6049 #main .napho-popular .napho-product .box-text { padding-block: 10px; }
.page-id-6049 #main .napho-popular .napho-chip { margin-bottom: 4px; }
.page-id-6049 #main .napho-popular .napho-product .col-inner > p:last-of-type {
  margin-top: 8px;
}
.page-id-6049 #main :is(#napho-factory, #napho-standards, #yeu-cau-goi-lai) {
  scroll-margin-top: 120px;
}
@media (min-width: 850px) {
  .page-id-6049 #main .napho-groups > .section-content { min-height: 958px; padding-block: 40px; }
  .page-id-6049 #main .napho-why > .section-content { min-height: 575px; }
  .page-id-6049 #main .napho-popular > .section-content { min-height: 717px; }
  .page-id-6049 #main .napho-standards > .section-content { min-height: 485px; }
  .page-id-6049 #main .napho-achievements > .section-content { min-height: 453px; }
  .page-id-6049 #main .napho-factory > .section-content { min-height: 877px; }
  .page-id-6049 #main .napho-steps > .section-content { min-height: 455px; padding-block: 55px; }
  .page-id-6049 #main .napho-quote > .section-content { min-height: 508px; padding-block: 52px; }
}
@media (max-width: 849px) {
  .page-id-6049 #main .napho-hero .text-box {
    width: calc(100% - 40px) !important;
    left: 20px;
  }
  .page-id-6049 #main .napho-hero-stats > .col { flex-basis: 50%; max-width: 50%; white-space: normal; }
  .page-id-6049 #main .napho-projects-v6 :is(.napho-proj-big, .napho-proj-sm) .banner {
    height: 280px;
    min-height: 280px;
  }
  .page-id-6049 #main .section:is(.napho-groups, .napho-why, .napho-popular,
    .napho-standards, .napho-achievements, .napho-projects-v6,
    .napho-factory, .napho-steps, .napho-quote) > .section-content { padding-block: 36px; }
}
@media (max-width: 549px) {
  .page-id-6049 #main .napho-hero .banner { height: 590px; min-height: 590px; }
  .page-id-6049 #main .napho-hero h1 { font-size: 30px; }
  .page-id-6049 #main .napho-hero-stats { padding-inline: 12px; }
  .page-id-6049 #main .napho-hero-stats > .col { font-size: 12px; padding: 10px 6px; }
  .page-id-6049 #main .napho-quote-card { padding: 28px 12px 8px; }
  .page-id-6049 #main .napho-techco img { height: 240px; }
}

/* Intentional global footer only: Flatsome native classes, no header selectors. */
.footer-wrapper .footer-2 {
  background: #ffffff;
  color: #3d4d5c;
  padding: 56px 0 28px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}
.footer-wrapper .footer-2 .widget { font-size: 14px; line-height: 1.7; }
.footer-wrapper .footer-2 .widget-title { color: #0c4379; font-size: 17px; text-transform: none; }
.footer-wrapper .footer-2 a { color: #3d4d5c; }
.footer-wrapper .footer-2 a:is(:hover, :focus-visible) { color: #1a60a7; }
.footer-wrapper .footer-2 .textwidget img { max-width: 220px; height: auto; margin-bottom: 20px; }
.footer-wrapper .footer-2 .textwidget ul { list-style: none; margin: 0; }
.footer-wrapper .footer-2 .textwidget li { margin: 0 0 9px; border: 0; }
.footer-wrapper .absolute-footer {
  background: #ffffff;
  border-top: 1px solid #dbe3ea;
  color: #3d4d5c;
}
.footer-wrapper .absolute-footer .copyright-footer { text-align: left; }
.footer-wrapper .payment-icons { display: none; }

/* Homepage detail refinement: stats icons, factory video, quote card, and footer divider. */
.page-id-6049 #main .napho-hero-stats .col-inner p::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  vertical-align: -3px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.page-id-6049 #main .napho-hero-stats > .col:nth-child(1) .col-inner p::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238ec9e8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V8l7-4v17M12 10h7v11M8 10h1M8 14h1M8 18h1M15 13h1M15 17h1'/%3E%3C/svg%3E");
}
.page-id-6049 #main .napho-hero-stats > .col:nth-child(2) .col-inner p::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238ec9e8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='10' r='6'/%3E%3Cpath d='m8.5 15-1 7 4.5-2 4.5 2-1-7M9.5 10h5M12 7.5v5'/%3E%3C/svg%3E");
}
.page-id-6049 #main .napho-hero-stats > .col:nth-child(3) .col-inner p::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238ec9e8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 20 6v5c0 5-3.4 8.5-8 10-4.6-1.5-8-5-8-10V6l8-3Z'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5'/%3E%3C/svg%3E");
}
.page-id-6049 #main .napho-hero-stats > .col:nth-child(4) .col-inner p::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238ec9e8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='10' r='7'/%3E%3Cpath d='m9 16-1 6 4-2 4 2-1-6M8.5 10.5l2 2 4.5-5'/%3E%3C/svg%3E");
}

.page-id-6049 #main .napho-video-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  background: #0e1a24;
  box-shadow: 0 18px 40px -24px rgba(12, 67, 121, .45);
}
.page-id-6049 #main .napho-video-wrap video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.page-id-6049 #main .napho-why .col { padding-bottom: 10px; }
.page-id-6049 #main .napho-group { padding-bottom: 10px; }

.page-id-6049 .napho-groups .napho-group {
  padding: 0 5px 10px;
}

.page-id-6049 #main .napho-quote-card {
  background: linear-gradient(120deg, #0c4379, #0a3560);
  color: #fff;
}
.page-id-6049 #main .napho-quote-card h2 { color: #fff; }
.page-id-6049 #main .napho-quote-card > .col:first-child > .col-inner > p { color: #c8dcec; }
.page-id-6049 #main .napho-quote-card > .col:nth-child(2) > .col-inner {
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 6px;
  background: rgba(255, 255, 255, .08);
}
.page-id-6049 #main .napho-quote-card .wpcf7-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.page-id-6049 #main .napho-quote-card .wpcf7-form > p { margin: 0; }
.page-id-6049 #main .napho-quote-card .wpcf7-form > p:nth-of-type(n + 3),
.page-id-6049 #main .napho-quote-card .wpcf7-response-output { grid-column: 1 / -1; }
.page-id-6049 #main .napho-quote-card label {
  display: block;
  margin: 0 0 6px;
  color: #cfe0ee;
  font-size: 13.5px;
  font-weight: 500;
}
.page-id-6049 #main .napho-quote-card :is(input:not([type="submit"]), select, textarea) {
  width: 100%;
  margin: 0;
  padding: 13px 14px;
  border-radius: 6px;
  background: #fff;
  color: #0e1a24;
}
.page-id-6049 #main .napho-quote-card :is(input, textarea)::placeholder { color: #6b7b8a; }
.page-id-6049 #main .napho-quote-card input[type="submit"] {
  width: 100%;
  margin: 0;
  background: #fff;
  color: #0c4379;
  font-weight: 700;
}
.page-id-6049 #main .napho-quote-card input[type="submit"]:hover {
  background: #2fa0ca;
  color: #fff;
}
.page-id-6049 #main .napho-quote-benefits {
  margin: 22px 0 18px;
  list-style: none;
  color: #fff;
  font-size: 15px;
}
.page-id-6049 #main .napho-quote-benefits li { margin-bottom: 9px; }
.page-id-6049 #main .napho-quote-benefits li::before {
  content: "\2713";
  margin-right: 9px;
  color: #8ec9e8;
  font-weight: 700;
}
.page-id-6049 #main .napho-quote-call {
  display: inline-block;
  padding: 11px 18px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 6px;
  color: #fff;
  font-weight: 700;
}
.page-id-6049 #main .napho-quote-call:hover {
  background: #fff;
  color: #0c4379;
}

.footer-wrapper {
  margin-top: 10px;
  border-top: 1px solid #dbe3ea;
  box-shadow: inset 0 3px 0 0 #0c4379;
}

@media (max-width: 849px) {
  .page-id-6049 #main .napho-quote-card .wpcf7-form { grid-template-columns: 1fr; }
  .page-id-6049 #main .napho-quote-card .wpcf7-form > p { grid-column: 1; }
}

/* PDP: scoped product detail layout and components. */
.single-product .product-container {
  max-width: 1240px;
  margin-inline: auto;
}
.single-product .product-main > .row.content-row {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 26px;
  max-width: 1240px;
}
.single-product .product-main > .row.content-row > .col {
  width: auto;
  max-width: none;
  padding: 0;
}
.single-product .product-gallery .product-images {
  overflow: hidden;
  margin: 0 0 12px;
  border: 1px solid #dbe3ea;
  border-radius: 6px;
  background: #fff;
}
.single-product .product-gallery .woocommerce-product-gallery__image,
.single-product .product-gallery .woocommerce-product-gallery__image--placeholder {
  height: 420px;
  background: #f7fafc;
}
.single-product .product-gallery .woocommerce-product-gallery__image img,
.single-product .product-gallery .woocommerce-product-gallery__image--placeholder img {
  width: 100%;
  height: 420px;
  object-fit: contain;
}
.single-product .product-gallery .product-thumbnails {
  margin-inline: -5px;
}
.single-product .product-gallery .product-thumbnails .col {
  flex-basis: 84px;
  max-width: 84px;
}
.single-product .product-gallery .product-thumbnails a {
  height: 74px;
  border: 1px solid #dbe3ea;
  border-radius: 5px;
  background: #fff;
}
.single-product .product-gallery .product-thumbnails img {
  width: 100%;
  height: 74px;
  margin: 0;
  object-fit: cover;
}
.single-product .product-info .breadcrumbs {
  color: #3d4d5c;
  font-size: 13.5px;
}
.single-product .product-info .breadcrumbs a {
  color: #1a60a7;
  text-decoration: none;
}
.single-product .product-info .product-title {
  color: #0c4379;
  font-size: 26px;
  line-height: 1.3;
}
.single-product .product-info .price,
.single-product .product-info .price .woocommerce-Price-amount {
  color: #b1430f;
  font-size: 19px;
  font-weight: 700;
}
.single-product .napho-pdp-price {
  color: #b1430f;
  font-size: 19px;
  font-weight: 700;
}
.single-product .product-short-description p {
  position: relative;
  margin-bottom: 10px;
  padding-left: 22px;
  color: #0e1a24;
  font-size: 14.5px;
  line-height: 1.65;
}
.single-product .product-short-description p::before {
  position: absolute;
  top: 0.48em;
  left: 0;
  width: 11px;
  height: 11px;
  border-radius: 2px;
  background: #2fa0ca;
  content: "";
}
.single-product .napho-pdp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0;
}
.single-product .button.napho-pdp-cta {
  min-height: 42px;
  margin: 0;
  border-radius: 6px;
  padding: 8px 18px;
  text-transform: none;
}
.single-product .button.napho-pdp-cta--phone {
  border: 1.5px solid #0c4379;
  background: transparent;
  color: #0c4379;
}
.single-product .button.napho-pdp-cta--quote {
  border-color: #0c4379;
  background: #0c4379;
  color: #fff;
}
.single-product :is(.woocommerce-tabs, .napho-pdp-spec) table.shop_attributes {
  overflow: hidden;
  border: 1px solid #dbe3ea;
  border-radius: 6px;
  border-collapse: separate;
  border-spacing: 0;
}
.single-product :is(.woocommerce-tabs, .napho-pdp-spec) table.shop_attributes th,
.single-product :is(.woocommerce-tabs, .napho-pdp-spec) table.shop_attributes td {
  border: 0;
  border-bottom: 1px solid #dbe3ea;
  padding: 11px 14px;
  font-size: 14.5px;
  text-align: left;
}
.single-product :is(.woocommerce-tabs, .napho-pdp-spec) table.shop_attributes tr:last-child > * {
  border-bottom: 0;
}
.single-product :is(.woocommerce-tabs, .napho-pdp-spec) table.shop_attributes th {
  width: 38%;
  background: #f6f9fc;
  color: #3d4d5c;
  font-weight: 600;
}
.single-product :is(.woocommerce-tabs, .napho-pdp-spec) table.shop_attributes td {
  width: 62%;
  background: #fff;
  color: #0e1a24;
}
.single-product :is(.related, .upsells) .row .product {
  width: 25%;
  max-width: 25%;
  flex-basis: 25%;
}
.single-product .related .row.slider {
  pointer-events: auto;
}
.single-product .related .flickity-viewport {
  height: auto !important; /* Override Flickity's incorrect inline height before lazy images load. */
  overflow: visible !important; /* Override Flickity's inline viewport clipping. */
}
.single-product .related .flickity-slider {
  position: static !important; /* Override Flickity's inline carousel positioning. */
  transform: none !important; /* Override Flickity's inline carousel translation. */
  display: flex;
  flex-wrap: wrap;
}
.single-product .related .flickity-slider > .product {
  position: relative !important; /* Override Flickity's inline absolute card positioning. */
  left: auto !important; /* Override Flickity's inline horizontal card offset. */
  top: auto !important; /* Override Flickity's inline vertical card offset. */
  width: 25%;
  max-width: 25%;
  flex: 0 0 25%;
  pointer-events: auto;
}
.single-product .related .flickity-button {
  display: none !important; /* Override Flickity's inline navigation-button display. */
}
.single-product :is(.related, .upsells) .product-small {
  height: 100%;
  overflow: hidden;
  border: 1px solid #dbe3ea;
  border-radius: 6px;
  background: #fff;
}
.single-product :is(.related, .upsells) .box-image,
.single-product :is(.related, .upsells) .image-cover {
  height: 200px;
  padding-top: 0;
  border-radius: 6px 6px 0 0;
  background: #eef2f6;
}
.single-product :is(.related, .upsells) .box-image img {
  width: 100%;
  height: 200px;
  padding: 8px;
  border-radius: 6px 6px 0 0;
  object-fit: contain;
}
.single-product .napho-pdp-spec {
  margin: 20px 0;
}
.napho-pdp-certs {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 14px;
}
.napho-pdp-certs img {
  height: 64px;
  width: auto;
  background: #fff;
  border: 1px solid #dbe3ea;
  border-radius: 4px;
  padding: 6px;
}
.single-product :is(.related, .upsells) .box-text {
  padding: 15px;
}
.single-product :is(.related, .upsells) .product-title,
.single-product :is(.related, .upsells) .box-text .product-title a {
  color: #0c4379;
  font-size: 15.5px;
  line-height: 1.35;
}
.single-product :is(.related, .upsells) .price,
.single-product :is(.related, .upsells) .price .amount {
  color: #3d4d5c;
  font-size: 14px;
  font-weight: 600;
}
.single-product .napho-pdp-load-table,
.single-product .napho-pdp-bottom-cta {
  margin: 32px 0;
}
.single-product .napho-pdp-load-table h2,
.single-product .napho-pdp-bottom-cta h2 {
  color: #0c4379;
  font-size: 22px;
  line-height: 1.35;
}
.single-product .napho-pdp-table-wrap {
  overflow-x: auto;
  border: 1px solid #dbe3ea;
  border-radius: 6px;
}
.single-product .napho-pdp-load-table table {
  min-width: 650px;
  margin: 0;
  border-collapse: collapse;
}
.single-product .napho-pdp-load-table :is(th, td) {
  border: 0;
  border-bottom: 1px solid #dbe3ea;
  padding: 11px 14px;
  color: #0e1a24;
  font-size: 14.5px;
  text-align: left;
}
.single-product .napho-pdp-load-table thead th {
  background: #f6f9fc;
  color: #3d4d5c;
  font-weight: 600;
}
.single-product .napho-pdp-load-table tbody tr:last-child > * {
  border-bottom: 0;
}
.single-product .napho-pdp-load-note {
  margin: 10px 0 0;
  color: #3d4d5c;
  font-size: 12.5px;
}
.single-product .napho-pdp-bottom-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border: 1px dashed #dbe3ea;
  border-radius: 6px;
  padding: 22px;
  background: #fff;
}
.single-product .napho-pdp-bottom-cta h2 {
  margin-bottom: 6px;
  font-weight: 700;
}
.single-product .napho-pdp-bottom-cta p {
  margin: 0;
  color: #3d4d5c;
  font-size: 14.5px;
}
.single-product .button.napho-pdp-bottom-button {
  flex: 0 0 auto;
  margin: 0;
  border-radius: 6px;
  background: #0c4379;
  color: #fff;
  text-transform: none;
}
@media (max-width: 849px) {
  .single-product .product-main > .row.content-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .single-product .product-gallery .woocommerce-product-gallery__image,
  .single-product .product-gallery .woocommerce-product-gallery__image--placeholder,
  .single-product .product-gallery .woocommerce-product-gallery__image img,
  .single-product .product-gallery .woocommerce-product-gallery__image--placeholder img {
    height: 300px;
  }
  .single-product :is(.related, .upsells) .row .product {
    width: 50%;
    max-width: 50%;
    flex-basis: 50%;
  }
  .single-product .related .flickity-slider > .product {
    width: 50%;
    max-width: 50%;
    flex-basis: 50%;
  }
  .single-product .napho-pdp-bottom-cta {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Homepage final pass, 0.3.2. Higher specificity preserves the existing card internals. */
/* Khoi phuc can giua cua Flatsome cho 2 section tung bi rule gutter cu ghi de margin. */
.page-id-6049 .napho-groups .row,
.page-id-6049 .napho-popular .row { margin-left: auto; margin-right: auto; }

/* Hang tieu de: padding ngang 15px nhu cac section dang dung. */
.page-id-6049 .napho-groups .row:first-child > .col,
.page-id-6049 .napho-popular .row:first-child > .col { padding-left: 15px; padding-right: 15px; }

/* Hang the: thu con 1220px + padding 5px => mep the trung mep tieu de, khoang cach giua the = 10px. */
/* #main uu tien hon rule max-width chung cua section-content ma khong can important. */
.page-id-6049 #main .napho-groups .row:has(.napho-group),
.page-id-6049 #main .napho-popular .row:has(.napho-product) { max-width: 1220px; }
.page-id-6049 .napho-groups .row:has(.napho-group) > .col,
.page-id-6049 .napho-popular .row:has(.napho-product) > .col { padding-left: 5px; padding-right: 5px; }

/* Khoang cach doc giua cac the (giu nhu hien tai). */
.page-id-6049 #main .napho-groups .napho-group,
.page-id-6049 #main .napho-popular .napho-product { padding-bottom: 10px; }

/* Class icon-truck khong ton tai trong font fl-icons cua site => render 0x0px. */
.page-id-6049 .napho-steps i.icon-truck {
  display: inline-block; width: 28px; height: 28px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a60a7' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M1 3h13v13H1z'/><path d='M14 8h4l3 3v5h-7z'/><circle cx='5.5' cy='18.5' r='1.8'/><circle cx='16.5' cy='18.5' r='1.8'/></svg>") no-repeat center / 28px 28px;
}
.page-id-6049 #main .napho-steps .row { align-items: stretch; }
.page-id-6049 #main .napho-step { display: flex; padding-bottom: 10px; }
.page-id-6049 #main .napho-step > .col-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #fff;
  border: 1px solid #dbe3ea;
  border-radius: 6px;
  transition: border-color .2s, box-shadow .2s;
}
.page-id-6049 #main .napho-step > .col-inner:hover {
  border-color: #1a60a7;
  box-shadow: 0 4px 16px rgba(12, 67, 121, .1);
}
.page-id-6049 #main .napho-step-heading {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 10px;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid #e8edf2;
}
.page-id-6049 #main .napho-step-heading :is(i, svg) {
  display: block;
  width: 28px;
  height: 34px;
  line-height: 34px;
  color: #1a60a7;
  font-size: 28px;
}
.page-id-6049 #main .napho-step-heading svg { height: 28px; }
.page-id-6049 #main .napho-step-label {
  color: #1a60a7;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.page-id-6049 #main .napho-step-heading h3 {
  grid-column: 1 / -1;
  min-height: 2.8em;
  margin: 0;
  color: #0c4379;
  font-size: 17px;
  line-height: 1.4;
}
.page-id-6049 #main .napho-step-heading a { color: inherit; }
.page-id-6049 #main .napho-news { background: #fff; padding: 48px 0; }
.page-id-6049 #main .napho-news h2 { color: #0c4379; font-size: 30px; text-align: center; }
.page-id-6049 #main .napho-news .box-image { overflow: hidden; border-radius: 6px; }
.page-id-6049 #main .napho-news .post-title { color: #0c4379; font-size: 16.5px; }
.page-id-6049 #main .napho-news .from_the_blog_excerpt { color: #3d4d5c; }
.page-id-6049 #main .napho-news .box-blog-post { transition: box-shadow .2s; }
.page-id-6049 #main .napho-news .box-blog-post:hover { box-shadow: 0 4px 16px rgba(12, 67, 121, .1); }
.page-id-6049 { padding-bottom: 50px; }
/* Section nha may duoc dat min-height 877px nhung noi dung chi ~420px => du ~460px trong. */
.page-id-6049 #main .napho-factory > .section-content { min-height: auto; }

/* Banner co dinh 118px + overflow:hidden, nhung noi dung 3 dong can ~140px => bi cat.
   Ghi de chieu cao inline cua Flatsome bang min-height du rong. */
@media (max-width: 849px) {
  /* Ghi de chieu cao inline do Flatsome thiet lap. */
  .page-id-6049 #main .napho-achievements .banner {
    height: auto !important; min-height: 165px; padding: 16px 12px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
  }
  /* Nhan chinh va phu de: bo margin duoi de khong day chu ra ngoai banner. */
  .page-id-6049 #main .napho-achievements .banner .text p { margin-bottom: 4px; }
  .page-id-6049 #main .napho-achievements .banner .text p:last-child { margin-bottom: 0; }
}

/* Wrapper anh cung bi rang buoc 76px (khong chi the img) => ep ca chuoi wrapper rong 100%. */
@media (max-width: 849px) {
  /* Ghi de kich thuoc va padding tao ti le khung anh do Flatsome thiet lap. */
  .page-id-6049 #main .napho-popular .napho-product :is(.box, .box-image, .image-none, .img, .img-inner, figure) {
    width: 100% !important; max-width: 100% !important; padding-top: 0 !important;
  }
  /* Tieu de san pham xuong 5-6 dong tren mobile => giam co chu. */
  .page-id-6049 #main .napho-product .box-text :is(h5, .product-title, .title, strong) {
    font-size: 15px; line-height: 1.35; margin-bottom: 6px;
  }
  .page-id-6049 #main .napho-product > .col-inner { padding: 12px; }
}

/* ===== Thanh contact day trang — 3 nut noi bat (mobile + desktop) — them boi Hermes ===== */
#Support_Footer {
  width: 100%; height: 64px; position: fixed; bottom: 0; left: 0;
  z-index: 1000; background: #fff; color: #0c4379;
  border-top: 3px solid #2fa0ca; box-shadow: 0 -6px 20px rgba(14,26,36,.2);
}
#Content_SupportFooter { width: 1100px; max-width: 100%; margin: 0 auto; }
#Support {
  display: flex; align-items: center; justify-content: space-between;
  gap: 18px; height: 64px;
}
#Support span { color: #0c4379; font-weight: 700; }
#Support .napho-support-logo { width: 120px; height: 40px; object-fit: contain; }
#Support a {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 11px; padding: 10px 17px; font-weight: 800; font-size: 14px;
  line-height: 1; white-space: nowrap; color: #fff; text-decoration: none;
  background: #b1430f; border: 0; box-shadow: 0 3px 10px rgba(177,67,15,.3);
}
#Support a.napho-support-zalo { background: #0068FF; border: 0; box-shadow: 0 3px 10px rgba(0,104,255,.3); }
#Support a.napho-quote-link { background: #1a60a7; box-shadow: 0 3px 10px rgba(26,96,167,.3); }
.support_mobile { display: none; }
@media (max-width: 760px) {
  #Support_Footer { display: none; }
  .support_mobile {
    display: grid; grid-template-columns: 1fr 1fr 1fr; width: 100%; height: 64px;
    position: fixed; bottom: 0; left: 0; z-index: 1000; background: #fff;
    border-top: 3px solid #b1430f; box-shadow: 0 -6px 20px rgba(14,26,36,.22);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .support_mobile a {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 3px; padding: 4px; font-size: 11.5px; font-weight: 800; line-height: 1.15;
    text-decoration: none; color: #0c4379;
  }
  .support_mobile a + a { border-left: 1px solid #dbe3ea; }
  .support_mobile .napho-ic {
    width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
    color: #fff; flex: 0 0 auto;
  }
  .support_mobile svg { width: 17px; height: 17px; }
  .support_mobile a.napho-call { color: #b1430f; }
  .support_mobile a.napho-call .napho-ic { background: #b1430f; }
  .support_mobile a.napho-zalo { color: #0068FF; }
  .support_mobile a.napho-zalo .napho-ic { background: #0068FF; }
  .support_mobile a.napho-quote { color: #1a60a7; }
  .support_mobile a.napho-quote .napho-ic { background: #1a60a7; }
}
@media (prefers-reduced-motion: reduce) {
  #Support_Footer *, .support_mobile * { animation: none !important; transition: none !important; }
}

/* ===== [Hermes] Mobile: khoi San pham khach hang hoi nhieu - the 80px -> 2 the/hang ===== */
@media (max-width: 849px) {
  /* 1) Cot napho-product khong con bi co 50% tren mobile (nguyen nhan chinh) */
  .page-id-6049 #main .napho-popular .row:has(.napho-product) > .col.napho-product {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  /* 2) Luoi san pham ben trong cot: 2 the/hang */
  .page-id-6049 #main .napho-popular .napho-product .products > .product-small {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
  /* 3) Tieu de gon 2 dong, cac the cao deu nhau */
  .page-id-6049 #main .napho-popular .napho-product .box-text :is(.product-title, .woocommerce-loop-product__title, h5) {
    font-size: 13px !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    min-height: 2.6em !important;
    margin-bottom: 6px !important;
  }
  /* 4) Anh vuong, khong meo; khe giua cac the deu */
  .page-id-6049 #main .napho-popular .napho-product .box-image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
  }
  .page-id-6049 #main .napho-popular .napho-product .products > .col {
    padding-left: 6px;
    padding-right: 6px;
  }
}

/* [Hermes] Mobile: card san pham full width + can giua */
@media (max-width: 849px) {
  .page-id-6049 #main .napho-popular .napho-product .products > .product-small {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .page-id-6049 #main .napho-popular .napho-product .box-image {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  .page-id-6049 #main .napho-popular .napho-product .box-text { text-align: center; }
}

/* [Hermes] Anh chung nhan GCN-4 (BS EN 124-5:2015) bi nghieng ~1.1 do san trong file anh goc => xoay bu lai */
.page-id-6049 img[src*="GCN-4"] {
  transform: rotate(1.1deg) scale(1.02);
  transform-origin: center center;
}

/* [Hermes] Khoi san pham khach hoi nhieu: bo khoang trang duoi tieu de + CTA co border */
.page-id-6049 .napho-popular .napho-product .box-text { min-height: 0 !important; padding-bottom: 4px !important; }
.page-id-6049 .napho-popular .napho-product .box { margin-bottom: 0 !important; }
.page-id-6049 .napho-popular a.napho-cta {
  display: inline-block;
  border: 1px solid #b1430f;
  color: #b1430f !important;
  background: #fff;
  padding: 7px 16px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.25;
  text-decoration: none;
}
.page-id-6049 .napho-popular a.napho-cta:hover,
.page-id-6049 .napho-popular a.napho-cta:focus { background: #b1430f; color: #fff !important; }
.page-id-6049 .napho-popular p:has(> a.napho-cta) { margin: 10px 0 14px !important; }

/* [Hermes] Can giua nut CTA + chinh lai goc xoay anh chung nhan GCN-4 (1.1deg chua du, anh goc nghieng ~2.8deg) */
.page-id-6049 .napho-popular p:has(> a.napho-cta) {
  text-align: center !important;
  margin: 10px 0 14px !important;
}

/* [Hermes] CTA napho-popular: can thang hang ngang tren PC (the tag cao thap khac nhau) */
@media (min-width: 850px) {
  .page-id-6049 #main .napho-popular .napho-product > .col-inner { display: flex; flex-direction: column; height: 100%; }
  .page-id-6049 #main .napho-popular .napho-product > .col-inner > .box { display: flex; flex-direction: column; flex: 1 1 auto; }
  .page-id-6049 #main .napho-popular .napho-product .box-text { display: flex; flex-direction: column; flex: 1 1 auto; }
  .page-id-6049 .napho-popular p:has(> a.napho-cta) { margin-top: auto !important; }
}
.page-id-6049 img[src*="GCN-4"] {
  transform: rotate(2.8deg) scale(1.07) !important;
  transform-origin: center center;
}

/* [Hermes] Anh GCN-4 da nan thang trong FILE => tat xoay CSS */
.page-id-6049 img[src*="GCN-4"] { transform: none !important; }
