/* ──────────────────────────────────────────────────────────────────────────
 * Hand Analysis masterclass — page-scoped styles.
 *
 * Loaded only on /poker/strategy/hand-analysis/ (gate: btf_is_ha_page()).
 *
 * Cascade gotchas pre-baked: `.prose` chains, eyebrow-dash suppression on
 * widget labels, `[hidden]` guard, selection-on-dark.
 * ──────────────────────────────────────────────────────────── */

/* ── Selection on dark backgrounds ───────────────────────────────────── */
body.btf-ha-page .btf-ha-hero ::selection,
body.btf-ha-page .btf-ha-hero::selection,
body.btf-ha-page .btf-ha-hero-quote ::selection,
body.btf-ha-page .btf-ha-hero-quote::selection,
body.btf-ha-page .btf-ha-questions ::selection,
body.btf-ha-page .btf-ha-questions::selection,
body.btf-ha-page .btf-ha-summary ::selection,
body.btf-ha-page .btf-ha-summary::selection {
	background: rgba( 212, 180, 74, .4 );
	color: var( --on-dark );
}

/* Token aliases — reuse the texas-holdem editorial palette. */
body.btf-ha-page {
	--btf-ha-forest: var( --th-forest );
	--btf-ha-forest-2: var( --th-forest-2 );
	--btf-ha-forest-3: var( --th-forest-3 );
	--btf-ha-gold: var( --th-gold );
	--btf-ha-gold-soft: var( --th-gold-soft );
	--btf-ha-cream: var( --th-cream );
	--btf-ha-cream-2: var( --th-cream-2 );
	--btf-ha-cream-3: var( --th-cream-3 );
	--btf-ha-ink: var( --th-ink );
	--btf-ha-ink-2: var( --th-ink-2 );
	--btf-ha-muted: var( --th-muted );
	--btf-ha-hair: var( --th-hair );
	--btf-ha-red: var( --th-red );
	--btf-ha-serif: var( --th-serif );
	--btf-ha-sans: var( --th-sans );
	--btf-ha-mono: var( --th-mono );
}

/* ── Section wrappers + editorial spacing ────────────────────────────── */
body.btf-ha-page .btf-ha-section {
	padding: 4rem 0 3rem;
	scroll-margin-top: 80px;
}
body.btf-ha-page .btf-ha-section > .wrap > .btf-th-eyebrow {
	margin-bottom: .9rem;
}
body.btf-ha-page .prose .btf-ha-section h2.btf-th-display {
	margin: 0 0 .55em;
}
body.btf-ha-page .prose .btf-ha-section .btf-th-lede,
body.btf-ha-page .btf-ha-section .btf-th-lede {
	margin: 0 0 2rem;
	color: var( --btf-ha-ink-2 );
}

/* ── Hero ────────────────────────────────────────────────────────────── */
body.btf-ha-page .btf-ha-hero-body {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 2rem;
}
@media ( max-width: 880px ) {
	body.btf-ha-page .btf-ha-hero-body { grid-template-columns: 1fr; }
}
body.btf-ha-page .btf-ha-hero-cta {
	display: flex;
	gap: .7rem;
	flex-wrap: wrap;
	margin-top: 1.4rem;
}
/* Hero pull-quote — matches the bluffing-page pattern: absolute-anchored
   quote mark at the top-left, snug padding, serif font on the container,
   slightly larger paragraph text. Keep this consistent across all the
   masterclass heroes — diverging here looks "off" to the brand eye. */
body.btf-ha-page .btf-ha-hero-quote {
	background: rgba( 255, 255, 255, .04 );
	border: 1px solid rgba( 255, 255, 255, .1 );
	border-radius: 14px;
	padding: 1.6rem 1.6rem 1.4rem;
	color: var( --btf-ha-cream );
	position: relative;
	font-family: var( --btf-ha-serif );
}
body.btf-ha-page .btf-ha-hq-mark {
	position: absolute;
	top: -.2em;
	left: .6rem;
	font-family: var( --btf-ha-serif );
	font-size: 5rem;
	line-height: 1;
	color: var( --btf-ha-gold-soft );
	opacity: .7;
	pointer-events: none;
}
/* Selector chain beats base.css's `.section-paper > .wrap p:not([class])`
   (specificity 0,0,3,1) — single-class chain loses and the p renders as
   dark ink on dark felt. */
body.btf-ha-page .prose .btf-ha-hero .btf-ha-hero-quote p,
body.btf-ha-page .btf-ha-hero .btf-ha-hero-quote p {
	font-size: 1.18rem;
	line-height: 1.55;
	margin: 1.5rem 0 1rem;
	color: rgba( 255, 255, 255, .92 );
}
body.btf-ha-page .btf-ha-hero-quote p em {
	color: var( --btf-ha-gold-soft );
	font-style: italic;
}
body.btf-ha-page .btf-ha-hero-quote footer {
	margin-top: 1rem;
	font-family: var( --btf-ha-mono );
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var( --btf-ha-gold-soft );
}

/* ── 01 Toolkit ──────────────────────────────────────────────────────── */
body.btf-ha-page .btf-ha-tools {
	display: grid;
	grid-template-columns: repeat( 2, 1fr );
	gap: 1rem;
}
@media ( max-width: 760px ) {
	body.btf-ha-page .btf-ha-tools { grid-template-columns: 1fr; }
}
body.btf-ha-page .btf-ha-tool {
	background: var( --btf-ha-cream-2 );
	border: 1px solid var( --btf-ha-hair );
	border-radius: 14px;
	padding: 1.6rem 1.7rem;
}
body.btf-ha-page .btf-ha-tool.optional {
	background: var( --btf-ha-cream-3 );
}
body.btf-ha-page .btf-ha-tool-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: .8rem;
}
body.btf-ha-page .btf-ha-tool-head .btf-th-eyebrow::before {
	content: none;
}
body.btf-ha-page .btf-ha-tool-head .btf-th-eyebrow {
	padding-left: 0;
}
body.btf-ha-page .btf-ha-tool-pill {
	font-family: var( --btf-ha-mono );
	font-size: .68rem;
	letter-spacing: .12em;
	font-weight: 600;
	padding: .25em .6em;
	border-radius: 3px;
	text-transform: uppercase;
}
body.btf-ha-page .btf-ha-tool-pill.must {
	background: rgba( 29, 52, 38, .12 );
	color: var( --btf-ha-forest );
}
body.btf-ha-page .btf-ha-tool-pill.opt {
	background: var( --btf-ha-cream-3 );
	color: var( --btf-ha-muted );
}
body.btf-ha-page .prose .btf-ha-tool h3.btf-th-display,
body.btf-ha-page .btf-ha-tool h3.btf-th-display {
	font-size: 1.4rem;
	margin: 0 0 .4em;
}
body.btf-ha-page .btf-ha-tool-body {
	margin: 0 0 1.1rem;
	font-size: .98rem;
	line-height: 1.6;
	color: var( --btf-ha-ink-2 );
}
body.btf-ha-page .btf-ha-tool-examples {
	margin-top: 1.1rem;
	padding: .8rem 1rem;
	background: #f4f1ec;
	border: 1px solid var( --btf-ha-hair );
	border-radius: 8px;
}
body.btf-ha-page .btf-ha-tool-examples .btf-th-eyebrow::before {
	content: none;
}
body.btf-ha-page .btf-ha-tool-examples .btf-th-eyebrow {
	padding-left: 0;
}
/* Extra class in the chain to beat base.css's `.section-paper > .wrap
   p:not([class])` rule (specificity 0,0,3,1) — otherwise font-size +
   font-family fall back to the dark-ink prose default at 1.05rem. */
body.btf-ha-page .btf-ha-tool .btf-ha-tool-examples p {
	margin: .3em 0 0;
	font-family: var( --btf-ha-sans );
	font-size: .9rem;
	line-height: 1.5;
	color: var( --btf-ha-ink );
}

/* ── 02 Which hands ──────────────────────────────────────────────────── */
body.btf-ha-page .btf-ha-which {
	display: flex;
	flex-direction: column;
	gap: .6rem;
}
body.btf-ha-page .btf-ha-which-row {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 1rem;
	padding: 1.2rem 1.4rem;
	background: var( --btf-ha-cream-2 );
	border: 1px solid var( --btf-ha-hair );
	border-radius: 12px;
}
body.btf-ha-page .btf-ha-which-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-family: var( --btf-ha-mono );
	font-weight: 700;
	font-size: 1rem;
	align-self: start;
	margin-top: .15em;
}
body.btf-ha-page .btf-ha-which-icon.good {
	background: var( --btf-ha-forest );
	color: var( --btf-ha-cream );
}
body.btf-ha-page .btf-ha-which-icon.bad {
	background: var( --btf-ha-red );
	color: var( --btf-ha-cream );
}
body.btf-ha-page .prose .btf-ha-which-row h4.btf-th-display,
body.btf-ha-page .btf-ha-which-row h4.btf-th-display {
	font-size: 1.2rem;
	margin: 0 0 .35em;
}
body.btf-ha-page .btf-ha-which-row p {
	margin: 0;
	font-size: .95rem;
	line-height: 1.55;
	color: var( --btf-ha-ink-2 );
}

/* ── 03 Process timeline + Questions grid ────────────────────────────── */
body.btf-ha-page .btf-ha-process {
	background: var( --btf-ha-cream-2 );
	border: 1px solid var( --btf-ha-hair );
	border-radius: 14px;
	padding: 1.8rem 2rem;
	display: flex;
	flex-direction: column;
	margin-bottom: 2rem;
}
body.btf-ha-page .btf-ha-process-step {
	display: grid;
	grid-template-columns: 60px 1fr;
	gap: 1.4rem;
	padding-bottom: 1.6rem;
}
body.btf-ha-page .btf-ha-process-step:last-child {
	padding-bottom: 0;
}
body.btf-ha-page .btf-ha-process-marker {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}
body.btf-ha-page .btf-ha-process-n {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var( --btf-ha-forest );
	color: var( --btf-ha-cream );
	font-family: var( --btf-ha-serif );
	font-size: 1.1rem;
	font-weight: 500;
	display: grid;
	place-items: center;
	letter-spacing: -.01em;
	flex-shrink: 0;
}
body.btf-ha-page .btf-ha-process-line {
	width: 2px;
	flex: 1;
	background: var( --btf-ha-hair );
	margin-top: .5rem;
}
body.btf-ha-page .btf-ha-process-body {
	padding-top: .5rem;
	padding-bottom: .4rem;
}
body.btf-ha-page .prose .btf-ha-process-body h4.btf-th-display,
body.btf-ha-page .btf-ha-process-body h4.btf-th-display {
	font-size: 1.3rem;
	margin: 0 0 .4em;
}
body.btf-ha-page .btf-ha-process-body p {
	margin: 0 0 .8rem;
	font-size: 1rem;
	line-height: 1.55;
	color: var( --btf-ha-ink-2 );
}
body.btf-ha-page .btf-ha-process-tip {
	padding: .8rem 1rem;
	background: #f4f1ec;
	border-left: 3px solid var( --btf-ha-gold );
	border-radius: 0 8px 8px 0;
}
body.btf-ha-page .btf-ha-process-tip .btf-th-eyebrow::before {
	content: none;
}
body.btf-ha-page .btf-ha-process-tip .btf-th-eyebrow {
	padding-left: 0;
}
body.btf-ha-page .btf-ha-process-tip p {
	margin: .2em 0 0;
	font-family: var( --btf-ha-serif );
	font-style: italic;
	font-size: .95rem;
	color: var( --btf-ha-ink );
}

body.btf-ha-page .btf-ha-questions {
	background: var( --btf-ha-forest );
	color: var( --btf-ha-cream );
	border-radius: 14px;
	padding: 2rem;
}
body.btf-ha-page .btf-ha-questions .btf-th-eyebrow {
	color: var( --btf-ha-gold-soft );
}
body.btf-ha-page .btf-ha-questions .btf-th-eyebrow::before {
	background: var( --btf-ha-gold-soft );
}
body.btf-ha-page .prose .btf-ha-questions h3.btf-th-display,
body.btf-ha-page .btf-ha-questions h3.btf-th-display {
	color: var( --btf-ha-cream );
	margin: .3em 0 1.2em;
	font-size: 1.5rem;
}
body.btf-ha-page .btf-ha-q-grid {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: .7rem;
}
@media ( max-width: 760px ) {
	body.btf-ha-page .btf-ha-q-grid { grid-template-columns: 1fr; }
}
body.btf-ha-page .btf-ha-q-card {
	background: rgba( 243, 238, 226, .06 );
	border: 1px solid rgba( 243, 238, 226, .12 );
	border-radius: 10px;
	padding: 1.1rem 1.2rem;
}
body.btf-ha-page .btf-ha-q-num {
	font-family: var( --btf-ha-mono );
	font-size: .68rem;
	letter-spacing: .14em;
	color: var( --btf-ha-gold-soft );
	font-weight: 600;
	display: block;
	margin-bottom: .4em;
}
/* Extra class in the chain to beat base.css's `.section-paper > .wrap
   p:not([class])` rule (specificity 0,0,3,1). Without `.btf-ha-questions`
   in the selector the p renders as dark ink, invisible on dark felt. */
body.btf-ha-page .btf-ha-questions .btf-ha-q-card p {
	margin: 0;
	font-family: var( --btf-ha-serif );
	font-size: 1.05rem;
	line-height: 1.4;
	color: var( --btf-ha-cream );
}

/* ── 04 AI vs Forum ──────────────────────────────────────────────────── */
body.btf-ha-page .btf-ha-ai-grid {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 1rem;
	align-items: stretch;
}
@media ( max-width: 760px ) {
	body.btf-ha-page .btf-ha-ai-grid { grid-template-columns: 1fr; }
	body.btf-ha-page .btf-ha-ai-vs { display: none; }
}
body.btf-ha-page .btf-ha-ai-card {
	background: var( --btf-ha-cream-2 );
	border: 1px solid var( --btf-ha-hair );
	border-radius: 14px;
	padding: 1.6rem 1.7rem;
	display: flex;
	flex-direction: column;
}
body.btf-ha-page .prose .btf-ha-ai-card h4.btf-th-display,
body.btf-ha-page .btf-ha-ai-card h4.btf-th-display {
	font-size: 1.4rem;
	margin: .15em 0 .5em;
}
body.btf-ha-page .btf-ha-ai-card p {
	margin: 0 0 1rem;
	font-family: var( --btf-ha-serif );
	font-size: 1.05rem;
	line-height: 1.5;
	color: var( --btf-ha-ink );
	font-style: italic;
}
body.btf-ha-page .btf-ha-ai-pill {
	align-self: flex-start;
	font-family: var( --btf-ha-mono );
	font-size: .68rem;
	letter-spacing: .1em;
	font-weight: 600;
	padding: .25em .6em;
	border-radius: 3px;
	text-transform: uppercase;
	margin-top: auto;
}
body.btf-ha-page .btf-ha-ai-pill.good {
	background: rgba( 29, 52, 38, .12 );
	color: var( --btf-ha-forest );
}
body.btf-ha-page .btf-ha-ai-vs {
	display: grid;
	place-items: center;
	font-family: var( --btf-ha-serif );
	font-size: 1.8rem;
	font-style: italic;
	color: var( --btf-ha-muted );
	font-weight: 300;
	padding: 0 .5rem;
}

/* ── Pro callout (used in §04 + §05) ─────────────────────────────────── */
body.btf-ha-page .btf-ha-callout {
	display: grid;
	grid-template-columns: minmax( 110px, max-content ) 1fr;
	align-items: start;
	gap: 1rem;
	padding: 1.1rem 1.4rem;
	margin-top: 1.4rem;
	background: var( --btf-ha-cream-2 );
	border: 1px solid var( --btf-ha-hair );
	border-left: 3px solid var( --btf-ha-gold );
	border-radius: 0 12px 12px 0;
}
/* On mobile, stack the icon label above the body — the 2-column layout
   crams both sides on narrow screens. */
@media ( max-width: 600px ) {
	body.btf-ha-page .btf-ha-callout {
		grid-template-columns: 1fr;
		gap: .5rem;
	}
}
body.btf-ha-page .btf-ha-callout-icon {
	font-family: var( --btf-ha-mono );
	font-size: .68rem;
	letter-spacing: .14em;
	font-weight: 600;
	text-transform: uppercase;
	color: var( --btf-ha-gold );
	padding-top: .25em;
}
body.btf-ha-page .btf-ha-callout-body {
	font-family: var( --btf-ha-serif );
	font-size: 1rem;
	line-height: 1.55;
	color: var( --btf-ha-ink );
}

/* ── 05 Takeaways ────────────────────────────────────────────────────── */
body.btf-ha-page .btf-ha-takes {
	display: grid;
	grid-template-columns: repeat( 2, 1fr );
	gap: .7rem;
}
@media ( max-width: 760px ) {
	body.btf-ha-page .btf-ha-takes { grid-template-columns: 1fr; }
}
body.btf-ha-page .btf-ha-take {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 1rem;
	padding: 1.2rem 1.4rem;
	background: var( --btf-ha-cream-2 );
	border: 1px solid var( --btf-ha-hair );
	border-radius: 12px;
}
body.btf-ha-page .btf-ha-take-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-family: var( --btf-ha-mono );
	font-weight: 700;
	font-size: 1rem;
	align-self: start;
	margin-top: .15em;
}
body.btf-ha-page .btf-ha-take-icon.good {
	background: var( --btf-ha-forest );
	color: var( --btf-ha-cream );
}
body.btf-ha-page .btf-ha-take-icon.bad {
	background: var( --btf-ha-red );
	color: var( --btf-ha-cream );
}
body.btf-ha-page .prose .btf-ha-take h4.btf-th-display,
body.btf-ha-page .btf-ha-take h4.btf-th-display {
	font-size: 1.15rem;
	margin: 0 0 .35em;
}
body.btf-ha-page .btf-ha-take p {
	margin: 0;
	font-size: .95rem;
	line-height: 1.55;
	color: var( --btf-ha-ink-2 );
}

/* ── 06 Summary (dark felt) ──────────────────────────────────────────── */
body.btf-ha-page .btf-ha-summary {
	background: var( --btf-ha-forest );
	color: var( --on-dark );
	padding: 4rem 0;
	margin-top: 2rem;
	scroll-margin-top: 80px;
}
body.btf-ha-page .btf-ha-sm-eyebrow {
	display: inline-block;
	font-family: var( --btf-ha-mono );
	font-size: .72rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var( --btf-ha-gold-soft );
	font-weight: 600;
	margin-bottom: 1rem;
}
body.btf-ha-page .btf-ha-sm-display {
	font-family: var( --btf-ha-serif );
	font-weight: 400;
	color: var( --on-dark );
	font-size: clamp( 1.6rem, 3vw, 2.4rem );
	letter-spacing: -.02em;
	margin: 0 0 2rem;
	line-height: 1.15;
}
body.btf-ha-page .btf-ha-sm-display em {
	color: var( --btf-ha-gold-soft );
	font-style: italic;
}
body.btf-ha-page .btf-ha-summary-grid {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 1rem;
}
@media ( max-width: 880px ) {
	body.btf-ha-page .btf-ha-summary-grid { grid-template-columns: 1fr; }
}
body.btf-ha-page .btf-ha-summary-card {
	background: rgba( 255, 255, 255, .04 );
	border: 1px solid rgba( 255, 255, 255, .1 );
	border-radius: 14px;
	padding: 1.8rem;
}
body.btf-ha-page .btf-ha-summary-num {
	display: inline-block;
	font-family: var( --btf-ha-serif );
	font-size: 2.4rem;
	font-weight: 500;
	color: var( --btf-ha-gold-soft );
	letter-spacing: -.02em;
	line-height: 1;
	margin-bottom: .6rem;
}
body.btf-ha-page .prose .btf-ha-summary-card h4.btf-th-display,
body.btf-ha-page .btf-ha-summary-card h4.btf-th-display {
	color: var( --on-dark );
	font-size: 1.2rem;
	margin: 0 0 .5em;
}
/* Extra class in the chain to beat base.css's `.section-paper > .wrap
   p:not([class])` rule (specificity 0,0,3,1). The summary lives outside
   .section-paper (renders into single-generic.php as its own felt
   section), but the .wrap p:not selector still matches via descendant
   combinator since the section is inside the prose wrapper. */
body.btf-ha-page .btf-ha-summary .btf-ha-summary-card p {
	margin: 0;
	color: rgba( 255, 255, 255, .8 );
	font-size: .98rem;
	line-height: 1.55;
}

/* ── [hidden] guard for SSR fallbacks (none used here but kept for parity) */
body.btf-ha-page [hidden] { display: none !important; }
