/* ========================================
   通用列表分頁器
   ======================================== */
.zo-pagination {
  --_font-primary: var(--font-primary, 'Noto Sans SC', 'Noto Sans TC', sans-serif);
  --_text-scale: var(--text-scale, 1.125);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.30rem;
  padding: 0.50rem 0 0.80rem;
  margin-top: 0.40rem;
  font-family: var(--_font-primary);
}

/* --- 每頁條數選擇器 --- */
.zo-pagination__size {
  display: flex;
  align-items: center;
  gap: 0.10rem;
  font-size: calc(0.14rem * var(--_text-scale));
  line-height: 1.5;
  color: #666666;
  margin-right: 0.40rem;
}

.zo-pagination__size-select {
  display: inline-block;
  width: auto;
  min-width: 0.70rem;
  height: 0.36rem;
  padding: 0.04rem 0.12rem;
  font-size: calc(0.14rem * var(--_text-scale));
  font-family: var(--_font-primary);
  color: #1D1D1D;
  background-color: #FFFFFF;
  border: 0.01rem solid #D9D9D9;
  border-radius: 0.04rem;
  appearance: auto;
  cursor: pointer;
}

.zo-pagination__size-select:focus {
  outline: none;
  border-color: #084498;
  box-shadow: 0 0 0 0.02rem rgba(8, 68, 152, 0.15);
}

/* --- 頁碼導航區域 --- */
.zo-pagination__nav {
  display: flex;
  align-items: center;
  gap: 0.06rem;
}

/* 通用按鈕（上/下一頁） */
.zo-pagination__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.36rem;
  height: 0.36rem;
  border: 0.01rem solid #D9D9D9;
  border-radius: 0.04rem;
  background: #FFFFFF;
  color: #1D1D1D;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.zo-pagination__btn:hover:not(.disabled) {
  border-color: #084498;
  color: #084498;
}

.zo-pagination__btn.disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

/* 頁碼按鈕 */
.zo-pagination__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0.36rem;
  height: 0.36rem;
  padding: 0 0.10rem;
  border: 0.01rem solid transparent;
  border-radius: 0.04rem;
  background: transparent;
  color: #1D1D1D;
  font-size: calc(0.14rem * var(--_text-scale));
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.zo-pagination__item:hover {
  color: #084498;
}

.zo-pagination__item.active {
  background: #084498;
  color: #FFFFFF;
  border-color: #084498;
  cursor: default;
  pointer-events: none;
}

/* 省略號 */
.zo-pagination__ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.36rem;
  height: 0.36rem;
  font-size: calc(0.14rem * var(--_text-scale));
  color: #999999;
  user-select: none;
}

/* --- 響應式 --- */
@media (max-width: 768px) {
  .zo-pagination {
    gap: 0.20rem;
    margin-top: 0.15rem;
    padding: 0.20rem 0 0.40rem;
  }

  .zo-pagination__size {
    width: 100%;
    justify-content: center;
    margin-right: 0;
    margin-bottom: 0.20rem;
  }

  .zo-pagination__nav {
    gap: 0.04rem;
  }

  .zo-pagination__btn,
  .zo-pagination__item,
  .zo-pagination__ellipsis {
    min-width: 0.32rem;
    height: 0.32rem;
    font-size: calc(0.13rem * var(--_text-scale));
  }
}
