/* ==========================================================================
   Stravum Builder — Manifesto Card (widgets/manifesto-card.php)

   PART FILE. Auto-enqueued by st_builder_enqueue_parts().

   Structural minimum + Digital Vanguard dark defaults. Per-instance styling
   comes from the style engine, which emits `.st-el-{uid} .st-mf-…` (0-2-0) in a
   LATER inline <style>, so everything the engine can target is kept to at most
   two classes here and loses on a tie. Hover/state defaults that must outrank
   the engine's base rule use an element qualifier, never a third class.

   The hard offset shadow is driven by two custom properties the style engine
   sets (--st-mf-offset / --st-mf-shadow) so the effect can be turned off per
   instance simply by leaving the offset control empty.
   ========================================================================== */

.st-mf {
	--st-mf-accent: #fd5b38;
	--st-mf-white: #ffffff;
	--st-mf-text: #a9adc1;
	--st-mf-offset: 0px;
	--st-mf-shadow: transparent;
	position: relative;
	padding: 40px;
	background-color: #0a0c10;
	box-shadow: var(--st-mf-offset) var(--st-mf-offset) 0 0 var(--st-mf-shadow);
}

/* ================================================================= Ribbon. */
.st-mf-ribbon {
	position: absolute;
	top: -18px;
	right: -12px;
	z-index: 2;
	display: inline-block;
	padding: 8px 22px;
	background-color: var(--st-mf-accent);
	color: #0a0c10;
	font-family: "Geist", sans-serif;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

/* ================================================================== Title. */
.st-mf-title {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 26px;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 34px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--st-mf-white);
}

.st-mf-icon {
	flex: 0 0 auto;
	font-size: 42px;
	line-height: 1;
	color: var(--st-mf-accent);
}

/* ============================================================== Statement. */
.st-mf-quote {
	margin: 0 0 34px;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 34px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--st-mf-accent);
}

/* ============================================================== Signatory. */
.st-mf-sign {
	display: flex;
	align-items: center;
	gap: 22px;
	padding-top: 28px;
	border-top: 3px solid rgba(255, 255, 255, 0.18);
}

.st-mf-sign-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	flex: 0 0 auto;
	background-color: var(--st-mf-white);
	color: #0a0c10;
	transform: rotate(-6deg);
}

.st-mf-sign-mark .material-symbols-outlined {
	font-size: 36px;
	line-height: 1;
}

.st-mf-sign-meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.st-mf-sign-name {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--st-mf-white);
}

.st-mf-sign-role {
	font-family: "Geist", sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: rgba(255, 255, 255, 0.55);
}

/* ============================================================= Responsive. */
@media (max-width: 767px) {
	.st-mf {
		padding: 28px 22px;
	}

	.st-mf-ribbon {
		right: auto;
		left: 0;
		font-size: 13px;
		padding: 7px 16px;
	}

	.st-mf-title,
	.st-mf-quote {
		font-size: 24px;
	}

	.st-mf-icon {
		font-size: 32px;
	}

	.st-mf-sign-mark {
		width: 54px;
		height: 54px;
	}

	.st-mf-sign-name {
		font-size: 19px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.st-mf-ribbon,
	.st-mf-sign-mark {
		transform: none;
	}
}
