/* FGENIO_JOURNAL_MEDIA_SLIDER_V1 */
/* FGENIO_JOURNAL_MEDIA_SLIDER_THEME_V1 */

.fgen-journal-media-slider {
    width: 100%;
    overflow: hidden;
    background: var(--vz-card-bg);
}

.fgen-journal-media-slider--fixed {
    height: 100%;
}

.fgen-journal-media-slider--fixed .swiper-wrapper {
    height: calc(100% - 20px);
}

.fgen-journal-media-slider--fixed.fgen-journal-media-slider--single {
    height: 100%;
}

.fgen-journal-media-slider__slide {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    background: var(--vz-card-bg);
}

.fgen-journal-media-slider--fixed .fgen-journal-media-slider__slide {
    height: 100%;
}

.fgen-journal-media-slider__slide img {
    display: block;
    width: 100%;
    max-width: 100%;
    user-select: none;
    -webkit-user-drag: none;
}

.fgen-journal-media-slider--fixed .fgen-journal-media-slider__slide img {
    height: 100%;
}


.fgen-journal-media-slider--fit-cover .fgen-journal-media-slider__slide img {
    object-fit: cover;
}

.fgen-journal-media-slider--fit-contain .fgen-journal-media-slider__slide img {
    object-fit: contain;
}

.fgen-journal-media-slider__pagination.swiper-pagination {
    position: relative;
    inset: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 100%;
    min-height: 20px;
    padding: 3px 8px 7px;
    /* FGENIO_JOURNAL_MEDIA_PAGINATION_THEME_V1 */
    background: var(--vz-card-bg);
    color: var(--vz-body-color);
    line-height: 1;
}

.fgen-journal-media-slider__pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    margin: 0 !important;
    opacity: .42;
    background: currentColor;
    transition:
        opacity .16s ease,
        transform .16s ease;
}

.fgen-journal-media-slider__pagination .swiper-pagination-bullet-active {
    opacity: 1;
    transform: scale(1.28);
}

.fgen-journal-media-slider.swiper {
    touch-action: pan-y;
}

.fgen-explore-journal-snapshot .fgen-journal-media-slider,
.fgen-explore-journal-snapshot .fgen-journal-media-slider--single {
    height: 100%;
}

.fgen-explore-journal-snapshot .fgen-journal-media-slider__pagination {
    color: var(--vz-body-color);
}

@media (hover: hover) and (pointer: fine) {
    .fgen-journal-media-slider__pagination .swiper-pagination-bullet {
        cursor: pointer;
    }
}

/* FGENIO_JOURNAL_MEDIA_SLIDER_GEOMETRY_V3
 *
 * Canonical social-card media viewport:
 *
 * - desktop target viewport: 560 x 336
 * - responsive down when parent is narrower
 * - image always fills viewport
 * - aspect ratio is preserved
 * - excess image area is cropped by viewport
 *
 * This intentionally replaces the previous layered
 * width / height / !important geometry rules.
 */

.fgen-journal-media-slider {
    position: relative;
    width: 560px;
    max-width: 100%;
    overflow: hidden;
}

.fgen-journal-media-slider > .swiper-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
}

.fgen-journal-media-slider > .swiper-wrapper > .swiper-slide {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    box-sizing: border-box;
}

.fgen-journal-media-slider--fluid {
    height: 336px;
}

.fgen-journal-media-slider--fluid > .swiper-wrapper,
.fgen-journal-media-slider--fluid .fgen-journal-media-slider__slide {
    height: 336px;
}

.fgen-journal-media-slider--fluid
.fgen-journal-media-slider__slide > img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
}

.fgen-journal-media-slider--single.fgen-journal-media-slider--fluid {
    height: 336px;
}

.fgen-journal-media-slider--single.fgen-journal-media-slider--fluid
.fgen-journal-media-slider__slide {
    height: 336px;
}

.fgen-journal-media-slider__pagination.swiper-pagination {
    position: relative;
    inset: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 20px;
    padding: 3px 8px 7px;
}

