.image-swiper-more {
  overflow: hidden;
}

.image-swiper-more .swiper-slide__title {
  margin-top: 10px;
}

.image-swiper-more .text-left {
  text-align: left;
}

.image-swiper-more .text-center {
  text-align: center;
}

.image-swiper-more .text-right {
  text-align: right;
}

.image-swiper-more .btn_image a {
  display: block;
  width: 60%;
}

.image-swiper-more .btn_image.text-center a {
  margin: 0 auto;
}

.image-swiper-more .btn_image img {
  width: 100%;
  object-fit: cover;
}

/* Swiper 初始化前预分配 slide 宽度，防止首屏大图闪烁 */
.image-swiper-more .swiper:not(.swiper-initialized) .swiper-slide {
  flex-shrink: 0 !important;
  margin-right: var(--slide-gap-mobile, 10px);
  width: calc(
    (100% - var(--slide-gap-mobile, 10px) * (var(--mobile-slides-per-view, 1) - 1))
    / var(--mobile-slides-per-view, 1)
  ) !important;
}

@media (min-width: 750px) {
  .image-swiper-more .swiper:not(.swiper-initialized) .swiper-slide {
    margin-right: var(--slide-gap-pc, 20px);
    width: calc(
      (100% - var(--slide-gap-pc, 20px) * (var(--tablet-slides-per-view, 3) - 1))
      / var(--tablet-slides-per-view, 3)
    ) !important;
  }
}

@media (min-width: 1000px) {
  .image-swiper-more .swiper:not(.swiper-initialized) .swiper-slide {
    width: calc(
      (100% - var(--slide-gap-pc, 20px) * (var(--pc-slides-per-view, 1) - 1))
      / var(--pc-slides-per-view, 1)
    ) !important;
  }
}

/* 覆盖 swiper 默认 100% 宽度，初始化前限制容器高度 */
.image-swiper-more .swiper:not(.swiper-initialized) {
  overflow: hidden;
}

/* 图片比例 CLS 优化 */
.image-swiper-more .top-banner__image {
  position: relative;
  overflow: hidden;
  width: 100%;
}

/* aspect-ratio 为 auto 时回退到图片自然比例，避免高度塌陷 */
@media (min-width: 750px) {
  .image-swiper-more .swiper[style*="--pc-aspect-ratio: auto"] .top-banner__image:has(img[width][height]) {
    aspect-ratio: auto;
  }
}

@media (max-width: 749px) {
  .image-swiper-more .swiper[style*="--m-aspect-ratio: auto"] .top-banner__image:has(img[width][height]) {
    aspect-ratio: auto;
  }
}

.image-swiper-more .top-banner__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* PC 端图片比例 */
@media (min-width: 750px) {
  .image-swiper-more .top-banner__image {
    aspect-ratio: var(--pc-aspect-ratio, auto);
  }
}

/* 移动端图片比例 */
@media (max-width: 749px) {
  .image-swiper-more .top-banner__image {
    aspect-ratio: var(--m-aspect-ratio, auto);
  }
}

.image-swiper-more .swiper-slide {
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* ===== Pagination 通用 ===== */
.image-swiper-more .swiper-pagination {
  position: relative;
  margin-top: 20px;
  text-align: center;
}

/* ===== 圆点样式 (dot) ===== */
.image-swiper-more .swiper-pagination--dot .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #ccc;
  opacity: 1;
  margin: 0 5px;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.image-swiper-more .swiper-pagination--dot .swiper-pagination-bullet-active {
  background: #333;
  transform: scale(1.2);
}

/* ===== 长条进度样式 (bar) ===== */
.image-swiper-more .swiper-pagination--bar.swiper-pagination-progressbar {
  position: relative;
  height: 3px;
  background: #e0e0e0;
  border-radius: 2px;
  margin-top: 16px;
}

.image-swiper-more .swiper-pagination--bar .swiper-pagination-progressbar-fill {
  background: #333;
  border-radius: 2px;
}

/* ===== 分页定位到图片内 ===== */
/* PC 端 absolute */
@media (min-width: 750px) {
  .image-swiper-more .swiper-pagination.pc-pagination-absolute {
    position: absolute;
    bottom: 12px;
    left: 0;
    right: 0;
    margin-top: 0;
    z-index: 10;
  }

  .image-swiper-more .swiper-pagination.pc-pagination-absolute.swiper-pagination-progressbar {
    bottom: 0;
  }

  .image-swiper-more .swiper-pagination.pc-pagination-absolute .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5);
  }

  .image-swiper-more .swiper-pagination.pc-pagination-absolute .swiper-pagination-bullet-active {
    background: #fff;
  }

  .image-swiper-more .swiper-pagination.pc-pagination-absolute.swiper-pagination-progressbar {
    background: rgba(255, 255, 255, 0.3);
  }

  .image-swiper-more .swiper-pagination.pc-pagination-absolute .swiper-pagination-progressbar-fill {
    background: #fff;
  }
}

/* 移动端 absolute */
@media (max-width: 749px) {
  .image-swiper-more .swiper-pagination.m-pagination-absolute {
    position: absolute;
    bottom: 12px;
    left: 0;
    right: 0;
    margin-top: 0;
    z-index: 10;
  }

  .image-swiper-more .swiper-pagination.m-pagination-absolute.swiper-pagination-progressbar {
    bottom: 0;
  }

  .image-swiper-more .swiper-pagination.m-pagination-absolute .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5);
  }

  .image-swiper-more .swiper-pagination.m-pagination-absolute .swiper-pagination-bullet-active {
    background: #fff;
  }

  .image-swiper-more .swiper-pagination.m-pagination-absolute.swiper-pagination-progressbar {
    background: rgba(255, 255, 255, 0.3);
  }

  .image-swiper-more .swiper-pagination.m-pagination-absolute .swiper-pagination-progressbar-fill {
    background: #fff;
  }
}

/* Thumbs */
.image-swiper-more .thumbSwiper {
  margin-top: 10px;
  padding: 10px 0;
}

.image-swiper-more .thumbSwiper .swiper-slide {
  opacity: 0.4;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.image-swiper-more .thumbSwiper .swiper-slide-thumb-active {
  opacity: 1;
}

.image-swiper-more .thumbSwiper .swiper-slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 4px;
}

@media (min-width: 960px) {
  .image-swiper-more .btn_image a {
    width: 40%;
  }
}

/* 特异性需高于 .top-banner__image img { display: block }，否则手机端会露出 PC 图 */
@media (min-width: 750px) {
  .image-swiper-more .mobile-only,
  .image-swiper-more .top-banner__image img.mobile-only {
    display: none;
  }
}

@media (max-width: 749px) {
  .image-swiper-more .desktop-only,
  .image-swiper-more .top-banner__image img.desktop-only {
    display: none;
  }
}
