/* 修改指示器样式 */
.banner .carousel-indicator span {
  position: relative;
  display: block;
  width: 50px;
  height: 4px;
  background: rgba(173, 173, 173) !important;
  opacity: .7;
  transition: opacity 0.2s;
  overflow: hidden;
}

/* 仅在激活项显示进度条 */
.banner .carousel-indicator-active span {
  opacity: 1;
}

/* 进度条动画 */
.banner .carousel-indicator-active span::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background: #0023ff;
  animation: progress 5s linear forwards;
}

/* 其他非激活项隐藏进度条 */
.banner .carousel-indicator:not(.carousel-indicator-active) span::after {
  display: none;
}

@keyframes progress {
  from { width: 0; }
  to { width: 100%; }
}

/* 切换时重置动画 */
.swiper-slide-active .carousel-indicator-active span::after {
  animation: none;
}