* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    background-color: #fdfdfd;
    color: #333;
    display: flex;
    min-height: 100vh;
}

/* O Menu Lateral */
aside {
    width: 280px;
    background: #f4f4f4;
    padding: 40px;
    border-right: 1px solid #ddd;
    position: fixed; /* Fixa o menu na tela */
    height: 100%;
    overflow-y: auto;
}

.logo-sidebar {
    max-width: 100%;
    height: auto;
    display: block; /* Remove espaços em branco indesejados abaixo da imagem */
    margin: 0 auto 15px auto; /* Centraliza a logo e dá um espaço antes do título */
}

aside h1 { font-size: 1.2rem; text-transform: uppercase; letter-spacing: 1px; }
aside .subtitle { font-size: 0.85rem; color: #666; margin-bottom: 30px; }
aside ul { list-style: none; }
aside li { margin-bottom: 10px; }

aside a {
    text-decoration: none;
    color: #555;
    font-size: 0.75rem;
    display: block;
    padding: 5px 0;
    transition: 0.2s;
}

aside a:hover, aside a.active {
    color: #000;
    font-weight: bold;
    border-left: 3px solid #000;
    padding-left: 10px;
}

/* O Conteúdo do Post */
main {
    margin-left: 280px; /* Deixa espaço para o menu */
    padding: 60px 100px;
    max-width: 900px;
    width: 100%;
}

h2 { font-size: 2rem; margin-bottom: 20px; border-bottom: 2px solid #eee; padding-bottom: 10px; }
h3 { margin-top: 30px; margin-bottom: 10px; font-size: 1.4rem; }
p { margin-bottom: 1.2rem; line-height: 1.6; font-size: 1.1rem; }
img { max-width: 100%; border: 0px solid #ccc; margin: 20px 0; display: block; }
code { background: #eee; padding: 2px 6px; border-radius: 4px; font-family: monospace; }

/* Mobile */
@media (max-width: 768px) {
    body { flex-direction: column; }
    aside { position: relative; width: 100%; height: auto; padding: 20px; }
    main { margin-left: 0; padding: 20px; }
}
