.bannerBox{
    position: relative;
    overflow: hidden;
    border-radius: 18px;
}

.bannerViewport{
    overflow: hidden;
    border-radius: 18px;
}

.bannerTrack{
    display: flex;
    gap: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.bannerTrack::-webkit-scrollbar{ height: 0; }

.bannerSlide{
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    scroll-snap-align: start;
    aspect-ratio: 1920 / 780;
    height: clamp(150px, 22vw, 360px);
    background: rgba(11,15,25,.06);
}

@media (max-width: 720px){
    .bannerSlide{
        height: clamp(140px, 38vw, 260px);
    }
}

.bannerImg{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.bannerOverlay{
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    display: grid;
    gap: 8px;
    justify-items: start;
    align-content: end;
    pointer-events: none;
}

.bannerOverlay:empty{
    display: none;
}

.bannerTitle{
    font-size: 12px;
    opacity: .92;
    font-weight: 900;
    color: rgba(255,255,255,0.92);
    text-shadow: 0 6px 18px rgba(0,0,0,0.40);
}

.bannerValue{
    font-size: 22px;
    font-weight: 1000;
    color: #ffffff;
    text-shadow: 0 10px 24px rgba(0,0,0,0.45);
}

.bannerBtn{
    height: 38px;
    padding: 0 14px;
    border-radius: 14px;
    border: 0;
    cursor: pointer;
    font-weight: 1000;
    background: var(--gold);
    color: #111;
    box-shadow: 0 14px 30px rgba(0,0,0,0.22);
    pointer-events: auto;
}
.bannerBtn:active{ transform: translateY(1px); }

.bannerDots{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
    display: flex;
    justify-content: center;
    gap: 8px;
    pointer-events: none;
}

.bannerDot{
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: rgba(255,255,255,0.45);
    box-shadow: 0 8px 18px rgba(0,0,0,0.20);
    transition: transform .18s ease, background .18s ease;
}

.bannerDot.on{
    background: rgba(255,255,255,0.90);
    transform: scale(1.25);
}

