/* ============================
   GALLERY
============================ */

#gallery{

    padding:120px 0;

    background:white;

}

.gallerySwiper{

    width:100%;

    padding:40px 0 80px;

}

.swiper-slide{

    width:340px;
    opacity:.45;
    transition:.4s;
    pointer-events:none;


}

.gallery-item{

    display:block;

    overflow:hidden;

    border-radius:24px;

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.gallery-item img{

    width:100%;

    height:520px;

    object-fit:cover;

    transition:.5s;

}

.swiper-slide-active img{

    transform:scale(1.03);

}
/* Hanya slide tengah yang bisa diklik */
.swiper-slide-active{
opacity:1;
    pointer-events:auto;

}

.gallery-item:hover img{

    transform:scale(1.08);

}

.swiper-button-next,
.swiper-button-prev{

    width:55px;

    height:55px;

    border-radius:50%;

    background:white;

    box-shadow:0 10px 25px rgba(0,0,0,.15);

    color:#D4AF37;
    z-index:100;

}

.swiper-button-next::after,
.swiper-button-prev::after{

    font-size:18px;

    font-weight:bold;

}

/* Tablet */

@media(max-width:991px){

.gallery-grid{

columns:2;

}

}

/* HP */

@media(max-width:576px){

.gallery-grid{

columns:1;

}

}

.swiper-pagination{

    bottom:0 !important;

}

.swiper-pagination-bullet{

    width:10px;

    height:10px;

    background:#d9d9d9;

    opacity:1;

}

.swiper-pagination-bullet-active{

    width:28px;

    border-radius:20px;

    background:#D4AF37;

}
/* ==========================================
   PREMIUM LIGHTBOX
========================================== */

#lightbox{

    position:fixed;

    inset:0;

    display:none;

    justify-content:center;

    align-items:center;

    background:rgba(0,0,0,.95);

    backdrop-filter:blur(12px);

    z-index:999999;

    animation:fadeLight .35s;

}

#lightbox.show{

    display:flex;

}

.lb-content{

    display:flex;

    flex-direction:column;

    align-items:center;

    max-width:90vw;

}

#lightbox img{

    max-width:85vw;

    max-height:82vh;

    object-fit:contain;

    border-radius:18px;

    box-shadow:0 20px 60px rgba(0,0,0,.45);

}

.lb-counter{

    margin-top:20px;

    color:white;

    font-size:16px;

    letter-spacing:2px;

}

.lb-close{

    position:absolute;

    top:25px;

    right:35px;

}

.lb-prev{

    position:absolute;

    left:40px;

    top:50%;

    transform:translateY(-50%);

}

.lb-next{

    position:absolute;

    right:40px;

    top:50%;

    transform:translateY(-50%);

}

.lb-close,
.lb-prev,
.lb-next{

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.15);

    color:white;

    cursor:pointer;

    transition:.3s;

    backdrop-filter:blur(12px);

}

.lb-close:hover,
.lb-prev:hover,
.lb-next:hover{

    background:#D4AF37;

}

@keyframes fadeLight{

from{

opacity:0;

}

to{

opacity:1;

}

}

@media(max-width:768px){

.lb-prev{

left:10px;

}

.lb-next{

right:10px;

}

.lb-close{

top:15px;

right:15px;

}

.lb-prev,
.lb-next,
.lb-close{

width:45px;

height:45px;

}

}