.photo-gallery-section{
    background:#f3f4f6;
    border:1px solid #d9d9d9;
    padding:16px;
    margin:32px 0;
}

.gallery-heading{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#d50000;
    color:#fff;
    padding:8px 16px;
    font-size:18px;
    font-weight:700;
    margin-bottom:16px;
}

.gallery-main{
    position:relative;
}

.gallery-main .swiper-slide{
    aspect-ratio:16/9;
    overflow:hidden;
    background:#ddd;
}

.gallery-main .swiper-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.gallery-caption{
    background:#111827;
    color:#fff;
    padding:14px 18px;
    font-size:20px;
    line-height:1.6;
    font-weight:600;
    min-height:80px;
}

.gallery-thumbs{
    margin-top:14px;
}

.gallery-thumbs .swiper-slide{
    width:160px;
    aspect-ratio:3/2;
    overflow:hidden;
    border:2px solid transparent;
    cursor:pointer;
    opacity:.6;
    transition:.25s ease;
}

.gallery-thumbs .swiper-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.gallery-thumbs .swiper-slide-thumb-active{
    border-color:#d50000;
    opacity:1;
}

.gallery-prev,
.gallery-next{
    color:#fff !important;
    width:44px !important;
    height:44px !important;
    background:rgba(0,0,0,.45);
    border-radius:50%;
}

.gallery-prev::after,
.gallery-next::after{
    font-size:18px !important;
    font-weight:700;
}

@media (max-width:768px){

    .gallery-heading{
        font-size:16px;
    }

    .gallery-caption{
        font-size:16px;
        min-height:64px;
    }

    .gallery-thumbs .swiper-slide{
        width:90px;
    }

    .gallery-prev,
    .gallery-next{
        width:36px !important;
        height:36px !important;
    }
}