/* Estilos padrão (telas grandes) */
.menu-toggle, .sidebar {
    display: none;
}

/* ==================================== */
/* MEDIA QUERY PARA MENU HAMBÚRGUER */
/* ==================================== */
@media (max-width: 900px) {
    /* Esconde o menu de navegação grande */
    .main-header-nav {
        display: none;
    }
    
    /* Exibe e estiliza o botão do menu hambúrguer */
    .menu-toggle {
        display: block;
        background: none;
        border: none;
        color: rgb(64, 64, 77);
        font-size: 28px;
        cursor: pointer;
        padding: 10px;
    }

    /* Estiliza a Sidebar (Menu Lateral) */
    .sidebar {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        right: 0;
        width: 70%; /* Largura do menu */
        max-width: 300px;
        height: 100%;
        background-color: rgb(213, 213, 186); /* Cor de fundo principal */
        border-left: solid 2px rgb(64, 64, 77);
        box-shadow: -2px 0 5px rgba(0, 0, 0, 0.5);
        z-index: 100;
        /* ANIMAÇÃO DE ENTRADA/SAÍDA */
        transform: translateX(100%); 
        transition: transform 0.3s ease-out;
    }

    /* Estado Aberto (controlado por JS) */
    .sidebar.open {
        transform: translateX(0);
    }
    
    /* Botão de Fechar */
    .sidebar-menu{
        width: 40px;
        height: 40px;
        display: block;
    }
    .x-icon {
        width: 28px;
        height: 28px;
        display: block;
    }

    .close-btn {
        background: none;
        border: none;
        color: rgb(64, 64, 77);
        font-size: 28px;
        cursor: pointer;
        align-self: flex-end; /* Alinha à direita */
        padding: 15px;
    }
    
    /* Estilos do Menu na Sidebar */
    .sidebar-menu {
        flex-direction: column;
        width: 100%;
    }

    .sidebar-menu > li {
        width: 100%;
        border-bottom: solid 1px rgba(64, 64, 77, 0.2);
    }

    /* Animação de hover para o sidebar (reutiliza a animação com after) */
    .sidebar-menu a::after {
        left: 0;
        transform: none;
    }

    /* Submenus dentro da Sidebar (Remove a sobreposição e mantém o estilo) */
    .sidebar-menu .submenu {
        position: static; 
        transform: none;
        min-width: unset;
        width: 100%;
        display: none; /* Controlado por JS */
        background-color: rgb(160, 160, 140);
    }
    
    .sidebar-menu li.has-submenu > a .arrow {
        border-top-color: rgb(64, 64, 77);
    }
    
    .sidebar-menu li.has-submenu.active > a .arrow {
        transform: rotate(180deg);
    }
    
    /* Sub-itens */
    .sidebar-menu .submenu a {
        padding-left: 40px;
    }

    .sidebar-menu .submenu li:hover > a {
        background-color: #f1f1f1;
    }
}