/* BST Course Player � Phase 4b-A redesign
   Palette: aubergine / paper / orange accent / teal secondary
   ------------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

/* -- Variables ---------------------------------------------------------------- */
:root {
	/* Brand */
	--bst-orange:        #c94e2a;
	--bst-orange-light:  #f1c1b2;
	--bst-teal:          #3a5f72;
	--bst-teal-light:    #dce9ef;
	--bst-plum:          #362742;
	--bst-aubergine:     #2a2237;
	--bst-purple:        #6b3d9e;
	--bst-purple-light:  #ede4f8;

	/* Backgrounds */
	--bst-paper:         #ececeb;
	--bst-paper-strong:  #ede4d7;
	--bst-card:          #fdf8f2;

	/* Text */
	--bst-ink:           #2a2237;
	--bst-body:          #51495d;
	--bst-muted:         #7a6e82;

	/* Structural */
	--bst-border:        #d8d0c8;
	--bst-radius:        8px;
	--bst-sidebar:       256px;
	--bst-content-max:   800px;
}

/* -- Resets (scoped to plugin wrappers) ------------------------------------ */
.bst-course-wrap *,
.bst-lesson-wrap *,
.bst-notes-wrap * {
	box-sizing: border-box;
}

.bst-course-wrap,
.bst-lesson-wrap,
.bst-notes-wrap {
	font-family: 'Poppins', sans-serif;
	color: var(--bst-ink);
	line-height: 1.7;
}

/* ------------------------------------------------------------------------------
   SHARED COMPONENTS
------------------------------------------------------------------------------- */

/* Eyebrow / label */
.bst-eyebrow {
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	opacity: .7;
	margin: 0 0 8px;
}

/* Badges */
.bst-badge {
	display: inline-block;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: 3px 9px;
	border-radius: 20px;
}

.bst-badge--free {
	background: var(--bst-orange-light);
	color: var(--bst-orange);
}

.bst-badge--draft {
	background: var(--bst-paper-strong);
	color: var(--bst-muted);
}

.bst-badge--coming-soon {
	background: var(--bst-teal-light);
	color: var(--bst-teal);
}

/* Buttons */
.bst-btn {
	display: inline-block;
	font-size: .88rem;
	font-weight: 600;
	padding: 10px 20px;
	border-radius: var(--bst-radius);
	text-decoration: none;
	transition: filter .15s, opacity .15s, background .15s;
	white-space: nowrap;
	cursor: pointer;
	border: none;
	font-family: inherit;
	line-height: 1;
}

.bst-btn:hover  { filter: brightness(.92); }
.bst-btn:focus  { outline: 2px solid var(--bst-orange); outline-offset: 2px; }

.bst-btn--primary {
	background: var(--bst-orange);
	color: #fff;
}

.bst-btn--secondary {
	background: transparent;
	color: var(--bst-teal);
	border: 2px solid var(--bst-teal);
}

.bst-btn--purchase {
	background: var(--bst-teal);
	color: #fff;
}

.bst-btn--light {
	background: rgba(255,255,255,.18);
	color: #fff;
	border: 2px solid rgba(255,255,255,.45);
	backdrop-filter: blur(4px);
}

.bst-btn--light:hover { background: rgba(255,255,255,.28); filter: none; }

.bst-btn--sm {
	font-size: .78rem;
	padding: 7px 13px;
}

/* ------------------------------------------------------------------------------
   COURSE INDEX PAGE
------------------------------------------------------------------------------- */

/* Hero */
.bst-course-hero {
	background: var(--bst-paper);
	color: var(--bst-ink);
	padding: 60px 32px 52px;
	position: relative;
	border-bottom: 1px solid var(--bst-border);
}

/* Top accent stripe matching main site gradient */
.bst-course-hero::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--bst-orange) 0%, var(--bst-crimson) 100%);
	pointer-events: none;
}

.bst-course-hero__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	max-width: 1140px;
	margin: 0 auto;
	align-items: center;
}

.bst-course-hero--has-image .bst-course-hero__inner {
	grid-template-columns: 1fr 260px;
}

.bst-course-hero__copy { max-width: 660px; }
.bst-course-hero--has-image .bst-course-hero__copy { max-width: none; }

.bst-course-hero .bst-eyebrow {
	color: var(--bst-orange);
	opacity: 1;
}

.bst-course-hero__title {
	font-size: clamp(1.9rem, 4vw, 2.9rem);
	font-weight: 800;
	line-height: 1.12;
	margin: 0 0 16px;
	color: var(--bst-ink);
}

.bst-course-hero__desc {
	font-size: 1rem;
	color: var(--bst-body);
	line-height: 1.75;
	max-width: 580px;
	opacity: 1;
}

.bst-course-hero__actions {
	margin-top: 28px;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

/* Cover image card — shown on right side instead of background */
.bst-course-hero__cover {
	margin: 0;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 24px 56px rgba(42, 34, 55, .2);
	aspect-ratio: 3 / 4;
	max-height: 380px;
	flex-shrink: 0;
}

.bst-course-hero__cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Course-page button overrides: pill shape, dark primary to match main site */
.bst-course-wrap .bst-btn {
	border-radius: 999px;
	font-weight: 700;
	letter-spacing: .02em;
}

.bst-course-wrap .bst-btn--primary {
	background: var(--bst-aubergine);
	color: #fff;
}

.bst-course-wrap .bst-btn--primary:hover {
	background: var(--bst-plum);
	filter: none;
}

.bst-course-wrap .bst-btn--secondary {
	color: var(--bst-aubergine);
	border-color: var(--bst-aubergine);
}

/* Two-column body */
.bst-course-body {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 0;
	max-width: 1140px;
	margin: 0 auto;
	padding: 40px 24px 64px;
	align-items: start;
}

/* -- Lesson list (main column) -------------------------------------------- */
.bst-course-main { min-width: 0; }

.bst-course-lessons { padding-right: 32px; }

.bst-course-empty {
	color: var(--bst-muted);
	text-align: center;
	padding: 48px 0;
}

.bst-lesson-card {
	display: grid;
	grid-template-columns: 48px 1fr auto;
	align-items: center;
	gap: 0 18px;
	padding: 18px 0;
	border-bottom: 1px solid var(--bst-border);
	transition: background .15s;
}

.bst-lesson-card:first-child { border-top: 1px solid var(--bst-border); }

.bst-lesson-card__num {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--bst-orange);
	text-align: center;
	font-variant-numeric: tabular-nums;
}

.bst-lesson-card--no_purchase .bst-lesson-card__num,
.bst-lesson-card--coming-soon .bst-lesson-card__num {
	color: var(--bst-muted);
}

.bst-lesson-card__check {
	color: var(--bst-orange);
	font-size: 1.2rem;
	font-weight: 700;
}

.bst-lesson-card__title {
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 3px;
	line-height: 1.35;
	color: var(--bst-ink);
}

.bst-lesson-card--no_purchase .bst-lesson-card__title,
.bst-lesson-card--coming-soon .bst-lesson-card__title { color: var(--bst-muted); }

.bst-coming-soon-label {
	font-size: .8rem;
	font-weight: 600;
	color: var(--bst-teal);
	opacity: .8;
	white-space: nowrap;
}

.bst-lesson-card__ref {
	font-size: .82rem;
	color: var(--bst-muted);
	margin: 0 0 5px;
}

.bst-lesson-card__badges { display: flex; gap: 6px; flex-wrap: wrap; }

.bst-lesson-card__action {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.bst-lesson-lock {
	color: var(--bst-muted);
	display: flex;
	align-items: center;
}

.bst-lesson-card__purchase-opts {
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-end;
}

/* -- Course sidebar (right column) --------------------------------------- */
.bst-course-sidebar {
	position: sticky;
	top: 24px;
	background: var(--bst-card);
	border: 1px solid var(--bst-border);
	border-radius: var(--bst-radius);
	overflow: hidden;
}

.bst-course-sidebar__section {
	padding: 20px;
	border-bottom: 1px solid var(--bst-border);
}

.bst-course-sidebar__section:last-child { border-bottom: none; }

.bst-course-sidebar__heading {
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--bst-muted);
	margin: 0 0 12px;
}

/* Sidebar progress */
.bst-course-sidebar__bar {
	height: 6px;
	background: var(--bst-paper-strong);
	border-radius: 3px;
	overflow: hidden;
	margin-bottom: 6px;
}

.bst-course-sidebar__fill {
	height: 100%;
	background: var(--bst-orange);
	border-radius: 3px;
	transition: width .4s ease;
}

.bst-course-sidebar__label {
	font-size: .78rem;
	color: var(--bst-body);
	margin: 0 0 14px;
}

/* Sidebar lesson nav */
.bst-course-sidebar__nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	max-height: 340px;
	overflow-y: auto;
}

.bst-course-sidebar__nav-link {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 7px 10px;
	border-radius: 5px;
	font-size: .82rem;
	text-decoration: none;
	color: var(--bst-body);
	transition: background .12s, color .12s;
}

.bst-course-sidebar__nav-link:hover {
	background: var(--bst-paper-strong);
	color: var(--bst-ink);
}

.bst-course-sidebar__nav-link--no_purchase,
.bst-course-sidebar__nav-link--coming-soon {
	color: var(--bst-muted);
	pointer-events: none;
}

.bst-course-sidebar__nav-num {
	font-size: .7rem;
	font-weight: 700;
	color: var(--bst-orange);
	min-width: 18px;
}

.bst-course-sidebar__nav-link--no_purchase .bst-course-sidebar__nav-num,
.bst-course-sidebar__nav-link--coming-soon .bst-course-sidebar__nav-num {
	color: var(--bst-muted);
}

/* Course progress block (old, used in mobile fallback) */
.bst-course-progress-block {
	display: none; /* hidden in desktop � sidebar handles it */
}

/* ------------------------------------------------------------------------------
   LESSON PLAYER
------------------------------------------------------------------------------- */

.bst-lesson-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 0 80px;
}

/* Back link � now sits inside .bst-lesson-header__copy */
.bst-lesson-back {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: .78rem;
	font-weight: 600;
	text-decoration: none;
	margin-bottom: 10px;
	transition: color .12s;
}

.bst-lesson-back:hover { opacity: .75; }

/* Lesson header */
.bst-lesson-header {
	padding: 24px 32px 28px;
	border-bottom: 3px solid var(--bst-orange);
	background: var(--bst-paper);
}

.bst-lesson-header__meta {
	display: flex;
	gap: 16px;
	margin-bottom: 10px;
}

.bst-lesson-header__meta .bst-eyebrow {
	color: var(--bst-orange);
	opacity: 1;
}

.bst-lesson-header__title {
	font-size: clamp(1.3rem, 3vw, 1.9rem);
	font-weight: 700;
	margin: 0 0 18px;
	line-height: 1.25;
	color: var(--bst-ink);
}

/* Progress bar */
.bst-progress { max-width: 480px; }

.bst-progress__bar {
	height: 5px;
	background: var(--bst-paper-strong);
	border-radius: 3px;
	overflow: hidden;
	margin-bottom: 6px;
}

.bst-progress__fill {
	height: 100%;
	background: var(--bst-orange);
	border-radius: 3px;
	transition: width .4s ease;
}

.bst-progress__label {
	font-size: .78rem;
	color: var(--bst-muted);
	margin: 0;
}

/* Two-column lesson layout */
.bst-lesson-layout {
	display: grid;
	grid-template-columns: var(--bst-sidebar) 1fr;
	align-items: start;
}

/* -- Dark sidebar nav ------------------------------------------------------- */
.bst-lesson-nav {
	position: sticky;
	top: 0;
	max-height: 100vh;
	overflow-y: auto;
	background: var(--bst-plum);
	padding: 16px 0 40px;
}

.bst-lesson-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bst-lesson-nav__link {
	display: grid;
	grid-template-columns: 26px 1fr 16px;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 10px 14px;
	text-decoration: none;
	color: rgba(232, 226, 245, 0.65);
	font-size: .8rem;
	line-height: 1.3;
	border-left: 3px solid transparent;
	transition: background .12s, color .12s, border-color .12s;
	background: transparent;
	border-top: 0;
	border-right: 0;
	border-bottom: 0;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
}

.bst-lesson-nav__link:hover {
	background: rgba(255,255,255,.06);
	color: rgba(232, 226, 245, 0.9);
}

.bst-lesson-nav__item--active > .bst-lesson-nav__link,
.bst-lesson-nav__link.bst-lesson-nav__link--active {
	border-left-color: var(--bst-orange);
	background: rgba(255,255,255,.09);
	color: #fff;
	font-weight: 600;
}

.bst-lesson-nav__num {
	font-size: .72rem;
	font-weight: 700;
	color: rgba(232,226,245,.4);
	font-variant-numeric: tabular-nums;
}

.bst-lesson-nav__item--active .bst-lesson-nav__num {
	color: var(--bst-orange-light);
}

.bst-lesson-nav__tick {
	color: var(--bst-orange-light);
	font-size: .75rem;
	opacity: 0;
	transition: opacity .2s;
}

.bst-lesson-nav__item--done .bst-lesson-nav__tick { opacity: 1; }
.bst-lesson-nav__item--done .bst-lesson-nav__num  { color: var(--bst-orange-light); }

/* -- Section content ------------------------------------------------------- */
.bst-lesson-content {
	background: var(--bst-paper);
	padding: 0 40px 40px;
	min-height: 60vh;
	font-family: 'Poppins', sans-serif;
}

/* One-at-a-time mode */
.bst-lesson-layout--sections [id^="bst-s-"]         { display: none; }
.bst-lesson-layout--sections [id^="bst-s-"].bst-s-active { display: block; }

.bst-lesson-section {
	padding: 32px 0;
	border-top: 1px solid var(--bst-border);
	border-left: 4px solid transparent;
	padding-left: 20px;
}

.bst-lesson-section:first-child { border-top: none; }

/* Accent colours by section type */
.bst-lesson-section--green,
.bst-lesson-section--neutral  { border-left-color: var(--bst-teal); }
.bst-lesson-section--amber    { border-left-color: var(--bst-orange); }
.bst-lesson-section--blue     { border-left-color: var(--bst-teal); }
.bst-lesson-section--teal     { border-left-color: var(--bst-teal); }
.bst-lesson-section--purple   { border-left-color: var(--bst-purple); }

/* Section-specific tints */
.bst-lesson-section--amber  .bst-section-body {
	background: #fdf5f2;
	padding: 18px;
	border-radius: var(--bst-radius);
}
.bst-lesson-section--blue   .bst-section-body {
	background: var(--bst-teal-light);
	padding: 18px;
	border-radius: var(--bst-radius);
}

/* Section header */
.bst-section-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
}

.bst-section-title {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0;
	color: var(--bst-ink);
	line-height: 1.3;
}

.bst-section-tick {
	color: var(--bst-orange);
	font-size: .95rem;
	flex-shrink: 0;
}

/* Collapsible */
.bst-collapsible > summary.bst-section-title {
	cursor: pointer;
	list-style: none;
	padding: 8px 0 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.bst-collapsible > summary.bst-section-title::before {
	content: "?";
	font-size: .65em;
	color: var(--bst-muted);
	transition: transform .2s;
	flex-shrink: 0;
}

.bst-collapsible[open] > summary.bst-section-title::before { transform: rotate(90deg); }
.bst-collapsible > summary::-webkit-details-marker { display: none; }

.bst-section-body { margin-top: 4px; }

/* Prose */
.bst-section-body p {
	margin: 0 0 1.25em;
	line-height: 1.75;
	color: var(--bst-body);
	font-size: 10px;
}

.bst-prose p {
	margin: 0 0 1em;
	line-height: 1.8;
	color: var(--bst-body);
	font-size: .85rem;
}

.bst-section-body p:last-child,
.bst-prose p:last-child { margin-bottom: 0; }

.bst-prompt {
	font-style: italic;
	color: var(--bst-orange);
	font-weight: 600;
	margin-bottom: 12px;
}

/* -- Section footer navigation --------------------------------------------- */
.bst-section-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 24px 0 8px;
	margin-top: 28px;
	border-top: 1px solid var(--bst-border);
}

.bst-section-counter {
	font-size: .72rem;
	color: var(--bst-muted);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	white-space: nowrap;
}

.bst-section-footer__nav {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.bst-section-nav-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .84rem;
	font-weight: 600;
	padding: 9px 16px;
	border-radius: var(--bst-radius);
	cursor: pointer;
	transition: background .15s, filter .15s, opacity .15s;
	border: none;
	font-family: inherit;
	line-height: 1;
}

.bst-section-nav-btn--prev {
	background: var(--bst-paper-strong);
	color: var(--bst-body);
}

.bst-section-nav-btn--prev:hover:not(:disabled) {
	background: var(--bst-border);
}

.bst-section-nav-btn--next {
	background: var(--bst-orange);
	color: #fff;
}

.bst-section-nav-btn--next:hover:not(:disabled) { filter: brightness(.92); }
.bst-section-nav-btn:disabled { opacity: .3; cursor: default; }
.bst-section-nav-btn:focus    { outline: 2px solid var(--bst-orange); outline-offset: 2px; }

.bst-mark-complete-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .84rem;
	font-weight: 600;
	font-family: inherit;
	padding: 8px 16px;
	border-radius: 6px;
	border: 2px solid var(--bst-teal);
	background: transparent;
	color: var(--bst-teal);
	cursor: pointer;
	line-height: 1;
	transition: background-color .15s, color .15s;
}

.bst-mark-complete-btn:hover:not(:disabled) {
	background: var(--bst-teal);
	color: #fff;
}

.bst-mark-complete-btn.is-done {
	background: rgba(26, 107, 58, .08);
	border-color: rgba(26, 107, 58, .35);
	color: #1a6b3a;
}

.bst-mark-complete-btn.is-done:hover {
	background: rgba(176, 48, 48, .07);
	border-color: rgba(176, 48, 48, .35);
	color: #b03030;
}

.bst-mark-complete-btn:focus { outline: 2px solid var(--bst-teal); outline-offset: 2px; }

.bst-lesson-done {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.bst-lesson-done strong { color: var(--bst-teal); font-size: .88rem; }

/* -- Reflection / Discussion � textareas ----------------------------------- */
.bst-textarea {
	width: 100%;
	min-height: 120px;
	padding: 14px 16px;
	font-family: inherit;
	font-size: .95rem;
	line-height: 1.65;
	color: var(--bst-ink);
	background: #fff;
	border: 1.5px solid var(--bst-border);
	border-radius: var(--bst-radius);
	resize: vertical;
	transition: border-color .15s, box-shadow .15s;
	margin-top: 10px;
}

.bst-textarea:focus {
	outline: none;
	border-color: var(--bst-orange);
	box-shadow: 0 0 0 3px rgba(201, 78, 42, .12);
}

.bst-discussion__item { margin-bottom: 20px; }

.bst-discussion__q {
	font-weight: 600;
	color: var(--bst-ink);
	margin-bottom: 6px;
}

/* Save indicator */
.bst-save-indicator {
	font-size: .75rem;
	color: var(--bst-teal);
	font-weight: 600;
	margin: 6px 0 0;
	opacity: 0;
	transition: opacity .3s;
}

.bst-save-indicator--visible { opacity: 1; }

/* -- Knowledge Check � quiz ------------------------------------------------ */
.bst-quiz { margin-bottom: 28px; }

.bst-quiz__question {
	font-weight: 700;
	color: var(--bst-ink);
	margin-bottom: 14px;
	font-size: 1rem;
}

.bst-quiz__options {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.bst-quiz__option {
	padding: 13px 16px;
	background: #fff;
	border: 2px solid var(--bst-border);
	border-radius: var(--bst-radius);
	cursor: pointer;
	font-size: .93rem;
	transition: border-color .12s, background .12s;
	user-select: none;
}

.bst-quiz__option:hover:not([class*="--correct"]):not([class*="--wrong"]) {
	border-color: var(--bst-teal);
	background: var(--bst-teal-light);
}

.bst-quiz--answered .bst-quiz__option { cursor: default; pointer-events: none; }

.bst-quiz__option--correct,
.bst-quiz__option--revealed {
	border-color: var(--bst-teal);
	background: var(--bst-teal-light);
	color: var(--bst-teal);
	font-weight: 600;
}

.bst-quiz__option--wrong {
	border-color: #c0392b;
	background: #fdecea;
	color: #c0392b;
}

.bst-quiz__option--selected {
	border-color: var(--bst-teal);
	background: var(--bst-teal-light);
}

.bst-quiz__explanation {
	margin-top: 14px;
	padding: 14px 18px;
	background: var(--bst-paper-strong);
	border-radius: var(--bst-radius);
	border-left: 3px solid var(--bst-teal);
	font-size: .88rem;
}

.bst-quiz__explanation p { margin: 0; color: var(--bst-body); }

/* -- Deferred scoring shell ------------------------------------------------ */
.bst-kc-score {
	margin-bottom: 28px;
	padding: 18px 20px;
	background: var(--bst-paper-strong);
	border-radius: var(--bst-radius);
	border: 1px solid var(--bst-teal);
}

.bst-kc-score__text {
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--bst-ink);
	margin: 0 0 4px;
}

.bst-kc-score__msg {
	font-size: .88rem;
	color: var(--bst-body);
	margin: 0 0 14px;
}

.bst-kc-retry {
	padding: 8px 20px;
	background: var(--bst-teal);
	color: #fff;
	border: none;
	border-radius: var(--bst-radius);
	font-size: .88rem;
	font-weight: 600;
	cursor: pointer;
	transition: opacity .15s;
}

.bst-kc-retry:hover { opacity: .85; }

.bst-kc-submit-area {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 8px;
}

.bst-kc-submit {
	padding: 11px 28px;
	background: var(--bst-teal);
	color: #fff;
	border: none;
	border-radius: var(--bst-radius);
	font-size: .93rem;
	font-weight: 600;
	cursor: pointer;
	transition: opacity .15s;
}

.bst-kc-submit:disabled { background: var(--bst-muted); cursor: not-allowed; }
.bst-kc-submit:not(:disabled):hover { opacity: .85; }

.bst-kc-hint {
	font-size: .82rem;
	color: var(--bst-muted);
}

/* -- Visual guide ---------------------------------------------------------- */
.bst-visual { margin: 0 0 16px; }

.bst-visual img {
	width: 100%;
	height: auto;
	border-radius: var(--bst-radius);
	display: block;
}

.bst-visual figcaption {
	font-size: .8rem;
	color: var(--bst-muted);
	margin-top: 8px;
	font-style: italic;
}

.bst-video-wrap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: var(--bst-radius);
	margin-bottom: 16px;
}

.bst-video-wrap iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* -- Key Words ------------------------------------------------------------- */
.bst-keywords-toggle {
	appearance: none;
	border: 1px solid var(--bst-border);
	border-radius: 6px;
	background: transparent;
	color: var(--bst-teal);
	font-size: .78rem;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	padding: 4px 12px;
	transition: background .15s, color .15s;
}
.bst-keywords-toggle:hover {
	background: var(--bst-teal);
	color: #fff;
	border-color: var(--bst-teal);
}

.bst-keywords {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 12px;
	margin-top: 12px;
}

.bst-keyword {
	padding: 14px;
	background: #fff;
	border: 1px solid var(--bst-border);
	border-radius: var(--bst-radius);
}

.bst-keyword__term {
	font-weight: 700;
	font-size: .93rem;
	color: var(--bst-ink);
	margin-bottom: 4px;
}

.bst-keyword__original {
	font-size: 1.05rem;
	color: var(--bst-muted);
	margin-bottom: 6px;
}

.bst-keyword__details summary {
	cursor: pointer;
	font-size: .8rem;
	color: var(--bst-teal);
	font-weight: 600;
}

.bst-keyword__details p { font-size: .86rem; margin: 6px 0 0; color: var(--bst-body); }

/* -- Interpretation Options ------------------------------------------------ */
.bst-interpretation {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 16px;
}

.bst-interpretation__position {
	padding: 16px 18px;
	background: #fff;
	border: 1px solid var(--bst-border);
	border-left: 4px solid var(--bst-purple);
	border-radius: 8px;
}

.bst-interpretation__name {
	font-size: .95rem;
	font-weight: 700;
	margin: 0 0 8px;
	color: var(--bst-purple);
}

.bst-interpretation__summary {
	font-size: .88rem;
	line-height: 1.65;
	margin: 0;
	color: var(--bst-body);
}

.bst-interpretation__detail {
	margin-top: 10px;
}

.bst-interpretation__detail summary {
	cursor: pointer;
	font-size: .8rem;
	font-weight: 600;
	color: var(--bst-teal);
	letter-spacing: .03em;
}

.bst-interpretation__detail p {
	font-size: .86rem;
	line-height: 1.65;
	margin: 8px 0 0;
	padding: 10px 14px;
	background: var(--bst-paper-strong, #f4f6fb);
	border-radius: 6px;
	color: var(--bst-body);
}

/* -- Cross References ------------------------------------------------------ */
.bst-crossrefs {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.bst-crossref {
	padding: 12px 16px;
	background: #fff;
	border: 1px solid var(--bst-border);
	border-radius: var(--bst-radius);
}

.bst-crossref__ref {
	display: block;
	font-size: .93rem;
	font-weight: 600;
	color: var(--bst-ink);
	margin-bottom: 4px;
}

.bst-crossref__detail summary {
	cursor: pointer;
	font-size: .8rem;
	color: var(--bst-purple);
	font-weight: 600;
}

.bst-crossref__detail p {
	font-size: .86rem;
	margin: 6px 0 0;
	color: var(--bst-body);
}

/* -- Locked lesson screen -------------------------------------------------- */
.bst-lesson-locked {
	display: flex;
	justify-content: center;
	padding: 80px 24px;
	background: var(--bst-paper);
}

.bst-lesson-locked__inner {
	text-align: center;
	max-width: 400px;
}

.bst-lesson-locked__inner svg {
	color: var(--bst-muted);
	margin-bottom: 20px;
}

.bst-lesson-locked__inner h2 {
	font-size: 1.35rem;
	margin: 0 0 10px;
	color: var(--bst-ink);
}

.bst-lesson-locked__inner p {
	color: var(--bst-body);
	margin: 0 0 20px;
}

.bst-lesson-locked__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.bst-lesson-locked__back {
	font-size: .82rem;
	color: var(--bst-teal);
	text-decoration: none;
	font-weight: 600;
	margin-top: 8px;
}

.bst-lesson-locked__back:hover { text-decoration: underline; }

.bst-lesson-empty {
	text-align: center;
	color: var(--bst-muted);
	padding: 60px 24px;
	background: var(--bst-paper);
}

/* -- Free preview banner --------------------------------------------------- */
.bst-free-preview-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 24px;
	background: #fdf5f2;
	border-bottom: 1px solid var(--bst-orange-light);
	flex-wrap: wrap;
}

.bst-free-preview-banner__text {
	margin: 0;
	font-size: .85rem;
	color: var(--bst-orange);
	font-weight: 600;
}

.bst-free-preview-banner__actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* -- Login prompt (reflection / discussion) -------------------------------- */
.bst-login-prompt {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 20px;
	background: var(--bst-paper-strong);
	border: 1.5px solid var(--bst-border);
	border-radius: var(--bst-radius);
	margin-top: 12px;
	flex-wrap: wrap;
}

.bst-login-prompt p { margin: 0; font-size: .88rem; color: var(--bst-body); }

.bst-discussion-questions-preview {
	margin: 0 0 16px;
	padding-left: 20px;
}

.bst-discussion-questions-preview li { margin-bottom: 8px; color: var(--bst-body); }

/* -- Prev/Next lesson footer nav ------------------------------------------- */
/* Guided activity blocks */
.bst-activity-block {
	margin: 24px 0 0;
	padding: 18px 20px;
	border: 1px solid rgba(58, 95, 114, .24);
	border-left: 4px solid var(--bst-teal);
	border-radius: 8px;
	background: #f8fbfa;
	color: var(--bst-ink);
}

.bst-activity-heading {
	margin: 0 0 8px;
	font-size: 1rem;
	line-height: 1.35;
	color: var(--bst-ink);
	
}

.bst-activity-time {
	margin: 0 0 12px;
	font-size: .78rem;
	font-weight: 700;
	color: var(--bst-teal);
	text-transform: uppercase;
	letter-spacing: .04em;
}

.bst-activity-tools {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px;
}

.bst-activity-tools span {
	font-size: .82rem;
	font-weight: 700;
	color: var(--bst-muted);
}

.bst-activity-tool-button,
.bst-activity-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(58, 95, 114, .32);
	border-radius: 6px;
	background: #fff;
	color: var(--bst-teal);
	font-family: inherit;
	font-size: .82rem;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s, box-shadow .15s;
}

.bst-activity-tool-button {
	padding: 6px 10px;
}

.bst-activity-tool-button:hover,
.bst-activity-tool-button:focus,
.bst-activity-toggle:hover,
.bst-activity-toggle:focus {
	background: var(--bst-teal-light);
	border-color: var(--bst-teal);
	color: var(--bst-ink);
	outline: none;
}

.bst-activity-tool-button:focus-visible,
.bst-activity-toggle:focus-visible {
	box-shadow: 0 0 0 3px rgba(58, 95, 114, .16);
}

.bst-activity-instructions {
	margin: 0 0 12px;
	color: var(--bst-body);
}

.bst-activity-instructions p {
	margin: 0 0 .75em;
}

.bst-activity-question {
	margin: 0 0 14px;
	padding: 12px 14px;
	border-radius: 6px;
	background: rgba(255, 255, 255, .72);
	color: var(--bst-ink);
	line-height: 1.65;
}

.bst-activity-toggle {
	padding: 8px 12px;
}

.bst-activity-answer {
	margin-top: 12px;
	padding: 14px 16px;
	border-top: 1px solid rgba(58, 95, 114, .18);
	border-radius: 0 0 6px 6px;
	background: rgba(255, 255, 255, .76);
	color: var(--bst-body);
}

.bst-activity-answer h4 {
	margin: 0 0 8px;
	font-size: .9rem;
	color: #fff;
}

.bst-activity-answer p {
	margin: 0 0 .85em;
}

.bst-activity-answer p:last-child {
	margin-bottom: 0;
}

.bst-lesson-footer-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	border-top: 2px solid var(--bst-border);
	margin-top: 40px;
	background: var(--bst-border);
}

.bst-lesson-footer-nav__prev,
.bst-lesson-footer-nav__next,
.bst-lesson-footer-nav__locked {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 20px 28px;
	background: var(--bst-card);
	text-decoration: none;
	color: var(--bst-ink);
	transition: background .15s;
}

.bst-lesson-footer-nav__prev:hover,
.bst-lesson-footer-nav__next:hover {
	background: #fdf5f2;
}

.bst-lesson-footer-nav__prev { justify-content: flex-start; }
.bst-lesson-footer-nav__next { justify-content: flex-end; }
.bst-lesson-footer-nav__locked { justify-content: flex-end; opacity: .5; cursor: default; }

.bst-lesson-footer-nav__prev span,
.bst-lesson-footer-nav__next span,
.bst-lesson-footer-nav__locked span {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.bst-lesson-footer-nav__prev span small,
.bst-lesson-footer-nav__next span small,
.bst-lesson-footer-nav__locked span small {
	font-size: .68rem;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--bst-muted);
	font-weight: 700;
}

.bst-lesson-footer-nav__prev span,
.bst-lesson-footer-nav__next span { font-size: .88rem; font-weight: 600; }

/* ------------------------------------------------------------------------------
   STUDY NOTES PAGE
------------------------------------------------------------------------------- */

.bst-notes-wrap {
	max-width: 820px;
	margin: 0 auto;
	padding: 0 24px 80px;
}

.bst-notes-header {
	padding: 40px 0 24px;
	border-bottom: 3px solid var(--bst-orange);
	margin-bottom: 32px;
}

.bst-notes-header h1 { font-size: 1.8rem; margin: 0 0 6px; color: var(--bst-ink); }

.bst-notes-header__sub { color: var(--bst-muted); font-size: .93rem; margin: 0; }

.bst-notes-login,
.bst-notes-empty { text-align: center; padding: 48px 0; color: var(--bst-muted); }

.bst-notes-lesson { margin-bottom: 40px; }

.bst-notes-lesson__header {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 16px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--bst-border);
}

.bst-notes-lesson__title { font-size: 1.05rem; margin: 0; }

.bst-notes-lesson__title a { color: var(--bst-teal); text-decoration: none; }
.bst-notes-lesson__title a:hover { text-decoration: underline; }

.bst-notes-entries { display: flex; flex-direction: column; gap: 12px; }

.bst-note-item {
	padding: 16px;
	background: var(--bst-card);
	border: 1px solid var(--bst-border);
	border-radius: var(--bst-radius);
}

.bst-note-item__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.bst-note-item__section {
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--bst-orange);
	background: var(--bst-orange-light);
	padding: 2px 8px;
	border-radius: 20px;
}

.bst-note-item__date { font-size: .75rem; color: var(--bst-muted); }

.bst-note-item__body p { margin: 0 0 8px; line-height: 1.65; color: var(--bst-body); }
.bst-note-item__body p:last-child { margin-bottom: 0; }

.bst-note-item__actions { margin-top: 12px; }

.bst-note-delete {
	background: none;
	border: none;
	color: #c0392b;
	font-size: .78rem;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	text-decoration: underline;
	font-family: inherit;
}

.bst-note-delete:hover { opacity: .7; }

/* ------------------------------------------------------------------------------
   RESPONSIVE
------------------------------------------------------------------------------- */

/* Tablet: course sidebar stacks below */
@media (max-width: 960px) {
	.bst-course-body {
		grid-template-columns: 1fr;
	}

	.bst-course-sidebar {
		position: static;
		order: -1; /* sidebar before lesson list on tablet */
		margin-bottom: 24px;
	}

	.bst-course-lessons {
		padding-right: 0;
	}

	.bst-course-progress-block {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 14px 0;
		border-bottom: 1px solid var(--bst-border);
		margin-bottom: 20px;
	}

	.bst-course-progress-block__bar {
		flex: 1;
		height: 5px;
		background: var(--bst-paper-strong);
		border-radius: 3px;
		overflow: hidden;
	}

	.bst-course-progress-block__fill {
		height: 100%;
		background: var(--bst-orange);
		border-radius: 3px;
	}

	.bst-course-progress-block__label {
		font-size: .78rem;
		color: var(--bst-muted);
		margin: 0;
		white-space: nowrap;
	}
}

/* Tablet: lesson player sidebar becomes horizontal */
@media (max-width: 900px) {
	.bst-lesson-layout {
		grid-template-columns: 1fr;
	}

	.bst-lesson-nav {
		position: static;
		max-height: none;
		padding: 6px 0;
	}

	.bst-lesson-nav__list {
		display: flex;
		flex-direction: row;
		overflow-x: auto;
		padding: 0 12px;
		gap: 0;
	}

	.bst-lesson-nav__link {
		grid-template-columns: auto 1fr auto;
		white-space: nowrap;
		padding: 8px 12px;
		font-size: .76rem;
		border-left: none;
		border-bottom: 3px solid transparent;
	}

	.bst-lesson-nav__item--active > .bst-lesson-nav__link {
		border-bottom-color: var(--bst-orange);
		border-left: none;
	}

	.bst-lesson-content { padding: 16px 20px 32px; }

	.bst-section-footer { flex-direction: column; align-items: flex-start; gap: 12px; }
	.bst-section-footer__nav { width: 100%; justify-content: space-between; }
}

/* Mobile */
@media (max-width: 600px) {
	.bst-lesson-card { grid-template-columns: 40px 1fr; gap: 0 12px; }
	.bst-lesson-card__action { grid-column: 1 / -1; padding: 8px 0 4px; }
	.bst-lesson-card__purchase-opts { align-items: flex-start; }
	.bst-lesson-header { padding: 16px; }
	.bst-lesson-content { padding: 12px 16px 24px; }
	.bst-lesson-section { padding-left: 12px; }
	.bst-keywords { grid-template-columns: 1fr; }
	.bst-lesson-footer-nav { grid-template-columns: 1fr; }
	.bst-lesson-footer-nav__next,
	.bst-lesson-footer-nav__locked { justify-content: flex-start; }
	.bst-free-preview-banner { flex-direction: column; align-items: flex-start; }
	.bst-course-hero { padding: 36px 20px 32px; }
	.bst-section-nav-btn { font-size: .8rem; padding: 8px 12px; }
}

/* Hero responsive: stack image below on tablet */
@media (max-width: 860px) {
	.bst-course-hero--has-image .bst-course-hero__inner {
		grid-template-columns: 1fr;
	}
	.bst-course-hero__cover {
		max-height: 280px;
		aspect-ratio: 16 / 9;
		border-radius: 10px;
	}
	.bst-free-access-panel { padding: 48px 20px; }
	.bst-free-access-heading { font-size: 1.25rem; }
}

/* ==========================================================================
   BST main-site course index refresh
   ========================================================================== */

.bst-course-wrap {
	background:
		radial-gradient(circle at 96% 10%, rgba(201, 78, 42, .06), transparent 22%),
		radial-gradient(circle at 4% 22%, rgba(42, 34, 55, .04), transparent 20%),
		#f7f8fb;
	color: var(--bst-body);
}

.bst-course-hero {
	padding: clamp(46px, 7vw, 92px) 32px clamp(42px, 6vw, 76px);
	background:
		radial-gradient(circle at 86% 18%, rgba(201, 78, 42, .12), transparent 18%),
		radial-gradient(circle at 6% 72%, rgba(54, 39, 66, .055), transparent 22%),
		linear-gradient(180deg, #fbfbfd 0%, #f7f8fb 100%);
	border-bottom: 0;
	overflow: hidden;
}

.bst-course-hero::before {
	height: 0;
}

.bst-course-hero__inner {
	max-width: 1180px;
	gap: clamp(28px, 5vw, 64px);
}

.bst-course-hero--has-image .bst-course-hero__inner {
	grid-template-columns: minmax(0, 1.08fr) minmax(280px, .72fr);
}

.bst-course-hero__copy {
	max-width: 680px;
}

.bst-course-hero--has-image .bst-course-hero__copy {
	max-width: 700px;
}

.bst-course-hero .bst-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	margin: 0 0 18px;
	padding: 8px 14px;
	border: 1px solid rgba(201, 78, 42, .18);
	border-radius: 999px;
	background: rgba(255, 250, 242, .84);
	color: var(--bst-orange);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .16em;
}

.bst-course-hero .bst-eyebrow::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--bst-orange);
	box-shadow: 0 0 0 6px rgba(201, 78, 42, .12);
}

.bst-course-hero__title {
	max-width: 11ch;
	margin: 0 0 18px;
	font-size: clamp(3rem, 7vw, 5.35rem);
	font-weight: 800;
	line-height: .92;
	letter-spacing: 0;
	color: var(--bst-ink);
	text-transform: none;
}

.bst-course-hero__desc {
	max-width: 650px;
	font-size: 1.08rem;
	line-height: 1.85;
	color: var(--bst-body);
}

.bst-course-hero__desc p {
	margin-top: 0;
}

.bst-course-hero__actions {
	margin-top: 30px;
}

.bst-course-hero__cover {
	position: relative;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 28px 70px rgba(42, 34, 55, .14);
	aspect-ratio: 4 / 5;
	max-height: 430px;
}

.bst-course-hero__cover::before {
	content: "";
	position: absolute;
	inset: 14px;
	border: 1px solid rgba(255, 255, 255, .55);
	pointer-events: none;
	z-index: 1;
}

.bst-course-wrap .bst-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 22px;
	border-radius: 999px;
	font-weight: 800;
	letter-spacing: .02em;
	text-decoration: none;
}

.bst-course-wrap .bst-btn--primary {
	background: linear-gradient(135deg, var(--bst-orange), var(--bst-aubergine));
	color: #fff;
	box-shadow: 0 16px 30px rgba(63, 36, 28, .18);
}

.bst-course-wrap .bst-btn--primary:hover {
	background: linear-gradient(135deg, #b84424, var(--bst-plum));
	filter: none;
}

.bst-course-wrap .bst-btn--secondary {
	background: #fff;
	color: var(--bst-aubergine);
	border: 1px solid rgba(42, 34, 55, .16);
}

.bst-course-bar {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	background: var(--bst-crimson);
}

.bst-course-bar__item {
	display: flex;
	min-height: 82px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 16px 18px;
	border-right: 1px solid rgba(255, 255, 255, .1);
	color: #fff;
	text-align: center;
	text-decoration: none;
	transition: background .18s ease;
}

.bst-course-bar__item:hover,
.bst-course-bar__item:focus {
	background: rgba(42, 34, 55, .18);
	color: #fff;
}

.bst-course-bar__item span {
	color: rgba(255, 220, 188, .9);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.bst-course-bar__item strong {
	color: #fff;
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.bst-free-access-panel {
	background: #fffaf4;
	border-top: 1px solid rgba(42, 34, 55, .08);
	border-bottom: 1px solid rgba(42, 34, 55, .08);
}

.bst-course-body {
	grid-template-columns: minmax(0, 1fr) 330px;
	gap: 34px;
	max-width: 1180px;
	padding: 48px 24px 76px;
}

.bst-course-lessons {
	padding-right: 0;
}

.bst-lesson-card {
	grid-template-columns: 54px minmax(0, 1fr) auto;
	gap: 0 20px;
	padding: 24px 10px;
	border-bottom-color: rgba(42, 34, 55, .12);
}

.bst-lesson-card:first-child {
	border-top-color: rgba(42, 34, 55, .12);
}

.bst-lesson-card__num {
	color: var(--bst-orange);
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: .02em;
}

.bst-lesson-card__title {
	margin-bottom: 4px;
	color: var(--bst-ink);
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: .04em;
	line-height: 1.32;
	text-transform: uppercase;
}

.bst-lesson-card__ref {
	color: #8d8190;
	font-size: .9rem;
}

.bst-badge {
	padding: 5px 12px;
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .08em;
}

.bst-badge--free {
	background: #f4bda9;
	color: #a23d20;
}

.bst-badge--coming-soon {
	background: #dcebf1;
	color: #2f5a70;
}

.bst-coming-soon-label {
	color: var(--bst-teal);
	font-weight: 700;
}

.bst-course-sidebar {
	top: 28px;
	border: 1px solid rgba(42, 34, 55, .12);
	border-radius: 8px;
	background: rgba(255, 252, 247, .96);
	box-shadow: 0 18px 50px rgba(42, 34, 55, .08);
}

.bst-course-sidebar__section {
	padding: 24px;
	border-bottom-color: rgba(42, 34, 55, .1);
}

.bst-course-sidebar__heading {
	color: #8f8192;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .14em;
}

.bst-course-sidebar__bar {
	height: 7px;
	background: #e8dfd2;
}

.bst-course-sidebar__fill {
	background: linear-gradient(90deg, var(--bst-orange), var(--bst-aubergine));
}

.bst-course-sidebar__label,
.bst-course-sidebar__nav-link {
	color: var(--bst-body);
}

.bst-course-sidebar__nav-list {
	max-height: 370px;
	gap: 5px;
}

.bst-course-sidebar__nav-link {
	align-items: flex-start;
	padding: 8px 10px;
	border-radius: 6px;
	line-height: 1.55;
}

.bst-course-sidebar__nav-link:hover {
	background: #f2eadf;
}

.bst-course-sidebar__nav-num {
	padding-top: 2px;
	color: var(--bst-orange);
	font-weight: 800;
}

.bst-course-sidebar__account {
	display: grid;
	gap: 8px;
	margin-top: 12px;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.bst-course-sidebar__account a {
	display: block;
	padding: 10px 12px;
	border: 1px solid rgba(201, 78, 42, .18);
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	color: var(--bst-orange);
	text-decoration: none;
}

.bst-course-sidebar__account a:hover {
	background: #fff;
	color: var(--bst-aubergine);
}

@media (max-width: 960px) {
	.bst-course-body {
		grid-template-columns: 1fr;
		padding-top: 32px;
	}

	.bst-course-sidebar {
		order: 0;
		margin-bottom: 20px;
	}
}

@media (max-width: 860px) {
	.bst-course-hero--has-image .bst-course-hero__inner {
		grid-template-columns: 1fr;
	}

	.bst-course-hero__title {
		max-width: 12ch;
	}

	.bst-course-hero__cover {
		aspect-ratio: 16 / 9;
		max-height: 300px;
	}
}

@media (max-width: 640px) {
	.bst-course-hero {
		padding: 42px 18px 40px;
	}

	.bst-course-hero__title {
		font-size: clamp(2.55rem, 16vw, 3.75rem);
	}

	.bst-course-bar {
		grid-template-columns: 1fr 1fr;
	}

	.bst-course-bar__item {
		min-height: 76px;
		padding: 14px 10px;
	}

	.bst-course-bar__item strong {
		font-size: .74rem;
	}

	.bst-course-body {
		padding: 28px 16px 58px;
	}

	.bst-lesson-card {
		grid-template-columns: 42px 1fr;
		padding: 20px 0;
	}

	.bst-lesson-card__action {
		grid-column: 2 / -1;
	}

	.bst-lesson-card__title {
		font-size: .95rem;
	}
}

/* Use the Kadence child theme page system for the course overview shell. */
.bst-course-wrap.bst-homepage {
	background: transparent;
	color: var(--bst-body);
}

.bst-course-wrap.bst-homepage .bst-course-hero {
	padding: 28px 0 26px;
	background: transparent;
	border-bottom: 0;
	overflow: hidden;
}

.bst-course-wrap.bst-homepage .bst-course-hero::before,
.bst-course-wrap.bst-homepage .bst-course-hero::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	filter: blur(12px);
	pointer-events: none;
}

.bst-course-wrap.bst-homepage .bst-course-hero::before {
	top: 44px;
	right: -110px;
	width: 340px;
	height: 340px;
	background: rgba(197, 157, 95, .16);
}

.bst-course-wrap.bst-homepage .bst-course-hero::after {
	left: -90px;
	bottom: 20px;
	width: 260px;
	height: 260px;
	background: rgba(106, 59, 45, .08);
}

.bst-course-wrap.bst-homepage .bst-course-hero__inner {
	width: min(1180px, calc(100% - 32px));
	max-width: none;
	margin: 0 auto;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
	gap: 28px;
}

.bst-course-wrap.bst-homepage .bst-course-hero:not(.bst-course-hero--has-image) .bst-course-hero__inner {
	grid-template-columns: minmax(0, 1fr);
}

.bst-course-wrap.bst-homepage .bst-course-hero__copy,
.bst-course-wrap.bst-homepage .bst-course-hero--has-image .bst-course-hero__copy {
	max-width: 720px;
}

.bst-course-wrap.bst-homepage .bst-course-hero .bst-kicker {
	margin: 0 0 16px;
	opacity: 1;
}

.bst-course-wrap.bst-homepage .bst-course-hero .bst-kicker::before {
	flex: 0 0 auto;
}

.bst-course-wrap.bst-homepage .bst-course-hero__title {
	max-width: none;
	margin: 16px 0 18px;
	font-size: clamp(2rem, 6vw, 4rem);
	font-weight: inherit;
	line-height: .94;
	letter-spacing: -.04em;
	color: var(--bst-ink);
	text-transform: none;
}

.bst-course-wrap.bst-homepage .bst-course-hero__desc {
	max-width: 720px;
	font-size: 1.05rem;
	line-height: 1.85;
	color: var(--bst-body);
}

.bst-course-wrap.bst-homepage .bst-course-hero__desc p {
	margin: 0;
}

.bst-course-wrap.bst-homepage .bst-course-hero__actions {
	margin-top: 24px;
}

.bst-course-wrap.bst-homepage .bst-course-account-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin-top: 18px;
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.bst-course-wrap.bst-homepage .bst-course-account-links a {
	color: var(--bst-orange);
	text-decoration: none;
}

.bst-course-wrap.bst-homepage .bst-course-account-links a:hover {
	color: var(--bst-aubergine);
}

.bst-course-wrap.bst-homepage .bst-course-hero__cover {
	justify-self: end;
	width: min(100%, 560px);
	border-radius: 8px;
	background: #fff;
	border: 0;
	box-shadow: 0 16px 38px rgba(42, 34, 55, .09);
	aspect-ratio: 16 / 9;
	max-height: none;
	padding: 0;
	overflow: hidden;
}

.bst-course-wrap.bst-homepage .bst-course-hero__cover::before {
	content: none;
}

.bst-course-wrap.bst-homepage .bst-course-hero__cover img {
	width: 100%;
	height: 100%;
	border-radius: 8px;
	object-fit: contain;
	background: #fff;
}

.bst-course-wrap.bst-homepage .bst-course-hero__cover--portrait {
	width: min(100%, 360px) !important;
	aspect-ratio: 4 / 5 !important;
}

.bst-course-wrap.bst-homepage .bst-course-hero__cover--portrait img {
	object-fit: cover !important;
}

.bst-course-wrap.bst-homepage .bst-button.bst-btn {
	min-height: 52px;
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	box-shadow: 0 16px 30px rgba(63, 36, 28, .22);
}

.bst-course-wrap.bst-homepage .bst-button-primary.bst-btn--primary {
	background: linear-gradient(135deg, var(--bst-brown) 0%, var(--bst-brown-deep) 100%);
	color: #fff;
}

.bst-course-wrap.bst-homepage .bst-button-primary.bst-btn--primary:hover {
	background: linear-gradient(135deg, var(--bst-brown) 0%, var(--bst-brown-deep) 100%);
	filter: none;
}

.bst-course-wrap.bst-homepage .bst-course-overview-section {
	background: #f6f7fa;
	padding: clamp(36px, 5vw, 58px) 0 clamp(64px, 7vw, 92px);
}

.bst-course-wrap.bst-homepage .bst-course-overview-wrapper {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.bst-course-wrap.bst-homepage .bst-course-body {
	max-width: 1180px;
	margin: 0;
	padding: 0;
	width: 100%;
}

.bst-course-wrap.bst-homepage .bst-course-lessons {
	display: grid;
	gap: 16px;
}

.bst-course-wrap.bst-homepage .bst-lesson-card,
.bst-course-wrap.bst-homepage .bst-lesson-card:first-child {
	grid-template-columns: 58px minmax(0, 1fr) auto;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(42, 34, 55, .055);
	overflow: hidden;
}

.bst-course-wrap.bst-homepage .bst-lesson-card__num {
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fbfcfe;
	border-right: 1px solid rgba(42, 34, 55, .06);
}

.bst-course-wrap.bst-homepage .bst-lesson-card__body {
	padding: 24px 18px;
}

.bst-course-wrap.bst-homepage .bst-lesson-card__action {
	padding: 24px 18px 24px 0;
}

.bst-course-wrap.bst-homepage .bst-course-sidebar {
	background: #fff;
	border: 0;
	box-shadow: 0 10px 28px rgba(42, 34, 55, .07);
}

.bst-course-wrap.bst-homepage .bst-lesson-card__title {
	font-size: clamp(1.02rem, 1.35vw, 1.18rem);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.38;
	text-transform: none;
}

.bst-course-wrap.bst-homepage .bst-course-bar {
	display: none;
}

@media (max-width: 860px) {
	.bst-course-wrap.bst-homepage .bst-course-hero__inner,
	.bst-course-wrap.bst-homepage .bst-course-hero--has-image .bst-course-hero__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.bst-course-wrap.bst-homepage .bst-course-hero {
		padding: 28px 0 22px;
	}

	.bst-course-wrap.bst-homepage .bst-course-hero__title {
		font-size: clamp(2rem, 12vw, 3rem);
	}

	.bst-course-wrap.bst-homepage .bst-course-overview-section {
		padding: 26px 0 56px;
	}

	.bst-course-wrap.bst-homepage .bst-course-overview-wrapper {
		width: min(100% - 24px, 1180px);
		padding: 0;
	}

	.bst-course-wrap.bst-homepage .bst-lesson-card,
	.bst-course-wrap.bst-homepage .bst-lesson-card:first-child {
		grid-template-columns: 46px 1fr;
	}

	.bst-course-wrap.bst-homepage .bst-lesson-card__body {
		padding: 18px 14px;
	}

	.bst-course-wrap.bst-homepage .bst-lesson-card__action {
		grid-column: 2 / -1;
		padding: 0 14px 18px;
	}
}

/* ==========================================================================
   Modern lesson refresh
   Scoped overrides for the course lesson player.
   ========================================================================== */


.bst-lesson-wrap {
	--bst-lesson-bg: #eaeef2;
	--bst-lesson-panel: #ffffff;
	--bst-lesson-panel-soft: #fbfaf7;
	--bst-lesson-ink: #2a2237;
	--bst-lesson-body: #51495d;
	--bst-lesson-muted: #7f748a;
	--bst-lesson-line: #e1d7cd;
	--bst-lesson-line-strong: #cfc1b5;
	--bst-lesson-primary: #c94e2a;
	--bst-lesson-primary-dark: #8f361d;
	--bst-lesson-primary-soft: #f6ded5;
	--bst-lesson-accent: #362742;
	--bst-lesson-accent-soft: #f4eef8;
	--bst-lesson-blue: #3a5f72;
	--bst-lesson-blue-soft: #edf3f6;
	--bst-lesson-purple: #6b3d9e;
	--bst-lesson-purple-soft: #eee4f8;
	--bst-lesson-shadow: 0 18px 50px rgba(42, 34, 55, .10);
	--bst-lesson-shadow-soft: 0 10px 28px rgba(42, 34, 55, .07);
	max-width: none;
	margin: 0;
	padding: 0 0 88px;
	background:
		linear-gradient(180deg, #f2f4f7 0, var(--bst-lesson-bg) 360px),
		var(--bst-lesson-bg);
	color: var(--bst-lesson-ink);
}

.bst-lesson-wrap .bst-btn,
.bst-lesson-wrap .bst-section-nav-btn {
	border-radius: 8px;
	font-weight: 750;
	letter-spacing: 0;
	box-shadow: none;
}

.bst-lesson-wrap .bst-btn--primary,
.bst-lesson-wrap .bst-btn--purchase,
.bst-lesson-wrap .bst-section-nav-btn--next {
	background: var(--bst-lesson-primary);
	color: #fff;
}

.bst-lesson-wrap .bst-btn--primary:hover,
.bst-lesson-wrap .bst-btn--purchase:hover,
.bst-lesson-wrap .bst-section-nav-btn--next:hover:not(:disabled) {
	background: var(--bst-lesson-primary-dark);
	filter: none;
}

.bst-lesson-wrap .bst-btn--secondary,
.bst-lesson-wrap .bst-section-nav-btn--prev {
	background: #fff;
	border: 1px solid var(--bst-lesson-line-strong);
	color: var(--bst-lesson-ink);
}

.bst-lesson-wrap .bst-btn:focus,
.bst-lesson-wrap .bst-section-nav-btn:focus,
.bst-lesson-wrap a:focus-visible,
.bst-lesson-wrap button:focus-visible,
.bst-lesson-wrap textarea:focus {
	outline: 3px solid rgba(29, 111, 90, .22);
	outline-offset: 2px;
}

.bst-lesson-back {
	color: var(--bst-lesson-muted);
}

.bst-lesson-header {
	width: min(1440px, calc(100% - 40px));
	margin: 0 auto 24px;
	padding: 36px 40px;
	background: var(--bst-lesson-panel);
	border: 1px solid var(--bst-lesson-line);
	border-radius: 8px;
	box-shadow: var(--bst-lesson-shadow-soft);
	position: relative;
	overflow: hidden;
}

.bst-lesson-header--has-image {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 36%);
	gap: clamp(24px, 4vw, 44px);
	align-items: center;
}

.bst-lesson-header::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 5px;
	background: linear-gradient(90deg, var(--bst-lesson-primary), #b83030, var(--bst-lesson-purple));
}

.bst-lesson-header__copy {
	min-width: 0;
	position: relative;
	z-index: 1;
}

.bst-lesson-header__meta {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}

.bst-lesson-header__meta .bst-eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	margin: 0;
	padding: 5px 10px;
	border-radius: 999px;
	background: var(--bst-lesson-primary-soft);
	color: var(--bst-lesson-primary-dark);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .04em;
	opacity: 1;
}

.bst-lesson-header__title {
	max-width: 820px;
	margin: 0 0 22px;
	color: var(--bst-lesson-ink);
	font-size: clamp(1.85rem, 3.2vw, 3rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: 0;
	text-transform: none !important;
}

.bst-lesson-header__image {
	position: relative;
	z-index: 1;
	margin: 0;
	aspect-ratio: 4 / 3;
	min-height: 220px;
	overflow: hidden;
	border-radius: 8px;
	border: 1px solid var(--bst-lesson-line);
	background: var(--bst-lesson-panel-soft);
	box-shadow: var(--bst-lesson-shadow-soft);
}

.bst-lesson-header__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(42, 34, 55, 0) 58%, rgba(42, 34, 55, .14) 100%);
	pointer-events: none;
}

.bst-lesson-header__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bst-progress {
	display: grid;
	grid-template-columns: minmax(180px, 460px) auto;
	align-items: center;
	gap: 14px;
	max-width: 720px;
}

.bst-progress__bar {
	height: 10px;
	background: #ede4d7;
	border-radius: 999px;
	margin: 0;
}

.bst-progress__fill {
	background: var(--bst-lesson-primary);
	border-radius: 999px;
}

.bst-progress__label {
	color: var(--bst-lesson-muted);
	font-size: .82rem;
	font-weight: 700;
	white-space: nowrap;
}

.bst-free-preview-banner {
	width: min(1440px, calc(100% - 40px));
	margin: -8px auto 24px;
	padding: 14px 16px;
	background: var(--bst-lesson-accent-soft);
	border: 1px solid #efc7b8;
	border-radius: 8px;
}

.bst-free-preview-banner__text {
	color: #8d371f;
}

.bst-lesson-layout {
	width: min(1440px, calc(100% - 40px));
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(232px, 280px) minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.bst-lesson-nav {
	position: sticky;
	top: 24px;
	max-height: calc(100vh - 48px);
	padding: 12px;
	background: rgba(255, 255, 255, .86);
	border: 1px solid var(--bst-lesson-line);
	border-radius: 8px;
	box-shadow: var(--bst-lesson-shadow-soft);
	backdrop-filter: blur(16px);
}

.bst-lesson-nav__list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.bst-lesson-nav__link {
	appearance: none;
	-webkit-appearance: none;
	grid-template-columns: 32px minmax(0, 1fr) 18px;
	gap: 10px;
	width: 100%;
	min-height: 44px;
	padding: 8px 10px;
	background: transparent;
	color: var(--bst-lesson-body);
	border: 1px solid transparent;
	border-left: none;
	border-radius: 7px;
	font-size: .85rem;
	line-height: 1.25;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
}

.bst-lesson-nav__link:hover {
	background: var(--bst-lesson-panel-soft);
	color: var(--bst-lesson-ink);
	border-color: var(--bst-lesson-line);
}

.bst-lesson-nav__item--active > .bst-lesson-nav__link,
.bst-lesson-nav__link.bst-lesson-nav__link--active {
	background: var(--bst-lesson-primary-soft);
	border-color: #edbda9;
	color: var(--bst-lesson-primary-dark);
	font-weight: 750;
}

.bst-lesson-nav__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 28px;
	border-radius: 7px;
	background: #eef2ef;
	color: var(--bst-lesson-muted);
	font-size: .76rem;
}

.bst-lesson-nav__item--active .bst-lesson-nav__num {
	background: var(--bst-lesson-primary);
	color: #fff;
}

.bst-lesson-nav__item--done .bst-lesson-nav__num {
	background: var(--bst-lesson-accent-soft);
	color: var(--bst-lesson-accent);
}

.bst-lesson-nav__tick {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	background: var(--bst-lesson-primary);
	color: #fff;
	font-size: .68rem;
}

.bst-lesson-content {
	min-height: 640px;
	padding: 0;
	background: transparent;
	overflow-anchor: none;
}

.bst-lesson-layout--sections [id^="bst-s-"] {
	min-height: min(760px, calc(100vh - 96px));
}

.bst-lesson-layout--sections [id^="bst-s-"].bst-s-active {
	display: block;
	animation: bstLessonPanelFade .16s ease-out;
	overflow-anchor: none;
}

@keyframes bstLessonPanelFade {
	from {
		opacity: .25;
	}
	to {
		opacity: 1;
	}
}

.bst-lesson-section {
	padding: 34px 40px 38px;
	background: var(--bst-lesson-panel);
	border: 1px solid var(--bst-lesson-line);
	border-left: 1px solid var(--bst-lesson-line);
	border-radius: 8px;
	box-shadow: var(--bst-lesson-shadow);
	overflow-anchor: none;
}

.bst-lesson-section:first-child {
	border-top: 1px solid var(--bst-lesson-line);
}

.bst-lesson-section--done {
	border-color: #edbda9;
}

.bst-section-header {
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--bst-lesson-line);
}

.bst-section-title {
	color: var(--bst-lesson-ink);
	font-size: clamp(1.35rem, 2vw, 1.9rem);
	font-weight: 600;
	line-height: 1.16;
	letter-spacing: 0;
}

.bst-section-tick {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: var(--bst-lesson-primary);
	color: #fff;
	font-size: .85rem;
}

.bst-section-body {
	max-width: 1200px;
	margin-top: 0;
}

.bst-section-body p,
.bst-section-body .paragraph,
.bst-prose p,
.bst-prose .paragraph {
	color: var(--bst-lesson-body);
	font-size: .96rem;
	line-height: 1.76;
}

/* Strip inline font-size set by the Angular content renderer */
.bst-section-body .paragraph span,
.bst-prose .paragraph span {
	font-size: inherit !important;
}

.bst-section-body :where(ul, ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts),
.bst-prose :where(ul, ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) {
	display: grid;
	gap: 10px;
	margin: 18px 0 22px;
	padding: 0;
	list-style: none;
}

.bst-section-body :where(ul, ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li,
.bst-prose :where(ul, ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li {
	position: relative;
	min-height: 36px;
	padding: 10px 14px 10px 48px;
	background: var(--bst-lesson-panel-soft);
	border: 1px solid var(--bst-lesson-line);
	border-radius: 8px;
	color: var(--bst-lesson-body);
	font-size: .96rem;
	line-height: 1.65;
}

.bst-section-body :where(ul, ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li > :first-child,
.bst-prose :where(ul, ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li > :first-child {
	margin-top: 0;
}

.bst-section-body :where(ul, ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li > :last-child,
.bst-prose :where(ul, ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li > :last-child {
	margin-bottom: 0;
}

.bst-section-body :where(ul, ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li::before,
.bst-prose :where(ul, ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li::before {
	position: absolute;
	left: 14px;
	top: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: var(--bst-lesson-primary-soft);
	color: var(--bst-lesson-primary-dark);
	font-weight: 800;
}

.bst-section-body :where(ul):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li::before,
.bst-prose :where(ul):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li::before {
	content: "";
	width: 11px;
	height: 11px;
	left: 20px;
	top: 18px;
	background: var(--bst-lesson-primary);
	box-shadow: 0 0 0 7px var(--bst-lesson-primary-soft);
}

.bst-section-body :where(ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts),
.bst-prose :where(ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) {
	counter-reset: bst-lesson-list;
}

.bst-section-body :where(ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li,
.bst-prose :where(ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li {
	counter-increment: bst-lesson-list;
}

.bst-section-body :where(ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li::before,
.bst-prose :where(ol):not(.bst-quiz__options):not(.bst-crossrefs):not(.bst-observation-prompts) > li::before {
	content: counter(bst-lesson-list);
	font-size: .78rem;
}

.bst-section-body h3,
.bst-section-body h4 {
	color: var(--bst-lesson-ink);
	font-weight: 600;
	line-height: 1.25;
	margin: 1.4em 0 .55em;
}

.bst-lesson-section--amber .bst-section-body,
.bst-lesson-section--blue .bst-section-body {
	background: transparent;
	padding: 0;
	border-radius: 0;
}

.bst-prompt {
	margin: 18px 0 14px;
	padding: 14px 16px;
	border-left: 4px solid var(--bst-lesson-accent);
	background: var(--bst-lesson-accent-soft);
	border-radius: 0 8px 8px 0;
	color: #7f371f;
	font-style: normal;
}

.bst-collapsible {
	max-width: 760px;
}

.bst-collapsible > summary.bst-section-title {
	padding: 0 0 18px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--bst-lesson-line);
}

.bst-collapsible > summary.bst-section-title::before {
	content: "";
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--bst-lesson-muted);
	border-bottom: 2px solid var(--bst-lesson-muted);
	transform: rotate(-45deg);
}

.bst-collapsible[open] > summary.bst-section-title::before {
	transform: rotate(45deg);
}

.bst-section-footer {
	margin: 24px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--bst-lesson-line);
}

.bst-section-counter {
	color: var(--bst-lesson-muted);
	font-size: .74rem;
	letter-spacing: .04em;
}

.bst-section-nav-btn {
	min-height: 42px;
	padding: 10px 15px;
	border: 1px solid transparent;
	font-size: .86rem;
}

.bst-section-nav-btn--prev:hover:not(:disabled) {
	background: var(--bst-lesson-panel-soft);
	border-color: var(--bst-lesson-line-strong);
}

.bst-section-nav-btn:disabled {
	opacity: .42;
}

.bst-lesson-done {
	min-height: 42px;
	padding: 8px 10px 8px 14px;
	border: 1px solid #edbda9;
	border-radius: 8px;
	background: var(--bst-lesson-primary-soft);
}

.bst-lesson-done strong {
	color: var(--bst-lesson-primary-dark);
}

.bst-textarea {
	min-height: 150px;
	margin-top: 12px;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid var(--bst-lesson-line-strong);
	border-radius: 8px;
	color: var(--bst-lesson-ink);
	font-size: 1rem;
	box-shadow: inset 0 1px 0 rgba(23, 32, 28, .03);
}

.bst-textarea:focus {
	border-color: var(--bst-lesson-primary);
	box-shadow: 0 0 0 4px rgba(29, 111, 90, .12);
	outline: none;
}

.bst-save-indicator {
	color: var(--bst-lesson-primary);
	font-size: .8rem;
}

.bst-discussion {
	display: grid;
	gap: 16px;
}

.bst-discussion__item {
	margin: 0;
	padding: 18px;
	background: var(--bst-lesson-panel-soft);
	border: 1px solid var(--bst-lesson-line);
	border-radius: 8px;
}

.bst-discussion__q {
	color: var(--bst-lesson-ink);
	font-size: .98rem;
	line-height: 1.55;
}


.bst-quiz {
	margin-bottom: 22px;
	padding: 18px;
	background: var(--bst-lesson-blue-soft);
	border: 1px solid #bfd4e5;
	border-radius: 8px;
}

.bst-quiz__question {
	color: var(--bst-lesson-ink);
	font-size: 1.03rem;
}

.bst-quiz__option {
	padding: 14px 16px;
	border: 1px solid #c9d9e5;
	border-radius: 8px;
	color: var(--bst-lesson-body);
}

.bst-quiz__option:hover:not([class*="--correct"]):not([class*="--wrong"]) {
	background: #fff;
	border-color: var(--bst-lesson-blue);
}

.bst-quiz__option--correct,
.bst-quiz__option--revealed {
	background: #edf7ee;
	border-color: #4caf50;
	color: #1e6b21;
}

.bst-quiz__option--wrong {
	background: #fae8e6;
	border-color: #d59a91;
	color: #9f2f25;
}

.bst-quiz__hint {
	margin: -4px 0 14px;
	padding: 10px 13px;
	background: #fff8ec;
	border: 1px solid #ead7b7;
	border-radius: 8px;
	color: #5b4630;
	font-size: .9rem;
}

.bst-quiz__hint summary {
	cursor: pointer;
	font-weight: 700;
	color: #8a5a22;
}

.bst-quiz__hint p {
	margin: 8px 0 0;
	line-height: 1.55;
}

.bst-quiz__explanation {
	background: #f0faf0;
	border-left-color: #4caf50;
	white-space: pre-line;
}

.bst-visual img {
	border-radius: 8px;
	border: 1px solid var(--bst-lesson-line);
	box-shadow: var(--bst-lesson-shadow-soft);
}

.bst-visual figcaption {
	color: var(--bst-lesson-muted);
	font-size: .84rem;
}

.bst-video-wrap {
	border-radius: 8px;
	box-shadow: var(--bst-lesson-shadow-soft);
}

.bst-keywords {
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 12px;
}

.bst-keyword,
.bst-crossref {
	background: var(--bst-lesson-panel-soft);
	border: 1px solid var(--bst-lesson-line);
	border-radius: 8px;
}

.bst-keyword__term,
.bst-crossref__ref {
	color: var(--bst-lesson-ink);
}

.bst-keyword__details summary {
	color: var(--bst-lesson-primary);
}

.bst-crossref__detail summary {
	color: var(--bst-lesson-purple);
}

.bst-observation-prompts {
	display: grid;
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: bst-observation;
}

.bst-observation-prompts li {
	counter-increment: bst-observation;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding: 14px;
	background: var(--bst-lesson-panel-soft);
	border: 1px solid var(--bst-lesson-line);
	border-radius: 8px;
	color: var(--bst-lesson-body);
	line-height: 1.6;
}

.bst-observation-prompts li::before {
	content: counter(bst-observation);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: var(--bst-lesson-primary-soft);
	color: var(--bst-lesson-primary-dark);
	font-size: .8rem;
	font-weight: 800;
}

.bst-login-prompt {
	background: var(--bst-lesson-panel-soft);
	border-color: var(--bst-lesson-line);
	border-radius: 8px;
}

.bst-login-prompt p,
.bst-discussion-questions-preview li {
	color: var(--bst-lesson-body);
}

.bst-lesson-locked,
.bst-lesson-empty {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
	background: var(--bst-lesson-panel);
	border: 1px solid var(--bst-lesson-line);
	border-radius: 8px;
	box-shadow: var(--bst-lesson-shadow-soft);
}

.bst-lesson-locked__inner h2 {
	color: var(--bst-lesson-ink);
}

.bst-lesson-locked__inner p {
	color: var(--bst-lesson-body);
}

.bst-lesson-footer-nav {
	width: min(1180px, calc(100% - 40px));
	margin: 26px auto 0;
	gap: 12px;
	background: transparent;
	border: none;
}

.bst-lesson-footer-nav__prev,
.bst-lesson-footer-nav__next,
.bst-lesson-footer-nav__locked {
	min-height: 82px;
	padding: 18px 20px;
	background: var(--bst-lesson-panel);
	border: 1px solid var(--bst-lesson-line);
	border-radius: 8px;
	color: var(--bst-lesson-ink);
	box-shadow: var(--bst-lesson-shadow-soft);
}

.bst-lesson-footer-nav__prev:hover,
.bst-lesson-footer-nav__next:hover {
	background: var(--bst-lesson-primary-soft);
}

.bst-lesson-footer-nav__prev span small,
.bst-lesson-footer-nav__next span small,
.bst-lesson-footer-nav__locked span small {
	color: var(--bst-lesson-muted);
}

@media (max-width: 980px) {
	.bst-lesson-header,
	.bst-lesson-layout,
	.bst-lesson-footer-nav,
	.bst-free-preview-banner,
	.bst-lesson-locked,
	.bst-lesson-empty {
		width: min(100% - 28px, 760px);
	}

	.bst-lesson-header--has-image {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.bst-lesson-header__image {
		min-height: 0;
		max-height: 360px;
	}

	.bst-lesson-layout {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.bst-lesson-nav {
		position: sticky;
		top: 0;
		z-index: 5;
		max-height: none;
		padding: 8px;
		border-radius: 0 0 8px 8px;
	}

	.bst-lesson-nav__list {
		flex-direction: row;
		overflow-x: auto;
		padding: 0;
		scrollbar-width: thin;
	}

	.bst-lesson-nav__item {
		flex: 0 0 auto;
	}

	.bst-lesson-nav__link {
		grid-template-columns: auto minmax(90px, 1fr) auto;
		width: min(240px, 72vw);
		white-space: normal;
		border-bottom: 1px solid transparent;
	}

	.bst-lesson-nav__item--active > .bst-lesson-nav__link {
		border-bottom-color: #edbda9;
	}

	.bst-section-footer {
		flex-direction: column;
		align-items: stretch;
	}

	.bst-section-footer__nav {
		justify-content: space-between;
	}
}

@media (max-width: 680px) {
	.bst-lesson-wrap {
		padding-bottom: 56px;
	}

	.bst-lesson-header,
	.bst-lesson-layout,
	.bst-lesson-footer-nav,
	.bst-free-preview-banner,
	.bst-lesson-locked,
	.bst-lesson-empty {
		width: calc(100% - 24px);
	}

	.bst-lesson-header {
		margin-bottom: 14px;
		padding: 26px 20px 22px;
	}

	.bst-lesson-header--has-image {
		gap: 18px;
	}

	.bst-lesson-header__image {
		aspect-ratio: 16 / 10;
	}

	.bst-lesson-header__title {
		font-size: clamp(1.65rem, 9vw, 2.25rem);
	}

	.bst-progress {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.bst-progress__label {
		white-space: normal;
	}

	.bst-lesson-section {
		padding: 24px 18px 26px;
	}

	.bst-section-title {
		font-size: clamp(1.25rem, 7vw, 1.6rem);
	}

	.bst-section-body p,
	.bst-section-body .paragraph,
	.bst-prose p,
	.bst-prose .paragraph {
		font-size: .95rem;
		line-height: 1.7;
	}

	.bst-section-footer__nav {
		display: grid;
		grid-template-columns: 1fr;
	}

	.bst-section-nav-btn {
		justify-content: center;
		width: 100%;
		white-space: normal;
		line-height: 1.25;
	}

	.bst-lesson-done {
		justify-content: center;
	}

	.bst-keywords {
		grid-template-columns: 1fr;
	}

	.bst-lesson-footer-nav {
		grid-template-columns: 1fr;
	}
}

/* -- Section intro media (image / video) -------------------------------------- */
.bst-section-media {
	margin: 0 0 1.5rem;
	max-width: 1200px;
}
.bst-section-media img,
.bst-section-media video {
	display: block;
	width: 100%;
	max-height: 480px;
	object-fit: cover;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.18);
}
.bst-section-media figcaption {
	margin-top: 0.45rem;
	font-size: 0.82rem;
	font-style: italic;
	color: var(--bst-text-muted, #7a6a58);
}
.bst-section-media__video-wrap {
	position: relative;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	border-radius: 8px;
	background: #1a1a1a;
	box-shadow: 0 4px 20px rgba(0,0,0,0.18);
}
.bst-section-media__video-wrap iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.bst-section-body ol,
.bst-section-body ul {
	padding-left: 1.25rem;
	box-sizing: border-box;
}

/* ------------------------------------------------------------------------------
   PHASE 4b-B: STUDY TOOLS DRAWER
------------------------------------------------------------------------------ */



/* -- Icon strip ------------------------------------------------------------ */
.bst-study-tools-strip {
	position: fixed;
	top: 180px;
	right: 12px;
	z-index: 200;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 4px;
}

.bst-study-tool-btn {
	--bst-tool-color: var(--bst-lesson-muted, #7f748a);
	--bst-tool-bg: rgba(255, 255, 255, .88);
	--bst-tool-border: var(--bst-lesson-line, #e1d7cd);
	--bst-tool-active-bg: var(--bst-lesson-primary-soft, #f6ded5);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--bst-tool-border);
	border-radius: 8px;
	background: var(--bst-tool-bg);
	color: var(--bst-tool-color);
	cursor: pointer;
	font-family: inherit;
	transition: background .15s, color .15s, border-color .15s, box-shadow .15s;
	backdrop-filter: blur(8px);
}

.bst-study-tool-btn[data-drawer="bible"]      { --bst-tool-color: #2f6f4e; --bst-tool-border: #c7ddcf; --bst-tool-active-bg: #e7f2eb; }
.bst-study-tool-btn[data-drawer="commentary"] { --bst-tool-color: #3a5f88; --bst-tool-border: #c8d7e7; --bst-tool-active-bg: #e8f0f8; }
.bst-study-tool-btn[data-drawer="crossrefs"]  { --bst-tool-color: #7a5c9e; --bst-tool-border: #d9cde8; --bst-tool-active-bg: #f0eaf7; }
.bst-study-tool-btn[data-drawer="strongs"]    { --bst-tool-color: #9a6b28; --bst-tool-border: #e6d4b8; --bst-tool-active-bg: #f7eedf; }
.bst-study-tool-btn[data-drawer="documents"]  { --bst-tool-color: #6e6f3a; --bst-tool-border: #ddddbd; --bst-tool-active-bg: #f1f2df; }
.bst-study-tool-btn[data-drawer="library"]    { --bst-tool-color: #5f6f84; --bst-tool-border: #cfd8e3; --bst-tool-active-bg: #edf2f7; }
.bst-study-tool-btn[data-drawer="notes"]      { --bst-tool-color: #b15845; --bst-tool-border: #e8c8bf; --bst-tool-active-bg: #f8e9e5; }
.bst-study-tool-btn[data-drawer="resources"]  { --bst-tool-color: #2f7f7d; --bst-tool-border: #bddfdd; --bst-tool-active-bg: #e3f3f2; }

.bst-study-tool-btn:hover {
	background: #fff;
	color: var(--bst-tool-color);
	border-color: var(--bst-tool-color);
	box-shadow: 0 2px 8px rgba(26, 39, 68, .12);
}

.bst-study-tool-btn.is-active {
	background: var(--bst-tool-active-bg);
	color: var(--bst-tool-color);
	border-color: var(--bst-tool-color);
}

/* Override any theme-global fill rules so stroke-based icons render correctly */
.bst-study-tool-btn svg {
	display: block;
	flex-shrink: 0;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2px;
	overflow: visible;
}

/* -- Drawer shell ----------------------------------------------------------- */
.bst-study-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(640px, calc(100vw - 60px));
	z-index: 300;
	display: flex;
	flex-direction: column;
	font-family: 'Poppins', sans-serif;
	background:
		radial-gradient(circle at top right,  rgba(107, 61, 158, 0.05), transparent 24%),
		radial-gradient(circle at bottom left, rgba(58, 95, 114, 0.05),  transparent 30%),
		#f7f9fc;
	border-left: 1px solid rgba(26, 39, 68, 0.13);
	box-shadow: -24px 0 60px rgba(26, 39, 68, 0.16);
	transform: translateX(100%);
	visibility: hidden;
	/* Closing: slide out first, then hide */
	transition: transform .24s ease,
	            visibility 0s .24s;
}

.bst-study-drawer.is-open {
	transform: translateX(0);
	visibility: visible;
	/* Opening: show immediately, then slide in */
	transition: transform .24s ease,
	            visibility 0s 0s;
}

/* -- Drawer header ---------------------------------------------------------- */
.bst-study-drawer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px 14px;
	background: linear-gradient(180deg, rgba(58, 95, 114, 0.10), rgba(42, 34, 55, 0.03));
	border-bottom: 1px solid rgba(42, 34, 55, 0.10);
	flex-shrink: 0;
}

/* -- Drawer tab buttons ----------------------------------------------------- */
.bst-study-drawer-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}

.bst-study-drawer-tab {
	--bst-drawer-tab-color: #376b95;
	--bst-drawer-tab-bg: #edf5fb;
	--bst-drawer-tab-border: #b9d4e7;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--bst-drawer-tab-border);
	border-radius: 8px;
	background: rgba(255, 255, 255, .92);
	color: var(--bst-drawer-tab-color) !important;
	font-family: inherit;
	cursor: pointer;
	line-height: 1;
	transition: background .15s, color .15s, border-color .15s, box-shadow .15s;
}

.bst-study-drawer-tab[data-tab="bible"]      { --bst-drawer-tab-color: #2f6f9f; --bst-drawer-tab-bg: #edf6fc; --bst-drawer-tab-border: #b9d8ed; }
.bst-study-drawer-tab[data-tab="commentary"] { --bst-drawer-tab-color: #8a5d2c; --bst-drawer-tab-bg: #f8f0e6; --bst-drawer-tab-border: #dfc7aa; }
.bst-study-drawer-tab[data-tab="crossrefs"]  { --bst-drawer-tab-color: #7557b3; --bst-drawer-tab-bg: #f1edfb; --bst-drawer-tab-border: #cec1ec; }
.bst-study-drawer-tab[data-tab="strongs"]    { --bst-drawer-tab-color: #c15f28; --bst-drawer-tab-bg: #fdf0e8; --bst-drawer-tab-border: #efc5ad; }
.bst-study-drawer-tab[data-tab="documents"]  { --bst-drawer-tab-color: #62733a; --bst-drawer-tab-bg: #f2f5e9; --bst-drawer-tab-border: #ccd8af; }
.bst-study-drawer-tab[data-tab="library"]    { --bst-drawer-tab-color: #376b95; --bst-drawer-tab-bg: #edf5fb; --bst-drawer-tab-border: #b9d4e7; }
.bst-study-drawer-tab[data-tab="notes"]      { --bst-drawer-tab-color: #b44d47; --bst-drawer-tab-bg: #fbeceb; --bst-drawer-tab-border: #edc0bd; }
.bst-study-drawer-tab[data-tab="resources"]  { --bst-drawer-tab-color: #267c82; --bst-drawer-tab-bg: #e9f6f7; --bst-drawer-tab-border: #b9dee1; }

.bst-study-drawer-tab:hover,
.bst-study-drawer-tab:focus-visible {
	background: var(--bst-drawer-tab-bg);
	border-color: var(--bst-drawer-tab-color);
	color: var(--bst-drawer-tab-color) !important;
	box-shadow: 0 2px 8px rgba(26, 39, 68, .14);
	outline: none;
}

.bst-study-drawer-tab.is-active {
	background: var(--bst-drawer-tab-bg);
	border-color: var(--bst-drawer-tab-color);
	color: var(--bst-drawer-tab-color) !important;
	box-shadow: inset 0 0 0 2px var(--bst-drawer-tab-color), 0 5px 14px rgba(26, 39, 68, .12);
}

.bst-study-drawer-tab svg {
	display: block;
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.15px;
	stroke-linecap: round;
	stroke-linejoin: round;
	overflow: visible;
	opacity: 1 !important;
}

.bst-study-drawer-tab svg *,
.bst-study-drawer-tab.is-active svg * {
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.15px;
	stroke-linecap: round;
	stroke-linejoin: round;
	opacity: 1 !important;
}

.bst-study-drawer-tab .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.bst-study-drawer-tab::after {
	content: attr(data-tooltip);
	position: absolute;
	left: 50%;
	top: calc(100% + 8px);
	z-index: 3;
	transform: translate(-50%, 4px);
	padding: 6px 9px;
	border-radius: 6px;
	background: #1a2744;
	color: #fff;
	font-size: .68rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .02em;
	white-space: nowrap;
	box-shadow: 0 8px 18px rgba(26, 39, 68, .18);
	opacity: 0;
	pointer-events: none;
	transition: opacity .12s, transform .12s;
}

.bst-study-drawer-tab::before {
	content: "";
	position: absolute;
	left: 50%;
	top: calc(100% + 3px);
	z-index: 3;
	width: 8px;
	height: 8px;
	background: #1a2744;
	transform: translate(-50%, 4px) rotate(45deg);
	opacity: 0;
	pointer-events: none;
	transition: opacity .12s, transform .12s;
}

.bst-study-drawer-tab:hover::after,
.bst-study-drawer-tab:hover::before,
.bst-study-drawer-tab:focus-visible::after,
.bst-study-drawer-tab:focus-visible::before {
	opacity: 1;
	transform: translate(-50%, 0) rotate(0deg);
}

.bst-study-drawer-tab:hover::before,
.bst-study-drawer-tab:focus-visible::before {
	transform: translate(-50%, 0) rotate(45deg);
}

/* -- Close + Pin buttons ---------------------------------------------------- */
.bst-study-drawer-controls {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.bst-study-drawer-close {
	appearance: none;
	flex-shrink: 0;
	border: 1px solid rgba(42,34,55,.15);
	border-radius: 6px;
	background: transparent;
	color: #6b7a99;
	line-height: 1;
	cursor: pointer;
	padding: 4px 6px;
	display: inline-flex;
	align-items: center;
	transition: background .15s, color .15s, border-color .15s;
}

.bst-study-drawer-close:hover {
	background: rgba(42,34,55,.07);
	color: #1a2744;
}

.bst-study-drawer-pin {
	appearance: none;
	flex-shrink: 0;
	border: 1px solid rgba(42,34,55,.15);
	border-radius: 6px;
	background: transparent;
	color: #6b7a99;
	cursor: pointer;
	padding: 4px 6px;
	display: inline-flex;
	align-items: center;
	transition: background-color .15s, color .15s, border-color .15s;
}

.bst-study-drawer-pin:hover {
	background: rgba(42,34,55,.07);
	color: #1a2744;
}

.bst-study-drawer-pin.is-active,
.bst-study-drawer.is-pinned .bst-study-drawer-pin {
	background: var(--bst-teal);
	border-color: var(--bst-teal);
	color: #fff;
}

/* -- Float / pop-out button ------------------------------------------------- */
.bst-study-drawer-controls .bst-drawer-float-btn {
	appearance: none;
	-webkit-appearance: none;
	flex-shrink: 0;
	border: 1px solid rgba(42,34,55,.15) !important;
	border-radius: 6px !important;
	background: transparent !important;
	background-color: transparent !important;
	color: #6b7a99 !important;
	cursor: pointer;
	padding: 4px 6px !important;
	margin: 0;
	display: inline-flex;
	align-items: center;
	line-height: 1;
	font-size: inherit;
	box-shadow: none !important;
	width: auto;
	height: auto;
	min-width: 0;
	min-height: 0;
	transition: background-color .15s, color .15s, border-color .15s;
}

.bst-study-drawer-controls .bst-drawer-float-btn:hover {
	background: rgba(42,34,55,.07) !important;
	background-color: rgba(42,34,55,.07) !important;
	color: #1a2744 !important;
}

.bst-study-drawer-controls .bst-drawer-float-btn.is-active {
	background: var(--bst-teal) !important;
	background-color: var(--bst-teal) !important;
	border-color: var(--bst-teal) !important;
	color: #fff !important;
}


/* -- Drawer body + tab panels ----------------------------------------------- */
.bst-study-drawer-body {
	flex: 1;
	overflow-y: auto;
	padding: 18px 20px 28px;
	min-height: 0;
}

/* Notes mode: body stops scrolling; the feed scrolls internally instead */
.bst-study-drawer-body.bst-drawer-body--notes-mode {
	overflow-y: hidden;
	padding-bottom: 0;
	display: flex;
	flex-direction: column;
}

.bst-study-tab-panel {
	display: none;
}

.bst-study-tab-panel.is-active {
	display: block;
	animation: bstPanelFadeIn .16s ease-out;
}

.bst-study-tab-panel[data-panel="bible"] .bst-panel-content {
	max-height: calc(100vh - 260px);
	overflow-y: auto;
	padding-right: 4px;
}

/* Notes panel fills the body and pins compose at bottom */
.bst-drawer-body--notes-mode .bst-study-tab-panel[data-panel="notes"].is-active {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	overflow: hidden;
}

.bst-drawer-body--notes-mode .bst-comments-feed {
	flex: 1;
	overflow-y: auto;
	min-height: 0;
	margin-bottom: 0;
	padding-bottom: 8px;
}

.bst-drawer-body--notes-mode .bst-comment-compose {
	flex-shrink: 0;
	border-top: 1px solid rgba(42, 34, 55, 0.08);
	padding-top: 12px;
	padding-bottom: 20px;
}

@keyframes bstPanelFadeIn {
	from { opacity: 0; transform: translateY(4px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* -- WP admin bar offset � push drawer below the toolbar when logged in ----- */
html.admin-bar .bst-study-drawer,
body.admin-bar .bst-study-drawer {
	top: 32px;
}
@media screen and (max-width: 782px) {
	html.admin-bar .bst-study-drawer,
	body.admin-bar .bst-study-drawer {
		top: 46px;
	}
}

/* -- Mobile: half-sheet from bottom ---------------------------------------- */
@media (max-width: 768px) {
	.bst-study-tools-strip {
		position: static;
		flex-direction: row;
		justify-content: flex-end;
		padding: 8px 0 4px;
		gap: 8px;
	}

	.bst-study-drawer {
		top: auto;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		min-height: 50vh;
		max-height: 82vh;
		border-left: none;
		border-top: 1px solid rgba(26, 39, 68, 0.13);
		border-radius: 16px 16px 0 0;
		box-shadow: 0 -24px 60px rgba(26, 39, 68, 0.16);
		transform: translateY(100%);
	}

	.bst-study-drawer.is-open {
		transform: translateY(0);
	}
}

/* -- Global SVG reset inside the drawer (beats theme fill:currentColor) ----- */
#bst-study-drawer svg path,
#bst-study-drawer svg polyline,
#bst-study-drawer svg circle,
#bst-study-drawer svg line,
#bst-study-drawer svg rect {
	fill: none !important;
	stroke: currentColor !important;
}

/* -- Drawer resize handle --------------------------------------------------- */
.bst-drawer-resize-handle {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 5px;
	cursor: col-resize;
	z-index: 10;
	transition: background .15s;
}
.bst-drawer-resize-handle:hover,
.bst-drawer-resize-handle:active {
	background: rgba(58, 95, 114, 0.18);
}
/* Subtle visual hint � a thin line at the edge */
.bst-drawer-resize-handle::after {
	content: '';
	position: absolute;
	left: 2px;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 40px;
	border-radius: 1px;
	background: rgba(58, 95, 114, 0.3);
	transition: opacity .15s;
	opacity: 0;
}
.bst-drawer-resize-handle:hover::after { opacity: 1; }

/* -- Panel search bar ------------------------------------------------------- */
.bst-panel-heading {
	margin: 0 0 10px;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #3a5f72;
}
.bst-lesson-words-disclosure {
	margin-top: 20px;
}
.bst-lesson-words-disclosure[open] .bst-lesson-words-summary {
	margin-bottom: 14px;
}
.bst-lesson-words-summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	list-style: none;
	padding: 6px 14px 6px 10px;
	border-radius: 999px;
	background: rgba(58, 95, 114, 0.10);
	border: 1px solid rgba(58, 95, 114, 0.22);
	transition: background .15s, border-color .15s;
}
.bst-lesson-words-summary:hover {
	background: rgba(58, 95, 114, 0.17);
	border-color: rgba(58, 95, 114, 0.35);
}
.bst-lesson-words-summary::-webkit-details-marker { display: none; }
.bst-lesson-words-summary .bst-panel-heading {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
}
.bst-lesson-words-summary .bst-panel-heading::before {
	content: '?';
	font-size: .5rem;
	color: var(--bst-teal, #3a5f72);
	transition: transform .18s;
	display: inline-block;
}
.bst-lesson-words-disclosure[open] .bst-lesson-words-summary .bst-panel-heading::before {
	transform: rotate(90deg);
}
.bst-lesson-words-count {
	font-size: .65rem;
	font-weight: 700;
	color: #fff;
	background: var(--bst-teal, #3a5f72);
	padding: 1px 7px;
	border-radius: 999px;
	white-space: nowrap;
}
.bst-lesson-words-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.bst-lesson-words-toggle {
	appearance: none;
	border: 1px solid rgba(58, 95, 114, 0.3);
	border-radius: 6px;
	background: transparent;
	color: var(--bst-teal, #3a5f72);
	font-size: .7rem;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	padding: 3px 10px;
	white-space: nowrap;
	transition: background .15s, color .15s, border-color .15s;
}
.bst-lesson-words-toggle:hover {
	background: var(--bst-teal, #3a5f72);
	color: #fff;
	border-color: var(--bst-teal, #3a5f72);
}
.bst-panel-search {
	display: flex;
	gap: 6px;
	margin-bottom: 18px;
}
.bst-panel-search-input {
	flex: 1;
	padding: 8px 12px;
	border: 1px solid rgba(26, 39, 68, 0.13);
	border-radius: 20px;
	background: #edf0f4;
	font-family: 'Poppins', sans-serif;
	font-size: .78rem;
	color: #1a1a2e;
	outline: none;
	transition: border-color .15s, box-shadow .15s;
}
.bst-panel-search-input::placeholder { color: #a0aec0; }
.bst-panel-search-input:focus {
	border-color: #3a5f72;
	box-shadow: 0 0 0 3px rgba(58, 95, 114, 0.12);
}
.bst-panel-search-btn {
	flex-shrink: 0;
	padding: 7px 14px;
	border: 1px solid rgba(26, 39, 68, 0.13);
	border-radius: 20px;
	background: #1a2744;
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-size: .72rem;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s;
	line-height: 1;
}
.bst-panel-search-btn:hover { background: #243358; }

/* -- Words tab switcher ---------------------------------------------------- */
.bst-words-switcher {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 0 0 16px;
}
.bst-words-switcher__btn {
	min-height: 42px;
	padding: 9px 14px;
	border: 1px solid rgba(26, 39, 68, 0.18);
	border-radius: 8px;
	background: #f8f9fb;
	color: #5d6b7f;
	font-family: 'Poppins', sans-serif;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
}
.bst-words-switcher__btn.is-active {
	background: #1a2744;
	border-color: #1a2744;
	color: #fff;
}
.bst-words-search-panel { display: none; }
.bst-words-search-panel.is-active { display: block; }

/* -- Panel states: loading / error ------------------------------------------ */
.bst-panel-loading,
.bst-panel-error {
	margin: 0;
	padding: 12px 0;
	font-size: .875rem;
	color: var(--bst-lesson-muted, #7f748a);
	font-style: italic;
}
.bst-panel-error { color: #b03030; font-style: normal; }
.bst-panel-help {
	margin: 0;
	font-size: .82rem;
	line-height: 1.6;
	color: var(--bst-lesson-muted, #7f748a);
}

/* -- Bible passage display -------------------------------------------------- */
.bst-scripture-display {
	font-size: .9rem;
	line-height: 1.75;
}
.bst-scripture-ref {
	margin: 0 0 12px;
	font-weight: 700;
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--bst-lesson-primary, #c94e2a);
}
.bst-scripture-translation {
	font-weight: 400;
	opacity: .6;
	font-size: .75rem;
}
.bst-scripture-verses { color: var(--bst-lesson-ink, #2a2237); }
.bst-verse {
	display: flex;
	gap: 6px;
	padding: 3px 0;
}
.bst-verse-num {
	font-size: .65rem;
	font-weight: 700;
	vertical-align: super;
	flex-shrink: 0;
	padding-top: 3px;
	color: var(--bst-lesson-muted, #7f748a);
	margin-right: 2px;
}

/* -- Read the Passage inline display -------------------------------------- */
/* Only wrap the legacy raw-content rendering in the beige/orange card — the
   block-composer "passage_reader" block already has its own clean styling
   (including its own Reading Focus box), so skip this wrapper when present. */
.bst-section-panel [data-section-key="read_passage"] .bst-section-body:not(:has(.bst-passage-reader)),
.bst-lesson-section[data-section-key="read_passage"] .bst-section-body:not(:has(.bst-passage-reader)) {
	background: #faf8f5;
	border-left: 3px solid var(--bst-lesson-primary, #c94e2a);
	border-radius: 4px;
	padding: 20px 24px 20px 28px;
}
.bst-rp-instruction {
	margin: 0 0 22px;
	padding: 14px 16px;
	border: 1px solid #e6a27f;
	border-left: 4px solid var(--bst-lesson-primary, #c94e2a);
	border-radius: 8px;
	background: #fff8ee;
	box-shadow: 0 8px 20px rgba(47, 52, 72, 0.06);
	color: var(--bst-lesson-ink, #2a2237);
	font-size: 1rem;
	font-style: normal;
	font-weight: 600;
	line-height: 1.65;
}
.bst-rp-instruction::before {
	content: 'Reading focus';
	display: block;
	margin-bottom: 6px;
	color: var(--bst-lesson-primary, #c94e2a);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.bst-rp-verse {
	position: relative;
	padding-left: 28px;
	margin: 0 0 20px;
	line-height: 1.85;
	color: var(--bst-lesson-ink, #2a2237);
	font-size: 1rem;
}
.bst-rp-verse:last-of-type { margin-bottom: 0; }
.bst-rp-verse-num {
	position: absolute;
	left: 0;
	top: 4px;
	font-size: 0.6rem;
	font-weight: 700;
	color: var(--bst-lesson-primary, #c94e2a);
	opacity: 0.75;
	line-height: 1;
}

/* -- Theology data results ------------------------------------------------- */
.bst-theology-results {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: .86rem;
	line-height: 1.65;
}
.bst-crossref-list {
	margin: 0;
	padding-left: 0;
	list-style-position: inside;
}
.bst-theology-result {
	background: #fff;
	border: 1px solid rgba(42, 34, 55, 0.10);
	border-left: 3px solid var(--bst-teal, #3a5f72);
	border-radius: 8px;
	padding: 10px 12px;
	box-shadow: 0 2px 8px rgba(42, 34, 55, 0.04);
}
.bst-crossref-list .bst-theology-result {
	margin-bottom: 8px;
	display: block;
	cursor: pointer;
	transition: background-color .15s, border-color .15s, box-shadow .15s;
}
.bst-crossref-list .bst-theology-result::marker {
	color: var(--bst-lesson-muted, #7f748a);
	font-weight: 500;
}
.bst-crossref-list .bst-theology-result .bst-theology-result__head {
	margin-bottom: 0;
}
.bst-crossref-title-group {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	text-align: left;
}
.bst-crossref-list .bst-theology-result:hover,
.bst-crossref-list .bst-theology-result:focus {
	background: #fbfcfe;
	border-color: rgba(58, 95, 114, 0.28);
	box-shadow: 0 3px 12px rgba(42, 34, 55, 0.07);
	outline: none;
}
.bst-crossref-list .bst-crossref-scripture {
	margin-top: 10px;
	padding: 10px 12px;
	border-radius: 7px;
	background: #f7f9fc;
	border: 1px solid rgba(42, 34, 55, 0.08);
}
.bst-crossref-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 13px;
	height: 13px;
	flex: 0 0 13px;
}
.bst-crossref-toggle::before {
	content: '';
	width: 11px;
	height: 11px;
	flex-shrink: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233a5f72' stroke-width='3'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transition: transform .15s;
}
.bst-crossref-result[aria-expanded="true"] .bst-crossref-toggle::before {
	transform: rotate(90deg);
}
.bst-crossref-scripture__ref {
	margin: 0 0 5px;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--bst-teal, #3a5f72);
}
.bst-crossref-scripture__text {
	margin: 0;
	color: var(--bst-lesson-ink, #2a2237);
	line-height: 1.65;
}
.bst-theology-result__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 5px;
}
.bst-theology-result__title {
	color: var(--bst-lesson-ink, #2a2237);
	font-weight: 700;
}
.bst-theology-result__meta {
	color: var(--bst-lesson-muted, #7f748a);
	font-size: .68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	white-space: nowrap;
}
.bst-theology-result__term {
	margin: 0 0 6px;
	color: var(--bst-teal, #3a5f72);
	font-weight: 650;
}
.bst-theology-result__term span {
	font-weight: 500;
	color: var(--bst-lesson-muted, #7f748a);
}
.bst-theology-result__body {
	margin: 0;
	color: var(--bst-lesson-ink, #2a2237);
}
.bst-theology-detail {
	margin-top: 8px;
	color: var(--bst-lesson-ink, #2a2237);
}
.bst-theology-detail summary {
	cursor: pointer;
	color: var(--bst-teal, #3a5f72);
	font-size: .78rem;
	font-weight: 700;
}
.bst-theology-detail p {
	margin: 6px 0 0;
}

/* -- Commentary display ----------------------------------------------------- */
.bst-commentary-display {
	font-size: .875rem;
	line-height: 1.75;
}
.bst-commentary-source {
	margin: 0 0 12px;
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--bst-teal, #3a5f72);
}
.bst-commentary-body {
	color: var(--bst-lesson-ink, #2a2237);
	max-height: calc(100vh - 220px);
	overflow-y: auto;
}
.bst-commentary-body .bst-mhc-h3,
.bst-commentary-body .bst-mhc-h4 {
	margin: 1rem 0 .4rem;
	line-height: 1.3;
}
.bst-commentary-body .bst-mhc-h3 { font-size: 1rem; }
.bst-commentary-body .bst-mhc-h4 { font-size: .9rem; }

.bst-mhc-intro {
	margin-bottom: 12px;
	color: var(--bst-lesson-ink, #2a2237);
}
.bst-mhc-section {
	border: 1px solid var(--bst-border-subtle, #e0dae8);
	border-radius: 6px;
	margin-bottom: 8px;
	overflow: hidden;
}
.bst-mhc-summary {
	cursor: pointer;
	padding: 10px 14px;
	font-weight: 600;
	font-size: .875rem;
	background: var(--bst-surface, #f8f6fb);
	user-select: none;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--bst-teal, #3a5f72);
}
.bst-mhc-summary::-webkit-details-marker { display: none; }
.bst-mhc-summary::before {
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233a5f72' stroke-width='2.5'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transition: transform .2s;
}
.bst-mhc-section[open] > .bst-mhc-summary::before {
	transform: rotate(90deg);
}
.bst-mhc-section-body {
	padding: 12px 14px;
	color: var(--bst-lesson-ink, #2a2237);
	line-height: 1.7;
}
.bst-mhc-section-body p,
.bst-mhc-intro p {
	margin: 0 0 .7em;
}
.bst-mhc-section-body p:last-child,
.bst-mhc-intro p:last-child {
	margin-bottom: 0;
}
.bst-mhc-scripture-block {
	margin-bottom: 14px;
	padding: 12px;
	border-left: 3px solid var(--bst-teal, #3a5f72);
	border-radius: 6px;
	background: #f7f9fc;
}
.bst-mhc-scripture-verse {
	display: flex;
	gap: 8px;
	padding: 3px 0;
}
.bst-mhc-scripture-verse sup {
	flex: 0 0 auto;
	min-width: 1.6em;
	padding-top: 3px;
	font-size: .68rem;
	font-weight: 800;
	color: var(--bst-lesson-muted, #7f748a);
}
.bst-mhc-scripture-verse span {
	flex: 1;
	min-width: 0;
}
.bst-mhc-intro-prose {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid rgba(42, 34, 55, 0.1);
}
.bst-mhc-sub {
	border: 1px solid var(--bst-border-subtle, #e0dae8);
	border-radius: 4px;
	margin-bottom: 6px;
}
.bst-mhc-sub-summary {
	cursor: pointer;
	padding: 8px 12px;
	font-size: .8125rem;
	font-weight: 500;
	background: #eeebf5;
	user-select: none;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--bst-teal, #3a5f72);
}
.bst-mhc-sub-summary::-webkit-details-marker { display: none; }
.bst-mhc-sub-summary::before {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	flex-shrink: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233a5f72' stroke-width='2.5'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transition: transform .2s;
}
.bst-mhc-sub[open] > .bst-mhc-sub-summary::before {
	transform: rotate(90deg);
}
.bst-mhc-sub-body {
	padding: 10px 12px;
	color: var(--bst-lesson-ink, #2a2237);
	line-height: 1.7;
}
.bst-mhc-sub-body p {
	margin: 0 0 .6em;
}
.bst-mhc-sub-body p:last-child {
	margin-bottom: 0;
}

/* -- Commentary quote pill -------------------------------------------------- */
.bst-quote-pill {
	all: unset;
	box-sizing: border-box;
	position: fixed;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background-color: var(--bst-teal, #3a5f72);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z'/%3E%3C/svg%3E");
	background-size: 16px 16px;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0,0,0,.32);
	transition: background-color .15s, transform .15s;
}
.bst-quote-pill:hover {
	background-color: #2d4a5a;
	transform: scale(1.12);
}
.bst-quote-pill.is-saved {
	background-color: #4caf50;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}
.bst-quote-pill.is-error {
	background-color: #e53935;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
}

/* -- Notes panel ------------------------------------------------------------ */
.bst-notes-guest-banner {
	margin: 0 0 12px;
	padding: 10px 12px;
	background: #fef9ec;
	border: 1px solid #f5d87e;
	border-radius: 8px;
	font-size: .78rem;
	line-height: 1.5;
	color: #6b5a00;
}
.bst-notes-guest-banner a { color: inherit; font-weight: 700; }

/* Feed */
.bst-comments-feed {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 16px;
}
.bst-comments-empty {
	margin: 0;
	font-size: .8rem;
	color: #a0aec0;
	font-style: italic;
}

/* Comment card � mirrors planner drawer-comment */
.bst-comment-card {
	background: #fff;
	border: 1px solid rgba(42, 34, 55, 0.08);
	border-left: 3px solid rgba(58, 95, 114, 0.35);
	border-radius: 10px;
	padding: 10px 12px;
	box-shadow: 0 2px 8px rgba(42, 34, 55, 0.04);
}
.bst-comment-card--orange { border-left-color: var(--bst-orange); }
.bst-comment-card--purple { border-left-color: var(--bst-purple); }
.bst-comment-card--teal   { border-left-color: var(--bst-teal); }
.bst-comment-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
}
.bst-comment-time {
	font-size: .65rem;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: rgba(58, 95, 114, 0.72);
}
.bst-comment-actions {
	display: flex;
	gap: 5px;
	opacity: 0;
	transition: opacity .15s;
}
.bst-comment-card:hover .bst-comment-actions,
.bst-comment-card:focus-within .bst-comment-actions { opacity: 1; }

.bst-comment-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px !important;
	height: 26px !important;
	min-width: 26px;
	min-height: 26px;
	padding: 0 !important;
	flex-shrink: 0;
	border-radius: 50%;
	border: 1px solid rgba(26, 39, 68, 0.13);
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 13px 13px;
	cursor: pointer;
	font-size: .65rem;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	letter-spacing: .4px;
	line-height: 1;
	color: #6b7a99;
	transition: background-color .12s, border-color .12s;
}

/* Icons as data URI � immune to theme fill/stroke overrides */
.bst-comment-icon-btn--edit {
	border-color: rgba(58,95,114,.30);
	background-color: rgba(58,95,114,.07);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233a5f72' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z'/%3E%3C/svg%3E");
}
.bst-comment-icon-btn--edit:hover { background-color: rgba(58,95,114,.15); }

.bst-comment-icon-btn--delete {
	border-color: rgba(176,48,48,.30);
	background-color: rgba(176,48,48,.06);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b03030' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3Cpath d='M9 6V4h6v2'/%3E%3C/svg%3E");
}
.bst-comment-icon-btn--delete:hover { background-color: rgba(176,48,48,.14); }

.bst-comment-icon-btn--save {
	border-color: rgba(26,107,58,.30);
	background-color: rgba(26,107,58,.07);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a6b3a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}
.bst-comment-icon-btn--save:hover { background-color: rgba(26,107,58,.14); }

.bst-comment-icon-btn--cancel {
	border-color: rgba(102,102,102,.25);
	background-color: rgba(102,102,102,.07);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
}
.bst-comment-icon-btn--cancel:hover { background-color: rgba(102,102,102,.14); }

.bst-comment-text {
	margin: 0;
	font-size: .82rem;
	line-height: 1.65;
	color: #1a1a2e;
	white-space: pre-wrap;
}

/* Edit textarea inside a card */
.bst-comment-edit-ta {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 7px 10px;
	border: 1px solid rgba(26, 39, 68, 0.13);
	border-radius: 6px;
	background: #edf0f4;
	font-family: 'Poppins', sans-serif;
	font-size: .82rem;
	line-height: 1.55;
	color: #1a1a2e;
	resize: vertical;
	min-height: 60px;
	outline: none;
}
.bst-comment-edit-ta:focus { border-color: #3a5f72; }

/* Compose area */
.bst-comment-compose {
	border: 1px solid rgba(26, 39, 68, 0.13);
	border-radius: 10px;
	background: #fff;
	padding: 10px 12px;
}
.bst-comment-ta {
	display: block;
	width: 100%;
	border: none;
	background: transparent;
	font-family: 'Poppins', sans-serif;
	font-size: .82rem;
	line-height: 1.6;
	color: #1a1a2e;
	resize: none;
	outline: none;
	min-height: 68px;
}
.bst-comment-ta::placeholder { color: #a0aec0; }
.bst-comment-compose-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid rgba(26, 39, 68, 0.08);
}
.bst-comment-hint {
	font-size: .68rem;
	color: #a0aec0;
	letter-spacing: .5px;
}
.bst-comment-submit {
	padding: 6px 14px;
	border: 1px solid rgba(26, 39, 68, 0.13);
	border-radius: 20px;
	background: #1a2744;
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-size: .72rem;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s;
	line-height: 1;
}
.bst-comment-submit:hover { background: #243358; }
.bst-comment-submit:disabled { opacity: .5; cursor: default; }

/* -- Scripture reference spans ---------------------------------------------- */
.bst-verse-ref {
	color: var(--bst-lesson-primary, #c94e2a);
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 3px;
	cursor: pointer;
	transition: color .12s;
}
.bst-verse-ref:hover {
	color: var(--bst-lesson-primary-dark, #8f361d);
}

/* -- Verse popup card ------------------------------------------------------- */
.bst-verse-popup {
	position: absolute;
	z-index: 500;
	width: 320px;
	max-width: calc(100vw - 24px);
	background: #fff;
	border: 1px solid var(--bst-border, #d8d0c8);
	border-radius: 8px;
	box-shadow: 0 4px 24px rgba(42, 34, 55, .18);
	padding: 12px 14px;
	font-size: .875rem;
	line-height: 1.65;
}
.bst-verse-popup-ref {
	margin: 0 0 6px;
	font-weight: 700;
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--bst-lesson-primary, #c94e2a);
}
.bst-verse-popup-text {
	margin: 0;
	color: var(--bst-lesson-ink, #2a2237);
}
.bst-verse-popup-loading {
	color: var(--bst-lesson-muted, #7f748a);
	font-style: italic;
}

/* ------------------------------------------------------------------------------
   LESSON NAV � LESSON LIST (replaces section buttons)
------------------------------------------------------------------------------ */

.bst-lesson-nav__heading {
	font-size: .65rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--bst-lesson-muted);
	margin: 0 0 6px;
	padding: 2px 10px 10px;
	border-bottom: 1px solid var(--bst-lesson-line);
}

/* <a> and <span> nav links share the same grid layout as the old button */
a.bst-lesson-nav__link,
span.bst-lesson-nav__link {
	text-decoration: none;
	display: grid;
}

/* Current lesson � same highlight as active, but non-interactive */
.bst-lesson-nav__link--current {
	background: var(--bst-lesson-primary-soft) !important;
	border-color: #edbda9 !important;
	color: var(--bst-lesson-primary-dark) !important;
	font-weight: 750;
	cursor: default;
}

/* ------------------------------------------------------------------------------
   SECTION ACCORDION
------------------------------------------------------------------------------ */

.bst-lesson-content {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.bst-section-accordion {
	background: var(--bst-lesson-panel);
	border: 1px solid var(--bst-lesson-line);
	border-radius: 8px;
	box-shadow: var(--bst-lesson-shadow-soft);
	overflow: hidden;
	transition: box-shadow .15s;
}

.bst-section-accordion[open] {
	box-shadow: var(--bst-lesson-shadow);
}

.bst-section-accordion--done {
	border-color: #c8e6c9;
}

.bst-section-accordion__summary {
	display: grid;
	grid-template-columns: 16px 36px minmax(0, 1fr) 22px;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	cursor: pointer;
	list-style: none;
	background: var(--bst-lesson-panel);
	user-select: none;
	transition: background .12s;
}

.bst-section-accordion__summary::-webkit-details-marker { display: none; }

.bst-section-accordion__summary:hover {
	background: var(--bst-lesson-panel-soft);
}

/* Chevron arrow */
.bst-section-accordion__chevron {
	display: block;
	width: 9px;
	height: 9px;
	border-right: 2px solid var(--bst-lesson-muted);
	border-bottom: 2px solid var(--bst-lesson-muted);
	transform: rotate(-45deg);
	transition: transform .2s;
	flex-shrink: 0;
}

.bst-section-accordion[open] .bst-section-accordion__chevron {
	transform: rotate(45deg);
}

/* Section number badge */
.bst-section-accordion__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 26px;
	border-radius: 6px;
	background: #eef0f3;
	color: var(--bst-lesson-muted);
	font-size: .7rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	flex-shrink: 0;
}

.bst-section-accordion--done .bst-section-accordion__num {
	background: #e8f5e9;
	color: #2e7d32;
}

.bst-section-accordion__title {
	font-size: .95rem;
	font-weight: 700;
	color: var(--bst-lesson-ink);
	line-height: 1.3;
	min-width: 0;
}

/* Completion tick circle */
.bst-section-accordion__tick {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 999px;
	background: #4caf50;
	color: #fff;
	font-size: .62rem;
	opacity: 0;
	transition: opacity .2s;
	flex-shrink: 0;
}

.bst-section-accordion__tick.is-visible { opacity: 1; }

/* Content area inside open accordion */
.bst-section-accordion__body {
	border-top: 1px solid var(--bst-lesson-line);
	padding: 24px 28px 20px;
}

/* Strip the card styling from the inner <section> � the accordion provides it */
.bst-section-accordion .bst-lesson-section {
	padding: 0;
	border: none;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

/* Section footer with mark-complete and optional lesson-done CTA */
.bst-section-accordion__footer {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 0 0;
	margin-top: 20px;
	border-top: 1px solid var(--bst-lesson-line);
	flex-wrap: wrap;
}

/* Mobile: accordion body narrower padding */
@media (max-width: 680px) {
	.bst-section-accordion__body {
		padding: 18px 16px 16px;
	}

	.bst-section-accordion__summary {
		padding: 12px 14px;
	}

	.bst-section-accordion__title {
		font-size: .88rem;
	}

	.bst-activity-block {
		padding: 16px 14px;
	}

	.bst-activity-tools {
		align-items: stretch;
	}

	.bst-activity-tool-button {
		flex: 1 1 auto;
		min-width: 72px;
	}
}

/* Tablet: lesson nav in horizontal strip � lesson titles need truncation */
@media (max-width: 980px) {
	.bst-lesson-nav__label {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 160px;
	}
}

/* -- Commentary mode toggle bar --------------------------------------------- */
.bst-comm-mode-bar {
	display: flex;
	gap: 6px;
	margin-bottom: 12px;
}
.bst-comm-mode-btn {
	flex: 1;
	padding: 6px 12px;
	border: 1px solid var(--bst-border, #d8d0c8);
	border-radius: var(--bst-radius, 8px);
	background: transparent;
	color: #5a6a7e;
	font-size: .73rem;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	letter-spacing: .5px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .15s, color .15s, border-color .15s;
}
.bst-comm-mode-btn.is-active {
	background: #1a2744;
	color: #fff;
	border-color: #1a2744;
}
.bst-comm-mode-btn:not(.is-active):hover {
	border-color: var(--bst-teal, #3a5f72);
	color: var(--bst-teal, #3a5f72);
}

/* -- Commentary search: source filter pills --------------------------------- */
.bst-comm-source-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 10px;
}
.bst-filter-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	border: 1px solid var(--bst-border, #d8d0c8);
	border-radius: 20px;
	font-size: .72rem;
	font-weight: 600;
	color: #5a6a7e;
	cursor: pointer;
	user-select: none;
	transition: background .12s, color .12s, border-color .12s;
}
.bst-filter-pill input[type="checkbox"] {
	width: 12px;
	height: 12px;
	accent-color: var(--bst-teal, #3a5f72);
	cursor: pointer;
}
.bst-filter-pill:has(input:checked) {
	background: var(--bst-teal, #3a5f72);
	border-color: var(--bst-teal, #3a5f72);
	color: #fff;
}
.bst-filter-pill:has(input:checked) input[type="checkbox"] {
	accent-color: #fff;
}

/* -- Commentary search results ---------------------------------------------- */
.bst-csearch-results {
	margin-top: 4px;
}
.bst-csearch-group {
	margin-bottom: 16px;
}
.bst-csearch-group-label {
	margin: 0 0 6px;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: var(--bst-teal, #3a5f72);
}
.bst-csearch-result {
	border: 1px solid var(--bst-border, #d8d0c8);
	border-radius: 6px;
	margin-bottom: 5px;
	overflow: hidden;
}
.bst-csearch-result-head {
	display: flex;
	align-items: baseline;
	gap: 8px;
	padding: 8px 10px;
	cursor: pointer;
	list-style: none;
	background: #f9f7f5;
	font-size: .82rem;
}
.bst-csearch-result-head::-webkit-details-marker { display: none; }
.bst-csearch-result[open] > .bst-csearch-result-head {
	background: #ece8f0;
	border-bottom: 1px solid var(--bst-border, #d8d0c8);
}
.bst-csearch-ref {
	flex-shrink: 0;
	font-weight: 700;
	font-size: .76rem;
	color: #1a2744;
}
.bst-csearch-excerpt {
	color: #5a6a7e;
	font-size: .76rem;
	line-height: 1.4;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.bst-search-mark {
	background: #fff176;
	color: inherit;
	border-radius: 2px;
	padding: 0 1px;
}
.bst-csearch-result-body {
	padding: 12px 14px;
	font-size: .845rem;
	line-height: 1.6;
	max-height: 380px;
	overflow-y: auto;
}
.bst-csearch-source-badge {
	display: inline-block;
	margin-right: 5px;
	padding: 1px 5px;
	border-radius: 3px;
	background: var(--bst-teal, #3a5f72);
	color: #fff;
	font-size: .65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	vertical-align: middle;
}
.bst-csearch-entry-body p {
	margin: 0 0 .7em;
}
.bst-csearch-entry-body p:last-child { margin-bottom: 0; }
.bst-csearch-entry-body .bst-mhc-h3 {
	font-size: 1rem;
	font-weight: 700;
	margin: .8rem 0 .3rem;
}
.bst-csearch-entry-body .bst-mhc-h4 {
	font-size: .9rem;
	font-weight: 700;
	margin: .6rem 0 .25rem;
}
.bst-csearch-more {
	display: block;
	width: 100%;
	margin-top: 8px;
	padding: 8px 16px;
	background: transparent;
	border: 1px solid var(--bst-border, #d8d0c8);
	border-radius: 6px;
	color: var(--bst-teal, #3a5f72);
	font-size: .76rem;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	cursor: pointer;
	transition: background .12s, border-color .12s;
}
.bst-csearch-more:hover:not(:disabled) {
	background: #f0ede8;
	border-color: var(--bst-teal, #3a5f72);
}
.bst-csearch-more:disabled {
	opacity: .55;
	cursor: default;
}

/* -- Study Assistant / Vertex results --------------------------------------- */
.bst-vertex-results {
	margin-top: 4px;
}

.bst-vertex-result {
	padding: 12px 14px;
	margin-bottom: 10px;
	border: 1px solid var(--bst-border, #d8d0c8);
	border-radius: 6px;
	background: #fff;
}

.bst-vertex-result__meta {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 6px;
	flex-wrap: wrap;
}

.bst-vertex-result__ref {
	font-size: .72rem;
	font-weight: 700;
	color: #5a6a7e;
}

.bst-vertex-result__title {
	margin: 0 0 7px;
	font-size: .9rem;
	line-height: 1.35;
	color: #1a2744;
}

.bst-vertex-result__excerpt {
	font-size: .82rem;
	line-height: 1.6;
	color: var(--bst-lesson-ink, #2a2237);
}

.bst-vertex-result__excerpt p {
	margin: 0 0 .7em;
}

.bst-vertex-result__excerpt p:last-child {
	margin-bottom: 0;
}

/* -- Study Assistant locked state ------------------------------------------- */
.bst-assistant-locked {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 100%;
	padding: 40px 24px;
	text-align: center;
	color: var(--bst-muted);
}

.bst-assistant-locked__icon {
	font-size: 2rem;
	opacity: .5;
	margin-bottom: 8px;
}

.bst-assistant-locked h3 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--bst-ink);
	margin: 0;
}

.bst-assistant-locked p {
	font-size: .85rem;
	margin: 0;
	line-height: 1.5;
}

/* -- Study Assistant chat shell --------------------------------------------- */
.bst-assistant-chat {
	display: flex;
	flex-direction: column;
	height: calc(100vh - 150px);
	min-height: 520px;
	background: #fbfcfd;
	border: 1px solid var(--bst-border, #d8d0c8);
	border-radius: 8px;
	overflow: hidden;
}

.bst-assistant-head {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	background: #fff;
	border-bottom: 1px solid #e7ebf0;
}

.bst-assistant-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: linear-gradient(135deg, #c94e2a, #4d5f82);
	color: #fff;
	font-family: Georgia, serif;
	font-size: 1.3rem;
	font-weight: 700;
}

.bst-assistant-head strong {
	display: block;
	font-size: .94rem;
	line-height: 1.2;
	color: #24324a;
}

.bst-assistant-head small {
	display: block;
	font-size: .76rem;
	line-height: 1.35;
	color: #77859b;
}

.bst-assistant-head em {
	font-style: normal;
	font-size: .76rem;
	font-weight: 700;
	color: #77859b;
}

.bst-assistant-messages {
	flex: 1;
	overflow-y: auto;
	padding: 18px;
	scroll-behavior: smooth;
}

.bst-assistant-empty {
	min-height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 36px 18px;
	color: #6e7d94;
}

.bst-assistant-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	margin-bottom: 18px;
	border-radius: 22px;
	background: linear-gradient(135deg, #3a5f72, #6f608b);
	color: #fff;
	font-family: Georgia, serif;
	font-size: 2rem;
	box-shadow: 0 16px 35px rgba(58,95,114,.18);
}

.bst-assistant-empty h3 {
	margin: 0 0 8px;
	font-size: 1.25rem;
	line-height: 1.25;
	color: #24324a;
}

.bst-assistant-empty p {
	max-width: 410px;
	margin: 0;
	font-size: .88rem;
	line-height: 1.6;
}

.bst-assistant-msg {
	max-width: 92%;
	margin-bottom: 10px;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: .84rem;
	line-height: 1.55;
}

.bst-assistant-msg p {
	margin: 0 0 .7em;
}

.bst-assistant-msg p:last-child {
	margin-bottom: 0;
}

.bst-assistant-msg--assistant {
	margin-right: auto;
	background: #fff;
	border: 1px solid var(--bst-border, #d8d0c8);
	color: var(--bst-lesson-ink, #2a2237);
}

.bst-assistant-msg--user {
	margin-left: auto;
	background: var(--bst-teal, #3a5f72);
	color: #fff;
}

.bst-assistant-msg .bst-vertex-results {
	margin-top: 0;
}

.bst-assistant-msg .bst-commentary-source {
	margin-top: 0;
}

.bst-assistant-answer {
	font-size: .95rem;
	line-height: 1.72;
	color: #344963;
}

.bst-assistant-answer p {
	margin: 0 0 1em;
}

.bst-assistant-answer-line.is-revealing {
	animation: bstAssistantLineIn .24s ease-out both;
}

@keyframes bstAssistantLineIn {
	from {
		opacity: 0;
		transform: translateY(4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.bst-assistant-source-note {
	color: #6e7d94;
	font-size: .78rem;
}

.bst-assistant-sources {
	margin-top: 10px;
	border-top: 1px solid #e7ebf0;
	padding-top: 8px;
}

.bst-assistant-sources > summary {
	cursor: pointer;
	font-size: .76rem;
	font-weight: 700;
	color: var(--bst-teal, #3a5f72);
	text-transform: uppercase;
	letter-spacing: .05em;
	margin-bottom: 8px;
}

.bst-assistant-source-link {
	margin-top: 10px;
	padding: 7px 10px;
	border: 1px solid rgba(58, 95, 114, .24);
	border-radius: 7px;
	background: #eef5f5;
	color: var(--bst-teal, #3a5f72);
	font-size: .74rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	cursor: pointer;
}

.bst-assistant-source-link:hover,
.bst-assistant-source-link:focus {
	background: #dfecec;
	border-color: rgba(58, 95, 114, .42);
}

.bst-assistant-compose {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
	padding: 14px;
	border-top: 1px solid var(--bst-border, #d8d0c8);
	background: #fff;
}

.bst-assistant-compose .bst-panel-search-input {
	margin: 0;
	min-height: 58px;
	max-height: 130px;
	resize: vertical;
	border-color: rgba(201,78,42,.45);
	border-radius: 8px;
	line-height: 1.45;
}

.bst-assistant-compose .bst-panel-search-btn {
	align-self: stretch;
	min-width: 82px;
	border-radius: 8px;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.bst-assistant-hint {
	grid-column: 1 / -1;
	margin: -2px 0 0;
	font-size: .72rem;
	color: #77859b;
}

/* -- Bible dictionary (WORDS tab) ------------------------------------------- */
.bst-dict-results {
	margin-top: 4px;
}
.bst-dict-entry {
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--bst-border, #d8d0c8);
}
.bst-dict-entry:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
.bst-dict-entry__term {
	margin: 0 0 6px;
	font-size: .9rem;
	font-weight: 700;
	color: #1a2744;
}
.bst-dict-entry__body {
	font-size: .845rem;
	color: var(--bst-lesson-ink, #2a2237);
	line-height: 1.6;
}
.bst-dict-entry__body p {
	margin: 0 0 .6em;
}

/* -- Section tick: hidden by default in paginated mode, shown when done ----- */
.bst-lesson-layout--sections .bst-section-tick {
	opacity: 0;
	transition: opacity .2s;
	pointer-events: none;
}
.bst-lesson-layout--sections .bst-section-tick.is-visible {
	opacity: 1;
	pointer-events: auto;
}

/* -- Section footer: compact left-grouped buttons -------------------------- */
.bst-lesson-layout--sections .bst-section-footer {
	justify-content: flex-start;
	gap: 10px;
	flex-wrap: wrap;
}

/* Lesson footer nav: sits inside .bst-lesson-content so it is already
   scoped to the content column. Give it a little breathing room at the top. */
.bst-lesson-content .bst-lesson-footer-nav {
	margin-top: 8px;
}
.bst-dict-entry__body p:last-child { margin-bottom: 0; }

/* -- Welcome section: learning outcomes ------------------------------------ */
.bst-learning-outcomes-heading {
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--bst-muted);
	margin: 1.25rem 0 .35rem;
}
.bst-learning-outcomes {
	margin: 0 0 .5rem;
	padding: 0;
	line-height: 1.55;
}
.bst-learning-outcomes li {
	margin-bottom: 0;
	background: #edf7f0 !important;
	border-color: rgba(31, 138, 76, .22) !important;
}
.bst-learning-outcomes li::before {
	content: '\2713' !important;
	width: 24px !important;
	height: 24px !important;
	left: 14px !important;
	top: 50% !important;
	transform: translateY(-50%);
	background: #c8ead4 !important;
	color: #1a6e3a !important;
	font-size: .85rem !important;
	font-weight: 900 !important;
	box-shadow: none !important;
}

/* Rich debate / interpretive issues */
.bst-debate-question {
	background: #f6f1ea;
	border: 1px solid #e4d3c6;
	border-left: 4px solid var(--bst-orange);
	border-radius: 0 var(--bst-radius) var(--bst-radius) 0;
	padding: 16px 18px;
	margin: 16px 0 18px;
}
.bst-debate-question p { margin: 4px 0 0; font-size: 1rem; line-height: 1.6; }
.bst-debate-kicker {
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--bst-orange);
}
.bst-debate-views {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 16px;
}
.bst-debate-view {
	padding: 18px;
	background: #fff;
	border: 1px solid var(--bst-border);
	border-top: 4px solid var(--bst-teal);
	border-radius: var(--bst-radius);
}
.bst-debate-subhead {
	margin: 14px 0 5px;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--bst-muted);
}
.bst-debate-evidence {
	margin: 6px 0 0;
	padding-left: 1.2rem;
	font-size: .88rem;
	line-height: 1.65;
	color: var(--bst-body);
}
.bst-debate-evidence li { margin-bottom: 6px; }
.bst-debate-common {
	margin-top: 18px;
	padding: 18px;
	background: #f7fbf9;
	border: 1px solid #d7e7df;
	border-radius: var(--bst-radius);
}
.bst-debate-common__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 12px;
}
.bst-debate-common__item {
	background: #fff;
	border: 1px solid #e2ebe5;
	border-radius: var(--bst-radius);
	padding: 12px 14px;
}
.bst-debate-common__title { font-weight: 750; margin-bottom: 4px; }
.bst-debate-common__item p { margin: 0; font-size: .88rem; line-height: 1.55; color: var(--bst-body); }
@media (max-width: 760px) {
	.bst-debate-views,
	.bst-debate-common__grid { grid-template-columns: 1fr; }
}

/* Debate comparison table trial */
.bst-debate-table-wrap {
	overflow-x: auto;
	margin-top: 16px;
	background: #fff;
	border: 1px solid var(--bst-border);
	border-radius: var(--bst-radius);
}
.bst-debate-table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
}
.bst-debate-table th,
.bst-debate-table td {
	padding: 16px 18px;
	border-right: 1px solid var(--bst-border);
	border-bottom: 1px solid var(--bst-border);
	vertical-align: top;
	text-align: left;
}
.bst-debate-table tr:last-child th,
.bst-debate-table tr:last-child td { border-bottom: 0; }
.bst-debate-table th:last-child,
.bst-debate-table td:last-child { border-right: 0; }
.bst-debate-table thead th {
	background: var(--bst-purple-light);
	color: var(--bst-plum);
	font-size: .88rem;
	line-height: 1.35;
}
.bst-debate-table tbody th {
	width: 9rem;
	background: #fdf5f2;
	color: var(--bst-orange);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.bst-debate-table td {
	font-size: .9rem;
	line-height: 1.65;
	color: var(--bst-body);
}
.bst-debate-table .bst-debate-evidence { margin-top: 0; }

/* Debate table colour refinement + plain evidence list */
.bst-debate-question {
	background: #e8eef5;
	border-color: #ccd6e2;
	border-left-color: #c54b1c;
}
.bst-debate-kicker { color: #c54b1c; }
.bst-debate-table-wrap {
	border-color: #cfd6df;
	box-shadow: none;
}
.bst-debate-table th,
.bst-debate-table td {
	border-color: #d5d9df;
}
.bst-debate-table thead th {
	background: #172235;
	color: #fff;
	letter-spacing: .02em;
}
.bst-debate-table thead th:first-child {
	color: #f2c1ad;
	text-transform: uppercase;
	letter-spacing: .09em;
	font-size: .76rem;
}
.bst-debate-table tbody th {
	background: #f4f6f8;
	color: #c54b1c;
	border-left: 4px solid #c54b1c;
}
.bst-debate-table td {
	color: #343b4a;
	background: #fff;
}
.bst-debate-table .bst-debate-evidence {
	list-style: none !important;
	margin: 0;
	padding: 0;
}
.bst-section-body .bst-debate-table .bst-debate-evidence > li,
.bst-prose .bst-debate-table .bst-debate-evidence > li,
.bst-debate-table .bst-debate-evidence > li {
	position: static;
	min-height: 0;
	padding: 0 0 0.7rem 0;
	margin: 0 0 0.7rem 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #e3e6ea;
	border-radius: 0;
	color: #343b4a;
	font-size: .92rem;
	line-height: 1.65;
}
.bst-section-body .bst-debate-table .bst-debate-evidence > li:last-child,
.bst-prose .bst-debate-table .bst-debate-evidence > li:last-child,
.bst-debate-table .bst-debate-evidence > li:last-child {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}
.bst-section-body .bst-debate-table .bst-debate-evidence > li::before,
.bst-prose .bst-debate-table .bst-debate-evidence > li::before,
.bst-debate-table .bst-debate-evidence > li::before {
	content: none !important;
	display: none !important;
}
.bst-debate-common {
	background: #e8eef5;
	border-color: #ccd6e2;
}
.bst-debate-common__item {
	border-color: #d5d9df;
}
.bst-debate-common__title {
	color: #172235;
}

/* Debate sheet layout inspired by guide pages */
.bst-debate-sheet {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 1.2rem;
}
.bst-debate-view-panel {
	background: #fff;
	border: 1px solid #d8dde5;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 1px 0 rgba(23,34,53,.04);
}
.bst-debate-view-header {
	display: flex;
	align-items: center;
	gap: .9rem;
	background: #172235;
	color: #fff;
	padding: 1.05rem 1.15rem;
}
.bst-debate-view-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.45rem;
	height: 2.45rem;
	border: 2px solid #c54b1c;
	border-radius: 50%;
	color: #e36a38;
	font-size: 1.15rem;
	flex-shrink: 0;
}
.bst-debate-view-title {
	font-size: 1.02rem;
	font-weight: 800;
	line-height: 1.25;
	color: #fff;
}
.bst-debate-inner-card {
	display: grid;
	grid-template-columns: 2.35rem 1fr;
	gap: .85rem;
	margin: 1rem;
	padding: 1rem;
	background: #fffdf9;
	border: 1px solid #e7e1da;
	border-radius: 9px;
}
.bst-debate-mini-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.15rem;
	height: 2.15rem;
	border: 1px solid #f0d8c7;
	border-radius: 50%;
	background: #fff6ef;
	color: #c54b1c;
	font-size: 1rem;
}
.bst-debate-evidence-card { background: #fff; }
.bst-debate-evidence-stack {
	display: flex;
	flex-direction: column;
	gap: .6rem;
	margin-top: .5rem;
}
.bst-debate-evidence-item {
	display: grid;
	grid-template-columns: 1.9rem 1fr;
	gap: .7rem;
	align-items: start;
	padding: .75rem .85rem;
	background: #fff;
	border: 1px solid #e4e1dc;
	border-radius: 7px;
}
.bst-debate-evidence-item span {
	color: #8c9098;
	font-size: 1rem;
	line-height: 1.5;
}
.bst-debate-evidence-item p {
	margin: 0;
	color: #343b4a;
	font-size: .88rem;
	line-height: 1.55;
}
@media (max-width: 760px) {
	.bst-debate-sheet { grid-template-columns: 1fr; }
}

/* Debate sheet refinements: question banner, aligned cards, common ground */
.bst-debate-question {
	display: grid;
	grid-template-columns: 4.4rem 1fr;
	gap: 1rem;
	align-items: center;
	background: #fffdf9;
	border-color: #eadfd6;
	border-left: 5px solid #c54b1c;
	padding: 1.25rem 1.45rem;
	box-shadow: 0 1px 0 rgba(23,34,53,.04);
}
.bst-debate-question-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.4rem;
	height: 3.4rem;
	border: 1.5px solid #e6a58c;
	border-radius: 50%;
	color: #c54b1c;
	font-size: 2rem;
	font-weight: 800;
}
.bst-debate-question p {
	margin: .25rem 0 0;
	color: #172235;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.35rem, 2.4vw, 1.85rem);
	line-height: 1.25;
	font-weight: 800;
}
.bst-debate-sheet {
	grid-template-rows: auto auto auto auto;
	align-items: stretch;
}
.bst-debate-view-panel {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 4;
}
.bst-debate-evidence-card { background: #fffdf9; }
.bst-debate-common {
	background: #eef4fa;
	border-color: #d7e1eb;
	padding: 1.25rem 1.35rem;
}
.bst-debate-common-heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
}
.bst-debate-common-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.8rem;
	height: 2.8rem;
	border: 1.5px solid #9eb6d2;
	border-radius: 50%;
	color: #3a5f72;
	font-size: 1.25rem;
	background: #f8fbff;
}
.bst-debate-common-heading h3 {
	margin: 0;
	color: #172235;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.35rem;
	line-height: 1.2;
}
.bst-debate-common-heading div > span {
	display: block;
	width: 3rem;
	height: 2px;
	background: #c54b1c;
	margin-top: .45rem;
}
.bst-debate-common__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .75rem;
}
.bst-debate-common__item {
	border-color: #dbe2ea;
	border-radius: 7px;
	padding: 1rem;
}
.bst-debate-common__title {
	color: #172235;
	font-weight: 800;
	line-height: 1.25;
	margin-bottom: .5rem;
}
.bst-debate-common__item p {
	font-size: .82rem;
	line-height: 1.5;
	color: #343b4a;
}
.bst-debate-common-footer {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: .65rem;
	margin: 1rem 0 0;
	color: #172235;
	font-family: Georgia, "Times New Roman", serif;
	font-size: .9rem;
}
@media (max-width: 760px) {
	.bst-debate-question { grid-template-columns: 1fr; }
	.bst-debate-common__grid { grid-template-columns: 1fr; }
}

/* Debate icon consistency: use the same burnt-orange SVG language as the guide pages. */
.bst-debate-svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}
.bst-debate-kicker,
.bst-debate-subhead {
	color: #c54b1c;
}
.bst-debate-question-icon {
	width: 3.75rem;
	height: 3.75rem;
	color: #d14f1f;
	background: #fffdf9;
	font-size: 2.1rem;
}
.bst-debate-view-icon {
	width: 2.85rem;
	height: 2.85rem;
	color: #d14f1f;
	font-size: 1.35rem;
}
.bst-debate-mini-icon {
	width: 2.35rem;
	height: 2.35rem;
	color: #d14f1f;
	font-size: 1.1rem;
}
.bst-debate-evidence-item span {
	color: #d14f1f;
	font-size: 1.05rem;
	padding-top: .15rem;
}
.bst-debate-common-icon {
	width: 3rem;
	height: 3rem;
	color: #d14f1f;
	font-size: 1.35rem;
}
.bst-debate-common__item {
	display: grid;
	grid-template-columns: 2.35rem 1fr;
	column-gap: .75rem;
	align-items: start;
}
.bst-debate-common__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	grid-row: 1 / span 2;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid #f0d8c7;
	border-radius: 50%;
	background: #fff6ef;
	color: #d14f1f;
	font-size: 1.1rem;
}
.bst-debate-common-footer span {
	color: #d14f1f;
	font-size: 1rem;
}

/* Activity blocks: make learner tasks feel like deliberate workbook moments. */
.bst-inline-svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}
.bst-activity-block {
	padding: 18px 20px 20px;
	border: none;
	border-left: 5px solid var(--bst-orange);
	border-radius: 10px;
	background: #edf0f7;
	color: #1a2744;
	box-shadow: 0 2px 8px rgba(26,39,68,.08);
	font-family: 'Inter', sans-serif;
}
.bst-activity-head {
	display: grid;
	grid-template-columns: 3rem 1fr auto;
	align-items: center;
	gap: .9rem;
	margin-bottom: 14px;
}
.bst-activity-icon,
.bst-activity-question-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}
.bst-activity-icon {
	width: 2.65rem;
	height: 2.65rem;
	font-size: 1.25rem;
	border: 1px solid var(--bst-orange);
	background: var(--bst-orange);
	color: #fff;
}
.bst-activity-question-icon {
	width: 2.8rem;
	height: 2.8rem;
	font-size: 2.1rem;
	background: none;
	border: none;
	color: var(--bst-orange);
}
.bst-activity-kicker {
	margin-bottom: .2rem;
	color: #6b7a99;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.bst-activity-heading {
	margin: 0;
	font-size: 1.12rem;
	font-weight: 600;
	line-height: 1.25;
	color: #1a2744;
}
.bst-activity-time {
	margin: 0;
	padding: .28rem .65rem;
	border: 1px solid rgba(26,39,68,.16);
	border-radius: 999px;
	background: rgba(255,255,255,.6);
	color: #1a2744;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.bst-activity-tools {
	gap: .45rem;
	margin-bottom: 15px;
}
.bst-activity-tools > span {
	color: #6b7a99;
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.bst-activity-tool-button {
	gap: .35rem;
	min-height: 30px;
	padding: .25rem .65rem;
	border-color: rgba(201,78,42,.35);
	border-radius: 999px;
	background: #fff;
	color: #1a2744;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
}
.bst-activity-tool-button .bst-inline-svg {
	color: var(--bst-orange);
	font-size: .9rem;
}
.bst-activity-instructions {
	margin-bottom: 15px;
	color: #1a2744;
	font-size: 1rem;
	line-height: 1.7;
}
.bst-activity-question {
	display: grid;
	grid-template-columns: 2.35rem 1fr;
	gap: .8rem;
	align-items: start;
	margin-bottom: 15px;
	padding: 1rem;
	border: 1px solid rgba(26,39,68,.12);
	border-radius: 8px;
	background: rgba(255,255,255,.7);
	color: #1a2744;
}
.bst-activity-question-icon {
	width: 2.1rem;
	height: 2.1rem;
	font-size: 1rem;
	flex: 0 0 2.1rem;
	line-height: 1;
}
.bst-activity-question-icon .bst-inline-svg {
	display: block;
	width: 1.55rem;
	height: 1.55rem;
	min-width: 1.55rem;
	min-height: 1.55rem;
}
.bst-activity-question p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.65;
	color: #1a2744;
}
.bst-activity-toggle {
	gap: .45rem;
	padding: .55rem .8rem;
	border-color: #1a2744;
	border-radius: 7px;
	background: #1a2744;
	color: #fff;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.bst-activity-toggle:hover,
.bst-activity-toggle:focus {
	background: var(--bst-orange);
	border-color: var(--bst-orange);
	color: #fff;
}
.bst-activity-answer {
	border: 1px solid rgba(26,39,68,.1);
	border-radius: 8px;
	background: #f7f9fc;
	color: #1a2744;
}
@media (max-width: 640px) {
	.bst-activity-head {
		grid-template-columns: 3rem 1fr;
	}
	.bst-activity-time {
		grid-column: 2;
		justify-self: start;
	}
}

/* WP activity parity pass: match the neater preview treatment. */
.bst-lesson-content .bst-activity-block,
.bst-lesson-section .bst-activity-block {
	margin-top: 1.5rem;
	padding: 1.15rem 1.25rem 1.25rem;
}
.bst-lesson-content .bst-activity-heading,
.bst-lesson-section .bst-activity-heading {
	margin: 0 !important;
	color: #1a2744 !important;
	font-size: 1.12rem !important;
	font-weight: 500 !important;
	font-family: 'Inter', sans-serif !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.bst-lesson-content .bst-activity-title-wrap,
.bst-lesson-section .bst-activity-title-wrap {
	min-width: 0;
}
.bst-lesson-content .bst-activity-tools,
.bst-lesson-section .bst-activity-tools {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .45rem;
	margin: 0 0 .95rem;
}
.bst-lesson-content .bst-activity-tool-button,
.bst-lesson-section .bst-activity-tool-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .35rem;
	min-height: 30px;
	padding: .25rem .65rem;
	line-height: 1.2;
}
.bst-lesson-content .bst-activity-instructions p,
.bst-lesson-section .bst-activity-instructions p {
	margin: 0;
}
.bst-lesson-content .bst-activity-question strong,
.bst-lesson-section .bst-activity-question strong {
	font-weight: 800;
}
.bst-lesson-content .bst-activity-toggle,
.bst-lesson-section .bst-activity-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	padding: .55rem .8rem;
	line-height: 1.2;
}

/* -- Activity block: soft workbook colour overrides ---------------------- */
/* These must come after section-body p rules to win the specificity battle */
.bst-lesson-content .bst-activity-block .bst-activity-instructions,
.bst-lesson-content .bst-activity-block .bst-activity-instructions p,
.bst-lesson-section .bst-activity-block .bst-activity-instructions,
.bst-lesson-section .bst-activity-block .bst-activity-instructions p {
	color: #03266e !important;
}
.bst-lesson-content .bst-activity-block .bst-activity-question,
.bst-lesson-content .bst-activity-block .bst-activity-question p,
.bst-lesson-section .bst-activity-block .bst-activity-question,
.bst-lesson-section .bst-activity-block .bst-activity-question p {
	color: #03266e !important;
}
.bst-lesson-content .bst-activity-block .bst-activity-answer,
.bst-lesson-section .bst-activity-block .bst-activity-answer {
	color: #03266e;
}
.bst-lesson-content .bst-activity-block .bst-activity-answer h4,
.bst-lesson-section .bst-activity-block .bst-activity-answer h4 {
	color: #0c3f96 !important;
	font-size: .78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.bst-lesson-content .bst-activity-block .bst-activity-answer p,
.bst-lesson-section .bst-activity-block .bst-activity-answer p {
	color: #03266e !important;
}

/* Final lesson polish: completion state, full images, and debate typography. */
.bst-lesson-nav__tick {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 999px;
	background: #1f8a4c;
	color: #fff !important;
	font-size: .78rem;
	font-weight: 900;
	line-height: 1;
}
.bst-lesson-nav__item--done .bst-lesson-nav__tick {
	opacity: 1;
}
.bst-lesson-nav__item--done .bst-lesson-nav__num {
	background: #e9f6ee;
	color: #1f8a4c !important;
}
.bst-section-media,
.bst-visual {
	overflow: visible;
}
.bst-section-media img,
.bst-visual img {
	height: auto !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center center !important;
}
.bst-lesson-content .bst-debate-question,
.bst-lesson-content .bst-debate-question *,
.bst-lesson-content .bst-debate-sheet,
.bst-lesson-content .bst-debate-sheet *,
.bst-lesson-content .bst-debate-common,
.bst-lesson-content .bst-debate-common * {
	font-family: 'Poppins', sans-serif !important;
}
.bst-lesson-content .bst-debate-question p,
.bst-lesson-content .bst-debate-common-heading h3,
.bst-lesson-content .bst-debate-common-footer {
	font-family: 'Poppins', sans-serif !important;
}

/* Main section completion tick matches sidebar completion state. */
.bst-section-tick {
	background: #1f8a4c !important;
	color: #fff !important;
	font-weight: 900;
	line-height: 1;
}

/* Guided commentary: turn verse notes into readable teaching cards. */
.bst-lesson-section--guided_commentary .bst-section-body {
	display: grid;
	gap: .95rem;
}
.bst-lesson-section--guided_commentary .bst-section-body h2,
.bst-lesson-section--guided_commentary .bst-section-body h3,
.bst-lesson-section--guided_commentary .bst-section-body h4 {
	margin: 1.15rem 0 0 !important;
	padding: .9rem 1rem .75rem 1.15rem;
	border: 1px solid #eadfd6;
	border-left: 5px solid #c54b1c;
	border-radius: 9px 9px 0 0;
	background: #fffdf9;
	color: #172235 !important;
	font-family: 'Poppins', sans-serif !important;
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.bst-lesson-section--guided_commentary .bst-section-body h2::before,
.bst-lesson-section--guided_commentary .bst-section-body h3::before,
.bst-lesson-section--guided_commentary .bst-section-body h4::before {
	content: "Teaching note";
	display: block;
	margin-bottom: .35rem;
	color: #c54b1c;
	font-family: 'Poppins', sans-serif;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.bst-lesson-section--guided_commentary .bst-section-body h2 + p,
.bst-lesson-section--guided_commentary .bst-section-body h3 + p,
.bst-lesson-section--guided_commentary .bst-section-body h4 + p {
	margin-top: -.95rem;
	padding: 1rem 1.15rem;
	border: 1px solid #eadfd6;
	border-top: 0;
	border-radius: 0 0 9px 9px;
	background: #fffaf4;
	color: #343b4a;
	font-family: 'Poppins', sans-serif;
	font-size: .96rem;
	line-height: 1.76;
}
.bst-lesson-section--guided_commentary .bst-section-body h2 + p a,
.bst-lesson-section--guided_commentary .bst-section-body h3 + p a,
.bst-lesson-section--guided_commentary .bst-section-body h4 + p a {
	color: #c54b1c;
	font-weight: 700;
}

/* Debate common-ground cards: body text spans under the icon and heading. */
.bst-debate-common__item p {
	grid-column: 1 / -1;
	margin-top: .65rem;
}

/* Keep common-ground card text aligned consistently beneath each icon. */
.bst-block-interpretive-debate .bst-debate-common__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.bst-block-interpretive-debate .bst-debate-common__item p {
    grid-column: auto;
    margin: .65rem 0 0;
}

/* -- Passage keyword highlights ------------------------------------------- */
.bst-kw-mark {
	cursor: pointer;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-decoration-color: var(--bst-orange);
	text-underline-offset: 3px;
	border-radius: 2px;
	transition: background .15s;
}
.bst-kw-mark:hover {
	background: var(--bst-orange-light);
}

/* ------------------------------------------------------------------------------
   FREE COURSE ACCESS PANEL
   Shown on course index when course is free and user is not logged in.
------------------------------------------------------------------------------ */

.bst-free-access-panel {
	background: #fff;
	border-top: 1px solid var(--bst-border, #d8d0c8);
	border-bottom: 1px solid var(--bst-border, #d8d0c8);
	padding: 64px 24px;
}

.bst-free-access-inner {
	max-width: 640px;
	margin: 0 auto;
}

.bst-free-access-header {
	text-align: center;
	margin-bottom: 36px;
}

.bst-free-access-heading {
	margin: 0 0 12px;
	font-size: 1.55rem;
	font-weight: 800;
	color: var(--bst-ink, #2a2237);
	line-height: 1.18;
	text-transform: uppercase;
	letter-spacing: .01em;
}

.bst-free-access-sub {
	margin: 0 auto;
	max-width: 460px;
	font-size: .95rem;
	color: var(--bst-body, #51495d);
	line-height: 1.65;
}

/* -- Tabs ------------------------------------------------------------------- */

.bst-free-access-tabs {
	display: flex;
	gap: 4px;
	margin-bottom: 24px;
	border-bottom: 2px solid var(--bst-border, #d8d0c8);
}

.bst-free-tab-btn {
	flex: 1;
	padding: 10px 16px;
	border: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	background: transparent;
	color: var(--bst-muted, #7a6e82);
	font-family: 'Poppins', sans-serif;
	font-size: .88rem;
	font-weight: 600;
	cursor: pointer;
	transition: color .15s, border-color .15s;
}

.bst-free-tab-btn.is-active {
	color: var(--bst-aubergine, #2a2237);
	border-bottom-color: var(--bst-orange, #c94e2a);
}

.bst-free-tab-pane { display: block; }
.bst-free-tab-pane[hidden] { display: none; }

/* -- Form fields ------------------------------------------------------------ */

.bst-free-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.bst-free-field {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.bst-free-field label {
	font-size: .82rem;
	font-weight: 600;
	color: var(--bst-ink, #2a2237);
}

.bst-free-field input {
	padding: 10px 13px;
	border: 1px solid var(--bst-border, #d8d0c8);
	border-radius: var(--bst-radius, 8px);
	background: #fff;
	font-family: 'Poppins', sans-serif;
	font-size: .92rem;
	color: var(--bst-ink, #2a2237);
	transition: border-color .15s, box-shadow .15s;
}

.bst-free-field input:focus {
	outline: none;
	border-color: var(--bst-teal, #3a5f72);
	box-shadow: 0 0 0 3px rgba(58, 95, 114, .12);
}

/* -- Subscriber opt-ins ----------------------------------------------------- */

.bst-free-lists {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--bst-border, #d8d0c8);
	border-radius: var(--bst-radius, 8px);
	background: #fff;
}

.bst-free-lists legend {
	font-size: .8rem;
	font-weight: 700;
	color: var(--bst-muted, #7a6e82);
	text-transform: uppercase;
	letter-spacing: .05em;
	padding: 0 4px;
}

.bst-free-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	font-size: .9rem;
	color: var(--bst-ink, #2a2237);
	cursor: pointer;
}

.bst-free-checkbox input[type="checkbox"] {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	accent-color: var(--bst-orange, #c94e2a);
	cursor: pointer;
}

/* -- Messages + submit ------------------------------------------------------ */

.bst-free-msg {
	min-height: 1.4em;
	font-size: .87rem;
	line-height: 1.4;
}

.bst-free-msg.is-error   { color: #b91c1c; }
.bst-free-msg.is-success { color: #166534; }

.bst-free-submit {
	width: 100%;
	text-align: center;
	justify-content: center;
	border-radius: 999px;
	padding: 14px 28px;
	font-size: .9rem;
	font-weight: 700;
	letter-spacing: .03em;
}

.bst-free-privacy {
	margin: 0;
	font-size: .78rem;
	color: var(--bst-muted, #7a6e82);
}

.bst-free-access-hint {
	margin: 0 0 16px;
	font-size: .88rem;
	color: var(--bst-muted, #7a6e82);
	line-height: 1.55;
}

@media (max-width: 600px) {
	.bst-free-access-panel { padding: 32px 16px; }
	.bst-free-submit { width: 100%; align-self: stretch; }
}

/* Apologetics designed section layouts synced from BST course player. */
.bst-lesson-wrap,
.bst-lesson-content {
    --preview-ink: var(--bst-ink);
    --preview-body: var(--bst-body);
    --preview-muted: var(--bst-muted);
    --preview-line: var(--bst-border);
    --preview-surface: #fffdf9;
    --preview-soft: #f8f2ea;
    --preview-orange: var(--bst-orange);
    --preview-orange-soft: #fff1e8;
    --preview-orange-dark: #9f3b1e;
    --preview-green: #2f6f4e;
    --preview-teal: var(--bst-teal);
    --preview-plum: var(--bst-plum);
    --preview-gold: #c07b2a;
    --font-ui: 'Poppins', sans-serif;
}

.bst-argument-map {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 4px 0 12px;
}

.bst-argument-hero,
.bst-argument-panel,
.bst-argument-card,
.bst-argument-final {
    border: 1px solid var(--preview-line);
    border-radius: 8px;
    background: var(--preview-surface);
    box-shadow: 0 10px 24px rgba(54, 39, 66, 0.05);
}

.bst-argument-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(210px, 280px);
    gap: 22px;
    align-items: stretch;
    padding: clamp(20px, 3vw, 30px);
    border-top: 5px solid var(--preview-orange);
    background: linear-gradient(135deg, var(--preview-surface) 0%, #fbf2e9 100%);
}

.bst-argument-kicker,
.bst-argument-label {
    margin: 0 0 8px;
    color: var(--preview-orange-dark);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bst-argument-hero h3,
.bst-argument-panel h3,
.bst-argument-final h3 {
    margin: 0 0 10px;
    color: var(--preview-ink);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.18;
}

.bst-argument-hero p,
.bst-argument-panel p,
.bst-argument-card p,
.bst-argument-final p {
    margin: 0;
}

.bst-argument-thesis {
    color: #4d4458;
    font-size: 1rem;
    line-height: 1.7;
}

.bst-argument-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding: 18px;
    border: 1px solid rgba(201, 78, 42, 0.18);
    border-radius: 8px;
    background: #fff7ef;
}

.bst-argument-equation {
    color: var(--preview-ink);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.45;
}

.bst-argument-note {
    color: var(--preview-muted);
    font-size: 0.86rem;
    line-height: 1.55;
}

.bst-argument-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.bst-argument-step {
    position: relative;
    min-height: 160px;
    padding: 18px;
    border: 1px solid var(--preview-line);
    border-radius: 8px;
    background: #ffffff;
}

.bst-argument-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin-bottom: 12px;
    border-radius: 999px;
    background: var(--preview-orange-soft);
    color: var(--preview-orange-dark);
    font-weight: 900;
}

.bst-argument-step h4,
.bst-argument-card h4 {
    margin: 0 0 8px;
    color: var(--preview-ink);
    font-size: 1rem;
    line-height: 1.3;
}

.bst-argument-step p,
.bst-argument-card p {
    color: #4d4458;
    font-size: 0.94rem;
    line-height: 1.6;
}

.bst-argument-panel {
    padding: clamp(18px, 2.5vw, 26px);
}

.bst-argument-panel.is-teal {
    border-left: 5px solid var(--preview-teal);
}

.bst-argument-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.bst-argument-card {
    padding: 18px;
    background: #fbf7ef;
}

.bst-argument-card.is-example {
    background: var(--preview-surface);
}

.bst-argument-card-tag {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 4px 9px;
    border-radius: 999px;
    background: rgba(58, 95, 114, 0.12);
    color: var(--preview-teal);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bst-argument-quote {
    margin: 14px 0 0;
    padding: 14px 16px;
    border-left: 4px solid var(--preview-orange);
    border-radius: 0 8px 8px 0;
    background: #fff8ef;
    color: #4d4458;
    font-style: italic;
    line-height: 1.65;
}

.bst-argument-final {
    padding: clamp(18px, 2.5vw, 26px);
    border-color: rgba(74, 58, 138, 0.2);
    background: linear-gradient(135deg, var(--preview-surface) 0%, #f4f0fa 100%);
}

.bst-understanding-map {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 4px 0 12px;
}

.bst-understanding-hero,
.bst-understanding-panel,
.bst-understanding-card,
.bst-understanding-term,
.bst-understanding-misread {
    border: 1px solid var(--preview-line);
    border-radius: 8px;
    background: var(--preview-surface);
    box-shadow: 0 10px 24px rgba(54, 39, 66, 0.05);
}

.bst-understanding-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    gap: 22px;
    align-items: stretch;
    padding: clamp(20px, 3vw, 30px);
    border-top: 5px solid #2d6a4f;
    background: linear-gradient(135deg, var(--preview-surface) 0%, #eef8f2 100%);
}

.bst-understanding-kicker,
.bst-understanding-label {
    margin: 0 0 8px;
    color: #1f513a;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bst-understanding-hero h3,
.bst-understanding-panel h3 {
    margin: 0 0 10px;
    color: var(--preview-ink);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.18;
}

.bst-understanding-hero p,
.bst-understanding-panel p,
.bst-understanding-card p,
.bst-understanding-term p,
.bst-understanding-misread p {
    margin: 0;
}

.bst-understanding-lead,
.bst-understanding-panel > p {
    color: #4d4458;
    font-size: 1rem;
    line-height: 1.7;
}

.bst-understanding-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 9px;
    padding: 18px;
    border: 1px solid rgba(45, 106, 79, 0.18);
    border-radius: 8px;
    background: #f5faf7;
}

.bst-understanding-side strong {
    color: var(--preview-ink);
    font-size: 1rem;
    line-height: 1.45;
}

.bst-understanding-side span {
    color: var(--preview-muted);
    font-size: 0.86rem;
    line-height: 1.55;
}

.bst-understanding-grid,
.bst-understanding-terms,
.bst-understanding-misreads {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.bst-understanding-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bst-understanding-terms,
.bst-understanding-misreads {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bst-understanding-panel {
    padding: clamp(18px, 2.5vw, 26px);
}

.bst-understanding-panel.is-plum {
    border-left: 5px solid #4a3a8a;
}

.bst-understanding-card,
.bst-understanding-term,
.bst-understanding-misread {
    padding: 18px;
}

.bst-understanding-card {
    background: #ffffff;
}

.bst-understanding-term {
    background: #fbf7ef;
}

.bst-understanding-misread {
    background: var(--preview-surface);
}

.bst-understanding-card h4,
.bst-understanding-term h4,
.bst-understanding-misread h4 {
    margin: 0 0 9px;
    color: var(--preview-ink);
    font-size: 1rem;
    line-height: 1.3;
}

.bst-understanding-card p,
.bst-understanding-term p,
.bst-understanding-misread p {
    color: #4d4458;
    font-size: 0.94rem;
    line-height: 1.62;
}

.bst-understanding-card p + p,
.bst-understanding-term p + p,
.bst-understanding-misread p + p,
.bst-understanding-panel p + p {
    margin-top: 12px;
}

.bst-understanding-pill {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 4px 9px;
    border-radius: 999px;
    background: rgba(45, 106, 79, 0.12);
    color: #1f513a;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bst-understanding-callout {
    margin: 14px 0 0;
    padding: 14px 16px;
    border-left: 4px solid #4a3a8a;
    border-radius: 0 8px 8px 0;
    background: #f4f0fa;
    color: #4d4458;
    line-height: 1.65;
}

.bst-history-map {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 4px 0 12px;
}

.bst-history-hero,
.bst-history-era,
.bst-history-card,
.bst-history-final {
    border: 1px solid var(--preview-line);
    border-radius: 8px;
    background: var(--preview-surface);
    box-shadow: 0 10px 24px rgba(54, 39, 66, 0.05);
}

.bst-history-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    gap: 22px;
    align-items: stretch;
    padding: clamp(20px, 3vw, 30px);
    border-top: 5px solid #7d6647;
    background: linear-gradient(135deg, var(--preview-surface) 0%, #f5efe7 100%);
}

.bst-history-kicker,
.bst-history-label {
    margin: 0 0 8px;
    color: #7d4c18;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bst-history-hero h3,
.bst-history-era h3,
.bst-history-final h3 {
    margin: 0 0 10px;
    color: var(--preview-ink);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.18;
}

.bst-history-hero p,
.bst-history-era p,
.bst-history-card p,
.bst-history-final p {
    margin: 0;
}

.bst-history-lead,
.bst-history-era > p,
.bst-history-final p {
    color: #4d4458;
    font-size: 1rem;
    line-height: 1.7;
}

.bst-history-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 9px;
    padding: 18px;
    border: 1px solid rgba(125, 102, 71, 0.2);
    border-radius: 8px;
    background: #fff8ef;
}

.bst-history-side strong {
    color: var(--preview-ink);
    font-size: 1rem;
    line-height: 1.45;
}

.bst-history-side span {
    color: var(--preview-muted);
    font-size: 0.86rem;
    line-height: 1.55;
}

.bst-history-era {
    position: relative;
    padding: clamp(18px, 2.5vw, 26px);
    border-left: 5px solid #7d6647;
}

.bst-history-era.is-green {
    border-left-color: #2d6a4f;
}

.bst-history-era.is-orange {
    border-left-color: var(--preview-orange);
}

.bst-history-era.is-red {
    border-left-color: #8a3a3a;
}

.bst-history-era.is-teal {
    border-left-color: var(--preview-teal);
}

.bst-history-date {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f5efe7;
    color: #7d4c18;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bst-history-era p + p,
.bst-history-card p + p,
.bst-history-final p + p {
    margin-top: 12px;
}

.bst-history-thinkers {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.bst-history-card {
    padding: 16px;
    background: #fbf7ef;
}

.bst-history-card h4 {
    margin: 0 0 4px;
    color: var(--preview-ink);
    font-size: 0.98rem;
    line-height: 1.3;
}

.bst-history-card .dates {
    display: block;
    margin-bottom: 9px;
    color: #7d4c18;
    font-size: 0.72rem;
    font-weight: 800;
}

.bst-history-card p {
    color: #4d4458;
    font-size: 0.9rem;
    line-height: 1.58;
}

.bst-history-final {
    padding: clamp(18px, 2.5vw, 26px);
    border-color: rgba(58, 95, 114, 0.2);
    background: linear-gradient(135deg, var(--preview-surface) 0%, #edf5f7 100%);
}

.bst-evidence-map {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 4px 0 12px;
}

.bst-evidence-hero,
.bst-evidence-card,
.bst-evidence-case,
.bst-evidence-scripture {
    border: 1px solid var(--preview-line);
    border-radius: 8px;
    background: var(--preview-surface);
    box-shadow: 0 10px 24px rgba(54, 39, 66, 0.05);
}

.bst-evidence-hero {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr) minmax(220px, 300px);
    gap: 22px;
    align-items: stretch;
    padding: clamp(20px, 3vw, 30px);
    border-top: 5px solid var(--preview-teal);
    background: linear-gradient(135deg, var(--preview-surface) 0%, #edf5f7 100%);
}

.bst-evidence-hero-icon,
.bst-evidence-card-icon,
.bst-evidence-card-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    flex-shrink: 0;
}

.bst-evidence-hero-icon {
    width: 58px;
    height: 58px;
    border: 1px solid rgba(201, 168, 76, 0.35);
    background: #fff8e7;
    color: #b07818;
}

.bst-evidence-hero-icon svg,
.bst-evidence-card-icon svg,
.bst-evidence-takeaway svg {
    width: 1.25em;
    height: 1.25em;
}

.bst-evidence-hero-copy p + p {
    margin-top: 12px;
}

.bst-evidence-kicker,
.bst-evidence-label {
    margin: 0 0 8px;
    color: #2e6f77;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bst-evidence-hero h3,
.bst-evidence-hero h4,
.bst-evidence-card h3,
.bst-evidence-card h4,
.bst-evidence-case h3,
.bst-evidence-case h4,
.bst-evidence-scripture h3,
.bst-evidence-scripture h4 {
    margin: 0 0 10px;
    color: var(--preview-ink);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.18;
}

.bst-evidence-hero p,
.bst-evidence-card p,
.bst-evidence-case p,
.bst-evidence-scripture p {
    margin: 0;
}

.bst-evidence-lead,
.bst-evidence-card p,
.bst-evidence-case p,
.bst-evidence-scripture p {
    color: #4d4458;
    font-size: 1rem;
    line-height: 1.7;
}

.bst-evidence-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 9px;
    padding: 18px;
    border: 1px solid rgba(58, 95, 114, 0.2);
    border-radius: 8px;
    background: #f4fafb;
}

.bst-evidence-side strong {
    color: var(--preview-ink);
    font-size: 1rem;
    line-height: 1.45;
}

.bst-evidence-side span {
    color: var(--preview-muted);
    font-size: 0.86rem;
    line-height: 1.55;
}

.bst-evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.bst-evidence-card {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px 18px;
    padding: clamp(18px, 2.5vw, 24px);
    border-left: 5px solid var(--preview-teal);
}

.bst-evidence-card-num {
    width: 42px;
    height: 42px;
    grid-column: 1;
    background: rgba(58, 95, 114, 0.1);
    color: #2e6f77;
    font-size: 1.25rem;
    font-weight: 800;
}

.bst-evidence-card-icon {
    width: 50px;
    height: 50px;
    grid-column: 1;
    background: #2e7d82;
    color: #fff;
}

.bst-evidence-card-copy {
    grid-column: 2;
    grid-row: 1 / span 2;
}

@media (max-width: 560px) {
    .bst-evidence-card {
        grid-template-columns: 1fr;
    }
    .bst-evidence-card-num,
    .bst-evidence-card-icon,
    .bst-evidence-card-copy {
        grid-column: 1;
        grid-row: auto;
    }
}

.bst-evidence-card.is-gold {
    border-left-color: #c9a84c;
}

.bst-evidence-card.is-gold .bst-evidence-card-num { color: #9a6b0d; background: rgba(201, 168, 76, 0.15); }
.bst-evidence-card.is-gold .bst-evidence-card-icon { background: #c28a12; }

.bst-evidence-card.is-green {
    border-left-color: #2d6a4f;
}

.bst-evidence-card.is-green .bst-evidence-card-num { color: #2d6a4f; background: rgba(45, 106, 79, 0.12); }
.bst-evidence-card.is-green .bst-evidence-card-icon { background: #2d6a4f; }

.bst-evidence-card.is-plum {
    border-left-color: #4a3a8a;
}

.bst-evidence-card.is-plum .bst-evidence-card-num { color: #4a3a8a; background: rgba(74, 58, 138, 0.12); }
.bst-evidence-card.is-plum .bst-evidence-card-icon { background: #6b35b8; }

.bst-evidence-card.is-blue {
    border-left-color: #3f73b8;
}

.bst-evidence-card.is-blue .bst-evidence-card-num { color: #315d8d; background: rgba(63, 115, 184, 0.12); }
.bst-evidence-card.is-blue .bst-evidence-card-icon { background: #3f73b8; }

.bst-evidence-card.is-orange {
    border-left-color: #d66a20;
}

.bst-evidence-card.is-orange .bst-evidence-card-num { color: #a94c10; background: rgba(214, 106, 32, 0.12); }
.bst-evidence-card.is-orange .bst-evidence-card-icon { background: #d66a20; }

.bst-evidence-card.is-teal .bst-evidence-card-num { color: #2e6f77; background: rgba(46, 111, 119, 0.12); }
.bst-evidence-card.is-teal .bst-evidence-card-icon { background: #2e7d82; }

.bst-evidence-chip {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(58, 95, 114, 0.12);
    color: #2e6f77;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bst-evidence-points {
    margin: 12px 0 0;
    padding-left: 1.1rem;
    color: #4d4458;
    font-size: 0.95rem;
    line-height: 1.65;
}

.bst-evidence-points li {
    margin-bottom: 0.65rem;
}

.bst-evidence-points li:last-child {
    margin-bottom: 0;
}

.bst-evidence-takeaway {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.7rem;
    align-items: start;
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 8px;
    background: #edf6f7;
    color: #2e6f77;
}

.bst-evidence-takeaway span {
    color: currentColor;
    line-height: 1.4;
}

.bst-evidence-takeaway p {
    color: currentColor;
    font-size: 0.9rem;
    line-height: 1.5;
}

.bst-evidence-card p + p,
.bst-evidence-case p + p,
.bst-evidence-scripture p + p {
    margin-top: 12px;
}

.bst-evidence-quote {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 9px;
    margin: 0;
    padding: 18px;
    border: 1px solid rgba(58, 95, 114, 0.2);
    border-radius: 8px;
    background: #f4fafb;
    color: #4d4458;
    line-height: 1.65;
}

.bst-evidence-quote strong {
    color: var(--preview-ink);
    font-size: 1rem;
    line-height: 1.4;
}

.bst-evidence-quote span {
    color: var(--preview-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.bst-evidence-case {
    grid-column: 1 / -1;
    padding: clamp(18px, 2.5vw, 26px);
    border-color: rgba(201, 78, 42, 0.18);
    background: linear-gradient(135deg, var(--preview-surface) 0%, #fff4ec 100%);
}

.bst-evidence-scripture {
    grid-column: 1 / -1;
    padding: clamp(18px, 2.5vw, 26px);
    border-color: rgba(74, 58, 138, 0.2);
    background: linear-gradient(135deg, var(--preview-surface) 0%, #f4f0fa 100%);
}

.bst-evidence-map {
    grid-template-columns: repeat(2, minmax(300px, 1fr));
    gap: clamp(18px, 2.4vw, 28px);
    align-items: start;
}

.bst-evidence-hero {
    grid-template-columns: minmax(0, 1.25fr) minmax(170px, 230px) minmax(220px, 0.7fr);
    gap: clamp(20px, 3vw, 34px);
    align-items: center;
    padding: clamp(26px, 4vw, 42px);
    border: 1px solid rgba(201, 168, 76, 0.28);
    border-top: 5px solid #b77a18;
    background:
        radial-gradient(circle at 72% 42%, rgba(201, 168, 76, 0.13), transparent 32%),
        linear-gradient(135deg, #fffdf9 0%, #fbf5ec 100%);
}

.bst-evidence-hero-copy h3,
.bst-evidence-card h3,
.bst-evidence-summary h3 {
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: 0;
}

.bst-evidence-hero-copy h3 {
    font-size: clamp(1.7rem, 2.6vw, 2.45rem);
}

.bst-evidence-hero-copy p,
.bst-evidence-summary p,
.bst-evidence-summary li {
    color: #3f4560;
    font-size: 1.03rem;
    line-height: 1.75;
}

.bst-evidence-watch {
    position: relative;
    min-height: 210px;
    opacity: 0.72;
}

.bst-evidence-watch::before {
    content: "";
    position: absolute;
    inset: 22px 18px 10px;
    border: 2px solid rgba(176, 120, 24, 0.36);
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%, transparent 0 28%, rgba(176, 120, 24, 0.12) 29% 30%, transparent 31%),
        repeating-radial-gradient(circle at 50% 50%, rgba(176, 120, 24, 0.14) 0 1px, transparent 1px 12px);
    box-shadow: inset 0 0 0 12px rgba(255,255,255,0.45), 0 12px 30px rgba(54, 39, 66, 0.08);
}

.bst-evidence-watch::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 72px;
    height: 2px;
    background: rgba(176, 120, 24, 0.55);
    transform: translate(-18px, -5px) rotate(-32deg);
    transform-origin: left center;
    box-shadow: -2px 0 0 2px rgba(176, 120, 24, 0.5);
}

.bst-evidence-watch span::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 48px;
    height: 2px;
    background: rgba(176, 120, 24, 0.48);
    transform: translate(-3px, -5px) rotate(68deg);
    transform-origin: left center;
}

.bst-evidence-quote {
    padding: 22px;
    border-color: rgba(201, 168, 76, 0.25);
    background: rgba(255,255,255,0.58);
}

.bst-evidence-quote p {
    color: #2f3048;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    font-style: italic;
    line-height: 1.65;
}

.bst-evidence-quote cite {
    color: #a46212;
    font-size: 0.8rem;
    font-style: normal;
    font-weight: 800;
}

.bst-evidence-card {
    --evidence-accent: #2e7d82;
    --evidence-soft: #edf6f7;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: clamp(24px, 3vw, 34px);
    border-left: 5px solid var(--evidence-accent);
    background: #fffdf9;
}

.bst-evidence-card.is-teal { --evidence-accent: #2e7d82; --evidence-soft: #edf6f7; }
.bst-evidence-card.is-plum { --evidence-accent: #6b35b8; --evidence-soft: #f2ebfb; }
.bst-evidence-card.is-gold { --evidence-accent: #c28a12; --evidence-soft: #fbf3df; }
.bst-evidence-card.is-blue { --evidence-accent: #3f73b8; --evidence-soft: #edf4fc; }
.bst-evidence-card.is-green { --evidence-accent: #2d6a4f; --evidence-soft: #edf7f1; }
.bst-evidence-card.is-orange { --evidence-accent: #d66a20; --evidence-soft: #fff0e5; }

.bst-evidence-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.bst-evidence-card-num,
.bst-evidence-card-icon {
    color: var(--evidence-accent);
    background: var(--evidence-soft);
}

.bst-evidence-card-icon {
    width: 56px;
    height: 56px;
    color: #fff;
    background: var(--evidence-accent);
}

.bst-evidence-card-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    grid-column: auto;
    grid-row: auto;
}

.bst-evidence-chip {
    align-self: flex-start;
    background: var(--evidence-soft);
    color: var(--evidence-accent);
}

.bst-evidence-card h3 {
    margin-bottom: 14px;
    font-size: clamp(1.45rem, 2vw, 1.9rem);
}

.bst-evidence-points {
    margin: 0;
    color: #3f4560;
    font-size: 1.02rem;
    line-height: 1.72;
}

.bst-evidence-points li {
    margin-bottom: 0.85rem;
}

.bst-evidence-takeaway {
    margin-top: auto;
    background: var(--evidence-soft);
    color: var(--evidence-accent);
}

.bst-evidence-summary {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.75fr);
    gap: clamp(22px, 3vw, 42px);
    align-items: center;
    padding: clamp(26px, 4vw, 42px);
    border: 1px solid rgba(201, 168, 76, 0.25);
    border-radius: 8px;
    background:
        radial-gradient(circle at 8% 30%, rgba(201, 168, 76, 0.12), transparent 22%),
        radial-gradient(circle at 92% 70%, rgba(74, 58, 138, 0.08), transparent 24%),
        linear-gradient(135deg, #fffdf9 0%, #fbf3e6 100%);
    box-shadow: 0 10px 24px rgba(54, 39, 66, 0.05);
}

.bst-evidence-summary ul {
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

.bst-evidence-summary li {
    position: relative;
    margin-bottom: 0.6rem;
    padding-left: 1.75rem;
}

.bst-evidence-summary li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #b77a18;
    font-weight: 800;
}

.bst-evidence-summary blockquote {
    margin: 0;
    padding-left: 24px;
    border-left: 1px solid rgba(183, 122, 24, 0.35);
}

.bst-objection-map {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 4px 0 12px;
}

.bst-objection-hero,
.bst-objection-brief,
.bst-objection-case {
    border: 1px solid var(--preview-line);
    border-radius: 8px;
    background: var(--preview-surface);
    box-shadow: 0 10px 24px rgba(54, 39, 66, 0.05);
}

.bst-objection-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    gap: 22px;
    align-items: stretch;
    padding: clamp(20px, 3vw, 30px);
    border-top: 5px solid #8a3a3a;
    background: linear-gradient(135deg, var(--preview-surface) 0%, #fff0ef 100%);
}

.bst-objection-kicker,
.bst-objection-label {
    margin: 0 0 8px;
    color: #8a3a3a;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bst-objection-hero h3,
.bst-objection-brief h3,
.bst-objection-case h3 {
    margin: 0 0 10px;
    color: var(--preview-ink);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.18;
}

.bst-objection-hero p,
.bst-objection-brief p,
.bst-objection-case p {
    margin: 0;
}

.bst-objection-lead,
.bst-objection-brief p,
.bst-objection-case p {
    color: #4d4458;
    font-size: 1rem;
    line-height: 1.7;
}

.bst-objection-side {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 9px;
    padding: 18px;
    border: 1px solid rgba(138, 58, 58, 0.18);
    border-radius: 8px;
    background: #fff7f5;
}

.bst-objection-side strong {
    color: var(--preview-ink);
    font-size: 1rem;
    line-height: 1.45;
}

.bst-objection-side span {
    color: var(--preview-muted);
    font-size: 0.86rem;
    line-height: 1.55;
}

.bst-objection-brief {
    padding: clamp(18px, 2.5vw, 26px);
    border-left: 5px solid #8a3a3a;
}

.bst-objection-brief.is-gold {
    border-left-color: #c9a84c;
}

.bst-objection-brief.is-plum {
    border-left-color: #4a3a8a;
}

.bst-objection-pair {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
    margin-top: 14px;
}

.bst-objection-box {
    padding: 16px;
    border: 1px solid var(--preview-line);
    border-radius: 8px;
    background: var(--preview-surface);
}

.bst-objection-box.is-challenge {
    background: #fff7f5;
}

.bst-objection-box.is-response {
    background: #f5faf7;
}

.bst-objection-box h4 {
    margin: 0 0 9px;
    color: var(--preview-ink);
    font-size: 1rem;
    line-height: 1.3;
}

.bst-objection-box p {
    color: #4d4458;
    font-size: 0.94rem;
    line-height: 1.62;
}

.bst-objection-brief p + p,
.bst-objection-box p + p,
.bst-objection-case p + p {
    margin-top: 12px;
}

.bst-objection-takeaway {
    margin-top: 14px;
    padding: 13px 15px;
    border-left: 4px solid var(--preview-teal);
    border-radius: 0 8px 8px 0;
    background: #f4fafb;
    color: #4d4458;
    line-height: 1.65;
}

.bst-objection-case {
    padding: clamp(18px, 2.5vw, 26px);
    border-color: rgba(58, 95, 114, 0.2);
    background: linear-gradient(135deg, var(--preview-surface) 0%, #edf5f7 100%);
}

.bst-biblical-map {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 4px 0 12px;
}

.bst-biblical-hero,
.bst-biblical-panel,
.bst-biblical-question {
    border: 1px solid var(--preview-line);
    border-radius: 8px;
    background: var(--preview-surface);
    box-shadow: 0 10px 24px rgba(54, 39, 66, 0.05);
}

.bst-biblical-hero {
    padding: clamp(20px, 3vw, 30px);
    border-top: 5px solid #8b7355;
    background: linear-gradient(135deg, var(--preview-surface) 0%, #f7f1ea 100%);
}

.bst-biblical-kicker,
.bst-biblical-label {
    margin: 0 0 8px;
    color: #7d6647;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bst-biblical-hero h3,
.bst-biblical-panel h3,
.bst-biblical-question h3 {
    margin: 0 0 10px;
    color: var(--preview-ink);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.18;
}

.bst-biblical-hero p,
.bst-biblical-panel p,
.bst-biblical-question p {
    margin: 0;
    color: #4d4458;
    font-size: 1rem;
    line-height: 1.75;
}

.bst-biblical-panel,
.bst-biblical-question {
    padding: clamp(18px, 2.5vw, 24px);
}

.bst-biblical-panel {
    border-left: 4px solid #8b7355;
}

.bst-biblical-panel.is-gold {
    border-left-color: #c9a84c;
}

.bst-biblical-panel.is-teal {
    border-left-color: var(--preview-teal);
}

.bst-biblical-panel.is-plum {
    border-left-color: #4a3a8a;
}

.bst-biblical-panel p + p,
.bst-biblical-question p + p {
    margin-top: 12px;
}

.bst-biblical-quote {
    margin: 14px 0 0;
    padding: 14px 16px;
    border-left: 4px solid #c9a84c;
    border-radius: 0 8px 8px 0;
    background: #fff8e8;
    color: #4d4458;
    font-style: italic;
    line-height: 1.7;
}

.bst-biblical-question {
    background: linear-gradient(135deg, var(--preview-surface) 0%, #f4f0fa 100%);
}

.bst-perspective-map {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 4px 0 12px;
}

.bst-perspective-hero,
.bst-perspective-panel,
.bst-perspective-final {
    border: 1px solid var(--preview-line);
    border-radius: 8px;
    background: var(--preview-surface);
    box-shadow: 0 10px 24px rgba(54, 39, 66, 0.05);
}

.bst-perspective-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    gap: 22px;
    align-items: stretch;
    padding: clamp(20px, 3vw, 30px);
    border-top: 5px solid #4a6fa5;
    background: linear-gradient(135deg, var(--preview-surface) 0%, #eef4fb 100%);
}

.bst-perspective-kicker,
.bst-perspective-label {
    margin: 0 0 8px;
    color: #315d8d;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bst-perspective-hero h3,
.bst-perspective-article h3,
.bst-perspective-panel h3,
.bst-perspective-final h3 {
    margin: 0 0 10px;
    color: var(--preview-ink);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.18;
}

.bst-perspective-hero p,
.bst-perspective-article p,
.bst-perspective-panel p,
.bst-perspective-final p {
    margin: 0;
    color: #4d4458;
    font-size: 1rem;
    line-height: 1.7;
}

.bst-perspective-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 9px;
    padding: 18px;
    border: 1px solid rgba(74, 111, 165, 0.2);
    border-radius: 8px;
    background: #f3f7fc;
}

.bst-perspective-side strong {
    color: var(--preview-ink);
    font-size: 1rem;
    line-height: 1.45;
}

.bst-perspective-side span {
    color: var(--preview-muted);
    font-size: 0.86rem;
    line-height: 1.55;
}

.bst-perspective-articles {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bst-perspective-article,
.bst-perspective-panel,
.bst-perspective-final {
    padding: clamp(18px, 2.5vw, 24px);
}

.bst-perspective-article {
    display: grid;
    grid-template-columns: minmax(220px, 30%) minmax(0, 1fr);
    gap: clamp(18px, 3vw, 28px);
    align-items: start;
    border: 1px solid var(--preview-line);
    border-radius: 8px;
    background: var(--preview-surface);
    box-shadow: 0 10px 24px rgba(54, 39, 66, 0.05);
    border-left: 5px solid #4a6fa5;
}

.bst-perspective-article.is-green {
    border-left-color: #2d6a4f;
}

.bst-perspective-article.is-teal {
    border-left-color: var(--preview-teal);
}

.bst-perspective-article.is-reverse {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 30%);
}

.bst-perspective-article.is-reverse .bst-perspective-portrait {
    order: 2;
}

.bst-perspective-portrait {
    margin: 0;
}

.bst-perspective-portrait img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
    border: 1px solid var(--preview-line);
    border-radius: 8px;
    background: #f7f1ea;
}

.bst-perspective-portrait figcaption {
    margin-top: 8px;
    color: var(--preview-muted);
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.35;
}

.bst-perspective-tradition {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(74, 111, 165, 0.12);
    color: #315d8d;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.bst-perspective-article p + p,
.bst-perspective-panel p + p,
.bst-perspective-final p + p {
    margin-top: 12px;
}

.bst-perspective-panel {
    border-left: 5px solid #8a3a3a;
    background: var(--preview-surface);
}

.bst-perspective-final {
    background: linear-gradient(135deg, var(--preview-surface) 0%, #f4f0fa 100%);
}

.bst-personal-reflection-map {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 4px 0 12px;
}

.bst-personal-reflection-hero,
.bst-personal-reflection-question {
    border: 1px solid var(--preview-line);
    border-radius: 8px;
    background: var(--preview-surface);
    box-shadow: 0 10px 24px rgba(54, 39, 66, 0.05);
}

.bst-personal-reflection-hero {
    padding: clamp(20px, 3vw, 30px);
    border-top: 5px solid var(--preview-orange);
    background: linear-gradient(135deg, var(--preview-surface) 0%, #fff4ec 100%);
}

.bst-personal-reflection-kicker {
    margin: 0 0 8px;
    color: var(--preview-orange-dark);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.bst-personal-reflection-hero h3 {
    margin: 0 0 10px;
    color: var(--preview-ink);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.18;
}

.bst-personal-reflection-hero p {
    margin: 0;
    color: #4d4458;
    font-size: 1rem;
    line-height: 1.75;
}

/* ─── Activity v2 redesign ──────────────────────────────────────────────── */
.bst-actv2 {
    background: #fff;
    border: 1px solid rgba(26,39,68,.1);
    border-left: 4px solid var(--bst-orange, #c9622f);
    border-radius: 12px;
    padding: 26px 26px 20px;
    box-shadow: 0 2px 14px rgba(26,39,68,.07);
    margin-bottom: 2rem;
}

/* Header */
.bst-actv2-head {
    display: grid;
    grid-template-columns: 3.25rem 1fr;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(26,39,68,.08);
}

.bst-actv2-icon-wrap { flex-shrink: 0; }

.bst-actv2-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: rgba(201,98,47,.12);
    color: var(--bst-orange, #c9622f);
}

.bst-actv2-icon svg { width: 1.4rem; height: 1.4rem; }

.bst-actv2-kicker {
    font-size: .7rem;
    font-weight: 700;
    color: var(--bst-orange, #c9622f);
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: .2rem;
}

.bst-actv2-title {
    margin: 0 0 .3rem !important;
    font-size: clamp(1.25rem, 2.5vw, 1.65rem) !important;
    font-weight: 800 !important;
    color: #1a2744 !important;
    line-height: 1.15 !important;
}

.bst-actv2-time {
    display: flex;
    align-items: center;
    gap: .3rem;
    margin: 0 !important;
    color: #6b7a99;
    font-size: .83rem;
}

.bst-actv2-inline-icon {
    width: .9em;
    height: .9em;
    flex-shrink: 0;
    vertical-align: middle;
}

/* Resources row */
.bst-actv2-tools {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 16px;
}

.bst-actv2-tools > span {
    color: #6b7a99;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Body wrapper */
.bst-actv2-body { display: flex; flex-direction: column; gap: 10px; }

/* Cards */
.bst-actv2-card {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    gap: .75rem;
    align-items: flex-start;
    padding: 14px 16px;
    border-radius: 10px;
}

.bst-actv2-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 1px;
}

.bst-actv2-card-icon svg { width: 1.15rem; height: 1.15rem; }

.bst-actv2-card-label {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    margin-bottom: .3rem;
}

.bst-actv2-card-text p {
    margin: 0 !important;
    font-size: .94rem;
    line-height: 1.7;
    color: #2a2237;
}

/* Your task – warm salmon */
.bst-actv2-task { background: #fef2eb; }
.bst-actv2-task-icon { background: rgba(201,98,47,.15); color: #c9622f; }
.bst-actv2-task .bst-actv2-card-label { color: #c9622f; }

/* Consider this – soft blue */
.bst-actv2-consider { background: #edf3fb; }
.bst-actv2-consider-icon { background: rgba(63,115,184,.12); color: #3f73b8; }
.bst-actv2-consider .bst-actv2-card-label { color: #3f73b8; }

/* Your response */
.bst-actv2-response {
    padding: 16px 18px;
    background: #fff;
    border: 1px solid rgba(26,39,68,.12);
    border-radius: 10px;
}

.bst-actv2-response-head {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: 10px;
}

.bst-actv2-response-icon {
    display: flex;
    align-items: center;
    color: var(--bst-orange, #c9622f);
    flex-shrink: 0;
}

.bst-actv2-response-icon svg { width: 1.05rem; height: 1.05rem; }

.bst-actv2-response-head strong {
    font-size: .95rem;
    color: #1a2744;
    font-weight: 700;
}

.bst-actv2-textarea {
    width: 100% !important;
    border: 1.5px solid rgba(201,98,47,.4) !important;
    border-radius: 7px !important;
    padding: 10px 12px !important;
    font-size: .92rem !important;
    line-height: 1.65 !important;
    resize: vertical;
    box-sizing: border-box !important;
    background: #fff !important;
    color: #2a2237 !important;
}

.bst-actv2-textarea:focus {
    border-color: var(--bst-orange, #c9622f) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(201,98,47,.1) !important;
}

.bst-actv2-hint {
    display: flex;
    align-items: center;
    gap: .3rem;
    margin: 8px 0 0 !important;
    font-size: .79rem;
    color: #6b7a99;
}

/* Reveal */
.bst-actv2-reveal {
    border: 1px solid rgba(26,39,68,.12);
    border-radius: 10px;
    overflow: hidden;
}

.bst-actv2-reveal-summary {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: 12px 16px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    font-weight: 600;
    font-size: .88rem;
    color: #1a2744;
    background: #f8f9fb;
}

.bst-actv2-reveal-summary::-webkit-details-marker { display: none; }

.bst-actv2-reveal-icon {
    display: flex;
    align-items: center;
    color: #6b7a99;
    flex-shrink: 0;
}

.bst-actv2-reveal-icon svg { width: 1rem; height: 1rem; }

.bst-actv2-reveal-summary > span:nth-child(2) { flex: 1; }

.bst-actv2-chevron {
    width: 1rem;
    height: 1rem;
    color: #6b7a99;
    transition: transform .2s ease;
    flex-shrink: 0;
}

details.bst-actv2-reveal[open] .bst-actv2-chevron { transform: rotate(180deg); }

.bst-actv2-reveal-body {
    padding: 14px 18px;
    border-top: 1px solid rgba(26,39,68,.08);
    font-size: .92rem;
    line-height: 1.7;
    color: #2a2237;
    background: #fff;
}

.bst-actv2-reveal-body p { margin: 0 0 .75em !important; }
.bst-actv2-reveal-body p:last-child { margin-bottom: 0 !important; }

/* Footer */
.bst-actv2-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    margin-top: 6px;
    padding-top: 6px;
}

.bst-actv2-save-indicator {
    flex: 1;
    font-size: .82rem;
    color: #2d6a4f;
    margin: 0 !important;
}

.bst-actv2-save-btn {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .5rem 1.2rem;
    background: var(--bst-orange, #c9622f);
    color: #fff !important;
    border: none;
    border-radius: 8px;
    font-size: .86rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, box-shadow .15s;
    white-space: nowrap;
}

.bst-actv2-save-btn svg { width: 1rem; height: 1rem; flex-shrink: 0; }

.bst-actv2-save-btn:hover {
    background: #b5541f;
    box-shadow: 0 2px 8px rgba(201,98,47,.3);
}

@media (max-width: 560px) {
    .bst-actv2 { padding: 20px 16px 16px; border-left-width: 3px; }
    .bst-actv2-head { grid-template-columns: 2.75rem 1fr; gap: .65rem; }
    .bst-actv2-icon { width: 2.6rem; height: 2.6rem; }
    .bst-actv2-card { grid-template-columns: 2.1rem 1fr; }
    .bst-actv2-card-icon { width: 2.1rem; height: 2.1rem; }
}

.bst-personal-reflection-hero p + p {
    margin-top: 12px;
}

.bst-personal-reflection-question {
    padding: clamp(16px, 2.2vw, 22px);
    border-left: 4px solid var(--preview-orange);
}

.bst-personal-reflection-question h4 {
    margin: 0 0 10px;
    color: var(--preview-ink);
    font-size: 1rem;
    line-height: 1.35;
}

.bst-personal-reflection-question .response-wrap {
    margin-top: 12px;
}

@media (max-width: 900px) {
    .bst-argument-hero,
    .bst-argument-flow,
    .bst-argument-grid,
    .bst-understanding-hero,
    .bst-understanding-grid,
    .bst-understanding-terms,
    .bst-understanding-misreads,
    .bst-history-hero,
    .bst-history-thinkers,
    .bst-evidence-map,
    .bst-evidence-hero,
    .bst-evidence-summary,
    .bst-evidence-grid,
    .bst-objection-hero,
    .bst-objection-pair,
    .bst-perspective-hero,
    .bst-perspective-article,
    .bst-perspective-article.is-reverse {
        grid-template-columns: 1fr;
    }

    .bst-perspective-article.is-reverse .bst-perspective-portrait {
        order: 0;
    }
}


/* ── Classic Texts Library (apologetics drawer tab) ─────────────────────── */
.bst-library-back,
.bst-library-toc-btn,
.bst-library-prev,
.bst-library-next {
	border: 1px solid #d9e1eb;
	background: #fff;
	border-radius: 7px;
	padding: 5px 12px;
	font-size: 0.78rem;
	cursor: pointer;
	color: #44546a;
}
.bst-library-back { margin-bottom: 10px; }
.bst-library-back:hover,
.bst-library-toc-btn:hover,
.bst-library-prev:hover:not(:disabled),
.bst-library-next:hover:not(:disabled) { border-color: #44546a; background: #f5f7fb; }
.bst-library-prev:disabled,
.bst-library-next:disabled { opacity: 0.4; cursor: not-allowed; }
.bst-library-book,
.bst-library-hit { cursor: pointer; }
.bst-library-book:hover,
.bst-library-hit:hover { background: #f5f7fb; }
.bst-library-home {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.bst-library-home-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 6px 14px;
	align-items: center;
	padding: 14px 16px;
	border: 1px solid rgba(58, 95, 114, .14);
	border-left: 5px solid #376b95;
	border-radius: 8px;
	background: linear-gradient(135deg, #fff 0%, #f4f8fb 100%);
	box-shadow: 0 6px 18px rgba(42, 34, 55, .04);
}
.bst-library-home-kicker {
	color: #376b95;
	font-size: .74rem;
	font-weight: 850;
	letter-spacing: .1em;
	line-height: 1;
	text-transform: uppercase;
}
.bst-library-home-intro p {
	grid-column: 1;
	margin: 0;
	color: #40566d;
	font-size: .86rem;
	line-height: 1.55;
}
.bst-library-home-count {
	grid-column: 2;
	grid-row: 1 / span 2;
	justify-self: end;
	padding: 6px 10px;
	border: 1px solid #c5d8e7;
	border-radius: 999px;
	background: #edf5fb;
	color: #376b95;
	font-size: .68rem;
	font-weight: 850;
	letter-spacing: .08em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}
.bst-library-book-list {
	gap: 10px;
}
.bst-library-group-heading {
	margin: 10px 0 0;
}
.bst-library-toc {
	padding: 2px 0 16px;
}
.bst-library-toc .bst-commentary-source {
	margin: 12px 0 14px;
	padding: 12px 14px;
	border: 1px solid rgba(58, 95, 114, .14);
	border-left: 4px solid var(--bst-teal, #3a5f72);
	border-radius: 8px;
	background: linear-gradient(135deg, #fff 0%, #f4f8fb 100%);
	color: var(--bst-teal, #3a5f72);
}
.bst-library-toc-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}
.bst-library-toc-list li { margin: 0; }
.bst-library-toc-item {
	position: relative;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	width: 100%;
	padding: 12px 14px 12px 12px;
	border: 1px solid rgba(58, 95, 114, .14);
	border-left: 4px solid #8a5d2c;
	border-radius: 8px;
	background: #fff;
	color: #2a3a4d;
	text-align: left;
	cursor: pointer;
	box-shadow: 0 3px 10px rgba(42, 34, 55, .04);
	transition: background .15s, border-color .15s, box-shadow .15s, transform .15s;
}
.bst-library-toc-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid #dfc7aa;
	border-radius: 8px;
	background: #f8f0e6;
	color: #8a5d2c;
	font-size: .78rem;
	font-weight: 800;
	line-height: 1;
}
.bst-library-toc-title {
	min-width: 0;
	color: #32475d;
	font-size: .92rem;
	font-weight: 750;
	letter-spacing: .02em;
	line-height: 1.35;
	text-transform: none;
}
.bst-library-toc-subtitle {
	display: block;
	color: #63778d;
	font-size: .78rem;
	font-weight: 500;
	letter-spacing: .01em;
	line-height: 1.3;
	margin-top: 2px;
	text-transform: none;
}
.bst-library-mins {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 58px;
	padding: 5px 8px;
	border: 1px solid #d9e4ee;
	border-radius: 999px;
	background: #f5f8fb;
	color: #63778d;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}
.bst-library-toc-item:hover,
.bst-library-toc-item:focus-visible {
	background: #fbf7f1;
	border-color: #d7b78e;
	border-left-color: #8a5d2c;
	box-shadow: 0 8px 20px rgba(42, 34, 55, .08);
	color: #2a3a4d;
	outline: none;
	transform: translateY(-1px);
}
.bst-library-toc-item:hover .bst-library-toc-title,
.bst-library-toc-item:focus-visible .bst-library-toc-title {
	color: #25384d;
}
.bst-library-toc-item:hover .bst-library-toc-num,
.bst-library-toc-item:focus-visible .bst-library-toc-num {
	background: #8a5d2c;
	border-color: #8a5d2c;
	color: #fff;
}
.bst-library-toc-item:active {
	background: #f8f0e6;
	border-color: #8a5d2c;
	color: #25384d;
	transform: translateY(0);
}
.bst-library-toc-item:active .bst-library-toc-title,
.bst-library-toc-item:active .bst-library-mins {
	color: #25384d;
}
@media (max-width: 560px) {
	.bst-library-toc-item {
		grid-template-columns: 36px minmax(0, 1fr);
	}
	.bst-library-mins {
		grid-column: 2;
		justify-self: start;
	}
}
.bst-library-nav-row { display: flex; justify-content: space-between; gap: 8px; margin: 12px 0; }
.bst-library-scroll-top {
	font-size: .75rem;
	color: #376b95;
	background: transparent;
	border: 1px solid #c8d8e8;
}
.bst-library-reader {
	max-width: none;
}
.bst-library-section-title {
	margin: 10px 0 8px;
	color: #25384d;
	font-size: 1.2rem;
	line-height: 1.35;
}
.bst-library-text {
	width: 100%;
	max-width: none;
	margin: 14px 0;
	padding: clamp(18px, 3vw, 30px);
	border: 1px solid rgba(58, 95, 114, .14);
	border-left: 5px solid #376b95;
	border-radius: 8px;
	background: #fff;
	color: #33465a;
	font-size: 1rem;
	line-height: 1.82;
	box-shadow: 0 12px 30px rgba(42, 34, 55, .06);
}
.bst-library-text p {
	max-width: none;
	margin: 0 0 1.05em;
}
.bst-library-text p:last-child {
	margin-bottom: 0;
}
.bst-library-subheading {
	margin: 1.25rem 0 .8rem;
	color: #25384d;
	font-size: .88rem;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.35;
	text-transform: uppercase;
}
.bst-library-fragment {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	margin: 0 0 14px;
	padding: 14px 16px;
	border: 1px solid #dfe8f1;
	border-radius: 8px;
	background: #f8fbfd;
}
.bst-library-fragment-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid #b9d4e7;
	border-radius: 8px;
	background: #edf5fb;
	color: #376b95;
	font-size: .78rem;
	font-weight: 800;
	line-height: 1;
}
.bst-library-fragment p {
	margin: 0;
}
.bst-library-lead {
	margin: 0 0 18px;
	padding: 16px 18px;
	border: 1px solid #dfe8f1;
	border-left: 4px solid #376b95;
	border-radius: 8px;
	background: #f8fbfd;
}
.bst-library-lead p:last-child {
	margin-bottom: 0;
}
.bst-library-argument {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	margin: 0 0 14px;
	padding: 16px 18px;
	border: 1px solid #e3e8ee;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 16px rgba(42, 34, 55, .04);
}
.bst-library-argument-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid #b9d4e7;
	border-radius: 8px;
	background: #edf5fb;
	color: #376b95;
	font-size: .78rem;
	font-weight: 850;
	line-height: 1;
}
.bst-library-argument-title {
	margin: 0 0 .65rem;
	color: #25384d;
	font-size: .96rem;
	font-weight: 800;
	line-height: 1.35;
}
.bst-library-argument p:last-child {
	margin-bottom: 0;
}

/* ── Chapter synopsis (Darwin em-dash topic lists) ───────────── */
.bst-library-synopsis {
	margin: 0 0 1.25rem;
	padding: 12px 16px;
	border: 1px solid #dfe8f1;
	border-radius: 7px;
	background: #f5f8fb;
}
.bst-library-synopsis-label {
	display: block;
	margin-bottom: .5rem;
	color: #3a5a78;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.bst-library-synopsis ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.bst-library-synopsis li {
	padding: 3px 10px;
	border: 1px solid #c8d8e8;
	border-radius: 999px;
	background: #fff;
	color: #2a3a4d;
	font-size: .78rem;
	font-weight: 500;
	line-height: 1.4;
	transition: background .12s, border-color .12s;
}
.bst-library-synopsis-linked:hover {
	background: #e8f1f8;
	border-color: #376b95;
	color: #1a3a58;
}
.bst-lib-sh-back {
	display: inline-block;
	margin-left: 10px;
	padding: 1px 8px;
	border: 1px solid #c8d8e8;
	border-radius: 999px;
	background: transparent;
	color: #376b95;
	font-size: .68rem;
	font-weight: 600;
	cursor: pointer;
	vertical-align: middle;
	transition: background .12s, border-color .12s;
}
.bst-lib-sh-back:hover {
	background: #e8f1f8;
	border-color: #376b95;
}

/* ── Paley Evidences footnotes ───────────────────────────────── */
.bst-paley-fn-ref {
	font-size: .65em;
	font-weight: 700;
	color: #376b95;
	vertical-align: super;
	line-height: 0;
}
.bst-paley-footnotes {
	margin-top: 1.5rem;
	padding: 14px 16px;
	border: 1px solid #dfe8f1;
	border-left: 3px solid #8aaccb;
	border-radius: 7px;
	background: #f8fbfd;
}
.bst-paley-fn-heading {
	margin: 0 0 .75rem;
	color: #3a5a78;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.bst-paley-fn {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 8px;
	align-items: start;
	margin: 0 0 8px;
}
.bst-paley-fn:last-child { margin-bottom: 0; }
.bst-paley-fn-num {
	color: #376b95;
	font-size: .75rem;
	font-weight: 800;
	line-height: 1.6;
}
.bst-paley-fn p {
	margin: 0;
	color: #445566;
	font-size: .8rem;
	font-style: italic;
	line-height: 1.6;
}

/* ── Aquinas / Summa Theologica reader ───────────────────────── */
.bst-aquinas-prose p {
	margin: 0 0 .85em;
	color: #2e3d50;
	font-size: .9rem;
	line-height: 1.7;
}
.bst-aquinas-prose p:last-child { margin-bottom: 0; }

.bst-aquinas-article {
	margin: 1.5rem 0 .5rem;
	padding-top: .75rem;
	border-top: 2px solid #e8edf3;
}
.bst-aquinas-article-header {
	margin: 0 0 .25rem;
	color: #25384d;
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.bst-aquinas-article-ref {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 7px;
	border: 1px solid #d0dce8;
	border-radius: 4px;
	background: #f0f5fa;
	color: #5a7590;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .04em;
	vertical-align: middle;
}
.bst-aquinas-question {
	margin: .3rem 0 1rem;
	color: #1e2e3e;
	font-size: .96rem;
	font-style: italic;
	font-weight: 650;
	line-height: 1.45;
}

.bst-aquinas-objection {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	margin: 0 0 10px;
	padding: 12px 14px;
	border: 1px solid #ecddd0;
	border-left: 3px solid #b07840;
	border-radius: 7px;
	background: #fdf8f3;
}
.bst-aquinas-obj-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #b07840;
	color: #fff;
	font-size: .72rem;
	font-weight: 800;
	line-height: 1;
}
.bst-aquinas-obj-label {
	margin: 0 0 .3em;
	color: #7a4f20;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.bst-aquinas-obj-body p {
	margin: 0 0 .5em;
	color: #3a2e22;
	font-size: .88rem;
	line-height: 1.65;
}
.bst-aquinas-obj-body p:last-child { margin-bottom: 0; }

.bst-aquinas-contrary {
	margin: 12px 0;
	padding: 12px 16px;
	border: 1px solid #c8d8e8;
	border-left: 3px solid #376b95;
	border-radius: 7px;
	background: #f3f8fc;
}
.bst-aquinas-contrary-label {
	display: block;
	margin-bottom: .35em;
	color: #255070;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.bst-aquinas-contrary p {
	margin: 0 0 .5em;
	color: #243444;
	font-size: .88rem;
	font-style: italic;
	line-height: 1.65;
}
.bst-aquinas-contrary p:last-child { margin-bottom: 0; }

.bst-aquinas-answer {
	margin: 12px 0;
	padding: 14px 16px;
	border: 1px solid #c2d8c0;
	border-left: 3px solid #3a7a50;
	border-radius: 7px;
	background: #f4faf5;
}
.bst-aquinas-answer-label {
	display: block;
	margin-bottom: .35em;
	color: #245a35;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.bst-aquinas-answer p {
	margin: 0 0 .5em;
	color: #1e3028;
	font-size: .88rem;
	line-height: 1.7;
}
.bst-aquinas-answer p:last-child { margin-bottom: 0; }

.bst-aquinas-reply {
	margin: 0 0 8px;
	padding: 10px 14px;
	border: 1px solid #e2e8ee;
	border-left: 3px solid #8aaccb;
	border-radius: 7px;
	background: #f8fbfd;
}
.bst-aquinas-reply-label {
	display: block;
	margin-bottom: .3em;
	color: #3a5a78;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.bst-aquinas-reply p {
	margin: 0 0 .4em;
	color: #2a3a4a;
	font-size: .87rem;
	line-height: 1.65;
}
.bst-aquinas-reply p:last-child { margin-bottom: 0; }

/* ── Hume reader (Enquiry / Dialogues) ───────────────────────── */
.bst-hume-heading {
	margin: 1.6rem 0 .6rem;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #7a6a55;
	border-bottom: 1px solid #e8ddd0;
	padding-bottom: .35rem;
}

.bst-hume-para {
	display: flex;
	gap: .9rem;
	align-items: baseline;
	margin: .85rem 0;
}
.bst-hume-para-num {
	flex-shrink: 0;
	width: 1.6rem;
	font-size: .68rem;
	font-weight: 700;
	color: #b09a82;
	text-align: right;
	padding-top: .15em;
	user-select: none;
}
.bst-hume-para p {
	margin: 0;
	flex: 1;
	font-size: .88rem;
	line-height: 1.72;
	color: #2e3d50;
}

.bst-hume-fn {
	display: flex;
	gap: .6rem;
	align-items: baseline;
	margin: .5rem 0 .5rem 1.5rem;
	padding: .5rem .75rem;
	background: #f5f2ee;
	border-left: 3px solid #c9b99a;
	border-radius: 0 4px 4px 0;
}
.bst-hume-fn-num {
	flex-shrink: 0;
	font-size: .72rem;
	font-weight: 700;
	color: #8a7560;
}
.bst-hume-fn-text {
	font-size: .78rem;
	line-height: 1.6;
	color: #4a5568;
	font-style: italic;
}

/* ── Play / verse drama reader (Nathan the Wise etc.) ──────────── */
.bst-play-act {
	margin: 2rem 0 .5rem;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #445566;
	text-align: center;
	border-top: 2px solid #d5cfc8;
	padding-top: 1rem;
}

.bst-play-scene {
	margin: .6rem 0 1.1rem;
	font-size: .8rem;
	font-style: italic;
	color: #6a7a8a;
	text-align: center;
}

.bst-play-speech {
	display: grid;
	grid-template-columns: 6rem 1fr;
	gap: .25rem .9rem;
	margin: .7rem 0;
	align-items: baseline;
}
.bst-play-speaker {
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #8a6a44;
	text-align: right;
	padding-top: .18em;
	line-height: 1.6;
}
.bst-play-speech p {
	margin: 0;
	font-size: .88rem;
	line-height: 1.75;
	color: #2e3d50;
}

.bst-play-stage {
	margin: .4rem 0 .4rem 6.9rem;
	font-size: .8rem;
	font-style: italic;
	color: #7a8a9a;
}

.bst-play-prose {
	font-size: .88rem;
	line-height: 1.72;
	color: #2e3d50;
	margin: .6rem 0 .6rem 6.9rem;
}

/* ============================================================================
   Block composer blocks (authored in course_section_editor.php)
   Namespaced, self-contained, themed with the --bst tokens. Loaded both on the
   live lesson and inside the editor's live-preview iframe so the two match.
   ========================================================================== */
.bst-blocks { display: flex; flex-wrap: wrap; gap: 20px; align-items: stretch; }
.bst-col { flex: 1 1 100%; min-width: 0; }
.bst-col.is-half  { flex-basis: calc(50% - 10px); }
.bst-col.is-third { flex-basis: calc(33.333% - 13.34px); }
.bst-col > .bst-block { margin: 0; height: 100%; box-sizing: border-box; }
@media (max-width: 640px) {
	.bst-col.is-half,
	.bst-col.is-third { flex-basis: 100%; }
}

/* Hero banner */
.bst-block-hero {
	border: 1px solid var(--preview-line, #d8d0c8);
	border-top: 5px solid var(--bst-teal, #3a5f72);
	border-radius: 10px;
	background: linear-gradient(135deg, var(--preview-surface, #fffdf9) 0%, #eef4f6 100%);
	padding: clamp(20px, 3vw, 32px);
}
.bst-block-hero-kicker {
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .72rem;
	font-weight: 700;
	color: var(--bst-teal, #3a5f72);
	margin-bottom: .5rem;
}
.bst-block-hero-heading {
	font-size: clamp(1.5rem, 3vw, 2rem);
	line-height: 1.15;
	margin: 0 0 .6rem;
	color: var(--bst-ink, #2a2237);
}
.bst-section-body .bst-block-hero-heading { margin-top: 0; }
.bst-block-hero p { color: var(--bst-body, #3a3340); line-height: 1.6; margin: 0 0 .6rem; }
.bst-block-hero-quote {
	margin: 1rem 0 0;
	padding: .85rem 1.1rem;
	border-left: 3px solid var(--bst-gold, #c07b2a);
	background: rgba(192, 123, 42, 0.06);
	font-style: italic;
}
.bst-block-hero-quote p { margin: 0 0 .3rem; }
.bst-block-hero-quote cite { font-style: normal; font-weight: 700; color: var(--bst-gold, #c07b2a); font-size: .85rem; }

/* Hero / image / quote — 3-panel banner */
.bst-block-hmq {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
	background: linear-gradient(135deg, var(--preview-surface, #fffdf9) 0%, #eef4f6 100%);
	border: 1px solid var(--preview-line, #d8d0c8);
	border-top: 4px solid var(--bst-teal, #3a5f72);
	border-radius: 10px;
	padding: clamp(1.5rem, 3vw, 2.5rem);
}
.bst-hmq-kicker {
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .72rem;
	font-weight: 700;
	color: var(--bst-teal, #3a5f72);
	margin-bottom: .4rem;
}
.bst-hmq-heading {
	font-size: clamp(1.15rem, 2.5vw, 1.5rem);
	line-height: 1.2;
	margin: 0 0 .75rem;
	color: var(--bst-ink, #2a2237);
}
.bst-hmq-body p {
	color: var(--bst-body, #3a3340);
	line-height: 1.65;
	margin: 0 0 .6rem;
	font-size: .95rem;
}
.bst-hmq-body p:last-child { margin-bottom: 0; }
.bst-hmq-image {
	width: clamp(100px, 14vw, 175px);
	flex-shrink: 0;
	opacity: .88;
}
.bst-hmq-image img {
	width: 100%;
	display: block;
	border-radius: 4px;
}
.bst-hmq-quote {
	margin: 0;
	padding: .5rem 0 .5rem 1.5rem;
	border-left: none;
	position: relative;
}
.bst-hmq-quote::before {
	content: '\201C';
	position: absolute;
	top: -.75rem;
	left: -.1rem;
	font-size: 4.5rem;
	line-height: 1;
	color: var(--bst-gold, #c07b2a);
	font-family: Georgia, serif;
	opacity: .75;
}
.bst-hmq-quote p {
	font-style: italic;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--bst-ink, #2a2237);
	margin: 0 0 .5rem;
}
.bst-hmq-quote cite {
	font-style: normal;
	font-weight: 700;
	font-size: .85rem;
	color: var(--bst-gold, #c07b2a);
}
@media (max-width: 720px) {
	.bst-block-hmq {
		grid-template-columns: 1fr;
	}
	.bst-hmq-image {
		width: clamp(80px, 30vw, 130px);
		margin: 0 auto;
	}
	.bst-hmq-quote { padding-left: 1.25rem; }
}

/* Callout (tone variants) */
.bst-block-callout {
	border: 1px solid var(--preview-line, #d8d0c8);
	border-left: 4px solid var(--bst-teal, #3a5f72);
	border-radius: 8px;
	background: #f3f7f9;
	padding: .95rem 1.15rem;
}
.bst-block-callout.is-key     { border-left-color: var(--bst-gold, #c07b2a);  background: #fdf6ec; }
.bst-block-callout.is-success { border-left-color: #2f6f4e;                   background: #eef6f1; }
.bst-block-callout.is-warning { border-left-color: #b5412e;                   background: #fbeee9; }
.bst-block-callout-heading { font-weight: 700; color: var(--bst-ink, #2a2237); margin-bottom: .35rem; }
.bst-block-callout-body p { margin: 0 0 .5rem; color: var(--bst-body, #3a3340); line-height: 1.6; }
.bst-block-callout-body p:last-child { margin-bottom: 0; }

/* Quote */
.bst-block-quote {
	margin: 0;
	padding: 1rem 1.3rem;
	border-left: 4px solid var(--bst-plum, #362742);
	background: rgba(54, 39, 66, 0.04);
	border-radius: 0 8px 8px 0;
}
.bst-block-quote p { font-size: 1.12rem; font-style: italic; line-height: 1.55; margin: 0 0 .4rem; color: var(--bst-ink, #2a2237); }
.bst-block-quote cite { font-style: normal; font-weight: 700; font-size: .85rem; color: var(--bst-plum, #362742); }

/* Accordion */
.bst-block-accordion { display: flex; flex-direction: column; gap: 8px; }
.bst-block-acc-item {
	border: 1px solid var(--preview-line, #d8d0c8);
	border-radius: 8px;
	background: var(--preview-surface, #fffdf9);
	overflow: hidden;
}
.bst-block-acc-item > summary {
	cursor: pointer;
	list-style: none;
	padding: .8rem 1rem;
	font-weight: 600;
	color: var(--bst-ink, #2a2237);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.bst-block-acc-item > summary::-webkit-details-marker { display: none; }
.bst-block-acc-item > summary::after { content: '+'; font-size: 1.2rem; color: var(--bst-teal, #3a5f72); }
.bst-block-acc-item[open] > summary::after { content: '\2212'; }
.bst-block-acc-item[open] > summary { border-bottom: 1px solid var(--preview-line, #d8d0c8); }
.bst-block-acc-body { padding: .85rem 1rem; }
.bst-block-acc-body p { margin: 0 0 .5rem; color: var(--bst-body, #3a3340); line-height: 1.6; }
.bst-block-acc-body p:last-child { margin-bottom: 0; }

/* Image */
.bst-block-image { margin: 0; }
.bst-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
	border: 1px solid var(--preview-line, #d8d0c8);
}
.bst-block-image.is-contain img { object-fit: contain; }
.bst-block-image figcaption {
	margin-top: .5rem;
	font-size: .82rem;
	color: var(--bst-muted, #7a7080);
	font-style: italic;
}

/* Person / profile card */
.bst-block-person {
	display: grid;
	grid-template-columns: minmax(160px, 230px) minmax(0, 1fr);
	gap: clamp(16px, 3vw, 28px);
	align-items: start;
	border: 1px solid var(--preview-line, #d8d0c8);
	border-left: 5px solid var(--bst-teal, #3a5f72);
	border-radius: 10px;
	background: var(--preview-surface, #fffdf9);
	padding: clamp(16px, 2.4vw, 26px);
}
.bst-block-person.is-image-right { grid-template-columns: minmax(0, 1fr) minmax(160px, 230px); }
.bst-block-person.is-image-right .bst-block-person-media { order: 2; }
.bst-block-person-media { margin: 0; }
.bst-block-person-media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
	border: 1px solid var(--preview-line, #d8d0c8);
}
.bst-block-person-media figcaption {
	margin-top: .45rem;
	font-size: .78rem;
	font-weight: 700;
	color: var(--bst-muted, #7a7080);
	line-height: 1.4;
}
.bst-block-person-badge {
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: .68rem;
	font-weight: 700;
	color: var(--bst-teal, #3a5f72);
	background: rgba(58, 95, 114, 0.1);
	padding: .25rem .6rem;
	border-radius: 999px;
	margin-bottom: .55rem;
}
.bst-block-person-name { margin: 0 0 .55rem; color: var(--bst-ink, #2a2237); font-size: clamp(1.2rem, 2vw, 1.5rem); }
.bst-block-person-copy p { margin: 0 0 .65rem; color: var(--bst-body, #3a3340); line-height: 1.65; }
.bst-block-person-copy p:last-child { margin-bottom: 0; }
@media (max-width: 640px) {
	.bst-block-person,
	.bst-block-person.is-image-right { grid-template-columns: 1fr; }
	.bst-block-person.is-image-right .bst-block-person-media { order: 0; }
}

/* Reusable two-panel presentation selected in the block editor. */
.bst-block-two-panel.is-objection-response {
	--bst-objection-accent: #d75a58;
	--bst-objection-soft: #fff4f4;
	--bst-objection-line: #f0dedd;
	padding: clamp(1.25rem, 2.8vw, 2rem);
	border: 1px solid #e8edf2;
	border-top: 3px solid var(--bst-objection-accent);
	border-radius: 16px;
	background: linear-gradient(135deg, #ffffff 0%, #fbfdff 100%);
	box-shadow: 0 12px 30px rgba(27, 45, 70, .07);
}
.bst-block-two-panel.is-objection-response.is-accent-blue {
	--bst-objection-accent: #3d7fd3;
	--bst-objection-soft: #f3f8ff;
	--bst-objection-line: #d8e8fb;
}
.bst-block-two-panel.is-objection-response.is-accent-violet {
	--bst-objection-accent: #8a63c8;
	--bst-objection-soft: #f8f4ff;
	--bst-objection-line: #e8ddfa;
}
.bst-block-two-panel.is-objection-response .bst-objection-kicker {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin: 0 0 .75rem;
	padding: .4rem .85rem;
	border-radius: 999px;
	background: var(--bst-objection-soft);
	color: var(--bst-objection-accent);
	font-size: .67rem;
	letter-spacing: .16em;
}
.bst-block-two-panel.is-objection-response .bst-block-hero-heading {
	margin-bottom: clamp(1.15rem, 2vw, 1.45rem);
	font-size: clamp(1.45rem, 2.5vw, 2rem);
	line-height: 1.15;
}
.bst-block-two-panel.is-objection-response .bst-objection-pair {
	gap: clamp(.9rem, 1.8vw, 1.2rem);
	margin-top: 0;
}
.bst-block-two-panel.is-objection-response .bst-objection-box {
	padding: clamp(1rem, 2.2vw, 1.35rem);
	border-color: var(--bst-objection-line);
	border-radius: 12px;
	background: linear-gradient(135deg, #fffafa 0%, var(--bst-objection-soft) 100%);
}
.bst-block-two-panel.is-objection-response .bst-objection-box.is-response {
	border-color: #cde9df;
	background: linear-gradient(135deg, #fbfffd 0%, #effaf5 100%);
}
.bst-block-two-panel.is-objection-response .bst-objection-box h4 {
	display: flex;
	align-items: center;
	gap: .7rem;
	margin-bottom: .8rem;
	font-size: 1rem;
}
.bst-block-two-panel.is-objection-response .bst-objection-box h4::before {
	content: "!";
	display: inline-grid;
	width: 1.8rem;
	height: 1.8rem;
	place-items: center;
	border-radius: 50%;
	background: #df625e;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1;
}
.bst-block-two-panel.is-objection-response .bst-objection-box.is-response h4::before {
	content: "✓";
	background: #43a987;
	font-size: 1rem;
}
.bst-block-two-panel.is-objection-response .bst-objection-box p {
	font-size: .93rem;
	line-height: 1.68;
}
.bst-block-two-panel.is-objection-response .bst-objection-takeaway {
	margin-top: clamp(1rem, 2vw, 1.35rem);
	padding: 1rem 1.15rem;
	border: 1px solid #dce8f0;
	border-left: 4px solid #6a9fba;
	border-radius: 10px;
	background: #f5fafc;
}
@media (max-width: 640px) {
	.bst-block-two-panel.is-objection-response { padding: 1rem; }
}
