/* 轮播核心布局（不依赖 scoped CSS，防止懒加载失败时竖向堆叠） */
.swiper-wrap {
  position: relative;
  overflow: hidden;
  padding: 10px 15px;
  touch-action: pan-y pinch-zoom;
  -webkit-user-select: none;
  user-select: none;
}
.swiper-inner {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 100%;
  will-change: transform;
  transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.swiper-inner.dragging,
.swiper-inner.is-dragging {
  transition: none !important;
}
.swiper-slide {
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  flex-shrink: 0 !important;
  height: 180px;
  overflow: hidden;
  border-radius: 8px;
  cursor: pointer;
  backface-visibility: hidden;
}
.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.swiper-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 8px;
}
.swiper-dots .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ccc;
  cursor: pointer;
  transition: background 0.25s, transform 0.25s;
}
.swiper-dots .dot.active {
  background: var(--theme-color, #1e90ff);
  transform: scale(1.25);
}

/* H5 全站丝滑体验增强 */
.page-slide-enter-active,
.page-slide-leave-active {
  transition: opacity 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}
.page-slide-enter-from {
  opacity: 0;
  transform: translate3d(16px, 0, 0);
}
.page-slide-leave-to {
  opacity: 0;
  transform: translate3d(-10px, 0, 0);
}

.swiper-inner.dragging,
.swiper-inner.is-dragging {
  transition: none !important;
}

/* 点击反馈更柔和 */
.swiper-list {
  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
}
.swiper-scroll > .label-list {
  scroll-snap-align: start;
}

/* 图片加载渐显 */
img {
  transition: opacity 0.25s ease;
}
img:not([data-loaded="1"]) {
  opacity: 0.92;
}
img[data-loaded="1"] {
  opacity: 1;
}

/* 点击反馈更柔和 */
.pressable {
  transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.2s ease;
}
.pressable:active {
  opacity: 0.9;
  transform: scale(0.98);
}

/* 滚动容器惯性 */
.page,
.page-no-tab,
.postlist-bg,
.popup-body,
.footer-picker {
  -webkit-overflow-scrolling: touch;
}

/* 加载更多区域 */
.load-more {
  transition: opacity 0.2s ease;
}
