/* =====================================================================
   B検 News Plus - ページネーション CSS
   既存の np_ / News-Plus 系クラスの余白・トーンに合わせています。
   配色（--np-accent）だけ、サイトのメインカラーに合わせて調整してください。
   ===================================================================== */

.np-pagination {
  --np-accent: #2b6fb3;      /* サイトのメインカラーに合わせて変更してください */
  --np-text: #333333;
  --np-border: #dcdcdc;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 32px 0 8px;
}

/* 前へ／次へ 矢印ボタン */
.np-pagination__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--np-border);
  border-radius: 50%;
  background: #fff;
  color: var(--np-text);
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
  padding: 0;
}

.np-pagination__arrow:hover:not(:disabled) {
  border-color: var(--np-accent);
  color: var(--np-accent);
}

.np-pagination__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}

.np-pagination__arrowIcon {
  font-size: 18px;
  line-height: 1;
  transform: translateY(-1px);
}

/* ページ番号のリスト */
.np-pagination__pages {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.np-pagination__page {
  display: flex;
}

.np-pagination__pageBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 4px;
  border: 1px solid transparent;
  border-radius: 50%;
  background: transparent;
  color: var(--np-text);
  font-size: 14px;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.np-pagination__pageBtn:hover {
  border-color: var(--np-border);
}

.np-pagination__pageBtn.is-current {
  background: var(--np-accent);
  border-color: var(--np-accent);
  color: #fff;
  font-weight: bold;
  cursor: default;
}

.np-pagination__ellipsis {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 36px;
  color: #999;
}

/* 非表示にする記事（JSでこのクラスを付け外しします） */
.News-Plus_list.is-hidden {
  display: none;
}

/* スマホ幅での調整 */
@media screen and (max-width: 480px) {
  .np-pagination {
    gap: 4px;
  }

  .np-pagination__arrow,
  .np-pagination__pageBtn {
    width: 32px;
    height: 32px;
    min-width: 32px;
  }
}
