/* ──────────────────────────────────────────────────────────────────────────
 * Tilt masterclass — page-scoped styles.
 *
 * Loaded only on /poker/strategy/tilt/ (gate: btf_is_tl_page() in
 * functions.php). Sits on top of texas-holdem.css; reuses --th-* tokens.
 *
 * Cascade gotchas pre-baked:
 *   1. `.prose` chains to outscore the `:not([class])` selectors.
 *   2. `body.btf-th-page .prose p { margin: 0 }` strips p margins.
 *   3. Eyebrow ::before dash suppressed where eyebrow is a widget label.
 *   4. `[hidden]` guarded with `:not([hidden])` on flex callouts.
 *   5. Selection on dark backgrounds → gold highlight.
 * ──────────────────────────────────────────────────────────── */

/* ── Selection on dark backgrounds ───────────────────────────────────── */
body.btf-tl-page .btf-tl-hero ::selection,
body.btf-tl-page .btf-tl-hero::selection,
body.btf-tl-page .btf-tl-hero-quote ::selection,
body.btf-tl-page .btf-tl-hero-quote::selection,
body.btf-tl-page .btf-tl-summary ::selection,
body.btf-tl-page .btf-tl-summary::selection,
body.btf-tl-page .btf-tl-sl-card ::selection,
body.btf-tl-page .btf-tl-sl-card::selection,
body.btf-tl-page .btf-tl-trig-tab.active ::selection,
body.btf-tl-page .btf-tl-trig-tab.active::selection,
body.btf-tl-page .btf-tl-proto-step-num ::selection,
body.btf-tl-page .btf-tl-proto-step-num::selection {
	background: rgba( 212, 180, 74, .4 );
	color: var( --on-dark );
}

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

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

/* ── Hero ────────────────────────────────────────────────────────────── */
body.btf-tl-page .btf-tl-hero-body {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 2rem;
}
@media ( max-width: 880px ) {
	body.btf-tl-page .btf-tl-hero-body { grid-template-columns: 1fr; }
}
body.btf-tl-page .btf-tl-hero-cta {
	display: flex;
	gap: .7rem;
	flex-wrap: wrap;
	margin-top: 1.4rem;
}
body.btf-tl-page .btf-tl-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-tl-cream );
	position: relative;
	font-family: var( --btf-tl-serif );
}
body.btf-tl-page .btf-tl-hq-mark {
	position: absolute;
	top: -.2em;
	left: .6rem;
	font-family: var( --btf-tl-serif );
	font-size: 5rem;
	line-height: 1;
	color: var( --btf-tl-gold-soft );
	opacity: .4;
}
body.btf-tl-page .prose .btf-tl-hero-quote p {
	font-size: 1.18rem;
	line-height: 1.55;
	margin: 1.5rem 0 1rem;
	color: rgba( 255, 255, 255, .92 );
}
body.btf-tl-page .btf-tl-hero-quote p em {
	color: var( --btf-tl-gold-soft );
	font-style: italic;
}
body.btf-tl-page .btf-tl-hero-quote footer {
	font-family: var( --btf-tl-mono );
	font-size: .68rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba( 255, 255, 255, .5 );
}

/* ── Anatomy ─────────────────────────────────────────────────────────── */
body.btf-tl-page .btf-tl-anatomy {
	display: flex;
	flex-direction: column;
	gap: .7rem;
}
body.btf-tl-page .btf-tl-bb {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: 1.4rem;
	padding: 1.4rem 1.6rem;
	background: var( --btf-tl-cream-2 );
	border: 1px solid var( --btf-tl-hair );
	border-radius: 14px;
	border-left-width: 3px;
}
body.btf-tl-page .btf-tl-bb--good { border-left-color: var( --btf-tl-forest ); }
body.btf-tl-page .btf-tl-bb--ok   { border-left-color: var( --btf-tl-gold ); }
body.btf-tl-page .btf-tl-bb--bad  { border-left-color: var( --btf-tl-red ); }
@media ( max-width: 760px ) {
	body.btf-tl-page .btf-tl-bb { grid-template-columns: 1fr; gap: .6rem; padding: 1.2rem 1.3rem; }
}
body.btf-tl-page .btf-tl-bb-num {
	font-family: var( --btf-tl-mono );
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var( --btf-tl-muted );
	font-weight: 600;
	padding-top: .3rem;
}
body.btf-tl-page .btf-tl-bb-head {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: .6rem;
	flex-wrap: wrap;
}
body.btf-tl-page .prose .btf-tl-bb-head h3.btf-th-display,
body.btf-tl-page .btf-tl-bb-head h3.btf-th-display {
	font-family: var( --btf-tl-serif );
	font-weight: 400;
	font-size: 1.5rem;
	letter-spacing: -.01em;
	color: var( --btf-tl-ink );
	margin: 0;
	line-height: 1.2;
}
body.btf-tl-page .btf-tl-bb-odds {
	font-family: var( --btf-tl-mono );
	font-size: .72rem;
	letter-spacing: .1em;
	font-weight: 600;
	padding: .25em .6em;
	border-radius: 3px;
}
body.btf-tl-page .btf-tl-bb-odds.good { background: rgba( 29, 52, 38, .12 );  color: var( --btf-tl-forest ); }
body.btf-tl-page .btf-tl-bb-odds.ok   { background: rgba( 201, 162, 74, .18 ); color: #7d5e1a; }
body.btf-tl-page .btf-tl-bb-odds.bad  { background: rgba( 139, 36, 36, .12 );  color: var( --btf-tl-red ); }
body.btf-tl-page .prose .btf-tl-bb-example,
body.btf-tl-page .btf-tl-bb-example {
	margin: 0 0 .55em;
	font-family: var( --btf-tl-serif );
	font-size: 1.05rem;
	font-style: italic;
	line-height: 1.5;
	color: var( --btf-tl-ink );
}
body.btf-tl-page .btf-tl-bb-example b {
	font-family: var( --btf-tl-mono );
	font-size: .68rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var( --btf-tl-muted );
	font-style: normal;
	font-weight: 600;
	margin-right: .4em;
}
body.btf-tl-page .prose .btf-tl-bb-text,
body.btf-tl-page .btf-tl-bb-text {
	margin: 0;
	font-size: .98rem;
	line-height: 1.55;
	color: var( --btf-tl-ink-2 );
}

/* ── Triggers ────────────────────────────────────────────────────────── */
body.btf-tl-page .btf-tl-trig-tabs {
	display: grid;
	grid-template-columns: repeat( 5, 1fr );
	gap: .5rem;
	margin-bottom: 1.4rem;
}
@media ( max-width: 760px ) {
	body.btf-tl-page .btf-tl-trig-tabs { grid-template-columns: 1fr 1fr; }
}
body.btf-tl-page .btf-tl-trig-tab {
	background: var( --btf-tl-cream-2 );
	border: 1px solid var( --btf-tl-hair );
	border-radius: 12px;
	padding: 1.1rem .9rem;
	cursor: pointer;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .5rem;
	font: inherit;
	color: var( --btf-tl-ink );
	transition: all .15s;
}
body.btf-tl-page .btf-tl-trig-tab:hover { transform: translateY( -2px ); border-color: var( --btf-tl-ink-2 ); }
body.btf-tl-page .btf-tl-trig-tab.active {
	background: var( --btf-tl-forest );
	border-color: var( --btf-tl-forest );
	color: var( --btf-tl-cream );
}
body.btf-tl-page .btf-tl-trig-icon { font-size: 1.7rem; line-height: 1; }
body.btf-tl-page .btf-tl-trig-tab b {
	font-family: var( --btf-tl-serif );
	font-weight: 500;
	font-size: 1rem;
	letter-spacing: -.01em;
}

body.btf-tl-page .btf-tl-trig-card {
	background: var( --btf-tl-cream-2 );
	border: 1px solid var( --btf-tl-hair );
	border-radius: 14px;
	padding: 1.6rem 1.8rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	margin-top: .5rem;
}
@media ( max-width: 760px ) {
	body.btf-tl-page .btf-tl-trig-card { grid-template-columns: 1fr; gap: 1rem; }
}
body.btf-tl-page .btf-tl-trig-card[data-tr-hidden="true"] { display: none; }

body.btf-tl-page .btf-tl-trig-section > .btf-th-eyebrow {
	display: flex;
	margin-bottom: .5em;
}
body.btf-tl-page .btf-tl-trig-section > .btf-th-eyebrow::before {
	display: none;
}
body.btf-tl-page .prose .btf-tl-trig-section p,
body.btf-tl-page .btf-tl-trig-section p {
	margin: 0;
	font-family: var( --btf-tl-sans );
	font-size: 1rem;
	line-height: 1.55;
	color: var( --btf-tl-ink-2 );
}

/* ── Protocol timeline ───────────────────────────────────────────────── */
body.btf-tl-page .btf-tl-proto {
	background: var( --btf-tl-cream-2 );
	border: 1px solid var( --btf-tl-hair );
	border-radius: 14px;
	padding: 1.8rem 1.8rem .6rem;
}
body.btf-tl-page .btf-tl-proto-step {
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 1.4rem;
	padding-bottom: 1.4rem;
	position: relative;
}
body.btf-tl-page .btf-tl-proto-marker {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: .35rem;
	position: relative;
}
body.btf-tl-page .btf-tl-proto-step-num {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var( --btf-tl-forest );
	color: var( --btf-tl-cream );
	font-family: var( --btf-tl-serif );
	font-size: 1.1rem;
	font-weight: 500;
	display: grid;
	place-items: center;
	letter-spacing: -.01em;
}
body.btf-tl-page .btf-tl-proto-time {
	font-family: var( --btf-tl-mono );
	font-size: .68rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var( --btf-tl-muted );
	text-align: right;
}
body.btf-tl-page .btf-tl-proto-line {
	position: absolute;
	left: calc( 130px - 22px - 1px );
	top: 60px;
	bottom: -1rem;
	width: 2px;
	background: var( --btf-tl-hair );
}
body.btf-tl-page .btf-tl-proto-body { padding-top: .4rem; padding-bottom: 1rem; }
body.btf-tl-page .prose .btf-tl-proto-body h4.btf-th-display,
body.btf-tl-page .btf-tl-proto-body h4.btf-th-display {
	font-family: var( --btf-tl-serif );
	font-weight: 500;
	font-size: 1.4rem;
	letter-spacing: -.01em;
	color: var( --btf-tl-ink );
	margin: 0 0 .35em;
	line-height: 1.25;
}
body.btf-tl-page .prose .btf-tl-proto-body p,
body.btf-tl-page .btf-tl-proto-body p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.55;
	color: var( --btf-tl-ink-2 );
}
@media ( max-width: 760px ) {
	body.btf-tl-page .btf-tl-proto-step { grid-template-columns: 1fr; gap: .5rem; }
	body.btf-tl-page .btf-tl-proto-marker { flex-direction: row; align-items: center; }
	body.btf-tl-page .btf-tl-proto-line { display: none; }
}

/* ── Pre-flight check ────────────────────────────────────────────────── */
body.btf-tl-page .btf-tl-pre {
	background: var( --btf-tl-cream-2 );
	border: 1px solid var( --btf-tl-hair );
	border-radius: 14px;
	overflow: hidden;
}
body.btf-tl-page .btf-tl-pre-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 1.5rem;
	padding: 1.1rem 1.6rem;
	border-bottom: 1px solid var( --btf-tl-hair );
	align-items: center;
}
body.btf-tl-page .prose .btf-tl-pre-row h4,
body.btf-tl-page .btf-tl-pre-row h4 {
	font-family: var( --btf-tl-serif );
	font-weight: 500;
	font-size: 1.1rem;
	letter-spacing: -.01em;
	color: var( --btf-tl-ink );
	margin: 0;
	line-height: 1.3;
}
body.btf-tl-page .btf-tl-pre-btns { display: flex; gap: .35rem; }
body.btf-tl-page .btf-tl-pre-btn {
	background: var( --btf-tl-cream );
	border: 1px solid var( --btf-tl-hair );
	border-radius: 8px;
	padding: .55rem 1.2rem;
	font-family: var( --btf-tl-mono );
	font-size: .78rem;
	letter-spacing: .08em;
	cursor: pointer;
	color: var( --btf-tl-ink-2 );
	transition: all .15s;
}
body.btf-tl-page .btf-tl-pre-btn:hover { border-color: var( --btf-tl-ink-2 ); }
body.btf-tl-page .btf-tl-pre-btn.yes.active { background: var( --btf-tl-forest ); border-color: var( --btf-tl-forest ); color: var( --btf-tl-cream ); }
body.btf-tl-page .btf-tl-pre-btn.no.active  { background: var( --btf-tl-ink );    border-color: var( --btf-tl-ink );    color: var( --btf-tl-cream ); }

body.btf-tl-page .btf-tl-pre-verdict {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 2rem;
	padding: 1.4rem 1.6rem;
	background: var( --btf-tl-cream-3 );
}
@media ( max-width: 760px ) {
	body.btf-tl-page .btf-tl-pre-verdict { grid-template-columns: 1fr; gap: 1rem; }
}
body.btf-tl-page .btf-tl-pre-score > .btf-th-eyebrow,
body.btf-tl-page .btf-tl-pre-text  > .btf-th-eyebrow {
	display: flex;
}
body.btf-tl-page .btf-tl-pre-score > .btf-th-eyebrow::before,
body.btf-tl-page .btf-tl-pre-text  > .btf-th-eyebrow::before {
	display: none;
}
body.btf-tl-page .btf-tl-pre-num {
	font-family: var( --btf-tl-serif );
	font-size: 3rem;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -.02em;
	color: var( --btf-tl-ink );
	margin-top: .15em;
}
body.btf-tl-page .btf-tl-pre-verdict.good .btf-tl-pre-num { color: var( --btf-tl-forest ); }
body.btf-tl-page .btf-tl-pre-verdict.bad  .btf-tl-pre-num { color: var( --btf-tl-red ); }
body.btf-tl-page .btf-tl-pre-num small {
	font-family: var( --btf-tl-mono );
	font-size: .9rem;
	color: var( --btf-tl-muted );
	margin-left: .1em;
}
body.btf-tl-page .btf-tl-pre-bar {
	height: 8px;
	background: var( --btf-tl-cream );
	border: 1px solid var( --btf-tl-hair );
	border-radius: 4px;
	margin-top: .4rem;
	overflow: hidden;
}
body.btf-tl-page .btf-tl-pre-bar span {
	display: block;
	height: 100%;
	background: linear-gradient( 90deg, var( --btf-tl-forest ), var( --btf-tl-gold ) );
	transition: width .3s;
}
body.btf-tl-page .prose .btf-tl-pre-text p,
body.btf-tl-page .btf-tl-pre-text p {
	margin: .4em 0 0;
	font-family: var( --btf-tl-serif );
	font-size: 1.05rem;
	line-height: 1.55;
	color: var( --btf-tl-ink );
}

/* ── Stop-loss ───────────────────────────────────────────────────────── */
body.btf-tl-page .btf-tl-stoploss {
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: 1rem;
}
@media ( max-width: 900px ) {
	body.btf-tl-page .btf-tl-stoploss { grid-template-columns: 1fr; }
}
body.btf-tl-page .btf-tl-sl-card {
	background: var( --btf-tl-forest );
	color: var( --btf-tl-cream );
	border-radius: 14px;
	padding: 2rem 2rem 2.2rem;
}
body.btf-tl-page .btf-tl-sl-card .btf-th-eyebrow { color: var( --btf-tl-gold-soft ); }
body.btf-tl-page .btf-tl-sl-card .btf-th-eyebrow::before { background: var( --btf-tl-gold-soft ); opacity: .6; }
body.btf-tl-page .prose .btf-tl-sl-card h3.btf-th-display,
body.btf-tl-page .btf-tl-sl-card h3.btf-th-display {
	color: var( --btf-tl-cream );
	font-family: var( --btf-tl-serif );
	font-weight: 400;
	font-size: 2rem;
	margin: .3em 0 .5em;
	letter-spacing: -.02em;
	line-height: 1.05;
}
body.btf-tl-page .prose .btf-tl-sl-card p,
body.btf-tl-page .btf-tl-sl-card p {
	margin: 0;
	font-family: var( --btf-tl-serif );
	font-size: 1.1rem;
	line-height: 1.55;
	color: rgba( 243, 238, 226, .85 );
}
body.btf-tl-page .btf-tl-sl-stack {
	display: flex;
	flex-direction: column;
	gap: .6rem;
}
body.btf-tl-page .btf-tl-sl-row {
	background: var( --btf-tl-cream-2 );
	border: 1px solid var( --btf-tl-hair );
	border-radius: 12px;
	padding: 1.1rem 1.3rem;
}
body.btf-tl-page .btf-tl-sl-lbl {
	font-family: var( --btf-tl-mono );
	font-size: .68rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var( --btf-tl-muted );
	display: block;
	margin-bottom: .35em;
}
body.btf-tl-page .prose .btf-tl-sl-row p,
body.btf-tl-page .btf-tl-sl-row p {
	margin: 0;
	font-size: .98rem;
	line-height: 1.55;
	color: var( --btf-tl-ink-2 );
}

/* ── Callouts ────────────────────────────────────────────────────────── */
body.btf-tl-page .btf-tl-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-tl-page .btf-tl-callout.tip {
	background: rgba( 217, 228, 210, .35 );
	border-color: rgba( 45, 74, 42, .15 );
	color: var( --th-tip-ink );
}
body.btf-tl-page .btf-tl-callout.pro {
	background: #dcebdf;
	border-color: var( --btf-tl-forest );
	color: var( --btf-tl-forest );
}
body.btf-tl-page .btf-tl-callout.pitfall {
	background: #f5dcdc;
	border-color: var( --btf-tl-red );
	color: var( --btf-tl-red );
}
body.btf-tl-page .btf-tl-callout-icon {
	flex-shrink: 0;
	font-family: var( --btf-tl-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-tl-page .btf-tl-callout.tip .btf-tl-callout-icon     { background: rgba( 45, 74, 42, .15 );   color: var( --th-tip-ink ); }
body.btf-tl-page .btf-tl-callout.pro .btf-tl-callout-icon     { background: rgba( 29, 52, 38, .18 );   color: var( --btf-tl-forest ); }
body.btf-tl-page .btf-tl-callout.pitfall .btf-tl-callout-icon { background: rgba( 139, 45, 45, .18 );  color: var( --btf-tl-red ); }
body.btf-tl-page .prose .btf-tl-callout-body,
body.btf-tl-page .btf-tl-callout-body {
	font-family: var( --btf-tl-serif );
	font-size: 1.02rem;
	line-height: 1.55;
}

/* ── Summary felt panel ──────────────────────────────────────────────── */
body.btf-tl-page .btf-tl-summary {
	background: var( --btf-tl-forest );
	color: var( --btf-tl-cream );
	padding: 4rem 0 5rem;
}
body.btf-tl-page .btf-tl-sm-eyebrow {
	font-family: var( --btf-tl-mono );
	font-size: .72rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var( --btf-tl-gold-soft );
	display: block;
	margin-bottom: 1rem;
}
body.btf-tl-page .btf-tl-sm-display {
	font-family: var( --btf-tl-serif );
	font-weight: 400;
	font-size: clamp( 2rem, 4.2vw, 3.4rem );
	line-height: 1.05;
	letter-spacing: -.015em;
	color: var( --btf-tl-cream );
	margin: .4em 0 .8em;
}
body.btf-tl-page .btf-tl-sm-display em {
	color: var( --btf-tl-gold-soft );
	font-style: italic;
}
body.btf-tl-page .btf-tl-sm-steps {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 1.2rem;
	margin-top: 2.5rem;
}
@media ( max-width: 880px ) {
	body.btf-tl-page .btf-tl-sm-steps { grid-template-columns: 1fr; }
}
body.btf-tl-page .btf-tl-sm-step {
	background: rgba( 255, 255, 255, .04 );
	border: 1px solid rgba( 255, 255, 255, .08 );
	border-radius: 12px;
	padding: 1.4rem 1.5rem 1.5rem;
}
body.btf-tl-page .btf-tl-sm-num {
	font-family: var( --btf-tl-mono );
	font-size: .7rem;
	letter-spacing: .16em;
	color: var( --btf-tl-gold-soft );
	display: block;
	margin-bottom: .4rem;
}
body.btf-tl-page .btf-tl-sm-step h4 {
	font-family: var( --btf-tl-serif );
	font-weight: 400;
	font-size: 1.25rem;
	margin: 0 0 .5em;
	color: var( --btf-tl-cream );
}
body.btf-tl-page .prose .btf-tl-sm-step p,
body.btf-tl-page .btf-tl-sm-step p {
	font-size: .92rem;
	line-height: 1.55;
	color: rgba( 255, 255, 255, .82 );
	margin: 0;
}
