﻿/* ===================== */
/* FIXA BARRA DO MENU PRINCIPAL */
/* ===================== */
.affix {
    top: 0;
    width: 100%;
    z-index: 9999 !important;
}

    .affix + .container-fluid {
        padding-top: 50px;
    }

/* ===================== */
/* MENU PRINCIPAL COMPATÍVEL COM CABEÇALHO */
/* ===================== */
.navbar-default {
    background-color: var(--cor-secundaria);
    backdrop-filter: saturate(120%) blur(2px);
    box-shadow: none !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 25px;
    font-family: 'Inter', 'Segoe UI', sans-serif;
}

    .navbar-default .navbar-nav {
        margin: 0;
    }

        .navbar-default .navbar-nav > li {
            position: relative;
        }

    .navbar-default .navbar-nav > li > a {
        color: var(--cor-menu-cabecalho-titulo) !important;
        font-size: 15px;
        font-weight: 500;
        padding: 14px 20px;
        background: transparent !important;
        transition: all 0.25s ease-in-out;
        border-radius: 0 !important;
        text-shadow: none;
    }

        /* Hover / Focus */
        .navbar-default .navbar-nav > li > a:hover,
        .navbar-default .navbar-nav > li > a:focus {
            background: rgba(0, 0, 0, 0.06);
            color: var(--cor-menu-cabecalho-titulo) !important;
        }

    /* ===================== */
    /* DROPDOWN MENU SUAVE */
    /* ===================== */
    .navbar-default .navbar-nav > li.dropdown > .dropdown-menu {
        background-color: var(--cor-secundaria);
        border: none;
        border-radius: 6px;
        margin-top: 0;
        padding: 8px 0;
        min-width: 220px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        opacity: 0;
        visibility: hidden;
        transform: translateY(0);
        transition: all 0.25s ease-in-out;
    }

        /* Mantém o dropdown aberto no desktop */
        .navbar-default .navbar-nav > li.dropdown:hover > .dropdown-menu,
        .navbar-default .navbar-nav > li.dropdown > .dropdown-menu:hover {
            display: block;
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

/* ===================== */
/* DROPDOWN ROLÁVEL NO DESKTOP */
/* ===================== */
@media (min-width: 768px) {
    .navbar-default .navbar-nav > li.dropdown > .dropdown-menu {
        max-height: 70vh;
        overflow-y: auto;
        scrollbar-width: thin;
    }

        .navbar-default .navbar-nav > li.dropdown > .dropdown-menu::-webkit-scrollbar {
            width: 6px;
        }

        .navbar-default .navbar-nav > li.dropdown > .dropdown-menu::-webkit-scrollbar-thumb {
            background-color: rgba(0, 0, 0, 0.3);
            border-radius: 3px;
        }
}

/* Itens do dropdown */
.navbar-default .navbar-nav > li > .dropdown-menu > li > a {
    font-family: 'Inter', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--cor-menu-cabecalho-titulo) !important;
    padding: 10px 20px;
    transition: background 0.3s ease, padding 0.3s ease;
}

    /* Hover dropdown */
    .navbar-default .navbar-nav > li > .dropdown-menu > li > a:hover {
        background-color: rgba(0, 0, 0, 0.06);
        color: var(--cor-menu-cabecalho-titulo) !important;
        padding-left: 22px;
    }

/* Divider */
.navbar-default .navbar-nav > li > .dropdown-menu > li.divider {
    background-color: rgba(0, 0, 0, 0.15);
    height: 1px;
    margin: 4px 0;
}

/* ===================== */
/* RESPONSIVO */
/* ===================== */
@media (max-width: 767px) {
    .navbar-default {
        padding: 0;
    }

    .navbar-toggle {
        display: block !important;
        border: none;
        background: none;
        margin-right: 10px;
    }

        .navbar-toggle .icon-bar {
            background-color: var(--cor-menu-cabecalho-titulo);
            height: 3px;
            width: 25px;
            margin: 5px auto;
            transition: all 0.3s ease;
        }

    .navbar-collapse.collapse {
        display: none !important;
    }

        .navbar-collapse.collapse.in {
            display: block !important;
        }

    .navbar-nav {
        float: none;
    }

        .navbar-nav > li {
            float: none;
            border-top: 1px solid rgba(0, 0, 0, 0.1);
        }

            .navbar-nav > li > a {
                padding: 12px 16px;
                color: var(--cor-menu-cabecalho-titulo) !important;
            }

    .navbar-default .navbar-nav > li.dropdown:hover > .dropdown-menu {
        display: block;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}
