.slider-block {
    --slider-block-button-edge-offset: -1.5rem;
    --slider-block-button-size: 3rem;
    --slider-block-pagination-space: calc(clamp(2.25rem, 3vw, 3.25rem) + 0.5rem);
    --slider-block-side-padding: clamp(1rem, 6.5vw, 5rem);
    overflow-x: clip;
    position: relative;
}

.slider-block__inner {
    min-height: 1px;
}

.slider-block__intro {
    box-sizing: border-box;
    inline-size: 100vw;
    margin-inline: calc(50% - 50vw);
    padding-inline: var(--slider-block-side-padding);
    text-align: center;
}

.slider-block .slider-block__intro > * {
    margin-inline: auto;
    max-width: 46rem;
}

.slider-block__heading {
    margin: 0;
}

.slider-block--layout-single-image[class*="block-section-space-top-"] {
    padding-top: 0;
}

.slider-block--layout-single-image[class*="block-section-space-bottom-"] {
    padding-bottom: 0;
}

.slider-block__viewport {
    box-sizing: border-box;
    inline-size: 100vw;
    margin-inline: calc(50% - 50vw);
    max-inline-size: 100vw;
    padding-inline: 0;
}

.slider-block--layout-multiple-images .slider-block__viewport {
    inline-size: 100%;
    margin-inline: 0;
    max-inline-size: none;
}

.slider-block--layout-single-image .slider-block__viewport {
    padding-inline: 0;
}

.slider-block__carousel {
    position: relative;
}

.slider-block__controls {
    display: contents;
}

.slider-block--layout-multiple-images .slider-block__carousel {
    box-sizing: border-box;
    gap: 0;
    overflow: visible;
    padding-inline: 0;
}

.slider-block__carousel:not([data-base-theme-swiper-ready="1"]) .slider-block__wrapper {
    display: flex;
    overflow: hidden;
}

.slider-block--layout-multiple-images .slider-block__carousel:not([data-base-theme-swiper-ready="1"]) .slider-block__wrapper {
    gap: var(--block-column-gap);
}

.slider-block--layout-multiple-images .slider-block__carousel:not([data-base-theme-swiper-ready="1"]) .slider-block__slide {
    flex: 0 0 100%;
}

.slider-block--layout-single-image .slider-block__carousel:not([data-base-theme-swiper-ready="1"]) .slider-block__wrapper {
    gap: 0;
}

.slider-block--layout-single-image .slider-block__carousel:not([data-base-theme-swiper-ready="1"]) .slider-block__slide {
    flex-basis: 100%;
}

.slider-block__figure {
    aspect-ratio: 1 / 1;
    background: #f1f0ed;
    border-radius: 0.375rem;
    display: block;
    margin: 0;
    overflow: hidden;
}

.slider-block--layout-single-image .slider-block__figure {
    aspect-ratio: 1440 / 900;
    border-radius: 0;
}

.slider-block__image {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.slider-block--layout-multiple-images .slider-block__image {
    aspect-ratio: 1 / 1;
    height: auto;
}

.slider-block__arrows {
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 2;
}

.slider-block__button {
    appearance: none;
    background-color: #fff;
    border: 0;
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
    color: #000;
    cursor: pointer;
    display: block;
    height: var(--slider-block-button-size);
    padding: 0;
    pointer-events: auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: background-color 180ms ease-in-out;
    width: var(--slider-block-button-size);
    z-index: 2;
}

.slider-block__button--pink {
    background-color: #fbcdc6;
}

.slider-block__button-icon {
    display: block;
    fill: currentColor;
    height: 100%;
    width: 100%;
}

.slider-block__button:not(.swiper-button-disabled):hover,
.slider-block__button:not(.swiper-button-disabled):focus-visible {
    background-color: #fbcdc6;
}

.slider-block__button--pink:not(.swiper-button-disabled):hover,
.slider-block__button--pink:not(.swiper-button-disabled):focus-visible {
    background-color: #fff;
}

.slider-block__button:focus-visible {
    outline: 2px solid #000;
    outline-offset: 0.25rem;
}

.slider-block__button.swiper-button-disabled {
    cursor: default;
    opacity: 0.45;
}

.slider-block__button--prev {
    left: calc(var(--slider-block-side-padding) + var(--slider-block-button-edge-offset));
}

.slider-block__button--next {
    right: calc(var(--slider-block-side-padding) + var(--slider-block-button-edge-offset));
}

.slider-block--layout-multiple-images .slider-block__button {
    top: calc((100% - var(--slider-block-pagination-space)) / 2);
}

.slider-block--layout-multiple-images .slider-block__button--prev {
    left: var(--slider-block-button-edge-offset);
}

.slider-block--layout-multiple-images .slider-block__button--next {
    right: var(--slider-block-button-edge-offset);
}

.slider-block--layout-single-image .slider-block__button--prev {
    left: clamp(1rem, 3vw, 2rem);
}

.slider-block--layout-single-image .slider-block__button--next {
    right: clamp(1rem, 3vw, 2rem);
}

.slider-block__pagination.swiper-pagination {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    inline-size: 100%;
    margin-block-start: clamp(2.25rem, 3vw, 3.25rem);
    margin-inline-start: 0;
    position: static;
}

.slider-block__pagination .swiper-pagination-bullet {
    appearance: none;
    background: rgba(0, 0, 0, 0.2);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    flex: 0 0 auto;
    height: 0.5rem;
    margin: 0 !important;
    opacity: 1;
    padding: 0;
    width: 0.5rem;
}

.slider-block__pagination .swiper-pagination-bullet-active {
    background: #111;
}

.slider-block__pagination .swiper-pagination-bullet:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 0.25rem;
}

.slider-block--layout-multiple-images.slider-block--style-left-align-text .slider-block__intro {
    inline-size: 100%;
    margin-inline: 0;
    max-width: 48rem;
    padding-inline: 0;
    text-align: left;
}

.slider-block--layout-multiple-images.slider-block--style-left-align-text .slider-block__intro > * {
    margin-inline: 0;
}

.slider-block--layout-multiple-images.slider-block--style-left-align-text .slider-block__controls {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-top: clamp(2.5rem, 5vw, 4rem);
}

.slider-block--layout-multiple-images.slider-block--style-left-align-text .slider-block__arrows {
    display: flex;
    gap: 0.75rem;
    inset: auto;
    order: 2;
    pointer-events: auto;
    position: static;
}

.slider-block--layout-multiple-images.slider-block--style-left-align-text .slider-block__button {
    inset: auto;
    position: static;
    transform: none;
}

.slider-block--layout-multiple-images.slider-block--style-left-align-text .slider-block__pagination.swiper-pagination {
    inline-size: auto;
    justify-content: flex-start;
    margin: 0;
    order: 1;
}

@media (max-width: 640px) {
    .slider-block {
        --slider-block-button-edge-offset: -1.25rem;
        --slider-block-button-size: 2.5rem;
        --slider-block-side-padding: 1rem;
    }
}

@media (min-width: 768px) {
    .slider-block--layout-multiple-images .slider-block__carousel:not([data-base-theme-swiper-ready="1"]) .slider-block__slide {
        flex-basis: calc((100% - var(--block-column-gap)) / 2);
    }
}

@media (min-width: 1024px) {
    .slider-block--layout-multiple-images .slider-block__carousel:not([data-base-theme-swiper-ready="1"]) .slider-block__slide {
        flex-basis: calc((100% - (2 * var(--block-column-gap))) / 3);
    }
}

@media (prefers-reduced-motion: reduce) {
    .slider-block__button {
        transition: none;
    }
}
