/* --- ESTILOS GLOBAIS E RESET --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* Garante que padding e bordas não afetem o tamanho final do elemento */
    border-radius: 0; /* Bordas duras, sem arredondamento */
}

html {
    /* Define uma base de fonte fluida.
       clamp(min, preferencial, max)
       - Mínimo de 16px
       - Cresce a 2.5% da largura da tela (vw)
       - Máximo de 18px
    */
    font-size: clamp(16px, 2.5vw, 18px);
}

body {
    background-color: #0a0a0a; /* Fundo preto/cinza muito escuro */
    color: #f5f5f5; /* Letras brancas/levemente acinzentadas para conforto visual */
    font-family: 'Noto Sans Mono', monospace; /* Fonte monoespaçada para o estilo de diário */
    line-height: 1.7; /* Espaçamento entre linhas para melhor legibilidade */
    -webkit-font-smoothing: antialiased; /* Melhora a renderização da fonte em alguns navegadores */
    -moz-osx-font-smoothing: grayscale;
}

/* --- LAYOUT PRINCIPAL --- */
.container {
    margin: 20px auto;
    border: 1px solid white;
    max-width: 900px; /* Largura máxima do conteúdo para não ficar muito extenso em telas grandes */
    padding: 3rem 2rem; /* Espaçamento interno */
}

/* --- CABEÇALHO DO POST --- */
.header {
    text-align: left;
    margin-bottom: 3rem; /* Espaço entre o cabeçalho e o conteúdo principal */
    border-bottom: 1px solid #333; /* Linha sutil para separar o cabeçalho */
    padding-bottom: 1.5rem;
}

.header h1 {
    font-size: 2.5rem; /* Tamanho grande para o título */
    color: #ffffff;
    font-weight: 600; /* Peso da fonte para o título */
    line-height: 1.2;
    margin-bottom: 0.5rem;
}

.header .date {
    font-size: 0.9rem;
    color: #a0a0a0; /* Cor mais suave para a data */
    font-style: italic;
}

/* --- CONTEÚDO PRINCIPAL (MAIN) --- */
main {
    font-size: 1rem; /* Tamanho de fonte padrão para o corpo do texto */
    text-align: justify; /* Alinhamento justificado para um look de livro/jornal */
}

main a {
    color: #ffffff; /* Links em branco */
    text-decoration: underline; /* Sublinhado para identificar links */
    text-decoration-thickness: 1px;
    transition: color 0.3s ease;
}

main a:hover {
    color: #c0c0c0; /* Muda a cor do link ao passar o mouse */
    text-decoration: none; /* Remove o sublinhado no hover */
}

main img {
    border: 1px solid #333; /* Borda sutil na imagem */
    max-width: 150px; /* Garante que a imagem não ultrapasse a largura definida */
    height: auto;
}

/* --- RODAPÉ --- */
footer {
    text-align: center;
    margin-top: 4rem;
    padding-top: 2rem;
    border-top: 1px solid #333; /* Linha sutil para separar o rodapé */
    font-size: 0.85rem;
    color: #a0a0a0;
}


/* --- ESTILOS PARA NAVEGAÇÃO --- */
/* (Assume que navBar.css cuida da maior parte, aqui apenas garantimos a adaptação) */

/* Esconde a navegação de desktop em telas menores */
.navBar {
    display: flex; /* Escondido por padrão na versão mobile-first */
}

/* Esconde o menu hamburger em telas grandes */
.navbar_mobile {
    display: none;
}


/* --- ADAPTAÇÃO PARA DISPOSITIVOS MÓVEIS (Mobile First Approach) --- */
@media (max-width: 768px) {
    /* Ajustes de layout para telas menores */
    .container {
        padding: 2rem 1rem; /* Diminui o espaçamento lateral em telas pequenas */
    }

    .header h1 {
        font-size: 1.8rem; /* Diminui o título para caber melhor */
    }

    main {
        text-align: left; /* Alinhamento à esquerda em mobile é geralmente mais fácil de ler */
    }

    main img {
        float: none !important; /* Remove o float da imagem */
        display: block; /* Transforma em bloco para centralizar */
        margin: 0 auto 1.5rem auto; /* Centraliza e adiciona margem inferior */
    }

    /* --- CONTROLE DE NAVEGAÇÃO MOBILE --- */
    /* Esconde o menu de desktop */
    .navBar {
        display: none;
    }
    
    /* Mostra e posiciona o menu hamburger */
    .navbar_mobile {
        display: block;
        position: relative; /* Necessário para o posicionamento do dropdown */
        text-align: right; /* Alinha o botão à direita */
        margin-bottom: 1.5rem;
    }

    .hamburger-btn {
        background: none;
        border: 1px solid #555;
        color: #f5f5f5;
        font-size: 1.5rem;
        cursor: pointer;
        padding: 0.5rem 0.8rem;
    }

    .dropdown-content {
        display: none; /* Escondido por padrão (JavaScript irá controlar a exibição) */
        position: absolute;
        right: 0;
        top: 100%; /* Posiciona logo abaixo do botão */
        background-color: #1a1a1a;
        min-width: 160px;
        border: 1px solid #333;
        z-index: 1; /* Garante que o menu fique sobre o conteúdo */
        text-align: right;
    }

    .dropdown-content a {
        color: #f5f5f5;
        padding: 12px 16px;
        text-decoration: none;
        display: block;
    }

    .dropdown-content a:hover {
        background-color: #333;
    }
}