/*
 * RESEARCH SYSTEM V1 — reusable stylesheet for the Universal Research Renderer (RPS-05D). Every rule
 * here styles a semantic Research component (Hero, editorial prose, position track, diagram, evidence,
 * metrics, series relationship, editorial transition) — never a specific Research's slug, ID, Area,
 * Series, or the mere presence/absence of a component. It is loaded unconditionally for any resolved
 * dynamic Research route (see Routing::enqueue_assets()); a component's classes simply go unused in the
 * markup when that Research has no content for it (e.g. Datos Macro IV has no `.smq-irp-evidence-*`
 * markup, so those rules are inert for it — that is normal, not a reason to split the file).
 *
 * Consolidated from two RPS-05B/05C-era files, both already generic before this merge (verified rule by
 * rule during the RPS-05D audit — none were reclassified as legacy-only/obsolete):
 *   - research-individual-page.css (the shared base: hero, editorial column, track, series relationship,
 *     editorial transition, diagram caption) — everything in it was already marked [GENERIC].
 *   - research-ibs.css (the Primary Visual Evidence + Metrics component, and 2 one-property spacing
 *     refinements to the track/series-block rules) — everything in it was already marked
 *     [GENERIC structure / RESEARCH-DATA content]. The 2 refinements are folded directly into the base
 *     rules below instead of kept as a separate cascade override, since there is no case where the
 *     un-refined value is still wanted.
 *
 * Depends on the same shared primitives already used by the rest of the site: `.smq-course-*` (hero,
 * CTAs, section scaffolding) from course-amibroker.css, and `.smq-hub-validation-*` (step-flow, reused
 * by diagram_relation) from strategies-hub.css.
 *
 * research-individual-page.css and research-ibs.css are NOT deleted — they remain the legacy L5 rollback
 * baseline (RPS-05D §9/§27), still enqueued by the legacy `is_page()` blocks in functions.php, which
 * self-reactivate automatically if a slug is ever removed from Routing::enabled_slugs(). The Universal
 * Renderer no longer depends on either of them as of this file.
 */

/* ================= Research Hero — single column, editorial ================= */
.smq-irp-hero-single {
	max-width: 760px;
	display: flex;
	flex-direction: column;
	gap: var(--smq-space-4);
}

/* ================= Static "no public target" CTA modifier =================
   Applied to a <span role="link" aria-disabled="true">, never an <a href> — no fictitious Series/
   Individual Research URL is ever created (RPS-05B/05C: Series Relationship generalization). Styled
   identically to a normal CTA (no opacity/disabled treatment). */
.smq-irp-cta-static {
	cursor: default;
}

/* ================= Research prose block — editorial content column =================
   Widens the column moderately (comfortable ~80ch line length) beyond `.smq-course-lead`'s shared 72ch
   cap. Conceptual slot a future 2-column (content + PRIMARY_VISUAL_EVIDENCE) grid could replace —
   not implemented; with no evidence present the column simply uses the fuller width. */
.smq-irp-editorial-col {
	max-width: 840px;
}
.smq-irp-editorial-col .smq-course-lead {
	max-width: none;
}

/* ================= Research formula — semantic, accessible text (never an image) ================= */
.smq-irp-formula {
	margin-top: var(--smq-space-3);
	font-family: var(--smq-font-mono);
	font-size: 0.95rem;
	color: var(--smq-navy-950);
}

/* ================= Research diagram — diagram_relation caption =================
   The step-flow markup itself reuses `.smq-hub-validation-*` (strategies-hub.css); this file only styles
   the honesty caption that may accompany a native, non-data-plotted diagram. */
.smq-irp-diagram-caption {
	margin-top: var(--smq-space-3);
	font-family: var(--smq-font-mono);
	font-size: 0.76rem;
	color: var(--smq-gray-400);
}

/* ================= Research position track — structure generic, content is Series data =================
   Shared by the CONTEXT block's labeled Series recap and the SERIES_RELATIONSHIP block's plain position
   track — same render_track() resolver, same markup, same classes for both. */
.smq-irp-track {
	display: flex;
	align-items: center;
	gap: var(--smq-space-2);
	margin: var(--smq-space-3) 0 0; /* RPS-05C refinement, applied universally. */
	max-width: 420px;
}
.smq-irp-track--labeled {
	max-width: 100%;
	margin-top: var(--smq-space-5);
	align-items: flex-start;
}
.smq-irp-track-item {
	flex: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--smq-space-1);
}
.smq-irp-track-step {
	flex: none;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--smq-font-mono);
	font-weight: 700;
	font-size: 0.85rem;
	color: var(--smq-gray-600);
	background: var(--smq-white);
	border: 1px solid var(--smq-gray-200);
	border-radius: 50%;
}
.smq-irp-track-step--current {
	color: var(--smq-white);
	background: var(--smq-blue-brand);
	border-color: var(--smq-blue-brand);
}
.smq-irp-track-label {
	font-family: var(--smq-font-mono);
	font-size: 0.68rem;
	color: var(--smq-gray-400);
	white-space: nowrap;
}
.smq-irp-track-label--current {
	color: var(--smq-navy-950);
	font-weight: 600;
}
.smq-irp-track-connector {
	flex: 1 1 auto;
	min-width: var(--smq-space-3);
	height: 2px;
	background: var(--smq-gray-200);
	align-self: center;
}
.smq-irp-track--labeled .smq-irp-track-connector {
	margin-top: 18px;
}

/* ================= Research Evidence — Primary Visual Evidence component =================
   Restrained/technical presentation, not "trader flashy" — no neon equity treatment, no giant
   percentage figures, no profit-badge/trophy styling; the badge is neutral (gray/navy), not a green
   "win" badge. Wrapped in a subtle bordered surface so the whole meta-row/chart/caption/expand-link/
   metrics/source group reads as one editorial object. Inert (unused) markup-wise for any Research with
   no PRIMARY_VISUAL_EVIDENCE block — that is expected, not a reason to load a separate file. */
.smq-irp-evidence {
	display: flex;
	flex-direction: column;
	gap: var(--smq-space-3);
	padding: var(--smq-space-5);
	background: var(--smq-white);
	border: 1px solid var(--smq-gray-200);
	border-radius: 4px;
}
.smq-irp-evidence-meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--smq-space-3);
}
.smq-irp-evidence-badge {
	font-family: var(--smq-font-mono);
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--smq-navy-950);
	background: var(--smq-gray-50);
	border: 1px solid var(--smq-gray-200);
	border-radius: 999px;
	padding: var(--smq-space-1) var(--smq-space-3);
}
.smq-irp-evidence-meta {
	font-family: var(--smq-font-mono);
	font-size: 0.78rem;
	color: var(--smq-gray-600);
}
.smq-irp-evidence-figure {
	margin: 0 auto;
	max-width: 85%;
}
.smq-irp-evidence-img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--smq-gray-200);
	border-radius: 4px;
}
/* Tablet/mobile: full width for legibility — the desktop 85% cap above only applies at wider viewports. */
@media (max-width: 1024px) {
	.smq-irp-evidence-figure {
		max-width: 100%;
	}
}
.smq-irp-evidence-caption {
	margin-top: var(--smq-space-2);
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--smq-gray-600);
}
.smq-irp-evidence-expand {
	align-self: flex-start;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--smq-blue-brand);
	text-decoration: none;
}
.smq-irp-evidence-expand:hover,
.smq-irp-evidence-expand:focus-visible {
	text-decoration: underline;
}
.smq-irp-evidence-source {
	font-family: var(--smq-font-mono);
	font-size: 0.72rem;
	color: var(--smq-gray-400);
	margin: 0;
}

/* ================= Research Metrics — public claims presentation =================
   Reuses the same visual language as the evidence stat cards (both are short label/value pairs) but is
   its own component: a Research can have METRICS without PRIMARY_VISUAL_EVIDENCE, and vice versa. */
.smq-irp-evidence-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--smq-space-4);
	padding-top: var(--smq-space-4);
	margin-top: var(--smq-space-1);
	border-top: 1px solid var(--smq-gray-200);
}
.smq-irp-evidence-metric {
	display: flex;
	flex-direction: column;
	gap: var(--smq-space-1);
}
.smq-irp-evidence-metric-value {
	font-family: var(--smq-font-display);
	font-weight: 700;
	font-size: 1.15rem;
	color: var(--smq-navy-950);
}
.smq-irp-evidence-metric-label {
	font-family: var(--smq-font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--smq-gray-400);
}
@media (max-width: 480px) {
	.smq-irp-evidence-metrics {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--smq-space-2);
	}
}

/* ================= Research Series Relationship =================
   Heading + CTA on one row, tight section padding. Same component renders both the "no public URL"
   static state and the "real public URL" linked state (RPS-05C generalization) — no separate CSS for
   either case, only the `.smq-irp-cta-static` modifier above changes cursor/affordance. */
.smq-irp-series-block {
	display: flex;
	flex-direction: column;
	gap: var(--smq-space-2); /* RPS-05C refinement, applied universally. */
}
.smq-irp-series-heading-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--smq-space-3);
}
.smq-irp-series-h2 {
	font-family: var(--smq-font-display);
	font-weight: 700;
	font-size: 1.3rem;
	color: var(--smq-navy-950);
	margin: var(--smq-space-1) 0 0;
}
.smq-irp-series-position {
	font-weight: 400;
	color: var(--smq-gray-600);
}
.smq-irp-series-link {
	flex: none;
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--smq-blue-brand);
	text-decoration: none;
}
.smq-irp-series-link:hover,
.smq-irp-series-link:focus-visible {
	text-decoration: underline;
}

/* ================= Research Editorial Transition (Research -> Serie -> Membership) =================
   Deliberately the quietest block on the page relative to Core Problem/Methodology's visual weight. */
.smq-irp-transition-eyebrow {
	font-family: var(--smq-font-mono);
	font-size: 0.72rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--smq-gray-400);
	margin: 0 0 var(--smq-space-3);
}
.smq-irp-transition {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--smq-space-4);
	padding: var(--smq-space-5);
	background: var(--smq-gray-50);
	border: 1px solid var(--smq-gray-200);
	border-left: 3px solid var(--smq-blue-brand);
	border-radius: 4px;
}
.smq-irp-transition-title {
	font-family: var(--smq-font-display);
	font-weight: 700;
	font-size: 1.15rem;
	color: var(--smq-navy-950);
	margin: 0;
}
.smq-irp-transition-note {
	font-size: 0.9rem;
	color: var(--smq-gray-600);
	margin: var(--smq-space-1) 0 0;
}
.smq-irp-membership-block {
	margin-top: var(--smq-space-3);
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--smq-space-2);
}
.smq-irp-membership-note {
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--smq-gray-600);
	margin: 0;
}
.smq-irp-membership-note strong {
	color: var(--smq-navy-950);
}
.smq-irp-membership-link {
	flex: none;
	font-weight: 600;
	font-size: 0.86rem;
	color: var(--smq-blue-brand);
	text-decoration: none;
}
.smq-irp-membership-link:hover,
.smq-irp-membership-link:focus-visible {
	text-decoration: underline;
}

/* ================= Acquire / commercial block — purchase form ================= */
.smq-purchase-form {
	margin: 0;
}
.smq-purchase-form button.smq-course-cta-primary {
	border: 0;
	cursor: pointer;
}

/* ================= RP02D: hero subtitle (secondary to the H1, above signals and lead) ================= */
.smq-irp-hero-subtitle {
	margin: calc(-1 * var(--smq-space-2)) 0 var(--smq-space-4);
	max-width: 640px;
	font-family: var(--smq-font-text);
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.45;
	color: var(--smq-gray-200);
}
@media (max-width: 480px) {
	.smq-irp-hero-subtitle {
		font-size: 1rem;
		margin-bottom: var(--smq-space-3);
	}
}

/* ================= RP02B: KPI panel label (discreet, neutral — no buy/sell colours) ================= */
.smq-irp-metrics-label {
	margin: 0 0 var(--smq-space-1);
	font-family: var(--smq-font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--smq-gray-600);
}
@media (max-width: 480px) {
	.smq-irp-metrics-label + .smq-irp-evidence-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ================= RESEARCH-PUBLISHING-01C: canonical disclaimer (system component) ================= */
.smq-irp-disclaimer {
	border-top: 1px solid var(--smq-gray-200);
}
.smq-irp-disclaimer-text {
	max-width: 760px;
	margin: 0;
	font-family: var(--smq-font-text);
	font-size: 13px;
	line-height: 1.6;
	color: var(--smq-gray-600);
}
.smq-irp-disclaimer-link {
	color: var(--smq-blue-brand);
	text-decoration: underline;
}

/* ================= RESEARCH-PUBLISHING-01C: governed preview banner (authorized viewers only) ================= */
.smq-irp-preview-banner {
	padding: var(--smq-space-2) var(--smq-space-3);
	background: #FFF4CC;
	border-bottom: 2px solid #E0A800;
	color: var(--smq-navy-950);
	font-family: var(--smq-font-text);
	font-size: 14px;
	text-align: center;
}

/* WEB-PUB-03: unapproved copy candidate (local preview overlay) — stronger banner + the candidate's SEO fields. */
.smq-irp-preview-banner--candidate {
	background: #FFE3D6;
	border-bottom-color: #C2410C;
}
.smq-irp-preview-seo {
	max-width: 960px;
	margin: var(--smq-space-2) auto 0;
	font-size: 13px;
	text-align: left;
}
.smq-irp-preview-seo div {
	display: flex;
	gap: var(--smq-space-2);
	padding: 2px 0;
}
.smq-irp-preview-seo dt {
	flex: 0 0 140px;
	font-weight: 600;
}
.smq-irp-preview-seo dd {
	margin: 0;
}

/* ================= Responsive ================= */
@media (max-width: 480px) {
	.smq-irp-transition {
		flex-direction: column;
		align-items: flex-start;
	}
	.smq-irp-track {
		max-width: 100%;
		/* WEB-PUB-07: a long Series (9 Research) does not fit one line at 390 px — it wraps instead of
		   widening the page. A Series that fits is unchanged. */
		flex-wrap: wrap;
		row-gap: var(--smq-space-2);
	}
	.smq-irp-series-heading-row {
		flex-direction: column;
		align-items: flex-start;
	}
}
