/* ============================================================
   記事（自社コンテンツ）強化：装飾アップ ＋ インライン目次
   main.css の後に読み込み（上書き前提）。全記事ページ共通。
   ============================================================ */

/* 読み進みバー（上部） */
.article-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:120;
  background:linear-gradient(90deg,var(--gold,#c4943a),#e6c078);transition:width .1s linear}

/* リード（導入文）に金の縦罫 */
.article-page .article-header .lead{
  border-left:3px solid var(--gold,#c4943a);
  padding-left:18px;
  font-size:clamp(1rem,1.5vw,1.12rem);
}

/* h2：金の番号＋下線でセクション感を強調 */
.article-body h2{
  border-left:none !important; padding-left:0 !important;
  margin:70px 0 22px !important;
  padding-bottom:14px !important;
  border-bottom:1px solid var(--gold-soft,rgba(196,148,58,.30)) !important;
  scroll-margin-top:92px;
}
.article-body h2::before{
  color:var(--gold,#c4943a);
  font-family:'Georgia',serif;
  font-size:1.5rem;
  letter-spacing:.06em;
  font-weight:700;
  margin-bottom:6px;
  opacity:.95;
}
/* h3：横線を金の縦マーカーに */
.article-body h3::before{
  background:var(--gold,#c4943a) !important;
  width:3px !important; height:1.05em !important;
  top:.18em !important; border-radius:2px;
}
.article-body h3{ padding-left:15px !important; padding-top:0 !important; margin-top:44px !important; }

/* リスト：金のカスタムマーカー */
.article-body ul{ margin-left:2px; }
.article-body ul li{ position:relative; padding-left:22px; list-style:none !important; }
.article-body ul li::before{
  content:''; position:absolute; left:5px; top:.62em;
  width:6px; height:6px; border-radius:50%;
  background:var(--gold,#c4943a);
}

/* テーブル：ゼブラ＋金ヘッダー */
.article-body table{ border:1px solid var(--border-soft,#e8e4dc); box-shadow:0 10px 28px -16px rgba(40,28,10,.28); }
.article-body th{
  background:var(--gold-bg,rgba(196,148,58,.10)) !important;
  color:var(--ink,#1a1815) !important;
  border-bottom:2px solid var(--gold-soft,rgba(196,148,58,.32)) !important;
}
.article-body tbody tr:nth-child(even){ background:rgba(196,148,58,.045); }
.article-body td:first-child{ font-weight:600; color:var(--ink,#1a1815); }

/* まとめ（結論）ボックスを金グラデのカードに */
.article-body .summary-box{
  background:linear-gradient(135deg,var(--gold-bg,rgba(196,148,58,.12)),transparent 70%);
  border:1px solid var(--gold-soft,rgba(196,148,58,.32));
  border-radius:16px;
  padding:26px 30px;
  margin:46px 0;
}
.article-body .summary-box h4{
  font-family:var(--serif,'Noto Serif JP',serif);
  font-size:1.12rem; color:var(--gold-dark,#a67b2e); margin:0 0 10px;
  display:flex; align-items:center; gap:9px;
}
.article-body .summary-box h4::before{
  content:''; display:inline-block; width:16px; height:16px; flex:none;
  background:var(--gold,#c4943a);
  -webkit-mask:no-repeat center/contain; mask:no-repeat center/contain;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");
}

/* ── インライン目次 ── */
.art-toc{
  margin:6px 0 46px;
  padding:22px 26px 14px;
  border:1px solid var(--border-soft,#e8e4dc);
  border-radius:16px;
  background:var(--bg-card,#fff);
  box-shadow:0 12px 32px -20px rgba(40,28,10,.28);
}
.art-toc__ttl{
  font-size:.64rem; letter-spacing:.22em; text-transform:uppercase;
  font-weight:700; color:var(--gold,#c4943a); margin:0 0 14px;
  display:flex; align-items:center; gap:9px;
}
.art-toc__ttl::before{ content:''; width:20px; height:1px; background:var(--gold,#c4943a); }
.art-toc ol{ list-style:none; margin:0; padding:0; counter-reset:atoc; columns:2; column-gap:34px; }
@media(max-width:640px){ .art-toc ol{ columns:1; } }
.art-toc li{ counter-increment:atoc; break-inside:avoid; }
.art-toc a{
  display:flex; gap:10px; align-items:baseline;
  padding:8px 10px; border-radius:9px;
  font-size:.9rem; line-height:1.5; color:var(--text,#333); text-decoration:none;
  transition:background .15s,color .15s;
}
.art-toc a::before{
  content:counter(atoc,decimal-leading-zero);
  font-family:'Georgia',serif; font-size:.74rem; color:var(--gold,#c4943a); font-weight:700; flex:0 0 auto;
}
.art-toc a:hover{ background:var(--gold-bg,rgba(196,148,58,.1)); }
.art-toc a.active{ background:var(--gold-bg,rgba(196,148,58,.14)); color:var(--gold-dark,#a67b2e); font-weight:700; }

@media(prefers-reduced-motion:reduce){ .article-progress{transition:none} }

/* この記事に登場する作曲家（記事→作曲家 内部リンク） */
.article-composers{ margin:54px 0 6px; padding-top:26px; border-top:1px solid var(--gold-soft,rgba(196,148,58,.28)); }
.article-composers>h3{ font-size:.95rem; letter-spacing:.04em; margin:0 0 16px !important; padding:0 !important; color:var(--ink,#1a1815); }
.article-composers>h3::before{ content:none !important; display:none !important; }
.article-composers__row{ display:flex; flex-wrap:wrap; gap:10px 12px; }
.acomp{ display:inline-flex; align-items:center; gap:10px; padding:6px 15px 6px 6px;
  border:1px solid var(--border-soft,rgba(0,0,0,.09)); border-radius:999px;
  background:var(--bg-card,#fff); text-decoration:none;
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease; }
.acomp:hover{ border-color:var(--gold,#c4943a); box-shadow:0 7px 18px -11px rgba(196,148,58,.5); transform:translateY(-1px); }
.acomp__ava{ width:34px; height:34px; border-radius:50%; overflow:hidden; flex:none;
  background:linear-gradient(135deg,#efe6d3,#dcae5f); display:block; }
.acomp__ava img{ width:100%; height:100%; object-fit:cover; display:block; }
.acomp__ava--none{ position:relative; }
.acomp__name{ font-size:.86rem; color:var(--ink,#1a1815); font-weight:600; white-space:nowrap; }
/* この記事の入れ子リストマーカーが chip 内に出ないように打ち消す */
.article-composers ul li::before, .article-composers li::before{ content:none !important; }
