/* Scoped to FetishWorld's native Flatsome navigation and editable UX Blocks. */
.row.fw-megamenu,
.nav-dropdown .row.fw-megamenu {
    color: #302730;
    margin: 0;
    max-width: 100%;
    padding: 24px 16px 8px;
    text-align: left;
    width: 100%;
}

.fw-megamenu > .fw-megamenu-column {
    padding: 0 16px 16px;
}

.fw-megamenu .fw-megamenu-heading {
    color: #4b1f3b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 12px;
    text-transform: none;
}

.fw-megamenu .ux-menu-link__link {
    color: #443943;
    font-size: 14px;
    line-height: 1.45;
    min-height: 36px;
    padding: 7px 0;
}

.fw-megamenu .ux-menu-link:hover .ux-menu-link__link {
    color: #4b1f3b;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.fw-megamenu .ux-menu--divider-solid .ux-menu-link:not(:last-of-type):after {
    border-color: #eee8ec;
}

.fw-megamenu .fw-megamenu-footer {
    padding: 0 16px;
}

.fw-megamenu-footer > .col-inner {
    align-items: center;
    background: #f6f1f4;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    justify-content: space-between;
    padding: 14px 18px;
}

.fw-megamenu-feature,
.fw-megamenu-overview {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
}

.fw-megamenu-feature span {
    color: #62535f;
    display: block;
    font-size: 13px;
}

.fw-megamenu-footer a {
    color: #4b1f3b;
    font-weight: 700;
}

.fw-megamenu a:focus-visible,
#header .fw-header-login:focus-visible,
#main-menu .fw-mobile-root a:focus-visible {
    outline: 2px solid #4b1f3b;
    outline-offset: 3px;
}

#header .fw-header-login {
    color: #4b1f3b;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

@media (min-width: 850px) {
    #header .fw-desktop-root > .nav-dropdown {
        border: 1px solid #e8dfe5;
        border-radius: 0 0 12px 12px;
        /* Flatsome sets inline inset: 0; a scrolling block must keep an auto bottom. */
        bottom: auto !important;
        box-shadow: 0 18px 35px rgb(48 27 42 / 12%);
        display: block;
        max-height: calc(100dvh - 130px);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 0;
    }

    #header .fw-desktop-root > a {
        font-size: 14px;
        letter-spacing: 0;
        text-transform: none;
        white-space: nowrap;
    }
}

@media (min-width: 850px) and (max-width: 1100px) {
    #header .header-nav-main {
        gap: 0;
    }

    #header .header-nav-main > li {
        margin: 0 6px;
    }

    #header .header-button .button {
        font-size: 12px;
        padding-inline: 12px;
    }
}

#main-menu .fw-mobile-root > a {
    color: #4b1f3b;
    font-size: 16px;
    font-weight: 700;
    text-transform: none;
}

#main-menu .fw-mobile-group > a {
    color: #4b1f3b;
    flex: 1;
    font-weight: 600;
    min-width: 0;
    width: auto;
}

#main-menu .fw-mobile-group {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    margin-block: 0;
}

#main-menu .fw-mobile-group > .toggle {
    flex: 0 0 44px;
    margin: 0;
    width: 44px;
}

#main-menu .fw-mobile-group > .children {
    flex-basis: calc(100% - 20px);
}

#main-menu .fw-mobile-root a,
#main-menu .fw-mobile-root .toggle {
    min-height: 44px;
}

#main-menu .fw-mobile-root .nav-sidebar-ul {
    border-left: 1px solid #e8dfe5;
    margin-left: 20px;
    padding-left: 0;
}

#main-menu .fw-mobile-root .nav-sidebar-ul a {
    font-size: 14px;
    letter-spacing: 0;
    line-height: 1.45;
    padding-block: 10px;
    text-transform: none;
}

#main-menu .fw-mobile-register > a {
    background: #4b1f3b;
    border-radius: 999px;
    color: #fff;
    justify-content: center;
    margin: 12px 20px;
    min-height: 44px;
    padding: 10px 20px;
    text-transform: none;
}
