/* FAC V2 — Heraldic Steel presentation layer.
 * Every selector is rooted in .fac-v2. Hello Elementor retains shell ownership.
 */
.fac-v2 {
	--fac-v2-ink: #0a0a0c;
	--fac-v2-ink-2: #101015;
	--fac-v2-panel: var(--fac-platform-panel, #16161c);
	--fac-v2-panel-2: #1d1d25;
	--fac-v2-line: #2b2b34;
	--fac-v2-steel: #80848f;
	--fac-v2-gold: var(--fac-platform-accent, #c9a227);
	--fac-v2-gold-bright: #ecc94b;
	--fac-v2-gold-deep: #8a6d16;
	--fac-v2-blood: #9b1d22;
	--fac-v2-copy: var(--fac-platform-text, #ece8df);
	--fac-v2-muted: #b9b4aa;
	--fac-v2-radius-sm: 3px;
	--fac-v2-radius: 6px;
	--fac-v2-radius-lg: 10px;
	--fac-v2-gutter: clamp(1rem, 4vw, 4rem);
	--fac-v2-reading: 72rem;
	--fac-v2-wide: 90rem;
	--fac-v2-shadow: 0 14px 40px rgb(0 0 0 / 55%);
	--fac-v2-shadow-gold: 0 0 0 1px rgb(201 162 39 / 35%), 0 12px 34px rgb(0 0 0 / 60%);
	box-sizing: border-box;
	color: var(--fac-v2-copy);
	font-family: var(--wp--preset--font-family--body, system-ui, -apple-system, "Segoe UI", sans-serif);
}

.fac-v2 *,
.fac-v2 *::before,
.fac-v2 *::after { box-sizing: border-box; }

.fac-v2-section {
	position: relative;
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding-block: clamp(3.5rem, 8vw, 7rem);
	background:
		radial-gradient(900px 540px at 50% 0, rgb(201 162 39 / 9%), transparent 65%),
		linear-gradient(180deg, var(--fac-v2-ink-2), var(--fac-v2-ink));
}

.fac-v2-rail {
	width: min(calc(100% - (2 * var(--fac-v2-gutter))), var(--fac-v2-reading));
	max-width: none !important;
	margin-inline: auto !important;
}

.fac-v2-rail--wide { width: min(calc(100% - (2 * var(--fac-v2-gutter))), var(--fac-v2-wide)); }

.fac-v2 :where(h1, h2, h3, h4),
.fac-v2-display {
	color: var(--fac-v2-copy);
	font-family: var(--wp--preset--font-family--display, Georgia, "Times New Roman", serif);
	font-weight: 800;
	line-height: 1.08;
	text-wrap: balance;
}

.fac-v2-display { font-size: clamp(2.5rem, 7vw, 6rem); }
.fac-v2-lead { max-width: 54rem; color: var(--fac-v2-muted); font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.7; }
.fac-v2-kicker { color: var(--fac-v2-gold); font-size: .82rem; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; }

.fac-v2-kicker::before {
	content: "";
	display: inline-block;
	width: 2.2rem;
	height: 1px;
	margin-right: .7rem;
	vertical-align: middle;
	background: linear-gradient(90deg, transparent, var(--fac-v2-gold));
}

.fac-v2-hero { min-height: min(52rem, 82svh); display: grid; align-items: center; }
.fac-v2-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: linear-gradient(90deg, transparent, var(--fac-v2-gold-deep), transparent); }

.fac-v2 .wp-block-button__link,
.fac-v2-button .wp-block-button__link {
	border: 1px solid var(--fac-v2-gold-deep);
	border-radius: var(--fac-v2-radius-sm);
	background: linear-gradient(180deg, var(--fac-v2-gold-bright), var(--fac-v2-gold));
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 35%), 0 2px 8px rgb(0 0 0 / 45%);
	color: #1a1408;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.fac-v2-split {
	display: grid !important;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	gap: 0;
	overflow: clip;
	border: 1px solid var(--fac-v2-line);
	border-top: 3px solid var(--fac-v2-gold);
	border-radius: var(--fac-v2-radius);
	background: color-mix(in srgb, var(--fac-v2-panel) 94%, transparent);
	box-shadow: var(--fac-v2-shadow);
}

.fac-v2-split__media { min-height: 24rem; margin: 0 !important; }
.fac-v2-split__media img { width: 100%; height: 100%; min-height: 24rem; object-fit: cover; filter: none; }
.fac-v2-split__copy { display: grid; align-content: center; padding: clamp(2rem, 5vw, 5rem); }

.fac-v2-card-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
	gap: clamp(1rem, 2.5vw, 2rem);
}

.fac-v2-card {
	min-width: 0;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid var(--fac-v2-line);
	border-top: 3px solid var(--fac-v2-gold);
	border-radius: var(--fac-v2-radius);
	background: color-mix(in srgb, var(--fac-v2-panel) 94%, transparent);
	box-shadow: var(--fac-v2-shadow);
}

/* Fighter Profiles owns markup, approved facts, HTMX, privacy, and moderation.
 * FAC V2 only decorates its public output when an explicit .fac-v2 ancestor exists.
 */
.fac-v2 :where(.fac-fighter-directory, .fac-fighter-profile) { width: 100%; max-width: none; }
.fac-v2 .fac-fighter-directory__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }
.fac-v2 .fac-fighter-card,
.fac-v2 .fac-fighter-profile__panel {
	border-color: var(--fac-v2-line);
	border-top: 3px solid var(--fac-v2-gold);
	border-radius: var(--fac-v2-radius);
	background: color-mix(in srgb, var(--fac-v2-panel) 96%, transparent);
	box-shadow: var(--fac-v2-shadow);
}
.fac-v2 .fac-fighter-card img,
.fac-v2 .fac-fighter-portrait img { filter: none; image-rendering: auto; }
.fac-v2 .fac-fighter-profile__attributes details { border-color: color-mix(in srgb, var(--fac-v2-gold) 45%, transparent); }

@media (max-width: 48rem) {
	.fac-v2 { --fac-v2-gutter: clamp(.75rem, 4vw, 1.25rem); }
	.fac-v2-section { padding-block: clamp(2.75rem, 12vw, 4.5rem); }
	.fac-v2-split { grid-template-columns: minmax(0, 1fr); }
	.fac-v2-split__media,
	.fac-v2-split__media img { min-height: 0; height: clamp(16rem, 68vw, 27rem); }
	.fac-v2 .wp-block-buttons,
	.fac-v2 .wp-block-button,
	.fac-v2 .wp-block-button__link { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.fac-v2 *, .fac-v2 *::before, .fac-v2 *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (forced-colors: active) {
	.fac-v2-card,
	.fac-v2-split,
	.fac-v2 .fac-fighter-card,
	.fac-v2 .fac-fighter-profile__panel { border: 2px solid CanvasText; }
}
