:root {
    --shell-top-bg: #fff1b8;
    --shell-nav-bg: #ffffff;
    --shell-sub-bg: #fff7d6;
    --shell-hover-bg: #fff1b8;
    --shell-active-bg: #ffe58f;
    --shell-line: #f0dda3;
    --shell-line-strong: #ead184;
    --shell-text: #5f4a1f;
    --shell-text-strong: #6f5a16;
    --shell-shadow: 0 8px 24px rgba(122, 98, 46, 0.1);
    --shell-nav-shadow: 0 8px 24px rgba(185, 150, 79, 0.1);
    --shell-pro-entry-offset-x: 24px;
    --shell-font: "Microsoft YaHei", "Segoe UI", Arial, sans-serif;
}

.themex-header-top,
.contact-bar {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--shell-top-bg) !important;
    color: var(--shell-text) !important;
    border-bottom: 1px solid var(--shell-line) !important;
    box-shadow: var(--shell-shadow) !important;
    font-family: var(--shell-font) !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    position: relative !important;
    z-index: 1010 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    box-sizing: border-box !important;
}

.themex-header-top > .container,
.contact-container {
    width: 100% !important;
    max-width: 1200px !important;
    min-height: 46px !important;
    height: 46px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    transform: none !important;
    overflow: visible !important;
}

.themex-header-top .row {
    width: 100% !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
}

.themex-header-top [class*="col-"],
.themex-header-top .top-address,
.themex-header-top .top-right-menu,
.contact-container > div {
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
}

.themex-header-top .row > [class*="col-"],
.themex_nav_area .row.logo-left > [class*="col-"] {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.themex-header-top > .container > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 15px !important;
}

.themex-header-top .top-address p,
.contact-container > div {
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    flex-wrap: wrap !important;
}

.themex-header-top .top-address a,
.themex-header-top .top-address span,
.themex-header-top .top-right-menu a,
.contact-bar span,
.contact-bar i {
    color: var(--shell-text) !important;
    font-family: var(--shell-font) !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.themex-header-top .top-address a,
.themex-header-top .top-right-menu a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.themex-header-top .top-address i,
.themex-header-top .top-right-menu i,
.contact-bar i {
    margin: 0 !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 16px !important;
    font-size: 13px !important;
    line-height: 1 !important;
}

.themex-header-top .top-right-menu,
.themex-header-top .top-right-menu ul,
.contact-container {
    justify-content: flex-end !important;
}

.themex_nav_area,
.themex_nav_area.prefix,
.themex_nav_area.postfix,
.themex_nav_area.scroll_fixed,
.main_menu_div,
.nav-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 96px !important;
    height: 96px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--shell-nav-bg) !important;
    border-bottom: 1px solid #ead7ad !important;
    box-shadow: var(--shell-nav-shadow) !important;
    font-family: var(--shell-font) !important;
    z-index: 1000 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    box-sizing: border-box !important;
}

.nav-wrapper {
    width: 100% !important;
    top: 0 !important;
    position: sticky !important;
}

.themex_nav_area > .container,
.nav-container {
    width: 100% !important;
    max-width: 1200px !important;
    min-height: 96px !important;
    height: 96px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

.themex_nav_area .row.logo-left {
    width: 100% !important;
    min-height: 96px !important;
    display: flex !important;
    align-items: center !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

.themex_nav_area .row.logo-left > [class*="col-"],
.nav-brand {
    min-height: 96px !important;
    display: flex !important;
    align-items: center !important;
}

.themex_nav_area .row.logo-left > [class*="col-"]:last-child,
.nav-menu {
    justify-content: flex-end !important;
}

.main_sticky_main_l,
.main_sticky_l,
.logo,
.nav-brand {
    height: 96px !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

.nav-brand {
    flex: 0 0 auto !important;
    margin-right: 42px !important;
}

.main_sticky_main_l img,
.main_sticky_l img,
.logo img,
.themex_nav_area img[src*="logo"],
.nav-brand img {
    max-height: 90px !important;
    width: 94px !important;
    height: 90px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

.themex_menu.main-search-menu,
.nav-menu {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.themex_menu > ul,
.themex_menu > ul.sub-menu {
    min-height: 96px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.themex_menu > ul > li,
.themex_menu > ul > .donate-btn-header {
    height: 96px !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.themex_menu > ul > li > a,
.themex_nav_area.prefix .themex_menu > ul > li > a,
.nav-link {
    position: relative !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    color: var(--shell-text-strong) !important;
    background: transparent !important;
    font-family: var(--shell-font) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: color 0.22s ease, background-color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease !important;
}

.themex_menu > ul > li > a {
    height: 96px !important;
    border-radius: 0 !important;
}

.nav-link i {
    margin-right: 6px !important;
    font-size: 15px !important;
    color: inherit !important;
}

.themex_menu > ul > li > a::after,
.nav-link::after {
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 25px !important;
    height: 2px !important;
    border-radius: 2px !important;
    background: #d8bc78 !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 0.24s ease !important;
}

.nav-link::after {
    bottom: 2px !important;
}

.themex_menu > ul > li:hover > a,
.themex_menu > ul > li.current > a,
.themex_nav_area.prefix .themex_menu > ul > li.current > a,
.nav-link:hover,
.nav-link.active {
    color: #5f4a1f !important;
    background: var(--shell-hover-bg) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 18px rgba(122, 98, 46, 0.1) !important;
}

.themex_menu > ul > li:hover > a::after,
.themex_menu > ul > li.current > a::after,
.nav-link:hover::after,
.nav-link.active::after {
    transform: scaleX(1) !important;
}

.donate-btn-header {
    height: 96px !important;
    margin: 0 0 0 12px !important;
    display: flex !important;
    align-items: center !important;
    transform: translateX(var(--shell-pro-entry-offset-x)) !important;
}

.donate-btn-header .dtbtn,
.themex_menu > ul > .donate-btn-header .dtbtn {
    min-width: 0 !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 18px !important;
    margin: 0 !important;
    border: 1px solid #e3c45d !important;
    border-radius: 8px !important;
    background: var(--shell-top-bg) !important;
    color: #4b3515 !important;
    font-family: var(--shell-font) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 18px rgba(122, 98, 46, 0.12) !important;
    transition: transform 0.22s ease, background-color 0.22s ease, box-shadow 0.22s ease !important;
}

.donate-btn-header .dtbtn:hover,
.themex_menu > ul > .donate-btn-header .dtbtn:hover {
    background: var(--shell-active-bg) !important;
    color: #5f4a1f !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 22px rgba(122, 98, 46, 0.18) !important;
}

.themex_menu ul .sub-menu {
    background: var(--shell-sub-bg) !important;
    border: 1px solid var(--shell-line) !important;
    border-radius: 8px !important;
    box-shadow: 0 18px 34px rgba(122, 98, 46, 0.14) !important;
    transform: translateY(8px) !important;
    transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease !important;
}

.themex_menu ul li:hover > .sub-menu {
    transform: translateY(0) !important;
}

.themex_menu ul .sub-menu li {
    background: transparent !important;
}

.themex_menu ul .sub-menu li a {
    color: var(--shell-text-strong) !important;
    background: transparent !important;
    font-family: var(--shell-font) !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
}

.themex_menu ul .sub-menu li:hover > a,
.themex_menu ul .sub-menu .sub-menu li:hover > a,
.themex_menu ul .sub-menu .sub-menu .sub-menu li:hover > a,
.themex_menu ul .sub-menu .sub-menu .sub-menu .sub-menu li:hover > a {
    background: var(--shell-hover-bg) !important;
    color: #5f4a1f !important;
}

body.sleep-aid-page .themex-header-top,
body.sleep-aid-page .themex_nav_area,
body.sleep-aid-page .themex_nav_area.scroll_fixed,
body.sleep-aid-page .themex_nav_area.prefix,
body.sleep-aid-page .themex_nav_area.postfix,
body.shell-stabilized-page .themex-header-top,
body.shell-stabilized-page .themex_nav_area,
body.shell-stabilized-page .themex_nav_area.scroll_fixed,
body.shell-stabilized-page .themex_nav_area.prefix,
body.shell-stabilized-page .themex_nav_area.postfix {
    position: relative !important;
    top: auto !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

body.shell-stabilized-page .themex-header-top > .container,
body.shell-stabilized-page .themex_nav_area > .container {
    left: auto !important;
    right: auto !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

body.shell-stabilized-page .themex-header-top .row,
body.shell-stabilized-page .themex_nav_area .row.logo-left {
    left: auto !important;
    right: auto !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

footer,
.site-footer,
.footer-bottom,
.footer-middle,
.themex_footer_area,
.themex_top_footer_area {
    min-height: 56px !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 40px 0 0 !important;
    padding: 15px 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    position: relative !important;
    bottom: auto !important;
    background: var(--shell-top-bg) !important;
    color: var(--shell-text-strong) !important;
    border-top: 1px solid var(--shell-line) !important;
    box-shadow: 0 -8px 24px rgba(122, 98, 46, 0.1) !important;
    font-family: var(--shell-font) !important;
    scale: 1 !important;
    transform: none !important;
}

footer p,
footer a,
.site-footer p,
.site-footer a,
.footer-bottom p,
.footer-bottom a,
.footer-middle p,
.footer-middle a {
    margin: 0 !important;
    color: var(--shell-text-strong) !important;
    font-family: var(--shell-font) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    scale: 1 !important;
    transform: none !important;
}

footer::before,
.site-footer::before,
.footer-bottom::before,
.themex_footer_area::before {
    content: none !important;
    display: none !important;
}

@media (max-width: 991px) {
    .themex-header-top,
    .contact-bar {
        height: auto !important;
        min-height: 46px !important;
        padding: 8px 0 !important;
    }

    .themex-header-top > .container,
    .contact-container,
    .themex-header-top .row {
        height: auto !important;
        min-height: 0 !important;
        justify-content: center !important;
    }

    .themex-header-top [class*="col-"],
    .themex-header-top .top-address,
    .themex-header-top .top-right-menu,
    .contact-container > div,
    .themex-header-top .top-address p {
        min-height: 0 !important;
        justify-content: center !important;
        gap: 12px !important;
    }

    .themex_nav_area,
    .themex_nav_area.prefix,
    .themex_nav_area.postfix,
    .themex_nav_area.scroll_fixed,
    .main_menu_div,
    .nav-wrapper,
    .themex_nav_area > .container,
    .nav-container,
    .themex_nav_area .row.logo-left {
        height: auto !important;
        min-height: 0 !important;
    }

    .themex_nav_area > .container,
    .nav-container,
    .themex_nav_area .row.logo-left {
        justify-content: center !important;
        flex-wrap: wrap !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    .main_sticky_main_l,
    .main_sticky_l,
    .logo,
    .nav-brand {
        height: auto !important;
        min-height: 0 !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    .main_sticky_main_l img,
    .main_sticky_l img,
    .logo img,
    .themex_nav_area img[src*="logo"],
    .nav-brand img {
        max-height: 74px !important;
        width: 77px !important;
        height: 74px !important;
    }

    .themex_nav_area .row.logo-left > [class*="col-"],
    .themex_nav_area .row.logo-left > [class*="col-"]:last-child,
    .themex_menu.main-search-menu,
    .nav-menu {
        justify-content: center !important;
    }

    .themex_menu > ul,
    .themex_menu > ul.sub-menu,
    .nav-menu {
        min-height: 0 !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        padding: 8px 0 !important;
    }

    .themex_menu > ul > li,
    .themex_menu > ul > .donate-btn-header,
    .donate-btn-header {
        height: auto !important;
        transform: none !important;
    }

    .themex_menu > ul > li > a,
    .themex_nav_area.prefix .themex_menu > ul > li > a,
    .nav-link {
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 10px !important;
        font-size: 14px !important;
    }

    .themex_menu > ul > li > a::after {
        bottom: 4px !important;
    }

    .donate-btn-header {
        margin: 8px 0 0 !important;
    }

    .donate-btn-header .dtbtn,
    .themex_menu > ul > .donate-btn-header .dtbtn {
        height: 38px !important;
        font-size: 14px !important;
    }

    footer,
    .site-footer,
    .footer-bottom,
    .footer-middle,
    .themex_footer_area,
    .themex_top_footer_area {
        min-height: 52px !important;
        margin-top: 28px !important;
        padding: 14px 18px !important;
    }
}

@media (max-width: 768px) {
    .nav-container {
        position: relative !important;
        justify-content: space-between !important;
    }

    .nav-toggle {
        width: 40px !important;
        height: 40px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid var(--shell-line) !important;
        border-radius: 8px !important;
        background: var(--shell-top-bg) !important;
        color: var(--shell-text-strong) !important;
        cursor: pointer !important;
    }

    .nav-menu {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        left: 15px !important;
        right: 15px !important;
        width: auto !important;
        min-height: 0 !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        padding: 14px !important;
        border: 1px solid var(--shell-line) !important;
        border-radius: 8px !important;
        background: var(--shell-sub-bg) !important;
        box-shadow: 0 18px 34px rgba(122, 98, 46, 0.14) !important;
    }

    .nav-menu:not(.active) {
        display: none !important;
    }

    .nav-menu.active {
        display: flex !important;
    }

    .nav-link {
        width: 100% !important;
        justify-content: flex-start !important;
    }
}
