/* 目次ブロック cs/toc(表示側)。ブロックが描画されたページでだけ読み込まれる */

.cs-toc {
  margin: 24px 0;
}
.cs-toc-details {
  background: #FFFBF7;
  border: 1px solid rgba(10, 10, 10, 0.15);
  padding: 20px 24px;
}
.cs-toc-summary {
  cursor: pointer;
  font-weight: 700;
}
.cs-toc-list {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
}
.cs-toc-list li {
  margin: 8px 0;
}
.cs-toc-sub {
  list-style: none;
  margin: 8px 0 0;
  padding-left: 1.2em;
}
.cs-toc-sub .cs-toc-h3 {
  font-size: 0.92em;
}
.cs-toc a {
  color: #0A0A0A;
  text-decoration: none;
}
.cs-toc a:hover,
.cs-toc a:focus {
  color: #0F6E56;
  text-decoration: underline;
}

/* ジャンプ先の見出しが sticky ヘッダー(デスクトップのみ・高さ76px)に
   隠れないようにオフセットする。モバイルはヘッダー非固定なので余白ぶんだけ */
.wp-block-post-content h2,
.wp-block-post-content h3 {
  scroll-margin-top: 24px;
}
@media (min-width: 681px) {
  .wp-block-post-content h2,
  .wp-block-post-content h3 {
    scroll-margin-top: 96px;
  }
  /* 管理バー表示中(ログイン時)はその高さも足す(header.cssのtopと同じ内訳) */
  body.admin-bar .wp-block-post-content h2,
  body.admin-bar .wp-block-post-content h3 {
    scroll-margin-top: 142px; /* 96 + 46 */
  }
}
@media (min-width: 783px) {
  body.admin-bar .wp-block-post-content h2,
  body.admin-bar .wp-block-post-content h3 {
    scroll-margin-top: 128px; /* 96 + 32 */
  }
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
