/*
 * SKU Banner Studio public renderer.
 *
 * The content model in this file is also loaded by the admin editor preview.
 * Device-specific variables live on each slide, so the generic responsive
 * variables must be resolved on that same slide (not on the parent banner).
 */
.sbs-banner {
    position: relative;
    display: block;
    width: 100%;
    max-width: var(--sbs-d-max-width, none);
    height: var(--sbs-d-height, 520px);
    margin-inline: auto;
    overflow: hidden;
    border-radius: var(--sbs-radius, 0);
    background: #111;
    isolation: isolate;
    box-sizing: border-box;
    container-type: inline-size;
}

.sbs-banner[hidden],
.sbs-banner [hidden] { display: none !important; }
.sbs-banner[data-d-height-mode="aspect"] { height: auto; aspect-ratio: var(--sbs-d-aspect, 16/9); }
.sbs-banner,
.sbs-banner * { box-sizing: border-box; }

.sbs-banner__viewport {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: inherit;
}

.sbs-banner__slide {
    --sbs-x: var(--sbs-d-x, 0%);
    --sbs-y: var(--sbs-d-y, 0%);
    --sbs-zoom: var(--sbs-d-zoom, 1);
    --sbs-content-width: var(--sbs-d-content-width, 50%);
    --sbs-content-x: var(--sbs-d-content-x, 0%);
    --sbs-content-y: var(--sbs-d-content-y, 0%);
    --sbs-content-scale: var(--sbs-d-content-scale, 1);
    --sbs-eyebrow-size: var(--sbs-d-eyebrow-size, 13px);
    --sbs-title-size: var(--sbs-d-title-size, 64px);
    --sbs-copy-size: var(--sbs-d-copy-size, 18px);
    --sbs-button-size: var(--sbs-d-button-size, 14px);
    --sbs-content-edge: 7%;
    --sbs-content-vertical-edge: 9%;
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: var(--sbs-background, #111);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--sbs-transition, 600ms) ease, transform var(--sbs-transition, 600ms) ease;
}

.sbs-banner__slide.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.sbs-banner[data-transition="slide"] .sbs-banner__slide { transform: translateX(5%); }
.sbs-banner[data-transition="slide"] .sbs-banner__slide.is-active { transform: translateX(0); }
.sbs-banner[data-transition="none"] .sbs-banner__slide { transition: none; }

.sbs-banner__image {
    position: absolute !important;
    z-index: 0;
    left: calc(50% + var(--sbs-x)) !important;
    top: calc(50% + var(--sbs-y)) !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: cover;
    object-position: center;
    transform: translate(-50%, -50%);
    transform-origin: center;
    user-select: none;
    pointer-events: none;
}

.sbs-banner__overlay {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: rgba(12, 9, 25, var(--sbs-overlay, .28));
    pointer-events: none;
}

.sbs-banner__slide::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    width: 50%;
    opacity: 0;
    pointer-events: none;
}

.sbs-banner__slide[data-composition="split-left"]::before,
.sbs-banner__slide[data-composition="split-right"]::before {
    opacity: 1;
    background: linear-gradient(135deg, rgba(19, 15, 35, .96), rgba(55, 39, 91, .91));
}

.sbs-banner__slide[data-composition="split-left"]::before { left: 0; }
.sbs-banner__slide[data-composition="split-right"]::before { right: 0; }

/* Canonical content geometry shared by frontend and admin preview. */
.sbs-banner__content {
    --sbs-content-translate-x: 0%;
    --sbs-content-translate-y: 0%;
    position: absolute;
    z-index: 3;
    display: block;
    width: var(--sbs-content-width);
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 0;
    color: var(--sbs-primary, #fff);
    text-align: left;
    transform: translate(var(--sbs-content-translate-x), var(--sbs-content-translate-y));
    pointer-events: auto;
}

.sbs-banner__content-inner {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    transform: translateY(var(--sbs-content-y)) scale(var(--sbs-content-scale));
    transform-origin: left center;
}

.sbs-banner__content[data-text-align="left"] { text-align: left; }
.sbs-banner__content[data-text-align="center"] { text-align: center; }
.sbs-banner__content[data-text-align="right"] { text-align: right; }
.sbs-banner__content[data-text-align="left"] .sbs-banner__content-inner { align-items: flex-start; transform-origin: left center; }
.sbs-banner__content[data-text-align="center"] .sbs-banner__content-inner { align-items: center; transform-origin: center center; }
.sbs-banner__content[data-text-align="right"] .sbs-banner__content-inner { align-items: flex-end; transform-origin: right center; }

.sbs-banner__slide[data-d-h="left"] .sbs-banner__content {
    left: calc(var(--sbs-content-edge) + var(--sbs-content-x));
    right: auto;
}
.sbs-banner__slide[data-d-h="center"] .sbs-banner__content {
    --sbs-content-translate-x: -50%;
    left: calc(50% + var(--sbs-content-x));
    right: auto;
}
.sbs-banner__slide[data-d-h="right"] .sbs-banner__content {
    left: auto;
    right: calc(var(--sbs-content-edge) - var(--sbs-content-x));
}

.sbs-banner__slide[data-d-v="top"] .sbs-banner__content { top: var(--sbs-content-vertical-edge); bottom: auto; }
.sbs-banner__slide[data-d-v="center"] .sbs-banner__content { --sbs-content-translate-y: -50%; top: 50%; bottom: auto; }
.sbs-banner__slide[data-d-v="bottom"] .sbs-banner__content { top: auto; bottom: var(--sbs-content-vertical-edge); }

/* Theme-proof typography. The title tag changes semantics only. */
.sbs-banner .sbs-banner__eyebrow,
.sbs-banner .sbs-banner__title,
.sbs-banner .sbs-banner__description,
.sbs-banner .sbs-banner__button {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.sbs-banner .sbs-banner__eyebrow {
    display: block;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--sbs-secondary, #e5e7eb) !important;
    font-family: var(--sbs-eyebrow-font, inherit) !important;
    font-size: var(--sbs-eyebrow-size) !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .18em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: normal;
    text-wrap: wrap !important;
    hyphens: none !important;
}

.sbs-banner .sbs-banner__title {
    display: block;
    margin: 0 0 13px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--sbs-primary, #fff) !important;
    font-family: var(--sbs-title-font, inherit) !important;
    font-size: var(--sbs-title-size) !important;
    font-style: normal !important;
    font-weight: 750 !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: pre-line;
    text-wrap: wrap !important;
    hyphens: none !important;
    text-indent: 0 !important;
    text-shadow: none !important;
}

.sbs-banner .sbs-banner__description {
    display: block;
    margin: 0 0 22px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--sbs-secondary, #e5e7eb) !important;
    font-family: var(--sbs-description-font, inherit) !important;
    font-size: var(--sbs-copy-size) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    letter-spacing: normal !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: normal;
    text-wrap: wrap !important;
    hyphens: none !important;
    text-indent: 0 !important;
    text-shadow: none !important;
}

.sbs-banner .sbs-banner__button {
    position: relative !important;
    z-index: 5 !important;
    display: inline-flex !important;
    box-sizing: border-box !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 19px !important;
    align-items: center !important;
    justify-content: center !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 2px solid transparent !important;
    border-radius: 11px !important;
    background: var(--sbs-accent, #7c5cff) !important;
    background-image: none !important;
    color: #fff !important;
    font-family: var(--sbs-button-font, inherit) !important;
    font-size: var(--sbs-button-size) !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-shadow: none !important;
    text-transform: none !important;
    white-space: normal !important;
    vertical-align: middle !important;
    float: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18) !important;
    cursor: pointer !important;
}

.sbs-banner .sbs-banner__button--filled,
.sbs-banner .sbs-banner__button--filled:hover,
.sbs-banner .sbs-banner__button--filled:focus,
.sbs-banner .sbs-banner__button--filled:active,
.sbs-banner .sbs-banner__button--filled:visited {
    border-color: transparent !important;
    background: var(--sbs-accent, #7c5cff) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18) !important;
}

.sbs-banner .sbs-banner__button--outline,
.sbs-banner .sbs-banner__button--outline:hover,
.sbs-banner .sbs-banner__button--outline:focus,
.sbs-banner .sbs-banner__button--outline:active,
.sbs-banner .sbs-banner__button--outline:visited {
    border-color: currentColor !important;
    background: transparent !important;
    color: var(--sbs-primary, #fff) !important;
    box-shadow: none !important;
}

.sbs-banner .sbs-banner__button--soft,
.sbs-banner .sbs-banner__button--soft:hover,
.sbs-banner .sbs-banner__button--soft:focus,
.sbs-banner .sbs-banner__button--soft:active,
.sbs-banner .sbs-banner__button--soft:visited {
    border-color: transparent !important;
    background: color-mix(in srgb, var(--sbs-accent, #7c5cff) 24%, transparent) !important;
    color: var(--sbs-primary, #fff) !important;
    box-shadow: none !important;
}

.sbs-banner .sbs-banner__button:focus-visible {
    outline: 3px solid var(--sbs-accent, #7c5cff) !important;
    outline-offset: 3px !important;
}

.sbs-banner__whole-link { position: absolute; z-index: 5; inset: 0; text-decoration: none; }
.sbs-banner__slide.has-whole-link .sbs-banner__content { pointer-events: none; }

.sbs-banner__slide[data-composition="promo-code"] .sbs-banner__content {
    max-height: calc(100% - 32px);
    padding: 24px;
    border-radius: 18px;
    background: rgba(22, 16, 40, .54);
    backdrop-filter: blur(8px);
}
.sbs-banner__slide[data-composition="promo-code"] .sbs-banner__title {
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

/* Navigation. */
.sbs-banner__dots { position: absolute; z-index: 8; left: 50%; bottom: 14px; display: flex; gap: 6px; align-items: center; transform: translateX(-50%); }
.sbs-banner__dot { position: relative; display: block; width: 24px; height: 24px; min-width: 24px; min-height: 24px; margin: 0; padding: 0; border: 0; border-radius: 999px; background: transparent; box-shadow: none; cursor: pointer; transition: width .18s ease; }
.sbs-banner__dot::before { content: ""; position: absolute; top: 50%; left: 50%; width: 7px; height: 7px; border-radius: 999px; background: rgba(255,255,255,.58); transform: translate(-50%,-50%); transition: width .18s ease, background .18s ease; }
.sbs-banner__dot.is-active { width: 38px; background: transparent; }
.sbs-banner__dot.is-active::before { width: 22px; background: #fff; }
.sbs-banner__dot:focus-visible { outline: 3px solid var(--sbs-accent,#7c5cff); outline-offset: 1px; }
.sbs-banner__dot[hidden] { display: none; }
.sbs-banner__arrow { position: absolute; z-index: 8; top: 50%; display: grid; width: 40px; height: 40px; min-width: 0; min-height: 0; margin: -20px 0 0; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.36); border-radius: 999px; background: rgba(15,12,27,.46); color: #fff; font-family: inherit; font-size: 24px; line-height: 1; box-shadow: none; cursor: pointer; backdrop-filter: blur(7px); }
.sbs-banner__arrow--previous { left: 14px; }
.sbs-banner__arrow--next { right: 14px; }
.sbs-banner__arrow[hidden] { display: none; }
.sbs-banner:focus-visible { outline: 3px solid var(--sbs-accent,#7c5cff); outline-offset: 3px; }

/* Tablet variables and positioning. */
@media (max-width: 1024px) {
    .sbs-banner { max-width: var(--sbs-t-max-width, none); height: var(--sbs-t-height, 470px); }
    .sbs-banner[data-t-height-mode="aspect"] { height: auto; aspect-ratio: var(--sbs-t-aspect, 4/3); }
    .sbs-banner[data-t-height-mode="fixed"] { height: var(--sbs-t-height, 470px); aspect-ratio: auto; }
    .sbs-banner__slide {
        --sbs-x: var(--sbs-t-x, 0%);
        --sbs-y: var(--sbs-t-y, 0%);
        --sbs-zoom: var(--sbs-t-zoom, 1);
        --sbs-content-width: var(--sbs-t-content-width, 50%);
        --sbs-content-x: var(--sbs-t-content-x, 0%);
        --sbs-content-y: var(--sbs-t-content-y, 0%);
        --sbs-content-scale: var(--sbs-t-content-scale, 1);
        --sbs-eyebrow-size: var(--sbs-t-eyebrow-size, 11px);
        --sbs-title-size: var(--sbs-t-title-size, 40px);
        --sbs-copy-size: var(--sbs-t-copy-size, 14px);
        --sbs-button-size: var(--sbs-t-button-size, 14px);
    }
    .sbs-banner__slide[data-t-h="left"] .sbs-banner__content { left: calc(var(--sbs-content-edge) + var(--sbs-content-x)); right: auto; }
    .sbs-banner__slide[data-t-h="center"] .sbs-banner__content { --sbs-content-translate-x: -50%; left: calc(50% + var(--sbs-content-x)); right: auto; }
    .sbs-banner__slide[data-t-h="right"] .sbs-banner__content { left: auto; right: calc(var(--sbs-content-edge) - var(--sbs-content-x)); }
    .sbs-banner__slide[data-t-v="top"] .sbs-banner__content { top: var(--sbs-content-vertical-edge); bottom: auto; }
    .sbs-banner__slide[data-t-v="center"] .sbs-banner__content { --sbs-content-translate-y: -50%; top: 50%; bottom: auto; }
    .sbs-banner__slide[data-t-v="bottom"] .sbs-banner__content { top: auto; bottom: var(--sbs-content-vertical-edge); }
}

/* Mobile variables and positioning. */
@media (max-width: 767px) {
    .sbs-banner { max-width: var(--sbs-m-max-width, none); height: var(--sbs-m-height, 620px); }
    .sbs-banner[data-m-height-mode="aspect"] { height: auto; aspect-ratio: var(--sbs-m-aspect, 4/5); }
    .sbs-banner[data-m-height-mode="fixed"] { height: var(--sbs-m-height, 620px); aspect-ratio: auto; }
    .sbs-banner__slide {
        --sbs-x: var(--sbs-m-x, 0%);
        --sbs-y: var(--sbs-m-y, 0%);
        --sbs-zoom: var(--sbs-m-zoom, 1);
        --sbs-content-width: var(--sbs-m-content-width, 82%);
        --sbs-content-x: var(--sbs-m-content-x, 0%);
        --sbs-content-y: var(--sbs-m-content-y, 0%);
        --sbs-content-scale: var(--sbs-m-content-scale, 1);
        --sbs-eyebrow-size: var(--sbs-m-eyebrow-size, 10px);
        --sbs-title-size: var(--sbs-m-title-size, 38px);
        --sbs-copy-size: var(--sbs-m-copy-size, 14px);
        --sbs-button-size: var(--sbs-m-button-size, 13px);
        --sbs-content-edge: 9%;
    }
    .sbs-banner__slide[data-m-h="left"] .sbs-banner__content { left: calc(var(--sbs-content-edge) + var(--sbs-content-x)); right: auto; }
    .sbs-banner__slide[data-m-h="center"] .sbs-banner__content { --sbs-content-translate-x: -50%; left: calc(50% + var(--sbs-content-x)); right: auto; }
    .sbs-banner__slide[data-m-h="right"] .sbs-banner__content { left: auto; right: calc(var(--sbs-content-edge) - var(--sbs-content-x)); }
    .sbs-banner__slide[data-m-v="top"] .sbs-banner__content { top: var(--sbs-content-vertical-edge); bottom: auto; }
    .sbs-banner__slide[data-m-v="center"] .sbs-banner__content { --sbs-content-translate-y: -50%; top: 50%; bottom: auto; }
    .sbs-banner__slide[data-m-v="bottom"] .sbs-banner__content { top: auto; bottom: var(--sbs-content-vertical-edge); }
    .sbs-banner__slide[data-composition="split-left"]::before,
    .sbs-banner__slide[data-composition="split-right"]::before { width: 100%; opacity: .45; }
    .sbs-banner__arrow { width: 34px; height: 34px; margin-top: -17px; font-size: 21px; }
    .sbs-banner__arrow--previous { left: 8px; }
    .sbs-banner__arrow--next { right: 8px; }
}

/* Protected/admin preview can force a device independently of browser width. */
.sbs-banner[data-sbs-force-device="desktop"] { max-width: var(--sbs-d-max-width, none); height: var(--sbs-d-height, 520px); }
.sbs-banner[data-sbs-force-device="desktop"][data-d-height-mode="aspect"] { height: auto; aspect-ratio: var(--sbs-d-aspect, 16/9); }
.sbs-banner[data-sbs-force-device="desktop"][data-d-height-mode="fixed"] { height: var(--sbs-d-height, 520px); aspect-ratio: auto; }
.sbs-banner[data-sbs-force-device="desktop"] .sbs-banner__slide {
    --sbs-x: var(--sbs-d-x, 0%);
    --sbs-y: var(--sbs-d-y, 0%);
    --sbs-zoom: var(--sbs-d-zoom, 1);
    --sbs-content-width: var(--sbs-d-content-width, 50%);
    --sbs-content-x: var(--sbs-d-content-x, 0%);
    --sbs-content-y: var(--sbs-d-content-y, 0%);
    --sbs-content-scale: var(--sbs-d-content-scale, 1);
    --sbs-eyebrow-size: var(--sbs-d-eyebrow-size, 13px);
    --sbs-title-size: var(--sbs-d-title-size, 64px);
    --sbs-copy-size: var(--sbs-d-copy-size, 18px);
    --sbs-button-size: var(--sbs-d-button-size, 14px);
    --sbs-content-edge: 7%;
}

.sbs-banner[data-sbs-force-device="tablet"] { max-width: var(--sbs-t-max-width, none); height: var(--sbs-t-height, 470px); }
.sbs-banner[data-sbs-force-device="tablet"][data-t-height-mode="aspect"] { height: auto; aspect-ratio: var(--sbs-t-aspect, 4/3); }
.sbs-banner[data-sbs-force-device="tablet"][data-t-height-mode="fixed"] { height: var(--sbs-t-height, 470px); aspect-ratio: auto; }
.sbs-banner[data-sbs-force-device="tablet"] .sbs-banner__slide {
    --sbs-x: var(--sbs-t-x, 0%);
    --sbs-y: var(--sbs-t-y, 0%);
    --sbs-zoom: var(--sbs-t-zoom, 1);
    --sbs-content-width: var(--sbs-t-content-width, 50%);
    --sbs-content-x: var(--sbs-t-content-x, 0%);
    --sbs-content-y: var(--sbs-t-content-y, 0%);
    --sbs-content-scale: var(--sbs-t-content-scale, 1);
    --sbs-eyebrow-size: var(--sbs-t-eyebrow-size, 11px);
    --sbs-title-size: var(--sbs-t-title-size, 40px);
    --sbs-copy-size: var(--sbs-t-copy-size, 14px);
    --sbs-button-size: var(--sbs-t-button-size, 14px);
    --sbs-content-edge: 7%;
}

.sbs-banner[data-sbs-force-device="mobile"] { max-width: var(--sbs-m-max-width, none); height: var(--sbs-m-height, 620px); }
.sbs-banner[data-sbs-force-device="mobile"][data-m-height-mode="aspect"] { height: auto; aspect-ratio: var(--sbs-m-aspect, 4/5); }
.sbs-banner[data-sbs-force-device="mobile"][data-m-height-mode="fixed"] { height: var(--sbs-m-height, 620px); aspect-ratio: auto; }
.sbs-banner[data-sbs-force-device="mobile"] .sbs-banner__slide {
    --sbs-x: var(--sbs-m-x, 0%);
    --sbs-y: var(--sbs-m-y, 0%);
    --sbs-zoom: var(--sbs-m-zoom, 1);
    --sbs-content-width: var(--sbs-m-content-width, 82%);
    --sbs-content-x: var(--sbs-m-content-x, 0%);
    --sbs-content-y: var(--sbs-m-content-y, 0%);
    --sbs-content-scale: var(--sbs-m-content-scale, 1);
    --sbs-eyebrow-size: var(--sbs-m-eyebrow-size, 10px);
    --sbs-title-size: var(--sbs-m-title-size, 38px);
    --sbs-copy-size: var(--sbs-m-copy-size, 14px);
    --sbs-button-size: var(--sbs-m-button-size, 13px);
    --sbs-content-edge: 9%;
}

.sbs-banner[data-sbs-force-device="desktop"] .sbs-banner__slide[data-d-h="left"] .sbs-banner__content,
.sbs-banner[data-sbs-force-device="tablet"] .sbs-banner__slide[data-t-h="left"] .sbs-banner__content,
.sbs-banner[data-sbs-force-device="mobile"] .sbs-banner__slide[data-m-h="left"] .sbs-banner__content { left: calc(var(--sbs-content-edge) + var(--sbs-content-x)); right: auto; }

.sbs-banner[data-sbs-force-device="desktop"] .sbs-banner__slide[data-d-h="center"] .sbs-banner__content,
.sbs-banner[data-sbs-force-device="tablet"] .sbs-banner__slide[data-t-h="center"] .sbs-banner__content,
.sbs-banner[data-sbs-force-device="mobile"] .sbs-banner__slide[data-m-h="center"] .sbs-banner__content { --sbs-content-translate-x: -50%; left: calc(50% + var(--sbs-content-x)); right: auto; }

.sbs-banner[data-sbs-force-device="desktop"] .sbs-banner__slide[data-d-h="right"] .sbs-banner__content,
.sbs-banner[data-sbs-force-device="tablet"] .sbs-banner__slide[data-t-h="right"] .sbs-banner__content,
.sbs-banner[data-sbs-force-device="mobile"] .sbs-banner__slide[data-m-h="right"] .sbs-banner__content { left: auto; right: calc(var(--sbs-content-edge) - var(--sbs-content-x)); }


.sbs-banner[data-sbs-force-device="desktop"] .sbs-banner__slide[data-d-v="top"] .sbs-banner__content,
.sbs-banner[data-sbs-force-device="tablet"] .sbs-banner__slide[data-t-v="top"] .sbs-banner__content,
.sbs-banner[data-sbs-force-device="mobile"] .sbs-banner__slide[data-m-v="top"] .sbs-banner__content { top: var(--sbs-content-vertical-edge); bottom: auto; }

.sbs-banner[data-sbs-force-device="desktop"] .sbs-banner__slide[data-d-v="center"] .sbs-banner__content,
.sbs-banner[data-sbs-force-device="tablet"] .sbs-banner__slide[data-t-v="center"] .sbs-banner__content,
.sbs-banner[data-sbs-force-device="mobile"] .sbs-banner__slide[data-m-v="center"] .sbs-banner__content { --sbs-content-translate-y: -50%; top: 50%; bottom: auto; }

.sbs-banner[data-sbs-force-device="desktop"] .sbs-banner__slide[data-d-v="bottom"] .sbs-banner__content,
.sbs-banner[data-sbs-force-device="tablet"] .sbs-banner__slide[data-t-v="bottom"] .sbs-banner__content,
.sbs-banner[data-sbs-force-device="mobile"] .sbs-banner__slide[data-m-v="bottom"] .sbs-banner__content { top: auto; bottom: var(--sbs-content-vertical-edge); }

/* Per-device content visibility. */
@media (min-width: 1025px) {
    .sbs-banner__slide[data-d-hide-eyebrow="1"] .sbs-banner__eyebrow,
    .sbs-banner__slide[data-d-hide-title="1"] .sbs-banner__title,
    .sbs-banner__slide[data-d-hide-description="1"] .sbs-banner__description,
    .sbs-banner__slide[data-d-hide-button="1"] .sbs-banner__button { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .sbs-banner__slide[data-t-hide-eyebrow="1"] .sbs-banner__eyebrow,
    .sbs-banner__slide[data-t-hide-title="1"] .sbs-banner__title,
    .sbs-banner__slide[data-t-hide-description="1"] .sbs-banner__description,
    .sbs-banner__slide[data-t-hide-button="1"] .sbs-banner__button { display: none !important; }
}
@media (max-width: 767px) {
    .sbs-banner__slide[data-m-hide-eyebrow="1"] .sbs-banner__eyebrow,
    .sbs-banner__slide[data-m-hide-title="1"] .sbs-banner__title,
    .sbs-banner__slide[data-m-hide-description="1"] .sbs-banner__description,
    .sbs-banner__slide[data-m-hide-button="1"] .sbs-banner__button { display: none !important; }
}

.sbs-banner[data-sbs-force-device="desktop"] .sbs-banner__slide[data-d-hide-eyebrow="1"] .sbs-banner__eyebrow,
.sbs-banner[data-sbs-force-device="desktop"] .sbs-banner__slide[data-d-hide-title="1"] .sbs-banner__title,
.sbs-banner[data-sbs-force-device="desktop"] .sbs-banner__slide[data-d-hide-description="1"] .sbs-banner__description,
.sbs-banner[data-sbs-force-device="desktop"] .sbs-banner__slide[data-d-hide-button="1"] .sbs-banner__button,
.sbs-banner[data-sbs-force-device="tablet"] .sbs-banner__slide[data-t-hide-eyebrow="1"] .sbs-banner__eyebrow,
.sbs-banner[data-sbs-force-device="tablet"] .sbs-banner__slide[data-t-hide-title="1"] .sbs-banner__title,
.sbs-banner[data-sbs-force-device="tablet"] .sbs-banner__slide[data-t-hide-description="1"] .sbs-banner__description,
.sbs-banner[data-sbs-force-device="tablet"] .sbs-banner__slide[data-t-hide-button="1"] .sbs-banner__button,
.sbs-banner[data-sbs-force-device="mobile"] .sbs-banner__slide[data-m-hide-eyebrow="1"] .sbs-banner__eyebrow,
.sbs-banner[data-sbs-force-device="mobile"] .sbs-banner__slide[data-m-hide-title="1"] .sbs-banner__title,
.sbs-banner[data-sbs-force-device="mobile"] .sbs-banner__slide[data-m-hide-description="1"] .sbs-banner__description,
.sbs-banner[data-sbs-force-device="mobile"] .sbs-banner__slide[data-m-hide-button="1"] .sbs-banner__button { display: none !important; }

/* Public autoplay control. */
.sbs-banner__playback-toggle { position: absolute; z-index: 9; right: 12px; bottom: 12px; display: grid; width: 44px; height: 44px; min-width: 44px; min-height: 44px; margin: 0; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; background: rgba(15,12,27,.64); color: #fff; font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 16px; font-weight: 800; line-height: 1; box-shadow: none; cursor: pointer; backdrop-filter: blur(8px); -webkit-tap-highlight-color: transparent; }
.sbs-banner__playback-toggle:hover { background: rgba(15,12,27,.82); }
.sbs-banner__playback-toggle:focus-visible { outline: 3px solid var(--sbs-accent,#7c5cff); outline-offset: 3px; }
.sbs-banner__playback-toggle[hidden] { display: none !important; }
.sbs-banner__playback-toggle span { display: block; transform: translateY(-.02em); }
@media (max-width: 767px) { .sbs-banner__playback-toggle { right: 8px; bottom: 8px; } }

/* Touch navigation without blocking vertical scrolling. */
.sbs-banner[data-swipe="1"] .sbs-banner__viewport { touch-action: pan-y pinch-zoom; overscroll-behavior-x: contain; -webkit-user-select: none; user-select: none; }
.sbs-banner[data-swipe="1"].is-swiping { cursor: grabbing; }

@media (prefers-reduced-motion: reduce) {
    .sbs-banner__slide,
    .sbs-banner__dot { transition: none !important; }
    .sbs-banner__image { will-change: auto; }
}
