/* Kho Bao Ho - thiet ke lai trang san pham (navy/cam), block productsLayout da duoc
   viet lai voi cac div bao (kb-gallery-card, kb-buybox, kb-price-card, kb-trust-row,
   kb-meta-row, kb-banner-card) nen CSS o day style truc tiep len class that,
   khong con phai doan :has()/nth-child de "doan" cau truc nua. */

@font-face{
  font-family:'KBHLD Oswald';
  font-style:normal;
  font-weight:500 600;
  font-display:swap;
  src:url('../fonts/oswald-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'KBHLD Oswald';
  font-style:normal;
  font-weight:500 600;
  font-display:swap;
  src:url('../fonts/oswald-vn-500600.woff2') format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}
@font-face{
  font-family:'KBHLD Oswald';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/oswald-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'KBHLD Oswald';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/oswald-vn-700.woff2') format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}
@font-face{
  font-family:'KBHLD Inter';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('../fonts/inter-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'KBHLD Inter';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('../fonts/inter-vn.woff2') format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

:root{
  --kb-navy-950:#0a1424;
  --kb-navy-900:#0f2038;
  --kb-navy-800:#16304f;
  --kb-navy-700:#1e4270;
  --kb-orange-600:#e05a00;
  --kb-orange-500:#ff7a1f;
  --kb-orange-100:#ffe3cc;
  --kb-paper:#faf8f4;
  --kb-line:#e2dccc;
  --kb-ink:#181b22;
  --kb-ink-soft:#5a6070;
  --kb-ink-faint:#8b8f9c;
  --kb-success:#1f8a4c;
  --kb-radius-m:10px;
}

.single-product #main{
  font-family:'KBHLD Inter',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  background:var(--kb-paper);
}
.single-product h1,
.single-product h2,
.single-product h3,
.single-product h4,
.single-product .nua{
  font-family:'KBHLD Oswald','KBHLD Inter',sans-serif;
  letter-spacing:.01em;
}

/* Breadcrumb: now a full-width strip above the gallery/buy-box row */
.single-product .product-breadcrumb-container{
  max-width:1280px;
  margin:0 auto!important;
}
.single-product .woocommerce-breadcrumb{
  font-size:12.5px;
  color:var(--kb-ink-soft);
}
.single-product .woocommerce-breadcrumb a{color:var(--kb-navy-700);text-decoration:none;}
.single-product .woocommerce-breadcrumb a:hover{text-decoration:underline;}

/* Title */
.single-product .product_title{
  font-size:clamp(22px,2.4vw,30px)!important;
  font-weight:600!important;
  line-height:1.25!important;
  color:var(--kb-navy-900);
  text-transform:none;
}

/* Buy-box column: even vertical rhythm between breadcrumb / title /
   price-card / trust-row / banner, matching the approved mockup. */
.kb-buybox{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.kb-buybox .product-breadcrumb-container,
.kb-buybox .product-title-container{margin:0;}

/* Gallery card */
.kb-gallery-card{
  background:#fff;
  border:1px solid var(--kb-line);
  border-radius:var(--kb-radius-m);
  padding:10px;
}
.single-product .flex-control-thumbs img{border-radius:6px;}
.single-product .flex-control-thumbs li{
  border:1.5px solid transparent;
  border-radius:6px;
  overflow:hidden;
}
.single-product .flex-control-thumbs li.flex-active-slide,
.single-product .flex-control-thumbs img:hover{border-color:var(--kb-orange-500);}

/* Meta row (categories/tags) under the gallery */
.kb-meta-row .product_meta{
  font-size:12px;
  color:var(--kb-ink-soft);
  margin:0!important;
}
.kb-meta-row .product_meta a{color:var(--kb-navy-700);text-decoration:none;}
.kb-meta-row .product_meta a:hover{text-decoration:underline;}

/* Rating row (real WooCommerce average + review count - only renders when
   a product actually has reviews, so it never shows fake stars) */
.kb-rating-row:empty{display:none;}
.kb-rating-row .star-rating{color:#e0a733;}
.kb-rating-row .woocommerce-review-link{
  font-size:12.5px;
  color:var(--kb-ink-soft);
  text-decoration:none;
  margin-left:6px;
}
.kb-rating-row .woocommerce-review-link:hover{text-decoration:underline;}

/* Price card: price row (current price + savings badge) plus a policy note */
.kb-price-card{
  background:#fff;
  border:1px solid var(--kb-line);
  border-radius:var(--kb-radius-m);
  padding:16px 18px;
  display:flex;
  flex-direction:column;
  gap:0;
}
.kb-price-row{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:10px;
}
.kb-price-card .product-price-container{margin:0!important;}
.kb-price-card .price{
  display:flex!important;
  align-items:baseline;
  flex-wrap:wrap;
  gap:1rem;
  margin:0;
}
.kb-price-card .price{
  font-family:'KBHLD Oswald',sans-serif!important;
  color:var(--kb-orange-600)!important;
  font-weight:600!important;
  font-size:32px!important;
}
/* WooCommerce puts a non-breaking space before the currency symbol; pull it
   back in so "đ" sits close to the number instead of floating off to the
   side. */
.kb-price-card .woocommerce-Price-currencySymbol{
  margin-left:-4px;
}
.kb-price-card bdi{
  font-family:'KBHLD Inter',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--kb-ink-faint);
}
/* Current price: the only element allowed to use the big orange price
   style. Covers both the plain "no discount" case (amount is a direct
   child of .price) and the on-sale case (amount lives inside <ins>). */
.kb-price-card .price > .woocommerce-Price-amount,
.kb-price-card .price ins,
.kb-price-card .price ins .woocommerce-Price-amount,
.kb-price-card .price > .woocommerce-Price-amount bdi,
.kb-price-card .price ins bdi{
  font-family:'KBHLD Oswald',sans-serif!important;
  color:var(--kb-orange-600)!important;
  font-weight:600!important;
  font-size:34px!important;
  text-decoration:none!important;
}
/* Old price: always small and muted, never picks up the price styles
   above, regardless of selector order. */
.kb-price-card .price del,
.kb-price-card .price del .woocommerce-Price-amount,
.kb-price-card .price del .amount bdi,
.kb-price-card .price del bdi{
  font-family:'KBHLD Inter',-apple-system,'Segoe UI',Roboto,Arial,sans-serif!important;
  color:#9a9fab!important;
  font-weight:400!important;
  font-size:20px!important;
  text-decoration:line-through!important;
  text-decoration-color:#9a9fab!important;
}
/* WooCommerce always outputs <del>old price</del> <ins>new price</ins> in
   that DOM order; reorder visually so the current price leads, old price
   trails - matching standard e-commerce convention and the mockup. */
.kb-price-card .price ins{order:1;}
.kb-price-card .price del{order:2;}
.kb-savings-badge{
  background:var(--kb-orange-100);
  color:#8a2b00;
  font-size:12.5px;
  font-weight:700;
  padding:5px 12px;
  border-radius:0.5rem;
  white-space:nowrap;
}
.kb-savings-badge .woocommerce-Price-amount,
.kb-savings-badge bdi{
  font-family:'KBHLD Inter',sans-serif!important;
  color:#8a2b00!important;
  font-weight:700!important;
  font-size:12.5px!important;
}
.kb-price-note{
  margin:0!important;
  font-size:12px;
  color:var(--kb-ink-soft);
}
.kb-price-card .product-price-container{margin:0!important;}

/* Highlights: intro text + specs bullet list (from warranty plugin), sitting
   directly on the page background like the mockup's plain checklist. */
.kb-highlights .product-short-description{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.kb-highlights .product-short-description > p{margin:0;font-size:14px;color:var(--kb-ink);line-height:1.65;}
.kb-highlights .product-short-description > p:empty,
.kb-highlights .product-short-description > ul:empty,
.kb-highlights:empty{display:none;}

.kb-highlights ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.kb-highlights ul li{
  font-size:13.5px;
  padding-left:24px;
  position:relative;
}
.kb-highlights ul li::before{
  content:"";
  position:absolute;left:0;top:3px;
  width:16px;height:16px;border-radius:50%;
  background:var(--kb-success);
}
.kb-highlights ul li::after{
  content:"";
  position:absolute;left:5.5px;top:6px;
  width:5px;height:9px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;
  transform:rotate(45deg);
}
.kb-highlights ul li strong{color:var(--kb-navy-900);}

/* Order card: quick-order form (Dat hang nhanh plugin), its own bordered
   card matching the mockup's order-form-card. */
.kb-order-card{
  background:#fff;
  border:1px solid var(--kb-line);
  border-radius:var(--kb-radius-m);
  padding:4px;
}
.kb-order-card .wrap-form.mt-3{margin-top:0!important;}
.kb-order-card .wrap-form .wrap-border{
  border:none!important;
  border-radius:var(--kb-radius-m)!important;
  padding:16px!important;
  text-align:left!important;
  background:#fff;
}
.kb-order-card .wrap-form .wrap-border > p:first-child{
  font-family:'KBHLD Oswald',sans-serif;
  font-size:14px;
  letter-spacing:.02em;
  color:var(--kb-navy-900);
  text-align:left;
  margin:0 0 12px;
}
.kb-order-card .wrap-form .form-control{
  border:1.5px solid var(--kb-line)!important;
  border-radius:6px!important;
  height:44px;
  font-size:13.5px;
  font-family:'KBHLD Inter',sans-serif;
  background:#fff;
}
.kb-order-card .wrap-form .form-control:focus{
  border-color:var(--kb-orange-500)!important;
  box-shadow:none;
}
.kb-order-card .wrap-form .quantity{height:44px;}
.kb-order-card .wrap-form .quantity input.qty{
  height:44px!important;
  border:1.5px solid var(--kb-line)!important;
  background:#fff;
}
.kb-order-card .wrap-form input#btnDatHangNhanh,
.kb-order-card .wrap-form input.add-to-cart{
  background:var(--kb-orange-500)!important;
  border-radius:6px!important;
  height:44px!important;
  width:auto!important;
  flex:1;
  padding:0 20px!important;
  font-weight:700!important;
  letter-spacing:.02em;
  text-transform:uppercase;
  border:none!important;
}
.kb-order-card .wrap-form input#btnDatHangNhanh:hover{background:var(--kb-orange-600)!important;}
.kb-order-card .wrap-form .DangKyNhanh{flex:1;display:flex;}
.kb-order-card .wrap-form .d-flex.justify-content-center{
  justify-content:flex-start!important;
  gap:10px;
  align-items:stretch;
}

/* Trust icon row: currently hidden per design decision. */
.kb-trust-row{display:none!important;}

/* Trust icon row: one connected strip (outer border, 1px seams between
   cells) instead of 4 separate floating cards - matches the mockup's
   trust-grid exactly. */
.kb-trust-row .row{
  margin:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--kb-line);
  border:1px solid var(--kb-line);
  border-radius:var(--kb-radius-m);
  overflow:hidden;
}
.kb-trust-row .row > .col{
  box-sizing:border-box!important;
  padding:16px 14px!important;
  margin:0!important;
  background:#fff;
  width:100%!important;
  max-width:none!important;
  min-width:0;
  justify-self:stretch;
}
@media (max-width:600px){
  .kb-trust-row .row{grid-template-columns:repeat(2,1fr);}
}
.kb-trust-row .icon-row-box{text-align:center!important;}
.kb-trust-row .icon-row-box .icon-box-img{margin:0 auto 8px;}
.kb-trust-row .icon-row-box .icon-inner{
  width:26px;height:26px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto;
}
.kb-trust-row .icon-row-box h4{
  font-family:'KBHLD Inter',-apple-system,'Segoe UI',Roboto,Arial,sans-serif!important;
  font-size:12.5px;
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
  line-height:1.35;
  color:var(--kb-ink-soft);
  margin:0;
}
/* Simple inline icons via mask, since the source attachment images (4450/4451/
   4453/4448) are missing from this local media copy. Each .icon-row-box sits
   alone inside its own .col, so the 4 columns of kb-trust-row's row_inner are
   the real siblings to index. Drawn directly in navy (no circle backdrop),
   matching the reference design. */
.kb-trust-row .icon-inner::before{
  content:"";
  width:26px;height:26px;
  background:var(--kb-navy-700);
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
}
/* 1: Freeship - truck */
.kb-trust-row .col.text-center:nth-child(1) .icon-inner::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v10H3zM14 10h4l3 3v4h-7z'/%3E%3Ccircle cx='7.5' cy='17.5' r='1.6'/%3E%3Ccircle cx='17.5' cy='17.5' r='1.6'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v10H3zM14 10h4l3 3v4h-7z'/%3E%3Ccircle cx='7.5' cy='17.5' r='1.6'/%3E%3Ccircle cx='17.5' cy='17.5' r='1.6'/%3E%3C/svg%3E");
}
/* 2: Doi tra - refresh / exchange arrows */
.kb-trust-row .col.text-center:nth-child(2) .icon-inner::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12a8 8 0 0114-5.3M4 6.7V12h5.3M20 12a8 8 0 01-14 5.3M20 17.3V12h-5.3'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12a8 8 0 0114-5.3M4 6.7V12h5.3M20 12a8 8 0 01-14 5.3M20 17.3V12h-5.3'/%3E%3C/svg%3E");
}
/* 3: Bao hanh - shield */
.kb-trust-row .col.text-center:nth-child(3) .icon-inner::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.6-3 8.4-7 9-4-.6-7-4.4-7-9V6z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.6-3 8.4-7 9-4-.6-7-4.4-7-9V6z'/%3E%3C/svg%3E");
}
/* 4: Giao toan quoc - package/box */
.kb-trust-row .col.text-center:nth-child(4) .icon-inner::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5 9 5 9-5z'/%3E%3Cpath d='M3 8v8l9 5 9-5V8M12 13v8'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5 9 5 9-5z'/%3E%3Cpath d='M3 8v8l9 5 9-5V8M12 13v8'/%3E%3C/svg%3E");
}

/* Banner image below the trust row */
.kb-banner-card{
  border-radius:var(--kb-radius-m);
  overflow:hidden;
}

/* Section heading above the specs table, so it reads as an introduced
   section instead of a table dropped mid-page. */
.kb-section-head{margin:0 0 16px;}
.kb-section-head h3{
  font-size:18px;
  color:var(--kb-navy-900);
  margin:0;
  padding-bottom:10px;
  border-bottom:2px solid var(--kb-orange-500);
  display:inline-block;
}

/* Auto-generated specs table (extracted from the short description by the
   kbhld-split-specs-table mu-plugin) */
.single-product .kbhld-specs-block{
  border:1px solid var(--kb-line);
  border-radius:var(--kb-radius-m);
  overflow:hidden;
}
.single-product .kbhld-specs-block table{width:100%;border-collapse:collapse;font-size:13.5px;}
.single-product .kbhld-specs-block thead th{
  background:var(--kb-navy-900)!important;
  color:#fff!important;
  font-family:'KBHLD Oswald',sans-serif;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.03em;
  padding:12px 14px;
  text-align:left;
}
.single-product .kbhld-specs-block td{
  padding:10px 14px;
  border-bottom:1px solid var(--kb-line);
}
.single-product .kbhld-specs-block tbody tr:nth-child(odd){background:#fff;}
.single-product .kbhld-specs-block tbody tr:nth-child(even){background:var(--kb-paper);}
.single-product .kbhld-specs-block td:first-child{color:var(--kb-ink-soft);width:34%;}
.single-product .kbhld-specs-block td:last-child{font-weight:600;color:var(--kb-ink);}

/* Tabs */
.single-product .woocommerce-tabs ul.tabs{border-bottom:1.5px solid var(--kb-line)!important;}
.single-product .woocommerce-tabs ul.tabs li{background:transparent!important;border:none!important;}
.single-product .woocommerce-tabs ul.tabs li a{
  font-family:'KBHLD Inter',sans-serif;
  font-weight:700!important;
  font-size:13px!important;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:var(--kb-ink-soft)!important;
  padding:12px 16px!important;
}
.single-product .woocommerce-tabs ul.tabs li.active a{
  color:var(--kb-navy-900)!important;
  box-shadow:inset 0 -2.5px 0 var(--kb-orange-500);
}
.single-product .woocommerce-Tabs-panel{color:var(--kb-ink);font-size:14px;line-height:1.7;}

/* Category sidebar (danhmucsanphamCustom): style duy nhat nam o
   plugins/0100.Menu/MenuCustomShortcode.php, khong override rieng o day nua. */

/* Flyout menu con cua sidebar danh muc bi "San pham tuong tu" che mat:
   sidebar va related-products nam o 2 <section> UX Builder khac nhau, moi
   section co .section-content.relative { z-index:1 } => 2 stacking context
   ngang hang, section related dung SAU trong DOM nen ve de len tren. Flyout
   z-index:999 bi nhot trong stacking context cua section sidebar nen khong
   the vuot qua. Nang han section chua sidebar len tren cac section sau. */
.single-product .custom-product-page > section:has(.danhmucsanphamCustom){
  position: relative;
  z-index: 20;
}

/* Related / best sellers product cards */
.single-product .products .product-small .price ins .woocommerce-Price-amount,
.single-product .products .product-small .price .woocommerce-Price-amount{
  color:var(--kb-orange-600)!important;
  font-weight:700!important;
}
.single-product .products .product-small .price del .woocommerce-Price-amount{
  color:#9a9fab!important;
}
.single-product a.title-wrapper .product-title,
.single-product .product-small .product-title{
  color:var(--kb-ink)!important;
  font-size:13.5px!important;
}

/* "Sản phẩm gợi ý" heading: kept as the site's original yellow badge style
   (same as the homepage section titles like "Quần áo bảo hộ") - no override
   here on purpose, for visual consistency with the rest of the site. */

/* Table of contents in the AI-written description (LuckyWP Table of
   Contents plugin) - was left on its default mid-blue skin, clashing hard
   with the rest of the redesigned page. */
.single-product .lwptoc_i{
  background:var(--kb-paper)!important;
  border:1px solid var(--kb-line)!important;
  border-radius:var(--kb-radius-m)!important;
}
.single-product .lwptoc_header,
.single-product .lwptoc_title,
.single-product .lwptoc_toggle_label{
  color:var(--kb-navy-900)!important;
}
.single-product .lwptoc_item a{color:var(--kb-navy-700)!important;}
.single-product .lwptoc_item_number{color:var(--kb-orange-600)!important;}

/* Sale/discount ribbon on related & best-selling product cards - was on a
   dynamically inline-styled yellow, overridden to the same orange used for
   the price so every "% off" cue on the page reads as one system. */
.single-product .badge-inner.secondary.on-sale{
  background-color:var(--kb-orange-500)!important;
}
.single-product .badge-inner.secondary.on-sale > div{
  color:#241000!important;
}

/* "Xem thêm nội dung" / "Thu gọn nội dung" toggle (devvn_readmore_flatsome,
   from functions.php) - was hardcoded green, clashing with navy/orange. */
.single-product .devvn_readmore_flatsome{
  background:var(--kb-paper)!important;
}
.single-product .devvn_readmore_flatsome:before{
  background:linear-gradient(to bottom, rgba(250,248,244,0) 0%, rgba(250,248,244,1) 100%)!important;
}
.single-product .devvn_readmore_flatsome a{
  color:var(--kb-navy-700)!important;
  font-family:'KBHLD Inter',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-weight:600;
  font-size:13px;
}
.single-product .devvn_readmore_flatsome a:after{
  border-top-color:var(--kb-navy-700)!important;
}
.single-product .devvn_readmore_flatsome_less a:after{
  border-bottom-color:var(--kb-navy-700)!important;
}

/* "Sản phẩm tương tự" (WooCommerce related-products heading) - was plain
   grey uppercase with odd 60px side margins; match the navy + orange
   underline used for the other section headings on this page. */
.single-product .product-section-title-related{
  font-family:'KBHLD Oswald',sans-serif!important;
  color:var(--kb-navy-900)!important;
  font-size:18px!important;
  font-weight:600!important;
  text-transform:none!important;
  margin:0 0 16px!important;
  padding:0 0 10px!important;
  border-bottom:2px solid var(--kb-orange-500);
  display:inline-block;
}

/* Contact row: hotline + Zalo chips, sitting under the trust-row */
.kb-contact-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.kb-contact-chip{
  flex:1;
  min-width:160px;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--kb-line);
  border-radius:var(--kb-radius-m);
  padding:10px 14px;
  background:#fff;
  text-decoration:none;
  color:var(--kb-ink);
}
.kb-contact-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  font-weight:700;
  font-size:12px;
  color:#fff;
}
.kb-contact-hotline .kb-contact-icon{background:var(--kb-navy-900);}
.kb-contact-zalo .kb-contact-icon{background:#0068ff;}
.kb-contact-text{display:flex;flex-direction:column;}
.kb-contact-text strong{
  font-family:'KBHLD Inter',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:13.5px;
  font-weight:700;
  color:var(--kb-ink);
}
.kb-contact-text small{
  font-family:'KBHLD Inter',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:11.5px;
  color:var(--kb-ink-soft);
}
.kb-contact-hotline:hover,
.kb-contact-zalo:hover{
  border-color:var(--kb-navy-700);
}
