/* Blog page formatting */

article.type-post {
	/* Override theme style */
	margin-bottom: 1.6rem !important;
}

article.type-post .ast-article-inner {
	display: flex;
	gap: 1.6rem;
	align-items: stretch;
}

article.type-post .post-thumb {
	flex: 0 0 30%;
	overflow: hidden;
	position: relative;
	border-radius: var(--br1);
}

/* Break intrinsic sizing completely */

article.type-post .post-thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

/* RIGHT COLUMN defines the actual height of the row */

article.type-post .dso-article-wrapper {
	flex: 1;
	display: flex;
	flex-direction: column;
}

article.type-post .ast-article-inner h2.entry-title {
	margin-bottom: 0;
}

article.type-post .ast-article-inner h2.entry-title a:hover {
	color: var(--dso-orange-50);
}

article .ast-excerpt-container::first-line {
	font-family: var(--dso-heading-font);
	font-weight: 500;
	text-transform: uppercase;
	color: var(--dso-cool-gray-80);
}

article.type-post + article.type-post {
	border-top: 1px solid var(--dso-cool-gray-80-25p);
	padding-top: 1.6rem;
}

article.type-post .ast-article-inner .post-thumb::after {
	content: '';
	position: absolute;
	inset: 0;
	
	width: 100%;
	height: 100%;
	background-image: radial-gradient(
		circle,
		transparent 33%,
		var(--dso-cool-gray-80-50p)
	);

	z-index: 3;
	mix-blend-mode: multiply;
	
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}

/* =====================
 * === FEATURED POST ===
 * ===================== */

.featured-article__ratio {
	border-bottom: 1px solid var(dso-cool-gray-80-25p);
	margin-bottom: 1.6rem;
}

.featured-article__ratio article {
	position: relative;
	overflow: hidden;
	
	aspect-ratio: 4 / 3;
}

.featured-article__ratio article .post-thumb {
	position: absolute;
	inset: 0;
	z-index: 1;
	
	border-radius: var(--br1);
}

.featured-article__ratio article .post-thumb::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 2;

	background-image: linear-gradient(
		0,
		var(--dso-cool-gray-90-33p),
		transparent 66.667%,
		transparent
	);
	
	mix-blend-mode: multiply;
}

.featured-article__ratio article .post-thumb img {
	box-sizing: border-box;
	
	width: 100%;
	height: 100%;

	object-fit: cover;
	display: block;
	
	border-radius: inherit;
}

.featured-article__ratio article .dso-article-wrapper {
	position: relative;
	z-index: 5;
	
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	
	padding: 2.4rem;
}

/* ~0.577 is the trig-correct value for 120deg drop shadow */
.featured-article__ratio article .dso-article-wrapper .entry-header h2.entry-title a {
	font-size: 2.8rem;
	line-height: 3.2rem;
	color: var(--dso-warm-gray-10);
	text-shadow: calc(0.125rem * 0.577) 0.125rem 0.09375rem var(--dso-cool-gray-90-33p);
	
	transform: translate(0, 0);
}

.featured-article__ratio article .dso-article-wrapper .entry-header h2.entry-title a:hover {
	--offsetY: 0.25rem;
	transform: translate(0, calc(var(--offsetY) * -1));
	text-shadow: calc(0.125rem * 0.577) calc(0.125rem + var(--offsetY)) 0.1875rem var(--dso-cool-gray-90);
}

.featured-article__ratio article .dso-post-meta .dso-meta-text,
.featured-article__ratio article .dso-post-meta .dso-meta-text a,
.featured-article__ratio article .ast-excerpt-container,
.featured-article__ratio article .ast-excerpt-container a 
{
	color: var(--dso-warm-gray-10);
	text-shadow: 0.09375rem 0.09375rem 0.0625rem var(--dso-cool-gray-90-33p);
}

.featured-article__ratio article .ast-excerpt-container::first-line {
	color: var(--dso-warm-gray-10);
}

.featured-article__ratio .dso-article-wrapper .dso-post-meta a:hover,
.featured-article__ratio .dso-article-wrapper a:hover {
	color: var(--dso-yellow-40);
}

/* This is for single-article pages */
article.type-post:has(.single-layout-1) .entry-title {
	--fs: 3.2rem;
	font-size: var(--fs);
	line-height: calc(var(--fs) * 1.0625);
}