/* ==========================================
   3. CABEÇALHO E NAVEGAÇÃO
   ========================================== */

.cabecalho-principal {
    background-color: var(--cor-bg-preto);
    padding: 0 2.4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 1000;

    @media (min-width: 1024px) {
        padding: 0.1rem 3vw;
        height: 6vh;
    }
}

.grupo-direito {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.logo-container {
    display: flex;
    align-items: center;
    width: auto;
    max-width: 30rem;

    @media (min-width: 1024px) {
        justify-content: center;
        max-width: 40rem;
    }
}

.logo-img {
    filter: invert(1) brightness(2);
    height: 6rem;
    width: max-content;
    object-fit: contain;

    @media (min-width: 1024px) {
        height: 8rem;
        width: auto;
    }
}

/* === Navegação Mobile === */
.nav-oculta-mobile {
    display: none;

    &.ativo {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: var(--cor-bg-preto);
        z-index: 2000;

        & .lista-links {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 4rem;
        }
    }

    @media (min-width: 1024px) {
        display: block;
        position: static;
        height: auto;
        width: auto;
        background-color: transparent;

        & .lista-links {
            display: flex;
            flex-direction: row;
            align-items: center;
        }

        & .btn-fechar {
            display: none;
        }
    }
}

.link-nav {
    font-weight: 500;
    transition: color 0.3s ease;

    &:hover {
        color: var(--cor-vermelho);
    }

    @media (min-width: 1024px) {
        font-size: 2rem;
        font-weight: 500;
        padding: 0.8rem 1.6rem;
        border-radius: 0.8rem;
        transition:
            color 0.3s ease,
            background-color 0.3s ease;

        &:hover {
            color: var(--cor-vermelho);
            background-color: var(--cor-bg-cinza);
        }
    }
}

.menu-toggle {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0.8rem;
    border-radius: 0.8rem;
    transition: background-color 0.3s ease;

    &:hover {
        background-color: var(--cor-bg-cinza);
    }

    @media (min-width: 1024px) {
        display: none;
    }
}

.icone-menu {
    width: 3.2rem;
    height: 3.2rem;
}

.btn-fechar {
    position: absolute;
    top: 1.6rem;
    right: 2.4rem;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0.8rem;
    border-radius: 0.8rem;
    transition: background-color 0.3s ease;

    &:hover {
        background-color: var(--cor-bg-cinza);
    }
}

.icone-fechar {
    width: 3.2rem;
    height: 3.2rem;
}
