/* ──────────────────────────────────────────────────────────────────────────
 * Suited Connectors masterclass — page-scoped styles.
 *
 * Loaded only on /poker/strategy/suited-connectors/ (gate: btf_is_sc_page()).
 *
 * Cascade gotchas pre-baked: `.prose` chains, eyebrow-dash suppression on
 * widget labels, `[hidden]` guard, selection-on-dark.
 * ──────────────────────────────────────────────────────────── */

/* ── Selection on dark backgrounds ───────────────────────────────────── */
body.btf-sc-page .btf-sc-hero ::selection,
body.btf-sc-page .btf-sc-hero::selection,
body.btf-sc-page .btf-sc-hero-quote ::selection,
body.btf-sc-page .btf-sc-hero-quote::selection,
body.btf-sc-page .btf-sc-summary ::selection,
body.btf-sc-page .btf-sc-summary::selection,
body.btf-sc-page .btf-sc-rq-tab.active ::selection,
body.btf-sc-page .btf-sc-rq-tab.active::selection,
body.btf-sc-page .btf-sc-fl-tile.active ::selection,
body.btf-sc-page .btf-sc-fl-tile.active::selection {
	background: rgba( 212, 180, 74, .4 );
	color: var( --on-dark );
}

/* Token aliases */
body.btf-sc-page {
	--btf-sc-forest: var( --th-forest );
	--btf-sc-forest-2: var( --th-forest-2 );
	--btf-sc-forest-3: var( --th-forest-3 );
	--btf-sc-gold: var( --th-gold );
	--btf-sc-gold-soft: var( --th-gold-soft );
	--btf-sc-cream: var( --th-cream );
	--btf-sc-cream-2: var( --th-cream-2 );
	--btf-sc-cream-3: var( --th-cream-3 );
	--btf-sc-ink: var( --th-ink );
	--btf-sc-ink-2: var( --th-ink-2 );
	--btf-sc-muted: var( --th-muted );
	--btf-sc-hair: var( --th-hair );
	--btf-sc-red: var( --th-red );
	--btf-sc-card-red: #b03a3a;
	--btf-sc-serif: var( --th-serif );
	--btf-sc-sans: var( --th-sans );
	--btf-sc-mono: var( --th-mono );
}

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

/* ── Hero ────────────────────────────────────────────────────────────── */
body.btf-sc-page .btf-sc-hero-body {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 2rem;
}
@media ( max-width: 880px ) {
	body.btf-sc-page .btf-sc-hero-body { grid-template-columns: 1fr; }
}
body.btf-sc-page .btf-sc-hero-cta {
	display: flex;
	gap: .7rem;
	flex-wrap: wrap;
	margin-top: 1.4rem;
}
body.btf-sc-page .btf-sc-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-sc-cream );
	position: relative;
	font-family: var( --btf-sc-serif );
}
body.btf-sc-page .btf-sc-hero-cards {
	display: flex;
	gap: .5rem;
	margin-bottom: 1rem;
	justify-content: center;
}
body.btf-sc-page .btf-sc-hero-cards .btf-sc-card {
	width: 80px;
	height: 112px;
	box-shadow: 0 8px 20px rgba( 0, 0, 0, .25 );
	transform: rotate( -3deg );
	background: #fff;
	border: 1px solid rgba( 28, 24, 20, .18 );
}
body.btf-sc-page .btf-sc-hero-cards .btf-sc-card:last-child {
	transform: rotate( 3deg );
	margin-left: -10px;
}
body.btf-sc-page .btf-sc-hero-cards .btf-sc-card .rank { font-size: 2.4rem; }
body.btf-sc-page .btf-sc-hero-cards .btf-sc-card .suit { font-size: 1.5rem; }
body.btf-sc-page .btf-sc-hq-mark {
	position: absolute;
	top: -.2em;
	left: .6rem;
	font-family: var( --btf-sc-serif );
	font-size: 5rem;
	line-height: 1;
	color: var( --btf-sc-gold-soft );
	opacity: .4;
}
body.btf-sc-page .prose .btf-sc-hero-quote p {
	font-size: 1.18rem;
	line-height: 1.55;
	margin: 1.5rem 0 1rem;
	color: rgba( 255, 255, 255, .92 );
}
body.btf-sc-page .btf-sc-hero-quote p em {
	color: var( --btf-sc-gold-soft );
	font-style: italic;
}
body.btf-sc-page .btf-sc-hero-quote footer {
	font-family: var( --btf-sc-mono );
	font-size: .68rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba( 255, 255, 255, .5 );
}

/* ── Playing card primitive ──────────────────────────────────────────── */
body.btf-sc-page .btf-sc-card {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 60px;
	background: #fff;
	border: 1px solid rgba( 28, 24, 20, .18 );
	border-radius: 5px;
	box-shadow: 0 1px 2px rgba( 0, 0, 0, .12 ), 0 2px 6px rgba( 0, 0, 0, .06 );
	font-family: var( --btf-sc-serif );
	line-height: 1;
}
body.btf-sc-page .btf-sc-card .rank { font-size: 1.2rem; font-weight: 400; }
body.btf-sc-page .btf-sc-card .suit { font-size: 1.1rem; margin-top: .15em; }
body.btf-sc-page .btf-sc-card .rank.is-ten { letter-spacing: -.08em; font-size: 1.05rem; }
body.btf-sc-page .btf-sc-card--red   { color: var( --btf-sc-card-red ); }
body.btf-sc-page .btf-sc-card--black { color: var( --btf-sc-ink ); }

/* ── Requirements: tabs ──────────────────────────────────────────────── */
body.btf-sc-page .btf-sc-rq-tabs {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: .5rem;
	margin-bottom: 1.4rem;
}
@media ( max-width: 760px ) { body.btf-sc-page .btf-sc-rq-tabs { grid-template-columns: 1fr; } }
body.btf-sc-page .btf-sc-rq-tab {
	background: var( --btf-sc-cream-2 );
	border: 1px solid var( --btf-sc-hair );
	border-radius: 12px;
	padding: 1.2rem 1.3rem;
	cursor: pointer;
	text-align: left;
	display: grid;
	grid-template-columns: 36px 1fr;
	align-items: center;
	gap: 1rem;
	font: inherit;
	color: var( --btf-sc-ink );
	transition: all .15s;
}
body.btf-sc-page .btf-sc-rq-tab:hover { border-color: var( --btf-sc-ink-2 ); }
body.btf-sc-page .btf-sc-rq-tab.active {
	background: var( --btf-sc-forest );
	color: var( --btf-sc-cream );
	border-color: var( --btf-sc-forest );
}
body.btf-sc-page .btf-sc-rq-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var( --btf-sc-cream );
	border: 1px solid var( --btf-sc-hair );
	display: grid;
	place-items: center;
	font-size: 1.3rem;
	color: var( --btf-sc-ink );
}
body.btf-sc-page .btf-sc-rq-tab.active .btf-sc-rq-icon {
	background: var( --btf-sc-gold );
	border-color: var( --btf-sc-gold );
	color: var( --btf-sc-forest-2 );
}
body.btf-sc-page .btf-sc-rq-tab b {
	font-family: var( --btf-sc-serif );
	font-weight: 500;
	font-size: 1.2rem;
	letter-spacing: -.01em;
}

/* ── Requirements: detail card ───────────────────────────────────────── */
body.btf-sc-page .btf-sc-rq-card {
	background: var( --btf-sc-cream-2 );
	border: 1px solid var( --btf-sc-hair );
	border-radius: 14px;
	padding: 1.8rem 2rem;
	border-left: 3px solid var( --btf-sc-forest );
	margin-top: .5rem;
}
body.btf-sc-page .btf-sc-rq-card[data-rq-hidden="true"] { display: none; }
body.btf-sc-page .btf-sc-rq-head {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 1.5rem;
	align-items: center;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid var( --btf-sc-hair );
	margin-bottom: 1.4rem;
}
@media ( max-width: 600px ) { body.btf-sc-page .btf-sc-rq-head { grid-template-columns: 1fr; gap: .8rem; } }
body.btf-sc-page .btf-sc-rq-head > div > .btf-th-eyebrow {
	display: flex;
}
body.btf-sc-page .btf-sc-rq-head > div > .btf-th-eyebrow::before {
	display: none;
}
body.btf-sc-page .btf-sc-rq-big-icon {
	width: 80px;
	height: 80px;
	border-radius: 16px;
	background: var( --btf-sc-forest );
	color: var( --btf-sc-cream );
	display: grid;
	place-items: center;
	font-size: 2.6rem;
}
body.btf-sc-page .prose .btf-sc-rq-head h3.btf-th-display,
body.btf-sc-page .btf-sc-rq-head h3.btf-th-display {
	font-family: var( --btf-sc-serif );
	font-weight: 500;
	font-size: 1.7rem;
	letter-spacing: -.02em;
	color: var( --btf-sc-ink );
	margin: .15em 0 .3em;
	line-height: 1.2;
}
body.btf-sc-page .prose .btf-sc-rq-body,
body.btf-sc-page .btf-sc-rq-body {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.6;
	color: var( --btf-sc-ink-2 );
	max-width: 70ch;
}
body.btf-sc-page .btf-sc-rq-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
@media ( max-width: 760px ) { body.btf-sc-page .btf-sc-rq-grid { grid-template-columns: 1fr; } }
body.btf-sc-page .btf-sc-rq-block {
	padding: 1.1rem 1.3rem;
	background: var( --btf-sc-cream );
	border: 1px solid var( --btf-sc-hair );
	border-radius: 10px;
	border-left-width: 3px;
}
body.btf-sc-page .btf-sc-rq-block.yes { border-left-color: var( --btf-sc-forest ); }
body.btf-sc-page .btf-sc-rq-block.no  { border-left-color: var( --btf-sc-red ); }
body.btf-sc-page .btf-sc-rq-block > .btf-th-eyebrow {
	display: flex;
}
body.btf-sc-page .btf-sc-rq-block > .btf-th-eyebrow::before {
	display: none;
}
body.btf-sc-page .prose .btf-sc-rq-block p,
body.btf-sc-page .btf-sc-rq-block p {
	margin: .3em 0 0;
	font-family: var( --btf-sc-serif );
	font-size: 1.05rem;
	line-height: 1.5;
	color: var( --btf-sc-ink );
}

/* ── Flops: 6-tile grid ──────────────────────────────────────────────── */
body.btf-sc-page .btf-sc-fl-grid {
	display: grid;
	grid-template-columns: repeat( 6, 1fr );
	gap: .55rem;
	margin-bottom: 1.4rem;
}
@media ( max-width: 900px ) { body.btf-sc-page .btf-sc-fl-grid { grid-template-columns: 1fr 1fr 1fr; } }
@media ( max-width: 540px ) { body.btf-sc-page .btf-sc-fl-grid { grid-template-columns: 1fr 1fr; } }
body.btf-sc-page .btf-sc-fl-tile {
	background: var( --btf-sc-cream-2 );
	border: 1px solid var( --btf-sc-hair );
	border-radius: 12px;
	padding: 1rem 1.1rem;
	cursor: pointer;
	text-align: left;
	display: flex;
	flex-direction: column;
	gap: .55rem;
	font: inherit;
	color: var( --btf-sc-ink );
	transition: all .15s;
}
body.btf-sc-page .btf-sc-fl-tile:hover { border-color: var( --btf-sc-ink-2 ); }
body.btf-sc-page .btf-sc-fl-tile.active {
	background: var( --btf-sc-forest );
	color: var( --btf-sc-cream );
	border-color: var( --btf-sc-forest );
}
body.btf-sc-page .btf-sc-fl-flop {
	display: flex;
	gap: .15rem;
}
body.btf-sc-page .btf-sc-fl-flop .btf-sc-card {
	width: 34px;
	height: 48px;
}
body.btf-sc-page .btf-sc-fl-flop .btf-sc-card .rank { font-size: .9rem; }
body.btf-sc-page .btf-sc-fl-flop .btf-sc-card .suit { font-size: .65rem; }
body.btf-sc-page .btf-sc-fl-label {
	font-family: var( --btf-sc-serif );
	font-weight: 500;
	font-size: 1rem;
	letter-spacing: -.01em;
}
body.btf-sc-page .btf-sc-fl-pill {
	font-family: var( --btf-sc-mono );
	font-size: .65rem;
	letter-spacing: .12em;
	font-weight: 600;
	padding: .25em .55em;
	border-radius: 3px;
	align-self: flex-start;
}
body.btf-sc-page .btf-sc-fl-pill.good { background: rgba( 29, 52, 38, .12 );  color: var( --btf-sc-forest ); }
body.btf-sc-page .btf-sc-fl-pill.bad  { background: rgba( 139, 36, 36, .12 ); color: var( --btf-sc-red ); }
body.btf-sc-page .btf-sc-fl-tile.active .btf-sc-fl-pill.good { background: rgba( 201, 162, 74, .25 ); color: var( --btf-sc-gold-soft ); }
body.btf-sc-page .btf-sc-fl-tile.active .btf-sc-fl-pill.bad  { background: rgba( 255, 255, 255, .18 ); color: rgba( 255, 255, 255, .9 ); }

/* ── Flops: detail panel ─────────────────────────────────────────────── */
body.btf-sc-page .btf-sc-fl-detail {
	background: var( --btf-sc-cream-2 );
	border: 1px solid var( --btf-sc-hair );
	border-radius: 14px;
	padding: 1.8rem 2rem;
	border-left-width: 3px;
	margin-top: .5rem;
}
body.btf-sc-page .btf-sc-fl-detail[data-fl-hidden="true"] { display: none; }
body.btf-sc-page .btf-sc-fl-detail.good { border-left-color: var( --btf-sc-forest ); }
body.btf-sc-page .btf-sc-fl-detail.bad  { border-left-color: var( --btf-sc-red ); }
body.btf-sc-page .btf-sc-fl-detail-head { margin-bottom: 1.2rem; padding-bottom: 1.2rem; border-bottom: 1px solid var( --btf-sc-hair ); }
body.btf-sc-page .btf-sc-fl-detail-head > .btf-th-eyebrow {
	display: flex;
}
body.btf-sc-page .btf-sc-fl-detail-head > .btf-th-eyebrow::before {
	display: none;
}
body.btf-sc-page .prose .btf-sc-fl-detail-head h3.btf-th-display,
body.btf-sc-page .btf-sc-fl-detail-head h3.btf-th-display {
	font-family: var( --btf-sc-serif );
	font-weight: 500;
	font-size: 1.6rem;
	letter-spacing: -.02em;
	color: var( --btf-sc-ink );
	margin: .15em 0 .35em;
	line-height: 1.2;
}
body.btf-sc-page .btf-sc-fl-detail-head h3.btf-th-display em {
	font-style: italic;
	color: var( --btf-sc-forest );
}
body.btf-sc-page .btf-sc-fl-detail.bad .btf-sc-fl-detail-head h3.btf-th-display em {
	color: var( --btf-sc-red );
}

body.btf-sc-page .btf-sc-fl-stage {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	padding: 1.4rem;
	background: var( --btf-sc-cream-3 );
	border-radius: 10px;
	margin-bottom: 1.2rem;
	flex-wrap: wrap;
}
body.btf-sc-page .btf-sc-fl-hand,
body.btf-sc-page .btf-sc-fl-board {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .4rem;
}
body.btf-sc-page .btf-sc-fl-hand > .btf-th-eyebrow,
body.btf-sc-page .btf-sc-fl-board > .btf-th-eyebrow {
	display: flex;
}
body.btf-sc-page .btf-sc-fl-hand > .btf-th-eyebrow::before,
body.btf-sc-page .btf-sc-fl-board > .btf-th-eyebrow::before {
	display: none;
}
body.btf-sc-page .btf-sc-fl-cards { display: flex; gap: .3rem; }
body.btf-sc-page .btf-sc-fl-stage .btf-sc-card {
	width: 56px;
	height: 78px;
}
body.btf-sc-page .btf-sc-fl-stage .btf-sc-card .rank { font-size: 1.5rem; }
body.btf-sc-page .btf-sc-fl-stage .btf-sc-card .suit { font-size: 1.15rem; }
body.btf-sc-page .btf-sc-fl-plus {
	font-family: var( --btf-sc-serif );
	font-size: 2rem;
	color: var( --btf-sc-muted );
	font-weight: 300;
}
body.btf-sc-page .prose .btf-sc-fl-body,
body.btf-sc-page .btf-sc-fl-body {
	margin: 0;
	font-family: var( --btf-sc-serif );
	font-size: 1.1rem;
	line-height: 1.55;
	color: var( --btf-sc-ink );
}

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

/* ── Callouts ────────────────────────────────────────────────────────── */
body.btf-sc-page .btf-sc-callout:not([hidden]) {
	display: flex;
	gap: 1rem;
	padding: 1rem 1.2rem;
	margin: 1.4rem 0 0;
	border-radius: 10px;
	border: 1px solid;
	align-items: flex-start;
}
body.btf-sc-page .btf-sc-callout.tip {
	background: rgba( 217, 228, 210, .35 );
	border-color: rgba( 45, 74, 42, .15 );
	color: var( --th-tip-ink );
}
body.btf-sc-page .btf-sc-callout.pro {
	background: #dcebdf;
	border-color: var( --btf-sc-forest );
	color: var( --btf-sc-forest );
}
body.btf-sc-page .btf-sc-callout.pitfall {
	background: #f5dcdc;
	border-color: var( --btf-sc-red );
	color: var( --btf-sc-red );
}
body.btf-sc-page .btf-sc-callout-icon {
	flex-shrink: 0;
	font-family: var( --btf-sc-mono );
	font-size: .7rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 600;
	padding: .25em .55em;
	border-radius: 3px;
	background: rgba( 0, 0, 0, .08 );
	margin-top: .15em;
}
body.btf-sc-page .btf-sc-callout.tip .btf-sc-callout-icon     { background: rgba( 45, 74, 42, .15 );   color: var( --th-tip-ink ); }
body.btf-sc-page .btf-sc-callout.pro .btf-sc-callout-icon     { background: rgba( 29, 52, 38, .18 );   color: var( --btf-sc-forest ); }
body.btf-sc-page .btf-sc-callout.pitfall .btf-sc-callout-icon { background: rgba( 139, 45, 45, .18 );  color: var( --btf-sc-red ); }
body.btf-sc-page .prose .btf-sc-callout-body,
body.btf-sc-page .btf-sc-callout-body {
	font-family: var( --btf-sc-serif );
	font-size: 1.02rem;
	line-height: 1.55;
}

/* ── Summary felt panel — three big numbered cards ───────────────────── */
body.btf-sc-page .btf-sc-summary {
	background: var( --btf-sc-forest );
	color: var( --btf-sc-cream );
	padding: 4rem 0 5rem;
}
body.btf-sc-page .btf-sc-sm-eyebrow {
	font-family: var( --btf-sc-mono );
	font-size: .72rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var( --btf-sc-gold-soft );
	display: block;
	margin-bottom: 1rem;
}
body.btf-sc-page .btf-sc-sm-display {
	font-family: var( --btf-sc-serif );
	font-weight: 400;
	font-size: clamp( 2rem, 4.2vw, 3.4rem );
	line-height: 1.05;
	letter-spacing: -.015em;
	color: var( --btf-sc-cream );
	margin: .4em 0 .8em;
}
body.btf-sc-page .btf-sc-sm-display em {
	color: var( --btf-sc-gold-soft );
	font-style: italic;
}
body.btf-sc-page .btf-sc-summary-grid {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 1.5rem;
	margin-top: 2.5rem;
}
@media ( max-width: 760px ) {
	body.btf-sc-page .btf-sc-summary-grid { grid-template-columns: 1fr; }
}
body.btf-sc-page .btf-sc-summary-card {
	background: rgba( 243, 238, 226, .04 );
	border: 1px solid rgba( 243, 238, 226, .12 );
	border-radius: 14px;
	padding: 1.3rem 1.4rem;
}
body.btf-sc-page .btf-sc-summary-num {
	font-family: var( --btf-sc-serif );
	font-size: 2.5rem;
	color: var( --btf-sc-gold-soft );
	line-height: 1;
	font-weight: 300;
	display: block;
	margin-bottom: .3em;
}
body.btf-sc-page .prose .btf-sc-summary-card h4.btf-th-display,
body.btf-sc-page .btf-sc-summary-card h4.btf-th-display {
	font-family: var( --btf-sc-serif );
	font-weight: 400;
	font-size: 1.3rem;
	letter-spacing: -.01em;
	color: var( --btf-sc-cream );
	margin: 0 0 .3em;
	line-height: 1.25;
}
body.btf-sc-page .prose .btf-sc-summary-card p,
body.btf-sc-page .btf-sc-summary-card p {
	color: rgba( 243, 238, 226, .78 );
	font-size: .95rem;
	margin: 0;
	line-height: 1.55;
}
