/* Estilos gerais da galeria de álbuns */
.galeria-albums {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.galeria-albums.galeria-colunas-2 .galeria-album-item { flex: 0 0 calc(50% - 10px); }
.galeria-albums.galeria-colunas-3 .galeria-album-item { flex: 0 0 calc(33.333% - 14px); }
.galeria-albums.galeria-colunas-4 .galeria-album-item { flex: 0 0 calc(25% - 15px); }
.galeria-album-item {
    background-color: #f9f9f9;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding: 15px;
}
.galeria-album-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}
.galeria-album-capa {
    width: 100%;
    height: 250px;
    background-size: cover;
    background-position: center;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}
.galeria-album-info {
    padding: 15px;
    text-align: center;
}
.galeria-album-info h3 {
    margin: 0 0 5px;
    color: #333;
    font-size: 1.2em;
}
.galeria-album-info .galeria-data,
.galeria-album-info .galeria-local {
    margin: 0;
    font-size: 0.9em;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
.galeria-album-info .galeria-data i,
.galeria-album-info .galeria-local i {
    font-size: 1em;
}

/* Estilos para a página de álbum único */
.galeria-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    padding-top: 50px; 
    padding-bottom: 50px;
}
.galeria-content .page-header {
    background: transparent;
    border: none;
    margin-bottom: 40px;
}
.entry-header {
    text-align: center;
    margin-bottom: 40px;
}
.entry-title {
    font-size: 2.5em;
    margin-bottom: 5px;
}
.album-meta {
    font-size: 1.1em;
    color: #777;
    display: flex;
    justify-content: center;
    gap: 20px;
}
.album-meta p {
    display: flex;
    align-items: center;
    margin: 0;
    gap: 5px;
}

/* Estilos para as fotos individuais dentro do álbum */
.galeria-fotos-lista {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    list-style: none;
    padding: 0;
}
.galeria-fotos-lista a {
    flex-grow: 1;
    display: block;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}
.galeria-fotos-lista a:hover {
    transform: scale(1.05);
}
.galeria-fotos-lista img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}
/* Layout padrão para desktop: 4 colunas */
.galeria-fotos-lista.galeria-colunas-2 a { width: calc(50% - 8px); }
.galeria-fotos-lista.galeria-colunas-3 a { width: calc(33.333% - 10px); }
.galeria-fotos-lista.galeria-colunas-4 a { width: calc(25% - 12px); }

/* Layout responsivo */
/* Tablets (768px a 992px) */
@media (max-width: 992px) {
    .galeria-albums.galeria-colunas-4 .galeria-album-item,
    .galeria-fotos-lista.galeria-colunas-4 a {
        flex: 0 0 calc(50% - 10px);
        width: calc(50% - 10px);
    }
}

/* Celulares (até 767px) */
@media (max-width: 767px) {
    .galeria-albums.galeria-colunas-4 .galeria-album-item,
    .galeria-fotos-lista.galeria-colunas-4 a {
        flex: 0 0 calc(100%);
        width: 100%;
    }
    .galeria-albums.galeria-colunas-2 .galeria-album-item,
    .galeria-albums.galeria-colunas-3 .galeria-album-item,
    .galeria-fotos-lista.galeria-colunas-2 a,
    .galeria-fotos-lista.galeria-colunas-3 a {
        flex: 0 0 calc(100%);
        width: 100%;
    }
}