/* BLOCK: Full Bleed Image Carousel */

.block-full-bleed-image-carousel {
    position: relative;
    isolation: isolate;
    height: 100vh;
}

.block-full-bleed-image-carousel :is(.wrap, .swiper, .swiper-wrapper) {
    height: 100%;
}

.block-full-bleed-image-carousel .swiper {
    overflow: visible;
}

.block-full-bleed-image-carousel .swiper > .text-content {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.block-full-bleed-image-carousel .swiper-actions {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.block-full-bleed-image-carousel .swiper-pagination {
    margin-bottom: 2.5rem;
    justify-content: flex-end;
}

.block-full-bleed-image-carousel .swiper-navigation {
    justify-content: flex-end;
}

.block-full-bleed-image-carousel .swiper-slide {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 2.5rem;
}

.block-full-bleed-image-carousel .swiper-slide .bg-wrapper {
    position: absolute;
    inset: calc(-1 * var(--pt, 0px)) calc(-1 * var(--offset, 0px)) calc(-1 * var(--pb, 0px));
    z-index: -1;
    pointer-events: none;
    user-select: none;
}

.block-full-bleed-image-carousel .swiper-slide .bg-wrapper :is(picture,img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-full-bleed-image-carousel .swiper-slide .bg-wrapper::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(225.75deg, transparent 31.03%, rgba(0, 0, 0, 0.5) 91.95%),
        linear-gradient(118.44deg, transparent 63.87%, rgba(0, 0, 0, 0.5) 100%),
        linear-gradient(180deg, transparent 7.28%, rgba(0, 0, 0, 0.2) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.2) 7.28%, transparent 44.37%);
    mix-blend-mode: multiply;
}

.block-full-bleed-image-carousel .swiper-slide :is(.text-content, .cta-buttons) {
    width: 75%;
    max-width: 38rem;
}

@media screen and (width <= 620px) {
    .block-full-bleed-image-carousel .swiper-slide .bg-wrapper::after {
        background:
            linear-gradient(228.78deg, transparent 26.65%, rgb(from var(--c-text-dark) r g b / 0.7) 69.6%, #3A4443 94.81%),
            linear-gradient(225.75deg, transparent 48.31%, rgb(from var(--c-text-darker) r g b / 0.7) 91.31%),
            linear-gradient(180deg, rgb(from var(--c-text-darker) r g b / 0.6) 0%, transparent 28.06%),
            linear-gradient(180deg, rgb(from var(--c-text-darker) r g b / 0.2) 0%, transparent 100%);
    }

    .block-full-bleed-image-carousel .swiper-actions {
        left: 0;
    }

    .block-full-bleed-image-carousel .swiper-pagination {
        margin-bottom: 0;
        justify-content: flex-start;
    }

    .block-full-bleed-image-carousel .swiper-slide {
        padding-bottom: 3.125rem;
    }

    .block-full-bleed-image-carousel .swiper-slide :is(.text-content, .cta-buttons) {
        width: 95%;
    }
}
