/* ============================================================
   ルカデンタルクリニック ブログ記事装飾CSS
   対象: ObotCRAFTで生成し、WordPressにインポートした記事本文
        ( <div class="obotcraft-article">...</div> )
   このファイルはテーマの追加CSSとは別に、FTPで固定ファイルとして
   配置し、今後スタッフが同じ構造の記事を追加しても自動的に
   同じ装飾が当たるようにするための共通スタイルです。

   注意: このテーマ(cure_tcd082)はCSSの詳細度が強く、上書きは
   ほぼ全プロパティに !important が必要（実測済み）。
   ============================================================ */

/* ---- 全体 ---- */
.obotcraft-article {
  color: #1A1A1A !important;
}

/* ---- アイキャッチ画像 ---- */
.obotcraft-article .article-eyecatch {
  margin: 0 0 48px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.obotcraft-article .article-eyecatch img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

/* ---- 見出し h2（枠で囲んで強調。左揃え）---- */
.obotcraft-article h2 {
  text-align: left !important;
  background: #F7F5F2 !important;
  border: 1px solid rgba(26, 26, 26, 0.2) !important;
  border-left: 6px solid #C1272D !important;
  padding: 20px 24px !important;
  margin: 80px 0 30px !important;
  font-size: 22px !important;
  font-weight: bold !important;
  line-height: 1.5 !important;
}

/* ---- 見出し h3（h2とは差別化: 枠なし・左に■マーカー・下線）---- */
.obotcraft-article h3 {
  position: relative !important;
  text-align: left !important;
  background: none !important;
  border: none !important;
  border-bottom: 1px solid rgba(26, 26, 26, 0.25) !important;
  padding: 0 0 14px 20px !important;
  margin: 56px 0 24px !important;
  font-size: 19px !important;
  font-weight: bold !important;
  line-height: 1.5 !important;
}

.obotcraft-article h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 10px;
  height: 10px;
  background: #1A1A1A;
  border-radius: 1px;
}

/* ---- 本文リンク ---- */
.obotcraft-article a {
  color: #1A1A1A !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-color: rgba(26, 26, 26, 0.4) !important;
  transition: opacity 0.15s ease !important;
}

.obotcraft-article a:hover {
  opacity: 0.6 !important;
}

/* ---- 目次（Easy Table of Contents / .p-toc）---- */
.obotcraft-article .p-toc {
  position: relative !important;
  display: inline-block !important;
  width: 640px !important;
  max-width: 90% !important;
  background: #F7F5F2 !important;
  border: 1px solid rgba(26, 26, 26, 0.08) !important;
  border-radius: 10px !important;
  padding: 32px 36px !important;
}

.obotcraft-article .p-toc-headline {
  display: inline-block !important;
  font-weight: bold !important;
  color: #1A1A1A !important;
  padding-bottom: 8px !important;
  margin-bottom: 12px !important;
  border-bottom: 2px solid #C1272D !important;
}

.obotcraft-article .p-toc a {
  color: #1A1A1A !important;
  text-decoration: none !important;
}

.obotcraft-article .p-toc a:hover {
  color: #C1272D !important;
  text-decoration: underline !important;
}

/* 目次 開閉ボタン（JSで自動挿入。アイコンのみの正方形ボタン） */
.obotcraft-article .p-toc-toggle {
  position: absolute !important;
  top: 24px !important;
  right: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  width: 48px !important;
  height: 36px !important;
  padding: 0 !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(26, 26, 26, 0.25) !important;
  border-radius: 8px !important;
  cursor: pointer !important;
}

.obotcraft-article .p-toc-toggle:hover {
  background: #F0EDE8 !important;
}

.obotcraft-article .p-toc-toggle-list {
  display: inline-block !important;
  width: 15px !important;
  height: 11px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 18' fill='none' stroke='%231A1A1A' stroke-width='2.5' stroke-linecap='round'%3E%3Cline x1='1' y1='1' x2='23' y2='1'/%3E%3Cline x1='1' y1='9' x2='17' y2='9'/%3E%3Cline x1='1' y1='17' x2='11' y2='17'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

.obotcraft-article .p-toc-toggle-chevron {
  display: inline-block !important;
  width: 11px !important;
  height: 11px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  transition: transform 0.2s ease !important;
}

.obotcraft-article .p-toc.is-collapsed .p-toc-toggle-chevron {
  transform: rotate(180deg) !important;
}

.obotcraft-article .p-toc.is-collapsed ul {
  display: none !important;
}

/* ---- 表 ---- */
.obotcraft-article table {
  display: block !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border-collapse: collapse !important;
  margin: 0 0 32px !important;
  width: 100% !important;
  min-width: 640px !important;
}

.obotcraft-article th {
  background: #1A1A1A !important;
  color: #FFFFFF !important;
  font-weight: bold !important;
  border: 1px solid #1A1A1A !important;
  padding: 14px 16px !important;
  text-align: left !important;
}

.obotcraft-article td {
  background: #FFFFFF !important;
  color: #1A1A1A !important;
  border: 1px solid rgba(26, 26, 26, 0.15) !important;
  padding: 14px 16px !important;
}

.obotcraft-article tbody tr:nth-child(even) td {
  background: #F7F5F2 !important;
}

/* ---- 強調 ---- */
.obotcraft-article strong {
  color: #1A1A1A !important;
  font-weight: 700 !important;
}

/* ---- SP調整 ---- */
@media (max-width: 750px) {
  .obotcraft-article h2 {
    padding: 16px 18px !important;
    margin: 56px 0 24px !important;
  }

  .obotcraft-article h3 {
    padding: 0 0 12px 18px !important;
    margin: 40px 0 20px !important;
  }

  .obotcraft-article .p-toc {
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px 20px !important;
  }

  .obotcraft-article .p-toc-toggle {
    top: 16px !important;
    right: 16px !important;
    width: 40px !important;
    height: 32px !important;
  }

  .obotcraft-article th,
  .obotcraft-article td {
    padding: 10px 12px !important;
    font-size: 14px !important;
  }

  .obotcraft-article .article-eyecatch {
    margin: 0 0 32px !important;
    border-radius: 8px !important;
  }
}
