/* =========================================================
   sema-theme category.css（5カテゴリー共通アーカイブ）
   コンセプト＝「ひとつのテーマをたどる余白」。コラム一覧（静かな編集室）の複製にしない。
   カテゴリー名を大きく主役に（深緑の扉バー）、記事は縦の読み物索引（日付→タイトル）で静かにたどる。
   他カテゴリー導線・コラム一覧へ戻る導線は末尾に控えめに。全クラス sema-cat- プレフィックス。
   共通変数・コンテナは base.css を継承（is_category でのみ読み込む）。
   ========================================================= */

.sema-cat-inner{ padding-block:0 clamp(56px,8vw,104px); }

/* =========================================================
   ヘッダー：カテゴリー名を主役（大きめ明朝＋深緑の扉バー）＋登録済み説明文を短い導入に
   ========================================================= */
.sema-cat-header{
  max-width:44rem; margin:0 auto;
  padding:clamp(48px,7vw,96px) 0 clamp(26px,3.6vw,40px);
}
.sema-cat-header__parent{ font-family:var(--sema-sans); font-size:.82rem; letter-spacing:.12em; margin:0 0 1.1em; }
.sema-cat-header__parent a{ color:var(--sema-ink-mute); text-decoration:none; }
.sema-cat-header__parent a:hover{ color:var(--sema-sage-deep); text-decoration:underline; text-underline-offset:3px; }
.sema-cat-name{
  position:relative; margin:0; padding-left:clamp(16px,2.4vw,26px);
  font-family:var(--sema-serif); font-weight:700;
  font-size:clamp(2rem, 4.4vw, 2.9rem); line-height:1.34; letter-spacing:.08em; color:var(--sema-ink);
  text-wrap:balance;
}
.sema-cat-name::before{ content:""; position:absolute; left:0; top:.16em; bottom:.16em; width:3px; background:var(--sema-sage-deep); }
.sema-cat-desc{ margin:clamp(18px,2.6vw,28px) 0 0; padding-left:clamp(16px,2.4vw,26px); }
.sema-cat-desc p{ font-family:var(--sema-serif); font-size:1.02rem; line-height:2; letter-spacing:.03em; color:var(--sema-ink-soft); margin:0; max-width:38em; }

/* =========================================================
   記事一覧：縦の読み物索引（番号は控えめ・日付を小さくタイトルの上・タイトル明朝が主役）
   ========================================================= */
.sema-cat-list{ list-style:none; margin:clamp(40px,6vw,72px) auto 0; padding:0; max-width:46rem; border-top:1px solid var(--sema-line-2); }
.sema-cat-article{
  position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:start;
  gap:clamp(14px,2.4vw,28px); padding:clamp(22px,3vw,32px) 0; border-bottom:1px solid var(--sema-line);
}
.sema-cat-article__num{ grid-column:1; font-family:var(--sema-sans); font-size:.8rem; letter-spacing:.14em; color:var(--sema-bronze); padding-top:.35em; }
.sema-cat-article__main{ grid-column:2; min-width:0; }
.sema-cat-article__date{ display:block; font-family:var(--sema-sans); font-size:.78rem; letter-spacing:.08em; color:var(--sema-ink-mute); margin:0 0 .5em; }
.sema-cat-article__title{
  font-family:var(--sema-serif); font-weight:600; font-size:clamp(1.14rem,2vw,1.42rem); line-height:1.55;
  letter-spacing:.03em; color:var(--sema-ink); margin:0; overflow-wrap:break-word;
}
.sema-cat-article__title a{ color:inherit; text-decoration:none; }
.sema-cat-article__title a::after{ content:""; position:absolute; inset:0; }
.sema-cat-article__title a:hover{ color:var(--sema-sage-deep); text-decoration:underline; text-underline-offset:3px; }
.sema-cat-article__media{ grid-column:3; width:clamp(88px,13vw,132px); aspect-ratio:4 / 3; overflow:hidden; background:var(--sema-greige); border:1px solid var(--sema-line); }
.sema-cat-article__media img{ width:100%; height:100%; object-fit:cover; display:block; }

/* =========================================================
   記事0件：静かな空状態（原稿にない文言は出さない。控えめな区切りのみ）
   ========================================================= */
.sema-cat-empty{ max-width:46rem; margin:clamp(34px,5vw,58px) auto 0; }
.sema-cat-empty__rule{ display:block; width:56px; height:1px; background:var(--sema-line-2); }

/* =========================================================
   ページネーション（13件以上のみ）：静かな番号列。大角丸ボタン化しない・横スクロールなし
   ========================================================= */
.sema-cat-pagination{ max-width:46rem; margin:clamp(32px,4.5vw,52px) auto 0; padding-top:clamp(22px,3vw,30px); border-top:1px solid var(--sema-line); }
.sema-cat-pagination .nav-links{ display:flex; flex-wrap:wrap; gap:.4em; align-items:center; justify-content:center; }
.sema-cat-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center; min-width:2.2em; padding:.5em .72em;
  font-family:var(--sema-sans); font-size:.86rem; letter-spacing:.04em; line-height:1;
  color:var(--sema-sage-deep); text-decoration:none; border:1px solid var(--sema-line-2); border-radius:2px;
  transition:border-color .2s var(--sema-ease), background-color .2s var(--sema-ease);
}
.sema-cat-pagination a.page-numbers:hover{ border-color:var(--sema-sage); background:var(--sema-paper); }
.sema-cat-pagination .page-numbers.current{ color:#fff; background:var(--sema-sage-deep); border-color:var(--sema-sage-deep); }
.sema-cat-pagination .page-numbers.dots{ border-color:transparent; color:var(--sema-ink-mute); }

/* =========================================================
   末尾：他カテゴリー導線（現在カテゴリーは非リンク＋記号）＋コラム一覧へ戻る
   ========================================================= */
.sema-cat-related{ max-width:46rem; margin:clamp(48px,7vw,88px) auto 0; padding-top:clamp(28px,4vw,40px); border-top:1px solid var(--sema-line); }
.sema-cat-related__title{ font-family:var(--sema-sans); font-size:.8rem; letter-spacing:.14em; color:var(--sema-ink-mute); margin:0 0 1em; }
.sema-cat-related__list{ list-style:none; margin:0 0 clamp(22px,3.4vw,34px); padding:0; display:flex; flex-wrap:wrap; gap:.55em 1.5em; }
.sema-cat-related__link{ font-family:var(--sema-serif); font-size:1rem; letter-spacing:.04em; color:var(--sema-sage-deep); text-decoration:none; }
a.sema-cat-related__link:hover{ color:var(--sema-bronze); text-decoration:underline; text-underline-offset:3px; }
/* 現在カテゴリー：色だけに依存せず太字＋ブロンズの短い記号 */
.sema-cat-related__item.is-current .sema-cat-related__link{ position:relative; padding-left:.95em; color:var(--sema-ink); font-weight:600; }
.sema-cat-related__item.is-current .sema-cat-related__link::before{ content:""; position:absolute; left:0; top:50%; width:6px; height:1px; transform:translateY(-50%); background:var(--sema-bronze); }
.sema-cat-back{ margin:0; }
.sema-cat-back a{ display:inline-flex; align-items:center; gap:.5em; font-family:var(--sema-sans); font-size:.92rem; letter-spacing:.05em; color:var(--sema-sage-deep); text-decoration:none; }
.sema-cat-back__arrow::after{ content:"\2192"; color:var(--sema-bronze); transition:margin .25s var(--sema-ease); }
.sema-cat-back a:hover{ color:var(--sema-bronze); text-decoration:underline; text-underline-offset:3px; }
.sema-cat-back a:hover .sema-cat-back__arrow::after{ margin-left:.3em; }

/* =========================================================
   スマホ：単純な縦積みのなぞりにしない。名前を読みやすく、画像は下段・16:9、横スクロールなし。
   ========================================================= */
@media (max-width:767px){
  .sema-cat-name{ font-size:clamp(1.6rem, 7vw, 2.1rem); letter-spacing:.06em; }
  .sema-cat-desc p{ line-height:1.95; }
  .sema-cat-article{ grid-template-columns:auto 1fr; column-gap:.9em; row-gap:.55em; padding:20px 0; }
  .sema-cat-article__main{ grid-column:2; }
  .sema-cat-article__media{ grid-column:2; grid-row:2; width:100%; max-width:none; aspect-ratio:4 / 3; }
  .sema-cat-article__title{ font-size:1.16rem; }
  .sema-cat-related__list{ gap:.5em 1.2em; }
}

@media (prefers-reduced-motion:reduce){
  .sema-cat-pagination .page-numbers,
  .sema-cat-back a:hover .sema-cat-back__arrow::after{ transition:none; }
}
