/* ============================================================
   実家相続コンパス 記事ページ用スキン「相談窓口（温かい信頼）」
   実DOM（Codex製 jsc-article / jsc-article-body / jsc-post-card / jsc-button 等）に対し、
   緑系のsite-compass.cssの上から温かい配色を上書きする。
   読み込み：is_single() のみ、依存 jsc-chrome（後勝ち）。
   ============================================================ */
:root{
  --jsa-cream:#F3EEE5; --jsa-paper:#FFFFFF; --jsa-beige:#EDE7DB;
  --jsa-ink:#2B2A26; --jsa-mute:#6E6A60;
  --jsa-forest:#27432F; --jsa-forest-deep:#1C3123; --jsa-forest-soft:#E3EAE2;
  --jsa-clay:#C5613A; --jsa-clay-deep:#AC5230;
  --jsa-line:#E3DDD0; --jsa-line-soft:#EDE8DD;
  --jsa-serif:"Noto Serif JP",serif; --jsa-sans:"Noto Sans JP",sans-serif;
}

/* ---- レイアウト修正: Cocoon親の .main(width:860px) / .sidebar(width:376px) で
   合計1236px > 1120px container となり flex-wrap で sidebar が下落していた。
   #main 780 + gap 32 + #sidebar 300 = 1112px < 1120px に収まるよう強制。
   media query なし・最大specificity・!important で全breakpointに適用（mobile は別途 max-width で stacking）。 ---- */
/* 2カラム配置: position:absolute 方式（唯一動いた）+ パンくず行ぶん top オフセット */
html body.single.single-post #content-in{
  position:relative !important;
  padding-right:332px !important;     /* sidebar 300 + gap 32 */
  width:min(100% - 32px, 1120px) !important;
  margin-inline:auto !important;
  box-sizing:border-box !important;
}
html body.single.single-post #main{
  width:auto !important;
  max-width:780px !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}
html body.single.single-post #sidebar{
  position:absolute !important;
  top:230px !important;       /* パンくず + バッジ + 投稿日行 + 余白を避けて H1 と揃える */
  right:0 !important;
  width:300px !important;
  margin:0 !important;
  float:none !important;
  display:block !important;
}
@media (max-width:1023px){
  html body.single.single-post #content-in{
    padding-right:0 !important;
  }
  html body.single.single-post #sidebar{
    position:static !important;
    width:100% !important;
    margin-top:32px !important;
  }
  html body.single.single-post #main{
    max-width:100% !important;
  }
}
html body.single.single-post #main{
  flex:0 1 780px !important;
  width:780px !important;
  max-width:780px !important;
  min-width:0 !important;
  margin:0 !important;
  float:none !important;
}
html body.single.single-post #sidebar{
  flex:0 0 300px !important;
  width:300px !important;
  min-width:0 !important;
  margin:0 !important;
  float:none !important;
}
/* SP/タブレット（1024px未満）は1カラム縦並びに戻す（position:static で flow に戻す） */
@media (max-width:1023px){
  html body.single.single-post #content-in{
    padding-right:0 !important;
  }
  html body.single.single-post #sidebar{
    position:static !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:32px !important;
  }
  html body.single.single-post #main{
    max-width:100% !important;
  }
}

/* ---- 地色とベースフォント ---- */
body.single{background:var(--jsa-cream) !important;}
body.single .jsc-article-body{
  font-family:var(--jsa-sans) !important;
  color:var(--jsa-ink) !important;
  line-height:1.95;
  letter-spacing:.02em;
}

/* ---- パンくず ---- */
body.single .jsc-breadcrumb{ color:var(--jsa-mute) !important; font-size:12.5px; }
body.single .jsc-breadcrumb a{ color:var(--jsa-forest) !important; }
body.single .jsc-breadcrumb a:hover{ color:var(--jsa-clay) !important; }

/* ---- 記事ヘッダー（タイトル・メタ） ---- */
body.single .jsc-article-header{ border-bottom:1px solid var(--jsa-line) !important; }
body.single .jsc-article-title{
  font-family:var(--jsa-serif) !important; font-weight:600 !important;
  color:var(--jsa-ink) !important;
  letter-spacing:.03em;
}
body.single .jsc-article-header__meta{ color:var(--jsa-mute) !important; }
body.single .jsc-category-label{ color:var(--jsa-clay) !important; font-weight:600 !important; }

/* ---- 見出し（H2 緑ボックスを clay 縦罫線に） ---- */
body.single .jsc-article-body h2,
body.single .jsc-article-body h3,
body.single .jsc-article-body h4{
  color:var(--jsa-ink) !important;
  font-family:var(--jsa-serif) !important;
  font-weight:600 !important;
  background:none !important;
}
body.single .jsc-article-body h2{
  border:0 !important;
  border-left:5px solid var(--jsa-clay) !important;
  border-bottom:1px solid var(--jsa-line) !important;
  border-radius:0 !important;
  padding:.4em 0 .5em .8em !important;
  font-size:23px !important;
  line-height:1.5 !important;
  margin:48px 0 20px !important;
}
body.single .jsc-article-body h3{
  color:var(--jsa-forest) !important;
  border:0 !important;
  border-left:4px solid var(--jsa-forest-soft) !important;
  border-bottom:0 !important;
  padding:.15em 0 .15em .6em !important;
  font-size:19.5px !important;
}
body.single .jsc-article-body h4{
  border-bottom:1px dashed var(--jsa-line) !important;
  padding-bottom:.2em !important;
  font-size:17px !important;
}

/* ---- 本文リンク ---- */
body.single .jsc-article-body a{
  color:var(--jsa-clay-deep) !important;
  text-decoration:underline; text-underline-offset:2px;
  text-decoration-color:var(--jsa-line);
}
body.single .jsc-article-body a:hover{
  color:var(--jsa-clay) !important;
  text-decoration-color:var(--jsa-clay);
}

/* ---- リスト・引用 ---- */
body.single .jsc-article-body ul:not(.wp-block-archives):not(.wp-block-categories) > li{
  list-style:none; padding-left:22px; position:relative;
}
body.single .jsc-article-body ul:not(.wp-block-archives):not(.wp-block-categories) > li::before{
  content:""; position:absolute; left:2px; top:.72em;
  width:7px; height:7px; border-radius:50%; background:var(--jsa-clay);
}
body.single .jsc-article-body blockquote{
  background:var(--jsa-beige) !important;
  border-left:4px solid var(--jsa-forest-soft) !important;
  border-radius:0 8px 8px 0;
  padding:16px 20px;
  color:#4A483F !important;
}

/* ---- 目次（TOC：Cocoon標準 .toc） ---- */
body.single .toc{
  background:var(--jsa-cream) !important;
  border:1px solid var(--jsa-line) !important;
  border-radius:10px !important;
  padding:18px 22px !important;
}
body.single .toc .toc-title{
  color:var(--jsa-forest) !important;
  font-family:var(--jsa-serif) !important;
  font-weight:600 !important;
}
body.single .toc a{ color:var(--jsa-ink) !important; text-decoration:none !important; }
body.single .toc a:hover{ color:var(--jsa-clay) !important; }
body.single .toc ol > li::marker,
body.single .toc ul > li::marker{ color:var(--jsa-clay); }

/* ---- ボタン（jsc-button） ---- */
body.single .jsc-button--primary{
  background:var(--jsa-clay) !important; color:#fff !important;
  border:0 !important; border-radius:8px !important;
  box-shadow:0 12px 24px -14px rgba(172,82,48,.9) !important;
  font-weight:700 !important; transition:.25s;
}
body.single .jsc-button--primary:hover{
  background:var(--jsa-clay-deep) !important;
  transform:translateY(-2px);
}
body.single .jsc-button--secondary{
  background:#fff !important; color:var(--jsa-ink) !important;
  border:1.5px solid var(--jsa-line) !important; border-radius:8px !important;
  font-weight:600 !important;
}
body.single .jsc-button--secondary:hover{
  border-color:var(--jsa-clay) !important; color:var(--jsa-clay) !important;
}

/* ---- 記事末尾CTA（jsc-article-cta） ---- */
body.single .jsc-article-cta__card{
  background:#fff !important;
  border:1px solid var(--jsa-line) !important;
  border-radius:14px !important;
}
body.single .jsc-article-cta__card--primary{
  background:linear-gradient(135deg, var(--jsa-forest-deep), var(--jsa-forest)) !important;
  color:#fff !important;
  border-color:transparent !important;
}
body.single .jsc-article-cta__card--primary .jsc-article-cta__title{ color:#fff !important; }
body.single .jsc-article-cta__eyebrow,
body.single .jsc-eyebrow{
  color:var(--jsa-clay) !important;
  font-weight:700 !important;
  letter-spacing:.1em;
}
body.single .jsc-article-cta__card--primary .jsc-article-cta__eyebrow{ color:#E2A483 !important; }
body.single .jsc-article-cta__title{
  font-family:var(--jsa-serif) !important;
  font-weight:600 !important;
  color:var(--jsa-ink) !important;
}

/* ---- 関連記事カード（jsc-post-card） ---- */
body.single .jsc-related__grid .jsc-post-card,
body.single .jsc-post-card{
  background:#fff !important;
  border:1px solid var(--jsa-line) !important;
  border-radius:12px !important;
  overflow:hidden;
  transition:.25s;
}
body.single .jsc-post-card:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 44px -32px rgba(43,42,38,.45);
}
body.single .jsc-post-card__title{
  font-family:var(--jsa-serif) !important;
  color:var(--jsa-ink) !important;
  font-weight:600 !important;
}
body.single .jsc-post-card__label{
  color:var(--jsa-clay) !important;
  font-weight:700 !important;
}
body.single .jsc-post-card__excerpt,
body.single .jsc-post-card__meta{ color:var(--jsa-mute) !important; }
body.single .jsc-section-heading{
  font-family:var(--jsa-serif) !important;
  color:var(--jsa-ink) !important;
  border-bottom:2px solid var(--jsa-forest) !important;
  display:inline-block;
  padding-bottom:6px;
}

/* ---- サイドバー（jsc-sidebar / jsc-sidebar-card） ---- */
body.single .jsc-sidebar .widget-sidebar-title,
body.single .jsc-sidebar .hkn-side-title{
  font-family:var(--jsa-serif) !important;
  color:var(--jsa-ink) !important;
  border-left:4px solid var(--jsa-clay) !important;
  padding-left:12px !important;
  background:none !important;
}
/* サイドバーカード（diagnosis / estimate variants 含む全てを統一表示） */
body.single .jsc-sidebar-card{
  background:#fff !important;
  border:1px solid var(--jsa-line) !important;
  border-radius:14px !important;
  padding:22px !important;
  display:block !important;
  box-shadow:0 18px 40px -32px rgba(43,42,38,.3) !important;
}
body.single .jsc-sidebar-card > *{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
body.single .jsc-sidebar-card__eyebrow{
  color:var(--jsa-clay) !important;
  font-size:11.5px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  margin:0 0 8px !important;
  text-transform:uppercase;
}
body.single .jsc-sidebar-card h2{
  color:var(--jsa-ink) !important;
  font-family:var(--jsa-serif) !important;
  font-size:18px !important;
  font-weight:600 !important;
  margin:0 0 10px !important;
  border:0 !important;
  padding:0 !important;
  background:none !important;
}
body.single .jsc-sidebar-card p:not(.jsc-sidebar-card__eyebrow){
  color:var(--jsa-mute) !important;
  font-size:13.5px !important;
  line-height:1.7 !important;
  margin:0 0 14px !important;
}
body.single .jsc-sidebar-card .jsc-button{
  display:inline-flex !important;
  width:100% !important;
  justify-content:center !important;
}
body.single .jsc-sidebar-card--diagnosis{
  background:linear-gradient(135deg,var(--jsa-forest-deep),var(--jsa-forest)) !important;
  border-color:transparent !important;
  color:#fff !important;
}
body.single .jsc-sidebar-card--diagnosis .jsc-sidebar-card__eyebrow{
  color:#E2A483 !important;
}
body.single .jsc-sidebar-card--diagnosis h2{ color:#fff !important; }
body.single .jsc-sidebar-card--diagnosis p:not(.jsc-sidebar-card__eyebrow){ color:#CBD3CB !important; }

/* ---- サイドバーCTA（href は /estimate/ のまま・色だけ温かく） ---- */
body.single .hkn-sidebar-cta a{
  background:var(--jsa-forest) !important; color:#fff !important;
  border-radius:12px !important; border:0 !important;
  box-shadow:0 18px 40px -28px rgba(28,49,35,.6);
}
body.single .hkn-sidebar-cta-badge{ background:var(--jsa-clay) !important; color:#fff !important; }
body.single .hkn-sidebar-cta-title{ font-family:var(--jsa-serif) !important; color:#fff !important; }
body.single .hkn-sidebar-cta-desc{ color:#CBD3CB !important; }
body.single .hkn-sidebar-cta-btn{
  background:var(--jsa-clay) !important; color:#fff !important;
  border-radius:8px !important; font-weight:700 !important;
}
body.single .hkn-sidebar-cta a:hover .hkn-sidebar-cta-btn{ background:var(--jsa-clay-deep) !important; }
