.catalog-header {
    background: #111;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .15);
}

.catalog-header .menu-sistema > .row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    min-height: 84px;
}

.catalog-header .menu-sistema > .row > .catalog-menu-brand {
    flex: 0 0 auto;
    width: auto;
}

.catalog-menu-brand #logo img {
    display: block;
    width: auto;
    max-width: 220px;
}

.catalog-header .menu-sistema > .row > .catalog-menu-navigation {
    flex: 1;
    min-width: 0;
    width: auto;
}

.catalog-menu-navigation nav {
    margin: 0;
}

.catalog-header .main-menu > ul > li > a {
    border-radius: 8px;
    color: #d3d3d3;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .025em;
}

.catalog-header .main-menu > ul > li:hover > a,
.catalog-header .main-menu > ul > li > a:focus-visible {
    background: #292929;
    color: #fff;
}

.catalog-header .main-menu a:focus-visible,
.catalog-header .cmn-toggle-switch:focus-visible {
    outline: 2px solid #999;
    outline-offset: 3px;
}

.catalog-header .main-menu .bi-download {
    color: inherit;
}

@media (min-width: 992px) {
    .catalog-header .main-menu > ul {
        display: flex;
        align-items: center;
        gap: 2px;
    }

    .catalog-header .main-menu > ul > li > a {
        padding: 12px 9px;
    }

    .catalog-header .main-menu ul ul {
        min-width: 230px;
        overflow: hidden;
        padding: 6px;
        border: 1px solid #e8e8e8;
        border-radius: 10px;
        box-shadow: 0 14px 35px rgba(0, 0, 0, .18);
    }

    .catalog-header .main-menu ul ul::before {
        display: none;
    }

    .catalog-header .main-menu ul li:hover > ul,
    .catalog-header .main-menu ul li:focus-within > ul {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
    }

    .catalog-header .main-menu ul ul li a {
        padding: 11px 12px;
        border: 0;
        border-radius: 6px;
        color: #333;
        white-space: normal;
    }

    .catalog-header .main-menu ul ul li:hover > a,
    .catalog-header .main-menu ul ul li a:focus-visible {
        padding-left: 12px;
        background: #f1f1ef;
        color: #111;
    }

    .catalog-header .main-menu > ul > li:last-child > ul {
        right: 0;
        left: auto;
    }
}

@media (max-width: 991px) {
    .catalog-header .menu-sistema > .row {
        min-height: 76px;
    }

    .catalog-menu-navigation nav {
        position: static;
    }

    .catalog-header .cmn-toggle-switch {
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
    }

    .catalog-header .cmn-toggle-switch span,
    .catalog-header .cmn-toggle-switch span::before,
    .catalog-header .cmn-toggle-switch span::after {
        background-color: #eee;
    }

    .catalog-header .cmn-toggle-switch.active span {
        background: transparent !important;
    }

    .catalog-header .main-menu {
        width: min(85vw, 360px);
        background: #fff;
    }

    .catalog-header .main-menu > ul {
        padding: 12px;
    }

    .catalog-header .main-menu ul li {
        border-color: #eee;
    }

    .catalog-header .main-menu ul li a {
        padding: 14px 12px !important;
        border-radius: 8px;
        color: #333 !important;
    }

    .catalog-header .main-menu ul li a:hover,
    .catalog-header .main-menu ul li a:focus {
        background: #f1f1ef;
        color: #111 !important;
    }
}

