/*
 * archive.css
 * Re-start株式会社 お知らせ一覧ページ専用スタイル
 * ※ .news_item / .news_photo / .news_body / .news_date / .news_badge / .news_title
 *    はfront-page.cssで定義済みのため省略
 * 読み込み順：reset.css → style.css → header.css → footer.css → archive.css
 */

/* ─────────────────────────────────────
   CATEGORY FILTER
───────────────────────────────────── */
.news_filter {
  background: var(--color_white);
  border-bottom: 1px solid var(--color_gray_light);
  position: sticky;
  top: 7.2rem;
  z-index: 100;
}

.news_filter_inner {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 8rem;
  display: flex;
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;
}

.news_filter_inner::-webkit-scrollbar { display: none; }

.news_filter_tab {
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--color_gray_text);
  text-decoration: none;
  padding: 1.8rem 2rem;
  white-space: nowrap;
  border-bottom: 0.2rem solid transparent;
  transition: color 0.2s, border-color 0.2s;
  display: block;
}

.news_filter_tab:hover { color: var(--color_navy); }

.news_filter_tab.is_active {
  color: var(--color_blue);
  border-bottom-color: var(--color_blue);
  font-weight: 600;
}

/* ─────────────────────────────────────
   NEWS ARCHIVE（ページ固有ラッパー）
───────────────────────────────────── */
.news_archive_page {
  background: var(--color_off_white);
  padding: 8rem 8rem 12rem;
}

.news_archive_page_inner {
  max-width: 120rem;
  margin: 0 auto;
}

/* ─────────────────────────────────────
   NEWS LIST（front-page.cssのクラスを継承）
   .news_list / .news_item / .news_photo /
   .news_body / .news_date / .news_badge /
   .news_title はfront-page.cssで定義済み
───────────────────────────────────── */

.news_item {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s;
    background: var(--color_white);
    border-radius: 0.8rem;
    overflow: hidden;
}

/* アーカイブページでのみ必要な上書き */
.news_archive_page .news_list {
  margin-bottom: 6.4rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}

/* アイキャッチなしのプレースホルダー */
.news_photo_placeholder {
  aspect-ratio: 16 / 9;
  background: var(--color_gray_light);
  width: 100%;
  height: auto;
}

.news_body{
  padding: 1.6rem 2rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  flex: 1;
}

.news_date {
  font-size: 1.2rem;
  color: var(--color_gray_text);
}

.news_badge {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--color_blue);
  background: rgba(30, 111, 181, 0.08);
  padding: 0.3rem 1rem;
  border-radius: 0.3rem;
  width: fit-content;
}

.news_title {
  font-size: 1.5rem;
  line-height: 1.65;
  color: var(--color_text);
  flex: 1;
}

/* ─────────────────────────────────────
   PAGINATION
───────────────────────────────────── */
.news_pagination {
  display: flex;
  justify-content: center;
}

/* the_posts_pagination()が出力するクラス */
.news_pagination .nav-links {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  justify-content: center;
}

.news_pagination .page-numbers {
  font-family: var(--Outfit);
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--color_text_sub);
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 4rem;
  height: 4rem;
  padding: 0 1.2rem;
  border-radius: 0.4rem;
  border: 1px solid var(--color_gray_light);
  background: var(--color_white);
  transition: color 0.2s, background 0.2s, border-color 0.2s;
  white-space: nowrap;
}

.news_pagination a.page-numbers:hover {
  border-color: var(--color_blue);
  color: var(--color_blue);
}

.news_pagination .page-numbers.current {
  background: var(--color_navy);
  border-color: var(--color_navy);
  color: #fff;
  font-weight: 700;
}

.news_pagination .page-numbers.dots {
  border-color: transparent;
  background: transparent;
  color: var(--color_gray_text);
  pointer-events: none;
}

.news_pagination .prev.page-numbers,
.news_pagination .next.page-numbers {
  font-size: 1.2rem;
  min-width: auto;
  padding: 0 1.6rem;
}

/* EMPTY */
.news_empty {
  text-align: center;
  padding: 10rem 0;
  font-size: 1.6rem;
  color: var(--color_gray_text);
}

/* ─────────────────────────────────────
   RESPONSIVE（スマホ：699.98px以下）
───────────────────────────────────── */
@media screen and (max-width: 699.98px) {

  .news_filter { top: 6rem; }
  .news_filter_inner { padding: 0 2.4rem; }
  .news_filter_tab { padding: 1.4rem 1.4rem; font-size: 1.2rem; }

  .news_archive_page { padding: 5.6rem 2.4rem 8rem; }

  /* 3列 → 1列 */
  .news_archive_page .news_list {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  /* ページネーション */
  .news_pagination .page-numbers {
    min-width: 3.6rem;
    height: 3.6rem;
    font-size: 1.2rem;
    padding: 0 0.8rem;
  }

  .news_pagination .prev.page-numbers,
  .news_pagination .next.page-numbers {
    padding: 0 1.2rem;
  }
}
