

/* =========================
   RESPONSIVE GALLERY GRID
========================= */



.gallery-grid{
display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:15px;
margin-top:20px;
}

.gallery-item{
position:relative;
overflow:hidden;
border-radius:18px;
cursor:pointer;
background:#fff;
box-shadow:0 4px 15px rgba(0,0,0,0.08);
transition:0.3s ease;
}

.gallery-item:hover{
transform:translateY(-4px);
}

.gallery-item img{
width:100%;
height:220px;
object-fit:cover;
display:block;
transition:0.4s ease;
}

.gallery-item:hover img{
transform:scale(1.05);
}

.gallery-title{
padding:14px 10px;
font-size:16px;
font-weight:600;
text-align:center;
background:#fff;
line-height:1.4;
}

/* =========================
   LIGHTBOX
========================= */

.lightbox{
display:none;
position:fixed;
z-index:99999;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.94);
justify-content:center;
align-items:center;
padding:20px;
overflow:hidden;
}

.lightbox-img{
max-width:92%;
max-height:88vh;
border-radius:12px;
object-fit:contain;
animation:zoomIn .3s ease;
}

@keyframes zoomIn{
from{
transform:scale(.85);
opacity:0;
}
to{
transform:scale(1);
opacity:1;
}
}

/* CLOSE BUTTON */

.close-lightbox{
position:absolute;
top:15px;
right:20px;
font-size:42px;
line-height:1;
color:#fff;
cursor:pointer;
z-index:100001;
}

/* SLIDER BUTTONS */

.lightbox-prev,
.lightbox-next{
position:absolute;
top:50%;
transform:translateY(-50%);
font-size:45px;
font-weight:bold;
color:#fff;
cursor:pointer;
padding:12px;
z-index:100001;
user-select:none;
transition:0.3s ease;
background:rgba(255,255,255,0.08);
border-radius:10px;
backdrop-filter:blur(5px);
}

.lightbox-prev:hover,
.lightbox-next:hover{
background:rgba(255,255,255,0.2);
}

.lightbox-prev{
left:20px;
}

.lightbox-next{
right:40px;
}

/* =========================
   LARGE TABLET
========================= */

@media(max-width:1200px){

.gallery-grid{
grid-template-columns:repeat(4,1fr);
}

.gallery-item img{
height:210px;
}

}

/* =========================
   TABLET
========================= */

@media(max-width:992px){

.gallery-grid{
grid-template-columns:repeat(3,1fr);
gap:12px;
}

.gallery-item img{
height:190px;
}

.gallery-title{
font-size:15px;
}

}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

.gallery-grid{
grid-template-columns:repeat(2,1fr);
gap:10px;
}

.gallery-item{
border-radius:14px;
}

.gallery-item img{
height:160px;
}

.gallery-title{
font-size:14px;
padding:10px 8px;
}

.lightbox{
padding:15px;
}

.lightbox-img{
max-width:100%;
max-height:78vh;
border-radius:10px;
}

.lightbox-prev,
.lightbox-next{
font-size:32px;
padding:10px;
}

.lightbox-prev{
left:8px;
}

.lightbox-next{
right:8px;
}

.close-lightbox{
font-size:34px;
top:10px;
right:15px;
}

}

/* =========================
   SMALL MOBILE
========================= */

@media(max-width:480px){

.gallery-grid{
grid-template-columns:repeat(2,1fr);
gap:8px;
}

.gallery-item img{
height:130px;
}

.gallery-title{
font-size:13px;
padding:8px 6px;
}

.lightbox-img{
max-height:70vh;
}

.lightbox-prev,
.lightbox-next{
font-size:26px;
padding:8px;
}

.close-lightbox{
font-size:30px;
}

}

/* =========================
   EXTRA SMALL DEVICES
========================= */

@media(max-width:360px){

.gallery-item img{
height:115px;
}

.gallery-title{
font-size:12px;
}

}

