/*
Theme Name: HuuPhuocVo
Description: Theme giao diện độc lập cho Vòng Bi NTN - Hồng Nhất Phát
Author: 0389481789 - https://www.facebook.com/huuphuoc.mar
Version: 1.0.0
Text Domain: huuphuocvo
*/

:root {
    --hnp-blue-900: #0b245e;
    --hnp-blue-800: #123583;
    --hnp-blue-700: #1b4db3;
    --hnp-red-600: #d91821;
    --hnp-red-500: #ea1f2b;
    --hnp-ink: #0f172a;
    --hnp-muted: #53627e;
    --hnp-border: #d9e1f2;
    --hnp-bg: #f4f7ff;
    --hnp-radius-lg: 20px;
    --hnp-radius-md: 14px;
    --hnp-shadow: 0 24px 48px rgba(12, 38, 101, 0.16);
}

body,
body p,
body li,
body a,
body span,
body input,
body textarea,
body button,
body select {
    font-family: "Roboto", "Segoe UI", Tahoma, sans-serif !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .widget-title,
body .wd-nav > li > a,
body .nav-link-text {
    font-family: "Montserrat", "Roboto", "Segoe UI", Tahoma, sans-serif !important;
}

body .hnp-home,
body .hnp-home * {
    box-sizing: border-box;
}

body .hnp-home {
    font-family: "Roboto", "Segoe UI", Tahoma, sans-serif;
    color: var(--hnp-ink);
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 26%, #f8fbff 100%);
}

body.wd-header-overlap .hnp-home {
    padding-top: 56px;
}

body .hnp-shell {
    width: min(1220px, calc(100% - 40px));
    margin: 0 auto;
}

body .hnp-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--hnp-blue-800);
    background: rgba(18, 53, 131, 0.1);
}

body .hnp-home h1,
body .hnp-home h2,
body .hnp-home h3 {
    margin: 0;
    color: var(--hnp-blue-900);
    font-family: "Montserrat", "Roboto", "Segoe UI", Tahoma, sans-serif;
    letter-spacing: 0.01em;
    text-transform: capitalize;
}

body .hnp-home p {
    margin: 0;
    color: var(--hnp-muted);
    font-size: 17px;
    line-height: 1.72;
}

body .hnp-home .hnp-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 25px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
}

body .hnp-home .hnp-btn:hover {
    transform: translateY(-2px);
}

body .hnp-home .hnp-btn-primary {
    background: linear-gradient(135deg, var(--hnp-red-500) 0%, var(--hnp-red-600) 100%);
    color: #ffffff !important;
    box-shadow: 0 14px 26px rgba(224, 31, 43, 0.32);
}

body .hnp-home .hnp-btn-primary:hover {
    box-shadow: 0 18px 30px rgba(224, 31, 43, 0.38);
}

body .hnp-home .hnp-btn-ghost {
    color: var(--hnp-blue-800) !important;
    background: #ffffff;
    border: 1px solid var(--hnp-border);
}

body .hnp-home .hnp-btn-ghost:hover {
    border-color: var(--hnp-blue-700);
    color: var(--hnp-blue-700) !important;
}

body .hnp-home a.hnp-link {
    color: var(--hnp-blue-700);
    font-weight: 700;
    text-decoration: none;
}

body .hnp-home a.hnp-link:hover {
    color: var(--hnp-red-500);
}

body .hnp-hero {
    position: relative;
    overflow: hidden;
    padding: 80px 0 50px;
}

body .hnp-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 92% 12%, rgba(234, 31, 43, 0.15), transparent 34%),
        radial-gradient(circle at 4% 88%, rgba(27, 77, 179, 0.2), transparent 42%);
    pointer-events: none;
}

body .hnp-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 34px;
    grid-template-columns: 1.05fr 0.95fr;
    align-items: center;
}

body .hnp-hero-content h1 {
    margin-top: 14px;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 0.95;
}

body .hnp-hero-content p {
    margin-top: 18px;
    max-width: 640px;
}

body .hnp-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

body .hnp-hero-media {
    border-radius: 24px;
    background: #ffffff;
    padding: 12px;
    box-shadow: var(--hnp-shadow);
}

body .hnp-hero-media img {
    width: 100%;
    border-radius: 18px;
    display: block;
}

body .hnp-home ul.hnp-stats,
body .hnp-home .hnp-stats {
    margin: 24px 0 0;
    padding: 0;
    list-style: none !important;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

body .hnp-home .hnp-stats li {
    list-style: none !important;
    margin: 0;
    border: 1px solid var(--hnp-border);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.94);
    padding: 12px;
}

body .hnp-home .hnp-stats strong {
    display: block;
    color: var(--hnp-red-500);
    font-size: 19px;
    line-height: 1;
    margin-bottom: 7px;
}

body .hnp-home .hnp-stats span {
    color: var(--hnp-muted);
    font-size: 13px;
    line-height: 1.4;
}

body .hnp-value-strip {
    padding: 4px 0 54px;
}

body .hnp-showcase {
    padding: 10px 0 24px;
}

body .hnp-showcase-grid {
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

body .hnp-showcase-card {
    margin: 0;
    border-radius: var(--hnp-radius-md);
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--hnp-border);
    box-shadow: 0 14px 28px rgba(12, 38, 101, 0.08);
}

body .hnp-showcase-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

body .hnp-showcase-card figcaption {
    padding: 12px 14px;
    color: var(--hnp-blue-900);
    font-weight: 700;
    font-size: 15px;
    line-height: 1.35;
}

body .hnp-value-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

body .hnp-value-grid article {
    border-radius: var(--hnp-radius-md);
    border: 1px solid var(--hnp-border);
    padding: 24px;
    background: #ffffff url('./assets/bearing-corner-hero.svg?v=3') no-repeat right -70px bottom -70px/210px;
}

body .hnp-value-grid h3 {
    font-size: 25px;
    line-height: 1.1;
}

body .hnp-value-grid p {
    margin-top: 12px;
    font-size: 16px;
}

body .hnp-about,
body .hnp-products,
body .hnp-industries,
body .hnp-news {
    padding: 58px 0;
}

body .hnp-about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    align-items: start;
}

body .hnp-about-intro h2 {
    margin-top: 14px;
    font-size: clamp(30px, 3.9vw, 47px);
    line-height: 1.05;
}

body .hnp-about-intro p {
    margin-top: 14px;
}


body .hnp-about-ntn-logo {
    margin-top: 16px;
}

body .hnp-about-ntn-logo img {
    display: block;
    width: 100%;
    max-width: 440px;
    height: auto;
    border-radius: 10px;
}

body .hnp-about-cards {
    display: grid;
    gap: 16px;
}

body .hnp-about-cards article {
    border: 1px solid var(--hnp-border);
    border-left: 5px solid var(--hnp-red-500);
    border-radius: var(--hnp-radius-md);
    background: #ffffff;
    padding: 22px;
}

body .hnp-about-cards h3 {
    font-size: 27px;
    line-height: 1;
}

body .hnp-about-cards p {
    margin-top: 9px;
    font-size: 16px;
}

body .hnp-products {
    background: linear-gradient(135deg, #0d2d72 0%, #153f97 50%, #0b2a69 100%);
}

body .hnp-products .hnp-kicker {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.18);
}

body .hnp-products .hnp-headline h2 {
    margin-top: 13px;
    color: #ffffff;
    font-size: clamp(30px, 4vw, 44px);
}

body .hnp-product-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

body .hnp-product-card {
    display: block;
    text-decoration: none;
    border-radius: var(--hnp-radius-md);
    border: 1px solid rgba(255, 255, 255, 0.26);
    background: rgba(255, 255, 255, 0.08);
    padding: 24px;
    min-height: 200px;
    transition: transform 0.25s ease, background 0.25s ease;
}

body .hnp-product-card:hover {
    transform: translateY(-4px);
    background: rgba(234, 31, 43, 0.18);
}

body .hnp-product-card h3 {
    color: #ffffff;
    font-size: 30px;
    line-height: 0.95;
}

body .hnp-product-card p {
    margin-top: 11px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 16px;
}

body .hnp-product-card span {
    display: inline-flex;
    margin-top: 14px;
    color: #ffd5d8;
    font-weight: 700;
    font-size: 14px;
}

body .hnp-industries-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: center;
}

body .hnp-industries h2 {
    margin-top: 13px;
    font-size: clamp(30px, 3.9vw, 46px);
    line-height: 1.04;
}

body .hnp-industries p {
    margin-top: 12px;
}

body .hnp-home ul.hnp-industry-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

body .hnp-industry-list li {
    margin: 0;
    list-style: none;
    border-radius: 999px;
    border: 1px solid var(--hnp-border);
    background: #ffffff;
    text-align: center;
    padding: 12px 14px;
    font-size: 15px;
    font-weight: 700;
    color: var(--hnp-blue-800);
}

body .hnp-news {
    padding-top: 24px;
}

body .hnp-headline h2 {
    margin-top: 13px;
    font-size: clamp(30px, 3.9vw, 46px);
    line-height: 1.04;
}

body .hnp-news-grid {
    margin-top: 23px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

body .hnp-news-card {
    border-radius: var(--hnp-radius-md);
    border: 1px solid var(--hnp-border);
    background: #ffffff;
    padding: 22px;
}

body .hnp-news-date {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(234, 31, 43, 0.1);
    color: var(--hnp-red-500);
    font-size: 12px;
    font-weight: 700;
}

body .hnp-news-card h3 {
    margin-top: 13px;
    font-size: 25px;
    line-height: 1.05;
}

body .hnp-news-card h3 a {
    color: var(--hnp-blue-900);
    text-decoration: none;
}

body .hnp-news-card h3 a:hover {
    color: var(--hnp-red-500);
}

body .hnp-news-card p {
    margin-top: 10px;
    font-size: 16px;
}

body .hnp-news-card .hnp-link {
    display: inline-block;
    margin-top: 12px;
}

body .hnp-cta {
    padding: 10px 0 76px;
}

body .hnp-cta-box {
    border-radius: var(--hnp-radius-lg);
    background: linear-gradient(125deg, var(--hnp-red-600) 0%, var(--hnp-red-500) 100%);
    padding: 32px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    align-items: center;
}

body .hnp-cta .hnp-kicker {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.21);
}

body .hnp-cta h2 {
    margin-top: 12px;
    color: #ffffff;
    font-size: clamp(30px, 3.5vw, 42px);
    line-height: 1;
}

body .hnp-cta p {
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.9);
}

body .hnp-cta-actions {
    display: grid;
    gap: 10px;
}

body .hnp-cta .hnp-btn-primary {
    background: #ffffff;
    color: var(--hnp-red-600) !important;
    box-shadow: none;
}

body .hnp-cta .hnp-btn-ghost {
    background: transparent;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.55);
}

body .hnp-cta .hnp-btn-ghost:hover {
    border-color: #ffffff;
}

@media (max-width: 1023px) {
    body.wd-header-overlap .hnp-home {
        padding-top: 30px;
    }

    body .hnp-shell {
        width: min(1220px, calc(100% - 28px));
    }

    body .hnp-hero {
        padding-top: 48px;
    }

    body .hnp-hero-grid,
    body .hnp-about-grid,
    body .hnp-industries-grid,
    body .hnp-cta-box {
        grid-template-columns: 1fr;
    }

    body .hnp-stats,
    body .hnp-showcase-grid,
    body .hnp-value-grid,
    body .hnp-news-grid,
    body .hnp-product-grid,
    body .hnp-industry-list {
        grid-template-columns: 1fr !important;
    }

    body .hnp-about,
    body .hnp-products,
    body .hnp-industries,
    body .hnp-news {
        padding: 42px 0;
    }

    body .hnp-cta {
        padding-bottom: 52px;
    }
}

/* Header and footer professional refresh + global logo sizing */
body .hnp-forced-logo,
body .wd-logo img,
body .site-logo img,
body .custom-logo {
    width: auto !important;
    max-width: 300px !important;
    max-height: 72px !important;
    object-fit: contain !important;
}

body .whb-top-bar {
    background: linear-gradient(90deg, #0d2d72 0%, #1546ad 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
}

body .whb-top-bar .wd-header-text,
body .whb-top-bar .wd-tools-element > a,
body .whb-top-bar .wd-nav-secondary > li > a {
    color: rgba(255, 255, 255, 0.94) !important;
    font-size: 12px !important;
    letter-spacing: 0.02em;
}

body .whb-top-bar .wd-tools-element > a:hover,
body .whb-top-bar .wd-nav-secondary > li > a:hover {
    color: #ffffff !important;
}

body .whb-general-header {
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(12, 38, 101, 0.08);
}

body .whb-general-header .wd-nav > li > a {
    font-family: "Montserrat", "Roboto", "Segoe UI", Tahoma, sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    color: #0d2d72 !important;
    letter-spacing: 0.02em;
    text-transform: capitalize;
}

body .whb-general-header .wd-nav > li > a:hover {
    color: #e3212a !important;
}

/* Professional submenu styling */
@media (min-width: 1024px) {
    body .whb-general-header .wd-nav > li.menu-item-has-children,
    body .whb-sticky-header .wd-nav > li.menu-item-has-children,
    body .whb-clone .wd-nav > li.menu-item-has-children {
        position: relative;
        padding-bottom: 14px;
        margin-bottom: -14px;
    }

    body .whb-general-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu,
    body .whb-sticky-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu,
    body .whb-clone .wd-nav > li.menu-item-has-children > .wd-dropdown-menu {
        top: 100% !important;
        margin-top: 0 !important;
    }
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu,
body .whb-clone .wd-nav > li.menu-item-has-children > .wd-dropdown-menu {
    min-width: 380px !important;
    border-radius: 14px !important;
    border: 1px solid #d9e1f2 !important;
    background: #ffffff !important;
    box-shadow: 0 16px 34px rgba(11, 36, 94, 0.16) !important;
    overflow: hidden !important;
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu > .container,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu > .container,
body .whb-clone .wd-nav > li.menu-item-has-children > .wd-dropdown-menu > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px !important;
    background: #ffffff !important;
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu,
body .whb-clone .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu {
    background: #ffffff !important;
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li,
body .whb-clone .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li {
    margin: 0 !important;
    border-bottom: 1px solid #edf2fc !important;
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li:last-child,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li:last-child,
body .whb-clone .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li:last-child {
    border-bottom: 0 !important;
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a,
body .whb-clone .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a,
body .whb-general-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a .nav-link-text,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a .nav-link-text,
body .whb-clone .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a .nav-link-text {
    display: block !important;
    color: #0b2a69 !important;
    opacity: 1 !important;
    font-family: "Roboto", "Segoe UI", Tahoma, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-shadow: none !important;
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a,
body .whb-clone .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a {
    padding: 11px 12px !important;
    border-radius: 10px !important;
    text-transform: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a:hover,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a:hover,
body .whb-clone .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a:hover {
    background: linear-gradient(135deg, #123583 0%, #1b4db3 100%) !important;
    transform: translateX(2px);
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a:hover .nav-link-text,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a:hover .nav-link-text,
body .whb-clone .wd-nav > li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a:hover .nav-link-text {
    color: #ffffff !important;
}

body .whb-general-header .wd-dropdown-menu.color-scheme-dark,
body .whb-general-header .wd-dropdown-menu.color-scheme-dark *,
body .whb-sticky-header .wd-dropdown-menu.color-scheme-dark,
body .whb-sticky-header .wd-dropdown-menu.color-scheme-dark *,
body .whb-clone .wd-dropdown-menu.color-scheme-dark,
body .whb-clone .wd-dropdown-menu.color-scheme-dark * {
    color: #0b2a69 !important;
    opacity: 1 !important;
}

body .whb-general-header .wd-dropdown-menu .hnp-industry-post-item > a,
body .whb-sticky-header .wd-dropdown-menu .hnp-industry-post-item > a,
body .whb-clone .wd-dropdown-menu .hnp-industry-post-item > a,
body .whb-general-header .wd-dropdown-menu .hnp-industry-post-item > a .nav-link-text,
body .whb-sticky-header .wd-dropdown-menu .hnp-industry-post-item > a .nav-link-text,
body .whb-clone .wd-dropdown-menu .hnp-industry-post-item > a .nav-link-text {
    color: #0b2a69 !important;
    opacity: 1 !important;
    font-weight: 700 !important;
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .sub-menu,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .sub-menu,
body .whb-clone .wd-nav > li.menu-item-has-children > .sub-menu {
    min-width: 360px !important;
    padding: 10px !important;
    border-radius: 14px !important;
    border: 1px solid #d9e1f2 !important;
    background: #ffffff !important;
    box-shadow: 0 16px 34px rgba(11, 36, 94, 0.16) !important;
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .sub-menu > li,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .sub-menu > li,
body .whb-clone .wd-nav > li.menu-item-has-children > .sub-menu > li {
    margin: 0 !important;
    border-bottom: 1px solid #edf2fc;
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .sub-menu > li:last-child,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .sub-menu > li:last-child,
body .whb-clone .wd-nav > li.menu-item-has-children > .sub-menu > li:last-child {
    border-bottom: 0;
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .sub-menu > li > a,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .sub-menu > li > a,
body .whb-clone .wd-nav > li.menu-item-has-children > .sub-menu > li > a {
    display: block;
    padding: 11px 12px !important;
    color: #102c6a !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    border-radius: 10px !important;
    text-transform: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

body .whb-general-header .wd-nav > li.menu-item-has-children > .sub-menu > li > a:hover,
body .whb-sticky-header .wd-nav > li.menu-item-has-children > .sub-menu > li > a:hover,
body .whb-clone .wd-nav > li.menu-item-has-children > .sub-menu > li > a:hover {
    color: #ffffff !important;
    background: linear-gradient(135deg, #123583 0%, #1b4db3 100%) !important;
    transform: translateX(2px);
}

body .whb-general-header .wd-nav .wd-sub-menu li > a:hover,
body .whb-sticky-header .wd-nav .wd-sub-menu li > a:hover,
body .whb-clone .wd-nav .wd-sub-menu li > a:hover,
body .whb-general-header .wd-nav .sub-menu li > a:hover,
body .whb-sticky-header .wd-nav .sub-menu li > a:hover,
body .whb-clone .wd-nav .sub-menu li > a:hover {
    color: #ffffff !important;
}

body .whb-general-header .wd-nav .wd-sub-menu li > a:hover .nav-link-text,
body .whb-sticky-header .wd-nav .wd-sub-menu li > a:hover .nav-link-text,
body .whb-clone .wd-nav .wd-sub-menu li > a:hover .nav-link-text,
body .whb-general-header .wd-nav .sub-menu li > a:hover .nav-link-text,
body .whb-sticky-header .wd-nav .sub-menu li > a:hover .nav-link-text,
body .whb-clone .wd-nav .sub-menu li > a:hover .nav-link-text {
    color: #ffffff !important;
}

/* Final submenu UX: no hover delay + readable colors */
body .whb-general-header .wd-nav li.menu-item-has-children > .wd-dropdown-menu,
body .whb-sticky-header .wd-nav li.menu-item-has-children > .wd-dropdown-menu,
body .whb-clone .wd-nav li.menu-item-has-children > .wd-dropdown-menu {
    transition: none !important;
    animation: none !important;
}

body .whb-general-header .wd-nav li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a,
body .whb-sticky-header .wd-nav li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a,
body .whb-clone .wd-nav li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a {
    transition: none !important;
    transform: none !important;
}

body .whb-general-header .wd-nav li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a:hover,
body .whb-sticky-header .wd-nav li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a:hover,
body .whb-clone .wd-nav li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a:hover {
    background: #eaf1ff !important;
    color: #0b2a69 !important;
    transform: none !important;
}

body .whb-general-header .wd-nav li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a:hover .nav-link-text,
body .whb-sticky-header .wd-nav li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a:hover .nav-link-text,
body .whb-clone .wd-nav li.menu-item-has-children > .wd-dropdown-menu .wd-sub-menu > li > a:hover .nav-link-text {
    color: #0b2a69 !important;
}

/* Remove all hover effects for industry submenu items */
body .whb-general-header .wd-dropdown-menu .hnp-industry-post-item > a,
body .whb-sticky-header .wd-dropdown-menu .hnp-industry-post-item > a,
body .whb-clone .wd-dropdown-menu .hnp-industry-post-item > a,
body .whb-general-header .wd-dropdown-menu .hnp-industry-post-item > a .nav-link-text,
body .whb-sticky-header .wd-dropdown-menu .hnp-industry-post-item > a .nav-link-text,
body .whb-clone .wd-dropdown-menu .hnp-industry-post-item > a .nav-link-text {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    background: transparent !important;
    color: #0b2a69 !important;
}

body .whb-general-header .wd-dropdown-menu .hnp-industry-post-item > a:hover,
body .whb-sticky-header .wd-dropdown-menu .hnp-industry-post-item > a:hover,
body .whb-clone .wd-dropdown-menu .hnp-industry-post-item > a:hover,
body .whb-general-header .wd-dropdown-menu .hnp-industry-post-item > a:focus,
body .whb-sticky-header .wd-dropdown-menu .hnp-industry-post-item > a:focus,
body .whb-clone .wd-dropdown-menu .hnp-industry-post-item > a:focus {
    background: transparent !important;
    color: #0b2a69 !important;
    transform: none !important;
    box-shadow: none !important;
}

body .whb-general-header .wd-dropdown-menu .hnp-industry-post-item > a:hover .nav-link-text,
body .whb-sticky-header .wd-dropdown-menu .hnp-industry-post-item > a:hover .nav-link-text,
body .whb-clone .wd-dropdown-menu .hnp-industry-post-item > a:hover .nav-link-text,
body .whb-general-header .wd-dropdown-menu .hnp-industry-post-item > a:focus .nav-link-text,
body .whb-sticky-header .wd-dropdown-menu .hnp-industry-post-item > a:focus .nav-link-text,
body .whb-clone .wd-dropdown-menu .hnp-industry-post-item > a:focus .nav-link-text {
    color: #0b2a69 !important;
}

/* Remove all hover effects for "NhÃ³m NgÃ nh" submenu */
body #menu-item-29147 .wd-dropdown-menu,
body #menu-item-29147 .wd-dropdown-menu * {
    animation: none !important;
    transition: none !important;
}

body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li > a,
body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li > a .nav-link-text {
    color: #0b2a69 !important;
    background: transparent !important;
    text-shadow: none !important;
    transform: none !important;
}

body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li > a:hover,
body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li > a:focus,
body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li > a:active,
body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li:hover > a {
    color: #0b2a69 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li > a:hover .nav-link-text,
body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li > a:focus .nav-link-text,
body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li > a:active .nav-link-text,
body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li:hover > a .nav-link-text {
    color: #0b2a69 !important;
}

body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li > a::before,
body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li > a::after,
body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li > a .nav-link-text::before,
body #menu-item-29147 .wd-dropdown-menu .wd-sub-menu > li > a .nav-link-text::after {
    content: none !important;
    display: none !important;
}

body .whb-general-header .wd-nav .sub-menu li > a,
body .whb-sticky-header .wd-nav .sub-menu li > a,
body .whb-clone .wd-nav .sub-menu li > a {
    color: #0b2a69 !important;
    opacity: 1 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

body .whb-general-header .wd-nav .sub-menu li > a .nav-link-text,
body .whb-sticky-header .wd-nav .sub-menu li > a .nav-link-text,
body .whb-clone .wd-nav .sub-menu li > a .nav-link-text {
    color: #0b2a69 !important;
    opacity: 1 !important;
    font-weight: 700 !important;
}

@media (max-width: 1023px) {
    body .mobile-nav,
    body .mobile-nav .wd-nav,
    body .mobile-nav .wd-nav > li,
    body .mobile-nav .wd-nav > li > a {
        background: #ffffff !important;
    }

    body .mobile-nav .wd-nav > li > a,
    body .mobile-nav .wd-nav > li > a .nav-link-text {
        color: #0b2a69 !important;
        font-weight: 700 !important;
        letter-spacing: 0.01em;
    }

    body .mobile-nav .menu-item-has-children > a .menu-opener,
    body .mobile-nav .wd-nav .menu-item-has-children > a .menu-opener {
        background: #eaf1ff !important;
        border: 1px solid #c6d7fb !important;
        color: #123583 !important;
    }

    body .mobile-nav .menu-item-has-children > a .menu-opener::before,
    body .mobile-nav .menu-item-has-children > a .menu-opener::after {
        border-color: #123583 !important;
    }

    body .mobile-nav .menu-item-has-children.item-opened > a .menu-opener,
    body .mobile-nav .wd-nav .menu-item-has-children.item-opened > a .menu-opener {
        background: linear-gradient(135deg, #123583 0%, #1b4db3 100%) !important;
        border-color: #123583 !important;
        color: #ffffff !important;
    }

    body .mobile-nav .menu-item-has-children.item-opened > a .menu-opener::before,
    body .mobile-nav .menu-item-has-children.item-opened > a .menu-opener::after {
        border-color: #ffffff !important;
    }

    body .mobile-nav .wd-sub-menu {
        background: #f7faff !important;
        border-left: 2px solid #d4e0fb !important;
    }

    body .mobile-nav .wd-sub-menu > li > a,
    body .mobile-nav .wd-sub-menu > li > a .nav-link-text {
        color: #123583 !important;
        font-weight: 700 !important;
        font-size: 15px !important;
        opacity: 1 !important;
    }

    body .mobile-nav .wd-sub-menu > li > a:hover,
    body .mobile-nav .wd-sub-menu > li > a:focus {
        background: #eaf1ff !important;
    }

    body .mobile-nav .current-menu-item > a,
    body .mobile-nav .current-menu-item > a .nav-link-text,
    body .mobile-nav .current_page_item > a,
    body .mobile-nav .current_page_item > a .nav-link-text {
        color: #e0232d !important;
        font-weight: 800 !important;
    }

    body .wd-nav-mob-tab li > ul,
    body .mobile-nav .sub-menu {
        background: #f4f7ff !important;
        border-radius: 12px;
        padding: 6px !important;
    }

    body .wd-nav-mob-tab li > ul > li > a,
    body .mobile-nav .sub-menu > li > a {
        background: #ffffff;
        border: 1px solid #d9e1f2;
        border-radius: 10px;
        margin-bottom: 7px;
        padding: 11px 12px !important;
        color: #123583 !important;
        opacity: 1 !important;
        font-weight: 700 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
    }

    body .wd-nav-mob-tab li > ul > li > a .nav-link-text,
    body .mobile-nav .sub-menu > li > a .nav-link-text {
        color: #123583 !important;
        opacity: 1 !important;
        font-weight: 700 !important;
    }

    body .hnp-menu-right-logo-inline {
        display: none !important;
    }
}

body .footer-container,
body .main-footer,
body .wd-copyrights {
    background: #071b49 !important;
}

body .main-footer {
    padding-top: 52px !important;
    padding-bottom: 24px !important;
}

body .main-footer,
body .main-footer p,
body .main-footer li,
body .main-footer a,
body .main-footer h1,
body .main-footer h2,
body .main-footer h3,
body .main-footer h4,
body .main-footer h5,
body .main-footer h6 {
    color: rgba(255, 255, 255, 0.9) !important;
}

body .main-footer a:hover {
    color: #ffffff !important;
}

body .main-footer .widget-title {
    color: #ffffff !important;
    font-family: "Montserrat", "Roboto", "Segoe UI", Tahoma, sans-serif !important;
    font-size: 18px !important;
    letter-spacing: 0.03em;
    text-transform: capitalize;
    margin-bottom: 14px !important;
}

body .wd-copyrights {
    border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
}

body .wd-copyrights,
body .wd-copyrights p,
body .wd-copyrights a {
    color: rgba(255, 255, 255, 0.86) !important;
    font-size: 13px !important;
}

/* Elementor editable top header + footer bridge */
body .whb-top-bar {
    display: none !important;
}

body .wd-footer {
    display: none !important;
}

body .hnp-elementor-top-header {
    position: relative;
    z-index: 402;
    line-height: 1;
}

body .hnp-elementor-top-header .elementor {
    margin: 0;
}

body .hnp-elementor-top-header .wd-negative-gap,
body .hnp-elementor-top-header .e-con,
body .hnp-elementor-top-header .e-con-inner,
body .hnp-elementor-top-header .elementor-widget,
body .hnp-elementor-top-header .elementor-widget-container,
body .hnp-elementor-top-header .elementor-widget-text-editor {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
}

body .hnp-elementor-top-header .hnp-top-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 22px;
    background: linear-gradient(90deg, #0d2d72 0%, #184bb7 100%);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
}

body .hnp-elementor-footer {
    background: #071b49;
}

body .hnp-elementor-footer .hnp-elm-footer-inner {
    width: min(1220px, calc(100% - 30px));
    margin: 0 auto;
    padding: 38px 0 24px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

body .hnp-elementor-footer .hnp-elm-footer-col h4 {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: 20px;
    font-family: "Montserrat", "Roboto", "Segoe UI", Tahoma, sans-serif;
}

body .hnp-elementor-footer .hnp-elm-footer-col p,
body .hnp-elementor-footer .hnp-elm-footer-col a {
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.7;
    font-size: 15px;
}

body .hnp-elementor-footer .hnp-elm-footer-col a:hover {
    color: #ffffff;
}

@media (max-width: 1023px) {
    body .hnp-elementor-top-header .hnp-top-header-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 10px 14px;
    }

    body .hnp-elementor-footer .hnp-elm-footer-inner {
        grid-template-columns: 1fr;
        padding: 26px 0 16px;
    }
}


/* Elementor slider in hero */
body .hnp-hero-media .elementor-widget-image-carousel .swiper-slide,
body .hnp-hero-media .elementor-widget-image-carousel .swiper-slide-inner {
    border-radius: 18px;
    overflow: hidden;
}

body .hnp-hero-media .elementor-widget-image-carousel img {
    width: 100%;
    height: 460px;
    object-fit: cover;
    display: block;
}

body .hnp-hero-media .elementor-widget-image-carousel .swiper-pagination {
    bottom: 14px;
}

body .hnp-hero-media .elementor-widget-image-carousel .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #9fb5ea;
    opacity: 1;
}

body .hnp-hero-media .elementor-widget-image-carousel .swiper-pagination-bullet-active {
    background: #e61f2f;
}

@media (max-width: 767px) {
    body .hnp-hero-media .elementor-widget-image-carousel img {
        height: 260px;
    }
}

/* Fix square ratio and overflow for hero Elementor slider */
body .hnp-hero-media {
    overflow: hidden;
}

body .hnp-hero-media .elementor-widget-image-carousel,
body .hnp-hero-media .elementor-widget-image-carousel .elementor-image-carousel-wrapper,
body .hnp-hero-media .elementor-widget-image-carousel .swiper {
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
}

body .hnp-hero-media .elementor-widget-image-carousel .swiper {
    aspect-ratio: 1 / 1;
}

body .hnp-hero-media .elementor-widget-image-carousel .swiper-wrapper,
body .hnp-hero-media .elementor-widget-image-carousel .swiper-slide,
body .hnp-hero-media .elementor-widget-image-carousel .swiper-slide-inner {
    height: 100% !important;
}

body .hnp-hero-media .elementor-widget-image-carousel img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

@media (max-width: 1199px) {
    body .hnp-hero-media .elementor-widget-image-carousel,
    body .hnp-hero-media .elementor-widget-image-carousel .elementor-image-carousel-wrapper,
    body .hnp-hero-media .elementor-widget-image-carousel .swiper {
        max-width: 520px;
    }
}

@media (max-width: 767px) {
    body .hnp-hero-media .elementor-widget-image-carousel,
    body .hnp-hero-media .elementor-widget-image-carousel .elementor-image-carousel-wrapper,
    body .hnp-hero-media .elementor-widget-image-carousel .swiper {
        max-width: 100%;
    }
}

/* Refinements: header spacing, top gap, heading scale, professional footer */
html {
    margin-top: 0 !important;
}

html.admin-bar {
    margin-top: 0 !important;
}

body.admin-bar {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.admin-bar #wpadminbar {
    display: none !important;
}

@media screen and (max-width: 782px) {
    html.admin-bar {
        margin-top: 0 !important;
    }

    body.admin-bar {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

body .hnp-elementor-top-header .hnp-top-header-inner {
    min-height: 42px;
    padding: 10px 24px;
}

body .whb-general-header .whb-column {
    padding-top: 6px;
    padding-bottom: 6px;
}

body .whb-general-header .wd-logo img,
body .whb-general-header .site-logo img {
    max-height: 54px !important;
    width: auto;
}

body .whb-general-header .wd-nav > li > a {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

body .hnp-home h1 {
    font-size: clamp(46px, 5vw, 66px);
    line-height: 1.02;
}

body .hnp-home h2,
body .hnp-headline h2 {
    font-size: clamp(34px, 4vw, 52px) !important;
    line-height: 1.1 !important;
}

body .hnp-news-card h3 {
    font-size: clamp(31px, 3vw, 42px);
    line-height: 1.14;
}

body .hnp-elementor-footer {
    background: linear-gradient(160deg, #071b49 0%, #0d2f77 58%, #103a90 100%);
    border-top: 4px solid #e51f2f;
}

body .hnp-elementor-footer .hnp-elm-footer-wrap {
    width: min(1240px, calc(100% - 30px));
    margin: 0 auto;
    padding: 46px 0 20px;
}

body .hnp-elementor-footer .hnp-footer-top-banner {
    width: 100%;
    background: #ffffff;
    border-top: 1px solid rgba(12, 38, 101, 0.08);
    border-bottom: 1px solid rgba(12, 38, 101, 0.08);
    overflow: hidden;
}

body .hnp-elementor-footer .hnp-footer-top-banner img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center center;
}

body .hnp-footer-top-banner-fixed {
    width: 100%;
    background: #ffffff;
    border-top: 1px solid rgba(12, 38, 101, 0.08);
    border-bottom: 1px solid rgba(12, 38, 101, 0.08);
    overflow: hidden;
    display: block;
}

body .hnp-footer-top-banner-fixed img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center center;
}

@media (max-width: 767px) {
    body .hnp-footer-top-banner-fixed {
        padding: 4px 0;
    }

    body .hnp-footer-top-banner-fixed img {
        width: 100%;
        height: auto;
    }
}

body .hnp-elementor-footer .hnp-elm-footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1.2fr;
    gap: 26px;
}

body .hnp-elementor-footer .hnp-elm-footer-col h4 {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: 21px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

body .hnp-elementor-footer .hnp-elm-footer-col p,
body .hnp-elementor-footer .hnp-elm-footer-col li,
body .hnp-elementor-footer .hnp-elm-footer-col a {
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.75;
    font-size: 15px;
}

body .hnp-elementor-footer .hnp-elm-footer-col ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

body .hnp-elementor-footer .hnp-elm-footer-col li {
    margin: 0 0 6px;
}

body .hnp-elementor-footer .hnp-elm-footer-col a:hover {
    color: #ffffff;
    text-decoration: underline;
}

body .hnp-elementor-footer .hnp-hotline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    padding: 9px 16px;
    border-radius: 999px;
    background: #e51f2f;
    color: #ffffff !important;
    font-weight: 700;
}

body .hnp-elementor-footer .hnp-elm-footer-bottom {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
    display: flex;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

body .hnp-elementor-footer .hnp-elm-footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 13px;
}

@media (max-width: 1023px) {
    body .whb-general-header .whb-column {
        padding-top: 3px;
        padding-bottom: 3px;
    }

    body .whb-general-header .wd-logo img,
    body .whb-general-header .site-logo img {
        max-height: 48px !important;
    }

    body .hnp-home h1 {
        font-size: clamp(36px, 8vw, 48px);
    }

    body .hnp-home h2,
    body .hnp-headline h2 {
        font-size: clamp(30px, 6.8vw, 40px) !important;
    }

    body .hnp-news-card h3 {
        font-size: clamp(23px, 5.4vw, 30px);
    }

    body .hnp-elementor-footer .hnp-elm-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 18px;
    }
}

@media (max-width: 767px) {
    body .hnp-elementor-footer .hnp-elm-footer-wrap {
        padding: 30px 0 14px;
    }

    body .hnp-elementor-footer .hnp-elm-footer-grid {
        grid-template-columns: 1fr;
    }
}

/* Final override: compact headings + menu flush to top */
body .hnp-elementor-top-header {
    display: block !important;
    position: relative;
    z-index: 1200;
}

body .whb-header,
body .whb-general-header,
body .whb-general-header .whb-row,
body .whb-general-header .whb-column {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-radius: 0 !important;
}

body .whb-header,
body .whb-general-header {
    position: relative;
    z-index: 1100;
}

body .whb-general-header {
    box-shadow: 0 6px 16px rgba(12, 38, 101, 0.08);
}

body .whb-general-header .wd-logo img,
body .whb-general-header .site-logo img {
    max-height: 48px !important;
}

body .whb-general-header .wd-nav > li > a {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    font-size: 14px !important;
}

body .whb-general-header .wd-tools-element > a,
body .whb-general-header .wd-tools-icon,
body .whb-general-header .wd-tools-inner,
body .whb-general-header .wd-header-my-account > a,
body .whb-general-header .wd-header-search > a,
body .whb-general-header .wd-header-cart > a,
body .whb-general-header .wd-header-wishlist > a {
    color: #0b2a69 !important;
}

body .whb-general-header .wd-tools-icon svg,
body .whb-general-header .wd-tools-element svg {
    fill: #0b2a69 !important;
    color: #0b2a69 !important;
}

body .whb-general-header .wd-tools-count {
    background: #0b2a69 !important;
    color: #ffffff !important;
}

body .hnp-home h1 {
    font-size: clamp(36px, 4.1vw, 54px) !important;
    line-height: 1.05 !important;
}

body .hnp-home h2,
body .hnp-headline h2 {
    font-size: clamp(28px, 3.2vw, 40px) !important;
    line-height: 1.16 !important;
}

body .hnp-news-card h3 {
    font-size: clamp(18px, 2vw, 28px) !important;
    line-height: 1.26 !important;
}

@media (max-width: 767px) {
    body .hnp-home h1 {
        font-size: clamp(30px, 8.2vw, 40px) !important;
    }

    body .hnp-home h2,
    body .hnp-headline h2 {
        font-size: clamp(24px, 7.2vw, 32px) !important;
    }
}

/* Keep default WordPress admin-bar behavior (avoid layout shifts) */
html.admin-bar,
body.admin-bar {
    margin-top: initial !important;
    padding-top: initial !important;
}

body.admin-bar #wpadminbar {
    display: block !important;
}

/* Mobile optimization: top header + main menu */
@media (max-width: 1023px) {
    body .hnp-elementor-top-header .hnp-top-header-inner {
        display: grid;
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 7px 12px;
        min-height: 0;
        text-align: center;
        font-size: 12px;
        line-height: 1.35;
    }

    body .hnp-elementor-top-header .hnp-top-header-left,
    body .hnp-elementor-top-header .hnp-top-header-right {
        display: block;
        width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body .whb-general-header .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body .whb-general-header .whb-flex-row {
        min-height: 62px;
    }

    body .whb-general-header .wd-logo img,
    body .whb-general-header .site-logo img {
        max-height: 40px !important;
    }

    body .whb-general-header .wd-nav > li > a {
        font-size: 13px !important;
        padding: 10px 9px !important;
    }
}

@media (max-width: 767px) {
    body .hnp-elementor-top-header .hnp-top-header-inner {
        font-size: 13px;
        font-weight: 700;
        gap: 2px;
        padding: 7px 10px;
    }

    body .whb-general-header .whb-flex-row {
        min-height: 72px;
    }

    body .whb-general-header .wd-logo img,
    body .whb-general-header .site-logo img {
        max-height: 52px !important;
        width: auto !important;
    }

    body .whb-general-header .wd-header-main-nav {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    body .whb-general-header .wd-header-main-nav::-webkit-scrollbar {
        display: none;
    }

    body .whb-general-header .wd-nav.wd-nav-main {
        display: flex;
        flex-wrap: nowrap;
        width: max-content;
        gap: 2px;
    }

    body .whb-general-header .wd-nav > li > a {
        font-size: 12px !important;
        padding: 9px 8px !important;
    }
}

/* Header cleanup: bigger logo + hide wishlist/compare/login */
body .whb-general-header .wd-logo img,
body .whb-general-header .site-logo img,
body .whb-sticky-header .wd-logo img,
body .whb-sticky-header .site-logo img {
    max-height: 74px !important;
    width: auto !important;
}

body .wd-header-wishlist,
body .wd-header-compare,
body .wd-header-my-account,
body .menu-item-wishlist,
body .menu-item-compare,
body .menu-item-account,
body .login-side-opener.menu-item-account,
body .wd-toolbar-item .wd-header-wishlist,
body .wd-toolbar-item .wd-header-my-account {
    display: none !important;
}

@media (max-width: 767px) {
    body .whb-general-header .wd-logo img,
    body .whb-general-header .site-logo img,
    body .whb-sticky-header .wd-logo img,
    body .whb-sticky-header .site-logo img {
        max-height: 74px !important;
    }
}

/* Remove top white strip from skip links area */
body .wd-skip-links {
    display: none !important;
}

/* Homepage heading icons */
body .hnp-home .hnp-hero-content h1::before,
body .hnp-home .hnp-headline h2::before,
body .hnp-home .hnp-about-intro h2::before,
body .hnp-home .hnp-industries h2::before,
body .hnp-home .hnp-cta h2::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-right: 12px;
    border-radius: 50%;
    background: #f2f6ff url('./assets/heading-bearing-icon.svg?v=1') center/24px 24px no-repeat;
    border: 1px solid #d4def4;
    vertical-align: middle;
    transform: translateY(-2px);
}

@media (max-width: 767px) {
    body .hnp-home .hnp-hero-content h1::before,
    body .hnp-home .hnp-headline h2::before,
    body .hnp-home .hnp-about-intro h2::before,
    body .hnp-home .hnp-industries h2::before,
    body .hnp-home .hnp-cta h2::before {
        width: 24px;
        height: 24px;
        margin-right: 9px;
        background-size: 19px 19px;
    }
}

/* Final stable top-spacing reset (home + other pages) */
html {
    margin-top: 0 !important;
}

body {
    margin: 0 !important;
}

html.admin-bar {
    margin-top: 32px !important;
}

@media screen and (max-width: 782px) {
    html.admin-bar {
        margin-top: 46px !important;
    }
}

body.admin-bar #wpadminbar {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    z-index: 99999 !important;
    border-bottom: 0 !important;
}

body.home .hnp-elementor-top-header,
body.home .wd-page-wrapper.website-wrapper,
body.home .whb-header,
body.home .whb-main-header,
body.home .whb-row.whb-top-bar,
body.home .whb-row.whb-general-header {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Stable page height: keep footer at bottom, remove blank area below footer */
html,
body {
    min-height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body .wd-page-wrapper.website-wrapper {
    flex: 1 0 auto;
}

body .hnp-elementor-footer {
    flex: 0 0 auto;
    margin-top: auto;
}



/* Final header tune: bigger logo + taller sticky menu on scroll */
@media (min-width: 1024px) {
    body .whb-general-header .whb-flex-row,
    body .whb-sticky-header .whb-flex-row,
    body .whb-clone .whb-flex-row {
        min-height: 86px !important;
    }

    body .whb-general-header .wd-logo img,
    body .whb-general-header .site-logo img,
    body .whb-sticky-header .wd-logo img,
    body .whb-sticky-header .site-logo img,
    body .whb-clone .wd-logo img,
    body .whb-clone .site-logo img {
        max-height: 74px !important;
        width: auto !important;
    }

    body .whb-general-header .wd-nav > li > a,
    body .whb-sticky-header .wd-nav > li > a,
    body .whb-clone .wd-nav > li > a {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        line-height: 1.2 !important;
    }

    body.whb-sticked .whb-general-header .whb-flex-row,
    body.whb-scrolled .whb-general-header .whb-flex-row,
    body .whb-sticked .whb-flex-row,
    body .whb-clone.whb-sticked .whb-flex-row {
        min-height: 82px !important;
    }

    body.whb-sticked .whb-general-header .wd-logo img,
    body.whb-scrolled .whb-general-header .wd-logo img,
    body .whb-sticked .wd-logo img,
    body .whb-clone.whb-sticked .wd-logo img,
    body.whb-sticked .whb-general-header .site-logo img,
    body.whb-scrolled .whb-general-header .site-logo img,
    body .whb-sticked .site-logo img,
    body .whb-clone.whb-sticked .site-logo img {
        max-height: 74px !important;
    }
}




/* Final align update: centered logo in menu + constrained top header content */
@media (min-width: 1024px) {
    body .whb-general-header .whb-flex-row,
    body .whb-sticky-header .whb-flex-row,
    body .whb-clone .whb-flex-row {
        min-height: 80px !important;
    }

    body .whb-general-header .wd-logo,
    body .whb-sticky-header .wd-logo,
    body .whb-clone .wd-logo,
    body .whb-general-header .site-logo,
    body .whb-sticky-header .site-logo,
    body .whb-clone .site-logo {
        display: flex;
        align-items: center;
    }

    body .whb-general-header .wd-nav > li > a,
    body .whb-sticky-header .wd-nav > li > a,
    body .whb-clone .wd-nav > li > a {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    body.whb-sticked .whb-general-header .whb-flex-row,
    body.whb-scrolled .whb-general-header .whb-flex-row,
    body .whb-sticked .whb-flex-row,
    body .whb-clone.whb-sticked .whb-flex-row {
        min-height: 78px !important;
    }
}

body .hnp-elementor-top-header {
    width: 100%;
}

body .hnp-elementor-top-header .hnp-top-header-inner {
    width: min(1220px, calc(100% - 40px));
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 767px) {
    body .hnp-elementor-top-header .hnp-top-header-inner {
        width: calc(100% - 20px);
    }
}

/* Final refinement: sticky logo vertical balance + full-width topbar background */
@media (min-width: 1024px) {
    body .whb-general-header .whb-flex-row {
        min-height: 80px !important;
        align-items: center !important;
    }

    body .whb-general-header .wd-logo img,
    body .whb-general-header .site-logo img {
        max-height: 70px !important;
        width: auto !important;
    }

    body.whb-sticked .whb-general-header .whb-flex-row,
    body.whb-scrolled .whb-general-header .whb-flex-row,
    body .whb-clone.whb-sticked .whb-flex-row,
    body .whb-sticky-header .whb-flex-row {
        min-height: 74px !important;
        align-items: center !important;
    }

    body.whb-sticked .whb-general-header .wd-logo img,
    body.whb-scrolled .whb-general-header .wd-logo img,
    body .whb-clone.whb-sticked .wd-logo img,
    body .whb-sticky-header .wd-logo img,
    body.whb-sticked .whb-general-header .site-logo img,
    body.whb-scrolled .whb-general-header .site-logo img,
    body .whb-clone.whb-sticked .site-logo img,
    body .whb-sticky-header .site-logo img {
        max-height: 60px !important;
        width: auto !important;
    }

    body.whb-sticked .whb-general-header .wd-nav > li > a,
    body.whb-scrolled .whb-general-header .wd-nav > li > a,
    body .whb-clone.whb-sticked .wd-nav > li > a,
    body .whb-sticky-header .wd-nav > li > a {
        padding-top: 9px !important;
        padding-bottom: 9px !important;
    }
}

/* Top header: keep blue background full width, constrain text content only */
body .hnp-elementor-top-header {
    width: 100% !important;
    background: linear-gradient(90deg, #0d2d72 0%, #184bb7 100%) !important;
}

body .hnp-elementor-top-header .hnp-top-header-inner {
    width: min(1220px, calc(100% - 40px));
    margin-left: auto;
    margin-right: auto;
    background: transparent !important;
}

@media (max-width: 767px) {
    body .hnp-elementor-top-header .hnp-top-header-inner {
        width: calc(100% - 20px);
    }
}


/* Context icons for homepage cards and industry pills */
body .hnp-home .hnp-stats strong,
body .hnp-value-grid h3,
body .hnp-about-cards h3 {
    display: flex;
    align-items: center;
    gap: 8px;
}

body .hnp-home .hnp-stats strong::before,
body .hnp-value-grid h3::before,
body .hnp-about-cards h3::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: #eef3ff;
    border: 1px solid #d5e0f7;
    color: #123583;
    font-size: 14px;
    line-height: 1;
    flex: 0 0 26px;
}

body .hnp-home .hnp-stats li:nth-child(1) strong::before { content: "\2713"; }
body .hnp-home .hnp-stats li:nth-child(2) strong::before { content: "\23F1"; }
body .hnp-home .hnp-stats li:nth-child(3) strong::before { content: "\1F69A"; }

body .hnp-value-grid article:nth-child(1) h3::before { content: "\1F69B"; }
body .hnp-value-grid article:nth-child(2) h3::before { content: "\1F6E0"; }
body .hnp-value-grid article:nth-child(3) h3::before { content: "\1F91D"; }

body .hnp-about-cards article:nth-child(1) h3::before { content: "\1F6E1"; }
body .hnp-about-cards article:nth-child(2) h3::before { content: "\1F4C8"; }
body .hnp-about-cards article:nth-child(3) h3::before { content: "\1F3A7"; }

body .hnp-industry-list li {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

body .hnp-industry-list li::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #eef3ff;
    border: 1px solid #d5e0f7;
    font-size: 12px;
    line-height: 1;
    flex: 0 0 22px;
}

body .hnp-industry-list li:nth-child(1)::before { content: "\1F3ED"; }
body .hnp-industry-list li:nth-child(2)::before { content: "\2699"; }
body .hnp-industry-list li:nth-child(3)::before { content: "\1F4C4"; }
body .hnp-industry-list li:nth-child(4)::before { content: "\26A1"; }
body .hnp-industry-list li:nth-child(5)::before { content: "\1F37D"; }
body .hnp-industry-list li:nth-child(6)::before { content: "\1F69C"; }

@media (max-width: 767px) {
    body .hnp-home .hnp-stats strong::before,
    body .hnp-value-grid h3::before,
    body .hnp-about-cards h3::before {
        width: 24px;
        height: 24px;
        flex-basis: 24px;
        font-size: 13px;
    }
}

/* Right-side NTN distributor logo on main menu */
@media (min-width: 1024px) {
    body .whb-row.whb-general-header .whb-col-right.whb-column10,
    body .whb-sticky-header .whb-col-right.whb-column10,
    body .whb-clone .whb-col-right.whb-column10 {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    body .whb-row.whb-general-header .whb-col-right.whb-column10::before,
    body .whb-sticky-header .whb-col-right.whb-column10::before,
    body .whb-clone .whb-col-right.whb-column10::before {
        content: "";
        display: block;
        width: 250px;
        height: 42px;
        background: url('/wp-content/uploads/2026/04/ntn-menu-right-logo.png') center / contain no-repeat;
        opacity: 0.96;
        flex: 0 0 250px;
    }
}

@media (max-width: 1200px) {
    body .whb-row.whb-general-header .whb-col-right.whb-column10::before,
    body .whb-sticky-header .whb-col-right.whb-column10::before,
    body .whb-clone .whb-col-right.whb-column10::before {
        width: 210px;
        flex-basis: 210px;
    }
}

@media (max-width: 1023px) {
    body .whb-row.whb-general-header .whb-col-right.whb-column10::before,
    body .whb-sticky-header .whb-col-right.whb-column10::before,
    body .whb-clone .whb-col-right.whb-column10::before {
        content: none !important;
    }
}

/* Robust right-menu logo rendering (real img node) */
@media (min-width: 1024px) {
    body .whb-row.whb-general-header .whb-col-right.whb-column10::before,
    body .whb-sticky-header .whb-col-right.whb-column10::before,
    body .whb-clone .whb-col-right.whb-column10::before {
        content: none !important;
        display: none !important;
    }

    body .whb-row.whb-general-header .whb-col-right.whb-column10,
    body .whb-sticky-header .whb-col-right.whb-column10,
    body .whb-clone .whb-col-right.whb-column10 {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    body .hnp-menu-right-logo-inline {
        display: block;
        width: 240px;
        max-width: 28vw;
        height: auto;
        object-fit: contain;
        opacity: 0.96;
        margin-right: 4px;
        flex: 0 0 auto;
    }
}

@media (max-width: 1280px) {
    body .hnp-menu-right-logo-inline {
        width: 210px;
    }
}

@media (max-width: 1023px) {
    body .hnp-menu-right-logo-inline {
        display: none !important;
    }

    body .whb-column.whb-mobile-right.whb-column_mobile4 {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
        min-width: 0;
    }

    body .hnp-menu-right-logo-mobile {
        display: block;
        width: 132px;
        max-width: 38vw;
        height: auto;
        object-fit: contain;
        opacity: 0.98;
        margin-left: auto;
        margin-right: 2px;
        flex: 0 0 auto;
    }
}

/* About section rotating bearing feature */
body .hnp-about-bearing-strip {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

body .hnp-bearing-item {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    display: grid;
    place-items: center;
    animation: hnpBearingReveal 0.7s ease both;
}

body .hnp-bearing-item::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: url('/wp-content/uploads/2026/04/ntn-home-bg-bearing.png') center/cover no-repeat;
    animation: hnpBearingSpin 14s linear infinite;
}

body .hnp-bearing-item::after {
    content: "";
    position: absolute;
    inset: 17%;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 25%, #ffffff 0%, #f5f8ff 65%, #d9e2f4 100%);
    box-shadow: inset 0 10px 18px rgba(255, 255, 255, 0.95), inset 0 -10px 18px rgba(11, 36, 94, 0.18);
}

body .hnp-bearing-item:nth-child(1) { animation-delay: 0.05s; }
body .hnp-bearing-item:nth-child(2) { animation-delay: 0.2s; }
body .hnp-bearing-item:nth-child(3) { animation-delay: 0.35s; }
body .hnp-bearing-item:nth-child(4) { animation-delay: 0.5s; }
body .hnp-bearing-item:nth-child(2)::before { animation-duration: 13s; }
body .hnp-bearing-item:nth-child(3)::before { animation-duration: 12s; }
body .hnp-bearing-item:nth-child(4)::before { animation-duration: 11s; }

body .hnp-bearing-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 4;
    width: 56%;
    height: 56%;
    border-radius: 50%;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 12px;
    background: radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.92) 0%, rgba(234, 241, 253, 0.82) 56%, rgba(201, 214, 238, 0.78) 100%);
    border: 1px solid rgba(153, 171, 207, 0.9);
    color: #0b2a69;
    box-shadow: inset 0 8px 12px rgba(255, 255, 255, 0.8), inset 0 -8px 12px rgba(11, 42, 105, 0.16), 0 6px 14px rgba(11, 42, 105, 0.14);
    backdrop-filter: blur(1.5px);
}

body .hnp-bearing-item:first-child .hnp-bearing-inner {
    background: radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.97) 0%, rgba(239, 245, 255, 0.9) 62%, rgba(214, 224, 243, 0.86) 100%);
}

body .hnp-bearing-inner img {
    max-width: 92%;
    max-height: 92%;
    width: auto;
    height: auto;
    object-fit: contain;
}

body .hnp-bearing-inner h3 {
    margin: 0;
    color: #0b2a69;
    font-family: "Montserrat", "Roboto", "Segoe UI", Tahoma, sans-serif;
    font-size: clamp(13px, 0.86vw, 16px);
    line-height: 1.22;
    font-weight: 800;
    letter-spacing: 0.01em;
    text-transform: none;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    max-width: 92%;
}

@keyframes hnpBearingSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes hnpBearingReveal {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1023px) {
    body .hnp-about-bearing-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    body .hnp-about-bearing-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    body .hnp-bearing-item {
        max-width: none;
        width: 100%;
        margin: 0;
    }

    body .hnp-bearing-inner h3 {
        font-size: 12px;
        line-height: 1.2;
        letter-spacing: 0;
    }
}

/* Visibility fix: make bearing ring clearly visible */
body .hnp-bearing-item {
    background: radial-gradient(circle at 50% 50%, #f5f8ff 0%, #e9effa 65%, #dce4f3 100%);
    box-shadow: 0 14px 28px rgba(15, 41, 95, 0.14);
    isolation: isolate;
}

body .hnp-bearing-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    z-index: 3;
    -webkit-mask: radial-gradient(circle at center, transparent 0 31%, #000 39%);
    mask: radial-gradient(circle at center, transparent 0 31%, #000 39%);
    animation: hnpBearingSpin 14s linear infinite;
}

body .hnp-bearing-item::before {
    content: none;
    display: none;
    inset: 0;
    border-radius: 50%;
    background: none;
    box-shadow: 0 6px 12px rgba(14, 38, 92, 0.14);
}

body .hnp-bearing-item::after {
    inset: 27%;
    border: 3px solid #b8c3d8;
    background: radial-gradient(circle at 30% 20%, #ffffff 0%, #edf2fb 55%, #d7deec 100%);
    box-shadow: inset 0 10px 14px rgba(255, 255, 255, 0.9), inset 0 -8px 12px rgba(11, 36, 94, 0.16);
    z-index: 1;
}

@media (max-width: 767px) {
    body .hnp-bearing-photo {
        content: url('/wp-content/uploads/2026/04/hnp-bearing-ring-300.webp');
    }
}

/* Philosophy page layout hard-fix */
body.hnp-philosophy-page .wd-page-title {
    display: none !important;
}

body.hnp-philosophy-page .wd-content-layout.content-layout-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.hnp-philosophy-page .wd-content-layout.content-layout-wrapper > .hnp-about-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.hnp-philosophy-page .hnp-about-page h1,
body.hnp-philosophy-page .hnp-about-page h2,
body.hnp-philosophy-page .hnp-about-page h3,
body.hnp-philosophy-page .hnp-about-page p {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

/* About page layout hard-fix */
body.hnp-company-about-page .wd-page-title {
    display: none !important;
}

body.hnp-company-about-page .wd-content-layout.content-layout-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.hnp-company-about-page .wd-content-layout.content-layout-wrapper > .hnp-about-page,
body.hnp-company-about-page .wd-content-layout.content-layout-wrapper > main.hnp-about-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.hnp-company-about-page .hnp-about-page h1,
body.hnp-company-about-page .hnp-about-page h2,
body.hnp-company-about-page .hnp-about-page h3,
body.hnp-company-about-page .hnp-about-page p {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

/* Contact page layout hard-fix */
body.hnp-contact-custom-page .wd-page-title {
    display: none !important;
}

body.hnp-contact-custom-page .wd-content-layout.content-layout-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.hnp-contact-custom-page .wd-content-layout.content-layout-wrapper > .hnp-contact-page,
body.hnp-contact-custom-page .wd-content-layout.content-layout-wrapper > main.hnp-contact-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.hnp-contact-custom-page .hnp-contact-page h1,
body.hnp-contact-custom-page .hnp-contact-page h2,
body.hnp-contact-custom-page .hnp-contact-page h3,
body.hnp-contact-custom-page .hnp-contact-page p,
body.hnp-contact-custom-page .hnp-contact-page li {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

/* Products page layout hard-fix */
body.hnp-products-custom-page .wd-page-title {
    display: none !important;
}

body.hnp-products-custom-page .wd-content-layout.content-layout-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.hnp-products-custom-page .wd-content-layout.content-layout-wrapper > .hnp-products-page,
body.hnp-products-custom-page .wd-content-layout.content-layout-wrapper > main.hnp-products-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.hnp-products-custom-page .hnp-products-page h1,
body.hnp-products-custom-page .hnp-products-page h2,
body.hnp-products-custom-page .hnp-products-page h3,
body.hnp-products-custom-page .hnp-products-page p {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

/* About company page: balanced heading scale + sentence case */
body.hnp-company-about-page .hnp-about-page h1 {
    font-size: clamp(30px, 3.1vw, 44px) !important;
    line-height: 1.2 !important;
    text-transform: none !important;
}

body.hnp-company-about-page .hnp-about-title {
    font-size: clamp(24px, 2.3vw, 34px) !important;
    line-height: 1.22 !important;
    text-transform: none !important;
}

body.hnp-company-about-page .hnp-about-feature-grid h3,
body.hnp-company-about-page .hnp-about-faq-list h3 {
    font-size: clamp(18px, 1.45vw, 24px) !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}

/* About page redesign */
body .hnp-about-page {
    color: #102040;
    background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 35%, #f7faff 100%);
}

body .hnp-about-shell {
    width: min(1220px, calc(100% - 40px));
    margin: 0 auto;
}

body .hnp-about-hero {
    padding: 56px 0 46px;
}

body .hnp-about-hero-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 28px;
    align-items: center;
}

body .hnp-about-kicker {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(27, 77, 179, 0.12);
    color: #123583;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body .hnp-about-page h1 {
    margin: 14px 0 0;
    font-size: clamp(34px, 4.2vw, 56px);
    line-height: 1.08;
    color: #0b2a69;
}

body .hnp-about-hero-content p {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.7;
    color: #435574;
}

body .hnp-about-hero-actions {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

body .hnp-about-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    border-radius: 999px;
    text-decoration: none !important;
    font-weight: 700;
}

body .hnp-about-btn-primary {
    background: linear-gradient(135deg, #e41f2f 0%, #c80f1f 100%);
    color: #ffffff !important;
}

body .hnp-about-btn-ghost {
    border: 1px solid #cdd8ef;
    background: #ffffff;
    color: #123583 !important;
}

body .hnp-about-hero-image img {
    width: 100%;
    border-radius: 24px;
    display: block;
    box-shadow: 0 20px 44px rgba(11, 42, 105, 0.18);
}

body .hnp-about-block {
    padding: 40px 0;
}

body .hnp-about-block-alt {
    background: #f3f7ff;
}

body .hnp-about-title {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.16;
    color: #0b2a69;
}

body .hnp-about-title::before {
    content: attr(data-icon);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e8efff;
    border: 1px solid #cbd9f8;
    font-size: 18px;
}

body .hnp-about-two-col {
    margin-top: 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: center;
}

body .hnp-about-two-col p,
body .hnp-about-lead {
    margin: 0 0 12px;
    font-size: 17px;
    line-height: 1.75;
    color: #415271;
}

body .hnp-about-card {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 32px rgba(11, 42, 105, 0.12);
    border: 1px solid #d4def1;
}

body .hnp-about-card img {
    width: 100%;
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

body .hnp-about-quote {
    margin-top: 20px;
    padding: 20px 22px;
    border-radius: 14px;
    border-left: 5px solid #e41f2f;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(11, 42, 105, 0.09);
}

body .hnp-about-quote p {
    margin: 0;
    font-size: 21px;
    line-height: 1.5;
    color: #123583;
    font-weight: 600;
}

body .hnp-about-feature-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

body .hnp-about-feature-grid article {
    border-radius: 14px;
    border: 1px solid #d2ddef;
    background: #ffffff;
    padding: 20px;
}

body .hnp-about-feature-grid-2x2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body .hnp-about-feature-grid h3 {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 22px;
    color: #0b2a69;
}

body .hnp-about-feature-grid h3::before {
    content: attr(data-icon);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #eff4ff;
    border: 1px solid #cedaf4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

body .hnp-about-feature-grid p {
    margin: 12px 0 0;
    color: #4d5f7c;
    line-height: 1.68;
}

body .hnp-about-stats {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

body .hnp-about-stats div {
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #d2deef;
    padding: 18px;
}

body .hnp-about-stats strong {
    display: block;
    font-size: 30px;
    line-height: 1.1;
    color: #0b2a69;
}

body .hnp-about-stats span {
    display: block;
    margin-top: 8px;
    color: #4f617e;
}

body .hnp-about-faq {
    padding: 40px 0 58px;
}

body .hnp-about-faq-list {
    margin-top: 18px;
    display: grid;
    gap: 12px;
}

body .hnp-about-faq-list article {
    border-radius: 14px;
    border: 1px solid #d3deef;
    background: #ffffff;
    padding: 18px 20px;
}

body .hnp-about-faq-list h3 {
    margin: 0;
    font-size: 22px;
    color: #0b2a69;
}

body .hnp-about-faq-list p {
    margin: 10px 0 0;
    color: #4d5f7b;
    line-height: 1.7;
}

@media (max-width: 1023px) {
    body .hnp-about-hero-grid,
    body .hnp-about-two-col,
    body .hnp-about-feature-grid,
    body .hnp-about-stats {
        grid-template-columns: 1fr;
    }

    body .hnp-about-feature-grid-2x2 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    body .hnp-about-shell {
        width: calc(100% - 24px);
    }

    body .hnp-about-title {
        font-size: clamp(22px, 7vw, 30px);
    }

    body .hnp-about-feature-grid h3,
    body .hnp-about-faq-list h3 {
        font-size: 20px;
    }

    body .hnp-about-hero {
        padding-top: 40px;
    }
}

/* Contact page */
body .hnp-contact-page {
    background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 40%, #f7faff 100%);
    color: #102040;
}

body .hnp-contact-shell {
    width: min(1220px, calc(100% - 40px));
    margin: 0 auto;
}

body .hnp-contact-hero {
    padding: 74px 0 20px;
}

body .hnp-contact-kicker {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(27, 77, 179, 0.12);
    color: #123583;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body .hnp-contact-hero h1 {
    margin: 14px 0 0;
    font-size: clamp(30px, 3.4vw, 46px);
    line-height: 1.15;
    color: #0b2a69;
}

body .hnp-contact-lead {
    margin-top: 14px;
    max-width: 860px;
    font-size: 18px;
    line-height: 1.7;
    color: #435574;
}

body .hnp-contact-visual-wrap {
    padding: 12px 0 24px;
}

body .hnp-contact-visual-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    align-items: stretch;
}

body .hnp-contact-image {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #d9e1f2;
    background:
        linear-gradient(160deg, rgba(18, 53, 131, 0.1), rgba(255, 255, 255, 0.88)),
        #ffffff;
    box-shadow: 0 14px 28px rgba(12, 38, 101, 0.08);
    min-height: 460px;
}

body .hnp-contact-image img {
    width: 100%;
    height: 100%;
    min-height: 460px;
    object-fit: cover;
    display: block;
}

body .hnp-contact-map {
    display: flex;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #d9e1f2;
    background: #ffffff;
    box-shadow: 0 14px 28px rgba(12, 38, 101, 0.08);
    min-height: 460px;
    height: 100%;
}

body .hnp-contact-map iframe {
    width: 100%;
    height: 100%;
    min-height: 460px;
    display: block;
    flex: 1 1 auto;
}

body .hnp-contact-content {
    padding: 0 0 66px;
}

body .hnp-contact-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 18px;
}

body .hnp-contact-card {
    border-radius: 16px;
    border: 1px solid #d9e1f2;
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 12px 24px rgba(12, 38, 101, 0.07);
}

body .hnp-contact-card h2 {
    margin: 0;
    color: #0b2a69;
    font-size: clamp(24px, 2vw, 30px);
    line-height: 1.2;
}

body .hnp-contact-card h2::before {
    content: attr(data-icon);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-right: 10px;
    border-radius: 50%;
    background: #eff4ff;
    border: 1px solid #c8d6f5;
    font-size: 16px;
    vertical-align: middle;
}

body .hnp-contact-card ul {
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 11px;
}

body .hnp-contact-card li {
    margin: 0;
    color: #33496f;
    font-size: 17px;
    line-height: 1.65;
}

body .hnp-contact-card p {
    margin: 16px 0 0;
    color: #33496f;
    font-size: 17px;
    line-height: 1.65;
}

body .hnp-contact-note {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 12px;
    background: rgba(27, 77, 179, 0.08);
    border: 1px solid rgba(27, 77, 179, 0.18);
}

body .hnp-contact-note p {
    margin: 0;
    font-size: 16px;
    color: #123583;
}

@media (max-width: 1023px) {
    body .hnp-contact-visual-grid {
        grid-template-columns: 1fr;
    }

    body .hnp-contact-grid {
        grid-template-columns: 1fr;
    }

    body .hnp-contact-image,
    body .hnp-contact-image img {
        min-height: 380px;
    }

    body .hnp-contact-map iframe {
        min-height: 380px;
    }
}

@media (max-width: 767px) {
    body .hnp-contact-shell {
        width: calc(100% - 24px);
    }

    body .hnp-contact-hero {
        padding-top: 54px;
    }

    body .hnp-contact-hero h1 {
        font-size: clamp(26px, 8vw, 34px);
    }

    body .hnp-contact-lead,
    body .hnp-contact-card li,
    body .hnp-contact-card p {
        font-size: 16px;
    }

    body .hnp-contact-image,
    body .hnp-contact-image img {
        min-height: 300px;
    }

    body .hnp-contact-map iframe {
        min-height: 320px;
    }
}

/* News archive redesign */
body .hnp-news-archive {
    background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 35%, #f8fbff 100%);
}

body .hnp-news-shell {
    width: min(1220px, calc(100% - 40px));
    margin: 0 auto;
}

body .hnp-news-hero {
    padding: 52px 0 24px;
}

body .hnp-news-kicker {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(27, 77, 179, 0.1);
    color: #123583;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body .hnp-news-hero h1 {
    margin: 14px 0 0;
    color: #0b2a69;
    font-size: clamp(32px, 3.4vw, 48px);
    line-height: 1.14;
}

body .hnp-news-hero p {
    margin: 12px 0 0;
    max-width: 860px;
    color: #435574;
    font-size: 18px;
    line-height: 1.7;
}

body .hnp-news-featured {
    padding: 6px 0 18px;
}

body .hnp-news-featured-card {
    display: grid;
    grid-template-columns: 1.04fr 0.96fr;
    gap: 18px;
    border-radius: 18px;
    border: 1px solid #d9e1f2;
    background: #ffffff;
    padding: 14px;
    box-shadow: 0 18px 34px rgba(12, 38, 101, 0.1);
}

body .hnp-news-featured-image {
    display: block;
    border-radius: 14px;
    overflow: hidden;
}

body .hnp-news-featured-image img {
    width: 100%;
    height: 100%;
    min-height: 340px;
    max-height: 430px;
    object-fit: cover;
    display: block;
}

body .hnp-news-featured-content {
    padding: 8px 6px;
}

body .hnp-news-date {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(234, 31, 43, 0.1);
    color: #e0232d;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

body .hnp-news-featured-content h2 {
    margin: 14px 0 0;
    font-size: clamp(26px, 2.7vw, 38px);
    line-height: 1.18;
}

body .hnp-news-featured-content h2 a {
    color: #0b2a69;
    text-decoration: none;
}

body .hnp-news-featured-content h2 a:hover {
    color: #e0232d;
}

body .hnp-news-featured-content p {
    margin: 12px 0 0;
    color: #4a5c7a;
    font-size: 17px;
    line-height: 1.72;
}

body .hnp-news-link {
    display: inline-flex;
    margin-top: 14px;
    color: #123583;
    font-weight: 700;
    text-decoration: none;
}

body .hnp-news-link:hover {
    color: #e0232d;
}

body .hnp-news-list {
    padding: 8px 0 64px;
}

body .hnp-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

body .hnp-news-card {
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #d9e1f2;
    background: #ffffff;
    box-shadow: 0 12px 24px rgba(12, 38, 101, 0.08);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

body .hnp-news-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 30px rgba(12, 38, 101, 0.12);
}

body .hnp-news-thumb {
    display: block;
}

body .hnp-news-thumb img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    display: block;
}

body .hnp-news-card-body {
    padding: 14px;
}

body .hnp-news-card h3 {
    margin: 12px 0 0;
    font-size: clamp(21px, 1.7vw, 28px);
    line-height: 1.22;
}

body .hnp-news-card h3 a {
    color: #0b2a69;
    text-decoration: none;
}

body .hnp-news-card h3 a:hover {
    color: #e0232d;
}

body .hnp-news-card p {
    margin: 10px 0 0;
    color: #516483;
    font-size: 16px;
    line-height: 1.62;
}

body .hnp-news-empty {
    grid-column: 1 / -1;
    border-radius: 14px;
    border: 1px solid #d9e1f2;
    background: #ffffff;
    padding: 28px;
}

body .hnp-news-empty h3 {
    margin: 0;
    color: #0b2a69;
}

body .hnp-news-empty p {
    margin: 8px 0 0;
    color: #4a5c7a;
}

body .hnp-news-pagination {
    margin-top: 24px;
}

body .hnp-news-pagination .page-numbers {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body .hnp-news-pagination .page-numbers li {
    list-style: none;
    margin: 0;
}

body .hnp-news-pagination .page-numbers a,
body .hnp-news-pagination .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid #d4dff5;
    background: #ffffff;
    color: #123583;
    font-weight: 700;
    text-decoration: none;
}

body .hnp-news-pagination .page-numbers .current {
    background: #123583;
    border-color: #123583;
    color: #ffffff;
}

body .hnp-news-pagination .page-numbers a:hover {
    background: #eaf1ff;
}

@media (max-width: 1023px) {
    body .hnp-news-shell {
        width: min(1220px, calc(100% - 28px));
    }

    body .hnp-news-featured-card {
        grid-template-columns: 1fr;
    }

    body .hnp-news-featured-image img {
        min-height: 280px;
        max-height: 360px;
    }

    body .hnp-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    body .hnp-news-shell {
        width: calc(100% - 24px);
    }

    body .hnp-news-hero {
        padding-top: 40px;
    }

    body .hnp-news-hero h1 {
        font-size: clamp(28px, 8vw, 36px);
    }

    body .hnp-news-hero p {
        font-size: 16px;
    }

    body .hnp-news-grid {
        grid-template-columns: 1fr;
    }

    body .hnp-news-thumb img {
        height: 220px;
    }
}

/* Products landing redesign */
body .hnp-products-page {
    background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 36%, #f8fbff 100%);
}

body .hnp-products-shell {
    width: min(1220px, calc(100% - 40px));
    margin: 0 auto;
}

body .hnp-products-hero {
    padding: 54px 0 22px;
}

body .hnp-products-kicker {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(27, 77, 179, 0.1);
    color: #123583;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body .hnp-products-hero h1 {
    margin: 14px 0 0;
    color: #0b2a69;
    font-size: clamp(32px, 3.3vw, 46px);
    line-height: 1.15;
}

body .hnp-products-hero p {
    margin: 12px 0 0;
    max-width: 860px;
    color: #435574;
    font-size: 18px;
    line-height: 1.72;
}

body .hnp-products-cats-section {
    padding: 8px 0 24px;
}

body .hnp-products-list-section {
    padding: 4px 0 66px;
}

body .hnp-products-list-section.is-loading {
    opacity: 0.82;
    pointer-events: none;
    transition: opacity 0.12s ease;
}

body .hnp-products-list-section .hnp-products-headline,
body .hnp-products-list-section .hnp-products-grid {
    transition: opacity 0.18s ease, transform 0.18s ease;
}

body .hnp-products-list-section.is-loading .hnp-products-headline,
body .hnp-products-list-section.is-loading .hnp-products-grid {
    opacity: 0.88;
    transform: translateY(4px);
}

body .hnp-products-headline h2 {
    margin: 0 0 14px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border-radius: 12px;
    border: 1px solid #d3def6;
    background: linear-gradient(135deg, #ffffff 0%, #f2f7ff 100%);
    color: #0b2a69;
    font-size: clamp(22px, 1.9vw, 28px);
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: 0.01em;
    text-transform: capitalize;
}

body .hnp-products-headline h2::before {
    content: "";
    width: 10px;
    height: 26px;
    border-radius: 8px;
    background: linear-gradient(180deg, #e0232d 0%, #123583 100%);
    flex: 0 0 auto;
}

body .hnp-products-headline h2 span {
    color: #e0232d;
    font-weight: 800;
}

body .hnp-products-cats-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

body .hnp-products-cat-card {
    border-radius: 14px;
    border: 1px solid #d9e1f2;
    background: #ffffff;
    box-shadow: 0 12px 24px rgba(12, 38, 101, 0.08);
    overflow: hidden;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

body .hnp-products-cat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 30px rgba(12, 38, 101, 0.12);
}

body .hnp-products-cat-card.is-active {
    border-color: #123583;
    box-shadow: 0 0 0 2px rgba(18, 53, 131, 0.18), 0 18px 30px rgba(12, 38, 101, 0.12);
}

body .hnp-products-cat-card.is-active .hnp-products-cat-name {
    color: #123583;
}

body .hnp-products-cat-card a {
    display: block;
    text-decoration: none;
}

body .hnp-products-cat-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    background: linear-gradient(145deg, #f4f7ff 0%, #eaf1ff 100%);
}

body .hnp-products-cat-thumb img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    display: block;
}

body .hnp-products-cat-no-image {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding: 12px;
    text-align: center;
    color: #123583;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

body .hnp-products-cat-name {
    display: block;
    padding: 10px 10px 12px;
    color: #0b2a69;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}

body .hnp-products-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

body .hnp-products-page .hnp-product-card {
    border-radius: 14px;
    border: 1px solid #d9e1f2;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 12px 24px rgba(12, 38, 101, 0.08);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
    display: flex;
    flex-direction: column;
}

body .hnp-products-page .hnp-product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 30px rgba(12, 38, 101, 0.12);
}

body .hnp-products-page .hnp-product-thumb {
    display: block;
    height: 220px;
    background: linear-gradient(145deg, #f4f7ff 0%, #eaf1ff 100%);
}

body .hnp-products-page .hnp-product-thumb img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

body .hnp-product-no-image {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding: 12px;
    text-align: center;
    color: #123583;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

body .hnp-product-card-body {
    padding: 14px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

body .hnp-product-card-body h3 {
    margin: 0;
    font-size: 21px;
    line-height: 1.24;
    min-height: 52px;
}

body .hnp-product-card-body h3 a {
    color: #0b2a69;
    text-decoration: none;
}

body .hnp-product-card-body h3 a:hover {
    color: #e0232d;
}

body .hnp-product-price {
    margin: 9px 0 0;
    color: #e0232d;
    font-size: 17px;
    font-weight: 700;
}

body .hnp-product-link {
    display: inline-flex;
    margin-top: auto;
    align-self: flex-start;
    padding: 8px 14px;
    border: 1px solid #c9d8f8;
    border-radius: 8px;
    background: #f4f8ff;
    color: #123583;
    font-weight: 700;
    text-decoration: none;
    line-height: 1;
}

body .hnp-product-link:hover {
    color: #0b2a69;
    background: #eaf1ff;
    border-color: #123583;
}

body .hnp-products-empty {
    grid-column: 1 / -1;
    border-radius: 14px;
    border: 1px solid #d9e1f2;
    background: #ffffff;
    padding: 28px;
}

@media (max-width: 1023px) {
    body .hnp-products-shell {
        width: min(1220px, calc(100% - 28px));
    }

    body .hnp-products-cats-grid,
    body .hnp-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ===== Archive product typography alignment ===== */
body .hnp-products-page .hnp-product-card-body h3,
body.tax-product_cat .hnp-product-card-body h3 {
    font-size: 17px !important;
    line-height: 1.35 !important;
    text-align: center !important;
    min-height: 46px !important;
}

body .hnp-products-page .hnp-product-card-body h3 a,
body.tax-product_cat .hnp-product-card-body h3 a {
    display: block !important;
    text-align: center !important;
}

body .hnp-products-page .hnp-product-link,
body.tax-product_cat .hnp-product-link {
    align-self: center !important;
    justify-content: center !important;
    text-align: center !important;
}

@media (max-width: 767px) {
    body .hnp-products-shell {
        width: calc(100% - 24px);
    }

    body .hnp-products-hero {
        padding-top: 40px;
    }

    body .hnp-products-hero h1 {
        font-size: clamp(28px, 8vw, 36px);
    }

    body .hnp-products-hero p {
        font-size: 16px;
    }

    body .hnp-products-cats-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }

    body .hnp-products-cat-thumb {
        aspect-ratio: 1 / 1;
        height: auto;
    }

    body .hnp-products-cat-thumb img {
        height: 100%;
        aspect-ratio: 1 / 1;
    }

    body .hnp-products-cat-name {
        font-size: 11px;
        line-height: 1.25;
        padding: 8px 4px 9px;
    }

    body .hnp-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body .hnp-products-headline h2 {
        display: block;
        width: 100%;
        font-size: 18px !important;
        line-height: 1.28 !important;
        padding: 8px 10px;
        border-radius: 10px;
        letter-spacing: 0;
    }

    body .hnp-products-headline h2::before {
        width: 8px;
        height: 20px;
        margin-right: 8px;
        vertical-align: middle;
    }

    body .hnp-products-headline h2 span {
        display: inline;
        font-size: 18px;
        line-height: 1.28;
    }

    body .hnp-products-page .hnp-product-thumb {
        height: auto;
        aspect-ratio: 1 / 1;
    }

    body .hnp-products-page .hnp-product-thumb img {
        width: 100%;
        height: 100%;
        aspect-ratio: 1 / 1;
        object-fit: contain;
        object-position: center;
        background: #f8fbff;
        padding: 8px;
    }

    body .hnp-product-card-body h3 {
        min-height: 44px;
        font-size: 16px;
    }

    body .hnp-product-link {
        padding: 7px 10px;
        font-size: 13px;
    }
}

/* Product category archive redesign */
body.tax-product_cat .wd-page-title {
    display: none !important;
}

/* Hard-fix width when category template is rendered inside Woodmart grid wrapper */
body.tax-product_cat .wd-content-layout.content-layout-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.tax-product_cat .wd-content-layout.content-layout-wrapper > .hnp-cat-archive,
body.tax-product_cat .wd-content-layout.content-layout-wrapper > main.hnp-cat-archive,
body.tax-product_cat .wd-content-layout.content-layout-wrapper > section.hnp-cat-archive {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    grid-column: 1 / -1 !important;
}

body .hnp-cat-archive {
    background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 35%, #f8fbff 100%);
}

body .hnp-cat-shell {
    width: min(1220px, calc(100% - 40px));
    margin: 0 auto;
}

body .hnp-cat-hero {
    padding: 54px 0 22px;
}

body .hnp-cat-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.14fr) minmax(0, 0.86fr);
    gap: 24px;
    align-items: center;
}

body .hnp-cat-hero-content {
    width: 100%;
    max-width: none;
    min-width: 0;
}

body .hnp-cat-kicker {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(27, 77, 179, 0.1);
    color: #123583;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body .hnp-cat-hero h1 {
    margin: 14px 0 0;
    color: #0b2a69;
    font-size: clamp(32px, 3.3vw, 46px);
    line-height: 1.14;
    max-width: none;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
}

body .hnp-cat-hero p {
    margin: 12px 0 0;
    color: #435574;
    font-size: 18px;
    line-height: 1.72;
    max-width: none;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
}

body .hnp-cat-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

body .hnp-cat-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body .hnp-cat-btn:hover {
    transform: translateY(-2px);
}

body .hnp-cat-btn-primary {
    background: linear-gradient(135deg, #e0232d 0%, #c71625 100%);
    color: #ffffff !important;
}

body .hnp-cat-btn-ghost {
    background: #ffffff;
    border: 1px solid #d9e1f2;
    color: #123583 !important;
}

body .hnp-cat-hero-image {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #d9e1f2;
    background: #ffffff;
    box-shadow: 0 18px 34px rgba(12, 38, 101, 0.1);
    width: 100%;
    max-width: 360px;
    margin-left: auto;
}

body .hnp-cat-hero-image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

body .hnp-cat-children {
    padding: 8px 0 24px;
}

body .hnp-cat-heading h2,
body .hnp-cat-toolbar h2 {
    margin: 0 0 14px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    border-radius: 12px;
    border: 1px solid #d3def6;
    background: linear-gradient(135deg, #ffffff 0%, #f2f7ff 100%);
    color: #0b2a69;
    font-size: clamp(22px, 2vw, 28px);
    line-height: 1.2;
    font-weight: 800;
}

body .hnp-cat-heading h2::before,
body .hnp-cat-toolbar h2::before {
    content: "";
    width: 10px;
    height: 24px;
    border-radius: 8px;
    background: linear-gradient(180deg, #e0232d 0%, #123583 100%);
}

body .hnp-cat-children-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

body .hnp-cat-child-card {
    border-radius: 14px;
    border: 1px solid #d9e1f2;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(12, 38, 101, 0.08);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body .hnp-cat-child-card:hover,
body .hnp-cat-child-card.is-active {
    border-color: #123583;
    box-shadow: 0 14px 24px rgba(12, 38, 101, 0.14);
    transform: translateY(-2px);
}

body .hnp-cat-child-card a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 14px;
    padding: 10px 12px;
    text-decoration: none;
}

body .hnp-cat-child-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #f4f7ff;
}

body .hnp-cat-child-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body .hnp-cat-no-thumb {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #123583;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    padding: 8px;
}

body .hnp-cat-child-name {
    display: block;
    text-align: center;
    padding: 0;
    color: #0b2a69;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    text-transform: capitalize;
}

body .hnp-cat-products {
    padding: 2px 0 68px;
}

body .hnp-cat-products.is-loading .hnp-cat-shell {
    opacity: 0.74;
    pointer-events: none;
    transition: opacity 0.16s ease;
}

body .hnp-cat-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

body .hnp-cat-sort {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #123583;
    font-weight: 700;
}

body .hnp-cat-sort {
    display: none !important;
}

/* Hide cart icon in header menu area */
body .whb-general-header .wd-header-cart,
body .whb-sticky-header .wd-header-cart,
body .whb-clone .wd-header-cart {
    display: none !important;
}

body .hnp-cat-sort select {
    min-height: 40px;
    border-radius: 10px;
    border: 1px solid #cdd9f5;
    background: #ffffff;
    color: #0b2a69;
    padding: 0 12px;
    font-weight: 700;
}

body .hnp-cat-products-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

body .hnp-cat-product-card {
    border-radius: 14px;
    border: 1px solid #d9e1f2;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(12, 38, 101, 0.08);
    display: flex;
    flex-direction: column;
}

body .hnp-cat-product-thumb {
    display: block;
    aspect-ratio: 1 / 1;
    background: #f8fbff;
}

body .hnp-cat-product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
    padding: 8px;
}

body .hnp-cat-product-body {
    padding: 12px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

body .hnp-cat-product-body h3 {
    margin: 0;
    font-size: 16px;
    line-height: 1.22;
    min-height: 56px;
}

body .hnp-cat-product-body h3 a {
    color: #0b2a69;
    text-decoration: none;
}

body .hnp-cat-product-body h3 a:hover {
    color: #e0232d;
}

body .hnp-cat-product-price {
    margin: 8px 0 0;
    color: #e0232d;
    font-weight: 700;
}

body .hnp-cat-product-link {
    margin-top: auto;
    display: inline-flex;
    align-self: center;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #c9d8f8;
    background: #f4f8ff;
    color: #123583;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
}

body .hnp-cat-product-link:hover {
    border-color: #123583;
    background: #eaf1ff;
}

body .hnp-cat-empty {
    grid-column: 1 / -1;
    border-radius: 14px;
    border: 1px solid #d9e1f2;
    background: #ffffff;
    padding: 24px;
}

body .hnp-cat-empty h3 {
    margin: 0;
    color: #0b2a69;
}

body .hnp-cat-empty p {
    margin: 8px 0 0;
    color: #4a5c7a;
}

body .hnp-cat-pagination {
    margin-top: 22px;
}

body .hnp-cat-pagination .page-numbers {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body .hnp-cat-pagination .page-numbers li {
    list-style: none;
    margin: 0;
}

body .hnp-cat-pagination .page-numbers a,
body .hnp-cat-pagination .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 9px;
    border: 1px solid #cdd9f5;
    background: #ffffff;
    color: #123583;
    font-weight: 700;
    text-decoration: none;
}

body .hnp-cat-pagination .page-numbers .current {
    background: #123583;
    color: #ffffff;
    border-color: #123583;
}

@media (max-width: 1023px) {
    body .hnp-cat-shell {
        width: min(1220px, calc(100% - 28px));
    }

    body .hnp-cat-hero-grid {
        grid-template-columns: 1fr;
    }

    body .hnp-cat-hero-image {
        max-width: 560px;
        margin: 0 auto;
    }

    body .hnp-cat-children-grid,
    body .hnp-cat-products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    body .hnp-cat-shell {
        width: calc(100% - 24px);
    }

    body .hnp-cat-hero {
        padding-top: 40px;
    }

    body .hnp-cat-hero h1 {
        font-size: clamp(28px, 8vw, 36px);
    }

    body .hnp-cat-hero p {
        font-size: 16px;
    }

    /* Mobile archive product: hide category representative image */
    body .hnp-cat-hero-image {
        display: none !important;
    }

    body .hnp-cat-heading h2,
    body .hnp-cat-toolbar h2 {
        font-size: 18px !important;
        padding: 8px 10px;
        border-radius: 10px;
    }

    body .hnp-cat-heading h2::before,
    body .hnp-cat-toolbar h2::before {
        width: 8px;
        height: 20px;
    }

    body .hnp-cat-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    body .hnp-cat-children-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }

    body .hnp-cat-child-name {
        font-size: 11px;
        padding: 8px 4px 9px;
    }

    body .hnp-cat-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body .hnp-cat-product-body h3 {
        min-height: 42px;
        font-size: 16px;
    }

    body .hnp-cat-product-link {
        font-size: 13px;
        padding: 7px 10px;
    }
}

/* No hover effects for "NhÃ³m NgÃ nh" submenu */
body .whb-general-header .wd-nav > li.hnp-nofx-menu > .wd-dropdown-menu,
body .whb-sticky-header .wd-nav > li.hnp-nofx-menu > .wd-dropdown-menu,
body .whb-clone .wd-nav > li.hnp-nofx-menu > .wd-dropdown-menu,
body .whb-general-header .wd-nav > li.hnp-nofx-menu > .sub-menu,
body .whb-sticky-header .wd-nav > li.hnp-nofx-menu > .sub-menu,
body .whb-clone .wd-nav > li.hnp-nofx-menu > .sub-menu {
    transition: none !important;
    animation: none !important;
    transform: none !important;
}

body .whb-general-header .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li > a,
body .whb-sticky-header .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li > a,
body .whb-clone .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li > a,
body .whb-general-header .wd-nav > li.hnp-nofx-menu .sub-menu > li > a,
body .whb-sticky-header .wd-nav > li.hnp-nofx-menu .sub-menu > li > a,
body .whb-clone .wd-nav > li.hnp-nofx-menu .sub-menu > li > a {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #0b2a69 !important;
}

body .whb-general-header .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li > a:hover,
body .whb-sticky-header .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li > a:hover,
body .whb-clone .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li > a:hover,
body .whb-general-header .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li:hover > a,
body .whb-sticky-header .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li:hover > a,
body .whb-clone .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li:hover > a,
body .whb-general-header .wd-nav > li.hnp-nofx-menu .sub-menu > li > a:hover,
body .whb-sticky-header .wd-nav > li.hnp-nofx-menu .sub-menu > li > a:hover,
body .whb-clone .wd-nav > li.hnp-nofx-menu .sub-menu > li > a:hover,
body .whb-general-header .wd-nav > li.hnp-nofx-menu .sub-menu > li:hover > a,
body .whb-sticky-header .wd-nav > li.hnp-nofx-menu .sub-menu > li:hover > a,
body .whb-clone .wd-nav > li.hnp-nofx-menu .sub-menu > li:hover > a {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #0b2a69 !important;
}

body .whb-general-header .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li > a .nav-link-text,
body .whb-sticky-header .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li > a .nav-link-text,
body .whb-clone .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li > a .nav-link-text,
body .whb-general-header .wd-nav > li.hnp-nofx-menu .sub-menu > li > a .nav-link-text,
body .whb-sticky-header .wd-nav > li.hnp-nofx-menu .sub-menu > li > a .nav-link-text,
body .whb-clone .wd-nav > li.hnp-nofx-menu .sub-menu > li > a .nav-link-text,
body .whb-general-header .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li > a:hover .nav-link-text,
body .whb-sticky-header .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li > a:hover .nav-link-text,
body .whb-clone .wd-nav > li.hnp-nofx-menu .wd-sub-menu > li > a:hover .nav-link-text,
body .whb-general-header .wd-nav > li.hnp-nofx-menu .sub-menu > li > a:hover .nav-link-text,
body .whb-sticky-header .wd-nav > li.hnp-nofx-menu .sub-menu > li > a:hover .nav-link-text,
body .whb-clone .wd-nav > li.hnp-nofx-menu .sub-menu > li > a:hover .nav-link-text {
    color: #0b2a69 !important;
    opacity: 1 !important;
}

/* Certificate page */
body.hnp-certificate-page .wd-page-title,
body.category-giay-chung-nhan .wd-page-title {
    display: none !important;
}

/* Hide old archive banner on /tin-tuc/ */
body.category-tin-tuc .wd-page-title {
    display: none !important;
}

body.hnp-certificate-page .wd-content-layout.content-layout-wrapper,
body.category-giay-chung-nhan .wd-content-layout.content-layout-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.hnp-certificate-page .wd-content-layout.content-layout-wrapper > .hnp-cert-page,
body.hnp-certificate-page .wd-content-layout.content-layout-wrapper > main.hnp-cert-page,
body.category-giay-chung-nhan .wd-content-layout.content-layout-wrapper > .hnp-cert-page,
body.category-giay-chung-nhan .wd-content-layout.content-layout-wrapper > main.hnp-cert-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body .hnp-cert-page {
    background: linear-gradient(180deg, #f6f9ff 0%, #ffffff 30%, #f7faff 100%);
    color: #12213f;
}

body .hnp-cert-shell {
    width: min(1220px, calc(100% - 40px));
    margin: 0 auto;
}

body .hnp-cert-hero {
    padding: 58px 0 26px;
}

body .hnp-cert-kicker {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(18, 53, 131, 0.1);
    color: #123583;
    font-size: 12px;
    letter-spacing: 0.08em;
    font-weight: 700;
    text-transform: uppercase;
}

body .hnp-cert-hero h1 {
    margin: 14px 0 0;
    color: #0b2a69;
    font-size: clamp(30px, 3.15vw, 46px);
    line-height: 1.16;
}

body .hnp-cert-hero p {
    margin: 14px 0 0;
    max-width: 920px;
    color: #42597f;
    font-size: 18px;
    line-height: 1.7;
}

body .hnp-cert-gallery {
    padding: 8px 0 34px;
}

body .hnp-cert-gallery .hnp-cert-shell {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

body .hnp-cert-card {
    margin: 0;
    border-radius: 18px;
    border: 1px solid #d8e2f5;
    background: #ffffff;
    box-shadow: 0 18px 34px rgba(12, 38, 101, 0.1);
    overflow: hidden;
}

body .hnp-cert-card-head {
    padding: 18px 20px 14px;
    border-bottom: 1px solid #e8eefb;
}

body .hnp-cert-card-head h2 {
    margin: 0;
    color: #0b2a69;
    font-size: clamp(20px, 1.7vw, 27px);
    line-height: 1.25;
}

body .hnp-cert-card-head p {
    margin: 9px 0 0;
    color: #4b6186;
    font-size: 15px;
    line-height: 1.6;
}

body .hnp-cert-image-wrap {
    display: block;
    padding: 16px;
    background: #f8fbff;
}

body .hnp-cert-image-wrap img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
    border: 1px solid #d7e1f4;
}

body .hnp-cert-content {
    padding: 8px 0 72px;
}

body .hnp-cert-block {
    border: 1px solid #d9e2f5;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 14px 28px rgba(12, 38, 101, 0.08);
    padding: 22px 22px 20px;
    margin-bottom: 16px;
}

body .hnp-cert-block h2 {
    margin: 0 0 10px;
    color: #0b2a69;
    font-size: clamp(24px, 2vw, 32px);
    line-height: 1.24;
    display: flex;
    align-items: center;
    gap: 10px;
}

body .hnp-cert-block h2::before {
    content: "";
    width: 10px;
    height: 28px;
    border-radius: 8px;
    background: linear-gradient(180deg, #e0232d 0%, #123583 100%);
    flex: 0 0 auto;
}

body .hnp-cert-block p {
    margin: 10px 0 0;
    color: #42597f;
    font-size: 17px;
    line-height: 1.78;
}

body .hnp-cert-block ul {
    margin: 12px 0 0;
    padding-left: 18px;
}

body .hnp-cert-block li {
    margin: 7px 0;
    color: #42597f;
    font-size: 17px;
    line-height: 1.65;
}

@media (max-width: 1023px) {
    body .hnp-cert-shell {
        width: min(1220px, calc(100% - 28px));
    }

    body .hnp-cert-gallery .hnp-cert-shell {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    body .hnp-cert-shell {
        width: calc(100% - 24px);
    }

    body .hnp-cert-hero {
        padding: 42px 0 20px;
    }

    body .hnp-cert-hero h1 {
        font-size: clamp(24px, 8vw, 34px);
    }

    body .hnp-cert-hero p {
        font-size: 16px;
    }

    body .hnp-cert-card-head {
        padding: 14px 14px 12px;
    }

    body .hnp-cert-image-wrap {
        padding: 10px;
    }

    body .hnp-cert-block {
        padding: 16px 14px;
    }

    body .hnp-cert-block h2 {
        font-size: 21px;
    }

    body .hnp-cert-block h2::before {
        width: 8px;
        height: 22px;
    }

    body .hnp-cert-block p,
    body .hnp-cert-block li {
        font-size: 16px;
    }
}

/* Single post redesign */
body.hnp-single-post-custom .wd-page-title {
    display: none !important;
}

body.hnp-single-post-custom .wd-content-layout.content-layout-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.hnp-single-post-custom .wd-content-layout.content-layout-wrapper > .hnp-single-post,
body.hnp-single-post-custom .wd-content-layout.content-layout-wrapper > main.hnp-single-post {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

body .hnp-single-post {
    background: linear-gradient(180deg, #f7faff 0%, #ffffff 34%, #f7faff 100%);
    padding: 54px 0 72px;
}

body .hnp-single-shell {
    width: min(1220px, calc(100% - 40px));
    margin: 0 auto;
}

body .hnp-single-post > .hnp-single-shell:first-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 22px;
    align-items: start;
}

body .hnp-single-article {
    border: 1px solid #d9e2f5;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 18px 32px rgba(12, 38, 101, 0.1);
    padding: 24px;
}

body .hnp-single-kicker {
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(18, 53, 131, 0.1);
    color: #123583;
    font-size: 12px;
    letter-spacing: 0.08em;
    font-weight: 700;
    text-transform: uppercase;
}

body .hnp-single-header h1 {
    margin: 12px 0 0;
    color: #0b2a69;
    font-size: clamp(28px, 2.9vw, 44px);
    line-height: 1.2;
}

body .hnp-single-meta {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body .hnp-single-meta span {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border: 1px solid #d9e2f5;
    border-radius: 999px;
    background: #f6f9ff;
    color: #25406f;
    font-size: 13px;
    font-weight: 600;
}

body .hnp-single-thumb {
    margin: 18px 0 0;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #d9e2f5;
}

body .hnp-single-thumb img {
    width: 100%;
    height: auto;
    display: block;
}

body .hnp-single-content {
    margin-top: 20px;
    color: #374d73;
    font-size: 18px;
    line-height: 1.82;
}

body .hnp-single-content h2,
body .hnp-single-content h3,
body .hnp-single-content h4 {
    color: #0b2a69;
    margin: 20px 0 10px;
    line-height: 1.35;
}

body .hnp-single-content p {
    margin: 12px 0 0;
}

body .hnp-single-content ul,
body .hnp-single-content ol {
    margin: 12px 0 0;
    padding-left: 20px;
}

body .hnp-single-content li {
    margin: 8px 0;
}

body .hnp-single-footer {
    margin-top: 20px;
    padding-top: 12px;
    border-top: 1px dashed #cfdcf5;
    color: #3d5380;
}

body .hnp-single-aside {
    display: grid;
    gap: 14px;
    position: sticky;
    top: 120px;
}

body .hnp-single-box {
    border: 1px solid #d9e2f5;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 14px 24px rgba(12, 38, 101, 0.08);
    padding: 16px;
}

body .hnp-single-box h3 {
    margin: 0;
    color: #0b2a69;
    font-size: 22px;
}

body .hnp-single-box p {
    margin: 10px 0 0;
    color: #42597f;
    line-height: 1.7;
}

body .hnp-single-box a {
    margin-top: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, #e0232d 0%, #c71625 100%);
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 700;
}

body .hnp-single-box ul {
    margin: 10px 0 0;
    padding-left: 18px;
}

body .hnp-single-box li {
    margin: 7px 0;
    color: #42597f;
}

body .hnp-single-related {
    margin-top: 24px;
}

body .hnp-single-related h2 {
    margin: 0 0 12px;
    color: #0b2a69;
    font-size: clamp(24px, 2vw, 34px);
}

body .hnp-single-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

body .hnp-single-related-card {
    border: 1px solid #d9e2f5;
    border-radius: 14px;
    background: #ffffff;
    overflow: hidden;
}

body .hnp-single-related-thumb {
    display: block;
    aspect-ratio: 16 / 10;
    background: #f6f9ff;
}

body .hnp-single-related-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body .hnp-single-related-body {
    padding: 12px;
}

body .hnp-single-related-body span {
    color: #d61f2a;
    font-size: 12px;
    font-weight: 700;
}

body .hnp-single-related-body h3 {
    margin: 8px 0 0;
    font-size: 23px;
    line-height: 1.32;
}

body .hnp-single-related-body h3 a {
    color: #0b2a69;
    text-decoration: none;
}

body .hnp-single-related-body h3 a:hover {
    color: #d61f2a;
}

@media (max-width: 1023px) {
    body .hnp-single-shell {
        width: min(1220px, calc(100% - 28px));
    }

    body .hnp-single-post > .hnp-single-shell:first-child {
        grid-template-columns: 1fr;
    }

    body .hnp-single-aside {
        position: static;
    }

    body .hnp-single-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    body .hnp-single-shell {
        width: calc(100% - 24px);
    }

    body .hnp-single-post {
        padding: 40px 0 56px;
    }

    body .hnp-single-article {
        padding: 14px;
    }

    body .hnp-single-header h1 {
        font-size: clamp(24px, 8vw, 34px);
    }

    body .hnp-single-content {
        font-size: 16px;
    }

    body .hnp-single-related-grid {
        grid-template-columns: 1fr;
    }

    body .hnp-single-related-body h3 {
        font-size: 20px;
    }
}

/* ===== Single Product Redesign ===== */
body.hnp-single-product-custom .wd-page-title {
    display: none !important;
}

body.hnp-single-product-custom .main-page-wrapper {
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 26%, #f7f9ff 100%);
}

body.hnp-single-product-custom .wd-content-layout {
    width: min(1220px, calc(100% - 40px));
    margin: 28px auto 48px;
}

body.hnp-single-product-custom div.product {
    margin: 0;
    padding: 22px;
    border: 1px solid var(--hnp-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 20px 44px rgba(12, 38, 101, 0.08);
}

body.hnp-single-product-custom div.product .woocommerce-product-gallery {
    border: 1px solid var(--hnp-border);
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    padding: 10px;
}

body.hnp-single-product-custom div.product .woocommerce-product-gallery__wrapper {
    border-radius: 12px;
    overflow: hidden;
}

body.hnp-single-product-custom div.product .summary {
    border: 1px solid var(--hnp-border);
    border-radius: 16px;
    padding: 22px;
    background: #fbfdff;
}

body.hnp-single-product-custom div.product .product_title {
    color: var(--hnp-blue-900);
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.1;
    margin-bottom: 14px;
    text-transform: capitalize;
}

body.hnp-single-product-custom div.product .woocommerce-product-details__short-description,
body.hnp-single-product-custom div.product .summary p {
    color: var(--hnp-muted);
    font-size: 17px;
    line-height: 1.7;
}

body.hnp-single-product-custom div.product .price,
body.hnp-single-product-custom div.product .woocommerce-Price-amount {
    color: var(--hnp-red-500) !important;
    font-size: clamp(26px, 2.5vw, 34px);
    font-weight: 800;
}

body.hnp-single-product-custom .single_add_to_cart_button,
body.hnp-single-product-custom .wd-buy-now-btn,
body.hnp-single-product-custom .button.alt {
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--hnp-red-500) 0%, var(--hnp-red-600) 100%) !important;
    color: #fff !important;
    border: none !important;
    min-height: 46px;
    padding: 0 26px !important;
    font-weight: 700;
    box-shadow: 0 12px 22px rgba(224, 31, 43, 0.3);
}

body.hnp-single-product-custom .single_add_to_cart_button:hover,
body.hnp-single-product-custom .wd-buy-now-btn:hover,
body.hnp-single-product-custom .button.alt:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 26px rgba(224, 31, 43, 0.36);
}

body.hnp-single-product-custom .quantity .minus,
body.hnp-single-product-custom .quantity .plus,
body.hnp-single-product-custom .quantity input.qty {
    border-color: var(--hnp-border) !important;
}

body.hnp-single-product-custom .product_meta {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px dashed var(--hnp-border);
    color: var(--hnp-muted);
    font-size: 15px;
    line-height: 1.8;
}

body.hnp-single-product-custom .product_meta > span {
    display: block;
}

body.hnp-single-product-custom .product_meta a {
    color: var(--hnp-blue-700);
}

body.hnp-single-product-custom .woocommerce-tabs {
    margin-top: 26px;
    border: 1px solid var(--hnp-border);
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
}

body.hnp-single-product-custom .woocommerce-tabs ul.tabs {
    margin: 0 !important;
    padding: 0 14px !important;
    border-bottom: 1px solid var(--hnp-border);
    background: #f5f8ff;
}

body.hnp-single-product-custom .woocommerce-tabs ul.tabs li {
    border: none !important;
    background: transparent !important;
    margin: 0 8px 0 0 !important;
}

body.hnp-single-product-custom .woocommerce-tabs ul.tabs li a {
    color: var(--hnp-blue-800) !important;
    font-weight: 700;
    padding: 14px 10px !important;
}

body.hnp-single-product-custom .woocommerce-tabs ul.tabs li.active a {
    color: var(--hnp-red-500) !important;
}

body.hnp-single-product-custom .woocommerce-tabs .panel {
    margin: 0 !important;
    padding: 24px;
}

body.hnp-single-product-custom .woocommerce-tabs .panel h2,
body.hnp-single-product-custom .woocommerce-tabs .panel h3 {
    color: var(--hnp-blue-900);
    text-transform: capitalize;
    font-size: clamp(24px, 2.2vw, 32px);
}

body.hnp-single-product-custom .woocommerce-tabs table.shop_attributes {
    border: 1px solid var(--hnp-border);
    border-radius: 12px;
    overflow: hidden;
}

body.hnp-single-product-custom .woocommerce-tabs table.shop_attributes th,
body.hnp-single-product-custom .woocommerce-tabs table.shop_attributes td {
    border-bottom: 1px solid #e6ebf7;
    padding: 12px 14px;
    font-size: 15px;
}

body.hnp-single-product-custom .related,
body.hnp-single-product-custom .up-sells,
body.hnp-single-product-custom .cross-sells {
    margin-top: 28px;
    padding: 20px;
    border: 1px solid var(--hnp-border);
    border-radius: 16px;
    background: #fff;
}

body.hnp-single-product-custom .related > h2,
body.hnp-single-product-custom .up-sells > h2,
body.hnp-single-product-custom .cross-sells > h2 {
    font-size: clamp(24px, 2.2vw, 32px);
    color: var(--hnp-blue-900);
    text-transform: capitalize;
    margin-bottom: 16px;
}

body.hnp-single-product-custom ul.products li.product {
    border: 1px solid var(--hnp-border);
    border-radius: 14px;
    padding: 12px;
    background: #fff;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.hnp-single-product-custom ul.products li.product:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 22px rgba(12, 38, 101, 0.12);
}

body.hnp-single-product-custom ul.products li.product .button,
body.hnp-single-product-custom ul.products li.product .wd-add-btn > a {
    border-radius: 999px;
}

@media (max-width: 1024px) {
    body.hnp-single-product-custom .wd-content-layout {
        width: min(1220px, calc(100% - 24px));
        margin-top: 16px;
    }

    body.hnp-single-product-custom div.product {
        padding: 14px;
    }

    body.hnp-single-product-custom div.product .summary {
        padding: 16px;
    }
}

@media (max-width: 767px) {
    body.hnp-single-product-custom div.product .product_title {
        font-size: 32px;
    }

    body.hnp-single-product-custom .woocommerce-tabs ul.tabs {
        padding: 0 8px !important;
    }

    body.hnp-single-product-custom .woocommerce-tabs .panel {
        padding: 16px;
    }

    body.hnp-single-product-custom .related,
    body.hnp-single-product-custom .up-sells,
    body.hnp-single-product-custom .cross-sells {
        padding: 14px;
    }
}

/* ===== Single Product Content Cleanup ===== */
body.hnp-single-product-custom div.product .product_meta .posted_in,
body.hnp-single-product-custom div.product .product_meta .tagged_as {
    display: block;
    max-height: 112px;
    overflow: auto;
    padding-right: 6px;
}

body.hnp-single-product-custom div.product .product_meta .posted_in::-webkit-scrollbar,
body.hnp-single-product-custom div.product .product_meta .tagged_as::-webkit-scrollbar {
    width: 6px;
}

body.hnp-single-product-custom div.product .product_meta .posted_in::-webkit-scrollbar-thumb,
body.hnp-single-product-custom div.product .product_meta .tagged_as::-webkit-scrollbar-thumb {
    background: #b9c8e8;
    border-radius: 10px;
}

body.hnp-single-product-custom .related ul.products li.product,
body.hnp-single-product-custom .up-sells ul.products li.product,
body.hnp-single-product-custom .cross-sells ul.products li.product {
    display: flex;
    flex-direction: column;
    min-height: 420px;
}

body.hnp-single-product-custom .related ul.products li.product .product-element-bottom,
body.hnp-single-product-custom .up-sells ul.products li.product .product-element-bottom,
body.hnp-single-product-custom .cross-sells ul.products li.product .product-element-bottom {
    margin-top: auto;
}

body.hnp-single-product-custom .related ul.products li.product .wd-entities-title,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-entities-title,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-entities-title,
body.hnp-single-product-custom .related ul.products li.product .woocommerce-loop-product__title,
body.hnp-single-product-custom .up-sells ul.products li.product .woocommerce-loop-product__title,
body.hnp-single-product-custom .cross-sells ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.8em;
    line-height: 1.4;
}

body.hnp-single-product-custom .related ul.products li.product .wd-product-cats,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-product-cats,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-product-cats,
body.hnp-single-product-custom .related ul.products li.product .wd-product-desc,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-product-desc,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-product-desc,
body.hnp-single-product-custom .related ul.products li.product .product-categories,
body.hnp-single-product-custom .up-sells ul.products li.product .product-categories,
body.hnp-single-product-custom .cross-sells ul.products li.product .product-categories,
body.hnp-single-product-custom .related ul.products li.product .star-rating,
body.hnp-single-product-custom .up-sells ul.products li.product .star-rating,
body.hnp-single-product-custom .cross-sells ul.products li.product .star-rating {
    display: none !important;
}

body.hnp-single-product-custom .related ul.products li.product .price,
body.hnp-single-product-custom .up-sells ul.products li.product .price,
body.hnp-single-product-custom .cross-sells ul.products li.product .price {
    margin-top: 8px;
    margin-bottom: 10px;
}

body.hnp-single-product-custom .related ul.products li.product .button,
body.hnp-single-product-custom .up-sells ul.products li.product .button,
body.hnp-single-product-custom .cross-sells ul.products li.product .button {
    width: auto;
    padding: 0 16px;
    min-height: 38px;
    font-size: 15px;
}

/* ===== Single Product: Breadcrumb + Meta Box ===== */
body.hnp-single-product-custom .summary .woocommerce-breadcrumb,
body.hnp-single-product-custom .summary .wd-breadcrumbs,
body.hnp-single-product-custom .summary .breadcrumbs {
    display: block;
    margin: 0 0 16px;
    padding: 10px 14px;
    border: 1px solid var(--hnp-border);
    border-radius: 12px;
    background: #f5f8ff;
    color: var(--hnp-muted);
    font-size: 14px;
    line-height: 1.7;
}

body.hnp-single-product-custom .summary .woocommerce-breadcrumb a,
body.hnp-single-product-custom .summary .wd-breadcrumbs a,
body.hnp-single-product-custom .summary .breadcrumbs a {
    color: var(--hnp-blue-700);
    font-weight: 600;
}

body.hnp-single-product-custom .summary .woocommerce-breadcrumb,
body.hnp-single-product-custom .summary .wd-breadcrumbs,
body.hnp-single-product-custom .summary .breadcrumbs,
body.hnp-single-product-custom .summary .woocommerce-breadcrumb * {
    word-break: break-word;
}

body.hnp-single-product-custom .summary .product_meta,
body.hnp-single-product-custom .summary .wd-product-share,
body.hnp-single-product-custom .summary .social-icons {
    display: none !important;
}

body.hnp-single-product-custom .hnp-product-meta-box {
    width: min(1220px, calc(100% - 40px));
    margin: 16px auto 0;
}

body.hnp-single-product-custom .hnp-product-meta-box__inner {
    border: 1px solid var(--hnp-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 28px rgba(12, 38, 101, 0.08);
    padding: 18px;
    display: grid;
    gap: 14px;
}

body.hnp-single-product-custom .hnp-product-meta-box__row h3 {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.3;
    color: var(--hnp-blue-900);
    text-transform: capitalize;
}

body.hnp-single-product-custom .hnp-product-meta-box__content {
    border: 1px solid var(--hnp-border);
    border-radius: 12px;
    background: #f8fbff;
    padding: 12px;
    max-height: 110px;
    overflow: auto;
    color: var(--hnp-muted);
    line-height: 1.7;
}

body.hnp-single-product-custom .hnp-product-meta-box__content a {
    color: var(--hnp-blue-700);
    font-weight: 600;
}

body.hnp-single-product-custom .hnp-product-share-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

body.hnp-single-product-custom .hnp-product-share-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    min-height: 36px;
    border-radius: 999px;
    border: 1px solid var(--hnp-border);
    background: #fff;
    color: var(--hnp-blue-800);
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
}

body.hnp-single-product-custom .hnp-product-share-links a:hover {
    color: #fff;
    background: var(--hnp-blue-800);
    border-color: var(--hnp-blue-800);
}

@media (max-width: 1024px) {
    body.hnp-single-product-custom .hnp-product-meta-box {
        width: min(1220px, calc(100% - 24px));
    }
}

@media (max-width: 767px) {
    body.hnp-single-product-custom .summary .woocommerce-breadcrumb,
    body.hnp-single-product-custom .summary .wd-breadcrumbs,
    body.hnp-single-product-custom .summary .breadcrumbs {
        font-size: 13px;
        padding: 9px 10px;
    }

    body.hnp-single-product-custom .hnp-product-meta-box__inner {
        padding: 12px;
    }

    body.hnp-single-product-custom .hnp-product-meta-box__row h3 {
        font-size: 16px;
    }
}

/* ===== Single Product: Top Breadcrumb Strip ===== */
body.hnp-single-product-custom .hnp-product-top-breadcrumb {
    width: min(1220px, calc(100% - 40px));
    margin: 18px auto 12px;
}

body.hnp-single-product-custom .hnp-product-top-breadcrumb__inner {
    border: 1px solid var(--hnp-border);
    border-radius: 14px;
    background: linear-gradient(180deg, #f7faff 0%, #eef4ff 100%);
    box-shadow: 0 10px 24px rgba(12, 38, 101, 0.08);
    padding: 12px 16px;
}

body.hnp-single-product-custom .hnp-product-top-breadcrumb .woocommerce-breadcrumb {
    margin: 0;
    color: #334a7e;
    font-size: 15px;
    line-height: 1.8;
    font-weight: 600;
}

body.hnp-single-product-custom .hnp-product-top-breadcrumb .woocommerce-breadcrumb a {
    color: var(--hnp-blue-800);
    font-weight: 700;
}

body.hnp-single-product-custom .summary .woocommerce-breadcrumb,
body.hnp-single-product-custom .summary .wd-breadcrumbs,
body.hnp-single-product-custom .summary .breadcrumbs {
    display: none !important;
}

/* ===== Stronger readable colors in boxes ===== */
body.hnp-single-product-custom div.product .summary {
    background: #f8fbff;
}

body.hnp-single-product-custom div.product .summary p,
body.hnp-single-product-custom div.product .woocommerce-product-details__short-description {
    color: #2f3f63;
}

body.hnp-single-product-custom .hnp-product-meta-box__inner {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

body.hnp-single-product-custom .hnp-product-meta-box__row h3 {
    color: #0c2f75;
    font-weight: 800;
}

body.hnp-single-product-custom .hnp-product-meta-box__content {
    color: #1f3769;
    font-weight: 600;
}

body.hnp-single-product-custom .hnp-product-meta-box__content a {
    color: #123f9c;
    font-weight: 700;
}

body.hnp-single-product-custom .hnp-product-share-links a {
    color: #0f327f;
    border-color: #b8c8eb;
    background: #fff;
}

body.hnp-single-product-custom .hnp-product-share-links a:hover {
    background: #113c93;
    border-color: #113c93;
    color: #fff;
}

body.hnp-single-product-custom .woocommerce-tabs .panel,
body.hnp-single-product-custom .woocommerce-tabs .panel p,
body.hnp-single-product-custom .woocommerce-tabs .panel li,
body.hnp-single-product-custom .woocommerce-tabs table.shop_attributes th,
body.hnp-single-product-custom .woocommerce-tabs table.shop_attributes td {
    color: #1f3769;
}

@media (max-width: 1024px) {
    body.hnp-single-product-custom .hnp-product-top-breadcrumb {
        width: min(1220px, calc(100% - 24px));
    }
}

@media (max-width: 767px) {
    body.hnp-single-product-custom .hnp-product-top-breadcrumb {
        margin-top: 12px;
    }

    body.hnp-single-product-custom .hnp-product-top-breadcrumb__inner {
        padding: 10px 12px;
    }

    body.hnp-single-product-custom .hnp-product-top-breadcrumb .woocommerce-breadcrumb {
        font-size: 13px;
    }
}

/* Hide 3 requested controls on single product (desktop + mobile) */
body.hnp-single-product-custom .summary .wd-nav-product,
body.hnp-single-product-custom .summary .wd-product-nav,
body.hnp-single-product-custom .summary .wd-products-nav,
body.hnp-single-product-custom .summary .product-navigation,
body.hnp-single-product-custom .summary .wd-back-btn,
body.hnp-single-product-custom .summary .compare,
body.hnp-single-product-custom .summary .wd-compare-btn,
body.hnp-single-product-custom .summary .wd-wishlist-btn,
body.hnp-single-product-custom .summary .yith-wcwl-add-to-wishlist,
body.hnp-single-product-custom div.product .woocommerce-product-gallery__trigger,
body.hnp-single-product-custom div.product .wd-btn-zoom,
body.hnp-single-product-custom div.product .zoomImg {
    display: none !important;
}

@media (max-width: 767px) {
    body.hnp-single-product-custom .main-page-wrapper {
        padding-bottom: 78px;
    }

    body.hnp-single-product-custom .hnp-product-meta-box__row.hnp-mobile-collapsible .hnp-product-meta-box__content {
        display: none;
    }

    body.hnp-single-product-custom .hnp-product-meta-box__row.hnp-mobile-collapsible.is-open .hnp-product-meta-box__content {
        display: block;
        margin-top: 10px;
    }

    body.hnp-single-product-custom .hnp-meta-toggle-btn {
        width: 100%;
        min-height: 40px;
        padding: 8px 12px;
        border: 1px solid #b8c8eb;
        border-radius: 12px;
        background: #f3f7ff;
        color: #0c2f75;
        text-align: left;
        font-size: 15px;
        font-weight: 800;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    body.hnp-single-product-custom .hnp-meta-toggle-btn .hnp-toggle-arrow {
        font-size: 16px;
        line-height: 1;
        transition: transform 0.2s ease;
    }

    body.hnp-single-product-custom .hnp-product-meta-box__row.hnp-mobile-collapsible.is-open .hnp-meta-toggle-btn .hnp-toggle-arrow {
        transform: rotate(180deg);
    }

    body.hnp-single-product-custom .hnp-product-share-links {
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 6px;
        padding-bottom: 2px;
        scrollbar-width: thin;
    }

    body.hnp-single-product-custom .hnp-product-share-links a {
        flex: 0 0 auto;
        min-height: 30px;
        padding: 0 10px;
        font-size: 13px;
        white-space: nowrap;
    }

    body.hnp-single-product-custom .hnp-product-meta-box__inner {
        padding: 10px;
        gap: 10px;
    }

    body.hnp-single-product-custom .hnp-product-meta-box__row h3 {
        font-size: 14px;
        margin-bottom: 6px;
    }

    body.hnp-single-product-custom .hnp-product-meta-box__content {
        max-height: 90px;
        padding: 8px 10px;
        font-size: 13px;
        line-height: 1.6;
    }
}

/* Related products: show only product name (desktop + mobile) */
body.hnp-single-product-custom .related ul.products li.product,
body.hnp-single-product-custom .up-sells ul.products li.product,
body.hnp-single-product-custom .cross-sells ul.products li.product {
    min-height: auto !important;
    padding: 14px 16px !important;
}

body.hnp-single-product-custom .related ul.products li.product img,
body.hnp-single-product-custom .up-sells ul.products li.product img,
body.hnp-single-product-custom .cross-sells ul.products li.product img,
body.hnp-single-product-custom .related ul.products li.product .product-element-top,
body.hnp-single-product-custom .up-sells ul.products li.product .product-element-top,
body.hnp-single-product-custom .cross-sells ul.products li.product .product-element-top,
body.hnp-single-product-custom .related ul.products li.product .product-element-bottom,
body.hnp-single-product-custom .up-sells ul.products li.product .product-element-bottom,
body.hnp-single-product-custom .cross-sells ul.products li.product .product-element-bottom,
body.hnp-single-product-custom .related ul.products li.product .wd-buttons,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-buttons,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-buttons,
body.hnp-single-product-custom .related ul.products li.product .wd-hover-icons,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-hover-icons,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-hover-icons,
body.hnp-single-product-custom .related ul.products li.product .wd-wishlist-btn,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-wishlist-btn,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-wishlist-btn,
body.hnp-single-product-custom .related ul.products li.product .wd-compare-btn,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-compare-btn,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-compare-btn,
body.hnp-single-product-custom .related ul.products li.product .wd-quick-view,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-quick-view,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-quick-view,
body.hnp-single-product-custom .related ul.products li.product .wd-add-btn,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-add-btn,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-add-btn,
body.hnp-single-product-custom .related ul.products li.product .button,
body.hnp-single-product-custom .up-sells ul.products li.product .button,
body.hnp-single-product-custom .cross-sells ul.products li.product .button,
body.hnp-single-product-custom .related ul.products li.product .price,
body.hnp-single-product-custom .up-sells ul.products li.product .price,
body.hnp-single-product-custom .cross-sells ul.products li.product .price,
body.hnp-single-product-custom .related ul.products li.product .wd-product-cats,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-product-cats,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-product-cats,
body.hnp-single-product-custom .related ul.products li.product .wd-product-desc,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-product-desc,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-product-desc,
body.hnp-single-product-custom .related ul.products li.product .product-categories,
body.hnp-single-product-custom .up-sells ul.products li.product .product-categories,
body.hnp-single-product-custom .cross-sells ul.products li.product .product-categories,
body.hnp-single-product-custom .related ul.products li.product .star-rating,
body.hnp-single-product-custom .up-sells ul.products li.product .star-rating,
body.hnp-single-product-custom .cross-sells ul.products li.product .star-rating,
body.hnp-single-product-custom .related ul.products li.product .yith-wcwl-add-to-wishlist,
body.hnp-single-product-custom .up-sells ul.products li.product .yith-wcwl-add-to-wishlist,
body.hnp-single-product-custom .cross-sells ul.products li.product .yith-wcwl-add-to-wishlist {
    display: none !important;
}

body.hnp-single-product-custom .related ul.products li.product .wd-entities-title,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-entities-title,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-entities-title,
body.hnp-single-product-custom .related ul.products li.product .woocommerce-loop-product__title,
body.hnp-single-product-custom .up-sells ul.products li.product .woocommerce-loop-product__title,
body.hnp-single-product-custom .cross-sells ul.products li.product .woocommerce-loop-product__title {
    display: block !important;
    margin: 0 !important;
    min-height: auto !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    color: var(--hnp-blue-900);
    font-size: 22px;
    line-height: 1.35;
    font-weight: 800;
    text-transform: uppercase;
}

/* hard fallback: related products show title only */
body.hnp-single-product-custom .related ul.products li.product *:not(.wd-entities-title):not(.wd-entities-title a):not(.woocommerce-loop-product__title):not(.woocommerce-loop-product__title a),
body.hnp-single-product-custom .up-sells ul.products li.product *:not(.wd-entities-title):not(.wd-entities-title a):not(.woocommerce-loop-product__title):not(.woocommerce-loop-product__title a),
body.hnp-single-product-custom .cross-sells ul.products li.product *:not(.wd-entities-title):not(.wd-entities-title a):not(.woocommerce-loop-product__title):not(.woocommerce-loop-product__title a) {
    display: none !important;
}

body.hnp-single-product-custom .related ul.products li.product .wd-entities-title a,
body.hnp-single-product-custom .up-sells ul.products li.product .wd-entities-title a,
body.hnp-single-product-custom .cross-sells ul.products li.product .wd-entities-title a,
body.hnp-single-product-custom .related ul.products li.product .woocommerce-loop-product__title a,
body.hnp-single-product-custom .up-sells ul.products li.product .woocommerce-loop-product__title a,
body.hnp-single-product-custom .cross-sells ul.products li.product .woocommerce-loop-product__title a {
    color: var(--hnp-blue-900) !important;
    text-decoration: none !important;
    font-weight: 800 !important;
}

/* Global fallback for related products (logged-in / guest): show title only */
body.single-product .related ul.products li.product,
body.single-product .up-sells ul.products li.product,
body.single-product .cross-sells ul.products li.product {
    min-height: auto !important;
    padding: 12px 14px !important;
}

body.single-product .related ul.products li.product .product-image-link,
body.single-product .up-sells ul.products li.product .product-image-link,
body.single-product .cross-sells ul.products li.product .product-image-link,
body.single-product .related ul.products li.product img,
body.single-product .up-sells ul.products li.product img,
body.single-product .cross-sells ul.products li.product img,
body.single-product .related ul.products li.product .wd-hover-icons,
body.single-product .up-sells ul.products li.product .wd-hover-icons,
body.single-product .cross-sells ul.products li.product .wd-hover-icons,
body.single-product .related ul.products li.product .wd-buttons,
body.single-product .up-sells ul.products li.product .wd-buttons,
body.single-product .cross-sells ul.products li.product .wd-buttons,
body.single-product .related ul.products li.product .wd-add-btn,
body.single-product .up-sells ul.products li.product .wd-add-btn,
body.single-product .cross-sells ul.products li.product .wd-add-btn,
body.single-product .related ul.products li.product .button,
body.single-product .up-sells ul.products li.product .button,
body.single-product .cross-sells ul.products li.product .button,
body.single-product .related ul.products li.product .wd-quick-view,
body.single-product .up-sells ul.products li.product .wd-quick-view,
body.single-product .cross-sells ul.products li.product .wd-quick-view,
body.single-product .related ul.products li.product .wd-compare-btn,
body.single-product .up-sells ul.products li.product .wd-compare-btn,
body.single-product .cross-sells ul.products li.product .wd-compare-btn,
body.single-product .related ul.products li.product .wd-wishlist-btn,
body.single-product .up-sells ul.products li.product .wd-wishlist-btn,
body.single-product .cross-sells ul.products li.product .wd-wishlist-btn,
body.single-product .related ul.products li.product .yith-wcwl-add-to-wishlist,
body.single-product .up-sells ul.products li.product .yith-wcwl-add-to-wishlist,
body.single-product .cross-sells ul.products li.product .yith-wcwl-add-to-wishlist,
body.single-product .related ul.products li.product .price,
body.single-product .up-sells ul.products li.product .price,
body.single-product .cross-sells ul.products li.product .price,
body.single-product .related ul.products li.product .wd-product-cats,
body.single-product .up-sells ul.products li.product .wd-product-cats,
body.single-product .cross-sells ul.products li.product .wd-product-cats,
body.single-product .related ul.products li.product .wd-product-desc,
body.single-product .up-sells ul.products li.product .wd-product-desc,
body.single-product .cross-sells ul.products li.product .wd-product-desc,
body.single-product .related ul.products li.product .product-categories,
body.single-product .up-sells ul.products li.product .product-categories,
body.single-product .cross-sells ul.products li.product .product-categories,
body.single-product .related ul.products li.product .star-rating,
body.single-product .up-sells ul.products li.product .star-rating,
body.single-product .cross-sells ul.products li.product .star-rating,
body.single-product .related ul.products li.product p,
body.single-product .up-sells ul.products li.product p,
body.single-product .cross-sells ul.products li.product p {
    display: none !important;
}

body.single-product .related ul.products li.product .wd-entities-title,
body.single-product .up-sells ul.products li.product .wd-entities-title,
body.single-product .cross-sells ul.products li.product .wd-entities-title,
body.single-product .related ul.products li.product .woocommerce-loop-product__title,
body.single-product .up-sells ul.products li.product .woocommerce-loop-product__title,
body.single-product .cross-sells ul.products li.product .woocommerce-loop-product__title {
    display: block !important;
    margin: 0 !important;
    color: var(--hnp-blue-900) !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    text-transform: uppercase;
}

/* ===== Mobile single product polish ===== */
@media (max-width: 767px) {
    /* prevent header/menu overlap at top content */
    body.single-product .main-page-wrapper {
        padding-top: 62px !important;
    }

    body.admin-bar.single-product .main-page-wrapper {
        padding-top: 70px !important;
    }

    body.single-product .hnp-product-top-breadcrumb {
        margin-top: 0 !important;
    }

    /* hide duplicated share row in summary on mobile */
    body.single-product .summary .wd-product-share,
    body.single-product .summary .social-icons,
    body.single-product .summary .share,
    body.single-product .summary .woodmart-product-sharing,
    body.single-product .summary .product-share,
    body.single-product .summary .wd-sharing,
    body.single-product .summary [class*="share"] {
        display: none !important;
    }

    /* hide zoom/fullscreen icon in mobile gallery */
    body.single-product .woocommerce-product-gallery__trigger,
    body.single-product .woocommerce-product-gallery .wd-btn-zoom,
    body.single-product .woocommerce-product-gallery .wd-action-btn.wd-style-icon,
    body.single-product .woocommerce-product-gallery .wd-gallery-btn,
    body.single-product .woocommerce-product-gallery .open-image,
    body.single-product .images .wd-btn-zoom,
    body.single-product .images .open-image {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /* better tabs/accordion card styling on mobile */
    body.single-product .woocommerce-tabs {
        border-radius: 14px !important;
        overflow: hidden !important;
    }

    body.single-product .woocommerce-tabs ul.tabs {
        display: block !important;
        border: 0 !important;
        padding: 8px !important;
        background: #f3f7ff !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li {
        display: block !important;
        width: 100% !important;
        margin: 0 0 8px !important;
        border: 1px solid #c5d2ee !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        overflow: hidden !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li:last-child {
        margin-bottom: 0 !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 44px !important;
        padding: 10px 12px !important;
        color: #113c93 !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li.active {
        border-color: #113c93 !important;
        box-shadow: 0 8px 16px rgba(17, 60, 147, 0.12) !important;
    }

    body.single-product .woocommerce-tabs .panel {
        padding: 14px 12px !important;
        border-top: 1px solid #d9e3f7 !important;
        background: #ffffff !important;
    }
}

/* related cards after JS cleanup */
body.single-product ul.products li.product.hnp-related-title-only {
    min-height: auto !important;
    padding: 12px 14px !important;
    border: 1px solid var(--hnp-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
}

body.single-product ul.products li.product.hnp-related-title-only .wd-entities-title,
body.single-product ul.products li.product.hnp-related-title-only .woocommerce-loop-product__title,
body.single-product ul.products li.product.hnp-related-title-only h3 {
    margin: 0 !important;
    color: var(--hnp-blue-900) !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
}

body.single-product ul.products li.product.hnp-related-title-only img,
body.single-product ul.products li.product.hnp-related-title-only .wd-hover-icons,
body.single-product ul.products li.product.hnp-related-title-only .wd-buttons,
body.single-product ul.products li.product.hnp-related-title-only .price,
body.single-product ul.products li.product.hnp-related-title-only p,
body.single-product ul.products li.product.hnp-related-title-only .button,
body.single-product ul.products li.product.hnp-related-title-only [class*="compare"],
body.single-product ul.products li.product.hnp-related-title-only [class*="wishlist"],
body.single-product ul.products li.product.hnp-related-title-only [class*="quick"],
body.single-product ul.products li.product.hnp-related-title-only [class*="cart"] {
    display: none !important;
}

/* Keep desktop product tabs visible and styled */
@media (min-width: 768px) {
    body.single-product .woocommerce-tabs ul.tabs {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 0 14px !important;
        min-height: 52px !important;
        border-bottom: 1px solid var(--hnp-border) !important;
        background: #f5f8ff !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li {
        display: inline-flex !important;
        margin: 0 !important;
        border: none !important;
        background: transparent !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li a {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 52px !important;
        padding: 0 12px !important;
        color: var(--hnp-blue-800) !important;
        font-weight: 700 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body.single-product .woocommerce-tabs .panel,
    body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* Global hide share row in summary (PC + mobile) */
body.single-product .summary .wd-product-share,
body.single-product .summary .social-icons,
body.single-product .summary .share,
body.single-product .summary .woodmart-product-sharing,
body.single-product .summary .product-share,
body.single-product .summary .wd-sharing {
    display: none !important;
}

/* Global hide gallery zoom/open icon (PC + mobile) */
body.single-product .woocommerce-product-gallery__trigger,
body.single-product .woocommerce-product-gallery .wd-btn-zoom,
body.single-product .woocommerce-product-gallery .wd-action-btn.wd-style-icon,
body.single-product .woocommerce-product-gallery .wd-gallery-btn,
body.single-product .woocommerce-product-gallery .open-image,
body.single-product .images .wd-btn-zoom,
body.single-product .images .open-image {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Strong fallback: related products keep only title block */
body.single-product .related ul.products li.product,
body.single-product .up-sells ul.products li.product,
body.single-product .cross-sells ul.products li.product {
    min-height: auto !important;
    padding: 12px 14px !important;
}

body.single-product .related ul.products li.product > *:not(.wd-entities-title):not(.woocommerce-loop-product__title):not(h3),
body.single-product .up-sells ul.products li.product > *:not(.wd-entities-title):not(.woocommerce-loop-product__title):not(h3),
body.single-product .cross-sells ul.products li.product > *:not(.wd-entities-title):not(.woocommerce-loop-product__title):not(h3) {
    display: none !important;
}

body.single-product .related ul.products li.product .wd-entities-title,
body.single-product .up-sells ul.products li.product .wd-entities-title,
body.single-product .cross-sells ul.products li.product .wd-entities-title,
body.single-product .related ul.products li.product .woocommerce-loop-product__title,
body.single-product .up-sells ul.products li.product .woocommerce-loop-product__title,
body.single-product .cross-sells ul.products li.product .woocommerce-loop-product__title,
body.single-product .related ul.products li.product h3,
body.single-product .up-sells ul.products li.product h3,
body.single-product .cross-sells ul.products li.product h3 {
    display: block !important;
    margin: 0 !important;
    color: var(--hnp-blue-900) !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

/* Mobile tabs box style closer to category box */
@media (max-width: 767px) {
    body.single-product .woocommerce-tabs {
        border: 1px solid #c5d2ee !important;
        border-radius: 16px !important;
        background: #f6f9ff !important;
        padding: 8px !important;
    }

    body.single-product .woocommerce-tabs ul.tabs {
        border: 0 !important;
        background: transparent !important;
        padding: 0 !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li {
        border: 1px solid #c5d2ee !important;
        border-radius: 12px !important;
        background: #fff !important;
        margin: 0 0 8px !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li a,
    body.single-product .woocommerce-tabs ul.tabs li a span {
        color: #113c93 !important;
        font-weight: 700 !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li.active,
    body.single-product .woocommerce-tabs ul.tabs li[aria-expanded="true"] {
        border-color: #113c93 !important;
        background: #ffffff !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li.active a,
    body.single-product .woocommerce-tabs ul.tabs li.active a span,
    body.single-product .woocommerce-tabs ul.tabs li a[aria-expanded="true"],
    body.single-product .woocommerce-tabs ul.tabs li a[aria-expanded="true"] span {
        color: #111111 !important;
    }

    body.single-product .woocommerce-tabs .panel {
        background: #ffffff !important;
        border: 1px solid #d9e3f7 !important;
        border-radius: 14px !important;
        margin-top: 8px !important;
    }
}

body.single-product ul.products li.product.hnp-related-title-only,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only {
    min-height: auto !important;
    padding: 16px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #cdd9f1 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
}

body.single-product ul.products li.product.hnp-related-title-only > *,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only > * {
    width: 100% !important;
}

body.single-product ul.products li.product.hnp-related-title-only .hnp-related-title-wrap,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .hnp-related-title-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 72px !important;
    text-align: center !important;
}

body.single-product ul.products li.product.hnp-related-title-only .hnp-related-title-link,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .hnp-related-title-link {
    display: block !important;
    color: #123a8f !important;
    font-size: 22px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

body.single-product ul.products li.product.hnp-related-title-only .hnp-related-title-link:hover,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .hnp-related-title-link:hover {
    color: #e01b2f !important;
}

body.single-product ul.products li.product.hnp-related-title-only img,
body.single-product ul.products li.product.hnp-related-title-only .wd-hover-icons,
body.single-product ul.products li.product.hnp-related-title-only .wd-buttons,
body.single-product ul.products li.product.hnp-related-title-only .wd-add-btn,
body.single-product ul.products li.product.hnp-related-title-only .wd-product-desc,
body.single-product ul.products li.product.hnp-related-title-only .wd-product-cats,
body.single-product ul.products li.product.hnp-related-title-only .price,
body.single-product ul.products li.product.hnp-related-title-only p,
body.single-product ul.products li.product.hnp-related-title-only .button,
body.single-product ul.products li.product.hnp-related-title-only .btn,
body.single-product ul.products li.product.hnp-related-title-only [class*="compare"],
body.single-product ul.products li.product.hnp-related-title-only [class*="wishlist"],
body.single-product ul.products li.product.hnp-related-title-only [class*="quick"],
body.single-product ul.products li.product.hnp-related-title-only [class*="cart"],
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only img,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .wd-hover-icons,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .wd-buttons,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .wd-add-btn,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .wd-product-desc,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .wd-product-cats,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .price,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only p,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .button,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .btn,
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only [class*="compare"],
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only [class*="wishlist"],
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only [class*="quick"],
body.hnp-single-product-custom ul.products li.product.hnp-related-title-only [class*="cart"] {
    display: none !important;
}

@media (max-width: 767px) {
    body.single-product ul.products li.product.hnp-related-title-only,
    body.hnp-single-product-custom ul.products li.product.hnp-related-title-only {
        padding: 12px 10px !important;
    }

    body.single-product ul.products li.product.hnp-related-title-only .hnp-related-title-wrap,
    body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .hnp-related-title-wrap {
        min-height: 54px !important;
    }

    body.single-product ul.products li.product.hnp-related-title-only .hnp-related-title-link,
    body.hnp-single-product-custom ul.products li.product.hnp-related-title-only .hnp-related-title-link {
        font-size: 15px !important;
        line-height: 1.35 !important;
    }
}

/* Standalone HuuPhuocVo theme shell */
html {
    scroll-behavior: smooth;
}

body.hnp-theme {
    margin: 0;
    background: #f4f7ff;
    color: #173164;
}

.hnp-shell {
    width: min(1280px, calc(100% - 32px));
    margin: 0 auto;
}

.hnp-site-topbar {
    background: #123c93;
    color: #fff;
}

.hnp-site-topbar-inner {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-size: 14px;
    font-weight: 700;
}

.hnp-site-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid #d9e1f2;
}

.admin-bar .hnp-site-header {
    top: 32px;
}

.hnp-site-header-inner {
    min-height: 92px;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
}

.hnp-site-header-left {
    display: flex;
    align-items: center;
    gap: 18px;
}

.hnp-site-logo img {
    max-height: 64px;
    width: auto;
    display: block;
}

.hnp-site-header-right {
    display: flex;
    justify-content: flex-end;
    justify-self: end;
    width: auto;
    margin-left: auto;
}

.hnp-site-header-right img {
    max-height: 50px;
    width: auto;
}

.hnp-menu,
.hnp-mobile-menu,
.hnp-footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.hnp-primary-nav .menu,
.hnp-primary-nav .hnp-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
}

.hnp-primary-nav .menu > li,
.hnp-primary-nav .hnp-menu > li {
    position: relative;
}

.hnp-primary-nav a {
    color: #123583;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    min-height: 46px;
}

.hnp-primary-nav .sub-menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    min-width: 260px;
    padding: 14px;
    background: #fff;
    border: 1px solid #d9e1f2;
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(12, 38, 101, 0.14);
    display: none;
    z-index: 30;
}

.hnp-primary-nav li:hover > .sub-menu {
    display: block;
}

.hnp-primary-nav .sub-menu li + li {
    margin-top: 10px;
}

.hnp-primary-nav .sub-menu a {
    min-height: auto;
    color: #173164;
    font-weight: 700;
}

.hnp-menu-toggle {
    display: none;
    align-items: center;
    gap: 10px;
    border: 0;
    background: transparent;
    color: #123583;
    font-weight: 800;
    padding: 0;
}

.hnp-menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background: #123583;
    border-radius: 999px;
}

.hnp-menu-toggle strong {
    text-transform: uppercase;
    font-size: 14px;
}

.hnp-mobile-nav-wrap {
    display: none;
    border-top: 1px solid #d9e1f2;
    background: #fff;
}

.hnp-mobile-menu li {
    border-bottom: 1px solid #e4ebfa;
    position: relative;
}

.hnp-mobile-menu a {
    display: block;
    padding: 14px 0;
    color: #123583;
    text-decoration: none;
    font-weight: 800;
}

.hnp-mobile-menu .sub-menu {
    display: none;
    padding-left: 14px;
}

.hnp-mobile-menu .is-open > .sub-menu {
    display: block;
}

.hnp-submenu-toggle {
    position: absolute;
    top: 10px;
    right: 0;
    width: 38px;
    height: 38px;
    border: 1px solid #c5d2ee;
    border-radius: 10px;
    background: #eef4ff;
    color: #123583;
}

.hnp-submenu-toggle span::before {
    content: "\25BE";
    font-size: 11px;
}

.hnp-mobile-menu .is-open > .hnp-submenu-toggle span::before {
    content: "\25B4";
}

.hnp-default-page,
.hnp-woo-page {
    padding: 32px 0 48px;
}

.hnp-content-card {
    background: #fff;
    border: 1px solid #d9e1f2;
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 18px 40px rgba(12, 38, 101, 0.08);
}

.hnp-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.hnp-archive-card {
    background: #fff;
    border: 1px solid #d9e1f2;
    border-radius: 18px;
    padding: 20px;
}

.hnp-archive-card h2 {
    margin-top: 0;
}

.hnp-site-footer-main {
    background: linear-gradient(180deg, #11327c 0%, #0b245e 100%);
    color: #fff;
    padding: 36px 0 18px;
}

.hnp-site-footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 28px;
}

.hnp-site-footer-col--divider {
    border-left: 1px solid rgba(255,255,255,0.28);
    padding-left: 24px;
}

.hnp-site-footer-col h3 {
    color: #fff;
    margin-top: 0;
    margin-bottom: 14px;
}

.hnp-site-footer-col p,
.hnp-site-footer-col li,
.hnp-site-footer-col a {
    color: rgba(255,255,255,0.9);
    text-decoration: none;
}

.hnp-footer-menu li + li,
.hnp-footer-contact li + li {
    margin-top: 8px;
}

.hnp-footer-contact {
    list-style: none;
    margin: 0;
    padding: 0;
}

.hnp-site-footer-bottom {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,0.15);
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    font-size: 14px;
}

.hnp-site-footer-bottom-item {
    min-width: 0;
}

.hnp-site-footer-bottom-divider {
    width: 1px;
    align-self: stretch;
    background: rgba(255,255,255,0.28);
    flex: 0 0 1px;
}

.hnp-footer-top-banner-fixed img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 1024px) {
    .hnp-site-header-inner {
        grid-template-columns: 1fr auto auto;
    }

    .hnp-primary-nav {
        display: none;
    }

    .hnp-menu-toggle {
        display: inline-flex;
        flex-wrap: wrap;
        width: 72px;
    }

    .hnp-mobile-nav-open .hnp-mobile-nav-wrap,
    .hnp-mobile-nav-wrap:not([hidden]) {
        display: block;
    }

    .hnp-site-footer-grid {
        grid-template-columns: 1fr;
    }

    .hnp-site-footer-col--divider {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,0.28);
        padding-left: 0;
        padding-top: 18px;
        margin-top: 18px;
    }

    .hnp-site-footer-bottom {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .hnp-site-footer-bottom-divider {
        display: none;
    }
}

@media (max-width: 767px) {
    .admin-bar .hnp-site-header {
        top: 46px;
    }

    .hnp-shell {
        width: min(100%, calc(100% - 20px));
    }

    .hnp-site-topbar-inner {
        min-height: 46px;
        flex-direction: column;
        justify-content: center;
        gap: 0;
        padding: 6px 0;
        text-align: center;
        font-size: 13px;
    }

    .hnp-site-header-inner {
        min-height: 76px;
        grid-template-columns: auto 1fr auto;
        gap: 12px;
    }

    .hnp-site-logo img {
        max-height: 48px;
    }

    .hnp-site-header-right img {
        max-height: 32px;
    }

    .hnp-content-card {
        border-radius: 18px;
        padding: 18px;
    }

    .hnp-site-footer-main {
        padding-top: 14px;
    }

    .hnp-site-footer-grid {
        gap: 22px;
    }

    .hnp-site-footer-brand {
        padding-top: 10px;
    }

    .hnp-site-footer-col {
        padding-left: 0;
        padding-right: 0;
    }

    .hnp-archive-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* Standalone single product */
.hnp-product-single-page {
    padding: 24px 0 48px;
}

.hnp-product-breadcrumbs {
    margin-bottom: 18px;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid #d9e1f2;
    border-radius: 18px;
    font-size: 15px;
    color: #5b6a86;
}

.hnp-product-breadcrumbs a {
    color: #123583;
    text-decoration: none;
    font-weight: 700;
}

.hnp-product-breadcrumbs span,
.hnp-product-breadcrumbs strong {
    margin: 0 6px;
}

.hnp-product-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 440px);
    gap: 28px;
    align-items: start;
}

.hnp-product-gallery,
.hnp-product-summary,
.hnp-product-meta-box,
.hnp-product-tabs,
.hnp-related-products {
    background: #fff;
    border: 1px solid #d9e1f2;
    border-radius: 22px;
    box-shadow: 0 18px 40px rgba(12, 38, 101, 0.08);
}

.hnp-product-gallery {
    padding: 24px;
}

.hnp-product-main-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 520px;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
    border: 1px solid #e0e8f8;
    border-radius: 20px;
    overflow: hidden;
}

.hnp-product-main-image img {
    max-width: 100%;
    max-height: 480px;
    width: auto;
    height: auto;
    display: block;
}

.hnp-product-thumbs {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(96px, 96px));
    gap: 14px;
}

.hnp-product-thumb {
    border: 1px solid #d9e1f2;
    background: #fff;
    border-radius: 16px;
    padding: 10px;
    cursor: pointer;
}

.hnp-product-thumb img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    display: block;
}

.hnp-product-summary {
    padding: 28px;
}

.hnp-product-summary h1 {
    margin-top: 0;
    margin-bottom: 18px;
    color: #0b245e;
    font-size: clamp(34px, 3.1vw, 58px);
    line-height: 1.08;
}

.hnp-product-summary-text,
.hnp-product-summary-text p {
    color: #233960;
    font-size: 19px;
    line-height: 1.8;
}

.hnp-product-content-box {
    margin-top: 24px;
    padding: 22px 24px;
    border: 1px solid #d8e4f6;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(246,250,255,0.94));
    box-shadow: 0 18px 38px rgba(16, 55, 106, 0.08);
}

.hnp-product-content-heading h2 {
    margin: 0 0 14px;
    color: #123583;
    font-size: clamp(24px, 2vw, 34px);
    line-height: 1.15;
}

.hnp-product-content-body,
.hnp-product-content-body p,
.hnp-product-content-body li {
    color: #233960;
    font-size: 17px;
    line-height: 1.8;
}

.hnp-product-content-body > :first-child {
    margin-top: 0;
}

.hnp-product-content-body > :last-child {
    margin-bottom: 0;
}

.hnp-product-meta-box {
    margin-top: 24px;
    padding: 22px 24px;
}

.hnp-product-meta-toggle {
    display: none;
}

.hnp-product-meta-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.hnp-product-meta-list a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid #cad8f5;
    color: #123583;
    text-decoration: none;
    font-weight: 700;
    background: #f7faff;
}

.hnp-product-share-box {
    margin-top: 20px;
}

.hnp-product-share-box h3 {
    margin: 0 0 12px;
    color: #123583;
}

.hnp-product-share-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hnp-product-share-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 18px;
    border: 1px solid #cad8f5;
    border-radius: 999px;
    color: #123583;
    text-decoration: none;
    font-weight: 700;
}

.hnp-product-tabs {
    margin-top: 24px;
    padding: 16px;
}

.hnp-product-tab {
    border: 1px solid #d9e1f2;
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
}

.hnp-product-tab summary {
    list-style: none;
}

.hnp-product-tab summary::-webkit-details-marker {
    display: none;
}

.hnp-product-tab + .hnp-product-tab {
    margin-top: 12px;
}

.hnp-product-tab-toggle {
    width: 100%;
    border: 0;
    background: #f5f8ff;
    color: #123583;
    padding: 18px 20px;
    text-align: left;
    font-weight: 800;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.hnp-product-tab[open] .hnp-product-tab-toggle {
    color: #111;
}

.hnp-product-tab-panel {
    display: none;
    padding: 24px;
    background: #fff;
}

.hnp-product-tab[open] .hnp-product-tab-panel {
    display: block;
}

.hnp-product-tab-panel p,
.hnp-product-tab-panel li,
.hnp-product-tab-panel td,
.hnp-product-tab-panel th {
    color: #21375d;
}

.hnp-product-tab-panel h2,
.hnp-product-tab-panel h3 {
    color: #0b245e;
}

.hnp-product-tab-panel table {
    width: 100%;
}

.hnp-related-products {
    margin-top: 26px;
    padding: 24px;
}

.hnp-related-products h2 {
    margin: 0 0 16px;
    color: #0b245e;
}

.hnp-related-products-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.hnp-related-product-card {
    border: 1px solid #d9e1f2;
    border-radius: 16px;
    background: #f9fbff;
    min-height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 18px 16px;
}

.hnp-related-product-card a {
    color: #123583;
    text-decoration: none;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 800;
    text-transform: uppercase;
}

@media (min-width: 768px) {
    .hnp-product-tabs {
        padding: 22px;
    }

    .hnp-product-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
    }

    .hnp-product-tab {
        width: 100%;
    }

    .hnp-product-tab:not([open]) .hnp-product-tab-panel {
        display: none;
    }
}

@media (max-width: 1024px) {
    .hnp-product-hero {
        grid-template-columns: 1fr;
    }

    .hnp-related-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .hnp-product-single-page {
        padding-top: 18px;
    }

    .hnp-product-breadcrumbs {
        font-size: 13px;
        padding: 12px 14px;
    }

    .hnp-product-gallery {
        padding: 16px;
    }

    .hnp-product-main-image {
        min-height: 320px;
    }

    .hnp-product-main-image img {
        max-height: 280px;
    }

    .hnp-product-summary {
        padding: 18px;
    }

    .hnp-product-summary h1 {
        font-size: 28px;
    }

    .hnp-product-summary-text,
    .hnp-product-summary-text p {
        font-size: 16px;
        line-height: 1.7;
    }

    .hnp-product-meta-box {
        padding: 14px;
    }

    .hnp-product-meta-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 54px;
        border: 1px solid #c5d2ee;
        border-radius: 14px;
        background: #fff;
        color: #123583;
        font-weight: 800;
        padding: 0 16px;
    }

    .hnp-product-meta-toggle::after {
        content: "\25BE";
        font-size: 11px;
    }

    .hnp-product-meta-box:not(.is-open) .hnp-product-meta-content {
        display: none;
    }

    .hnp-product-meta-box.is-open .hnp-product-meta-content {
        display: block;
        margin-top: 14px;
    }

    .hnp-product-share-links {
        flex-wrap: nowrap;
        overflow-x: auto;
    }

    .hnp-product-tab-toggle {
        font-size: 18px;
        padding: 16px 16px;
        color: #123583;
    }

    .hnp-product-tab-toggle span {
        color: inherit;
    }

    .hnp-product-tab.is-open .hnp-product-tab-toggle,
    .hnp-product-tab.is-open .hnp-product-tab-toggle span {
        color: #111 !important;
    }

    .hnp-product-tab-panel {
        padding: 16px;
    }

    .hnp-related-products {
        padding: 18px;
    }

    .hnp-related-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .hnp-related-product-card {
        min-height: 86px;
        padding: 14px 10px;
    }

    .hnp-related-product-card a {
        font-size: 15px;
    }
}

/* Standalone theme hard overrides */
.hnp-primary-nav,
.hnp-site-header,
.hnp-site-header * {
    overflow: visible;
}

.hnp-primary-nav .menu,
.hnp-primary-nav .hnp-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.hnp-primary-nav .sub-menu {
    list-style: none;
    margin: 0;
    padding: 12px;
    z-index: 1005;
}

.hnp-primary-nav .sub-menu li {
    margin: 0;
}

.hnp-primary-nav .sub-menu a {
    width: 100%;
    min-height: 0;
    padding: 10px 12px;
    border-radius: 10px;
    line-height: 1.45;
}

.hnp-primary-nav .sub-menu a:hover {
    background: linear-gradient(135deg, #123583 0%, #1b4db3 100%);
    color: #fff;
}

.hnp-site-footer-grid {
    grid-template-columns: 1.2fr 1fr 1fr 1fr;
}

.hnp-footer-links,
.hnp-footer-brand-points,
.hnp-footer-contact {
    list-style: none;
    margin: 0;
    padding: 0;
}

.hnp-footer-links li + li,
.hnp-footer-brand-points li + li,
.hnp-footer-contact li + li {
    margin-top: 10px;
}

.hnp-footer-links a {
    color: rgba(255, 255, 255, 0.95);
    text-decoration: none;
    font-weight: 600;
}

.hnp-footer-links a:hover {
    color: #fff;
    text-decoration: underline;
}

.hnp-footer-brand-points li,
.hnp-footer-contact li {
    color: rgba(255, 255, 255, 0.9);
}

.hnp-related-product-card {
    min-height: 0;
    padding: 18px;
    justify-content: stretch;
}

.hnp-related-product-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    width: 100%;
    text-decoration: none;
}

.hnp-related-product-image-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}

.hnp-related-product-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.hnp-related-product-title {
    display: block;
    color: #123583;
    text-align: center;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
    text-transform: uppercase;
}

.hnp-product-tabs {
    display: block !important;
    padding: 22px;
}

.hnp-product-tab {
    width: 100%;
}

.hnp-product-tab-toggle {
    color: #123583 !important;
    background: #f5f8ff;
}

.hnp-product-tab.is-open .hnp-product-tab-toggle {
    color: #111 !important;
}

.hnp-product-tab-panel {
    display: none;
}

.hnp-product-tab.is-open .hnp-product-tab-panel {
    display: block !important;
}

@media (max-width: 1024px) {
    .hnp-site-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .hnp-site-footer-grid {
        grid-template-columns: 1fr;
    }

    .hnp-related-product-card {
        padding: 14px 12px;
    }

    .hnp-related-product-title {
        font-size: 15px;
    }
}

/* Final cleanup for standalone theme */
.hnp-site-logo,
.hnp-primary-nav > ul > li,
.hnp-primary-nav .menu-item-has-children {
    position: relative;
    z-index: 5;
}

.hnp-primary-nav .sub-menu {
    z-index: 3000 !important;
}

.hnp-primary-nav .sub-menu li {
    list-style: none !important;
}

.hnp-primary-nav .sub-menu a {
    color: #173164 !important;
}

.hnp-primary-nav .sub-menu a:hover,
.hnp-primary-nav .sub-menu .current-menu-item > a {
    color: #fff !important;
}

body.single-product .hnp-product-summary-share,
body.single-product .summary .wd-product-share,
body.single-product .summary .social-icons,
body.single-product .summary .product-share,
body.single-product .summary .wd-sharing,
body.single-product .woocommerce-product-gallery__trigger,
body.single-product .woocommerce-product-gallery .wd-btn-zoom,
body.single-product .woocommerce-product-gallery .open-image,
body.single-product .woocommerce-product-gallery .wd-gallery-btn {
    display: none !important;
}

.hnp-related-products .hnp-related-product-image-wrap,
.hnp-related-products .hnp-related-product-image {
    display: block !important;
}

.hnp-related-products .hnp-related-product-link {
    text-decoration: none !important;
}

.hnp-related-products .hnp-related-product-card .button,
.hnp-related-products .hnp-related-product-card .added_to_cart,
.hnp-related-products .hnp-related-product-card .wd-quick-view,
.hnp-related-products .hnp-related-product-card .wd-wishlist-btn,
.hnp-related-products .hnp-related-product-card .compare,
.hnp-related-products .hnp-related-product-card .price,
.hnp-related-products .hnp-related-product-card .star-rating,
.hnp-related-products .hnp-related-product-card .wd-product-cats,
.hnp-related-products .hnp-related-product-card .wd-entities-excerpt,
.hnp-related-products .hnp-related-product-card .wd-buttons,
.hnp-related-products .hnp-related-product-card .product-actions,
.hnp-related-products .hnp-related-product-card p:not(.price) {
    display: none !important;
}

@media (min-width: 768px) {
    .hnp-product-tabs {
        display: block !important;
        padding: 24px !important;
    }

    .hnp-product-tab {
        border: 0 !important;
        background: transparent !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    .hnp-product-tab + .hnp-product-tab {
        margin-top: 0 !important;
    }

    .hnp-product-tab-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: auto !important;
        margin: 0 10px 16px 0;
        padding: 12px 18px !important;
        border: 1px solid #d9e1f2 !important;
        border-radius: 999px !important;
        background: #f5f8ff !important;
        color: #123583 !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        box-shadow: 0 8px 18px rgba(12, 38, 101, 0.06);
    }

    .hnp-product-tab-toggle span {
        color: inherit !important;
    }

    .hnp-product-tab.is-open .hnp-product-tab-toggle,
    .hnp-product-tab.is-open .hnp-product-tab-toggle span {
        color: #fff !important;
        background: linear-gradient(135deg, #123583 0%, #1b4db3 100%) !important;
        border-color: #123583 !important;
    }

    .hnp-product-tab-panel {
        display: none !important;
        margin-top: 6px;
        padding: 32px !important;
        border: 1px solid #d9e1f2;
        border-radius: 22px;
        background: #fff;
        box-shadow: 0 18px 40px rgba(12, 38, 101, 0.08);
    }

    .hnp-product-tab.is-open .hnp-product-tab-panel {
        display: block !important;
    }
}

/* ===== HuuPhuocVo final local polish ===== */
html,
body {
    overflow-x: hidden;
}

.hnp-site-header,
.hnp-site-header * {
    overflow: visible !important;
}

.hnp-site-header {
    position: sticky;
    top: 0;
    z-index: 5000;
}

.hnp-primary-nav .menu,
.hnp-primary-nav .hnp-menu {
    gap: 32px;
}

.hnp-primary-nav .menu > li,
.hnp-primary-nav .hnp-menu > li {
    position: relative;
    padding-bottom: 18px;
    margin-bottom: -18px;
}

.hnp-primary-nav .menu > li.menu-item-has-children::after,
.hnp-primary-nav .hnp-menu > li.menu-item-has-children::after {
    content: "";
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    height: 18px;
}

.hnp-primary-nav a {
    color: #123583;
}

.hnp-primary-nav .current-menu-item > a,
.hnp-primary-nav .current_page_item > a,
.hnp-primary-nav .current-menu-ancestor > a,
.hnp-primary-nav .current-menu-parent > a,
.hnp-mobile-menu .current-menu-item > a,
.hnp-mobile-menu .current_page_item > a,
.hnp-mobile-menu .current-menu-ancestor > a,
.hnp-mobile-menu .current-menu-parent > a {
    color: #e0232d !important;
}

.hnp-primary-nav .sub-menu {
    top: 100% !important;
    margin-top: 0 !important;
    min-width: 292px;
    padding: 14px !important;
    background: #fff !important;
    border: 1px solid #d9e1f2 !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 34px rgba(12, 38, 101, 0.16) !important;
    z-index: 6000 !important;
}

.hnp-primary-nav li:hover > .sub-menu,
.hnp-primary-nav li:focus-within > .sub-menu {
    display: block !important;
}

.hnp-primary-nav .sub-menu li + li {
    margin-top: 6px !important;
}

.hnp-primary-nav .sub-menu a {
    display: block;
    width: 100%;
    padding: 12px 14px !important;
    border-radius: 12px;
    color: #123583 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
}

.hnp-primary-nav .sub-menu a:hover,
.hnp-primary-nav .sub-menu .current-menu-item > a {
    background: #edf3ff !important;
    color: #0b2a69 !important;
}

.hnp-mobile-nav-wrap {
    position: relative;
    z-index: 5500;
}

.hnp-mobile-menu .sub-menu {
    margin-top: 10px;
    padding: 10px;
    background: #f5f8ff;
    border: 1px solid #d9e1f2;
    border-radius: 14px;
}

.hnp-mobile-menu .sub-menu li + li {
    margin-top: 8px;
}

.hnp-mobile-menu .sub-menu a {
    display: block;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #d9e1f2;
    border-radius: 10px;
    color: #123583;
    font-weight: 700;
}

.hnp-site-footer-main ul,
.hnp-site-footer-main li,
.hnp-site-footer-main .sub-menu {
    list-style: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.hnp-single-content,
.hnp-news-card-body,
.hnp-news-featured-content,
.entry-content,
.post-content {
    overflow-wrap: anywhere;
    word-break: normal;
}

.hnp-single-content img,
.hnp-single-content figure,
.hnp-single-content .wp-block-image,
.hnp-single-content .wp-caption,
.entry-content img,
.entry-content figure,
.entry-content .wp-block-image,
.entry-content .wp-caption {
    max-width: 100% !important;
    width: auto;
    height: auto !important;
    display: block;
}

.hnp-single-content img,
.entry-content img {
    margin: 20px auto;
}

.hnp-single-content table,
.entry-content table,
.hnp-product-tab-panel table,
.hnp-product-tab-panel .shop_attributes,
.hnp-product-tab-panel table.shop_attributes {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid #000 !important;
}

.hnp-single-content th,
.hnp-single-content td,
.entry-content th,
.entry-content td,
.hnp-product-tab-panel th,
.hnp-product-tab-panel td,
.hnp-product-tab-panel .shop_attributes th,
.hnp-product-tab-panel .shop_attributes td {
    border: 1px solid #000 !important;
    padding: 10px 12px !important;
    vertical-align: top;
}

.hnp-product-meta-box {
    padding: 22px 24px;
}

.hnp-product-meta-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.hnp-product-meta-heading h2 {
    margin: 0;
    color: #0b245e;
    font-size: 24px;
    line-height: 1.2;
}

.hnp-product-meta-expand {
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid #cad8f5;
    background: #f5f8ff;
    color: #123583;
    font-weight: 800;
    cursor: pointer;
}

.hnp-product-meta-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    overflow: hidden;
    transition: max-height 0.25s ease;
}

.hnp-product-meta-grid.is-collapsed {
    max-height: 56px;
}

.hnp-product-meta-grid.is-expanded {
    max-height: 1000px;
}

.hnp-product-meta-chip {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid #cad8f5;
    background: #fff;
    color: #123583;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.hnp-product-meta-chip:hover {
    background: #edf3ff;
}

.hnp-product-share-box {
    margin-top: 18px;
}

.hnp-product-share-box h3 {
    margin: 0 0 12px;
    color: #0b245e;
}

.hnp-product-share-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hnp-product-share-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid #cad8f5;
    background: #fff;
    color: #123583;
    font-weight: 700;
    text-decoration: none;
}

.hnp-related-product-card {
    min-height: 0 !important;
    padding: 18px !important;
}

.hnp-related-product-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
}

.hnp-related-product-image-wrap {
    display: flex !important;
    width: 100% !important;
    aspect-ratio: 1 / 1;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    border-radius: 14px;
    overflow: hidden;
}

.hnp-related-product-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.hnp-related-product-title {
    display: block !important;
    color: #123583 !important;
    text-align: center;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
}

.hnp-related-products .button,
.hnp-related-products .added_to_cart,
.hnp-related-products .wd-quick-view,
.hnp-related-products .wd-wishlist-btn,
.hnp-related-products .compare,
.hnp-related-products .price,
.hnp-related-products .star-rating,
.hnp-related-products .wd-product-cats,
.hnp-related-products .wd-entities-excerpt,
.hnp-related-products .wd-buttons,
.hnp-related-products .product-actions,
.hnp-related-products .quick-shop-form,
.hnp-related-products p,
.hnp-related-products [class*="cart"],
.hnp-related-products [class*="wishlist"],
.hnp-related-products [class*="compare"],
.hnp-related-products [class*="quick"],
.hnp-product-summary .hnp-product-share-box,
.hnp-product-summary .product-share,
.hnp-product-summary .social-icons,
.hnp-product-summary [class*="share"],
.woocommerce-product-gallery__trigger,
.wd-btn-zoom,
.open-image,
.wd-gallery-btn {
    display: none !important;
}

@media (max-width: 767px) {
    .hnp-shell {
        width: min(100%, calc(100% - 16px));
    }

    .hnp-site-header-inner {
        min-height: 74px;
        grid-template-columns: auto 1fr auto;
        gap: 10px;
        align-items: center;
    }

    .hnp-site-header-left {
        gap: 10px;
    }

    .hnp-menu-toggle {
        min-width: auto;
        gap: 8px;
        padding: 0;
    }

    .hnp-menu-toggle strong {
        font-size: 14px;
    }

    .hnp-site-logo img {
        max-height: 40px;
    }

    .hnp-site-header-right img {
        max-height: 28px;
    }

    .hnp-single-shell,
    .hnp-single-article,
    .hnp-single-content,
    .hnp-single-content > * {
        max-width: 100% !important;
    }

    .hnp-single-content table,
    .entry-content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .hnp-product-meta-box {
        padding: 14px;
    }

    .hnp-product-meta-heading {
        margin-bottom: 12px;
    }

    .hnp-product-meta-heading h2 {
        font-size: 18px;
    }

    .hnp-product-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .hnp-product-meta-grid.is-collapsed {
        max-height: 108px;
    }

    .hnp-product-meta-chip {
        min-height: 42px;
        font-size: 14px;
        padding: 10px 8px;
    }

    .hnp-product-share-links {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .hnp-product-tab {
        border: 1px solid #d9e1f2;
        border-radius: 18px;
        background: #fff;
        overflow: hidden;
    }

    .hnp-product-tab + .hnp-product-tab {
        margin-top: 10px !important;
    }

    .hnp-product-tab-toggle {
        padding: 16px !important;
        font-size: 18px !important;
        font-weight: 800 !important;
        color: #123583 !important;
        background: #f5f8ff !important;
    }

    .hnp-product-tab.is-open .hnp-product-tab-toggle,
    .hnp-product-tab.is-open .hnp-product-tab-toggle span {
        color: #111 !important;
    }

    .hnp-product-tab-panel {
        padding: 16px !important;
    }

    .hnp-related-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .hnp-related-product-title {
        font-size: 15px;
    }
}

/* ===== Final UI polish April 2026 ===== */
.hnp-site-header-inner {
    grid-template-columns: 140px minmax(0, 1fr) 220px;
}

.hnp-primary-nav {
    justify-self: center;
    width: 100%;
}

.hnp-primary-nav .menu,
.hnp-primary-nav .hnp-menu {
    justify-content: center;
}

.hnp-primary-nav .sub-menu {
    max-width: 360px;
    overflow: hidden;
}

.hnp-primary-nav .sub-menu a {
    white-space: normal;
    word-break: keep-all;
}

.hnp-site-footer-builder {
    padding: 0;
}

.hnp-site-footer-builder .hnp-shell {
    padding-top: 36px;
    padding-bottom: 18px;
}

.hnp-product-main-image {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hnp-product-main-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.hnp-product-meta-heading h2 {
    font-size: 18px;
}

.hnp-product-meta-expand {
    min-height: 38px;
    padding: 0 14px;
    font-size: 14px;
}

.hnp-product-meta-grid {
    gap: 10px;
}

.hnp-product-meta-grid.is-collapsed {
    max-height: 50px;
}

.hnp-product-meta-chip {
    min-height: 38px;
    padding: 8px 10px;
    font-size: 14px;
    line-height: 1.3;
}

.hnp-product-tabs {
    display: block !important;
    padding: 18px !important;
}

.hnp-product-tab {
    width: 100%;
    border: 1px solid #d9e1f2 !important;
    border-radius: 18px !important;
    background: #fff !important;
    overflow: hidden !important;
}

.hnp-product-tab + .hnp-product-tab {
    margin-top: 12px !important;
}

.hnp-product-tab-toggle {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f5f8ff !important;
    color: #123583 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    box-shadow: none !important;
}

.hnp-product-tab-toggle::after {
    content: "\25BE";
    flex: 0 0 auto;
    font-size: 12px;
    transition: transform 0.2s ease;
}

.hnp-product-tab.is-open .hnp-product-tab-toggle {
    color: #111 !important;
}

.hnp-product-tab.is-open .hnp-product-tab-toggle::after {
    transform: rotate(180deg);
}

.hnp-product-tab-panel {
    display: none !important;
    margin-top: 0 !important;
    padding: 20px !important;
    border-top: 1px solid #d9e1f2;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.hnp-product-tab.is-open .hnp-product-tab-panel {
    display: block !important;
}

.hnp-related-products .button,
.hnp-related-products .added_to_cart,
.hnp-related-products .wd-quick-view,
.hnp-related-products .wd-wishlist-btn,
.hnp-related-products .compare,
.hnp-related-products .price,
.hnp-related-products .star-rating,
.hnp-related-products .wd-product-cats,
.hnp-related-products .wd-entities-excerpt,
.hnp-related-products .wd-buttons,
.hnp-related-products .product-actions,
.hnp-related-products .quick-shop-form,
.hnp-related-products p,
.hnp-related-products [class*="cart"],
.hnp-related-products [class*="wishlist"],
.hnp-related-products [class*="compare"],
.hnp-related-products [class*="quick"],
.hnp-related-products .btn,
.hnp-related-products .wd-add-btn,
.hnp-related-products .wd-bottom-actions {
    display: none !important;
}

@media (max-width: 1024px) {
    .hnp-site-header-inner {
        grid-template-columns: auto 1fr auto;
    }
}

@media (max-width: 767px) {
    .hnp-site-header-inner {
        position: relative;
        min-height: 76px;
        grid-template-columns: auto 1fr auto;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .hnp-site-header-left {
        position: static;
    }

    .hnp-site-logo {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        z-index: 2;
    }

    .hnp-site-header-right {
        justify-content: flex-end;
        padding-left: 12px;
    }

    .hnp-site-header-right img {
        max-height: 24px;
    }

    .hnp-product-meta-heading {
        align-items: flex-start;
    }

    .hnp-product-meta-heading h2 {
        font-size: 16px;
    }

    .hnp-product-meta-expand {
        min-height: 34px;
        padding: 0 12px;
        font-size: 13px;
    }

    .hnp-product-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hnp-product-meta-grid.is-collapsed {
        max-height: 94px;
    }

    .hnp-product-meta-chip {
        min-height: 34px;
        font-size: 13px;
        padding: 6px 8px;
        border-radius: 14px;
    }

    .hnp-product-tab-toggle {
        padding: 14px 16px !important;
        font-size: 16px !important;
    }

    .hnp-product-tab-panel {
        padding: 16px !important;
    }

    .hnp-primary-nav .sub-menu {
        max-width: 100%;
    }
}

/* ===== HuuPhuocVo Final Stabilization 2026-04-04 ===== */
.hnp-site-topbar-builder {
    background: #1f4699;
    color: #fff;
}

.hnp-site-topbar-builder .elementor,
.hnp-site-topbar-builder .elementor-section,
.hnp-site-topbar-builder .hnp-shell,
.hnp-site-footer-builder .elementor,
.hnp-site-footer-builder .elementor-section,
.hnp-site-footer-builder .hnp-shell {
    max-width: 1280px;
    margin: 0 auto;
}

.hnp-site-header-inner {
    grid-template-columns: 170px minmax(0, 1fr) 200px !important;
    gap: 28px !important;
    min-height: 96px !important;
}

.hnp-site-header-left {
    justify-self: start;
}

.hnp-site-logo {
    justify-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.hnp-site-logo img {
    max-height: 68px !important;
    width: auto;
}

.hnp-primary-nav {
    justify-self: center;
    width: 100%;
    padding-left: 18px;
}

.hnp-primary-nav .hnp-menu,
.hnp-primary-nav .menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 34px;
}

.hnp-primary-nav .menu > li,
.hnp-primary-nav .hnp-menu > li {
    position: relative;
    padding-bottom: 14px;
    margin-bottom: -14px;
}

.hnp-primary-nav .menu > li.menu-item-has-children::after,
.hnp-primary-nav .hnp-menu > li.menu-item-has-children::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 18px;
}

.hnp-primary-nav .sub-menu {
    top: calc(100% - 2px) !important;
    margin-top: 0 !important;
    min-width: 280px !important;
    max-width: 340px !important;
    padding: 10px !important;
    border-radius: 18px !important;
    overflow: visible !important;
}

.hnp-primary-nav .sub-menu > li,
.hnp-primary-nav .sub-menu > li + li {
    margin: 0 !important;
}

.hnp-primary-nav .sub-menu a {
    display: block !important;
    width: 100%;
    padding: 10px 14px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    word-break: break-word;
    border-radius: 12px;
}

.hnp-primary-nav .current-menu-item > a,
.hnp-primary-nav .current-menu-ancestor > a,
.hnp-primary-nav .current_page_item > a,
.hnp-primary-nav .current_page_ancestor > a {
    color: #e0232d !important;
}

.hnp-site-header-right img {
    max-height: 36px;
    width: auto;
}

.hnp-product-main-image {
    aspect-ratio: 1 / 1 !important;
    padding: 12px !important;
}

.hnp-product-main-image img {
    width: 94% !important;
    height: 94% !important;
    object-fit: contain !important;
}

.hnp-product-meta-box {
    overflow: visible !important;
}

.hnp-product-meta-heading {
    align-items: center !important;
    gap: 14px;
}

.hnp-product-meta-heading h2 {
    font-size: 18px !important;
    line-height: 1.2;
}

.hnp-product-meta-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 12px !important;
    max-height: none;
    overflow: hidden;
}

.hnp-product-meta-grid.is-collapsed {
    max-height: 94px !important;
}

.hnp-product-meta-grid.is-expanded {
    max-height: 1000px !important;
}

.hnp-product-meta-chip {
    min-height: 50px !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    text-align: center;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 999px !important;
}

.hnp-product-share-links {
    gap: 10px !important;
    flex-wrap: wrap;
}

.hnp-product-tabs {
    display: block !important;
    padding: 18px !important;
}

.hnp-product-tab {
    border: 1px solid #d9e1f2 !important;
    border-radius: 18px !important;
    background: #fff !important;
    overflow: hidden !important;
}

.hnp-product-tab + .hnp-product-tab {
    margin-top: 12px !important;
}

.hnp-product-tab-toggle {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 22px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f5f8ff !important;
    color: #123583 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    box-shadow: none !important;
}

.hnp-product-tab-toggle::after {
    content: '\25BE' !important;
    font-size: 12px;
    transition: transform 0.2s ease;
}

.hnp-product-tab.is-open .hnp-product-tab-toggle,
.hnp-product-tab.is-open .hnp-product-tab-toggle span {
    color: #111 !important;
}

.hnp-product-tab.is-open .hnp-product-tab-toggle::after {
    transform: rotate(180deg);
}

.hnp-product-tab-panel {
    display: none !important;
    padding: 20px !important;
    border-top: 1px solid #d9e1f2 !important;
}

.hnp-product-tab.is-open .hnp-product-tab-panel {
    display: block !important;
}

.hnp-product-tab-panel table,
.woocommerce-tabs table,
.entry-content table,
.hnp-single-content table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.hnp-product-tab-panel table th,
.hnp-product-tab-panel table td,
.woocommerce-tabs table th,
.woocommerce-tabs table td,
.entry-content table th,
.entry-content table td,
.hnp-single-content table th,
.hnp-single-content table td {
    border: 1px solid #111 !important;
    padding: 10px 12px !important;
}

.hnp-single-content img,
.hnp-single-content figure,
.hnp-single-content iframe,
.hnp-single-content video,
.entry-content img,
.entry-content figure,
.entry-content iframe,
.entry-content video {
    max-width: 100% !important;
    height: auto !important;
}

.hnp-related-products-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.hnp-related-product-image-wrap {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hnp-related-product-image {
    width: 88% !important;
    height: 88% !important;
    object-fit: contain !important;
}

@media (max-width: 767px) {
    .hnp-site-header-inner {
        grid-template-columns: 92px 1fr 108px !important;
        min-height: 88px !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        gap: 8px !important;
    }

    .hnp-site-logo {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 96px;
        max-width: 96px;
    }

    .hnp-site-logo img {
        max-height: 56px !important;
    }

    .hnp-site-header-right {
        justify-self: end;
        padding-left: 0 !important;
    }

    .hnp-site-header-right img {
        max-height: 26px !important;
    }

    .hnp-menu-toggle {
        font-size: 15px;
        gap: 8px;
    }

    .hnp-product-main-image {
        padding: 8px !important;
    }

    .hnp-product-main-image img {
        width: 108% !important;
        height: 108% !important;
        transform: scale(1.08);
        transform-origin: center;
    }

    .hnp-product-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .hnp-product-meta-grid.is-collapsed {
        max-height: 144px !important;
    }

    .hnp-product-meta-chip {
        min-height: 56px !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
        padding: 8px 10px !important;
    }

    .hnp-product-tab-toggle {
        padding: 16px 18px !important;
        font-size: 16px !important;
        width: 100% !important;
    }

    .hnp-product-tab-panel {
        padding: 16px !important;
    }

    .hnp-related-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ===== HuuPhuocVo final header/search/archive/product polish ===== */
.hnp-site-header {
    position: sticky;
    top: 0;
    z-index: 9990;
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(10px);
}

.hnp-site-header-search {
    padding: 0 0 16px;
}

.hnp-site-header-search-inner {
    max-width: 520px;
    margin: 0 auto;
}

.hnp-site-header-search .woocommerce-product-search,
.hnp-site-header-search .searchform,
.hnp-site-header-search form {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.hnp-site-header-search input[type="search"],
.hnp-site-header-search .search-field {
    width: 100%;
    min-height: 44px;
    border: 1px solid #c9d8f8;
    border-radius: 999px;
    padding: 0 18px;
    font-size: 15px;
    color: #123583;
    background: #fff;
}

.hnp-site-header-search button,
.hnp-site-header-search input[type="submit"] {
    min-height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #123583 0%, #1b4db3 100%);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.hnp-site-header-inner {
    grid-template-columns: 160px minmax(0, 1fr) 190px !important;
    gap: 18px !important;
}

.hnp-primary-nav {
    padding-left: 34px !important;
    padding-right: 34px !important;
}

.hnp-primary-nav .hnp-menu,
.hnp-primary-nav .menu {
    gap: 42px !important;
}

.hnp-primary-nav .sub-menu {
    top: calc(100% - 6px) !important;
    padding: 10px !important;
    min-width: 280px !important;
    max-width: 330px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-sizing: border-box;
}

.hnp-primary-nav .sub-menu,
.hnp-primary-nav .sub-menu *,
.hnp-primary-nav .sub-menu li,
.hnp-primary-nav .sub-menu a {
    box-sizing: border-box;
}

.hnp-primary-nav .sub-menu li {
    overflow: hidden;
    border-radius: 12px;
}

.hnp-primary-nav .sub-menu a {
    padding: 10px 14px !important;
    margin: 0 !important;
    border-radius: 12px !important;
}

.hnp-primary-nav .sub-menu a:hover,
.hnp-primary-nav .sub-menu .current-menu-item > a,
.hnp-primary-nav .sub-menu .current-menu-ancestor > a {
    background: #eaf1ff !important;
    color: #123583 !important;
}

.hnp-product-main-image img {
    width: 76% !important;
    height: 76% !important;
    transform: none !important;
}

body .hnp-products-page .hnp-product-thumb,
body .hnp-products-page .hnp-product-thumb img {
    height: auto !important;
    aspect-ratio: 1 / 1;
}

body .hnp-products-page .hnp-product-thumb img {
    object-fit: contain !important;
    padding: 10px;
    background: linear-gradient(145deg, #f4f7ff 0%, #eaf1ff 100%);
}

body .hnp-cat-product-thumb,
body .hnp-cat-product-thumb img {
    aspect-ratio: 1 / 1 !important;
}

.hnp-product-tab.is-open .hnp-product-tab-toggle {
    background: linear-gradient(135deg, #123583 0%, #1b4db3 100%) !important;
    color: #fff !important;
}

.hnp-product-tab.is-open .hnp-product-tab-toggle span,
.hnp-product-tab.is-open .hnp-product-tab-toggle::after {
    color: #fff !important;
}

@media (max-width: 1024px) {
    .hnp-site-header-inner {
        grid-template-columns: 112px 1fr 148px !important;
        gap: 12px !important;
    }

    .hnp-primary-nav {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .hnp-primary-nav .hnp-menu,
    .hnp-primary-nav .menu {
        gap: 26px !important;
    }
}

@media (max-width: 767px) {
    .hnp-site-header {
        position: sticky;
        top: 0;
    }

    .hnp-site-header-search {
        display: none;
    }

    .hnp-site-header-inner {
        grid-template-columns: 98px 1fr 110px !important;
        min-height: 86px !important;
        gap: 6px !important;
    }

    .hnp-site-logo {
        width: 110px !important;
        max-width: 110px !important;
    }

    .hnp-site-logo img {
        max-height: 62px !important;
    }

    .hnp-site-header-right img {
        max-height: 24px !important;
    }

    .hnp-product-main-image img {
        width: 96% !important;
        height: 96% !important;
        transform: none !important;
    }

    .hnp-product-meta-chip {
        font-size: 15px !important;
        min-height: 54px !important;
    }
}

/* ===== Search page and admin-builder polish ===== */
.hnp-site-header-search button,
.hnp-site-header-search input[type="submit"],
.hnp-search-inline-form button,
.hnp-search-inline-form input[type="submit"] {
    white-space: nowrap !important;
    line-height: 1 !important;
    min-width: 108px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.hnp-search-page {
    padding: 34px 0 56px;
    background:
        radial-gradient(circle at top right, rgba(229, 51, 69, 0.08), transparent 24%),
        radial-gradient(circle at left center, rgba(18, 53, 131, 0.08), transparent 26%),
        linear-gradient(180deg, #f7faff 0%, #eef4ff 100%);
}

.hnp-search-hero {
    margin-bottom: 30px;
}

.hnp-search-hero-card {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid #d8e4fb;
    border-radius: 30px;
    box-shadow: 0 18px 50px rgba(18, 53, 131, 0.1);
    padding: 34px 36px;
}

.hnp-search-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border-radius: 999px;
    background: #e9f0ff;
    color: #123583;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.hnp-search-hero-card h1 {
    margin: 0 0 14px;
    color: #123583;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.06;
}

.hnp-search-hero-card p {
    margin: 0;
    max-width: 840px;
    color: #4a5f96;
    font-size: 17px;
    line-height: 1.8;
}

.hnp-search-inline-form {
    margin-top: 24px;
}

.hnp-search-inline-form .woocommerce-product-search,
.hnp-search-inline-form .searchform,
.hnp-search-inline-form form {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
}

.hnp-search-inline-form input[type="search"],
.hnp-search-inline-form .search-field {
    width: 100%;
    min-height: 50px;
    padding: 0 20px;
    border: 1px solid #c8d8fb;
    border-radius: 999px;
    background: #fff;
    color: #123583;
    font-size: 16px;
}

.hnp-search-inline-form button,
.hnp-search-inline-form input[type="submit"] {
    min-height: 50px;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #123583 0%, #1d4eb3 100%);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(18, 53, 131, 0.18);
}

.hnp-search-results-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.hnp-search-card {
    margin: 0;
}

.hnp-search-card-link {
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 100%;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid #d8e4fb;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(18, 53, 131, 0.1);
    transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.hnp-search-card-link:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 44px rgba(18, 53, 131, 0.14);
    border-color: #b9cef7;
}

.hnp-search-card-media {
    aspect-ratio: 1 / 1;
    background: linear-gradient(145deg, #f7faff 0%, #eaf1ff 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.hnp-search-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.hnp-search-card-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 24px;
    border: 1px dashed #c4d5fa;
    color: #123583;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.hnp-search-card-content {
    display: grid;
    gap: 12px;
    padding: 20px 22px 24px;
}

.hnp-search-badge {
    display: inline-flex;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 999px;
    background: #fff1f3;
    color: #e53345;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.hnp-search-card-title {
    margin: 0;
    color: #123583;
    font-size: 24px;
    line-height: 1.25;
}

.hnp-search-card-excerpt {
    color: #4d6197;
    font-size: 15px;
    line-height: 1.75;
}

.hnp-search-card-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 10px 18px;
    border-radius: 999px;
    background: #123583;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.hnp-search-pagination {
    margin-top: 30px;
}

.hnp-search-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.hnp-search-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    min-height: 46px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid #c8d8fb;
    background: #fff;
    color: #123583;
    font-weight: 700;
    text-decoration: none;
}

.hnp-search-pagination .page-numbers.current,
.hnp-search-pagination .page-numbers:hover {
    background: #123583;
    color: #fff;
    border-color: #123583;
}

.hnp-search-empty {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid #d8e4fb;
    border-radius: 28px;
    box-shadow: 0 16px 40px rgba(18, 53, 131, 0.1);
    padding: 34px;
    text-align: center;
}

.hnp-search-empty h2 {
    margin: 0 0 12px;
    color: #123583;
    font-size: 34px;
}

.hnp-search-empty p {
    margin: 0;
    color: #4d6197;
    font-size: 16px;
    line-height: 1.8;
}

@media (max-width: 1024px) {
    .hnp-search-results-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .hnp-search-page {
        padding: 22px 0 34px;
    }

    .hnp-search-hero-card {
        padding: 24px 20px;
        border-radius: 24px;
    }

    .hnp-search-hero-card h1 {
        font-size: 32px;
    }

    .hnp-search-hero-card p,
    .hnp-search-card-excerpt {
        font-size: 15px;
    }

    .hnp-search-inline-form .woocommerce-product-search,
    .hnp-search-inline-form .searchform,
    .hnp-search-inline-form form {
        flex-direction: column;
        align-items: stretch;
    }

    .hnp-search-inline-form button,
    .hnp-search-inline-form input[type="submit"] {
        width: 100%;
    }

    .hnp-search-results-grid {
        grid-template-columns: 1fr;
    }

    .hnp-search-card-title {
        font-size: 22px;
    }
}

/* ===== Final header/footer/archive cleanup 2026-04-04 ===== */
@media (min-width: 768px) {
    .hnp-site-header {
        border-top: 3px solid #123583;
        box-shadow: 0 10px 30px rgba(18, 53, 131, 0.08);
    }

    .hnp-site-header-left {
        display: none !important;
    }

    .hnp-site-header-inner {
        grid-template-columns: 170px minmax(0, 1fr) 210px !important;
        min-height: 88px !important;
        gap: 28px !important;
        align-items: center !important;
    }

    .hnp-site-logo {
        justify-self: start !important;
        position: static !important;
        transform: none !important;
        width: auto !important;
        max-width: none !important;
    }

    .hnp-site-logo img {
        max-height: 58px !important;
    }

    .hnp-primary-nav {
        justify-self: center !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 auto !important;
    }

    .hnp-primary-nav .hnp-menu,
    .hnp-primary-nav .menu {
        justify-content: center !important;
        gap: 34px !important;
    }

    .hnp-primary-nav a {
        min-height: 42px !important;
        font-size: 15px !important;
    }

    .hnp-site-header-right {
        justify-self: end !important;
        justify-content: flex-end !important;
        padding: 0 !important;
    }

    .hnp-site-header-right img {
        max-height: 46px !important;
    }

    .hnp-site-header-search {
        padding: 8px 0 14px !important;
        border-top: 1px solid #e4ebfa;
    }

    .hnp-site-header-search-inner {
        max-width: 560px !important;
    }

    .hnp-primary-nav .sub-menu {
        top: calc(100% - 2px) !important;
        min-width: 290px !important;
        max-width: 290px !important;
        padding: 10px !important;
        overflow: hidden !important;
    }

    .hnp-primary-nav .sub-menu li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .hnp-primary-nav .sub-menu li + li {
        margin-top: 6px !important;
    }

    .hnp-primary-nav .sub-menu a {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 10px 14px !important;
        border-radius: 12px !important;
        line-height: 1.45 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }
}

body .hnp-products-page .hnp-product-card,
body.tax-product_cat .hnp-product-card {
    display: flex !important;
    flex-direction: column !important;
}

body .hnp-products-page .hnp-product-thumb,
body.tax-product_cat .hnp-cat-product-thumb {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    aspect-ratio: 1 / 1 !important;
    background: linear-gradient(145deg, #f4f7ff 0%, #eaf1ff 100%) !important;
}

body .hnp-products-page .hnp-product-thumb img,
body.tax-product_cat .hnp-cat-product-thumb img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 90% !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 12px !important;
    transform: none !important;
}

.hnp-site-footer-builder {
    background: linear-gradient(180deg, #11327c 0%, #0b245e 100%);
    color: #fff;
}

.hnp-site-footer-builder .hnp-site-footer-grid,
.hnp-site-footer-builder .hnp-site-footer-bottom {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

/* ===== Homepage showcase admin + single image resize ===== */
@media (min-width: 768px) {
    .hnp-product-main-image img {
        width: 54% !important;
        height: 54% !important;
    }
}

.hnp-showcase-card {
    display: grid;
    gap: 14px;
}

/* ===== Final mobile single product + header cleanup ===== */
@media (max-width: 767px) {
    body .hnp-site-header-inner {
        position: relative !important;
        grid-template-columns: 88px minmax(0, 1fr) 96px !important;
        min-height: 76px !important;
        gap: 10px !important;
        padding: 10px 12px !important;
        align-items: center !important;
    }

    body .hnp-site-header-left {
        grid-column: 1 !important;
        justify-self: start !important;
    }

    body .hnp-menu-toggle {
        padding: 0 !important;
        gap: 8px !important;
    }

    body .hnp-menu-toggle strong {
        font-size: 14px !important;
    }

    body .hnp-site-logo {
        position: static !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        grid-column: 2 !important;
        justify-self: center !important;
        align-self: center !important;
        width: 84px !important;
        max-width: 84px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        z-index: 1 !important;
    }

    body .hnp-site-logo img {
        max-height: 52px !important;
        width: auto !important;
        max-width: 100% !important;
        display: block !important;
    }

    body .hnp-site-header-right {
        grid-column: 3 !important;
        justify-self: end !important;
        align-self: center !important;
        display: flex !important;
        justify-content: flex-end !important;
    }

    body .hnp-site-header-right img {
        max-width: 86px !important;
        max-height: 22px !important;
        width: auto !important;
        height: auto !important;
    }

    body .hnp-product-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body .hnp-product-meta-grid.is-collapsed {
        max-height: 78px !important;
    }

    body .hnp-product-meta-chip {
        min-height: 34px !important;
        padding: 0 10px !important;
        font-size: 13px !important;
        line-height: 1.15 !important;
        border-radius: 999px !important;
        font-weight: 700 !important;
    }

    body .hnp-product-share-links a {
        min-height: 34px !important;
        padding: 0 10px !important;
        font-size: 13px !important;
    }

    body .hnp-product-tab {
        border-radius: 18px !important;
        overflow: hidden !important;
    }

    body .hnp-product-tab-toggle {
        width: 100% !important;
        padding: 16px 18px !important;
        font-size: 18px !important;
        color: #123583 !important;
        background: #f5f8ff !important;
        border: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    body .hnp-product-tab-toggle span,
    body .hnp-product-tab-toggle::after {
        color: inherit !important;
    }

    body .hnp-product-tab:not(.is-open) .hnp-product-tab-panel {
        display: none !important;
    }

    body .hnp-product-tab.is-open .hnp-product-tab-toggle {
        background: linear-gradient(135deg, #123583 0%, #1b4db3 100%) !important;
        color: #fff !important;
    }

    body .hnp-product-tab.is-open .hnp-product-tab-toggle span,
    body .hnp-product-tab.is-open .hnp-product-tab-toggle::after {
        color: #fff !important;
        background: transparent !important;
    }

    body .hnp-product-tab.is-open .hnp-product-tab-panel {
        display: block !important;
    }
}

.hnp-showcase-card img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

/* ===== Home Media Admin / Hero Slider / Rotating Bearings ===== */
.hnp-hero-media-slider {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: stretch;
}

.hnp-hero-slide {
    position: absolute;
    inset: 12px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .45s ease, transform .45s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.hnp-hero-slide.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.hnp-hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.hnp-hero-slide-caption {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 12px 16px;
    border-radius: 16px;
    background: rgba(11, 42, 105, .84);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    backdrop-filter: blur(8px);
}

.hnp-hero-slider-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 14px;
    display: flex;
    justify-content: center;
    gap: 10px;
    z-index: 3;
}

.hnp-hero-dot {
    width: 12px;
    height: 12px;
    border: 0;
    border-radius: 999px;
    background: #b9c8ef;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease;
}

.hnp-hero-dot.is-active {
    background: #e01f2b;
    transform: scale(1.15);
}

.hnp-showcase-card {
    text-decoration: none;
}

.hnp-showcase-card .hnp-showcase-caption {
    display: block;
    padding: 12px 14px;
    color: var(--hnp-blue-900);
    font-weight: 700;
    font-size: 18px;
}

.hnp-rotating-bearings {
    padding: 18px 0 18px;
}

.hnp-bearing-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    align-items: center;
}

.hnp-bearing-card {
    display: flex;
    justify-content: center;
    text-decoration: none;
}

.hnp-bearing-ring-wrap {
    position: relative;
    width: min(100%, 255px);
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
}

.hnp-bearing-ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    animation: hnpBearingSpin 16s linear infinite;
    filter: drop-shadow(0 18px 28px rgba(16, 45, 104, .15));
}

.hnp-bearing-center {
    position: relative;
    z-index: 2;
    width: 52%;
    aspect-ratio: 1 / 1;
    border-radius: 999px;
    background: radial-gradient(circle at top, #f9fbff 0%, #e8efff 72%, #d4def8 100%);
    display: grid;
    place-items: center;
    text-align: center;
    padding: 18px;
    color: #123583;
    font-weight: 800;
    line-height: 1.15;
    font-size: 16px;
    box-shadow: inset 0 0 0 6px rgba(255,255,255,.75), 0 10px 18px rgba(17, 52, 119, .12);
}

.hnp-bearing-center.is-logo img {
    width: 84%;
    height: auto;
    object-fit: contain;
}

@keyframes hnpBearingSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (max-width: 1024px) {
    .hnp-bearing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hnp-hero-media-slider {
        min-height: 420px;
    }
}

@media (max-width: 767px) {
    .hnp-hero-media-slider {
        display: none !important;
        min-height: 320px;
    }

    .hnp-hero-slide {
        inset: 8px;
    }

    .hnp-hero-slide-caption {
        left: 12px;
        right: 12px;
        bottom: 12px;
        font-size: 13px;
        padding: 10px 12px;
    }

    .hnp-bearing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .hnp-bearing-center {
        width: 56%;
        font-size: 14px;
        padding: 12px;
    }
}
/* ===== Header Logo Sticky Final ===== */
body .hnp-site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    background: rgba(255,255,255,0.98) !important;
    backdrop-filter: blur(10px);
}

body.admin-bar .hnp-site-header {
    top: 32px !important;
}

@media (max-width: 782px) {
    body.admin-bar .hnp-site-header {
        top: 46px !important;
    }
}

@media (min-width: 768px) {
    body .hnp-site-header-inner {
        grid-template-columns: 210px minmax(0, 1fr) 220px !important;
        min-height: 102px !important;
        gap: 24px !important;
        align-items: center !important;
    }

    body .hnp-site-logo {
        display: inline-flex !important;
        align-items: center !important;
        justify-self: start !important;
    }

    body .hnp-site-logo img {
        width: auto !important;
        max-height: 82px !important;
        height: auto !important;
    }

    body .hnp-primary-nav {
        align-self: center !important;
    }

    body .hnp-site-header-search {
        padding-top: 8px !important;
    }
}
/* ===== Header Fixed Final ===== */
:root {
    --hnp-header-height: 150px;
    --hnp-header-offset: 0px;
}

body {
    padding-top: calc(var(--hnp-header-height) + var(--hnp-header-offset)) !important;
}

body .hnp-site-header {
    position: fixed !important;
    top: var(--hnp-header-offset) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    background: rgba(255,255,255,0.98) !important;
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(18, 53, 131, 0.08) !important;
}

body .hnp-site-logo img {
    max-height: 82px !important;
    width: auto !important;
    height: auto !important;
}

@media (max-width: 767px) {
    body {
        padding-top: calc(var(--hnp-header-height) + var(--hnp-header-offset)) !important;
    }
}

/* ===== Mobile Header Layout Final ===== */
@media (max-width: 767px) {
    body .hnp-site-header-inner {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 108px 1fr 132px !important;
        align-items: center !important;
        min-height: 88px !important;
        gap: 8px !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    body .hnp-site-header-left {
        display: flex !important;
        align-items: center !important;
        justify-self: start !important;
        min-width: 0 !important;
    }

    body .hnp-menu-toggle {
        min-width: auto !important;
        padding: 0 !important;
        gap: 8px !important;
        font-size: 15px !important;
        line-height: 1 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body .hnp-menu-toggle strong {
        font-size: 15px !important;
        white-space: nowrap !important;
    }

    body .hnp-site-logo {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 118px !important;
        max-width: 118px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        z-index: 3 !important;
    }

    body .hnp-site-logo img {
        width: auto !important;
        max-width: 100% !important;
        max-height: 66px !important;
        height: auto !important;
        display: block !important;
    }

    body .hnp-site-header-right {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        justify-self: end !important;
        min-width: 0 !important;
        padding-left: 0 !important;
    }

    body .hnp-site-header-right img {
        width: auto !important;
        max-width: 120px !important;
        max-height: 28px !important;
        height: auto !important;
        display: block !important;
    }
}

/* ===== FINAL OVERRIDE: mobile header + single product accordions ===== */
@media (max-width: 767px) {
    body .hnp-site-header-inner {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 88px minmax(0, 1fr) 96px !important;
        align-items: center !important;
        min-height: 76px !important;
        gap: 10px !important;
        padding: 10px 12px !important;
    }

    body .hnp-site-header-left {
        grid-column: 1 !important;
        justify-self: start !important;
        display: flex !important;
        align-items: center !important;
    }

    body .hnp-menu-toggle {
        min-width: auto !important;
        padding: 0 !important;
        gap: 8px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body .hnp-menu-toggle strong {
        font-size: 14px !important;
        white-space: nowrap !important;
    }

    body .hnp-site-logo {
        position: static !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        grid-column: 2 !important;
        justify-self: center !important;
        align-self: center !important;
        width: 84px !important;
        max-width: 84px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        z-index: 1 !important;
    }

    body .hnp-site-logo img {
        width: auto !important;
        max-width: 100% !important;
        max-height: 52px !important;
        height: auto !important;
        display: block !important;
    }

    body .hnp-site-header-right {
        grid-column: 3 !important;
        justify-self: end !important;
        align-self: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        min-width: 0 !important;
    }

    body .hnp-site-header-right img {
        width: auto !important;
        max-width: 108px !important;
        max-height: 26px !important;
        height: auto !important;
        display: block !important;
    }

    body .hnp-product-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body .hnp-product-meta-grid.is-collapsed {
        max-height: 90px !important;
    }

    body .hnp-product-meta-chip {
        min-height: 34px !important;
        padding: 0 10px !important;
        font-size: 13px !important;
        line-height: 1.15 !important;
        border-radius: 999px !important;
        font-weight: 700 !important;
    }

    body .hnp-product-share-links a {
        min-height: 34px !important;
        padding: 0 10px !important;
        font-size: 13px !important;
    }

    body .hnp-product-tab {
        border-radius: 18px !important;
        overflow: hidden !important;
    }

    body .hnp-product-tab-toggle {
        width: 100% !important;
        padding: 16px 18px !important;
        font-size: 18px !important;
        color: #123583 !important;
        background: #f5f8ff !important;
        border: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    body .hnp-product-tab-toggle span,
    body .hnp-product-tab-toggle::after {
        color: inherit !important;
        background: transparent !important;
    }

    body .hnp-product-tab:not([open]) .hnp-product-tab-panel {
        display: none !important;
    }

    body .hnp-product-tab[open] .hnp-product-tab-toggle {
        background: linear-gradient(135deg, #123583 0%, #1b4db3 100%) !important;
        color: #fff !important;
    }

    body .hnp-product-tab[open] .hnp-product-tab-toggle span,
    body .hnp-product-tab[open] .hnp-product-tab-toggle::after {
        color: #fff !important;
    }

    body .hnp-product-tab[open] .hnp-product-tab-panel {
        display: block !important;
    }
}

/* ===== FINAL OVERRIDE: desktop single product balance ===== */
@media (min-width: 1025px) {
    body .hnp-product-hero {
        grid-template-columns: minmax(0, 620px) minmax(380px, 430px) !important;
        justify-content: space-between !important;
        gap: 24px !important;
        align-items: start !important;
    }

    body .hnp-product-gallery {
        max-width: 620px !important;
        padding: 14px !important;
    }

    body .hnp-product-main-image {
        min-height: 360px !important;
        max-width: 560px !important;
        margin: 0 auto !important;
        padding: 14px !important;
    }

    body .hnp-product-main-image img {
        width: 40% !important;
        height: 40% !important;
        max-width: 40% !important;
        max-height: 40% !important;
        object-fit: contain !important;
    }

    body .hnp-product-summary {
        min-height: 360px !important;
        max-width: 430px !important;
        padding: 24px !important;
    }

    body .hnp-product-tabs {
        margin-top: 24px !important;
    }

    body .hnp-product-tab {
        border-radius: 22px !important;
        overflow: hidden !important;
        margin-bottom: 16px !important;
        border: 1px solid #d6e1fb !important;
        background: #fff !important;
    }

    body .hnp-product-tab-toggle {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 18px 22px !important;
        font-size: 24px !important;
        font-weight: 800 !important;
        color: #123583 !important;
        background: #eef4ff !important;
        border: 0 !important;
        cursor: pointer !important;
    }

    body .hnp-product-tab-toggle span,
    body .hnp-product-tab-toggle::after {
        color: inherit !important;
        background: transparent !important;
    }

    body .hnp-product-tab:not([open]) .hnp-product-tab-panel {
        display: none !important;
    }

    body .hnp-product-tab[open] .hnp-product-tab-toggle {
        background: linear-gradient(135deg, #123583 0%, #1b4db3 100%) !important;
        color: #ffffff !important;
    }

    body .hnp-product-tab[open] .hnp-product-tab-toggle span,
    body .hnp-product-tab[open] .hnp-product-tab-toggle::after {
        color: #ffffff !important;
    }

    body .hnp-product-tab[open] .hnp-product-tab-toggle::after {
        transform: rotate(180deg) !important;
    }

    body .hnp-product-tab[open] .hnp-product-tab-panel {
        display: block !important;
        padding: 22px !important;
        background: #ffffff !important;
    }
}

/* ===== FINAL FINAL OVERRIDE: desktop single product equal hero boxes ===== */
@media (min-width: 1025px) {
    body .hnp-product-hero {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 4px !important;
        align-items: stretch !important;
        overflow: hidden !important;
    }

    body .hnp-product-gallery,
    body .hnp-product-summary {
        width: 100% !important;
        max-width: none !important;
        min-height: 600px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        min-width: 0 !important;
    }

    body .hnp-product-gallery {
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        padding: 16px !important;
    }

    body .hnp-product-main-image {
        flex: 1 1 auto !important;
        min-height: 500px !important;
        max-width: none !important;
        width: 100% !important;
        margin: 0 auto 18px !important;
        padding: 0px !important;
        overflow: hidden !important;
    }

    body .hnp-product-main-image img {
        width: 82% !important;
        height: 82% !important;
        max-width: 82% !important;
        max-height: 82% !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
        margin: auto !important;
    }

    body .hnp-product-thumbs {
        margin-top: 0 !important;
        gap: 14px !important;
    }

    body .hnp-product-summary {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        padding: 30px !important;
    }

    body .hnp-product-summary h1 {
        font-size: 40px !important;
        line-height: 1.04 !important;
        margin-bottom: 22px !important;
        text-align: center !important;
        word-break: break-word !important;
    }

    body .hnp-product-summary-text,
    body .hnp-product-summary-text p {
        font-size: 17px !important;
        line-height: 1.95 !important;
    }

    body .hnp-product-meta-grid {
        gap: 10px !important;
    }

    body .hnp-product-meta-chip {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 38px !important;
        padding: 0 14px !important;
        font-size: 14px !important;
        line-height: 1.15 !important;
        border-radius: 999px !important;
        width: auto !important;
        max-width: 100% !important;
        text-align: center !important;
    }
}

body .hnp-related-product-image-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

body .hnp-related-product-image {
    width: 82% !important;
    height: 82% !important;
    max-width: 82% !important;
    max-height: 82% !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto !important;
    display: block !important;
}

/* ===== ABSOLUTE FINAL OVERRIDE: single product desktop balance ===== */
@media (min-width: 1025px) {
    body .hnp-product-hero {
        display: flex !important;
        align-items: stretch !important;
        gap: 24px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    body .hnp-product-gallery,
    body .hnp-product-summary {
        flex: 1 1 0 !important;
        width: calc(50% - 12px) !important;
        max-width: calc(50% - 12px) !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body .hnp-product-gallery {
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        padding: 18px !important;
        min-height: 620px !important;
    }

    body .hnp-product-main-image {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 520px !important;
        height: 520px !important;
        margin: 0 auto 18px !important;
        padding: 12px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body .hnp-product-main-image img {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 90% !important;
        object-fit: contain !important;
        object-position: center center !important;
        margin: auto !important;
        display: block !important;
        transform: none !important;
    }

    body .hnp-product-summary {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        padding: 30px !important;
        min-height: 620px !important;
    }

    body h1.product_title.entry-title,
    body .hnp-product-summary h1 {
        font-size: 30px !important;
        line-height: 1.08 !important;
        text-align: center !important;
        margin: 0 0 22px !important;
        word-break: break-word !important;
    }

    body .hnp-product-meta-chip {
        font-size: 14px !important;
    }
}

body .hnp-related-product-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}

body .hnp-related-product-image-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 auto 18px !important;
    overflow: hidden !important;
}

body .hnp-related-product-image {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: auto !important;
    display: block !important;
}

body.hnp-single-product-custom .hnp-product-share-links a {
    min-height: 3px !important;
}

/* ===== FINAL OVERRIDE: desktop search-side info + mobile fixed info bar ===== */
body .hnp-site-topbar,
body .hnp-site-topbar-builder {
    display: none !important;
}

body .hnp-site-header-search-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(420px, 560px) minmax(220px, 1fr);
    align-items: center;
    gap: 18px;
}

body .hnp-site-header-search-side {
    font-size: 15px;
    line-height: 1.2;
    font-weight: 800;
    color: #123583;
    white-space: nowrap;
}

body .hnp-site-header-search-side-left {
    text-align: left;
}

body .hnp-site-header-search-side-right {
    text-align: right;
}

body .hnp-mobile-bottom-topinfo {
    display: none;
}

@media (min-width: 768px) {
    body .hnp-site-header-search {
        padding: 12px 0 14px !important;
        border-top: 1px solid #e4ebfa !important;
    }

    body .hnp-site-header-search-inner {
        max-width: none !important;
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    body .hnp-site-header-search {
        display: none !important;
    }

    body {
        padding-bottom: 62px !important;
    }

    body .hnp-mobile-bottom-topinfo {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 100001;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        min-height: 52px;
        padding: 8px 14px calc(8px + env(safe-area-inset-bottom, 0px));
        background: #123583;
        color: #fff;
        box-shadow: 0 -8px 24px rgba(18, 53, 131, 0.18);
        border-top: 1px solid rgba(255, 255, 255, 0.18);
        text-align: center;
    }

    body .hnp-mobile-bottom-topinfo-line {
        display: block;
        font-size: 13px;
        line-height: 1.2;
        font-weight: 800;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }
}

/* ===== Final Override: News Archive + Mobile Bottom Topinfo ===== */
body .hnp-news-featured-image img {
    object-fit: contain !important;
}

body .hnp-news-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

body .hnp-news-card-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
}

body .hnp-news-card h3 {
    font-size: 20px !important;
    line-height: 1.3 !important;
}

body .hnp-news-card p {
    flex: 1 1 auto !important;
}

body .hnp-news-link {
    display: inline-flex !important;
    align-items: center !important;
    margin-top: auto !important;
}

@media (max-width: 767px) {
    body .hnp-mobile-bottom-topinfo {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 100001;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        min-height: 40px;
        padding: 4px 4px calc(4px + env(safe-area-inset-bottom, 0px));
        background: #123583;
        color: #fff;
        box-shadow: 0 -8px 24px rgba(18, 53, 131, 0.18);
        border-top: 1px solid rgba(255, 255, 255, 0.18);
        text-align: center;
    }

    body .hnp-mobile-bottom-topinfo-line {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    body .hnp-site-logo img {
        width: auto !important;
        max-width: 100% !important;
        max-height: 70px !important;
        height: auto !important;
        display: block !important;
    }
}

/* ===== Final Override: Product Thumb + News Card Alignment ===== */
body .hnp-products-page .hnp-product-thumb,
body.tax-product_cat .hnp-cat-product-thumb,
body .hnp-products-page .hnp-product-thumb img,
body.tax-product_cat .hnp-cat-product-thumb img {
    background: transparent !important;
}

body .hnp-cat-product-thumb {
    background: transparent !important;
}

body .hnp-news-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body .hnp-news-card {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 calc((100% - 20px) / 3) !important;
    max-width: calc((100% - 20px) / 3) !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

body .hnp-news-card-body {
    display: flex !important;
    flex-direction: column !important;
    align-content: stretch !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px 22px 20px !important;
}

body .hnp-news-card h3 {
    font-size: 20px !important;
    margin: 14px 0 0 !important;
}

body .hnp-news-card p {
    display: block !important;
    margin-bottom: 14px !important;
    flex: 1 1 auto !important;
}

body .hnp-news-link {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    margin-top: auto !important;
}

@media (max-width: 991px) {
    body .hnp-news-card {
        flex-basis: calc((100% - 10px) / 2) !important;
        max-width: calc((100% - 10px) / 2) !important;
    }
}

@media (max-width: 767px) {
    body .hnp-news-archive,
    body .hnp-news-shell,
    body .hnp-news-list,
    body .hnp-news-grid,
    body .hnp-news-featured,
    body .hnp-news-featured-card,
    body .hnp-news-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body .hnp-news-shell {
        width: calc(100% - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow-x: hidden !important;
    }

    body .hnp-news-card {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }

    body .hnp-news-featured-image img,
    body .hnp-news-thumb img {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* ===== Home Video Block ===== */
body .hnp-home-video-block {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: -1px;
    padding: 0;
    overflow: hidden;
}

body .hnp-home-video-block .hnp-shell {
    max-width: none !important;
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
}

body .hnp-home-video-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #1384c9;
    box-shadow: none;
}

/* ===== FINAL DESKTOP FIX: compact header ===== */
@media (min-width: 768px) {
    :root {
        --hnp-header-height: 138px;
    }

    body .hnp-site-header-inner {
        min-height: 82px !important;
        grid-template-columns: 220px minmax(0, 1fr) auto !important;
        gap: 14px !important;
    }

    body .hnp-site-logo img {
        max-height: 82px !important;
    }

    body .hnp-site-header-right img {
        max-height: 50px !important;
        margin-left: auto !important;
    }

    body .hnp-primary-nav .menu,
    body .hnp-primary-nav .hnp-menu {
        gap: 28px !important;
    }

    body .hnp-primary-nav a {
        min-height: 46px !important;
        font-size: 15px !important;
    }

    body .hnp-site-header-search {
        padding: 6px 0 8px !important;
    }

    body .hnp-site-header-search-row {
        grid-template-columns: minmax(220px, 1fr) minmax(420px, 560px) minmax(220px, 1fr) !important;
        gap: 14px !important;
    }

    body .hnp-site-header-search-side {
        font-size: 15px !important;
        line-height: 1.2 !important;
    }

    body .hnp-site-header-search-inner {
        max-width: 520px !important;
    }

    body .hnp-site-header-search .woocommerce-product-search,
    body .hnp-site-header-search .searchform,
    body .hnp-site-header-search form {
        gap: 10px !important;
    }

    body .hnp-site-header-search input[type="search"],
    body .hnp-site-header-search .search-field {
        min-height: 44px !important;
        padding: 0 18px !important;
        font-size: 15px !important;
    }

    body .hnp-site-header-search button,
    body .hnp-site-header-search input[type="submit"] {
        min-height: 44px !important;
        min-width: 104px !important;
        padding: 0 18px !important;
        font-size: 15px !important;
    }
}

/* ===== Home Header Auto Hide At Top ===== */
body.home {
    padding-top: var(--hnp-header-offset) !important;
}

body.home .hnp-site-header {
    transform: translateY(calc(-100% - 8px));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.28s ease, opacity 0.22s ease, visibility 0s linear 0.28s;
}

body.home .hnp-site-header.is-home-scroll-visible {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

body .hnp-home-video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    transform: none;
    transform-origin: center center;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.45s ease;
}

body .hnp-home-video-frame.is-loaded iframe {
    opacity: 1;
}

body .hnp-home-video-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1384c9;
    pointer-events: none;
    transition: opacity 0.45s ease, visibility 0.45s ease;
}

body .hnp-home-video-frame.is-loaded .hnp-home-video-overlay {
    opacity: 0;
    visibility: hidden;
}

body .hnp-home-video-poster {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body .hnp-home-video-spinner {
    position: absolute;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    border: 3px solid rgba(255, 255, 255, 0.34);
    border-top-color: #ffffff;
    animation: hnp-home-video-spin 0.9s linear infinite;
}

@keyframes hnp-home-video-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 767px) {
    body .hnp-home-video-block {
        margin-top: 0;
    }

    body .hnp-home-video-frame {
        aspect-ratio: 16 / 9;
    }

    body .hnp-home-video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    transform: none;
    transform-origin: center center;
    pointer-events: none;
}



/* ===== Homepage NTN Spotlight ===== */
body .hnp-home-spotlight {
    position: relative;
    margin: 0 0 34px;
    padding: 0;
    background:
        radial-gradient(circle at 20% 18%, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.18) 30%, transparent 55%),
        linear-gradient(180deg, rgba(246,246,246,0.98) 0%, rgba(235,235,235,0.98) 100%);
    overflow: hidden;
}

body .hnp-home-spotlight::before,
body .hnp-home-spotlight::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
}

body .hnp-home-spotlight::before {
    background:
        linear-gradient(rgba(0,0,0,0.05), rgba(0,0,0,0.02)),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.06) 0 2px, transparent 2px 110px),
        repeating-linear-gradient(180deg, rgba(0,0,0,0.03) 0 2px, transparent 2px 92px);
    opacity: 0.45;
}

body .hnp-home-spotlight::after {
    top: auto;
    height: 38%;
    background:
        linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(164,164,164,0.08) 8%, rgba(120,120,120,0.12) 100%),
        repeating-linear-gradient(100deg, rgba(0,0,0,0.04) 0 2px, transparent 2px 36px);
    transform: perspective(1200px) rotateX(82deg);
    transform-origin: top center;
    opacity: 0.62;
}

body .hnp-home-spotlight-shell {
    position: relative;
    z-index: 1;
    max-width: 1380px;
    margin: 0 auto;
    padding: 58px 44px 64px;
}

body .hnp-home-spotlight-stage {
    display: flex;
    align-items: stretch;
    gap: 44px;
}

body .hnp-home-spotlight-thumbs {
    position: relative;
    z-index: 2;
    flex: 0 0 160px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
}

body .hnp-home-spotlight-thumb {
    appearance: none;
    -webkit-appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    aspect-ratio: 1 / 1;
    min-height: 0;
    border: 2px solid rgba(255,255,255,0.92);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 14px;
    cursor: pointer;
    transition: border-color 0.25s ease, border-width 0.25s ease, transform 0.35s ease, background-color 0.25s ease;
}

body .hnp-home-spotlight-thumb:hover,
body .hnp-home-spotlight-thumb:focus-visible {
    border-color: #ffffff;
    transform: translateY(-2px);
    outline: none;
}

body .hnp-home-spotlight-thumb.is-active {
    border-width: 3px;
    border-color: #1681c4;
    background: rgba(255,255,255,0.08);
}

body .hnp-home-spotlight-thumb-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    min-height: 0;
}

body .hnp-home-spotlight-thumb img {
    display: block;
    width: 100%;
    max-width: 72%;
    height: auto;
    max-height: none;
    object-fit: contain;
    margin: 0 auto;
}

body .hnp-home-spotlight-main {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 560px;
}

body .hnp-home-spotlight-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.45s ease, transform 0.45s ease, visibility 0s linear 0.45s;
}

body .hnp-home-spotlight-slide.is-active {
    position: relative;
    inset: auto;
    display: flex;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
}

body .hnp-home-spotlight-panel {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 560px;
}

body .hnp-home-spotlight-panel img {
    width: auto;
    max-width: min(100%, 560px);
    max-height: 560px;
    object-fit: contain;
    filter: drop-shadow(0 14px 22px rgba(0, 0, 0, 0.10));
}

body .hnp-home-spotlight-content {
    flex: 0 0 min(42%, 560px);
    align-self: flex-start;
    padding-top: 12px;
    text-align: end;
}

body .hnp-home-spotlight-content h2 {
    margin: 0 0 18px;
    font-size: 34px;
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #157fc2;
}

body .hnp-home-spotlight-content p {
    margin: 0 0 24px auto;
    max-width: 560px;
    font-size: 17px;
    line-height: 1.78;
    color: #404040;
}

body .hnp-home-spotlight-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #1681c4;
}

body .hnp-home-spotlight-link:hover {
    color: #0e5fa4;
}

@media (min-width: 1440px) {
    body .hnp-home-spotlight-shell {
        padding: 50px 34px;
    }

    body .hnp-home-spotlight-thumbs {
        flex-basis: 200px;
    }

    body .hnp-home-spotlight-thumb {
        width: 200px;
        min-height: 175px;
        padding: 16px;
    }

    body .hnp-home-spotlight-thumb-frame {
        min-height: 140px;
    }

    body .hnp-home-spotlight-thumb img {
        max-height: 136px;
    }

    body .hnp-home-spotlight-main,
    body .hnp-home-spotlight-panel {
        min-height: 600px;
    }

    body .hnp-home-spotlight-panel img {
        max-width: min(100%, 620px);
        max-height: 600px;
    }
}

@media (max-width: 1199px) {
    body .hnp-home-spotlight-shell {
        padding: 36px 26px;
    }

    body .hnp-home-spotlight-thumbs {
        flex-basis: 110px;
    }

    body .hnp-home-spotlight-thumb {
        width: 110px;
        min-height: 92px;
    }

    body .hnp-home-spotlight-main,
    body .hnp-home-spotlight-panel {
        min-height: 380px;
    }

    body .hnp-home-spotlight-panel img {
        max-width: min(100%, 360px);
        max-height: 380px;
    }

    body .hnp-home-spotlight-content {
        flex-basis: min(40%, 360px);
    }
}

@media (max-width: 991px) {
    body .hnp-home-spotlight::after {
        height: 24%;
        opacity: 0.42;
    }

    body .hnp-home-spotlight-shell {
        padding: 28px 16px 30px;
    }

    body .hnp-home-spotlight-stage {
        flex-direction: column;
        gap: 16px;
    }

    body .hnp-home-spotlight-main {
        order: 1;
        width: 100%;
        min-height: 0;
    }

    body .hnp-home-spotlight-slide {
        position: static;
        display: none;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 14px;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: none;
    }

    body .hnp-home-spotlight-slide.is-active {
        display: flex;
    }

    body .hnp-home-spotlight-panel {
        min-height: auto;
        width: 100%;
    }

    body .hnp-home-spotlight-thumbs {
        order: 2;
        flex-direction: row;
        justify-content: center;
        align-self: center;
        gap: 10px;
        width: auto;
        max-width: 100%;
        overflow-x: visible;
        padding: 2px 0 6px;
        margin: 0 auto;
        scroll-snap-type: none;
    }

    body .hnp-home-spotlight-thumb {
        flex: 0 0 146px;
        width: 146px;
        height: 146px;
        min-height: 146px;
        padding: 0;
        border-width: 1px;
        border-radius: 14px;
        background: rgba(255,255,255,0.58);
        scroll-snap-align: start;
    }

    body .hnp-home-spotlight-thumb.is-active {
        border-width: 2px;
        background: rgba(255,255,255,0.82);
    }

    body .hnp-home-spotlight-thumb-frame {
        width: 100%;
        height: 100%;
        min-height: 0;
        padding: 12px;
    }

    body .hnp-home-spotlight-thumb img {
        max-width: 84%;
    }

    body .hnp-home-spotlight-content {
        flex-basis: auto;
        width: 100%;
        max-width: 540px;
        margin: 0 auto;
        padding: 0 6px;
        text-align: center;
    }

    body .hnp-home-spotlight-content h2 {
        margin: 0 0 10px;
        font-size: 22px;
        line-height: 1.24;
    }

    body .hnp-home-spotlight-content p {
        margin: 0 0 14px;
        max-width: none;
        font-size: 15px;
        line-height: 1.6;
    }

    body .hnp-home-spotlight-panel img {
        max-width: min(100%, 260px);
        max-height: 220px;
    }

    body .hnp-home-spotlight-link {
        justify-content: center;
        font-size: 15px;
    }
}

@media (max-width: 640px) {
    body .hnp-home-spotlight-shell {
        padding: 22px 12px 24px;
    }

    body .hnp-home-spotlight {
        margin-bottom: 22px;
    }

    body .hnp-home-spotlight::before {
        opacity: 0.28;
    }

    body .hnp-home-spotlight::after {
        height: 18%;
        opacity: 0.28;
    }

    body .hnp-home-spotlight-main,
    body .hnp-home-spotlight-panel {
        min-height: auto;
    }

    body .hnp-home-spotlight-content h2 {
        font-size: 19px;
    }

    body .hnp-home-spotlight-content {
        padding: 0 2px;
    }

    body .hnp-home-spotlight-content p {
        font-size: 14px;
        line-height: 1.55;
    }

    body .hnp-home-spotlight-link {
        font-size: 14px;
    }

    body .hnp-home-spotlight-thumb {
        flex-basis: 128px;
        width: 128px;
        height: 128px;
        min-height: 128px;
        padding: 0;
    }

    body .hnp-home-spotlight-thumb-frame {
        width: 100%;
        height: 100%;
        min-height: 0;
        padding: 11px;
    }

    body .hnp-home-spotlight-thumb img {
        max-width: 82%;
    }

    body .hnp-home-spotlight-panel img {
        max-width: min(100%, 220px);
        max-height: 180px;
    }
}

/* ===== Tablet / iPad responsive layer ===== */
@media (min-width: 768px) and (max-width: 1024px) {
    :root {
        --hnp-header-height: 128px;
    }

    body .hnp-shell {
        width: min(100%, calc(100% - 48px)) !important;
    }

    body .hnp-site-header-inner {
        min-height: 78px !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 18px !important;
    }

    body .hnp-site-header-left {
        display: none !important;
    }

    body .hnp-menu-toggle {
        width: auto !important;
        gap: 8px !important;
    }

    body .hnp-menu-toggle strong {
        font-size: 13px !important;
    }

    body .hnp-site-logo {
        grid-column: 1 !important;
        justify-self: start !important;
        align-self: center !important;
        width: auto !important;
        max-width: none !important;
    }

    body .hnp-site-logo img {
        max-height: 72px !important;
    }

    body .hnp-site-header-right {
        grid-column: 2 !important;
        justify-self: end !important;
        align-self: center !important;
        display: flex !important;
        justify-content: flex-end !important;
        min-width: 0 !important;
        width: auto !important;
        margin-left: auto !important;
    }

    body .hnp-site-header-right img {
        max-height: 44px !important;
        margin-left: auto !important;
    }

    body .hnp-site-header-search {
        padding: 10px 0 12px !important;
    }

    body .hnp-site-header-search-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    body .hnp-site-header-search-side {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    body .hnp-site-header-search-side-left,
    body .hnp-site-header-search-side-right,
    body .hnp-site-header-search-inner {
        grid-column: auto !important;
    }

    body .hnp-site-header-search-side-left {
        text-align: center !important;
    }

    body .hnp-site-header-search-side-right {
        text-align: center !important;
    }

    body .hnp-site-header-search-inner {
        width: 100% !important;
        max-width: none !important;
    }

    body .hnp-site-header-search .woocommerce-product-search,
    body .hnp-site-header-search .searchform,
    body .hnp-site-header-search form {
        gap: 10px !important;
    }

    body .hnp-site-header-search input[type="search"],
    body .hnp-site-header-search .search-field {
        min-height: 46px !important;
        padding: 0 18px !important;
        font-size: 15px !important;
    }

    body .hnp-site-header-search button,
    body .hnp-site-header-search input[type="submit"] {
        min-height: 46px !important;
        min-width: 124px !important;
        padding: 0 22px !important;
    }

    body .hnp-home {
        overflow: hidden;
    }

    body .hnp-home-video-block {
        margin-bottom: 20px !important;
    }

    body .hnp-hero {
        padding: 54px 0 34px !important;
    }

    body .hnp-hero-grid {
        grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.98fr) !important;
        gap: 24px !important;
        align-items: start !important;
    }

    body .hnp-hero-content h1 {
        font-size: clamp(34px, 4.7vw, 48px) !important;
        line-height: 1.02 !important;
    }

    body .hnp-home p {
        font-size: 16px !important;
        line-height: 1.65 !important;
    }

    body .hnp-home .hnp-stats {
        gap: 10px !important;
    }

    body .hnp-home .hnp-stats li {
        padding: 14px !important;
    }

    body .hnp-value-strip {
        padding: 0 0 40px !important;
    }

    body .hnp-about,
    body .hnp-products,
    body .hnp-industries,
    body .hnp-news {
        padding: 46px 0 !important;
    }

    body .hnp-about-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr) !important;
        gap: 22px !important;
    }

    body .hnp-about-ntn-logo img {
        max-width: 360px !important;
    }

    body .hnp-about-cards article {
        padding: 18px !important;
    }

    body .hnp-about-cards h3 {
        font-size: 24px !important;
    }

    body .hnp-showcase-grid,
    body .hnp-value-grid,
    body .hnp-product-grid,
    body .hnp-news-grid,
    body .hnp-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }

    body .hnp-value-grid article {
        padding: 20px !important;
        background-size: 170px !important;
        background-position: right -54px bottom -54px !important;
    }

    body .hnp-value-grid h3 {
        font-size: 22px !important;
    }

    body .hnp-news-card h3 {
        font-size: 22px !important;
    }

    body .hnp-news-card p {
        font-size: 15px !important;
    }

    body .hnp-cta-box {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 18px !important;
        padding: 24px !important;
    }

    body .hnp-site-footer-main {
        padding: 32px 0 16px !important;
    }

    body .hnp-site-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px !important;
    }

    body .hnp-site-footer-bottom {
        flex-direction: column !important;
        gap: 10px !important;
        text-align: center !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px 28px !important;
        align-items: start !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-6c942f4,
    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-430e237,
    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-363c0af,
    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-fd0ad57 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        align-self: start !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-6c942f4 {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-430e237 {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-363c0af {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-fd0ad57 {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-903a4a0 {
        text-align: center !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-75c819c,
    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-caef957,
    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-5ed3ff4 {
        text-align: left !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-e5bff8e {
        --spacer-size: 22px !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px 24px !important;
        align-items: start !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-7036192 {
        position: relative !important;
        padding-right: 24px !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-7036192::after {
        content: "" !important;
        position: absolute !important;
        top: 4px !important;
        right: 0 !important;
        width: 1px !important;
        height: calc(100% - 8px) !important;
        background: rgba(255, 255, 255, 0.28) !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-74627bd {
        padding-left: 24px !important;
    }

    body .hnp-product-single-page {
        padding: 18px 0 40px !important;
    }

    body .hnp-product-breadcrumbs {
        margin-bottom: 14px !important;
        padding: 14px 16px !important;
        font-size: 14px !important;
    }

    body .hnp-product-hero {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 18px !important;
        align-items: stretch !important;
        overflow: visible !important;
    }

    body .hnp-product-gallery,
    body .hnp-product-summary {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 22px !important;
        box-sizing: border-box !important;
    }

    body .hnp-product-gallery {
        min-height: auto !important;
    }

    body .hnp-product-main-image {
        min-height: 420px !important;
        height: 420px !important;
        margin-bottom: 16px !important;
    }

    body .hnp-product-thumbs {
        grid-template-columns: repeat(4, minmax(78px, 1fr)) !important;
        gap: 10px !important;
    }

    body .hnp-product-thumb {
        padding: 8px !important;
    }

    body h1.product_title.entry-title,
    body .hnp-product-summary h1 {
        margin-bottom: 16px !important;
        font-size: 28px !important;
        line-height: 1.15 !important;
        text-align: left !important;
    }

    body .hnp-product-summary-text,
    body .hnp-product-summary-text p {
        font-size: 17px !important;
        line-height: 1.72 !important;
    }

    body .hnp-product-meta-box,
    body .hnp-product-tabs,
    body .hnp-related-products {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body .hnp-product-meta-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body .hnp-product-meta-chip {
        min-height: 52px !important;
        padding: 8px 12px !important;
        font-size: 14px !important;
    }

    body .hnp-product-tab-toggle {
        font-size: 20px !important;
        padding: 16px 18px !important;
    }

    body .hnp-product-tab-panel {
        padding: 18px !important;
    }

    body .hnp-related-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }

    body .hnp-related-product-card {
        padding: 18px 16px !important;
    }

    body .hnp-related-product-title {
        font-size: 17px !important;
    }
}

@media (min-width: 768px) and (max-width: 880px) {
    :root {
        --hnp-header-height: 136px;
    }

    body .hnp-site-header-search-row {
        grid-template-columns: 1fr !important;
    }

    body .hnp-site-header-search-side-left,
    body .hnp-site-header-search-side-right,
    body .hnp-site-header-search-inner {
        grid-column: auto !important;
        text-align: center !important;
    }

    body .hnp-site-header-search-inner {
        order: 2 !important;
    }

    body .hnp-site-header-search-side-right {
        order: 3 !important;
    }

    body .hnp-hero-grid,
    body .hnp-about-grid,
    body .hnp-product-hero,
    body .hnp-cta-box {
        grid-template-columns: 1fr !important;
    }

    body .hnp-product-main-image {
        min-height: 460px !important;
        height: 460px !important;
    }
}

/* ===== FINAL LOCK: tablet header + footer bottom ===== */
@media (min-width: 768px) and (max-width: 1200px) {
    :root {
        --hnp-header-height: 142px;
    }

    body .hnp-site-header-inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        min-height: 80px !important;
        gap: 18px !important;
    }

    body .hnp-site-header-left {
        display: none !important;
    }

    body .hnp-site-logo {
        grid-column: 1 !important;
        justify-self: start !important;
        align-self: center !important;
        width: auto !important;
        max-width: none !important;
    }

    body .hnp-site-logo img {
        max-height: 72px !important;
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
    }

    body .hnp-site-header-right {
        grid-column: 2 !important;
        justify-self: end !important;
        align-self: center !important;
        display: flex !important;
        justify-content: flex-end !important;
        min-width: 0 !important;
        width: auto !important;
        margin-left: auto !important;
    }

    body .hnp-site-header-right img {
        max-height: 44px !important;
        width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        margin-left: auto !important;
    }

    body .hnp-site-header-search {
        padding: 10px 0 12px !important;
    }

    body .hnp-site-header-search-row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px 14px !important;
    }

    body .hnp-site-header-search-side-left,
    body .hnp-site-header-search-inner,
    body .hnp-site-header-search-side-right {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        grid-column: auto !important;
    }

    body .hnp-site-header-search-side {
        font-size: 14px !important;
        line-height: 1.35 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    body .hnp-site-header-search-side-left {
        order: 1 !important;
    }

    body .hnp-site-header-search-inner {
        order: 2 !important;
        max-width: min(100%, 640px) !important;
        margin: 0 auto !important;
    }

    body .hnp-site-header-search-side-right {
        order: 3 !important;
        font-size: 13px !important;
    }

    body .hnp-site-header-search .woocommerce-product-search,
    body .hnp-site-header-search .searchform,
    body .hnp-site-header-search form {
        gap: 10px !important;
    }

    body .hnp-site-header-search input[type="search"],
    body .hnp-site-header-search .search-field {
        min-height: 44px !important;
    }

    body .hnp-site-header-search button,
    body .hnp-site-header-search input[type="submit"] {
        min-height: 44px !important;
        min-width: 120px !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner {
        position: relative !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-7036192,
    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-74627bd {
        position: relative !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }

    body .hnp-site-footer-builder .elementor-29243 .elementor-element.elementor-element-7036192::after {
        content: "" !important;
        position: absolute !important;
        top: 2px !important;
        right: 0 !important;
        width: 1px !important;
        height: calc(100% - 4px) !important;
        background: rgba(255, 255, 255, 0.28) !important;
    }
}

@media (min-width: 768px) and (max-width: 920px) {
    :root {
        --hnp-header-height: 132px;
    }

    body .hnp-site-header-search-side-right {
        display: none !important;
    }
}

/* ===== FINAL LOCK: footer restore ===== */
body .hnp-site-footer-main {
    padding: 0 !important;
}

body .hnp-site-footer-builder {
    padding: 0 !important;
}

body .hnp-site-footer-builder .elementor-29243,
body .hnp-site-footer-builder .elementor-29243 .elementor,
body .hnp-site-footer-builder .elementor-29243 .elementor-widget,
body .hnp-site-footer-builder .elementor-29243 .elementor-widget-container,
body .hnp-site-footer-builder .elementor-29243 .elementor-text-editor,
body .hnp-site-footer-builder .elementor-29243 .elementor-text-editor *,
body .hnp-site-footer-builder .elementor-29243 .e-con,
body .hnp-site-footer-builder .elementor-29243 .e-con-inner {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

body .hnp-site-footer-builder .elementor-29243 .elementor-widget::before,
body .hnp-site-footer-builder .elementor-29243 .elementor-widget::after,
body .hnp-site-footer-builder .elementor-29243 .elementor-widget-container::before,
body .hnp-site-footer-builder .elementor-29243 .elementor-widget-container::after,
body .hnp-site-footer-builder .elementor-29243 .e-con::before,
body .hnp-site-footer-builder .elementor-29243 .e-con::after {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96,
body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner,
body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    align-items: stretch !important;
    gap: 0 !important;
}

body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner > .e-con,
body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner > .e-con {
    --width: auto !important;
    --flex-grow: 0 !important;
    --flex-shrink: 1 !important;
    width: auto !important;
    max-width: 100% !important;
    flex: initial !important;
    min-width: 0 !important;
    margin: 0 !important;
    align-self: stretch !important;
    border: 0 !important;
    background: transparent !important;
    position: relative !important;
    overflow: visible !important;
}

body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner > .e-con + .e-con::before,
body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner > .e-con + .e-con::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    width: 1px !important;
    background: rgba(255, 255, 255, 0.28) !important;
}

@media (min-width: 1025px) {
    body .hnp-site-footer-main {
        padding: 0 !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner {
        grid-template-columns: minmax(260px, 1.2fr) repeat(3, minmax(0, 1fr)) !important;
        gap: 0 !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner > .e-con {
        padding: 0 24px !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner > .e-con + .e-con::before {
        top: 14px !important;
        bottom: 14px !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0 !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner > .e-con {
        padding: 0 24px !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner > .e-con + .e-con::before {
        top: 4px !important;
        bottom: 4px !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body .hnp-site-footer-main {
        padding: 0 !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0 !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner > .e-con {
        padding: 0 20px 18px !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner > .e-con:nth-child(even)::before {
        top: 12px !important;
        bottom: 12px !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner > .e-con:nth-child(n+3)::after {
        content: "" !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        height: 1px !important;
        background: rgba(255, 255, 255, 0.28) !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0 !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner > .e-con {
        padding: 0 20px !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner > .e-con:nth-child(2)::before {
        top: 4px !important;
        bottom: 4px !important;
    }
}

@media (max-width: 767px) {
    body .hnp-site-footer-main {
        padding: 0 !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner,
    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner > .e-con,
    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner > .e-con {
        padding: 0 0 20px !important;
    }

    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-918fd96 > .e-con-inner > .e-con + .e-con::before,
    body .hnp-site-footer-builder .elementor-29243 > .elementor-element.elementor-element-ebf843a > .e-con-inner > .e-con + .e-con::before {
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        width: auto !important;
        height: 1px !important;
    }
}
/* Home bearing lookup block */
body.home .hnp-home-bearing-lookup {
    margin: 0 0 44px;
    padding: 0;
}

body.home .hnp-home-bearing-lookup .hnp-shell {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 26px;
}

body.home .hnp-home-bearing-lookup-head {
    position: relative;
    margin-bottom: 16px;
    padding: 8px 0 0 0;
}

body.home .hnp-home-bearing-lookup-head::before {
    content: none;
    display: none;
}

body.home .hnp-home-bearing-lookup-head h2 {
    margin: 0 0 7px;
    font-size: clamp(30px, 3.1vw, 48px);
    line-height: 1.02;
    letter-spacing: -0.02em;
    color: #0b245e;
}

body.home .hnp-home-bearing-lookup-head p {
    margin: 0;
    max-width: 900px;
    color: #4f647c;
    font-size: 16px;
    line-height: 1.45;
}

body.home .hnp-home-bearing-lookup .bci-wrap {
    position: relative;
    border: 1px solid rgba(20, 95, 151, 0.2);
    border-radius: 18px;
    padding: 24px;
    background:
        radial-gradient(circle at 10% 10%, rgba(38, 149, 225, 0.1) 0%, rgba(38, 149, 225, 0) 36%),
        linear-gradient(180deg, #ffffff 0%, #f3f8fd 100%);
    box-shadow:
        0 20px 40px rgba(12, 38, 101, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    overflow: hidden;
}

body.home .hnp-home-bearing-lookup .bci-wrap::after {
    content: "";
    position: absolute;
    right: -70px;
    top: -70px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(22, 129, 196, 0.14) 0%, rgba(22, 129, 196, 0) 72%);
    pointer-events: none;
}

body.home .hnp-home-bearing-lookup .bci-grid {
    grid-template-columns: 1.2fr 1fr;
    gap: 14px;
}

body.home .hnp-home-bearing-lookup .bci-size-row {
    gap: 10px;
}

body.home .hnp-home-bearing-lookup .bci-search label {
    margin-bottom: 8px;
    color: #102c45;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.2;
}

body.home .hnp-home-bearing-lookup .bci-search input[type="text"] {
    border: 1px solid #b8cfe2;
    border-radius: 12px;
    background: #ffffff;
    min-height: 50px;
    padding: 11px 14px;
    font-size: 16px;
    color: #16344f;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.home .hnp-home-bearing-lookup .bci-search input[type="text"]::placeholder {
    color: #788da3;
}

body.home .hnp-home-bearing-lookup .bci-search input[type="text"]:focus {
    border-color: #1a95da;
    box-shadow: 0 0 0 4px rgba(26, 149, 218, 0.14);
    outline: none;
    transform: translateY(-1px);
}

body.home .hnp-home-bearing-lookup .bci-search button {
    border: 0;
    border-radius: 12px;
    min-height: 50px;
    padding: 11px 22px;
    background: linear-gradient(180deg, #1d9ce2 0%, #0f6ea9 100%);
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.01em;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(15, 110, 169, 0.24);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

body.home .hnp-home-bearing-lookup .bci-search button:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 24px rgba(15, 110, 169, 0.28);
    filter: brightness(1.02);
}

body.home .hnp-home-bearing-lookup .bci-search button:active {
    transform: translateY(0);
}

body.home .hnp-home-bearing-lookup .bci-wrap h3 {
    margin: 16px 0 10px;
    color: #0b245e;
    font-size: 22px;
    line-height: 1.2;
}

body.home .hnp-home-bearing-lookup .bci-wrap > p {
    color: #4f647c;
    font-size: 16px;
}

body.home .hnp-home-bearing-lookup .bci-table {
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid #d8e6f2;
    box-shadow: 0 6px 18px rgba(14, 45, 73, 0.08);
}

body.home .hnp-home-bearing-lookup .bci-table th {
    background: linear-gradient(180deg, #123f66 0%, #0f2f4d 100%);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.16);
    padding: 11px 10px;
    font-weight: 700;
    font-size: 14px;
}

body.home .hnp-home-bearing-lookup .bci-table td {
    border-color: #dce8f3;
    padding: 10px;
    background: #ffffff;
    color: #183853;
}

body.home .hnp-home-bearing-lookup .bci-table tr:nth-child(even) td {
    background: #f6fbff;
}

body.home .hnp-home-bearing-lookup .bci-table a {
    color: #0f6ea9;
    font-weight: 700;
    text-decoration: none;
}

body.home .hnp-home-bearing-lookup .bci-table a:hover {
    color: #0b4f7b;
    text-decoration: underline;
}

body.home .hnp-home-bearing-lookup .bci-detail {
    border: 1px solid #c9dded;
    border-radius: 12px;
    background: #fbfdff;
}

body.home .hnp-home-bearing-lookup .bci-pagination {
    gap: 8px;
    margin-top: 14px;
}

body.home .hnp-home-bearing-lookup .bci-pagination a,
body.home .hnp-home-bearing-lookup .bci-pagination span {
    border-radius: 10px;
    border: 1px solid #bfd4e6;
    background: #ffffff;
    color: #16344f;
    min-width: 38px;
    padding: 6px 10px;
    font-weight: 600;
    text-align: center;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}

body.home .hnp-home-bearing-lookup .bci-pagination a:hover {
    border-color: #1a95da;
    color: #0e5f93;
}

body.home .hnp-home-bearing-lookup .bci-pagination .current {
    background: linear-gradient(180deg, #1d9ce2 0%, #0f6ea9 100%);
    border-color: #0f6ea9;
    color: #ffffff;
}

@media (max-width: 1100px) {
    body.home .hnp-home-bearing-lookup .bci-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991px) {
    body.home .hnp-home-bearing-lookup .hnp-shell {
        padding: 0 16px;
    }

    body.home .hnp-home-bearing-lookup .bci-wrap {
        padding: 16px;
        border-radius: 14px;
    }

    body.home .hnp-home-bearing-lookup-head h2 {
        font-size: clamp(28px, 7.5vw, 40px);
    }

    body.home .hnp-home-bearing-lookup .bci-search label {
        font-size: 18px;
    }
}
