/**
 * 単一記事ページ — 現代UI（ダーク）
 * body.zurizuri-dark-layout.zurizuri-single-post
 */

body.zurizuri-dark-layout.single {
	--zz-content-max: 780px;
}

body.zurizuri-dark-layout.single .content,
body.zurizuri-dark-layout.single #content,
body.zurizuri-dark-layout.single main,
body.zurizuri-dark-layout.single .main,
body.zurizuri-dark-layout.single #main {
	background-color: transparent !important;
}

/* 記事本体カード */
body.zurizuri-dark-layout.single .article,
body.zurizuri-dark-layout.single article.post,
body.zurizuri-dark-layout.single .entry-content,
body.zurizuri-dark-layout.single .post-content,
body.zurizuri-dark-layout.single main > article {
	background: var(--zz-surface) !important;
	border: 1px solid var(--zz-border) !important;
	border-radius: 12px !important;
	padding: 1.75rem 2rem 2rem !important;
	margin: 0 auto 1.5rem !important;
	max-width: var(--zz-content-max);
	color: var(--zz-text) !important;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25) !important;
}

/* タイトル・メタ */
body.zurizuri-dark-layout.single .entry-title,
body.zurizuri-dark-layout.single h1.entry-title,
body.zurizuri-dark-layout.single .post-title,
body.zurizuri-dark-layout.single .article-header .entry-title {
	color: var(--zz-heading) !important;
	font-size: clamp(1.25rem, 3.5vw, 1.65rem) !important;
	font-weight: 800 !important;
	line-height: 1.45 !important;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	border: none !important;
}

body.zurizuri-dark-layout.single .post-date,
body.zurizuri-dark-layout.single .date,
body.zurizuri-dark-layout.single .entry-date,
body.zurizuri-dark-layout.single .post-meta,
body.zurizuri-dark-layout.single .article-header .post-date {
	color: var(--zz-muted) !important;
	font-size: 0.85rem !important;
	margin-bottom: 1.25rem !important;
}

body.zurizuri-dark-layout.single .post-meta a,
body.zurizuri-dark-layout.single .entry-category a,
body.zurizuri-dark-layout.single .post-categories a {
	color: var(--zz-accent-gold) !important;
}

/* 本文タイポグラフィ */
body.zurizuri-dark-layout.single .entry-content,
body.zurizuri-dark-layout.single .post-content {
	font-size: 1.0625rem !important;
	line-height: 1.85 !important;
}

body.zurizuri-dark-layout.single .entry-content p,
body.zurizuri-dark-layout.single .post-content p,
body.zurizuri-dark-layout.single .entry-content li,
body.zurizuri-dark-layout.single .entry-content td,
body.zurizuri-dark-layout.single .entry-content th {
	color: var(--zz-text) !important;
	line-height: 1.85 !important;
}

body.zurizuri-dark-layout.single .entry-content h2,
body.zurizuri-dark-layout.single .post-content h2 {
	color: var(--zz-heading) !important;
	font-size: 1.25rem !important;
	font-weight: 800 !important;
	margin: 2rem 0 0.85rem !important;
	padding: 0.5rem 0 0.5rem 0.85rem !important;
	border-left: 4px solid var(--zz-accent) !important;
	border-bottom: none !important;
	background: rgba(181, 69, 69, 0.08) !important;
	border-radius: 0 6px 6px 0;
}

body.zurizuri-dark-layout.single .entry-content h3,
body.zurizuri-dark-layout.single .post-content h3 {
	color: var(--zz-heading) !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	margin: 1.5rem 0 0.65rem !important;
}

body.zurizuri-dark-layout.single .entry-content h4,
body.zurizuri-dark-layout.single .post-content h4 {
	color: var(--zz-accent-gold) !important;
	font-size: 1rem !important;
	margin: 1.25rem 0 0.5rem !important;
}

body.zurizuri-dark-layout.single .entry-content a,
body.zurizuri-dark-layout.single .post-content a {
	color: var(--zz-accent-gold) !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

body.zurizuri-dark-layout.single .entry-content a:hover,
body.zurizuri-dark-layout.single .post-content a:hover {
	color: #fff !important;
}

body.zurizuri-dark-layout.single .entry-content strong,
body.zurizuri-dark-layout.single .post-content strong {
	color: var(--zz-heading) !important;
	font-weight: 700;
}

/* 目次（Table of Contents Plus） */
body.zurizuri-dark-layout.single div#toc_container,
body.zurizuri-dark-layout.single #toc_container {
	background: #284b8e !important;
	border: 1px solid #000000 !important;
	border-radius: 10px !important;
	padding: 1rem 1.25rem !important;
	margin: 1.5rem 0 !important;
	color: #f0f4fa !important;
}

body.zurizuri-dark-layout.single #toc_container a,
body.zurizuri-dark-layout.single div#toc_container a {
	color: #f0f4fa !important;
}

body.zurizuri-dark-layout.single #toc_container a:hover,
body.zurizuri-dark-layout.single div#toc_container a:hover {
	color: var(--zz-accent-gold) !important;
}

/* 目次（Cocoon） */
body.zurizuri-dark-layout.single #toc,
body.zurizuri-dark-layout.single .toc,
body.zurizuri-dark-layout.single .entry-content #toc,
body.zurizuri-dark-layout.single .blank-box.bb-tab {
	background: var(--zz-surface-2) !important;
	border: 1px solid var(--zz-border) !important;
	border-radius: 10px !important;
	padding: 1rem 1.25rem !important;
	margin: 1.5rem 0 !important;
	color: var(--zz-text) !important;
}

body.zurizuri-dark-layout.single #toc a,
body.zurizuri-dark-layout.single .toc a,
body.zurizuri-dark-layout.single .blank-box a {
	color: var(--zz-text) !important;
}

body.zurizuri-dark-layout.single #toc a:hover,
body.zurizuri-dark-layout.single .toc a:hover {
	color: var(--zz-accent-gold) !important;
}

/* 引用・コード・表 */
body.zurizuri-dark-layout.single .entry-content blockquote,
body.zurizuri-dark-layout.single .post-content blockquote {
	background: var(--zz-surface-2) !important;
	border-left: 4px solid var(--zz-accent-gold) !important;
	color: var(--zz-muted) !important;
	padding: 1rem 1.25rem !important;
	margin: 1.5rem 0 !important;
	border-radius: 0 8px 8px 0;
}

body.zurizuri-dark-layout.single .entry-content pre,
body.zurizuri-dark-layout.single .entry-content code,
body.zurizuri-dark-layout.single .post-content pre,
body.zurizuri-dark-layout.single .post-content code {
	background: var(--zz-bg) !important;
	color: #e8e4dc !important;
	border: 1px solid var(--zz-border);
	border-radius: 6px;
}

body.zurizuri-dark-layout.single .entry-content pre {
	padding: 1rem 1.15rem !important;
	overflow-x: auto;
	font-size: 0.85rem !important;
	line-height: 1.6 !important;
}

body.zurizuri-dark-layout.single .entry-content table,
body.zurizuri-dark-layout.single .post-content table {
	border-collapse: collapse;
	width: 100%;
	margin: 1.25rem 0;
}

body.zurizuri-dark-layout.single .entry-content th,
body.zurizuri-dark-layout.single .entry-content td {
	border: 1px solid var(--zz-border) !important;
	padding: 0.6em 0.85em !important;
	background: var(--zz-surface-2) !important;
	color: var(--zz-text) !important;
}

body.zurizuri-dark-layout.single .entry-content th {
	background: rgba(181, 69, 69, 0.15) !important;
	color: var(--zz-heading) !important;
}

body.zurizuri-dark-layout.single .entry-content hr {
	border: none !important;
	border-top: 1px solid var(--zz-border) !important;
	margin: 2rem 0 !important;
}

/* 画像 */
body.zurizuri-dark-layout.single .entry-content img,
body.zurizuri-dark-layout.single .post-content img,
body.zurizuri-dark-layout.single .eye-catch-wrap img,
body.zurizuri-dark-layout.single .eye-catch img {
	border-radius: 8px;
	max-width: 100%;
	height: auto;
}

body.zurizuri-dark-layout.single .eye-catch-wrap,
body.zurizuri-dark-layout.single .eye-catch {
	margin-bottom: 1.25rem;
	border-radius: 10px;
	overflow: hidden;
}

/* SNSシェア */
body.zurizuri-dark-layout.single .sns-share,
body.zurizuri-dark-layout.single .sns-buttons,
body.zurizuri-dark-layout.single .share-buttons,
body.zurizuri-dark-layout.single .article-footer .sns-share {
	background: var(--zz-surface-2) !important;
	border: 1px solid var(--zz-border) !important;
	border-radius: 10px !important;
	padding: 0.85rem 1rem !important;
	margin: 1.5rem auto !important;
	max-width: var(--zz-content-max);
}

/* 関連記事（#related-entries / Cocoon rect-mini-card 系）
 * Cocoon ミニカードは .related-entry-card-content { margin-left:130px } の横並び前提。
 * 子テーマの3列グリッドでは margin をリセットしないとタイトルが領域外にはみ出して見えなくなる。
 */
body.zurizuri-dark-layout.single .under-entry-content,
body.zurizuri-dark-layout.single #related-entries,
body.zurizuri-dark-layout.single .related-entries,
body.zurizuri-dark-layout.single .related-posts {
	max-width: 1100px;
	margin-left: auto !important;
	margin-right: auto !important;
	color: var(--zz-text) !important;
}

body.zurizuri-dark-layout.single #related-entries h2,
body.zurizuri-dark-layout.single .related-entry-heading,
body.zurizuri-dark-layout.single .under-entry-content > h2,
body.zurizuri-dark-layout.single .related-posts h2 {
	color: var(--zz-heading) !important;
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	margin: 2rem 0 1rem !important;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid rgba(201, 162, 39, 0.35);
}

body.zurizuri-dark-layout.single #related-entries .related-list,
body.zurizuri-dark-layout.single #related-entries .list,
body.zurizuri-dark-layout.single .related-entries .related-list,
body.zurizuri-dark-layout.single .related-entries .list {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	padding: 0 !important;
	list-style: none !important;
	flex-direction: unset !important;
	flex-wrap: unset !important;
}

body.zurizuri-dark-layout.single #related-entries.rect-mini-card a.related-entry-card-wrap,
body.zurizuri-dark-layout.single #related-entries .related-entry-card-wrap,
body.zurizuri-dark-layout.single #related-entries .entry-card-wrap,
body.zurizuri-dark-layout.single .related-entries .related-entry-card-wrap,
body.zurizuri-dark-layout.single .related-entries .entry-card-wrap {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	text-decoration: none !important;
	color: inherit !important;
}

body.zurizuri-dark-layout.single #related-entries .related-entry-card,
body.zurizuri-dark-layout.single #related-entries .entry-card,
body.zurizuri-dark-layout.single .related-entries .related-entry-card,
body.zurizuri-dark-layout.single .related-entries .entry-card {
	display: flex !important;
	flex-direction: column !important;
	flex: 1;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	background: var(--zz-surface) !important;
	border: 1px solid var(--zz-border) !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	margin: 0 !important;
}

body.zurizuri-dark-layout.single #related-entries .entry-card-thumb,
body.zurizuri-dark-layout.single #related-entries .related-entry-card-thumb,
body.zurizuri-dark-layout.single #related-entries figure {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.zurizuri-dark-layout.single #related-entries.rect-mini-card .related-entry-card-content,
body.zurizuri-dark-layout.single #related-entries .entry-card-content,
body.zurizuri-dark-layout.single #related-entries .related-entry-card-content,
body.zurizuri-dark-layout.single #related-entries .card-content {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	margin: 0 !important;
	margin-left: 0 !important;
	padding: 0.75rem 0.85rem 0.9rem !important;
	flex: 1;
	float: none !important;
	position: static !important;
}

/* タイトル非表示の上書き（Cocoonの font-size:0 / overflow 対策） */
body.zurizuri-dark-layout.single #related-entries.rect-mini-card .related-entry-card-title,
body.zurizuri-dark-layout.single #related-entries.rect-mini-card .card-title,
body.zurizuri-dark-layout.single #related-entries.rect-mini-card h3.e-card-title,
body.zurizuri-dark-layout.single #related-entries .entry-card-title,
body.zurizuri-dark-layout.single #related-entries .related-entry-card-title,
body.zurizuri-dark-layout.single #related-entries .card-title,
body.zurizuri-dark-layout.single #related-entries h3,
body.zurizuri-dark-layout.single .related-entries .entry-card-title,
body.zurizuri-dark-layout.single .related-entries .related-entry-card-title {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	-webkit-line-clamp: unset !important;
	line-clamp: unset !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	color: var(--zz-heading) !important;
	background: transparent !important;
	margin: 0 0 0.35rem !important;
	padding: 0 !important;
	text-indent: 0 !important;
	clip: auto !important;
	clip-path: none !important;
}

body.zurizuri-dark-layout.single #related-entries .entry-card-title a,
body.zurizuri-dark-layout.single #related-entries .related-entry-card-title a,
body.zurizuri-dark-layout.single #related-entries .card-title a,
body.zurizuri-dark-layout.single #related-entries a.entry-card-link {
	color: var(--zz-heading) !important;
	text-decoration: none !important;
}

body.zurizuri-dark-layout.single #related-entries .entry-card-title a:hover,
body.zurizuri-dark-layout.single #related-entries .related-entry-card-title a:hover {
	color: var(--zz-accent-gold) !important;
}

body.zurizuri-dark-layout.single #related-entries .entry-card-snippet,
body.zurizuri-dark-layout.single #related-entries .related-entry-card-snippet {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	font-size: 0.78rem !important;
	line-height: 1.55 !important;
	color: var(--zz-muted) !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.zurizuri-dark-layout.single #related-entries .cat-label,
body.zurizuri-dark-layout.single #related-entries .post-categories,
body.zurizuri-dark-layout.single #related-entries .entry-category {
	display: inline-block !important;
	margin-bottom: 0.35rem;
	font-size: 0.7rem !important;
	color: var(--zz-accent-gold) !important;
}

/* コメント欄 */
body.zurizuri-dark-layout.single .comment-area,
body.zurizuri-dark-layout.single #comments,
body.zurizuri-dark-layout.single .comments-area {
	max-width: var(--zz-content-max);
	margin: 2rem auto !important;
	padding: 1.5rem !important;
	background: var(--zz-surface) !important;
	border: 1px solid var(--zz-border) !important;
	border-radius: 12px !important;
	color: var(--zz-text) !important;
}

body.zurizuri-dark-layout.single .comment-area h2,
body.zurizuri-dark-layout.single #reply-title {
	color: var(--zz-heading) !important;
}

body.zurizuri-dark-layout.single .comment-form input,
body.zurizuri-dark-layout.single .comment-form textarea {
	background: var(--zz-bg) !important;
	color: var(--zz-text) !important;
	border: 1px solid var(--zz-border) !important;
	border-radius: 8px !important;
}

body.zurizuri-dark-layout.single .comment-form input[type="submit"] {
	background: var(--zz-accent) !important;
	color: var(--zz-heading) !important;
	border: none !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
}

body.zurizuri-dark-layout.single .comment-list .comment {
	border-color: var(--zz-border) !important;
	color: var(--zz-text) !important;
}

/* ボックス（Cocoon装飾） */
body.zurizuri-dark-layout.single .blank-box,
body.zurizuri-dark-layout.single .info-box,
body.zurizuri-dark-layout.single .alert-box,
body.zurizuri-dark-layout.single .warning-box {
	background: var(--zz-surface-2) !important;
	border-color: var(--zz-border) !important;
	color: var(--zz-text) !important;
}

/* パンくず */
body.zurizuri-dark-layout.single .breadcrumb,
body.zurizuri-dark-layout.single #breadcrumb {
	max-width: var(--zz-content-max);
	margin: 0 auto 1rem !important;
}

@media screen and (max-width: 900px) {
	body.zurizuri-dark-layout.single #related-entries .related-list,
	body.zurizuri-dark-layout.single #related-entries .list,
	body.zurizuri-dark-layout.single .related-entries .related-list,
	body.zurizuri-dark-layout.single .related-entries .list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 834px) {
	body.zurizuri-dark-layout.single .article,
	body.zurizuri-dark-layout.single .entry-content,
	body.zurizuri-dark-layout.single main > article {
		padding: 1.25rem 1.15rem 1.5rem !important;
		border-radius: 10px !important;
	}
}

@media screen and (max-width: 560px) {
	body.zurizuri-dark-layout.single #related-entries .related-list,
	body.zurizuri-dark-layout.single #related-entries .list,
	body.zurizuri-dark-layout.single .related-entries .related-list,
	body.zurizuri-dark-layout.single .related-entries .list {
		grid-template-columns: 1fr;
	}
}
