/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Description: Child theme para Visiolatam
Author: Visiolatam
Template: generatepress
Version: 1.0
*/

/* CONTENEDOR */

.contenedor-galeria {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* DATOS */

.galeria-datos p {
    margin-bottom: 10px;
}

/* SECCIÓN ARTISTAS */

.galeria-artistas {
    margin-top: 40px;
}

/* GRID */

.grid-artistas {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* TARJETA ARTISTA */

.artista-card {
    text-align: center;
}

.artista-card img {
    width: 100%;
    height: auto;
    display: block;
}

.artista-card h3 {
    margin-top: 10px;
    font-size: 18px;
}

/* ===============================
   ARCHIVO DE ARTISTAS
   =============================== */

.contenedor-artistas{
    max-width:1200px;
    margin:0 auto;
    padding:50px 20px;
}

.archivo-header{
    text-align:center;
    margin-bottom:40px;
}

.grid-artistas-archivo{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
    gap:35px;
}

.artista-card{
    text-align:center;
}

.artista-imagen img{
    width:100%;
    height:auto;
    border-radius:4px;
}

.artista-nombre{
    margin-top:12px;
    font-size:20px;
}

.artista-meta{
    font-size:14px;
    color:#666;
}

/* =================================
ARTISTA INDIVIDUAL
================================= */

.contenedor-artista{
max-width:1200px;
margin:0 auto;
padding:50px 20px;
}

.artista-header{
text-align:center;
margin-bottom:40px;
}

.artista-foto img{
max-width:320px;
height:auto;
border-radius:4px;
margin-top:20px;
}

.artista-grid{
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
margin-bottom:60px;
}

.artista-meta p{
margin-bottom:10px;
}

.artista-obras{
margin-top:40px;
}

.grid-obras{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
gap:25px;
}

.obra-card{
text-align:center;
}

.obra-card img{
width:100%;
height:auto;
}

.artista-galerias{
margin-top:50px;
}

.lista-galerias{
list-style:none;
padding:0;
}

.lista-galerias li{
margin-bottom:6px;
}

/* =====================================
ARCHIVE GALERIAS
Directorio Visiolatam
===================================== */

.contenedor-archivo-galerias {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
}

.archivo-header {
    text-align: center;
    margin-bottom: 50px;
}

.archivo-header h1 {
    font-size: 36px;
    margin-bottom: 10px;
}

.archivo-header p {
    font-size: 18px;
    color: #666;
}

/* GRID */

.grid-galerias {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px,1fr));
    gap: 40px;
}

/* TARJETA */

.galeria-card {
    transition: transform .25s ease;
}

.galeria-card:hover {
    transform: translateY(-5px);
}

/* IMAGEN */

.galeria-imagen img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

/* INFO */

.galeria-info {
    margin-top: 15px;
}

.galeria-titulo {
    font-size: 20px;
    margin-bottom: 5px;
}

/* META */

.galeria-meta {
    font-size: 14px;
    color: #777;
}

.galeria-meta span {
    margin-right: 10px;
}

/* PAGINACION */

.paginacion-archivo {
    margin-top: 60px;
    text-align: center;
}

/* ======================================
ARCHIVE OBRAS
Colección Visiolatam
====================================== */

.contenedor-archivo-obras{
max-width:1400px;
margin:0 auto;
padding:60px 30px;
}

/* HEADER */

.archivo-obras-header{
text-align:center;
margin-bottom:60px;
}

.archivo-obras-header h1{
font-size:40px;
margin-bottom:10px;
}

.archivo-obras-header p{
font-size:18px;
color:#666;
}

/* GRID */

.grid-obras{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
gap:40px;
}

/* CARD */

.obra-card{
transition:transform .3s ease;
}

.obra-card:hover{
transform:translateY(-6px);
}

/* IMAGEN */

.obra-imagen img{
width:100%;
height:auto;
display:block;
border-radius:4px;
}

/* INFO */

.obra-info{
margin-top:14px;
}

.obra-titulo{
font-size:18px;
margin-bottom:6px;
}

/* META */

.obra-meta{
font-size:14px;
color:#777;
}

.obra-meta span{
margin-right:10px;
}

/* PAGINACION */

.paginacion-obras{
margin-top:70px;
text-align:center;
}

/* GALERIA */

.contenedor-galeria{
max-width:1200px;
margin:auto;
padding:60px 20px;
}

.galeria-grid{
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
margin-top:40px;
}

.grid-artistas,
.grid-obras{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
gap:30px;
margin-top:20px;
}

.artista-card img,
.obra-card img{
width:100%;
height:auto;
display:block;
}

/* DISCIPLINA */

.contenedor-disciplina{
max-width:1300px;
margin:auto;
padding:60px 20px;
}

.disciplina-header{
text-align:center;
margin-bottom:60px;
}

.disciplina-header h1{
font-size:42px;
margin-bottom:10px;
}

.disciplina-descripcion{
font-size:18px;
color:#666;
max-width:800px;
margin:auto;
}

.disciplina-artistas,
.disciplina-obras{
margin-top:60px;
}

.grid-artistas,
.grid-obras{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
gap:30px;
margin-top:25px;
}

.artista-card img,
.obra-card img{
width:100%;
height:auto;
display:block;
}

.artista-card h3,
.obra-card h3{
font-size:16px;
margin-top:10px;
}

.disciplina-galerias{
margin-top:60px;
}

.grid-galerias{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
gap:30px;
margin-top:25px;
}

.galeria-card img{
width:100%;
height:auto;
display:block;
}

.galeria-card h3{
font-size:16px;
margin-top:10px;
}

.navegacion-disciplinas{
margin-top:30px;
margin-bottom:40px;
}

.navegacion-disciplinas ul{
display:flex;
flex-wrap:wrap;
gap:15px;
justify-content:center;
list-style:none;
padding:0;
}

.navegacion-disciplinas a{
padding:8px 14px;
border:1px solid #ddd;
border-radius:20px;
text-decoration:none;
font-size:14px;
transition:all .2s ease;
}

.navegacion-disciplinas a:hover{
background:#000;
color:#fff;
}

.mapa-cultural{
max-width:1200px;
margin:auto;
padding:60px 20px;
}

.mapa-header{
text-align:center;
margin-bottom:60px;
}

.grid-paises{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
gap:30px;
}

.pais-card{
border:1px solid #eee;
padding:40px 20px;
text-align:center;
transition:all .2s ease;
}

.pais-card:hover{
transform:translateY(-4px);
box-shadow:0 6px 18px rgba(0,0,0,0.08);
}

.pais-card h2{
font-size:20px;
}

.explorador-cultural{

max-width:1200px;
margin:auto;
padding:60px 20px;

}

.explorador-header{

text-align:center;
margin-bottom:40px;

}

.explorador-filtros form{

display:flex;
gap:15px;
justify-content:center;
flex-wrap:wrap;
margin-bottom:50px;

}

.explorador-filtros select{

padding:10px;
border:1px solid #ddd;

}

.explorador-filtros button{

padding:10px 20px;
background:#000;
color:white;
border:none;

}

.grid-explorador{

display:grid;
grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
gap:30px;

}

.item-explorador{

border:1px solid #eee;
padding:15px;
transition:.2s;

}

.item-explorador:hover{

transform:translateY(-5px);
box-shadow:0 6px 20px rgba(0,0,0,0.08);

}

.explorador-cultural{

max-width:1200px;
margin:auto;
padding:60px 20px;

}

.explorador-header{

text-align:center;
margin-bottom:40px;

}

.explorador-filtros{

display:flex;
gap:20px;
justify-content:center;
flex-wrap:wrap;
margin-bottom:40px;

}

.explorador-filtros select,
.explorador-filtros input{

padding:12px;
border:1px solid #ddd;
min-width:180px;

}

.resultado{

padding:12px;
border-bottom:1px solid #eee;

}

.resultado a{

text-decoration:none;
font-weight:500;

}

.grid-disciplinas{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:40px;
margin-top:50px;
}

.disciplina-card img{
width:100%;
height:260px;
object-fit:cover;
}

.disciplina-card h2{
font-size:22px;
margin-top:15px;
}

.disciplina-meta{
display:flex;
gap:20px;
font-size:14px;
opacity:0.7;
margin-top:8px;
}

#mapa-visiolatam{
height:600px;
width:100%;
margin-top:40px;
}

.grid-paises{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:30px;
margin-top:40px;
}

.pais-card{
border:1px solid #eee;
padding:25px;
text-align:center;
transition:all .2s;
}

.pais-card:hover{
background:#f7f7f7;
}

.main-navigation ul{
display:flex;
gap:25px;
font-weight:500;
}

.main-navigation li{
position:relative;
}

.main-navigation li ul{
position:absolute;
top:100%;
left:0;
background:white;
display:none;
min-width:220px;
box-shadow:0 10px 30px rgba(0,0,0,0.1);
padding:20px;
}

.main-navigation li:hover ul{
display:block;
}

.grid-paises{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:30px;
margin-top:40px;
}

.pais-card{
background:#fff;
padding:25px;
border:1px solid #eee;
transition:0.3s;
}

.pais-card:hover{
transform:translateY(-5px);
box-shadow:0 8px 25px rgba(0,0,0,0.08);
}

.pais-card h3{
margin-bottom:10px;
font-size:20px;
}

.pais-meta{
font-size:14px;
line-height:1.6;
color:#555;
}

.evento-single{

max-width:1200px;
margin:auto;
padding:40px 20px;
font-family: system-ui, -apple-system, sans-serif;

}


.evento-header{

text-align:center;
margin-bottom:40px;

}


.evento-imagen img{

width:100%;
height:auto;
border-radius:6px;

}


.evento-titulo{

font-size:40px;
margin-top:20px;

}


.evento-layout{

display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
margin-bottom:40px;

}


.evento-info,
.evento-sede{

background:#f6f6f6;
padding:20px;
border-radius:6px;

}


.evento-descripcion{

margin:40px 0;
font-size:18px;
line-height:1.6;

}


.grid-artistas,
.grid-relacionados,
.grid-artistas-rel,
.grid-instituciones{

display:grid;
grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
gap:20px;

}


.card-evento,
.card-artista,
.card-institucion{

background:white;
border:1px solid #eee;
border-radius:6px;
padding:10px;
text-align:center;
transition:0.2s;

}


.card-evento:hover,
.card-artista:hover,
.card-institucion:hover{

transform:translateY(-3px);
box-shadow:0 5px 15px rgba(0,0,0,0.08);

}


.card-evento img,
.card-artista img,
.card-institucion img{

width:100%;
height:auto;
border-radius:4px;
margin-bottom:8px;

}


h2{

margin-top:60px;
font-size:28px;

}


@media(max-width:900px){

.evento-layout{

grid-template-columns:1fr;

}

}