/* MCGS — Recursos CPT front-end (single + archive).
   Brand tokens from MCGS-brief.md. This styles the page *chrome* the PHP
   templates render; the post body itself is built with Spectra blocks and
   keeps its own block styling. */

:root {
	--mcgs-bg: #FCFCFD;
	--mcgs-surface: #F1F1F5;
	--mcgs-gold: #146B6B;
	--mcgs-gold-light: #146B6B;
	--mcgs-gold-dark: #0F5254;
	--mcgs-text: #15141A;
	--mcgs-text-dim: #5C6B6B;

	--mcgs-glass-bg: #F1F1F5;
	--mcgs-glass-border: rgba(21, 20, 26, 0.12);
	--mcgs-glass-blur: 0px;
	--mcgs-glass-gold-bg: rgba(20, 107, 107, 0.08);
	--mcgs-glass-gold-border: rgba(20, 107, 107, 0.30);
}

.mcgs-resource,
.mcgs-resource-archive {
	--wp--style--global--content-size: 760px;
}

/* Break out of the GeneratePress content container so the branded bands run
   edge to edge, regardless of the theme's container padding. */
.mcgs-resource,
.mcgs-resource-archive {
	width: 100%;
	max-width: 100%;
}
.site-content .content-area,
.content-area:has(.mcgs-resource),
.content-area:has(.mcgs-resource-archive) {
	width: 100%;
	max-width: 100%;
}
.mcgs-resource__hero,
.mcgs-resource-archive {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.single-mcgs_resource .site-main,
.post-type-archive-mcgs_resource .site-main,
.tax-mcgs_resource_line .site-main {
	padding: 0 !important;
	border: 0 !important;
}
.single-mcgs_resource .site-main > .entry-header { display: none; }

/* ---------- shared ---------- */
.mcgs-resource__wrap,
.mcgs-archive__wrap {
	max-width: 1120px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 4vw, 2.5rem);
}

.mcgs-eyebrow {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: .72rem;
	font-weight: 600;
	color: var(--mcgs-gold);
	margin: 0 0 .9rem;
}

.mcgs-badge {
	display: inline-block;
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mcgs-gold-light);
	border: 1px solid var(--mcgs-gold-dark);
	border-radius: 999px;
	padding: .3rem .8rem;
}

/* ---------- single: hero ---------- */
.mcgs-resource__hero {
	position: relative;
	background: var(--mcgs-bg);
	color: var(--mcgs-text);
	overflow: hidden;
	padding-block: clamp(3.5rem, 9vw, 6rem);
}

.mcgs-resource__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 30% 40%, rgba(20, 107, 107, .16), transparent 55%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='500'%3E%3Cg fill='none' stroke='%23146B6B' stroke-opacity='.16'%3E%3Cpath d='M40 120 L180 60 L300 160 L150 260 Z'/%3E%3Cpath d='M300 160 L460 90 L560 220 L420 300 Z'/%3E%3Cpath d='M150 260 L420 300 L360 430 L120 380 Z'/%3E%3C/g%3E%3Cg fill='%23146B6B' fill-opacity='.5'%3E%3Ccircle cx='40' cy='120' r='3'/%3E%3Ccircle cx='180' cy='60' r='3'/%3E%3Ccircle cx='300' cy='160' r='3'/%3E%3Ccircle cx='150' cy='260' r='3'/%3E%3Ccircle cx='460' cy='90' r='3'/%3E%3Ccircle cx='560' cy='220' r='3'/%3E%3Ccircle cx='420' cy='300' r='3'/%3E%3Ccircle cx='360' cy='430' r='3'/%3E%3Ccircle cx='120' cy='380' r='3'/%3E%3C/g%3E%3C/svg%3E") right center / cover no-repeat;
	pointer-events: none;
}

.mcgs-resource__hero > .mcgs-resource__wrap { position: relative; }

.mcgs-resource__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	align-items: center;
	margin-bottom: 1.4rem;
}

.mcgs-resource__title {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600;
	line-height: 1.2;
	font-size: clamp(1.35rem, 3.2vw, 2rem);
	margin: 0;
}

.mcgs-resource__summary {
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif);
	color: var(--mcgs-text-dim);
	font-size: clamp(1.02rem, 2vw, 1.2rem);
	max-width: 46ch;
	margin: 1.1rem 0 0;
}

/* gold underline motif from the wordmark */
.mcgs-resource__title::after {
	content: "";
	display: block;
	width: 88px;
	height: 2px;
	margin-top: 1.1rem;
	background: linear-gradient(90deg, var(--mcgs-gold), transparent);
}

/* ---------- single: body ---------- */
.mcgs-resource__body {
	padding-block: clamp(2.5rem, 6vw, 4rem);
}

.mcgs-resource__cta {
	margin-top: 2.5rem;
	padding: 1.6rem;
	border: 1px solid var(--mcgs-glass-gold-border);
	border-radius: 4px;
	background: var(--mcgs-glass-bg);
	-webkit-backdrop-filter: blur(var(--mcgs-glass-blur));
	backdrop-filter: blur(var(--mcgs-glass-blur));
}

.mcgs-resource__cta p { margin: 0 0 1rem; }

.mcgs-btn {
	display: inline-block;
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600;
	letter-spacing: .02em;
	text-decoration: none;
	padding: .9rem 1.7rem;
	border-radius: 4px;
	background: var(--mcgs-glass-gold-bg);
	-webkit-backdrop-filter: blur(var(--mcgs-glass-blur));
	backdrop-filter: blur(var(--mcgs-glass-blur));
	border: 1px solid var(--mcgs-glass-gold-border);
	color: var(--mcgs-gold-light);
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.mcgs-btn:hover { background: rgba(20, 107, 107, 0.24); border-color: var(--mcgs-gold); color: var(--mcgs-text); }

.mcgs-resource__video {
	margin-top: 2.5rem;
	aspect-ratio: 16 / 9;
}
.mcgs-resource__video iframe { width: 100%; height: 100%; border: 0; border-radius: 4px; }

/* ---------- archive ---------- */
.mcgs-resource-archive {
	color: var(--mcgs-text);
	background:
		radial-gradient(44vw 40vw at 90% 4%, rgba(20, 107, 107, .09), transparent 60%),
		radial-gradient(40vw 40vw at 5% 70%, rgba(20, 107, 107, .06), transparent 62%),
		var(--mcgs-bg);
}

.mcgs-archive__header {
	padding-block: clamp(3rem, 8vw, 5rem) clamp(1.5rem, 4vw, 2.5rem);
}
.mcgs-archive__title {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600;
	font-size: clamp(1.35rem, 3vw, 1.9rem);
	margin: 0;
}

.mcgs-archive__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.4rem;
	padding-bottom: clamp(3rem, 8vw, 5rem);
}

.mcgs-card {
	display: flex;
	flex-direction: column;
	background: var(--mcgs-glass-bg);
	-webkit-backdrop-filter: blur(var(--mcgs-glass-blur));
	backdrop-filter: blur(var(--mcgs-glass-blur));
	border: 1px solid var(--mcgs-glass-border);
	border-radius: 4px;
	overflow: hidden;
	transition: border-color .15s ease, transform .15s ease;
}
.mcgs-card:hover { border-color: var(--mcgs-glass-gold-border); transform: translateY(-2px); }

.mcgs-card__thumb { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; background: #F1F1F5; }

.mcgs-card__body { padding: 1.3rem 1.3rem 1.5rem; display: flex; flex-direction: column; gap: .6rem; flex: 1; }

.mcgs-card__title {
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-weight: 600;
	font-size: 1.12rem;
	line-height: 1.25;
	margin: 0;
}
.mcgs-card__title a { color: var(--mcgs-text); text-decoration: none; }
.mcgs-card__title a:hover { color: var(--mcgs-gold-light); }

.mcgs-card__summary {
	font-family: var(--mcgs-font-body, "Manrope", system-ui, sans-serif);
	color: var(--mcgs-text-dim);
	font-size: .92rem;
	margin: 0;
}

.mcgs-card__more {
	margin-top: auto;
	font-family: var(--mcgs-font-head, "Fraunces", Georgia, serif);
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mcgs-gold);
	text-decoration: none;
}

.mcgs-archive__empty { color: var(--mcgs-text-dim); padding-bottom: 4rem; }
