.ncode-media-gallery {
    position: relative;
    width: 100%;
}


.ncode-gallery-swiper {
    position: relative;
    width: 100%;
    overflow: hidden;
}


.ncode-gallery-swiper .swiper-wrapper {
    align-items: stretch;
}


.ncode-gallery-swiper .swiper-slide {
    height: auto;
}


.ncode-gallery-image {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}


.ncode-gallery-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}


/*
 * Navigation buttons
 */

.ncode-gallery-prev,
.ncode-gallery-next {

    position: absolute;

    top: 50%;

    z-index: 10;

    width: 44px;
    height: 44px;

    margin: 0;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.95);

    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);

    transform: translateY(-50%);

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 32px;

    line-height: 1;

}


.ncode-gallery-prev {
    left: 15px;
}


.ncode-gallery-next {
    right: 15px;
}


.ncode-gallery-prev span,
.ncode-gallery-next span {
    display: block;
    line-height: 1;
}


.ncode-gallery-prev:hover,
.ncode-gallery-next:hover {
    transform: translateY(-50%) scale(1.05);
}


/*
 * Editor message
 */

.ncode-gallery-message {

    padding: 30px;

    text-align: center;

    background: #f5f5f5;

}


/*
 * Mobile
 */

@media (max-width: 767px) {

    .ncode-gallery-prev,
    .ncode-gallery-next {

        width: 36px;
        height: 36px;

        font-size: 26px;

    }


    .ncode-gallery-prev {
        left: 8px;
    }


    .ncode-gallery-next {
        right: 8px;
    }

}