/* Menu lateral */
.side-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 280px;
    height: 100%;
    background-color: #ffffff;
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.2);
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    z-index: 1000;
    padding: 20px;
    overflow-y: auto;
    border-right: 2px solid #e0e0e0;
    font-family: Arial, sans-serif;
}

.side-menu[aria-expanded="true"] {
    transform: translateX(0);
}

.side-menu .menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.side-menu .menu-header h3 {
    font-size: 1.5rem;
    color: #007bff;
    margin: 0;
}

.side-menu button {
    background: none;
    display: contents;
    border: none;
    font-size: 1.5rem;
    color: #007bff;
    cursor: pointer;
    padding: 5px;
    transition: color 0.3s;
}

.side-menu button:hover {
    color: #0056b3;
}

.side-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.side-menu ul li {
    margin-bottom: 15px;
}

.side-menu ul li a {
    text-decoration: none;
    color: #333;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    padding: 10px 15px;
    border-radius: 6px;
    transition: background-color 0.3s, color 0.3s;
}

.side-menu ul li a:hover {
    background-color: #f0f8ff;
    color: #007bff;
}

.side-menu ul li a svg {
    margin-right: 10px;
    font-size: 1.2rem;
    color: #007bff;
}

.side-menu ul li a:hover svg {
    color: #0056b3;
}

/* Botão para abrir o menu */
.open-menu-btn {
    position: fixed;
    bottom: 10px;
    padding: 14px;
    left: 10px;
    background-color: #007bff;
    color: #ffffff;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    font-size: 1.5rem;
    z-index: 1100;
    transition: background-color 0.3s, transform 0.3s;
}

.open-menu-btn:hover {
    background-color: #0056b3;
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .open-menu-btn {
        display: flex;
    }
}

/* Adicionar espaçamento no conteúdo ao lado do menu */
body {
    transition: padding-left 0.3s;
}

.side-menu[aria-expanded="true"] ~ main {
    padding-left: 280px;
}