/* Blog pages only — body.ai-gen-blog-page (never bare .blog — that hits /generation/) */

:root {
	--ai-blog-max: 760px;
	--ai-blog-gutter: 24px;
	--ai-blog-text: #1a1a2e;
	--ai-blog-muted: #6b7280;
	--ai-blog-border: #e5e7eb;
	--ai-blog-accent: #2563eb;
	--ai-blog-radius: 12px;
}

/* Contained reading column */
body.ai-gen-blog-page .site-main,
body.ai-gen-blog-page .content-area,
body.ai-gen-blog-page #primary,
body.ai-gen-blog-page .ast-container {
	max-width: var(--ai-blog-max) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--ai-blog-gutter) !important;
	padding-right: var(--ai-blog-gutter) !important;
	width: 100% !important;
}

body.ai-gen-blog-page #secondary,
body.ai-gen-blog-page .widget-area {
	display: none !important;
}

/* Archive header */
body.ai-gen-blog-page .ast-archive-description {
	padding: 36px 0 28px !important;
	border-bottom: 1px solid var(--ai-blog-border) !important;
	margin-bottom: 8px !important;
}

body.ai-gen-blog-page .ast-archive-description .ast-archive-title,
body.ai-gen-blog-page .page-title {
	font-size: 2rem !important;
	font-weight: 700 !important;
	color: var(--ai-blog-text) !important;
	margin: 0 0 8px !important;
	line-height: 1.3 !important;
}

/* Archive cards */
body.ai-gen-blog-page article {
	padding: 28px 0 !important;
	border-bottom: 1px solid var(--ai-blog-border) !important;
	margin: 0 !important;
	background: transparent !important;
}

body.ai-gen-blog-page article:last-of-type {
	border-bottom: none !important;
}

body.ai-gen-blog-page .entry-title {
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	margin: 0 0 8px !important;
}

body.ai-gen-blog-page .entry-title a {
	color: var(--ai-blog-text) !important;
	text-decoration: none !important;
}

body.ai-gen-blog-page .entry-title a:hover {
	color: var(--ai-blog-accent) !important;
}

body.ai-gen-blog-page .entry-meta {
	font-size: 0.85rem !important;
	color: var(--ai-blog-muted) !important;
	margin-bottom: 8px !important;
}

body.ai-gen-blog-page .ast-excerpt-container,
body.ai-gen-blog-page .entry-content {
	font-size: 0.95rem !important;
	line-height: 1.65 !important;
	color: var(--ai-blog-muted) !important;
}

body.ai-gen-blog-page .read-more {
	display: none !important;
}

/* Date chip */
body.ai-gen-blog-page .ai-gen-post-date {
	display: block;
	font-size: 0.85rem;
	color: var(--ai-blog-muted);
	margin-bottom: 8px;
	font-weight: 400;
}

/* Single: breadcrumb */
body.ai-gen-blog-page .ai-gen-breadcrumb {
	font-size: 0.85rem;
	color: var(--ai-blog-muted);
	margin: 16px 0 12px;
}

body.ai-gen-blog-page .ai-gen-breadcrumb a {
	color: var(--ai-blog-accent) !important;
	text-decoration: none !important;
}

body.ai-gen-blog-page .ai-gen-breadcrumb a:hover {
	text-decoration: underline !important;
}

body.ai-gen-blog-page .ai-gen-breadcrumb-sep {
	margin: 0 6px;
	color: #cbd5e1;
}

/* Single header */
body.ai-gen-blog-page.single .entry-header .entry-title {
	font-size: 1.75rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--ai-blog-text) !important;
	margin: 0 0 12px !important;
}

body.ai-gen-blog-page.single .entry-header {
	margin-bottom: 20px !important;
	padding-bottom: 16px !important;
	border-bottom: 1px solid var(--ai-blog-border) !important;
}

/* Single content */
body.ai-gen-blog-page.single .entry-content {
	font-size: 1.05rem !important;
	line-height: 1.75 !important;
	color: var(--ai-blog-text) !important;
}

body.ai-gen-blog-page.single .entry-content h2 {
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	margin: 1.8em 0 0.7em !important;
}

body.ai-gen-blog-page.single .entry-content h3 {
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	margin: 1.4em 0 0.5em !important;
}

body.ai-gen-blog-page.single .entry-content p {
	margin-bottom: 1.15em !important;
}

body.ai-gen-blog-page.single .entry-content a {
	color: var(--ai-blog-accent) !important;
}

body.ai-gen-blog-page.single .entry-content ul,
body.ai-gen-blog-page.single .entry-content ol {
	margin-bottom: 1.15em !important;
	padding-left: 1.4em !important;
}

/* Related */
body.ai-gen-blog-page .ai-gen-related-posts {
	margin-top: 2.5em;
	padding-top: 1.75em;
	border-top: 1px solid var(--ai-blog-border);
}

body.ai-gen-blog-page .ai-gen-related-posts h2 {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	margin: 0 0 14px !important;
	color: var(--ai-blog-text) !important;
}

body.ai-gen-blog-page .ai-gen-related-posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 14px;
}

body.ai-gen-blog-page .ai-gen-related-card {
	padding: 14px;
	border: 1px solid var(--ai-blog-border);
	border-radius: var(--ai-blog-radius);
	background: #fff;
	transition: border-color 0.15s ease;
}

body.ai-gen-blog-page .ai-gen-related-card:hover {
	border-color: var(--ai-blog-accent);
}

body.ai-gen-blog-page .ai-gen-related-title {
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 6px;
}

body.ai-gen-blog-page .ai-gen-related-title a {
	color: var(--ai-blog-text) !important;
	text-decoration: none !important;
}

body.ai-gen-blog-page .ai-gen-related-title a:hover {
	color: var(--ai-blog-accent) !important;
}

body.ai-gen-blog-page .ai-gen-related-excerpt {
	font-size: 0.82rem;
	line-height: 1.5;
	color: var(--ai-blog-muted);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Prev / next */
body.ai-gen-blog-page .ai-gen-post-nav {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	margin-top: 2.5em;
	padding-top: 1.5em;
	border-top: 1px solid var(--ai-blog-border);
}

body.ai-gen-blog-page .ai-gen-post-nav a {
	flex: 1;
	padding: 12px 14px;
	border: 1px solid var(--ai-blog-border);
	border-radius: 8px;
	text-decoration: none !important;
}

body.ai-gen-blog-page .ai-gen-post-nav a:hover {
	border-color: var(--ai-blog-accent);
}

body.ai-gen-blog-page .ai-gen-nav-label {
	display: block;
	font-size: 0.72rem;
	color: var(--ai-blog-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 4px;
}

body.ai-gen-blog-page .ai-gen-nav-title {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--ai-blog-text);
	line-height: 1.35;
}

body.ai-gen-blog-page .ai-gen-post-nav .next {
	text-align: right;
}

@media (max-width: 768px) {
	:root {
		--ai-blog-gutter: 16px;
	}

	body.ai-gen-blog-page.single .entry-header .entry-title {
		font-size: 1.4rem !important;
	}

	body.ai-gen-blog-page .ai-gen-related-posts-grid {
		grid-template-columns: 1fr;
	}

	body.ai-gen-blog-page .ai-gen-post-nav {
		flex-direction: column;
	}
}
