/* ============================================================
   prose.css — 本文ブロックの共通タイポグラフィ
   the_content() が出力するブロック（見出し / 段落 / リスト / 引用 / 表 /
   コード等）の見た目。投稿（single = .post-body）と固定ページ
   （page = .page-body）で共有する。

   方針: 1カラム・左揃え・囲み最小・可読性最優先（blog.css から移設）。
   読み込み: single / home / archive / page（enqueue.php 参照）。
   footer の後・blog.css / page.css の前に読む。
   ============================================================ */

/* --- 本文コンテナ --- */
.post-body,
.page-body {
	font-size: var(--text-base);
	line-height: 1.9;
	color: var(--body-ink);
}
.post-body > * + *,
.page-body > * + * {
	margin-top: var(--wp--preset--spacing--40);
}

/* --- 見出し ---
   セレクタは .post-body/.page-body ではなく .wp-block-heading を使う。
   Gutenberg は見出しブロックにフロント・エディタ両方で .wp-block-heading を
   付けるため、この1定義でエディタ iframe 内プレビューとフロント表示が一致する
   （prose.css を add_editor_style でエディタにも読ませる。theme-setup.php 参照）。
   ※ 素の <h2>（カスタムHTMLブロック等・クラス無し）には効かない。通常の
      見出しブロックは全て .wp-block-heading を持つので実害はない。 */
h2.wp-block-heading {
	font-family: var(--font-serif);
	font-size: var(--text-lg);
	font-weight: 700;
	line-height: 1.45;
	color: var(--ink);
	margin-top: var(--wp--preset--spacing--70);
}
h3.wp-block-heading {
	font-family: var(--font-sans);
	font-size: var(--text-ml);
	font-weight: 700;
	line-height: 1.5;
	color: var(--ink);
	margin-top: var(--wp--preset--spacing--60);
}
h4.wp-block-heading {
	font-family: var(--font-sans);
	font-size: var(--text-md);
	font-weight: 700;
	color: var(--ink);
	margin-top: var(--wp--preset--spacing--50);
}

/* --- テキスト要素 --- */
.post-body p,
.page-body p {
	line-height: 1.9;
}
.post-body a,
.page-body a {
	color: var(--brand);
	text-decoration: underline;
	text-underline-offset: .18em;
	text-decoration-thickness: 1px;
	transition: text-decoration-color .2s;
}
.post-body a:hover,
.page-body a:hover {
	text-decoration-color: transparent;
}
.post-body strong,
.page-body strong {
	font-weight: 700;
	color: var(--ink);
}

/* --- リスト --- */
.post-body ul,
.post-body ol,
.page-body ul,
.page-body ol {
	padding-left: 1.5em;
	line-height: 1.9;
}
.post-body li + li,
.page-body li + li {
	margin-top: 8px;
}
.post-body ul > li,
.page-body ul > li {
	list-style: disc;
}
.post-body ol > li,
.page-body ol > li {
	list-style: decimal;
}

/* --- 引用 --- */
.post-body blockquote,
.page-body blockquote {
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	background-color: var(--bg-subtle);
	color: var(--body-ink);
	font-family: var(--font-serif);
}

/* --- 画像 / 図 --- */
.post-body img,
.page-body img {
	max-width: 100%;
	height: auto;
}
/* figure には max-width を持たせない。持たせると詳細度（.page-body figure = 0,1,1）が
   .page-entry > *（0,1,0）に勝ち、通常ブロックの読み幅制限を上書きして全幅になってしまう。
   はみ出し対策は上の img ルールが担い、幅は親（.page-entry > * / .alignwide 等）に委ねる。 */
.post-body figure img,
.page-body figure img {
	display: block;
}
.post-body figcaption,
.page-body figcaption {
	font-size: var(--text-xs);
	color: var(--muted);
	margin-top: 8px;
}

/* --- 区切り線 --- */
.post-body hr,
.page-body hr {
	border: 0;
	border-top: 1px solid var(--line);
	margin-block: var(--wp--preset--spacing--60);
}

/* --- コード --- */
.post-body code,
.page-body code {
	font-family: var(--font-mono);
	font-size: var(--text-sm);
	background-color: var(--bg-subtle);
	padding: 2px 6px;
	border-radius: 4px;
}
.post-body pre,
.page-body pre {
	font-family: var(--font-mono);
	font-size: var(--text-sm);
	line-height: 1.7;
	color: var(--paper);
	background-color: var(--ink);
	padding: var(--wp--preset--spacing--40);
	border-radius: 8px; /* reason: コードブロックの角丸。radius スケール（2/4/8…）内の意図的な値 */
	overflow-x: auto;
}
.post-body pre code,
.page-body pre code {
	padding: 0;
	background: transparent;
	color: inherit;
}

/* --- 表 --- */
.post-body table,
.page-body table {
	width: 100%;
	border-collapse: collapse;
}
.post-body th,
.post-body td,
.page-body th,
.page-body td {
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--line);
	text-align: left;
	vertical-align: top;
}
.post-body th,
.page-body th {
	font-weight: 700;
	color: var(--ink);
	background-color: var(--bg-subtle);
}

/* --- ページ分割（wp_link_pages） --- */
.post-pagelinks,
.page-pagelinks {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap-sm);
	margin-top: var(--wp--preset--spacing--50);
	font-family: var(--font-en);
	font-size: var(--text-sm);
	font-weight: 700;
}
