.ws-pagebuilder-hero,
.ws-pagebuilder-hero > .pagebuilder-slider,
.ws-pagebuilder-hero .snap-track {
    height: 100%;
}

.ws-pagebuilder-hero > .pagebuilder-slider {
    position: absolute;
    inset: 0;
    width: 100%;
    padding: 0;
    overflow: hidden;
}

.ws-pagebuilder-hero > .pagebuilder-slider:not(.snap-slider) {
    display: block;
    padding: 0;
}

.ws-pagebuilder-hero > .pagebuilder-slider:not(.snap-slider) > [data-content-type="slide"] ~ [data-content-type="slide"] {
    display: none;
}

.ws-pagebuilder-hero .snap-track {
    position: absolute;
    inset: 0;
    display: flex;
    width: 100%;
    padding: 0;
    gap: 0;
}

.ws-pagebuilder-hero [data-content-type="slide"] {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
}

.ws-pagebuilder-hero [data-page-builder-slider-nav] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.ws-pagebuilder-hero [data-page-builder-slider-nav] button {
    pointer-events: auto;
}

.ws-pagebuilder-hero [data-page-builder-slider-nav] > button {
    position: absolute;
    top: 50%;
    z-index: 4;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(17, 17, 17, .12);
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #111;
    transform: translateY(-50%);
}

.ws-pagebuilder-hero [data-page-builder-slider-nav] > button:disabled {
    opacity: .9;
}

.ws-pagebuilder-hero [data-prev] { left: 20px; }
.ws-pagebuilder-hero [data-next] { right: 20px; }

.ws-pagebuilder-hero [data-pager] {
    position: absolute;
    z-index: 4;
    bottom: 12px;
    left: 50%;
    gap: 7px;
    min-height: 0;
    padding: 0;
    transform: translateX(-50%);
}

.ws-pagebuilder-hero [data-pager] button {
    width: 9px;
    height: 9px;
    border: 1px solid #fff;
    background-color: rgba(17, 17, 17, .42);
}

.ws-pagebuilder-hero [data-pager] button[aria-current="true"] {
    width: 23px;
    background-color: #ffd800;
}

.ws-pagebuilder-hero [data-page-builder-slider-nav] button:focus-visible {
    outline: 3px solid #111;
    outline-offset: 2px;
}

.ws-home-promos .ws-promo > .ws-promo-media,
.ws-home-promos .ws-promo > .ws-promo-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ws-home-promos .ws-promo-main > .ws-promo-media img { object-fit: contain; }
.ws-home-promos .ws-promo-side > .ws-promo-media img { object-position: 75% 50%; }

@media (max-width: 767px) {
    .ws-pagebuilder-hero [data-page-builder-slider-nav] > button {
        top: 53%;
        width: 32px;
        height: 32px;
    }

    .ws-pagebuilder-hero [data-prev] { left: 8px; }
    .ws-pagebuilder-hero [data-next] { right: 8px; }
}
