/* JMU Painting — blog (post list + single post).
   Restores the heading scale the design system intends (theme.json's
   xl/2xl/3xl/4xl) for post-title and content headings, since the largest
   fluid preset classes don't render in the block templates. Uses theme
   tokens so the blog stays consistent with the rest of the site. */

/* --- Shared heading scale (mirrors theme.json fluid sizes) --- */
.jmu-blog-hero h1,
.wp-block-post-title {
	font-family: var(--font-display);
	font-weight: 600;
	line-height: 1.1;
	color: var(--text-strong);
}

/* Single-post title — the page's primary heading (theme.json "4xl"). */
.wp-block-post-title {
	font-size: clamp(2.25rem, 2.25rem + 1vw, 3.75rem);
	margin-bottom: var(--space-sm);
}

/* Blog hero headline. */
.jmu-blog-hero h1 {
	font-size: clamp(1.875rem, 1.5rem + 1.5vw, 3rem);
}

/* In-content section headings inside a post.
   Sized to sit clearly below the 4xl title and above the lead. */
.wp-block-post-content h2 {
	font-family: var(--font-display);
	font-weight: 600;
	line-height: 1.2;
	color: var(--text-strong);
	font-size: clamp(1.375rem, 1.2rem + 0.7vw, 1.75rem);
	margin-top: var(--space-xl);
	margin-bottom: var(--space-sm);
}

.wp-block-post-content h3 {
	font-family: var(--font-display);
	font-weight: 600;
	line-height: 1.2;
	color: var(--text-strong);
	font-size: clamp(1.25rem, 1.125rem + 0.6vw, 1.5rem);
	margin-top: var(--space-lg);
	margin-bottom: var(--space-xs);
}

/* --- Lead paragraph: an editorial intro, sized between body and headings.
   Uses a dedicated class (not core's `has-large-font-size`, which is
   !important and would out-shout the title). */
.wp-block-post-content .jmu-post-lead {
	font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
	line-height: 1.55;
	font-weight: 500;
	color: var(--text-muted);
	margin-bottom: var(--space-md);
}

/* --- Post meta (date + chips) --- */
.jmu-post-meta {
	align-items: center;
	margin-bottom: var(--space-md);
	color: var(--text-subtle);
}

.jmu-post-meta .wp-block-post-date {
	color: var(--text-subtle);
}

/* Small category/read-time chip. */
.jmu-post-chip {
	display: inline-block;
	font-family: var(--font-display);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--brand-red);
	background: var(--bg-warm-strong);
	padding: 0.25rem 0.6rem;
	border-radius: var(--radius-full);
}

/* --- Single-post featured image (hero) --- */
.wp-block-post-content,
.single .wp-block-post-featured-image {
	margin-bottom: var(--space-md);
}

.single .wp-block-post-featured-image img {
	width: 100%;
	/* Cap the hero height so tall portrait photos read as a banner,
	   not a full-screen image. Crop to fill via object-fit. */
	max-height: 460px;
	object-fit: cover;
	object-position: center 30%;
	border-radius: var(--radius-lg);
}

/* In-body images get the same rounding + breathing room as the hero. */
.wp-block-post-content img {
	border-radius: var(--radius-lg);
}

.wp-block-post-content figure {
	margin-top: var(--space-lg);
	margin-bottom: var(--space-lg);
}

/* Constrain tall portrait in-body photos so they don't dominate the column. */
.wp-block-post-content .wp-block-image img {
	max-height: 540px;
	width: auto;
	max-width: 100%;
	margin-inline: auto;
}

.wp-block-post-content .wp-block-image {
	text-align: center;
}

.wp-block-post-content .wp-element-caption {
	font-size: 0.9rem;
	color: var(--text-subtle);
	font-style: italic;
	margin-top: var(--space-2xs);
}

/* --- Blog index cards --- */
.wp-block-post-template > li {
	padding-bottom: var(--space-xl);
	margin-bottom: var(--space-xl);
	border-bottom: 1px solid var(--border-color-muted);
}

.wp-block-post-template > li:last-child {
	border-bottom: 0;
}

.wp-block-post-template .wp-block-post-featured-image img {
	border-radius: var(--radius-lg);
}

.wp-block-post-template .wp-block-post-title {
	font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem);
	margin-bottom: var(--space-2xs);
}
