/* 下層ページ用の追加コンポーネント
   - 投稿フッター（メタ情報・前後ナビ・関連投稿）
   - 検索フォーム
   - 404 ページ
   - 固定ページ調整
*/

/* ============================================================
   投稿フッター（メタ）
   ============================================================ */
.p-post__foot {
	margin-block: var(--sp-7) var(--sp-5);
	padding-block: var(--sp-4);
	border-top: 1px solid var(--c-border);
	border-bottom: 1px solid var(--c-border);
	display: flex;
	gap: var(--sp-5);
	flex-wrap: wrap;
}
.p-post__meta {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	font-size: var(--fs-sm);
}
.p-post__meta-label {
	color: var(--c-fg-muted);
	font-weight: var(--fw-medium);
	letter-spacing: .04em;
}

/* ============================================================
   投稿の前後ナビ
   ============================================================ */
.p-postNav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--sp-3);
	margin-block: var(--sp-5);
}
@media (max-width: 600px) {
	.p-postNav { grid-template-columns: 1fr; }
}
.p-postNav__item {
	display: flex;
	flex-direction: column;
	gap: var(--sp-1);
	padding: var(--sp-4) var(--sp-5);
	background: var(--c-bg-card);
	border: 1px solid var(--c-border);
	border-radius: var(--r-md);
	transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
	color: var(--c-fg);
}
.p-postNav__item:hover {
	border-color: var(--c-primary);
	transform: translateY(-1px);
	color: var(--c-primary);
}
.p-postNav__item--next {
	text-align: right;
}
.p-postNav__label {
	color: var(--c-primary);
	font-size: var(--fs-xs);
	font-weight: var(--fw-medium);
	letter-spacing: .04em;
}
.p-postNav__title {
	color: var(--c-fg);
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ============================================================
   関連投稿
   ============================================================ */
.p-postRelated {
	margin-block-start: var(--sp-7);
	padding-block-start: var(--sp-6);
	border-top: 1px solid var(--c-border);
}
.p-postRelated__title {
	font-size: var(--fs-lg);
	font-weight: var(--fw-bold);
	margin-block-end: var(--sp-3);
	display: flex;
	align-items: center;
	gap: var(--sp-3);
}
.p-postRelated__title::before {
	content: "";
	display: inline-block;
	width: 28px; height: 1px;
	background: var(--c-primary);
}

/* ============================================================
   検索フォーム
   ============================================================ */
.p-searchForm {
	display: flex;
	gap: var(--sp-2);
	flex-wrap: wrap;
	max-width: 480px;
	margin-block-start: var(--sp-4);
}
.p-searchForm input[type="search"] {
	flex: 1 1 200px;
	min-width: 200px;
}
.p-searchForm .c-btn {
	flex: 0 0 auto;
}

/* ============================================================
   404 ページ
   ============================================================ */
.p-404 {
	text-align: center;
}
.p-404__links {
	display: flex;
	gap: var(--sp-3);
	justify-content: center;
	flex-wrap: wrap;
	margin-block-end: var(--sp-7);
}
.p-404__search {
	padding-block-start: var(--sp-6);
	border-top: 1px solid var(--c-border);
}
.p-404__search p {
	color: var(--c-fg-muted);
	margin-block-end: var(--sp-3);
	font-size: var(--fs-sm);
	letter-spacing: .04em;
}
.p-404__search .p-searchForm {
	margin-inline: auto;
	justify-content: center;
}

/* ============================================================
   固定ページ・投稿の汎用本文
   ============================================================ */
.entry-content > * + * {
	margin-block-start: var(--sp-4);
}
.entry-content h2 {
	margin-block-start: var(--sp-7);
	margin-block-end: var(--sp-3);
	padding-block-end: var(--sp-2);
	border-bottom: 2px solid var(--c-primary);
	font-size: var(--fs-xl);
	color: var(--c-fg);
}
.entry-content h3 {
	margin-block-start: var(--sp-6);
	margin-block-end: var(--sp-2);
	font-size: var(--fs-lg);
	color: var(--c-fg);
	padding-left: var(--sp-3);
	border-left: 3px solid var(--c-primary-light);
}
.entry-content h4 {
	margin-block-start: var(--sp-5);
	margin-block-end: var(--sp-2);
	font-size: var(--fs-base);
	color: var(--c-fg);
}

/* アイキャッチ画像 */
.p-articleThumb {
	margin-block-end: var(--sp-5);
	border-radius: var(--r-md);
	overflow: hidden;
}
.p-articleThumb img {
	width: 100%;
	height: auto;
	display: block;
}
