/* =========================================================
   News styles (archive + single)
   - モノクロ最小・読みやすさ優先
   - header.css とは独立して動くよう変数を再定義
   ========================================================= */
:root { --fg:#333; --bg:#fff; --muted:#666; --line:#e6e6e6; --hover:#f7f7f7; }
body { color:var(--fg); background:var(--bg); }

/* アクセシビリティ */
a:focus-visible { outline:2px solid #000; outline-offset:2px; }

/* 共通 wrap */
.post-type-archive-news .wrap,
.tax-news_type .wrap,
.taxonomy-news_type .wrap,
.single-news .wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 16px;
}

@media (max-width: 900px){
  .post-type-archive-news .wrap,
  .tax-news_type .wrap,
  .taxonomy-news_type .wrap,
  .single-news .wrap { padding: 12px; }
}

/* =========================
   Archive (news)
   ========================= */
.post-type-archive-news h1,
.tax-news_type h1,
.taxonomy-news_type h1 {
  font-size: clamp(1.3rem, 2.6vw, 1.8rem);
  line-height: 1.25;
  margin: .25rem 0 1rem;
}

/* タブ（タイプ切替 / プラットフォーム切替）
   ※ archive-news.php では nav.news-tabs が2つ並ぶ想定 */
.news-tabs {
  display:flex; flex-wrap:wrap; gap:.5rem;
  margin: 1rem 0;
}
.news-tabs a {
  border:1px solid var(--line);
  background:var(--bg);
  color:var(--fg);
  border-radius:999px;
  padding:.35rem .75rem;
  text-decoration:none;
  font-size:.95rem;
  transition: background .15s, border-color .15s;
}
.news-tabs a:hover { background:var(--hover); }
.news-tabs a.is-active,
.news-tabs a[aria-current="page"] {
  background:#000; color:#fff; border-color:#000;
}

/* アーカイブ：記事カード（シンプル） */
.post-type-archive-news .post-list,
.tax-news_type .post-list,
.taxonomy-news_type .post-list {
  border:1px solid var(--line);
  background:#fff; border-radius:10px;
  padding:1rem; margin:0 0 1rem;
  transition: transform .06s ease, box-shadow .2s ease, border-color .2s ease;
}
.post-type-archive-news .post-list:hover,
.tax-news_type .post-list:hover,
.taxonomy-news_type .post-list:hover {
  transform: translateY(-1px);
  border-color:#ddd; box-shadow:0 6px 14px rgba(0,0,0,.06);
}

.post-type-archive-news .post-list h2,
.tax-news_type .post-list h2,
.taxonomy-news_type .post-list h2 {
  font-size:1.05rem; line-height:1.35; margin:.25rem 0 .25rem;
}
.post-type-archive-news .post-list h2 a,
.tax-news_type .post-list h2 a,
.taxonomy-news_type .post-list h2 a {
  color:inherit; text-decoration:none;
}
.post-type-archive-news .post-list h2 a:hover,
.tax-news_type .post-list h2 a:hover,
.taxonomy-news_type .post-list h2 a:hover {
  text-decoration:underline;
}

.post-type-archive-news .post-list time,
.tax-news_type .post-list time,
.taxonomy-news_type .post-list time {
  display:inline-block; color:var(--muted);
  font-size:.9rem; margin-bottom:.25rem;
}

/* 抜粋：4行で切る（対応ブラウザのみ） */
.post-type-archive-news .post-list > div,
.tax-news_type .post-list > div,
.taxonomy-news_type .post-list > div {
  color:var(--fg); line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ページネーション（the_posts_pagination 既定に対応） */
.navigation.pagination .nav-links {
  display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; margin-top:1rem;
}
.navigation.pagination .page-numbers {
  border:1px solid var(--line); background:#fff; color:var(--fg);
  border-radius:8px; padding:.35rem .6rem; text-decoration:none;
}
.navigation.pagination .page-numbers.current {
  background:#000; color:#fff; border-color:#000;
}
.navigation.pagination .page-numbers:hover:not(.current) { background:var(--hover); }

/* =========================
   Single (news)
   ========================= */
.single-news .wrap { max-width:900px; }

.single-news .article-header { display:grid; gap:.75rem; }
.single-news .breadcrumbs { font-size:.9rem; color:var(--muted); }
.single-news .breadcrumbs a { color:inherit; text-decoration:none; }
.single-news .breadcrumbs a:hover { text-decoration:underline; }
.single-news .breadcrumbs .sep { margin:0 .35rem; }

.single-news .badges { display:flex; gap:.4rem; align-items:center; }
.single-news .badge {
  display:inline-block; border:1px solid var(--line); border-radius:9999px;
  padding:.15rem .55rem; font-size:.85rem; line-height:1; background:#fff;
}
.single-news .badge.type { background:#efefef; }
.single-news .badge.updated { background:#E0F7FA; }

.single-news .title {
  font-size: clamp(1.4rem, 3vw, 2rem);
  line-height: 1.25; margin:.25rem 0 .25rem;
}

.single-news .meta {
  color:var(--muted); font-size:.95rem;
  display:flex; align-items:center; flex-wrap:wrap; gap:.25rem .5rem;
}
.single-news .meta .dot { opacity:.6; }

/* 視聴先（platform） */
.single-news .platform-chips {
  list-style:none; padding:0; margin:.25rem 0 0;
  display:flex; gap:.4rem; flex-wrap:wrap;
}
.single-news .platform-chips a {
  border:1px solid var(--line); border-radius:9999px; padding:.25rem .6rem;
  text-decoration:none; color:var(--fg); background:#fff;
}
.single-news .platform-chips a:hover { background:var(--hover); }

/* ヒーロー画像 */
.single-news .hero-image {
  width:100%; height:auto; border-radius:10px;
  display:block; margin:.25rem 0 0;
}

/* 共有 */
.single-news .share { display:flex; gap:.5rem; align-items:center; margin-top:.25rem; }
.single-news .btn-share, .single-news .btn-x {
  border:1px solid var(--line); background:#fff; color:#333;
  border-radius:8px; padding:.35rem .6rem; font-size:.9rem; text-decoration:none;
}
.single-news .btn-share:hover, .single-news .btn-x:hover { background:var(--hover); }

/* 本文 */
.single-news .entry-content { margin-top:1rem; line-height:1.8; font-size:1rem; }
.single-news .entry-content h2 { font-size:1.35rem; margin:1.25rem 0 .5rem; }
.single-news .entry-content h3 { font-size:1.15rem; margin:1rem 0 .4rem; }
.single-news .entry-content p  { margin:.8rem 0; }
.single-news .entry-content ul,
.single-news .entry-content ol { margin:.6rem 0 .8rem 1.2em; }
.single-news .entry-content li { margin:.25rem 0; }
.single-news .entry-content blockquote {
  border-left:4px solid var(--line);
  padding:.25rem .75rem; margin:.8rem 0; color:#111; background:#fafafa;
}
.single-news .entry-content img,
.single-news .entry-content figure img { max-width:100%; height:auto; }
.single-news .entry-content figure { margin:1rem 0; }
.single-news .entry-content figcaption {
  font-size:.9rem; color:var(--muted); text-align:center; margin-top:.25rem;
}
.single-news .entry-content table {
  width:100%; border-collapse:collapse; margin:1rem 0; font-size:.95rem;
}
.single-news .entry-content th, .single-news .entry-content td {
  border:1px solid var(--line); padding:.5rem .6rem; text-align:left;
}
.single-news .entry-content pre, .single-news .entry-content code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:.95em;
}
.single-news .entry-content pre {
  background:#f6f6f6; border:1px solid var(--line); border-radius:8px;
  padding:.75rem; overflow:auto;
}

/* <!--nextpage--> */
.single-news .page-links {
  display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; margin-top:1rem;
}
.single-news .page-links .page-link {
  border:1px solid var(--line); border-radius:8px;
  padding:.35rem .6rem; background:#fff;
}

/* フッター（ソース/前後ナビ） */
.single-news .article-footer { margin-top:1.25rem; }
.single-news .sources h2 { font-size:1.1rem; margin:.5rem 0; }
.single-news .sources ul { list-style:disc; padding-left:1.2em; }
.single-news .sources a { color:inherit; }
.single-news .post-nav {
  display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; padding-top:1rem;
  border-top:1px solid var(--line);
}
.single-news .post-nav a { text-decoration:none; color:var(--fg); }
.single-news .post-nav a:hover { text-decoration:underline; }

/* 関連ニュース */
.related-news { margin-top:2rem; }
.related-news h2 { font-size:1.2rem; margin:0 0 .6rem; }
.related-news .related-grid {
  display:grid; gap:1rem; grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
}
.related-news .card {
  border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#fff;
  transition: transform .06s ease, box-shadow .2s ease, border-color .2s ease;
}
.related-news .card:hover {
  transform: translateY(-1px);
  border-color:#ddd; box-shadow:0 6px 14px rgba(0,0,0,.06);
}
.related-news .card a { display:block; color:inherit; text-decoration:none; }
.related-news .card h3 { font-size:1rem; margin:.4rem .75rem; }
.related-news .card time { color:var(--muted); font-size:.9rem; margin:0 .75rem .6rem; display:block; }








/* ===== News Single minimal styles ===== */
body.single-news {
  --fg: #333;
  --bg: #fff;
  --muted: #666;
  --line: #e6e6e6;
  --hover: #f7f7f7;
  color: var(--fg);
  background: var(--bg);
}

body.single-news .wrap {
  max-width: 900px;            /* 読みやすい本文幅 */
  margin: 0 auto;
  padding: 16px;
}

/* ヘッダー周り */
.single-news .article-header {
  display: grid;
  gap: .75rem;
}
.single-news .breadcrumbs {
  font-size: .9rem;
  color: var(--muted);
}
.single-news .breadcrumbs a {
  color: inherit;
  text-decoration: none;
}
.single-news .breadcrumbs a:hover { text-decoration: underline; }
.single-news .breadcrumbs .sep { margin: 0 .35rem; }

.single-news .badges { display:flex; gap:.4rem; align-items:center; }
.single-news .badge {
  display:inline-block; border:1px solid var(--line); border-radius:9999px;
  padding:.15rem .55rem; font-size:.85rem; line-height:1; background:#fff;
}
.single-news .badge.type { background:#efefef; }
.single-news .badge.updated { background:#E0F7FA; }

.single-news .title {
  font-size: clamp(1.4rem, 3vw, 2rem);
  line-height: 1.25;
  margin: .25rem 0 .25rem;
}

.single-news .meta {
  color: var(--muted);
  font-size: .95rem;
  display:flex; align-items:center; flex-wrap:wrap; gap:.25rem .5rem;
}
.single-news .meta .dot { opacity:.6; }

/* 視聴先（platform）チップ */
.single-news .platform-chips {
  list-style:none; padding:0; margin:.25rem 0 0;
  display:flex; gap:.4rem; flex-wrap:wrap;
}
.single-news .platform-chips a {
  border:1px solid var(--line); border-radius:9999px; padding:.25rem .6rem;
  text-decoration:none; color:var(--fg); background:#fff;
}
.single-news .platform-chips a:hover { background:var(--hover); }

/* ヒーロー画像 */
.single-news .hero-image {
  width:100%; height:auto; border-radius:10px;
  display:block; margin:.25rem 0 0;
}

/* 共有ボタン（最小） */
.single-news .share { display:flex; gap:.5rem; align-items:center; margin-top:.25rem; }
.single-news .btn-share,
.single-news .btn-x {
  border:1px solid var(--line); background:#fff; color:#333;
  border-radius:8px; padding:.35rem .6rem; font-size:.9rem; text-decoration:none;
}
.single-news .btn-share:hover, .single-news .btn-x:hover { background:var(--hover); }

/* 本文（組版） */
.single-news .entry-content {
  margin-top: 1rem;
  line-height: 1.8;
  font-size: 1rem;
}
.single-news .entry-content h2 { font-size:1.35rem; margin:1.25rem 0 .5rem; }
.single-news .entry-content h3 { font-size:1.15rem; margin:1rem 0 .4rem; }
.single-news .entry-content p  { margin: .8rem 0; }
.single-news .entry-content ul,
.single-news .entry-content ol { margin: .6rem 0 .8rem 1.2em; }
.single-news .entry-content li { margin:.25rem 0; }
.single-news .entry-content blockquote {
  border-left:4px solid var(--line);
  padding:.25rem .75rem; margin:.8rem 0; color:#111;
  background:#fafafa;
}
.single-news .entry-content img,
.single-news .entry-content figure img { max-width:100%; height:auto; }
.single-news .entry-content figure { margin:1rem 0; }
.single-news .entry-content figcaption {
  font-size:.9rem; color:var(--muted); text-align:center; margin-top:.25rem;
}
.single-news .entry-content table {
  width:100%; border-collapse:collapse; margin:1rem 0; font-size:.95rem;
}
.single-news .entry-content th,
.single-news .entry-content td {
  border:1px solid var(--line); padding:.5rem .6rem; text-align:left;
}
.single-news .entry-content pre,
.single-news .entry-content code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:.95em;
}
.single-news .entry-content pre {
  background:#f6f6f6; border:1px solid var(--line); border-radius:8px;
  padding:.75rem; overflow:auto;
}

/* ページ分割ナビ（<!--nextpage-->） */
.single-news .page-links {
  display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; margin-top:1rem;
}
.single-news .page-links .page-link {
  border:1px solid var(--line); border-radius:8px; padding:.35rem .6rem; background:#fff;
}

/* フッター（ソース/前後ナビ） */
.single-news .article-footer { margin-top: 1.25rem; }
.single-news .sources h2 { font-size:1.1rem; margin:.5rem 0; }
.single-news .sources ul { list-style:disc; padding-left:1.2em; }
.single-news .sources a { color:inherit; }
.single-news .post-nav {
  display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; padding-top:1rem;
  border-top:1px solid var(--line);
}
.single-news .post-nav a { text-decoration:none; color:var(--fg); }
.single-news .post-nav a:hover { text-decoration:underline; }

/* 関連ニュース */
.related-news { margin-top: 2rem; }
.related-news h2 { font-size:1.2rem; margin:0 0 .6rem; }
.related-news .related-grid {
  display:grid; gap:1rem; grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
}
.related-news .card {
  border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#fff;
  transition: transform .06s ease, box-shadow .2s ease, border-color .2s ease;
}
.related-news .card:hover {
  transform: translateY(-1px);
  border-color:#ddd; box-shadow:0 6px 14px rgba(0,0,0,.06);
}
.related-news .card a { display:block; color:inherit; text-decoration:none; }
.related-news .card h3 { font-size:1rem; margin:.4rem .75rem; }
.related-news .card time { color:var(--muted); font-size:.9rem; margin:0 .75rem .6rem; display:block; }

/* アクセシビリティ */
body.single-news a:focus-visible {
  outline:2px solid #000; outline-offset:2px;
}

/* レスポンシブ微調整 */
@media (max-width: 900px) {
  body.single-news .wrap { padding:12px; }
  .single-news .entry-content { font-size: 1rem; }
}

