:root {
    --dnf-green: #66a182;
    --dnf-green-light: #edf4f0;
    --dnf-black: #111111;
    --dnf-text: #222222;
    --dnf-muted: #666666;
    --dnf-border: #e5e5e5;
    --dnf-bg: #f4f5f4;
    --dnf-white: #ffffff;
}

body {
    background: var(--dnf-bg);
}

.dnf-container {
    width: 100%;
    max-width: 1360px;
    margin: 0 auto;
    padding-left: 32px;
    padding-right: 32px;
}

/* Top bar */
.dnf-topbar {
    height: 36px;
    border-bottom: 1px solid var(--dnf-border);
    background: #ffffff;
    color: #666666;
    font-size: 14px;
}

.dnf-topbar-inner {
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dnf-topbar-left,
.dnf-topbar-right {
    display: flex;
    align-items: center;
    gap: 22px;
}

.dnf-topbar a {
    color: #555555;
    text-decoration: none;
}

.dnf-topbar a:hover {
    color: var(--dnf-green);
}

/* Header */
.dnf-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    border-bottom: 1px solid var(--dnf-border);
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(10px);
}

.admin-bar .dnf-header {
    top: 32px;
}

.dnf-header-inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: 22px;
}

.dnf-logo-wrap {
    flex: 0 0 auto;
}

.dnf-logo {
    width: 112px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(102,161,130,0.35);
    background: #ffffff;
    text-decoration: none;
}

.dnf-logo span {
    color: var(--dnf-green);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.32em;
}

/* Menu chính */
.dnf-main-nav {
    flex: 1 1 auto;
    min-width: 0;
}

.dnf-main-menu {
    display: flex;
    align-items: center;
    gap: 26px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dnf-main-menu li {
    position: relative;
    margin: 0;
}

.dnf-main-menu > li > a {
    display: flex;
    align-items: center;
    height: 72px;
    color: #111111;
    font-size: 14px;
    font-weight: 650;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.dnf-main-menu > li > a:hover {
    color: var(--dnf-green);
}

/* Dropdown cơ bản, bước sau sẽ nâng thành mega menu */
.dnf-main-menu .sub-menu {
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 240px;
    margin: 0;
    padding: 10px 0;
    list-style: none;
    background: #ffffff;
    border: 1px solid var(--dnf-border);
    box-shadow: 0 12px 32px rgba(0,0,0,0.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: 0.18s ease;
}

.dnf-main-menu li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dnf-main-menu .sub-menu a {
    display: block;
    padding: 10px 16px;
    color: #555555;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
}

.dnf-main-menu .sub-menu a:hover {
    background: var(--dnf-green-light);
    color: var(--dnf-green);
}

/* Search */
.dnf-search {
    width: 360px;
    flex: 0 0 360px;
}

.dnf-search form {
    position: relative;
    margin: 0;
}

.dnf-search input[type="search"],
.dnf-search .search-field {
    width: 100%;
    height: 44px;
    border: 1px solid var(--dnf-border);
    border-radius: 12px;
    background: #ffffff;
    padding: 0 16px;
    font-size: 14px;
}

.dnf-search button,
.dnf-search input[type="submit"] {
    display: none;
}

/* Header actions */
.dnf-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.dnf-icon-btn,
.dnf-mobile-menu-toggle {
    position: relative;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--dnf-border);
    background: #ffffff;
    color: #222222;
    text-decoration: none;
    font-size: 18px;
}

.dnf-icon-btn:hover {
    background: #ffffff;
}

.dnf-cart-count {
    position: absolute;
    right: -6px;
    top: -6px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    background: #d71920;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
}

.dnf-mobile-menu-toggle {
    display: none;
    background: #111111;
    color: #ffffff;
}

/* Mobile */
@media (max-width: 1200px) {
    .dnf-main-nav {
        display: none;
    }

    .dnf-search {
        margin-left: auto;
        width: 340px;
        flex-basis: 340px;
    }

    .dnf-mobile-menu-toggle {
        display: flex;
    }
}

@media (max-width: 768px) {
    .dnf-container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .dnf-topbar {
        display: none;
    }

    .admin-bar .dnf-header {
        top: 46px;
    }

    .dnf-header-inner {
        min-height: 64px;
        gap: 10px;
    }

    .dnf-logo {
        width: 86px;
        height: 40px;
    }

    .dnf-search {
        display: none;
    }

    .dnf-icon-btn {
        width: 40px;
        height: 40px;
    }
}

/* ==================================================
   FIX LOGO + HEADER SIZE
   ================================================== */

/* Ép header không bị logo kéo cao */
.dnf-header-inner {
    height: 72px;
    min-height: 72px;
}

/* Khung logo cố định */
.dnf-logo {
    width: 112px !important;
    height: 44px !important;
    overflow: hidden;
}

/* Ép logo WordPress/custom logo nằm gọn trong khung */
.dnf-logo img,
.dnf-logo .custom-logo {
    display: block !important;
    max-width: 92px !important;
    max-height: 36px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Không cho custom logo của Astra tự phóng */
.custom-logo-link img {
    max-height: 36px !important;
    width: auto !important;
}

/* Menu canh giữa theo header */
.dnf-main-menu > li > a {
    height: 72px !important;
}

/* Giảm khoảng trắng dư phía dưới header */
.site-content {
    padding-top: 0 !important;
}

/* Mobile logo */
@media (max-width: 768px) {
    .dnf-header-inner {
        height: 64px;
        min-height: 64px;
    }

    .dnf-logo {
        width: 86px !important;
        height: 40px !important;
    }

    .dnf-logo img,
    .dnf-logo .custom-logo,
    .custom-logo-link img {
        max-width: 72px !important;
        max-height: 30px !important;
    }
}

/* ==================================================
   FIX REAL LOGO DISPLAY
   Không dùng khung vuông khi đã có logo thật
   ================================================== */

.dnf-logo {
    width: 120px !important;
    height: 72px !important;
    border: none !important;
    background: transparent !important;
    overflow: visible !important;
    padding: 0 !important;
}

.dnf-logo-img {
    display: block !important;
    max-width: 118px !important;
    max-height: 58px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

.dnf-logo span {
    width: 112px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(102,161,130,0.35);
    color: #66a182;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.32em;
}

@media (max-width: 768px) {
    .dnf-logo {
        width: 92px !important;
        height: 64px !important;
    }

    .dnf-logo-img {
        max-width: 88px !important;
        max-height: 44px !important;
    }
}

/* ==================================================
   LOGO SIZE OVERRIDE - DNF
   Tăng kích thước logo trong header
   ================================================== */

.dnf-logo-wrap {
    width: 150px !important;
    flex: 0 0 150px !important;
}

.dnf-logo {
    width: 150px !important;
    height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.dnf-logo-img {
    max-width: 145px !important;
    max-height: 68px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Mobile */
@media (max-width: 768px) {
    .dnf-logo-wrap {
        width: 105px !important;
        flex: 0 0 105px !important;
    }

    .dnf-logo {
        width: 105px !important;
        height: 64px !important;
    }

    .dnf-logo-img {
        max-width: 100px !important;
        max-height: 54px !important;
    }
}

/* ==================================================
   LOGO OVERRIDE FINAL - LOGO VUÔNG 800x800
   ================================================== */

.dnf-header-inner {
    height: 88px !important;
    min-height: 88px !important;
}

.dnf-logo-wrap {
    width: 120px !important;
    flex: 0 0 120px !important;
}

.dnf-logo {
    width: 120px !important;
    height: 88px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}

.dnf-logo-img {
    width: 82px !important;
    height: 82px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
}

/* Menu canh lại theo header mới */
.dnf-main-menu > li > a {
    height: 88px !important;
}

/* Ô tìm kiếm và icon canh giữa */
.dnf-search input[type="search"],
.dnf-search .search-field,
.dnf-icon-btn,
.dnf-mobile-menu-toggle {
    height: 44px !important;
}

/* Mobile */
@media (max-width: 768px) {
    .dnf-header-inner {
        height: 68px !important;
        min-height: 68px !important;
    }

    .dnf-logo-wrap {
        width: 76px !important;
        flex: 0 0 76px !important;
    }

    .dnf-logo {
        width: 76px !important;
        height: 68px !important;
    }

    .dnf-logo-img {
        width: 58px !important;
        height: 58px !important;
    }
}

/* ==================================================
   FORCE LOGO SIZE - OVERRIDE ALL OLD RULES
   ================================================== */

.dnf-header .dnf-header-inner {
    height: 108px !important;
    min-height: 108px !important;
}

.dnf-header .dnf-logo-wrap {
    width: 130px !important;
    flex: 0 0 130px !important;
}

.dnf-header a.dnf-logo {
    width: 130px !important;
    height: 108px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    background: transparent !important;
    overflow: visible !important;
}

.dnf-header .dnf-logo img.dnf-logo-img,
.dnf-header .dnf-logo img,
.dnf-header img.dnf-logo-img {
    width: 96px !important;
    height: 96px !important;
    max-width: none !important;
    max-height: none !important;
    min-width: 96px !important;
    min-height: 96px !important;
    object-fit: contain !important;
    display: block !important;
}

/* Menu canh lại theo header cao hơn */
.dnf-header .dnf-main-menu > li > a {
    height: 108px !important;
}

/* Mobile */
@media (max-width: 768px) {
    .dnf-header .dnf-header-inner {
        height: 72px !important;
        min-height: 72px !important;
    }

    .dnf-header .dnf-logo-wrap {
        width: 78px !important;
        flex: 0 0 78px !important;
    }

    .dnf-header a.dnf-logo {
        width: 78px !important;
        height: 72px !important;
    }

    .dnf-header .dnf-logo img.dnf-logo-img,
    .dnf-header .dnf-logo img,
    .dnf-header img.dnf-logo-img {
        width: 62px !important;
        height: 62px !important;
        min-width: 62px !important;
        min-height: 62px !important;
        max-width: none !important;
        max-height: none !important;
    }
}

/* ==================================================
   DNF PRODUCT MEGA MENU
   ================================================== */

.dnf-menu-has-mega {
    position: static !important;
}

.dnf-menu-has-mega > a::after {
    content: "⌄";
    margin-left: 6px;
    color: #999;
    font-size: 13px;
}

.dnf-product-mega {
    position: absolute;
    left: 50%;
    top: 100%;
    width: min(1120px, calc(100vw - 64px));
    transform: translateX(-50%) translateY(12px);
    z-index: 99999;
    background: #ffffff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 18px 45px rgba(0,0,0,0.14);
    padding: 24px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.18s ease;
}

.dnf-menu-has-mega:hover .dnf-product-mega {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.dnf-mega-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 16px;
    margin-bottom: 18px;
    border-bottom: 1px solid #e8e8e8;
}

.dnf-mega-head span {
    color: #66a182;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.18em;
}

.dnf-mega-head a {
    color: #66a182;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.dnf-mega-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 28px;
}

.dnf-mega-col h3 {
    margin: 0 0 12px;
    color: #111111;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.dnf-mega-col ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dnf-mega-col li {
    margin: 0;
}

.dnf-mega-col a {
    display: block;
    padding: 5px 0;
    color: #555555;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.55;
    text-decoration: none;
}

.dnf-mega-col a:hover {
    color: #66a182;
}

.dnf-mega-has-child > a {
    color: #111111;
    font-weight: 750;
}

.dnf-mega-child-list {
    margin: 3px 0 8px 0 !important;
    padding-left: 12px !important;
    border-left: 1px solid #e5e5e5;
}

.dnf-mega-child-list a {
    color: #666666;
    font-weight: 500;
}

@media (max-width: 1200px) {
    .dnf-product-mega {
        display: none;
    }
}

/* ==================================================
   MEGA MENU 6 CỘT - THÊM COMBO VÀO SẢN PHẨM
   ================================================== */

.dnf-product-mega {
    width: min(1240px, calc(100vw - 64px)) !important;
}

.dnf-mega-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

@media (max-width: 1360px) {
    .dnf-product-mega {
        width: min(1180px, calc(100vw - 48px)) !important;
    }

    .dnf-mega-grid {
        gap: 20px !important;
    }
}

/* ==================================================
   DNF BRAND MEGA MENU
   ================================================== */

.dnf-menu-has-brand-mega {
    position: static !important;
}

.dnf-menu-has-brand-mega > a::after {
    content: "⌄";
    margin-left: 6px;
    color: #999;
    font-size: 13px;
}

.dnf-brand-mega {
    position: absolute;
    left: 50%;
    top: 100%;
    width: min(1040px, calc(100vw - 64px));
    transform: translateX(-50%) translateY(12px);
    z-index: 99999;
    background: #ffffff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 18px 45px rgba(0,0,0,0.14);
    padding: 24px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.18s ease;
}

.dnf-menu-has-brand-mega:hover .dnf-brand-mega {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.dnf-brand-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px 28px;
}

.dnf-brand-item {
    padding-bottom: 12px;
    border-bottom: 1px solid #f0f0f0;
}

.dnf-brand-title {
    display: block;
    margin-bottom: 8px;
    color: #111111;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    text-decoration: none;
}

.dnf-brand-title:hover {
    color: #66a182;
}

.dnf-brand-item ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dnf-brand-item li {
    margin: 0;
}

.dnf-brand-item li a {
    display: block;
    padding: 4px 0;
    color: #555555;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.55;
    text-decoration: none;
}

.dnf-brand-item li a:hover {
    color: #66a182;
}

@media (max-width: 1200px) {
    .dnf-brand-mega {
        display: none;
    }
}

/* ==================================================
   DNF VISUAL TONE UPDATE
   Font nhẹ hơn + màu chủ đạo mới #61aa85
   ================================================== */

:root {
    --dnf-green: #61aa85 !important;
    --dnf-green-light: #eef7f3 !important;
}

/* Toàn site: giảm cảm giác chữ quá nặng */
body {
    color: #222222;
    font-weight: 400;
}

/* Top bar nhẹ hơn */
.dnf-topbar {
    color: #555555 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

.dnf-topbar strong {
    font-weight: 600 !important;
}

.dnf-topbar a {
    color: #444444 !important;
    font-weight: 400 !important;
}

.dnf-topbar a:hover {
    color: #61aa85 !important;
}

/* Header menu: giảm độ đậm, giống hình mẫu 2 */
.dnf-main-menu > li > a {
    color: #222222 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.dnf-main-menu > li > a:hover,
.dnf-main-menu > li.current-menu-item > a,
.dnf-main-menu > li.current_page_item > a {
    color: #61aa85 !important;
}

/* Mũi tên menu nhỏ dịu hơn */
.dnf-menu-has-mega > a::after,
.dnf-menu-has-brand-mega > a::after {
    color: #888888 !important;
    font-weight: 400 !important;
}

/* Search box nhẹ hơn */
.dnf-search input[type="search"],
.dnf-search .search-field {
    color: #444444 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    background: #ffffff !important;
    border-color: #e3e3e3 !important;
}

.dnf-search input::placeholder,
.dnf-search .search-field::placeholder {
    color: #9a9a9a !important;
    font-weight: 400 !important;
}

/* Icon tài khoản/giỏ hàng */
.dnf-icon-btn {
    color: #222222 !important;
    font-weight: 400 !important;
}

.dnf-icon-btn:hover {
    color: #61aa85 !important;
}

/* Logo text nếu fallback DNF */
.dnf-logo span {
    color: #61aa85 !important;
    font-weight: 700 !important;
}

/* Mega menu: tiêu đề vẫn rõ nhưng không quá gắt */
.dnf-mega-head span,
.dnf-brand-mega .dnf-mega-head span {
    color: #61aa85 !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
}

.dnf-mega-head a,
.dnf-brand-mega .dnf-mega-head a {
    color: #61aa85 !important;
    font-weight: 600 !important;
}

/* Tiêu đề cột trong mega menu */
.dnf-mega-col h3,
.dnf-brand-title {
    color: #222222 !important;
    font-weight: 650 !important;
    letter-spacing: 0.14em !important;
}

/* Link con trong mega menu nhẹ hơn */
.dnf-mega-col a,
.dnf-brand-item li a {
    color: #555555 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

.dnf-mega-has-child > a {
    color: #222222 !important;
    font-weight: 600 !important;
}

.dnf-mega-col a:hover,
.dnf-brand-title:hover,
.dnf-brand-item li a:hover {
    color: #61aa85 !important;
}

/* Menu dọc trang chủ nếu đang dùng class DNF */
.dnf-home-category-sidebar h2,
.dnf-category-sidebar h2,
.dnf-sidebar-title {
    color: #61aa85 !important;
    font-weight: 700 !important;
}

.dnf-home-category-sidebar a,
.dnf-category-sidebar a,
.dnf-home-category-sidebar button,
.dnf-category-sidebar button {
    font-weight: 500 !important;
}

.dnf-home-category-sidebar a:hover,
.dnf-category-sidebar a:hover,
.dnf-home-category-sidebar button:hover,
.dnf-category-sidebar button:hover {
    color: #61aa85 !important;
    background: #eef7f3 !important;
}

/* Các nút/điểm nhấn dùng màu mới */
a:hover,
.woocommerce a:hover {
    color: #61aa85;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product p.price .amount,
.woocommerce div.product span.price .amount {
    color: #61aa85 !important;
}

/* Giá vẫn nổi nhưng dịu hơn nếu đang có nền đỏ cũ */
.single-product .summary .price {
    border-left-color: #61aa85 !important;
    background: #eef7f3 !important;
}

/* Badge/cart count giữ đỏ để cảnh báo, không đổi xanh */
.dnf-cart-count {
    background: #d71920 !important;
}

/* ==================================================
   DNF ICON SYSTEM - SVG LINE ICONS
   ================================================== */

.dnf-svg-icon {
    width: 16px;
    height: 16px;
    display: inline-block;
    flex: 0 0 16px;
    stroke: currentColor;
    vertical-align: middle;
}

.dnf-label-icon {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
}

.dnf-topbar-left .dnf-label-icon,
.dnf-topbar-right .dnf-label-icon {
    color: #4e4e4e !important;
    font-size: 14px;
    font-weight: 400;
}

.dnf-topbar-left .dnf-label-icon strong,
.dnf-topbar-right .dnf-label-icon strong {
    font-weight: 600;
}

.dnf-topbar .dnf-svg-icon {
    width: 15px;
    height: 15px;
    color: #61aa85;
}

.dnf-topbar-right a.dnf-label-icon:hover {
    color: #61aa85 !important;
}

.dnf-search-form-wrap {
    position: relative;
}

.dnf-search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #666666;
    z-index: 2;
    pointer-events: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.dnf-search-icon .dnf-svg-icon {
    width: 18px;
    height: 18px;
}

.dnf-search input[type="search"],
.dnf-search .search-field {
    padding-left: 46px !important;
}

.dnf-icon-btn {
    color: #2a2a2a !important;
}

.dnf-icon-btn .dnf-svg-icon {
    width: 20px;
    height: 20px;
}

.dnf-icon-btn:hover {
    color: #61aa85 !important;
}

@media (max-width: 768px) {
    .dnf-topbar .dnf-svg-icon {
        width: 14px;
        height: 14px;
    }

    .dnf-icon-btn .dnf-svg-icon {
        width: 18px;
        height: 18px;
    }
}

/* ==================================================
   MEGA MENU FONT WEIGHT TUNING
   Menu con mảnh hơn, nhạt hơn menu cha
   ================================================== */

/* Tiêu đề cột: CẦN CÂU / MÁY CÂU / DÂY CÂU */
.dnf-mega-col h3 {
    color: #222222 !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    letter-spacing: 0.16em !important;
}

/* Tất cả menu con cấp 1: Cần máy đứng, Cần máy ngang... */
.dnf-mega-col > ul > li > a,
.dnf-mega-col .dnf-mega-has-child > a {
    color: #555555 !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}

/* Chỉ những mục thật sự có danh sách con mới đậm hơn một chút */
.dnf-mega-col .dnf-mega-has-child:has(.dnf-mega-child-list) > a {
    color: #333333 !important;
    font-weight: 550 !important;
}

/* Menu con cấp 2: Dây Nylon / Mono, Dây FluoroCarbon... */
.dnf-mega-child-list a {
    color: #686868 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

/* Hover vẫn dùng màu chủ đạo */
.dnf-mega-col > ul > li > a:hover,
.dnf-mega-child-list a:hover {
    color: #61aa85 !important;
}

/* Combo trọn bộ cũng là menu con, không để quá đậm */
.dnf-mega-col:last-child > ul > li > a {
    font-weight: 400 !important;
    color: #555555 !important;
}

/* ==================================================
   DNF HOME PAGE V1
   ================================================== */

.dnf-home-page {
    background: #ffffff;
}

.dnf-home-hero-wrap {
    background: #ffffff;
    padding: 28px 0;
}

.dnf-home-hero-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 1px;
    background: #e5e5e5;
}

.dnf-home-category {
    position: relative;
    z-index: 20;
    background: #ffffff;
    padding: 20px;
}

.dnf-home-category-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    color: #61aa85;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
}

.dnf-home-category-list {
    background: #e5e5e5;
}

.dnf-home-category-item {
    position: relative;
}

.dnf-home-category-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #ffffff;
    padding: 14px 16px;
    color: #222222;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: 0.16s ease;
}

.dnf-home-category-link:hover {
    background: #eef7f3;
    color: #61aa85;
}

.dnf-home-category-flyout {
    position: absolute;
    left: 100%;
    top: 0;
    width: 420px;
    margin-left: 1px;
    background: #ffffff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 18px 45px rgba(0,0,0,0.14);
    padding: 18px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(10px);
    pointer-events: none;
    transition: 0.16s ease;
}

.dnf-home-category-item:hover .dnf-home-category-flyout {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    pointer-events: auto;
}

.dnf-flyout-head {
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid #e5e5e5;
}

.dnf-flyout-head span {
    display: block;
    margin-bottom: 8px;
    color: #61aa85;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
}

.dnf-flyout-head strong {
    color: #222222;
    font-size: 13px;
    font-weight: 650;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.dnf-flyout-list a {
    display: block;
    padding: 8px 0;
    color: #555555;
    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.5;
    text-decoration: none;
}

.dnf-flyout-list a:hover {
    color: #61aa85;
}

.dnf-home-hero {
    position: relative;
    min-height: 438px;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 22%, rgba(97,170,133,0.34), transparent 34%),
        linear-gradient(135deg, rgba(0,0,0,0.92), rgba(0,0,0,0.38)),
        url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?q=80&w=1600&auto=format&fit=crop");
    background-size: cover;
    background-position: center;
    color: #ffffff;
}

.dnf-home-hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    min-height: 438px;
    max-width: 720px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 42px;
}

.dnf-hero-badge {
    display: inline-flex;
    align-items: center;
    margin-bottom: 22px;
    padding: 9px 14px;
    background: rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.86);
    font-size: 14px;
    font-weight: 600;
    backdrop-filter: blur(8px);
}

.dnf-home-hero h1 {
    max-width: 660px;
    margin: 0;
    color: #ffffff;
    font-size: 56px;
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -0.06em;
}

.dnf-home-hero p {
    max-width: 540px;
    margin: 22px 0 0;
    color: rgba(255,255,255,0.74);
    font-size: 16px;
    line-height: 1.8;
}

.dnf-hero-actions {
    display: flex;
    gap: 14px;
}

.dnf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
    transition: 0.16s ease;
}

.dnf-btn-light {
    background: #ffffff;
    color: #111111;
}

.dnf-btn-light:hover {
    background: #61aa85;
    color: #ffffff;
}

.dnf-btn-outline {
    border: 1px solid rgba(255,255,255,0.25);
    background: rgba(255,255,255,0.08);
    color: #ffffff;
}

.dnf-btn-outline:hover {
    background: rgba(255,255,255,0.16);
    color: #ffffff;
}

.dnf-home-service-wrap {
    padding: 32px 0;
}

.dnf-service-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: #e5e5e5;
}

.dnf-service-card {
    background: #ffffff;
    padding: 24px;
}

.dnf-service-icon {
    margin-bottom: 14px;
    color: #61aa85;
    font-size: 22px;
}

.dnf-service-card h3 {
    margin: 0;
    color: #111111;
    font-size: 15px;
    font-weight: 650;
}

.dnf-service-card p {
    margin: 8px 0 0;
    color: #666666;
    font-size: 14px;
    line-height: 1.7;
}

.dnf-home-products-section {
    padding: 10px 0 48px;
}

.dnf-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}

.dnf-section-head span {
    display: block;
    margin-bottom: 8px;
    color: #61aa85;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
}

.dnf-section-head h2 {
    margin: 0;
    color: #111111;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.045em;
}

.dnf-section-head p {
    margin: 8px 0 0;
    color: #666666;
    font-size: 14px;
}

.dnf-section-head a {
    color: #61aa85;
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
}

.dnf-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: #e5e5e5;
}

.dnf-product-card {
    background: #ffffff;
}

.dnf-product-thumb {
    display: block;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #ffffff;
}

.dnf-product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: 0.35s ease;
}

.dnf-product-card:hover .dnf-product-thumb img {
    transform: scale(1.035);
}

.dnf-product-info {
    padding: 16px 18px 20px;
}

.dnf-product-status {
    margin-bottom: 8px;
    color: #61aa85;
    font-size: 12px;
    font-weight: 650;
}

.dnf-product-info h3 {
    min-height: 48px;
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
}

.dnf-product-info h3 a {
    color: #222222;
    text-decoration: none;
}

.dnf-product-info h3 a:hover {
    color: #61aa85;
}

.dnf-product-price {
    min-height: 42px;
    margin-top: 12px;
    color: #111111;
    font-size: 16px;
    font-weight: 650;
}

.dnf-product-price del {
    color: #999999;
    font-weight: 400;
}

.dnf-product-price ins {
    color: #61aa85;
    text-decoration: none;
}

.dnf-product-more {
    display: block;
    margin-top: 14px;
    padding: 11px 14px;
    background: #111111;
    color: #ffffff;
    font-size: 14px;
    font-weight: 650;
    text-align: center;
    text-decoration: none;
    transition: 0.16s ease;
}

.dnf-product-more:hover {
    background: #61aa85;
    color: #ffffff;
}

@media (max-width: 1200px) {
    .dnf-home-hero-grid {
        grid-template-columns: 240px 1fr;
    }

    .dnf-home-hero h1 {
        font-size: 44px;
    }

    .dnf-product-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 900px) {
    .dnf-home-hero-grid {
        grid-template-columns: 1fr;
    }

    .dnf-home-category {
        display: none;
    }

    .dnf-service-grid,
    .dnf-product-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dnf-home-hero-content {
        padding: 32px;
    }
}

@media (max-width: 600px) {
    .dnf-home-hero-wrap {
        padding: 16px 0;
    }

    .dnf-home-hero,
    .dnf-home-hero-content {
        min-height: 420px;
    }

    .dnf-home-hero h1 {
        font-size: 34px;
    }

    .dnf-hero-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .dnf-service-grid,
    .dnf-product-grid {
        grid-template-columns: 1fr;
    }

    .dnf-section-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ==================================================
   HOME FULL WIDTH LAYOUT
   Trang chủ bung ngang full màn hình
   ================================================== */

/* Chỉ áp dụng cho trang chủ */
.dnf-home-page .dnf-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* Không để Astra bó nội dung trang chủ */
.home .ast-container,
.home .site-content .ast-container {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Hero + các block ngang full */
.dnf-home-hero-wrap,
.dnf-home-service-wrap,
.dnf-home-products-section {
    width: 100% !important;
}

/* Hero grid chiếm hết bề ngang container */
.dnf-home-hero-grid,
.dnf-service-grid,
.dnf-product-grid {
    width: 100% !important;
}

/* Mobile/tablet giảm padding để không chật */
@media (max-width: 768px) {
    .dnf-home-page .dnf-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* ==================================================
   SERVICE ICONS - HOME PAGE
   ================================================== */

.dnf-service-icon {
    width: 28px;
    height: 28px;
    margin-bottom: 16px;
    color: #61aa85;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    line-height: 0;
}

.dnf-service-icon svg {
    width: 22px;
    height: 22px;
    display: block;
    stroke: currentColor;
}

.dnf-service-card h3 {
    margin: 0 0 10px;
    color: #111111;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
}

.dnf-service-card p {
    margin: 0;
    color: #666666;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.75;
}

/* SERVICE ICON FIX - SVG visible */
.dnf-service-icon {
    width: 28px !important;
    height: 28px !important;
    margin-bottom: 16px !important;
    color: #61aa85 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

.dnf-service-icon svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    stroke: currentColor !important;
}


/* ==================================================
   HOME EXTRA ROWS: CATEGORY / BRAND / FILTER
   ================================================== */

.dnf-home-quick-section {
    background: #ffffff;
    padding: 0 0 34px;
}

.dnf-home-row-action {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 18px;
}

.dnf-home-row-action a {
    color: #61aa85;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}

.dnf-home-row-action a:hover {
    color: #111111;
}

/* Category row */
.dnf-home-tile-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1px;
    background: #e5e5e5;
}

.dnf-home-tile {
    min-height: 148px;
    display: block;
    background: #ffffff;
    padding: 24px 20px;
    color: #222222;
    text-decoration: none;
    transition: 0.16s ease;
}

.dnf-home-tile:hover {
    background: #eef7f3;
    color: #222222;
}

.dnf-home-tile-icon {
    width: 28px;
    height: 28px;
    margin-bottom: 20px;
    color: #61aa85;
}

.dnf-home-tile-icon svg {
    width: 24px;
    height: 24px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dnf-home-tile h3 {
    margin: 0 0 8px;
    color: #111111;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.35;
}

.dnf-home-tile p {
    margin: 0;
    color: #666666;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
}

/* Brand row */
.dnf-home-brand-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 1px;
    background: #e5e5e5;
}

.dnf-home-brand-card {
    position: relative;
    min-height: 126px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    background: #ffffff;
    padding: 20px 14px 24px;
    color: #111111;
    text-align: center;
    text-decoration: none;
    transition: 0.16s ease;
}

.dnf-home-brand-card:hover {
    background: #eef7f3;
}

.dnf-brand-badge {
    position: absolute;
    left: 10px;
    top: 10px;
    background: #eef7f3;
    color: #61aa85;
    padding: 5px 8px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.dnf-brand-logo {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    border: 1px solid #dce8e2;
    background: #ffffff;
    color: #61aa85;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: -0.02em;
}

.dnf-home-brand-card strong {
    color: #111111;
    font-size: 14px;
    font-weight: 600;
}

/* Filter row */
.dnf-home-filter-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 160px;
    gap: 1px;
    background: #e5e5e5;
}

.dnf-filter-card {
    display: block;
    min-height: 92px;
    background: #ffffff;
    padding: 22px;
    color: #222222;
    text-decoration: none;
    transition: 0.16s ease;
}

.dnf-filter-card:hover {
    background: #eef7f3;
}

.dnf-filter-card h3 {
    margin: 0 0 8px;
    color: #111111;
    font-size: 14.5px;
    font-weight: 600;
}

.dnf-filter-card p {
    margin: 0;
    color: #666666;
    font-size: 14px;
    line-height: 1.6;
}

.dnf-filter-button {
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #111111;
    color: #ffffff;
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
    transition: 0.16s ease;
}

.dnf-filter-button:hover {
    background: #61aa85;
    color: #ffffff;
}

@media (max-width: 1200px) {
    .dnf-home-tile-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .dnf-home-brand-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    .dnf-home-tile-grid,
    .dnf-home-brand-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dnf-home-filter-grid {
        grid-template-columns: 1fr;
    }
}


/* ==================================================
   HOME STANDARD LAYOUT
   Full width + 5 products per row
   ================================================== */

/* Từ nay các block trang chủ dùng cùng bề ngang */
.dnf-home-page .dnf-container {
}

/* Không để Astra bó layout trang chủ */
.home .ast-container,
.home .site-content .ast-container {
}

/* Các block chính trang chủ bung ngang đồng bộ */
.dnf-home-hero-grid,
.dnf-service-grid,
.dnf-home-tile-grid,
.dnf-home-brand-grid,
.dnf-home-filter-grid,
.dnf-product-grid {
}

/* Sản phẩm trang chủ: 5 sản phẩm / hàng trên desktop */
.dnf-product-grid {
}

/* Card sản phẩm gọn hơn để vừa 5 cột */
.dnf-product-info {
}

.dnf-product-info h3 {
}

.dnf-product-price {
}

/* Màn hình vừa: 4 cột */
@media (max-width: 1360px) {
    .dnf-product-grid {
    }
}

/* Tablet: 3 cột */
@media (max-width: 1100px) {
    .dnf-product-grid {
    }
}

/* Mobile lớn: 2 cột */
@media (max-width: 768px) {
    .dnf-home-page .dnf-container {
    }

    .dnf-product-grid {
    }
}

/* Mobile nhỏ: 1 cột nếu quá chật */
@media (max-width: 420px) {
    .dnf-product-grid {
    }
}

/* ==================================================
   HOME STANDARD LAYOUT - FINAL
   Full width + 5 products per row
   ================================================== */

.dnf-home-page .dnf-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

.home .ast-container,
.home .site-content .ast-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.dnf-home-hero-grid,
.dnf-service-grid,
.dnf-home-tile-grid,
.dnf-home-brand-grid,
.dnf-home-filter-grid,
.dnf-product-grid {
    width: 100% !important;
}

.dnf-product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.dnf-product-info {
    padding: 15px 16px 18px !important;
}

.dnf-product-info h3 {
    font-size: 14.5px !important;
    line-height: 1.55 !important;
}

.dnf-product-price {
    font-size: 15px !important;
}

@media (max-width: 1360px) {
    .dnf-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1100px) {
    .dnf-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .dnf-home-page .dnf-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .dnf-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 420px) {
    .dnf-product-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ==================================================
   FORCE HOME FULL WIDTH - FINAL OVERRIDE
   Ép toàn bộ trang chủ bung full ngang
   ================================================== */

/* Gỡ giới hạn của Astra trên trang chủ */
body.home,
body.home #page,
body.home #content,
body.home .site-content,
body.home .ast-container,
body.home .content-area,
body.home #primary,
body.home .site-main,
body.home article,
body.home .entry-content {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Tất cả section trong trang chủ full ngang */
body.home .dnf-home-page,
body.home .dnf-home-page section,
body.home .dnf-home-hero-wrap,
body.home .dnf-home-service-wrap,
body.home .dnf-home-quick-section,
body.home .dnf-home-products-section {
    max-width: none !important;
    width: 100% !important;
}

/* Container riêng của trang chủ: full ngang nhưng vẫn có lề thở */
body.home .dnf-home-page .dnf-container,
body.home .dnf-home-hero-wrap .dnf-container,
body.home .dnf-home-service-wrap .dnf-container,
body.home .dnf-home-quick-section .dnf-container,
body.home .dnf-home-products-section .dnf-container {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* Các grid bên trong cũng phải bung hết ngang */
body.home .dnf-home-hero-grid,
body.home .dnf-service-grid,
body.home .dnf-home-tile-grid,
body.home .dnf-home-brand-grid,
body.home .dnf-home-filter-grid,
body.home .dnf-product-grid {
    max-width: none !important;
    width: 100% !important;
}

/* Product grid: desktop 5 sản phẩm */
body.home .dnf-product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

/* Nếu có block WooCommerce mặc định lọt vào */
body.home ul.products {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 1px !important;
    width: 100% !important;
}

/* Màn hình vừa */
@media (max-width: 1360px) {
    body.home .dnf-product-grid,
    body.home ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* Tablet */
@media (max-width: 1100px) {
    body.home .dnf-product-grid,
    body.home ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    body.home .dnf-home-page .dnf-container,
    body.home .dnf-home-hero-wrap .dnf-container,
    body.home .dnf-home-service-wrap .dnf-container,
    body.home .dnf-home-quick-section .dnf-container,
    body.home .dnf-home-products-section .dnf-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.home .dnf-product-grid,
    body.home ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 420px) {
    body.home .dnf-product-grid,
    body.home ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ==================================================
   HOME ADVICE / COMBO SECTION
   ================================================== */

.dnf-home-advice-section {
    background: #ffffff;
    padding: 0 0 34px;
}

.dnf-home-advice-grid {
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    gap: 1px;
    background: #e5e5e5;
}

.dnf-advice-left {
    min-height: 360px;
    background: #050505;
    color: #ffffff;
    padding: 36px;
}

.dnf-advice-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 22px;
    color: #9fd7bd;
    font-size: 14px;
    font-weight: 650;
}

.dnf-advice-eyebrow svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dnf-advice-left h2 {
    max-width: 460px;
    margin: 0;
    color: #ffffff;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.22;
    letter-spacing: -0.055em;
}

.dnf-advice-left p {
    max-width: 500px;
    margin: 22px 0 0;
    color: rgba(255,255,255,0.72);
    font-size: 15px;
    line-height: 1.85;
}

.dnf-advice-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    margin-top: 30px;
    background: rgba(255,255,255,0.12);
}

.dnf-advice-steps span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    background: #101010;
    color: rgba(255,255,255,0.78);
    font-size: 12px;
    font-weight: 600;
}

.dnf-advice-main-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: 28px;
    padding: 0 28px;
    background: #61aa85;
    color: #ffffff;
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
    transition: 0.16s ease;
}

.dnf-advice-main-btn:hover {
    background: #ffffff;
    color: #111111;
}

.dnf-advice-right {
    background: #ffffff;
    padding: 36px;
}

.dnf-advice-right-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 24px;
}

.dnf-advice-right-head span {
    display: block;
    margin-bottom: 10px;
    color: #61aa85;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
}

.dnf-advice-right-head h2 {
    margin: 0;
    color: #111111;
    font-size: 34px;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.055em;
}

.dnf-advice-right-head p {
    max-width: 650px;
    margin: 12px 0 0;
    color: #666666;
    font-size: 14px;
    line-height: 1.75;
}

.dnf-advice-right-head a {
    flex: 0 0 auto;
    color: #61aa85;
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
}

.dnf-advice-right-head a:hover {
    color: #111111;
}

.dnf-advice-suggestion-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: #e5e5e5;
}

.dnf-advice-suggestion-grid a {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #ffffff;
    padding: 20px 24px;
    color: #222222;
    font-size: 14.5px;
    font-weight: 600;
    text-decoration: none;
    transition: 0.16s ease;
}

.dnf-advice-suggestion-grid a:hover {
    background: #eef7f3;
    color: #61aa85;
}

.dnf-advice-suggestion-grid strong {
    color: #999999;
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
}

@media (max-width: 1100px) {
    .dnf-home-advice-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .dnf-advice-left,
    .dnf-advice-right {
        padding: 28px 22px;
    }

    .dnf-advice-left h2,
    .dnf-advice-right-head h2 {
        font-size: 28px;
    }

    .dnf-advice-steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .dnf-advice-right-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .dnf-advice-suggestion-grid {
        grid-template-columns: 1fr;
    }
}

/* ==================================================
   FEATURED PRODUCT SECTION FIX
   Thu nhỏ card, ảnh vừa khung, nút Xem thêm đều hàng
   ================================================== */

/* Tiêu đề block gọn hơn */
body.home .dnf-home-products-section .dnf-section-head {
    align-items: center !important;
    margin-bottom: 18px !important;
}

body.home .dnf-home-products-section .dnf-section-head h2 {
    font-size: 30px !important;
    line-height: 1.18 !important;
    margin: 0 !important;
}

body.home .dnf-home-products-section .dnf-section-head a {
    color: #61aa85 !important;
    font-weight: 500 !important;
}

/* Card sản phẩm đồng bộ chiều cao */
body.home .dnf-product-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
    background: #ffffff !important;
}

/* Thu nhỏ vùng ảnh để sản phẩm không quá khổng lồ */
body.home .dnf-product-thumb {
    height: 300px !important;
    aspect-ratio: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px !important;
    background: #ffffff !important;
}

/* Ảnh nằm gọn trong khung, không phóng quá lớn */
body.home .dnf-product-thumb img {
    width: 100% !important;
    height: 100% !important;
    max-height: 276px !important;
    object-fit: contain !important;
}

/* Phần chữ bên dưới dùng flex để nút đều hàng */
body.home .dnf-product-info {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 14px 16px 18px !important;
}

/* Tên sản phẩm giữ chiều cao tương đối đều */
body.home .dnf-product-info h3 {
    min-height: 72px !important;
    margin: 0 !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
}

/* Giá giữ khoảng đều */
body.home .dnf-product-price {
    min-height: 44px !important;
    margin-top: 10px !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

/* Nút Xem thêm luôn nằm đáy card */
body.home .dnf-product-more {
    margin-top: auto !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Màn hình vừa */
@media (max-width: 1360px) {
    body.home .dnf-product-thumb {
        height: 270px !important;
    }

    body.home .dnf-product-thumb img {
        max-height: 246px !important;
    }
}

/* Tablet */
@media (max-width: 1100px) {
    body.home .dnf-product-thumb {
        height: 250px !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    body.home .dnf-product-thumb {
        height: 220px !important;
    }

    body.home .dnf-product-info h3 {
        min-height: auto !important;
    }
}

/* ==================================================
   TABBED PRODUCTS V2
   Link Xem thêm thay đổi theo tab đang chọn
   ================================================== */

.dnf-tab-see-more-wrap {
    position: relative;
    min-width: 110px;
    text-align: right;
}

.dnf-tab-see-more {
    display: none;
    color: #61aa85;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
}

.dnf-tab-see-more.is-active {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
}

.dnf-tab-see-more:hover {
    color: #111111;
}

/* Tab đều nhau, nhìn chỉn chu */
.dnf-tab-buttons {
    width: min(780px, 100%);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 18px;
}

.dnf-tab-btn {
    height: 44px;
    min-width: 0;
    padding: 0 10px;
    border: 1px solid #dedede;
    background: #ffffff;
    color: #222222;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    transition: 0.16s ease;
    white-space: nowrap;
}

.dnf-tab-btn:hover {
    border-color: #61aa85;
    color: #61aa85;
}

.dnf-tab-btn.is-active {
    border-color: #111111;
    background: #111111;
    color: #ffffff;
}

.dnf-tab-panel {
    display: none;
}

.dnf-tab-panel.is-active {
    display: block;
}

@media (max-width: 768px) {
    .dnf-tabbed-products-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .dnf-tab-see-more-wrap {
        width: 100%;
        text-align: left;
    }

    .dnf-tab-buttons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }
}

@media (max-width: 420px) {
    .dnf-tab-buttons {
        grid-template-columns: 1fr;
    }
}

/* ==================================================
   TABBED PRODUCTS - FULL WIDTH FIX
   ================================================== */

/* Bản thân section phải bung ngang */
body.home .dnf-tabbed-products-section {
    width: 100% !important;
    max-width: none !important;
    padding: 0 0 48px !important;
    margin: 0 !important;
}

/* Container bên trong phải full ngang như các block khác */
body.home .dnf-tabbed-products-section .dnf-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* Phần header của block */
body.home .dnf-tabbed-products-head {
    width: 100% !important;
    margin-bottom: 18px !important;
}

/* Tabs */
body.home .dnf-tab-buttons {
    width: min(780px, 100%) !important;
    margin-bottom: 18px !important;
}

/* Panel + grid sản phẩm */
body.home .dnf-tab-panels,
body.home .dnf-tab-panel,
body.home .dnf-tabbed-products-section .dnf-product-grid {
    width: 100% !important;
    max-width: none !important;
}

/* 5 cột trên desktop */
body.home .dnf-tabbed-products-section .dnf-product-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 1px !important;
}

/* Card sản phẩm đồng đều */
body.home .dnf-tabbed-products-section .dnf-product-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    background: #fff !important;
}

/* Ảnh gọn lại cho vừa khung */
body.home .dnf-tabbed-products-section .dnf-product-thumb {
    height: 260px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px !important;
    background: #fff !important;
}

body.home .dnf-tabbed-products-section .dnf-product-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    max-height: 236px !important;
}

/* Phần thông tin */
body.home .dnf-tabbed-products-section .dnf-product-info {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 14px 16px 18px !important;
}

body.home .dnf-tabbed-products-section .dnf-product-info h3 {
    min-height: 72px !important;
    margin: 0 !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
}

body.home .dnf-tabbed-products-section .dnf-product-price {
    min-height: 44px !important;
    margin-top: 10px !important;
}

body.home .dnf-tabbed-products-section .dnf-product-more {
    margin-top: auto !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Responsive */
@media (max-width: 1360px) {
    body.home .dnf-tabbed-products-section .dnf-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1100px) {
    body.home .dnf-tabbed-products-section .dnf-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    body.home .dnf-tabbed-products-section .dnf-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.home .dnf-tab-buttons {
        width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.home .dnf-tabbed-products-section .dnf-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.home .dnf-tabbed-products-section .dnf-product-thumb {
        height: 220px !important;
    }

    body.home .dnf-tabbed-products-section .dnf-product-info h3 {
        min-height: auto !important;
    }
}

@media (max-width: 420px) {
    body.home .dnf-tab-buttons,
    body.home .dnf-tabbed-products-section .dnf-product-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ==================================================
   HOME SALE + GUIDE BLOCKS
   ================================================== */

body.home .dnf-home-sale-section,
body.home .dnf-home-guide-section {
    width: 100% !important;
    max-width: none !important;
    background: #ffffff;
    padding: 0 0 48px !important;
}

body.home .dnf-home-sale-section .dnf-container,
body.home .dnf-home-guide-section .dnf-container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* Sale giữ chuẩn 5 sản phẩm / hàng */
body.home .dnf-home-sale-section .dnf-product-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 1px !important;
    width: 100% !important;
    background: #e5e5e5;
}

/* Guide grid cũng 5 card / hàng */
body.home .dnf-guide-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 1px !important;
    width: 100% !important;
    background: #e5e5e5;
}

body.home .dnf-guide-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    min-width: 0;
}

body.home .dnf-guide-thumb {
    height: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #ffffff;
}

body.home .dnf-guide-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.home .dnf-guide-noimg {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #61aa85;
    font-size: 24px;
    font-weight: 700;
    background: #eef7f3;
}

body.home .dnf-guide-info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 16px 18px 20px;
}

body.home .dnf-guide-label {
    margin-bottom: 10px;
    color: #61aa85;
    font-size: 12px;
    font-weight: 650;
}

body.home .dnf-guide-info h3 {
    min-height: 64px;
    margin: 0;
    font-size: 15px;
    font-weight: 550;
    line-height: 1.55;
}

body.home .dnf-guide-info h3 a {
    color: #111111;
    text-decoration: none;
}

body.home .dnf-guide-info h3 a:hover {
    color: #61aa85;
}

body.home .dnf-guide-info p {
    min-height: 72px;
    margin: 12px 0 0;
    color: #666666;
    font-size: 14px;
    line-height: 1.65;
}

body.home .dnf-guide-more {
    margin-top: auto;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #111111;
    color: #ffffff;
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
}

body.home .dnf-guide-more:hover {
    background: #61aa85;
    color: #ffffff;
}

body.home .dnf-home-empty-block {
    background: #ffffff;
    padding: 28px;
    color: #666666;
    font-size: 14px;
}

/* Responsive */
@media (max-width: 1360px) {
    body.home .dnf-home-sale-section .dnf-product-grid,
    body.home .dnf-guide-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1100px) {
    body.home .dnf-home-sale-section .dnf-product-grid,
    body.home .dnf-guide-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    body.home .dnf-home-sale-section .dnf-container,
    body.home .dnf-home-guide-section .dnf-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.home .dnf-home-sale-section .dnf-product-grid,
    body.home .dnf-guide-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.home .dnf-guide-info h3,
    body.home .dnf-guide-info p {
        min-height: auto;
    }
}

@media (max-width: 420px) {
    body.home .dnf-home-sale-section .dnf-product-grid,
    body.home .dnf-guide-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ==================================================
   DNF CUSTOM FOOTER
   ================================================== */

.dnf-footer {
    width: 100%;
    background: #ffffff;
    color: #222222;
    border-top: 1px solid #e5e5e5;
}

/* Nếu Astra vẫn còn footer mặc định thì ẩn nó */
footer.site-footer:not(.dnf-footer) {
    display: none !important;
}

.dnf-footer-container {
    width: 100%;
    max-width: none;
    padding: 54px 40px 48px;
}

.dnf-footer-grid {
    display: grid;
    grid-template-columns: 1.25fr 1.25fr 0.75fr 0.95fr;
    gap: 32px;
}

.dnf-footer-col h3 {
    margin: 0;
    color: #61aa85;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.dnf-footer-line {
    height: 1px;
    width: 100%;
    margin: 18px 0 20px;
    background: #dedede;
}

.dnf-footer-col p {
    margin: 0 0 15px;
    color: #333333;
    font-size: 14px;
    line-height: 1.8;
}

.dnf-footer-col strong {
    color: #111111;
    font-weight: 700;
}

.dnf-footer-license ul {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.dnf-footer-license li {
    margin: 0 0 12px;
}

.dnf-footer-license a {
    color: #61aa85;
    font-size: 14px;
    text-decoration: none;
}

.dnf-footer-license a:hover {
    color: #111111;
}

/* Map */
.dnf-map-card {
    min-height: 210px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background-color: #edf5f0;
    background-image:
        linear-gradient(rgba(97,170,133,0.09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(97,170,133,0.09) 1px, transparent 1px);
    background-size: 28px 28px;

    padding: 24px;
    text-align: center;
}

.dnf-map-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 14px;
    color: #61aa85;
}

.dnf-map-icon svg {
    width: 42px;
    height: 42px;
}

.dnf-map-card strong {
    display: block;
    margin-bottom: 8px;
    color: #111111;
    font-size: 14px;
    font-weight: 700;
}

.dnf-map-card span {
    display: block;
    color: #555555;
    font-size: 13px;
    line-height: 1.6;
}

/* Facebook */
.dnf-facebook-card {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    padding: 22px;
}

.dnf-facebook-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    background: #61aa85;
    color: #ffffff;
}

.dnf-facebook-icon svg {
    width: 24px;
    height: 24px;
}

.dnf-facebook-card strong {
    display: block;
    margin-bottom: 14px;
    color: #111111;
    font-size: 15px;
    font-weight: 700;
}

.dnf-facebook-card p {
    margin-bottom: 20px;
}

/* Buttons */
.dnf-footer-btn {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
    transition: 0.16s ease;
}

.dnf-footer-btn-dark {
    margin-top: 18px;
    background: #111111;
    color: #ffffff;
}

.dnf-footer-btn-dark:hover {
    background: #61aa85;
    color: #ffffff;
}

.dnf-footer-btn-light {
    width: 100%;
    border: 1px solid #e2e2e2;
    background: #ffffff;
    color: #111111;
}

.dnf-footer-btn-light:hover {
    border-color: #61aa85;
    background: #61aa85;
    color: #ffffff;
}

/* Bottom */
.dnf-footer-bottom {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 40px;
    border-top: 1px solid #dedede;
    color: #555555;
    font-size: 13px;
    line-height: 1.6;
}

/* Responsive */
@media (max-width: 1200px) {
    .dnf-footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .dnf-footer-container {
        padding: 38px 16px;
    }

    .dnf-footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .dnf-footer-bottom {
        flex-direction: column;
        padding: 18px 16px;
    }
}

/* ==================================================
   SERVICE BLOCK TOP POSITION + COMPACT STYLE
   Đặt dưới header, trên hero/slide
   ================================================== */

body.home .dnf-home-service-wrap {
    width: 100% !important;
    max-width: none !important;
    background: #ffffff !important;
    padding: 16px 0 12px !important;
    margin: 0 !important;
}

body.home .dnf-home-service-wrap .dnf-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

body.home .dnf-service-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1px !important;
    background: #e5e5e5 !important;
}

body.home .dnf-service-card {
    min-height: 108px !important;
    display: grid !important;
    grid-template-columns: 40px 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 16px !important;
    align-content: center !important;
    background: #ffffff !important;
    padding: 22px 28px !important;
}

/* Icon lớn hơn, nằm bên trái */
body.home .dnf-service-icon {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    color: #61aa85 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
}

body.home .dnf-service-icon svg {
    width: 28px !important;
    height: 28px !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
}

/* Chữ căn bên phải icon */
body.home .dnf-service-card h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 0 7px !important;
    color: #111111 !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
}

body.home .dnf-service-card p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    color: #666666 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}

/* Hero sát dưới block cam kết hơn, không để khoảng trắng lớn */
body.home .dnf-home-hero-wrap {
    padding-top: 14px !important;
}

/* Tablet */
@media (max-width: 1100px) {
    body.home .dnf-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    body.home .dnf-home-service-wrap .dnf-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.home .dnf-service-grid {
        grid-template-columns: 1fr !important;
    }

    body.home .dnf-service-card {
        min-height: 96px !important;
        padding: 18px 20px !important;
        grid-template-columns: 36px 1fr !important;
    }

    body.home .dnf-service-icon svg {
        width: 25px !important;
        height: 25px !important;
    }
}

/* ==================================================
   SERVICE BLOCK ALIGN FIX
   ================================================== */

body.home .dnf-home-service-wrap {
    padding: 12px 0 10px !important;
}

body.home .dnf-service-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1px !important;
    background: #e5e5e5 !important;
    align-items: stretch !important;
}

body.home .dnf-service-card {
    min-height: 116px !important;
    display: grid !important;
    grid-template-columns: 44px 1fr !important;
    grid-template-rows: auto 1fr !important;
    column-gap: 18px !important;
    row-gap: 4px !important;
    align-items: start !important;
    background: #ffffff !important;
    padding: 24px 30px !important;
    box-sizing: border-box !important;
}

/* icon */
body.home .dnf-service-icon {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 36px !important;
    height: 36px !important;
    margin: 2px 0 0 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    color: #61aa85 !important;
}

body.home .dnf-service-icon svg {
    width: 28px !important;
    height: 28px !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
}

/* tiêu đề */
body.home .dnf-service-card h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111111 !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    min-height: 20px !important;
    display: flex !important;
    align-items: center !important;
}

/* mô tả */
body.home .dnf-service-card p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #666666 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}

/* đảm bảo mọi item có chiều cao đồng đều */
body.home .dnf-service-card > * {
    box-sizing: border-box !important;
}

/* Tablet */
@media (max-width: 1100px) {
    body.home .dnf-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    body.home .dnf-service-grid {
        grid-template-columns: 1fr !important;
    }

    body.home .dnf-service-card {
        min-height: 98px !important;
        grid-template-columns: 40px 1fr !important;
        padding: 18px 20px !important;
    }

    body.home .dnf-service-icon {
        width: 32px !important;
        height: 32px !important;
    }

    body.home .dnf-service-icon svg {
        width: 24px !important;
        height: 24px !important;
    }
}

/* ==================================================
   HERO - SINGLE AI BUTTON
   ================================================== */

body.home .dnf-home-hero-wrap {
    padding-top: 8px !important;
}

body.home .dnf-hero-content {
    max-width: 620px !important;
}

body.home .dnf-hero-content p {
    max-width: 560px !important;
    margin-bottom: 26px !important;
}

/* chỉ còn 1 nút nên làm thoáng */
body.home .dnf-hero-actions,
body.home .dnf-hero-buttons {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    margin-top: 10px !important;
}

/* style nút AI */
body.home .dnf-hero-ai-btn,
body.home .dnf-hero-actions .dnf-hero-btn,
body.home .dnf-hero-buttons .dnf-hero-btn {
    min-width: 220px !important;
    min-height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 28px !important;
    background: #61aa85 !important;
    border: 1px solid #61aa85 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: 0.18s ease !important;
}

body.home .dnf-hero-ai-btn:hover,
body.home .dnf-hero-actions .dnf-hero-btn:hover,
body.home .dnf-hero-buttons .dnf-hero-btn:hover {
    background: #4f9874 !important;
    border-color: #4f9874 !important;
    color: #ffffff !important;
}

/* nếu còn sót nút thứ 2 do markup cũ thì ẩn đi */
body.home .dnf-hero-actions .dnf-hero-btn:not(:first-child),
body.home .dnf-hero-buttons .dnf-hero-btn:not(:first-child),
body.home .dnf-hero-actions a:not(:first-child),
body.home .dnf-hero-buttons a:not(:first-child) {
    display: none !important;
}

@media (max-width: 768px) {
    body.home .dnf-hero-ai-btn,
    body.home .dnf-hero-actions .dnf-hero-btn,
    body.home .dnf-hero-buttons .dnf-hero-btn {
        min-width: 190px !important;
        min-height: 48px !important;
        font-size: 14px !important;
    }
}

/* ==================================================
   HERO AI BUTTON + FAKE AI POPUP
   ================================================== */

/* Nút hero: trong suốt, chữ trắng */
body.home .dnf-hero-ai-btn {
    min-width: 210px !important;
    min-height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 28px !important;
    border: 1px solid rgba(255,255,255,0.48) !important;
    background: transparent !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: 0.18s ease !important;
}

body.home .dnf-hero-ai-btn:hover {
    border-color: #61aa85 !important;
    background: transparent !important;
    color: #61aa85 !important;
}

/* Popup shell */
.dnf-ai-popup {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
}

.dnf-ai-popup.is-open {
    display: block;
}

.dnf-ai-popup-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.58);
    backdrop-filter: blur(4px);
}

.dnf-ai-popup-dialog {
    position: absolute;
    right: 40px;
    bottom: 40px;
    width: min(420px, calc(100vw - 32px));
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 24px 70px rgba(0,0,0,0.28);
}

.dnf-ai-popup-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px;
    background: #111111;
    color: #ffffff;
}

.dnf-ai-popup-head span {
    display: block;
    margin-bottom: 6px;
    color: #61aa85;
    font-size: 11px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.dnf-ai-popup-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.03em;
}

.dnf-ai-popup-close {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,0.22);
    background: transparent;
    color: #ffffff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.dnf-ai-popup-close:hover {
    border-color: #61aa85;
    color: #61aa85;
}

.dnf-ai-popup-body {
    padding: 20px 22px;
    background: #ffffff;
}

.dnf-ai-message {
    padding: 14px 16px;
    font-size: 14px;
    line-height: 1.7;
}

.dnf-ai-message-bot {
    background: #ffffff;
    border-left: 4px solid #61aa85;
    color: #333333;
}

.dnf-ai-quick-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 16px;
}

.dnf-ai-quick-list button {
    min-height: 40px;
    border: 1px solid #e2e2e2;
    background: #ffffff;
    color: #222222;
    font-size: 13.5px;
    font-weight: 500;
    text-align: left;
    padding: 0 14px;
    cursor: pointer;
}

.dnf-ai-quick-list button:hover {
    border-color: #61aa85;
    color: #61aa85;
}

.dnf-ai-popup-foot {
    display: grid;
    grid-template-columns: 1fr 78px;
    gap: 8px;
    padding: 16px 22px;
    background: #ffffff;
    border-top: 1px solid #e5e5e5;
}

.dnf-ai-popup-foot input {
    height: 42px;
    border: 1px solid #e2e2e2;
    padding: 0 12px;
    color: #666666;
    font-size: 14px;
}

.dnf-ai-popup-foot button {
    height: 42px;
    border: 0;
    background: #111111;
    color: #ffffff;
    font-size: 14px;
    font-weight: 650;
}

.dnf-ai-popup-note {
    padding: 0 22px 18px;
    background: #ffffff;
    color: #888888;
    font-size: 12.5px;
    line-height: 1.5;
}

/* Khóa cuộn nền khi popup mở */
body.dnf-ai-popup-open {
    overflow: hidden;
}

@media (max-width: 768px) {
    .dnf-ai-popup-dialog {
        left: 16px;
        right: 16px;
        bottom: 18px;
        width: auto;
    }

    body.home .dnf-hero-ai-btn {
        min-width: 190px !important;
        min-height: 48px !important;
        font-size: 14px !important;
    }
}

/* ==================================================
   FILTER BLOCK UNDER HERO
   Chỉ giữ bộ lọc, đặt ngay dưới hero
   ================================================== */

body.home .dnf-home-filter-section {
    width: 100% !important;
    max-width: none !important;
    background: #ffffff !important;
    padding: 24px 0 40px !important;
    margin: 0 !important;
}

body.home .dnf-home-filter-section .dnf-container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    margin: 0 !important;
}

body.home .dnf-home-filter-section .dnf-home-row-action {
    margin-bottom: 16px !important;
}

body.home .dnf-home-filter-grid {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 160px !important;
    gap: 1px !important;
    background: #e5e5e5 !important;
}

body.home .dnf-filter-card {
    min-height: 92px !important;
    background: #ffffff !important;
    padding: 22px 24px !important;
}

body.home .dnf-filter-button {
    min-height: 92px !important;
}

/* Xóa khoảng trắng dư nếu các block cũ để lại */
body.home .dnf-home-category-tiles-section,
body.home .dnf-home-brand-section,
body.home .dnf-home-advice-section {
    display: none !important;
}

@media (max-width: 768px) {
    body.home .dnf-home-filter-section .dnf-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.home .dnf-home-filter-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ==================================================
   DNF BRAND STRIP
   Hiển thị thương hiệu theo danh mục/tab
   ================================================== */

.dnf-brand-strip {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 1px;
    padding: 14px 16px;
    background: #ffffff;
    border: 1px solid #e5e5e5;
}

.dnf-brand-strip-label {
    flex: 0 0 auto;
    color: #61aa85;
    font-size: 11px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.dnf-brand-strip-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.dnf-brand-pill {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid #e2e2e2;
    background: #ffffff;
    color: #333333;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: 0.16s ease;
}

.dnf-brand-pill:hover {
    border-color: #61aa85;
    color: #61aa85;
}

.dnf-brand-pill.is-active {
    border-color: #111111;
    background: #111111;
    color: #ffffff;
}

/* Khi nằm trên trang danh mục WooCommerce */
.woocommerce .dnf-brand-strip {
    margin: 0 0 22px;
}

/* Khi nằm trong tab sản phẩm trang chủ */
body.home .dnf-tab-panel .dnf-brand-strip {
    margin-bottom: 1px;
}

/* Mobile */
@media (max-width: 768px) {
    .dnf-brand-strip {
        align-items: flex-start;
        flex-direction: column;
        padding: 14px;
    }

    .dnf-brand-strip-list {
        width: 100%;
    }

    .dnf-brand-pill {
        flex: 1 1 calc(50% - 8px);
    }
}

/* ==================================================
   HIDE BRAND STRIP ON HOME TABS ONLY
   Giữ strip thương hiệu ở trang danh mục, ẩn ở tab trang chủ
   ================================================== */

body.home .dnf-tabbed-products-section .dnf-brand-strip {
    display: none !important;
}

/* ==================================================
   BRAND STRIP WITH LOGO
   ================================================== */

.dnf-brand-strip {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin: 0 0 22px;
    padding: 14px 16px;
    background: #ffffff;
    border: 1px solid #e5e5e5;
}

.dnf-brand-strip-label {
    flex: 0 0 auto;
    padding-top: 10px;
    color: #61aa85;
    font-size: 11px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.dnf-brand-strip-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.dnf-brand-pill {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 6px 14px 6px 10px;
    border: 1px solid #e2e2e2;
    background: #ffffff;
    color: #333333;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: 0.16s ease;
}

.dnf-brand-pill:hover {
    border-color: #61aa85;
    color: #61aa85;
}

.dnf-brand-pill.is-active {
    border-color: #111111;
    background: #111111;
    color: #ffffff;
}

.dnf-brand-pill-logo {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #ececec;
}

.dnf-brand-pill-logo img {
    max-width: 22px;
    max-height: 22px;
    width: auto;
    height: auto;
    display: block;
    object-fit: contain;
}

.dnf-brand-pill-fallback {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #61aa85;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.dnf-brand-pill-name {
    line-height: 1.2;
    white-space: nowrap;
}

/* active state */
.dnf-brand-pill.is-active .dnf-brand-pill-logo {
    border-color: rgba(255,255,255,0.18);
    background: #ffffff;
}

.dnf-brand-pill.is-active .dnf-brand-pill-fallback {
    color: #61aa85;
}

/* Mobile */
@media (max-width: 768px) {
    .dnf-brand-strip {
        flex-direction: column;
        align-items: stretch;
        padding: 14px;
    }

    .dnf-brand-strip-label {
        padding-top: 0;
    }

    .dnf-brand-strip-list {
        width: 100%;
    }

    .dnf-brand-pill {
        flex: 1 1 calc(50% - 10px);
    }

    .dnf-brand-pill-name {
        white-space: normal;
    }
}

/* ==================================================
   MEGA MENU TOP CATEGORY LINKS
   ================================================== */

.dnf-mega-col h3 a {
    color: inherit !important;
    text-decoration: none !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
}

.dnf-mega-col h3 a:hover {
    color: #61aa85 !important;
}


/* ==================================================
   MEGA MENU OLD CATEGORY LINKS
   ================================================== */

.dnf-mega-col h3 a {
    color: inherit !important;
    text-decoration: none !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
}

.dnf-mega-col h3 a:hover {
    color: #61aa85 !important;
}

.dnf-mega-col ul ul {
    margin-top: 6px !important;
    margin-left: 12px !important;
    padding-left: 12px !important;
    border-left: 1px solid #eeeeee !important;
}

.dnf-mega-col ul ul ul {
    margin-left: 10px !important;
    padding-left: 10px !important;
}

.dnf-mega-col ul ul a {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #666666 !important;
}

.dnf-mega-col ul ul a:hover {
    color: #61aa85 !important;
}

/* ==================================================
   PRODUCT MEGA MENU + HERO MENU TREE FINAL
   ================================================== */

/* Mega menu: 7 cột cấp 1 */
.dnf-product-mega .dnf-mega-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

/* Tiêu đề cấp 1 */
.dnf-mega-col h3 a {
    color: inherit !important;
    text-decoration: none !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
}

.dnf-mega-col h3 a:hover {
    color: #61aa85 !important;
}

/* Cấp 2 */
.dnf-mega-level-2 {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.dnf-mega-level-2 > li > a {
    display: block !important;
    padding: 5px 0 !important;
    color: #555555 !important;
    font-size: 13.5px !important;
    font-weight: 450 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
}

/* Mục cấp 2 có cấp 3 thì đậm hơn nhẹ */
.dnf-mega-level-2 > li.dnf-mega-has-child > a {
    color: #333333 !important;
    font-weight: 600 !important;
}

/* Cấp 3 */
.dnf-mega-level-3 {
    margin: 4px 0 8px 0 !important;
    padding: 0 0 0 12px !important;
    border-left: 1px solid #eeeeee !important;
    list-style: none !important;
}

.dnf-mega-level-3 > li > a {
    display: block !important;
    padding: 4px 0 !important;
    color: #6a6a6a !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
}

.dnf-mega-level-2 a:hover,
.dnf-mega-level-3 a:hover {
    color: #61aa85 !important;
}

/* Hero flyout tree */
.dnf-flyout-tree ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.dnf-hero-category-level-2 > li > a {
    display: block !important;
    padding: 7px 0 !important;
    color: #333333 !important;
    font-size: 13.5px !important;
    font-weight: 550 !important;
    text-decoration: none !important;
}

.dnf-hero-category-level-3 {
    margin: 0 0 8px 0 !important;
    padding-left: 14px !important;
    border-left: 1px solid #eeeeee !important;
}

.dnf-hero-category-level-3 > li > a {
    display: block !important;
    padding: 5px 0 !important;
    color: #666666 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

.dnf-hero-category-tree a:hover {
    color: #61aa85 !important;
}

/* Hero flyout rộng hơn chút để chứa cấp 3 */
.dnf-home-category-flyout {
    width: 480px !important;
}

/* Màn hình hẹp */
@media (max-width: 1300px) {
    .dnf-product-mega .dnf-mega-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* FORCE FINAL CATEGORY TREE */

.dnf-product-mega .dnf-mega-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

.dnf-mega-col h3 a {
    color: inherit !important;
    text-decoration: none !important;
}

.dnf-mega-col h3 a:hover,
.dnf-mega-child-list a:hover,
.dnf-hero-category-tree a:hover {
    color: #61aa85 !important;
}

.dnf-mega-level-2,
.dnf-mega-level-3 {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.dnf-mega-level-2 > li > a {
    display: block !important;
    padding: 5px 0 !important;
    color: #555 !important;
    font-size: 13.5px !important;
    font-weight: 450 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
}

.dnf-mega-level-2 > li.dnf-mega-has-child > a {
    color: #333 !important;
    font-weight: 600 !important;
}

.dnf-mega-level-3 {
    margin: 4px 0 8px !important;
    padding-left: 12px !important;
    border-left: 1px solid #eeeeee !important;
}

.dnf-mega-level-3 > li > a {
    display: block !important;
    padding: 4px 0 !important;
    color: #6a6a6a !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

/* Hero flyout */
.dnf-home-category-flyout {
    width: 500px !important;
}

.dnf-hero-category-tree,
.dnf-hero-category-tree ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.dnf-hero-category-level-2 > li > a {
    display: block !important;
    padding: 7px 0 !important;
    color: #333 !important;
    font-size: 13.5px !important;
    font-weight: 550 !important;
    text-decoration: none !important;
}

.dnf-hero-category-level-3 {
    margin: 0 0 8px !important;
    padding-left: 14px !important;
    border-left: 1px solid #eeeeee !important;
}

.dnf-hero-category-level-3 > li > a {
    display: block !important;
    padding: 5px 0 !important;
    color: #666 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

@media (max-width: 1300px) {
    .dnf-product-mega .dnf-mega-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* Home hero flyout tree final */
.dnf-home-flyout-tree,
.dnf-home-flyout-tree ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.dnf-home-flyout-tree > li > a {
    display: block !important;
    padding: 8px 0 !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 550 !important;
    text-decoration: none !important;
}

.dnf-home-flyout-tree ul {
    margin: 0 0 8px !important;
    padding-left: 16px !important;
    border-left: 1px solid #e8e8e8 !important;
}

.dnf-home-flyout-tree ul li a {
    display: block !important;
    padding: 5px 0 !important;
    color: #666 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

.dnf-home-flyout-tree a:hover {
    color: #61aa85 !important;
}

/* Static hero menu tree */
.dnf-home-flyout-tree,
.dnf-home-flyout-tree ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.dnf-home-flyout-tree > li > a {
    display: block !important;
    padding: 8px 0 !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 550 !important;
    text-decoration: none !important;
}

.dnf-home-flyout-tree > li.has-child > a {
    color: #222 !important;
    font-weight: 650 !important;
}

.dnf-home-flyout-tree ul {
    margin: 0 0 8px !important;
    padding-left: 16px !important;
    border-left: 1px solid #e8e8e8 !important;
}

.dnf-home-flyout-tree ul li a {
    display: block !important;
    padding: 5px 0 !important;
    color: #666 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

.dnf-home-flyout-tree a:hover {
    color: #61aa85 !important;
}

.dnf-home-category-flyout {
    width: 520px !important;
}

.dnf-home-flyout-tree,
.dnf-home-flyout-tree ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.dnf-home-flyout-tree > li > a {
    display: block !important;
    padding: 8px 0 !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 550 !important;
    text-decoration: none !important;
}

.dnf-home-flyout-tree > li.has-child > a {
    color: #222 !important;
    font-weight: 650 !important;
}

.dnf-home-flyout-tree ul {
    margin: 0 0 8px !important;
    padding-left: 16px !important;
    border-left: 1px solid #e8e8e8 !important;
}

.dnf-home-flyout-tree ul li a {
    display: block !important;
    padding: 5px 0 !important;
    color: #666 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

.dnf-home-flyout-tree a:hover {
    color: #61aa85 !important;
}

.dnf-home-category-flyout {
    width: 540px !important;
}

.dnf-home-flyout-tree,
.dnf-home-flyout-tree ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.dnf-home-flyout-tree > li > a {
    display: block !important;
    padding: 8px 0 !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 550 !important;
    text-decoration: none !important;
}

.dnf-home-flyout-tree > li.has-child > a {
    color: #222 !important;
    font-weight: 650 !important;
}

.dnf-home-flyout-tree ul {
    margin: 0 0 8px !important;
    padding-left: 16px !important;
    border-left: 1px solid #e8e8e8 !important;
}

.dnf-home-flyout-tree ul li a {
    display: block !important;
    padding: 5px 0 !important;
    color: #666 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

.dnf-home-flyout-tree a:hover {
    color: #61aa85 !important;
}

.dnf-home-category-flyout {
    width: 540px !important;
}

/* ==================================================
   HERO WITHOUT LEFT CATEGORY MENU
   Chỉ giữ slide + nút Tư vấn thông minh
   ================================================== */

body.home .dnf-home-hero-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
}

body.home .dnf-home-category {
    display: none !important;
}

body.home .dnf-home-hero {
    width: 100% !important;
    min-height: 520px !important;
}

/* Hero thoáng hơn khi không còn menu trái */
body.home .dnf-home-hero-content {
    max-width: 720px !important;
    padding-left: 56px !important;
    padding-right: 56px !important;
}

body.home .dnf-hero-actions {
    margin-top: 22px !important;
}

/* Mobile */
@media (max-width: 768px) {
    body.home .dnf-home-hero {
        min-height: 440px !important;
    }

    body.home .dnf-home-hero-content {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}

/* ==================================================
   DNF CLEANUP FINAL 20260601
   Hero không còn menu trái, chỉ giữ slide + nút AI
   ================================================== */

body.home .dnf-home-hero-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 0 !important;
    background: transparent !important;
}

body.home .dnf-home-category,
body.home .dnf-home-category-list,
body.home .dnf-home-category-flyout {
    display: none !important;
}

body.home .dnf-home-hero {
    width: 100% !important;
    min-height: 520px !important;
}

body.home .dnf-home-hero-content {
    max-width: 720px !important;
    padding-left: 56px !important;
    padding-right: 56px !important;
}

body.home .dnf-hero-actions {
    margin-top: 22px !important;
}

@media (max-width: 768px) {
    body.home .dnf-home-hero {
        min-height: 440px !important;
    }

    body.home .dnf-home-hero-content {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}

/* ==================================================
   DNF HOME FILTER LEVEL 1
   3 select: Loại sản phẩm / Thương hiệu / Khoảng giá
   ================================================== */

body.home .dnf-home-filter-section .dnf-home-row-action {
    display: none !important;
}

body.home .dnf-home-filter-form {
    width: 100% !important;
    margin: 0 !important;
}

body.home .dnf-home-filter-grid-level1 {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 160px !important;
    gap: 1px !important;
    background: #e5e5e5 !important;
    width: 100% !important;
}

body.home .dnf-filter-select-card {
    min-height: 92px !important;
    display: grid !important;
    grid-template-columns: 128px 1fr !important;
    align-items: center !important;
    gap: 18px !important;
    background: #ffffff !important;
    padding: 0 24px !important;
    margin: 0 !important;
}

body.home .dnf-filter-select-card span {
    color: #111111 !important;
    font-size: 14.5px !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
}

body.home .dnf-filter-select-card select {
    width: 100% !important;
    height: 42px !important;
    border: 1px solid #dedede !important;
    background: #ffffff !important;
    color: #333333 !important;
    padding: 0 36px 0 12px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    outline: none !important;
    cursor: pointer !important;
}

body.home .dnf-filter-select-card select:focus {
    border-color: #61aa85 !important;
}

body.home .dnf-filter-submit {
    min-height: 92px !important;
    border: 0 !important;
    cursor: pointer !important;
}

body.home .dnf-filter-submit:hover {
    background: #61aa85 !important;
    color: #ffffff !important;
}

@media (max-width: 1200px) {
    body.home .dnf-home-filter-grid-level1 {
        grid-template-columns: 1fr 1fr !important;
    }

    body.home .dnf-filter-submit {
        grid-column: span 2 !important;
    }
}

@media (max-width: 768px) {
    body.home .dnf-home-filter-grid-level1 {
        grid-template-columns: 1fr !important;
    }

    body.home .dnf-filter-select-card {
        min-height: 86px !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        padding: 16px !important;
    }

    body.home .dnf-filter-submit {
        grid-column: auto !important;
        min-height: 56px !important;
    }
}

/* ==================================================
   DNF HOME FILTER LEVEL 1 FINAL
   ================================================== */

body.home .dnf-home-filter-section .dnf-home-row-action {
    display: none !important;
}

body.home .dnf-home-filter-form {
    width: 100% !important;
    margin: 0 !important;
}

body.home .dnf-home-filter-grid-level1 {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 160px !important;
    gap: 1px !important;
    background: #e5e5e5 !important;
    width: 100% !important;
}

body.home .dnf-filter-select-card {
    min-height: 92px !important;
    display: grid !important;
    grid-template-columns: 130px 1fr !important;
    align-items: center !important;
    gap: 18px !important;
    background: #ffffff !important;
    padding: 0 24px !important;
    margin: 0 !important;
}

body.home .dnf-filter-select-card span {
    color: #111111 !important;
    font-size: 14.5px !important;
    font-weight: 650 !important;
    white-space: nowrap !important;
}

body.home .dnf-filter-select-card select {
    width: 100% !important;
    height: 42px !important;
    border: 1px solid #dedede !important;
    background: #ffffff !important;
    color: #333333 !important;
    padding: 0 12px !important;
    font-size: 14px !important;
    outline: none !important;
    cursor: pointer !important;
}

body.home .dnf-filter-select-card select:focus {
    border-color: #61aa85 !important;
}

body.home .dnf-filter-submit {
    min-height: 92px !important;
    border: 0 !important;
    cursor: pointer !important;
}

body.home .dnf-filter-submit:hover {
    background: #61aa85 !important;
    color: #ffffff !important;
}

@media (max-width: 1200px) {
    body.home .dnf-home-filter-grid-level1 {
        grid-template-columns: 1fr 1fr !important;
    }

    body.home .dnf-filter-submit {
        grid-column: span 2 !important;
    }
}

@media (max-width: 768px) {
    body.home .dnf-home-filter-grid-level1 {
        grid-template-columns: 1fr !important;
    }

    body.home .dnf-filter-select-card {
        min-height: 86px !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        padding: 16px !important;
    }

    body.home .dnf-filter-submit {
        grid-column: auto !important;
        min-height: 56px !important;
    }
}

/* ==================================================
   DNF CATEGORY FILTER LEVEL 2 - CAN CAU
   Brand Strip + Khoảng giá / Chiều dài / Độ cứng
   ================================================== */

.woocommerce .dnf-cat-filter {
    width: 100%;
    margin: -8px 0 24px;
    background: transparent;
}

.woocommerce .dnf-cat-filter-form {
    width: 100%;
    margin: 0;
}

.woocommerce .dnf-cat-filter-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 160px;
    gap: 1px;
    width: 100%;
    background: #e5e5e5;
}

.woocommerce .dnf-cat-filter-card {
    min-height: 88px;
    display: grid;
    grid-template-columns: 112px 1fr;
    align-items: center;
    gap: 18px;
    margin: 0;
    padding: 0 24px;
    background: #ffffff;
}

.woocommerce .dnf-cat-filter-card span {
    color: #111111;
    font-size: 14.5px;
    font-weight: 650;
    line-height: 1.3;
    white-space: nowrap;
}

.woocommerce .dnf-cat-filter-card select {
    width: 100%;
    height: 42px;
    border: 1px solid #dedede;
    background: #ffffff;
    color: #333333;
    padding: 0 12px;
    font-size: 14px;
    font-weight: 400;
    outline: none;
    cursor: pointer;
}

.woocommerce .dnf-cat-filter-card select:focus {
    border-color: #61aa85;
}

.woocommerce .dnf-cat-filter-submit {
    min-height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    background: #111111;
    color: #ffffff;
    font-size: 14px;
    font-weight: 650;
    cursor: pointer;
    text-decoration: none;
    transition: 0.16s ease;
}

.woocommerce .dnf-cat-filter-submit:hover {
    background: #61aa85;
    color: #ffffff;
}

.woocommerce .dnf-brand-strip + .dnf-cat-filter {
    margin-top: -8px;
}

@media (max-width: 1200px) {
    .woocommerce .dnf-cat-filter-grid {
        grid-template-columns: 1fr 1fr;
    }

    .woocommerce .dnf-cat-filter-submit {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .woocommerce .dnf-cat-filter-grid {
        grid-template-columns: 1fr;
    }

    .woocommerce .dnf-cat-filter-card {
        min-height: 82px;
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 16px;
    }

    .woocommerce .dnf-cat-filter-submit {
        grid-column: auto;
        min-height: 56px;
    }
}

/* DNF_REEL_FILTER_LEVEL2_CSS_START */

/* Bộ lọc cấp 2 - Máy câu */
.woocommerce .dnf-cat-filter-grid.dnf-reel-filter-grid-2 {
    grid-template-columns: 1fr 160px !important;
}

.woocommerce .dnf-cat-filter-grid.dnf-reel-filter-grid-3 {
    grid-template-columns: 1fr 1fr 160px !important;
}

.woocommerce .dnf-may-cau-filter {
    margin: -8px 0 24px !important;
}

@media (max-width: 1200px) {
    .woocommerce .dnf-cat-filter-grid.dnf-reel-filter-grid-2,
    .woocommerce .dnf-cat-filter-grid.dnf-reel-filter-grid-3 {
        grid-template-columns: 1fr 1fr !important;
    }

    .woocommerce .dnf-cat-filter-grid.dnf-reel-filter-grid-2 .dnf-cat-filter-submit,
    .woocommerce .dnf-cat-filter-grid.dnf-reel-filter-grid-3 .dnf-cat-filter-submit {
        grid-column: span 2 !important;
    }
}

@media (max-width: 768px) {
    .woocommerce .dnf-cat-filter-grid.dnf-reel-filter-grid-2,
    .woocommerce .dnf-cat-filter-grid.dnf-reel-filter-grid-3 {
        grid-template-columns: 1fr !important;
    }

    .woocommerce .dnf-cat-filter-grid.dnf-reel-filter-grid-2 .dnf-cat-filter-submit,
    .woocommerce .dnf-cat-filter-grid.dnf-reel-filter-grid-3 .dnf-cat-filter-submit {
        grid-column: auto !important;
    }
}

/* DNF_REEL_FILTER_LEVEL2_CSS_END */

/* DNF_LINE_FILTER_LEVEL2_CSS_START */

/* Bộ lọc cấp 2 - Dây câu */
.woocommerce .dnf-cat-filter {
    width: 100%;
    margin: -8px 0 24px;
    background: transparent;
}

.woocommerce .dnf-cat-filter-form {
    width: 100%;
    margin: 0;
}

.woocommerce .dnf-cat-filter-grid.dnf-line-filter-grid-4 {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 160px !important;
    gap: 1px !important;
    width: 100% !important;
    background: #e5e5e5 !important;
}

.woocommerce .dnf-cat-filter-card {
    min-height: 88px;
    display: grid;
    grid-template-columns: 118px 1fr;
    align-items: center;
    gap: 18px;
    margin: 0;
    padding: 0 24px;
    background: #ffffff;
}

.woocommerce .dnf-cat-filter-card span {
    color: #111111;
    font-size: 14.5px;
    font-weight: 650;
    line-height: 1.3;
    white-space: nowrap;
}

.woocommerce .dnf-cat-filter-card select {
    width: 100%;
    height: 42px;
    border: 1px solid #dedede;
    background: #ffffff;
    color: #333333;
    padding: 0 12px;
    font-size: 14px;
    font-weight: 400;
    outline: none;
    cursor: pointer;
}

.woocommerce .dnf-cat-filter-card select:focus {
    border-color: #61aa85;
}

.woocommerce .dnf-cat-filter-submit {
    min-height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    background: #111111;
    color: #ffffff;
    font-size: 14px;
    font-weight: 650;
    cursor: pointer;
    transition: 0.16s ease;
}

.woocommerce .dnf-cat-filter-submit:hover {
    background: #61aa85;
    color: #ffffff;
}

.woocommerce .dnf-day-cau-filter {
    margin: -8px 0 24px !important;
}

@media (max-width: 1200px) {
    .woocommerce .dnf-cat-filter-grid.dnf-line-filter-grid-4 {
        grid-template-columns: 1fr 1fr !important;
    }

    .woocommerce .dnf-cat-filter-grid.dnf-line-filter-grid-4 .dnf-cat-filter-submit {
        grid-column: span 2 !important;
    }
}

@media (max-width: 768px) {
    .woocommerce .dnf-cat-filter-grid.dnf-line-filter-grid-4 {
        grid-template-columns: 1fr !important;
    }

    .woocommerce .dnf-cat-filter-card {
        min-height: 82px;
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 16px;
    }

    .woocommerce .dnf-cat-filter-grid.dnf-line-filter-grid-4 .dnf-cat-filter-submit {
        grid-column: auto !important;
        min-height: 56px;
    }
}

/* DNF_LINE_FILTER_LEVEL2_CSS_END */

/* DNF_MEGAMENU_REWRITE_V3_START */

/* ==================================================
   MEGA MENU V3 - PRODUCT + BRAND
   ================================================== */

.dnf-product-mega,
.dnf-brand-mega {
    font-family: inherit !important;
    color: #151515;
}

.dnf-product-mega a,
.dnf-brand-mega a {
    font-family: inherit !important;
    text-decoration: none !important;
    letter-spacing: -0.01em;
}

/* ---------- Product mega ---------- */

.dnf-product-mega-v3 .dnf-mega-head,
.dnf-brand-mega-v3 .dnf-mega-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.dnf-product-mega-v3 .dnf-mega-head span,
.dnf-brand-mega-v3 .dnf-mega-head span {
    font-size: 15px;
    font-weight: 760;
    line-height: 1.25;
    color: #111111;
}

.dnf-product-mega-v3 .dnf-mega-head a,
.dnf-brand-mega-v3 .dnf-mega-head a {
    font-size: 13px;
    font-weight: 620;
    color: #61aa85 !important;
    white-space: nowrap;
}

.dnf-product-mega-grid-v3 {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 1px !important;
    background: #ececec !important;
}

.dnf-product-mega-v3 .dnf-mega-col {
    background: #ffffff;
    padding: 18px 18px 20px;
    min-width: 0;
}

.dnf-product-mega-v3 .dnf-mega-col h3 {
    margin: 0 0 12px !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid #eeeeee;
    line-height: 1.25 !important;
}

.dnf-product-mega-v3 .dnf-mega-col h3 a {
    display: inline-flex;
    align-items: center;
    color: #111111 !important;
    font-size: 15px !important;
    font-weight: 780 !important;
    line-height: 1.25 !important;
    text-transform: uppercase;
}

.dnf-product-mega-v3 .dnf-mega-child-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dnf-product-mega-v3 .dnf-mega-child-list li {
    margin: 0 !important;
    padding: 0 !important;
}

.dnf-product-mega-v3 .dnf-mega-child-list a,
.dnf-brand-mega-v3 .dnf-brand-links a {
    display: flex !important;
    align-items: flex-start;
    gap: 9px;
    min-width: 0;
    color: #333333 !important;
    transition: 0.16s ease;
}

.dnf-product-mega-v3 .dnf-mega-child-list a:hover,
.dnf-brand-mega-v3 .dnf-brand-links a:hover,
.dnf-brand-mega-v3 .dnf-brand-title:hover,
.dnf-brand-mega-v3 .dnf-brand-compact-item:hover {
    color: #61aa85 !important;
}

.dnf-product-mega-v3 .dnf-menu-branch,
.dnf-brand-mega-v3 .dnf-menu-branch {
    flex: 0 0 auto;
    display: inline-block;
    width: 6px;
    margin-right: 3px;
    color: #61aa85;
    font-weight: 700;
    line-height: inherit;
    opacity: 0.88;
}

.dnf-product-mega-v3 .dnf-menu-text,
.dnf-brand-mega-v3 .dnf-menu-text {
    min-width: 0;
    line-height: inherit;
}

.dnf-product-mega-v3 .dnf-mega-level-2 > li > a {
    padding: 6px 0;
    font-size: 13.5px !important;
    font-weight: 620 !important;
    line-height: 1.35 !important;
    color: #2d2d2d !important;
}

.dnf-product-mega-v3 .dnf-mega-level-3 {
    margin: 0 0 5px 15px !important;
    padding-left: 0 !important;
}

.dnf-product-mega-v3 .dnf-mega-level-3 > li > a {
    padding: 4px 0;
    font-size: 12.8px !important;
    font-weight: 460 !important;
    line-height: 1.35 !important;
    color: #666666 !important;
}

.dnf-product-mega-v3 .dnf-mega-level-3 .dnf-menu-branch {
    color: #b8b8b8;
    font-weight: 560;
}

/* ---------- Brand mega ---------- */

.dnf-brand-mega-v3 .dnf-brand-featured-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    background: #ececec;
}

.dnf-brand-mega-v3 .dnf-brand-card {
    background: #ffffff;
    padding: 18px 18px 16px;
    min-width: 0;
}

.dnf-brand-mega-v3 .dnf-brand-title {
    display: block;
    margin: 0 0 12px;
    padding: 0 0 10px;
    border-bottom: 1px solid #eeeeee;
    color: #111111 !important;
    font-size: 15px !important;
    font-weight: 780 !important;
    line-height: 1.25 !important;
}

.dnf-brand-mega-v3 .dnf-brand-links {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dnf-brand-mega-v3 .dnf-brand-links li {
    margin: 0 !important;
    padding: 0 !important;
}

.dnf-brand-mega-v3 .dnf-brand-links a {
    padding: 5px 0;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: #444444 !important;
}

.dnf-brand-mega-v3 .dnf-brand-compact-wrap {
    margin-top: 14px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    padding: 15px;
}

.dnf-brand-mega-v3 .dnf-brand-compact-title {
    margin-bottom: 11px;
    color: #111111;
    font-size: 13px;
    font-weight: 720;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dnf-brand-mega-v3 .dnf-brand-compact-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 1px;
    background: #ffffff;
}

.dnf-brand-mega-v3 .dnf-brand-compact-item {
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 9px 12px;
    background: #ffffff;
    color: #333333 !important;
    font-size: 13px !important;
    font-weight: 560 !important;
    line-height: 1.25 !important;
}

/* ---------- Responsive ---------- */

@media (max-width: 1280px) {
    .dnf-product-mega-grid-v3,
    .dnf-brand-mega-v3 .dnf-brand-featured-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .dnf-brand-mega-v3 .dnf-brand-compact-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .dnf-product-mega-grid-v3,
    .dnf-brand-mega-v3 .dnf-brand-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .dnf-brand-mega-v3 .dnf-brand-compact-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .dnf-product-mega-grid-v3,
    .dnf-brand-mega-v3 .dnf-brand-featured-grid,
    .dnf-brand-mega-v3 .dnf-brand-compact-grid {
        grid-template-columns: 1fr !important;
    }
}

/* DNF_MEGAMENU_REWRITE_V3_END */

/* DNF_PRODUCT_MEGAMENU_COMBO_SPLIT_START */

/* Mega menu sản phẩm: thêm Combo + tách cột Phụ kiện */
.dnf-product-mega-v3 .dnf-product-mega-grid-v3 {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr)
        minmax(0, 1fr)
        minmax(0, 1fr)
        minmax(360px, 1.75fr)
        minmax(140px, 0.72fr) !important;
}

.dnf-product-mega-v3 .dnf-mega-col-phu-kien {
    min-width: 360px;
}

.dnf-product-mega-v3 .dnf-mega-col-combo {
    min-width: 140px;
}

.dnf-product-mega-v3 .dnf-mega-col-combo h3 {
    margin-bottom: 0 !important;
}

.dnf-product-mega-v3 .dnf-mega-split-child-cols {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0 18px;
}

.dnf-product-mega-v3 .dnf-mega-split-child-col {
    min-width: 0;
}

.dnf-product-mega-v3 .dnf-mega-col-phu-kien .dnf-mega-level-2 > li > a {
    padding: 5px 0;
}

.dnf-product-mega-v3 .dnf-mega-col-phu-kien .dnf-mega-level-3 {
    margin-left: 13px !important;
}

.dnf-product-mega-v3 .dnf-mega-col-phu-kien .dnf-mega-level-3 > li > a {
    padding: 3px 0;
}

@media (max-width: 1280px) {
    .dnf-product-mega-v3 .dnf-product-mega-grid-v3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .dnf-product-mega-v3 .dnf-mega-col-phu-kien {
        grid-column: span 2;
        min-width: 0;
    }
}

@media (max-width: 900px) {
    .dnf-product-mega-v3 .dnf-product-mega-grid-v3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .dnf-product-mega-v3 .dnf-mega-col-phu-kien {
        grid-column: span 2;
    }
}

@media (max-width: 640px) {
    .dnf-product-mega-v3 .dnf-product-mega-grid-v3 {
        grid-template-columns: 1fr !important;
    }

    .dnf-product-mega-v3 .dnf-mega-col-phu-kien {
        grid-column: auto;
    }

    .dnf-product-mega-v3 .dnf-mega-split-child-cols {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

/* DNF_PRODUCT_MEGAMENU_COMBO_SPLIT_END */

/* DNF_COMPLETE_FILTERS_CSS_START */

/* ==================================================
   DNF COMPLETE FILTERS
   ================================================== */

.woocommerce .dnf-cat-filter,
.dnf-home-filter-form-complete {
    width: 100%;
    margin: -8px 0 24px;
    background: transparent;
    font-family: inherit;
}

.woocommerce .dnf-cat-filter-form,
.dnf-home-filter-form-complete {
    width: 100%;
}

.woocommerce .dnf-cat-filter-grid,
.dnf-home-filter-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--dnf-filter-fields, 3), minmax(0, 1fr)) 160px !important;
    gap: 1px !important;
    width: 100% !important;
    background: #e5e5e5 !important;
}

.dnf-home-filter-grid {
    --dnf-filter-fields: 3;
}

.woocommerce .dnf-cat-filter-card,
.dnf-home-filter-card {
    min-height: 88px;
    display: grid;
    grid-template-columns: 118px 1fr;
    align-items: center;
    gap: 18px;
    margin: 0;
    padding: 0 24px;
    background: #ffffff;
}

.woocommerce .dnf-cat-filter-card span,
.dnf-home-filter-card span {
    color: #111111;
    font-size: 14.5px;
    font-weight: 650;
    line-height: 1.3;
    white-space: nowrap;
}

.woocommerce .dnf-cat-filter-card select,
.dnf-home-filter-card select {
    width: 100%;
    height: 42px;
    border: 1px solid #dedede;
    background: #ffffff;
    color: #333333;
    padding: 0 12px;
    font-size: 14px;
    font-weight: 400;
    outline: none;
    cursor: pointer;
}

.woocommerce .dnf-cat-filter-card select:focus,
.dnf-home-filter-card select:focus {
    border-color: #61aa85;
}

.woocommerce .dnf-cat-filter-submit,
.dnf-home-filter-submit {
    min-height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    background: #111111;
    color: #ffffff;
    font-size: 14px;
    font-weight: 650;
    cursor: pointer;
    transition: 0.16s ease;
}

.woocommerce .dnf-cat-filter-submit:hover,
.dnf-home-filter-submit:hover {
    background: #61aa85;
    color: #ffffff;
}

@media (max-width: 1200px) {
    .woocommerce .dnf-cat-filter-grid,
    .dnf-home-filter-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .woocommerce .dnf-cat-filter-submit,
    .dnf-home-filter-submit {
        grid-column: span 2 !important;
    }
}

@media (max-width: 768px) {
    .woocommerce .dnf-cat-filter-grid,
    .dnf-home-filter-grid {
        grid-template-columns: 1fr !important;
    }

    .woocommerce .dnf-cat-filter-card,
    .dnf-home-filter-card {
        min-height: 82px;
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 16px;
    }

    .woocommerce .dnf-cat-filter-submit,
    .dnf-home-filter-submit {
        grid-column: auto !important;
        min-height: 56px;
    }
}

/* DNF_COMPLETE_FILTERS_CSS_END */

/* ==================================================
   DNF NOI BAT SECTION LINK
   ================================================== */

body.home .dnf-section-head h2 .dnf-section-title-link {
    color: inherit !important;
    text-decoration: none !important;
}

body.home .dnf-section-head h2 .dnf-section-title-link:hover {
    color: #61aa85 !important;
}

body.dnf-noi-bat-page .woocommerce-products-header__title,
body.dnf-noi-bat-page .page-title {
    color: #111111;
}

/* ==================================================
   DNF SECTION TITLE LINK + SALE PAGE
   ================================================== */

body.home h2.dnf-section-main-title,
body.home .dnf-section-head h2.dnf-section-main-title {
    margin: 0 !important;
    color: #111111 !important;
    font-size: clamp(28px, 2.05vw, 36px) !important;
    font-weight: 750 !important;
    line-height: 1.16 !important;
    letter-spacing: -0.04em !important;
}

body.home h2.dnf-section-main-title .dnf-section-title-link,
body.home .dnf-section-head h2.dnf-section-main-title .dnf-section-title-link {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-decoration: none !important;
}

body.home h2.dnf-section-main-title .dnf-section-title-link:hover,
body.home .dnf-section-head h2.dnf-section-main-title .dnf-section-title-link:hover {
    color: #61aa85 !important;
}

body.dnf-sale-page .woocommerce-products-header__title,
body.dnf-sale-page .page-title {
    color: #111111;
}

@media (max-width: 768px) {
    body.home h2.dnf-section-main-title,
    body.home .dnf-section-head h2.dnf-section-main-title {
        font-size: 28px !important;
        line-height: 1.12 !important;
        letter-spacing: -0.045em !important;
    }
}

/* ==================================================
   FIX TITLE SIZE - SẢN PHẨM ĐANG ĐƯỢC QUAN TÂM
   ================================================== */

body.home .dnf-noi-bat-title,
body.home .dnf-section-head .dnf-noi-bat-title,
body.home h2.dnf-noi-bat-title {
    margin: 0 !important;
    color: #111111 !important;
    font-size: clamp(28px, 2.05vw, 36px) !important;
    font-weight: 750 !important;
    line-height: 1.16 !important;
    letter-spacing: -0.04em !important;
}

body.home .dnf-noi-bat-title .dnf-section-title-link,
body.home h2.dnf-noi-bat-title .dnf-section-title-link {
    color: inherit !important;
    display: inline-block !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-decoration: none !important;
}

body.home .dnf-noi-bat-title .dnf-section-title-link:hover {
    color: #61aa85 !important;
}

/* Nếu tiêu đề bị lọt ra không có class h2, ép link riêng vẫn to như Sale */
body.home a.dnf-section-title-link[href$="/noi-bat/"] {
    color: #111111 !important;
    font-size: clamp(28px, 2.05vw, 36px) !important;
    font-weight: 750 !important;
    line-height: 1.16 !important;
    letter-spacing: -0.04em !important;
    text-decoration: none !important;
}

body.home a.dnf-section-title-link[href$="/noi-bat/"]:hover {
    color: #61aa85 !important;
}

@media (max-width: 768px) {
    body.home .dnf-noi-bat-title,
    body.home .dnf-noi-bat-title .dnf-section-title-link,
    body.home a.dnf-section-title-link[href$="/noi-bat/"] {
        font-size: 28px !important;
        line-height: 1.12 !important;
        letter-spacing: -0.045em !important;
    }
}

/* DNF_HOME_FIRST_VIEW_FIX_START */

/* Header trang chủ gọn hơn để hero hiện trọn trong màn hình đầu */
body.home .dnf-topbar,
body.home .dnf-topbar-inner {
    height: 28px !important;
    min-height: 28px !important;
    font-size: 13px !important;
}

body.home .dnf-header .dnf-header-inner {
    height: 88px !important;
    min-height: 88px !important;
}

body.home .dnf-header .dnf-main-menu > li > a {
    height: 88px !important;
}

body.home .dnf-header .dnf-logo-wrap {
    width: 112px !important;
    flex: 0 0 112px !important;
}

body.home .dnf-header a.dnf-logo {
    width: 112px !important;
    height: 88px !important;
}

body.home .dnf-header .dnf-logo img.dnf-logo-img,
body.home .dnf-header .dnf-logo img,
body.home .dnf-header img.dnf-logo-img {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
}

/* Block cam kết: kéo sát lên trên và thu thấp chiều cao */
body.home .dnf-home-service-wrap {
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #eeeeee !important;
    border-bottom: 1px solid #e5e5e5 !important;
}

body.home .dnf-home-service-wrap .dnf-container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.home .dnf-service-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1px !important;
    background: #e5e5e5 !important;
    margin: 0 !important;
}

body.home .dnf-service-card {
    min-height: 56px !important;
    padding: 8px 22px !important;
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 12px !important;
    row-gap: 1px !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 0 !important;
}

body.home .dnf-service-icon {
    grid-row: 1 / 3 !important;
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
    color: #61aa85 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.home .dnf-service-icon svg {
    width: 22px !important;
    height: 22px !important;
}

body.home .dnf-service-card h3 {
    margin: 0 !important;
    color: #111111 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.16 !important;
    letter-spacing: -0.01em !important;
}

body.home .dnf-service-card p {
    margin: 2px 0 0 !important;
    color: #666666 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.28 !important;
}

/* Hero sát ngay dưới block cam kết */
body.home .dnf-home-hero-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.home .dnf-home-hero-grid {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.home .dnf-home-hero.dnf-hero-slider,
body.home .dnf-home-hero {
    margin-top: 0 !important;
}

/* Desktop: giữ đúng tỷ lệ ảnh hero PC 1920x720 = 8:3 */
@media (min-width: 769px) {
    body.home .dnf-home-hero.dnf-hero-slider {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 8 / 3 !important;
        max-height: calc(100vh - 180px) !important;
    }

    body.home .dnf-home-hero.dnf-hero-slider .dnf-hero-slider-track,
    body.home .dnf-home-hero.dnf-hero-slider .dnf-hero-slide {
        height: 100% !important;
    }
}

/* Mobile: bỏ block cam kết để ảnh hero 16:9 hiện gọn */
@media (max-width: 768px) {
    body.home .dnf-home-service-wrap {
        display: none !important;
    }

    body.home .dnf-home-hero.dnf-hero-slider {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 9 !important;
    }
}

/* DNF_HOME_FIRST_VIEW_FIX_END */

/* DNF_HOME_SERVICE_PHONE_V2_START */

/* Block cam kết: sát chân header hơn, cao hơn bản cũ một chút cho thoáng */
body.home .dnf-home-service-wrap {
    margin-top: -8px !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 3 !important;
    background: #ffffff !important;
    border-top: 1px solid #eeeeee !important;
    border-bottom: 1px solid #e5e5e5 !important;
}

body.home .dnf-home-service-wrap .dnf-container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.home .dnf-service-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1px !important;
    margin: 0 !important;
    background: #e5e5e5 !important;
}

/* Cao hơn bản cũ: không tù, nhưng vẫn đủ gọn để thấy hero */
body.home .dnf-service-card {
    min-height: 74px !important;
    padding: 12px 26px !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    row-gap: 2px !important;
    align-items: center !important;
    align-content: center !important;
    background: #ffffff !important;
    border: 0 !important;
}

body.home .dnf-service-icon {
    grid-row: 1 / 3 !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    color: #61aa85 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.home .dnf-service-icon svg {
    width: 28px !important;
    height: 28px !important;
    display: block !important;
}

body.home .dnf-service-card h3 {
    margin: 0 !important;
    color: #111111 !important;
    font-size: 15.5px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.012em !important;
}

body.home .dnf-service-card p {
    margin: 3px 0 0 !important;
    color: #666666 !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    line-height: 1.32 !important;
}

body.home .dnf-service-card.dnf-service-order-card p,
body.home .dnf-service-card .dnf-service-phone-text {
    color: #3f8f68 !important;
    font-weight: 650 !important;
    white-space: nowrap !important;
}

/* Hero đi sát theo block cam kết */
body.home .dnf-home-hero-wrap,
body.home .dnf-home-hero-grid,
body.home .dnf-home-hero.dnf-hero-slider,
body.home .dnf-home-hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Desktop: giữ tỷ lệ PC 1920x720 nhưng ưu tiên lọt màn hình đầu */
@media (min-width: 769px) {
    body.home .dnf-home-hero.dnf-hero-slider {
        height: min(37.5vw, calc(100vh - 192px)) !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
    }

    body.home .dnf-home-hero.dnf-hero-slider .dnf-hero-slider-track,
    body.home .dnf-home-hero.dnf-hero-slider .dnf-hero-slide {
        height: 100% !important;
    }
}

@media (max-width: 1200px) {
    body.home .dnf-service-card {
        padding: 12px 18px !important;
        grid-template-columns: 30px minmax(0, 1fr) !important;
        column-gap: 12px !important;
    }

    body.home .dnf-service-card h3 {
        font-size: 14.5px !important;
    }

    body.home .dnf-service-card p {
        font-size: 12.8px !important;
    }
}

/* Mobile: giữ hero 16:9; block cam kết đang ẩn theo quy chuẩn trước để ảnh hero gọn */
@media (max-width: 768px) {
    body.home .dnf-home-service-wrap {
        display: none !important;
    }

    body.home .dnf-home-hero.dnf-hero-slider {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 9 !important;
    }
}

/* DNF_HOME_SERVICE_PHONE_V2_END */


/* DNF_FLOATING_FAB_START */

/* Floating Action Button - Chat / Phone / Map */
.dnf-floating-fab {
    position: fixed;
    right: 18px;
    bottom: 88px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dnf-fab-btn {
    width: 48px;
    height: 48px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(0,0,0,0.13);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
    border: 1px solid #e8e8e8;
}

.dnf-fab-btn svg {
    width: 22px;
    height: 22px;
    display: block;
}

.dnf-fab-chat {
    background: #61aa85;
    color: #ffffff !important;
    border-color: #61aa85;
}

.dnf-fab-phone {
    background: #111111;
    color: #ffffff !important;
    border-color: #111111;
}

.dnf-fab-map {
    background: #ffffff;
    color: #333333 !important;
    border-color: #e5e5e5;
}

.dnf-fab-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}

.dnf-fab-chat:hover {
    background: #4f9874;
    border-color: #4f9874;
}

.dnf-fab-phone:hover {
    background: #000000;
    border-color: #000000;
}

.dnf-fab-map:hover {
    background: #ffffff;
    color: #111111 !important;
}

@media (max-width: 768px) {
    .dnf-floating-fab {
        right: 12px;
        bottom: 72px;
        gap: 7px;
    }

    .dnf-fab-btn {
        width: 44px;
        height: 44px;
    }

    .dnf-fab-btn svg {
        width: 20px;
        height: 20px;
    }
}

/* DNF_FLOATING_FAB_END */

/* ==================================================
   DNF GUIDE TITLE LINK
   ================================================== */

body.home .dnf-guide-title,
body.home h2.dnf-guide-title,
body.home .dnf-section-head .dnf-guide-title {
    margin: 0 !important;
    color: #111111 !important;
    font-size: clamp(28px, 2.05vw, 36px) !important;
    font-weight: 750 !important;
    line-height: 1.16 !important;
    letter-spacing: -0.04em !important;
}

body.home .dnf-guide-title .dnf-section-title-link,
body.home h2.dnf-guide-title .dnf-section-title-link {
    color: inherit !important;
    display: inline-block !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-decoration: none !important;
}

body.home .dnf-guide-title .dnf-section-title-link:hover {
    color: #61aa85 !important;
}

@media (max-width: 768px) {
    body.home .dnf-guide-title,
    body.home .dnf-guide-title .dnf-section-title-link {
        font-size: 28px !important;
        line-height: 1.12 !important;
        letter-spacing: -0.045em !important;
    }
}




/* DNF_PHASE1_SECTION_TITLE_FIX_START */
body.home h2.dnf-section-main-title,
body.home .dnf-section-head h2.dnf-section-main-title {
    margin: 0 !important;
    color: #111111 !important;
    font-size: clamp(28px, 2.05vw, 36px) !important;
    font-weight: 750 !important;
    line-height: 1.16 !important;
    letter-spacing: -0.04em !important;
}

body.home h2.dnf-section-main-title .dnf-section-title-link,
body.home .dnf-section-head h2.dnf-section-main-title .dnf-section-title-link {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-decoration: none !important;
}

body.home h2.dnf-section-main-title .dnf-section-title-link:hover,
body.home .dnf-section-head h2.dnf-section-main-title .dnf-section-title-link:hover {
    color: #61aa85 !important;
}
/* DNF_PHASE1_SECTION_TITLE_FIX_END */



/* DNF_PRICE_CLEAN_GLOBAL_START */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.dnf-product-card .price,
.dnf-product-price,
.dnf-sp-card-price,
body.home .price {
    display: block !important;
    min-height: 50px !important;
    line-height: 1.28 !important;
    margin-top: 8px !important;
    margin-bottom: 10px !important;
    clear: both !important;
    float: none !important;
}

.dnf-price-clean,
.price .dnf-price-clean,
.dnf-product-price .dnf-price-clean,
.dnf-sp-card-price .dnf-price-clean,
.woocommerce ul.products li.product .price .dnf-price-clean,
.woocommerce-page ul.products li.product .price .dnf-price-clean,
body.home .dnf-price-clean {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    width: 100% !important;
    min-height: 50px !important;
    line-height: 1.28 !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
    float: none !important;
}

.dnf-price-clean-regular,
.price .dnf-price-clean-regular,
.dnf-product-price .dnf-price-clean-regular,
.woocommerce ul.products li.product .price .dnf-price-clean-regular,
body.home .dnf-price-clean-regular {
    display: block !important;
    width: 100% !important;
    white-space: nowrap !important;
    color: #61aa85 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.28 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dnf-price-clean-regular del,
.dnf-price-clean-regular del *,
.price .dnf-price-clean-regular del,
.price .dnf-price-clean-regular del * {
    display: inline !important;
    width: auto !important;
    white-space: nowrap !important;
    color: #61aa85 !important;
    text-decoration: line-through !important;
    text-decoration-thickness: 1.4px !important;
    text-decoration-color: #61aa85 !important;
}

.dnf-price-clean-sale,
.price .dnf-price-clean-sale,
.dnf-product-price .dnf-price-clean-sale,
.woocommerce ul.products li.product .price .dnf-price-clean-sale,
body.home .dnf-price-clean-sale {
    display: block !important;
    width: 100% !important;
    white-space: nowrap !important;
    color: #f87474 !important;
    font-size: 17px !important;
    font-weight: 850 !important;
    line-height: 1.28 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
}

.dnf-price-clean-sale *,
.price .dnf-price-clean-sale * {
    display: inline !important;
    width: auto !important;
    white-space: nowrap !important;
    color: #f87474 !important;
    text-decoration: none !important;
}
/* DNF_PRICE_CLEAN_GLOBAL_END */

/* DNF header: đổi icon tài khoản thành Tra cứu đơn hàng */
.dnf-icon-btn[aria-label="Tra cứu đơn hàng"] svg,
.dnf-icon-btn[title="Tra cứu đơn hàng"] svg,
.dnf-icon-btn[aria-label="Tra cứu đơn hàng"] i,
.dnf-icon-btn[title="Tra cứu đơn hàng"] i {
	display: none !important;
}

.dnf-icon-btn[aria-label="Tra cứu đơn hàng"]::before,
.dnf-icon-btn[title="Tra cứu đơn hàng"]::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2064%2064%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20fill%3D%27none%27%20stroke%3D%27%23222222%27%20stroke-width%3D%273.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%2023h-5a3%203%200%200%200-3%203v24a3%203%200%200%200%203%203h25%27/%3E%3Cpath%20d%3D%27M44%2036V26a3%203%200%200%200-3-3h-5%27/%3E%3Cpath%20d%3D%27M22%2027V17a10%2010%200%200%201%2020%200v10%27/%3E%3Ccircle%20cx%3D%2741%27%20cy%3D%2741%27%20r%3D%2710%27/%3E%3Cpath%20d%3D%27M49%2049l8%208%27/%3E%3C/svg%3E");
}

.dnf-icon-btn[aria-label="Tra cứu đơn hàng"]:hover::before,
.dnf-icon-btn[title="Tra cứu đơn hàng"]:hover::before {
	background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2064%2064%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20fill%3D%27none%27%20stroke%3D%27%2361aa85%27%20stroke-width%3D%273.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%2023h-5a3%203%200%200%200-3%203v24a3%203%200%200%200%203%203h25%27/%3E%3Cpath%20d%3D%27M44%2036V26a3%203%200%200%200-3-3h-5%27/%3E%3Cpath%20d%3D%27M22%2027V17a10%2010%200%200%201%2020%200v10%27/%3E%3Ccircle%20cx%3D%2741%27%20cy%3D%2741%27%20r%3D%2710%27/%3E%3Cpath%20d%3D%27M49%2049l8%208%27/%3E%3C/svg%3E");
}


/* =========================
   DNF sticker overlay fix
   ========================= */

/* Khung ảnh phải là mốc định vị sticker */
.dnf-product-card .dnf-product-thumb,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
	position: relative !important;
	display: block !important;
	overflow: hidden !important;
}

/* Bỏ mọi khả năng sticker bị lệch theo card cha */
.dnf-product-card,
.woocommerce ul.products li.product {
	position: relative;
}

/* Box chứa sticker */
.dnf-product-thumb .dnf-product-badges,
.woocommerce ul.products li.product .dnf-product-badges {
	position: absolute !important;
	top: 10px !important;
	left: 10px !important;
	z-index: 30 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 6px !important;
	pointer-events: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Sticker từng nhãn */
.dnf-product-badge {
	display: inline-block !important;
	min-height: auto !important;
	padding: 7px 12px !important;
	border-radius: 4px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	white-space: nowrap !important;
	box-shadow: 0 2px 8px rgba(0,0,0,.16) !important;
	text-transform: none !important;
	border: 0 !important;
	background-image: none !important;
}

/* Màu từng loại */
.dnf-product-badge-new {
	background: #d62828 !important;
	color: #ffffff !important;
}

.dnf-product-badge-recommend {
	background: #c79a2b !important;
	color: #ffffff !important;
}

.dnf-product-badge-sale {
	background: #61aa85 !important;
	color: #ffffff !important;
}

/* Nếu có link/icon mặc định lẫn vào thì ẩn */
.dnf-product-badge::before,
.dnf-product-badge::after,
.dnf-product-badges::before,
.dnf-product-badges::after {
	display: none !important;
	content: none !important;
}

/* Ẩn sale badge mặc định của Woo để tránh chồng */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.dnf-product-card .onsale {
	display: none !important;
}

/* Mobile */
@media (max-width: 768px) {
	.dnf-product-thumb .dnf-product-badges,
	.woocommerce ul.products li.product .dnf-product-badges {
		top: 8px !important;
		left: 8px !important;
		gap: 5px !important;
	}

	.dnf-product-badge {
		padding: 6px 10px !important;
		font-size: 11px !important;
	}
}

/* DNF content tables - post/product editor output */
.entry-content table,
.woocommerce-product-details__short-description table,
.woocommerce-Tabs-panel table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-size: 15px;
}

.entry-content table th,
.entry-content table td,
.woocommerce-product-details__short-description table th,
.woocommerce-product-details__short-description table td,
.woocommerce-Tabs-panel table th,
.woocommerce-Tabs-panel table td {
    border: 1px solid #d9d9d9;
    padding: 8px 10px;
    vertical-align: top;
}

.entry-content table th,
.woocommerce-product-details__short-description table th,
.woocommerce-Tabs-panel table th {
    background: #ffffff;
    font-weight: 700;
}

.entry-content table.dnf-spec-table td:first-child,
.entry-content table.dnf-spec-table th:first-child,
.woocommerce-product-details__short-description table.dnf-spec-table td:first-child,
.woocommerce-product-details__short-description table.dnf-spec-table th:first-child,
.woocommerce-Tabs-panel table.dnf-spec-table td:first-child,
.woocommerce-Tabs-panel table.dnf-spec-table th:first-child {
    font-weight: 700;
    width: 32%;
    background: #ffffff;
}

.dnf-editor-note-green {
    background: #eef8f3;
    padding: 8px 10px;
    border-left: 4px solid #61aa85;
}

.dnf-editor-note-yellow {
    background: #ffffff;
    padding: 8px 10px;
    border-left: 4px solid #d9a441;
}



/* DNF archive product more button */
.woocommerce ul.products li.product .button.dnf-loop-more-btn,
.woocommerce-page ul.products li.product .button.dnf-loop-more-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 44px !important;
	margin-top: 18px !important;
	padding: 12px 18px !important;
	border: 1px solid #050505 !important;
	border-radius: 0 !important;
	background: #050505 !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.woocommerce ul.products li.product .button.dnf-loop-more-btn:hover,
.woocommerce-page ul.products li.product .button.dnf-loop-more-btn:hover {
	background: #61aa85 !important;
	border-color: #61aa85 !important;
	color: #ffffff !important;
}

.woocommerce ul.products li.product .button.dnf-loop-more-btn.loading::after,
.woocommerce-page ul.products li.product .button.dnf-loop-more-btn.loading::after,
.woocommerce ul.products li.product .button.dnf-loop-more-btn.added::after,
.woocommerce-page ul.products li.product .button.dnf-loop-more-btn.added::after {
	display: none !important;
	content: none !important;
}


/* DNF align archive product buttons */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	display: flex !important;
	flex-direction: column !important;
	height: auto !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	width: 100% !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	min-height: 52px !important;
	margin-bottom: 10px !important;
	line-height: 1.35 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	min-height: 28px !important;
	margin-bottom: 0 !important;
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
}

.woocommerce ul.products li.product .button.dnf-loop-more-btn,
.woocommerce-page ul.products li.product .button.dnf-loop-more-btn {
	margin-top: auto !important;
	align-self: stretch !important;
}

@media (max-width: 768px) {
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
		min-height: 46px !important;
		font-size: 14px !important;
	}
}


/* DNF recently viewed products tab */
.single-product .dnf-rv-panel {
	float: right;
	width: 360px;
	max-width: 36%;
	margin: 0 0 28px 32px;
	border: 1px solid #e5e5e5;
	background: #ffffff;
	box-sizing: border-box;
}

.single-product .dnf-rv-tabs {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #e5e5e5;
	background: #ffffff;
}

.single-product .dnf-rv-tab {
	width: 100%;
	padding: 13px 16px;
	color: #61aa85;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: .02em;
}

.single-product .dnf-rv-list {
	display: flex;
	flex-direction: column;
}

.single-product .dnf-rv-item {
	display: grid;
	grid-template-columns: 84px 1fr;
	gap: 12px;
	padding: 12px;
	border-bottom: 1px dashed #dddddd;
	color: #111111;
	text-decoration: none;
	background: #ffffff;
}

.single-product .dnf-rv-item:last-child {
	border-bottom: 0;
}

.single-product .dnf-rv-item:hover {
	background: #ffffff;
}

.single-product .dnf-rv-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 72px;
	background: #ffffff;
	overflow: hidden;
}

.single-product .dnf-rv-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.single-product .dnf-rv-noimg {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #61aa85;
	font-weight: 800;
	background: #ffffff;
}

.single-product .dnf-rv-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.single-product .dnf-rv-name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: #111111;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
}

.single-product .dnf-rv-price {
	margin-top: 8px;
	color: #ef4f4f;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
}

.single-product .dnf-rv-price .amount {
	color: #ef4f4f;
	font-weight: 800;
}

.single-product .dnf-rv-price del,
.single-product .dnf-rv-price del .amount {
	color: #b8b8b8;
	font-size: 12px;
	font-weight: 500;
}

.single-product .dnf-rv-out {
	color: #ef4f4f;
	font-weight: 800;
}

.single-product .woocommerce-tabs {
	overflow: visible !important;
}

.single-product .woocommerce-tabs::after {
	content: "";
	display: table;
	clear: both;
}

@media (max-width: 1024px) {
	.single-product .dnf-rv-panel {
		float: none;
		width: 100%;
		max-width: none;
		margin: 24px 0;
	}
}

@media (max-width: 600px) {
	.single-product .dnf-rv-tab {
		font-size: 16px;
	}

	.single-product .dnf-rv-item {
		grid-template-columns: 74px 1fr;
		gap: 10px;
		padding: 10px;
	}

	.single-product .dnf-rv-thumb {
		width: 74px;
		height: 64px;
	}
}


/* DNF recently viewed products: position + font fix */
.single-product .woocommerce-tabs.dnf-tabs-with-rv {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 330px !important;
	column-gap: 32px !important;
	align-items: start !important;
	clear: both !important;
}

.single-product .woocommerce-tabs.dnf-tabs-with-rv > ul.tabs,
.single-product .woocommerce-tabs.dnf-tabs-with-rv > .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs.dnf-tabs-with-rv > .panel {
	grid-column: 1 !important;
	width: 100% !important;
}

.single-product .woocommerce-tabs.dnf-tabs-with-rv > .dnf-rv-panel {
	grid-column: 2 !important;
	grid-row: 1 / span 20 !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	align-self: start !important;
	border: 1px solid #e2e2e2 !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
}

/* Làm block nhỏ gọn, đúng vai trò sidebar */
.single-product .dnf-rv-tabs {
	border-bottom: 1px solid #e5e5e5 !important;
}

.single-product .dnf-rv-tab {
	padding: 11px 12px !important;
	color: #61aa85 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-transform: uppercase !important;
	letter-spacing: .01em !important;
}

.single-product .dnf-rv-item {
	grid-template-columns: 74px 1fr !important;
	gap: 10px !important;
	padding: 10px 12px !important;
	border-bottom: 1px dashed #dddddd !important;
}

.single-product .dnf-rv-thumb {
	width: 74px !important;
	height: 64px !important;
	background: #ffffff !important;
}

.single-product .dnf-rv-name {
	color: #111111 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	-webkit-line-clamp: 2 !important;
}

.single-product .dnf-rv-price {
	margin-top: 6px !important;
	color: #61aa85 !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

.single-product .dnf-rv-price .amount {
	color: #61aa85 !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

.single-product .dnf-rv-price ins,
.single-product .dnf-rv-price ins .amount {
	color: #ef4f4f !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

.single-product .dnf-rv-price del,
.single-product .dnf-rv-price del .amount {
	color: #a9a9a9 !important;
	font-size: 11px !important;
	font-weight: 500 !important;
}

.single-product .dnf-rv-out {
	color: #ef4f4f !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

/* Mobile/tablet: rơi xuống dưới tab chính */
@media (max-width: 1024px) {
	.single-product .woocommerce-tabs.dnf-tabs-with-rv {
		display: block !important;
	}

	.single-product .woocommerce-tabs.dnf-tabs-with-rv > .dnf-rv-panel {
		width: 100% !important;
		margin-top: 24px !important;
	}
}


/* DNF recently viewed products: safe typography and price wrapping */
.single-product .woocommerce-tabs.dnf-tabs-with-rv {
	grid-template-columns: minmax(0, 1fr) minmax(320px, 360px) !important;
}

.single-product .dnf-rv-panel {
	min-width: 0 !important;
	overflow: hidden !important;
}

.single-product .dnf-rv-item {
	grid-template-columns: 72px minmax(0, 1fr) !important;
	gap: 10px !important;
}

.single-product .dnf-rv-thumb {
	width: 72px !important;
	height: 62px !important;
	flex: 0 0 72px !important;
}

.single-product .dnf-rv-info {
	min-width: 0 !important;
	overflow: hidden !important;
}

.single-product .dnf-rv-name {
	max-width: 100% !important;
	min-width: 0 !important;
	color: #111111 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.28 !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

.single-product .dnf-rv-price {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	gap: 2px 6px !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin-top: 6px !important;
	color: #61aa85 !important;
	font-size: 12.5px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	overflow: hidden !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

.single-product .dnf-rv-price .amount,
.single-product .dnf-rv-price .woocommerce-Price-amount {
	color: inherit !important;
	font-size: 12.5px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	white-space: nowrap !important;
}

.single-product .dnf-rv-price del {
	display: flex !important;
	flex-wrap: wrap !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	color: #a9a9a9 !important;
	font-size: 11px !important;
	line-height: 1.2 !important;
	overflow: hidden !important;
	text-decoration-thickness: 1px !important;
}

.single-product .dnf-rv-price del .amount,
.single-product .dnf-rv-price del .woocommerce-Price-amount {
	color: #a9a9a9 !important;
	font-size: 11px !important;
	font-weight: 500 !important;
}

.single-product .dnf-rv-price ins {
	display: flex !important;
	flex-wrap: wrap !important;
	width: 100% !important;
	max-width: 100% !important;
	color: #ef4f4f !important;
	font-size: 12.5px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	text-decoration: none !important;
	overflow: hidden !important;
}

.single-product .dnf-rv-price ins .amount,
.single-product .dnf-rv-price ins .woocommerce-Price-amount {
	color: #ef4f4f !important;
	font-size: 12.5px !important;
	font-weight: 800 !important;
}

.single-product .dnf-rv-out {
	max-width: 100% !important;
	color: #ef4f4f !important;
	font-size: 12.5px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	overflow-wrap: anywhere !important;
}

@media (max-width: 1024px) {
	.single-product .woocommerce-tabs.dnf-tabs-with-rv {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 480px) {
	.single-product .dnf-rv-item {
		grid-template-columns: 66px minmax(0, 1fr) !important;
	}

	.single-product .dnf-rv-thumb {
		width: 66px !important;
		height: 58px !important;
	}

	.single-product .dnf-rv-name {
		font-size: 12.5px !important;
	}

	.single-product .dnf-rv-price,
	.single-product .dnf-rv-price .amount,
	.single-product .dnf-rv-price .woocommerce-Price-amount {
		font-size: 12px !important;
	}
}


/* =========================================================
   DNF MOBILE UI FIX FINAL
   - Header search
   - Mobile menu toggle
   - Bottom FAB
   - Product price overflow
   ========================================================= */

@media (max-width: 768px) {
	/* Header mobile: logo + search + cart + menu */
	body {
		padding-bottom: 74px !important;
	}

	.dnf-topbar {
		display: none !important;
	}

	.dnf-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 9990 !important;
		background: #ffffff !important;
		border-bottom: 1px solid #eeeeee !important;
	}

	.admin-bar .dnf-header {
		top: 0 !important;
	}

	.dnf-header .dnf-header-inner {
		display: grid !important;
		grid-template-columns: 56px minmax(0, 1fr) auto !important;
		align-items: center !important;
		gap: 8px !important;
		min-height: 64px !important;
		padding: 8px 10px !important;
	}

	.dnf-header .dnf-logo-wrap {
		width: 56px !important;
		min-width: 56px !important;
		margin: 0 !important;
	}

	.dnf-header a.dnf-logo {
		width: 56px !important;
		height: 48px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.dnf-header .dnf-logo img.dnf-logo-img,
	.dnf-header .dnf-logo img,
	.dnf-header img.dnf-logo-img {
		width: 56px !important;
		max-width: 56px !important;
		height: auto !important;
		max-height: 48px !important;
		object-fit: contain !important;
	}

	/* Search phải hiện trên mobile */
	.dnf-header .dnf-search {
		display: block !important;
		grid-column: 2 !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		order: initial !important;
	}

	.dnf-header .dnf-search-form-wrap {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		height: 42px !important;
		border: 1px solid #61aa85 !important;
		background: #ffffff !important;
		box-sizing: border-box !important;
	}

	.dnf-header .dnf-search form {
		display: flex !important;
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
	}

	.dnf-header .dnf-search-icon {
		display: none !important;
	}

	.dnf-header .dnf-search input[type="search"],
	.dnf-header .dnf-search .search-field {
		flex: 1 1 auto !important;
		width: 100% !important;
		min-width: 0 !important;
		height: 40px !important;
		padding: 0 10px !important;
		border: 0 !important;
		background: #ffffff !important;
		color: #111111 !important;
		font-size: 15px !important;
		line-height: 40px !important;
		box-shadow: none !important;
	}

	.dnf-header .dnf-search button,
	.dnf-header .dnf-search input[type="submit"] {
		flex: 0 0 48px !important;
		width: 48px !important;
		height: 40px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #61aa85 !important;
		color: #ffffff !important;
		font-size: 0 !important;
		box-shadow: none !important;
	}

	.dnf-header .dnf-search button::before,
	.dnf-header .dnf-search input[type="submit"]::before {
		content: "🔍" !important;
		display: block !important;
		font-size: 20px !important;
		line-height: 40px !important;
		text-align: center !important;
	}

	.dnf-header .dnf-header-actions {
		grid-column: 3 !important;
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		margin: 0 !important;
		width: auto !important;
	}

	/* Mobile chỉ giữ giỏ hàng + menu để đủ chỗ cho search */
	.dnf-header .dnf-header-actions > .dnf-icon-btn[aria-label="Tra cứu đơn hàng"],
	.dnf-header .dnf-header-actions > .dnf-icon-btn[title="Tra cứu đơn hàng"] {
		display: none !important;
	}

	.dnf-header .dnf-icon-btn,
	.dnf-header .dnf-mobile-menu-toggle {
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		min-height: 42px !important;
		border: 1px solid #e5e5e5 !important;
		background: #ffffff !important;
		color: #111111 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-shadow: none !important;
	}

	.dnf-header .dnf-mobile-menu-toggle {
		background: #050505 !important;
		color: #ffffff !important;
		font-size: 24px !important;
		line-height: 1 !important;
	}

	.dnf-header .dnf-cart-count {
		top: -8px !important;
		right: -8px !important;
	}

	/* Mobile menu */
	.dnf-header .dnf-main-nav {
		display: none !important;
		position: absolute !important;
		left: 0 !important;
		right: 0 !important;
		top: 100% !important;
		width: 100% !important;
		background: #ffffff !important;
		border-top: 1px solid #eeeeee !important;
		border-bottom: 1px solid #eeeeee !important;
		box-shadow: 0 10px 24px rgba(0,0,0,.12) !important;
		z-index: 9999 !important;
	}

	.dnf-header .dnf-main-nav.is-open,
	.dnf-header.is-mobile-menu-open .dnf-main-nav {
		display: block !important;
	}

	.dnf-header .dnf-main-menu {
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 8px 0 !important;
		list-style: none !important;
	}

	.dnf-header .dnf-main-menu > li {
		display: block !important;
		width: 100% !important;
		border-bottom: 1px solid #f1f1f1 !important;
	}

	.dnf-header .dnf-main-menu > li:last-child {
		border-bottom: 0 !important;
	}

	.dnf-header .dnf-main-menu > li > a {
		display: block !important;
		width: 100% !important;
		padding: 13px 18px !important;
		color: #111111 !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		text-decoration: none !important;
	}

	/* Không bung mega menu trong menu mobile để tránh rối */
	.dnf-header .dnf-product-mega,
	.dnf-header .dnf-brand-mega {
		display: none !important;
	}

	/* FAB mobile: chuyển thành thanh dưới màn hình */
	.dnf-floating-fab {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		z-index: 9998 !important;
		display: grid !important;
		grid-template-columns: repeat(3, 1fr) !important;
		width: 100% !important;
		height: 64px !important;
		background: #61aa85 !important;
		box-shadow: 0 -4px 18px rgba(0,0,0,.14) !important;
	}

	.dnf-floating-fab .dnf-fab-btn {
		width: auto !important;
		height: 64px !important;
		border-radius: 0 !important;
		background: #61aa85 !important;
		color: #ffffff !important;
		border: 0 !important;
		box-shadow: none !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 4px !important;
		text-decoration: none !important;
	}

	.dnf-floating-fab .dnf-fab-btn svg {
		width: 21px !important;
		height: 21px !important;
	}

	.dnf-floating-fab .dnf-fab-chat::after {
		content: "Tư vấn" !important;
	}

	.dnf-floating-fab .dnf-fab-phone::after {
		content: "Gọi điện" !important;
	}

	.dnf-floating-fab .dnf-fab-map::after {
		content: "Chỉ đường" !important;
	}

	.dnf-floating-fab .dnf-fab-btn::after {
		display: block !important;
		color: #ffffff !important;
		font-size: 12px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
		letter-spacing: .01em !important;
	}

	/* Product card mobile: chống tràn giá */
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product,
	.dnf-product-card {
		min-width: 0 !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	.woocommerce ul.products li.product .astra-shop-summary-wrap,
	.woocommerce-page ul.products li.product .astra-shop-summary-wrap,
	.dnf-product-card {
		min-width: 0 !important;
		overflow: hidden !important;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
	.dnf-product-card .dnf-product-title {
		font-size: 15px !important;
		line-height: 1.35 !important;
		min-height: auto !important;
		max-height: 62px !important;
		overflow: hidden !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	.woocommerce ul.products li.product .price,
	.woocommerce-page ul.products li.product .price,
	.dnf-product-card .price,
	.dnf-product-card .dnf-product-price,
	.dnf-product-card .dnf-price {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: baseline !important;
		gap: 2px 6px !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: hidden !important;
		font-size: 15px !important;
		line-height: 1.25 !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	.woocommerce ul.products li.product .price .amount,
	.woocommerce-page ul.products li.product .price .amount,
	.woocommerce ul.products li.product .price .woocommerce-Price-amount,
	.woocommerce-page ul.products li.product .price .woocommerce-Price-amount,
	.dnf-product-card .amount,
	.dnf-product-card .woocommerce-Price-amount {
		font-size: 15px !important;
		line-height: 1.25 !important;
		font-weight: 800 !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	.woocommerce ul.products li.product .price del,
	.woocommerce-page ul.products li.product .price del,
	.dnf-product-card .price del {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		color: #8f8f8f !important;
		font-size: 13px !important;
		line-height: 1.2 !important;
		overflow: hidden !important;
		overflow-wrap: anywhere !important;
	}

	.woocommerce ul.products li.product .price del .amount,
	.woocommerce-page ul.products li.product .price del .amount,
	.dnf-product-card .price del .amount {
		font-size: 13px !important;
		font-weight: 500 !important;
		color: #8f8f8f !important;
	}

	.woocommerce ul.products li.product .price ins,
	.woocommerce-page ul.products li.product .price ins,
	.dnf-product-card .price ins {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		text-decoration: none !important;
		overflow: hidden !important;
		overflow-wrap: anywhere !important;
	}

	.woocommerce ul.products li.product .button.dnf-loop-more-btn,
	.woocommerce-page ul.products li.product .button.dnf-loop-more-btn,
	.dnf-product-card .dnf-product-more,
	.dnf-product-card .button {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}


/* =========================================================
   DNF MOBILE HEADER / MENU / PRICE FINAL OVERRIDE
   ========================================================= */

@media (max-width: 768px) {
	/* Header: logo trái, 3 icon phải */
	.dnf-header .dnf-header-inner {
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr) auto !important;
		align-items: center !important;
		gap: 8px !important;
		min-height: 64px !important;
		padding: 8px 10px !important;
	}

	.dnf-header .dnf-logo-wrap {
		grid-column: 1 !important;
		width: 76px !important;
		min-width: 76px !important;
		margin: 0 !important;
		overflow: visible !important;
	}

	.dnf-header a.dnf-logo {
		width: 76px !important;
		height: 48px !important;
		justify-content: flex-start !important;
	}

	.dnf-header .dnf-logo img.dnf-logo-img,
	.dnf-header .dnf-logo img,
	.dnf-header img.dnf-logo-img {
		width: 76px !important;
		max-width: 76px !important;
		max-height: 48px !important;
		object-fit: contain !important;
	}

	.dnf-header .dnf-header-actions {
		grid-column: 3 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 8px !important;
		width: auto !important;
		margin-left: auto !important;
	}

	/* Không để thanh search chiếm header */
	.dnf-header .dnf-search {
		display: none !important;
		position: absolute !important;
		left: 10px !important;
		right: 10px !important;
		top: calc(100% + 8px) !important;
		z-index: 10001 !important;
		width: auto !important;
		margin: 0 !important;
		padding: 8px !important;
		background: #ffffff !important;
		border: 1px solid #e5e5e5 !important;
		box-shadow: 0 8px 24px rgba(0,0,0,.14) !important;
	}

	.dnf-header.is-mobile-search-open .dnf-search {
		display: block !important;
	}

	.dnf-header .dnf-search-form-wrap {
		height: 42px !important;
		border: 1px solid #61aa85 !important;
		background: #ffffff !important;
	}

	.dnf-header .dnf-search input[type="search"],
	.dnf-header .dnf-search .search-field {
		height: 40px !important;
		font-size: 15px !important;
		padding: 0 10px !important;
	}

	.dnf-header .dnf-search button,
	.dnf-header .dnf-search input[type="submit"] {
		width: 48px !important;
		flex: 0 0 48px !important;
		background: #61aa85 !important;
		color: #ffffff !important;
	}

	/* Mobile chỉ còn 3 icon: search | tra cứu đơn | menu */
	.dnf-header .dnf-mobile-search-toggle {
		display: flex !important;
	}

	.dnf-header .dnf-header-actions > .dnf-cart-btn {
		display: none !important;
	}

	.dnf-header .dnf-header-actions > .dnf-icon-btn[aria-label="Tra cứu đơn hàng"],
	.dnf-header .dnf-header-actions > .dnf-icon-btn[title="Tra cứu đơn hàng"] {
		display: flex !important;
	}

	.dnf-header .dnf-icon-btn,
	.dnf-header .dnf-mobile-menu-toggle,
	.dnf-header .dnf-mobile-search-toggle {
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		min-height: 42px !important;
		border: 1px solid #e5e5e5 !important;
		background: #ffffff !important;
		color: #111111 !important;
		align-items: center !important;
		justify-content: center !important;
		box-shadow: none !important;
	}

	.dnf-header .dnf-mobile-menu-toggle {
		background: #050505 !important;
		color: #ffffff !important;
		font-size: 24px !important;
	}

	/* Menu mobile: gọn hơn */
	.dnf-header .dnf-main-nav {
		top: 100% !important;
		max-height: calc(100vh - 140px) !important;
		overflow-y: auto !important;
		background: #ffffff !important;
	}

	.dnf-header .dnf-main-menu {
		padding: 0 !important;
	}

	.dnf-header .dnf-main-menu > li {
		border-bottom: 1px solid #eeeeee !important;
	}

	.dnf-header .dnf-main-menu > li > a {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		min-height: 52px !important;
		padding: 0 18px !important;
		color: #111111 !important;
		font-size: 17px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
	}

	.dnf-header .dnf-main-menu > li.dnf-menu-has-mega > a::after,
	.dnf-header .dnf-main-menu > li.dnf-menu-has-brand-mega > a::after {
		content: "+" !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 34px !important;
		height: 34px !important;
		margin-left: 12px !important;
		border: 1px solid #d8d8d8 !important;
		border-radius: 999px !important;
		color: #61aa85 !important;
		font-size: 22px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
		background: #ffffff !important;
	}

	.dnf-header .dnf-main-menu > li.is-sub-open > a::after {
		content: "−" !important;
		background: #61aa85 !important;
		color: #ffffff !important;
		border-color: #61aa85 !important;
	}

	/* Chỉ mở mega khi bấm cha */
	.dnf-header .dnf-product-mega,
	.dnf-header .dnf-brand-mega {
		display: none !important;
		position: static !important;
		width: 100% !important;
		max-height: 58vh !important;
		overflow-y: auto !important;
		margin: 0 !important;
		padding: 10px 14px 14px !important;
		border: 0 !important;
		border-top: 1px solid #eeeeee !important;
		box-shadow: none !important;
		background: #ffffff !important;
	}

	.dnf-header .dnf-main-menu > li.is-sub-open > .dnf-product-mega,
	.dnf-header .dnf-main-menu > li.is-sub-open > .dnf-brand-mega {
		display: block !important;
	}

	.dnf-header .dnf-mega-head {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		margin-bottom: 8px !important;
		padding-bottom: 8px !important;
		border-bottom: 1px solid #eeeeee !important;
		font-size: 14px !important;
	}

	.dnf-header .dnf-product-mega a,
	.dnf-header .dnf-brand-mega a {
		font-size: 14px !important;
		line-height: 1.35 !important;
	}

	/* Giá mobile: ép không tràn, chấp nhận xuống dòng */
	.dnf-product-card,
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		min-width: 0 !important;
		max-width: 100% !important;
		overflow: hidden !important;
	}

	.dnf-product-card .dnf-product-price,
	.dnf-product-card .dnf-price,
	.dnf-product-card .price,
	.woocommerce ul.products li.product .price,
	.woocommerce-page ul.products li.product .price {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
		font-size: 13px !important;
		line-height: 1.25 !important;
		letter-spacing: 0 !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
	}

	.dnf-product-card .dnf-product-price *,
	.dnf-product-card .dnf-price *,
	.dnf-product-card .price *,
	.woocommerce ul.products li.product .price *,
	.woocommerce-page ul.products li.product .price * {
		white-space: normal !important;
		max-width: 100% !important;
		text-overflow: clip !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
	}

	.dnf-product-card .price del,
	.dnf-product-card .dnf-product-price del,
	.woocommerce ul.products li.product .price del,
	.woocommerce-page ul.products li.product .price del {
		display: block !important;
		width: 100% !important;
		margin-bottom: 3px !important;
		font-size: 12px !important;
		line-height: 1.2 !important;
	}

	.dnf-product-card .price ins,
	.dnf-product-card .dnf-product-price ins,
	.woocommerce ul.products li.product .price ins,
	.woocommerce-page ul.products li.product .price ins {
		display: block !important;
		width: 100% !important;
		font-size: 13px !important;
		line-height: 1.25 !important;
		text-decoration: none !important;
	}

	.dnf-product-card .amount,
	.dnf-product-card .woocommerce-Price-amount,
	.woocommerce ul.products li.product .amount,
	.woocommerce-page ul.products li.product .amount {
		font-size: inherit !important;
		line-height: inherit !important;
		white-space: normal !important;
	}
}

@media (max-width: 420px) {
	.dnf-header .dnf-header-inner {
		gap: 6px !important;
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	.dnf-header .dnf-logo-wrap,
	.dnf-header a.dnf-logo,
	.dnf-header .dnf-logo img.dnf-logo-img,
	.dnf-header .dnf-logo img,
	.dnf-header img.dnf-logo-img {
		width: 70px !important;
		max-width: 70px !important;
	}

	.dnf-header .dnf-icon-btn,
	.dnf-header .dnf-mobile-menu-toggle,
	.dnf-header .dnf-mobile-search-toggle {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
	}
}


/* =========================================================
   DNF FINAL: remove product buttons, fix mobile menu overflow,
   fix mobile price overflow
   ========================================================= */

/* 1) Xóa toàn bộ button "Xem thêm" / add-to-cart trong card sản phẩm */
.dnf-product-card .button,
.dnf-product-card .dnf-loop-more-btn,
.dnf-product-card .dnf-product-more,
.dnf-product-card a[class*="more"],
.dnf-product-card a[href*="add-to-cart"],
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .dnf-loop-more-btn,
.woocommerce-page ul.products li.product .dnf-loop-more-btn,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce-page ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.product_type_variable,
.woocommerce-page ul.products li.product a.product_type_variable,
.woocommerce ul.products li.product a.product_type_simple,
.woocommerce-page ul.products li.product a.product_type_simple {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

/* Giảm khoảng trống còn lại sau khi xóa button */
.dnf-product-card {
	padding-bottom: 16px !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	padding-bottom: 14px !important;
}

/* 2) Mobile menu: chống tràn khung khi mở Sản phẩm / Thương hiệu */
@media (max-width: 768px) {
	html,
	body {
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	.dnf-header,
	.dnf-header * {
		box-sizing: border-box !important;
	}

	.dnf-header .dnf-main-nav {
		left: 0 !important;
		right: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		min-width: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
	}

	.dnf-header .dnf-main-menu {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-x: hidden !important;
	}

	.dnf-header .dnf-main-menu > li {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: hidden !important;
	}

	.dnf-header .dnf-main-menu > li > a {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: 50px !important;
		padding: 0 64px 0 18px !important;
		font-size: 17px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;
		overflow: hidden !important;
	}

	/* Nút mở rộng dễ bấm hơn, nằm gọn trong hàng menu */
	.dnf-header .dnf-main-menu > li.dnf-menu-has-mega > a::after,
	.dnf-header .dnf-main-menu > li.dnf-menu-has-brand-mega > a::after {
		position: absolute !important;
		right: 16px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		width: 34px !important;
		height: 34px !important;
		margin: 0 !important;
		border-radius: 999px !important;
		font-size: 22px !important;
		line-height: 32px !important;
	}

	/* Mega menu mobile phải thành 1 cột, không dùng layout desktop */
	.dnf-header .dnf-product-mega,
	.dnf-header .dnf-brand-mega {
		position: static !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 10px 14px 14px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		box-shadow: none !important;
	}

	.dnf-header .dnf-product-mega *,
	.dnf-header .dnf-brand-mega * {
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.dnf-header .dnf-mega-grid,
	.dnf-header .dnf-mega-content,
	.dnf-header .dnf-mega-body,
	.dnf-header .dnf-mega-cols,
	.dnf-header .dnf-mega-columns,
	.dnf-header .dnf-product-mega-grid,
	.dnf-header .dnf-brand-mega-grid {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-x: hidden !important;
	}

	.dnf-header .dnf-mega-col,
	.dnf-header .dnf-mega-column,
	.dnf-header .dnf-mega-group,
	.dnf-header .dnf-mega-panel,
	.dnf-header .dnf-brand-col,
	.dnf-header .dnf-product-col {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 0 10px !important;
		padding: 0 !important;
	}

	.dnf-header .dnf-product-mega a,
	.dnf-header .dnf-brand-mega a {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 9px 4px !important;
		white-space: normal !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
	}

	/* 3) Mobile price: chống tràn/cắt giá trong mọi card */
	.dnf-product-card,
	.dnf-product-card *,
	.woocommerce ul.products li.product,
	.woocommerce ul.products li.product *,
	.woocommerce-page ul.products li.product,
	.woocommerce-page ul.products li.product * {
		box-sizing: border-box !important;
	}

	.dnf-product-card,
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		min-width: 0 !important;
		max-width: 100% !important;
		overflow: hidden !important;
	}

	.dnf-product-card .dnf-product-title,
	.dnf-product-card .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
		max-width: 100% !important;
		min-width: 0 !important;
		white-space: normal !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
	}

	.dnf-product-card .dnf-product-price,
	.dnf-product-card .dnf-price,
	.dnf-product-card .price,
	.woocommerce ul.products li.product .price,
	.woocommerce-page ul.products li.product .price {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-top: 10px !important;
		color: #61aa85 !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		line-height: 1.28 !important;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
	}

	.dnf-product-card .dnf-product-price *,
	.dnf-product-card .dnf-price *,
	.dnf-product-card .price *,
	.woocommerce ul.products li.product .price *,
	.woocommerce-page ul.products li.product .price * {
		max-width: 100% !important;
		min-width: 0 !important;
		white-space: normal !important;
		text-overflow: clip !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
	}

	.dnf-product-card .amount,
	.dnf-product-card .woocommerce-Price-amount,
	.woocommerce ul.products li.product .amount,
	.woocommerce-page ul.products li.product .amount,
	.woocommerce ul.products li.product .woocommerce-Price-amount,
	.woocommerce-page ul.products li.product .woocommerce-Price-amount {
		display: inline !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		line-height: 1.28 !important;
		white-space: normal !important;
	}

	/* Giá gốc xuống dòng riêng, nhỏ hơn */
	.dnf-product-card .price del,
	.dnf-product-card .dnf-product-price del,
	.woocommerce ul.products li.product .price del,
	.woocommerce-page ul.products li.product .price del {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 3px !important;
		color: #888888 !important;
		font-size: 12px !important;
		font-weight: 500 !important;
		line-height: 1.2 !important;
		white-space: normal !important;
		overflow: visible !important;
	}

	.dnf-product-card .price del .amount,
	.dnf-product-card .dnf-product-price del .amount,
	.woocommerce ul.products li.product .price del .amount,
	.woocommerce-page ul.products li.product .price del .amount {
		font-size: 12px !important;
		font-weight: 500 !important;
		color: #888888 !important;
	}

	/* Giá sale xuống dòng riêng */
	.dnf-product-card .price ins,
	.dnf-product-card .dnf-product-price ins,
	.woocommerce ul.products li.product .price ins,
	.woocommerce-page ul.products li.product .price ins {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		color: #ef4f4f !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		line-height: 1.28 !important;
		text-decoration: none !important;
		white-space: normal !important;
		overflow: visible !important;
	}

	.dnf-product-card .price ins .amount,
	.dnf-product-card .dnf-product-price ins .amount,
	.woocommerce ul.products li.product .price ins .amount,
	.woocommerce-page ul.products li.product .price ins .amount {
		color: #ef4f4f !important;
		font-size: 13px !important;
		font-weight: 800 !important;
	}
}

@media (max-width: 420px) {
	.dnf-product-card .dnf-product-price,
	.dnf-product-card .dnf-price,
	.dnf-product-card .price,
	.woocommerce ul.products li.product .price,
	.woocommerce-page ul.products li.product .price,
	.dnf-product-card .amount,
	.dnf-product-card .woocommerce-Price-amount,
	.woocommerce ul.products li.product .amount,
	.woocommerce-page ul.products li.product .amount {
		font-size: 12.5px !important;
	}
}


/* =========================================================
   DNF FINAL: mobile sticky header + hard price wrap
   ========================================================= */

@media (max-width: 768px) {
	/* Header mobile phải chạy theo màn hình */
	.dnf-header {
		position: sticky !important;
		position: -webkit-sticky !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 9998 !important;
		background: #ffffff !important;
		border-bottom: 1px solid #eeeeee !important;
	}

	body.admin-bar .dnf-header,
	.admin-bar .dnf-header {
		top: 0 !important;
	}

	/* Khi menu mở, menu bám dưới sticky header */
	.dnf-header .dnf-main-nav {
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 9999 !important;
	}

	/* Search xổ xuống cũng bám theo sticky header */
	.dnf-header .dnf-search {
		top: calc(100% + 8px) !important;
		z-index: 10000 !important;
	}

	/* Hard fix giá: không cho bất kỳ rule cũ nào giữ nowrap/cắt chữ */
	.dnf-product-card,
	.dnf-product-card *,
	.woocommerce ul.products li.product,
	.woocommerce ul.products li.product * {
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.dnf-product-card .dnf-product-price,
	.dnf-product-card .dnf-price,
	.dnf-product-card .price,
	.woocommerce ul.products li.product .price,
	.woocommerce-page ul.products li.product .price {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: visible !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
		text-overflow: clip !important;
		font-size: 12px !important;
		line-height: 1.28 !important;
		letter-spacing: 0 !important;
	}

	.dnf-product-card .dnf-product-price *,
	.dnf-product-card .dnf-price *,
	.dnf-product-card .price *,
	.woocommerce ul.products li.product .price *,
	.woocommerce-page ul.products li.product .price * {
		max-width: 100% !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
		text-overflow: clip !important;
	}

	/* Giá được JS tách dòng */
	.dnf-mobile-price-line,
	.dnf-mobile-price-sep {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
		line-height: 1.28 !important;
	}

	.dnf-mobile-price-line {
		color: #ef4f4f !important;
		font-size: 12px !important;
		font-weight: 800 !important;
	}

	.dnf-mobile-price-sep {
		color: #ef4f4f !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
	}

	/* Giá gốc / giá sale */
	.dnf-product-card .price del,
	.dnf-product-card .dnf-product-price del,
	.woocommerce ul.products li.product .price del,
	.woocommerce-page ul.products li.product .price del,
	.dnf-loop-price-safe del {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 2px !important;
		font-size: 11px !important;
		line-height: 1.2 !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
	}

	.dnf-product-card .price ins,
	.dnf-product-card .dnf-product-price ins,
	.woocommerce ul.products li.product .price ins,
	.woocommerce-page ul.products li.product .price ins,
	.dnf-loop-price-safe ins {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		font-size: 12px !important;
		line-height: 1.28 !important;
		text-decoration: none !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
	}

	.dnf-loop-price-safe,
	.dnf-loop-price-safe ins {
		font-size: 12px !important;
		line-height: 1.28 !important;
	}

	.dnf-loop-price-safe del {
		font-size: 11px !important;
		line-height: 1.2 !important;
	}
}

@media (max-width: 390px) {
	.dnf-product-card .dnf-product-price,
	.dnf-product-card .dnf-price,
	.dnf-product-card .price,
	.woocommerce ul.products li.product .price,
	.woocommerce-page ul.products li.product .price,
	.dnf-mobile-price-line,
	.dnf-loop-price-safe,
	.dnf-loop-price-safe ins {
		font-size: 11.5px !important;
	}
}


/* =========================================================
   DNF FINAL: fixed mobile header + custom price wrap
   ========================================================= */

@media (max-width: 768px) {
	/* Header mobile chạy theo màn hình */
	body {
		padding-top: 66px !important;
	}

	.dnf-header {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: 99999 !important;
		background: #ffffff !important;
		border-bottom: 1px solid #eeeeee !important;
		box-shadow: 0 2px 10px rgba(0,0,0,.06) !important;
	}

	body.admin-bar .dnf-header,
	.admin-bar .dnf-header {
		top: 0 !important;
	}

	.dnf-header .dnf-main-nav {
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 100000 !important;
	}

	.dnf-header .dnf-search {
		position: absolute !important;
		top: calc(100% + 8px) !important;
		left: 10px !important;
		right: 10px !important;
		z-index: 100001 !important;
	}

	/* Chống header fixed che anchor/section khi cuộn */
	html {
		scroll-padding-top: 76px !important;
	}

	/* Giá custom trong card: ép nhỏ, xuống dòng, không tràn */
	.dnf-product-card .dnf-price-clean-sale,
	.dnf-product-card .dnf-price-clean-current,
	.dnf-product-card .dnf-price-clean,
	.dnf-product-card .dnf-product-price,
	.dnf-product-card .dnf-price,
	.dnf-product-card .price,
	.woocommerce ul.products li.product .price,
	.woocommerce-page ul.products li.product .price {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: visible !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
		text-overflow: clip !important;
		font-size: 12px !important;
		line-height: 1.28 !important;
		letter-spacing: 0 !important;
	}

	.dnf-product-card .dnf-price-clean-sale *,
	.dnf-product-card .dnf-price-clean-current *,
	.dnf-product-card .dnf-price-clean *,
	.dnf-product-card .dnf-product-price *,
	.dnf-product-card .dnf-price *,
	.dnf-product-card .price *,
	.woocommerce ul.products li.product .price *,
	.woocommerce-page ul.products li.product .price * {
		max-width: 100% !important;
		min-width: 0 !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
		text-overflow: clip !important;
	}

	/* Dòng giá đã được JS tách */
	.dnf-mobile-price-wrapped {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow: visible !important;
	}

	.dnf-mobile-price-line,
	.dnf-mobile-price-sep {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
		text-overflow: clip !important;
	}

	.dnf-mobile-price-line {
		color: #ef4f4f !important;
		font-size: 12px !important;
		font-weight: 800 !important;
		line-height: 1.28 !important;
	}

	.dnf-mobile-price-sep {
		color: #ef4f4f !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
		margin: 1px 0 !important;
	}

	/* Giá thường không sale vẫn xanh thương hiệu */
	.dnf-product-card .dnf-price-clean:not(.dnf-price-clean-sale),
	.dnf-product-card .dnf-product-price:not(.dnf-price-clean-sale),
	.dnf-product-card .price:not(.dnf-price-clean-sale) {
		color: #61aa85 !important;
	}

	/* Giá gốc */
	.dnf-product-card del,
	.woocommerce ul.products li.product .price del,
	.woocommerce-page ul.products li.product .price del,
	.dnf-loop-price-safe del {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 3px !important;
		color: #888888 !important;
		font-size: 11px !important;
		font-weight: 500 !important;
		line-height: 1.2 !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
	}

	/* Giá sale */
	.dnf-product-card ins,
	.woocommerce ul.products li.product .price ins,
	.woocommerce-page ul.products li.product .price ins,
	.dnf-loop-price-safe ins {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		color: #ef4f4f !important;
		font-size: 12px !important;
		font-weight: 800 !important;
		line-height: 1.28 !important;
		text-decoration: none !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: anywhere !important;
	}
}

@media (max-width: 390px) {
	.dnf-mobile-price-line,
	.dnf-product-card .dnf-price-clean-sale,
	.dnf-product-card .dnf-price-clean-current,
	.dnf-product-card .dnf-price-clean,
	.dnf-product-card .dnf-product-price,
	.dnf-product-card .dnf-price,
	.dnf-product-card .price {
		font-size: 11.5px !important;
	}
}


/* =========================================================
   DNF FINAL: price colors + white mobile FAB
   ========================================================= */

/* Giá card: chuẩn màu cuối cùng */
.dnf-card-price-final {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
	line-height: 1.28 !important;
}

.dnf-card-price-final.is-normal,
.dnf-card-price-final.is-normal span {
	color: #61aa85 !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

.dnf-card-price-final.is-sale del {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 3px !important;
	color: #888888 !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-decoration-line: line-through !important;
	text-decoration-thickness: 1px !important;
	text-decoration-color: #888888 !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

.dnf-card-price-final.is-sale ins {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	color: #ef4f4f !important;
	font-weight: 800 !important;
	line-height: 1.28 !important;
	text-decoration: none !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

/* Chặn các rule cũ làm giá thường đỏ */
.dnf-product-card .dnf-card-price-final.is-normal,
.dnf-product-card .dnf-card-price-final.is-normal *,
.woocommerce ul.products li.product .dnf-card-price-final.is-normal,
.woocommerce ul.products li.product .dnf-card-price-final.is-normal * {
	color: #61aa85 !important;
}

.dnf-product-card .dnf-card-price-final.is-sale del,
.woocommerce ul.products li.product .dnf-card-price-final.is-sale del {
	color: #888888 !important;
	text-decoration-line: line-through !important;
}

.dnf-product-card .dnf-card-price-final.is-sale ins,
.woocommerce ul.products li.product .dnf-card-price-final.is-sale ins {
	color: #ef4f4f !important;
	text-decoration: none !important;
}

@media (max-width: 768px) {
	.dnf-card-price-final,
	.dnf-card-price-final.is-normal,
	.dnf-card-price-final.is-normal span,
	.dnf-card-price-final.is-sale ins {
		font-size: 12px !important;
		line-height: 1.3 !important;
		letter-spacing: 0 !important;
	}

	.dnf-card-price-final.is-sale del {
		font-size: 11px !important;
		line-height: 1.2 !important;
	}

	/* Gỡ màu đỏ cũ của JS tách giá đối với giá thường */
	.dnf-mobile-price-wrapped:not(.dnf-price-clean-sale) .dnf-mobile-price-line,
	.dnf-product-card .dnf-price-clean-current .dnf-mobile-price-line,
	.dnf-product-card .dnf-price-clean .dnf-mobile-price-line {
		color: #61aa85 !important;
	}

	/* FAB mobile: nền trắng, icon/chữ xanh thương hiệu */
	.dnf-floating-fab {
		background: #ffffff !important;
		border-top: 1px solid #e8e8e8 !important;
		box-shadow: 0 -4px 18px rgba(0,0,0,.12) !important;
	}

	.dnf-floating-fab .dnf-fab-btn {
		background: #ffffff !important;
		color: #61aa85 !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	.dnf-floating-fab .dnf-fab-btn svg,
	.dnf-floating-fab .dnf-fab-btn svg * {
		color: #61aa85 !important;
		stroke: #61aa85 !important;
	}

	.dnf-floating-fab .dnf-fab-btn::after {
		color: #61aa85 !important;
	}

	.dnf-floating-fab .dnf-fab-btn:hover,
	.dnf-floating-fab .dnf-fab-btn:active {
		background: #ffffff !important;
		color: #61aa85 !important;
	}
}


/* =========================================================
   DNF FINAL: global white background PC + Mobile
   ========================================================= */

html,
body,
body.home,
body.archive,
body.single-product,
body.woocommerce,
body.woocommerce-page,
#page,
.site,
.site-content,
.site-main,
.content-area,
.ast-container,
.ast-plain-container,
.entry-content,
.entry-main,
.hentry,
.dnf-page,
.dnf-container,
.dnf-section,
.dnf-home-section,
.dnf-products-section,
.dnf-tabbed-products-section,
.dnf-product-grid,
.dnf-product-list,
.dnf-cat-filter,
.dnf-brand-strip,
.dnf-brand-strip-list,
.woocommerce,
.woocommerce-page,
.woocommerce.archive,
.woocommerce-page.archive,
.woocommerce div.product,
.woocommerce-tabs,
.woocommerce-Tabs-panel,
.single-product div.product,
.single-product .summary,
.single-product .woocommerce-product-gallery,
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.dnf-product-card,
.dnf-product-thumb,
.dnf-product-card .dnf-product-thumb,
.astra-shop-thumbnail-wrap,
.astra-shop-summary-wrap {
	background: #ffffff !important;
	background-color: #ffffff !important;
}

/* Xóa nền xám ở các block sản phẩm / vùng trống card */
.dnf-product-card::before,
.dnf-product-card::after,
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after,
.woocommerce-page ul.products li.product::before,
.woocommerce-page ul.products li.product::after {
	background: transparent !important;
	background-color: transparent !important;
}

/* Các block lọc / form / sidebar cũng dùng nền trắng */
.dnf-filter,
.dnf-filter-wrap,
.dnf-product-filter,
.dnf-product-filters,
.dnf-home-filter,
.dnf-home-filter-card,
.dnf-rv-panel,
.dnf-rv-list,
.dnf-rv-item,
.widget,
.sidebar,
.ast-right-sidebar,
.ast-left-sidebar {
	background: #ffffff !important;
	background-color: #ffffff !important;
}

/* Mobile giữ cùng nền trắng, không dùng nền xám giữa các card */
@media (max-width: 768px) {
	html,
	body,
	#page,
	.site,
	.site-content,
	.site-main,
	.content-area,
	.ast-container,
	.entry-content,
	.dnf-container,
	.dnf-section,
	.dnf-home-section,
	.dnf-products-section,
	.dnf-tabbed-products-section,
	.dnf-product-grid,
	.dnf-product-list,
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product,
	.dnf-product-card,
	.dnf-product-thumb,
	.astra-shop-thumbnail-wrap,
	.astra-shop-summary-wrap {
		background: #ffffff !important;
		background-color: #ffffff !important;
	}
}


/* =========================================================
   DNF FINAL: deep white background clean
   Ép trắng toàn bộ nền PC + Mobile, kể cả product/card/section rỗng
   ========================================================= */

html,
body,
#page,
.site,
.site-content,
.site-main,
.content-area,
.ast-container,
.ast-row,
.ast-article-single,
.ast-article-post,
.entry-content,
.entry-main,
.wp-site-blocks,
main,
section,
article,
aside,
footer,
.dnf-page,
.dnf-container,
.dnf-section,
.dnf-home-section,
.dnf-products-section,
.dnf-tabbed-products-section,
.dnf-product-section,
.dnf-product-grid,
.dnf-product-list,
.dnf-tab-panel,
.dnf-tab-content,
.dnf-product-card,
.dnf-product-thumb,
.dnf-product-info,
.dnf-product-body,
.dnf-product-meta,
.dnf-product-card-inner,
.dnf-product-card-wrap,
.woocommerce,
.woocommerce-page,
.woocommerce.archive,
.woocommerce-page.archive,
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.astra-shop-thumbnail-wrap,
.astra-shop-summary-wrap,
.dnf-cat-tabs,
.dnf-cat-filter,
.dnf-brand-strip,
.dnf-brand-strip-list,
.dnf-home-filter,
.dnf-home-filter-card,
.site-footer,
.ast-footer,
.footer-adv,
.footer-widget-area,
.footer-primary,
.footer-secondary {
	background: #ffffff !important;
	background-color: #ffffff !important;
}

/* Những vùng hay tạo nền xám bằng pseudo */
html::before,
html::after,
body::before,
body::after,
#page::before,
#page::after,
.site::before,
.site::after,
.site-content::before,
.site-content::after,
.entry-content::before,
.entry-content::after,
.dnf-section::before,
.dnf-section::after,
.dnf-home-section::before,
.dnf-home-section::after,
.dnf-products-section::before,
.dnf-products-section::after,
.dnf-tabbed-products-section::before,
.dnf-tabbed-products-section::after,
.dnf-product-grid::before,
.dnf-product-grid::after,
.dnf-product-list::before,
.dnf-product-list::after,
.dnf-product-card::before,
.dnf-product-card::after,
.dnf-product-thumb::before,
.dnf-product-thumb::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after,
.astra-shop-thumbnail-wrap::before,
.astra-shop-thumbnail-wrap::after,
.astra-shop-summary-wrap::before,
.astra-shop-summary-wrap::after {
	background: transparent !important;
	background-color: transparent !important;
}

/* Nếu có vùng rỗng bị tô xám trong card/grid */
.dnf-product-card [style*="background"],
.dnf-product-grid [style*="background"],
.dnf-product-list [style*="background"],
.woocommerce ul.products [style*="background"],
.woocommerce-page ul.products [style*="background"] {
	background-color: #ffffff !important;
}

/* Product image area: giữ trắng, không dùng nền xám */
.dnf-product-thumb,
.dnf-product-thumb a,
.dnf-product-thumb img,
.astra-shop-thumbnail-wrap,
.astra-shop-thumbnail-wrap a,
.astra-shop-thumbnail-wrap img,
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	background: #ffffff !important;
	background-color: #ffffff !important;
}

/* Footer cũng trắng tuyệt đối */
.site-footer,
.site-footer *,
.ast-footer,
.ast-footer *,
.footer-adv,
.footer-adv *,
.footer-widget-area,
.footer-widget-area * {
	background-color: #ffffff !important;
}

/* Mobile: không để các section xen kẽ nền xám */
@media (max-width: 768px) {
	html,
	body,
	#page,
	.site,
	.site-content,
	.site-main,
	.content-area,
	.entry-content,
	.dnf-container,
	.dnf-section,
	.dnf-home-section,
	.dnf-products-section,
	.dnf-tabbed-products-section,
	.dnf-product-section,
	.dnf-product-grid,
	.dnf-product-list,
	.dnf-tab-panel,
	.dnf-product-card,
	.dnf-product-thumb,
	.dnf-product-info,
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product,
	.astra-shop-thumbnail-wrap,
	.astra-shop-summary-wrap {
		background: #ffffff !important;
		background-color: #ffffff !important;
	}
}


/* =========================================================
   DNF Guide Archive: /tin-tuc-kinh-nghiem/
   5 bài / hàng desktop, 20 bài / trang
   ========================================================= */

body.dnf-guide-archive {
	background: #ffffff !important;
}

body.dnf-guide-archive .site-content,
body.dnf-guide-archive .content-area,
body.dnf-guide-archive .site-main,
body.dnf-guide-archive .ast-container {
	background: #ffffff !important;
}

body.dnf-guide-archive .ast-container {
	max-width: 1520px !important;
	width: 100% !important;
	padding-left: 28px !important;
	padding-right: 28px !important;
}

/* Astra archive thường bọc bài trong .ast-row */
body.dnf-guide-archive .site-main > .ast-row,
body.dnf-guide-archive .site-main .ast-row {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 28px !important;
	align-items: stretch !important;
}

/* Nếu theme render article trực tiếp trong main */
body.dnf-guide-archive .site-main > article.post {
	display: block !important;
	width: 100% !important;
}

/* Card bài viết */
body.dnf-guide-archive article.post,
body.dnf-guide-archive .ast-row article.post {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
	border: 1px solid #eeeeee !important;
	box-shadow: none !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

body.dnf-guide-archive article.post .ast-post-format-,
body.dnf-guide-archive article.post .entry-header,
body.dnf-guide-archive article.post .entry-content {
	background: #ffffff !important;
}

/* Ảnh đại diện bài viết */
body.dnf-guide-archive article.post .post-thumb,
body.dnf-guide-archive article.post .post-thumb-img-content,
body.dnf-guide-archive article.post .ast-blog-featured-section {
	width: 100% !important;
	margin: 0 !important;
	background: #ffffff !important;
}

body.dnf-guide-archive article.post img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9 !important;
	object-fit: cover !important;
	background: #ffffff !important;
}

/* Nội dung card */
body.dnf-guide-archive article.post .entry-header,
body.dnf-guide-archive article.post .entry-content,
body.dnf-guide-archive article.post .entry-summary {
	padding-left: 14px !important;
	padding-right: 14px !important;
}

body.dnf-guide-archive article.post .entry-header {
	padding-top: 14px !important;
}

body.dnf-guide-archive article.post .entry-title {
	margin: 0 0 8px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	color: #111111 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

body.dnf-guide-archive article.post .entry-title a {
	color: #111111 !important;
	text-decoration: none !important;
}

body.dnf-guide-archive article.post .entry-title a:hover {
	color: #61aa85 !important;
}

body.dnf-guide-archive article.post .entry-meta,
body.dnf-guide-archive article.post .posted-on,
body.dnf-guide-archive article.post .byline {
	font-size: 12px !important;
	color: #777777 !important;
	line-height: 1.4 !important;
}

body.dnf-guide-archive article.post .entry-summary,
body.dnf-guide-archive article.post .entry-content {
	font-size: 14px !important;
	line-height: 1.55 !important;
	color: #444444 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 3 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	padding-bottom: 16px !important;
}

/* Archive title / mô tả / pagination full hàng */
body.dnf-guide-archive .ast-archive-description,
body.dnf-guide-archive .page-header,
body.dnf-guide-archive .navigation,
body.dnf-guide-archive .pagination,
body.dnf-guide-archive nav.navigation {
	grid-column: 1 / -1 !important;
	width: 100% !important;
}

/* Responsive */
@media (max-width: 1280px) {
	body.dnf-guide-archive .site-main > .ast-row,
	body.dnf-guide-archive .site-main .ast-row {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1024px) {
	body.dnf-guide-archive .site-main > .ast-row,
	body.dnf-guide-archive .site-main .ast-row {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	body.dnf-guide-archive .ast-container {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.dnf-guide-archive .site-main > .ast-row,
	body.dnf-guide-archive .site-main .ast-row {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 18px !important;
	}

	body.dnf-guide-archive article.post .entry-title {
		font-size: 14px !important;
	}
}

@media (max-width: 480px) {
	body.dnf-guide-archive .site-main > .ast-row,
	body.dnf-guide-archive .site-main .ast-row {
		grid-template-columns: 1fr !important;
	}
}


/* =========================================================
   DNF FINAL: compact brand mega menu without logo
   Chỉ áp dụng cho Mega menu Thương hiệu, không ảnh hưởng Strip Brand
   ========================================================= */

.dnf-brand-mega img,
.dnf-brand-mega .dnf-brand-logo,
.dnf-brand-mega .dnf-brand-card-logo,
.dnf-brand-mega .dnf-brand-thumb,
.dnf-brand-mega .dnf-brand-image,
.dnf-brand-mega .dnf-brand-title img,
.dnf-brand-mega .dnf-brand-featured img {
	display: none !important;
}

.dnf-brand-mega {
	padding-top: 18px !important;
	padding-bottom: 18px !important;
}

.dnf-brand-mega .dnf-mega-head {
	margin-bottom: 12px !important;
	padding-bottom: 10px !important;
}

.dnf-brand-mega .dnf-brand-featured,
.dnf-brand-mega .dnf-brand-featured-grid,
.dnf-brand-mega .dnf-brand-mega-grid,
.dnf-brand-mega .dnf-mega-grid,
.dnf-brand-mega .dnf-mega-content {
	align-items: start !important;
}

.dnf-brand-mega .dnf-brand-card,
.dnf-brand-mega .dnf-brand-col,
.dnf-brand-mega .dnf-brand-featured-item,
.dnf-brand-mega .dnf-mega-col,
.dnf-brand-mega .dnf-mega-column {
	min-height: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 8px !important;
}

.dnf-brand-mega .dnf-brand-title,
.dnf-brand-mega .dnf-brand-card-title,
.dnf-brand-mega h3,
.dnf-brand-mega h4 {
	margin: 0 0 8px !important;
	padding: 0 0 8px !important;
	border-bottom: 1px solid #eeeeee !important;
	color: #111111 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
}

.dnf-brand-mega ul,
.dnf-brand-mega ol {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.dnf-brand-mega li {
	margin: 0 !important;
	padding: 0 !important;
}

.dnf-brand-mega a {
	line-height: 1.35 !important;
}

.dnf-brand-mega .dnf-brand-other,
.dnf-brand-mega .dnf-brand-other-list,
.dnf-brand-mega .dnf-other-brands {
	margin-top: 10px !important;
	padding-top: 12px !important;
}

/* Màn hình thấp: giảm thêm khoảng cách để menu không bị cắt */
@media (max-height: 780px) and (min-width: 769px) {
	.dnf-brand-mega {
		padding-top: 14px !important;
		padding-bottom: 14px !important;
	}

	.dnf-brand-mega .dnf-brand-title,
	.dnf-brand-mega .dnf-brand-card-title,
	.dnf-brand-mega h3,
	.dnf-brand-mega h4 {
		margin-bottom: 6px !important;
		padding-bottom: 6px !important;
		font-size: 14px !important;
	}

	.dnf-brand-mega a {
		font-size: 13px !important;
		line-height: 1.3 !important;
	}
}


/* =========================================================
   DNF FINAL: content typography standard
   Chuẩn hóa khoảng cách nội dung sản phẩm / bài viết / trang
   ========================================================= */

.entry-content,
.woocommerce-Tabs-panel,
.woocommerce div.product .woocommerce-tabs .panel,
.single-product .woocommerce-Tabs-panel,
.single-product .entry-content,
body.single-post .entry-content,
body.page .entry-content {
	font-size: 16px !important;
	line-height: 1.68 !important;
	color: #222222 !important;
}

/* Paragraph: khoảng cách vừa phải, không hở bất thường */
.entry-content p,
.woocommerce-Tabs-panel p,
.woocommerce div.product .woocommerce-tabs .panel p,
.single-product .woocommerce-Tabs-panel p,
.single-product .entry-content p,
body.single-post .entry-content p,
body.page .entry-content p {
	margin-top: 0 !important;
	margin-bottom: 12px !important;
	line-height: 1.68 !important;
}

/* Xóa paragraph rỗng ngoài frontend nếu còn sót */
.entry-content p:empty,
.woocommerce-Tabs-panel p:empty,
.woocommerce div.product .woocommerce-tabs .panel p:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
}

/* Heading trong nội dung */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.woocommerce-Tabs-panel h1,
.woocommerce-Tabs-panel h2,
.woocommerce-Tabs-panel h3,
.woocommerce-Tabs-panel h4,
.woocommerce div.product .woocommerce-tabs .panel h1,
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3,
.woocommerce div.product .woocommerce-tabs .panel h4 {
	color: #111111 !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	margin-top: 24px !important;
	margin-bottom: 12px !important;
}

/* Heading đầu tiên không tạo khoảng trắng trên quá lớn */
.entry-content > h1:first-child,
.entry-content > h2:first-child,
.entry-content > h3:first-child,
.woocommerce-Tabs-panel > h1:first-child,
.woocommerce-Tabs-panel > h2:first-child,
.woocommerce-Tabs-panel > h3:first-child,
.woocommerce div.product .woocommerce-tabs .panel > h1:first-child,
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child,
.woocommerce div.product .woocommerce-tabs .panel > h3:first-child {
	margin-top: 0 !important;
}

/* Danh sách thông số */
.entry-content ul,
.entry-content ol,
.woocommerce-Tabs-panel ul,
.woocommerce-Tabs-panel ol,
.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol {
	margin-top: 8px !important;
	margin-bottom: 16px !important;
	padding-left: 22px !important;
	line-height: 1.65 !important;
}

.entry-content li,
.woocommerce-Tabs-panel li,
.woocommerce div.product .woocommerce-tabs .panel li {
	margin-bottom: 6px !important;
	line-height: 1.65 !important;
}

/* Dòng thông số dạng strong: value */
.entry-content strong,
.woocommerce-Tabs-panel strong,
.woocommerce div.product .woocommerce-tabs .panel strong {
	font-weight: 800 !important;
	color: #111111 !important;
}

/* Link trong nội dung */
.entry-content a,
.woocommerce-Tabs-panel a,
.woocommerce div.product .woocommerce-tabs .panel a {
	color: #61aa85 !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
}

/* Không để br tạo khoảng trắng quá lố */
.entry-content br,
.woocommerce-Tabs-panel br,
.woocommerce div.product .woocommerce-tabs .panel br {
	line-height: 1.2 !important;
}

/* Bảng thông số nếu có */
.entry-content table,
.woocommerce-Tabs-panel table,
.woocommerce div.product .woocommerce-tabs .panel table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 14px 0 18px !important;
	background: #ffffff !important;
}

.entry-content table th,
.entry-content table td,
.woocommerce-Tabs-panel table th,
.woocommerce-Tabs-panel table td {
	padding: 10px 12px !important;
	border: 1px solid #eeeeee !important;
	line-height: 1.45 !important;
	vertical-align: top !important;
}

/* Mobile */
@media (max-width: 768px) {
	.entry-content,
	.woocommerce-Tabs-panel,
	.woocommerce div.product .woocommerce-tabs .panel,
	.single-product .woocommerce-Tabs-panel {
		font-size: 15px !important;
		line-height: 1.65 !important;
	}

	.entry-content p,
	.woocommerce-Tabs-panel p,
	.woocommerce div.product .woocommerce-tabs .panel p {
		margin-bottom: 10px !important;
		line-height: 1.65 !important;
	}

	.entry-content h2,
	.woocommerce-Tabs-panel h2,
	.woocommerce div.product .woocommerce-tabs .panel h2 {
		font-size: 22px !important;
		margin-top: 22px !important;
		margin-bottom: 10px !important;
	}

	.entry-content h3,
	.woocommerce-Tabs-panel h3,
	.woocommerce div.product .woocommerce-tabs .panel h3 {
		font-size: 18px !important;
		margin-top: 18px !important;
		margin-bottom: 8px !important;
	}
}


/* =========================================================
   DNF CONTENT BOX
   Tạo khung viền mỏng bao quanh phần nội dung văn bản
   ========================================================= */

/* Bài viết / trang nội dung */
body.single-post .entry-content,
body.page .entry-content,
body.archive .entry-content {
    border: 1px solid #e6e6e6;
    background: #ffffff !important;
    padding: 28px 32px;
    margin-bottom: 24px;
    box-sizing: border-box;
}

/* Tab mô tả / thông tin sản phẩm WooCommerce */
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .panel.entry-content {
    border: 1px solid #e6e6e6;
    background: #ffffff !important;
    padding: 28px 32px;
    margin-top: 16px;
    margin-bottom: 24px;
    box-sizing: border-box;
}

/* Nếu khung chứa ngoài đã có viền, giảm đường kẻ thừa */
.single-product .woocommerce-tabs,
body.single-post article,
body.page article {
    background: #ffffff !important;
}

/* Đường kẻ hr bên trong nội dung dịu lại */
.entry-content hr,
.single-product .woocommerce-tabs .panel hr,
.woocommerce-Tabs-panel hr {
    border: 0;
    border-top: 1px solid #e9e9e9;
    margin: 20px 0;
}

/* Khoảng cách heading trong box */
.entry-content h2,
.entry-content h3,
.entry-content h4,
.single-product .woocommerce-tabs .panel h2,
.single-product .woocommerce-tabs .panel h3,
.single-product .woocommerce-tabs .panel h4,
.woocommerce-Tabs-panel h2,
.woocommerce-Tabs-panel h3,
.woocommerce-Tabs-panel h4 {
    margin-top: 0;
}

/* Mobile */
@media (max-width: 768px) {
    body.single-post .entry-content,
    body.page .entry-content,
    body.archive .entry-content,
    .single-product .woocommerce-tabs .panel,
    .single-product .woocommerce-Tabs-panel,
    .single-product .woocommerce-tabs .panel.entry-content {
        padding: 18px 16px;
        margin-bottom: 18px;
    }
}

/* =========================================================
   CONTENT INNER SPACING
   Chữ không bám sát viền
   ========================================================= */

body.single-post .entry-content,
body.page .entry-content,
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .panel.entry-content {
    padding: 28px 32px !important;
    line-height: 1.75;
    box-sizing: border-box;
}

body.single-post .entry-content p,
body.page .entry-content p,
.single-product .woocommerce-tabs .panel p,
.single-product .woocommerce-Tabs-panel p {
    margin: 0 0 16px;
}

body.single-post .entry-content ul,
body.single-post .entry-content ol,
body.page .entry-content ul,
body.page .entry-content ol,
.single-product .woocommerce-tabs .panel ul,
.single-product .woocommerce-tabs .panel ol,
.single-product .woocommerce-Tabs-panel ul,
.single-product .woocommerce-Tabs-panel ol {
    padding-left: 24px;
    margin: 0 0 16px;
}

body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4,
body.page .entry-content h2,
body.page .entry-content h3,
body.page .entry-content h4,
.single-product .woocommerce-tabs .panel h2,
.single-product .woocommerce-tabs .panel h3,
.single-product .woocommerce-tabs .panel h4,
.single-product .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h3,
.single-product .woocommerce-Tabs-panel h4 {
    margin-top: 0;
    margin-bottom: 14px;
    line-height: 1.4;
}

@media (max-width: 768px) {
    body.single-post .entry-content,
    body.page .entry-content,
    .single-product .woocommerce-tabs .panel,
    .single-product .woocommerce-Tabs-panel,
    .single-product .woocommerce-tabs .panel.entry-content {
        padding: 18px 18px !important;
        line-height: 1.7;
    }

    body.single-post .entry-content ul,
    body.single-post .entry-content ol,
    body.page .entry-content ul,
    body.page .entry-content ol,
    .single-product .woocommerce-tabs .panel ul,
    .single-product .woocommerce-tabs .panel ol,
    .single-product .woocommerce-Tabs-panel ul,
    .single-product .woocommerce-Tabs-panel ol {
        padding-left: 20px;
    }
}


/* =========================================================
   DNF PREMIUM TYPOGRAPHY
   Font cao cấp, gọn, dễ đọc, không phổ thông quá
   ========================================================= */

html,
body,
button,
input,
select,
textarea {
	font-family: "Be Vietnam Pro", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	-webkit-font-smoothing: antialiased !important;
	text-rendering: geometricPrecision !important;
}

body {
	font-size: 15.5px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	letter-spacing: -0.01em !important;
	color: #111111 !important;
}

/* Nội dung dài: giảm cảm giác thô, đọc sang hơn */
.entry-content,
.woocommerce-Tabs-panel,
.woocommerce div.product .woocommerce-tabs .panel,
.single-product .woocommerce-Tabs-panel,
.single-product .entry-content,
body.single-post .entry-content,
body.page .entry-content {
	font-size: 15.5px !important;
	font-weight: 400 !important;
	line-height: 1.72 !important;
	letter-spacing: -0.012em !important;
	color: #171717 !important;
}

/* Paragraph */
.entry-content p,
.woocommerce-Tabs-panel p,
.woocommerce div.product .woocommerce-tabs .panel p,
.single-product .woocommerce-Tabs-panel p,
.single-product .entry-content p,
body.single-post .entry-content p,
body.page .entry-content p {
	font-size: 15.5px !important;
	font-weight: 400 !important;
	line-height: 1.72 !important;
	letter-spacing: -0.012em !important;
	margin-bottom: 13px !important;
}

/* Heading: chắc, sang, không quá phô */
h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.product_title,
.woocommerce-products-header__title {
	font-family: "Be Vietnam Pro", system-ui, sans-serif !important;
	color: #080808 !important;
	font-weight: 800 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.22 !important;
}

/* Heading trong nội dung */
.entry-content h2,
.woocommerce-Tabs-panel h2,
.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-size: 24px !important;
	font-weight: 800 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.25 !important;
	margin-top: 28px !important;
	margin-bottom: 14px !important;
}

.entry-content h3,
.woocommerce-Tabs-panel h3,
.woocommerce div.product .woocommerce-tabs .panel h3 {
	font-size: 19px !important;
	font-weight: 800 !important;
	letter-spacing: -0.028em !important;
	line-height: 1.32 !important;
	margin-top: 24px !important;
	margin-bottom: 11px !important;
}

.entry-content h4,
.woocommerce-Tabs-panel h4,
.woocommerce div.product .woocommerce-tabs .panel h4 {
	font-size: 16px !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.35 !important;
	margin-top: 20px !important;
	margin-bottom: 9px !important;
}

/* Strong trong thông số kỹ thuật: rõ nhưng không thô */
.entry-content strong,
.woocommerce-Tabs-panel strong,
.woocommerce div.product .woocommerce-tabs .panel strong {
	font-weight: 750 !important;
	color: #080808 !important;
	letter-spacing: -0.015em !important;
}

/* Link trong nội dung */
.entry-content a,
.woocommerce-Tabs-panel a,
.woocommerce div.product .woocommerce-tabs .panel a {
	color: #4f9d79 !important;
	font-weight: 700 !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px !important;
}

/* Menu / header: gọn, cao cấp hơn */
.dnf-main-menu > li > a,
.dnf-header a,
.dnf-brand-mega a,
.dnf-product-mega a {
	font-family: "Be Vietnam Pro", system-ui, sans-serif !important;
	letter-spacing: -0.015em !important;
}

/* Card sản phẩm */
.dnf-product-card,
.woocommerce ul.products li.product {
	font-family: "Be Vietnam Pro", system-ui, sans-serif !important;
}

.dnf-product-card .dnf-product-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-weight: 700 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.38 !important;
	color: #111111 !important;
}

.dnf-product-card .dnf-product-price,
.dnf-product-card .price,
.woocommerce ul.products li.product .price {
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
}

/* Tab sản phẩm */
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.single-product .woocommerce-tabs ul.tabs li a {
	font-family: "Be Vietnam Pro", system-ui, sans-serif !important;
	font-weight: 750 !important;
	letter-spacing: -0.015em !important;
}

/* Bảng thông số */
.entry-content table,
.woocommerce-Tabs-panel table,
.woocommerce div.product .woocommerce-tabs .panel table {
	font-size: 15px !important;
	letter-spacing: -0.01em !important;
}

.entry-content table th,
.woocommerce-Tabs-panel table th {
	font-weight: 750 !important;
}

/* Mobile */
@media (max-width: 768px) {
	body {
		font-size: 15px !important;
	}

	.entry-content,
	.woocommerce-Tabs-panel,
	.woocommerce div.product .woocommerce-tabs .panel,
	.single-product .woocommerce-Tabs-panel {
		font-size: 15px !important;
		line-height: 1.68 !important;
	}

	.entry-content p,
	.woocommerce-Tabs-panel p,
	.woocommerce div.product .woocommerce-tabs .panel p {
		font-size: 15px !important;
		line-height: 1.68 !important;
	}

	.entry-content h2,
	.woocommerce-Tabs-panel h2,
	.woocommerce div.product .woocommerce-tabs .panel h2 {
		font-size: 21px !important;
	}

	.entry-content h3,
	.woocommerce-Tabs-panel h3,
	.woocommerce div.product .woocommerce-tabs .panel h3 {
		font-size: 18px !important;
	}

	.dnf-product-card .dnf-product-title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		letter-spacing: -0.028em !important;
	}
}


/* =========================================================
   DNF GUIDE CUSTOM ARCHIVE
   /tin-tuc-kinh-nghiem/ - 5 bài / hàng, 20 bài / trang
   ========================================================= */

body.dnf-guide-custom-archive,
body.dnf-guide-custom-archive #page,
body.dnf-guide-custom-archive .site,
body.dnf-guide-custom-archive .site-content {
	background: #ffffff !important;
}

.dnf-guide-page {
	background: #ffffff !important;
	padding: 42px 0 56px !important;
}

.dnf-guide-container {
	max-width: 1520px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 28px !important;
	box-sizing: border-box !important;
}

.dnf-guide-header {
	margin-bottom: 28px !important;
	padding-bottom: 18px !important;
	border-bottom: 1px solid #eeeeee !important;
}

.dnf-guide-header h1 {
	margin: 0 0 8px !important;
	color: #111111 !important;
	font-size: 34px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.035em !important;
}

.dnf-guide-header p {
	margin: 0 !important;
	color: #666666 !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
}

.dnf-guide-grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 28px !important;
	align-items: stretch !important;
}

.dnf-guide-card {
	background: #ffffff !important;
	border: 1px solid #eeeeee !important;
	box-shadow: none !important;
	overflow: hidden !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	transition: border-color .18s ease, transform .18s ease !important;
}

.dnf-guide-card:hover {
	border-color: #61aa85 !important;
	transform: translateY(-2px) !important;
}

.dnf-guide-card-link {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	padding: 0 !important;
	color: #111111 !important;
	text-decoration: none !important;
}

.dnf-guide-thumb {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 16 / 9 !important;
	background: #ffffff !important;
	overflow: hidden !important;
}

.dnf-guide-thumb img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	background: #ffffff !important;
}

.dnf-guide-meta {
	display: block !important;
	padding: 14px 14px 0 !important;
	color: #61aa85 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.dnf-guide-title {
	margin: 8px 14px 10px !important;
	color: #111111 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.38 !important;
	letter-spacing: -0.025em !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 3 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

.dnf-guide-excerpt {
	display: -webkit-box !important;
	-webkit-line-clamp: 4 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	margin: 0 14px 16px !important;
	color: #444444 !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
}

.dnf-guide-card:hover .dnf-guide-title {
	color: #61aa85 !important;
}

.dnf-guide-pagination {
	margin-top: 34px !important;
	display: flex !important;
	justify-content: center !important;
}

.dnf-guide-pagination ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.dnf-guide-pagination a,
.dnf-guide-pagination span {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 38px !important;
	height: 38px !important;
	padding: 0 12px !important;
	border: 1px solid #dddddd !important;
	color: #111111 !important;
	background: #ffffff !important;
	text-decoration: none !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

.dnf-guide-pagination .current {
	border-color: #61aa85 !important;
	background: #61aa85 !important;
	color: #ffffff !important;
}

.dnf-guide-pagination a:hover {
	border-color: #61aa85 !important;
	color: #61aa85 !important;
}

@media (max-width: 1280px) {
	.dnf-guide-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1024px) {
	.dnf-guide-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	.dnf-guide-page {
		padding: 28px 0 42px !important;
	}

	.dnf-guide-container {
		padding: 0 16px !important;
	}

	.dnf-guide-header h1 {
		font-size: 28px !important;
	}

	.dnf-guide-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 18px !important;
	}

	.dnf-guide-title {
		font-size: 14px !important;
		-webkit-line-clamp: 3 !important;
	}

	.dnf-guide-excerpt {
		font-size: 13px !important;
		-webkit-line-clamp: 3 !important;
	}
}

@media (max-width: 480px) {
	.dnf-guide-grid {
		grid-template-columns: 1fr !important;
	}
}


/* =========================================================
   DNF FINAL: balanced footer layout
   Cân lại footer, map và facebook card chỉn chu hơn
   ========================================================= */

.dnf-footer {
	background: #ffffff !important;
	border-top: 1px solid #eeeeee !important;
}

.dnf-footer-container {
	max-width: 1520px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 46px 40px 42px !important;
	box-sizing: border-box !important;
	background: #ffffff !important;
}

.dnf-footer-grid {
	display: grid !important;
	grid-template-columns:
		minmax(260px, 1.15fr)
		minmax(300px, 1.25fr)
		minmax(270px, 1fr)
		minmax(320px, 1.25fr) !important;
	gap: 36px !important;
	align-items: stretch !important;
	background: #ffffff !important;
}

.dnf-footer-col {
	display: flex !important;
	flex-direction: column !important;
	min-width: 0 !important;
	background: #ffffff !important;
}

.dnf-footer-col h3 {
	margin: 0 0 16px !important;
	color: #111111 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.015em !important;
	text-transform: uppercase !important;
}

.dnf-footer-line {
	width: 100% !important;
	height: 1px !important;
	margin: 0 0 20px !important;
	background: #e7e7e7 !important;
}

.dnf-footer-col p {
	margin: 0 0 13px !important;
	color: #222222 !important;
	font-size: 14.5px !important;
	line-height: 1.65 !important;
}

.dnf-footer-contact-line {
	font-weight: 800 !important;
	color: #111111 !important;
}

.dnf-footer-contact-line strong {
	font-weight: 800 !important;
	color: #111111 !important;
}

.dnf-footer-summary {
	margin-top: 4px !important;
	color: #222222 !important;
	font-weight: 500 !important;
	line-height: 1.7 !important;
}

.dnf-footer-license ul {
	margin-top: 14px !important;
}

.dnf-footer-license li {
	margin-bottom: 10px !important;
}

.dnf-footer-license a {
	color: #61aa85 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.dnf-footer-license a:hover {
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

/* Map và Facebook card cùng chiều cao, cùng nhịp khối */
.dnf-map-card,
.dnf-facebook-card {
	flex: 1 1 auto !important;
	min-height: 220px !important;
	height: 220px !important;
	width: 100% !important;
	padding: 22px 24px !important;
	border: 1px solid #e5e5e5 !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
}

.dnf-map-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

.dnf-facebook-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
}

.dnf-map-icon,
.dnf-facebook-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	height: 48px !important;
	margin-bottom: 14px !important;
	background: #61aa85 !important;
	color: #ffffff !important;
	flex: 0 0 auto !important;
}

.dnf-map-icon svg,
.dnf-facebook-icon svg {
	width: 25px !important;
	height: 25px !important;
}

.dnf-map-card strong,
.dnf-facebook-card strong {
	display: block !important;
	margin: 0 0 8px !important;
	color: #111111 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
}

.dnf-map-card span,
.dnf-facebook-card p {
	color: #333333 !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
}

.dnf-facebook-card p {
	margin: 8px 0 16px !important;
}

.dnf-footer-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 42px !important;
	padding: 0 22px !important;
	border-radius: 0 !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
}

.dnf-map-card .dnf-footer-btn {
	margin-top: 16px !important;
	min-width: 136px !important;
}

.dnf-facebook-card .dnf-footer-btn {
	margin-top: auto !important;
	width: 100% !important;
}

.dnf-footer-btn-dark {
	background: #050505 !important;
	border: 1px solid #050505 !important;
	color: #ffffff !important;
}

.dnf-footer-btn-light {
	background: #ffffff !important;
	border: 1px solid #dddddd !important;
	color: #111111 !important;
}

.dnf-footer-btn-dark:hover,
.dnf-footer-btn-light:hover {
	background: #61aa85 !important;
	border-color: #61aa85 !important;
	color: #ffffff !important;
}

.dnf-footer-bottom {
	background: #ffffff !important;
	border-top: 1px solid #eeeeee !important;
}

@media (max-width: 1280px) {
	.dnf-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 32px !important;
	}

	.dnf-map-card,
	.dnf-facebook-card {
		height: 220px !important;
	}
}

@media (max-width: 768px) {
	.dnf-footer-container {
		padding: 34px 18px 34px !important;
	}

	.dnf-footer-grid {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}

	.dnf-map-card,
	.dnf-facebook-card {
		height: auto !important;
		min-height: 200px !important;
	}

	.dnf-footer-col h3 {
		font-size: 14px !important;
	}

	.dnf-footer-bottom {
		padding-bottom: 76px !important;
	}
}

/* =========================================================
   DNF - remove leftover gray placeholder in brand megamenu
   ========================================================= */
.dnf-brand-mega .placeholder,
.dnf-brand-mega .empty,
.dnf-brand-mega .dnf-brand-placeholder,
.dnf-brand-mega .dnf-brand-empty,
.dnf-brand-mega .dnf-brand-logo-placeholder,
.dnf-brand-mega .dnf-brand-thumb-placeholder,
.dnf-brand-mega .dnf-brand-media-placeholder,
.dnf-brand-mega .dnf-brand-desc:empty,
.dnf-brand-mega .dnf-brand-note:empty,
.dnf-brand-mega div:empty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Nếu card/cột cũ đang bị ép chiều cao thì bỏ ép */
.dnf-brand-mega .dnf-brand-col,
.dnf-brand-mega .dnf-brand-card,
.dnf-brand-mega .dnf-brand-featured-item,
.dnf-brand-mega .dnf-brand-featured-col {
    min-height: auto !important;
    height: auto !important;
    align-items: flex-start !important;
}

/* Thu gọn spacing cuối cột */
.dnf-brand-mega .dnf-brand-links,
.dnf-brand-mega ul {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* =========================================================
   DNF FINAL: brand mega no logo / no gray leftover
   ========================================================= */

.dnf-brand-mega .dnf-brand-title-logo,
.dnf-brand-mega .dnf-brand-title-logo *,
.dnf-brand-mega .dnf-brand-card img,
.dnf-brand-mega .dnf-brand-card picture,
.dnf-brand-mega .dnf-brand-card .logo,
.dnf-brand-mega .dnf-brand-card .image,
.dnf-brand-mega .dnf-brand-card .thumb {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.dnf-brand-mega .dnf-brand-card {
	min-height: 0 !important;
	height: auto !important;
	padding: 0 0 8px !important;
	margin: 0 !important;
	background: #ffffff !important;
	border: 0 !important;
	box-shadow: none !important;
}

.dnf-brand-mega .dnf-brand-title {
	display: block !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 0 8px !important;
	padding: 0 0 8px !important;
	background: #ffffff !important;
	border-bottom: 1px solid #eeeeee !important;
	color: #111111 !important;
}

.dnf-brand-mega .dnf-brand-title span {
	display: inline !important;
	background: transparent !important;
}

.dnf-brand-mega .dnf-brand-featured-grid {
	align-items: start !important;
	background: #ffffff !important;
}

.dnf-brand-mega .dnf-brand-featured-grid::before,
.dnf-brand-mega .dnf-brand-featured-grid::after,
.dnf-brand-mega .dnf-brand-card::before,
.dnf-brand-mega .dnf-brand-card::after,
.dnf-brand-mega .dnf-brand-title::before,
.dnf-brand-mega .dnf-brand-title::after {
	display: none !important;
	content: none !important;
	background: transparent !important;
}


/* =========================================================
   DNF FINAL: hide desktop dropdown arrows
   Bỏ mũi tên nhỏ cạnh Sản phẩm / Thương hiệu trên PC
   Không ảnh hưởng nút mở rộng menu mobile
   ========================================================= */

@media (min-width: 769px) {
	.dnf-main-menu > li.dnf-menu-has-mega > a::after,
	.dnf-main-menu > li.dnf-menu-has-brand-mega > a::after,
	.dnf-main-menu > li.menu-item-has-children > a::after,
	.dnf-header .dnf-main-menu > li.dnf-menu-has-mega > a::after,
	.dnf-header .dnf-main-menu > li.dnf-menu-has-brand-mega > a::after {
		display: none !important;
		content: none !important;
		width: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.dnf-main-menu > li.dnf-menu-has-mega > a .sub-arrow,
	.dnf-main-menu > li.dnf-menu-has-brand-mega > a .sub-arrow,
	.dnf-main-menu > li.dnf-menu-has-mega > a .menu-arrow,
	.dnf-main-menu > li.dnf-menu-has-brand-mega > a .menu-arrow,
	.dnf-main-menu > li.dnf-menu-has-mega > a .dnf-menu-arrow,
	.dnf-main-menu > li.dnf-menu-has-brand-mega > a .dnf-menu-arrow,
	.dnf-main-menu > li.dnf-menu-has-mega > a .ast-icon,
	.dnf-main-menu > li.dnf-menu-has-brand-mega > a .ast-icon {
		display: none !important;
	}

	.dnf-main-menu > li.dnf-menu-has-mega > a,
	.dnf-main-menu > li.dnf-menu-has-brand-mega > a {
		padding-right: 0 !important;
		gap: 0 !important;
	}
}


/* =========================================================
   DNF YouTube Shorts block - Homepage
   ========================================================= */

.dnf-youtube-shorts-section {
	background: #ffffff !important;
	padding: 44px 0 46px !important;
}

.dnf-youtube-shorts-inner {
	max-width: 1520px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 40px !important;
	box-sizing: border-box !important;
}

.dnf-youtube-shorts-head {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 24px !important;
	margin-bottom: 22px !important;
}

.dnf-youtube-shorts-head h2 {
	margin: 0 0 7px !important;
	color: #111111 !important;
	font-size: 26px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.02em !important;
}

.dnf-youtube-shorts-head p {
	margin: 0 !important;
	color: #555555 !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
}

.dnf-youtube-shorts-more {
	flex: 0 0 auto !important;
	color: #61aa85 !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.dnf-youtube-shorts-more:hover {
	color: #111111 !important;
}

.dnf-youtube-shorts-grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 18px !important;
}

.dnf-youtube-short-card {
	display: block !important;
	color: #111111 !important;
	text-decoration: none !important;
	min-width: 0 !important;
}

.dnf-youtube-short-thumb {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	aspect-ratio: 9 / 16 !important;
	overflow: hidden !important;
	background: #f2f2f2 !important;
	border: 1px solid #eeeeee !important;
	box-sizing: border-box !important;
}

.dnf-youtube-short-thumb img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	border: 0 !important;
	border-radius: 0 !important;
	transform: scale(1.001) !important;
	transition: transform .25s ease !important;
}

.dnf-youtube-short-card:hover .dnf-youtube-short-thumb img {
	transform: scale(1.045) !important;
}

.dnf-youtube-short-play {
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	width: 46px !important;
	height: 46px !important;
	transform: translate(-50%, -50%) !important;
	background: rgba(0, 0, 0, .66) !important;
	border: 1px solid rgba(255, 255, 255, .35) !important;
	box-sizing: border-box !important;
}

.dnf-youtube-short-play::before {
	content: "" !important;
	position: absolute !important;
	left: 18px !important;
	top: 13px !important;
	width: 0 !important;
	height: 0 !important;
	border-top: 10px solid transparent !important;
	border-bottom: 10px solid transparent !important;
	border-left: 15px solid #ffffff !important;
}

.dnf-youtube-short-title {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	margin-top: 11px !important;
	color: #111111 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	min-height: 40px !important;
}

.dnf-youtube-short-card:hover .dnf-youtube-short-title {
	color: #61aa85 !important;
}

@media (max-width: 1024px) {
	.dnf-youtube-shorts-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	.dnf-youtube-shorts-section {
		padding: 34px 0 36px !important;
	}

	.dnf-youtube-shorts-inner {
		padding: 0 16px !important;
	}

	.dnf-youtube-shorts-head {
		align-items: flex-start !important;
		flex-direction: column !important;
		gap: 10px !important;
		margin-bottom: 18px !important;
	}

	.dnf-youtube-shorts-head h2 {
		font-size: 22px !important;
	}

	.dnf-youtube-shorts-head p {
		font-size: 14px !important;
	}

	.dnf-youtube-shorts-grid {
		display: flex !important;
		gap: 14px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		padding-bottom: 8px !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.dnf-youtube-shorts-grid::-webkit-scrollbar {
		display: none !important;
	}

	.dnf-youtube-short-card {
		flex: 0 0 168px !important;
		scroll-snap-align: start !important;
	}

	.dnf-youtube-short-title {
		font-size: 13.5px !important;
	}
}


/* =========================================================
   DNF FINAL: YouTube Shorts correct homepage width/position
   ========================================================= */

body.home .dnf-youtube-shorts-section,
body.front-page .dnf-youtube-shorts-section {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	clear: both !important;
	display: block !important;
	background: #ffffff !important;
	padding: 52px 0 56px !important;
	box-sizing: border-box !important;
}

body.home .dnf-youtube-shorts-inner,
body.front-page .dnf-youtube-shorts-inner {
	max-width: 1520px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
	box-sizing: border-box !important;
}

body.home .dnf-youtube-shorts-head,
body.front-page .dnf-youtube-shorts-head {
	width: 100% !important;
	max-width: none !important;
}

body.home .dnf-youtube-shorts-grid,
body.front-page .dnf-youtube-shorts-grid {
	width: 100% !important;
	max-width: none !important;
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 22px !important;
}

body.home .dnf-youtube-short-card,
body.front-page .dnf-youtube-short-card {
	width: 100% !important;
	max-width: none !important;
}

body.home .dnf-youtube-short-thumb,
body.front-page .dnf-youtube-short-thumb {
	width: 100% !important;
	aspect-ratio: 9 / 16 !important;
}

@media (max-width: 768px) {
	body.home .dnf-youtube-shorts-section,
	body.front-page .dnf-youtube-shorts-section {
		padding: 36px 0 40px !important;
	}

	body.home .dnf-youtube-shorts-inner,
	body.front-page .dnf-youtube-shorts-inner {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.home .dnf-youtube-shorts-grid,
	body.front-page .dnf-youtube-shorts-grid {
		display: flex !important;
		grid-template-columns: none !important;
		gap: 14px !important;
		overflow-x: auto !important;
		padding-bottom: 8px !important;
		scroll-snap-type: x mandatory !important;
	}

	body.home .dnf-youtube-short-card,
	body.front-page .dnf-youtube-short-card {
		flex: 0 0 168px !important;
		scroll-snap-align: start !important;
	}
}


/* =========================================================
   DNF FINAL: YouTube Shorts full width, 6 clips, 9:16
   ========================================================= */

.dnf-youtube-shorts-section {
	position: relative !important;
	left: 50% !important;
	right: 50% !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	clear: both !important;
	display: block !important;
	background: #ffffff !important;
	padding: 54px 0 58px !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}

.dnf-youtube-shorts-inner {
	width: 100% !important;
	max-width: 1720px !important;
	margin: 0 auto !important;
	padding-left: 28px !important;
	padding-right: 28px !important;
	box-sizing: border-box !important;
}

.dnf-youtube-shorts-head {
	width: 100% !important;
	max-width: none !important;
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 24px !important;
	margin-bottom: 20px !important;
}

.dnf-youtube-shorts-grid {
	width: 100% !important;
	max-width: none !important;
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 18px !important;
	align-items: start !important;
}

.dnf-youtube-short-card {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	text-decoration: none !important;
}

.dnf-youtube-short-thumb {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	aspect-ratio: 9 / 16 !important;
	overflow: hidden !important;
	background: #ffffff !important;
	border: 1px solid #eeeeee !important;
	box-sizing: border-box !important;
}

.dnf-youtube-short-thumb img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	border: 0 !important;
	border-radius: 0 !important;
}

.dnf-youtube-short-title {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	margin-top: 10px !important;
	color: #111111 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.42 !important;
	min-height: 40px !important;
}

@media (max-width: 1440px) {
	.dnf-youtube-shorts-inner {
		max-width: 1500px !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	.dnf-youtube-shorts-grid {
		gap: 16px !important;
	}
}

@media (max-width: 1180px) {
	.dnf-youtube-shorts-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	.dnf-youtube-shorts-section {
		padding: 36px 0 40px !important;
	}

	.dnf-youtube-shorts-inner {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.dnf-youtube-shorts-head {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 10px !important;
		margin-bottom: 18px !important;
	}

	.dnf-youtube-shorts-grid {
		display: flex !important;
		grid-template-columns: none !important;
		gap: 14px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		padding-bottom: 8px !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.dnf-youtube-shorts-grid::-webkit-scrollbar {
		display: none !important;
	}

	.dnf-youtube-short-card {
		flex: 0 0 166px !important;
		scroll-snap-align: start !important;
	}

	.dnf-youtube-short-title {
		font-size: 13.5px !important;
	}
}


/* =========================================================
   DNF FINAL FIX: YouTube Shorts no right shift, 6 clips
   ========================================================= */

body.home .dnf-youtube-shorts-section,
body.front-page .dnf-youtube-shorts-section,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued {
	position: static !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	transform: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	clear: both !important;
	display: block !important;
	grid-column: 1 / -1 !important;
	flex: 0 0 100% !important;
	align-self: stretch !important;
	justify-self: stretch !important;
	background: #ffffff !important;
	padding: 52px 0 56px !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

body.home .dnf-youtube-shorts-inner,
body.front-page .dnf-youtube-shorts-inner,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-inner {
	width: 100% !important;
	max-width: 1660px !important;
	margin: 0 auto !important;
	padding-left: 32px !important;
	padding-right: 32px !important;
	box-sizing: border-box !important;
}

body.home .dnf-youtube-shorts-head,
body.front-page .dnf-youtube-shorts-head,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-head {
	width: 100% !important;
	max-width: none !important;
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 24px !important;
	margin: 0 0 20px !important;
}

body.home .dnf-youtube-shorts-grid,
body.front-page .dnf-youtube-shorts-grid,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-grid {
	width: 100% !important;
	max-width: none !important;
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 18px !important;
	align-items: start !important;
	overflow: visible !important;
}

body.home .dnf-youtube-short-card,
body.front-page .dnf-youtube-short-card,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-short-card {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: none !important;
	text-decoration: none !important;
}

body.home .dnf-youtube-short-thumb,
body.front-page .dnf-youtube-short-thumb,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-short-thumb {
	width: 100% !important;
	aspect-ratio: 9 / 16 !important;
	overflow: hidden !important;
	background: #ffffff !important;
	border: 1px solid #eeeeee !important;
	box-sizing: border-box !important;
}

body.home .dnf-youtube-short-thumb img,
body.front-page .dnf-youtube-short-thumb img,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-short-thumb img {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	object-fit: cover !important;
	object-position: center !important;
	border: 0 !important;
	border-radius: 0 !important;
}

body.home .dnf-youtube-short-title,
body.front-page .dnf-youtube-short-title,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-short-title {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	margin-top: 10px !important;
	color: #111111 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.42 !important;
	min-height: 40px !important;
}

@media (max-width: 1280px) {
	body.home .dnf-youtube-shorts-grid,
	body.front-page .dnf-youtube-shorts-grid,
	.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	body.home .dnf-youtube-shorts-section,
	body.front-page .dnf-youtube-shorts-section,
	.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued {
		padding: 36px 0 40px !important;
		overflow: hidden !important;
	}

	body.home .dnf-youtube-shorts-inner,
	body.front-page .dnf-youtube-shorts-inner,
	.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-inner {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.home .dnf-youtube-shorts-head,
	body.front-page .dnf-youtube-shorts-head,
	.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-head {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 10px !important;
		margin-bottom: 18px !important;
	}

	body.home .dnf-youtube-shorts-grid,
	body.front-page .dnf-youtube-shorts-grid,
	.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-grid {
		display: flex !important;
		grid-template-columns: none !important;
		gap: 14px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		padding-bottom: 8px !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
	}

	body.home .dnf-youtube-short-card,
	body.front-page .dnf-youtube-short-card,
	.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-short-card {
		flex: 0 0 166px !important;
		scroll-snap-align: start !important;
	}
}


/* =========================================================
   DNF FINAL FIX: YouTube Shorts no right shift, 6 clips
   ========================================================= */

body.home .dnf-youtube-shorts-section,
body.front-page .dnf-youtube-shorts-section,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued {
	position: static !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	transform: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	clear: both !important;
	display: block !important;
	grid-column: 1 / -1 !important;
	flex: 0 0 100% !important;
	align-self: stretch !important;
	justify-self: stretch !important;
	background: #ffffff !important;
	padding: 52px 0 56px !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

body.home .dnf-youtube-shorts-inner,
body.front-page .dnf-youtube-shorts-inner,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-inner {
	width: 100% !important;
	max-width: 1660px !important;
	margin: 0 auto !important;
	padding-left: 32px !important;
	padding-right: 32px !important;
	box-sizing: border-box !important;
}

body.home .dnf-youtube-shorts-head,
body.front-page .dnf-youtube-shorts-head,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-head {
	width: 100% !important;
	max-width: none !important;
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 24px !important;
	margin: 0 0 20px !important;
}

body.home .dnf-youtube-shorts-grid,
body.front-page .dnf-youtube-shorts-grid,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-grid {
	width: 100% !important;
	max-width: none !important;
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 18px !important;
	align-items: start !important;
	overflow: visible !important;
}

body.home .dnf-youtube-short-card,
body.front-page .dnf-youtube-short-card,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-short-card {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: none !important;
	text-decoration: none !important;
}

body.home .dnf-youtube-short-thumb,
body.front-page .dnf-youtube-short-thumb,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-short-thumb {
	width: 100% !important;
	aspect-ratio: 9 / 16 !important;
	overflow: hidden !important;
	background: #ffffff !important;
	border: 1px solid #eeeeee !important;
	box-sizing: border-box !important;
}

body.home .dnf-youtube-short-thumb img,
body.front-page .dnf-youtube-short-thumb img,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-short-thumb img {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	object-fit: cover !important;
	object-position: center !important;
	border: 0 !important;
	border-radius: 0 !important;
}

body.home .dnf-youtube-short-title,
body.front-page .dnf-youtube-short-title,
.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-short-title {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	margin-top: 10px !important;
	color: #111111 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.42 !important;
	min-height: 40px !important;
}

@media (max-width: 1280px) {
	body.home .dnf-youtube-shorts-grid,
	body.front-page .dnf-youtube-shorts-grid,
	.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	body.home .dnf-youtube-shorts-section,
	body.front-page .dnf-youtube-shorts-section,
	.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued {
		padding: 36px 0 40px !important;
		overflow: hidden !important;
	}

	body.home .dnf-youtube-shorts-inner,
	body.front-page .dnf-youtube-shorts-inner,
	.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-inner {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.home .dnf-youtube-shorts-head,
	body.front-page .dnf-youtube-shorts-head,
	.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-head {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 10px !important;
		margin-bottom: 18px !important;
	}

	body.home .dnf-youtube-shorts-grid,
	body.front-page .dnf-youtube-shorts-grid,
	.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-shorts-grid {
		display: flex !important;
		grid-template-columns: none !important;
		gap: 14px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		padding-bottom: 8px !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
	}

	body.home .dnf-youtube-short-card,
	body.front-page .dnf-youtube-short-card,
	.dnf-youtube-shorts-section.dnf-youtube-shorts-rescued .dnf-youtube-short-card {
		flex: 0 0 166px !important;
		scroll-snap-align: start !important;
	}
}


/* =========================================================
   DNF HARD FINAL: YouTube Shorts full viewport width
   ========================================================= */

html,
body {
	overflow-x: hidden !important;
}

body.home .dnf-youtube-shorts-section,
body.front-page .dnf-youtube-shorts-section,
.dnf-youtube-shorts-section {
	position: relative !important;
	left: 50% !important;
	right: auto !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: -50vw !important;
	margin-right: 0 !important;
	margin-top: -18px !important;
	margin-bottom: 18px !important;
	clear: both !important;
	display: block !important;
	grid-column: 1 / -1 !important;
	flex: 0 0 100% !important;
	background: #ffffff !important;
	padding: 24px 0 34px !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	z-index: 1 !important;
}

body.home .dnf-youtube-shorts-inner,
body.front-page .dnf-youtube-shorts-inner,
.dnf-youtube-shorts-inner {
	width: 100% !important;
	max-width: 1740px !important;
	margin: 0 auto !important;
	padding-left: 32px !important;
	padding-right: 32px !important;
	box-sizing: border-box !important;
}

body.home .dnf-youtube-shorts-head,
body.front-page .dnf-youtube-shorts-head,
.dnf-youtube-shorts-head {
	width: 100% !important;
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 24px !important;
	margin: 0 0 18px !important;
}

body.home .dnf-youtube-shorts-head h2,
body.front-page .dnf-youtube-shorts-head h2,
.dnf-youtube-shorts-head h2 {
	margin: 0 0 6px !important;
	font-size: 26px !important;
	line-height: 1.2 !important;
	font-weight: 800 !important;
	color: #111111 !important;
}

body.home .dnf-youtube-shorts-head p,
body.front-page .dnf-youtube-shorts-head p,
.dnf-youtube-shorts-head p {
	margin: 0 !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: #333333 !important;
}

body.home .dnf-youtube-shorts-grid,
body.front-page .dnf-youtube-shorts-grid,
.dnf-youtube-shorts-grid {
	width: 100% !important;
	max-width: none !important;
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 18px !important;
	align-items: start !important;
	overflow: visible !important;
}

body.home .dnf-youtube-short-card,
body.front-page .dnf-youtube-short-card,
.dnf-youtube-short-card {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	text-decoration: none !important;
}

body.home .dnf-youtube-short-thumb,
body.front-page .dnf-youtube-short-thumb,
.dnf-youtube-short-thumb {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 9 / 16 !important;
	overflow: hidden !important;
	background: #ffffff !important;
	border: 1px solid #eeeeee !important;
	box-sizing: border-box !important;
}

body.home .dnf-youtube-short-thumb img,
body.front-page .dnf-youtube-short-thumb img,
.dnf-youtube-short-thumb img {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	object-fit: cover !important;
	object-position: center !important;
	border: 0 !important;
	border-radius: 0 !important;
}

body.home .dnf-youtube-short-title,
body.front-page .dnf-youtube-short-title,
.dnf-youtube-short-title {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	margin-top: 10px !important;
	color: #111111 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.42 !important;
	min-height: 40px !important;
}

/* Giảm khoảng cách bất thường giữa section sản phẩm phía trên và block clip */
body.home .dnf-youtube-shorts-section {
	transform: translateY(-12px) !important;
}

/* Màn nhỏ hơn: 4 clip */
@media (max-width: 1280px) {
	body.home .dnf-youtube-shorts-inner,
	body.front-page .dnf-youtube-shorts-inner,
	.dnf-youtube-shorts-inner {
		max-width: 1220px !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	body.home .dnf-youtube-shorts-grid,
	body.front-page .dnf-youtube-shorts-grid,
	.dnf-youtube-shorts-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

/* Mobile: kéo ngang */
@media (max-width: 768px) {
	body.home .dnf-youtube-shorts-section,
	body.front-page .dnf-youtube-shorts-section,
	.dnf-youtube-shorts-section {
		left: 50% !important;
		width: 100vw !important;
		margin-left: -50vw !important;
		margin-top: 0 !important;
		margin-bottom: 12px !important;
		padding: 30px 0 34px !important;
		transform: none !important;
	}

	body.home .dnf-youtube-shorts-inner,
	body.front-page .dnf-youtube-shorts-inner,
	.dnf-youtube-shorts-inner {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.home .dnf-youtube-shorts-head,
	body.front-page .dnf-youtube-shorts-head,
	.dnf-youtube-shorts-head {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 10px !important;
		margin-bottom: 16px !important;
	}

	body.home .dnf-youtube-shorts-head h2,
	body.front-page .dnf-youtube-shorts-head h2,
	.dnf-youtube-shorts-head h2 {
		font-size: 22px !important;
	}

	body.home .dnf-youtube-shorts-grid,
	body.front-page .dnf-youtube-shorts-grid,
	.dnf-youtube-shorts-grid {
		display: flex !important;
		grid-template-columns: none !important;
		gap: 14px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		padding-bottom: 8px !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch !important;
	}

	body.home .dnf-youtube-short-card,
	body.front-page .dnf-youtube-short-card,
	.dnf-youtube-short-card {
		flex: 0 0 166px !important;
		scroll-snap-align: start !important;
	}
}

/* =========================================================
   DNF FINAL: homepage spacing compact and seamless
   Thu gọn khoảng cách dọc giữa các block trang chủ
   ========================================================= */

body.home .dnf-home-sale-section,
body.home .dnf-tabbed-products-section,
body.home .dnf-youtube-shorts-section,
body.home .dnf-home-guide-section {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 22px !important;
	padding-bottom: 22px !important;
}

body.home .dnf-home-sale-section {
	padding-top: 8px !important;
	padding-bottom: 16px !important;
}

body.home .dnf-tabbed-products-section {
	padding-top: 14px !important;
	padding-bottom: 18px !important;
}

body.home .dnf-section-head,
body.home .dnf-tabbed-products-head,
body.home .dnf-youtube-shorts-head {
	margin-top: 0 !important;
	margin-bottom: 14px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.home .dnf-section-main-title,
body.home .dnf-guide-title,
body.home .dnf-home-sale-section h2,
body.home .dnf-tabbed-products-section h2 {
	margin-top: 0 !important;
	margin-bottom: 14px !important;
	line-height: 1.25 !important;
}

body.home .dnf-product-grid {
	align-items: start !important;
	grid-auto-rows: auto !important;
	row-gap: 18px !important;
	column-gap: 22px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

body.home .dnf-product-card {
	height: auto !important;
	min-height: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	align-self: start !important;
}

body.home .dnf-product-card .dnf-product-title,
body.home .dnf-product-card .woocommerce-loop-product__title,
body.home .dnf-product-card .dnf-product-info h3,
body.home .dnf-product-card h3 {
	min-height: 0 !important;
	height: auto !important;
	margin-bottom: 7px !important;
	padding-bottom: 0 !important;
}

body.home .dnf-product-card .dnf-product-price,
body.home .dnf-product-card .dnf-price,
body.home .dnf-product-card .price,
body.home .dnf-product-card .dnf-price-clean,
body.home .dnf-product-card .dnf-card-price-final {
	min-height: 0 !important;
	height: auto !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

body.home .dnf-product-card .dnf-product-more,
body.home .dnf-product-card .dnf-loop-more-btn,
body.home .dnf-product-card .button,
body.home .dnf-product-card .dnf-card-actions,
body.home .dnf-product-card .dnf-product-actions,
body.home .dnf-product-card .dnf-card-footer,
body.home .dnf-product-card .dnf-product-bottom {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.home .dnf-tab-buttons {
	margin-top: 6px !important;
	margin-bottom: 14px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	gap: 8px !important;
}

body.home .dnf-tab-panels,
body.home .dnf-tab-panel {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.home .dnf-youtube-shorts-section {
	padding-top: 18px !important;
	padding-bottom: 18px !important;
}

body.home .dnf-home-guide-section {
	padding-top: 18px !important;
}

@media (max-width: 768px) {
	body.home .dnf-home-sale-section,
	body.home .dnf-tabbed-products-section,
	body.home .dnf-youtube-shorts-section,
	body.home .dnf-home-guide-section {
		padding-top: 18px !important;
		padding-bottom: 18px !important;
	}

	body.home .dnf-product-grid {
		row-gap: 16px !important;
		column-gap: 14px !important;
	}
}


/* =========================================================
   DNF FINAL: homepage product blocks show 6 items
   PC: 6 cột | Mobile: 2 cột x 3 hàng
   ========================================================= */

body.home .dnf-product-grid,
body.home .dnf-home-sale-section .dnf-product-grid,
body.home .dnf-tabbed-products-section .dnf-product-grid {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	column-gap: 22px !important;
	row-gap: 24px !important;
	align-items: stretch !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

body.home .dnf-product-card {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	min-height: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

body.home .dnf-product-card .dnf-product-info,
body.home .dnf-product-card .dnf-card-info {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
}

body.home .dnf-product-card .dnf-product-title,
body.home .dnf-product-card .woocommerce-loop-product__title,
body.home .dnf-product-card .dnf-product-info h3,
body.home .dnf-product-card h3 {
	display: -webkit-box !important;
	-webkit-line-clamp: 3 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	min-height: 4.35em !important;
	height: auto !important;
	line-height: 1.45 !important;
	margin-bottom: 8px !important;
	padding-bottom: 0 !important;
}

body.home .dnf-product-card .dnf-product-price,
body.home .dnf-product-card .dnf-price,
body.home .dnf-product-card .price,
body.home .dnf-product-card .dnf-price-clean,
body.home .dnf-product-card .dnf-card-price-final {
	margin-top: auto !important;
	min-height: 0 !important;
	height: auto !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

@media (max-width: 1280px) {
	body.home .dnf-product-grid,
	body.home .dnf-home-sale-section .dnf-product-grid,
	body.home .dnf-tabbed-products-section .dnf-product-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	body.home .dnf-product-grid,
	body.home .dnf-home-sale-section .dnf-product-grid,
	body.home .dnf-tabbed-products-section .dnf-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 16px !important;
		row-gap: 22px !important;
		align-items: stretch !important;
	}

	body.home .dnf-product-card .dnf-product-title,
	body.home .dnf-product-card .woocommerce-loop-product__title,
	body.home .dnf-product-card .dnf-product-info h3,
	body.home .dnf-product-card h3 {
		-webkit-line-clamp: 4 !important;
		min-height: 5.8em !important;
		font-size: 17px !important;
		line-height: 1.45 !important;
		margin-bottom: 10px !important;
	}

	body.home .dnf-product-card .dnf-product-price,
	body.home .dnf-product-card .dnf-price,
	body.home .dnf-product-card .price,
	body.home .dnf-product-card .dnf-price-clean,
	body.home .dnf-product-card .dnf-card-price-final {
		font-size: 16px !important;
		line-height: 1.35 !important;
	}
}


/* =========================================================
   DNF FINAL: compact product content tables
   Thu gọn bảng thông số / bảng size trong nội dung sản phẩm
   ========================================================= */

.single-product .entry-content table,
.single-product .woocommerce-Tabs-panel table,
.single-product .woocommerce-tabs table,
.single-product .wp-block-table table,
.single-product .dnf-product-content table {
	width: 100% !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	margin: 14px 0 22px !important;
	table-layout: auto !important;
}

.single-product .entry-content table tr,
.single-product .woocommerce-Tabs-panel table tr,
.single-product .woocommerce-tabs table tr,
.single-product .wp-block-table table tr,
.single-product .dnf-product-content table tr {
	height: auto !important;
	min-height: 0 !important;
}

.single-product .entry-content table th,
.single-product .entry-content table td,
.single-product .woocommerce-Tabs-panel table th,
.single-product .woocommerce-Tabs-panel table td,
.single-product .woocommerce-tabs table th,
.single-product .woocommerce-tabs table td,
.single-product .wp-block-table table th,
.single-product .wp-block-table table td,
.single-product .dnf-product-content table th,
.single-product .dnf-product-content table td {
	height: auto !important;
	min-height: 0 !important;
	padding: 9px 12px !important;
	vertical-align: top !important;
	line-height: 1.45 !important;
	font-size: 15px !important;
	border: 1px solid #e6e6e6 !important;
	background: #ffffff !important;
}

.single-product .entry-content table th,
.single-product .woocommerce-Tabs-panel table th,
.single-product .woocommerce-tabs table th,
.single-product .wp-block-table table th,
.single-product .dnf-product-content table th {
	font-weight: 800 !important;
	color: #111111 !important;
	background: #fafafa !important;
}

/* Xóa khoảng trống do p/br bên trong ô bảng */
.single-product .entry-content table td p,
.single-product .entry-content table th p,
.single-product .woocommerce-Tabs-panel table td p,
.single-product .woocommerce-Tabs-panel table th p,
.single-product .woocommerce-tabs table td p,
.single-product .woocommerce-tabs table th p,
.single-product .wp-block-table table td p,
.single-product .wp-block-table table th p,
.single-product .dnf-product-content table td p,
.single-product .dnf-product-content table th p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.45 !important;
}

.single-product .entry-content table td br,
.single-product .woocommerce-Tabs-panel table td br,
.single-product .woocommerce-tabs table td br,
.single-product .wp-block-table table td br,
.single-product .dnf-product-content table td br {
	line-height: 1.2 !important;
}

/* Mobile: bảng vẫn gọn nhưng dễ đọc */
@media (max-width: 768px) {
	.single-product .entry-content table,
	.single-product .woocommerce-Tabs-panel table,
	.single-product .woocommerce-tabs table,
	.single-product .wp-block-table table,
	.single-product .dnf-product-content table {
		margin: 12px 0 18px !important;
	}

	.single-product .entry-content table th,
	.single-product .entry-content table td,
	.single-product .woocommerce-Tabs-panel table th,
	.single-product .woocommerce-Tabs-panel table td,
	.single-product .woocommerce-tabs table th,
	.single-product .woocommerce-tabs table td,
	.single-product .wp-block-table table th,
	.single-product .wp-block-table table td,
	.single-product .dnf-product-content table th,
	.single-product .dnf-product-content table td {
		padding: 8px 9px !important;
		font-size: 14px !important;
		line-height: 1.4 !important;
	}
}


/* =========================================================
   DNF FINAL: flat images in product content
   Bỏ shadow / nổi khối / nền bọc ảnh trong nội dung sản phẩm
   ========================================================= */

.single-product .entry-content figure,
.single-product .entry-content .wp-caption,
.single-product .entry-content .wp-block-image,
.single-product .woocommerce-Tabs-panel figure,
.single-product .woocommerce-Tabs-panel .wp-caption,
.single-product .woocommerce-Tabs-panel .wp-block-image,
.single-product .woocommerce-tabs figure,
.single-product .woocommerce-tabs .wp-caption,
.single-product .woocommerce-tabs .wp-block-image,
.single-product .dnf-product-content figure,
.single-product .dnf-product-content .wp-caption,
.single-product .dnf-product-content .wp-block-image {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	filter: none !important;
	outline: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Ảnh trong nội dung: phẳng, không shadow, không hiệu ứng nổi */
.single-product .entry-content img,
.single-product .woocommerce-Tabs-panel img,
.single-product .woocommerce-tabs img,
.single-product .dnf-product-content img {
	box-shadow: none !important;
	filter: none !important;
	border: 0 !important;
	outline: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 0 !important;
	transform: none !important;
	max-width: 100% !important;
	height: auto !important;
}

/* Caption dưới ảnh: giữ lại chữ, bỏ nền trắng bọc và bóng */
.single-product .entry-content figcaption,
.single-product .entry-content .wp-caption-text,
.single-product .woocommerce-Tabs-panel figcaption,
.single-product .woocommerce-Tabs-panel .wp-caption-text,
.single-product .woocommerce-tabs figcaption,
.single-product .woocommerce-tabs .wp-caption-text,
.single-product .dnf-product-content figcaption,
.single-product .dnf-product-content .wp-caption-text {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	filter: none !important;
	padding: 7px 0 0 !important;
	margin: 0 !important;
	color: #222222 !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	text-align: center !important;
}

/* Bỏ shadow nếu theme/plugin bọc ảnh bằng div trung gian */
.single-product .entry-content .wp-block-image > *,
.single-product .entry-content .wp-caption > *,
.single-product .woocommerce-Tabs-panel .wp-block-image > *,
.single-product .woocommerce-Tabs-panel .wp-caption > *,
.single-product .woocommerce-tabs .wp-block-image > *,
.single-product .woocommerce-tabs .wp-caption > * {
	box-shadow: none !important;
	filter: none !important;
	background: transparent !important;
	border: 0 !important;
}

/* Giữ khoảng cách ảnh vừa phải, không phình block */
.single-product .entry-content figure,
.single-product .entry-content .wp-caption,
.single-product .entry-content .wp-block-image,
.single-product .woocommerce-Tabs-panel figure,
.single-product .woocommerce-Tabs-panel .wp-caption,
.single-product .woocommerce-Tabs-panel .wp-block-image {
	margin-top: 18px !important;
	margin-bottom: 22px !important;
}

/* Mobile: ảnh gọn hơn */
@media (max-width: 768px) {
	.single-product .entry-content figure,
	.single-product .entry-content .wp-caption,
	.single-product .entry-content .wp-block-image,
	.single-product .woocommerce-Tabs-panel figure,
	.single-product .woocommerce-Tabs-panel .wp-caption,
	.single-product .woocommerce-Tabs-panel .wp-block-image {
		margin-top: 14px !important;
		margin-bottom: 18px !important;
	}

	.single-product .entry-content figcaption,
	.single-product .entry-content .wp-caption-text,
	.single-product .woocommerce-Tabs-panel figcaption,
	.single-product .woocommerce-Tabs-panel .wp-caption-text {
		font-size: 13px !important;
	}
}


/* =========================================================
   DNF FINAL: short description spacing only
   Chỉ chỉnh giãn dòng/khoảng cách mô tả ngắn, không ép màu/strong
   ========================================================= */

.single-product .woocommerce-product-details__short-description,
.single-product .summary .woocommerce-product-details__short-description,
.single-product .dnf-product-short-description {
	margin-top: 18px !important;
	margin-bottom: 20px !important;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	line-height: 1.55 !important;
}

.single-product .woocommerce-product-details__short-description p,
.single-product .summary .woocommerce-product-details__short-description p,
.single-product .dnf-product-short-description p {
	margin-top: 0 !important;
	margin-bottom: 9px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	line-height: 1.55 !important;
}

.single-product .woocommerce-product-details__short-description p:last-child,
.single-product .summary .woocommerce-product-details__short-description p:last-child,
.single-product .dnf-product-short-description p:last-child {
	margin-bottom: 0 !important;
}

/* Không can thiệp màu/font-weight của strong, a, span.
   Người nhập nội dung tự chọn màu/strong trong editor. */

@media (max-width: 768px) {
	.single-product .woocommerce-product-details__short-description,
	.single-product .summary .woocommerce-product-details__short-description,
	.single-product .dnf-product-short-description {
		margin-top: 14px !important;
		margin-bottom: 16px !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
		line-height: 1.5 !important;
	}

	.single-product .woocommerce-product-details__short-description p,
	.single-product .summary .woocommerce-product-details__short-description p,
	.single-product .dnf-product-short-description p {
		margin-bottom: 7px !important;
		line-height: 1.5 !important;
	}
}


/* =========================================================
   DNF FINAL: Mã quốc tế in additional information
   Hiển thị mã vạch/GTIN gọn trong tab Thông tin bổ sung
   ========================================================= */

.single-product .woocommerce-product-attributes-item--dnf_global_code .woocommerce-product-attributes-item__value {
	line-height: 1.55 !important;
}

.single-product .dnf-global-code-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.single-product .dnf-global-code-item {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
	color: #222222 !important;
}

.single-product .dnf-global-code-label {
	font-weight: 600 !important;
	color: #333333 !important;
}

.single-product .dnf-global-code-value {
	font-family: inherit !important;
	font-weight: 500 !important;
	color: #222222 !important;
	letter-spacing: .01em !important;
}

@media (max-width: 768px) {
	.single-product .dnf-global-code-list {
		gap: 3px !important;
	}

	.single-product .dnf-global-code-item {
		font-size: 14px !important;
		line-height: 1.45 !important;
	}
}
