.fsd-gallery .fsd-gallery-item {
    position: relative;
    display: block;
    cursor: zoom-in;
}

.fsd-gallery .fsd-gallery-ratio {
    overflow: hidden;
    background: #e9ecef;
}

.fsd-gallery .fsd-gallery-ratio img {
    transition: transform .25s ease, filter .25s ease;
}

.fsd-gallery .fsd-gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .48);
    color: #fff;
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
}

.fsd-gallery .fsd-gallery-overlay i {
    font-size: 2.25rem;
    line-height: 1;
}

.fsd-gallery .fsd-gallery-item:hover img,
.fsd-gallery .fsd-gallery-item:focus-visible img {
    transform: scale(1.035);
    filter: brightness(.72);
}

.fsd-gallery .fsd-gallery-item:hover .fsd-gallery-overlay,
.fsd-gallery .fsd-gallery-item:focus-visible .fsd-gallery-overlay {
    opacity: 1;
}

.fsd-gallery-modal .fsd-gallery-modal-image {
    max-height: 78vh;
    object-fit: contain;
}

.fsd-gallery-prev,
.fsd-gallery-next {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 2rem;
    line-height: 1rem;
}

.fsd-gallery-prev {
    left: 1rem;
}

.fsd-gallery-next {
    right: 1rem;
}

@media (max-width: 575.98px) {
    .fsd-gallery-prev,
    .fsd-gallery-next {
        width: 38px;
        height: 38px;
        font-size: 1.6rem;
    }

    .fsd-gallery-prev {
        left: .5rem;
    }

    .fsd-gallery-next {
        right: .5rem;
    }
}
