/* Pagination component */

.pagination {
  width: 100%;
  padding: 12px 0;
  justify-content: center;
  align-items: center;
  gap: 18px;
  display: flex;
  flex-wrap: wrap;
}

.pagination__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 100px;
  height: 36px;
  padding: 6px 12px;
  border: none;
  border-radius: 999px;
  background: var(--color-primary-500);
  color: rgba(0, 0, 0, 0.9);
  font-size: 14px;
  font-family: PingFang SC, sans-serif;
  font-weight: 400;
  line-height: 20px;
  cursor: not-allowed;
  pointer-events: none;
  text-decoration: none;
  box-sizing: border-box;
}

.pagination__btn--active {
  cursor: pointer;
  pointer-events: auto;
}

.pagination__btn--active:hover {
  opacity: 0.92;
}

.pagination__btn--disabled {
  background: #EFEFEF;
  opacity: 1;
  cursor: not-allowed;
  pointer-events: none;
}

.pagination__btn--prev.pagination__btn--disabled,
.pagination__btn--next.pagination__btn--disabled {
  color: var(--text-placeholder);
}

.pagination__btn--jump {
  border-radius: 9px;
  background: #262626;
  color: #fff;
  cursor: pointer;
  pointer-events: auto;
}

.pagination__info {
  color: var(--text-primary);
  font-size: 14px;
  font-family: PingFang SC, sans-serif;
  font-weight: 400;
  line-height: 20px;
}

/* 页码链接区:给爬虫提供跳页 <a>,同时也是可用的 UI */
.pagination__pages {
  display: flex;
  align-items: center;
  justify-content: center;
  /* 总页数上千(页码变 4 位)时宁可换行,也不撑破容器 */
  flex-wrap: wrap;
  gap: 4px;
}

.pagination__page,
.pagination__ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 36px;
  padding: 0 8px;
  border-radius: 9px;
  color: var(--text-primary);
  font-size: 14px;
  font-family: PingFang SC, sans-serif;
  font-weight: 400;
  line-height: 20px;
  text-decoration: none;
}

.pagination__page {
  border: 1px solid var(--color-black-alpha-10);
}

.pagination__page--current {
  background: #262626;
  border-color: #262626;
  color: #fff;
  font-weight: 500;
}

.pagination__ellipsis {
  min-width: 20px;
  padding: 0 2px;
  border: none;
}

.pagination__input {
  width: 100px;
  height: 36px;
  padding: 6px 12px;
  border-radius: 9px;
  border: 1px solid var(--color-black-alpha-10);
  text-align: center;
  color: var(--text-primary);
  /* ≥16px:iOS Safari 聚焦 <16px 输入框会自动放大页面 */
  font-size: 16px;
  font-family: PingFang SC, sans-serif;
  font-weight: 400;
  line-height: 20px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  /* H5 分页布局:页码链接单独占一行(可换行),「上一页 / 输入框 / 跳转 / 下一页」
     按设计稿保持一排。以前是 flex-wrap:nowrap + min-width:0,页码链接补进来后
     一行放不下(≥401px 不换行),上一页/下一页被压成半个胶囊、文字溢出被裁。
     页码块用 flex-basis:100% 独占整行,不额外插换行元素;行距用 margin 而不是
     row-gap —— 老 Safari(<14.1)不支持 flex gap,margin 到处都生效。 */
  .pagination {
    padding: 0;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 9px;
  }

  /* 这一排的每一项都不许被挤压:宽度不够时整项换行,而不是把胶囊压扁 */
  .pagination__btn,
  .pagination__input {
    flex: 0 0 auto;
  }

  .pagination__btn {
    min-width: 0;
    height: 30px;
    padding: 6px 12px;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap;
  }

  .pagination__btn--disabled {
    background: #EFEFEF;
  }

  .pagination__btn--prev.pagination__btn--disabled,
  .pagination__btn--next.pagination__btn--disabled {
    color: var(--text-placeholder);
  }

  .pagination__btn--jump {
    width: 60px;
    min-width: 60px;
    border-radius: 6px;
    background: #262626;
    color: #fff;
  }

  /* 页码区 / 纯文案区:整行 + 排到控件行上方 */
  .pagination__pages,
  .pagination__info {
    order: -1;
    flex: 0 0 100%;
    width: 100%;
    margin-bottom: 10px;
  }

  .pagination__pages {
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 4px;
  }

  .pagination__info {
    text-align: center;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap;
  }

  .pagination__input {
    width: 60px;
    min-width: 60px;
    height: 30px;
    border-radius: 6px;
    /* 不随 H5 缩到 12px,防 iOS 聚焦放大 */
    font-size: 16px;
    line-height: 18px;
  }

  /* 窄屏隐藏窗口中段页码(首末与当前页附近始终保留),链接仍在 DOM 里,爬虫可见 */
  .pagination__page--hide-mobile {
    display: none;
  }

  .pagination__page,
  .pagination__ellipsis {
    min-width: 28px;
    height: 32px;
    padding: 0 6px;
    font-size: 13px;
  }
}
