.elementor-136 .elementor-element.elementor-element-0f119eb:not(.elementor-motion-effects-element-type-background), .elementor-136 .elementor-element.elementor-element-0f119eb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EDEDED;}.elementor-136 .elementor-element.elementor-element-0f119eb{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-136 .elementor-element.elementor-element-0f119eb > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-136 .elementor-element.elementor-element-cd89984{width:100%;max-width:100%;}/* Start custom CSS for html, class: .elementor-element-cd89984 *//* RESET BÁSICO */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    padding-top: 5rem;
    background-color: #e3e3e3;
}

ul {
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
}

/* ESTILOS DO HEADER E NAVEGAÇÃO */
.container {
    width: 100vw;
    background-color: #ededed;
}

.header {
    max-width: 1200px;
    background-color: #ededed;
    display: flex;
    justify-content: space-between;
    align-items: center;
    
    /* --- ESTA É A CORREÇÃO --- */
    position: fixed;
    top: 0;
    left: 50%; /* 1. Move a borda esquerda para o meio da tela */
    transform: translateX(-50%); /* 2. Puxa o elemento de volta pela metade de sua própria largura */
    width: 100%; /* 3. Garante que ele seja responsivo em telas menores */
    z-index: 1000;
    height: 80px;
}

.logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: bold;
    font-size: 18px;
    font-family: Arial, sans-serif;
    color: #283981;
}

/* Oculta o checkbox */
#menu-toggle {
    display: none;
}

/* Ícone do menu (hambúrguer) */
.menu-icon {
    font-size: 2rem;
    cursor: pointer;
    display: block; /* Visível por padrão (mobile-first) */
    color: #283981;
}

/* Navegação Principal - MOBILE */
.nav {
    /* Chave da correção: Posição absoluta para o menu mobile */
    /* Ele agora fica 'flutuando' sobre o conteúdo da página, e não dentro do fluxo do header. */
    position: absolute;
    top: 100%; /* Começa exatamente abaixo do header */
    left: 0;
    width: 100%;

    background-color: #fff;
    max-height: 0; /* Oculta o menu por padrão */
    overflow: hidden; /* Garante que o conteúdo não seja visível quando fechado */
    transition: max-height 0.4s ease-in-out; /* Animação suave */
}

.nav-list {
    display: flex;
    flex-direction: column; /* Itens empilhados verticalmente no mobile */
    width: 100%;
}

.nav-link {
    display: block;
    padding: 1.2rem;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    font-family: Arial, sans-serif;
    color: #283981;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.2s ease-in-out;
}

.nav-link:hover {
    background-color: #f5f5f5;
}

/* Quando o checkbox está marcado, o menu (seu irmão ~) se expande */
#menu-toggle:checked ~ .nav {
    max-height: 500px; /* Um valor alto o suficiente para caber todos os links */
}


/* ESTILOS PARA TELAS MAIORES (Desktop/Tablet) */
@media (min-width: 768px) {
    
    /* Esconde o ícone de hambúrguer */
    .menu-icon {
        display: none;
    }

    /* Reseta os estilos do menu para a visão desktop */
    .nav {
        position: static; /* Volta ao fluxo normal do documento */
        max-height: none; /* Remove a restrição de altura */
        width: auto; /* Ocupa apenas a largura necessária */
        background-color: transparent;
    }

    .nav-list {
        flex-direction: row; /* Itens da lista em linha horizontal */
        gap: 1rem;
    }

    .nav-link {
        padding: 0.5rem 1rem;
        border-bottom: none; /* Remove a borda no desktop */
        border-radius: 4px; /* Adiciona bordas arredondadas */
    }

    .nav-link:hover {
        background-color: #283981;
        color: white;
    }
}/* End custom CSS */