.carousel-content-gallery-block {
--carousel-content-gallery-gap: 2rem;
--carousel-content-gallery-image-radius: 0;

--vin-carousel-controls-gap: 1rem;
--vin-carousel-controls-margin-top: 2rem;
--vin-carousel-pagination-gap: 0.75rem;
--vin-carousel-focus-outline: 2px solid currentColor;
--vin-carousel-nav-size: 3rem;
}
.carousel-content-gallery {
width: 100%;
}
.carousel-content-gallery__swiper {
overflow: hidden;
}
.carousel-content-gallery__wrapper {
align-items: stretch;
}
.carousel-content-gallery__slide {
height: auto;
}
.carousel-content-gallery__slide-inner {
display: flex;
flex-direction: column;
gap: var(--carousel-content-gallery-gap);
height: 100%;
}
.carousel-content-gallery__media,
.carousel-content-gallery__body {
min-width: 0;
position: relative;
}
/* desktop */
@media (min-width: 782px) {
    .carousel-content-gallery__media {
    min-height: 66vh;
    }
}
.carousel-content-gallery__body {
padding-top: var(--page-gutter);
padding-bottom: var(--page-gutter);
}
.carousel-content-gallery__image {
display: block;
width: 100%;
height: auto;
border-radius: var(--carousel-content-gallery-image-radius);
object-position:
    calc(var(--focal-point-left, 0.5) * 100%)
    calc(var(--focal-point-top, 0.5) * 100%);
}
.carousel-content-gallery__heading,
.carousel-content-gallery__subheading {
margin-top: 0;
}
.carousel-content-gallery__content > :first-child {
margin-top: 0;
}
.carousel-content-gallery__content > :last-child {
margin-bottom: 0;
}

@media (min-width: 782px) {
    .carousel-content-gallery__slide-inner {
    flex-direction: row;
    align-items: stretch;
    }
    .carousel-content-gallery__media,
    .carousel-content-gallery__body {
    flex: 1 1 50%;
    }
    .carousel-content-gallery__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: calc( 2 * var(--page-gutter) );
    padding-bottom: calc( 2 * var(--page-gutter) );
    }
    .carousel-content-gallery__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position:
        calc(var(--focal-point-left, 0.5) * 100%)
        calc(var(--focal-point-top, 0.5) * 100%);
    }
}
.carousel-content-gallery__slide--no-image .carousel-content-gallery__slide-inner {
justify-content: center;
}
.carousel-content-gallery__slide--no-image .carousel-content-gallery__body {
max-width: 48rem;
margin-inline: auto;
}