/* Estilos Gerais */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
    color: #333;
}

header {
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 20px 0;
}

header h1 {
    margin-bottom: 5px;
}

/* Galeria usando CSS Grid */
.gallery-container {
    display: grid;
    /* Define colunas: 1 em telas pequenas, 2 em médias, 3 ou 4 em grandes */
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 15px; /* Espaço entre as imagens */
    padding: 20px;
    max-width: 1200px; /* Largura máxima da galeria */
    margin: 20px auto; /* Centraliza a galeria */
}

.gallery-item {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden; /* Garante que a imagem não ultrapasse as bordas arredondadas */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-item:hover {
    transform: translateY(-5px); /* Efeito de "levantar" ao passar o mouse */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.gallery-item img {
    width: 100%;
    height: 250px; /* Altura fixa para as miniaturas */
    object-fit: cover; /* Garante que a imagem preencha o espaço sem distorcer */
    display: block; /* Remove espaço extra abaixo da imagem */
    transition: transform 0.3s ease;
}

.gallery-item img:hover {
    transform: scale(1.03); /* Leve zoom ao passar o mouse */
}

.gallery-item a {
    text-decoration: none;
    display: block; /* Faz com que o link preencha todo o item */
    color: inherit; /* Herda a cor do texto do pai */
}

/* Rodapé */
footer {
    text-align: center;
    padding: 20px;
    background-color: #333;
    color: #fff;
    margin-top: 20px;
}

/* Responsividade (exemplo de media query) */
@media (max-width: 768px) {
    .gallery-container {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* 2 colunas em tablets */
        padding: 10px;
    }

    .gallery-item img {
        height: 200px;
    }
}

@media (max-width: 480px) {
    .gallery-container {
        grid-template-columns: 1fr; /* 1 coluna em celulares */
        padding: 5px;
    }

    .gallery-item img {
        height: 180px;
    }
}