/**
 * Net—Blog Single Post shell.
 *
 * Uses the site layout contract (layout.css):
 *   full = 100% of parent; wide/content = min(cap, 100% − 2×--nb-edge).
 * Heading + featured image share the wide column with the header logo.
 * Post body is full; constrained children get the content column.
 */

.article-single {
	--article-content-width: var(--nb-content, var(--wp--style--global--content-size, 850px));
	--article-wide-width: var(--nb-wide, var(--wp--style--global--wide-size, 1290px));
	--article-edge: var(--nb-edge, 3rem);

	background: var(--wp--preset--color--page-white, #ece9df);
	color: var(--wp--preset--color--main, #000);
	margin-block: 0;
	padding-inline: 0;
	width: 100%;
}

/*
	Wide column — same air as header / Align wide (see --nb-edge).
*/
.article-single .article-heading,
.article-single .article-featured-image,
.article-single .article-featured-image.alignwide {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: min(var(--article-wide-width), calc(100% - (2 * var(--article-edge))));
	padding-inline: 0;
	width: 100%;
}

/*
	Body + next-in-series bands are Align full — edge to edge.
	Reading / inner columns come from layout.css + __inner.
*/
.article-single .article-content,
.article-single .article-content.alignfull,
.article-single .next-in-series,
.article-single .next-in-series.alignfull {
	box-sizing: border-box;
	margin-inline: 0;
	max-width: none;
	padding-inline: 0;
	width: 100%;
}

.article-single .article-heading {
	padding-block: clamp(3rem, 7vw, 6.5rem) clamp(2.5rem, 5vw, 5rem);
}

.article-single .article-heading__columns {
	align-items: center;
	gap: clamp(2rem, 6vw, 7rem);
	margin-block: 0;
}

.article-single .article-heading__content {
	min-width: 0;
}

.article-single .article-heading-meta {
	margin: 0 0 var(--wp--preset--spacing--small);
}

.article-single .article-heading__title {
	color: var(--wp--preset--color--main, #000);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--xxx-large);
	font-weight: var(--wp--custom--font-weight--bold, 700);
	letter-spacing: -0.035em;
	line-height: var(--wp--custom--line-height--tight, 1.1);
	margin: 0;
	max-width: 15ch;
	overflow-wrap: anywhere;
}

.article-single .article-heading__excerpt {
	color: var(--wp--preset--color--primary, #500eee);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--medium);
	line-height: var(--wp--custom--line-height--snug, 1.2);
	margin: var(--wp--preset--spacing--small) 0 0;
	max-width: 38rem;
}

.article-single .article-heading__excerpt .wp-block-post-excerpt__excerpt {
	font-size: var(--wp--preset--font-size--medium);
	line-height: inherit;
	margin: 0;
}

.article-single .article-heading__emblem-column {
	display: flex;
	justify-content: flex-end;
}

.article-single .article-featured-image {
	margin-block: 0;
}

.article-single .article-featured-image img {
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.article-single .article-content {
	margin-block-start: clamp(3rem, 6vw, 6rem);
	padding-block-end: var(--wp--preset--spacing--xx-large);
}

/* Wide / full inside the body follow layout.css (no negative-margin breakout). */

@media (max-width: 782px) {
	.article-single .article-heading {
		padding-block: clamp(2.5rem, 10vw, 4rem) clamp(2rem, 8vw, 3rem);
	}

	.article-single .article-heading__columns {
		gap: var(--wp--preset--spacing--large);
	}

	.article-single .article-heading__title {
		font-size: clamp(2.5rem, 12vw, 4.5rem);
		max-width: none;
	}
}
