/*!
 * BN Product Conversion UI 3.0 — Giao diện DJI Store (bnx3)
 * Mọi quy tắc nằm dưới body.bnx3 (+ class khối: bnx3-hd-on, bnx3-ft-on, bnx3-pdp, bnx3-cat).
 * Số đo theo khao-sat-dji-goc.md (store.dji.com, 07/10/2026).
 * !important chỉ dùng khi phải thắng style inline / style id của UX Builder hoặc JS của Flatsome/Woo — có ghi [!] lý do.
 */

/* ===================================================================== tokens */
body.bnx3 {
    --x-bg: #FFFFFF;
    --x-soft: #F7F9FA;
    --x-benefit: #F6F8F9;
    --x-card: rgba(0, 0, 0, .04);
    --x-tile: rgba(0, 0, 0, .05);
    --x-border: #DDDDDD;
    --x-line: rgba(0, 0, 0, .09);
    --x-nav-line: rgba(0, 0, 0, .06);
    --x-divider: #F0F1F2;
    --x-text: #3B3E40;
    --x-title: #333333;
    --x-strong: rgba(0, 0, 0, .85);
    --x-text-2: rgba(0, 0, 0, .65);
    --x-text-3: rgba(0, 0, 0, .45);
    --x-footer: #6C7073;
    --x-blue: #0060EF;
    --x-blue-h: #004ECB;
    --x-blue-soft: rgba(0, 96, 239, .13);
    --x-flag: #FA8C16;
    --x-promo: #BE4E04;
    --x-danger: #F5222D;
    --x-font: "Open Sans", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --x-ease: .3s cubic-bezier(.23, 1, .32, 1);
    --x-shadow-pop: 0 8px 16px rgba(0, 0, 0, .1);
    --x-bar-h: 0px;
}
/* 3.1: font/màu 3.0 chỉ trong header (trang SP/danh mục giữ chữ cũ). */
body.bnx3 #bnx3-header {
    font-family: var(--x-font);
    color: var(--x-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body.bnx3 #bnx3-header :is(h1, h2, h3, h4, h5, h6, .heading-font, .button, button, input, select, textarea, .alt-font) {
    font-family: var(--x-font);
    letter-spacing: 0;
}
/* Flatsome đặt body{overflow-x:hidden} trên mobile → body thành vùng cuộn, position:sticky (header mobile, gallery) hỏng. */
html body.bnx3 { overflow-x: clip; overflow-y: visible; }
body.bnx3 .bnx3-wrap { box-sizing: border-box; width: 100%; max-width: 1248px; margin: 0 auto; padding: 0 24px; }
body.bnx3 .bnx3-hidden { display: none; }
body.bnx3 .bnx3-ico { display: block; flex: 0 0 auto; }

/* Buttons (pill, 48px) */
body.bnx3 .bnx3-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    box-sizing: border-box; min-height: 48px; margin: 0; padding: 14px 32px;
    border: 0; border-radius: 9999px; font: 600 16px/20px var(--x-font);
    text-transform: none; letter-spacing: 0; white-space: nowrap; cursor: pointer;
    transition: background-color var(--x-ease), color var(--x-ease);
}
body.bnx3 .bnx3-btn--primary { background: var(--x-blue); color: #fff; }
body.bnx3 .bnx3-btn--primary:hover { background: var(--x-blue-h); color: #fff; }
body.bnx3 .bnx3-btn--soft { background: var(--x-blue-soft); color: var(--x-blue); }
body.bnx3 .bnx3-btn--soft:hover { background: rgba(0, 96, 239, .2); color: var(--x-blue-h); }
body.bnx3 .bnx3-btn[disabled] { background: rgba(0, 0, 0, .08); color: var(--x-text-3); cursor: not-allowed; }
body.bnx3 .bnx3-icon-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 50%;
    background: transparent; color: var(--x-strong); cursor: pointer; line-height: 1; min-height: 0; box-shadow: none;
}
body.bnx3 .bnx3-icon-btn:hover { color: #000; background: rgba(0, 0, 0, .04); }
body.bnx3 :focus-visible { outline: 2px solid var(--x-blue); outline-offset: 2px; }

/* ===================================================================== HEADER */
body.bnx3-hd-on .bnx3-hd { position: relative; z-index: 300; background: #fff; font-family: var(--x-font); }
body.bnx3-hd-on .bnx3-util { background: var(--x-soft); font-size: 12px; line-height: 16px; color: var(--x-text-2); }
body.bnx3-hd-on .bnx3-util__in { display: flex; align-items: center; justify-content: space-between; height: 40px; gap: 24px; }
body.bnx3-hd-on .bnx3-util__text { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
body.bnx3-hd-on .bnx3-util__tel { display: inline-flex; align-items: center; gap: 6px; color: var(--x-text-2); white-space: nowrap; }
body.bnx3-hd-on .bnx3-util__tel:hover { color: var(--x-blue); }

body.bnx3-hd-on .bnx3-nav { position: relative; background: #fff; border-bottom: .8px solid var(--x-nav-line); }
body.bnx3-hd-on .bnx3-nav__in { display: flex; align-items: center; height: 64px; }
body.bnx3-hd-on .bnx3-burger { display: none; margin-left: -8px; }
body.bnx3-hd-on .bnx3-logo { display: flex; align-items: center; flex: 0 0 auto; height: 64px; margin-right: 40px; }
body.bnx3-hd-on .bnx3-logo img { display: block; width: auto; height: 32px; max-width: 150px; object-fit: contain; }
body.bnx3-hd-on .bnx3-logo__text { font-size: 18px; font-weight: 700; color: #000; }

body.bnx3-hd-on .bnx3-menu { flex: 1 1 auto; min-width: 0; height: 64px; }
body.bnx3-hd-on .bnx3-menu__list { display: flex; align-items: stretch; height: 64px; margin: 0; padding: 0; list-style: none; }
body.bnx3-hd-on .bnx3-menu__item { position: static; margin: 0; list-style: none; }
body.bnx3-hd-on .bnx3-menu__link {
    position: relative; display: flex; align-items: center; height: 64px; padding: 0 16px;
    font: 400 14px/20px var(--x-font); color: var(--x-strong); text-transform: none; white-space: nowrap;
}
body.bnx3-hd-on .bnx3-menu__link::after {
    content: ""; position: absolute; left: 16px; right: 16px; bottom: 0; height: 1.6px;
    background: var(--x-strong); transform: scaleX(0); transition: transform var(--x-ease);
}
body.bnx3-hd-on .bnx3-menu__item.is-current > .bnx3-menu__link::after,
body.bnx3-hd-on .bnx3-menu__item.is-open > .bnx3-menu__link::after,
body.bnx3-hd-on .bnx3-menu__link:hover::after { transform: scaleX(1); }
body.bnx3-hd-on .bnx3-menu__link:hover { color: #000; }

body.bnx3-hd-on .bnx3-tools { display: flex; align-items: center; gap: 4px; margin-left: auto; padding-left: 16px; }
body.bnx3-hd-on .bnx3-cart { position: relative; }
body.bnx3-hd-on .bnx3-cart__link { position: relative; }
body.bnx3-hd-on .bnx3-cart-count {
    position: absolute; top: 4px; right: 2px; min-width: 16px; height: 16px; padding: 0 4px; box-sizing: border-box;
    border-radius: 8px; background: var(--x-blue); color: #fff; font: 600 10px/16px var(--x-font); text-align: center;
}
body.bnx3-hd-on .bnx3-cart-count.is-empty { display: none; }

/* Mini cart popover (hover icon giỏ) */
body.bnx3-hd-on .bnx3-minicart {
    position: absolute; top: calc(100% + 12px); right: -8px; z-index: 20; width: 360px; box-sizing: border-box;
    padding: 16px; border-radius: 8px; background: #fff; box-shadow: var(--x-shadow-pop);
    opacity: 0; visibility: hidden; transform: translateY(-4px);
    transition: opacity var(--x-ease), transform var(--x-ease), visibility 0s linear .3s;
}
body.bnx3-hd-on .bnx3-minicart::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
body.bnx3-hd-on .bnx3-cart:hover .bnx3-minicart,
body.bnx3-hd-on .bnx3-cart:focus-within .bnx3-minicart { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
body.bnx3-hd-on .bnx3-minicart .woocommerce-mini-cart__empty-message { margin: 0; font-size: 14px; color: #979797; text-align: center; }
body.bnx3-hd-on .bnx3-minicart ul.cart_list { max-height: 320px; margin: 0; padding: 0; overflow: auto; list-style: none; }
body.bnx3-hd-on .bnx3-minicart ul.cart_list li { position: relative; display: block; min-height: 64px; margin: 0; padding: 0 24px 12px 76px; font-size: 14px; line-height: 20px; list-style: none; }
body.bnx3-hd-on .bnx3-minicart ul.cart_list li img { position: absolute; left: 0; top: 0; width: 64px; height: 64px; margin: 0; object-fit: contain; background: var(--x-soft); }
body.bnx3-hd-on .bnx3-minicart ul.cart_list li a { color: var(--x-strong); font-weight: 600; }
body.bnx3-hd-on .bnx3-minicart ul.cart_list li .remove { position: absolute; right: 0; top: 0; left: auto; width: 20px; height: 20px; border: 0; color: var(--x-text-3); font-size: 18px; line-height: 20px; }
body.bnx3-hd-on .bnx3-minicart .quantity { display: block; color: var(--x-text-2); font-size: 12px; }
body.bnx3-hd-on .bnx3-minicart .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 8px 0 12px; padding: 12px 0 0; border-top: .8px solid var(--x-line); font-size: 14px; }
body.bnx3-hd-on .bnx3-minicart .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
body.bnx3-hd-on .bnx3-minicart .woocommerce-mini-cart__buttons .button {
    display: flex; align-items: center; justify-content: center; min-height: 40px; margin: 0; padding: 8px 16px;
    border: 0; border-radius: 9999px; background: var(--x-blue-soft); color: var(--x-blue); font: 600 14px/20px var(--x-font); text-transform: none;
}
body.bnx3-hd-on .bnx3-minicart .woocommerce-mini-cart__buttons .button.checkout { background: var(--x-blue); color: #fff; }

/* Search panel */
body.bnx3-hd-on .bnx3-search { position: absolute; left: 0; right: 0; top: 100%; z-index: 15; background: #fff; border-bottom: .8px solid var(--x-nav-line); box-shadow: var(--x-shadow-pop); }
body.bnx3-hd-on .bnx3-search[hidden] { display: none; }
body.bnx3-hd-on .bnx3-search__in { display: flex; align-items: center; gap: 16px; padding-top: 16px; padding-bottom: 16px; }
body.bnx3-hd-on .bnx3-search form { flex: 1 1 auto; margin: 0; }
body.bnx3-hd-on .bnx3-search .searchform .flex-row { align-items: center; }
body.bnx3-hd-on .bnx3-search input[type=search] {
    height: 44px; margin: 0; padding: 0 20px; border: 0; border-radius: 9999px; background: var(--x-soft);
    box-shadow: none; font-size: 16px; color: var(--x-strong);
}
body.bnx3-hd-on .bnx3-search button[type=submit], body.bnx3-hd-on .bnx3-search .ux-search-submit {
    height: 44px; min-height: 44px; margin: 0 0 0 8px; padding: 0 20px; border-radius: 9999px; background: var(--x-blue); color: #fff;
}
body.bnx3-hd-on .bnx3-search label.screen-reader-text { position: absolute; }
body.bnx3-hd-on .bnx3-search .live-search-results { border-radius: 8px; box-shadow: var(--x-shadow-pop); }

/* Mega menu */
body.bnx3-hd-on .bnx3-mega, body.bnx3-hd-on .bnx3-drop {
    position: absolute; left: 0; right: 0; top: 100%; z-index: 10;
    background: #fff; border-top: .8px solid var(--x-nav-line); box-shadow: 0 16px 24px rgba(0, 0, 0, .08);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .2s ease, visibility 0s linear .2s;
}
body.bnx3-hd-on .bnx3-menu__item.is-open > .bnx3-mega,
body.bnx3-hd-on .bnx3-menu__item.is-open > .bnx3-drop { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
/* Không JS: vẫn mở bằng hover/focus. */
html:not(.bnx3-js) body.bnx3-hd-on .bnx3-menu__item:hover > .bnx3-mega,
html:not(.bnx3-js) body.bnx3-hd-on .bnx3-menu__item:focus-within > .bnx3-mega { opacity: 1; visibility: visible; pointer-events: auto; }
body.bnx3-hd-on .bnx3-mega__in { position: relative; display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 40px; max-height: calc(100vh - 140px); padding-top: 24px; padding-bottom: 40px; overflow-y: auto; }
body.bnx3-hd-on .bnx3-mega__close { position: absolute; top: 12px; right: 16px; z-index: 2; }
body.bnx3-hd-on .bnx3-mega__sec { margin: 8px 0 4px; font-size: 12px; line-height: 16px; color: var(--x-text-3); }
body.bnx3-hd-on .bnx3-mega__sec ~ .bnx3-mega__sec { margin-top: 20px; }
body.bnx3-hd-on .bnx3-mega__groups { margin: 0; padding: 0; list-style: none; }
body.bnx3-hd-on .bnx3-mega__groups li { margin: 0; list-style: none; }
body.bnx3-hd-on .bnx3-mega__group {
    display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 8px; margin: 0 -8px;
    border-radius: 4px; font-size: 14px; line-height: 20px; color: var(--x-strong);
}
body.bnx3-hd-on .bnx3-mega__group:hover, body.bnx3-hd-on .bnx3-mega__group.is-active { background: var(--x-soft); color: #000; }
body.bnx3-hd-on .bnx3-mega__group.is-active span:last-child { font-weight: 600; }
body.bnx3-hd-on .bnx3-mega__gicon { display: flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; }
body.bnx3-hd-on .bnx3-mega__gicon img { width: 32px; height: 32px; object-fit: contain; mix-blend-mode: multiply; }
body.bnx3-hd-on .bnx3-mega__all { display: inline-flex; align-items: center; gap: 4px; margin-top: 16px; padding-top: 16px; border-top: .8px solid var(--x-line); width: 100%; font-size: 14px; color: var(--x-strong); }
body.bnx3-hd-on .bnx3-mega__all:hover, body.bnx3-hd-on .bnx3-mega__head a:hover { color: var(--x-blue); }
body.bnx3-hd-on .bnx3-mega__panel { display: none; }
body.bnx3-hd-on .bnx3-mega__panel.is-active { display: block; }
body.bnx3-hd-on .bnx3-mega__head { display: flex; align-items: baseline; gap: 16px; margin: 0 56px 16px 0; font-size: 16px; line-height: 24px; font-weight: 600; color: var(--x-strong); }
body.bnx3-hd-on .bnx3-mega__head a { display: inline-flex; align-items: center; gap: 2px; font-size: 14px; font-weight: 400; color: var(--x-text-2); }
body.bnx3-hd-on .bnx3-mega__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-auto-rows: 228px; gap: 4px; margin: 0; padding: 0; list-style: none; }
body.bnx3-hd-on .bnx3-tile { margin: 0; list-style: none; background: var(--x-tile); }
body.bnx3-hd-on .bnx3-tile a { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; box-sizing: border-box; padding: 16px 12px 20px; color: var(--x-strong); text-align: center; }
body.bnx3-hd-on .bnx3-tile__img { display: flex; align-items: center; justify-content: center; flex: 1 1 auto; width: 100%; height: 140px; min-height: 0; }
body.bnx3-hd-on .bnx3-tile__img img { display: block; width: 140px; height: 140px; max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform var(--x-ease); }
body.bnx3-hd-on .bnx3-tile a:hover img { transform: scale(1.04); }
body.bnx3-hd-on .bnx3-tile__name { display: -webkit-box; margin-top: 12px; overflow: hidden; font-size: 12px; line-height: 16px; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
body.bnx3-hd-on .bnx3-tile--big { grid-column: span 2; grid-row: span 2; }
body.bnx3-hd-on .bnx3-tile--big .bnx3-tile__img { height: 320px; }
body.bnx3-hd-on .bnx3-tile--big .bnx3-tile__img img { width: 300px; height: 300px; }
body.bnx3-hd-on .bnx3-tile--big .bnx3-tile__name { font-size: 16px; line-height: 24px; }
body.bnx3-hd-on .bnx3-tile__desc { display: -webkit-box; max-width: 320px; margin-top: 8px; overflow: hidden; font-size: 12px; line-height: 16px; color: var(--x-text-2); -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
body.bnx3-hd-on .bnx3-tile--all a { justify-content: center; }
body.bnx3-hd-on .bnx3-tile--all .bnx3-tile__arrow { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #666; color: #fff; }
body.bnx3-hd-on .bnx3-mega.is-cards .bnx3-mega__in { display: block; }
body.bnx3-hd-on .bnx3-mega__cards { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; padding: 8px 56px 0; }
body.bnx3-hd-on .bnx3-mega__card { width: 320px; background: var(--x-tile); }
body.bnx3-hd-on .bnx3-mega__card-img { display: block; aspect-ratio: 16 / 9; overflow: hidden; }
body.bnx3-hd-on .bnx3-mega__card-img img { width: 100%; height: 100%; object-fit: cover; }
body.bnx3-hd-on .bnx3-mega__card-name { display: block; padding: 16px; font-size: 14px; line-height: 20px; color: var(--x-strong); text-align: center; }
body.bnx3-hd-on .bnx3-drop { left: auto; right: auto; min-width: 240px; padding: 16px 24px; border-radius: 0 0 8px 8px; }
body.bnx3-hd-on .bnx3-drop__list, body.bnx3-hd-on .bnx3-drop__list ul { margin: 0; padding: 0; list-style: none; }
body.bnx3-hd-on .bnx3-drop__list a, body.bnx3-hd-on .bnx3-drop__list span { display: block; padding: 6px 0; font-size: 14px; color: var(--x-strong); }
body.bnx3-hd-on .bnx3-drop__list ul a { padding-left: 12px; color: var(--x-text-2); }
body.bnx3-hd-on .bnx3-menu__item { position: relative; }
body.bnx3-hd-on .bnx3-menu.is-mega .bnx3-menu__item { position: static; }
body.bnx3-hd-on .bnx3-veil { position: fixed; inset: 0; z-index: 250; background: rgba(0, 0, 0, .25); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility 0s linear .2s; }
body.bnx3-hd-on.bnx3-mega-open .bnx3-veil { opacity: 1; visibility: visible; transition-delay: 0s; }

/* Mobile drawer (dựng bằng JS từ menu desktop) */
body.bnx3-hd-on .bnx3-drawer { position: fixed; inset: 0; z-index: 100000; visibility: hidden; }
body.bnx3-hd-on .bnx3-drawer.is-open { visibility: visible; }
body.bnx3-hd-on .bnx3-drawer__veil { position: absolute; inset: 0; background: rgba(0, 0, 0, .45); opacity: 0; transition: opacity var(--x-ease); }
body.bnx3-hd-on .bnx3-drawer.is-open .bnx3-drawer__veil { opacity: 1; }
body.bnx3-hd-on .bnx3-drawer__box {
    position: absolute; left: 0; top: 0; bottom: 0; width: min(360px, 88vw); overflow: hidden; background: #fff;
    transform: translateX(-100%); transition: transform var(--x-ease);
}
body.bnx3-hd-on .bnx3-drawer.is-open .bnx3-drawer__box { transform: none; }
body.bnx3-hd-on .bnx3-drawer__level { position: absolute; inset: 0; display: flex; flex-direction: column; background: #fff; transform: translateX(100%); transition: transform var(--x-ease); }
body.bnx3-hd-on .bnx3-drawer__level.is-current { transform: none; }
body.bnx3-hd-on .bnx3-drawer__level.is-past { transform: translateX(-30%); }
body.bnx3-hd-on .bnx3-drawer__head { display: flex; align-items: center; gap: 8px; height: 56px; padding: 0 12px 0 16px; border-bottom: .8px solid var(--x-nav-line); }
body.bnx3-hd-on .bnx3-drawer__title { flex: 1 1 auto; margin: 0; overflow: hidden; font-size: 16px; font-weight: 600; color: var(--x-strong); white-space: nowrap; text-overflow: ellipsis; }
body.bnx3-hd-on .bnx3-drawer__list { flex: 1 1 auto; margin: 0; padding: 8px 0; overflow-y: auto; list-style: none; }
body.bnx3-hd-on .bnx3-drawer__list li { margin: 0; list-style: none; }
body.bnx3-hd-on .bnx3-drawer__row { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px; margin: 0; padding: 0 24px; border: 0; background: none; box-sizing: border-box; font: 400 16px/22px var(--x-font); color: var(--x-strong); text-align: left; text-transform: none; cursor: pointer; }
body.bnx3-hd-on .bnx3-drawer__row img { width: 32px; height: 32px; object-fit: contain; mix-blend-mode: multiply; }
body.bnx3-hd-on .bnx3-drawer__row span { flex: 1 1 auto; }
body.bnx3-hd-on .bnx3-drawer__row--all { color: var(--x-blue); font-size: 14px; }
body.bnx3-hd-on .bnx3-drawer__foot { padding: 16px 24px 24px; border-top: .8px solid var(--x-nav-line); }
body.bnx3-hd-on .bnx3-drawer__tel { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--x-strong); }
html.bnx3-lock, html.bnx3-lock body { overflow: hidden; }

@media (max-width: 1023px) {
    body.bnx3-hd-on .bnx3-util, body.bnx3-hd-on .bnx3-menu { display: none; }
    body.bnx3-hd-on .bnx3-hd { position: sticky; top: 0; }
    body.bnx3-hd-on.admin-bar .bnx3-hd { top: 46px; }
    body.bnx3-hd-on .bnx3-nav__in { height: 56px; position: relative; }
    body.bnx3-hd-on .bnx3-burger { display: inline-flex; }
    /* Logo giữa thanh (burger trái, công cụ phải); img không cắt mép chữ "HA NOI". */
    body.bnx3-hd-on .bnx3-logo { position: absolute; top: 0; left: 50%; transform: translateX(-50%); height: 56px; margin: 0; }
    body.bnx3-hd-on .bnx3-logo img { height: 28px; max-width: none; object-fit: fill; overflow: visible; }
    body.bnx3-hd-on .bnx3-minicart { display: none; }
    body.bnx3-hd-on .bnx3-wrap { padding: 0 16px; }
    body.bnx3-hd-on .bnx3-search__in { padding-top: 12px; padding-bottom: 12px; }
}
@media (min-width: 1024px) {
    body.bnx3-hd-on .bnx3-drawer { display: none; }
}
@media (min-width: 1024px) and (max-width: 1240px) {
    body.bnx3-hd-on .bnx3-menu__link { padding: 0 10px; }
    body.bnx3-hd-on .bnx3-menu__link::after { left: 10px; right: 10px; }
    body.bnx3-hd-on .bnx3-logo { margin-right: 20px; }
}

/* ===================================================================== FOOTER */
body.bnx3-ft-on #footer.footer-wrapper { background: var(--x-soft); font-family: var(--x-font); }
body.bnx3-ft-on #footer .is-divider { display: none; }
body.bnx3-ft-on .bnx3-ft { padding-bottom: 40px; color: var(--x-text); }
body.bnx3-ft-on .bnx3-ft__block { padding: 0; }
/* [!] Section/ảnh/chữ của UX Block mang style theo #id (padding, nền, line-height, width) → cần !important để về số đo DJI. */
body.bnx3-ft-on .bnx3-ft__block > .section { padding: 0 !important; margin: 0 !important; background: transparent !important; }
body.bnx3-ft-on .bnx3-ft__block .section-bg { display: none; }
body.bnx3-ft-on .bnx3-ft__block .row { max-width: none; margin-left: 0; margin-right: 0; }
body.bnx3-ft-on .bnx3-ft__block .col { padding-bottom: 0; }
/* Dải cam kết */
body.bnx3-ft-on .bnx3-ft__block .section-content > .row:first-child { padding: 48px 0; border-bottom: .8px solid #E6E8EA; }
body.bnx3-ft-on .bnx3-ft__block .icon-box { display: flex; flex-direction: column; align-items: center; text-align: center; }
body.bnx3-ft-on .bnx3-ft__block .icon-box-img { width: 48px !important; margin: 0 auto 12px; } /* [!] width inline style */
body.bnx3-ft-on .bnx3-ft__block .icon-box-img img { width: 48px; height: 48px; object-fit: contain; filter: grayscale(1) brightness(.35); }
body.bnx3-ft-on .bnx3-ft__block .icon-box-text, body.bnx3-ft-on .bnx3-ft__block .icon-box-text * { font-size: 14px !important; line-height: 20px; color: var(--x-text) !important; font-weight: 400; } /* [!] span style inline */
/* Khối link */
body.bnx3-ft-on .bnx3-ft__block .section-content > .row:last-child { padding-top: 56px; }
body.bnx3-ft-on .bnx3-ft__block .section-content > .row:last-child > .col > .col-inner { padding: 0; }
body.bnx3-ft-on .bnx3-ft__block .section-content > .row:last-child > .col > .col-inner > p:first-child,
body.bnx3-ft-on .bnx3-ft__block .section-content > .row:last-child > .col > .col-inner > .text:first-child > p:first-child,
body.bnx3-ft-on .bnx3-ft__block .subscribe-title {
    margin: 0 0 8px; font-size: 12px !important; line-height: 24px; font-weight: 600; color: var(--x-text); text-transform: none; letter-spacing: 0;
}
body.bnx3-ft-on .bnx3-ft__block .section-content > .row:last-child p:first-child span { font-size: 12px !important; font-weight: 600; } /* [!] span font-size 90% inline */
body.bnx3-ft-on .bnx3-ft__block ul { margin: 0; padding: 0; list-style: none; }
body.bnx3-ft-on .bnx3-ft__block li.bullet-arrow { margin: 0; padding: 0; list-style: none; line-height: 24px; }
body.bnx3-ft-on .bnx3-ft__block li.bullet-arrow::before { display: none; }
body.bnx3-ft-on .bnx3-ft__block li a, body.bnx3-ft-on .bnx3-ft__block li span { font-size: 12px !important; line-height: 24px; color: var(--x-footer) !important; } /* [!] style="color:#000;font-size:80%" inline */
body.bnx3-ft-on .bnx3-ft__block li a:hover { color: var(--x-blue) !important; }
body.bnx3-ft-on .bnx3-ft__block .text, body.bnx3-ft-on .bnx3-ft__block .text p { line-height: 20px !important; } /* [!] #text-… {line-height:.8} */
body.bnx3-ft-on .bnx3-ft__block .text p { margin: 0 0 2px; }
body.bnx3-ft-on .bnx3-ft__block .text p span { font-size: 12px !important; color: var(--x-footer); } /* [!] span 75% inline */
body.bnx3-ft-on .bnx3-ft__block .text p strong { color: var(--x-text); font-weight: 600; }
body.bnx3-ft-on .bnx3-ft__block .img { margin: 0 0 12px; }
body.bnx3-ft-on .bnx3-ft__block .img .img-inner img { width: auto; max-width: 140px; height: auto; }
body.bnx3-ft-on .bnx3-ft__block .img a .img-inner img { max-width: 120px; margin-top: 8px; }
body.bnx3-ft-on .bnx3-ft__block .col-inner > p:first-child span { font-size: 12px !important; }
/* Form đăng ký nhận tin (CF7) */
body.bnx3-ft-on .bnx3-ft__block .wpcf7 { max-width: 260px; }
body.bnx3-ft-on .bnx3-ft__block .wpcf7 label { margin: 0 0 2px; font-size: 12px; font-weight: 400; color: var(--x-footer); }
body.bnx3-ft-on .bnx3-ft__block .wpcf7 .control { margin-bottom: 8px !important; } /* [!] mb-3 utility */
body.bnx3-ft-on .bnx3-ft__block .wpcf7 input[type=text], body.bnx3-ft-on .bnx3-ft__block .wpcf7 input[type=email], body.bnx3-ft-on .bnx3-ft__block .wpcf7 input[type=tel] {
    height: 32px; margin: 0; padding: 0 10px; border: .8px solid #DDDDDD; border-radius: 4px; background: #fff; box-shadow: none; font-size: 12px; color: var(--x-strong);
}
body.bnx3-ft-on .bnx3-ft__block .wpcf7 input[type=submit] {
    min-height: 32px; height: 32px; margin: 4px 0 0; padding: 0 20px; border: 0; border-radius: 9999px; background: var(--x-blue); color: #fff; font-size: 12px; font-weight: 600; line-height: 32px; text-transform: none;
}
body.bnx3-ft-on .bnx3-ft__block .wpcf7 input[type=submit]:hover { background: var(--x-blue-h); }
/* Hàng logo + MXH + bản quyền */
body.bnx3-ft-on .bnx3-ft__bar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 48px; padding-top: 20px; padding-bottom: 20px; border-top: .8px solid #E6E8EA; border-bottom: .8px solid #E6E8EA; }
body.bnx3-ft-on .bnx3-ft__brand { display: flex; align-items: center; gap: 32px; font-size: 12px; color: var(--x-footer); }
body.bnx3-ft-on .bnx3-ft__logo img { display: block; width: auto; height: 24px; }
body.bnx3-ft-on .bnx3-ft__links a { margin-right: 24px; color: var(--x-footer); }
body.bnx3-ft-on .bnx3-ft__social { display: flex; gap: 16px; margin: 0; padding: 0; list-style: none; }
body.bnx3-ft-on .bnx3-ft__social li { margin: 0; }
body.bnx3-ft-on .bnx3-ft__social a { display: flex; color: var(--x-footer); }
body.bnx3-ft-on .bnx3-ft__social a:hover { color: var(--x-strong); }
body.bnx3-ft-on .bnx3-ft__copy { padding-top: 16px; font-size: 12px; line-height: 16px; color: var(--x-footer); }
body.bnx3 .bnx3-totop {
    position: fixed; right: 24px; bottom: calc(var(--x-bar-h) + 72px); z-index: 90; display: flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--x-strong); box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
    opacity: 0; visibility: hidden; transition: opacity var(--x-ease), visibility 0s linear .3s;
}
body.bnx3 .bnx3-totop.is-on { opacity: 1; visibility: visible; transition-delay: 0s; }
@media (max-width: 849px) {
    body.bnx3-ft-on .bnx3-ft__block .section-content > .row:last-child { padding-top: 32px; }
    body.bnx3-ft-on .bnx3-ft__block .section-content > .row:last-child > .col { padding-bottom: 20px; }
    body.bnx3-ft-on .bnx3-ft__bar { flex-direction: column; align-items: flex-start; margin-top: 16px; }
    body.bnx3 .bnx3-totop { display: none; }
}

/* ===================================================================== FLOATING: nút liên hệ gộp, popup */
body.bnx3.bnx3-hide-promo #promo-popup-overlay { display: none !important; } /* [!] popup tự gắn style inline display:flex bằng JS */
body.bnx3 .contact-box-bottom.bnx3-fab { position: fixed; right: 24px; bottom: calc(var(--x-bar-h) + 16px); left: auto; top: auto; z-index: 95; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; width: auto; padding: 0; background: none; box-shadow: none; transform: none; }
body.bnx3 .bnx3-fab__toggle { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--x-blue); color: #fff; box-shadow: 0 4px 12px rgba(0, 96, 239, .35); cursor: pointer; }
body.bnx3 .bnx3-fab__toggle:hover { background: var(--x-blue-h); }
body.bnx3 .bnx3-fab__toggle .bnx3-fab__x { display: none; }
body.bnx3 .bnx3-fab.is-open .bnx3-fab__toggle .bnx3-fab__x { display: block; }
body.bnx3 .bnx3-fab.is-open .bnx3-fab__toggle .bnx3-fab__o { display: none; }
body.bnx3 .bnx3-fab__list { display: none; flex-direction: column; gap: 8px; padding: 8px; border-radius: 8px; background: #fff; box-shadow: var(--x-shadow-pop); }
body.bnx3 .bnx3-fab.is-open .bnx3-fab__list { display: flex; }
body.bnx3 .bnx3-fab__list > a { display: flex; align-items: center; gap: 10px; margin: 0; padding: 6px 12px 6px 6px; border-radius: 6px; color: var(--x-strong); font-size: 14px; position: static; transform: none; width: auto; height: auto; background: none; box-shadow: none; }
body.bnx3 .bnx3-fab__list > a:hover { background: var(--x-soft); }
body.bnx3 .bnx3-fab__list .contact-icon-box { width: 32px; height: 32px; }
body.bnx3 .bnx3-fab__list .contact-icon-box svg { width: 32px; height: 32px; }
body.bnx3 .bnx3-fab__list .contact-info { display: flex; flex-direction: column; line-height: 1.3; }
body.bnx3 .bnx3-fab__list .contact-info span { font-size: 12px; color: var(--x-text-2); }

/* ===================================================================== PRODUCT · khung trên */
body.bnx3-pdp { --x-bar-h: 84px; }
body.bnx3-pdp #main { background: #fff; }
body.bnx3-pdp { padding-bottom: var(--x-bar-h); }
body.bnx3-pdp .product-breadcrumb-container { display: none; } /* DJI không có breadcrumb; schema do Rank Math in riêng */
body.bnx3-pdp .badge-container, body.bnx3-pdp .product-gallery .badge-container { display: none; }
/* [!] Flatsome gắn style="display:block" inline cho .gap-element → cần !important để bỏ khoảng trống cố định. */
body.bnx3-pdp .custom-product-page > .gap-element, body.bnx3-pdp .bnx3-buyrow .gap-element { display: none !important; }
body.bnx3-pdp .custom-product-page > .bnx3-buyrow {
    display: flex; align-items: stretch; justify-content: space-between; gap: 44px;
    max-width: 1200px; margin: 0 auto; padding: 40px 0 0; box-sizing: content-box;
}
body.bnx3-pdp .bnx3-buyrow > .col { flex: 0 0 auto; max-width: none; padding: 0; }
body.bnx3-pdp .bnx3-buyrow > .col:first-child { width: 656px; }
body.bnx3-pdp .bnx3-buyrow > .col:last-child { width: 500px; }
body.bnx3-pdp .bnx3-buyrow > .col > .col-inner, body.bnx3-pdp .bnx3-buyrow .is-sticky-column__inner > .col-inner { padding: 0; }
/* [!] JS sticky-sidebar của Flatsome gắn style inline (position:relative + transform cho __inner) → dùng sticky CSS như DJI (top 24px). */
body.bnx3-pdp .bnx3-buyrow .is-sticky-column { position: sticky !important; top: 24px; }
body.bnx3-pdp .bnx3-buyrow .is-sticky-column__inner { position: static !important; transform: none !important; top: auto !important; width: auto !important; }
body.bnx3-pdp.admin-bar .bnx3-buyrow .is-sticky-column { top: 56px; }
body.bnx3-pdp .bnx3-buyrow .column-thanh-toan, body.bnx3-pdp .bnx3-buyrow .column-thanh-toan > .col-inner { margin: 0; padding: 0; border: 0; box-shadow: none; background: none; }
body.bnx3-pdp .bnx3-buyrow .row { margin: 0; max-width: none; }
body.bnx3-pdp .bnx3-buyrow .row > .col { padding: 0; }
@media (min-width: 850px) and (max-width: 1247px) {
    body.bnx3-pdp .custom-product-page > .bnx3-buyrow { padding-left: 24px; padding-right: 24px; gap: 32px; }
    body.bnx3-pdp .bnx3-buyrow > .col:first-child { width: auto; flex: 1 1 56%; min-width: 0; }
    body.bnx3-pdp .bnx3-buyrow > .col:last-child { width: auto; flex: 1 1 44%; min-width: 0; }
}

/* Gallery: ảnh vuông, mũi tên tròn 48px trong ảnh, chấm 8px, không thumbnail */
body.bnx3-pdp .product-images { position: relative; margin: 0; background: #F5F5F5; }
body.bnx3-pdp .product-images .woocommerce-product-gallery__image img, body.bnx3-pdp .product-gallery-slider img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 0; }
body.bnx3-pdp .product-thumbnails { display: none; }
body.bnx3-pdp .product-images .image-tools.bottom { display: none; }
body.bnx3-pdp .product-images .image-tools.top { top: 16px; right: auto; left: 16px; }
body.bnx3-pdp .product-images .flickity-prev-next-button {
    width: 48px; height: 48px; margin-top: -24px; border-radius: 50%; background: rgba(0, 0, 0, .3); color: #fff; opacity: 1; box-shadow: none; transition: background-color var(--x-ease);
}
body.bnx3-pdp .product-images .flickity-prev-next-button:hover { background: rgba(0, 0, 0, .45); }
body.bnx3-pdp .product-images .flickity-prev-next-button svg { left: 30%; top: 30%; width: 40%; height: 40%; }
body.bnx3-pdp .product-images .flickity-prev-next-button svg path, body.bnx3-pdp .product-images .flickity-prev-next-button .arrow { fill: #fff; }
body.bnx3-pdp .product-images .flickity-prev-next-button.previous { left: 16px; transform: none; }
body.bnx3-pdp .product-images .flickity-prev-next-button.next { right: 16px; transform: none; }
body.bnx3-pdp .bnx3-dots { display: flex; justify-content: center; gap: 8px; margin: 0; padding: 16px 0 0; list-style: none; }
body.bnx3-pdp .bnx3-dots button { width: 8px; height: 8px; min-height: 0; margin: 0; padding: 0; border: .8px solid rgba(0, 0, 0, .25); border-radius: 50%; background: transparent; cursor: pointer; }
body.bnx3-pdp .bnx3-dots button.is-on { border-color: rgba(0, 0, 0, .85); background: rgba(0, 0, 0, .85); }
body.bnx3-pdp .bnx3-count { position: absolute; top: 16px; right: 16px; z-index: 3; display: none; padding: 2px 8px; border-radius: 4px; background: rgba(0, 0, 0, .45); color: #fff; font-size: 12px; line-height: 16px; }

/* Cột thông tin 500px */
body.bnx3-pdp .product-title-container { margin: 0; }
body.bnx3-pdp h1.product_title, body.bnx3-pdp h1.product-title { margin: 0; padding: 0; font: 600 32px/36px var(--x-font); color: var(--x-title); text-transform: none; letter-spacing: 0; }
body.bnx3-pdp .bnx-tagline { margin: 8px 0 0; font-size: 16px; line-height: 24px; color: var(--x-text-2); }
body.bnx3-pdp .woocommerce-product-rating { display: none; margin: 8px 0 0; }
body.bnx3-pdp .woocommerce-product-rating.bnx3-rating { display: flex; align-items: center; gap: 6px; font-size: 14px; line-height: 20px; color: var(--x-text-2); }
body.bnx3-pdp .bnx3-rating a { color: var(--x-text-2); }
body.bnx3-pdp .bnx3-rating a:hover { color: var(--x-blue); }
body.bnx3 .bnx3-stars { --p: calc(var(--r, 0) / 5 * 100%); display: inline-block; font-size: 12px; line-height: 1; letter-spacing: 1px; background: linear-gradient(90deg, #333 var(--p), #D9D9D9 var(--p)); -webkit-background-clip: text; background-clip: text; color: transparent; }
body.bnx3 .bnx3-stars::before { content: "★★★★★"; }
/* USP / highlights: gạch đầu dòng */
body.bnx3-pdp .bnx-highlights { margin: 16px 0 0; padding: 0; list-style: none; }
body.bnx3-pdp .bnx-hl { position: relative; display: block; margin: 0; padding: 0 0 0 14px; font-size: 14px; line-height: 21px; color: var(--x-text-2); }
body.bnx3-pdp .bnx-hl::before { content: ""; position: absolute; left: 2px; top: 9px; width: 4px; height: 4px; border-radius: 50%; background: var(--x-text-3); }
body.bnx3-pdp .bnx-hl__icon { display: none; }
body.bnx3-pdp .bnx-hl__text strong { font-weight: 400; color: var(--x-text-2); }
body.bnx3-pdp .bnx-hl__text small { color: var(--x-text-3); font-size: 14px; }
body.bnx3-pdp .bnx-hl__text small::before { content: " · "; }
body.bnx3-pdp .bn-pcu-social, body.bnx3-pdp .bn-pcu-highlights:not(.bnx-highlights) { display: none; }
/* Giá */
body.bnx3-pdp .product-price-container { margin: 24px 0 0; }
body.bnx3-pdp .product-price-container .price { margin: 0; }
body.bnx3-pdp .bnx-price { display: block; }
body.bnx3-pdp .bnx-price__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
body.bnx3-pdp .bnx-price__from { font-size: 14px; font-weight: 400; color: var(--x-text-2); }
body.bnx3-pdp .bnx-price__current, body.bnx3-pdp .bnx-price__current .amount, body.bnx3-pdp .bnx-price__current bdi { font: 600 24px/28px var(--x-font); color: var(--x-strong); }
body.bnx3-pdp .bnx-price__regular, body.bnx3-pdp .bnx-price__regular .amount, body.bnx3-pdp .bnx-price__regular bdi { font-size: 12px; line-height: 16px; font-weight: 400; color: var(--x-text-3); }
body.bnx3-pdp .bnx-price__regular { text-decoration: line-through; }
body.bnx3-pdp .bnx-price__pct { display: none; }
body.bnx3-pdp .bnx-price__save, body.bnx3-pdp .bnx-price__save .amount, body.bnx3-pdp .bnx-price__save bdi { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--x-blue); }
body.bnx3-pdp .single_variation_wrap .woocommerce-variation-price, body.bnx3-pdp .single_variation_wrap .woocommerce-variation-availability { display: none; }
/* Ô ưu đãi + Lưu ý */
body.bnx3-pdp .bnx3-benefit { display: flex; gap: 12px; margin: 24px 0 0; padding: 16px; border-radius: 8px; background: var(--x-benefit); }
body.bnx3-pdp .bnx3-benefit__icon { color: var(--x-strong); }
body.bnx3-pdp .bnx3-benefit__list { margin: 0; padding: 0; list-style: none; }
body.bnx3-pdp .bnx3-benefit__list li { margin: 0; font-size: 14px; line-height: 21px; color: var(--x-strong); }
body.bnx3-pdp .bnx3-tips { margin: 16px 0 0; padding: 8px 24px 12px; border-radius: 8px; background: var(--x-soft); }
body.bnx3-pdp .bnx3-tips__tag { display: inline-block; margin: 4px 0 4px; padding: 0 4px; border: .8px solid var(--x-flag); border-radius: 3px; font-size: 12px; line-height: 18px; color: var(--x-flag); }
body.bnx3-pdp .bnx3-tips p { margin: 0; font-size: 14px; line-height: 20px; color: var(--x-strong); }

/* Chọn phiên bản: thẻ dọc */
body.bnx3-pdp form.cart { margin: 0; }
body.bnx3-pdp form.variations_form table.variations { display: block; margin: 48px 0 0; border: 0; }
body.bnx3-pdp form.variations_form table.variations tbody, body.bnx3-pdp form.variations_form table.variations tr { display: block; }
body.bnx3-pdp form.variations_form table.variations tr + tr { margin-top: 24px; }
body.bnx3-pdp form.variations_form table.variations th, body.bnx3-pdp form.variations_form table.variations td { display: block; padding: 0; border: 0; line-height: 1.4; }
body.bnx3-pdp form.variations_form table.variations th.label { margin: 0 0 16px; }
body.bnx3-pdp form.variations_form table.variations th.label label { margin: 0; font: 600 20px/24px var(--x-font); color: var(--x-title); text-transform: none; letter-spacing: 0; }
body.bnx3-pdp form.variations_form .reset_variations { display: none; }
body.bnx3-pdp .isures-ivp--attribute_wrap { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; }
body.bnx3-pdp .isures-ivp--attr_item { width: 100%; max-width: none; margin: 0; padding: 0; }
body.bnx3-pdp form.variations_form .isures-ivp--option {
    position: relative; display: flex; align-items: center; gap: 24px; width: 100%; box-sizing: border-box; min-height: 0;
    margin: 0; padding: 24px; border: .8px solid var(--x-border); border-radius: 8px; background: #fff; cursor: pointer;
    font-weight: 400; text-transform: none; transition: border-color var(--x-ease);
}
body.bnx3-pdp form.variations_form .isures-ivp--option::before, body.bnx3-pdp form.variations_form .isures-ivp--option::after { display: none; }
body.bnx3-pdp form.variations_form .isures-ivp--option:hover { border-color: #A6A6A6; }
body.bnx3-pdp form.variations_form .isures-ivp--option.is-selected,
body.bnx3-pdp form.variations_form .isures-ivp--option:has(input:checked) { padding: 23.2px; border: 1.6px dashed var(--x-blue); }
body.bnx3-pdp form.variations_form .isures-ivp--option input[type=radio] { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
body.bnx3-pdp form.variations_form .isures-ivp--option:focus-within { outline: 2px solid var(--x-blue); outline-offset: 2px; }
body.bnx3-pdp form.variations_form .isures-ivp--option > svg { display: none; }
body.bnx3-pdp .isures-ivp--swatch { display: block; flex: 0 0 88px; width: 88px; height: 88px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
body.bnx3-pdp .isures-ivp--swatch img { width: 88px; height: 88px; object-fit: contain; border-radius: 0; }
body.bnx3-pdp form.variations_form .isures-ivp--option--info { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 0; text-align: left; }
body.bnx3-pdp form.variations_form .isures-ivp--option_name { font: 400 16px/24px var(--x-font); color: var(--x-strong); white-space: normal; }
body.bnx3-pdp form.variations_form .isures-ivp--option--info .amount, body.bnx3-pdp form.variations_form .isures-ivp--option--info .amount bdi { font: 400 16px/24px var(--x-font); color: var(--x-strong); }
body.bnx3-pdp .isures-ivp--option .bnx3-oos { font-size: 14px; line-height: 20px; color: var(--x-danger); }
body.bnx3-pdp .bnx3-flag { position: absolute; top: 0; right: 0; padding: 2px 8px; border-radius: 0 8px 0 8px; background: var(--x-flag); color: #fff; font: 600 12px/16px var(--x-font); }
body.bnx3-pdp .isures-ivp--option.is-selected .bnx3-flag { top: -.8px; right: -.8px; }
/* Không có isures: select gốc của Woo */
body.bnx3-pdp form.variations_form td.value select { height: 48px; border: .8px solid var(--x-border); border-radius: 8px; box-shadow: none; font-size: 16px; }

/* Số lượng + nút */
body.bnx3-pdp .woocommerce-variation-add-to-cart, body.bnx3-pdp form.cart:not(.variations_form) { margin-top: 24px; }
body.bnx3-pdp .bnx-actions { margin: 24px 0 0; }
body.bnx3-pdp .bnx-actions .bnx-stock { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 14px; color: var(--x-text-2); }
body.bnx3-pdp .bnx-actions .bnx-stock__dot { width: 6px; height: 6px; border-radius: 50%; background: #52C41A; }
body.bnx3-pdp .bnx-actions .bnx-stock.is-out { color: var(--x-danger); }
body.bnx3-pdp .bnx-actions .bnx-stock.is-out .bnx-stock__dot { background: var(--x-danger); }
body.bnx3-pdp .bnx-actions__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-items: center; }
body.bnx3-pdp .bnx-actions--no-buy .bnx-actions__buttons, body.bnx3-pdp .bnx-actions--no-cart .bnx-actions__buttons { grid-template-columns: 1fr; }
body.bnx3-pdp .bnx-actions__buttons .quantity { grid-column: 1 / -1; order: -1; display: inline-flex; justify-self: start; align-items: center; margin: 0 0 16px; opacity: 1; }
body.bnx3-pdp .bnx-actions__buttons .quantity input.qty { width: 48px; height: 40px; margin: 0; border: .8px solid var(--x-border); border-left: 0; border-right: 0; border-radius: 0; box-shadow: none; font-size: 16px; text-align: center; }
body.bnx3-pdp .bnx-actions__buttons .quantity .button.minus, body.bnx3-pdp .bnx-actions__buttons .quantity .button.plus { width: 40px; height: 40px; min-height: 40px; margin: 0; padding: 0; border: .8px solid var(--x-border); background: #fff; color: var(--x-strong); font-size: 16px; }
body.bnx3-pdp .bnx-actions__buttons .quantity .button.minus { border-radius: 4px 0 0 4px; }
body.bnx3-pdp .bnx-actions__buttons .quantity .button.plus { border-radius: 0 4px 4px 0; }
body.bnx3-pdp .bnx-actions .bn-pcu-buy-now, body.bnx3-pdp .bnx-actions .single_add_to_cart_button {
    display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; height: 48px; margin: 0; padding: 0 24px;
    border-radius: 9999px; font: 600 16px/20px var(--x-font); text-transform: none; letter-spacing: 0; box-shadow: none;
}
body.bnx3-pdp .bnx-actions .bn-pcu-buy-now { border: 0; background: var(--x-blue); color: #fff; }
body.bnx3-pdp .bnx-actions .bn-pcu-buy-now:hover { background: var(--x-blue-h); }
body.bnx3-pdp .bnx-actions .bn-pcu-buy-now[disabled] { background: rgba(0, 0, 0, .08); color: var(--x-text-3); }
body.bnx3-pdp .bnx-actions .single_add_to_cart_button, body.bnx3-pdp .bnx-actions .single_add_to_cart_button.button { border: .8px solid var(--x-blue); background: #fff; color: var(--x-blue); }
body.bnx3-pdp .bnx-actions .single_add_to_cart_button:hover { background: var(--x-blue-soft); color: var(--x-blue-h); }
body.bnx3-pdp .bnx-actions .single_add_to_cart_button.disabled { opacity: .5; }
body.bnx3-pdp .bnx-actions .bn-pcu-buy-now__title { font: inherit; }
body.bnx3-pdp .bnx-contact-links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; margin: 12px 0 0; }
body.bnx3-pdp .bnx-link { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 0; border: 0; background: none; font-size: 14px; line-height: 20px; font-weight: 400; color: var(--x-blue); text-transform: none; cursor: pointer; min-height: 0; }
body.bnx3-pdp .bnx-link:hover span { text-decoration: underline; }
body.bnx3-pdp .bnx-link .bnx-ico { width: 16px; height: 16px; }
body.bnx3-pdp .bnx-commits { display: none; }
/* YITH / WPC FBT trong cột mua: giữ, chỉ chỉnh khoảng cách */
body.bnx3-pdp .bnx3-buyrow .yith-wfbt-section, body.bnx3-pdp .bnx3-buyrow .woobt-wrap { margin-top: 32px; }

/* Phụ kiện mua kèm (upsells) kiểu DJI: danh sách thẻ viền */
body.bnx3-pdp .bnx3-buyrow .upsells { margin: 48px 0 0; padding: 0; }
body.bnx3-pdp .bnx3-buyrow .upsells .product-section-title { margin: 0 0 16px; padding: 0; font: 600 20px/24px var(--x-font); color: var(--x-title); text-transform: none; letter-spacing: 0; text-align: left; }
body.bnx3-pdp .bnx3-buyrow .upsells .row { display: flex; flex-direction: column; gap: 8px; margin: 0; }
body.bnx3-pdp .bnx3-buyrow .upsells .product-small.col { width: 100%; max-width: none; flex: none; padding: 0; }
body.bnx3-pdp .bnx3-buyrow .upsells .product-small.col.bnx3-more-hidden { display: none; }
body.bnx3-pdp .bnx3-buyrow .upsells .col-inner { padding: 0; }
body.bnx3-pdp .bnx3-buyrow .upsells .product-small.box { display: flex; align-items: center; gap: 16px; padding: 16px 24px; border: .8px solid var(--x-border); border-radius: 8px; background: #fff; }
body.bnx3-pdp .bnx3-buyrow .upsells .box-image { flex: 0 0 64px; width: 64px; margin: 0; background: none; }
body.bnx3-pdp .bnx3-buyrow .upsells .box-image img { width: 64px; height: 64px; object-fit: contain; }
body.bnx3-pdp .bnx3-buyrow .upsells .box-image .image-tools, body.bnx3-pdp .bnx3-buyrow .upsells .bnx3-card__desc, body.bnx3-pdp .bnx3-buyrow .upsells .bnx3-card__go, body.bnx3-pdp .bnx3-buyrow .upsells .bnx3-card__tag:not(.is-out) { display: none; }
body.bnx3-pdp .bnx3-buyrow .upsells .box-text { flex: 1 1 auto; min-width: 0; padding: 0; text-align: left; background: none; }
body.bnx3-pdp .bnx3-buyrow .upsells .product-title, body.bnx3-pdp .bnx3-buyrow .upsells .product-title a { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--x-strong); }
body.bnx3-pdp .bnx3-buyrow .upsells .price, body.bnx3-pdp .bnx3-buyrow .upsells .price .amount { font-size: 14px; line-height: 20px; font-weight: 400; color: var(--x-strong); }
body.bnx3-pdp .bnx3-buyrow .upsells .price del, body.bnx3-pdp .bnx3-buyrow .upsells .price del .amount { font-size: 12px; color: var(--x-text-3); }
body.bnx3-pdp .bnx3-more-btn { display: inline-flex; align-items: center; gap: 4px; margin: 12px 0 0; padding: 0; border: 0; background: none; color: var(--x-blue); font-size: 14px; font-weight: 400; text-transform: none; cursor: pointer; min-height: 0; }

/* Thanh mua dính đáy */
body.bnx3-pdp .bnx3-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99; height: 84px; padding: 16px 0; box-sizing: border-box; background: #fff; box-shadow: 0 -2px 4px rgba(0, 0, 0, .1); font-family: var(--x-font); }
body.bnx3-pdp .bnx3-bar__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 52px; max-width: 1248px; }
body.bnx3-pdp .bnx3-bar__info { display: flex; align-items: center; gap: 12px; min-width: 0; }
body.bnx3-pdp .bnx3-bar__img { width: 48px; height: 48px; object-fit: contain; background: var(--x-soft); }
body.bnx3-pdp .bnx3-bar__text { min-width: 0; }
body.bnx3-pdp .bnx3-bar__name { margin: 0; overflow: hidden; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--x-strong); white-space: nowrap; text-overflow: ellipsis; }
body.bnx3-pdp .bnx3-bar__meta { display: flex; gap: 8px; margin: 2px 0 0; font-size: 12px; line-height: 16px; color: var(--x-text-2); white-space: nowrap; }
body.bnx3-pdp .bnx3-bar__stock { color: #389E0D; }
body.bnx3-pdp .bnx3-bar__stock.is-out { color: var(--x-danger); }
body.bnx3-pdp .bnx3-bar__buy { display: flex; align-items: center; gap: 24px; flex: 0 0 auto; }
body.bnx3-pdp .bnx3-bar__price { display: flex; align-items: baseline; gap: 6px; margin: 0; white-space: nowrap; }
body.bnx3-pdp .bnx3-bar__price, body.bnx3-pdp .bnx3-bar__price .amount, body.bnx3-pdp .bnx3-bar__price bdi { font: 600 20px/24px var(--x-font); color: var(--x-strong); }
body.bnx3-pdp .bnx3-bar__price del, body.bnx3-pdp .bnx3-bar__price del .amount, body.bnx3-pdp .bnx3-bar__price del bdi { font-size: 12px; font-weight: 400; color: var(--x-text-3); }
body.bnx3-pdp .bnx3-bar__from { font-size: 14px; font-weight: 400; color: var(--x-text-2); }
body.bnx3-pdp .bnx3-bar__btns { display: flex; gap: 8px; }
body.bnx3-pdp .bnx3-bar .bnx3-btn { min-width: 160px; }
body.bnx3-pdp .bnx3-shake { animation: bnx3-shake .4s ease; }
@keyframes bnx3-shake { 0%, 100% { transform: none; } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }

/* ===================================================================== PRODUCT · nội dung dưới */
/* Hàng Flatsome rộng 1080 → 1200 như DJI (row gồm gutter 15px mỗi bên). */
body.bnx3-pdp .custom-product-page > .row.bnx3-block, body.bnx3-pdp .custom-product-page .banner-grid.row { max-width: 1230px; margin-left: auto; margin-right: auto; }
body.bnx3-pdp .custom-product-page > .banner-grid-wrapper { max-width: 1216px; margin: 0 auto; }
body.bnx3-pdp .custom-product-page > .banner-grid-wrapper .banner-grid-wrapper { margin: 0; }
body.bnx3-pdp .banner-grid-wrapper .banner, body.bnx3-pdp .banner-grid-wrapper .banner-inner, body.bnx3-pdp .banner-grid-wrapper .banner-bg { border-radius: 0; }
body.bnx3-pdp .banner-grid-wrapper .row-small > .col { padding: 0 8px 16px; }
body.bnx3-pdp .bnx3-sec-title, body.bnx3-pdp .custom-product-page > h2 {
    margin: 96px auto 32px; padding: 0; font: 600 32px/40px var(--x-font); color: var(--x-title); text-align: center; text-transform: none; letter-spacing: 0;
}
body.bnx3-pdp .custom-product-page .cl1 { border-radius: 0; box-shadow: none; }
/* [!] child theme đặt ".cl1{padding:15px !important}" — trả về 0 để theo khung 1200 */
body.bnx3-pdp .custom-product-page .row.cl1, body.bnx3-pdp .custom-product-page .col.cl1 { padding: 0 !important; }
body.bnx3-pdp .bnx3-section { max-width: 1200px; margin: 0 auto; padding: 0 0 0; box-sizing: content-box; }
@media (max-width: 1247px) { body.bnx3-pdp .bnx3-section, body.bnx3-pdp .custom-product-page > .bnx3-block { padding-left: 24px; padding-right: 24px; } }
/* Mô tả: 1 cột, chữ dễ đọc */
body.bnx3-pdp .bnx3-desc-row > .col { flex: 0 0 100%; max-width: 100%; padding: 0; }
body.bnx3-pdp .bnx3-desc-row > .col.bnx3-side-col { display: none; }
body.bnx3-pdp .woocommerce-tabs { padding: 0; max-width: 800px; margin: 0 auto; }
body.bnx3-pdp .woocommerce-tabs > ul.wc-tabs { display: none; }
/* [!] Woo single-product.js gắn style="display:none" cho panel không active → cần !important. */
body.bnx3-pdp .woocommerce-tabs .panel { display: block !important; margin: 0; padding: 0; }
body.bnx3-pdp .woocommerce-tabs .panel#tab-reviews { display: none !important; }
body.bnx3-pdp .bnx3-reviews .panel#tab-reviews { display: block !important; }
body.bnx3-pdp .woocommerce-tabs .panel.entry-content { font-size: 16px; line-height: 28px; color: var(--x-text); }
body.bnx3-pdp .woocommerce-tabs .panel.entry-content h2 { font-size: 24px; line-height: 32px; font-weight: 600; color: var(--x-title); }
body.bnx3-pdp .woocommerce-tabs .panel.entry-content h3 { font-size: 20px; line-height: 28px; font-weight: 600; color: var(--x-title); }
body.bnx3-pdp .woocommerce-tabs .panel.entry-content a { color: var(--x-blue); }
body.bnx3-pdp .bnx-section-title { margin: 96px 0 32px; font: 600 32px/40px var(--x-font); color: var(--x-title); text-align: center; }
body.bnx3-pdp #mo-ta.bnx-section-title { margin-top: 96px; }
/* Thông số: 1 bảng 2 cột */
body.bnx3-pdp .bnx3-specs .thong_so_ky_thuat, body.bnx3-pdp .bnx3-specs .thong_so_ky_thuat_container { display: block; max-width: 900px; margin: 0 auto; padding: 0; border: 0; box-shadow: none; background: none; }
body.bnx3-pdp .bnx3-specs .thong_so_ky_thuat_title { margin: 96px 0 32px; font: 600 32px/40px var(--x-font); color: var(--x-title); text-align: center; text-transform: none; }
/* [!] child theme giới hạn chiều cao bảng bằng style riêng → mở hết, JS tự thu gọn kiểu "Xem thêm". */
body.bnx3-pdp .bnx3-specs .thong_so_ky_thuat_content { max-height: none !important; overflow: visible !important; }
body.bnx3-pdp .bnx3-specs .thong_so_ky_thuat_container { position: relative; }
body.bnx3-pdp .bnx3-specs.is-collapsed .thong_so_ky_thuat_content { max-height: 720px !important; overflow: hidden !important; }
body.bnx3-pdp .bnx3-specs.is-collapsed .thong_so_ky_thuat_container::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 96px; background: linear-gradient(rgba(255, 255, 255, 0), #fff); pointer-events: none; }
body.bnx3-pdp .bnx3-specs table { width: 100%; margin: 0; border-collapse: collapse; border: 0; font-size: 14px; line-height: 20px; }
body.bnx3-pdp .bnx3-specs td { padding: 12px 16px 12px 0; border: 0; border-bottom: .8px solid var(--x-line); vertical-align: top; color: var(--x-strong); }
body.bnx3-pdp .bnx3-specs td:first-child { width: 36%; color: var(--x-text-2); }
body.bnx3-pdp .bnx3-specs td[colspan] { padding-top: 32px; border-bottom-color: rgba(0, 0, 0, .2); }
body.bnx3-pdp .bnx3-specs td h3, body.bnx3-pdp .bnx3-specs td h3 span { margin: 0; font-size: 16px !important; line-height: 24px; font-weight: 600 !important; color: var(--x-title); } /* [!] span style font-weight:400 inline */
body.bnx3-pdp .bnx3-specs td p { margin: 0; }
body.bnx3-pdp .bnx3-specs td span { font-weight: 400; }
body.bnx3-pdp .bnx3-specs .xem_them, body.bnx3-pdp .popup, body.bnx3-pdp .popup_2 { display: none; }
body.bnx3-pdp .thong_so_ky_thuat_container_2 { display: none; }
body.bnx3-pdp .bnx3-center { display: flex; justify-content: center; margin-top: 24px; }
body.bnx3-pdp .bnx3-link-btn { display: inline-flex; align-items: center; gap: 4px; min-height: 0; margin: 0; padding: 0; border: 0; background: none; color: var(--x-blue); font: 400 16px/24px var(--x-font); text-transform: none; cursor: pointer; }
body.bnx3-pdp .bnx3-link-btn:hover { text-decoration: underline; }
/* Bài viết liên quan */
body.bnx3-pdp .bnx3-posts .bvlq-wrapper, body.bnx3-pdp .bnx3-posts .tai_lieu_lien_quan_container { max-width: 1200px; margin: 0 auto; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
body.bnx3-pdp .bnx3-posts > * { margin-left: auto; margin-right: auto; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
body.bnx3-pdp .bnx3-posts .tai_lieu_lien_quan_title { margin: 48px 0 16px; font-size: 20px; line-height: 28px; font-weight: 600; color: var(--x-title); text-align: center; }
body.bnx3-pdp .bnx3-posts .bvlq-header { margin: 96px 0 32px; text-align: center; }
body.bnx3-pdp .bnx3-posts .bvlq-header, body.bnx3-pdp .bnx3-posts .bvlq-header * { font: 600 32px/40px var(--x-font); color: var(--x-title); text-transform: none; }
body.bnx3-pdp .bnx3-posts .bvlq-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
body.bnx3-pdp .bnx3-posts .bvlq-item { display: block; margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--x-card); box-shadow: none; }
body.bnx3-pdp .bnx3-posts .bvlq-item img { width: 100%; aspect-ratio: 16 / 10; height: auto; object-fit: cover; border-radius: 0; }
body.bnx3-pdp .bnx3-posts .bvlq-info { padding: 16px; font-size: 14px; line-height: 20px; }
body.bnx3-pdp .bnx3-posts .bvlq-info, body.bnx3-pdp .bnx3-posts .bvlq-info a { color: var(--x-strong); font-weight: 600; }
body.bnx3-pdp .bai_viet_lien_quan_san_pham.show-for-small { display: none; }
/* Trong hộp */
body.bnx3-pdp .bnx3-inbox .nav-pills { justify-content: center; margin-bottom: 32px; }
body.bnx3-pdp .bnx3-inbox .nav-pills > li > a { height: 32px; margin: 0 4px; padding: 0 16px; border: 0; border-radius: 9999px; background: none; color: #9FA3A6; font-size: 14px; line-height: 32px; font-weight: 400; text-transform: none; }
body.bnx3-pdp .bnx3-inbox .nav-pills > li.active > a { background: rgba(0, 0, 0, .85); color: #fff; }
body.bnx3-pdp .bnx3-inbox .col-inner img { background: var(--x-soft); mix-blend-mode: multiply; }
body.bnx3-pdp .bnx3-inbox p, body.bnx3-pdp .bnx3-inbox .text { font-size: 14px; line-height: 20px; color: var(--x-strong); }
/* FAQ */
body.bnx3-pdp .bnx3-faq .accordion { max-width: 709px; margin: 0 auto; }
body.bnx3-pdp .bnx3-faq .accordion-item { margin: 0; border: 0; border-bottom: .8px solid var(--x-line); border-radius: 0; background: none; box-shadow: none; }
body.bnx3-pdp .bnx3-faq .accordion-title {
    position: relative; display: block; padding: 12px 32px 12px 0; border: 0; background: none;
    font: 600 16px/24px var(--x-font); color: var(--x-strong); text-transform: none;
}
body.bnx3-pdp .bnx3-faq .accordion-title.active { background: none; color: var(--x-strong); }
body.bnx3-pdp .bnx3-faq .accordion-title .toggle { position: absolute; left: auto; right: 0; top: 12px; width: 24px; height: 24px; margin: 0; border: 0; background: none; color: var(--x-text-2); opacity: 1; }
body.bnx3-pdp .bnx3-faq .accordion-title .toggle i { font-size: 12px; }
body.bnx3-pdp .bnx3-faq .accordion-inner { padding: 0 32px 16px 0; font-size: 14px; line-height: 20px; color: var(--x-text-2); }
body.bnx3-pdp .bnx3-faq .bnx-questions { max-width: 709px; margin: 40px auto 0; }
body.bnx3-pdp .bnx-questions__title { margin: 0 0 8px; font-size: 16px; font-weight: 600; color: var(--x-strong); }
body.bnx3-pdp .bnx-questions__list { margin: 0; padding: 0; list-style: none; }
body.bnx3-pdp .bnx-question { margin: 0; padding: 12px 0; border-bottom: .8px solid var(--x-line); font-size: 14px; line-height: 20px; }
body.bnx3-pdp .bnx-question__q { margin: 0; color: var(--x-strong); }
body.bnx3-pdp .bnx-question__a { margin: 6px 0 0; padding-left: 12px; border-left: 2px solid var(--x-border); color: var(--x-text-2); }
/* Đánh giá: tối giản */
body.bnx3-pdp .bnx3-reviews { max-width: 1200px; margin: 0 auto; }
body.bnx3-pdp .bnx3-reviews #reviews { margin: 0; }
body.bnx3-pdp .bnx3-reviews #reviews > .col { flex: 0 0 100%; max-width: 100%; padding: 0; }
body.bnx3-pdp .bnx3-reviews .bnx-section-title { margin-top: 96px; }
body.bnx3-pdp .bnx-review-summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1200px; margin: 0 0 24px; padding: 0 0 24px; border-bottom: .8px solid var(--x-line); }
body.bnx3-pdp .bnx-review-summary__score { display: flex; align-items: center; gap: 12px; }
body.bnx3-pdp .bnx-score { display: flex; align-items: baseline; gap: 2px; }
body.bnx3-pdp .bnx-score b { font-size: 32px; line-height: 40px; font-weight: 600; color: var(--x-title); }
body.bnx3-pdp .bnx-score span { font-size: 14px; color: var(--x-text-3); }
body.bnx3-pdp .bnx-stars { --p: calc(var(--bnx-rating, 0) / 5 * 100%); display: inline-block; font-size: 14px; line-height: 1; letter-spacing: 1px; background: linear-gradient(90deg, #333 var(--p), #D9D9D9 var(--p)); -webkit-background-clip: text; background-clip: text; color: transparent; }
body.bnx3-pdp .bnx-stars::before { content: "★★★★★"; }
body.bnx3-pdp .bnx-review-summary__count { font-size: 14px; color: var(--x-text-2); }
body.bnx3-pdp .bnx-review-bars { display: none; }
body.bnx3-pdp .bnx-review-summary__empty { margin: 0; font-size: 14px; color: var(--x-text-2); }
body.bnx3-pdp .bnx-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; margin: 0; padding: 0 24px; border: .8px solid var(--x-blue); border-radius: 9999px; background: #fff; color: var(--x-blue); font: 600 14px/20px var(--x-font); text-transform: none; cursor: pointer; }
body.bnx3-pdp .bnx-btn:hover { background: var(--x-blue-soft); }
body.bnx3-pdp .woocommerce-Reviews-title { display: none; }
body.bnx3-pdp #reviews .commentlist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; margin: 0; padding: 0; list-style: none; }
body.bnx3-pdp #reviews .commentlist > li { margin: 0; padding: 20px 0; border-bottom: .8px solid var(--x-line); list-style: none; }
body.bnx3-pdp #reviews .commentlist > li.bnx-no-rating, body.bnx3-pdp #reviews .commentlist > li.bnx3-hidden { display: none; }
body.bnx3-pdp #reviews .commentlist .comment_container { display: flex; gap: 12px; }
body.bnx3-pdp #reviews .commentlist .comment-text { flex: 1 1 auto; margin: 0; padding: 0; border: 0; }
body.bnx3-pdp .bnx-avatar { display: flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: var(--x-soft); color: var(--x-strong); font-size: 14px; font-weight: 600; }
body.bnx3-pdp #reviews .star-rating { float: none; margin: 4px 0; font-size: 11px; color: #333; }
body.bnx3-pdp #reviews .star-rating::before { color: #D9D9D9; }
body.bnx3-pdp .bnx-review-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; font-size: 14px; line-height: 20px; }
body.bnx3-pdp .bnx-review-meta .woocommerce-review__author { color: var(--x-strong); font-weight: 600; }
body.bnx3-pdp .bnx-verified { display: inline-flex; align-items: center; gap: 2px; font-size: 12px; color: #389E0D; }
body.bnx3-pdp .bnx-verified .bnx-ico { width: 14px; height: 14px; }
body.bnx3-pdp .bnx-review-meta time { font-size: 12px; color: var(--x-text-3); }
body.bnx3-pdp #reviews .description { margin-top: 6px; font-size: 14px; line-height: 22px; color: var(--x-text); }
body.bnx3-pdp #reviews .description p { margin: 0; }
body.bnx3-pdp #reviews .comment-text img, body.bnx3-pdp #reviews .description img { max-width: 120px; height: auto; margin: 8px 8px 0 0; }
body.bnx3-pdp .bnx3-more-wrap { display: flex; justify-content: center; margin: 24px 0 0; }
body.bnx3-pdp #review_form_wrapper.bnx3-collapsed { display: none; }
body.bnx3-pdp #review_form_wrapper { max-width: 709px; margin: 24px auto 0; }
body.bnx3-pdp #review_form_wrapper input[type=text], body.bnx3-pdp #review_form_wrapper input[type=email], body.bnx3-pdp #review_form_wrapper textarea { border: .8px solid var(--x-border); border-radius: 4px; box-shadow: none; }
body.bnx3-pdp #review_form_wrapper input[type=submit] { border-radius: 9999px; background: var(--x-blue); text-transform: none; }
/* Sản phẩm tương tự */
body.bnx3-pdp .related { max-width: 1200px; margin: 0 auto; padding: 0; }
body.bnx3-pdp .related .product-section-title { display: block; margin: 96px 0 32px; padding: 0; border: 0; font: 600 32px/40px var(--x-font); color: var(--x-title); text-align: center; text-transform: none; letter-spacing: 0; }
body.bnx3-pdp .related .product-section-title::after { display: none; }
body.bnx3-pdp .related .row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; }
body.bnx3-pdp .related .row > .col { width: auto; max-width: none; padding: 0; }
body.bnx3-pdp .custom-product-page > .row:last-child { margin-bottom: 96px; }

/* ===================================================================== THẺ SẢN PHẨM (danh mục + SP tương tự) */
body.bnx3 .bnx3-grid .product-small.col, body.bnx3-pdp .related .product-small.col { padding: 0; }
body.bnx3 .bnx3-grid .product-small .col-inner, body.bnx3-pdp .related .product-small .col-inner { position: relative; height: 100%; overflow: hidden; border-radius: 0; background: var(--x-card); box-shadow: none; }
body.bnx3 .bnx3-grid .product-small.box, body.bnx3-pdp .related .product-small.box { position: relative; display: flex; flex-direction: column; height: 100%; background: none; border: 0; border-radius: 0; box-shadow: none; }
body.bnx3 .bnx3-grid .box-image, body.bnx3-pdp .related .box-image { position: relative; overflow: hidden; margin: 0; background: none; border-radius: 0; }
body.bnx3 .bnx3-grid .box-image img, body.bnx3-pdp .related .box-image img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; border-radius: 0; }
body.bnx3 .bnx3-grid .box-image .image-tools.grid-tools, body.bnx3-pdp .related .box-image .image-tools.grid-tools { display: none; }
body.bnx3 .bnx3-grid .badge-container, body.bnx3-pdp .related .badge-container, body.bnx3 .product-small .out-of-stock-label { display: none; }
body.bnx3 .bnx3-grid .box-text, body.bnx3-pdp .related .box-text { position: relative; flex: 1 1 auto; height: auto; min-height: 0; padding: 32px 24px; text-align: left; background: none; }
/* child theme cố định cỡ chữ cho bdi trong giá → cho kế thừa cỡ chữ thẻ DJI */
body.bnx3 .bnx3-grid .price bdi, body.bnx3-pdp .related .price bdi, body.bnx3-pdp .upsells .price bdi, body.bnx3-pdp .bnx-price bdi { font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; }
body.bnx3 .bnx3-card__tag { margin: 0 0 4px; font-size: 12px; line-height: 16px; color: var(--x-promo); }
body.bnx3 .bnx3-card__tag.is-out { color: var(--x-text-3); }
body.bnx3 .bnx3-grid .product-title, body.bnx3 .bnx3-grid .product-title a, body.bnx3-pdp .related .product-title, body.bnx3-pdp .related .product-title a {
    display: -webkit-box; min-height: 40px; margin: 0; overflow: hidden; font: 600 14px/20px var(--x-font); color: var(--x-strong); -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
body.bnx3 .bnx3-grid .title-wrapper, body.bnx3-pdp .related .title-wrapper { margin: 0 0 8px; }
body.bnx3 .bnx3-grid .price-wrapper .price, body.bnx3-pdp .related .price-wrapper .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; margin: 0; }
body.bnx3 .bnx3-grid .price, body.bnx3 .bnx3-grid .price .amount, body.bnx3 .bnx3-grid .price ins .amount,
body.bnx3-pdp .related .price, body.bnx3-pdp .related .price .amount, body.bnx3-pdp .related .price ins .amount { font: 600 24px/32px var(--x-font); color: var(--x-strong); text-decoration: none; }
body.bnx3 .bnx3-grid .price del, body.bnx3 .bnx3-grid .price del .amount, body.bnx3-pdp .related .price del, body.bnx3-pdp .related .price del .amount { order: 2; font-size: 12px; line-height: 16px; font-weight: 400; color: var(--x-text-3); text-decoration: line-through; opacity: 1; }
body.bnx3 .bnx3-grid .price ins, body.bnx3-pdp .related .price ins { order: 1; text-decoration: none; }
body.bnx3 .bnx3-from { font-size: 12px; line-height: 16px; font-weight: 600; color: var(--x-strong); }
body.bnx3 .bnx3-card__desc {
    position: absolute; left: 0; right: 0; bottom: 100%; z-index: 2; margin: 0; padding: 40px 24px 16px;
    background: linear-gradient(transparent, rgba(0, 0, 0, .55)); color: #fff; font-size: 12px; line-height: 16px;
    opacity: 0; transition: opacity var(--x-ease); pointer-events: none;
}
body.bnx3 .bnx3-card__go {
    position: absolute; right: 24px; bottom: 32px; z-index: 2; display: flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 50%; background: var(--x-blue); color: #fff; opacity: 0; transform: translateY(4px);
    transition: opacity var(--x-ease), transform var(--x-ease);
}
body.bnx3 .product-small:hover .bnx3-card__desc { opacity: 1; }
body.bnx3 .product-small:hover .bnx3-card__go { opacity: 1; transform: none; }
body.bnx3 .bnx3-card__go:hover { background: var(--x-blue-h); color: #fff; }
body.bnx3 .bnx3-grid .add-to-cart-button, body.bnx3-pdp .related .add-to-cart-button { display: none; }
@media (hover: none) { body.bnx3 .bnx3-card__desc, body.bnx3 .bnx3-card__go { display: none; } }

/* ===================================================================== DANH MỤC */
body.bnx3-cat #main { background: #fff; }
body.bnx3-cat-fallback .shop-page-title.category-page-title { display: none; }
body.bnx3-cat .bnx3-cat-head { padding: 32px 0 0; text-align: center; }
body.bnx3-cat .bnx3-crumb { margin: 0 0 8px; font-size: 12px; line-height: 16px; color: var(--x-text-3); text-align: left; }
body.bnx3-cat .bnx3-crumb .woocommerce-breadcrumb { margin: 0; padding: 0; font-size: 12px; text-transform: none; letter-spacing: 0; color: var(--x-text-3); }
body.bnx3-cat .bnx3-crumb a { color: var(--x-text-3); }
body.bnx3-cat .bnx3-crumb a:hover { color: var(--x-strong); }
body.bnx3-cat .bnx3-crumb__sep { margin: 0 6px; }
body.bnx3-cat .bnx3-cat-head__title { margin: 0; padding: 0 0 32px; border-bottom: .8px solid var(--x-line); font: 600 32px/36px var(--x-font); color: var(--x-title); text-transform: none; letter-spacing: 0; }
body.bnx3-cat .category-page-row { display: flex; flex-wrap: nowrap; align-items: flex-start; gap: 32px; max-width: 1200px; margin: 0 auto; padding: 32px 0 96px; box-sizing: content-box; }
body.bnx3-cat .category-page-row > .col { padding: 0; }
body.bnx3-cat .category-page-row > .col.large-3 { flex: 0 0 256px; max-width: 256px; }
body.bnx3-cat .category-page-row > .col.large-9, body.bnx3-cat .category-page-row > .col.large-12 { flex: 1 1 0; max-width: none; min-width: 0; }
@media (max-width: 1247px) { body.bnx3-cat .category-page-row { padding-left: 24px; padding-right: 24px; } }
/* Sidebar lọc */
body.bnx3-cat #shop-sidebar { padding: 0; }
body.bnx3-cat .bnx3-filter-head { display: flex; align-items: center; gap: 12px; margin: 0 0 8px; }
body.bnx3-cat .bnx3-filter-head b { flex: 1 1 auto; font-size: 16px; line-height: 24px; font-weight: 600; color: var(--x-strong); }
body.bnx3-cat .bnx3-filter-head a { font-size: 14px; color: var(--x-blue); }
body.bnx3-cat .bnx3-filter-head .bnx3-icon-btn { display: none; }
body.bnx3-cat #shop-sidebar .widget { margin: 0; padding: 12px 0 16px; border: 0; border-bottom: .8px solid var(--x-line); border-radius: 0; background: none; box-shadow: none; }
body.bnx3-cat #shop-sidebar .widget-title { display: block; margin: 0 0 4px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--x-strong); text-transform: none; letter-spacing: 0; }
body.bnx3-cat #shop-sidebar .is-divider { display: none; }
body.bnx3-cat #shop-sidebar ul { margin: 0; padding: 0; list-style: none; }
body.bnx3-cat #shop-sidebar li { position: relative; margin: 0; padding: 0; border: 0; list-style: none; }
body.bnx3-cat #shop-sidebar .product-categories li > a { display: flex; align-items: center; min-height: 36px; padding: 0 28px 0 0; font-size: 14px; line-height: 20px; color: var(--x-strong); }
body.bnx3-cat #shop-sidebar .product-categories li.current-cat > a { color: var(--x-blue); font-weight: 600; }
body.bnx3-cat #shop-sidebar .product-categories ul.children { padding-left: 12px; }
body.bnx3-cat #shop-sidebar .product-categories ul.children a { min-height: 32px; color: var(--x-text-2); }
body.bnx3-cat #shop-sidebar .product-categories .count { margin-left: 4px; font-size: 12px; color: var(--x-text-3); }
body.bnx3-cat #shop-sidebar .toggle { position: absolute; right: 0; top: 6px; width: 24px; height: 24px; margin: 0; color: var(--x-text-2); opacity: 1; }
body.bnx3-cat #shop-sidebar .price_slider_wrapper { padding: 8px 0 0; }
body.bnx3-cat #shop-sidebar .ui-slider { height: 2px; margin: 8px 6px 20px; background: var(--x-border); }
body.bnx3-cat #shop-sidebar .ui-slider .ui-slider-range { background: var(--x-blue); }
body.bnx3-cat #shop-sidebar .ui-slider .ui-slider-handle { top: -6px; width: 14px; height: 14px; border: 2px solid var(--x-blue); border-radius: 50%; background: #fff; }
body.bnx3-cat #shop-sidebar .price_slider_amount { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--x-text-2); }
body.bnx3-cat #shop-sidebar .price_slider_amount .button { order: 2; min-height: 32px; margin: 0; padding: 0 16px; border: 0; border-radius: 9999px; background: var(--x-blue-soft); color: var(--x-blue); font-size: 12px; font-weight: 600; line-height: 32px; text-transform: none; }
/* Thanh N sản phẩm · Sắp xếp */
body.bnx3-cat .bnx3-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
body.bnx3-cat .bnx3-toolbar__filter { display: none; }
body.bnx3-cat .bnx3-toolbar__count { margin: 0; font-size: 14px; line-height: 20px; color: var(--x-text-2); }
body.bnx3-cat .bnx3-toolbar__sort { display: flex; align-items: center; gap: 4px; height: 32px; padding: 0 4px 0 12px; border-radius: 9999px; background: rgba(0, 96, 239, .06); }
body.bnx3-cat .bnx3-toolbar__label { font-size: 14px; color: var(--x-blue); white-space: nowrap; }
body.bnx3-cat .bnx3-toolbar .woocommerce-ordering { margin: 0; }
body.bnx3-cat .bnx3-toolbar .woocommerce-ordering select { height: 32px; margin: 0; padding: 0 28px 0 4px; border: 0; background-color: transparent; box-shadow: none; font-size: 14px; color: var(--x-blue); }
/* Lưới 3 cột gap 16 */
body.bnx3-cat .shop-container > .products.row, body.bnx3-cat .shop-container .products.row.bnx3-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; }
body.bnx3-cat .shop-container .products.row > .col { width: auto; max-width: none; flex: none; padding: 0; }
/* Phân trang ô số */
body.bnx3-cat .woocommerce-pagination { margin: 40px 0 0; text-align: center; }
body.bnx3-cat .woocommerce-pagination ul.page-numbers { display: inline-flex; gap: 8px; margin: 0; padding: 0; border: 0; }
body.bnx3-cat .woocommerce-pagination ul.page-numbers li { margin: 0; border: 0; }
body.bnx3-cat .woocommerce-pagination .page-number, body.bnx3-cat .woocommerce-pagination .page-numbers > li > a, body.bnx3-cat .woocommerce-pagination .page-numbers > li > span {
    display: flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; margin: 0; padding: 0 4px; border: 0; border-radius: 4px; background: none; color: var(--x-strong); font-size: 14px; line-height: 32px; box-sizing: border-box;
}
body.bnx3-cat .woocommerce-pagination .page-numbers .current { background: var(--x-card); color: var(--x-strong); font-weight: 600; }
body.bnx3-cat .woocommerce-pagination a:hover { background: var(--x-soft); }
/* Mô tả SEO danh mục: dưới lưới, thu gọn */
body.bnx3-cat .term-description { position: relative; margin: 64px 0 0; padding: 40px 0 0; border-top: .8px solid var(--x-line); font-size: 14px; line-height: 24px; color: var(--x-text-2); }
body.bnx3-cat .term-description.is-collapsed { max-height: 240px; overflow: hidden; }
body.bnx3-cat .term-description.is-collapsed::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 96px; background: linear-gradient(rgba(255, 255, 255, 0), #fff); pointer-events: none; }
body.bnx3-cat .term-description h2, body.bnx3-cat .term-description h3 { font-size: 20px; line-height: 28px; font-weight: 600; color: var(--x-title); }
body.bnx3-cat .term-description a { color: var(--x-blue); }
body.bnx3-cat .bnx3-readmore { display: flex; margin: 16px auto 0; }

/* ===================================================================== GIỎ HÀNG / THANH TOÁN: chỉ chỉnh nút cho đồng bộ */
body.bnx3.woocommerce-cart .checkout-button, body.bnx3.woocommerce-checkout #place_order { border-radius: 9999px; background: var(--x-blue); text-transform: none; font-weight: 600; }
body.bnx3.woocommerce-cart .checkout-button:hover, body.bnx3.woocommerce-checkout #place_order:hover { background: var(--x-blue-h); }

/* ===================================================================== MOBILE */
@media (max-width: 849px) {
    body.bnx3-pdp { --x-bar-h: 120px; }
    body.bnx3-pdp .custom-product-page > .bnx3-buyrow { display: block; padding: 0; }
    body.bnx3-pdp .bnx3-buyrow > .col:first-child, body.bnx3-pdp .bnx3-buyrow > .col:last-child { width: 100%; }
    body.bnx3-pdp .bnx3-buyrow > .col:last-child > .col-inner { padding: 24px 24px 0; }
    body.bnx3-pdp .bnx3-buyrow .is-sticky-column { position: static !important; }
    body.bnx3-pdp .bnx3-dots { display: none; }
    body.bnx3-pdp .bnx3-count { display: block; }
    body.bnx3-pdp .product-images .flickity-prev-next-button { display: none; }
    body.bnx3-pdp h1.product_title, body.bnx3-pdp h1.product-title { font-size: 24px; line-height: 28px; }
    body.bnx3-pdp .bnx-price__current, body.bnx3-pdp .bnx-price__current .amount, body.bnx3-pdp .bnx-price__current bdi { font-size: 20px; line-height: 24px; }
    body.bnx3-pdp form.variations_form .isures-ivp--option { padding: 15px 13px; gap: 16px; }
    body.bnx3-pdp form.variations_form .isures-ivp--option.is-selected, body.bnx3-pdp form.variations_form .isures-ivp--option:has(input:checked) { padding: 14.2px 12.2px; }
    body.bnx3-pdp .bnx-actions__buttons { grid-template-columns: 1fr 1fr; }
    body.bnx3-pdp .bnx-actions .bn-pcu-buy-now, body.bnx3-pdp .bnx-actions .single_add_to_cart_button { height: 40px; min-height: 40px; font-size: 14px; padding: 0 12px; }
    body.bnx3-pdp .bnx3-sec-title, body.bnx3-pdp .custom-product-page > h2, body.bnx3-pdp .bnx-section-title,
    body.bnx3-pdp .bnx3-specs .thong_so_ky_thuat_title, body.bnx3-pdp .related .product-section-title,
    body.bnx3-pdp .bnx3-posts .bvlq-header, body.bnx3-pdp .bnx3-posts .bvlq-header * { margin-top: 56px; margin-bottom: 24px; font-size: 24px; line-height: 28px; }
    body.bnx3-pdp .bnx3-posts .bvlq-header * { margin: 0; }
    body.bnx3-pdp .bnx3-section, body.bnx3-pdp .custom-product-page > .bnx3-block { padding-left: 24px; padding-right: 24px; }
    body.bnx3-pdp .bnx3-posts .bvlq-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.bnx3-pdp #reviews .commentlist { grid-template-columns: 1fr; }
    body.bnx3-pdp .bnx-review-summary { flex-wrap: wrap; }
    body.bnx3-pdp .related .row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    body.bnx3-pdp .bnx3-bar { height: auto; padding: 12px 0 16px; }
    body.bnx3-pdp .bnx3-bar__in { flex-direction: column; align-items: stretch; gap: 12px; height: auto; }
    body.bnx3-pdp .bnx3-bar__info { display: none; }
    body.bnx3-pdp .bnx3-bar__buy { flex-direction: column; align-items: stretch; gap: 12px; }
    body.bnx3-pdp .bnx3-bar__btns { display: grid; grid-template-columns: 1fr 1fr; }
    body.bnx3-pdp .bnx3-bar .bnx3-btn { min-width: 0; min-height: 40px; height: 40px; padding: 10px 16px; font-size: 14px; }
    body.bnx3-pdp .bnx3-bar__price { justify-content: flex-start; }
    body.bnx3-pdp .bnx3-bar__price .bnx3-bar__stock-m { font-size: 12px; font-weight: 400; color: #389E0D; }
    body.bnx3 .bnx3-grid .box-text, body.bnx3-pdp .related .box-text { padding: 16px; }
    body.bnx3 .bnx3-grid .price, body.bnx3 .bnx3-grid .price .amount, body.bnx3 .bnx3-grid .price ins .amount,
    body.bnx3-pdp .related .price, body.bnx3-pdp .related .price .amount, body.bnx3-pdp .related .price ins .amount { font-size: 20px; line-height: 24px; }

    body.bnx3-cat .bnx3-cat-head { padding-top: 16px; }
    body.bnx3-cat .bnx3-crumb { padding: 0; }
    body.bnx3-cat .bnx3-cat-head__title { padding-bottom: 16px; border-bottom: 0; font-size: 24px; line-height: 28px; }
    body.bnx3-cat .category-page-row { display: block; padding: 0 0 56px; }
    body.bnx3-cat .category-page-row > .col.large-9, body.bnx3-cat .category-page-row > .col.large-12 { max-width: none; }
    body.bnx3-cat .bnx3-toolbar { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0 0 16px; border-top: .8px solid var(--x-line); border-bottom: .8px solid var(--x-line); }
    body.bnx3-cat .bnx3-toolbar__count { display: none; }
    body.bnx3-cat .bnx3-toolbar__filter { display: flex; align-items: center; justify-content: center; gap: 6px; height: 48px; margin: 0; padding: 0; border: 0; border-right: .8px solid var(--x-line); border-radius: 0; background: none; color: var(--x-strong); font-size: 14px; font-weight: 400; text-transform: none; min-height: 0; }
    body.bnx3-cat .bnx3-toolbar__sort { justify-content: center; height: 48px; padding: 0 8px; border-radius: 0; background: none; }
    body.bnx3-cat .shop-container > .products.row, body.bnx3-cat .shop-container .products.row.bnx3-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    body.bnx3-cat .term-description { margin: 40px 24px 0; }
    body.bnx3-cat .woocommerce-pagination { padding: 0 24px; }
    /* Sidebar → ngăn kéo lọc. [!] Flatsome .hide-for-medium{display:none !important} */
    body.bnx3-cat.bnx3-filter-open .category-page-row > .col.large-3 {
        display: block !important; position: fixed; left: 0; top: 0; bottom: 0; z-index: 100001; box-sizing: border-box; width: min(320px, 86vw); max-width: none; padding: 16px 24px; overflow-y: auto; background: #fff; box-shadow: 4px 0 16px rgba(0, 0, 0, .15);
    }
    body.bnx3-cat.bnx3-filter-open::after { content: ""; position: fixed; inset: 0; z-index: 100000; background: rgba(0, 0, 0, .45); }
    body.bnx3-cat .bnx3-filter-head .bnx3-icon-btn { display: inline-flex; }
}
