/* Bá Hùng Tech brand theme — overrides Bootstrap 5.3 CSS variables + custom
   components. Loaded after bootstrap.css/site.css (see AppAsset), so plain
   cascade order is enough — no !important needed except where Bootstrap's
   own utility classes already use !important. */

:root {
    --bh-red: #da251d;
    --bh-red-dark: #a91b15;
    --bh-dark: #1c1c1c;
    --bh-dark-2: #2a2a2a;
    --bh-blue: #2e5aa8;
    --bh-blue-dark: #23478a;
    --bh-panel-bg: #eef1f5;

    /* Utility classes (.text-danger, .bg-danger, .border-danger) read these
       directly, so this alone reskins every price/badge/alert on the site. */
    --bs-danger: var(--bh-red);
    --bs-danger-rgb: 218, 37, 29;
    --bs-link-color: var(--bh-red);
    --bs-link-hover-color: var(--bh-red-dark);
}

/* Product detail refresh must come after the legacy responsive rules above. */
.bh-product-detail { max-width: 1140px; margin-bottom: 42px; font-size: 13px; }
.bh-product-breadcrumb { gap: 7px; margin: 0 0 10px; color: #777; font-size: 11px; font-weight: 400; }
.bh-product-breadcrumb a { color: #777; }
.bh-product-breadcrumb strong { color: #65401f; }
.bh-pd-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; margin-bottom: 18px; }
.bh-product-gallery { min-height: 0; padding: 6px; background: #fff; }
.bh-pd-brand-strip { display: none; }
.bh-product-gallery__stage { align-items: center; border-radius: 3px; }
.bh-product-gallery__stage img { width: 100%; object-fit: contain; }
.bh-product-gallery__nav { top: 50%; width: 30px; height: 30px; transform: translateY(-50%); border-radius: 50%; background: #fff; color: #222; font-size: 1rem; box-shadow: 0 1px 4px rgba(0,0,0,.18); }
.bh-product-gallery__nav--prev { left: 0; }
.bh-product-gallery__nav--next { right: 0; }
.bh-product-gallery__zoom { top: auto; right: 14px; bottom: 78px; left: auto; }
.bh-product-gallery__thumbs { gap: 9px; margin-top: 8px; }
.bh-product-gallery__thumb { width: 70px; height: 54px; padding: 3px; }
.bh-pd-summary { padding: 6px 0 0; }
.bh-pd-title { margin-bottom: 4px; font-size: 20px; line-height: 1.2; }
.bh-pd-subtitle { margin-bottom: 5px; font-size: 12px; }
.bh-pd-rating { margin-bottom: 8px; font-size: 11px; }
.bh-pd-price-box { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 10px; margin-bottom: 8px; border-radius: 2px; background: #fff0f0; }
.bh-pd-price { margin: 0; }
.bh-pd-price--contact { font-size: 28px; line-height: 1; }
.bh-pd-contact-cta { width: 185px; height: 32px; border-radius: 3px; font-size: 11px; }
.bh-pd-perks { margin-bottom: 8px; border-radius: 3px; box-shadow: none; }
.bh-pd-perk { min-height: 58px; padding: 5px 3px; gap: 2px; }
.bh-pd-perk strong { font-size: 10px; }
.bh-pd-perk small { font-size: 9px; }
.bh-pd-offer { padding: 7px 10px; margin-bottom: 8px; border: 1px solid #f1d4d4; border-radius: 3px; background: #fffafa; box-shadow: none; }
.bh-pd-offer h2 { justify-content: flex-start; padding-bottom: 5px; margin-bottom: 5px; border-bottom: 1px solid #f3d8d8; font-size: 13px; }
.bh-pd-offer p { margin: 4px 0; font-size: 11px; }
.bh-pd-offer span { width: 15px; height: 15px; }
.bh-pd-buy-row { gap: 8px; margin-bottom: 7px; }
.bh-pd-buy-now, .bh-pd-add-cart { height: 40px; border-radius: 3px; font-size: 12px; }
.bh-pd-buy-now small { font-size: 9px; }
.bh-pd-contact-row { gap: 7px; }
.bh-pd-contact-item { height: 38px; border-radius: 3px; font-size: 10px; }
.bh-pd-contact-item small { font-size: 9px; }
.bh-pd-highlights { padding: 0 16px 12px; margin-bottom: 24px; border: 1px solid #e4e4e4; border-radius: 0; background: #fff; }
.bh-pd-highlights h2 { justify-content: flex-start; margin: 0 -16px 10px; padding: 7px 14px; color: #fff; background: #4a270d; text-align: left; font-size: 14px; }
.bh-pd-highlights h2 i { color: #fff; }
.bh-pd-highlights__grid { gap: 5px 28px; }
.bh-pd-highlights__grid div { font-size: 11px; }
.bh-product-main { margin-bottom: 22px; border: 1px solid #ddd; border-radius: 3px; }
.bh-product-tabs { gap: 0; margin-bottom: 0; border-bottom: 1px solid #ddd; background: #fafafa; }
.bh-product-tabs button { flex: 1; min-height: 38px; padding: 8px 12px; border-right: 1px solid #e5e5e5; font-size: 11px; }
.bh-product-tabs button.active { color: #fff; background: #4a270d; }
.bh-product-tabs button.active::before { display: none; }
.bh-product-description, .bh-product-main .tab-pane { padding: 14px 16px; }
.bh-product-description h2 { margin-bottom: 10px; color: #222; text-align: left; font-size: 14px; }
.bh-product-description div { margin-bottom: 12px; font-size: 12px; font-style: normal; line-height: 1.55; }
.bh-product-description img { max-height: 620px; margin-bottom: 12px; object-fit: contain; }
.bh-pd-empty-state { margin: 0; padding: 28px 12px; color: #777; text-align: center; font-size: 12px; }
.bh-pd-projects { margin-top: 28px; margin-bottom: 26px; }
.bh-pd-projects__head { margin-bottom: 12px; }
.bh-pd-projects__head h2 { font-size: 16px; }
.bh-pd-project-card { border-radius: 3px; box-shadow: 0 1px 5px rgba(0,0,0,.14); }
.bh-pd-project-card__image { height: 130px; }
.bh-pd-project-card__body { padding: 9px 10px 11px; }
.bh-pd-project-card__body strong { font-size: 11px; }
.bh-pd-project-card__body span { font-size: 10px; }
@media (min-width: 768px) and (max-width: 1199.98px) { .bh-product-detail { max-width: 960px; } }
@media (max-width: 767.98px) {
    .bh-product-detail { margin-left: -6px; margin-right: -6px; }
    .bh-pd-hero { grid-template-columns: 1fr; gap: 14px; }
    /* .bh-product-gallery__stage { min-height: 250px; } */
    /* .bh-product-gallery__stage img { max-height: 250px; } */
    .bh-pd-price-box { align-items: stretch; flex-direction: column; }
    .bh-pd-contact-cta { width: 100%; }
    .bh-product-tabs { overflow-x: auto; }
    .bh-product-tabs button { flex: 0 0 auto; white-space: nowrap; }
}

/* Match the reference proportions: wide page, larger product hero, 52/48 split. */
main:has(.bh-product-detail) > .container { max-width: 1500px; padding-left: 10px; padding-right: 10px; }
.bh-product-detail { max-width: none; width: 100%; }
.bh-pd-hero { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 28px; }
.bh-product-gallery__stage { min-height: 0; }
.bh-product-gallery__stage img { max-height: 100%; }
.bh-product-gallery__thumb { width: 112px; height: 72px; }
.bh-product-gallery__thumbs { gap: 12px; margin-top: 12px; }
.bh-pd-title { font-size: 26px; }
.bh-pd-subtitle { font-size: 15px; }
.bh-pd-rating { font-size: 13px; }
.bh-pd-price--contact { font-size: 34px; }
.bh-pd-price-box { padding: 10px 14px; }
.bh-pd-contact-cta { width: 240px; height: 40px; font-size: 13px; }
.bh-pd-perk { min-height: 86px; padding: 9px 6px; }
.bh-pd-perk strong { font-size: 13px; }
.bh-pd-perk small { font-size: 11px; }
.bh-pd-offer { padding: 9px 14px; }
.bh-pd-offer h2 { padding: 8px 0; margin: -9px 0 8px; color: #cf171c; background: #ffe8e8; font-size: 18px; }
.bh-pd-offer p { margin: 7px 0; font-size: 14px; }
.bh-pd-buy-now, .bh-pd-add-cart { height: 56px; font-size: 16px; }
.bh-pd-contact-item { height: 58px; font-size: 13px; }
.bh-pd-contact-item small { font-size: 11px; }
.bh-pd-highlights { padding: 0 20px 14px; }
.bh-pd-highlights h2 { margin: 0 -20px 12px; padding: 11px 18px; font-size: 20px; }
.bh-pd-highlights__grid { gap: 8px 42px; }
.bh-pd-highlights__grid div { font-size: 14px; }
.bh-product-tabs button { min-height: 46px; font-size: 13px; }
@media (max-width: 1199.98px) {
    main:has(.bh-product-detail) > .container { max-width: 960px; }
    .bh-pd-hero { grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: 18px; }
    /* .bh-product-gallery__stage { height: clamp(280px, 34vw, 360px); } */
    .bh-product-gallery__thumb { width: 76px; height: 58px; }
    .bh-pd-title { font-size: 20px; }
    .bh-pd-subtitle { font-size: 12px; }
    .bh-pd-offer p { font-size: 11px; }
    .bh-pd-highlights__grid div { font-size: 11px; }
}
@media (max-width: 767.98px) {
    main:has(.bh-product-detail) > .container { padding-left: 8px; padding-right: 8px; }
    .bh-pd-hero { grid-template-columns: 1fr; }
    /* .bh-product-gallery__stage { height: 300px; } */
    .bh-product-gallery__thumb { width: 72px; height: 58px; }
    .bh-pd-title { font-size: 20px; }
    .bh-pd-contact-cta { width: 100%; }
}

body {
    padding-top: 118px; /* fixed 2-tier header height */
}

.bh-header-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
}

a {
    color: var(--bh-red);
}

/* Bootstrap bakes .btn-danger/.btn-outline-danger colors as literal hex at
   build time (doesn't reference --bs-danger), so they need an explicit
   override to pick up the brand red. */
.btn-danger {
    --bs-btn-bg: var(--bh-red);
    --bs-btn-border-color: var(--bh-red);
    --bs-btn-hover-bg: var(--bh-red-dark);
    --bs-btn-hover-border-color: var(--bh-red-dark);
    --bs-btn-active-bg: var(--bh-red-dark);
    --bs-btn-active-border-color: var(--bh-red-dark);
}

.btn-outline-danger {
    --bs-btn-color: var(--bh-red);
    --bs-btn-border-color: var(--bh-red);
    --bs-btn-hover-bg: var(--bh-red);
    --bs-btn-hover-border-color: var(--bh-red);
    --bs-btn-active-bg: var(--bh-red);
    --bs-btn-active-border-color: var(--bh-red);
}

/* ---------- Header ---------- */

.bh-topbar {
    background: var(--bh-red);
}

.bh-logo {
    display: flex;
    align-items: center;
    gap: .5rem;
    text-decoration: none;
    white-space: nowrap;
    color: #fff;
}

.bh-logo__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: .4rem;
    background: #fff;
    color: var(--bh-red);
    font-weight: 800;
    font-size: 1.3rem;
    flex-shrink: 0;
}

.bh-logo__text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.bh-logo__title {
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.bh-logo__subtitle {
    font-size: .7rem;
    font-weight: 600;
    color: #ffd54a;
}

.bh-topbar-icons {
    align-items: center;
    gap: 1.25rem;
    flex-shrink: 0;
}

.bh-icon-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .1rem;
    color: #fff;
    text-decoration: none;
    font-size: .7rem;
    font-weight: 600;
    border: 0;
    background: transparent;
    padding: 0;
    line-height: 1.1;
}

.bh-icon-link:hover {
    color: #ffd54a;
}

.bh-icon-link__icon {
    position: relative;
    font-size: 1.2rem;
}

.bh-icon-link__badge {
    position: absolute;
    top: -.5rem;
    right: -.8rem;
    font-size: .6rem;
}

.bh-search-form {
    flex: 1 1 auto;
    max-width: 760px;
}

.bh-search-form .form-control {
    border: 0;
    border-radius: 2rem 0 0 2rem;
    padding-left: 1.1rem;
}

.bh-search-form .btn {
    background: var(--bh-blue);
    border-color: var(--bh-blue);
    color: #fff;
    border-radius: 0 2rem 2rem 0;
    padding-inline: 1.1rem;
}

/* ---------- Main nav (category menu + page links) ---------- */

.bh-mainnav {
    background: var(--bh-red-dark);
    border-top: 1px solid rgba(255, 255, 255, .15);
}

.bh-catmenu {
    flex-shrink: 0;
}

.bh-catmenu__toggle {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: var(--bh-blue);
    color: #fff;
    border: 0;
    font-size: .85rem;
    font-weight: 700;
    padding: .7rem 1.25rem;
    white-space: nowrap;
}

.bh-catmenu__toggle:hover,
.bh-catmenu__toggle:focus {
    background: var(--bh-blue-dark);
    color: #fff;
}

.bh-catmenu__burger {
    font-size: 1rem;
}

.bh-catmenu__menu {
    width: 100%;
    min-width: 260px;
    padding: 0;
    border: 0;
    border-radius: 0 0 .375rem .375rem;
    overflow: visible;
}

.bh-catmenu__menu .dropdown-item {
    min-height: 48px;
    font-size: 15px;
    font-weight: 500;
    padding: .65rem 1rem;
    border-bottom: 1px solid #f1f1f1;
}

.bh-catmenu__menu .dropdown-item:hover {
    background: var(--bh-panel-bg);
}

.bh-catmenu__menu > li {
    position: relative;
}

.bh-catmenu__submenu {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 1001;
    width: 260px;
    min-width: 260px;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fff;
    box-shadow: 0 .25rem 1rem rgba(0, 0, 0, .12);
}

.bh-catmenu__menu > li:hover > .bh-catmenu__submenu {
    display: block;
}

.bh-catmenu__submenu a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: .65rem 1rem;
    border-bottom: 1px solid #f1f1f1;
    color: #333;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
}

.bh-catmenu__submenu a:hover {
    background: var(--bh-panel-bg);
    color: var(--bh-blue);
}

.bh-catmenu__arrow {
    color: #999;
}

.bh-mainnav__links {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-left: 1.5rem;
    overflow-x: auto;
    scrollbar-width: none;
}

.bh-mainnav__links.ms-0 {
    margin-left: 0;
}

.bh-mainnav__links::-webkit-scrollbar {
    display: none;
}

.bh-mainnav__links a {
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    padding: .8rem 0;
}

.bh-mainnav__links a:hover,
.bh-mainnav__links a.active {
    color: #ffd54a;
}

/* ---------- Homepage sidebar (category list) ---------- */

.bh-sidebar {
    position: relative;
    background: #fff;
    border-radius: .375rem;
    overflow: visible;
    box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .06);
    height: 100%;
}

.bh-sidebar__header {
    border-radius: .375rem .375rem 0 0;
    overflow: hidden;
}

.bh-sidebar__header {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: var(--bh-blue);
    color: #fff;
    font-weight: 700;
    font-size: .85rem;
    padding: .85rem 1rem;
}

.bh-sidebar__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bh-sidebar__list li {
    border-bottom: 1px solid #f0f0f0;
}

.bh-sidebar__list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .7rem 1rem;
    color: #333;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 600;
}

.bh-sidebar__list a:hover {
    background: var(--bh-panel-bg);
    color: var(--bh-blue);
}

.bh-sidebar__submenu {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 1045;
    width: 640px;
    max-width: calc(100vw - 340px);
    height: 100%;
    margin: 0;
    padding: 1.25rem 1.5rem;
    list-style: none;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 0 .5rem .5rem 0;
    box-shadow: .5rem .5rem 1.5rem rgba(0, 0, 0, .15);
    overflow-y: auto;
}

.bh-sidebar__list li:hover > .bh-sidebar__submenu {
    display: block;
}

.bh-sidebar__submenu li {
    border-bottom: 0;
}

.bh-sidebar__submenu a {
    padding: .6rem .25rem;
    color: #333;
    font-size: .85rem;
    font-style: normal;
    font-weight: 600;
    border-bottom: 1px solid #f1f1f1;
}

/* ---------- Homepage right-column widgets ---------- */

.bh-widget {
    background: #fff;
    border-radius: .375rem;
    overflow: hidden;
    box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .06);
    margin-bottom: 1rem;
}

.bh-widget__header {
    font-weight: 800;
    font-size: .85rem;
    padding: .65rem 1rem;
    color: #fff;
}

.bh-widget--review {
    background: #dce9f7;
}

.bh-widget--review .bh-widget__header {
    color: var(--bh-blue-dark);
    background: transparent;
    padding-bottom: 0;
}

.bh-widget--projects .bh-widget__header {
    background: var(--bh-dark);
}

.bh-widget--news .bh-widget__header {
    background: var(--bh-red);
}

.bh-widget__body {
    padding: .75rem 1rem 1rem;
}

.bh-review-item {
    display: flex;
    align-items: center;
    gap: .6rem;
    text-decoration: none;
    color: #333;
    margin-bottom: .6rem;
    font-size: .8rem;
    font-weight: 600;
}

.bh-review-item__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    background: var(--bh-red);
    color: #fff;
    font-size: .7rem;
    flex-shrink: 0;
}

.bh-project-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .4rem;
}

.bh-project-grid img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: .25rem;
}

.bh-news-item {
    display: flex;
    gap: .6rem;
    text-decoration: none;
    color: #333;
    margin-bottom: .75rem;
}

.bh-news-item:last-child {
    margin-bottom: 0;
}

.bh-news-item__img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: .25rem;
    flex-shrink: 0;
}

.bh-news-item__title {
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.3;
}

.bh-news-item--hot .bh-news-item__title::before {
    content: 'HOT';
    display: inline-block;
    background: var(--bh-red);
    color: #fff;
    font-size: .6rem;
    font-weight: 800;
    border-radius: .2rem;
    padding: 0 .3rem;
    margin-right: .35rem;
    vertical-align: middle;
}

/* ---------- Feature icon row ---------- */

.bh-feature-icons {
    background: #fff;
    border-radius: .375rem;
    box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .06);
    display: flex;
    flex-wrap: wrap;
}

.bh-feature-icons__item {
    flex: 1 1 25%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    text-align: center;
    padding: 1.25rem 1rem;
    text-decoration: none;
    color: #333;
    font-size: .82rem;
    font-weight: 700;
}

.bh-feature-icons__icon {
    font-size: 1.8rem;
}

/* ---------- YouTube channel block ---------- */

.bh-youtube {
    background: var(--bh-dark);
    border-radius: .375rem;
    overflow: hidden;
    color: #ccc;
}

.bh-youtube__widget {
    padding: 0 1.25rem 1.25rem;
}

/* ---------- Hero ---------- */

.bh-hero-cta {
    background: var(--bh-dark);
    color: #fff;
    border-radius: .5rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem;
    text-align: center;
}

/* ---------- Promo box ---------- */

.bh-promo-box {
    border: 3px solid var(--bh-red);
    border-radius: .5rem;
    padding: 1.5rem;
}

.bh-promo-box__title {
    display: inline-block;
    background: var(--bh-red);
    color: #fff;
    font-weight: 800;
    padding: .5rem 1.5rem;
    border-radius: 2rem;
    margin: -2.7rem 0 1.2rem;
}

.bh-promo-hotline {
    background: var(--bh-dark);
    color: #fff;
    border-radius: .375rem;
    padding: .75rem 1.25rem;
    text-align: center;
    font-weight: 600;
}

.bh-promo-hotline a {
    color: #ffd54a;
}

/* ---------- Category icons ---------- */

.bh-category-icon {
    text-align: center;
    text-decoration: none;
    color: #333;
    display: block;
}

.bh-category-icon__img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid #f1f1f1;
    transition: border-color .15s;
}

.bh-category-icon:hover .bh-category-icon__img {
    border-color: var(--bh-red);
}

.bh-category-icon__label {
    display: block;
    margin-top: .5rem;
    font-size: .85rem;
    font-weight: 600;
}

/* ---------- Product row (horizontal carousel) ---------- */

.bh-product-row {
    margin-bottom: 2.5rem;
}

.bh-product-row__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 2px solid var(--bh-red);
    padding-bottom: .5rem;
    margin-bottom: 1rem;
}

.bh-product-row__title {
    font-weight: 800;
    text-transform: uppercase;
    color: var(--bh-dark);
    margin: 0;
    font-size: 1.05rem;
}

.bh-product-row__viewall {
    background: var(--bh-red);
    color: #fff;
    font-size: .8rem;
    font-weight: 600;
    padding: .3rem 1rem;
    border-radius: 2rem;
    text-decoration: none;
    white-space: nowrap;
}

.bh-product-row__viewall:hover {
    background: var(--bh-red-dark);
    color: #fff;
}

.bh-product-row__body {
    position: relative;
}

.bh-product-row__track {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    padding-bottom: .5rem;
}

.bh-product-row__track::-webkit-scrollbar {
    height: 6px;
}

.bh-product-row__track::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 3px;
}

.bh-row-card {
    flex: 0 0 200px;
    scroll-snap-align: start;
    text-decoration: none;
    color: #333;
    border: 1px solid #eee;
    border-radius: .5rem;
    overflow: hidden;
    display: block;
    transition: box-shadow .15s;
}

.bh-row-card:hover {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .1);
    color: #333;
}

.bh-row-card__img-wrap {
    position: relative;
}

.bh-row-card__img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.bh-row-card__badge {
    position: absolute;
    top: .5rem;
    right: .5rem;
}

.bh-row-card__body {
    padding: .6rem .75rem .9rem;
}

.bh-row-card__name {
    font-size: .85rem;
    font-weight: 600;
    height: 2.3em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin-bottom: .4rem;
}

.bh-row-scroll-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    border: 1px solid #ddd;
    background: #fff;
    box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .15);
    display: flex;
    align-items: center;
    justify-content: center;
}

.bh-row-scroll-btn--prev {
    left: -1rem;
}

.bh-row-scroll-btn--next {
    right: -1rem;
}

/* ---------- Static sections (projects / news) ---------- */

.bh-static-card {
    border: 1px solid #eee;
    border-radius: .5rem;
    overflow: hidden;
    height: 100%;
}

.bh-static-card__img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
}

.bh-static-card__body {
    padding: 1rem;
}

/* ---------- Footer ---------- */

.bh-footer {
    background: var(--bh-dark);
    color: #ccc;
}

.bh-footer h3 {
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.bh-footer a {
    color: #ccc;
    text-decoration: none;
}

.bh-footer a:hover {
    color: #fff;
}

.bh-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bh-footer li {
    margin-bottom: .5rem;
}

.bh-footer-bottom {
    background: #141414;
    color: #888;
    font-size: .8rem;
}

.bh-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #333;
    margin-right: .5rem;
}

@media (max-width: 767.98px) {
    body {
        padding-top: 176px;
    }

    .bh-topbar .container {
        flex-wrap: wrap;
    }

    .bh-search-form {
        order: 3;
        flex-basis: 100%;
        max-width: none;
        margin-top: .5rem;
    }
}

/* Product detail refresh: compact storefront layout matching the public reference. */
.bh-product-detail {
    max-width: 1140px;
    margin-bottom: 42px;
    font-size: 13px;
}

.bh-product-breadcrumb {
    gap: 7px;
    margin: 0 0 10px;
    color: #777;
    font-size: 11px;
    font-weight: 400;
}

.bh-product-breadcrumb a { color: #777; }
.bh-product-breadcrumb strong { color: #65401f; font-weight: 700; }

.bh-pd-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
    margin-bottom: 18px;
}

.bh-product-gallery {
    min-height: 0;
    padding: 6px;
    /* border: 1px solid #e4e4e4; */
    /* border-radius: 4px; */
    background: #fff;
    /* box-shadow: 0 1px 4px rgba(0, 0, 0, .08); */
}

.bh-pd-brand-strip { display: none; }

.bh-product-gallery__stage {
    min-height: 290px;
    align-items: center;
    border-radius: 3px;
    /* background: #f5f5f3; */
}

.bh-product-gallery__stage img {
    width: 100%;
    /* max-height: 290px; */
    object-fit: contain;
}

.bh-product-gallery__nav {
    top: 50%;
    width: 30px;
    height: 30px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #fff;
    color: #222;
    font-size: 1rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .18);
}

.bh-product-gallery__nav--prev { left: 0; }
.bh-product-gallery__nav--next { right: 0; }

.bh-product-gallery__zoom {
    top: auto;
    bottom: 78px;
    left: auto;
    right: 14px;
}

.bh-product-gallery__thumbs { gap: 9px; margin-top: 8px; }
.bh-product-gallery__thumb { width: 70px; height: 54px; padding: 3px; }

.bh-pd-summary {
    padding: 6px 0 0;
}

.bh-pd-title {
    margin-bottom: 4px;
    font-size: 20px;
    line-height: 1.2;
}

.bh-pd-subtitle { margin-bottom: 5px; font-size: 12px; }
.bh-pd-rating { margin-bottom: 8px; font-size: 11px; }

.bh-pd-price-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 10px;
    margin-bottom: 8px;
    border-radius: 2px;
    background: #fff0f0;
}

.bh-pd-price { margin: 0; }
.bh-pd-price--contact { font-size: 28px; line-height: 1; }
.bh-pd-contact-cta { width: 185px; height: 32px; border-radius: 3px; font-size: 11px; }

.bh-pd-perks { margin-bottom: 8px; border-radius: 3px; box-shadow: none; }
.bh-pd-perk { min-height: 58px; padding: 5px 3px; gap: 2px; }
.bh-pd-perk strong { font-size: 10px; }
.bh-pd-perk small { font-size: 9px; }

.bh-pd-offer {
    padding: 7px 10px;
    margin-bottom: 8px;
    border: 1px solid #f1d4d4;
    border-radius: 3px;
    background: #fffafa;
    box-shadow: none;
}

.bh-pd-offer h2 {
    justify-content: flex-start;
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid #f3d8d8;
    font-size: 13px;
}

.bh-pd-offer p { margin: 4px 0; font-size: 11px; }
.bh-pd-offer span { width: 15px; height: 15px; }

.bh-pd-buy-row { gap: 8px; margin-bottom: 7px; }
.bh-pd-buy-now, .bh-pd-add-cart { height: 40px; border-radius: 3px; font-size: 12px; }
.bh-pd-buy-now small { font-size: 9px; }
.bh-pd-contact-row { gap: 7px; }
.bh-pd-contact-item { height: 38px; border-radius: 3px; font-size: 10px; }
.bh-pd-contact-item small { font-size: 9px; }

.bh-pd-highlights {
    padding: 0 16px 12px;
    margin-bottom: 24px;
    border: 1px solid #e4e4e4;
    border-radius: 0;
    background: #fff;
}

.bh-pd-highlights h2 {
    justify-content: flex-start;
    margin: 0 -16px 10px;
    padding: 7px 14px;
    color: #fff;
    background: #4a270d;
    text-align: left;
    font-size: 14px;
}

.bh-pd-highlights h2 i { color: #fff; }
.bh-pd-highlights__grid { gap: 5px 28px; }
.bh-pd-highlights__grid div { font-size: 11px; }

.bh-product-main {
    margin-bottom: 22px;
    border: 1px solid #ddd;
    border-radius: 3px;
}

.bh-product-tabs {
    gap: 0;
    margin-bottom: 0;
    border-bottom: 1px solid #ddd;
    background: #fafafa;
}

.bh-product-tabs button {
    flex: 1;
    min-height: 38px;
    padding: 8px 12px;
    border-right: 1px solid #e5e5e5;
    font-size: 11px;
}

.bh-product-tabs button.active { color: #fff; background: #4a270d; }
.bh-product-tabs button.active::before { display: none; }
.bh-product-description, .bh-product-main .tab-pane { padding: 14px 16px; }
.bh-product-description h2 { margin-bottom: 10px; font-size: 14px; color: #222; text-align: left; }
.bh-product-description div { margin-bottom: 12px; font-size: 12px; font-style: normal; line-height: 1.55; }
.bh-product-description img { max-height: 620px; margin-bottom: 12px; object-fit: contain; }

.bh-pd-projects { margin-top: 28px; margin-bottom: 26px; }
.bh-pd-projects__head { margin-bottom: 12px; }
.bh-pd-projects__head h2 { font-size: 16px; }
.bh-pd-project-card { border-radius: 3px; box-shadow: 0 1px 5px rgba(0, 0, 0, .14); }
.bh-pd-project-card__image { height: 130px; }
.bh-pd-project-card__body { padding: 9px 10px 11px; }
.bh-pd-project-card__body strong { font-size: 11px; }
.bh-pd-project-card__body span { font-size: 10px; }

@media (max-width: 1199.98px) {
    .bh-product-detail { max-width: 960px; }
}

@media (max-width: 767.98px) {
    .bh-product-detail { margin-left: -6px; margin-right: -6px; }
    .bh-pd-hero { gap: 14px; }
    .bh-product-gallery__stage { min-height: 250px; }
    /* .bh-product-gallery__stage img { max-height: 250px; } */
    .bh-pd-price-box { align-items: stretch; flex-direction: column; }
    .bh-pd-contact-cta { width: 100%; }
    .bh-product-tabs { overflow-x: auto; }
    .bh-product-tabs button { flex: 0 0 auto; white-space: nowrap; }
}

/* ---------- Desktop header reference layout ---------- */
@media (min-width: 768px) {
    body { padding-top: 0; }

    .bh-header-fixed {
        position: relative;
    }

    .bh-utility-bar {
        min-height: 58px;
        padding: 0;
        background: #2b1b0d;
        border-bottom: 1px solid rgba(255, 255, 255, .14);
        color: #f5ead4;
        font-size: .78rem;
    }

    .bh-utility-bar .container {
        min-height: 58px;
        gap: 28px !important;
    }

    .bh-utility-bar__item,
    .bh-utility-bar__item:hover {
        color: #f5ead4;
        white-space: nowrap;
    }

    .bh-utility-bar__item i { color: #f0dca9; font-size: 1rem; }
    .bh-utility-bar__spacer { flex: 1 1 auto; }
    .bh-utility-bar__divider { height: 28px; border-left: 1px solid rgba(245, 234, 212, .55); }

    .bh-desktop-header {
        background: #faf9f6;
    }

    .bh-desktop-header__inner {
        min-height: 124px;
        display: flex;
        align-items: center;
        gap: 42px;
    }

    .bh-desktop-header .bh-logo { flex: 0 0 510px; }
    .bh-desktop-header .bh-logo__img { width: 100%; max-width: 510px; height: auto; }

    .bh-desktop-header .bh-search-form {
        flex: 1 1 auto;
        min-width: 260px;
        margin: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }

    .bh-desktop-header .bh-search-form .input-group {
        height: 62px;
        border: 1px solid #e3ddd4;
        border-radius: 34px;
        overflow: hidden;
        background: #fff;
    }

    .bh-desktop-header .bh-search-form .form-control {
        border: 0;
        padding: 0 24px;
        color: #333;
        box-shadow: none;
    }

    .bh-desktop-header .bh-search-form .btn {
        min-width: 142px;
        margin: 6px;
        border-radius: 28px;
        background: #9b642b;
        color: #fff;
        font-weight: 700;
    }

    .bh-desktop-header__actions {
        display: flex;
        align-items: center;
        gap: 30px;
        flex: 0 0 auto;
    }

    .bh-desktop-header__separator { height: 50px; border-left: 1px solid #b8a48b; }
    .bh-header-action {
        display: flex;
        align-items: center;
        gap: 8px;
        color: #211b15;
        text-decoration: none;
        white-space: nowrap;
        font-size: .88rem;
    }
    .bh-header-action:hover { color: #9b642b; }
    .bh-header-action__icon { position: relative; font-size: 2rem; line-height: 1; }
    .bh-header-action__icon b {
        position: absolute;
        top: -10px;
        right: -10px;
        min-width: 24px;
        height: 24px;
        padding: 4px;
        border-radius: 50%;
        background: #9b642b;
        color: #fff;
        font-size: .68rem;
        text-align: center;
    }

    .bh-mainnav {
        height: auto;
        background: #faf9f6 !important;
        border-bottom: 1px solid #eee9df !important;
        box-shadow: none;
    }

    .bh-mainnav > .container { min-height: 72px; height: 72px; }
    .bh-mainnav > .container > .bh-logo,
    .bh-mainnav > .container > .bh-mainnav__actions { display: none; }
    .bh-mainnav__links { flex: 1 1 auto; justify-content: space-around; gap: 18px; }
    .bh-mainnav__links a { color: #17120e; font-size: .9rem; font-weight: 700; }
    .bh-mainnav__links a.active,
    .bh-mainnav__links a:hover { color: #9b642b; }
    .bh-catmenu__toggle { min-width: 306px; height: 60px; border-radius: 7px; font-size: 1rem; }
.bh-nav-search { display: none !important; }
}

/* Product reference sizing — final cascade. */
main:has(.bh-product-detail) > .container { max-width: 1500px; padding-left: 10px; padding-right: 10px; }
.bh-product-detail { max-width: none; width: 100%; }
.bh-pd-hero { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 28px; }
.bh-product-gallery__stage { min-height: 0; }
.bh-product-gallery__stage img { max-height: 100%; }
.bh-product-gallery__thumb { width: 112px; height: 72px; }
.bh-product-gallery__thumbs { gap: 12px; margin-top: 12px; }
.bh-pd-title { font-size: 26px; }
.bh-pd-subtitle { font-size: 15px; }
.bh-pd-rating { font-size: 13px; }
.bh-pd-price--contact { font-size: 34px; }
.bh-pd-price-box { padding: 10px 14px; }
.bh-pd-contact-cta { width: 240px; height: 40px; font-size: 13px; }
.bh-pd-perk { min-height: 86px; padding: 9px 6px; }
.bh-pd-perk strong { font-size: 13px; }
.bh-pd-perk small { font-size: 11px; }
.bh-pd-offer { padding: 9px 14px; }
.bh-pd-offer h2 { padding: 8px 0; margin: -9px 0 8px; color: #cf171c; background: #ffe8e8; font-size: 18px; }
.bh-pd-offer p { margin: 7px 0; font-size: 14px; }
.bh-pd-buy-now, .bh-pd-add-cart { height: 56px; font-size: 16px; }
.bh-pd-contact-item { height: 58px; font-size: 13px; }
.bh-pd-contact-item small { font-size: 11px; }
.bh-pd-highlights { padding: 0 20px 14px; }
.bh-pd-highlights h2 { margin: 0 -20px 12px; padding: 11px 18px; font-size: 20px; }
.bh-pd-highlights__grid { gap: 8px 42px; }
.bh-pd-highlights__grid div { font-size: 14px; }
.bh-product-tabs button { min-height: 46px; font-size: 13px; }
@media (max-width: 1199.98px) and (min-width: 768px) {
    main:has(.bh-product-detail) > .container { max-width: 960px; }
    .bh-pd-hero { grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: 18px; }
    .bh-product-gallery__stage { height: clamp(280px, 34vw, 360px); }
    .bh-product-gallery__thumb { width: 76px; height: 58px; }
    .bh-pd-title { font-size: 20px; }
    .bh-pd-subtitle { font-size: 12px; }
    .bh-pd-offer p, .bh-pd-highlights__grid div { font-size: 11px; }
}
@media (max-width: 767.98px) {
    main:has(.bh-product-detail) > .container { padding-left: 8px; padding-right: 8px; }
    .bh-pd-hero { grid-template-columns: 1fr; }
    .bh-product-gallery__stage { height: 300px; }
    .bh-product-gallery__thumb { width: 72px; height: 58px; }
    .bh-pd-title { font-size: 20px; }
    .bh-pd-contact-cta { width: 100%; }
}

/* Final product-detail cascade: keep the reference layout at tablet widths too. */
.bh-product-detail { max-width: 1140px; font-size: 13px; }
.bh-product-breadcrumb { gap: 7px; margin: 0 0 10px; font-size: 11px; font-weight: 400; }
.bh-pd-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; margin-bottom: 18px; }
.bh-pd-hero { min-height: 0; padding: 6px; border: 1px solid #e4e4e4; border-radius: 4px; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.bh-pd-brand-strip { display: none; }
.bh-product-gallery__stage { align-items: center; border-radius: 3px; }
.bh-product-gallery__stage img { width: 100%; object-fit: contain; }
.bh-product-gallery__nav { top: 50%; width: 30px; height: 30px; transform: translateY(-50%); border-radius: 50%; background: #fff; color: #222; font-size: 1rem; box-shadow: 0 1px 4px rgba(0,0,0,.18); }
.bh-product-gallery__nav--prev { left: 0; }
.bh-product-gallery__nav--next { right: 0; }
.bh-product-gallery__zoom { top: auto; right: 14px; bottom: 78px; left: auto; }
.bh-product-gallery__thumbs { gap: 9px; margin-top: 8px; }
.bh-product-gallery__thumb { width: 70px; height: 54px; padding: 3px; }
.bh-pd-summary { padding-top: 6px; }
.bh-pd-title { margin-bottom: 4px; font-size: 20px; line-height: 1.2; }
.bh-pd-subtitle { margin-bottom: 5px; font-size: 12px; }
.bh-pd-rating { margin-bottom: 8px; font-size: 11px; }
.bh-pd-price-box { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 10px; margin-bottom: 8px; border-radius: 2px; background: #fff0f0; }
.bh-pd-price { margin: 0; }
.bh-pd-price--contact { font-size: 28px; line-height: 1; }
.bh-pd-contact-cta { width: 200px; height: 32px; border-radius: 3px; font-size: 11px; }
.bh-pd-perks { margin-bottom: 8px; border-radius: 3px; box-shadow: none; }
.bh-pd-perk { min-height: 58px; padding: 10px 3px; gap: 4px; }
.bh-pd-perk strong { font-size: 14px; }
.bh-pd-perk small { font-size: 9px; }
.bh-pd-offer { padding: 7px 10px; margin-bottom: 8px; border: 1px solid #f1d4d4; border-radius: 3px; background: #fffafa; box-shadow: none; }
.bh-pd-offer h2 { justify-content: flex-start; padding-bottom: 5px; margin-bottom: 5px; border-bottom: 1px solid #f3d8d8; font-size: 13px; }
.bh-pd-offer p { margin: 4px 0; font-size: 11px; }
.bh-pd-buy-row { gap: 8px; margin-bottom: 7px; }
.bh-pd-buy-now, .bh-pd-add-cart { height: 40px; border-radius: 3px; font-size: 12px; }
.bh-pd-contact-row { gap: 7px; }
.bh-pd-contact-item { height: 38px; border-radius: 3px; font-size: 10px; }
.bh-pd-highlights { padding: 0 16px 12px; margin-bottom: 24px; border: 1px solid #e4e4e4; border-radius: 0; background: #fff; }
.bh-pd-highlights h2 { justify-content: flex-start; margin: 0 -16px 10px; padding: 7px 14px; color: #fff; background: #4a270d; text-align: left; font-size: 14px; }
.bh-pd-highlights h2 i { color: #fff; }
.bh-pd-highlights__grid div { font-size: 11px; }
.bh-product-main { margin-bottom: 22px; border: 1px solid #ddd; border-radius: 3px; }
.bh-product-tabs { gap: 0; margin-bottom: 0; border-bottom: 1px solid #ddd; background: #fafafa; }
.bh-product-tabs button { flex: 1; min-height: 38px; padding: 8px 12px; border-right: 1px solid #e5e5e5; font-size: 11px; }
.bh-product-tabs button.active { color: #fff; background: #4a270d; }
.bh-product-tabs button.active::before { display: none; }
.bh-product-description, .bh-product-main .tab-pane { padding: 14px 16px; }
.bh-product-description h2 { margin-bottom: 10px; color: #222; text-align: left; font-size: 14px; }
.bh-product-description div { margin-bottom: 12px; font-size: 12px; font-style: normal; line-height: 1.55; }
.bh-product-description img { max-height: 620px; margin-bottom: 12px; object-fit: contain; }
.bh-pd-projects { margin-top: 28px; margin-bottom: 26px; }
.bh-pd-projects__head { margin-bottom: 12px; }
.bh-pd-projects__head h2 { font-size: 16px; }
.bh-pd-project-card { border-radius: 3px; box-shadow: 0 1px 5px rgba(0,0,0,.14); }
.bh-pd-project-card__image { height: 130px; }
.bh-pd-project-card__body { padding: 9px 10px 11px; }
@media (min-width: 768px) and (max-width: 1199.98px) { .bh-product-detail { max-width: 960px; } }
@media (max-width: 767.98px) {
    .bh-product-detail { margin-left: -6px; margin-right: -6px; }
    .bh-pd-hero { grid-template-columns: 1fr; gap: 14px; }
    .bh-product-gallery__stage { min-height: 250px; }
    /* .bh-product-gallery__stage img { max-height: 250px; } */
    .bh-pd-price-box { align-items: stretch; flex-direction: column; }
    .bh-pd-contact-cta { width: 100%; }
    .bh-product-tabs { overflow-x: auto; }
    .bh-product-tabs button { flex: 0 0 auto; white-space: nowrap; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .bh-desktop-header__inner { gap: 18px; }
    .bh-desktop-header .bh-logo { flex-basis: 300px; }
    .bh-desktop-header .bh-logo__img { max-width: 300px; }
    .bh-desktop-header__actions { gap: 14px; }
    .bh-header-action { font-size: .78rem; }
    .bh-catmenu__toggle { min-width: 220px; }
    .bh-mainnav__links { gap: 10px; }
    .bh-mainnav__links a { font-size: .78rem; }
}

/* ---------- Homepage visual refresh: warm white / copper reference ---------- */
:root {
    --bh-copper: #9b642b;
    --bh-copper-dark: #70431d;
    --bh-gold-soft: #e5c27b;
    --bh-page-bg: #f7f7f5;
}

html, body {
    background: var(--bh-page-bg);
}

body {
    padding-top: 106px;
    color: #222;
}

.bh-utility-bar {
    min-height: 28px;
    padding: 5px 0;
    background: #fff;
    border-bottom: 1px solid #e7e4df;
    color: #6d5a42;
    font-size: .72rem;
}

.bh-utility-bar__item,
.bh-utility-bar__item:hover {
    color: #6d5a42;
}

.bh-mainnav {
    background: #fff !important;
    border-top: 0;
    border-bottom: 1px solid #e7e4df;
    box-shadow: 0 2px 8px rgba(70, 44, 17, .06);
}

.bh-mainnav .container {
    min-height: 78px;
}

.bh-logo {
    color: var(--bh-copper);
}

.bh-logo__img {
    width: 132px;
    height: auto;
}

.bh-catmenu__toggle {
    min-height: 42px;
    border-radius: 6px;
    background: linear-gradient(180deg, #6b4525, #4a2d18) !important;
    color: #fff;
    box-shadow: 0 3px 8px rgba(75, 43, 18, .16);
}

.bh-catmenu__toggle:hover,
.bh-catmenu__toggle:focus {
    background: #84582e !important;
}

.bh-catmenu__burger {
    color: #f3d49a;
}

.bh-mainnav__links a {
    color: #171717;
    font-size: .72rem;
}

.bh-mainnav__links a:hover,
.bh-mainnav__links a.active {
    color: var(--bh-copper);
}

.bh-nav-icon {
    background: transparent;
    color: #222;
}

.bh-nav-icon:hover {
    background: #f5eee5;
    color: var(--bh-copper);
}

main > .container,
main > .container-fluid {
    padding-top: 10px;
}

.site-index {
    color: #222;
}

.bh-home-dark-area {
    padding-bottom: 0;
}

.bh-home-dark-area::before {
    background: transparent;
}

.bh-home-top {
    margin-bottom: 14px;
    overflow: visible;
    background: transparent;
}

.bh-hero-banner {
    min-height: 300px;
    border: 1px solid #eadfce;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(75, 47, 20, .08);
    overflow: hidden;
}

.bh-hero-banner__content {
    flex-basis: 43%;
    padding: 24px 28px;
    color: #222;
    gap: 9px;
}

.bh-hero-banner__badge {
    padding: 5px 11px;
    border: 0;
    border-radius: 5px;
    background: #f2e3ca;
    color: #2f2419;
    font-size: .7rem;
}

.bh-hero-banner__heading {
    color: var(--bh-copper);
    font-size: clamp(1.8rem, 3.2vw, 3rem);
    line-height: 1.05;
}

.bh-hero-banner__desc {
    color: #403b35;
    font-size: .78rem;
}

.bh-hero-banner__cta {
    margin-top: 3px;
    padding: 9px 15px;
    border-radius: 6px;
    background: var(--bh-copper);
    color: #fff;
    font-size: .72rem;
}

.bh-hero-banner__cta:hover {
    background: var(--bh-copper-dark);
    color: #fff;
}

.bh-hero-banner__photo {
    background-position: center;
}

.bh-hero-banner__dots {
    left: 44%;
    bottom: 10px;
}

.bh-hero-banner__dot {
    background: #c8c2b9;
}

.bh-hero-banner__dot.is-active {
    background: var(--bh-copper);
}

.bh-side-promos {
    right: 8px;
    width: 210px;
    padding: 8px 0;
    gap: 8px;
}

.bh-side-card,
.bh-side-card--project,
.bh-side-card--news {
    border: 1px solid #e4d4be;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(70, 44, 17, .12);
}

.bh-side-card__title {
    color: #2b2118;
}

.bh-side-card--news .bh-side-card__title {
    color: #2b2118;
}

.bh-industry-solutions {
    margin-bottom: 14px !important;
    padding: 11px 14px 13px;
    border: 2px solid var(--bh-gold-soft);
    border-radius: 15px;
    background: linear-gradient(180deg, #fffdf8, #fff7e9);
    box-shadow: 0 5px 18px rgba(138, 91, 35, .1);
}

.bh-industry-solutions__head {
    margin-bottom: 9px;
}

.bh-industry-solutions__title {
    color: var(--bh-copper-dark);
    font-size: clamp(1rem, 1.8vw, 1.45rem);
    text-shadow: none;
}

.bh-industry-solutions__all {
    padding: 6px 10px;
    border: 1px solid #dac39d;
    background: #fffaf0;
    color: #4e3721;
    font-size: .66rem;
}

.bh-industry-solution-card {
    padding-bottom: 9px;
    border: 1px solid #ead7b5;
    border-radius: 9px;
    background: #fffaf1;
}

.bh-industry-solution-card__title {
    color: #241a11;
    font-size: .75rem;
}

.bh-industry-solution-card__desc {
    min-height: 34px;
    color: #5a4936;
    font-size: .65rem;
}

.bh-industry-solution-card__btn {
    color: var(--bh-copper-dark);
    font-size: .63rem;
}

.bh-hot-products,
.bh-showcase-module,
.bh-solution-mobile-module,
.bh-category-products,
.bh-content-section {
    color: #222;
}

.bh-hot-products__heading,
.bh-category-products__title,
.bh-content-section__title {
    color: #201a14;
}

.bh-product-row__header {
    border-bottom-color: var(--bh-gold-soft);
}

.bh-row-card,
.bh-hot-card,
.bh-solution-card {
    background: #fff;
    border-color: #e7e4df;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .04);
}

.bh-row-card:hover,
.bh-hot-card:hover,
.bh-solution-card:hover {
    box-shadow: 0 5px 14px rgba(92, 55, 17, .12);
}

.bh-row-scroll-btn {
    border-color: #ddd4c7;
    color: var(--bh-copper-dark);
}

@media (max-width: 1199.98px) {
    .bh-mainnav .container {
        flex-wrap: nowrap;
    }

    .bh-mainnav__links {
        order: initial;
        flex-basis: auto;
    }

    .bh-side-promos {
        width: 190px;
    }
}

@media (max-width: 767.98px) {
    body {
        padding-top: 64px;
    }

    .bh-mainnav {
        display: none;
    }

    .bh-mobile-topbar {
        background: #fff;
        border-bottom: 1px solid #e7e4df;
    }

    .bh-hero-banner {
        min-height: 230px;
    }

    .bh-hero-banner__content {
        padding: 18px 16px;
    }

    .bh-side-promos {
        width: 100%;
    }
}

/* ---------- Bá Hùng homepage top mockup ---------- */

:root {
    --bh-page-bg: #e8eff6;
    --bh-red: #b1131c;
    --bh-red-dark: #9d1118;
    --bh-blue: #3d79b4;
    --bh-blue-dark: #2f6599;
}

html,
body {
    background: var(--bh-page-bg);
}

body {
    padding-top: 128px;
    font-family: 'Roboto', Arial, Helvetica, sans-serif;
}

main > .container,
main > .container-fluid {
    padding-top: 24px;
}

.bh-header-fixed .container,
main > .container,
.bh-footer .container {
    max-width: 1320px;
}

.breadcrumb {
    display: none;
}

.bh-topbar {
    background: var(--bh-red);
    padding: 30px 0 24px;
}

.bh-logo {
    min-width: 164px;
}

.bh-logo__icon {
    width: 42px;
    height: 42px;
    background: linear-gradient(135deg, #ffe454 0 32%, #7d1217 32% 58%, #f6f0bc 58% 100%);
    color: transparent;
    border-radius: 0;
    transform: skew(-10deg);
}

.bh-logo__title {
    color: #ffe35a;
    font-size: 1.25rem;
    font-weight: 900;
}

.bh-logo__subtitle {
    color: #fff;
    font-size: .78rem;
}

.bh-topbar-icons {
    gap: 24px;
    margin-left: 18px;
}

.bh-icon-link {
    font-size: .86rem;
    font-weight: 700;
}

.bh-icon-link__icon {
    color: #ff87a0;
    font-size: 1.38rem;
    line-height: 1;
}

.bh-search-form {
    max-width: 690px;
    margin-left: auto;
    margin-right: 250px;
}

.bh-search-form .input-group {
    height: 48px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
}

.bh-search-form .form-control {
    border-radius: 12px 0 0 12px;
    padding-left: 32px;
    font-size: .95rem;
}

.bh-search-form .btn {
    min-width: 58px;
    background: #fff;
    border: 0;
    color: #000;
    border-radius: 0 12px 12px 0;
    font-size: 2rem;
    line-height: 1;
}

.bh-mainnav {
    background: var(--bh-red);
    border-top: 1px solid rgba(0, 0, 0, .12);
}

.bh-mainnav .container {
    min-height: 58px;
}

.bh-mainnav__links {
    gap: 32px;
    margin-left: 374px;
}

.bh-mainnav__links.ms-0 {
    margin-left: 374px;
}

.bh-mainnav__links a {
    font-size: 1rem;
    padding: 18px 0;
}

.site-index {
    margin-top: -24px;
}

.bh-home-top {
    margin-bottom: 28px;
}

.bh-home-top__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 312px;
    gap: 18px;
    align-items: start;
}

.bh-sidebar {
    border-radius: 0;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .1);
}

.bh-sidebar__header {
    min-height: 58px;
    background: var(--bh-blue);
    font-size: 15px;
    padding: 0 18px;
}

.bh-sidebar__list a {
    min-height: 56px;
    padding: 0 18px;
    color: #000;
    font-size: 15px;
    font-weight: 500;
}

.bh-hero-banner {
    position: relative;
    min-height: 335px;
    margin-top: 78px;
    overflow: hidden;
    border-radius: 14px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .12), 0 3px 12px rgba(0, 0, 0, .18);
}

.bh-hero-banner__track {
    position: absolute;
    inset: 0;
    display: flex;
    height: 100%;
    transition: transform .5s ease;
}

.bh-hero-banner__slide {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    background:
        linear-gradient(135deg, rgba(212, 216, 233, .45) 0 16%, transparent 16% 31%, rgba(209, 213, 230, .55) 31% 43%, transparent 43%),
        linear-gradient(90deg, #fff, #eef1f8 48%, #fff);
    background-size: cover;
    background-position: center;
}

.bh-hero-banner__brand {
    position: absolute;
    top: 32px;
    left: 24px;
    width: 78px;
    height: 66px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #f23919;
    color: #fff;
    font-size: 1.55rem;
    font-weight: 900;
    text-align: center;
}

.bh-hero-banner__brand span {
    display: block;
    margin-top: 2px;
    color: #f23919;
    background: #fff;
    font-size: .62rem;
    font-weight: 700;
}

.bh-hero-banner__copy {
    position: absolute;
    top: 36px;
    left: 180px;
    right: 48px;
    color: #000;
    text-align: center;
    text-shadow: 0 3px 4px rgba(0, 0, 0, .18);
}

.bh-hero-banner__copy span,
.bh-hero-banner__copy strong {
    display: block;
    font-size: clamp(1.55rem, 2.2vw, 2.35rem);
    line-height: 1.25;
    font-weight: 900;
}

.bh-hero-banner__speakers {
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 42px;
    height: 112px;
    display: flex;
    align-items: end;
    gap: 10px;
}

.bh-hero-banner__speakers span {
    flex: 1;
    height: calc(58px + var(--speaker-grow, 0px));
    border-radius: 6px;
    background:
        radial-gradient(circle at 50% 58%, #2a2a2a 0 20%, #141414 21% 34%, transparent 35%),
        radial-gradient(circle at 22% 34%, #303030 0 12%, transparent 13%),
        radial-gradient(circle at 78% 34%, #303030 0 12%, transparent 13%),
        linear-gradient(145deg, #111, #333 48%, #171717);
    box-shadow: inset 0 0 0 3px #242424, 0 7px 10px rgba(0, 0, 0, .28);
}

.bh-hero-banner__speakers span:nth-child(2) { --speaker-grow: 12px; }
.bh-hero-banner__speakers span:nth-child(3) { --speaker-grow: 26px; }
.bh-hero-banner__speakers span:nth-child(4) { --speaker-grow: 42px; }
.bh-hero-banner__speakers span:nth-child(5) { --speaker-grow: 64px; }

.bh-hero-banner__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 50%;
    background: rgba(15, 15, 15, .38);
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease;
}

.bh-hero-banner__nav:hover {
    background: rgba(15, 15, 15, .6);
}

.bh-hero-banner__nav:active {
    transform: translateY(-50%) scale(.92);
}

.bh-hero-banner__nav--prev {
    left: 16px;
}

.bh-hero-banner__nav--next {
    right: 16px;
}

.bh-side-promos {
    margin-top: 78px;
    display: grid;
    gap: 16px;
}

.bh-side-card {
    position: relative;
    display: block;
    height: 148px;
    overflow: hidden;
    border-radius: 8px;
    background: #dcebf8;
    text-decoration: none;
    color: #000;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .22);
}

.bh-side-card__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.bh-side-card__title {
    position: absolute;
    z-index: 2;
    top: 8px;
    left: 16px;
    right: 16px;
    color: #ffd21d;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.08;
    text-align: center;
    text-shadow: -1px -1px 0 #5a4a00, 1px -1px 0 #5a4a00, -1px 1px 0 #5a4a00, 1px 1px 0 #5a4a00;
}

.bh-side-card__play {
    position: absolute;
    left: 20px;
    top: 54px;
    color: #ed1b2f;
    font-size: 1.5rem;
}

.bh-side-card__speaker {
    position: absolute;
    left: 88px;
    bottom: 12px;
    width: 96px;
    height: 80px;
    border-radius: 4px;
    background:
        radial-gradient(circle at 52% 55%, #3b3b3b 0 22%, #0c0c0c 23% 40%, transparent 41%),
        linear-gradient(145deg, #080808, #383838);
    box-shadow: inset 0 0 0 4px #222;
}

.bh-side-card__person {
    position: absolute;
    right: 28px;
    bottom: -8px;
    width: 74px;
    height: 122px;
    border-radius: 40px 40px 0 0;
    background: linear-gradient(#ffd7bf 0 23%, #b3222b 23% 52%, #f4cc60 52% 100%);
}

.bh-side-card--project {
    background: linear-gradient(115deg, #e8f7ff, #cae8ff);
}

.bh-side-card__thumbs {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    display: grid;
    grid-template-columns: 1fr 1.45fr 1fr;
    gap: 14px;
    align-items: end;
}

.bh-side-card__thumbs i {
    height: 66px;
    border: 3px solid #ffd21d;
    border-radius: 6px;
    background:
        radial-gradient(circle at 50% 80%, #333 0 12%, transparent 13%),
        linear-gradient(135deg, #88b86a, #eef8ff);
}

.bh-side-card__thumbs i:nth-child(2) {
    height: 88px;
    background:
        radial-gradient(circle at 20% 82%, #4d2c16 0 9%, transparent 10%),
        radial-gradient(circle at 80% 82%, #4d2c16 0 9%, transparent 10%),
        linear-gradient(135deg, #f4fbff, #94c0d4);
}

.bh-side-card--news {
    background: linear-gradient(135deg, #f0f7ff, #c9dff0);
}

.bh-side-card--news .bh-side-card__title {
    left: 24px;
    right: auto;
    top: 12px;
    font-size: 1.55rem;
    text-align: left;
}

.bh-side-card__newspaper {
    position: absolute;
    right: 18px;
    bottom: 14px;
    width: 154px;
    height: 104px;
    border: 4px solid #fff;
    border-radius: 3px;
    background:
        linear-gradient(90deg, transparent 0 46%, #222 46% 48%, transparent 48%),
        repeating-linear-gradient(#b1131c 0 9px, #fff 9px 18px);
    box-shadow: -82px 28px 0 -22px #fff, -76px 28px 0 -24px #b9c9d8;
}

.bh-feature-icons {
    width: min(670px, 100%);
    margin: 30px auto 0;
    border-radius: 14px;
    box-shadow: none;
}

.bh-feature-icons__item {
    padding: 22px 16px 16px;
    color: #000;
    font-size: 1rem;
    font-weight: 500;
}

.bh-feature-icons__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2.4rem;
    line-height: 1;
}

.bh-feature-icons__icon img {
    width: 1em;
    height: 1em;
    object-fit: contain;
}

.bh-youtube {
    background: #303030;
    border-radius: 10px;
}

@media (max-width: 1199.98px) {
    .bh-search-form {
        margin-right: 0;
    }

    .bh-mainnav__links,
    .bh-mainnav__links.ms-0 {
        margin-left: 0;
    }

    .bh-side-promos {
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 0;
    }
}

@media (max-width: 991.98px) {
    .site-index {
        margin-top: 0;
    }

    .bh-home-top__grid {
        display: block;
    }

    .bh-hero-banner,
    .bh-side-promos {
        margin-top: 0;
    }

    .bh-side-promos {
        grid-template-columns: 1fr;
        margin-top: 16px;
    }
}

@media (max-width: 767.98px) {
    body {
        padding-top: 172px;
    }

    .bh-topbar {
        padding: 16px 0;
    }

    .bh-search-form {
        margin: 8px 0 0;
    }

    .bh-mainnav__links,
    .bh-mainnav__links.ms-0 {
        gap: 22px;
    }

    .bh-hero-banner {
        min-height: 280px;
    }

    .bh-hero-banner__copy {
        left: 24px;
        top: 112px;
    }

    .bh-hero-banner__brand {
        left: 50%;
        transform: translateX(-50%);
    }

    .bh-feature-icons__item {
        flex-basis: 50%;
    }

}

/* Fine tune: category menu is part of the fixed nav; homepage list attaches below it. */

.bh-catmenu__toggle {
    width: 300px;
    min-height: 58px;
    justify-content: flex-start;
    background: var(--bh-blue);
    font-size: 1rem;
    padding: 0 18px;
}

.bh-catmenu__toggle::after {
    display: none;
}

.bh-mainnav__links,
.bh-mainnav__links.ms-0 {
    margin-left: 46px;
}

.bh-home-top__grid {
    align-items: start;
}

.bh-main-stage {
    min-width: 0;
}

.bh-sidebar {
    margin-top: 0;
}

.bh-sidebar__list {
    background: #fff;
}

.bh-sidebar__list a {
    min-height: 48px;
}

.bh-hero-banner,
.bh-side-promos {
    margin-top: 40px;
}

.bh-feature-icons {
    width: 100%;
    margin: 32px 0 0;
}

.bh-youtube {
    margin-top: 34px;
}

@media (max-width: 1199.98px) {
    .bh-catmenu__toggle {
        width: 240px;
    }

    .bh-mainnav__links,
    .bh-mainnav__links.ms-0 {
        margin-left: 24px;
    }

    .bh-side-promos {
        margin-top: 16px;
    }
}

@media (max-width: 991.98px) {
    .bh-catmenu {
        display: none;
    }

    .bh-mainnav__links,
    .bh-mainnav__links.ms-0 {
        margin-left: 0;
    }

    .bh-hero-banner {
        margin-top: 0;
    }
}

/* Align the header's left brand cluster with the category menu column. */

.bh-topbar .container {
    display: grid !important;
    grid-template-columns: 300px minmax(320px, 690px) 1fr;
    column-gap: 46px !important;
}

.bh-logo {
    grid-column: 1;
}

.bh-topbar-icons {
    grid-column: 1;
    justify-self: end;
    margin-left: 0;
    transform: translateX(64px);
}

.bh-search-form {
    grid-column: 2;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.bh-mainnav {
    margin-bottom: 0;
}

.bh-mainnav .container {
    align-items: stretch !important;
}

.bh-catmenu,
.bh-catmenu__toggle {
    height: 50px;
}

.bh-catmenu__toggle {
    margin: 0;
    border: 0;
}

.site-index {
    margin-top: 0;
}

.bh-home-top__grid {
    margin-top: 0;
}

.bh-sidebar {
    margin-top: 0;
    border-top: 0;
}

.bh-sidebar__list li:first-child {
    border-top: 0;
}

@media (max-width: 1199.98px) {
    .bh-topbar .container {
        grid-template-columns: 240px minmax(280px, 1fr);
        column-gap: 24px !important;
    }

    .bh-topbar-icons {
        transform: translateX(52px);
    }
}

@media (max-width: 991.98px) {
    .bh-topbar .container {
        display: flex !important;
    }

    .bh-topbar-icons {
        transform: none;
    }
}

/* Repair fixed-header alignment: keep logo/actions/search on one row. */

body {
    padding-top: 154px;
}

.bh-topbar .container {
    display: flex !important;
    align-items: center !important;
    gap: 26px !important;
}

.bh-logo {
    grid-column: auto;
    flex: 0 0 auto;
}

.bh-topbar-icons {
    grid-column: auto;
    justify-self: auto;
    flex: 0 0 auto;
    margin-left: 18px;
    transform: none;
}

.bh-search-form {
    grid-column: auto;
    flex: 1 1 auto;
    max-width: 690px;
    margin-left: 0;
    margin-right: auto;
}

.bh-mainnav {
    border-bottom: 0;
}

.bh-mainnav .container {
    min-height: 58px;
}

.bh-catmenu__toggle {
    box-shadow: none;
}

main > .container,
main > .container-fluid {
    padding-top: 0;
}

main > .container.pt-3,
main > .container-fluid.pt-3 {
    padding-top: 0 !important;
}

.bh-logo {
    min-width: 148px;
}

.bh-logo__img {
    width: 140px;
    max-width: 100%;
    height: auto;
    display: block;
}

.bh-logo__icon {
    width: 38px;
    height: 38px;
}

.bh-logo__title {
    font-size: 1.12rem;
}

.bh-logo__subtitle {
    font-size: .72rem;
}

.bh-topbar-icons {
    gap: 14px;
    margin-left: 8px;
}

.bh-icon-link {
    min-width: 54px;
    font-size: .78rem;
}

.bh-icon-link__icon {
    font-size: 1.18rem;
}

.bh-hero-banner,
.bh-side-promos {
    margin-top: 20px;
}

@media (max-width: 767.98px) {
    body {
        padding-top: 172px;
    }

    .bh-logo__img {
        width: 210px;
    }
}

/* Remove the red hairline between the blue category tab and its list. */

.bh-catmenu {
    align-self: stretch;
    display: flex;
    background: var(--bh-blue);
}

.bh-catmenu__toggle {
    height: 100%;
    min-height: 50px;
    background: var(--bh-blue) !important;
}

.bh-sidebar {
    margin-top: -1px;
    transform: none;
}

/* Scroll behavior: top brand/search area scrolls away, menu stays pinned. */

body {
    padding-top: 0;
}

.bh-header-fixed {
    position: relative;
    z-index: 1030;
}

.bh-mainnav {
    position: sticky;
    top: 0;
    z-index: 1040;
}

main > .container,
main > .container-fluid,
main > .container.pt-3,
main > .container-fluid.pt-3 {
    padding-top: 0 !important;
}

@media (max-width: 767.98px) {
    body {
        padding-top: 0;
    }
}

/* ---------- Hot products deal strip ---------- */

.bh-hot-products {
    max-width: 1320px;
    margin-inline: auto;
    padding: 12px 12px 10px;
    background: #f32419;
    border-radius: 10px;
}

.bh-hot-products__heading {
    /* Shrink-wrap the badge + title + hotline, centered. */
    width: fit-content;
    max-width: 100%;
    min-height: 0;
    margin: 0 auto 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    padding: 14px 36px;
    border-radius: 999px;
    background:
        radial-gradient(circle at 82% 72%, rgba(210, 154, 55, .35), transparent 22%),
        linear-gradient(90deg, #fffef4, #fff8dc);
    color: #5a1d0f;
    font-size: 18px;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
}

.bh-hot-products__flame {
    color: #f31615;
    font-size: 1.25rem;
    line-height: .78;
    font-weight: 900;
    text-shadow: 2px 2px 0 #ffd21d, -1px -1px 0 #ffd21d;
    transform: rotate(-8deg);
}

.bh-hot-products__body {
    position: relative;
}

.bh-hot-products__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 50px) / 5);
    gap: 12px;
    overflow-x: auto;
    padding: 0;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    touch-action: pan-x pan-y;
}

.bh-hot-products__track::-webkit-scrollbar {
    display: none;
}

.bh-hot-products__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    scroll-behavior: auto;
}

.bh-hot-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 12px 18px 18px;
    border-radius: 8px;
    background: #fff;
    color: #111;
    text-decoration: none;
    scroll-snap-align: start;
    box-shadow: 0 0 10px rgba(0, 0, 0, .13), 0 3px 8px rgba(0, 0, 0, .08);
}

.bh-hot-card:hover {
    color: #111;
}

.bh-hot-card__badge {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    padding: 6px 10px;
    border-radius: 6px;
    background: #fff;
    color: #3a9d50;
    font-size: .78rem;
    font-weight: 800;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .2);
}

.bh-hot-card:nth-child(odd) .bh-hot-card__badge {
    color: #c91d27;
}

.bh-hot-card__image-wrap {
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: -4px -10px 10px;
    overflow: hidden;
}

.bh-hot-card__image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .18s ease;
}

.bh-hot-card:hover .bh-hot-card__image-wrap img {
    transform: scale(1.06);
}

.bh-hot-card__buy {
    width: fit-content;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
    padding: 6px 12px 6px 7px;
    border-radius: 999px;
    background: linear-gradient(to right, #faab08, #d42611) !important;
    color: #fff;
    font-size: .88rem;
    font-weight: 800;
}

.bh-hot-card__buy img {
    width: 22px;
    height: 22px;
    display: block;
    border-radius: 50%;
    object-fit: contain;
}

.bh-hot-card__name {
    min-height: 52px;
    margin-bottom: 8px;
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 500;
}

.bh-hot-card__price {
    color: #f11d2a;
    font-size: 1.12rem;
    font-weight: 900;
}

.bh-hot-card__old-price {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 24px;
    margin-top: 2px;
    color: #8c8c8c;
}

.bh-hot-card__old-price strong {
    padding: 2px 7px;
    border-radius: 5px;
    background: #f05b35;
    color: #fff;
    font-size: .78rem;
}

.bh-hot-card__service {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    color: #4a4a4a;
    font-size: .9rem;
}

.bh-hot-card__service {
    white-space: nowrap;
}

.bh-hot-card__service img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex: 0 0 auto;
}

.bh-hot-card__service strong {
    color: #e81e25;
}

.bh-hot-card__gift-text {
    font-size: .82rem;
}

.bh-hot-card__meta {
    display: flex;
    gap: 7px;
    align-items: center;
    margin-top: auto;
    color: #555;
    font-size: .9rem;
}

.bh-hot-card__stars {
    color: #ffb300;
    letter-spacing: 0;
}

.bh-hot-products__nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 34px;
    height: 68px;
    transform: translateY(-50%);
    border: 0;
    background: rgba(255, 255, 255, .72);
    color: #111;
    font-size: 1.9rem;
    line-height: 1;
    opacity: 0;
    pointer-events: none;
    transition: color .16s ease, opacity .16s ease;
}

.bh-hot-products__nav:not(:disabled):hover {
    color: #ae0216;
}

.bh-hot-products:hover .bh-hot-products__nav,
.bh-hot-products:focus-within .bh-hot-products__nav {
    opacity: 1;
    pointer-events: auto;
}

.bh-hot-products__nav:disabled {
    opacity: .35;
    cursor: default;
}

.bh-hot-products__nav--prev {
    left: -17px;
}

.bh-hot-products__nav--next {
    right: -17px;
}

@media (max-width: 1199.98px) {
    .bh-hot-products__track {
        grid-auto-columns: calc((100% - 40px) / 3);
    }
}

@media (max-width: 767.98px) {
    .bh-hot-products {
        padding: 18px 10px 24px;
    }

    .bh-hot-products__heading {
        width: 100%;
        margin-inline: 0;
        min-height: auto;
        padding: 14px 18px;
        border-radius: 22px;
    }

    .bh-hot-products__track {
        grid-auto-columns: 78%;
        gap: 14px;
        padding-inline: 8px;
    }
}

/* ---------- Official brands slider ---------- */

.bh-brand-section {
    max-width: 1320px;
    margin-inline: auto;
    padding: 24px 18px 18px;
    background: #fff;
    border-radius: 10px;
}

.bh-brand-section__title {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 26px;
    color: #000;
    font-size: 1.45rem;
    font-weight: 900;
}

.bh-brand-section__title img {
    width: 28px;
    height: 28px;
    display: block;
    object-fit: contain;
    flex: 0 0 auto;
}

.bh-brand-section__body {
    position: relative;
}

.bh-brand-section__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 100px) / 6);
    gap: 20px;
    overflow-x: auto;
    padding: 0 8px 8px;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    touch-action: pan-x pan-y;
}

.bh-brand-section__track::-webkit-scrollbar {
    display: none;
}

.bh-brand-section__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    scroll-behavior: auto;
}

.bh-brand-item {
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    border: 1px solid #e3e3e3;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .16);
    scroll-snap-align: start;
}

.bh-brand-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform .18s ease;
}

.bh-brand-item:hover img {
    transform: scale(1.05);
}

.bh-brand-section__nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 50%;
    background: #b1131c;
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
    opacity: 0;
    pointer-events: none;
    transition: opacity .16s ease, background-color .2s ease;
}

.bh-brand-section__nav:hover {
    background: #8f0f17;
}

.bh-brand-section:hover .bh-brand-section__nav,
.bh-brand-section:focus-within .bh-brand-section__nav {
    opacity: 1;
    pointer-events: auto;
}

.bh-brand-section__nav:disabled {
    opacity: .25;
    cursor: default;
}

.bh-brand-section__nav--prev {
    left: 6px;
}

.bh-brand-section__nav--next {
    right: 6px;
}

@media (max-width: 1199.98px) {
    .bh-brand-section__track {
        grid-auto-columns: calc((100% - 40px) / 3);
    }
}

@media (max-width: 767.98px) {
    .bh-brand-section {
        padding: 18px 12px;
    }

    .bh-brand-section__title {
        font-size: 1.1rem;
        gap: 10px;
    }

    .bh-brand-section__track {
        grid-auto-columns: 70%;
        gap: 14px;
    }
}

/* ---------- Promo banners + selected categories ---------- */

.bh-showcase-module {
    max-width: 1320px;
    margin-inline: auto;
}

.bh-ad-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    padding-top: 28px;
    margin-bottom: 36px;
}

.bh-ad-card {
    display: block;
    /* aspect-ratio: 3.45 / 1; */
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
}

.bh-ad-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .2s ease;
}

.bh-ad-card:hover img {
    transform: scale(1.04);
}

.bh-industry-solutions__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.bh-industry-solutions__title {
    margin: 0;
    font-size: 1.45rem;
    font-weight: 900;
    color: var(--bh-dark);
    letter-spacing: .3px;
}

.bh-industry-solutions__all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--bh-red);
    font-weight: 700;
    font-size: .92rem;
    text-decoration: none;
    white-space: nowrap;
}

.bh-industry-solutions__all:hover {
    color: var(--bh-red-dark);
}

.bh-industry-solutions__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
}

.bh-industry-solution-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #ece4d6;
    border-radius: 12px;
    padding: 14px;
    text-align: center;
    transition: box-shadow .18s ease, transform .18s ease;
}

.bh-industry-solution-card:hover {
    box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
    transform: translateY(-3px);
}

.bh-industry-solution-card__image {
    display: block;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 14px;
    aspect-ratio: 4 / 3;
}

.bh-industry-solution-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .25s ease;
}

.bh-industry-solution-card:hover .bh-industry-solution-card__image img {
    transform: scale(1.06);
}

.bh-industry-solution-card__title {
    margin: 0 0 8px;
    font-size: 1rem;
    font-weight: 800;
    color: var(--bh-dark);
    text-transform: uppercase;
}

.bh-industry-solution-card__desc {
    margin: 0 0 14px;
    color: #777;
    font-size: .86rem;
    line-height: 1.5;
    flex: 1;
}

.bh-industry-solution-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: auto;
    padding: 9px 14px;
    border: 1px solid var(--bh-red);
    border-radius: 999px;
    color: var(--bh-red);
    font-weight: 700;
    font-size: .8rem;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
}

.bh-industry-solution-card__btn:hover {
    background: var(--bh-red);
    color: #fff;
}

@media (max-width: 1199.98px) {
    .bh-industry-solutions__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 767.98px) {
    .bh-industry-solutions__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .bh-industry-solutions__title {
        font-size: 1.12rem;
    }

    .bh-industry-solutions__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
}

.bh-selected-categories {
    padding: 26px 24px 28px;
    border-radius: 10px;
    background: #fff;
}

.bh-selected-categories__title {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 22px;
    color: #000;
    font-size: 1.45rem;
    font-weight: 900;
}

.bh-selected-categories__title img {
    width: 28px;
    height: 28px;
    display: block;
    object-fit: contain;
    flex: 0 0 auto;
}

.bh-selected-categories__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    row-gap: 26px;
    column-gap: 28px;
}

.bh-selected-category {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: #111;
    text-align: center;
    text-decoration: none;
    font-size: 1rem;
    line-height: 1.42;
}

.bh-selected-category:hover {
    color: var(--bh-red);
}

.bh-selected-category__image {
    width: 100%;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bh-selected-category__image img {
    max-width: 120px;
    max-height: 82px;
    object-fit: contain;
    transition: transform .18s ease;
}

.bh-selected-category:hover img {
    transform: scale(1.06);
}

.bh-selected-category__title {
    max-width: 170px;
}

@media (max-width: 1199.98px) {
    .bh-selected-categories__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 767.98px) {
    .bh-ad-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .bh-selected-categories {
        padding: 20px 14px;
    }

    .bh-selected-categories__title {
        font-size: 1.12rem;
        gap: 10px;
    }

    .bh-selected-categories__grid {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 16px;
    }
}

/* ---------- Solution + mobile karaoke module ---------- */

.bh-solution-mobile-module {
    max-width: 1320px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(340px, .98fr);
    gap: 30px;
    align-items: start;
}

.bh-solution-panel,
.bh-mobile-panel {
    min-width: 0;
    border-radius: 10px;
}

.bh-solution-panel {
    padding: 24px 16px 18px;
    background: #ae121d;
    color: #fff;
}

.bh-solution-panel__title {
    position: relative;
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 22px;
    padding: 0 42px;
    color: #fff;
    font-size: 1.22rem;
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
}

.bh-solution-panel__title img {
    position: absolute;
    left: 0;
    top: 5px;
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.bh-solution-brands {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 28px;
    padding: 26px 18px;
    border-radius: 4px 4px 0 0;
    background: #fff;
}

.bh-solution-brand {
    height: 98px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .16);
}

.bh-solution-brand img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.bh-solution-slider {
    position: relative;
    padding: 0 10px 22px;
    background: #fff;
}

.bh-solution-slider__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 56px) / 3);
    gap: 28px;
    overflow-x: auto;
    padding: 8px 10px 12px;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    touch-action: pan-x pan-y;
}

.bh-solution-slider__track::-webkit-scrollbar {
    display: none;
}

.bh-solution-slider__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    scroll-behavior: auto;
}

.bh-solution-card {
    position: relative;
    min-height: 438px;
    display: flex;
    flex-direction: column;
    padding: 12px 18px 18px;
    border-radius: 8px;
    background: #fff;
    color: #111;
    text-decoration: none;
    scroll-snap-align: start;
    box-shadow: 0 0 10px rgba(0, 0, 0, .13), 0 3px 8px rgba(0, 0, 0, .08);
}

.bh-solution-card:hover {
    color: #111;
}

.bh-solution-card__badge {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    padding: 6px 10px;
    border-radius: 6px;
    background: #fff;
    color: #3a9d50;
    font-size: .78rem;
    font-weight: 800;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .2);
}

.bh-solution-card:first-child .bh-solution-card__badge {
    color: #c91d27;
}

.bh-solution-card__image {
    height: 214px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.bh-solution-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .18s ease;
}

.bh-solution-card:hover .bh-solution-card__image img {
    transform: scale(1.06);
}

.bh-solution-card__buy {
    margin-top: 0;
}

.bh-solution-card__name {
    min-height: 52px;
    margin-bottom: 8px;
    font-size: 1rem;
    line-height: 1.35;
}

.bh-solution-card__price {
    color: #f11d2a;
    font-size: 1.12rem;
    font-weight: 900;
}

.bh-solution-card__old-price {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 24px;
    color: #8c8c8c;
}

.bh-solution-card__old-price strong {
    padding: 2px 7px;
    border-radius: 5px;
    background: #f05b35;
    color: #fff;
    font-size: .78rem;
}

.bh-solution-card__service {
    margin-top: 12px;
}

.bh-solution-slider__nav {
    position: absolute;
    top: 50%;
    z-index: 4;
    width: 36px;
    height: 70px;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: #111;
    font-size: 2rem;
    line-height: 1;
    transition: color .16s ease;
}

.bh-solution-slider__nav:not(:disabled):hover {
    color: #ae0216;
}

.bh-solution-slider__nav--prev {
    left: -18px;
}

.bh-solution-slider__nav--next {
    right: -18px;
}

.bh-solution-slider__nav:disabled {
    opacity: .28;
}

.bh-module-viewall {
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    border: 2px solid #111;
    border-radius: 5px;
    background: #fff;
    color: #000;
    text-decoration: none;
    font-weight: 900;
}

.bh-module-viewall:hover {
    color: var(--bh-red);
}

.bh-mobile-panel {
    padding: 24px 16px 18px;
    background: #fff;
}

.bh-mobile-panel__title {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 26px;
    color: #000;
    font-size: 1.45rem;
    font-weight: 900;
}

.bh-mobile-panel__title img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex: 0 0 auto;
}

.bh-mobile-list {
    display: grid;
    gap: 10px;
}

.bh-mobile-item {
    min-height: 132px;
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 14px 18px;
    border: 1px solid #eee;
    border-radius: 10px;
    background: #fff;
    color: #111;
    text-decoration: none;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
}

.bh-mobile-item:hover {
    color: #111;
}

.bh-mobile-item__image {
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.bh-mobile-item__image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform .18s ease;
}

.bh-mobile-item:hover img {
    transform: scale(1.06);
}

.bh-mobile-item__body {
    display: grid;
    gap: 8px;
}

.bh-mobile-item__name {
    font-size: 1.06rem;
    font-weight: 700;
    line-height: 1.28;
}

.bh-mobile-item__prices {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: baseline;
}

.bh-mobile-item__prices s {
    color: #e06a61;
}

.bh-mobile-item__prices strong {
    color: #ef1d27;
    font-size: 1.05rem;
}

@media (max-width: 1199.98px) {
    .bh-solution-mobile-module {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .bh-solution-panel,
    .bh-mobile-panel {
        padding: 18px 10px;
    }

    .bh-solution-panel__title,
    .bh-mobile-panel__title {
        font-size: 1.05rem;
    }

    .bh-solution-brands {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 16px 12px;
    }

    .bh-solution-slider__track {
        grid-auto-columns: 82%;
        gap: 14px;
    }

    .bh-mobile-item {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 12px;
        padding: 12px;
    }
}

/* ---------- Category product sections with brand tabs ---------- */

.bh-category-products {
    max-width: 1320px;
    margin-inline: auto;
    padding: 28px 16px 26px;
    border-radius: 10px;
    background: #fff;
}

.bh-category-products__title {
    margin: 0 0 22px;
    color: #000;
    font-size: 1.1rem;
    font-weight: 900;
    text-transform: uppercase;
}

.bh-category-products__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

.bh-category-products__tab {
    min-height: 36px;
    padding: 7px 18px;
    border: 2px solid #111;
    border-radius: 4px;
    background: #fff;
    color: #000;
    font-size: .9rem;
    font-weight: 900;
    text-transform: uppercase;
}

.bh-category-products__tab.active,
.bh-category-products__tab:hover {
    background: #000;
    color: #fff;
}

.bh-category-products__content {
    position: relative;
}

.bh-category-products__viewall {
    width: 140px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 22px auto 0;
    border: 2px solid #111;
    border-radius: 5px;
    color: #000;
    text-decoration: none;
    font-weight: 900;
}

.bh-category-products__viewall:hover {
    color: var(--bh-red);
}

.bh-product-row {
    margin-bottom: 0;
}

.bh-product-row__body {
    position: relative;
}

.bh-product-row__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 88px) / 5);
    gap: 22px;
    overflow-x: auto;
    /* Full width, same edges as the title/tabs on both sides (the arrow buttons sit outside). */
    /* The -10px / +20px cancels the 10px side padding below, so card edges line up with the title. */
    width: calc(100% + 20px);
    margin-left: -10px;
    /* Side padding so the first/last card's border and shadow aren't clipped by overflow. */
    padding: 8px 10px 12px;
    scroll-padding-inline: 10px;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    touch-action: pan-x pan-y;
}

.bh-product-row__track::-webkit-scrollbar {
    display: none;
}

.bh-product-row__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    scroll-behavior: auto;
}

.bh-row-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border: 0;
    border-radius: 8px;
    background: #fff;
    color: #111;
    text-decoration: none;
    overflow: hidden;
    scroll-snap-align: start;
    box-shadow: 0 0 10px rgba(0, 0, 0, .13), 0 3px 8px rgba(0, 0, 0, .08);
}

.bh-row-card:hover {
    color: #111;
}

.bh-row-card__badge {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    padding: 6px 10px;
    border-radius: 6px;
    background: #fff;
    color: #3a9d50;
    font-size: .82rem;
    font-weight: 900;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .2);
}

.bh-row-card__img-wrap {
    height: auto;
    display: block;
    overflow: hidden;
    background: #fff;
}

.bh-row-card__img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    transition: transform .18s ease;
}

.bh-row-card:hover .bh-row-card__img {
    transform: scale(1.06);
}

.bh-row-card__buy {
    margin: 10px 16px 12px;
}

.bh-row-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 0 16px 16px;
}

.bh-row-card__name {
    min-height: 56px;
    margin-bottom: 8px;
    font-size: .9rem;
    line-height: 1.35;
    font-weight: 500;
}

.bh-row-card__price {
    color: #f11d2a;
    font-size: 1.12rem;
    font-weight: 900;
}

.bh-row-card__old-price {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 24px;
    color: #8c8c8c;
}

.bh-row-card__old-price strong {
    padding: 2px 7px;
    border-radius: 5px;
    background: #f05b35;
    color: #fff;
    font-size: .78rem;
}

.bh-row-card__service {
    margin-top: 12px;
}

.bh-row-card__meta {
    margin-top: 12px;
}

.bh-row-scroll-btn {
    position: absolute;
    top: 42%;
    z-index: 4;
    width: 34px;
    height: 68px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #111;
    font-size: 2rem;
    line-height: 1;
    transition: color .16s ease;
}

.bh-row-scroll-btn:not(:disabled):hover {
    color: #ae0216;
}

.bh-row-scroll-btn--prev {
    left: -17px;
}

.bh-row-scroll-btn--next {
    right: -17px;
}

.bh-row-scroll-btn:disabled {
    opacity: .28;
}

@media (max-width: 1199.98px) {
    .bh-product-row__track {
        grid-auto-columns: calc((100% - 44px) / 3);
    }
}

@media (max-width: 767.98px) {
    .bh-category-products {
        padding: 20px 12px;
    }

    .bh-category-products__title {
        font-size: 1.18rem;
    }

    .bh-category-products__tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .bh-category-products__tabs::-webkit-scrollbar {
        display: none;
    }

    .bh-product-row__track {
        grid-auto-columns: 78%;
        gap: 14px;
    }
}

.bh-content-section {
    margin: 28px 0;
    padding: 28px 22px 34px;
    border-radius: 8px;
    background: #fff;
}

.bh-content-section__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 82px;
}

.bh-content-section__title-wrap {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.bh-content-section__title {
    flex: 0 0 auto;
    margin: 0;
    color: #000;
    font-size: 1.75rem;
    line-height: 1.12;
    font-weight: 900;
    text-transform: uppercase;
}

.bh-content-section__title span {
    margin-left: 4px;
}

.bh-content-section__line {
    flex: 1;
    height: 3px;
    background: #dedede;
}

.bh-content-section__viewall {
    width: 230px;
    height: 52px;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 2px solid #111;
    border-radius: 5px;
    color: #000;
    text-decoration: none;
    font-size: 1.08rem;
    font-weight: 900;
}

.bh-content-section__viewall:hover {
    color: var(--bh-red);
}

.bh-content-section__grid {
    display: grid;
    grid-template-columns: 32% 1fr;
    gap: 34px;
}

.bh-feature-article {
    position: relative;
    min-height: 420px;
    display: block;
    overflow: hidden;
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .16);
}

.bh-feature-article:hover {
    color: #fff;
}

.bh-feature-article img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    display: block;
    object-fit: cover;
}

.bh-feature-article__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .62), rgba(0, 0, 0, 0) 56%);
}

.bh-feature-article__text {
    position: absolute;
    left: 26px;
    right: 26px;
    bottom: 28px;
    display: block;
}

.bh-feature-article__text strong {
    display: block;
    color: #fff;
    font-size: 1.08rem;
    line-height: 1.2;
    font-weight: 900;
    text-transform: uppercase;
}

.bh-feature-article__text small {
    display: block;
    margin-top: 8px;
    color: #fff;
    font-size: .95rem;
}

.bh-article-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 34px;
    row-gap: 20px;
}

.bh-article-item {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 12px;
    min-height: 102px;
    padding-bottom: 14px;
    border-bottom: 1px solid #d7d7d7;
    color: #000;
    text-decoration: none;
}

.bh-article-item:hover {
    color: var(--bh-red);
}

.bh-article-item img {
    width: 150px;
    height: 102px;
    border-radius: 5px;
    object-fit: cover;
}

.bh-article-item__body {
    display: block;
    min-width: 0;
}

.bh-article-item__body strong {
    display: -webkit-box;
    overflow: hidden;
    color: inherit;
    font-size: .98rem;
    line-height: 1.22;
    font-weight: 900;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.bh-article-item__body small {
    display: block;
    margin-top: 8px;
    color: #4d4d4d;
    font-size: .86rem;
}

.bh-article-item__body i {
    display: block;
    width: 38px;
    height: 3px;
    margin-top: 14px;
    background: #111;
}

@media (max-width: 1199.98px) {
    .bh-content-section__head {
        margin-bottom: 40px;
    }

    .bh-content-section__grid {
        grid-template-columns: 1fr;
    }

    .bh-feature-article,
    .bh-feature-article img {
        min-height: 360px;
    }
}

@media (max-width: 767.98px) {
    .bh-content-section {
        padding: 20px 12px 24px;
    }

    .bh-content-section__head {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
        margin-bottom: 24px;
    }

    .bh-content-section__title-wrap {
        width: 100%;
    }

    .bh-content-section__title {
        font-size: 1.35rem;
    }

    .bh-content-section__viewall {
        width: 160px;
        height: 42px;
    }

    .bh-feature-article,
    .bh-feature-article img {
        min-height: 290px;
    }

    .bh-article-list {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .bh-article-item {
        grid-template-columns: 118px 1fr;
    }

    .bh-article-item img {
        width: 118px;
        height: 82px;
    }
}

/* ---------- Footer + Floating actions ---------- */

.bh-footer {
    margin-top: 36px;
    background: #303030;
    color: #fff;
}

.bh-footer__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(230px, .5fr) minmax(170px, .35fr);
    gap: 54px;
    padding-top: 46px;
    padding-bottom: 76px;
}

.bh-footer__company {
    max-width: 820px;
    font-size: 1rem;
    line-height: 1.55;
    font-weight: 500;
}

.bh-footer__company p {
    margin: 0 0 24px;
}

.bh-footer__company p:first-child {
    margin-bottom: 44px;
}

.bh-footer__company strong {
    font-weight: 900;
}

.bh-footer a {
    color: #fff;
    text-decoration: none;
}

.bh-footer a:hover {
    color: #e8e8e8;
}

.bh-footer h3 {
    margin: 0 0 28px;
    color: #fff;
    font-size: 1.08rem;
    line-height: 1.2;
    font-weight: 900;
}

.bh-footer__policy ul {
    padding-left: 22px;
    margin: 0;
}

.bh-footer__policy li {
    margin-bottom: 18px;
    color: #000;
}

.bh-footer__policy a {
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
}

.bh-footer-social {
    display: flex;
    gap: 22px;
    align-items: center;
    padding-top: 8px;
}

.bh-footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: #aeb5be;
    font-size: 1.6rem;
    font-weight: 900;
}

.bh-footer-bottom {
    background: #626262;
    color: #c8c8c8;
    font-size: .92rem;
}

.bh-footer-bottom__inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.bh-payment-icons {
    display: flex;
    gap: 8px;
    align-items: center;
}

.bh-payment-icons span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    height: 34px;
    padding: 0 8px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .1);
    color: #d6d6d6;
    font-size: .8rem;
    font-weight: 900;
}

.bh-left-social {
    position: fixed;
    left: 20px;
    top: auto;
    bottom: 110px;
    z-index: 1040;
    width: 52px;
    padding: 7px 5px;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .18);
}

.bh-left-social__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 5px 0;
    color: #555;
    text-decoration: none;
}

.bh-left-social__item span {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(180deg, #59c7ff, #2d72ff);
    color: #fff;
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1;
}

.bh-left-social__item:nth-child(2) span {
    background: linear-gradient(180deg, #5d86ff, #264bd5);
}

.bh-left-social__item:nth-child(3) span {
    background: #ed1d1d;
}

.bh-left-social__item:nth-child(4) span {
    background: #020202;
}

.bh-left-social__item:nth-child(5) span {
    background: linear-gradient(135deg, #44a853 0 35%, #fbbc04 35% 58%, #4285f4 58% 100%);
}

.bh-left-social__item strong {
    color: #555;
    font-size: .64rem;
    line-height: 1;
    font-weight: 900;
}

/* Contact FAB: Zalo + phone buttons open a consultant list, "Liên hệ" links to the contact page. */
.bh-contact-fab {
    position: fixed;
    right: 14px;
    bottom: 74px;
    z-index: 1045;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 14px;
}

.bh-contact-fab__group {
    position: relative;
}

.bh-contact-fab__btn {
    position: relative;
    width: 54px;
    height: 54px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    font-size: 1.45rem;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .24);
    cursor: pointer;
    transition: transform .2s ease;
}

.bh-contact-fab__btn:hover {
    color: #fff;
    transform: scale(1.06);
}

.bh-contact-fab__btn--zalo {
    background: #3a7af0;
}

.bh-contact-fab__btn--phone {
    background: #e8211d;
}

.bh-contact-fab__btn--contact {
    background: #111;
    box-shadow: 0 0 0 5px #d6d6d6, 0 6px 16px rgba(0, 0, 0, .24);
    font-size: 1.2rem;
}

.bh-contact-fab__btn--contact small {
    margin-top: 1px;
    font-size: .5rem;
    font-weight: 600;
    line-height: 1;
}

/* The toggle shows an X while its list is open. */
.bh-contact-fab__btn-close {
    position: absolute;
    opacity: 0;
    transform: rotate(-90deg);
    transition: opacity .2s ease, transform .2s ease;
}

.bh-contact-fab__btn-icon {
    display: inline-flex;
    transition: opacity .2s ease, transform .2s ease;
}

.bh-contact-fab__group.is-open .bh-contact-fab__btn-icon {
    opacity: 0;
    transform: rotate(90deg);
}

.bh-contact-fab__group.is-open .bh-contact-fab__btn-close {
    opacity: 1;
    transform: rotate(0);
}

/* Zalo mark: white speech bubble with blue "Zalo" text. */
.bh-contact-fab__zalo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 5px 6px;
    border-radius: 9px 9px 9px 2px;
    background: #fff;
    color: #3a7af0;
    font-family: Arial, sans-serif;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1;
}

.bh-contact-fab__panel {
    position: absolute;
    right: 66px;
    bottom: 0;
    width: 260px;
    max-width: calc(100vw - 96px);
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    padding: 4px 0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 32px rgba(0, 0, 0, .22);
    opacity: 0;
    visibility: hidden;
    transform: translateX(12px) scale(.97);
    transform-origin: bottom right;
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
}

.bh-contact-fab__group.is-open .bh-contact-fab__panel {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.bh-contact-fab__close {
    position: absolute;
    top: 8px;
    right: 10px;
    padding: 2px 4px;
    border: 0;
    background: transparent;
    color: #666;
    font-size: 1.3rem;
    line-height: 1;
}

.bh-contact-fab__contact {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 36px 12px 18px;
    color: #333;
    text-decoration: none;
}

.bh-contact-fab__contact + .bh-contact-fab__contact {
    border-top: 1px solid #eee;
}

.bh-contact-fab__contact:hover {
    background: #f4f7fc;
    color: #333;
}

.bh-contact-fab__contact-icon {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-size: 1rem;
}

.bh-contact-fab__group--zalo .bh-contact-fab__contact-icon {
    background: #3a7af0;
}

.bh-contact-fab__group--zalo .bh-contact-fab__contact-icon .bh-contact-fab__zalo {
    padding: 3px 3px 4px;
    font-size: .55rem;
}

.bh-contact-fab__group--phone .bh-contact-fab__contact-icon {
    background: #e8211d;
}

.bh-contact-fab__contact strong,
.bh-contact-fab__contact em {
    display: block;
    font-size: .92rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4;
}

.bh-contact-fab__contact em {
    color: #444;
}

@media (max-width: 991.98px) {
    .bh-footer__inner {
        grid-template-columns: 1fr;
        gap: 22px;
        padding-bottom: 42px;
    }

    .bh-footer__company p:first-child {
        margin-bottom: 24px;
    }
}

@media (max-width: 767.98px) {
    .bh-left-social {
        left: 8px;
        bottom: 96px;
        width: 48px;
    }

    .bh-left-social__item span {
        width: 31px;
        height: 31px;
        font-size: .95rem;
    }

    .bh-left-social__item strong {
        font-size: .58rem;
    }

    .bh-footer-bottom__inner {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
    }

    .bh-payment-icons {
        flex-wrap: wrap;
    }

    .bh-contact-fab {
        right: 10px;
        bottom: 72px;
        gap: 12px;
    }

    .bh-contact-fab__btn {
        width: 48px;
        height: 48px;
    }

    .bh-contact-fab__panel {
        right: 58px;
    }
}

/* ---------- Category listing page ---------- */

.bh-category-page {
    max-width: 1620px;
    margin: 0 auto 54px;
    padding-top: 22px;
}

.bh-category-page__toolbar {
    display: grid;
    grid-template-columns: 1fr auto 200px;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px;
}

.bh-category-breadcrumb {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
    color: #9aa0a6;
    font-size: 0.9rem;
    line-height: 1.25;
}

.bh-category-breadcrumb a {
    color: #8e949c;
    text-decoration: none;
    font-weight: 500;
}

.bh-category-breadcrumb strong {
    overflow: hidden;
    color: #000;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bh-category-result {
    color: #000;
    font-size: .8rem;
    font-weight: 500;
    white-space: nowrap;
}

.bh-category-sort .form-select {
    width: 200px;
    max-width: 100%;
    height: 34px;
    padding: .35rem 2rem .35rem .75rem;
    border-radius: 0;
    border-color: #d6d6d6;
    box-shadow: none;
    color: #333;
    font-size: .78rem;
}

.bh-category-filter {
    min-height: 152px;
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 20px;
    margin-bottom: 26px;
    padding: 18px 20px 22px;
    border: 1px solid #9b9b9b;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 0 26px rgba(0, 0, 0, .18);
}

.bh-category-filter__brands {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 8px;
}

.bh-category-filter__brand {
    min-width: 126px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 4px 11px;
    border: 1px solid #c6c6c6;
    border-radius: 8px;
    background: #fff;
    color: #f05a28;
    text-align: center;
    text-decoration: none;
    font-size: .78rem;
    line-height: 1.05;
    font-weight: 700;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
}

.bh-category-filter__brand:hover,
.bh-category-filter__brand.is-active {
    border-color: #111;
    color: #000;
}

.bh-category-filter__brand img,
.bh-category-filter__thumb {
    width: 30px;
    height: 24px;
    flex: 0 0 auto;
    object-fit: contain;
}

.bh-category-filter__thumb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2f2f2f;
    font-size: 1rem;
}

.bh-category-filter__sale {
    align-self: center;
    justify-self: center;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #000;
    font-size: 1rem;
    font-weight: 900;
    white-space: nowrap;
}

.bh-category-filter__sale input {
    width: 16px;
    height: 16px;
}

.bh-category-page__desc {
    margin: 0 0 30px;
    color: #000;
    font-size: 1.08rem;
    line-height: 1.55;
    font-weight: 400;
}

.bh-category-empty {
    padding: 34px;
    border-radius: 8px;
    background: #fff;
    color: #555;
}

.bh-category-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 30px;
}

.bh-category-pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 0;
    margin: 40px 0 0;
    list-style: none;
}

.bh-category-pagination__item {
    display: inline-flex;
}

.bh-category-pagination__link {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #000;
    border-radius: 50%;
    background: #fff;
    color: #000;
    text-decoration: none;
    font-size: 1.05rem;
    font-weight: 900;
}

.bh-category-pagination__item.is-active .bh-category-pagination__link {
    border-color: #bd0015;
    background: #bd0015;
    color: #fff;
}

.bh-category-pagination__item.is-disabled .bh-category-pagination__link {
    opacity: .45;
    pointer-events: none;
}

@media (max-width: 1399.98px) {
    .bh-category-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .bh-category-page__toolbar {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .bh-category-result {
        justify-self: start;
    }

    .bh-category-sort {
        width: 200px;
        max-width: 100%;
    }

    .bh-category-filter {
        grid-template-columns: 1fr;
    }

    .bh-category-filter__sale {
        justify-self: start;
    }

    .bh-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .bh-category-page {
        padding-top: 12px;
    }

    .bh-category-breadcrumb {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
        font-size: 1rem;
    }

    .bh-category-breadcrumb strong {
        white-space: normal;
    }

    .bh-category-filter {
        padding: 14px 12px;
    }

    .bh-category-filter__brands {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .bh-category-filter__brands::-webkit-scrollbar {
        display: none;
    }

    .bh-category-filter__brand {
        flex: 0 0 auto;
    }

    .bh-category-page__desc {
        font-size: .98rem;
    }

    .bh-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

}

/* ---------- Category reference layout ---------- */
.bh-category-page {
    max-width: 1620px;
    padding: 0 0 54px;
    color: #171717;
}

.bh-category-hero {
    min-height: 178px;
    display: flex;
    align-items: center;
    margin: 0 0 14px;
    padding: 24px 48px;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(15,10,7,.85) 0%, rgba(15,10,7,.45) 50%, rgba(15,10,7,.05) 100%), var(--category-hero-image, none) center/cover, #180f0b;
    color: #fff;
}

.bh-category-hero > div {
    max-width: 640px;
}

.bh-category-hero h1 {
    margin: 0 0 8px;
    color: #f6e4c8;
    font-size: 2.2rem;
    line-height: 1.18;
    font-weight: 800;
}

.bh-category-hero p {
    margin: 0;
    color: #efe8df;
    font-size: 1rem;
    line-height: 1.5;
}

.bh-category-page__toolbar {
    grid-template-columns: minmax(0, 1fr) 200px;
    gap: 16px;
    margin-bottom: 14px;
}

.bh-category-breadcrumb {
    min-height: 28px;
    gap: 8px;
    padding: 0 8px;
    font-size: .72rem;
}

.bh-category-page__toolbar > .bh-category-result {
    display: none;
}

.bh-category-sort .form-select {
    height: 36px;
    border-radius: 3px;
    font-size: .78rem;
}

.bh-category-filter {
    min-height: 54px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding: 7px 10px;
    border: 1px solid #e8e8e8;
    border-radius: 2px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
}

.bh-category-filter__brands,
.bh-category-filter__sale {
    display: none;
}

.bh-category-filter__field {
    min-width: 0;
    flex: 1 1 0;
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 4px 12px;
    border-right: 1px solid #ededed;
}

.bh-category-filter__field > span:last-child {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bh-category-filter__field small {
    color: #777;
    font-size: .65rem;
}

.bh-category-filter__field strong {
    overflow: hidden;
    color: #222;
    font-size: .74rem;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bh-category-filter__icon {
    color: #171717;
    font-size: 1.1rem;
}

.bh-category-filter__field--sort {
    flex: 0 0 180px;
    border-right: 0;
}

/* Filter values: theme.js swaps each select for a .bh-filter-dropdown (the
   native option list can't be styled); the select stays as the no-JS fallback. */
.bh-category-filter__field {
    position: relative;
    cursor: pointer;
}

.bh-category-filter__select,
.bh-filter-dropdown__toggle {
    width: 100%;
    min-width: 0;
    padding: 0 18px 0 0;
    border: 0;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23555' stroke-width='2' d='m3 6 5 5 5-5'/%3E%3C/svg%3E") no-repeat right center / 10px;
    color: #222;
    font-size: .74rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.bh-filter-dropdown__toggle {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bh-filter-dropdown.is-open .bh-filter-dropdown__toggle {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%235b3517' stroke-width='2' d='m3 10 5-5 5 5'/%3E%3C/svg%3E");
    color: #5b3517;
}

.bh-filter-dropdown__toggle:focus {
    outline: 0;
}

.bh-filter-dropdown__toggle:focus-visible {
    outline: 2px solid #d3b38a;
    outline-offset: 2px;
}

.bh-filter-dropdown__menu {
    position: absolute;
    z-index: 30;
    top: calc(100% + 6px);
    left: 0;
    width: max-content;
    min-width: 200px;
    max-width: 320px;
    max-height: 320px;
    overflow-y: auto;
    margin: 0;
    padding: 6px;
    border: 1px solid #ece3d6;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity .15s ease, transform .15s ease, visibility .15s;
}

/* Last field sits at the right edge: open its menu leftwards. */
.bh-category-filter__field--sort .bh-filter-dropdown__menu {
    left: auto;
    right: 0;
}

.bh-filter-dropdown.is-open .bh-filter-dropdown__menu {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.bh-filter-dropdown__option {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #333;
    font-size: .78rem;
    text-align: left;
    white-space: nowrap;
    cursor: pointer;
}

.bh-filter-dropdown__option:hover,
.bh-filter-dropdown__option:focus {
    outline: 0;
    background: #faf6f0;
    color: #5b3517;
}

.bh-filter-dropdown__option.is-selected {
    background: #f6efe6;
    color: #5b3517;
    font-weight: 600;
}

.bh-filter-dropdown__option.is-selected::after {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-size: .7rem;
    font-weight: 900;
}

.bh-category-showcase {
    margin-bottom: 14px;
}

.bh-category-showcase__heading {
    margin-bottom: 7px;
    color: #2a2a2a;
    font-size: .85rem;
    font-weight: 800;
}

.bh-category-showcase__heading span {
    margin-left: 5px;
    color: #777;
    font-size: 1rem;
}

.bh-category-showcase > .bh-category-filter__brands {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow: hidden;
}

.bh-category-showcase .bh-category-filter__brand {
    min-width: 118px;
    height: 42px;
    border: 1px solid #f0f0f0;
    border-radius: 2px;
    color: #202020;
    font-size: .72rem;
    box-shadow: none;
}

.bh-category-showcase .bh-category-filter__brand.is-active {
    border-color: #d3b38a;
    color: #5b3517;
}

.bh-category-showcase .bh-category-filter__brand img {
    width: 86px;
    height: 28px;
}

.bh-category-quick-categories__list {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 8px;
}

.bh-category-quick-categories__list a {
    min-height: 82px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 5px;
    background: #fff;
    color: #444;
    text-align: center;
    text-decoration: none;
    font-size: .7rem;
}

.bh-category-quick-categories__image {
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bh-category-quick-categories__image img {
    max-width: 70px;
    max-height: 48px;
    object-fit: contain;
}

.bh-category-results-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 14px 0 10px;
    color: #333;
    font-size: .75rem;
}

.bh-category-sort--inline {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bh-category-sort--inline label {
    white-space: nowrap;
}

.bh-category-sort--inline .form-select {
    width: 150px;
}

.bh-category-page__desc {
    display: none;
}

.bh-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.bh-catalog-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #ededed;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .05);
    transition: transform .18s ease, box-shadow .18s ease;
}

.bh-catalog-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 14px rgba(0, 0, 0, .1);
}

.bh-catalog-card__media {
    position: relative;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 8px;
    background: #fff;
}

.bh-catalog-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    transition: transform .2s ease;
}

.bh-catalog-card:hover .bh-catalog-card__media img {
    transform: scale(1.04);
}

.bh-catalog-card__badge {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    padding: 4px 8px;
    border-radius: 2px;
    background: #17321f;
    color: #fff;
    font-size: .65rem;
    font-weight: 700;
    line-height: 1;
}

.bh-catalog-card__badge.is-hot {
    background: #a64c12;
}

.bh-catalog-card__badge.is-sale {
    background: #df2626;
}

.bh-catalog-card__content {
    padding: 8px 12px 10px;
}

.bh-catalog-card__name {
    min-height: 34px;
    display: -webkit-box;
    overflow: hidden;
    color: #222;
    text-decoration: none;
    font-size: .82rem;
    line-height: 1.3;
    font-weight: 700;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.bh-catalog-card__name:hover {
    color: #7a3c12;
}

.bh-catalog-card__description {
    min-height: 18px;
    margin: 2px 0 5px;
    overflow: hidden;
    color: #8a8a8a;
    font-size: .69rem;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bh-catalog-card__price-row {
    min-height: 23px;
    display: flex;
    align-items: baseline;
    gap: 7px;
}

.bh-catalog-card__price-row strong {
    color: #ef2727;
    font-size: .95rem;
    font-weight: 800;
}

.bh-catalog-card__price-row s {
    color: #9a9a9a;
    font-size: .68rem;
}

.bh-catalog-card__footer {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.bh-catalog-card__rating {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.bh-catalog-card__rating > span {
    color: #ffb400;
    font-size: .72rem;
    letter-spacing: -1px;
}

.bh-catalog-card__rating small {
    color: #8b8b8b;
    font-size: .65rem;
}

.bh-catalog-card__actions {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.bh-catalog-card__favorite,
.bh-catalog-card__cart {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ececec;
    border-radius: 50%;
    background: #fff;
    color: #262626;
    font-size: .9rem;
}

.bh-catalog-card__favorite:hover {
    color: #d52222;
}

.bh-catalog-card__cart-form {
    margin: 0;
}

.bh-catalog-card__cart {
    border-color: #744018;
    background: #744018;
    color: #fff;
}

.bh-catalog-card__cart:hover {
    border-color: #51280b;
    background: #51280b;
}

@media (max-width: 767.98px) {
    .bh-category-hero { min-height: 112px; padding: 18px; }
    .bh-category-hero h1 { font-size: 1.4rem; }
    .bh-category-hero p { font-size: .9rem; }
    .bh-category-page__toolbar { grid-template-columns: 1fr; }
    .bh-category-filter { align-items: stretch; flex-wrap: wrap; }
    .bh-category-filter__field { flex-basis: calc(50% - 6px); }
    .bh-category-filter__field--sort { flex-basis: calc(50% - 6px); }
    .bh-category-showcase > .bh-category-filter__brands { overflow-x: auto; }
    .bh-category-quick-categories__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .bh-category-results-bar { align-items: flex-start; flex-direction: column; }
    .bh-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bh-catalog-card__media { padding: 4px; }
    .bh-catalog-card__content { padding-inline: 9px; }
    .bh-catalog-card__favorite,
    .bh-catalog-card__cart { width: 32px; height: 32px; }
}

/* ---------- Product detail page ---------- */

.bh-product-detail {
    max-width: 1320px;
    margin: 0 auto 58px;
    color: #000;
}

.bh-product-page-body,
.bh-product-page-body main,
.bh-product-page-body main > .container {
    background: #fff;
}

main:has(.bh-product-detail),
main:has(.bh-product-detail) .container {
    background: #fff;
}

.bh-product-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    margin: 12px 0;
    color: #a3a8ae;
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.5;
}

.bh-product-breadcrumb a {
    color: #9aa0a6;
    text-decoration: none;
}

/* Keep each crumb on one line; only the product name may wrap. */
.bh-product-breadcrumb a,
.bh-product-breadcrumb span { white-space: nowrap; }

.bh-product-stars {
    color: #f7a900;
    letter-spacing: 1px;
}

.bh-pd-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 30px;
    align-items: start;
    margin-bottom: 28px;
}

.bh-product-gallery {
    position: relative;
    min-height: 400px;
}

.bh-pd-brand-strip {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
}

.bh-pd-brand-strip__site {
    height: 34px;
    object-fit: contain;
}

.bh-pd-brand-strip__brand {
    height: 30px;
    object-fit: contain;
}

.bh-product-gallery__stage {
    position: relative;
    /* min-height: 320px; */
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.bh-product-gallery__stage img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.bh-product-gallery__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #999;
    font-size: 1.1rem;
    line-height: 1;
}

.bh-product-gallery__nav--prev {
    left: 8px;
}

.bh-product-gallery__nav--next {
    right: 8px;
}

.bh-product-gallery__zoom {
    display: none;
    position: absolute;
    left: 12px;
    top: 348px;
    width: 32px;
    height: 32px;
    border: 1px solid #d0d0d0;
    border-radius: 50%;
    background: #fff;
    color: #c4c4c4;
    font-size: 1rem;
}

.bh-product-gallery__thumbs {
    display: flex;
    gap: 12px;
    margin-top: 16px;
}

.bh-product-gallery__thumb {
    width: 64px;
    height: 60px;
    padding: 5px;
    border: 1px solid #d7dce3;
    border-radius: 3px;
    background: #fff;
    opacity: .62;
}

.bh-product-gallery__thumb.is-active {
    border-color: #c5cbd4;
    opacity: 1;
}

.bh-product-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.bh-pd-summary {
    padding-top: 4px;
}

.bh-pd-title {
    margin: 0 0 6px;
    color: #000;
    font-size: 1.35rem;
    line-height: 1.25;
    font-weight: 900;
}

.bh-pd-subtitle {
    margin: 0 0 10px;
    color: #555;
    font-size: .92rem;
}

.bh-pd-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: #637085;
    font-size: .84rem;
}

.bh-pd-rating__sep {
    color: #ddd;
}

.bh-pd-rating a {
    color: var(--bh-red);
    text-decoration: none;
    font-weight: 700;
}

.bh-pd-price-box {
    padding: 12px 16px;
    margin-bottom: 14px;
    border-radius: 10px;
    background: #fff2f2;
}

.bh-pd-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
    /* margin-bottom: 8px; */
}

.bh-pd-price__value {
    color: var(--bh-red);
    font-size: 1.35rem;
    font-weight: 900;
}

.bh-pd-price--contact {
    color: var(--bh-red);
    font-size: 1.4rem;
    font-weight: 600;
}

.bh-pd-price__old {
    color: #999;
    font-size: .92rem;
}

.bh-pd-price__percent {
    padding: 2px 8px;
    border-radius: 5px;
    background: var(--bh-red);
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
}

.bh-pd-contact-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 38px;
    border-radius: 7px;
    background: #d42611;
    color: #fff;
    text-decoration: none;
    font-size: .84rem;
    font-weight: 900;
}

.bh-pd-contact-cta:hover {
    color: #fff;
    opacity: .92;
}

.bh-pd-perks {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    overflow: hidden;
    margin-bottom: 14px;
    border: 1px solid #d7d7d7;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 9px rgba(0, 0, 0, .1);
}

.bh-pd-perk {
    min-height: 68px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* gap: 4px; */
    /* padding: 8px 5px; */
    border-right: 1px solid #ededed;
    text-align: center;
}

.bh-pd-perk:last-child {
    border-right: 0;
}

.bh-pd-perk i {
    color: var(--bh-copper);
    font-size: .95rem;
}

.bh-pd-perk strong {
    font-size: .72rem;
    font-weight: 900;
}

.bh-pd-perk small {
    color: #777;
    font-size: .8rem;
}

.bh-pd-offer {
    padding: 0 0 10px;
    margin-bottom: 14px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .15);
    overflow: hidden;
}

.bh-pd-offer h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 10px 16px;
    color: var(--bh-red);
    background: #ffe8e8;
    border-bottom: 1px solid #f3d0d0;
    text-align: center;
    font-size: .96rem;
    font-weight: 900;
}

.bh-pd-offer p {
    display: flex;
    gap: 8px;
    margin: 6px 16px;
    font-size: .84rem;
    line-height: 1.35;
}

.bh-pd-offer span {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0aa64a;
    color: #fff;
    font-size: .68rem;
    font-weight: 900;
}

.bh-pd-buy-row {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 10px;
    margin-bottom: 12px;
}

.bh-pd-buy-now,
.bh-pd-add-cart {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    height: 48px;
    border: 0;
    border-radius: 7px;
    font-weight: 900;
}

.bh-pd-btn-label {
    display: flex;
    align-items: center;
    gap: 6px;
}

.bh-pd-buy-now {
    background: var(--bh-red);
    color: #fff;
    font-size: .88rem;
}

.bh-pd-buy-now small {
    font-size: .62rem;
    font-weight: 500;
    opacity: .9;
}

.bh-pd-add-cart {
    border: 2px solid var(--bh-red);
    background: #fff;
    color: var(--bh-red);
    font-size: .82rem;
}

.bh-pd-contact-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.bh-pd-contact-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    height: 58px;
    padding: 0 12px;
    border: 1px solid #e3e3e3;
    border-radius: 8px;
    background: #fff;
    color: #111;
    text-decoration: none;
    font-size: .8rem;
    font-weight: 900;
}

.bh-pd-contact-item__icon {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #fff;
    font-size: 1.15rem;
}

.bh-pd-contact-item__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.3;
    text-align: left;
}

.bh-pd-contact-item small {
    font-size: .7rem;
    font-weight: 500;
    color: #777;
}

.bh-pd-contact-item--phone .bh-pd-contact-item__icon {
    background: #ff8a00;
}

.bh-pd-contact-item--zalo .bh-pd-contact-item__icon {
    border-radius: 10px;
    background: #0068ff;
}

.bh-pd-contact-item--messenger .bh-pd-contact-item__icon {
    background: #0084ff;
}

.bh-pd-highlights {
    margin: 0 0 28px;
    padding: 0 0 16px;
    border-radius: 12px;
    background: #fdf6e8;
    overflow: hidden;
}

.bh-pd-highlights h2 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin: 0 0 14px;
    padding: 12px 20px;
    color: #fff;
    background: #4a270d;
    text-align: left;
    font-size: 1.05rem;
    font-weight: 900;
}

.bh-pd-highlights h2 i {
    color: #f7a900;
}

.bh-pd-highlights__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px 28px;
    margin: 0 20px;
}

.bh-pd-highlights__grid > div {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    line-height: 1.4;
}

.bh-pd-highlights__grid div {
    font-size: 14px;
}

.bh-pd-highlights__grid i {
    margin-top: 3px;
    color: #3a9d50;
}

/* Content with a list: each <li> gets its own green check instead of a bullet.
   !important: editor HTML often carries inline list-style/padding on ul/li. */
.bh-pd-highlights__grid > div:has(li) > i { display: none; }
.bh-pd-highlights__grid ul,
.bh-pd-highlights__grid ol {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.bh-pd-highlights__grid li {
    position: relative;
    display: block;
    list-style: none !important;
    margin-bottom: 10px;
    padding-left: 26px;
}
.bh-pd-highlights__grid li:last-child { margin-bottom: 0; }
.bh-pd-highlights__grid li::before {
    content: "\f058";
    position: absolute;
    top: 1px;
    left: 0;
    color: #3a9d50;
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
}

.bh-product-main {
    margin: 0 0 28px;
}

.bh-product-content {
    width: 100%;
}

.bh-product-tabs {
    display: flex;
    gap: 28px;
}

.bh-product-tabs button {
    position: relative;
    border: 0;
    background: transparent;
    color: #757575;
    font-size: .78rem;
    font-weight: 900;
}

.bh-product-tabs button.active {
    color: #fff;
    background: #4a270d;
}

.bh-product-tabs button.active::before {
    display: none;
}

.bh-product-description {
    color: #000;
}

.bh-product-description h2 {
    margin: 0 0 20px;
    color: #d63a2f;
    text-align: center;
    font-size: 1.22rem;
    font-weight: 900;
}

.bh-product-description div {
    margin-bottom: 28px;
    font-size: .98rem;
    font-style: italic;
    line-height: 1.55;
}

.bh-product-description img {
    width: 100%;
    max-height: 820px;
    object-fit: cover;
    margin-bottom: 44px;
}

.bh-product-description h3 {
    margin: 0 0 18px;
    padding-top: 24px;
    border-top: 1px solid #eee;
    font-size: 1.42rem;
    font-weight: 900;
}

.bh-product-description li {
    margin-bottom: 14px;
    line-height: 1.45;
}

.bh-pd-description__body {
    position: relative;
    max-height: 420px;
    overflow: hidden;
}

.bh-pd-description__body:not(.is-expanded)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 90px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
    pointer-events: none;
}

.bh-pd-description__body.is-expanded {
    max-height: none;
}

.bh-pd-description__toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 16px auto 0;
    padding: 8px 22px;
    border: 1px solid #ddd;
    border-radius: 20px;
    background: #fff;
    color: var(--bh-red);
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
}

.bh-pd-description__toggle:hover {
    border-color: var(--bh-red);
    background: #fff5f5;
}

.bh-pd-description__toggle.is-hidden {
    display: none;
}

.bh-product-more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 112px;
    height: 50px;
    margin: 56px auto 40px;
    border: 0;
    border-radius: 4px;
    background: #ff1f2c;
    color: #fff;
    font-weight: 900;
}

.bh-product-review {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 46px;
    margin: 0 -16px 32px;
    padding: 72px 40px 34px;
    border-radius: 4px;
    background: #f4f4f4;
}

.bh-product-review__score {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.bh-product-review__score strong {
    font-size: 3.1rem;
    line-height: 1;
    font-weight: 400;
}

.bh-product-review__score span {
    color: #f7a900;
}

.bh-product-review__score button {
    width: 246px;
    height: 44px;
    margin-top: 18px;
    border: 0;
    border-radius: 4px;
    background: #19bcae;
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
}

.bh-product-review__bars {
    display: grid;
    gap: 17px;
}

.bh-product-review__bars div {
    display: grid;
    grid-template-columns: 36px 1fr 42px;
    align-items: center;
    gap: 14px;
    font-size: .82rem;
}

.bh-product-review__bars i {
    height: 9px;
    display: block;
    overflow: hidden;
    border-radius: 20px;
    background: #ddd;
}

.bh-product-review__bars b {
    height: 100%;
    display: block;
    border-radius: inherit;
    background: #ff2c36;
}

.bh-product-review__comment {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 22px;
    min-height: 205px;
    padding: 30px 42px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
}

.bh-product-review__avatar {
    width: 74px;
    height: 74px;
    display: block;
    border-radius: 8px;
    background: radial-gradient(circle at 50% 34%, #fff 0 18%, transparent 19%), radial-gradient(circle at 50% 78%, #fff 0 31%, transparent 32%), #cfcfcf;
}

.bh-product-review__comment strong,
.bh-product-review__comment small,
.bh-product-review__comment span {
    display: block;
    margin-bottom: 6px;
}

.bh-product-review__comment p {
    margin-top: 30px;
    font-size: 1rem;
}

.bh-product-full {
    width: 100%;
    margin-top: 30px;
}

.bh-pd-specs-table {
    width: 100%;
    border-collapse: collapse;
    overflow: hidden;
    border: 1px solid #e3e3e3;
    border-radius: 8px;
}

.bh-pd-specs-table tr:nth-child(odd) {
    background: #f9f9f9;
}

.bh-pd-specs-table th,
.bh-pd-specs-table td {
    padding: 13px 20px;
    border-bottom: 1px solid #eee;
    text-align: left;
    font-size: .94rem;
}

.bh-pd-specs-table tr:last-child th,
.bh-pd-specs-table tr:last-child td {
    border-bottom: 0;
}

.bh-pd-specs-table th {
    width: 34%;
    color: #666;
    font-weight: 700;
}

.bh-pd-specs-table td {
    color: #000;
    font-weight: 600;
}

.bh-pd-video {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    overflow: hidden;
    border-radius: 8px;
    background: #000;
}

.bh-pd-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.bh-pd-projects {
    margin-bottom: 40px;
}

.bh-pd-projects__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}

.bh-pd-projects__head h2 {
    margin: 0;
    color: #000;
    font-size: 1rem;
    font-weight: 500;
}

.bh-pd-projects__all {
    flex: 0 0 auto;
    color: var(--bh-red);
    text-decoration: none;
    font-weight: 700;
    white-space: nowrap;
}

.bh-pd-projects__body {
    position: relative;
}

.bh-pd-projects__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 66px) / 4);
    gap: 22px;
    overflow-x: auto;
    padding: 4px 4px 10px;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    touch-action: pan-x pan-y;
}

.bh-pd-projects__track::-webkit-scrollbar {
    display: none;
}

.bh-pd-projects__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    scroll-behavior: auto;
}

.bh-pd-project-card {
    display: block;
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
    scroll-snap-align: start;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
}

.bh-pd-project-card__image {
    height: 170px;
}

.bh-pd-project-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
}

.bh-pd-project-card__body {
    padding: 12px 14px 16px;
}

.bh-pd-project-card__body strong {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 500;
}

.bh-pd-project-card__body span {
    color: #777;
    font-size: .8rem;
}

.bh-pd-project-card__body i {
    color: var(--bh-red);
}

@media (max-width: 1199.98px) {
    .bh-pd-projects__track {
        grid-auto-columns: calc((100% - 44px) / 3);
    }
}

@media (max-width: 767.98px) {
    /* 2 cards per row, same as the "Sản phẩm liên quan" row. */
    .bh-pd-projects__track { grid-auto-columns: calc((100% - 10px) / 2); gap: 10px; width: calc(100% + 12px); margin-left: -6px; padding: 6px 6px 10px; scroll-padding: 0 6px; scroll-snap-type: x mandatory; }
    .bh-pd-projects__track .bh-pd-project-card__image { height: 110px; }
    .bh-pd-projects__track .bh-pd-project-card__body { padding: 8px 9px 10px; }
    .bh-pd-projects__track .bh-pd-project-card__body strong { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: .8rem; line-height: 1.35; }
    .bh-pd-projects__track .bh-pd-project-card__body span { font-size: .7rem; }
    .bh-pd-projects__track .bh-pd-project-card__foot { flex-wrap: wrap; gap: 4px; margin-top: 8px; padding-top: 6px; }
    .bh-pd-projects__track .bh-pd-project-card__more { font-size: .72rem; }

    /* Desktop offsets (-17px) push the arrows past the screen edge and make the page pan sideways. */
    .bh-pd-projects__body .bh-row-scroll-btn { top: 38%; width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border-radius: 50%; background: rgba(255, 255, 255, .95); box-shadow: 0 2px 8px rgba(0, 0, 0, .22); font-size: .85rem; }
    .bh-pd-projects__body .bh-row-scroll-btn--prev { left: -8px; }
    .bh-pd-projects__body .bh-row-scroll-btn--next { right: -8px; }
    .bh-pd-projects__body .bh-row-scroll-btn:disabled { opacity: 0; pointer-events: none; }
}

@media (max-width: 1199.98px) {
    .bh-pd-hero {
        grid-template-columns: 1fr;
    }

    .bh-pd-summary {
        padding-top: 0;
    }

    .bh-product-gallery {
        min-height: auto;
    }

    .bh-product-gallery__thumbs {
        margin-top: 24px;
    }

    .bh-pd-perks {
        grid-template-columns: repeat(2, 1fr);
    }

    .bh-pd-perk {
        border-bottom: 1px solid #ededed;
    }

    .bh-pd-highlights__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .bh-pd-title {
        font-size: 1.35rem;
    }

    .bh-pd-rating {
        flex-wrap: wrap;
        gap: 8px 14px;
    }

    /* .bh-product-gallery__stage {
        min-height: 320px;
    } */

    /* .bh-product-gallery__stage img {
        max-height: 310px;
    } */

    .bh-product-gallery__zoom {
        display: none;
    }

    .bh-product-gallery__thumbs {
        gap: 10px;
        overflow-x: auto;
    }

    .bh-product-gallery__thumb {
        width: 72px;
        height: 68px;
        flex: 0 0 auto;
    }

    .bh-pd-buy-row,
    .bh-pd-contact-row {
        grid-template-columns: 1fr;
    }

    .bh-product-review {
        grid-template-columns: 1fr;
        margin-left: 0;
        margin-right: 0;
        padding: 34px 16px;
    }

    .bh-product-review__comment {
        grid-template-columns: 1fr;
    }
}

/* ---------- Content list page: projects/news ---------- */

.bh-content-list-body,
.bh-content-list-body main,
.bh-content-list-body main > .container {
    background: #fff;
}

.bh-content-list-page {
    max-width: 1360px;
    margin: 0 auto 86px;
    padding-top: 36px;
}

.bh-content-list-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 38px;
    row-gap: 64px;
}

.bh-content-list-card {
    color: #000;
}

.bh-content-list-card__image {
    position: relative;
    display: block;
    overflow: visible;
    color: #000;
    text-decoration: none;
}

.bh-content-list-card__image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    display: block;
    object-fit: cover;
    background: #eee;
}

.bh-content-list-card__date {
    position: absolute;
    left: -10px;
    top: 32px;
    width: 56px;
    height: 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 2px solid #bd0015;
    background: #fff;
    color: #bd0015;
    line-height: 1;
}

.bh-content-list-card__date strong {
    font-size: 1.25rem;
    font-weight: 900;
}

.bh-content-list-card__date small {
    margin-top: 4px;
    font-size: .78rem;
    font-weight: 900;
}

.bh-content-list-card h2 {
    margin: 72px 0 10px;
    font-size: 1.12rem;
    line-height: 1.28;
    font-weight: 900;
}

.bh-content-list-card h2 a {
    color: #000;
    text-decoration: none;
}

.bh-content-list-card h2 a:hover {
    color: var(--bh-red);
}

.bh-content-list-card i {
    display: block;
    width: 38px;
    height: 2px;
    margin-bottom: 12px;
    background: #111;
}

.bh-content-list-card p {
    margin: 0;
    color: #000;
    font-size: .96rem;
    line-height: 1.45;
}

.bh-content-list-pagination {
    margin-top: 88px;
}

@media (max-width: 991.98px) {
    .bh-content-list-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 44px 24px;
    }
}

@media (max-width: 767.98px) {
    .bh-content-list-page {
        padding-top: 20px;
    }

    .bh-content-list-grid {
        grid-template-columns: 1fr;
    }

    .bh-content-list-card h2 {
        margin-top: 28px;
    }
}

/* ---------- Article/project detail page ---------- */

.bh-article-detail-body,
.bh-article-detail-body main,
.bh-article-detail-body main > .container {
    background: #fff;
}

.bh-article-detail {
    max-width: 910px;
    margin: 0 auto 86px;
    padding-top: 26px;
    color: #000;
}

.bh-article-detail__hero {
    position: relative;
    margin-bottom: 22px;
}

.bh-article-detail__hero img {
    width: 100%;
    display: block;
    aspect-ratio: 4 / 2.65;
    object-fit: cover;
}

.bh-article-detail__hero .bh-content-list-card__date {
    left: -7px;
    top: 42px;
}

.bh-article-detail h1 {
    max-width: 870px;
    margin: 0 0 14px;
    color: #000;
    font-size: 1.6rem;
    line-height: 1.18;
    font-weight: 900;
}

.bh-article-detail__rule {
    display: block;
    width: 34px;
    height: 3px;
    margin-bottom: 34px;
    background: #111;
}

.bh-article-toc {
    margin-bottom: 26px;
    padding: 13px 16px;
    border: 1px solid #cfcfcf;
    background: #fbfbfb;
    color: #59708a;
    font-size: .86rem;
}

.bh-article-toc strong {
    display: block;
    color: #000;
    text-align: center;
}

.bh-article-toc button {
    border: 0;
    background: transparent;
    color: #59708a;
    font-size: .82rem;
}

.bh-article-toc ol {
    margin: 16px 0 0;
    padding-left: 20px;
}

.bh-article-body {
    font-size: .96rem;
    line-height: 1.62;
}

.bh-article-body h2 {
    margin: 0 0 20px;
    color: #e4322b;
    text-align: center;
    font-size: 1.42rem;
    line-height: 1.2;
    font-weight: 900;
}

.bh-article-body h3 {
    margin: 34px 0 16px;
    padding-top: 22px;
    border-top: 1px solid #eee;
    color: #000;
    font-size: 1.15rem;
    font-weight: 900;
}

.bh-article-body p {
    margin: 0 0 18px;
}

.bh-article-body ul {
    margin: 18px 0;
    padding-left: 28px;
}

.bh-article-body li {
    margin-bottom: 16px;
}

.bh-article-body figure {
    margin: 26px auto 30px;
}

.bh-article-body figure img {
    width: 90%;
    display: block;
    margin: 0 auto;
    object-fit: cover;
}

.bh-article-body figcaption {
    width: 90%;
    margin: 0 auto;
    padding: 8px 10px;
    background: #f2f2f2;
    color: #111;
    text-align: center;
    font-size: .82rem;
    font-style: italic;
}

.bh-article-contact {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.bh-article-contact strong {
    display: block;
    margin-bottom: 14px;
}

.bh-article-contact p {
    margin-bottom: 7px;
}

.bh-article-share {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 42px 0 62px;
}

.bh-article-share i {
    width: 26px;
    height: 3px;
    margin-right: 14px;
    background: #111;
}

.bh-article-share span {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfcfcf;
    border-radius: 50%;
    color: #b5b5b5;
    font-size: .72rem;
    font-weight: 900;
}

.bh-article-author {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-bottom: 52px;
}

.bh-article-author .bh-product-review__avatar {
    width: 78px;
    height: 78px;
}

.bh-article-comment-form {
    padding: 22px;
    background: #f1f1f1;
}

.bh-article-comment-form h2 {
    margin: 0 0 18px;
    font-size: 1.05rem;
    font-weight: 900;
}

.bh-article-comment-form p,
.bh-article-comment-form label {
    font-size: .85rem;
    font-weight: 700;
}

.bh-article-comment-form textarea,
.bh-article-comment-form input {
    width: 100%;
    border: 1px solid #d8d8d8;
    background: #fff;
}

.bh-article-comment-form textarea {
    height: 106px;
    margin: 8px 0 18px;
}

.bh-article-comment-form > div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}

.bh-article-comment-form input {
    height: 36px;
    margin-top: 8px;
}

.bh-article-comment-form button {
    height: 44px;
    margin-top: 20px;
    padding: 0 22px;
    border: 0;
    background: #bd0015;
    color: #fff;
    font-weight: 900;
}

@media (max-width: 767.98px) {
    .bh-article-detail {
        padding-top: 14px;
    }

    .bh-article-detail h1 {
        font-size: 1.25rem;
    }

    .bh-article-body figure img,
    .bh-article-body figcaption {
        width: 100%;
    }

    .bh-article-comment-form > div {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

/* ---------- Mobile header, off-canvas drawer, bottom nav bar ---------- */

.bh-mobile-topbar {
    display: none;
}

@media (max-width: 767.98px) {
    body {
        padding-bottom: 66px;
    }

    .bh-topbar > .container,
    .bh-mainnav {
        display: none !important;
    }

    .bh-mobile-topbar {
        display: block;
        background: var(--bh-red);
    }

    .bh-mobile-topbar__icons {
        display: flex;
        justify-content: center;
        gap: 34px;
        padding: 8px 0;
    }

    .bh-mobile-topbar__icon {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
        color: #fff;
        font-size: .68rem;
        font-weight: 700;
        text-decoration: none;
    }

    .bh-mobile-topbar__icon i {
        font-size: 1.1rem;
    }

    .bh-mobile-topbar__brand {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 16px 14px;
    }

    .bh-mobile-topbar__burger {
        flex: 0 0 auto;
        width: 34px;
        height: 34px;
        border: 0;
        background: transparent;
        color: #fff;
        font-size: 1.3rem;
    }

    .bh-mobile-topbar__logo {
        flex: 1 1 auto;
        display: flex;
        justify-content: center;
    }

    .bh-mobile-topbar__logo img {
        height: 34px;
        width: auto;
    }

    .bh-mobile-topbar__cart {
        position: relative;
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: 8px;
        background: #fff;
        color: var(--bh-red);
        font-size: 1.05rem;
    }

    .bh-mobile-topbar__cart-badge {
        position: absolute;
        top: -6px;
        right: -6px;
        font-size: .62rem;
    }

    /* Bottom nav bar (repurposes the desktop floating .bh-left-social widget) */

    .bh-left-social {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        top: auto;
        z-index: 1050;
        width: 100%;
        display: flex;
        justify-content: space-around;
        padding: 6px 0;
        border-radius: 0;
        box-shadow: 0 -3px 14px rgba(0, 0, 0, .16);
    }

    .bh-left-social__item {
        border: 0;
        background: transparent;
        flex: 1 1 0;
    }

    .bh-contact-fab {
        bottom: 76px;
    }

}

body.bh-drawer-open {
    overflow: hidden;
}

.bh-mobile-drawer {
    position: fixed;
    inset: 0;
    z-index: 1060;
    visibility: hidden;
}

.bh-mobile-drawer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .5);
    opacity: 0;
    transition: opacity .2s ease;
}

.bh-mobile-drawer__panel {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 82%;
    max-width: 320px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 4px 0 24px rgba(0, 0, 0, .2);
    transform: translateX(-100%);
    transition: transform .22s ease;
}

.bh-mobile-drawer.is-open {
    visibility: visible;
}

.bh-mobile-drawer.is-open .bh-mobile-drawer__backdrop {
    opacity: 1;
}

.bh-mobile-drawer.is-open .bh-mobile-drawer__panel {
    transform: translateX(0);
}

.bh-mobile-drawer__close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    color: #111;
    font-size: 1.3rem;
}

.bh-mobile-drawer__heading {
    margin: 0;
    padding: 14px 20px;
    background: var(--bh-dark);
    color: #fff;
    font-size: .92rem;
    font-weight: 900;
    letter-spacing: .02em;
}

.bh-mobile-drawer__links,
.bh-mobile-drawer__categories {
    display: flex;
    flex-direction: column;
}

.bh-mobile-drawer__links a,
.bh-mobile-drawer__categories a {
    padding: 14px 20px;
    border-bottom: 1px solid #eee;
    color: #111;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
}

.bh-mobile-drawer__links a.active {
    color: var(--bh-red);
}

.bh-mobile-drawer__section--categories {
    padding-bottom: 24px;
}

@media (min-width: 768px) {
    .bh-mobile-drawer {
        display: none;
    }
}

/* ---------- Header & hero: dark / gold restyle ---------- */

.bh-utility-bar {
    background: #0f0c0a;
    color: #cbb17a;
    font-size: .78rem;
    padding: 7px 0;
}

.bh-utility-bar__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #cbb17a;
    text-decoration: none;
    font-weight: 600;
}

.bh-utility-bar__item:hover {
    color: #e9d6a8;
}

.bh-utility-bar__item i {
    font-size: .8rem;
}

.bh-topbar {
    background: linear-gradient(180deg, #1b1510, #120e0a) !important;
}

.bh-icon-link,
.bh-icon-link__icon {
    color: #f1e6cf;
}

.bh-icon-link:hover {
    color: #cda86a;
}

.bh-mainnav {
    background: #14100c !important;
    border-top: 1px solid rgba(205, 168, 106, .25);
}

.bh-catmenu,
.bh-catmenu__toggle {
    background: #1f1811 !important;
}

.bh-catmenu__toggle {
    color: #e9d6a8;
    border-right: 1px solid rgba(205, 168, 106, .25);
}

.bh-catmenu__toggle:hover,
.bh-catmenu__toggle:focus {
    background: #2a2116 !important;
    color: #fff;
}

.bh-catmenu__burger {
    color: #cda86a;
}

.bh-mainnav__links a {
    color: #e7e1d6;
}

.bh-mainnav__links a:hover,
.bh-mainnav__links a.active {
    color: #cda86a;
}

.bh-hero-banner {
    box-shadow: 0 0 0 1px rgba(205, 168, 106, .35), 0 10px 26px rgba(0, 0, 0, .28);
}

.bh-hero-banner__nav {
    background: rgba(20, 16, 12, .55);
    color: #e9d6a8;
}

.bh-hero-banner__nav:hover {
    background: rgba(20, 16, 12, .8);
    color: #cda86a;
}

.bh-feature-icons {
    width: 100%;
    margin: 20px 0 0;
    background: linear-gradient(180deg, #201810, #16110c);
    border: 1px solid rgba(205, 168, 106, .3);
    border-radius: 12px;
    box-shadow: none;
}

.bh-feature-icons__item {
    color: #f1e6cf;
    border-right: 1px solid rgba(205, 168, 106, .2);
}

.bh-feature-icons__item:last-child {
    border-right: 0;
}

/* ---------- Industry solutions: cream / gold framed section ---------- */

.bh-industry-solutions {
    background: #f9f0dd;
    border: 1px solid #d8bd85;
    border-radius: 16px;
    padding: 26px 26px 30px;
}

.bh-industry-solutions__title {
    color: #241a10;
}

.bh-industry-solution-card {
    border: 1px solid #e7d5ac;
    background: #fffdf8;
}

.bh-industry-solution-card__image {
    border: 1px solid #e7d5ac;
}

.bh-industry-solution-card__btn {
    border-color: #8a1f1f;
    color: #8a1f1f;
}

.bh-industry-solution-card__btn:hover {
    background: #8a1f1f;
    border-color: #8a1f1f;
    color: #fff;
}

@media (max-width: 767.98px) {
    .bh-industry-solutions {
        padding: 18px 16px 22px;
    }

    .bh-feature-icons__item {
        border-right: 0;
        border-bottom: 1px solid rgba(205, 168, 106, .2);
    }

    .bh-feature-icons__item:nth-last-child(-n+2) {
        border-bottom: 0;
    }
}

/* ---------- Single-row header (logo + category + links + search + cart) ---------- */

.bh-mainnav {
    position: relative;
}

.bh-mainnav .container {
    min-height: 76px;
    padding-top: 10px;
    padding-bottom: 10px;
    gap: 16px;
    flex-wrap: nowrap;
}

.bh-mainnav .bh-logo {
    flex-shrink: 0;
    margin-right: 4px;
}

.bh-mainnav .bh-logo__img {
    width: 118px;
}

.bh-mainnav .bh-catmenu__toggle {
    width: auto;
    padding: 0 18px;
    font-size: .82rem;
    white-space: nowrap;
}

.bh-mainnav__links {
    margin-left: 0 !important;
    gap: 1.35rem;
    flex-shrink: 1;
    min-width: 0;
}

.bh-mainnav__links a {
    font-size: .78rem;
}

.bh-mainnav__actions {
    align-items: center;
    gap: 18px;
    margin-left: auto;
    flex-shrink: 0;
}

.bh-nav-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(205, 168, 106, .12);
    color: #f1e6cf;
    font-size: 1.05rem;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease;
}

.bh-nav-icon:hover {
    background: rgba(205, 168, 106, .25);
    color: #cda86a;
}

.bh-nav-icon__badge {
    position: absolute;
    top: -4px;
    right: -4px;
    font-size: .62rem;
}

.bh-nav-search {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    max-height: 0;
    overflow: hidden;
    border-top: 1px solid rgba(205, 168, 106, .2);
    box-shadow: 0 12px 24px rgba(0, 0, 0, .25);
    transition: max-height .22s ease;
}

.bh-nav-search.is-open {
    max-height: 96px;
}

.bh-nav-search .container {
    padding-top: 14px;
    padding-bottom: 14px;
}

.bh-nav-search .bh-search-form {
    max-width: 560px;
    margin: 0 auto;
}

.bh-nav-search .input-group {
    height: 46px;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
}

.bh-nav-search .form-control {
    border: 0;
    padding-left: 18px;
}

.bh-nav-search .btn {
    border: 0;
    background: #cda86a;
    color: #171310;
    padding-inline: 18px;
}

@media (max-width: 1199.98px) {
    .bh-mainnav .container {
        flex-wrap: wrap;
        row-gap: 10px;
    }

    .bh-mainnav__links {
        order: 3;
        flex-basis: 100%;
    }
}

/* ---------- Hero banner: dark card, text overlay + photo panel ---------- */

.bh-hero-banner {
    background: linear-gradient(120deg, #1d160f, #100c08);
}

.bh-hero-banner__slide {
    display: flex;
    align-items: stretch;
    height: 100%;
    background: none;
}

.bh-hero-banner__content {
    flex: 1 1 46%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    padding: 36px 32px;
    color: #f1e6cf;
    text-align: left;
    text-shadow: none;
}

.bh-hero-banner__badge {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    padding: 7px 16px;
    border: 1px solid rgba(205, 168, 106, .5);
    border-radius: 999px;
    background: rgba(205, 168, 106, .1);
    color: #cda86a;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.bh-hero-banner__heading {
    margin: 0;
    font-size: clamp(1.6rem, 2.6vw, 2.5rem);
    font-weight: 900;
    line-height: 1.18;
    color: #fff;
}

.bh-hero-banner__heading br + br {
    display: none;
}

.bh-hero-banner__desc {
    margin: 0;
    max-width: 40ch;
    color: #cfc4ae;
    font-size: .92rem;
    line-height: 1.55;
}

.bh-hero-banner__cta {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
    padding: 12px 22px;
    border-radius: 999px;
    background: linear-gradient(120deg, #e3c384, #cda86a);
    color: #171310;
    font-size: .85rem;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: .02em;
}

.bh-hero-banner__cta:hover {
    background: linear-gradient(120deg, #edd39a, #d9b578);
    color: #171310;
}

.bh-hero-banner__features {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(205, 168, 106, .2);
}

.bh-hero-banner__feature {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #cfc4ae;
    font-size: .78rem;
    font-weight: 600;
}

.bh-hero-banner__feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    color: #cda86a;
    font-size: 1.05rem;
}

.bh-hero-banner__feature-icon img {
    width: 1.3em;
    height: 1.3em;
    object-fit: contain;
}

.bh-hero-banner__photo {
    flex: 1 1 54%;
    min-width: 0;
    background-size: cover;
    background-position: center;
}

.bh-hero-banner__dots {
    position: absolute;
    left: 32px;
    bottom: 16px;
    z-index: 2;
    display: flex;
    gap: 8px;
}

.bh-hero-banner__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(241, 230, 207, .35);
    transition: background-color .18s ease, width .18s ease;
}

.bh-hero-banner__dot.is-active {
    width: 20px;
    border-radius: 4px;
    background: #cda86a;
}

@media (max-width: 991.98px) {
    .bh-hero-banner {
        min-height: 0;
    }

    .bh-hero-banner__slide {
        flex-direction: column;
    }

    .bh-hero-banner__photo {
        flex-basis: 220px;
        order: -1;
    }

    .bh-hero-banner__content {
        padding: 26px 22px;
    }
}

@media (max-width: 575.98px) {
    .bh-hero-banner__features {
        gap: 14px 20px;
    }
}

/* ---------- Side promo cards: dark theme ---------- */

.bh-side-card,
.bh-side-card--project,
.bh-side-card--news {
    background: linear-gradient(135deg, #221a12, #171310);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .3);
}

.bh-side-card__title {
    color: #cda86a;
    text-shadow: none;
}

.bh-side-card--news .bh-side-card__title {
    color: #f1e6cf;
}

/* ---------- Hero slide: legacy full-image mode (pre-designed ad banner) ---------- */

.bh-hero-banner__slide--full {
    display: block;
    background-size: cover;
    background-position: center;
}

.bh-feature-icons {
    width: 100%;
    margin: 20px 0 0;
    background: linear-gradient(180deg, #201810, #16110c);
    border: 1px solid rgba(205, 168, 106, .3);
    border-radius: 12px;
    box-shadow: none;
}

.bh-feature-icons__item {
    color: #f1e6cf;
    border-right: 1px solid rgba(205, 168, 106, .2);
}

.bh-feature-icons__item:last-child {
    border-right: 0;
}

@media (max-width: 767.98px) {
    .bh-feature-icons__item {
        border-right: 0;
        border-bottom: 1px solid rgba(205, 168, 106, .2);
    }

    .bh-feature-icons__item:nth-last-child(-n+2) {
        border-bottom: 0;
    }
}

/* ---------- Homepage composition: match the dark / gold reference ---------- */

:root {
    --bh-gold: #d4a83f;
    --bh-gold-light: #f1d78a;
    --bh-black: #090a09;
    --bh-cream: #f6e8c6;
}

body {
    background: #f5f5f5;
    overflow-x: hidden;
}

main > .container {
    max-width: 1320px;
}

.site-index {
    color: var(--bh-cream);
}

.bh-home-dark-area {
    position: relative;
    z-index: 0;
    padding-bottom: 1px;
}

.bh-home-dark-area::before {
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    content: '';
    transform: translateX(-50%);
    background: var(--bh-black);
}

.bh-home-top {
    position: relative;
    padding: 0;
    margin-bottom: 18px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #0b0c0b;
    box-shadow: none;
}

.bh-home-top__grid {
    display: block;
    padding: 0;
}

.bh-hero-banner,
.bh-side-card,
.bh-feature-icons,
.bh-industry-solutions {
    border-color: rgba(212, 168, 63, .75);
}

.bh-hero-banner {
    width: 100%;
    min-height: 400px;
    margin-top: 0;
    border: 0;
    border-radius: 0;
    background: #0b0c0b;
    box-shadow: none;
}

.bh-main-stage {
    min-width: 0;
}

.bh-hero-banner__track,
.bh-hero-banner__slide--full {
    border-radius: 0;
}

.bh-hero-banner__slide--full {
    background-position: center;
}

.bh-side-promos {
    position: absolute;
    z-index: 5;
    top: 0;
    right: 12px;
    bottom: 0;
    width: 250px;
    margin-top: 0;
    padding: 10px 0;
    box-sizing: border-box;
    gap: 10px;
    grid-template-rows: repeat(3, minmax(0, 1fr));
}

.bh-side-card {
    height: auto;
    min-height: 0;
    border: 2px solid rgba(212, 168, 63, .7);
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .32);
}

.bh-side-card__image {
    object-position: center;
}

.bh-feature-icons {
    display: none;
}

.bh-feature-icons__item {
    padding: 12px 10px 10px;
    color: #f7edd8;
    font-size: .73rem;
    line-height: 1.25;
    text-align: center;
}

.bh-feature-icons__icon {
    display: flex;
    margin-bottom: 5px;
    color: var(--bh-gold);
    font-size: 1.25rem;
}

.bh-industry-solutions {
    margin-top: 0;
    margin-bottom: 18px !important;
    padding: 14px 20px 10px;
    border: 2px solid var(--bh-gold);
    border-radius: 16px;
    background: linear-gradient(180deg, #19140d, #0d0d0c);
    box-shadow: 0 0 20px rgba(212, 168, 63, .14);
}

.bh-industry-solutions__head {
    position: relative;
    justify-content: center;
    margin-bottom: 12px;
}

.bh-industry-solutions__title {
    text-align: center;
    color: var(--bh-gold-light);
    font-size: clamp(1.2rem, 2vw, 1.75rem);
    letter-spacing: .02em;
    text-shadow: 0 1px 8px rgba(212, 168, 63, .2);
}

.bh-industry-solutions__all {
    position: absolute;
    right: 0;
    padding: 8px 13px;
    border: 1px solid rgba(212, 168, 63, .75);
    border-radius: 7px;
    color: var(--bh-gold-light);
    background: rgba(212, 168, 63, .08);
    font-size: .72rem;
}

.bh-industry-solutions__all:hover {
    color: #1a1308;
    background: var(--bh-gold-light);
}

.bh-industry-solutions__grid {
    gap: 14px;
}

.bh-industry-solution-card {
    min-width: 0;
    padding: 0 0 12px;
    overflow: hidden;
    border: 1px solid rgba(212, 168, 63, .55);
    border-radius: 11px;
    background: linear-gradient(180deg, #fff6df 0%, #ead5a9 100%);
}

.bh-industry-solution-card__image {
    margin-bottom: 10px;
    border: 0;
    border-radius: 0;
    aspect-ratio: 1.55 / 1;
}

.bh-industry-solution-card__title {
    margin: 0 8px 6px;
    color: #2b1d0e;
    font-size: .84rem;
}

.bh-industry-solution-card__desc {
    min-height: 42px;
    margin: 0 10px 8px;
    color: #4b3b27;
    font-size: .72rem;
    line-height: 1.35;
}

.bh-industry-solution-card__btn {
    padding: 0;
    border: 0;
    color: #633a1c;
    font-size: .69rem;
}

.bh-industry-solution-card__btn:hover {
    background: transparent;
    color: #2b1d0e;
}

@media (max-width: 1199.98px) {
    main > .container {
        max-width: 100%;
    }

    .bh-side-promos {
        right: 10px;
        width: 220px;
    }
}

@media (max-width: 767.98px) {
    .bh-home-top {
        border-radius: 0;
    }

    .bh-home-top__grid {
        display: block;
    }

    .bh-industry-solutions__head {
        justify-content: flex-start;
    }

    .bh-industry-solutions__all {
        position: static;
    }

    .bh-hero-banner {
        min-height: 230px;
    }

    .bh-side-promos {
        position: static;
        bottom: auto;
        width: 100%;
        right: auto;
        margin-top: 10px;
        padding: 6px 0;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: none;
    }

    .bh-side-card {
        height: 88px;
    }

    .bh-industry-solutions {
        padding-inline: 12px;
    }
}

/* Final cascade guard for the light homepage treatment. */
html, body { background: #f7f7f5; }
/* Header is in normal flow; padding here creates the blank strip above it. */
body { padding-top: 0; color: #222; }
.bh-utility-bar { background: #fff; color: #6d5a42; border-bottom: 1px solid #e7e4df; }
.bh-utility-bar__item, .bh-utility-bar__item:hover { color: #6d5a42; }
.bh-mainnav { height: 50px; background: #fff !important; border: 0 !important; box-shadow: none; }
.bh-mainnav .container { height: 50px; min-height: 0 !important; padding-top: 0; padding-bottom: 0; gap: 12px; }
.bh-logo { color: #9b642b; }
.bh-logo__img { width: 104px; }
.bh-catmenu__toggle { width: auto; height: 100%; padding: 0 11px; border-radius: 0; background: linear-gradient(180deg,#6b4525,#4a2d18) !important; color: #fff; font-size: .76rem; line-height: 1; }
.bh-catmenu__toggle:hover, .bh-catmenu__toggle:focus { background: #84582e !important; }
.bh-mainnav__links { gap: 1.75rem; }
.bh-mainnav__links a { color: #171717; font-size: .72rem; padding: .2rem 0; }
.bh-mainnav__links a:hover, .bh-mainnav__links a.active { color: #9b642b; }
.bh-nav-icon { width: 32px; height: 32px; background: transparent; color: #222; }
main > .container, main > .container-fluid { padding-top: 10px; }
.site-index { color: #222; }
.bh-home-dark-area::before { background: transparent; }
.bh-home-top { background: transparent; overflow: visible; margin-bottom: 14px; }
.bh-home-top__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 21.5%); gap: 12px; align-items: stretch; }
.bh-main-stage { grid-column: 1; }
.bh-hero-banner { min-height: 300px; border: 0; border-radius: 0; background: #fff; box-shadow: none; overflow: hidden; }
.bh-hero-banner__content { flex-basis: 43%; padding: 24px 28px; color: #222; gap: 9px; }
.bh-hero-banner__badge { padding: 5px 11px; border: 0; border-radius: 5px; background: #f2e3ca; color: #2f2419; }
.bh-hero-banner__heading { color: #9b642b; font-size: clamp(1.8rem,3.2vw,3rem); }
.bh-hero-banner__desc { color: #403b35; font-size: .78rem; }
.bh-hero-banner__cta { padding: 9px 15px; border-radius: 6px; background: #9b642b; color: #fff; }
.bh-hero-banner__cta:hover { background: #70431d; color: #fff; }
.bh-hero-banner__dots { left: 44%; bottom: 10px; }
.bh-hero-banner__dot { background: #c8c2b9; }
.bh-hero-banner__dot.is-active { background: #9b642b; }
.bh-side-promos { position: static; grid-column: 2; grid-row: 1; width: auto; height: 300px; box-sizing: border-box; padding: 8px 0; gap: 8px; grid-template-rows: repeat(3, minmax(0, 1fr)); }
.bh-side-card, .bh-side-card--project, .bh-side-card--news { border: 1px solid #e4d4be; border-radius: 9px; background: #fff; box-shadow: 0 3px 10px rgba(70,44,17,.12); }
.bh-side-card { height: auto; min-height: 0; }
.bh-side-card__title, .bh-side-card--news .bh-side-card__title { color: #2b2118; }
.bh-industry-solutions { margin-bottom: 14px !important; padding: 11px 14px 13px; border: 2px solid #e5c27b; border-radius: 15px; background: linear-gradient(180deg,#fffdf8,#fff7e9); box-shadow: 0 5px 18px rgba(138,91,35,.1); }
.bh-industry-solutions__title { color: #70431d; text-shadow: none; }
.bh-industry-solutions__all { border-color: #dac39d; background: #fffaf0; color: #4e3721; }
.bh-industry-solution-card { border-color: #ead7b5; border-radius: 9px; background: #fffaf1; }
.bh-industry-solution-card__title { color: #241a11; }
.bh-industry-solution-card__desc { color: #5a4936; }
.bh-industry-solution-card__btn { color: #70431d; }
.bh-hot-products, .bh-showcase-module, .bh-solution-mobile-module, .bh-category-products, .bh-content-section { color: #222; }

/* ---------- Homepage lower showcase ---------- */

.bh-home-brand-showcase,
.bh-home-content-section {
    max-width: 1320px;
    margin: 0 auto 28px;
    padding: 0 18px;
}

.bh-home-lower__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.bh-home-lower__head h2 {
    margin: 0;
    color: #181818;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: .25px;
}

.bh-home-lower__head a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #272727;
    font-size: .78rem;
    text-decoration: none;
    white-space: nowrap;
}

.bh-home-lower__head a:hover { color: var(--bh-red); }

.bh-home-brand-showcase__body { position: relative; }

.bh-home-brand-showcase__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 90px) / 10);
    gap: 1px;
    overflow-x: auto;
    border: 1px solid #dedbd5;
    background: #dedbd5;
    scrollbar-width: none;
    scroll-behavior: smooth;
}

.bh-home-brand-showcase__track::-webkit-scrollbar { display: none; }

.bh-home-brand {
    min-width: 0;
    height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 9px 12px;
    background: #fff;
}

.bh-home-brand img {
    max-width: 100%;
    max-height: 48px;
    object-fit: contain;
    filter: grayscale(1) contrast(1.15);
    transition: filter .18s ease, transform .18s ease;
}

.bh-home-brand:hover img { filter: none; transform: scale(1.04); }

.bh-home-brand-showcase__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    transform: translateY(-50%);
    background: #b98932;
    color: #fff;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .22);
}

.bh-home-brand-showcase__nav--prev { left: 5px; }
.bh-home-brand-showcase__nav--next { right: 5px; }

.bh-home-content-section { margin-top: 8px; }

.bh-home-content-section__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.bh-home-content-section--news .bh-home-content-section__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.bh-home-content-card {
    position: relative;
    min-width: 0;
    height: 128px;
    display: block;
    overflow: hidden;
    border-radius: 5px;
    color: #fff;
    text-decoration: none;
    background: #222;
}

.bh-home-content-section--news .bh-home-content-card { height: 132px; }

.bh-home-content-card__image,
.bh-home-content-card__image img,
.bh-home-content-card__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.bh-home-content-card__image img { display: block; object-fit: cover; transition: transform .25s ease; }
.bh-home-content-card__overlay { background: linear-gradient(180deg, rgba(0,0,0,.02) 22%, rgba(0,0,0,.76) 100%); }
.bh-home-content-card:hover .bh-home-content-card__image img { transform: scale(1.06); }

.bh-home-content-card__text {
    position: absolute;
    inset: auto 12px 10px;
    display: block;
}

.bh-home-content-card__text strong {
    display: -webkit-box;
    overflow: hidden;
    color: #fff;
    font-size: .9rem;
    line-height: 1.18;
    font-weight: 800;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.bh-home-content-card__text small { display: block; margin-top: 5px; color: #eee; font-size: .67rem; }

.bh-footer { background: #241a0d; }
.bh-footer-bottom { background: #171008; }

/* Compact footer matching the homepage reference layout. */
.bh-footer--compact {
    margin-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    background: #24180b;
    color: #f7f0e3;
}

.bh-footer--compact .bh-footer__inner {
    min-height: 84px;
    display: grid;
    width: calc(100% - 40px);
    max-width: 1540px;
    grid-template-columns: 1.3fr repeat(5, minmax(170px, 1fr));
    grid-template-rows: auto auto;
    align-items: center;
    gap: 14px;
    padding-top: 12px;
    padding-bottom: 12px;
}

@media (min-width: 1200px) {
    .bh-footer--compact .bh-footer__quick-item strong { white-space: nowrap; }
}

.bh-footer__brand {
    min-width: 0;
    padding-right: 8px;
}

.bh-footer__brand img {
    width: 132px;
    height: 42px;
    display: block;
    object-fit: contain;
    object-position: left center;
}

.bh-footer__brand p {
    margin: 3px 0 0;
    color: #d8cbb7;
    font-size: .8rem;
    line-height: 1.35;
    white-space: nowrap;
}

.bh-footer__quick-item {
    min-width: 0;
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-left: 12px;
    border-left: 1px solid rgba(255, 255, 255, .18);
}

.bh-footer__quick-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #b68c43;
    border-radius: 50%;
    color: #d4a85b;
    font-size: .65rem;
}

.bh-footer__quick-item > span:last-child { min-width: 0; display: block; }

.bh-footer__quick-item strong {
    display: block;
    margin-bottom: 3px;
    color: #e3b761;
    font-size: .9rem;
    line-height: 1.2;
    font-weight: 800;
    white-space: normal;
}

.bh-footer__quick-item small,
.bh-footer__quick-item b {
    display: block;
    overflow: hidden;
    color: #f0e8dc;
    font-size: .8rem;
    line-height: 1.4;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bh-footer__quick-item b { color: #fff; font-weight: 800; }

/* Keep the full address visible by allowing it to wrap onto multiple lines. */
.bh-footer--compact .bh-footer__quick-item:nth-child(2) small,
.bh-footer--compact .bh-footer__quick-item:nth-child(2) b {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.bh-footer--compact .bh-footer__connect {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: end;
    padding-left: 7px;
}

.bh-footer--compact .bh-footer__brand { grid-column: 1; grid-row: 2; }
.bh-footer--compact .bh-footer__quick-item { grid-row: 2; }
.bh-footer--compact .bh-footer-social { gap: 9px; padding: 0; }

.bh-footer--compact .bh-footer-social a {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #f6f2eb;
    color: #24180b;
    font-size: .75rem;
}

.bh-footer--compact .bh-footer-social a:hover { background: #d4a85b; color: #24180b; }

.bh-footer--compact .bh-footer-social .bh-footer__top {
    margin-left: 4px;
    background: #d4a13e;
    color: #fff;
}

@media (max-width: 1199.98px) {
    .bh-footer--compact .bh-footer__inner {
        grid-template-columns: 1.4fr repeat(3, minmax(135px, 1fr)) auto;
    }
    .bh-footer--compact .bh-footer__quick-item:nth-child(5),
    .bh-footer--compact .bh-footer__quick-item:nth-child(6) { display: none; }
}

@media (max-width: 767.98px) {
    .bh-footer--compact .bh-footer__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 10px;
        padding-top: 18px;
        padding-bottom: 18px;
    }
    .bh-footer--compact .bh-footer__brand,
    .bh-footer--compact .bh-footer__quick-item { grid-row: auto; }
    .bh-footer__brand { grid-column: 1 / -1; }
    .bh-footer--compact .bh-footer__quick-item:nth-child(5),
    .bh-footer--compact .bh-footer__quick-item:nth-child(6) { display: flex; }
    .bh-footer__quick-item { padding-left: 8px; }
    .bh-footer--compact .bh-footer__connect { grid-column: 1 / -1; justify-self: end; }
}

@media (max-width: 991.98px) {
    .bh-home-brand-showcase__track { grid-auto-columns: calc((100% - 24px) / 4); }
    .bh-home-content-section__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bh-home-content-section--projects .bh-home-content-card:nth-child(n+4) { display: none; }
}

@media (max-width: 575.98px) {
    .bh-home-brand-showcase, .bh-home-content-section { padding-inline: 12px; }
    .bh-home-brand-showcase__track { grid-auto-columns: calc((100% - 8px) / 2); }
    .bh-home-content-section__grid, .bh-home-content-section--news .bh-home-content-section__grid { grid-template-columns: 1fr; }
    .bh-home-content-card, .bh-home-content-section--news .bh-home-content-card { height: 164px; }
    .bh-home-content-section--projects .bh-home-content-card:nth-child(n+4) { display: block; }
}

/* Hero banners use the supplied artwork as the only visible content. */
.bh-hero-banner__slide:not(.bh-hero-banner__slide--full) {
    display: block;
    color: inherit;
    text-decoration: none;
}

.bh-hero-banner__slide:not(.bh-hero-banner__slide--full) .bh-hero-banner__content {
    display: none;
}

.bh-hero-banner__slide:not(.bh-hero-banner__slide--full) .bh-hero-banner__photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.bh-hero-banner__slide[href] { cursor: pointer; }

.bh-hero-banner__dots {
    left: 50%;
    transform: translateX(-50%);
}

.bh-row-card, .bh-hot-card, .bh-solution-card { background: #fff; border-color: #e7e4df; }

@media (max-width: 1199.98px) {
    .bh-mainnav .container { flex-wrap: nowrap; gap: 10px; }
    .bh-mainnav__links { gap: 1.1rem; }
    .bh-mainnav__links { order: initial; flex-basis: auto; }
    .bh-home-top__grid { grid-template-columns: minmax(0, 1fr) minmax(165px, 21%); gap: 10px; }
}

@media (max-width: 767.98px) {
    body { padding-top: 0; }
    .bh-mainnav { display: none; }
    .bh-mobile-topbar { background: #fff; border-bottom: 1px solid #e7e4df; }
    .bh-hero-banner { min-height: 230px; }
    .bh-hero-banner__content { padding: 18px 16px; }
    .bh-home-top__grid { display: block; }
    .bh-main-stage { margin-bottom: 10px; }
    .bh-side-promos { position: static; width: 100%; height: auto; margin-top: 10px; }
    /* The 3 promo images are wide (3:1) with text at the left edge, so three
       columns made them ~38px tall. Show them as a swipeable row instead,
       each ~85% of the screen wide and uncropped. */
    .bh-side-promos {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        padding: 6px 0 8px;
    }
    .bh-side-promos::-webkit-scrollbar { display: none; }
    .bh-side-card {
        flex: 0 0 85%;
        height: auto;
        aspect-ratio: 3 / 1;
        scroll-snap-align: start;
    }
}

/* Footer matching the supplied reference layout. */
.bh-footer--compact { display: none !important; }
.bh-reference-footer { color: #fff; background: #24170b; }
.bh-reference-footer__features { padding: 8px 0; background: #faf9f2; color: #352617; border-top: 1px solid #e6e0d3;}
.bh-reference-footer__features { display: block !important; }
.bh-reference-footer__features .bh-reference-footer__feature:not(.bh-reference-footer__feature--managed) { display: flex; }
.bh-reference-footer__features .container { display: grid; grid-template-columns: repeat(5, 1fr); }
.bh-reference-footer__feature { min-height: 72px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 8px 12px; border-right: 1px solid #e6e0d3; text-align: center; }

/* ---------- Implemented project detail ---------- */
.bh-project-detail { max-width: 1320px; margin: 0 auto 48px; color: #24201c; font-size: 14px; }
.bh-project-detail__banner { min-height: 190px; display: flex; align-items: center; justify-content: space-between; padding: 26px 64px; background: linear-gradient(90deg, rgba(15,10,7,.88), rgba(15,10,7,.28)), var(--project-image) center/cover; color: #fff; }
.bh-project-detail__banner .bh-project-detail__banner-title { margin: 0 0 5px; font-size: 2rem; line-height: 1.2; font-weight: 900; }
.bh-project-detail__banner p { margin: 0; font-size: 1rem; line-height: 1.45; }
.bh-project-detail__banner blockquote { margin: 0; color: #f2dbc1; text-align: center; font-family: cursive; font-size: 1.35rem; font-style: italic; line-height: 1.25; }
.bh-project-detail__breadcrumb { display: flex; align-items: center; gap: 8px; padding: 13px 0; color: #777; font-size: .72rem; }
.bh-project-detail__breadcrumb a { color: #666; text-decoration: none; }
.bh-project-detail__breadcrumb strong { overflow: hidden; color: #333; text-overflow: ellipsis; white-space: nowrap; }
.bh-project-detail__layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, .92fr); gap: 24px; align-items: start; }
.bh-project-detail__category { display: inline-flex; padding: 4px 8px; border-radius: 2px; background: #f4d28f; color: #69400f; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.bh-project-detail__main > h1 { margin: 8px 0 7px; font-size: 1.75rem; line-height: 1.2; font-weight: 800; }
.bh-project-detail__meta { display: flex; flex-wrap: wrap; gap: 18px; margin-bottom: 16px; color: #777; font-size: .75rem; }
.bh-project-detail__meta i { margin-right: 4px; color: #7a441e; }
.bh-project-gallery__main { position: relative; width: 100%; height: 520px; display: block; overflow: hidden; padding: 0; border: 0; border-radius: 7px; background: #eee; }
.bh-project-gallery__main img { width: 100%; height: 100%; display: block; object-fit: cover; }
.bh-project-gallery__main > span { position: absolute; right: 14px; bottom: 14px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: rgba(47,30,18,.72); color: #fff; }
.bh-project-gallery__thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
.bh-project-gallery__thumbs button { height: 92px; overflow: hidden; padding: 0; border: 2px solid transparent; border-radius: 5px; background: #eee; }
.bh-project-gallery__thumbs button.is-active { border-color: #80502b; }
.bh-project-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.bh-project-gallery__more { min-height: 92px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 5px; background: #2a211b; color: #fff; font-size: 1.5rem; }
.bh-project-gallery__more small { font-size: .66rem; }
.bh-project-copy { padding-top: 16px; }
.bh-project-copy h3 { margin: 13px 0 5px; font-size: 1.1rem; font-weight: 800; }
.bh-project-copy p, .bh-project-copy__content { margin-bottom: 8px; color: #555; font-size: .82rem; line-height: 1.65; }
.bh-project-copy__content img { max-width: 100%; height: auto; }
.bh-project-quote, .bh-project-equipment > blockquote { margin: 14px 0 0; padding: 15px 18px; border-left: 4px solid #8b4d1d; background: #fbf4e9; color: #4f4135; font-size: .8rem; font-style: italic; }
.bh-project-quote i, .bh-project-equipment > blockquote i { margin-right: 10px; color: #9b5c27; font-size: 1.35rem; }
.bh-project-equipment { position: sticky; top: 66px; max-height: calc(100vh - 82px); overflow-y: auto; scrollbar-width: thin; border: 1px solid #e3ddd5; border-radius: 8px; background: #fbfaf8; }
.bh-project-equipment > h2 { display: flex; gap: 12px; align-items: center; margin: 0; padding: 16px 18px; border-bottom: 1px solid #e9e4dc; font-size: 1.15rem; }
.bh-project-equipment > h2 > i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 7px; background: #79451e; color: #fff; }
.bh-project-equipment > h2 span { display: flex; flex-direction: column; gap: 3px; }
.bh-project-equipment > h2 small { color: #888; font-size: .72rem; font-weight: 400; }
.bh-project-equipment__list { padding: 0 14px; }
.bh-project-equipment__item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid #e7e1da; color: inherit; text-decoration: none; }
a.bh-project-equipment__item:hover strong { color: #80502b; }
.bh-project-equipment__image { width: 64px; height: 54px; display: grid; place-items: center; color: #6d482b; }
.bh-project-equipment__image img { max-width: 100%; max-height: 100%; object-fit: contain; }
.bh-project-equipment__item > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; }
.bh-project-equipment__item small { color: #75543a; font-size: .74rem; font-weight: 700; }
.bh-project-equipment__item strong { overflow: hidden; font-size: .92rem; text-overflow: ellipsis; white-space: nowrap; }
.bh-project-equipment__item em { overflow: hidden; color: #89837e; font-size: .76rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.bh-project-equipment__item b { color: #a95e28; font-size: .82rem; font-weight: 600; white-space: nowrap; }
.bh-project-equipment__empty { margin: 0; padding: 24px; color: #888; text-align: center; }
.bh-project-equipment > blockquote { margin: 14px; border-left: 0; }
.bh-project-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; padding: 14px 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee; font-size: .68rem; }
.bh-project-share a, .bh-project-share button { width: 28px; height: 28px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #4067a9; color: #fff; text-decoration: none; font-size: .62rem; }
.bh-project-share button { background: #777; }
.bh-project-share span { margin-left: auto; }
.bh-project-share em { padding: 5px 10px; border: 1px solid #ddd; border-radius: 999px; color: #777; font-style: normal; }
.bh-project-products { margin-top: 20px; padding-top: 16px; border-top: 1px solid #ddd; }
.bh-project-products__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.bh-project-products__head h2 { margin: 0; font-size: 1.15rem; }
.bh-project-products__head p { margin: 3px 0 0; color: #777; font-size: .68rem; }
.bh-project-products__head > a { color: #80502b; text-decoration: none; font-size: .68rem; font-weight: 700; }
.bh-project-products__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 991.98px) { .bh-project-detail__layout { grid-template-columns: 1fr; } .bh-project-equipment { position: static; max-height: none; overflow: hidden; } }
@media (max-width: 767.98px) { .bh-project-detail__banner { min-height: 145px; padding: 22px 18px; } .bh-project-detail__banner .bh-project-detail__banner-title { font-size: 1.35rem; } .bh-project-detail__banner blockquote { display: none; } .bh-project-detail__breadcrumb { padding-inline: 10px; } .bh-project-detail__layout, .bh-project-products { margin-inline: 10px; } .bh-project-detail__main > h1 { font-size: 1.35rem; } .bh-project-gallery__main { height: 310px; } .bh-project-gallery__thumbs button, .bh-project-gallery__more { min-height: 62px; height: 62px; } .bh-project-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bh-project-share span { margin-left: 0; } }

/* Contact page */
.bh-contact-page { margin: -16px -12px 0; color: #2d2118; background: #f8f7f4; }
.bh-contact-hero { padding: 28px 0 36px; background: #f2f1ed; }
.bh-contact-hero__inner, .bh-contact-layout { width: min(100% - 48px, 1170px); margin: 0 auto; }
.bh-contact-breadcrumb { display:flex; gap:8px; margin-bottom:10px; color:#777; font-size:11px; }
.bh-contact-breadcrumb a { color:#777; text-decoration:none; }.bh-contact-breadcrumb strong { color:#4d331f; }
.bh-contact-hero h1 { margin:0 0 9px; font-size:29px; line-height:1.15; font-weight:800; letter-spacing:-.03em; }
.bh-contact-hero p { max-width:630px; margin:0; color:#4e4a46; font-size:12px; line-height:1.5; }
.bh-contact-layout { display:grid; grid-template-columns: 278px minmax(0,1fr); gap:28px; padding:48px 0 64px; align-items:start; }
.bh-contact-card { border:1px solid #dedbd6; background:#fff; box-shadow:0 1px 1px rgba(42,31,20,.02); }
.bh-contact-info { padding:20px 19px 18px; }.bh-contact-brand { display:flex; align-items:center; gap:9px; padding-bottom:14px; border-bottom:1px solid #eeeae5; }
.bh-contact-brand__icon { display:grid; width:29px; height:29px; place-items:center; background:#f0ede6; color:#64431f; font-size:13px; }.bh-contact-brand small { display:block; color:#8a6a36; font-size:7px; font-weight:700; letter-spacing:.04em; }.bh-contact-brand strong { display:block; margin-top:2px; font-size:10px; }
.bh-contact-info__row { display:grid; grid-template-columns:15px 1fr; gap:8px; margin-top:14px; color:#4d4842; font-size:10px; line-height:1.4; }.bh-contact-info__row > i { padding-top:2px; color:#8e5b16; }.bh-contact-info__row strong { display:block; color:#3e352e; font-size:10px; font-weight:500; }.bh-contact-info__row a { color:inherit; text-decoration:none; }
.bh-contact-social { margin-top:18px; padding-top:14px; border-top:1px solid #eeeae5; }.bh-contact-social > small { color:#776b60; font-size:7px; font-weight:700; }.bh-contact-social > div { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; margin-top:8px; }.bh-contact-social a { display:block; padding:5px 2px; background:#f3f1ec; color:#4c3924; text-align:center; font-size:7px; line-height:1.2; text-decoration:none; }.bh-contact-social a:hover { background:#e9e1d5; }
.bh-contact-map-card { margin-top:14px; padding:13px 14px 14px; }.bh-contact-card__heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; font-size:11px; }.bh-contact-card__heading a { padding:4px 8px; background:#f0e7d8; color:#71501f; font-size:8px; text-decoration:none; }.bh-contact-map { position:relative; height:123px; overflow:hidden; background-color:#ded8ca; background-image:linear-gradient(22deg,transparent 38%,rgba(255,255,255,.85) 39%,rgba(255,255,255,.85) 43%,transparent 44%),linear-gradient(105deg,transparent 46%,rgba(190,185,170,.8) 47%,rgba(190,185,170,.8) 50%,transparent 51%),linear-gradient(160deg,transparent 61%,rgba(255,255,255,.75) 62%,rgba(255,255,255,.75) 66%,transparent 67%),repeating-linear-gradient(15deg,transparent 0 17px,rgba(184,178,164,.6) 18px 19px); }.bh-contact-map::before { content:''; position:absolute; inset:12px 26px; border:1px solid rgba(129,120,103,.35); transform:rotate(-12deg); }.bh-contact-map__pin { position:absolute; top:37px; left:50%; display:grid; width:29px; height:29px; transform:translateX(-50%); place-items:center; border:3px solid #fff; border-radius:50% 50% 50% 0; background:#8d5a1c; color:#fff; font-size:12px; box-shadow:0 2px 5px #777; }.bh-contact-map__label { position:absolute; top:70px; left:50%; padding:2px 5px; transform:translateX(-50%); background:#fff; color:#5a4a38; font-size:7px; white-space:nowrap; }.bh-contact-map__address { position:absolute; bottom:0; left:0; right:0; padding:5px 7px; background:rgba(50,36,24,.78); color:#fff; font-size:7px; line-height:1.3; }
.bh-contact-form-card { padding:26px 24px 23px; }.bh-contact-form-card__tag { display:inline-block; padding:4px 8px; border-radius:3px; background:#f1eee7; color:#5a432b; font-size:8px; font-weight:700; }.bh-contact-form-card h2 { margin:9px 0 3px; font-size:20px; line-height:1.2; }.bh-contact-form-card__intro { margin:0 0 20px; color:#655d56; font-size:10px; }.bh-contact-form__grid { display:grid; grid-template-columns:1fr 1fr; column-gap:12px; }.bh-contact-form .form-group { margin-bottom:12px; }.bh-contact-form__grid > .field:nth-child(5), .bh-contact-form__grid > .field:nth-child(6) { grid-column:1 / -1; }.bh-contact-form label, .bh-contact-captcha > label { display:block; margin-bottom:5px; color:#55483d; font-size:9px; font-weight:700; }.bh-contact-form label:after, .bh-contact-captcha label em { content:' *'; color:#8b421e; font-style:normal; }.bh-contact-form .form-control { min-height:31px; padding:6px 9px; border:1px solid #dcd5cc; border-radius:0; color:#4b443d; font-size:10px; box-shadow:none; }.bh-contact-form textarea.form-control { min-height:87px; resize:vertical; }.bh-contact-form .form-control::placeholder { color:#988f86; }.bh-contact-form .help-block { margin-top:3px; color:#a34c3d; font-size:9px; }.bh-contact-captcha { margin-top:1px; }.bh-contact-captcha .form-group { margin:0; }.bh-contact-captcha__inner { display:flex; align-items:center; gap:12px; }.bh-contact-captcha__image { width:80px; height:31px; overflow:hidden; border:1px solid #dcd5cc; background:#f1eee7; }.bh-contact-captcha__image img { width:100%; height:100%; object-fit:cover; }.bh-contact-captcha input { flex:1; height:31px; min-width:0; padding:6px 10px; border:1px solid #dcd5cc; font-size:10px; }.bh-contact-captcha > small { display:block; margin-top:5px; color:#8a8179; font-size:8px; }.bh-contact-form__actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:22px; }.bh-contact-submit { min-height:34px; padding:0 19px; border:0; background:#49311f; color:#fff; font-size:9px; font-weight:700; }.bh-contact-submit:hover { background:#6b4528; }.bh-contact-submit i { margin-left:7px; font-size:8px; }.bh-contact-form__actions > small { color:#6b625a; font-size:8px; }.bh-contact-form__actions > small i { color:#8a5b20; margin-right:4px; }
@media (max-width: 767.98px) { .bh-contact-page { margin-inline:-12px; }.bh-contact-hero { padding:22px 0 28px; }.bh-contact-hero__inner, .bh-contact-layout { width:calc(100% - 32px); }.bh-contact-hero h1 { font-size:23px; }.bh-contact-layout { grid-template-columns:1fr; gap:18px; padding:24px 0 38px; }.bh-contact-form-card { padding:20px 16px; }.bh-contact-form-card h2 { font-size:18px; }.bh-contact-form__grid { grid-template-columns:1fr; }.bh-contact-form__grid > .field:nth-child(5), .bh-contact-form__grid > .field:nth-child(6) { grid-column:auto; }.bh-contact-form__actions { align-items:flex-start; flex-direction:column; }.bh-contact-form__actions > small { order:2; }.bh-contact-info { padding:17px 15px; } }

/* Contact typography: keep the form comfortable to read on large screens. */
.bh-contact-breadcrumb { font-size:12px; }
.bh-contact-hero h1 { font-size:34px; }
.bh-contact-hero p { max-width:760px; font-size:14px; }
.bh-contact-brand small { font-size:9px; }
.bh-contact-brand strong { font-size:12px; }
.bh-contact-info__row { font-size:12px; line-height:1.5; }
.bh-contact-info__row strong { font-size:12px; }
.bh-contact-social > small { font-size:9px; }
.bh-contact-social a { font-size:9px; }
.bh-contact-card__heading { font-size:13px; }
.bh-contact-card__heading a { font-size:10px; }
.bh-contact-form-card__tag { font-size:10px; }
.bh-contact-form-card h2 { font-size:26px; }
.bh-contact-form-card__intro { font-size:13px; }
.bh-contact-form label, .bh-contact-captcha > label { font-size:11px; }
.bh-contact-form .form-control { min-height:40px; padding:8px 11px; font-size:13px; }
.bh-contact-form textarea.form-control { min-height:105px; }
.bh-contact-captcha__image { width:92px; height:40px; }
.bh-contact-captcha input { height:40px; padding:8px 11px; font-size:13px; }
.bh-contact-captcha > small { font-size:10px; }
.bh-contact-submit { min-height:42px; font-size:11px; }
.bh-contact-form__actions > small { font-size:10px; }
.bh-contact-form .help-block { font-size:11px; }
@media (max-width: 767.98px) { .bh-contact-hero h1 { font-size:26px; }.bh-contact-hero p { font-size:13px; }.bh-contact-form-card h2 { font-size:22px; }.bh-contact-form-card__intro { font-size:12px; } }

/* Final contact type scale requested by the design: headings 14px, descriptions 13px. */
.bh-contact-page .bh-contact-brand strong,
.bh-contact-page .bh-contact-info__row strong,
.bh-contact-page .bh-contact-card__heading,
.bh-contact-page .bh-contact-form label,
.bh-contact-page .bh-contact-captcha > label { font-size:14px; }
.bh-contact-page .bh-contact-brand small,
.bh-contact-page .bh-contact-info__row,
.bh-contact-page .bh-contact-social > small,
.bh-contact-page .bh-contact-social a,
.bh-contact-page .bh-contact-card__heading a,
.bh-contact-page .bh-contact-form-card__intro,
.bh-contact-page .bh-contact-captcha > small,
.bh-contact-page .bh-contact-form__actions > small,
.bh-contact-page .bh-contact-form .help-block { font-size:13px; }
.bh-contact-page .bh-contact-form-card h2 { font-size:24px; }
.bh-contact-page .bh-contact-form-card__tag { font-size:13px; }
@media (max-width: 767.98px) { .bh-contact-page .bh-contact-form-card h2 { font-size:21px; } }

/* ---------- News listing ---------- */
.bh-news-page { max-width: 1320px; margin: 0 auto 52px; color: #24201c; font-size: 16px; }
.bh-news-breadcrumb { display: flex; align-items: center; gap: 8px; min-height: 40px; color: #777; font-size: .85rem; }
.bh-news-breadcrumb a { color: #666; text-decoration: none; }
.bh-news-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; align-items: stretch; gap: 0; margin-bottom: 14px; padding: 10px 12px; border: 1px solid #ece9e5; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.04); }
.bh-news-filters label { min-width: 0; display: flex; align-items: center; gap: 12px; padding: 0 18px; border-right: 1px solid #ece9e5; }
.bh-news-filters label > i { color: #1e1b18; font-size: 1.2rem; }
.bh-news-filters label > span { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 2px; }
.bh-news-filters small { color: #333; font-size: .78rem; font-weight: 700; }
.bh-news-filters select { width: 100%; padding: 2px 20px 2px 0; border: 0; outline: 0; background-color: transparent; color: #555; font-size: .82rem; }
.bh-news-filters > button { margin-left: 12px; padding: 0 18px; border: 0; border-radius: 3px; background: #70401c; color: #fff; font-size: .82rem; font-weight: 700; }
.bh-news-featured { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(330px, .95fr); gap: 14px; }
.bh-news-featured__main { position: relative; height: 420px; display: block; overflow: hidden; border-radius: 4px; color: #fff; }
.bh-news-featured__main > img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; }
.bh-news-featured__overlay { position: absolute; inset: auto 0 0; display: flex; flex-direction: column; align-items: flex-start; padding: 90px 24px 22px; background: linear-gradient(transparent, rgba(17,12,9,.9)); }
.bh-news-featured__overlay em { padding: 5px 9px; border-radius: 3px; background: #f1e4d1; color: #5c3718; font-size: .75rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
.bh-news-featured__overlay small { margin: 7px 0; font-size: .8rem; }
.bh-news-featured__overlay strong { max-width: 650px; font-size: 1.5rem; line-height: 1.25; }
.bh-news-featured__overlay p { max-width: 680px; display: -webkit-box; overflow: hidden; margin: 6px 0 0; color: #eee; font-size: .85rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.bh-news-featured__overlay b { align-self: flex-end; font-size: .8rem; }
.bh-news-featured__side { display: grid; grid-template-rows: repeat(3, 1fr); gap: 10px; }
.bh-news-featured__side article { min-height: 0; display: grid; grid-template-columns: 42% minmax(0, 1fr); gap: 12px; padding-bottom: 10px; border-bottom: 1px solid #e5e1dc; }
.bh-news-featured__side article > a { position: relative; min-height: 0; overflow: hidden; border-radius: 3px; }
.bh-news-featured__side img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.bh-news-featured__side article:hover img { transform: scale(1.04); }
.bh-news-featured__side article > div { min-width: 0; display: flex; flex-direction: column; }
.bh-news-featured__side small, .bh-news-card > small { color: #777; font-size: .74rem; }
.bh-news-featured__side article > div > a { display: -webkit-box; overflow: hidden; margin: 4px 0; color: #222; text-decoration: none; font-size: .96rem; line-height: 1.35; font-weight: 800; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.bh-news-featured__side p { display: -webkit-box; overflow: hidden; margin: 0; color: #777; font-size: .8rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.bh-news-featured__side b { margin-top: auto; color: #71401b; text-align: right; font-size: .76rem; }
.bh-news-latest { margin-top: 20px; }
.bh-news-latest > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.bh-news-latest h2 { margin: 0; font-size: 1.4rem; font-weight: 800; }
.bh-news-latest header > a { color: #70401c; text-decoration: none; font-size: .82rem; font-weight: 700; }
.bh-news-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.bh-news-card { min-width: 0; display: flex; flex-direction: column; padding-bottom: 12px; border: 1px solid #ebe8e4; border-radius: 3px; background: #fff; }
.bh-news-card__image { height: 155px; display: block; overflow: hidden; }
.bh-news-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.bh-news-card:hover .bh-news-card__image img { transform: scale(1.04); }
.bh-news-card > small, .bh-news-card__title, .bh-news-card > p, .bh-news-card__more { margin-inline: 11px; }
.bh-news-card > small { margin-top: 9px; }
.bh-news-card__title { min-height: 44px; display: -webkit-box; overflow: hidden; margin-top: 4px; color: #222; text-decoration: none; font-size: .95rem; line-height: 1.35; font-weight: 800; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.bh-news-card > p { min-height: 56px; display: -webkit-box; overflow: hidden; margin-top: 5px; margin-bottom: 5px; color: #777; font-size: .8rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.bh-news-card__more { margin-top: auto; color: #70401c; text-align: right; text-decoration: none; font-size: .76rem; font-weight: 700; }
.bh-news-pagination { display: flex; justify-content: center; gap: 7px; margin: 24px 0 0; padding: 0; list-style: none; }
.bh-news-pagination__link { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #333; text-decoration: none; font-size: .7rem; }
.bh-news-pagination__item.is-active .bh-news-pagination__link { background: #2b211a; color: #fff; }
.bh-news-pagination__item.is-disabled { opacity: .35; }
.bh-news-empty { padding: 36px; background: #fff; color: #777; text-align: center; }
@media (max-width: 991.98px) { .bh-news-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .bh-news-filters label { border-right: 0; } .bh-news-filters > button { min-height: 36px; margin-left: 0; } .bh-news-featured { grid-template-columns: 1fr; } .bh-news-featured__side { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; } .bh-news-featured__side article { grid-template-columns: 1fr; } .bh-news-featured__side article > a { height: 130px; } .bh-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .bh-news-page { margin-inline: 10px; } .bh-news-filters { grid-template-columns: 1fr; } .bh-news-featured__main { height: 300px; } .bh-news-featured__overlay strong { font-size: 1.25rem; } .bh-news-featured__side { grid-template-columns: 1fr; } .bh-news-featured__side article { grid-template-columns: 38% minmax(0, 1fr); } .bh-news-grid { grid-template-columns: 1fr; } .bh-news-card__image { height: 210px; } }

/* ---------- Projects listing ---------- */
.bh-projects-page { max-width: 1320px; margin: 0 auto 52px; color: #24201c; font-size: 16px; }
.bh-projects-hero { min-height: 230px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px 48px; border-radius: 4px; background: linear-gradient(90deg, rgba(15,10,7,.92) 0%, rgba(15,10,7,.6) 45%, rgba(15,10,7,.2) 100%), var(--projects-hero-image, none) center/cover, #1d140d; color: #fff; }
.bh-projects-hero small { color: #e3c08f; font-size: .8rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.bh-projects-hero h1 { margin: 6px 0 10px; font-size: 2.2rem; line-height: 1.18; font-weight: 900; }
.bh-projects-hero p { max-width: 520px; margin: 0; color: #e8e2da; font-size: .95rem; line-height: 1.55; }
.bh-projects-hero blockquote { margin: 0; color: #f2dbc1; text-align: center; font-family: cursive; font-size: 1.35rem; font-style: italic; line-height: 1.3; transform: rotate(-6deg); }
.bh-projects-breadcrumb { display: flex; align-items: center; gap: 8px; min-height: 42px; color: #777; font-size: .82rem; }
.bh-projects-breadcrumb a { color: #666; text-decoration: none; }
.bh-projects-breadcrumb strong { color: #333; font-weight: 600; }
.bh-projects-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.bh-projects-tabs { min-width: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bh-projects-tabs a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid #e3ddd5; border-radius: 4px; background: #fff; color: #3a3029; text-decoration: none; font-size: .78rem; font-weight: 600; white-space: nowrap; transition: border-color .15s ease, background .15s ease; }
.bh-projects-tabs a i { color: #80502b; font-size: .8rem; }
.bh-projects-tabs a:hover { border-color: #80502b; }
.bh-projects-tabs a.is-active { border-color: #2b211a; background: #2b211a; color: #fff; }
.bh-projects-tabs a.is-active i { color: #e3c08f; }
.bh-projects-sort { flex-shrink: 0; display: flex; align-items: center; gap: 10px; margin: 0; font-size: .8rem; }
.bh-projects-sort label { margin: 0; color: #444; font-weight: 600; }
.bh-projects-sort select { min-width: 160px; padding: 7px 10px; border: 1px solid #e3ddd5; border-radius: 4px; background-color: #fff; color: #333; font-size: .8rem; }
.bh-projects-badge { display: inline-flex; padding: 4px 8px; border-radius: 3px; background: #f1e4d1; color: #5c3718; font-size: .68rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
.bh-projects-featured { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) 150px; gap: 20px; margin-bottom: 20px; padding: 14px; border: 1px solid #ebe8e4; border-radius: 4px; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.04); }
.bh-projects-featured--no-thumbs { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.bh-projects-featured__image { position: relative; min-height: 360px; display: block; overflow: hidden; border-radius: 3px; }
.bh-projects-featured__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.bh-projects-featured__image:hover img { transform: scale(1.03); }
.bh-projects-featured__image span { position: absolute; top: 14px; left: 14px; padding: 5px 10px; border-radius: 3px; background: #f1e4d1; color: #5c3718; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.bh-projects-featured__body { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 10px 0; }
.bh-projects-featured__body h2 { margin: 12px 0 10px; font-size: 1.6rem; line-height: 1.25; font-weight: 900; }
.bh-projects-featured__body h2 a { color: #222; text-decoration: none; }
.bh-projects-featured__body h2 a:hover { color: #70401c; }
.bh-projects-featured__body p { margin: 0 0 14px; color: #666; font-size: .88rem; line-height: 1.6; }
.bh-projects-featured__brands { display: flex; flex-wrap: wrap; gap: 18px; margin: 0 0 18px; padding: 0; list-style: none; color: #444; font-size: .8rem; }
.bh-projects-featured__brands i { margin-right: 4px; color: #80502b; }
.bh-projects-featured__cta { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 4px; background: #2b211a; color: #fff; text-decoration: none; font-size: .8rem; font-weight: 700; }
.bh-projects-featured__cta:hover { background: #70401c; color: #fff; }
.bh-projects-featured__thumbs { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 10px; }
.bh-projects-featured__thumbs a { min-height: 0; display: block; overflow: hidden; border-radius: 3px; }
.bh-projects-featured__thumbs img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .2s ease; }
.bh-projects-featured__thumbs a:hover img { transform: scale(1.05); }
.bh-projects-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.bh-projects-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #ebe8e4; border-radius: 4px; background: #fff; transition: box-shadow .2s ease; }
.bh-projects-card:hover { box-shadow: 0 8px 22px rgba(0,0,0,.08); }
.bh-projects-card__image { position: relative; height: 220px; display: block; overflow: hidden; }
.bh-projects-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.bh-projects-card:hover .bh-projects-card__image img { transform: scale(1.04); }
.bh-projects-card__image .bh-projects-badge { position: absolute; top: 12px; left: 12px; }
.bh-projects-card__body { flex: 1; display: flex; flex-direction: column; padding: 14px 16px 12px; }
.bh-projects-card h3 { margin: 0 0 6px; font-size: 1rem; line-height: 1.35; font-weight: 800; }
.bh-projects-card h3 a { display: -webkit-box; overflow: hidden; color: #222; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.bh-projects-card h3 a:hover { color: #70401c; }
.bh-projects-card p { display: -webkit-box; overflow: hidden; margin: 0 0 12px; color: #777; font-size: .82rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.bh-projects-card footer { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-top: auto; padding-top: 10px; border-top: 1px solid #f0ece7; color: #777; font-size: .74rem; }
.bh-projects-card footer i { margin-right: 3px; color: #80502b; }
.bh-projects-card footer a { margin-left: auto; color: #222; text-decoration: none; font-weight: 700; }
.bh-projects-card footer a:hover { color: #70401c; }
.bh-projects-card footer a i { color: inherit; }
@media (max-width: 1199.98px) { .bh-projects-toolbar { flex-direction: column; align-items: stretch; } .bh-projects-sort { justify-content: flex-end; } .bh-projects-featured { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } .bh-projects-featured__thumbs { grid-column: 1 / -1; grid-template-rows: none; grid-template-columns: repeat(3, minmax(0, 1fr)); } .bh-projects-featured__thumbs a { height: 120px; } }
@media (max-width: 991.98px) { .bh-projects-hero blockquote { display: none; } .bh-projects-featured, .bh-projects-featured--no-thumbs { grid-template-columns: 1fr; } .bh-projects-featured__image { min-height: 320px; } .bh-projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .bh-projects-page { margin-inline: 10px; } .bh-projects-hero { min-height: 180px; padding: 22px 18px; } .bh-projects-hero h1 { font-size: 1.4rem; } .bh-projects-hero h1 br { display: none; } .bh-projects-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; } .bh-projects-sort { justify-content: space-between; } .bh-projects-sort select { flex: 1; } .bh-projects-featured__image { min-height: 240px; } .bh-projects-featured__body h2 { font-size: 1.3rem; } .bh-projects-featured__thumbs a { height: 80px; } .bh-projects-grid { grid-template-columns: 1fr; } }

/* ---------- News detail ---------- */
.bh-news-detail { max-width: 1320px; margin: 0 auto 52px; color: #24201c; font-size: 16px; }
.bh-news-detail__breadcrumb { display: flex; align-items: center; gap: 8px; min-height: 42px; color: #777; font-size: .82rem; }
.bh-news-detail__breadcrumb a { color: #666; text-decoration: none; }
.bh-news-detail__breadcrumb strong { overflow: hidden; color: #333; text-overflow: ellipsis; white-space: nowrap; }
.bh-news-detail__layout { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(310px, .85fr); gap: 26px; align-items: start; }
.bh-news-detail__category { display: inline-flex; padding: 5px 10px; border-radius: 3px; background: #ead5ac; color: #633b18; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.bh-news-detail__main > h1 { margin: 9px 0 7px; font-size: 2rem; line-height: 1.22; font-weight: 900; }
.bh-news-detail__meta { display: flex; flex-wrap: wrap; gap: 20px; color: #737373; font-size: .8rem; }
.bh-news-detail__meta i { margin-right: 4px; color: #62401f; }
.bh-news-detail__lead { margin: 14px 0; color: #555; font-size: .98rem; line-height: 1.65; }
.bh-news-detail__hero { margin: 0 0 18px; overflow: hidden; border-radius: 5px; }
.bh-news-detail__hero img { width: 100%; max-height: 580px; display: block; object-fit: cover; }
.bh-news-detail__content { color: #494949; font-size: .95rem; line-height: 1.72; }
.bh-news-detail__content h2 { margin: 22px 0 8px; color: #222; font-size: 1.35rem; font-weight: 850; }
.bh-news-detail__content h3 { margin: 20px 0 7px; color: #222; font-size: 1.15rem; font-weight: 800; }
.bh-news-detail__content p { margin: 0 0 12px; }
.bh-news-detail__content ul, .bh-news-detail__content ol { margin-bottom: 15px; padding-left: 23px; }
.bh-news-detail__content li { margin-bottom: 6px; }
.bh-news-detail__content img { max-width: 100%; height: auto; border-radius: 4px; }
.bh-news-detail__content figure { margin: 18px 0; }
.bh-news-detail__content blockquote { margin: 18px 0; padding: 14px 18px; border-left: 4px solid #79451e; background: #fbf5ec; }
.bh-news-detail__conclusion { display: flex; gap: 14px; margin-top: 20px; padding: 17px 20px; border: 1px solid #dfe8f6; border-radius: 6px; background: #f1f6ff; }
.bh-news-detail__conclusion > i { color: #285894; font-size: 1.45rem; }
.bh-news-detail__conclusion strong { color: #274f84; }
.bh-news-detail__conclusion p { margin: 3px 0 0; color: #536273; font-size: .85rem; line-height: 1.5; }
.bh-news-detail__share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 17px; padding: 14px 0; border-bottom: 1px solid #e7e7e7; font-size: .72rem; }
.bh-news-detail__share a, .bh-news-detail__share button { width: 29px; height: 29px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #3d64a4; color: #fff; text-decoration: none; font-size: .65rem; }
.bh-news-detail__share button { background: #666; }
.bh-news-detail__share span { margin-left: auto; }
.bh-news-detail__share em { padding: 5px 10px; border: 1px solid #ddd; border-radius: 999px; color: #666; font-style: normal; }
/* Static pages (Giới thiệu, Hướng dẫn mua hàng, chính sách): news-detail look, single column. */
/* .bh-news-detail--page { max-width: 960px; } */
.bh-news-detail--page .bh-news-detail__content { font-size: 1rem; }
.bh-news-detail--page .bh-news-detail__content table { width: 100%; margin: 16px 0; border-collapse: collapse; }
.bh-news-detail--page .bh-news-detail__content th, .bh-news-detail--page .bh-news-detail__content td { padding: 8px 12px; border: 1px solid #e3ddd5; }
.bh-news-detail--page .bh-news-detail__content iframe { max-width: 100%; }
.bh-news-detail__conclusion a { color: #274f84; font-weight: 700; }
/* The sidebar stretches to the article's height so the consult + popular block
   can stay stuck below the 50px sticky main nav while "related" scrolls away. */
.bh-news-detail__sidebar { align-self: stretch; display: flex; flex-direction: column; gap: 18px; }
.bh-news-detail__sticky { position: sticky; top: 66px; max-height: calc(100vh - 82px); overflow-y: auto; scrollbar-width: thin; display: grid; gap: 18px; }
.bh-news-related, .bh-news-popular { padding: 15px; border: 1px solid #e5e2dd; border-radius: 4px; background: #fff; }
.bh-news-related > h2, .bh-news-popular > h2 { margin: 0 0 12px; font-size: 1.05rem; font-weight: 850; }
.bh-news-related article { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 10px; padding: 10px 0; border-bottom: 1px solid #ece9e5; }
.bh-news-related article:last-child { border-bottom: 0; }
.bh-news-related article > a { height: 68px; overflow: hidden; border-radius: 3px; }
.bh-news-related img { width: 100%; height: 100%; object-fit: cover; }
.bh-news-related article div { min-width: 0; }
.bh-news-related small { display: block; margin-bottom: 4px; color: #777; font-size: .67rem; }
.bh-news-related article div > a { display: -webkit-box; overflow: hidden; color: #242424; text-decoration: none; font-size: .8rem; line-height: 1.35; font-weight: 750; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.bh-news-consult { min-height: 285px; padding: 24px 20px; border-radius: 4px; background: linear-gradient(90deg, rgba(28,20,14,.92), rgba(28,20,14,.38)), var(--consult-image) center/cover; color: #fff; }
.bh-news-consult h2 { margin: 0 0 15px; font-size: 1.25rem; line-height: 1.35; }
.bh-news-consult ul { margin: 0 0 18px; padding: 0; list-style: none; }
.bh-news-consult li { margin: 8px 0; font-size: .82rem; }
.bh-news-consult li::before { content: '✓'; margin-right: 8px; color: #f0b54a; font-weight: 900; }
.bh-news-consult a { display: inline-flex; padding: 9px 16px; border-radius: 3px; background: #f0bd63; color: #39210d; text-decoration: none; font-size: .78rem; font-weight: 800; }
.bh-news-popular ol { margin: 0; padding: 0; list-style: none; counter-reset: popular; }
.bh-news-popular li { counter-increment: popular; display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 10px; align-items: start; padding: 10px 0; border-bottom: 1px solid #eee; }
.bh-news-popular li:last-child { border-bottom: 0; }
.bh-news-popular li span::before { content: counter(popular); width: 25px; height: 25px; display: grid; place-items: center; border-radius: 3px; background: #67401f; color: #fff; font-size: .72rem; font-weight: 800; }
.bh-news-popular a { color: #333; text-decoration: none; font-size: .8rem; line-height: 1.4; }
@media (max-width: 991.98px) { .bh-news-detail__layout { grid-template-columns: 1fr; } .bh-news-detail__sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .bh-news-detail__sticky { display: contents; } .bh-news-popular { grid-column: 1 / -1; } }
@media (max-width: 767.98px) { .bh-news-detail { margin-inline: 10px; } .bh-news-detail__main > h1 { font-size: 1.55rem; } .bh-news-detail__sidebar { grid-template-columns: 1fr; } .bh-news-popular { grid-column: auto; } .bh-news-detail__share span { width: 100%; margin-left: 0; } }
.bh-reference-footer__feature:last-child { border-right: 0; }
.bh-reference-footer__feature i { margin-bottom: 4px; color: #4b311a; font-size: 1.15rem; }
.bh-reference-footer__feature strong { font-size: .78rem; }
.bh-reference-footer__feature small { color: #65584b; font-size: .68rem; }
.bh-reference-footer__main { padding: 24px 0 18px; background: linear-gradient(110deg, #28180b, #1c1008); }
.bh-reference-footer__main .container { display: grid; grid-template-columns: 1.25fr 1.1fr 1.15fr .75fr; gap: 28px; }
.bh-reference-footer__main h3 { margin: 0 0 12px; color: #f2e3c4; font-size: .9rem; font-weight: 800; letter-spacing: .02em; }
.bh-reference-footer__brand img { width: 190px; max-height: 48px; object-fit: contain; object-position: left center; }
.bh-reference-footer__brand p, .bh-reference-footer__newsletter p { margin: 8px 0 12px; color: #d7c8b1; font-size: .8rem; line-height: 1.5; }
.bh-reference-footer__social { display: flex; gap: 8px; }
.bh-reference-footer__social a { width: 25px; height: 25px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d8c29b; border-radius: 50%; color: #f2e3c4; font-size: .7rem; text-decoration: none; }
.bh-reference-footer__contact p { display: flex; gap: 8px; margin: 0 0 8px; color: #d7c8b1; font-size: .8rem; line-height: 1.4; }
.bh-reference-footer__contact p i { width: 13px; padding-top: 2px; color: #e7cc96; }
.bh-reference-footer__policies ul { margin: 0; padding: 0; list-style: none; }
.bh-reference-footer__policies li { margin-bottom: 8px; }
.bh-reference-footer__policies a { color: #d7c8b1; font-size: .8rem; text-decoration: none; }
.bh-reference-footer__policies a::before { content: '› '; color: #e7cc96; }
.bh-reference-footer__policies a:hover { color: #fff; }
.bh-reference-footer__subscribe { display: flex; height: 32px; overflow: hidden; border-radius: 4px; }
.bh-reference-footer__subscribe input { min-width: 0; flex: 1; border: 0; padding: 0 10px; background: #fff; color: #333; font-size: .68rem; }
.bh-reference-footer__subscribe button { width: 36px; border: 0; background: #d9b36b; color: #3b2611; }
.bh-reference-footer__bottom { padding: 12px 0; border-top: 1px solid rgba(226, 198, 143, .18); background: #170c05; color: #b9a990; font-size: .8rem; }
.bh-reference-footer__bottom .container { display: flex; justify-content: space-between; }
@media (max-width: 767.98px) {
    .bh-reference-footer__features .container, .bh-reference-footer__main .container { grid-template-columns: 1fr 1fr; gap: 0; }
    .bh-reference-footer__feature:nth-child(2n) { border-right: 0; }
    .bh-reference-footer__feature:nth-child(n+3) { border-top: 1px solid #e6e0d3; }
    .bh-reference-footer__main .container { padding: 0 18px; }
    .bh-reference-footer__brand, .bh-reference-footer__contact, .bh-reference-footer__policies, .bh-reference-footer__newsletter { grid-column: 1 / -1; margin-bottom: 18px; }
    .bh-reference-footer__bottom .container { flex-direction: column; gap: 4px; }
}

/* Homepage news/projects cards: taller artwork, title only. */
.bh-home-content-card { height: 178px !important; }
.bh-home-content-section--news .bh-home-content-card { height: 190px !important; }
.bh-home-content-card__text small { display: none !important; }
.bh-home-content-card__text { bottom: 12px !important; }

@media (max-width: 767.98px) {
    .bh-home-content-card,
    .bh-home-content-section--news .bh-home-content-card { height: 190px !important; }
}

/* Header refinements matching the supplied reference image. */
@media (min-width: 768px) {
    .bh-desktop-header__inner { gap: 34px; }
    .bh-desktop-header .bh-logo { flex: 0 0 300px !important; }
    .bh-desktop-header .bh-logo__img { max-width: 300px !important; }
    .bh-desktop-header .bh-search-form { min-width: 300px !important; }
    .bh-search-form__icon { display: inline-flex; align-items: center; padding-left: 25px; color: #17120e; font-size: 1rem; }
    .bh-desktop-header .bh-search-form .form-control { padding-left: 14px !important; }
    .bh-desktop-header .bh-search-form .input-group { border: 1px solid #e2ded8 !important; }
    .bh-desktop-header .bh-search-form .btn { min-width: 150px !important; margin: 6px !important; border: 1px solid #9b642b !important; font-size: 1rem !important; }
    .bh-mainnav > .container > .bh-logo,
    .bh-mainnav > .container > .bh-mainnav__actions,
    .bh-mainnav > .container .bh-nav-icon { display: none !important; }
    .bh-mainnav__links { justify-content: space-around; }
    .bh-catmenu__toggle { min-width: 306px !important; font-size: 1.08rem !important; font-weight: 700; }
}

/* Final cascade for the three-row desktop header. */
@media (min-width: 768px) {
    body { padding-top: 0; }
    .bh-header-fixed { position: relative; }
    .bh-utility-bar { min-height: 58px; padding: 0; background: #2b1b0d; border-bottom: 1px solid rgba(255,255,255,.14); color: #f5ead4; }
    .bh-utility-bar .container { min-height: 58px; gap: 28px !important; }
    .bh-utility-bar__item, .bh-utility-bar__item:hover { color: #f5ead4; white-space: nowrap; }
    .bh-utility-bar__item i { color: #f0dca9; font-size: 1rem; }
    .bh-utility-bar__spacer { flex: 1 1 auto; }
    .bh-utility-bar__divider { height: 28px; border-left: 1px solid rgba(245,234,212,.55); }
    .bh-desktop-header { background: #faf9f6; }
    .bh-desktop-header__inner { min-height: 100px; display: flex; align-items: center; gap: 42px; }
    .bh-desktop-header .bh-logo { flex: 0 0 510px; }
    .bh-desktop-header .bh-logo__img { width: 100%; max-width: 510px; height: auto; }
    .bh-desktop-header .bh-search-form { flex: 1 1 auto; min-width: 260px; margin: 0; padding: 0; background: transparent; box-shadow: none; }
    .bh-desktop-header .bh-search-form .input-group { height: 55px; border: 1px solid #e3ddd4; border-radius: 34px; overflow: hidden; background: #fff; }
    .bh-desktop-header .bh-search-form .form-control { border: 0; padding: 0 24px; box-shadow: none; }
    .bh-desktop-header .bh-search-form .btn { min-width: 142px; margin: 6px; border-radius: 28px; background: #9b642b; color: #fff; font-weight: 400; border-top-left-radius: 28px!important; border-bottom-left-radius: 28px!important; }
    .bh-desktop-header__actions { display: flex; align-items: center; gap: 30px; flex: 0 0 auto; }
    .bh-desktop-header__separator { height: 50px; border-left: 1px solid #b8a48b; }
    .bh-header-action { display: flex; align-items: center; gap: 8px; color: #211b15; text-decoration: none; white-space: nowrap; font-size: .88rem; }
    .bh-header-action:hover { color: #9b642b; }
    .bh-header-action__icon { position: relative; font-size: 1.4rem; line-height: 1; }
    .bh-header-action__icon b { position: absolute; min-width: 20px; height: 20px; padding: 5px; border-radius: 50%; background: #9b642b; color: #fff; font-size: .68rem; text-align: center; }
    .bh-mainnav { position: sticky; top: 0; z-index: 1030; height: auto; background: #faf9f6 !important; border-bottom: 1px solid #eee9df !important; box-shadow: 0 2px 10px rgba(43, 27, 13, .08); }
    /* Sidebars that stick below the nav must clear its 72px height. */
    .bh-project-equipment, .bh-news-detail__sticky { top: 88px; max-height: calc(100vh - 104px); }
    .bh-mainnav > .container { min-height: 72px; height: 72px; }
    .bh-mainnav > .container > .bh-logo, .bh-mainnav > .container > .bh-mainnav__actions { display: none; }
    .bh-mainnav__links { flex: 1 1 auto; justify-content: space-around; gap: 18px; }
    .bh-mainnav__links a { color: #17120e; font-size: .9rem; font-weight: 700; }
    .bh-mainnav__links a.active, .bh-mainnav__links a:hover { color: #9b642b; }
    .bh-catmenu__toggle { min-width: 306px; height: 60px; border-radius: 7px; font-size: 1rem; }
    .bh-nav-search { display: none !important; }
}

/* ---------- Product detail: combo products ("Sản phẩm trong bộ phối ghép") ---------- */
.bh-pd-combo { margin-bottom: 24px; border: 1px solid #e4e4e4; background: #fff; }
.bh-pd-combo__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 16px; background: #4a270d; color: #fff; }
.bh-pd-combo__head h2 { display: flex; align-items: center; gap: 8px; margin: 0; color: #fff; font-size: 18px; font-weight: 800; }
.bh-pd-combo__head h2 i { color: #f4c56b; }
.bh-pd-combo__head span { color: #eadccb; font-size: 12px; }
.bh-pd-combo__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; padding: 16px; }
/* Any grid of homepage product cards (_product-row-card): combo, category, search, brand, project.
   Square image box keeps mixed photos (wide mixers, tall subs) aligned. */
.bh-product-grid .bh-row-card { min-width: 0; }
.bh-product-grid .bh-row-card__img-wrap { aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; }
.bh-product-grid .bh-row-card__img { height: 100%; }
.bh-product-grid .bh-row-card__body { flex: 1 1 auto; }
.bh-product-grid .bh-row-card__meta { margin-top: auto; }
@media (max-width: 1199.98px) { .bh-pd-combo__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 991.98px) { .bh-pd-combo__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
    .bh-pd-combo__head { flex-direction: column; align-items: flex-start; gap: 2px; }
    .bh-pd-combo__head h2 { font-size: 15px; }
    .bh-pd-combo__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 10px; }
    /* Same compact card as the homepage product rows on mobile. */
    .bh-product-grid .bh-row-card__badge { top: 6px; right: 6px; padding: 3px 7px; font-size: .68rem; }
    .bh-product-grid .bh-row-card__buy { width: auto; justify-content: center; gap: 4px; margin: 8px; padding: 5px 4px; border-radius: 6px; font-size: .68rem; white-space: nowrap; }
    .bh-product-grid .bh-row-card__buy img { width: 15px; height: 15px; }
    .bh-product-grid .bh-row-card__body { padding: 0 8px 10px; }
    .bh-product-grid .bh-row-card__name { min-height: 2.7em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 6px; font-size: .82rem; }
    .bh-product-grid .bh-row-card__price { font-size: .98rem; }
    .bh-product-grid .bh-row-card__old-price { min-height: 0; gap: 5px; font-size: .75rem; }
    .bh-product-grid .bh-row-card__old-price strong { padding: 1px 5px; font-size: .68rem; }
    .bh-product-grid .bh-row-card__service { gap: 4px; margin: 8px 0; font-size: .72rem; white-space: normal; }
    .bh-product-grid .bh-row-card__service img { width: 16px; height: 16px; }
    .bh-product-grid .bh-row-card__meta { justify-content: space-between; font-size: .7rem; }
}

/* Product gallery: fixed-size stage so switching images never resizes the frame. */
.bh-product-gallery__stage {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    /* Horizontal swipes go to the gallery (theme.js), vertical ones still scroll the page. */
    touch-action: pan-y pinch-zoom;
    user-select: none;
}
.bh-product-gallery__stage img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: contain;
}
/* Grid items default to min-width:auto, so a long thumbnail strip (many images)
   widened the single mobile column past the viewport. */
.bh-pd-hero > * { min-width: 0; }
@media (max-width: 1199.98px) {
    .bh-pd-hero { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767.98px) {
    .bh-product-gallery__stage { aspect-ratio: 4 / 3; }

    .bh-product-breadcrumb {
        flex-wrap: wrap;
        gap: 2px 6px;
        margin: 8px 0 10px;
        font-size: .68rem;
        line-height: 1.4;
    }
    .bh-product-breadcrumb a,
    .bh-product-breadcrumb span { white-space: nowrap; }
    .bh-product-breadcrumb strong {
        flex: 1 1 100%;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* ---------- Category page: short intro above the grid, long content below ---------- */
.bh-category-intro { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 14px; padding: 12px 16px; border: 1px solid #ecdcc2; border-radius: 6px; background: #fdf8f0; color: #4b3b27; }
.bh-category-intro i { flex: 0 0 auto; margin-top: 3px; color: #8b4d1d; font-size: 1.1rem; }
.bh-category-intro p { margin: 0; font-size: .88rem; line-height: 1.6; }

.bh-category-content { margin: 28px 0 10px; padding: 20px 22px 16px; border: 1px solid #e4e4e4; border-radius: 6px; background: #fff; }
.bh-category-content__toggle { position: absolute; opacity: 0; pointer-events: none; }
.bh-category-content__body { position: relative; max-height: 220px; overflow: hidden; color: #444; font-size: .92rem; line-height: 1.7; }
.bh-category-content__body::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 80px; background: linear-gradient(rgba(255, 255, 255, 0), #fff); pointer-events: none; }
.bh-category-content__body h1, .bh-category-content__body h2 { margin: 0 0 10px; color: #222; font-size: 1.35rem; font-weight: 800; }
.bh-category-content__body h3 { margin: 16px 0 8px; color: #222; font-size: 1.1rem; font-weight: 800; }
.bh-category-content__body p { margin: 0 0 10px; }
.bh-category-content__body img, .bh-category-content__body iframe, .bh-category-content__body table { max-width: 100%; height: auto; }
.bh-category-content__more { display: flex; align-items: center; gap: 8px; width: max-content; margin: 12px auto 0; padding: 8px 26px; border-radius: 999px; background: #8b4d1d; color: #fff; font-size: .82rem; font-weight: 700; cursor: pointer; }
.bh-category-content__more:hover { background: #4a270d; }
.bh-category-content__less-label { display: none; }
.bh-category-content__more i { transition: transform .2s ease; }
.bh-category-content__toggle:checked ~ .bh-category-content__body { max-height: none; }
.bh-category-content__toggle:checked ~ .bh-category-content__body::after { display: none; }
.bh-category-content__toggle:checked ~ .bh-category-content__more .bh-category-content__more-label { display: none; }
.bh-category-content__toggle:checked ~ .bh-category-content__more .bh-category-content__less-label { display: inline; }
.bh-category-content__toggle:checked ~ .bh-category-content__more i { transform: rotate(180deg); }
.bh-category-content__toggle:focus-visible ~ .bh-category-content__more { outline: 2px solid #8b4d1d; outline-offset: 2px; }
@media (max-width: 767.98px) {
    .bh-category-content { padding: 16px 14px 12px; }
    .bh-category-content__body h1, .bh-category-content__body h2 { font-size: 1.15rem; }
}

/* ---------- Search results page (catalog/index) ---------- */
.bh-search-page { max-width: 1320px; margin: 0 auto 48px; }
.bh-search-hero { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 150px; margin: 6px 0 16px; padding: 20px 28px; overflow: hidden; border-radius: 10px; background: radial-gradient(circle at 60% 50%, #5a3413 0%, #2b1708 55%, #170c04 100%); color: #fff; }
.bh-search-hero__main { position: relative; z-index: 2; display: flex; align-items: center; gap: 18px; min-width: 0; }
.bh-search-hero__mark { flex: 0 0 auto; width: 84px; height: 84px; display: grid; place-items: center; overflow: hidden; border-radius: 8px; background: #fff; color: #8b4d1d; font-size: 2rem; }
.bh-search-hero__mark img { width: 100%; height: 100%; object-fit: contain; }
.bh-search-hero h1 { margin: 0 0 6px; color: #fff; font-size: 1.7rem; font-weight: 800; line-height: 1.2; }
.bh-search-hero h1 strong { display: block; color: #f4c56b; font-size: 2.2rem; font-weight: 900; }
.bh-search-hero p { margin: 0; color: #e8d7c2; font-size: .9rem; }
.bh-search-hero__promo { position: relative; z-index: 2; flex: 0 0 auto; text-align: center; }
.bh-search-hero__promo strong { display: block; color: #f4c56b; font-size: 1.35rem; font-weight: 900; letter-spacing: .5px; }
.bh-search-hero__promo > span { display: block; margin-bottom: 10px; font-size: .95rem; font-weight: 700; }
.bh-search-hero__promo ul { display: flex; justify-content: center; gap: 22px; margin: 0; padding: 0; list-style: none; }
.bh-search-hero__promo li { display: flex; flex-direction: column; align-items: center; gap: 4px; color: #e8d7c2; font-size: .72rem; line-height: 1.25; white-space: nowrap; }
.bh-search-hero__promo li i { color: #f4c56b; font-size: 1.05rem; }

.bh-search-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-bottom: 16px; }
.bh-search-filters, .bh-search-sort { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.bh-search-filters__label { color: #222; font-size: .85rem; font-weight: 700; white-space: nowrap; }
.bh-search-filters .form-select { width: auto; min-width: 150px; padding-block: 6px; border-color: #ddd; border-radius: 6px; font-size: .82rem; }
.bh-search-filters__clear { color: #b3261e; font-size: .8rem; }
.bh-search-sort a { padding: 6px 12px; border: 1px solid #ddd; border-radius: 6px; background: #fff; color: #333; text-decoration: none; font-size: .8rem; white-space: nowrap; }
.bh-search-sort a:hover { border-color: #8b4d1d; color: #8b4d1d; }
.bh-search-sort a.is-active { border-color: #4a270d; background: #4a270d; color: #fff; }

.bh-search-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.bh-search-empty { padding: 48px 16px; border: 1px dashed #ddd; border-radius: 8px; background: #fff; text-align: center; color: #555; }
.bh-search-empty i { margin-bottom: 10px; color: #c9a77a; font-size: 2.4rem; }
.bh-search-empty p { margin: 0 0 4px; font-weight: 700; }

@media (max-width: 991.98px) {
    .bh-search-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bh-search-hero__promo { display: none; }
}
@media (max-width: 767.98px) {
    .bh-search-hero { min-height: 0; margin-inline: -4px; padding: 16px; }
    .bh-search-hero__mark { width: 60px; height: 60px; font-size: 1.4rem; }
    .bh-search-hero h1 { font-size: 1.15rem; }
    .bh-search-hero h1 strong { font-size: 1.5rem; }
    .bh-search-toolbar { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
    .bh-search-filters, .bh-search-sort { min-width: 0; }
    .bh-search-filters .form-select { flex: 1 1 calc(50% - 8px); min-width: 0; }
    .bh-search-filters > .bh-search-filters__label { flex: 0 0 100%; }
    .bh-search-sort > .bh-search-filters__label { flex: 0 0 auto; }
    .bh-search-sort { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
    .bh-search-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}

/* ---------- Mobile header: white bar, burger / centered logo / cart ---------- */
@media (max-width: 767.98px) {
    .bh-mobile-topbar { position: relative; z-index: 2; background: #fff; border-bottom: 0; border-radius: 0 0 14px 14px; box-shadow: 0 4px 14px rgba(0, 0, 0, .12); }
    .bh-mobile-topbar__brand { min-height: 76px; gap: 10px; padding: 12px 14px; }
    .bh-mobile-topbar__burger { width: 40px; height: 40px; padding: 0; display: inline-flex; align-items: center; justify-content: flex-start; color: #17120e; font-size: 1.7rem; }
    .bh-mobile-topbar__logo img { height: 40px; max-width: 100%; object-fit: contain; }
    .bh-mobile-topbar__cart { width: 40px; height: 40px; border-radius: 0; background: transparent; color: #17120e; font-size: 1.55rem; text-decoration: none; }
    .bh-mobile-topbar__cart-badge { top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: #d62828; color: #fff; font-size: .72rem; font-weight: 700; line-height: 1; }
}

/* ---------- Hot deal strip: heading texts come from Setting ---------- */
.bh-hot-products__flame > span { display: block; }
.bh-hot-products__text { display: inline-flex; flex-wrap: wrap; align-items: baseline; justify-content: center; column-gap: .4em; }
.bh-hot-products__title { font-weight: 900; }
.bh-hot-products__hotline a { color: inherit; text-decoration: none; }
.bh-hot-products__bolt,
.bh-hot-card__discount { display: none; }
.bh-hot-card__sold::before { content: "| "; }

@media (max-width: 767.98px) {
    .bh-hot-products { padding: 14px 10px 18px; border-radius: 0; background: #d71f26; }
    .bh-hot-products__heading { justify-content: flex-start; gap: 8px; margin-bottom: 14px; padding: 12px 10px; border-radius: 10px; background: #fff; text-align: left; text-transform: none; box-shadow: 0 2px 8px rgba(0, 0, 0, .12); }
    .bh-hot-products__flame { flex: 0 0 auto; padding: 5px 7px; border-radius: 5px; background: #d71f26; color: #fff; font-size: .68rem; font-style: italic; line-height: 1; text-shadow: none; transform: skewX(-8deg); white-space: nowrap; }
    .bh-hot-products__flame > span { display: inline; }
    .bh-hot-products__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; row-gap: 3px; }
    .bh-hot-products__title { color: #111; font-size: min(.9rem, 3.8vw); line-height: 1.25; text-transform: uppercase; white-space: nowrap; }
    .bh-hot-products__hotline { color: #444; font-size: .8rem; font-weight: 500; }
    .bh-hot-products__hotline a { color: #d71f26; font-weight: 800; }
    .bh-hot-products__bolt { display: block; flex: 0 0 auto; color: #f39c12; font-size: 1.2rem; }

    .bh-hot-products__track { grid-auto-columns: calc((100% - 10px) / 2); gap: 10px; padding: 4px 0 6px; }
    .bh-hot-products__nav { display: none; }

    .bh-hot-card { min-height: 0; padding: 10px; border-radius: 10px; }
    .bh-hot-card__badge,
    .bh-hot-card__discount { top: 8px; left: 8px; right: auto; padding: 4px 8px; border-radius: 4px; color: #fff; font-size: .72rem; font-weight: 800; text-transform: uppercase; box-shadow: none; }
    .bh-hot-card__badge,
    .bh-hot-card:nth-child(odd) .bh-hot-card__badge { background: #f39c12; color: #fff; }
    .bh-hot-card__discount { position: absolute; z-index: 2; display: block; background: #d71f26; }
    .bh-hot-card.has-discount .bh-hot-card__badge { display: none; }
    .bh-hot-card__image-wrap { height: auto; aspect-ratio: 4 / 3; margin: 26px 0 10px; }
    .bh-hot-card .bh-hot-card__buy { width: 100%; justify-content: center; gap: 5px; margin-bottom: 10px; padding: 6px 4px; border-radius: 6px; background: #f07a1a !important; font-size: .72rem; white-space: nowrap; }
    .bh-hot-card .bh-hot-card__buy img { width: 16px; height: 16px; }
    .bh-hot-card__name { min-height: 2.7em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 6px; font-size: .88rem; font-weight: 700; line-height: 1.35; }
    .bh-hot-card__old-price { order: 1; min-height: 0; margin: 0; font-size: .85rem; }
    .bh-hot-card__old-price strong { display: none; }
    .bh-hot-card__price { order: 2; margin: 2px 0 0; color: #d71f26; font-size: 1.05rem; }
    .bh-hot-card .bh-hot-card__service { order: 3; margin: 8px 0 10px; font-size: .75rem; }
    .bh-hot-card .bh-hot-card__service img { width: 18px; height: 18px; }
    .bh-hot-card .bh-hot-card__meta { order: 4; justify-content: space-between; margin-top: auto; padding-top: 8px; border-top: 1px solid #eee; font-size: .72rem; }
    .bh-hot-card .bh-hot-card__stars { font-size: .9rem; }
    .bh-hot-card__sold { color: #888; }
    .bh-hot-card__sold::before { content: "("; }
    .bh-hot-card__sold::after { content: ")"; }
}

/* ---------- Category product rows (mobile): one-line tabs, 2 cards per row ---------- */
@media (max-width: 767.98px) {
    .bh-category-products__tabs { gap: 8px; margin-bottom: 14px; padding-bottom: 2px; }
    .bh-category-products__tabs > li { flex: 0 0 auto; }
    .bh-category-products__tab { min-height: 34px; padding: 6px 14px; font-size: .8rem; line-height: 1.2; white-space: nowrap; }

    .bh-product-row__track { grid-auto-columns: calc((100% - 10px) / 2); gap: 10px; width: calc(100% + 12px); margin-left: -6px; padding: 6px 6px 10px; scroll-padding: 0 6px; scroll-snap-type: x mandatory; }
    .bh-product-row__body .bh-row-scroll-btn { top: 38%; width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border-radius: 50%; background: rgba(255, 255, 255, .95); box-shadow: 0 2px 8px rgba(0, 0, 0, .22); color: #111; font-size: .85rem; }
    .bh-product-row__body .bh-row-scroll-btn--prev { left: -8px; }
    .bh-product-row__body .bh-row-scroll-btn--next { right: -8px; }
    .bh-product-row__body .bh-row-scroll-btn:disabled { opacity: 0; pointer-events: none; }

    .bh-product-row__track .bh-row-card__badge { top: 6px; right: 6px; padding: 3px 7px; font-size: .68rem; }
    .bh-product-row__track .bh-row-card__buy { width: auto; justify-content: center; gap: 4px; margin: 8px; padding: 5px 4px; border-radius: 6px; font-size: .68rem; white-space: nowrap; }
    .bh-product-row__track .bh-row-card__buy img { width: 15px; height: 15px; }
    .bh-product-row__track .bh-row-card__body { padding: 0 8px 10px; }
    .bh-product-row__track .bh-row-card__name { min-height: 2.7em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 6px; font-size: .82rem; }
    .bh-product-row__track .bh-row-card__price { font-size: .98rem; }
    .bh-product-row__track .bh-row-card__old-price { min-height: 0; gap: 5px; font-size: .75rem; }
    .bh-product-row__track .bh-row-card__old-price strong { padding: 1px 5px; font-size: .68rem; }
    .bh-product-row__track .bh-row-card__service { gap: 4px; margin: 8px 0 8px; font-size: .72rem; white-space: normal; }
    .bh-product-row__track .bh-row-card__service img { width: 16px; height: 16px; }
    .bh-product-row__track .bh-row-card__meta { justify-content: space-between; margin-top: auto; font-size: .7rem; }
}

/* ---------- Home projects & news: same 3-card layout, regular-weight titles ---------- */
.bh-home-content-section--projects .bh-home-content-section__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.bh-home-content-section--projects .bh-home-content-card { height: 190px !important; }
.bh-home-content-card__text strong { font-weight: 400; }

@media (max-width: 575.98px) {
    .bh-home-content-section--projects .bh-home-content-section__grid { grid-template-columns: 1fr; }
}

/* ---------- Editor content (product description, news/page/project/article bodies) ----------
   Images from the editor carry width/height attributes or inline sizes; with the
   object-fit: cover rules above they were cropped/zoomed. Always scale to the
   content column and keep the original aspect ratio. */
.bh-product-description img,
.bh-news-detail__content img,
.bh-project-copy__content img,
.bh-article-body img,
.bh-category-content__body img {
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}
.bh-product-description iframe,
.bh-product-description video,
.bh-news-detail__content iframe,
.bh-news-detail__content video,
.bh-project-copy__content iframe,
.bh-project-copy__content video,
.bh-article-body iframe,
.bh-article-body video {
    max-width: 100% !important;
}
.bh-product-description figure,
.bh-news-detail__content figure,
.bh-project-copy__content figure,
.bh-article-body figure {
    max-width: 100% !important;
    margin-inline: 0;
}
.bh-product-description table,
.bh-news-detail__content table,
.bh-project-copy__content table,
.bh-article-body table {
    max-width: 100%;
    display: block;
    overflow-x: auto;
}

/* Category breadcrumb on mobile: one line ("TRANG CHỦ / TÊN DANH MỤC…") instead of
   the stacked column; a long category title is truncated with an ellipsis. */
@media (max-width: 767.98px) {
    .bh-category-breadcrumb {
        flex-direction: row;
        align-items: center;
        flex-wrap: nowrap;
        gap: 6px;
        min-width: 0;
        max-width: 100%;
        font-size: .72rem;
        line-height: 1.4;
    }
    .bh-category-breadcrumb a,
    .bh-category-breadcrumb span { flex: 0 0 auto; white-space: nowrap; }
    .bh-category-breadcrumb strong {
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* Card prices: sale price and struck-through original price on one line, no "-x%" chip.
   The old price shrinks with an ellipsis rather than wrapping on narrow cards. */
.bh-price-line {
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    gap: 8px;
    min-width: 0;
    min-height: 1.6em;
}
.bh-price-line > :first-child { flex: 0 0 auto; margin: 0; white-space: nowrap; }
.bh-price-line__old {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    color: #8c8c8c;
    font-size: .85rem;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media (max-width: 767.98px) {
    .bh-price-line { gap: 5px; }
    .bh-price-line__old { font-size: .72rem; }
}
/* Product page price: keep sale + original price on one line too. */
.bh-pd-price { flex-wrap: nowrap; }
.bh-pd-price__old { white-space: nowrap; }

/* "Hot" / "Giảm giá sốc" pills on product cards (_card-flags.php): stacked in the
   card's top-left corner over the image (the "Mới"/"Bán chạy" badge stays top-right). */
.bh-card-flags {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    margin: 0;
    pointer-events: none;
}
.bh-card-flag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    border-radius: 5px;
    color: #fff;
    font-size: .85rem;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .18);
}
.bh-card-flag--hot { background: #f5a623; }
.bh-card-flag--hot i { color: #e8361d; }
.bh-card-flag--sale { background: #e5261f; }
.bh-card-flag--sale i { color: #ffd23f; }
@media (max-width: 767.98px) {
    .bh-card-flags { top: 6px; left: 6px; gap: 4px; }
    .bh-card-flag { padding: 2px 6px; font-size: .68rem; }
    /* The hot-deal card moves its own badge to the top-left on mobile; give the corner to the flags. */
    .bh-hot-card:has(.bh-card-flags) .bh-hot-card__badge { left: auto; right: 8px; }
}

/* Scroll-snap must respect each track's side padding: without scroll-padding the
   browser snaps the first card to the scrollport edge, shifting the row by the
   padding and exposing a sliver of the next card on the right. */
.bh-hot-products__track { scroll-padding-inline: 14px; }
.bh-brand-section__track { scroll-padding-inline: 8px; }
.bh-solution-slider__track { scroll-padding-inline: 10px; }
.bh-pd-projects__track { scroll-padding-inline: 4px; }
@media (max-width: 767.98px) {
    .bh-hot-products__track { scroll-padding-inline: 0; }
}

/* Product card names: at most 2 lines, the rest hidden with an ellipsis. The
   2-line min-height keeps prices aligned across cards with short names. */
.bh-row-card__name,
.bh-hot-card__name,
.bh-solution-card__name {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    height: auto !important;
    min-height: calc(2 * 1.35em) !important;
    max-height: calc(2 * 1.35em);
    line-height: 1.35;
}

/* Cards without the "Mua Online giá rẻ hơn" pill: keep a gap between the image and the name. */
.bh-row-card__img-wrap + .bh-row-card__body { padding-top: 14px; }
.bh-hot-card__image-wrap + .bh-hot-card__name { margin-top: 12px; }
.bh-solution-card__image + .bh-solution-card__name { margin-top: 12px; }
@media (max-width: 767.98px) {
    .bh-row-card__img-wrap + .bh-row-card__body { padding-top: 10px; }
    .bh-hot-card__image-wrap + .bh-hot-card__name,
    .bh-solution-card__image + .bh-solution-card__name { margin-top: 8px; }
}

/* Corner badge chosen per product in the admin (Product::CORNER_BADGES): colour by
   type instead of by card position. Mobile keeps its own orange hot-deal badge. */
@media (min-width: 768px) {
    .bh-hot-card .bh-hot-card__badge.bh-corner-badge--new,
    .bh-row-card .bh-row-card__badge.bh-corner-badge--new { color: #3a9d50; }
    .bh-hot-card .bh-hot-card__badge.bh-corner-badge--bestseller,
    .bh-hot-card .bh-hot-card__badge.bh-corner-badge--new_arrival,
    .bh-row-card .bh-row-card__badge.bh-corner-badge--bestseller,
    .bh-row-card .bh-row-card__badge.bh-corner-badge--new_arrival { color: #c91d27; }
}

/* ---------- Mobile header (layouts/main.php .bh-mhead / .bh-mhead-bar) ----------
   Perks strip + centered logo scroll away; the burger / search / account / cart
   bar sticks to the top while scrolling. Replaces the old .bh-mobile-topbar. */
.bh-mhead,
.bh-mhead-bar { display: none; }

@media (max-width: 767.98px) {

    .bh-mhead { display: block; background: #faf8f4; }
    .bh-mhead__strip {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 6px;
        padding: 8px 12px;
        background: linear-gradient(90deg, #2a1a0c, #4a2f17 50%, #2a1a0c);
        color: #f5ead4;
        font-size: .72rem;
        white-space: nowrap;
    }
    .bh-mhead__strip > span:not(.bh-mhead__strip-sep) { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
    .bh-mhead__strip i { color: #e8c98a; font-size: .9rem; }
    .bh-mhead__strip-sep { width: 1px; height: 16px; flex: 0 0 auto; background: rgba(245, 234, 212, .45); }
    .bh-mhead__logo { display: flex; justify-content: center; padding: 12px 16px 6px; }
    .bh-mhead__logo img { height: 52px; max-width: 80%; object-fit: contain; }

    .bh-mhead-bar {
        position: sticky;
        top: 0;
        z-index: 1035;
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 8px 10px 10px;
        background: #faf8f4;
        box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
    }
    .bh-mhead-bar__btn {
        position: relative;
        flex: 0 0 auto;
        width: 44px;
        height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        border-radius: 12px;
        background: #f3ece1;
        color: #17120e;
        font-size: 1.3rem;
        text-decoration: none;
    }
    .bh-mhead-bar__btn:hover { color: #9b642b; }
    .bh-mhead-bar__badge {
        position: absolute;
        top: -6px;
        right: -6px;
        min-width: 20px;
        height: 20px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 5px;
        border-radius: 10px;
        background: #b98a4b;
        color: #fff;
        font-size: .7rem;
        font-weight: 700;
        line-height: 1;
    }
    .bh-mhead-bar__search {
        flex: 1 1 auto;
        min-width: 0;
        height: 44px;
        display: flex;
        align-items: center;
        gap: 6px;
        margin: 0;
        padding: 0 4px 0 12px;
        border-radius: 22px;
        background: #f1efeb;
    }
    .bh-mhead-bar__search-icon { flex: 0 0 auto; color: #17120e; font-size: 1rem; }
    .bh-mhead-bar__input {
        flex: 1 1 auto;
        min-width: 0;
        height: 100%;
        padding: 0;
        border: 0;
        outline: 0;
        background: transparent;
        color: #222;
        font-size: .9rem;
    }
    .bh-mhead-bar__input::placeholder { color: #8a8580; }
    .bh-mhead-bar__submit {
        flex: 0 0 auto;
        width: 52px;
        height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 18px;
        background: linear-gradient(180deg, #c89a5a, #a8763a);
        color: #fff;
        font-size: .95rem;
    }
}

@media (max-width: 374.98px) {
    .bh-mhead__strip { font-size: .64rem; padding-inline: 8px; }
    .bh-mhead__strip i { display: none; }
    .bh-mhead-bar { gap: 6px; padding-inline: 8px; }
    .bh-mhead-bar__btn { width: 40px; height: 40px; font-size: 1.15rem; }
    .bh-mhead-bar__submit { width: 44px; }
}

/* Product detail: keep the tab bar stuck under the header while scrolling the tab content. */
.bh-product-tabs { position: sticky; top: 62px; z-index: 1020; background: #fafafa; }
@media (min-width: 768px) {
    .bh-product-tabs { top: 72px; }
}
@media (max-width: 767.98px) {
    .bh-product-tabs { overflow-x: visible; }
    .bh-product-tabs button { flex: 1 1 auto; min-width: 0; padding: 8px 6px; white-space: nowrap; }
}

/* ---------- Homepage: "Bộ dàn đề xuất" (dark gold cards, below industry solutions) ---------- */
.bh-system-packages { padding: 22px 22px 24px; border-radius: 15px; background: radial-gradient(120% 90% at 50% 0%, #2a2016 0%, #120f0c 55%, #0b0a09 100%); color: #f3ead9; box-shadow: 0 8px 24px rgba(20, 12, 4, .25); }
.bh-system-packages__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.bh-system-packages__title { display: flex; align-items: center; gap: 14px; margin: 0 0 6px; color: #fff; font-size: clamp(1.2rem, 2vw, 1.6rem); font-weight: 800; letter-spacing: .02em; }
.bh-system-packages__title::after { content: ""; width: 34px; height: 2px; background: #fff; }
.bh-system-packages__subtitle { margin: 0; color: #cfc4b2; font-size: .8rem; }
.bh-system-packages__all { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 8px; background: linear-gradient(180deg, #f3d9a4, #c99a52); color: #2a1a08; font-size: .84rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.bh-system-packages__all:hover { background: linear-gradient(180deg, #f8e5bd, #d7a95f); color: #1b1004; }
.bh-system-packages__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }

.bh-system-package { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid rgba(201, 154, 82, .35); border-radius: 12px; background: linear-gradient(180deg, #1d1712, #110e0b); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.bh-system-package:hover { transform: translateY(-3px); border-color: rgba(231, 192, 120, .8); box-shadow: 0 10px 26px rgba(201, 154, 82, .18); }
.bh-system-package--hot { border-color: rgba(231, 192, 120, .7); box-shadow: 0 0 18px rgba(201, 154, 82, .2); }
.bh-system-package__image { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #0d0b09; }
.bh-system-package__image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s ease; }
.bh-system-package:hover .bh-system-package__image img { transform: scale(1.05); }
.bh-system-package__image::after { content: ""; position: absolute; inset: auto 0 0; height: 40%; background: linear-gradient(180deg, transparent, #1d1712); pointer-events: none; }
.bh-system-package__badge { position: absolute; top: 10px; left: 10px; z-index: 1; padding: 3px 9px; border-radius: 4px; background: linear-gradient(180deg, #f3d9a4, #c99a52); color: #2a1a08; font-size: .72rem; font-weight: 600; }
.bh-system-package--hot .bh-system-package__badge { background: #d92b25; color: #fff; }
.bh-system-package__body { display: flex; flex: 1; flex-direction: column; padding: 4px 14px 14px; }
.bh-system-package__title { margin: 0 0 10px; color: #fff; font-size: 1rem; font-weight: 700; line-height: 1.3; }
.bh-system-package__features { margin: 0 0 12px; padding: 0; list-style: none; }
.bh-system-package__features li { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 6px; color: #e4dccd; font-size: .8rem; line-height: 1.35; }
.bh-system-package__features i { flex: 0 0 auto; margin-top: 2px; color: #d7a95f; font-size: .78rem; }
.bh-system-package__price { margin-top: auto; margin-bottom: 12px; color: #f0c674; font-size: 1.3rem; font-weight: 800; }
.bh-system-package__actions { display: flex; gap: 8px; }
.bh-system-package__btn { flex: 1 1 0; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 6px 10px; border-radius: 7px; font-size: .8rem; font-weight: 600; text-align: center; text-decoration: none; transition: background .18s ease, color .18s ease, border-color .18s ease; }
.bh-system-package__btn--ghost { border: 1px solid rgba(255, 255, 255, .35); color: #fff; background: transparent; }
.bh-system-package__btn--ghost:hover { border-color: #f0c674; color: #f0c674; }
.bh-system-package__btn--gold { border: 0; background: linear-gradient(180deg, #f3d9a4, #c99a52); color: #2a1a08; }
.bh-system-package__btn--gold:hover { background: linear-gradient(180deg, #f8e5bd, #d7a95f); color: #1b1004; }

@media (max-width: 1199.98px) {
    .bh-system-packages__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .bh-system-packages { padding: 16px 12px 18px; border-radius: 10px; }
    .bh-system-packages__head { flex-direction: column; gap: 10px; }
    /* Swipeable row on phones so each card keeps a readable width. */
    .bh-system-packages__grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .bh-system-packages__grid::-webkit-scrollbar { display: none; }
    .bh-system-package { scroll-snap-align: start; }
    .bh-system-package__btn { font-size: .76rem; }
}

/* Mobile drawer: expandable category submenus. */
.bh-mobile-drawer__cat { border-bottom: 1px solid #eee; }
.bh-mobile-drawer__cat-row { display: flex; align-items: stretch; }
.bh-mobile-drawer__categories .bh-mobile-drawer__cat-row > a { flex: 1 1 auto; min-width: 0; border-bottom: 0; }
.bh-mobile-drawer__cat-toggle { flex: 0 0 52px; display: flex; align-items: center; justify-content: center; border: 0; border-left: 1px solid #eee; background: transparent; color: #555; font-size: .8rem; }
.bh-mobile-drawer__cat-toggle i { transition: transform .2s ease; }
.bh-mobile-drawer__cat.is-open .bh-mobile-drawer__cat-row > a,
.bh-mobile-drawer__cat.is-open .bh-mobile-drawer__cat-toggle { color: #9b642b; }
.bh-mobile-drawer__cat.is-open .bh-mobile-drawer__cat-toggle i { transform: rotate(180deg); }
.bh-mobile-drawer__sub { display: flex; flex-direction: column; padding: 4px 0 8px; background: #faf7f2; }
.bh-mobile-drawer__sub[hidden] { display: none; }
.bh-mobile-drawer__categories .bh-mobile-drawer__sub a { padding: 10px 20px 10px 34px; border-bottom: 0; color: #333; font-size: .84rem; font-weight: 500; }
.bh-mobile-drawer__categories .bh-mobile-drawer__sub a:active,
.bh-mobile-drawer__categories .bh-mobile-drawer__sub a:hover { color: #9b642b; }

/* Product detail: "Giá tham khảo" price block, stacked: price row, saving line, full-width CTA. */
.bh-pd-price-box.bh-pd-price-box--ref { display: flex; flex-direction: column; align-items: stretch; gap: 6px; padding: 10px 14px; border-radius: 6px; background: #fff; border: 1px solid #eee; }
.bh-pd-price-box--ref .bh-pd-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0; }
.bh-pd-price-box--ref .bh-pd-price__label { color: #333; font-size: 1.05rem; font-weight: 700; }
.bh-pd-price-box--ref .bh-pd-price__value { color: #e30019; font-size: 1.35rem; font-weight: 700; line-height: 1.2; }
.bh-pd-price-box--ref .bh-pd-price__old { color: #888; font-size: .9rem; white-space: nowrap; }
.bh-pd-price-box--ref .bh-pd-price__saving { color: #555; font-size: .8rem; }
.bh-pd-price-box--ref .bh-pd-price__saving span { color: #e30019; }
.bh-pd-price-box--ref .bh-pd-contact-cta { display: flex; align-items: center; justify-content: center; width: 100%; height: auto; min-height: 36px; padding: 6px 12px; border-radius: 4px; background: #f7b733; color: #fff; font-size: .88rem; font-weight: 500; text-align: center; text-decoration: none; }
.bh-pd-price-box--ref .bh-pd-contact-cta:hover { color: #fff; background: #f0a91b; opacity: 1; }

/* Product reviews: summary + filters, list, and the "Đánh giá sản phẩm" popup. */
.bh-review { padding: 0; scroll-margin-top: 90px; }
.bh-review__flash { margin-bottom: 12px; padding: 10px 14px; border-radius: 4px; font-size: .9rem; }
.bh-review__flash--success { background: #edf7e6; color: #3d7a1c; }
.bh-review__flash--error { background: #fdecec; color: #b42318; }
.bh-review__summary { display: flex; gap: 24px; align-items: flex-start; padding: 18px 20px; background: #f1f7ea; }
.bh-review__score { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 150px; text-align: center; }
.bh-review__score strong { color: #e8711c; font-size: 1.9rem; font-weight: 500; line-height: 1.1; }
.bh-review__score small { color: #555; font-size: .8rem; }
.bh-review__stars { color: #f5a623; font-size: 1.15rem; letter-spacing: 1px; }
.bh-review__stars .is-off { color: #d9d9d9; }
.bh-review__stars--sm { font-size: .85rem; }
.bh-review__open { margin-top: 12px; padding: 8px 18px; border: 0; border-radius: 3px; background: #7cb342; color: #fff; font-size: .85rem; cursor: pointer; }
.bh-review__open:hover { background: #689f38; }
.bh-review__filters { display: flex; flex-wrap: wrap; gap: 8px; }
.bh-review__filters button { padding: 6px 12px; border: 1px solid #ddd; border-radius: 3px; background: #fff; color: #333; font-size: .8rem; cursor: pointer; }
.bh-review__filters button.is-active { border-color: #7cb342; color: #7cb342; }
.bh-review__list { padding: 6px 20px 10px; }
.bh-review__empty { margin: 14px 0; color: #777; font-size: .9rem; }
.bh-review__item { padding: 14px 0; border-bottom: 1px solid #f0f0f0; }
.bh-review__item:last-of-type { border-bottom: 0; }
.bh-review__head { display: flex; align-items: center; gap: 8px; }
.bh-review__head strong { font-size: .88rem; }
.bh-review__content { margin: 6px 0; color: #333; font-size: .88rem; }
.bh-review__images { display: flex; gap: 8px; margin: 8px 0; }
.bh-review__images img { width: 64px; height: 64px; object-fit: cover; border-radius: 3px; border: 1px solid #eee; }
.bh-review__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; color: #999; font-size: .78rem; }
.bh-review__meta button { padding: 0; border: 0; background: none; color: #7cb342; font-size: .78rem; cursor: pointer; }
.bh-review__meta button.is-done { color: #999; cursor: default; }
.bh-review__reply { margin-top: 8px; padding: 8px 12px; border-left: 3px solid #7cb342; background: #f8faf5; font-size: .85rem; }
.bh-review__reply p { margin: 2px 0 0; }
.bh-review-modal { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.bh-review-modal[hidden] { display: none; }
.bh-review-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .45); }
.bh-review-modal__dialog { position: relative; width: 100%; max-width: 520px; max-height: calc(100vh - 32px); overflow: auto; padding: 22px 24px; border-radius: 4px; background: #fff; }
.bh-review-modal__close { position: absolute; top: 10px; right: 12px; border: 0; background: none; color: #333; font-size: 1.2rem; cursor: pointer; }
.bh-review-modal__dialog h3 { margin: 0; font-size: 1rem; font-weight: 500; text-align: center; }
.bh-review-modal__product { margin: 4px 0 16px; font-size: 1rem; font-weight: 700; text-align: center; }
.bh-review-modal-open { overflow: hidden; }
.bh-review-form__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 12px; font-size: .88rem; }
.bh-review-form__stars { display: flex; gap: 2px; }
.bh-review-form__stars label { margin: 0; color: #d9d9d9; font-size: 1.7rem; line-height: 1; cursor: pointer; }
.bh-review-form__stars label.is-on { color: #f5b301; }
.bh-review-form__stars input { position: absolute; opacity: 0; pointer-events: none; }
.bh-review-form__input { width: 100%; margin-bottom: 12px; padding: 9px 12px; border: 1px solid #ddd; border-radius: 4px; font-size: .88rem; }
.bh-review-form__box { border: 1px solid #ddd; border-radius: 4px; }
.bh-review-form__box textarea { display: block; width: 100%; padding: 10px 12px; border: 0; border-radius: 4px 4px 0 0; font-size: .88rem; resize: vertical; outline: none; }
.bh-review-form__attach { display: flex; align-items: center; gap: 8px; margin: 0; padding: 8px 12px; border-top: 1px solid #eee; color: #888; font-size: .85rem; cursor: pointer; }
.bh-review-form__attach i { color: #7cb342; }
.bh-review-form__previews { display: flex; gap: 6px; padding: 0 12px; }
.bh-review-form__previews:not(:empty) { padding-bottom: 10px; }
.bh-review-form__previews img { width: 56px; height: 56px; object-fit: cover; border-radius: 3px; }
.bh-review-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.bh-review-form__actions { margin-top: 16px; text-align: center; }
.bh-review-form__actions button { padding: 9px 22px; border: 0; border-radius: 3px; background: #7cb342; color: #fff; font-size: .9rem; cursor: pointer; }
.bh-review-form__actions button:hover { background: #689f38; }
@media (max-width: 767px) {
    .bh-review__summary { flex-direction: column; align-items: stretch; padding: 14px; }
    .bh-review__list { padding: 6px 14px 10px; }
}

/* Product detail: brand box */
.bh-pd-brand { margin-bottom: 10px; padding: 12px 14px; border: 1px solid #f1d4d4; border-radius: 6px; background: #fdeeee; }
.bh-pd-brand__info { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.bh-pd-brand__logo { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 40px; padding: 4px; border-radius: 4px; background: #fff; }
.bh-pd-brand__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.bh-pd-brand__name { margin: 0; color: #4a270d; font-size: 16px; font-weight: 800; line-height: 1.35; }
.bh-pd-brand__name a { color: inherit; text-decoration: none; }
.bh-pd-brand__name a:hover { color: #cf171c; }
.bh-pd-brand__all { display: block; padding: 8px 12px; border: 1px solid #4a270d; border-radius: 4px; background: #fff; color: #4a270d; text-align: center; font-size: 13px; font-weight: 700; text-decoration: none; transition: background .2s, color .2s; }
.bh-pd-brand__all:hover { background: #4a270d; color: #fff; }

/* Contact form: only name + phone on one row, message full width */
.bh-contact-form__grid > .field-contactform-body { grid-column: 1 / -1; }

/* Product page: brand projects heading star + card date / "Xem chi tiết" */
.bh-pd-projects__head h2 { display: flex; align-items: center; gap: 8px; }
.bh-pd-projects__head h2 .fa-star { flex: 0 0 auto; color: #f5b301; }
.bh-pd-project-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; padding-top: 8px; border-top: 1px solid #eee; }
.bh-pd-project-card__foot span { color: #888; font-size: .78rem; white-space: nowrap; }
.bh-pd-project-card__foot span i { color: #999; }
.bh-pd-project-card__more { color: var(--bh-red); font-size: .8rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.bh-pd-project-card__more i { color: inherit; font-size: .72rem; }
.bh-pd-project-card__more:hover { text-decoration: underline; }
/* Image and title open the project too, not only "Xem chi tiết". */
a.bh-pd-project-card__image { display: block; }
.bh-pd-project-card__title { color: inherit; text-decoration: none; }
.bh-pd-project-card__title:hover { color: var(--bh-red); }
/* Product page: "Các sản phẩm cùng hãng" and "Sản phẩm liên quan" sit in bordered boxes. */
.bh-pd-box { margin: 10px 0 36px; padding: 20px 22px; border: 1px solid #e5e5e5; border-radius: 10px; background: #fff; }
/* The box supplies the spacing, so drop the row's own padding/margin. */
.bh-pd-related > .bh-category-products { margin-bottom: 0 !important; padding: 0; }
@media (max-width: 767.98px) {
    .bh-pd-box { margin-bottom: 24px; padding: 14px 10px; }
}
/* "Xem tất cả dự án": in the heading on desktop, under the cards on mobile. */
.bh-pd-projects__foot { display: none; }
@media (max-width: 767.98px) {
    .bh-pd-projects__head .bh-pd-projects__all { display: none; }
    .bh-pd-projects__foot { display: flex; justify-content: center; margin-top: 6px; }
    .bh-pd-projects__foot .bh-pd-projects__all { padding: 8px 18px; border: 1px solid var(--bh-red); border-radius: 6px; font-size: .85rem; }
}

/* Product page: "Cảm ơn khách hàng" block with looping slider */
.bh-pd-thanks { --bh-thanks-copper: #b0702c; position: relative; overflow: hidden; margin: 10px 0 40px; padding: 30px 28px 22px; border: 1px solid #f1e9dc; border-radius: 16px; background: radial-gradient(120% 90% at 0% 100%, rgba(226, 203, 165, .28) 0%, rgba(226, 203, 165, 0) 55%), linear-gradient(180deg, #fdfbf7 0%, #f8f2e8 100%); box-shadow: 0 4px 18px rgba(120, 90, 50, .08); }
.bh-pd-thanks__head { margin-bottom: 22px; text-align: center; }
.bh-pd-thanks__head h2 { display: flex; align-items: center; justify-content: center; gap: 22px; margin: 0 0 8px; color: #2b1f14; font-size: 1.45rem; font-weight: 900; line-height: 1.3; text-transform: uppercase; }
.bh-pd-thanks__head h2::before,
.bh-pd-thanks__head h2::after { content: ""; flex: 0 0 70px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, rgba(176, 112, 44, 0), var(--bh-thanks-copper)); }
.bh-pd-thanks__head h2::after { transform: scaleX(-1); }
.bh-pd-thanks__head p { margin: 0; color: #6b6259; font-size: .95rem; }
.bh-pd-thanks__body { display: grid; grid-template-columns: minmax(300px, 32%) 1fr; gap: 24px; align-items: center; }
.bh-pd-thanks__intro { display: flex; align-items: center; gap: 10px; min-width: 0; }
.bh-pd-thanks__map { flex: 0 0 34%; width: 34%; max-height: 300px; object-fit: contain; object-position: left center; mix-blend-mode: multiply; }
.bh-pd-thanks__stats { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0; text-align: center; }
.bh-pd-thanks__counter { background: linear-gradient(180deg, #d1913f 0%, #9a5a1e 100%); -webkit-background-clip: text; background-clip: text; color: var(--bh-thanks-copper); -webkit-text-fill-color: transparent; font-size: 3rem; font-weight: 900; line-height: 1; letter-spacing: -.5px; }
.bh-pd-thanks__counter-text { max-width: 230px; color: #4a4038; font-size: 1rem; font-weight: 500; line-height: 1.4; }
/* multiply drops a white logo background into the cream panel. */
.bh-pd-thanks__logo { max-width: 200px; max-height: 64px; margin-top: 16px; object-fit: contain; mix-blend-mode: multiply; }
.bh-pd-thanks__slider { position: relative; min-width: 0; padding-bottom: 34px; }
.bh-pd-thanks__viewport { overflow: hidden; border-radius: 12px; touch-action: pan-y; cursor: grab; user-select: none; }
.bh-pd-thanks__viewport.is-dragging { cursor: grabbing; }
.bh-pd-thanks__track { --bh-thanks-per-view: 3; --bh-thanks-gap: 16px; display: flex; gap: var(--bh-thanks-gap); will-change: transform; }
.bh-pd-thanks__track.is-animating { transition: transform .45s ease; }
.bh-pd-thanks__slide { flex: 0 0 calc((100% - (var(--bh-thanks-per-view) - 1) * var(--bh-thanks-gap)) / var(--bh-thanks-per-view)); aspect-ratio: 4 / 3; overflow: hidden; border-radius: 12px; background: #fff; box-shadow: 0 3px 10px rgba(60, 40, 20, .12); }
/* Photos fill the frame; theme.js marks squarer shots (products on white) to be shown whole. */
.bh-pd-thanks__slide img { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.bh-pd-thanks__slide img.is-contained { object-fit: contain; }
.bh-pd-thanks__nav { position: absolute; top: calc(50% - 17px); z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 3px 12px rgba(0, 0, 0, .18); color: #222; font-size: .95rem; transform: translateY(-50%); transition: background .2s, color .2s; }
.bh-pd-thanks__nav:hover { background: var(--bh-thanks-copper); color: #fff; }
.bh-pd-thanks__nav--prev { left: -12px; }
.bh-pd-thanks__nav--next { right: -12px; }
.bh-pd-thanks__dots { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: center; gap: 10px; }
.bh-pd-thanks__dots button { width: 12px; height: 12px; padding: 0; border: 0; border-radius: 50%; background: #d9d6d1; transition: background .25s, transform .25s; }
.bh-pd-thanks__dots button.is-active { background: var(--bh-thanks-copper); transform: scale(1.15); }
.bh-pd-thanks.is-static .bh-pd-thanks__nav, .bh-pd-thanks.is-static .bh-pd-thanks__dots { display: none; }

@media (max-width: 991.98px) {
    .bh-pd-thanks__body { grid-template-columns: 1fr; }
    .bh-pd-thanks__intro { justify-content: center; }
    .bh-pd-thanks__map { flex-basis: 110px; width: 110px; max-height: 180px; }
    .bh-pd-thanks__stats { flex: 0 1 auto; }
    .bh-pd-thanks__track { --bh-thanks-per-view: 2; }
    .bh-pd-thanks__nav--prev { left: 6px; }
    .bh-pd-thanks__nav--next { right: 6px; }
}

@media (max-width: 575.98px) {
    .bh-pd-thanks { padding: 22px 12px 16px; }
    .bh-pd-thanks__head h2 { gap: 10px; font-size: 1.05rem; }
    .bh-pd-thanks__head h2::before,
    .bh-pd-thanks__head h2::after { flex-basis: 24px; }
    .bh-pd-thanks__head p { font-size: .85rem; }
    .bh-pd-thanks__map { flex-basis: 80px; width: 80px; }
    .bh-pd-thanks__counter { font-size: 2.2rem; }
    .bh-pd-thanks__counter-text { font-size: .9rem; }
    .bh-pd-thanks__logo { max-width: 150px; margin-top: 8px; }
    .bh-pd-thanks__track { --bh-thanks-per-view: 1.2; --bh-thanks-gap: 10px; }
    .bh-pd-thanks__nav { width: 34px; height: 34px; }
}
/* Product page: "Hỏi và đáp" */
.bh-qa { margin: 10px 0 36px; padding: 20px 22px; border-radius: 10px; background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .08); }
.bh-qa__title { margin: 0 0 14px; color: #111; font-size: 1.15rem; font-weight: 800; }
.bh-qa__flash { margin-bottom: 12px; padding: 9px 12px; border-radius: 6px; font-size: .9rem; }
.bh-qa__flash--success { background: #e9f7ef; color: #1e7b45; }
.bh-qa__flash--error { background: #fdecea; color: #b42318; }
.bh-qa-form { display: grid; grid-template-columns: 1fr minmax(260px, 46%); gap: 12px; margin-bottom: 18px; }
.bh-qa-form textarea, .bh-qa-form input { width: 100%; padding: 9px 12px; border: 1px solid #ddd; border-radius: 6px; background: #fff; color: #222; font-size: .88rem; outline: none; transition: border-color .2s; }
.bh-qa-form textarea { min-height: 96px; resize: vertical; }
.bh-qa-form textarea:focus, .bh-qa-form input:focus { border-color: #f37021; }
.bh-qa-form__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-content: start; }
.bh-qa-form__fields button { grid-column: 1 / -1; padding: 9px 12px; border: 0; border-radius: 6px; background: #f37021; color: #fff; font-size: .9rem; font-weight: 700; transition: background .2s; }
.bh-qa-form__fields button:hover { background: #d95f14; }
.bh-qa-form__hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0; }
.bh-qa-form--reply { margin: 12px 0 0; padding: 12px; border-radius: 8px; background: #f7f7f7; }
.bh-qa-form--reply[hidden] { display: none; }
.bh-qa-form--reply .bh-qa-form__fields { grid-template-columns: 1fr; }
.bh-qa__empty { margin: 0; color: #888; font-size: .9rem; }
.bh-qa__item { padding: 14px 0; border-top: 1px solid #eee; }
.bh-qa__name { color: #111; font-size: .92rem; font-weight: 700; }
.bh-qa__content { margin: 4px 0 6px; color: #333; font-size: .9rem; line-height: 1.5; word-break: break-word; }
.bh-qa__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #999; font-size: .8rem; }
.bh-qa__meta button { padding: 0; border: 0; background: none; color: #1f6fd1; font-size: .8rem; font-weight: 600; }
.bh-qa__meta button:hover { text-decoration: underline; }
.bh-qa__like.is-done { color: #f37021; }
.bh-qa__like:disabled { cursor: default; text-decoration: none !important; }
.bh-qa__replies { display: grid; gap: 8px; margin-top: 10px; }
.bh-qa__reply { position: relative; padding: 10px 14px; border-radius: 8px; background: #f3f4f6; }
.bh-qa__reply::before { content: ""; position: absolute; top: -6px; left: 18px; border: 6px solid transparent; border-top: 0; border-bottom-color: #f3f4f6; }
.bh-qa__reply-head { display: flex; align-items: center; gap: 8px; }
.bh-qa__badge { padding: 1px 7px; border-radius: 3px; background: #f37021; color: #fff; font-size: .7rem; font-weight: 600; }

@media (max-width: 767.98px) {
    .bh-qa { padding: 16px 12px; }
    .bh-qa-form { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
    .bh-qa-form__fields { grid-template-columns: 1fr; }
}

/* iOS Safari zooms the page in on focus of any field under 16px (Q&A form, header search, ...).
   Scoped to iOS (-webkit-touch-callout) so desktop/Android keep their sizes. */
@supports (-webkit-touch-callout: none) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
    textarea,
    select { font-size: 16px !important; }
}

/* Product names rendered as headings keep the look of the former inline labels. */
h3.bh-row-card__name,
h3.bh-solution-card__name { margin-top: 0; color: inherit; font-family: inherit; }
h3.bh-solution-card__name { font-weight: inherit; }

.bh-reference-footer__newsletter-title { margin: 0 0 12px; color: #f2e3c4; font-size: .9rem; font-weight: 800; letter-spacing: .02em; }
