/* ==========================================================================
   記事・一覧・固定ページ（3.6.2）
   トップと同じ「方眼紙・太い墨線・空の青と緑・ずらした影」で揃える。
   ========================================================================== */
:root { --pa-line: 2px solid var(--ot-ink); --pa-shadow: 5px 5px 0 var(--ot-ink); }

/* パンくず */
.ot-breadcrumb { font-size: .74rem; font-weight: 700; }
.ot-breadcrumb a { color: var(--pop-sky, #2f9be6); }

/* 記事の頭 */
.ot-article__title { font-weight: 800; letter-spacing: .01em; }
.ot-article__meta { gap: 10px 14px; align-items: center; border-bottom: var(--pa-line) !important; padding-bottom: 16px; }
.ot-article__meta .ot-badge {
  position: static; transform: none; display: inline-block; padding: .45em 1em; border-radius: 999px;
  background: var(--pop-leaf, #33a463); color: #fff; border: 1.5px solid var(--pop-leaf, #33a463); box-shadow: none; font-size: .72rem; letter-spacing: .04em;
}
.ot-article__meta time { font: 700 .72rem/1 "Poppins OnTrails", sans-serif; color: var(--ot-muted); }
.ot-listen__btn { border: var(--pa-line) !important; border-radius: 999px !important; box-shadow: 3px 3px 0 var(--ot-ink); background: #fff; }
.ot-listen__icon { background: none !important; color: var(--ot-ink) !important; width: 1.2em !important; height: 1.2em !important; }
.ot-listen__btn { gap: .45em !important; padding-left: 1em !important; }
.ot-listen__btn:hover { background: var(--pop-sky-soft, #dff0fc) !important; }
.ot-article__thumb { border: var(--pa-line); box-shadow: 8px 8px 0 var(--ot-ink); overflow: hidden; margin-top: 22px; }
.ot-article__thumb img { display: block; width: 100%; height: auto; }

/* 本文 */
.entry-content h2 {
  position: relative; margin-top: 2.6em !important; padding: .65em .9em .6em 1.1em !important;
  background: var(--pop-sky-soft, #dff0fc) !important; color: var(--ot-ink) !important;
  border: var(--pa-line) !important; box-shadow: var(--pa-shadow) !important; border-radius: 0 !important; line-height: 1.5;
}
.entry-content h2::before { content: ""; position: absolute; left: -2px; top: -2px; bottom: -2px; width: 10px; background: var(--pop-sky, #2f9be6); border-right: var(--pa-line); }
.entry-content h3 { border: 0 !important; padding-left: 1.4em !important; position: relative; }
.entry-content h3::before {
  content: ""; position: absolute; left: 0; top: .42em; width: .78em; height: .78em; border-radius: 50%;
  background: var(--pop-leaf, #33a463); border: 2px solid var(--ot-ink);
}
.entry-content img { border: var(--pa-line); box-shadow: var(--pa-shadow); }
.entry-content a:not([class]) { color: var(--ot-ink); text-decoration-color: var(--pop-sky, #2f9be6); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.entry-content a:not([class]):hover { background: var(--pop-sky-soft, #dff0fc); }
.entry-content blockquote {
  margin-inline: 0; padding: 1em 1.2em; background: #fff; border: 2px dashed rgba(27,27,27,.45); border-left: 6px solid var(--pop-leaf, #33a463);
}
.entry-content table { border: var(--pa-line); box-shadow: var(--pa-shadow); background: #fff; }
.entry-content th { background: var(--pop-sky, #2f9be6); color: #fff; border-color: var(--ot-ink) !important; }
.entry-content td, .entry-content th { border-color: rgba(27,27,27,.35); }
.entry-content tbody tr:nth-child(even) td { background: #f6fbff; }
.ot-summary, .entry-content .ot-summary {
  background: var(--pop-paper, #f6fbff) !important; border: var(--pa-line) !important; box-shadow: var(--pa-shadow);
  background-image: linear-gradient(rgba(47,155,230,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(47,155,230,.12) 1px, transparent 1px) !important;
  background-size: 18px 18px !important;
}
.ot-toc { border: var(--pa-line) !important; box-shadow: var(--pa-shadow); background: #fff !important; }
.ot-toc__title::before { background: var(--pop-leaf, #33a463) !important; transform: none !important; border-radius: 50%; border: 2px solid var(--ot-ink); }
.ot-toc a.is-current { color: var(--pop-sky, #2f9be6); }
.entry-content [id^="msmaflink-"] > div, .entry-content .easyLink-box { border: var(--pa-line) !important; box-shadow: var(--pa-shadow); border-radius: 0 !important; }

/* 記事の終わり */
.ot-share__btn { border: var(--pa-line) !important; border-radius: 999px !important; box-shadow: 3px 3px 0 var(--ot-ink); }
.ot-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ot-article__cat { padding: 6px 14px 6px 8px; font-size: .78rem; }
.ot-tags .ot-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 8px; font-size: .78rem; font-weight: 800; border: 2px solid var(--ot-ink); border-radius: 999px; background: #fff; color: var(--ot-ink); text-decoration: none; }
.ot-tags .ot-chip:hover { background: var(--pop-sky-soft, #dff0fc); color: var(--ot-ink); transform: translate(-2px, -2px); box-shadow: 3px 3px 0 var(--ot-ink); }
.ot-editorial-note { border: var(--pa-line); background: var(--pop-leaf-soft, #e0f3e6) !important; }
.ot-pagenav a { font-weight: 800; }
.ot-related .ot-section-title, .ot-list-heading .ot-section-title {
  font-family: "Poppins OnTrails", sans-serif; font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 700;
}
.ot-related .ot-section-title::before, .ot-list-heading .ot-section-title::before { background: var(--pop-sky, #2f9be6) !important; border: 2px solid var(--ot-ink); transform: none !important; border-radius: 50%; width: 16px; height: 16px; }

/* 一覧（関連記事・カテゴリ・検索）。トップの新着と同じカード */
.ot-pgrid--in { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 32px; }
@media (max-width: 860px) { .ot-pgrid--in { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ot-pgrid--in { grid-template-columns: 1fr; } }
.ot-pagination .page-numbers { border: var(--pa-line); border-radius: 999px; min-width: 2.4em; text-align: center; }
.ot-pagination .page-numbers.current { background: var(--pop-sky, #2f9be6); color: #fff; }

/* サイドバー */
.ot-widget { border-top: 0 !important; border: var(--pa-line) !important; box-shadow: var(--pa-shadow); background: #fff !important; padding: 18px 18px 14px !important; margin-bottom: 28px; }
.ot-widget .widget-title, .ot-widget__title { font-weight: 800; display: flex; align-items: center; gap: .5em; }
.ot-widget .widget-title::before, .ot-widget__title::before { content: ""; width: .8em; height: .8em; border-radius: 50%; background: var(--pop-sky, #2f9be6); border: 2px solid var(--ot-ink); transform: none !important; flex: none; }
.ot-recent__thumb img { border: 1.5px solid var(--ot-ink); }
.ot-rank { border: 2px solid var(--ot-ink); color: var(--ot-ink) !important; }
.ot-rank--1 { background: linear-gradient(145deg, #fff1a8, #f2c230 45%, #c9940f) !important; }
.ot-rank--2 { background: linear-gradient(145deg, #fff, #d3d8de 45%, #9aa2ab) !important; }
.ot-rank--3 { background: linear-gradient(145deg, #ffd9b0, #d48a4c 45%, #9c5a26) !important; }
.ot-searchform input[type="search"] { border: var(--pa-line) !important; border-radius: 999px !important; }
.ot-searchform button { border: var(--pa-line) !important; border-radius: 999px !important; background: var(--pop-sky, #2f9be6) !important; color: #fff !important; }

/* 広告バナーは中央に置く（サイドバー以外）。3.6.5 */
.ot-rakuten:not(.site-sidebar .ot-rakuten) { text-align: center; }
.ot-rakuten:not(.site-sidebar .ot-rakuten) .ot-rakuten__label { text-align: center; }

/* 3.6.18 要約ボックスの見出しには本文h2の上余白（2.6em）をかけない */
.entry-content .ot-summary .ot-summary__title, .entry-content .ot-summary > h2:first-child { margin-top: 0 !important; }

/* 3.6.21 サイドバー（SPでは本文の下）の広告も中央揃え */
.site-sidebar .ot-rakuten, .ot-rakuten--side { text-align: center; }
.ot-rakuten--side > a { display: inline-block; max-width: 100%; }
.ot-rakuten--side img:not(.ot-rakuten__imp) { margin-inline: auto; }
