.gds-gallery{
    width:100%;
    padding:5px;
    background:
        radial-gradient(circle at 10% 20%,rgba(255,255,255,.9),transparent 28%),
        radial-gradient(circle at 90% 80%,rgba(203,226,255,.7),transparent 26%),
        linear-gradient(135deg,#f8fbff,#edf4fb);
    overflow:hidden;
}

.gds-gallery-row{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:5px;
}

.gds-gallery-item{
    position:relative;
    overflow:hidden;
    min-width:0;
    height:185px;
    background:#ddd;
    cursor:pointer;
    border:1px solid rgba(255,255,255,.8);
    box-shadow:0 5px 18px rgba(20,47,80,.18);
}

.gds-gallery-item::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.02) 25%,
            rgba(0,0,0,.05) 50%,
            rgba(0,0,0,.62) 100%
        );
    transition:.4s ease;
}

.gds-gallery-item::after{
    content:"";
    position:absolute;
    top:-80%;
    left:-100%;
    width:60%;
    height:260%;
    z-index:3;
    pointer-events:none;
    transform:rotate(25deg);
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.25),
        transparent
    );
    transition:.65s ease;
}

.gds-gallery-item:hover::after{
    left:150%;
}

.gds-gallery-item:hover::before{
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.02),
            rgba(0,0,0,.42)
        );
}

.gds-gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:saturate(1.08) contrast(1.05) brightness(1.02);
    transition:
        transform .6s cubic-bezier(.2,.7,.2,1),
        filter .5s ease;
}

.gds-gallery-item:hover img{
    transform:scale(1.09);
    filter:saturate(1.18) contrast(1.08) brightness(1.04);
}

.gds-gallery-badge{
    position:absolute;
    z-index:5;
    top:10px;
    left:10px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 9px;
    border-radius:3px;
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:.2px;
    background:rgba(12,28,55,.80);
    backdrop-filter:blur(5px);
    border:1px solid rgba(255,255,255,.25);
    box-shadow:0 3px 10px rgba(0,0,0,.16);
}

.gds-gallery-badge i{
    color:#ffd35a;
}

.gds-gallery-caption{
    position:absolute;
    z-index:5;
    left:10px;
    right:10px;
    bottom:9px;
    color:#fff;
    font-size:13px;
    font-weight:600;
    line-height:1.25;
    text-shadow:0 2px 7px rgba(0,0,0,.7);
    transform:translateY(2px);
    transition:.35s ease;
}

.gds-gallery-item:hover .gds-gallery-caption{
    transform:translateY(-2px);
}

.gds-gallery-view{
    position:absolute;
    z-index:6;
    right:9px;
    top:9px;
    width:31px;
    height:31px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#fff;
    background:rgba(0,0,0,.45);
    border:1px solid rgba(255,255,255,.4);
    opacity:0;
    transform:scale(.7);
    transition:.35s ease;
}

.gds-gallery-item:hover .gds-gallery-view{
    opacity:1;
    transform:scale(1);
}

#gdsGalleryModal .modal-dialog{
    max-width:1100px;
}

#gdsGalleryModal .modal-content{
    background:#070b12;
    border:1px solid rgba(255,255,255,.15);
    border-radius:5px;
    overflow:hidden;
}

#gdsGalleryModal .modal-body{
    padding:5px;
    position:relative;
}

#gdsGalleryModal .gds-lightbox-image{
    width:100%;
    max-height:82vh;
    object-fit:contain;
    display:block;
    background:#05070b;
}

#gdsGalleryModal .btn-close{
    position:absolute;
    z-index:20;
    right:13px;
    top:13px;
    background-color:rgba(255,255,255,.92);
    border-radius:50%;
    padding:10px;
    opacity:1;
}

.gds-lightbox-title{
    position:absolute;
    left:18px;
    bottom:16px;
    z-index:10;
    color:#fff;
    padding:7px 12px;
    font-size:13px;
    font-weight:600;
    border-radius:3px;
    background:rgba(0,0,0,.6);
    backdrop-filter:blur(5px);
}

@media (max-width:991.98px){
    .gds-gallery-row{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media (max-width:575.98px){
    .gds-gallery{
        padding:5px;
    }

    .gds-gallery-row{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:5px;
    }

    .gds-gallery-item{
        height:125px;
    }

    .gds-gallery-badge{
        top:6px;
        left:6px;
        padding:4px 6px;
        font-size:9px;
    }

    .gds-gallery-caption{
        left:7px;
        right:7px;
        bottom:7px;
        font-size:10px;
    }

    .gds-gallery-view{
        display:none;
    }
}