/* 庭木剪定レポート ブログ固有スタイル（剪定チョーク・寸法ラベル・若草） */
/* ヘッダー/フッター/ナビ/記事レイアウト・カード基本のCSSは ../styles.css を利用（ここには書かない） */

/* ---------- 一覧ページ ---------- */
.index-stack {
  padding-top: 56px;
  padding-bottom: 88px;
}

.index-stack > section:first-child { margin-bottom: 52px; }

.index-stack > section > h2 {
  font-size: 1.6rem;
  margin: 0 0 6px;
  padding-left: 16px;
  border-left: 6px solid var(--accent-2);
}
.index-stack > section > h2::after {
  content: "";
  display: block;
  height: 3px;
  width: 44px;
  background: var(--accent);
  margin-top: 10px;
}

.index-stack .section-lead {
  color: var(--muted);
  font-size: .92rem;
  margin: 0;
}

/* ---------- 記事一覧カード: 木のタグ風の番号付きカード ---------- */
.blog-cards .card-thumb { position: relative; overflow: hidden; border-radius: 12px 12px 0 0; }
.blog-cards .card-thumb::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 5px;
  background: linear-gradient(90deg, var(--accent) 0 70%, var(--accent-2) 70% 100%);
}
.blog-cards .card-num {
  display: block;
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .2em;
  color: var(--accent-deep);
}
.blog-cards .blog-card > a { display: block; color: inherit; text-decoration: none; height: 100%; }
.blog-cards .blog-card > a:hover h3 { color: var(--accent-deep); }
.blog-cards .blog-card > a:hover { border-color: var(--accent); }

/* ---------- 記事ページ ---------- */
.article > h1 {
  font-size: clamp(1.55rem, 2.9vw, 2.15rem);
  line-height: 1.6;
  letter-spacing: .04em;
  margin: 0 0 24px;
}

.article > .source-note { margin: 0 0 26px; }

.article-content h2 { scroll-margin-top: calc(62px + 20px); }
.article-content p { margin: 0 0 1.4em; }

/* ---------- シェアボックス ---------- */
.article > .share-box {
  margin: 44px 0 34px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent-2);
}

/* ---------- 目次・サイドバー ---------- */
.content-layout .sidebar { position: static; }

/* ---------- モバイル ---------- */
@media (max-width: 800px) {
  .index-stack { padding-top: 40px; padding-bottom: 64px; }
}

/* デプロイQAゲート必須: article-content の左右パディング（短縮形不可） */
@media (max-width:768px){ .article-content { padding-left:16px; padding-right:16px; } }

/* HEADING-WRAP:START 見出し最終行孤立文字対策 */
h1,h2,h3,h4,.hero-title,.page-title,.card-title{ text-wrap:balance; word-break:auto-phrase; line-break:strict; overflow-wrap:break-word; }
/* HEADING-WRAP:END */

/* ADSENSE-ANNO:BEGIN */
/* Neutralize Google AdSense auto-annotation links that break text flow */
a.google-anno,
a[data-google-vignette] {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
  pointer-events: none;
  cursor: text;
}
/* ADSENSE-ANNO:END */
