/* Schemes change the rendered banner, not only its fallback background. */
.zlbanners-v2 .zl-scheme-dark_cyan {
    --zl-scheme-bg: linear-gradient(135deg, #18272c 0%, #20383e 58%, #176879 100%);
    --zl-button-bg: #12a8bd;
    --zl-button-border: #12a8bd;
    --zl-secondary-border: rgba(129, 227, 239, .58);
    --zl-full-image-overlay: linear-gradient(90deg, rgba(13, 48, 56, .98) 0%, rgba(13, 48, 56, .9) 42%, rgba(13, 48, 56, .48) 66%, rgba(13, 48, 56, .08) 100%);
    background: var(--zl-scheme-bg);
}
.zlbanners-v2 .zl-scheme-light_cyan {
    --zl-scheme-bg: linear-gradient(135deg, #f5feff 0%, #daf7fb 62%, #bcebf2 100%);
    --zl-button-bg: #0796aa;
    --zl-button-border: #0796aa;
    --zl-secondary-border: rgba(7, 150, 170, .42);
    --zl-full-image-overlay: linear-gradient(90deg, rgba(245, 254, 255, .98) 0%, rgba(236, 252, 254, .9) 42%, rgba(199, 241, 247, .48) 66%, rgba(199, 241, 247, .08) 100%);
    background: var(--zl-scheme-bg);
}
.zlbanners-v2 .zl-scheme-light_pink {
    --zl-scheme-bg: linear-gradient(135deg, #fff8fb 0%, #ffe3ef 62%, #ffc9df 100%);
    --zl-button-bg: #d83f82;
    --zl-button-border: #d83f82;
    --zl-secondary-border: rgba(216, 63, 130, .4);
    --zl-full-image-overlay: linear-gradient(90deg, rgba(255, 248, 251, .98) 0%, rgba(255, 235, 244, .9) 42%, rgba(255, 211, 230, .48) 66%, rgba(255, 211, 230, .08) 100%);
    background: var(--zl-scheme-bg);
}
.zlbanners-v2 .zl-scheme-image_dark {
    --zl-scheme-bg: linear-gradient(135deg, #20242c 0%, #343944 100%);
    --zl-button-bg: #ea3f8c;
    --zl-button-border: #ea3f8c;
    --zl-secondary-border: rgba(255, 255, 255, .38);
    --zl-full-image-overlay: linear-gradient(90deg, rgba(16, 18, 24, .97) 0%, rgba(16, 18, 24, .88) 42%, rgba(16, 18, 24, .43) 66%, rgba(16, 18, 24, .06) 100%);
    background: var(--zl-scheme-bg);
}
.zlbanners-v2__slide .zlbanners-v2__button {
    background: var(--zl-button-bg);
    border-color: var(--zl-button-border);
}
.zlbanners-v2__slide .zlbanners-v2__button.is-secondary {
    background: transparent;
    border-color: var(--zl-secondary-border);
    color: var(--zl-title-color) !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.zlbanners-v2__slide .zlbanners-v2__button.is-secondary:hover,
.zlbanners-v2__slide .zlbanners-v2__button.is-secondary:focus-visible {
    background: var(--zl-button-bg);
    border-color: var(--zl-button-border);
    color: #fff !important;
}
.zlbanners-v2__side-card.zl-scheme-dark_cyan .zlbanners-v2__side-overlay {
    background: linear-gradient(90deg, rgba(13, 48, 56, .96), rgba(10, 111, 127, .58) 78%, rgba(10, 111, 127, .22));
}
.zlbanners-v2__side-card.zl-scheme-light_cyan .zlbanners-v2__side-overlay {
    background: linear-gradient(90deg, rgba(236, 252, 254, .97), rgba(199, 241, 247, .78) 74%, rgba(199, 241, 247, .28));
}
.zlbanners-v2__side-card.zl-scheme-light_pink .zlbanners-v2__side-overlay {
    background: linear-gradient(90deg, rgba(255, 244, 249, .97), rgba(255, 211, 230, .8) 74%, rgba(255, 211, 230, .3));
}
.zlbanners-v2__side-card.zl-scheme-image_dark .zlbanners-v2__side-overlay {
    background: linear-gradient(90deg, rgba(16, 18, 24, .94), rgba(16, 18, 24, .3) 76%);
}
.zlbanners-v2__slide.zl-scheme-image_dark .zlbanners-v2__art::after,
.zlbanners-v2__slide.zl-scheme-dark_cyan .zlbanners-v2__art::after {
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.zlbanners-v2__slide.zl-scheme-image_dark .zlbanners-v2__art::after {
    background: linear-gradient(90deg, rgba(32, 36, 44, .35), transparent 36%);
}
.zlbanners-v2__slide.zl-scheme-dark_cyan .zlbanners-v2__art::after {
    background: linear-gradient(90deg, rgba(23, 104, 121, .28), transparent 45%);
}
.zlbanners-v2__slide.zl-image-full {
    display: block;
}
.zlbanners-v2__slide.zl-image-full .zlbanners-v2__art {
    inset: 0;
    position: absolute;
}
.zlbanners-v2__slide.zl-image-full .zlbanners-v2__art::after {
    background: var(--zl-full-image-overlay);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.zlbanners-v2__slide.zl-image-full .zlbanners-v2__copy {
    height: 100%;
    max-width: 62%;
    width: 62%;
}
.zlbanners-v2__side-card.zl-no-image-gradient .zlbanners-v2__side-overlay,
.zlbanners-v2__slide.zl-no-image-gradient .zlbanners-v2__art::after {
    display: none;
}
.zlbanners-v2__badge {
    z-index: 2;
}
.zlbanners-v2__slide-link {
    cursor: pointer;
    inset: 0;
    position: absolute;
    z-index: 3;
}
.zlbanners-v2__slide-link:focus-visible {
    border-radius: 24px;
    box-shadow: inset 0 0 0 3px var(--zl-accent-color);
    outline: 0;
}
.zlbanners-v2__slide .zlbanners-v2__copy {
    pointer-events: none;
    z-index: 4;
}
.zlbanners-v2__slide .zlbanners-v2__actions,
.zlbanners-v2__slide .zlbanners-v2__actions a {
    pointer-events: auto;
}
.zlbanners-v2__slide .zlbanners-v2__art img {
    transition: transform .3s ease;
}
.zlbanners-v2__slide-link:hover ~ .zlbanners-v2__art img {
    transform: scale(1.015);
}
@media (prefers-reduced-motion: reduce) {
    .zlbanners-v2__slide .zlbanners-v2__art img { transition: none; }
}
