/* ========================
FILTROS
======================== */

.filtros-section{
padding:40px 0 20px;
}

.filtros{
display:flex;
flex-wrap:wrap;
gap:12px;
justify-content:center;
}

.filtro-btn{
background:rgba(20,20,20,.7);
border:1px solid rgba(255,255,255,.08);
color:#bbb;
padding:10px 22px;
border-radius:40px;
font-size:14px;
font-weight:600;
cursor:pointer;
transition:.3s;
backdrop-filter:blur(6px);
font-family:'Inter',sans-serif;
}

.filtro-btn:hover{
border-color:#d4af37;
color:#d4af37;
transform:translateY(-2px);
}

.filtro-btn.is-active{
background:linear-gradient(135deg,#d4af37,#ffd86b);
border-color:#d4af37;
color:#111;
box-shadow:0 6px 20px rgba(212,175,55,.35);
}

/* ========================
GALERÍA GRID
======================== */

.galeria-section{
padding:40px 0 100px;
}

.galeria-grid{
columns:3;
column-gap:20px;
}

.gal-item{
break-inside:avoid;
margin-bottom:20px;
border-radius:12px;
overflow:hidden;
position:relative;
cursor:pointer;
border:1px solid rgba(255,255,255,.06);
background:#111;
opacity:0;
transform:translateY(30px);
transition:opacity .6s ease, transform .6s ease, border-color .3s, box-shadow .3s;
}

.gal-item.active{
opacity:1;
transform:translateY(0);
}

.gal-item.hidden{
display:none;
}

.gal-item img{
width:100%;
display:block;
transition:.5s;
filter:brightness(.92);
}

.gal-item:hover img{
transform:scale(1.04);
filter:brightness(.6);
}

.gal-item:hover{
border-color:rgba(212,175,55,.5);
box-shadow:0 15px 40px rgba(0,0,0,.7);
}

/* OVERLAY — solo ícono */
.gal-overlay{
position:absolute;
inset:0;
display:flex;
align-items:center;
justify-content:center;
opacity:0;
transition:.35s;
}

.gal-item:hover .gal-overlay{opacity:1;}

.gal-icon{
font-size:38px;
color:rgba(255,255,255,.9);
line-height:1;
text-shadow:0 2px 12px rgba(0,0,0,.6);
transition:.3s;
transform:scale(.8);
}

.gal-item:hover .gal-icon{transform:scale(1);}

/* ========================
LIGHTBOX
======================== */

.lightbox{
display:none;
position:fixed;
inset:0;
z-index:9999;
background:rgba(0,0,0,.97);
backdrop-filter:blur(10px);
align-items:center;
justify-content:center;
flex-direction:column;
}

.lightbox.open{display:flex;}

.lb-content{
position:relative;
display:flex;
flex-direction:column;
align-items:center;
max-width:90vw;
max-height:90vh;
}

#lbImg{
max-width:90vw;
max-height:75vh;
object-fit:contain;
border-radius:8px;
box-shadow:0 0 80px rgba(0,0,0,.9);
display:block;
animation:lbFadeIn .3s ease;
}

@keyframes lbFadeIn{
from{opacity:0;transform:scale(.96);}
to{opacity:1;transform:scale(1);}
}

/* CAPTION — texto descriptivo debajo de la foto */
.lb-caption{
color:#ddd;
font-size:15px;
text-align:center;
margin-top:16px;
max-width:680px;
line-height:1.6;
padding:0 20px;
min-height:22px;
}

.lb-counter{
color:#555;
font-size:13px;
margin-top:6px;
}

/* Botones */
.lb-close{
position:fixed;
top:22px;right:28px;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.12);
color:white;
font-size:20px;
width:42px;height:42px;
border-radius:50%;
cursor:pointer;
transition:.25s;
display:flex;align-items:center;justify-content:center;
z-index:10000;
}

.lb-close:hover{background:#d4af37;color:#111;border-color:#d4af37;}

.lb-prev,
.lb-next{
position:fixed;
top:50%;
transform:translateY(-50%);
background:rgba(0,0,0,.6);
border:1px solid rgba(255,255,255,.1);
color:white;
font-size:32px;
width:52px;height:52px;
border-radius:50%;
cursor:pointer;
transition:.25s;
display:flex;align-items:center;justify-content:center;
z-index:10000;
}

.lb-prev{left:20px;}
.lb-next{right:20px;}

.lb-prev:hover,
.lb-next:hover{
background:#d4af37;
color:#111;
border-color:#d4af37;
transform:translateY(-50%) scale(1.1);
}

/* ========================
RESPONSIVE
======================== */

@media(max-width:960px){
.galeria-grid{columns:2;}
}

@media(max-width:560px){
.galeria-grid{columns:1;}
.filtros{gap:8px;}
.filtro-btn{padding:8px 16px;font-size:13px;}
.lb-prev{left:8px;}
.lb-next{right:8px;}
#lbImg{max-height:65vh;}
.lb-caption{font-size:13px;}
}
