/* 首页轮播：整图左右滑动 + 圆点动效，比例 1920x421 */
.site-banner {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #d8dde6;
    min-height: 220px;
}

.site-banner-viewport {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 21.927%;
    overflow: hidden;
}

.site-banner-track {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    display: flex;
    flex-wrap: nowrap;
    will-change: transform;
}

.site-banner-track.is-ready {
    transition: transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.site-banner-item,
.site-banner-track > a,
.site-banner-track > div {
    position: relative;
    flex: 0 0 auto;
    height: 100%;
    overflow: hidden;
}

.site-banner-item a,
.site-banner-track > a {
    display: block;
    width: 100%;
    height: 100%;
}

.site-banner-item img,
.site-banner-track a img,
.site-banner-track div img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.06);
    transition: transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.site-banner-item.active img {
    transform: scale(1);
}

.site-banner-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 18px;
    z-index: 3;
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 0;
}

.site-banner-dots li {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0 5px;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    vertical-align: middle;
    transition: width 0.35s ease, background 0.35s ease;
}

.site-banner-dots li.active {
    width: 22px;
    background: #2458AA;
}

/* ===== 响应式 ===== */
@media (max-width: 992px) {
    .site-banner {
        min-height: 140px;
    }

    .site-banner-viewport {
        /* 手机略加高一点，避免裁切过狠 */
        padding-bottom: 36%;
    }

    .site-banner-dots {
        bottom: 10px;
    }

    .site-banner-dots li {
        width: 7px;
        height: 7px;
        margin: 0 4px;
    }

    .site-banner-dots li.active {
        width: 18px;
    }
}

@media (max-width: 480px) {
    .site-banner {
        min-height: 110px;
    }

    .site-banner-viewport {
        padding-bottom: 42%;
    }
}
