/* --- PÁGINA DE ESTRUTURA (GALERIA) --- */
.gallery-section {
    padding: 80px 0;
}

.gallery-grid {
    display: grid;
    /* Grid responsivo que se ajusta automaticamente */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.gallery-item {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    aspect-ratio: 4 / 3; /* Proporção da imagem */
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Garante que a imagem preencha o espaço sem distorcer */
    display: block;
    transition: transform 0.4s ease;
}

.gallery-item-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(10, 131, 14, 0.7); /* Overlay verde */
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 2em;
    opacity: 0;
    transition: opacity 0.4s ease;
}

/* Efeitos de hover */
.gallery-item:hover img {
    transform: scale(1.1); /* Efeito de zoom na imagem */
}

.gallery-item:hover .gallery-item-overlay {
    opacity: 1; /* Mostra o overlay e o ícone */
}

.page-title-section {
    padding: 60px 0;
    text-align: center;
    
    /* Fundo cinza claro com um padrão sutil */
    background-color: #f8f9fa;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M14 0 L14 28 M0 14 L28 14' stroke='%23e9ecef' stroke-width='2'/%3E%3C/svg%3E");

    border-bottom: 1px solid #e9ecef;
}
.page-title-section h1 {
    font-family: 'Poppins', sans-serif;
    font-size: 2.8em;
    color: var(--dark-gray);
    text-align: center;
}