/* =========================================================
   xxxxnese — pages/news.css
   News 一覧ページ固有スタイル
     - カテゴリフィルタ chip
     - section-head と list の間隔調整
   ========================================================= */

/* ---------- カテゴリフィルタ ---------- */
.news-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 64px;
}

.filter-chip {
  appearance: none;
  background: transparent;
  border: 1px solid var(--color-line-strong);
  border-radius: 999px;
  padding: 10px 20px;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-ink-soft);
  cursor: pointer;
  transition:
    background 0.3s var(--ease),
    border-color 0.3s var(--ease),
    color 0.3s var(--ease);
}

.filter-chip:hover {
  border-color: var(--color-ink);
  color: var(--color-ink);
}

.filter-chip--active,
.filter-chip[aria-selected="true"] {
  background: var(--color-ink);
  border-color: var(--color-ink);
  color: #ffffff;
}

/* ---------- News list 配置調整 ---------- */
/* page-news では section-head の下に filter + list が来るので、
   section-head の余白を少しタイトめに */
.page-news .section-head {
  margin-bottom: 56px;
}

/* ---------- フィルタで非表示になった item ---------- */
.news-item.is-hidden {
  display: none;
}

/* ---------- 0 件メッセージ ---------- */
.news-empty {
  padding: 48px 0;
  text-align: center;
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.8;
}

/* =========================================================
   Responsive — news
   ========================================================= */

/* Tablet */
@media (max-width: 960px) {
  .news-filter {
    margin-bottom: 48px;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .news-filter {
    gap: 6px;
    margin-bottom: 36px;
  }

  .filter-chip {
    padding: 8px 14px;
    font-size: 11px;
    letter-spacing: 0.14em;
  }
}

/* =========================================================
   News ページ末尾の誘導 CTA — Business / Contact への動線
   ========================================================= */

.news-cta {
  padding: 96px 0 120px;
  background: var(--color-bg-alt);
  border-top: 1px solid var(--color-line);
}

.news-cta__inner {
  text-align: center;
}

.news-cta__title {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.8vw, 36px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.02em;
  color: var(--color-ink);
  margin: 0 0 20px;
  text-wrap: balance;
  word-break: keep-all;
}

.news-cta__text {
  font-size: 14px;
  line-height: 1.95;
  color: var(--color-text);
  max-width: 560px;
  margin: 0 auto 36px;
}

.news-cta__actions {
  display: inline-flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}

@media (max-width: 640px) {
  .news-cta {
    padding: 72px 0 88px;
  }

  .news-cta__actions {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 320px;
    margin-inline: auto;
    gap: 12px;
  }
}
