/*
 * Single Blog Post — page-scoped stylesheet.
 *
 * Same "no approved Blog design" situation as blog.css — see that file's
 * own top docblock. Reuses the site's own established breadcrumb pattern (same values as Single
 * Product's own `.product-hero__breadcrumb`) and typography scale.
 *
 * This file only loads on `is_singular('post')` (see inc/enqueue.php) —
 * never alongside blog.css, home.css, archive-product.css or
 * single-product.css.
 */

.blog-post__header {
	background: var(--color-bg-white);
	border-bottom: 1px solid var(--border-light);
}

.blog-post__header-inner {
	padding: var(--space-section-compact-top) var(--gutter-desktop) 56px;
	box-sizing: border-box;
	max-width: 800px;
}

.blog-post__breadcrumb {
	font-family: var(--font-mono);
	font-size: var(--fs-utility);
	letter-spacing: 0.1em;
	color: var(--text-faint-label);
	margin-bottom: 24px;
}

.blog-post__breadcrumb a {
	color: var(--text-faint-label);
}

.blog-post__breadcrumb a:hover {
	color: var(--color-red);
}

.blog-post__breadcrumb span {
	color: var(--color-navy);
}

.blog-post .blog-post__category {
	display: inline-block;
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: var(--fw-semibold);
	letter-spacing: var(--ls-meta);
	text-transform: uppercase;
	color: var(--color-red);
	margin-bottom: 16px;
}

.blog-post .blog-post__title {
	font-family: var(--font-primary);
	font-size: var(--fs-h1-detail);
	font-weight: var(--fw-extrabold);
	line-height: var(--lh-tight);
	letter-spacing: var(--ls-tight);
	color: var(--color-navy);
	margin: 0 0 20px;
}

.blog-post__date {
	display: block;
	font-family: var(--font-mono);
	font-size: var(--fs-meta);
	letter-spacing: var(--ls-meta);
	color: var(--text-faint-label);
}

.blog-post__image {
	background: var(--color-bg-neutral);
}

.blog-post__image-inner {
	padding: 56px var(--gutter-desktop) 0;
	box-sizing: border-box;
}

.blog-post__img {
	width: 100%;
	max-height: 520px;
	object-fit: cover;
	display: block;
	border-radius: var(--radius-card);
}

.blog-post__body {
	padding: 64px var(--gutter-desktop) 120px;
	box-sizing: border-box;
}

/* ---- entry-content: base typography for arbitrary block-editor content.
   Every value reuses an existing token; this is the one place in the
   theme that needs to style headings/paragraphs/lists/etc. generically,
   since a blog post's body is genuinely free-form author content rather
   than a fixed set of custom fields like every other single-type
   template built this project. ---- */

.entry-content {
	max-width: 760px;
	margin: 0 auto;
	font-family: var(--font-primary);
	font-size: var(--fs-body);
	line-height: var(--lh-body-loose);
	color: var(--text-body-muted);
}

.entry-content > * + * {
	margin-top: 24px;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	font-family: var(--font-primary);
	font-weight: var(--fw-extrabold);
	color: var(--color-navy);
	line-height: var(--lh-heading);
	margin-top: 48px;
	margin-bottom: 0;
}

.entry-content h2 {
	font-size: var(--fs-h2-sub);
}

.entry-content h3 {
	font-size: var(--fs-card-title);
}

.entry-content h4 {
	font-size: var(--fs-body-large);
}

.entry-content p {
	margin: 0;
}

.entry-content ul,
.entry-content ol {
	margin: 0;
	padding-left: 24px;
}

.entry-content li + li {
	margin-top: 8px;
}

.entry-content a {
	color: var(--color-blue-link-dark);
	text-decoration: underline;
}

.entry-content a:hover {
	color: var(--color-red);
}

.entry-content blockquote {
	margin: 0;
	padding: 4px 0 4px 24px;
	border-left: 3px solid var(--color-red);
	color: var(--color-navy);
	font-style: italic;
}

.entry-content img {
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-card);
}

.entry-content strong {
	color: var(--color-navy);
	font-weight: var(--fw-bold);
}

.entry-content hr {
	border: 0;
	border-top: 1px solid var(--border-light);
}

/* ---- Responsive ---- */

@media (max-width: 768px) {
	.blog-post__header-inner {
		padding-left: var(--gutter-mobile);
		padding-right: var(--gutter-mobile);
	}

	.blog-post .blog-post__title {
		font-size: 36px;
	}

	.blog-post__image-inner,
	.blog-post__body {
		padding-left: var(--gutter-mobile);
		padding-right: var(--gutter-mobile);
	}
}
