/* =====================================================================
   藍 v2 全紙面展開（記事・一覧・用語集・About 共通）— れいな 2026-07-11
   本番DOM（.masthead/.article/.card/.side-block/.site-footer…）に直接当てる。
   body.v2 スコープ。style.css の後に読み込む前提の上書きCSS。
   トークンは style_v2.css（トップ用）と同一。
   ===================================================================== */

:root{
  --v2-ink:#1d2b45;
  --v2-sumi:#22242a;
  --v2-cream:#f7f3ea;
  --v2-cream2:#f1ebdd;
  --v2-gold:#b8913d;
  --v2-red:#8e2f2f;
  --v2-hair:rgba(29,43,69,.22);
}

body.v2{background:var(--v2-cream);color:var(--v2-sumi);}

/* ---------- masthead（全ページ共通ヘッダー） ---------- */
body.v2 .masthead{border-bottom:none;padding:22px 0 14px;}
body.v2 .site-name,
body.v2 .site-name a{color:var(--v2-ink);letter-spacing:.1em;}
body.v2 .site-tagline{color:rgba(34,36,42,.55);letter-spacing:.3em;font-size:11px;}
body.v2 .masthead-date{color:rgba(34,36,42,.6);letter-spacing:.22em;font-size:12px;}
body.v2 .masthead-search input{background:#fff;border:1px solid var(--v2-hair);color:var(--v2-sumi);}
body.v2 .global-nav{border-top:1px solid var(--v2-hair);border-bottom:1px solid var(--v2-ink);letter-spacing:.16em;}
body.v2 .global-nav a{color:var(--v2-ink);white-space:nowrap;}  /* 項目内で折らない（中間幅対策・2026-07-12） */
body.v2 .global-nav a.is-active,
body.v2 .global-nav .is-active a{border-bottom:2px solid var(--v2-red);color:var(--v2-ink);}

/* ---------- 記事ページ ---------- */
/* カテゴリ帯→深紅チップ・日付→金キッカー・題→v2墨藍・リード→上罫の紙面部品 */
body.v2 .article-category{
  background:transparent;color:var(--v2-red);border:1px solid rgba(142,47,47,.45);
  letter-spacing:.2em;font-size:11px;padding:5px 12px;
}
body.v2 .article-date{color:var(--v2-gold);letter-spacing:.24em;}
body.v2 .article-title{
  color:var(--v2-ink);font-weight:600;letter-spacing:.03em;line-height:1.6;
}
body.v2 .article-lead{
  border-left:none;background:transparent;
  border-top:3px solid var(--v2-ink);border-bottom:1px solid var(--v2-hair);
  padding:20px 2px 20px;margin-top:26px;
  font-size:16.5px;line-height:2.05;color:rgba(34,36,42,.85);
}
/* 記事ヒーローは生成画像(3:2)の原寸比で全面表示（固定枠coverは上端の焼き込み日付が毎回欠ける=2026-07-12 CEO指摘） */
body.v2 .article-figure img{width:100%;height:auto;aspect-ratio:auto;object-fit:unset;box-shadow:0 16px 40px rgba(29,43,69,.15);}
body.v2 .article-figure figcaption{color:rgba(34,36,42,.55);}

/* 本文見出し＝「今日の三本」カードと同じ上罫の型 */
body.v2 .article-body h2{
  border-top:3px solid var(--v2-ink);border-left:none;background:transparent;
  padding:16px 0 0;margin-top:52px;
  color:var(--v2-ink);font-size:23px;letter-spacing:.06em;line-height:1.6;
}
body.v2 .article-body h3{
  color:var(--v2-ink);border-left:3px solid var(--v2-gold);padding-left:14px;
  font-size:18px;letter-spacing:.04em;
}
body.v2 .article-body a{color:var(--v2-red);text-decoration-color:rgba(142,47,47,.4);text-underline-offset:3px;}
body.v2 .article-body blockquote{
  background:var(--v2-cream2);border-left:3px solid var(--v2-gold);
  padding:18px 22px;color:rgba(34,36,42,.8);
}
body.v2 .article-body hr{border:none;border-top:1px solid var(--v2-hair);}

/* 記事フッターの共有ボタン */
body.v2 .share-btn{border:1px solid var(--v2-hair);color:var(--v2-ink);background:#fff;}
body.v2 .share-btn:hover{border-color:var(--v2-ink);}

/* ---------- 一覧ページ（news/column/howto index） ---------- */
/* 最新1本＝一面扱いで全幅・以降は2カラムのワイドカード */
body.v2 .main > h1,
body.v2 .main > .section-title{color:var(--v2-ink);letter-spacing:.14em;}
body.v2 .card{
  border-top:3px solid var(--v2-ink);padding-top:18px;background:transparent;
}
body.v2 .card:first-of-type{border-top-color:var(--v2-red);}
/* 一覧サムネも原寸比（ソースは全て3:2で統一されているのでグリッドは崩れない） */
body.v2 .card-thumb img{width:100%;height:auto;aspect-ratio:auto;object-fit:unset;box-shadow:0 14px 34px rgba(29,43,69,.14);}
body.v2 .card-category{
  background:transparent;color:var(--v2-red);border:1px solid rgba(142,47,47,.45);
  letter-spacing:.2em;font-size:10.5px;padding:4px 11px;
}
body.v2 .card-date{color:var(--v2-gold);letter-spacing:.2em;}
body.v2 .card-title,
body.v2 .card-title a{color:var(--v2-ink);line-height:1.72;}
body.v2 .card-lead{color:rgba(34,36,42,.68);line-height:2;}

/* 2本目以降を2カラム化（コンテナがグリッド化できる場合のみ・要律判断。
   .cards-grid をコンテナに付けたら有効になる opt-in 設計 */
@media (min-width:901px){
  body.v2 .cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 44px;}
  body.v2 .cards-grid > h1,
  body.v2 .cards-grid > p,
  body.v2 .cards-grid > .pagination,
  body.v2 .cards-grid > .card:first-of-type{grid-column:1 / -1;}
}

/* ---------- サイドバー ---------- */
body.v2 .side-cap{
  color:var(--v2-gold);letter-spacing:.3em;font-size:11px;
  border-top:3px solid var(--v2-ink);padding-top:12px;
}
body.v2 .side-cap-note{color:rgba(34,36,42,.5);}
body.v2 .side-block a{color:var(--v2-sumi);}
body.v2 .side-block a:hover{color:var(--v2-red);}
body.v2 .side-block .is-current{border-left:2px solid var(--v2-red);color:var(--v2-ink);}
body.v2 .side-count{color:var(--v2-gold);}
body.v2 .side-ranking li::marker,
body.v2 .side-ranking .rank-no{color:var(--v2-gold);font-style:italic;}

/* ---------- newsletter CTA（藍帯ミニ） ---------- */
body.v2 .newsletter-cta{
  background:var(--v2-ink);border:none;border-radius:0;
  color:var(--v2-cream);
}
body.v2 .newsletter-cta-head{color:var(--v2-cream);letter-spacing:.14em;}
body.v2 .newsletter-cta-sub{color:rgba(247,243,234,.72);}
body.v2 .newsletter-cta-btn{
  background:var(--v2-gold);color:#20283c;border:none;letter-spacing:.2em;
}

/* ---------- site footer（藍帯・全ページ） ---------- */
body.v2 .site-footer{
  background:var(--v2-ink);color:var(--v2-cream);border-top:none;margin-top:90px;
}
body.v2 .footer-site-name{color:var(--v2-cream);letter-spacing:.26em;font-size:26px;}
body.v2 .footer-site-name::after{content:"。";color:var(--v2-gold);}
body.v2 .footer-note{color:rgba(247,243,234,.72);}
body.v2 .footer-nav a{color:rgba(247,243,234,.78);letter-spacing:.2em;white-space:nowrap;}
body.v2 .footer-nav a:hover{color:var(--v2-gold);}
body.v2 .copyright{color:rgba(247,243,234,.45);letter-spacing:.2em;}

/* ---------- 用語集・About（記事型の流用で足りる想定の微調整） ---------- */
body.v2 .glossary-term,
body.v2 dt{color:var(--v2-ink);}
body.v2 .glossary-pop{border:1px solid var(--v2-hair);box-shadow:0 10px 30px rgba(29,43,69,.14);}
