/* ==========================================
   CONFIGURAÇÕES GERAIS E CORPO
   ========================================== */
body {
    padding-top: 70px; /* Compensa o menu fixo no topo */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
                 Roboto, Oxygen, Ubuntu, Cantarell,
                 "Helvetica Neue", Arial, sans-serif;
    background-color: #f8f9fa;
}

/* ==========================================
   ESTILO PRINCIPAL DO MENU (#cssmenu)
   ========================================== */
#cssmenu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: #395898; /* Fundo azul FísicaNET */
    font-size: 0.9em; /* Reduz o tamanho da fonte */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Container interno com espaçamento simétrico rigoroso nas extremidades */
.container-menu {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between; /* Distribui a logo e os itens equilibradamente */
    padding-left: 1.5rem;   /* Padding esquerdo idêntico */
    padding-right: 1.5rem;  /* Padding direito idêntico */
    width: 100%;
}

#cssmenu .navbar {
    padding: 0.5rem 0;
    width: 100%;
    background-color: transparent !important;
}

/* Logo e Marca */
.navbar-brand {
    font-size: 0.9em !important;
    font-weight: 700;
    color: #FFFFFF !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.navbar-brand img {
    width: 25px;
    height: 19px;
    object-fit: contain;
}

/* Links do Menu */
#cssmenu a {
    color: #FFFFFF; /* Letras brancas */
}

#cssmenu .nav-link {
    font-size: 0.9em !important;
    font-weight: 500;
    padding: 0.5rem 0.5rem !important;
    transition: color 0.2s ease;
}

#cssmenu .nav-link:hover,
#cssmenu .nav-link.active {
    color: #F4B400 !important; /* Amarelo no hover */
}

/* ==========================================
   DROPDOWNS E SUBMENUS (ESTILO CLÁSSICO + HOVER SEGURO)
   ========================================== */
#cssmenu .dropdown-menu {
    background-color: #0F9D58; /* Fundo verde */
    border: none;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    padding: 0.5rem 0;
    margin-top: 0 !important; /* Zera o espaço vertical para eliminar a "zona morta" */
}

/* Ponte invisível vertical para o hover não se perder entre o link e o menu */
#cssmenu .dropdown-menu::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 0;
    width: 100%;
    height: 10px;
}

#cssmenu .dropdown-item {
    color: #FFFFFF; /* Letras brancas */
    font-size: 0.9rem;
    padding: 0.5rem 1.2rem;
    transition: all 0.2s ease-in-out;
}

#cssmenu .dropdown-item:hover {
    background-color: #F4B400; /* Amarelo */
    color: #EA4335; /* Vermelho Google */
    font-weight: 500;
}

#cssmenu .dropdown-divider {
    border-top-color: rgba(255, 255, 255, 0.2);
}

/* Suporte a Submenu Multinível (Hover no Desktop) */
.dropdown-submenu {
    position: relative;
}

.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: 0 !important;
    margin-left: 0 !important;
}

/* Ponte invisível lateral para o submenu lateral ("Calcule sua nota") */
.dropdown-submenu > .dropdown-menu::before {
    content: "";
    position: absolute;
    top: 0;
    left: -10px;
    width: 10px;
    height: 100%;
}

@media (min-width: 992px) {
    .dropdown:hover > .dropdown-menu,
    .dropdown-submenu:hover > .dropdown-menu {
        display: block !important;
    }
}

/* ==========================================
   BOTÃO HAMBURGER E SETAS
   ========================================== */
.navbar-toggler {
    border: 1px solid #F4B400;
    background-color: transparent;
    padding: 0.4rem 0.6rem;
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(244, 180, 0, 0.5);
}

/* Ícone do menu hamburger customizado */
.navbar-toggler-icon {

    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgb(244, 180, 0)' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* Indicador do dropdown (Seta) */
.dropdown-toggle::after {
    border-top: 0.5em solid #F4B400; /* Seta amarela */
    border-right: 0.3em solid transparent;
    border-left: 0.3em solid transparent;
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.4em;
}

/* Hover da seta */
.dropdown-toggle:hover::after {
    border-top: 0.5em solid #F4B400;
}


/* ==========================================
   RESPONSIVIDADE PARA CELULARES (MOBILE)
   ========================================== */
@media (max-width: 991.98px) {
    #cssmenu {
        padding: 0.4rem 0;
    }

    .container-menu {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    #cssmenu .navbar-collapse {
        background-color: #395898 !important; /* Fundo azul do menu */
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        padding: 1rem 1.5rem;
        max-height: 80vh;
        overflow-y: auto;
        border-bottom: 3px solid #F4B400;
        box-shadow: 0 15px 25px rgba(0, 0, 0, 0.3);
    }

    #cssmenu .navbar-nav {
        width: 100% !important;
        margin-left: 0 !important;
    }

    #cssmenu .navbar-nav .nav-link {
        padding: 0.6rem 0.5rem !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    #cssmenu .dropdown-menu {
        background-color: #0F9D58 !important; /* Verde nos submenus mobile */
        border: none;
        padding-left: 1rem;
        margin-top: 0.2rem;
        box-shadow: none;
    }

    .dropdown-submenu > .dropdown-menu {
        position: static !important;
        left: 0 !important;
        margin-left: 0.5rem !important;
        box-shadow: none;
    }

    .navbar-toggler {
        margin-right: 0;
    }
}