*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: sans-serif;
    margin: 0;
    padding: 0;
    background-color: #cff1c2;
    color: #333;
}

header {
    background-color: #9ca399;
    color: #333;
    padding: 0.5em 1em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ddd;
    
}

.logo img {
    max-height: 45px;
}

/* ... outros estilos do cabeçalho ... */

.whatsapp-menu-button {
    background-color: #25D366; /* Cor de fundo do WhatsApp */
    color: #fff; /* Cor do texto branco */
    padding: 8px 12px; /* Espaçamento interno */
    border-radius: 5px; /* Bordas arredondadas */
    text-decoration: none; /* Remove o sublinhado padrão do link */
    font-weight: bold; /* Texto em negrito */
    display: flex; /* Para alinhar o ícone e o texto */
    align-items: center; /* Alinha verticalmente o ícone e o texto */
    gap: 5px; /* Espaçamento entre o ícone e o texto */
}

.whatsapp-menu-button:hover {
    background-color: #128C7E; /* Cor de fundo mais escura no hover */
}

.whatsapp-menu-button img {
    width: 20px; /* Tamanho do ícone */
    height: 20px;
}

/* Ajuste para telas menores (opcional) */
@media (max-width: 768px) {
    .whatsapp-menu-button {
        padding: 6px 10px; /* Menor em telas menores */
        font-size: 0.9em; /* Tamanho da fonte menor */
    }
    .whatsapp-menu-button img {
        width: 18px;
        height: 18px;
    }
}

/* ... outros estilos do cabeçalho ... */

.logo img {
    max-height: 55px; /* Ajuste o tamanho máximo da logo conforme necessário */
}

.menu-toggle {
    display: none; /* Esconde o ícone do menu por padrão (para telas maiores) */
    background: none;
    border: none;
    color: #333;
    cursor: pointer;
    padding: 0.5em;
}

.menu-toggle svg {
    display: block;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
}

nav li {
    margin-left: 1.5em;
}

nav a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
    font-size: 1em;
    padding: 0.5em 0;
    transition: color 0.3s ease;
}

nav a:hover {
    color: #069823;
}



/* Estilos para telas menores */

@media (max-width: 768px) {
    header {
        flex-direction: column; /* Coloca logo e botão em coluna */
        align-items: center; /* Centraliza os itens horizontalmente */
        justify-content: center; /* Centraliza verticalmente (opcional, mas pode ser útil com mais conteúdo) */
        padding: 1em;
    }

    .logo {
        margin-bottom: 1em; /* Adiciona espaço entre a logo e o botão/menu */
        width: 100%; /* Garante que a logo ocupe a largura total para centralizar */
        text-align: center; /* Centraliza o conteúdo (a imagem da logo) dentro da div .logo */
    }

    .logo img {
        max-height: 60px; /* Mantém o tamanho máximo da logo */
        display: block; /* Remove qualquer espaço extra abaixo da imagem */
        margin: 0 auto; /* Centraliza a imagem da logo dentro da div .logo */
    }

    .menu-toggle {
        display: block;
        /* ... outros estilos do menu-toggle ... */
    }

    nav {
        width: 100%;
        display: none;
    }

    nav.ativo {
        display: block;
    }

    nav ul {
        flex-direction: column;
        text-align: center;
        border-top: 1px solid #eee;
    }

    nav li {
        margin-left: 0;
        margin-bottom: 0.8em;
        padding-bottom: 0.8em;
        border-bottom: 1px solid #eee;
    }

    nav li:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    nav a {
        display: block;
        padding: 0.8em 0;
    }
}

main {
    padding: 20px;
}

section {
    margin-bottom: 30px;
    padding: 20px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

h2 {
    color: #069823;
    border-bottom: 2px solid #069823;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
    text-align: center; /* Centraliza o título da seção */
}

.servico, .obra {
    display: flex;
    gap: 20px;
    margin-bottom: 1em;
    align-items: center;
}

.servico img, .obra img {
    max-width: 150px;
    height: auto;
    border-radius: 5px;
}

.servico h3, .obra h3 {
    color: #333;
    margin-top: 0;
}

footer {
    background-color: #9ca399;
    color: #069823;
    text-align: center;
    padding: 0.5em 1em;
    position: sticky; /* Ou fixed, dependendo do layout desejado */
    bottom: 0;
    width: 100%;
}

/* Estilos para responsividade (exemplo básico) */
@media (max-width: 768px) {
    header {
        flex-direction: column;
        align-items: flex-start;
    }

    nav ul {
        flex-direction: column;
        margin-top: 1em;
    }

    nav li {
        margin-left: 0;
        margin-bottom: 0.5em;
    }

    .servico, .obra {
        flex-direction: column;
        align-items: flex-start;
    }

    .servico img, .obra img {
        max-width: 100%;
    }
}

.servico-item {
  /* Outros estilos que você já tem para essa classe */
  background-color: #f9f9f9; /* Exemplo de cor de fundo, ajuste conforme o seu */
  padding: 20px; /* Exemplo de preenchimento, ajuste conforme o seu */
  border: 1px solid #ddd; /* Exemplo de borda, ajuste conforme o seu */
  margin-bottom: 20px; /* Exemplo de margem inferior, ajuste conforme o seu */
}

.servico-item:hover {
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15); /* Sombra ao passar o mouse */
  transition: box-shadow 0.3s ease-in-out; /* Adiciona uma transição suave para o efeito */
}

/* --- Obras --- */

#obras {
    padding: 20px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
}

#obras h2 {
    color: #069823;
    border-bottom: 2px solid #069823;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
    text-align: center;
}

#obras-em-andamento {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Largura mínima de 250px */
    gap: 1.5em;
}

#obras-concluidas {
  display: flex;
  flex-wrap: wrap;
  gap: 20px; /* Espaçamento entre as obras concluídas */
}

#obras-concluidas .obra-item {
  /* Você pode definir uma largura base para os itens de obras concluídas aqui */
  /* Por exemplo: */
  /* flex-basis: calc(33.33% - 20px); /* Para tentar 3 itens por linha */
  flex-grow: 0; /* Para não crescerem demais */
}

#obras-em-andamento h3,
#obras-concluidas h3 {
    color: #333;
    margin-top: 0;
    margin-bottom: 1em;
    text-align:left;
}

.obra-item {
    background-color: #f9f9f9;
    border-radius: 5px;
    padding: 1.2em; /* Aumentei o padding */
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.3s ease; /* Transição suave */
}

.obra-item:hover {
    transform: scale(1.02); /* Efeito de "levantar" ao passar o mouse */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.obra-galeria-trigger {
    cursor: pointer;
    margin-bottom: 1em;
}

.obra-principal img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    transition: opacity 0.3s ease;
}

.obra-principal img:hover {
    opacity: 0.8;
}

.obra-item h3 {
    color: #333;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    text-align: center;
}

.obra-item p {
    font-size: 0.9em;
    color: #555;
    text-align: center;
}

.obra-fotos-adicionais {
    display: none;
}

/* --- Grid Layout para Obras --- */

#obras-em-andamento,
#obras-concluidas {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5em;
}

/* --- Media Queries para Responsividade --- */

@media (max-width: 768px) {
    #obras-em-andamento,
    #obras-concluidas {
        grid-template-columns: 1fr;
    }

    .obra-item {
        padding: 1em; /* Ajustei o padding para telas menores */
    }
}
/* ... outros estilos ... */

#clientes {
    text-align: center; /* Centraliza o conteúdo da seção, se desejar */
}

.cliente {
    display: flex;
    flex-direction: column; /* Organiza a imagem e o texto em coluna */
    align-items: center; /* Centraliza os itens horizontalmente */
    margin-bottom: 2em;
    padding: 1em;
    border: 1px solid #ddd;
    border-radius: 5px;
    width: 80%; /* Largura da caixa do cliente */
    max-width: 300px; /* Largura máxima da caixa do cliente */
    margin-left: auto;
    margin-right: auto;
}

.cliente img {
    max-width: 100px;
    height: auto;
    margin-bottom: 1em;
}

.cliente p {
    text-align: center;
    font-size: 0.9em;
    color: #555;
}

/* Estilos responsivos para a seção de clientes */
@media (min-width: 769px) {
    #clientes {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around; /* Distribui os clientes horizontalmente */
        text-align: left; /* Alinha o texto à esquerda em telas maiores */
    }

    .cliente {
        width: calc(33% - 20px); /* Aproximadamente 3 clientes por linha */
        max-width: none;
        margin-left: 10px;
        margin-right: 10px;
    }

    .cliente p {
        text-align: left;
    }
}

/* ... outros estilos responsivos ... */

/* ... outros estilos ... */

#servicos {
    /* Podemos manter alguns estilos gerais da seção aqui */
    padding: 20px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
}

#servicos h2 {
    color: #069823;
    border-bottom: 2px solid #069823;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
    text-align: center; /* Centraliza o título da seção */
}

.servico-item {
    margin-bottom: 2em;
    padding: 1em;
    border: 1px solid #ddd;
    border-radius: 5px;
}

.servico-item h3 {
    color: #333;
    margin-top: 0;
    margin-bottom: 0.5em;
}

.servico-item ul {
    list-style: disc; /* Estilo padrão de marcador de lista */
    padding-left: 20px;
}

.servico-item li {
    margin-bottom: 0.3em;
}

/* Estilos responsivos para a seção de serviços (podemos ajustar conforme necessário) */
@media (min-width: 769px) {
    #servicos {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Cria colunas responsivas */
        gap: 20px;
    }

    #servicos h2 {
        text-align: center;
        grid-column: 1 / -1; /* O título ocupa toda a largura */
    }

    .servico-item {
        border: 1px solid #ddd;
        border-radius: 5px;
        padding: 15px;
    }
}

/* ... outros estilos da seção de obras ... */

#obras {
    padding: 20px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;

}

#obras h2 {
    color: #069823;
    border-bottom: 2px solid #069823;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
    grid-column: 1 / -1; /* O título ocupa toda a largura */
    text-align: center;
}

.obra-item {
    margin-bottom: 0; /* Removendo a margem inferior, o gap do grid cuida do espaçamento */
    text-align: center; /* Centraliza o conteúdo dentro de cada item */
}

.obra-galeria-trigger {
    cursor: pointer; /* Indica que é clicável */
    overflow: hidden; /* Garante que a imagem não vaze se tentarmos forçar um tamanho */
    border-radius: 5px;
}

.obra-principal {
    aspect-ratio: 16 / 9; /* Define a proporção desejada (você pode ajustar) */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.obra-principal img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Preenche o container mantendo a proporção */
    border-radius: inherit; /* Herda o border-radius do pai */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.obra-item h3 {
    color: #333;
    margin-top: 0.5em;
    margin-bottom: 0.3em;
}

.obra-item p {
    color: #555;
    font-size: 0.9em;
}

.obra-fotos-adicionais {
    display: none; /* Ainda escondido inicialmente */
}

/* Estilos para o Popup */
.popup {
    position: fixed; /* Fica fixo na tela */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8); /* Fundo escuro semi-transparente */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000; /* Garante que fique acima de outros elementos */
}

.popup.oculto {
    display: none;
}

.popup-conteudo {
    background-color: #fff;
    border-radius: 5px;
    padding: 20px;
    max-width: 90%;
    max-height: 90%;
    overflow: auto; /* Adiciona scroll se o conteúdo for muito grande */
    position: relative; /* Para posicionar o botão de fechar */
    display: flex;
    flex-direction: column;
    align-items: center;
}

.fechar-popup {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 2em;
    font-weight: bold;
    color: #333;
    cursor: pointer;
}

.fechar-popup:hover {
    color: #069823;
}

#popup-imagem {
    max-width: 80%;
    max-height: 70vh;
    object-fit: contain; /* Garante que a imagem inteira seja visível */
    margin-bottom: 15px;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.popup-miniaturas {
    display: flex;
    gap: 10px;
    overflow-x: auto; /* Permite scroll horizontal em telas menores */
    padding: 10px 0;
}

.popup-miniaturas img {
    width: 80px;
    height: 60px;
    object-fit: cover;
    border-radius: 3px;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.popup-miniaturas img:hover,
.popup-miniaturas img.ativa {
    opacity: 1;
    border: 2px solid #069823;
}


/* ... outros estilos ... */

#clientes {
    padding: 20px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
    text-align: center; /* Centraliza o título em telas menores */
}

#clientes h2 {
    color: #069823;
    border-bottom: 2px solid #069823;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
    grid-column: 1 / -1; /* O título ocupa toda a largura */
    text-align: center;
}

.cliente {
    display: flex;
    flex-direction: column; /* Mantemos a imagem e o texto em coluna */
    align-items: center; /* Centraliza os itens horizontalmente */
    margin-bottom: 2em;
    padding: 1em;
    border: 1px solid #ddd;
    border-radius: 5px;
    width: 80%; /* Largura da caixa do cliente em telas menores */
    max-width: 200px; /* Largura máxima da caixa do cliente em telas menores */
    margin-left: auto;
    margin-right: auto;
}

.cliente img {
    max-width: 150px; /* Aumentando o tamanho máximo da imagem */
    height: auto;
    margin-bottom: 0.5em; /* Reduzindo um pouco a margem inferior */
}

.cliente p {
    text-align: center;
    font-size: 0.9em;
    color: #555;
}

/* Estilos responsivos para a seção de clientes */
@media (min-width: 769px) {
    #clientes {
        display: grid; /* Usando grid para o layout de colunas */
        grid-template-columns: repeat(5, minmax(120px, 1fr)); /* Cria 5 colunas responsivas */
        gap: 20px;
        text-align: left; /* Alinha o texto à esquerda em telas maiores */
    }

    .cliente {
        flex-direction: column; /* Garante que a direção seja coluna */
        align-items: center; /* Centraliza os itens dentro de cada célula do grid */
        width: 100%; /* Ocupa toda a largura da célula do grid */
        max-width: none; /* Remove a largura máxima */
        border: none; /* Remove a borda individual de cada cliente no layout de grid */
        padding: 0; /* Remove o padding individual */
        margin-bottom: 1em; /* Adiciona uma margem inferior entre as linhas */
    }

    .cliente img {
        max-width: 60%; /* A imagem ocupa a largura da célula */
        height: auto;
    }

    .cliente p {
        text-align: center; /* Centraliza o texto abaixo da imagem */
        font-size: 0.8em; /* Reduzindo um pouco o tamanho da fonte do texto */
    }
}


/* ... outros estilos ... */

#contato {
    padding: 20px;
    background-color: #f4f4f4;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
    text-align: center; /* Centraliza o conteúdo em telas menores */
}

#contato h2 {
    color: #069823;
    border-bottom: 2px solid #069823;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
    grid-column: 1 / -1; /* O título ocupa toda a largura */
    text-align: center;
}

#contato p {
    margin-bottom: 1em;
    color: #555;
}

#contato address {
    font-style: normal; /* Remove o estilo itálico padrão da tag address */
    line-height: 1.6;
    color: #333;
}

#contato address a {
    color: #069823;
    text-decoration: none;
}

#contato address a:hover {
    text-decoration: underline;
}

/* Estilos responsivos (ajuste conforme necessário) */
@media (min-width: 769px) {
    #contato {
        text-align: left; /* Alinha o conteúdo à esquerda em telas maiores */
        padding: 30px;
    }
}
/* ... outros estilos da seção de contato ... */

#contato address p {
    display: flex; /* Alinha o ícone e o texto na mesma linha */
    align-items: center; /* Alinha verticalmente o ícone e o texto */
    margin-bottom: 0.8em; /* Espaçamento entre as linhas de contato */
}

.icone-contato {
    width: 24px; /* Ajuste o tamanho conforme necessário */
    height: 24px; /* Ajuste o tamanho conforme necessário */
    margin-right: 10px; /* Espaçamento entre o ícone e o texto */
}

#contato address strong {
    display: block; /* Faz o nome da empresa ocupar a linha inteira */
    margin-bottom: 0.3em;
}

#contato address a {
    /* Mantém os estilos anteriores */
    color: #069823;
    text-decoration: none;
}

#contato address a:hover {
    text-decoration: underline;
}

/* ... outros estilos responsivos da seção de contato ... */

/* ... outros estilos ... */

#destaque-principal {
    position: relative;
    width: 100%;
    height: 400px; /* Defina a altura padrão desejada (ex: 400px) */
    overflow: hidden;
    background-color: #cff1c2;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.slide.ativo {
    opacity: 1;
}

#destaque-principal img,
#destaque-principal video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: relative; /* Adicionado */
    z-index: 2;         /* Adicionado */
}

/* Estilos responsivos (ajuste a altura conforme necessário em diferentes tamanhos de tela) */
@media (max-width: 768px) {
    #destaque-principal {
        height: 300px; /* Altura menor em telas menores */
    }
}

/* ... outros estilos ... */

#voltar-topo {
    display: none; /* Inicialmente escondido */
    position: fixed; /* Fica fixo na tela durante a rolagem */
    bottom: 20px;
    right: 20px;
    z-index: 99; /* Garante que fique acima de outros elementos */
    border: none;
    outline: none;
    background-color: #069823;
    color: white;
    cursor: pointer;
    padding: 0.7em;
    border-radius: 5px;
    font-size: 1em;
    opacity: 0.7;
    transition: opacity 0.3s ease-in-out;
}

#voltar-topo:hover {
    opacity: 1;
}

#voltar-topo svg {
    display: block;
    width: 1.2em;
    height: 1.2em;
    fill: white;
}

/* --- Estilo do Título do Destaque Principal (Opção Canto Superior Esquerdo) --- */

.titulo-destaque {
  position: absolute;
  top: 25px;   /* Distância do topo */
  left: 30px;  /* Distância da esquerda */
  z-index: 10;
  
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 10px 25px;
  border-radius: 5px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
  font-size: 1.8em;
  text-align: left; /* Alinha o texto à esquerda */
}

/* Ajuste para telas menores */
@media (max-width: 768px) {
  .titulo-destaque {
    /* POSICIONAMENTO: Canto Superior Esquerdo */
    top: 40px;            /* Reduzido para ficar bem no topo */
    left: 5px;           /* Fica a 5px da borda esquerda */
    bottom: auto;        
    right: auto;         
    transform: none;      /* ESSENCIAL: Remove a centralização (translateX) */

    /* Tamanho do texto e espaçamento reduzido para sutileza */
    font-size: 0.7em;      /* Reduzido de 1.2em para 1em */
    padding: 5px 10px;   /* Reduzido o padding para uma caixa menor */
    
    white-space: normal; /* Garante que o texto possa quebrar, se necessário */
    text-align: left;    /* Alinha o texto dentro da caixa para a esquerda */

    /* Estilo do quadro mais sutil */
    background-color: rgba(30, 30, 30, 0.7); /* Fundo um pouco mais transparente */
    color: #fff;          
    border-radius: 3px;  /* Borda levemente menor */
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7); /* Sombra mais suave */
    border-bottom: 2px solid #069823; /* Borda verde mais fina */

    /* Largura */
    width: fit-content;  
    max-width: 80%;      /* Garante que ocupe no máximo 80% da largura */
    overflow: hidden; 
  }
}

/* --- Estilos para o Fundo Desfocado do Slide --- */

.slide {
    /* Prepara a div para o fundo */
    background-size: cover;       /* O fundo vai cobrir toda a área */
    background-position: center;  /* O fundo fica centralizado */
    overflow: hidden;             /* Garante que nada vaze */
}

.slide::before {
    content: ''; /* Essencial para o pseudo-elemento funcionar */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; /* Fica entre o fundo e a imagem nítida */

    /* O efeito de desfoque e um leve escurecimento */
    backdrop-filter: blur(20px);
    background-color: rgba(0, 0, 0, 0.2);
}

/* --- Estilos dos Botões de Navegação do Slideshow --- */

.nav-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20; /* Z-index alto para ficar sobre todos os elementos do slide */
    background-color: rgba(0, 0, 0, 0.4);
    color: white;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s ease;
}

.nav-button:hover {
    background-color: rgba(0, 0, 0, 0.7);
}

.nav-button.prev {
    left: 400px;
}

.nav-button.next {
    right: 400px;
}

/* Ajuste para telas menores */
@media (max-width: 768px) {
    .nav-button {
        width: 40px;
        height: 40px;
    }
    .nav-button.prev {
        left: 5px;
    }
    .nav-button.next {
        right: 5px;
    }
}

/* --- Seção Blog/Notícias (CÓDIGO CORRIGIDO E SEGURO) --- */
section#blog {
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
}

section#blog h2 {
    color: #069823;
    border-bottom: 2px solid #069823;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
    text-align: center;
}

#blog .post-container {
    max-width: 800px;
    margin: 0 auto;
}

#blog .post-item {
    display: flex;
    gap: 25px;
    margin-bottom: 2em;
    background-color: #fff;
    padding: 1.5em;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

#blog .post-item:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

#blog .post-imagem img {
    max-width: 250px;
    height: auto;
    border-radius: 5px;
}

#blog .post-conteudo h3 {
    margin-top: 0;
    color: #333;
}

#blog .post-data {
    font-size: 0.8em;
    color: #777;
    margin-bottom: 1em;
}

#blog .leia-mais-btn {
    display: inline-block;
    background-color: #069823;
    color: #fff !important;
    padding: 10px 18px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

#blog .leia-mais-btn:hover {
    background-color: #057a1c;
    color: #fff !important;
}

/* Responsivo para o blog (Corrigido) */
@media (max-width: 768px) {
    #blog .post-item {
        flex-direction: column;
    }
    #blog .post-imagem img {
        max-width: 100%;
        width: 100%;
        margin-bottom: 1em;
    }
}