.wrz-banner-slider{
    position:relative;
    overflow:hidden;
    width:100%;
    border-radius:var(--wrz-border-radius, 0px);
    --wrz-slide-gap: 0px;
    --wrz-current-gap: 0px;
}
.wrz-banner-track{
    display:flex;
    transition:transform .45s ease;
    will-change:transform;
    gap:var(--wrz-current-gap);
}
.wrz-banner-slide{
    min-width:100%;
    position:relative;
    border-radius:var(--wrz-border-radius, 0px);
    overflow:hidden;
}
.wrz-banner-slide picture,
.wrz-banner-slide img{
    display:block;
    width:100%;
}
.wrz-banner-slide picture{
    border-radius:inherit;
    overflow:hidden;
}
.wrz-banner-slide img{
    width:100%;
    height:auto;
    display:block;
}
.wrz-banner-slider[style*="--wrz-desktop-height"] .wrz-banner-slide img{
    height:var(--wrz-desktop-height);
    object-fit:cover;
}
@media (max-width: 767px){
    .wrz-banner-slider[style*="--wrz-mobile-height"] .wrz-banner-slide img{
        height:var(--wrz-mobile-height);
        object-fit:cover;
    }
}
/* Link no slide inteiro */
.wrz-banner-slide-link{
    display:block;
    position:relative;
}
.wrz-banner-slide.has-slide-link{
    cursor:pointer;
}

.wrz-banner-slide.has-overlay::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.20);
    pointer-events:none;
}
.wrz-banner-content{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
    width:min(90%, 1200px);
    left:5%;
    right:5%;
    color:#fff;
}
.wrz-banner-content.align-left{ text-align:left; left:6%; right:auto; }
.wrz-banner-content.align-center{ text-align:center; left:50%; transform:translate(-50%, -50%); }
.wrz-banner-content.align-right{ text-align:right; right:6%; left:auto; }
.wrz-banner-content h2{
    margin:0 0 10px;
    font-size:clamp(24px, 4vw, 52px);
    line-height:1.1;
    color:#fff;
}
.wrz-banner-subtitle{
    font-size:clamp(14px, 1.5vw, 18px);
    line-height:1.5;
    max-width:700px;
}
.wrz-banner-content.align-center .wrz-banner-subtitle{ margin:0 auto; }
.wrz-banner-content.align-right .wrz-banner-subtitle{ margin-left:auto; }
.wrz-banner-button{
    margin-top:18px;
    display:inline-block;
    background:#111;
    color:#fff;
    padding:12px 22px;
    border-radius:999px;
    text-decoration:none;
    font-weight:600;
}
.wrz-banner-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:46px;
    height:46px;
    border:none;
    border-radius:999px;
    cursor:pointer;
    z-index:3;
    font-size:24px;
    line-height:46px;
    text-align:center;
    background:rgba(17,17,17,.55);
    color:#fff;
}
.wrz-banner-arrow.is-transparent{
    background:transparent;
    backdrop-filter:none;
}
.wrz-banner-prev{ left:12px; }
.wrz-banner-next{ right:12px; }
.wrz-banner-dots{
    position:absolute;
    left:50%;
    bottom:12px;
    transform:translateX(-50%);
    display:flex;
    gap:8px;
    z-index:3;
}
.wrz-dot{
    width:10px;
    height:10px;
    border-radius:999px;
    border:none;
    padding:0;
    background:rgba(255,255,255,.55);
    cursor:pointer;
}
.wrz-dot.active{
    background:#fff;
}

/* carousel mode */
.wrz-banner-slider.is-carousel{
    padding-inline: 14px;
    padding-bottom: 26px;
}
.wrz-banner-slider.is-carousel .wrz-banner-slide{
    border-radius: var(--wrz-border-radius, 0px);
    overflow: hidden;
}
.wrz-banner-slider.is-carousel .wrz-banner-slide img{
    aspect-ratio: 4 / 5;
    object-fit: cover;
}
.wrz-banner-slider.is-carousel .wrz-banner-content{
    top:auto;
    left:14px;
    right:14px;
    bottom:18px;
    width:auto;
    transform:none;
    text-align:center;
}
.wrz-banner-slider.is-carousel .wrz-banner-content.align-left,
.wrz-banner-slider.is-carousel .wrz-banner-content.align-center,
.wrz-banner-slider.is-carousel .wrz-banner-content.align-right{
    left:14px;
    right:14px;
    text-align:center;
    transform:none;
}
.wrz-banner-slider.is-carousel .wrz-banner-content h2{
    margin:0;
    font-size:clamp(18px, 1.9vw, 26px);
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:500;
    text-wrap:balance;
}
.wrz-banner-slider.is-carousel .wrz-banner-subtitle,
.wrz-banner-slider.is-carousel .wrz-banner-button{
    display:none;
}
.wrz-banner-slider.is-carousel .wrz-banner-slide.has-overlay::after,
.wrz-banner-slider.is-carousel .wrz-banner-slide::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(0,0,0,.32), rgba(0,0,0,0) 42%);
    pointer-events:none;
}
.wrz-banner-slider.is-carousel .wrz-banner-arrow{
    width:40px;
    height:40px;
    line-height:40px;
    background:rgba(255,255,255,.85);
    color:#111;
    border-radius:999px;
    font-size:28px;
}
.wrz-banner-slider.is-carousel .wrz-banner-arrow.is-transparent{
    background:rgba(255,255,255,.85);
}
.wrz-banner-slider.is-carousel .wrz-banner-prev{ left:-6px; }
.wrz-banner-slider.is-carousel .wrz-banner-next{ right:-6px; }
.wrz-banner-slider.is-carousel .wrz-banner-dots{
    position:static;
    transform:none;
    justify-content:center;
    margin-top:18px;
}
.wrz-banner-slider.is-carousel .wrz-dot{
    width:9px;
    height:9px;
    background:rgba(0,0,0,.15);
}
.wrz-banner-slider.is-carousel .wrz-dot.active{
    background:#2795ff;
}

@media (max-width:767px){
    .wrz-banner-slider{ border-radius:var(--wrz-border-radius, 0px); }
    .wrz-banner-content{
        width:90%;
    }
    .wrz-banner-content h2{
        font-size:clamp(20px, 7vw, 30px);
    }
    .wrz-banner-subtitle{
        font-size:14px;
    }
    .wrz-banner-button{
        padding:10px 18px;
        font-size:14px;
    }
    .wrz-banner-arrow{
        width:40px;
        height:40px;
        line-height:40px;
    }
    .wrz-banner-slider.is-carousel{
        padding-inline: 10px;
    }
    .wrz-banner-slider.is-carousel .wrz-banner-content{
        left:10px;
        right:10px;
        bottom:12px;
    }
    .wrz-banner-slider.is-carousel .wrz-banner-content h2{
        font-size:clamp(16px, 4.5vw, 22px);
    }
    .wrz-banner-slider.is-carousel .wrz-banner-prev{ left:-2px; }
    .wrz-banner-slider.is-carousel .wrz-banner-next{ right:-2px; }
}
