.bo-page-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: var(--bo-page-slider-radius, 0);
}

.bo-page-slider[data-radius="sm"] {
    --bo-page-slider-radius: var(--bo-radius-sm, 0.5rem);
}

.bo-page-slider[data-radius="md"] {
    --bo-page-slider-radius: var(--bo-radius-2xl, 1rem);
}

.bo-page-slider[data-radius="lg"] {
    --bo-page-slider-radius: var(--bo-radius-4xl, 1.5rem);
}

.bo-page-slider > .swiper-wrapper {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bo-page-slider .swiper-slide,
.bo-page-slider .top-background-img {
    width: 100%;
}

.bo-page-slider .top-background-img {
    min-height: var(--bo-page-slider-min-height, clamp(24rem, 42vw, 42rem));
    background-position: var(--bo-page-slider-background-position, center);
    background-size: cover;
}

.bo-page-slider__legacy-content,
.bo-page-slider__content-layout {
    min-height: inherit;
}

.bo-page-slider__legacy-content {
    display: grid;
    align-content: center;
    padding-block: var(--bo-page-slider-content-padding, 4rem);
}

.bo-page-slider__content-layout {
    display: flex;
    align-items: center;
}

.bo-page-slider__content-layout--left {
    justify-content: flex-start;
}

.bo-page-slider--navigation-active .bo-page-slider__content-layout--left,
.bo-page-slider__content-layout--navigation-safe {
    padding-inline-start: var(--bo-page-slider-navigation-safe-inset, 4.75rem);
}

.bo-page-slider__content-layout--center {
    justify-content: center;
}

.bo-page-slider__content-layout--right {
    justify-content: flex-end;
}

.bo-page-slider__content {
    width: min(100%, var(--bo-page-slider-content-width, 42rem));
    padding-block: var(--bo-page-slider-content-padding, 4rem);
    color: var(--bo-page-slider-content-color, inherit);
}

.bo-page-slider__content--left {
    text-align: left;
}

.bo-page-slider__content--center {
    text-align: center;
}

.bo-page-slider__content--right {
    text-align: right;
}

.bo-page-slider__eyebrow,
.bo-page-slider__heading,
.bo-page-slider__body {
    margin-top: 0;
    color: inherit;
}

.bo-page-slider__eyebrow {
    margin-bottom: 0.75rem;
}

.bo-page-slider__heading {
    margin-bottom: 1rem;
}

.bo-page-slider__body {
    margin-bottom: 1.5rem;
}

.bo-page-slider__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.bo-page-slider__content--center .bo-page-slider__actions {
    justify-content: center;
}

.bo-page-slider__content--right .bo-page-slider__actions {
    justify-content: flex-end;
}

.bo-page-slider .slides-navigation button {
    position: absolute;
    z-index: 10;
    top: 50%;
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 1px solid rgb(255 255 255 / 45%);
    border-radius: 50%;
    background: rgb(0 0 0 / 48%);
    color: #fff;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.bo-page-slider__navigation-icon {
    display: block;
    position: relative;
    inset-inline-start: 0;
    width: 1.25rem;
    height: 1.25rem;
    fill: none;
    transition: inset-inline-start 180ms ease;
}

.bo-page-slider .slides-navigation button:focus-visible {
    outline: 3px solid rgb(255 255 255 / 85%);
    outline-offset: 3px;
}

.bo-page-slider .slides-navigation .prev {
    left: 1rem;
}

.bo-page-slider .slides-navigation .next {
    right: 1rem;
}

@media (hover: hover) and (pointer: fine) {
    .bo-page-slider .slides-navigation button:hover {
        border-color: rgb(255 255 255 / 75%);
        background-color: rgb(0 0 0 / 68%);
        box-shadow: 0 0.5rem 1.25rem rgb(0 0 0 / 24%);
        transform: translateY(-50%) scale(1.06);
    }

    .bo-page-slider .slides-navigation .prev:hover .bo-page-slider__navigation-icon {
        inset-inline-start: -0.125rem;
    }

    .bo-page-slider .slides-navigation .next:hover .bo-page-slider__navigation-icon {
        inset-inline-start: 0.125rem;
    }
}

.bo-page-slider .slides-navigation button:active {
    transform: translateY(-50%) scale(0.96);
}

.bo-page-slider .swiper-pagination-bullet {
    background: var(--bo-page-slider-pagination-color, #fff);
    opacity: 0.55;
}

.bo-page-slider .swiper-pagination-bullet-active {
    opacity: 1;
}

@media (max-width: 767px) {
    .bo-page-slider .top-background-img {
        min-height: var(--bo-page-slider-min-height-mobile, clamp(22rem, 110vw, 32rem));
    }

    .bo-page-slider__legacy-content,
    .bo-page-slider__content {
        padding-block: var(--bo-page-slider-content-padding-mobile, 3rem);
    }

    .bo-page-slider .slides-navigation button {
        width: 2.5rem;
        height: 2.5rem;
    }

    .bo-page-slider--navigation-active .bo-page-slider__content-layout--left,
    .bo-page-slider__content-layout--navigation-safe {
        padding-inline-start: var(--bo-page-slider-navigation-safe-inset-mobile, 4.25rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .bo-page-slider .slides-navigation button,
    .bo-page-slider__navigation-icon {
        transition: none;
    }
}
