/*--------------------------------------------------------------
This is your custom stylesheet.

Add your own styles here to make theme updates easier.
To override any styles from other stylesheets, simply copy them into here and edit away.

Make sure to respect the media queries! Otherwise you may
accidentally add desktop styles to the mobile layout.
https://www.w3schools.com/css/css_rwd_mediaqueries.asp
--------------------------------------------------------------*/

:root {
	/* Page canvas: warm cream lightened halfway toward white (text contrast stays high). */
	--mb-page-bg: #fdfcf9;
	--mb-page-bg-rgb: 253, 252, 249;
	--mb-surface: #ffffff;
	--mb-surface-soft: #f5f0e8;
	--mb-ink: #1c2430;
	/* Secondary copy: topics, leads, meta — darker than before for readability. */
	--mb-muted: #3f4a56;
	--mb-border: #ddd5c9;
	--mb-accent: #990000;
	--mb-action: var(--mb-accent);
	--mb-action-hover: #7a0000;
	/* Matches .mb-lesson-topics__state “DONE” pill. */
	--mb-complete: #1b7f3a;
	--mb-complete-hover: #166832;
	--mb-complete-soft: #d8eedf;
	/* Selection / in-progress accent — distinct from complete (green) and action (red). */
	--mb-select: #9c4a1f;
	--mb-select-soft: #f3e6dc;
	--mb-glossary-tip: var(--mb-select);
	--mb-content-width: 68rem;
	--mb-content-gutter: 1.25rem;
	--mb-measure: 40rem;
	--mb-title-size: clamp(1.75rem, 3vw, 2.35rem);
	--mb-h2-size: 1.35rem;
	--mb-lead-size: 1.05rem;
}

/*
 * BuddyBoss / ReadyLaunch still ship blue (#385DFF / #4946fe) on :root.
 * Brand-primary button fills are computed on :root from that blue, so
 * overriding only --bb-rl-primary-color is not enough — re-set the brand
 * fill / hover / border tokens on html+body so member + Woo account
 * buttons match Pathways / courses (#990000).
 */
html,
body {
	--bb-body-background-color: var(--mb-page-bg);
	--bb-body-background-color-rgb: var(--mb-page-bg-rgb);
	--bb-footer-background: var(--mb-surface-soft);
	--bb-footer-widget-background: var(--mb-surface-soft);
	--bb-primary-color: var(--mb-accent);
	--bb-link-color: var(--mb-accent);
	--bb-rl-primary-color: var(--mb-accent);
	--bb-header-links-hover: var(--mb-accent);
	--bb-rl-secondary-text-color: var(--mb-muted);
	--bb-primary-button-background-regular: var(--mb-accent);
	--bb-primary-button-background-hover: var(--mb-action-hover);
	--bb-primary-button-border-regular: var(--mb-accent);
	--bb-primary-button-border-hover: var(--mb-action-hover);
	--bb-primary-button-text-regular: #ffffff;
	--bb-primary-button-text-hover: #ffffff;
	--bb-primary-button-focus-shadow: 0 0 0 2px rgba(153, 0, 0, 0.35);
	--bb-secondary-button-background-regular: var(--mb-accent);
	--bb-secondary-button-background-hover: var(--mb-action-hover);
	--bb-secondary-button-border-regular: var(--mb-accent);
	--bb-secondary-button-border-hover: var(--mb-action-hover);
	--bb-secondary-button-text-regular: #ffffff;
	--bb-secondary-button-text-hover: #ffffff;

	/* ReadyLaunch brand button / chip tokens (literal blues from RL theme color). */
	--bb-rl-background-brand-primary-color: var(--mb-accent);
	--bb-rl-background-brand-primary-hover-color: var(--mb-action-hover);
	--bb-rl-background-brand-secondary-color: #f5e0e0;
	--bb-rl-background-brand-secondary-hover-color: #ecd0d0;
	--bb-rl-background-brand-disabled-color: #c47a7a;
	--bb-rl-background-info-primary-color: var(--mb-accent);
	--bb-rl-background-info-primary-hover-color: var(--mb-action-hover);
	--bb-rl-border-brand-primary-color: var(--mb-action-hover);
	--bb-rl-border-brand-secondary-color: var(--mb-accent);
	--bb-rl-border-info-secondary-color: var(--mb-accent);
	--bb-rl-text-brand-primary-color: var(--mb-accent);
	--bb-rl-text-brand-secondary-color: var(--mb-action-hover);
	--bb-rl-icon-brand-primary-color: var(--mb-action-hover);
	--bb-rl-icon-brand-secondary-color: var(--mb-accent);
	--bb-rl-icon-brand-disabled-color: #c47a7a;
}

/*
 * Primary CTAs on account / member shells — catch ReadyLaunch submits and
 * brandFill buttons that still resolve blue via earlier :root tokens.
 * Skip WP admin-bar controls (.adminbar-button).
 */
body.bp-user input[type="submit"]:not(.adminbar-button),
body.bp-user button[type="submit"]:not(.adminbar-button),
body.bp-user .bb-rl-button--brandFill,
body.bp-user .bb-rl-button.bb-rl-button--brandFill,
body.bp-user #profile-group-edit-submit,
body.bp-user #submit,
body.settings input[type="submit"]:not(.adminbar-button),
body.settings button[type="submit"]:not(.adminbar-button) {
	background-color: var(--mb-accent) !important;
	border-color: var(--mb-accent) !important;
	color: #ffffff !important;
}

body.bp-user input[type="submit"]:not(.adminbar-button):hover,
body.bp-user input[type="submit"]:not(.adminbar-button):focus,
body.bp-user button[type="submit"]:not(.adminbar-button):hover,
body.bp-user button[type="submit"]:not(.adminbar-button):focus,
body.bp-user .bb-rl-button--brandFill:hover,
body.bp-user .bb-rl-button--brandFill:focus,
body.bp-user #profile-group-edit-submit:hover,
body.bp-user #profile-group-edit-submit:focus,
body.bp-user #submit:hover,
body.bp-user #submit:focus,
body.settings input[type="submit"]:not(.adminbar-button):hover,
body.settings input[type="submit"]:not(.adminbar-button):focus,
body.settings button[type="submit"]:not(.adminbar-button):hover,
body.settings button[type="submit"]:not(.adminbar-button):focus {
	background-color: var(--mb-action-hover) !important;
	border-color: var(--mb-action-hover) !important;
	color: #ffffff !important;
}

/*
 * Export Data: ReadyLaunch adds a checkmark background-image on
 * .bb-rl-account-settings-section input#submit, then a more specific
 * #account-data-export-form #submit rule resets padding without clearing
 * the icon — text sits under the glyph. Drop the icon here.
 */
body.export #account-data-export-form #submit {
	background-image: none !important;
	padding-left: var(--bb-rl-space-200, 1rem) !important;
	padding-right: var(--bb-rl-space-200, 1rem) !important;
}

/*
 * Safari often keeps the arrow cursor on buttons and other controls that
 * Chromium paints as a hand. Explicit pointer on interactive elements.
 */
a[href],
area[href],
button:not(:disabled):not([disabled]),
[role="button"]:not([aria-disabled="true"]):not([disabled]),
input[type="submit"]:not(:disabled):not([disabled]),
input[type="button"]:not(:disabled):not([disabled]),
input[type="reset"]:not(:disabled):not([disabled]),
input[type="image"]:not(:disabled):not([disabled]),
input[type="checkbox"]:not(:disabled):not([disabled]),
input[type="radio"]:not(:disabled):not([disabled]),
input[type="file"]:not(:disabled):not([disabled]),
label[for],
select:not(:disabled):not([disabled]),
summary,
.button:not(.disabled):not([disabled]):not([aria-disabled="true"]),
.bb-rl-button:not([disabled]):not([aria-disabled="true"]),
.woocommerce a.button,
.woocommerce button.button:not(:disabled),
.bb-rl-header .header-aside .user-wrap .user-link,
.site-header .header-aside .user-wrap .user-link {
	cursor: pointer;
}

.bb-rl-header .bb-rl-site-branding img,
.bb-rl-left-panel .mb-panel-logo img,
.site-header .site-branding img.bb-logo,
.buddypanel .site-branding img,
.buddypanel-site-icon img {
	max-height: 3.6rem;
	width: auto;
	height: auto;
}

/* Keep the wordmark in the header even when BuddyPanel also shows the logo. */
.site-header .buddypanel_logo_display_on {
	display: block;
}

/*--------------------------------------------------------------
 * Header: one navigation convention on both shells
 *
 * ReadyLaunch (.bb-rl-header) and the classic BuddyBoss header
 * (.site-header) share logo size, link typography, dropdown look and
 * the visitor utility block (Sign in + Start learning) that the child
 * theme prints next to the menu.
 *-------------------------------------------------------------*/

/*
 * Match classic /pathways/ rendered wordmark: 176×64 in a 76px bar.
 * Theme rules say max-height 76px + 10px pad (border-box), but the
 * classic shell actually paints ~64px tall / 176px wide. Use that size
 * so ReadyLaunch does not look larger than Pathways. Keep the mark
 * top-aligned (block flow), not flex-centered (+6px).
 */
#site-logo .site-title img.bb-logo,
.bb-rl-header .bb-rl-site-branding img,
.site-header .site-branding img.bb-logo,
.site-branding img.bb-logo {
	height: 3.6rem !important;
	max-height: 3.6rem !important;
	min-height: 0 !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: 16.5rem !important;
	padding: 0 !important;
	object-fit: contain;
	object-position: left center;
	display: block;
	box-sizing: border-box;
}

.bb-rl-header .bb-rl-site-branding .site-title,
.bb-rl-header .bb-rl-logo-wrap {
	line-height: 0;
	display: block;
	margin: 0;
	min-height: 0;
}

/*
 * ReadyLaunch header row: match the classic public shell on /pathways/.
 * Classic uses a centered max-width 1200px container — logo, links and
 * utility sit in that band, not flush to the viewport edges. ReadyLaunch's
 * default full-bleed + `justify-between` looks different; override both.
 */
.bb-rl-header {
	padding: 0 10px;
	min-height: 76px;
	height: 76px;
	box-sizing: border-box;
	/* ReadyLaunch paints a hairline the classic shell does not. */
	border-bottom: none;
	box-shadow: none;
}

.bb-rl-header .bb-rl-header-container {
	align-items: center;
	justify-content: flex-start !important;
	gap: 0;
	width: 100%;
	max-width: 1200px;
	min-height: 76px;
	height: 76px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
	box-sizing: border-box;
}

/* Classic .site-branding: padding-right 30px (not margin), height 76. */
.bb-rl-header .bb-rl-site-branding,
.site-header .site-branding {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	align-self: stretch;
	height: 76px;
	min-height: 76px;
	padding-right: 30px;
	margin-right: 0;
	box-sizing: border-box;
}

.bb-rl-header .bb-readylaunch-menu {
	display: flex;
	flex: 0 0 auto;
	justify-content: flex-start;
	align-self: stretch;
	align-items: stretch;
	width: auto;
	max-width: none;
	min-width: auto !important;
	gap: 0.15rem;
	margin: 0 !important;
	min-height: 76px;
	height: 76px;
}

/*
 * ReadyLaunch offsets the menu for a left panel on directory-style pages.
 * That push, plus min-width:0, collapses the links inside our 1200px bar.
 */
body.bb-readylaunch-template .bb-rl-header .bb-readylaunch-menu {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/*
 * Classic .primary-menu > li uses padding 0 5px and no margin.
 * ReadyLaunch ships margin-right: 16px which stretches the bar.
 */
.bb-rl-header .bb-readylaunch-menu > li {
	flex-shrink: 0;
	display: flex;
	align-items: stretch;
	margin: 0 !important;
	padding: 0 5px;
}

.bb-rl-header .mb-header-utility,
.bb-rl-header .header-aside {
	margin-left: auto;
	flex-shrink: 0;
	align-self: stretch;
	display: flex;
	align-items: center;
}

.bb-rl-header .header-aside .header-aside-inner {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	min-height: 76px;
}

/*
 * Classic header notification bell: use the ReadyLaunch glyph/color so
 * Pathways matches My courses (bb-icons-rl-bell-simple @ 24px, muted gray).
 */
.site-header .notification-link,
.bb-rl-header .notification-link {
	display: none !important;
}

.site-header .header-aside .notification-link .bb-icons-rl-bell-simple {
	font-size: 24px;
	line-height: 1;
	color: #6d6d6e;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.site-header .header-aside .notification-link:hover .bb-icons-rl-bell-simple,
.site-header .header-aside .notification-link:focus-visible .bb-icons-rl-bell-simple {
	color: var(--mb-ink, #1e2132);
}

/*
 * Signed-in name + avatar: one spacing model on both headers.
 * Classic BuddyBoss puts margin-right on .user-name; ReadyLaunch does not,
 * so the gap used to look wider on Pathways/home than on Courses/LMS.
 * Flex gap is the only gap; name/avatar margins stay zero.
 */
.bb-rl-header .header-aside .user-wrap .user-link,
.site-header .header-aside .user-wrap .user-link,
.site-header #header-aside .user-wrap .user-link {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	color: var(--mb-accent, #990000);
	text-decoration: none;
	/* Classic link itself is 400; weight lives on .user-name. */
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.24px;
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
}

body.bb-readylaunch-template .bb-rl-header .header-aside .user-wrap .user-link .user-name,
.bb-rl-header .header-aside .user-wrap .user-link .user-name,
.site-header .header-aside .user-wrap .user-link .user-name,
.site-header #header-aside .user-wrap .user-link .user-name {
	max-width: 12rem;
	margin: 0 !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 14px;
	font-weight: 600;
	color: var(--mb-accent, #990000) !important;
	line-height: 1.3;
	letter-spacing: -0.24px;
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
}

/*
 * Classic header hides the inline angle-down next to the signed-in name
 * (dropdown opens from the avatar/link). Keep RL identical so the name
 * does not look heavier or differently spaced than Pathways.
 */
.bb-rl-header .header-aside .user-wrap .user-link .bb-icon-angle-down {
	display: none !important;
}

/*
 * Signed-in header avatar: red person silhouette in a white circle
 * with a hairline red ring (replaces Gravatar / uploaded photo).
 */
.bb-rl-header .header-aside .user-wrap .user-link img.avatar,
.site-header .header-aside .user-wrap .user-link img.avatar,
.site-header #header-aside .user-wrap .user-link img.avatar {
	box-sizing: border-box;
	width: 36px !important;
	height: 36px !important;
	max-width: 36px;
	margin: 0 !important;
	padding-left: 36px;
	overflow: hidden;
	border: 1px solid var(--mb-accent, #990000);
	border-radius: 50%;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23990000'%3E%3Ccircle cx='12' cy='7.25' r='3.75'/%3E%3Cpath d='M5.2 20.5c0-3.85 3.05-7 6.8-7s6.8 3.15 6.8 7'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center 52%;
	background-size: 58% auto;
	object-fit: cover;
}

body.bb-readylaunch-template .bb-rl-header .header-aside .user-wrap .user-link:hover .user-name,
.bb-rl-header .header-aside .user-wrap .user-link:hover .user-name,
.bb-rl-header .header-aside .user-wrap .user-link:focus-visible .user-name,
.site-header .header-aside .user-wrap .user-link:hover .user-name,
.site-header .header-aside .user-wrap .user-link:focus-visible .user-name {
	color: var(--mb-action-hover, #7a0000) !important;
}

/* Keep the name visible on laptop widths; only tuck it away on small phones. */
@media (max-width: 600px) {
	.bb-rl-header .header-aside .user-wrap .user-link .user-name,
	.site-header .header-aside .user-wrap .user-link .user-name {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
}

.bb-rl-header .bb-readylaunch-menu > li > a,
.site-header .primary-menu > li > a {
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--mb-ink);
	padding-left: 0.65rem;
	padding-right: 0.65rem;
	/* Classic .primary-menu a — without this, RL labels paint ~4–6px wider. */
	letter-spacing: -0.24px;
}

/*
 * ReadyLaunch body uses InterText; classic header uses the BuddyBoss
 * system stack. Force the RL top bar onto that stack so label widths
 * match Pathways / How it works pixel-for-pixel.
 */
.bb-rl-header,
.bb-rl-header .bb-readylaunch-menu > li > a,
.bb-rl-header .header-aside .user-wrap .user-link,
.bb-rl-header .header-aside .user-wrap .user-link .user-name {
	font-family: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/*
 * Classic primary links: line-height 76px, transparent border-bottom,
 * current item paints the red border. Match that on ReadyLaunch so the
 * underline sits on the bar edge the same way as /pathways/.
 */
.bb-rl-header .bb-readylaunch-menu > li > a {
	display: flex;
	align-items: center;
	min-height: 76px;
	height: 76px;
	box-sizing: border-box;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	line-height: 76px;
	border-bottom: 1.5px solid transparent;
	background-color: transparent;
}

.bb-rl-header .bb-readylaunch-menu > li.menu-item-has-children > a {
	padding-right: 27px;
}

.bb-rl-header .bb-readylaunch-menu > li:hover > a,
.bb-rl-header .bb-readylaunch-menu > li.current-menu-item > a,
.bb-rl-header .bb-readylaunch-menu > li.current-menu-ancestor > a,
.site-header .primary-menu > li:hover > a,
.site-header .primary-menu > li.current-menu-item > a,
.site-header .primary-menu > li.current-menu-ancestor > a,
.site-header .primary-menu > li.current_page_item > a {
	color: var(--mb-accent);
	border-bottom-color: var(--mb-accent);
}

.bb-rl-header .bb-readylaunch-menu > li.current-menu-item > a,
.bb-rl-header .bb-readylaunch-menu > li.current-menu-ancestor > a {
	color: var(--mb-accent);
	border-bottom-color: var(--mb-accent);
	background-color: transparent;
}

/*
 * Dropdown caret on ReadyLaunch: do not rely on bb-icons (\e826) — that
 * webfont is not consistently available on RL shells, so the glyph often
 * fails to paint. Use a CSS chevron on the <li> (same slot as classic)
 * so it shows on Courses, My courses, lessons, and topics alike.
 */
.bb-rl-header .bb-readylaunch-menu > li.menu-item-has-children {
	position: relative;
	padding-left: 10px;
	padding-right: 5px;
}

.bb-rl-header .bb-readylaunch-menu > li.menu-item-has-children > a::after {
	content: none !important;
	display: none !important;
}

.bb-rl-header .bb-readylaunch-menu > li.menu-item-has-children::after {
	content: '';
	position: absolute;
	right: 8px;
	top: 50%;
	width: 7px;
	height: 7px;
	margin-top: -5px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	opacity: 0.85;
	pointer-events: none;
	color: var(--mb-ink);
	display: block;
	line-height: 0;
	background: none;
	font-size: 0;
}

/* Hover only: keep the thin accent chevron (no filled square). */
.bb-rl-header .bb-readylaunch-menu > li.menu-item-has-children:hover:not(.current-menu-item):not(.current-menu-ancestor)::after {
	color: var(--mb-accent);
	opacity: 1;
	border-right-width: 3px;
	border-bottom-width: 3px;
}

/*
 * Classic header caret (bb-icons \e826 on the <li>) stays --bb-header-links
 * by default. On hover (not current), tint it accent so it tracks the label.
 */
.site-header .primary-menu > li.menu-item-has-children:hover:not(.current-menu-item):not(.current-menu-ancestor):not(.current_page_item):not(.current_page_ancestor)::after,
.menu-style-standard .primary-menu > li.menu-item-has-children:hover:not(.hideshow):not(.current-menu-item):not(.current-menu-ancestor):not(.current_page_item):not(.current_page_ancestor)::after {
	color: var(--mb-accent);
	font-weight: 700;
	-webkit-text-stroke: 0.35px var(--mb-accent);
}

/*
 * Selected / current caret — both headers: red rounded square + white chevron.
 * Classic normally paints bb-icons \e826; ReadyLaunch uses a CSS border-triangle.
 * Replace both with the same filled control so Courses and Resources match.
 */
.bb-rl-header .bb-readylaunch-menu > li.menu-item-has-children.current-menu-item::after,
.bb-rl-header .bb-readylaunch-menu > li.menu-item-has-children.current-menu-ancestor::after,
.site-header .primary-menu > li.menu-item-has-children.current-menu-item::after,
.site-header .primary-menu > li.menu-item-has-children.current-menu-ancestor::after,
.site-header .primary-menu > li.menu-item-has-children.current_page_item::after,
.site-header .primary-menu > li.menu-item-has-children.current_page_ancestor::after,
.menu-style-standard .primary-menu > li.menu-item-has-children.current-menu-item:not(.hideshow)::after,
.menu-style-standard .primary-menu > li.menu-item-has-children.current-menu-ancestor:not(.hideshow)::after,
.menu-style-standard .primary-menu > li.menu-item-has-children.current_page_item:not(.hideshow)::after,
.menu-style-standard .primary-menu > li.menu-item-has-children.current_page_ancestor:not(.hideshow)::after {
	content: '' !important;
	display: block;
	position: absolute;
	right: 5px;
	top: 50%;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	padding: 0;
	border: none;
	border-radius: 4px;
	background-color: var(--mb-accent);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.2L6 7.8L9.5 4.2' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px 10px;
	color: transparent;
	font-size: 0;
	font-family: none;
	font-weight: 400;
	line-height: 0;
	opacity: 1;
	transform: none;
	-webkit-text-stroke: 0;
	pointer-events: none;
}

.bb-rl-header .bb-readylaunch-menu .menu-item > .sub-menu {
	min-width: 240px;
	max-height: min(70vh, 28rem);
	overflow-y: auto;
	padding: 0.5rem;
	border-color: var(--mb-border);
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(28, 36, 48, 0.12);
}

.bb-rl-header .bb-readylaunch-menu .menu-item > .sub-menu .menu-item a {
	display: block;
	padding: 0.55rem 0.75rem;
	border-radius: 8px;
	font-size: 0.925rem;
	color: var(--mb-ink);
	white-space: nowrap;
}

.bb-rl-header .bb-readylaunch-menu .menu-item > .sub-menu .menu-item:hover > a,
.bb-rl-header .bb-readylaunch-menu .menu-item > .sub-menu .menu-item.current-menu-item > a,
.bb-rl-header .bb-readylaunch-menu .menu-item > .sub-menu .menu-item a:focus-visible {
	background: var(--mb-surface-soft);
	color: var(--mb-accent);
}

/* Keyboard users get the same dropdown as hover. */
.bb-rl-header .bb-readylaunch-menu .menu-item:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
}

.site-header .primary-menu > li.menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.site-header .primary-menu .sub-menu .wrapper {
	border-radius: 12px;
	border: 1px solid var(--mb-border);
	box-shadow: 0 12px 32px rgba(28, 36, 48, 0.12);
}

.site-header .primary-menu .sub-menu .sub-menu-inner > li > a {
	font-size: 0.925rem;
	color: var(--mb-ink);
}

/* Do not fold a short launch menu into the BuddyBoss ellipsis. */
.site-header #navbar-collapse,
.site-header .primary-menu > li.hideshow {
	display: none !important;
}

.site-header #primary-navbar {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}

.site-header .primary-menu {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.15rem;
}

.site-header .primary-menu > li {
	flex-shrink: 0;
}

/* Visitor utility block printed by the child theme (desktop). */
.mb-header-utility {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
	margin-left: auto;
	padding-left: 1rem;
}

.mb-header-utility a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	white-space: nowrap;
	font-size: 0.95rem;
	font-weight: 500;
	text-decoration: none;
	border-radius: 8px;
}

.mb-header-utility a:focus-visible {
	outline: 2px solid var(--mb-accent);
	outline-offset: 2px;
}

.mb-header-utility__signin {
	color: var(--mb-ink);
	padding: 0 0.5rem;
}

.mb-header-utility__signin:hover {
	color: var(--mb-accent);
}

.mb-header-utility__cta {
	background: var(--mb-action);
	color: #ffffff !important;
	padding: 0 1.1rem;
	box-shadow: 0 1px 2px rgba(28, 36, 48, 0.12);
}

.mb-header-utility__cta:hover,
.mb-header-utility__cta:focus-visible {
	background: var(--mb-action-hover);
	color: #ffffff;
}

/*
 * Native Sign in / Sign up: the utility block replaces them at every width.
 * BuddyBoss paints Sign up grey; Start learning is the one primary action.
 */
.bb-rl-header .header-aside .bb-rl-header-buttons,
.site-header .header-aside .bb-header-buttons {
	display: none;
}

@media screen and (max-width: 992px) {
	.site-header .mb-header-utility,
	.bb-rl-header .mb-header-utility,
	.bb-mobile-header .mb-header-utility {
		display: flex;
		gap: 0.35rem;
		padding-left: 0.5rem;
		margin-left: auto;
	}

	.site-header .mb-header-utility a,
	.bb-rl-header .mb-header-utility a,
	.bb-mobile-header .mb-header-utility a {
		min-height: 36px;
		font-size: 0.875rem;
	}

	.site-header .mb-header-utility__signin,
	.bb-rl-header .mb-header-utility__signin,
	.bb-mobile-header .mb-header-utility__signin {
		padding: 0 0.35rem;
	}

	.site-header .mb-header-utility__cta,
	.bb-rl-header .mb-header-utility__cta,
	.bb-mobile-header .mb-header-utility__cta {
		padding: 0 0.75rem;
	}
}

/* Classic phone bar: keep logo centered and the red CTA on the right. */
.bb-mobile-header .header-aside .mb-header-utility {
	margin-left: 0;
	padding-left: 0;
	padding-right: 10px;
}

.bb-mobile-header .mobile-logo-wrapper {
	justify-content: center;
}

/* Classic header: the aside no longer holds the visitor actions, so it can be empty. */
.site-header .header-aside-inner:empty {
	display: none;
}

/* Mobile drawers: generated utility items read as actions, not links. */
.bb-readylaunch-mobile-menu li.mb-nav-cta,
.mobile-menu li.mb-nav-utility {
	margin-top: 0.5rem;
}

.bb-readylaunch-mobile-menu li.mb-nav-cta > a,
.mobile-menu li.mb-nav-cta > a {
	display: flex;
	justify-content: center;
	margin: 0.25rem 1rem;
	padding: 0.7rem 1rem;
	border-radius: 8px;
	background: var(--mb-action);
	color: #ffffff !important;
	font-weight: 600;
}

.mobile-menu li.mb-nav-cta > a .link-text,
.mobile-menu li.mb-nav-cta > a i {
	color: #ffffff;
}

@media screen and (max-width: 992px) {
	/* Utility stays visible; native Sign up is hidden above. */

	/* The flex override above would otherwise keep the desktop menu in the phone header. */
	.bb-rl-header .bb-readylaunch-menu {
		display: none;
	}

	.bb-rl-header .bb-rl-header-container > .bb-rl-site-branding,
	.bb-rl-header .bb-rl-header-container > .site-branding {
		flex: 0 1 auto;
		min-width: 0;
	}

	.bb-rl-header .bb-rl-header-container > .bb-rl-site-branding img,
	.bb-rl-header .bb-rl-header-container > .site-branding img {
		max-width: 100%;
		height: auto;
	}
}

/*
 * LearnDash parks hidden legacy tooltips (white-space: nowrap) past the right
 * edge, which widens the phone viewport. Clip that layer horizontally only.
 */
#learndash-tooltips {
	overflow-x: clip;
}


/* Classic public shell: one header logo and one Courses path. Hide the leftover panel toggle. */
body.mb-classic-public-shell .site-header > .container > .bb-toggle-panel {
	display: none;
}

/* Checkout already has an order summary. Hide the header mini-cart leftover. */
body.woocommerce-checkout .header-cart-link-wrap {
	display: none;
}

/*
 * Woo Blocks paints an empty-methods error before Stripe registers.
 * Keep it hidden unless JS confirms methods never arrived.
 */
body.woocommerce-checkout .wc-block-checkout__no-payment-methods-notice {
	display: none;
}

body.woocommerce-checkout.mb-checkout-methods-failed .wc-block-checkout__no-payment-methods-notice {
	display: block;
}

/* Order-received: primary path into the purchased LearnDash course. */
.mb-order-course-cta {
	margin: 1.25rem 0 1.5rem;
	padding: 1.15rem 1.35rem;
	background: var(--mb-surface, #fff);
	border: 1px solid var(--mb-border, #d8dde6);
	border-radius: 12px;
}

.mb-order-course-cta__lead {
	margin: 0 0 0.75rem;
	color: var(--mb-ink, #1c2430);
	font-size: 1.05rem;
	font-weight: 600;
}

.mb-order-course-cta__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.mb-order-course-cta__button,
.mb-order-course-cta__button.button,
body.woocommerce-order-received a.mb-order-course-cta__button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	max-width: 22rem;
	padding: 0.6rem 1.15rem;
	background: var(--mb-action, #990000);
	border: 1px solid var(--mb-action, #990000);
	border-radius: 4px;
	color: #fff;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	white-space: normal;
}

.mb-order-course-cta__button:hover,
.mb-order-course-cta__button:focus,
.mb-order-course-cta__button.button:hover,
.mb-order-course-cta__button.button:focus,
body.woocommerce-order-received a.mb-order-course-cta__button.button:hover,
body.woocommerce-order-received a.mb-order-course-cta__button.button:focus {
	background: var(--mb-action-hover, #7a0000);
	border-color: var(--mb-action-hover, #7a0000);
	color: #fff;
	filter: none;
}

.mb-order-course-cta__button:focus-visible {
	outline: 2px solid var(--mb-accent, #990000);
	outline-offset: 3px;
}

.bb-rl-left-panel .mb-panel-logo {
	display: block;
	padding: 0.75rem 1rem 1rem;
}

.bb-rl-left-panel .mb-panel-logo img {
	display: block;
}

/* Curriculum sidebar owns the left bar — no duplicate panel logo. */
body.single-sfwd-topic .bb-rl-left-panel .mb-panel-logo,
body.single-sfwd-lessons .bb-rl-left-panel .mb-panel-logo,
body.single-sfwd-quiz .bb-rl-left-panel .mb-panel-logo,
.bb-rl-left-panel:has(.bb-rl-lms-sidebar-header) .mb-panel-logo,
/* Header already brands the page; hide leftover injected panel logos. */
body:has(#site-logo) .bb-rl-left-panel .mb-panel-logo,
body:has(.bb-rl-header .bb-rl-logo-wrap) .bb-rl-left-panel .mb-panel-logo {
	display: none !important;
}

/* Hide empty left-panel menu chrome once Courses nav item is disabled. */
.bb-rl-left-panel .bb-rl-left-panel-menu:not(:has(.bb-rl-left-panel-menu-link)) {
	display: none;
}

/*
 * Left-panel course list: space between circular thumb and title; top-align
 * the first line of text with the top of the circular image.
 */
.bb-rl-left-panel .bb-rl-list .bb-rl-item-list li {
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.35rem 0.5rem;
}

.bb-rl-left-panel .bb-rl-list .bb-rl-item-list .item-avatar {
	flex: 0 0 auto;
	padding: 0;
	margin: 0;
	line-height: 0;
}

.bb-rl-left-panel .bb-rl-list .bb-rl-item-list .item-avatar a,
.bb-rl-left-panel .bb-rl-list .bb-rl-item-list .item-avatar > span {
	display: block;
	padding: 0 !important;
	margin: 0;
	line-height: 0;
}

.bb-rl-left-panel .bb-rl-list .bb-rl-item-list .item-avatar img {
	display: block;
	vertical-align: top;
}

.bb-rl-left-panel .bb-rl-list .bb-rl-item-list .item-title {
	min-width: 0;
	padding: 0;
	margin: 0;
}

.bb-rl-left-panel .bb-rl-list .bb-rl-item-list .item-title a {
	display: block;
	padding: 0 0.5rem 0 0 !important;
	margin: 0;
	line-height: 1.25;
}

/* Pathway category labels above grouped enrolled courses. */
.bb-rl-left-panel .bb-rl-list .bb-rl-item-list li.mb-left-course-category {
	display: block;
	padding: 0.85rem 0.5rem 0.25rem;
	margin: 0;
	list-style: none;
}

.bb-rl-left-panel .bb-rl-list .bb-rl-item-list li.mb-left-course-category:first-child {
	padding-top: 0.15rem;
}

.bb-rl-left-panel .bb-rl-list .bb-rl-item-list .mb-left-course-category__label {
	display: block;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--bb-rl-secondary-text-color, #6b7280);
}

/*
 * Profile My Courses / My Certificates: same Subject heading style as the left menu.
 * Headings span the full card grid so groups stay readable.
 */
body.bp-user.courses .mb-member-course-category {
	grid-column: 1 / -1;
	width: 100%;
	padding: 1.25rem 0 0.35rem;
	margin: 0;
	list-style: none;
}

body.bp-user.courses .bb-rl-courses-grid--member > .mb-member-course-category:first-child,
body.bp-user.courses #certificate_list > .mb-member-course-category:first-child {
	padding-top: 0.25rem;
}

body.bp-user.courses .mb-member-course-category__label {
	display: block;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--bb-rl-secondary-text-color, #6b7280);
}

/* Section headings replace the per-card category chip. */
body.bp-user.courses .bb-rl-courses-grid--member .bb-rl-course-category {
	display: none;
}

/* Author stays in the title-hover popup. Excerpt is list-only (see below). */
body.bp-user.courses .bb-rl-courses-grid--member .bb-rl-course-author {
	display: none;
}

body.bp-user.courses .bb-rl-courses-grid--member:not(.list) .bb-rl-course-excerpt {
	display: none;
}

/* Hand cursor on course title and cover (same path as the card CTA). */
body.bp-user.courses .bb-rl-course-card .bb-rl-course-title a,
body.bp-user.courses .bb-rl-course-card .bb-rl-course-image > span,
body.post-type-archive-sfwd-courses .bb-rl-course-card .bb-rl-course-title a {
	cursor: pointer;
}

body.bp-user.courses #certificate_list.bb-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

/*
 * Focus Mode sidebar: no “Back to Course” button — the course title is the link.
 */
body.single-sfwd-topic .bb-rl-lms-sidebar-course-nav-link.bb-rl-button,
body.single-sfwd-lessons .bb-rl-lms-sidebar-course-nav-link.bb-rl-button,
body.single-sfwd-quiz .bb-rl-lms-sidebar-course-nav-link.bb-rl-button {
	display: none !important;
}

.bb-rl-lms-sidebar-course-nav .course-entry-title {
	margin-top: 0;
}

.bb-rl-lms-sidebar-course-nav .course-entry-title a.bb-rl-lms-sidebar-course-title-link {
	color: inherit;
	text-decoration: none;
}

.bb-rl-lms-sidebar-course-nav .course-entry-title a.bb-rl-lms-sidebar-course-title-link:hover,
.bb-rl-lms-sidebar-course-nav .course-entry-title a.bb-rl-lms-sidebar-course-title-link:focus-visible {
	color: var(--mb-action, #990000);
	text-decoration: underline;
}

/*
 * Course worksheet: one persistent Focus Mode action under the course title.
 */
.bb-rl-lms-sidebar-course-nav .mb-sidebar-worksheet {
	margin: 0.45rem 0 1.1rem;
	padding: 0;
}

.bb-rl-lms-sidebar-course-nav .mb-sidebar-worksheet__link {
	display: inline-block;
	color: var(--mb-accent, #990000);
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.bb-rl-lms-sidebar-course-nav .mb-sidebar-worksheet__link:hover,
.bb-rl-lms-sidebar-course-nav .mb-sidebar-worksheet__link:focus-visible {
	color: var(--mb-action-hover, #7a0000);
}

/*
 * Focus-mode curriculum list: fit authored titles, clarify hierarchy.
 * ReadyLaunch ellipsizes titles and injects a page glyph before each topic;
 * that glyph + caret + status ring is what clips lesson/topic names.
 */
body.single-sfwd-topic .bb-rl-ld-lesson-list,
body.single-sfwd-lessons .bb-rl-ld-lesson-list,
body.single-sfwd-quiz .bb-rl-ld-lesson-list {
	--mb-nav-status-size: 20px;
	--mb-nav-row-pad-left: 8px;
	--mb-nav-caret-w: 12px;
	--mb-nav-caret-gap: 8px;
	/* Lesson title text starts here; topics share this left edge. */
	--mb-nav-title-indent: calc(var(--mb-nav-row-pad-left) + var(--mb-nav-caret-w) + var(--mb-nav-caret-gap));
}

/* Lesson titles read as section headers (ink), topics stay secondary. */
body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item.ld-item-lesson-item > .ld-item-list-item-preview .ld-item-title,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item.ld-item-lesson-item > .ld-item-list-item-preview .ld-item-title,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item.ld-item-lesson-item > .ld-item-list-item-preview .ld-item-title,
body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item.ld-item-lesson-item > .ld-item-list-item-preview .ld-item-title .bb-rl-item-title-plain,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item.ld-item-lesson-item > .ld-item-list-item-preview .ld-item-title .bb-rl-item-title-plain,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item.ld-item-lesson-item > .ld-item-list-item-preview .ld-item-title .bb-rl-item-title-plain {
	color: var(--mb-ink, #1c2430) !important;
	font-weight: 600 !important;
}

/* Drop decorative topic page icons — indent alone signals nesting. */
body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item .ld-table-list-item-preview .ld-topic-title::before,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item .ld-table-list-item-preview .ld-topic-title::before,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item .ld-table-list-item-preview .ld-topic-title::before {
	content: none !important;
	display: none !important;
	width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Pull caret left; tighten caret → title gap. */
body.single-sfwd-topic .bb-rl-lms-nav-list .bb-rl-ld-lesson-list .ld-item-list-item.ld-item-lesson-item > .ld-item-list-item-preview,
body.single-sfwd-lessons .bb-rl-lms-nav-list .bb-rl-ld-lesson-list .ld-item-list-item.ld-item-lesson-item > .ld-item-list-item-preview,
body.single-sfwd-quiz .bb-rl-lms-nav-list .bb-rl-ld-lesson-list .ld-item-list-item.ld-item-lesson-item > .ld-item-list-item-preview {
	padding-left: var(--mb-nav-row-pad-left) !important;
}

body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-details,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-details,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-details {
	flex: 0 0 auto;
	width: var(--mb-nav-caret-w);
	margin-right: var(--mb-nav-caret-gap);
}

body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-expand-button .ld-icon-arrow-down,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-expand-button .ld-icon-arrow-down,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-expand-button .ld-icon-arrow-down {
	font-size: 12px;
	width: var(--mb-nav-caret-w);
	height: var(--mb-nav-caret-w);
	line-height: var(--mb-nav-caret-w);
}

/*
 * Topic titles share the lesson title’s left edge (first letter alignment).
 * Zero the list indent; pad topic rows to the title column.
 */
body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-items,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-items,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-items {
	padding-left: 0 !important;
}

body.single-sfwd-topic .bb-rl-lms-nav-list .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item,
body.single-sfwd-lessons .bb-rl-lms-nav-list .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item,
body.single-sfwd-quiz .bb-rl-lms-nav-list .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item {
	padding-left: var(--mb-nav-title-indent) !important;
}

body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item .ld-table-list-item-preview .ld-topic-title,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item .ld-table-list-item-preview .ld-topic-title,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item .ld-table-list-item-preview .ld-topic-title,
body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item .ld-table-list-item-preview .ld-topic-title .bb-rl-item-title-plain,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item .ld-table-list-item-preview .ld-topic-title .bb-rl-item-title-plain,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item .ld-table-list-item-preview .ld-topic-title .bb-rl-item-title-plain {
	gap: 0;
	color: var(--mb-muted, #3f4a56);
}

body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-status-icon,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-status-icon,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-status-icon {
	width: var(--mb-nav-status-size) !important;
	height: var(--mb-nav-status-size) !important;
	min-width: var(--mb-nav-status-size) !important;
	flex: 0 0 var(--mb-nav-status-size) !important;
}

/*
 * Lesson + topic titles: allow a second line instead of ellipsis.
 * Authored names usually fit one line once the page glyph is gone.
 */
body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title .bb-rl-item-title-plain,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title .bb-rl-item-title-plain,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title .bb-rl-item-title-plain,
body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title > span:not(.ld-item-components),
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title > span:not(.ld-item-components),
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title > span:not(.ld-item-components),
body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item .ld-table-list-item-preview .ld-topic-title .bb-rl-item-title-plain,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item .ld-table-list-item-preview .ld-topic-title .bb-rl-item-title-plain,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item-expanded .ld-table-list-item .ld-table-list-item-preview .ld-topic-title .bb-rl-item-title-plain {
	max-width: 100% !important;
	width: 100%;
	white-space: normal !important;
	overflow: hidden;
	text-overflow: unset !important;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-height: 1.3;
}

/*
 * Course-level quiz row: same ink weight as lesson titles.
 * Size/place the ReadyLaunch quiz glyph like a lesson caret so text lines up.
 */
body.single-sfwd-topic .bb-rl-lms-nav-list .bb-rl-ld-lesson-list .ld-item-list-item-quiz > .ld-item-list-item-preview,
body.single-sfwd-lessons .bb-rl-lms-nav-list .bb-rl-ld-lesson-list .ld-item-list-item-quiz > .ld-item-list-item-preview,
body.single-sfwd-quiz .bb-rl-lms-nav-list .bb-rl-ld-lesson-list .ld-item-list-item-quiz > .ld-item-list-item-preview {
	padding-left: var(--mb-nav-row-pad-left) !important;
}

body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title,
body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title .bb-rl-item-title-plain,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title .bb-rl-item-title-plain,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title .bb-rl-item-title-plain {
	color: var(--mb-ink, #1c2430) !important;
	font-weight: 600 !important;
	-webkit-line-clamp: 2;
}

body.single-sfwd-topic .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title::before,
body.single-sfwd-lessons .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title::before,
body.single-sfwd-quiz .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title::before {
	color: var(--mb-ink, #1c2430) !important;
	font-size: 12px !important;
	line-height: var(--mb-nav-caret-w) !important;
	width: var(--mb-nav-caret-w) !important;
	margin-right: var(--mb-nav-caret-gap) !important;
	flex: 0 0 var(--mb-nav-caret-w);
	text-align: center;
}

/* Avatar is decorative when the title already links to the same course. */
.bb-rl-item-list .item-avatar > span.bb-rl-placeholder-avatar,
.bb-rl-item-list .item-avatar > span[aria-hidden='true'] {
	cursor: pointer;
	display: block;
}

/* Archive card: one named course path (title). Image and same-href CTAs stay clickable. */
.bb-rl-course-card .bb-rl-course-image > span,
.bb-rl-course-card .bb-rl-course-popup-actions > span,
.bb-rl-course-card .bb-rl-course-link-wrap > span {
	cursor: pointer;
	display: block;
}

/*
 * Image wrapper span (JS may replace the anchor): keep natural cover height,
 * not ReadyLaunch’s fixed 160px crop box.
 */
.bb-rl-course-card .bb-rl-course-image > span {
	position: relative;
	display: block;
	height: auto;
	padding-top: 0;
	border-radius: var(--bb-rl-radius-lg) var(--bb-rl-radius-lg) 0 0;
	overflow: hidden;
	background-color: var(--mb-surface-soft, var(--bb-rl-background-tertiary-color));
}

.bb-rl-courses-grid.list .bb-rl-course-card .bb-rl-course-image > span {
	border-radius: var(--bb-rl-radius-lg);
}

/* Catalogue card: no empty rating, no placeholder avatar, no zero-review footer. */
.bb-rl-course-card .bb-rl-course-review,
.bb-rl-course-card .bb-rl-author-avatar {
	display: none;
}

.bb-rl-course-card .bb-rl-course-footer:not(:has(.bb-rl-course-footer-meta > :not(.bb-rl-course-review))) {
	display: none;
}

/* Instructor name is text. Do not send catalogue visitors to /members/. */
.bb-rl-course-card .bb-rl-author-name a,
.bb-rl-course-card .bb-rl-author-avatar,
.bb-rl-course-card .bb-rl-instructor-item a,
a.mb-no-profile-link {
	pointer-events: none;
	text-decoration: none;
	color: inherit;
	cursor: default;
}

/* Public catalogue: no LMS instructor filter, author line, or hover Instructors. */
body.post-type-archive-sfwd-courses .bb-rl-course-instructors,
body.post-type-archive-sfwd-courses .bb-rl-course-card .bb-rl-course-author,
body.post-type-archive-sfwd-courses .bb-rl-course-card-popup .bb-rl-course-author,
body.bp-user.courses .bb-rl-course-card-popup .bb-rl-course-author {
	display: none;
}

/* Title-hover popup: drop “Updated”; CTA lives on the card now. */
body.post-type-archive-sfwd-courses .bb-rl-course-card-popup .bb-rl-course-timestamp,
body.bp-user.courses .bb-rl-course-card-popup .bb-rl-course-timestamp,
body.post-type-archive-sfwd-courses .bb-rl-course-card-popup .bb-rl-course-popup-actions,
body.bp-user.courses .bb-rl-course-card-popup .bb-rl-course-popup-actions {
	display: none;
}

/* List view: overview sits under the title — no hover popup. */
body.post-type-archive-sfwd-courses .bb-rl-courses-grid.list .bb-rl-course-card-popup,
body.bp-user.courses .bb-rl-courses-grid.list .bb-rl-course-card-popup,
body.bp-user.courses .bb-rl-courses-grid--member.list .bb-rl-course-card-popup,
body.mb-courses-view-list .bb-rl-courses-grid .bb-rl-course-card-popup {
	display: none !important;
}

/* Popup heading: black “Course Overview” instead of the lesson-count chip. */
body.post-type-archive-sfwd-courses .bb-rl-course-card-popup .bb-rl-course-popup-meta,
body.bp-user.courses .bb-rl-course-card-popup .bb-rl-course-popup-meta {
	margin: 0 0 0.5rem;
}

body.post-type-archive-sfwd-courses .bb-rl-course-card-popup .bb-rl-course-meta-tag,
body.bp-user.courses .bb-rl-course-card-popup .bb-rl-course-meta-tag {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	border-radius: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	color: #000;
	letter-spacing: -0.01em;
}

body.post-type-archive-sfwd-courses .bb-rl-course-card-popup .bb-rl-course-popup-caption,
body.bp-user.courses .bb-rl-course-card-popup .bb-rl-course-popup-caption {
	display: block;
	-webkit-line-clamp: unset;
	line-clamp: unset;
	-webkit-box-orient: unset;
	overflow: visible;
	white-space: normal;
	max-height: none;
	color: var(--mb-muted, #3f4a56);
	font-size: 0.925rem;
	line-height: 1.45;
}

/* Card View Course matches the former popup brandFill + play CTA. */
body.post-type-archive-sfwd-courses .bb-rl-course-card .bb-rl-course-link-wrap .bb-rl-course-link,
body.bp-user.courses .bb-rl-course-card .bb-rl-course-link-wrap .bb-rl-course-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	background-color: var(--mb-action, #990000);
	border-color: var(--mb-action, #990000);
	color: #fff;
}

body.post-type-archive-sfwd-courses .bb-rl-course-card .bb-rl-course-link-wrap .bb-rl-course-link:hover,
body.bp-user.courses .bb-rl-course-card .bb-rl-course-link-wrap .bb-rl-course-link:hover {
	background-color: var(--mb-action-hover, #7a0000);
	border-color: var(--mb-action-hover, #7a0000);
	color: #fff;
}

/* Catalogue cards: Subject section headers, three-up grid, SKU bottom-right. */
body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem 1.25rem;
	align-items: stretch;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) > .bb-rl-course-card {
	height: 100%;
	min-width: 0;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) .bb-rl-course-item {
	display: flex;
	flex-direction: column;
	height: 100%;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) .bb-rl-course-image a,
body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) .bb-rl-course-image > span {
	aspect-ratio: 4 / 3;
	height: auto;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) .bb-rl-course-image img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) .bb-rl-course-card-content,
body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) .bb-rl-course-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) .bb-rl-course-title {
	margin-bottom: 0;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) .bb-rl-course-title a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) .bb-rl-course-meta {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	margin-top: auto;
	padding-top: 0.85rem;
}

body.post-type-archive-sfwd-courses .mb-course-card-price {
	margin: 0;
	color: var(--mb-ink);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.2;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) .bb-rl-course-link {
	width: 100%;
	justify-content: center;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid.list .bb-rl-course-link-wrap {
	display: flex;
	justify-content: flex-start;
	margin-top: 0.85rem;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid.list .bb-rl-course-link-wrap .bb-rl-course-link {
	width: min(100%, 20.5rem);
	max-width: none;
	min-width: 0;
	flex: 0 0 auto;
	align-self: flex-start;
	padding: 0.65rem 1rem;
	justify-content: center;
	box-sizing: border-box;
}

body.post-type-archive-sfwd-courses .bb-rl-course-link .bb-icons-rl-play {
	display: none;
}

body.mb-courses-view-list.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) {
	grid-template-columns: minmax(0, 1fr);
}

body.post-type-archive-sfwd-courses .bb-rl-course-card .bb-rl-course-card-content {
	position: relative;
	padding-bottom: 1.75rem;
}

body.post-type-archive-sfwd-courses .mb-member-course-category {
	grid-column: 1 / -1;
	width: 100%;
	padding: 1.25rem 0 0.35rem;
	margin: 0;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid > .mb-member-course-category:first-child {
	padding-top: 0.25rem;
}

body.post-type-archive-sfwd-courses .mb-member-course-category__label {
	display: block;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--mb-ink, #1c2430);
}

body.post-type-archive-sfwd-courses .mb-course-card-pathway {
	margin: 0 0 0.35rem;
	color: var(--mb-muted, #6b6b6b);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.3;
	text-transform: none;
}

/* Section headings replace the per-card pathway / ReadyLaunch category. */
body.post-type-archive-sfwd-courses .bb-rl-courses-grid:has(.mb-member-course-category) .mb-course-card-pathway,
body.post-type-archive-sfwd-courses .bb-rl-course-card .bb-rl-course-category,
body.post-type-archive-sfwd-courses .bb-rl-course-card .bb-rl-course-author {
	display: none;
}

@media (max-width: 1024px) {
	body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) {
		grid-template-columns: minmax(0, 1fr);
	}
}

body.post-type-archive-sfwd-courses .bb-rl-course-price .bb-rl-price del {
	opacity: 0.65;
	margin-right: 0.35em;
}

body.post-type-archive-sfwd-courses .bb-rl-course-price .bb-rl-price ins {
	text-decoration: none;
	font-weight: 700;
}

body.post-type-archive-sfwd-courses .mb-course-card-sku {
	position: absolute;
	right: 0.85rem;
	bottom: 0.55rem;
	margin: 0;
	color: var(--mb-muted, #6b6b6b);
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	pointer-events: none;
}

/* Grid: overview stays in the title-hover popup. List: show it under the title. */
body.post-type-archive-sfwd-courses .bb-rl-courses-grid:not(.list) .bb-rl-course-card .bb-rl-course-excerpt {
	display: none;
}

body.post-type-archive-sfwd-courses .bb-rl-courses-grid.list .bb-rl-course-card .bb-rl-course-excerpt,
body.bp-user.courses .bb-rl-courses-grid.list .bb-rl-course-card .bb-rl-course-excerpt,
body.bp-user.courses .bb-rl-courses-grid--member.list .bb-rl-course-card .bb-rl-course-excerpt,
body.mb-courses-view-list .bb-rl-courses-grid .bb-rl-course-card .bb-rl-course-excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-clamp: 5;
	margin: 0.35rem 0 0.75rem;
	color: var(--mb-muted, #3f4a56);
	font-size: 0.925rem;
	line-height: 1.45;
	overflow: hidden;
	max-height: calc(1.45em * 5);
	white-space: normal;
}

body.bb-readylaunch-template .bb-remove-connection {
	display: none !important;
}

/* Empty header overflow control. ReadyLaunch injects More even with one item. */
.bb-rl-header li.bb-rl-hideshow:not(:has(.bb-rl-sub-menu > li)) {
	display: none !important;
}

.mb-course-intro .mb-kicker {
	color: var(--mb-muted);
	font-size: 0.95rem;
	margin-bottom: 0.75rem;
}

.mb-course-intro > p,
.mb-course-content > p,
.mb-course-content > ul,
.mb-course-content > ol,
.mb-course-details p,
.mb-course-details li {
	max-width: var(--mb-measure);
}

.mb-course-details {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--mb-border);
}

.mb-course-details h3 {
	margin-top: 1.5rem;
}

/* Purchase offer (sticky card and final CTA). */
.mb-course-offer {
	margin-top: 2rem;
	padding: 1.25rem 1.5rem;
	background: var(--mb-surface);
	border: 1px solid var(--mb-border);
	border-radius: 12px;
	color: var(--mb-ink);
}

.mb-course-offer__heading {
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 0.35rem;
	color: var(--mb-ink);
}

.mb-course-offer__lead {
	margin: 0 0 1rem;
	color: var(--mb-muted);
	font-size: 1.05rem;
}

.mb-course-offer__price {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--mb-ink);
	margin: 0 0 0.85rem;
	line-height: 1.2;
}

.mb-course-offer__price del {
	font-size: 1.05rem;
	font-weight: 400;
	margin-right: 0.35rem;
}

.mb-course-offer__price ins {
	text-decoration: none;
}

.mb-course-offer__label {
	display: block;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mb-muted);
	margin-bottom: 0.15rem;
}

.mb-course-offer__action {
	margin: 0 0 0.6rem;
}

.mb-course-offer__cta {
	display: inline-block;
}

.mb-course-offer__preview {
	margin: 0 0 0.85rem;
	font-size: 0.9rem;
}

.mb-course-offer__preview a {
	color: var(--mb-accent, #990000);
	font-weight: 600;
	text-decoration: none;
}

.mb-course-offer__preview a:hover,
.mb-course-offer__preview a:focus-visible {
	text-decoration: underline;
}

.mb-course-offer__reassure {
	margin: 0 0 1rem;
	color: var(--mb-muted);
	font-size: 0.9rem;
}

.mb-course-offer__reassure a,
.mb-course-hero__note a {
	color: inherit;
	text-decoration: underline;
}

.mb-course-offer__note {
	margin: 1rem 0 0;
	padding-top: 0.85rem;
	border-top: 1px solid var(--mb-border);
	color: var(--mb-muted);
	font-size: 0.85rem;
	line-height: 1.5;
}

.mb-course-offer__note a {
	color: inherit;
	text-decoration: underline;
}

/* Sticky card variant. */
.mb-course-offer--card {
	margin-top: 0;
	padding: 0;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(28, 36, 48, 0.06);
}

/* Cover lives in the hero only — never repeat it in the sticky card. */
.mb-course-offer--card .mb-course-offer__media {
	display: none;
}

.mb-course-offer--card .mb-course-offer__body {
	padding: 1.25rem 1.25rem 1.15rem;
}

.mb-course-offer--card .mb-course-offer__cta {
	display: block;
	text-align: center;
	width: 100%;
}

/* Final CTA variant. */
.mb-course-offer--final {
	margin-top: 2.5rem;
	padding: 2rem;
	background: var(--mb-surface-soft);
	text-align: center;
}

.mb-course-offer--final .mb-course-offer__body {
	max-width: 30rem;
	margin: 0 auto;
}

.mb-course-offer--final .mb-course-offer__label {
	display: none;
}

/* Fact chips. */
.mb-course-facts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.6rem;
}

.mb-course-facts__item {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	padding: 0.35rem 0.7rem;
	border: 1px solid var(--mb-border);
	border-radius: 999px;
	background: var(--mb-surface);
	color: var(--mb-ink);
	font-size: 0.875rem;
	line-height: 1.3;
}

.mb-course-facts__item i {
	font-size: 1.05rem;
	line-height: 1;
	color: var(--mb-accent);
}

.mb-course-facts--stacked {
	flex-direction: column;
	gap: 0.55rem;
}

.mb-course-facts--stacked .mb-course-facts__item {
	border: 0;
	padding: 0;
	background: transparent;
	border-radius: 0;
	font-size: 0.95rem;
}

.mb-course-facts--stacked .mb-course-facts__item i {
	font-size: 1.2rem;
}

.ld-course-status-price {
	color: var(--mb-ink);
}

.ld-course-status-price del,
.mb-course-offer__price del,
.mb-home__price del {
	color: var(--mb-muted);
	font-weight: 400;
}

.mb-home {
	background: var(--mb-page-bg);
	color: var(--mb-ink);
}

.mb-home__inner {
	width: min(var(--mb-content-width), calc(100% - (var(--mb-content-gutter) * 2)));
	max-width: none;
	margin: 0 auto;
	padding: 2.5rem 0 4rem;
}

.mb-home__kicker {
	color: var(--mb-muted);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.8rem;
	margin-bottom: 0.75rem;
}

.mb-home__title {
	font-size: var(--mb-title-size);
	line-height: 1.15;
	margin: 0 0 0.75rem;
}

.mb-home__lead {
	max-width: var(--mb-measure);
	font-size: var(--mb-lead-size);
	line-height: 1.5;
	color: var(--mb-muted);
	margin-bottom: 2rem;
}

.mb-home__course {
	padding: 1.5rem 1.5rem 1.25rem;
	background: var(--mb-surface-soft);
	border: 1px solid var(--mb-border);
	border-radius: 8px;
}

.mb-home__label {
	margin: 0 0 0.35rem;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mb-muted);
}

.mb-home__course h2 {
	margin: 0 0 0.75rem;
	font-size: 1.35rem;
	line-height: 1.3;
}

.mb-home__price {
	font-size: 1.35rem;
	margin: 1rem 0 0.25rem;
}

.mb-home__price-note {
	margin: 0 0 1rem;
	color: var(--mb-muted);
	font-size: 0.95rem;
}

.mb-home__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0;
}

.mb-home__note,
.mb-checkout__note {
	margin: 0.75rem 0 0;
	color: var(--mb-muted);
	font-size: 0.95rem;
}

.mb-home__note a,
.mb-checkout__note a {
	color: var(--mb-ink);
	text-decoration: underline;
}

.mb-home__note a:focus-visible,
.mb-checkout__note a:focus-visible {
	outline: 2px solid var(--mb-accent);
	outline-offset: 2px;
}

.mb-checkout__note-wrap {
	width: min(var(--mb-content-width), calc(100% - (var(--mb-content-gutter) * 2)));
	max-width: none;
	margin: 0 auto 1rem;
	padding: 0;
}

.mb-checkout__note-wrap .mb-checkout__note {
	margin: 0 0 0.7rem;
	line-height: 1.55;
}

.mb-checkout__note-wrap .mb-checkout__note:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 782px) {
	.mb-checkout__note-wrap .mb-checkout__note {
		margin-bottom: 0.85rem;
		line-height: 1.65;
	}
}

/*
 * Order summary title sits on the card edge. Inset the heading and the
 * summary body so both clear the border.
 */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .checkout-order-summary-block-fill {
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
}

@media screen and (max-width: 782px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-checkout-step__heading {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	body.woocommerce-checkout .checkout-order-summary-block-fill {
		padding-left: 0;
		padding-right: 0;
	}
}

/* Courses do not need a customer order note. */
body.woocommerce-checkout .wc-block-checkout__order-notes,
body.woocommerce-checkout .wc-block-checkout__add-note {
	display: none !important;
}

/* "View cart" inside the checkout error notice. */
.wc-block-components-notice-banner a.mb-view-cart,
.woocommerce-error a.mb-view-cart,
.woocommerce-message a.mb-view-cart {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.mb-home__cta {
	display: inline-block;
	text-decoration: none;
}

.mb-home__cta--primary,
.mb-home__cta--primary.button {
	background: var(--mb-action);
	border-color: var(--mb-action);
	color: #fff;
}

.mb-home__cta--primary:hover,
.mb-home__cta--primary:focus,
.mb-home__cta--primary.button:hover,
.mb-home__cta--primary.button:focus {
	color: #fff;
	filter: brightness(0.95);
}

.mb-home__cta--secondary,
.mb-home__cta--secondary.button {
	background: var(--mb-surface);
	border: 1px solid var(--mb-border);
	color: var(--mb-ink);
}

.mb-home__cta:focus-visible {
	outline: 2px solid var(--mb-accent);
	outline-offset: 3px;
}

/* Homepage course catalogue. */
.mb-home__catalogue {
	margin-top: 2.75rem;
}

.mb-home__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.mb-home__card {
	display: flex;
	flex-direction: column;
	background: var(--mb-surface);
	border: 1px solid var(--mb-border);
	border-radius: 12px;
	overflow: hidden;
}

.mb-home__card-cover {
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--mb-surface-soft, #eef1f4);
	line-height: 0;
}

.mb-home__card-cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.mb-home__card-body {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	padding: 1rem 1.1rem 1.15rem;
	flex: 1;
}

.mb-home__card-title {
	font-size: 1.05rem;
	line-height: 1.3;
	margin: 0;
}

.mb-home__card-title a {
	color: inherit;
	text-decoration: none;
}

.mb-home__card-title a:hover,
.mb-home__card-title a:focus-visible {
	text-decoration: underline;
}

.mb-home__card-body > .mb-home__card-price {
	/* Sit with the CTA at the bottom of equal-height cards. */
	margin: auto 0 0;
	font-size: 0.95rem;
}

.mb-home__card-body .mb-home__card-actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.5rem;
	margin: 0.75rem 0 0;
}

.mb-home__card-actions .mb-home__cta,
.mb-home__card-actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.75rem;
	margin: 0;
	text-align: center;
}

/* Supporting sections. */
.mb-home__section {
	margin-top: 3.5rem;
}

.mb-home__h2 {
	font-size: var(--mb-h2-size);
	line-height: 1.3;
	margin: 0 0 1.25rem;
	color: var(--mb-ink);
}

.mb-home__section h3 {
	font-size: 1.05rem;
	margin: 0 0 0.35rem;
	color: var(--mb-ink);
}

.mb-home__section p,
.mb-home__section dd {
	margin: 0;
	color: var(--mb-ink);
	line-height: 1.6;
}

.mb-home__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.mb-home__steps li {
	position: relative;
	padding-top: 2.75rem;
}

.mb-home__step-num {
	position: absolute;
	top: 0;
	left: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	background: var(--mb-action);
	color: #fff;
	font-weight: 700;
	font-size: 0.95rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.mb-home__cols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.mb-home__col {
	padding: 1.25rem;
	background: var(--mb-surface-soft);
	border: 1px solid var(--mb-border);
	border-radius: 8px;
}

.mb-home__faq {
	margin: 0;
	display: grid;
	gap: 1rem;
}

.mb-home__faq > div {
	padding: 1rem 1.25rem;
	border: 1px solid var(--mb-border);
	border-radius: 8px;
	background: var(--mb-surface);
}

.mb-home__faq dt {
	font-weight: 600;
	margin: 0 0 0.35rem;
	color: var(--mb-ink);
}

.mb-home__section .mb-home__more,
.mb-home__more {
	margin: 1rem 0 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
}

/* Same bullet separator as Pathways (.mb-pathways__more-sep). */
.mb-home__more-sep,
.mb-pathways__more-sep {
	color: #6b7280;
	font-weight: 600;
	line-height: 1;
	user-select: none;
}

.mb-home__more a {
	color: var(--mb-accent);
	font-weight: 600;
	text-decoration: none;
}

.mb-home__more a:hover {
	text-decoration: underline;
}

.mb-home__more a:focus-visible {
	outline: 2px solid var(--mb-accent);
	outline-offset: 3px;
	border-radius: 2px;
}

.mb-home__about {
	padding-top: 2.5rem;
	border-top: 1px solid var(--mb-border);
}

.mb-home__about p {
	max-width: 40rem;
}

/* Quiet home: one introduction, then a list. */
.mb-home__intro {
	max-width: 38rem;
	padding: 2.25rem 0 0.5rem;
}

.mb-home__intro h1 {
	margin: 0 0 0.85rem;
	color: var(--mb-ink);
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.mb-home__intro > p {
	margin: 0 0 1.35rem;
	color: var(--mb-muted, #5a6570);
	font-size: 1.125rem;
	line-height: 1.5;
}

.mb-home__intro-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.25rem;
	margin-bottom: 0;
}

.mb-home__intro-actions .mb-home__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.55rem 1.1rem;
}

.mb-home__text-link {
	color: var(--mb-ink);
	font-weight: 600;
	text-decoration: none;
}

.mb-home__text-link:hover,
.mb-home__text-link:focus-visible {
	color: var(--mb-accent, #990000);
	text-decoration: underline;
}

.mb-home__pathways {
	margin-top: 2.25rem;
}

.mb-home__paths {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--mb-border, #d6d9dd);
}

.mb-home__path {
	display: grid;
	grid-template-columns: 13rem minmax(0, 1fr) auto;
	gap: 1.25rem 1.75rem;
	align-items: baseline;
	padding: 1.2rem 0;
	border-bottom: 1px solid var(--mb-border, #d6d9dd);
	color: inherit;
	text-decoration: none;
}

.mb-home__path-title {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.3;
}

.mb-home__path-lead {
	color: var(--mb-muted, #5a6570);
	line-height: 1.45;
}

.mb-home__path-meta {
	font-weight: 600;
	white-space: nowrap;
}

.mb-home__path:hover .mb-home__path-title,
.mb-home__path:focus-visible .mb-home__path-title {
	color: var(--mb-accent, #990000);
}

.mb-home__path:focus-visible {
	outline: 2px solid var(--mb-accent, #990000);
	outline-offset: 3px;
}

.mb-home__how {
	max-width: 40rem;
	margin: 2rem 0 0;
	color: var(--mb-muted, #5a6570);
	line-height: 1.55;
}

@media screen and (max-width: 782px) {
	.mb-home__path {
		grid-template-columns: 1fr;
		gap: 0.3rem;
		padding: 1rem 0;
	}
}

/* Home hero + pathways */
.mb-home__hero {
	position: relative;
	isolation: isolate;
	min-height: min(78vh, 40rem);
	display: flex;
	align-items: flex-end;
	padding: 4.5rem 1.25rem 3rem;
	background: linear-gradient(135deg, #1a3348 0%, #0f1c28 55%, #243528 100%);
	color: #f4f1ea;
	border-radius: 0 0 12px 12px;
	overflow: hidden;
}

.mb-home__hero--has-media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: var(--mb-home-hero);
	background-size: cover;
	background-position: center;
}

.mb-home__hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		radial-gradient(
			ellipse 78% 88% at 16% 86%,
			rgba(8, 16, 28, 0.78) 0%,
			rgba(8, 16, 28, 0.48) 32%,
			rgba(8, 16, 28, 0.16) 58%,
			rgba(8, 16, 28, 0) 74%
		),
		linear-gradient(
			90deg,
			rgba(8, 16, 28, 0.38) 0%,
			rgba(8, 16, 28, 0.12) 36%,
			rgba(8, 16, 28, 0) 62%
		);
}

.mb-home__hero--triptych {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(16rem, 0.9fr);
	align-items: stretch;
	min-height: 0;
	padding: 0;
	background: #12202c;
}

.mb-home__hero--triptych::before,
.mb-home__hero--triptych::after {
	display: none;
}

.mb-home__hero--triptych .mb-home__hero-inner {
	align-self: center;
	margin: 0;
	padding: 3.25rem 2rem 2.75rem;
}

.mb-home__hero-panels {
	display: grid;
	grid-template-rows: repeat(3, minmax(7.5rem, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
	min-height: 28rem;
}

.mb-home__hero-panels li {
	margin: 0;
	overflow: hidden;
}

.mb-home__hero-panels img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 800px) {
	.mb-home__hero--triptych {
		grid-template-columns: 1fr;
	}

	.mb-home__hero-panels {
		order: -1;
		grid-template-rows: none;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		min-height: 7.5rem;
	}
}

.mb-home__hero-inner {
	position: relative;
	z-index: 2;
	width: min(42rem, 100%);
	margin: 0 auto 0 0;
	max-width: var(--mb-content-width);
}

.mb-home__brand {
	margin: 0 0 0.75rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
}

.mb-home__hero .mb-home__title {
	margin: 0 0 0.85rem;
	color: inherit;
	font-size: clamp(1.35rem, 2.8vw, 1.85rem);
	font-weight: 600;
	line-height: 1.25;
	max-width: 22ch;
	text-shadow: 0 1px 2px rgba(8, 16, 28, 0.65);
}

.mb-home__hero .mb-home__lead {
	margin: 0 0 1.5rem;
	color: #f4f1ea;
	max-width: 36rem;
	text-shadow: 0 1px 2px rgba(8, 16, 28, 0.65);
}

.mb-home__hero .mb-home__brand {
	text-shadow: 0 1px 2px rgba(8, 16, 28, 0.65);
}

.mb-home__hero .mb-home__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.mb-home__hero .mb-home__cta--primary,
.mb-home__hero .mb-home__cta--primary.button {
	background: #f4f1ea;
	color: #12202c;
	border-color: #f4f1ea;
}

.mb-home__hero .mb-home__cta--secondary,
.mb-home__hero .mb-home__cta--secondary.button {
	background: transparent;
	color: #f4f1ea;
	border: 1px solid rgba(244, 241, 234, 0.65);
}

.mb-home__section p.mb-home__section-lead {
	margin: -0.35rem 0 2rem;
	max-width: 40rem;
	color: var(--mb-muted, #5a6570);
}

.mb-home__pathway-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.25rem;
}

.mb-home__pathway-link {
	display: grid;
	gap: 0.45rem;
	text-decoration: none;
	color: inherit;
}

.mb-home__pathway-cover {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 12px;
	background: #e8edf1;
}

.mb-home__pathway-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mb-home__pathway-cat {
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	font-weight: 600;
	color: var(--mb-muted, #5a6570);
}

.mb-home__pathway-title {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.25;
}

.mb-home__pathway-lead {
	font-size: 0.95rem;
	color: var(--mb-muted, #5a6570);
	line-height: 1.45;
}

.mb-home__card-pathway {
	margin: 0 0 0.35rem;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mb-muted, #5a6570);
}

.mb-home__card--sampler {
	border-color: var(--mb-accent, #990000);
}

.mb-sampler-next {
	margin: 2rem 0 0;
	padding: 1.35rem 1.4rem 1.5rem;
	border: 1px solid var(--mb-border);
	border-radius: 12px;
	background: var(--mb-surface);
}

.mb-sampler-next__title {
	margin: 0 0 0.4rem;
	font-size: 1.2rem;
	line-height: 1.25;
}

.mb-sampler-next__lead {
	margin: 0 0 1rem;
	color: var(--mb-muted, #5a6570);
	line-height: 1.45;
}

.mb-sampler-next__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}

.mb-sampler-next__link {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--mb-border);
	border-radius: 8px;
	text-decoration: none;
	color: inherit;
}

.mb-sampler-next__link:hover,
.mb-sampler-next__link:focus-visible {
	border-color: var(--mb-accent, #990000);
}

.mb-sampler-next__cat {
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	font-weight: 600;
	color: var(--mb-muted, #5a6570);
}

.mb-sampler-next__name {
	font-weight: 600;
}

.mb-sampler-finish {
	margin: 1.75rem 0 0;
	padding: 1.35rem 1.4rem 1.5rem;
	border: 1px solid var(--mb-border);
	border-radius: 12px;
	background: var(--mb-surface-soft, #f4f6f8);
}

.mb-sampler-finish__title {
	margin: 0 0 0.4rem;
	font-size: 1.15rem;
	line-height: 1.25;
	color: var(--mb-ink);
}

.mb-sampler-finish__lead {
	margin: 0 0 1rem;
	color: var(--mb-muted, #5a6570);
	line-height: 1.45;
}

.mb-sampler-finish__action {
	margin: 0;
}

.mb-sampler-finish__cta {
	display: inline-block;
	padding: 0.7rem 1.15rem;
	border-radius: 0.35rem;
	background: var(--mb-action, #990000);
	color: #fff !important;
	font-weight: 600;
	text-decoration: none !important;
}

.mb-sampler-finish__cta:hover,
.mb-sampler-finish__cta:focus-visible {
	background: var(--mb-action-hover, #7a0000);
	color: #fff !important;
}

/* Pathways + books pages */
.mb-pathways,
.mb-pathway,
.mb-books {
	padding: 2.5rem 0 4rem;
}

.mb-pathways__inner {
	width: min(var(--mb-content-width), calc(100% - (var(--mb-content-gutter) * 2)));
	margin: 0 auto;
}

.mb-pathways__kicker {
	margin: 0 0 0.5rem;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	font-weight: 600;
	color: var(--mb-muted, #5a6570);
}

.mb-pathways__title,
.mb-pathway__title {
	margin: 0 0 0.75rem;
	font-size: var(--mb-title-size);
	line-height: 1.15;
}

.mb-pathways__lead,
.mb-pathway__lead {
	margin: 0 0 2rem;
	max-width: var(--mb-measure);
	font-size: var(--mb-lead-size);
	line-height: 1.5;
	color: var(--mb-muted, #5a6570);
}

.mb-pathways__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.5rem;
	align-items: stretch;
}

.mb-pathways__card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	height: 100%;
	min-width: 0;
}

.mb-pathways__card-cover {
	display: block;
	flex: 0 0 auto;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 12px;
	background: #e8edf1;
}

.mb-pathways__card-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mb-pathways__card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
}

.mb-pathways__card-cat {
	margin: 0;
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	font-weight: 600;
	color: var(--mb-muted, #5a6570);
}

.mb-pathways__card-title {
	margin: 0.25rem 0 0.5rem;
	font-size: var(--mb-h2-size);
}

.mb-pathways__card-title a {
	color: inherit;
	text-decoration: none;
}

.mb-pathways__card-lead {
	margin: 0 0 0.5rem;
	color: var(--mb-muted, #5a6570);
}

/* Course count sits above the CTA; footer pinned so cards share a baseline. */
.mb-pathways__card-footer {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	margin-top: auto;
}

.mb-pathways__card-meta {
	margin: 0;
	color: var(--mb-muted, #5a6570);
}

.mb-pathways__card-actions {
	margin: 0;
}

.mb-pathways__more {
	margin: 2rem 0 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
}

.mb-pathways__more a {
	color: var(--mb-accent);
	font-weight: 600;
	text-decoration: none;
}

.mb-pathway__hero {
	position: relative;
	isolation: isolate;
	width: min(var(--mb-content-width), calc(100% - (var(--mb-content-gutter) * 2)));
	min-height: 18rem;
	display: flex;
	align-items: flex-end;
	padding: 3rem 1.25rem 2.25rem;
	margin: 0 auto 1.5rem;
	background: #12202c;
	color: #f4f1ea;
	border-radius: 12px;
	overflow: hidden;
}

.mb-pathway__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: var(--mb-pathway-hero);
	background-size: cover;
	background-position: center;
}

.mb-pathway__hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		radial-gradient(
			ellipse 82% 160% at 14% 100%,
			rgba(8, 16, 28, 0.72) 0%,
			rgba(8, 16, 28, 0.38) 36%,
			rgba(8, 16, 28, 0.1) 62%,
			rgba(8, 16, 28, 0) 78%
		),
		linear-gradient(
			90deg,
			rgba(8, 16, 28, 0.32) 0%,
			rgba(8, 16, 28, 0.08) 42%,
			rgba(8, 16, 28, 0) 68%
		);
}

.mb-pathway__hero-inner {
	position: relative;
	z-index: 2;
	width: min(var(--mb-content-width), 100%);
	margin: 0 auto;
}

.mb-pathway__hero .mb-pathways__kicker,
.mb-pathway__hero .mb-pathway__lead {
	color: #f4f1ea;
	text-shadow: 0 1px 2px rgba(8, 16, 28, 0.65);
}

.mb-pathway__hero .mb-pathway__title {
	color: #f4f1ea;
	text-shadow: 0 1px 2px rgba(8, 16, 28, 0.65);
}

.mb-pathway__audience {
	margin: 0 0 1.75rem;
	max-width: var(--mb-measure);
}

.mb-pathway__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.75rem;
}

.mb-pathway__step {
	display: grid;
	gap: 1rem;
	align-items: start;
}

.mb-pathway__step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	background: var(--mb-accent, #990000);
	color: #fff;
	font-weight: 700;
	font-size: 0.9rem;
}

.mb-pathway__step-cover {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 12px;
	background: #e8edf1;
	max-width: 18rem;
}

.mb-pathway__step-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mb-pathway__step-title {
	margin: 0 0 0.35rem;
	font-size: 1.25rem;
}

.mb-pathway__step-title a {
	color: inherit;
	text-decoration: none;
}

.mb-pathway__step-badge {
	margin: 0 0 0.5rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mb-accent, #990000);
}

.mb-pathway__step-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0.75rem 0 0;
}

.mb-books__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.75rem;
}

.mb-books__card {
	display: grid;
	gap: 1.25rem;
	align-items: start;
}

.mb-books__cover {
	width: min(9.5rem, 42vw);
	margin: 0;
	background: var(--mb-surface-soft, #f4f6f8);
	border: 1px solid var(--mb-border, #d5dce3);
	box-shadow: 0 6px 18px rgba(28, 36, 48, 0.08);
}

.mb-books__cover-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}

.mb-books__body {
	min-width: 0;
}

.mb-books__title {
	margin: 0 0 0.5rem;
	font-size: var(--mb-h2-size);
	line-height: 1.25;
}

.mb-books__blurb {
	margin: 0 0 1rem;
	max-width: 40rem;
	color: var(--mb-muted, #5a6570);
}

.mb-books__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.mb-books__locked {
	margin: 0;
	color: var(--mb-muted, #5a6570);
	font-size: 0.95rem;
}

.mb-books__soon {
	color: var(--mb-muted, #5a6570);
	font-size: 0.95rem;
}

@media screen and (min-width: 600px) {
	.mb-books__card {
		grid-template-columns: 9.5rem minmax(0, 1fr);
		gap: 1.5rem;
	}
}

.mb-books__gate,
.mb-books__prefs {
	margin: 0 0 2rem;
	padding: 1.25rem 1.35rem;
	background: var(--mb-surface-soft, #f4f6f8);
	border: 1px solid var(--mb-border, #d5dce3);
}

.mb-books__gate-title {
	margin: 0 0 0.5rem;
	font-size: 1.15rem;
}

.mb-books__notice {
	margin: 0 0 1.25rem;
	padding: 0.75rem 1rem;
	background: #e8f2ea;
	border: 1px solid #b7d4be;
}

.mb-books__pref-form {
	display: grid;
	gap: 0.75rem;
	justify-items: start;
}

.mb-books__pref-label {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	max-width: 40rem;
	line-height: 1.4;
}

@media screen and (min-width: 783px) {
	.mb-home__hero-inner {
		margin-left: max(0px, calc((100% - var(--mb-content-width)) / 2));
		padding-left: var(--mb-content-gutter);
	}

	.mb-home__pathway-grid,
	.mb-pathways__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mb-pathway__step {
		grid-template-columns: 2rem 14rem minmax(0, 1fr);
	}
}

@media screen and (min-width: 783px) {
	.mb-home__title,
	.mb-home__lead {
		max-width: var(--mb-measure);
	}
}

@media screen and (max-width: 1024px) {
	.mb-home__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (min-width: 783px) {
	.mb-home__grid.mb-home__grid--start {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (min-width: 1200px) {
	.mb-home__grid.mb-home__grid--start {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media screen and (max-width: 782px) {
	.mb-home__inner {
		padding: 2rem 0 3rem;
	}

	.mb-home__steps,
	.mb-home__cols,
	.mb-home__grid,
	.mb-home__grid.mb-home__grid--start {
		grid-template-columns: minmax(0, 1fr);
	}

	.mb-home__section {
		margin-top: 2.5rem;
	}
}

/* Course levels: Beginner, Intermediate, Mastery. */
.mb-levels {
	list-style: none;
	/* 1rem below matches home FAQ → "Read all FAQs" / "More about us" spacing. */
	margin: 1.25rem 0 1rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.mb-levels .mb-levels__item {
	position: relative;
	margin: 0;
	padding: 3.5rem 1.25rem 1.25rem;
	background: var(--mb-surface-soft);
	border: 1px solid var(--mb-border);
	border-radius: 8px;
}

.mb-levels .mb-levels__num {
	position: absolute;
	top: 1.1rem;
	left: 1.25rem;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	background: var(--mb-action);
	color: #fff;
	font-weight: 700;
	font-size: 0.95rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.mb-levels .mb-levels__name {
	margin: 0 0 0.15rem;
	font-size: 1.05rem;
	color: var(--mb-ink);
}

.mb-levels .mb-levels__time {
	margin: 0 0 0.5rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--mb-muted, #5a6570);
}

.mb-levels .mb-levels__summary {
	margin: 0;
	color: var(--mb-ink);
	line-height: 1.6;
}

.mb-pathways__levels {
	margin-top: 3rem;
}

.mb-pathways__levels-title {
	margin: 0 0 0.5rem;
	font-size: var(--mb-h2-size);
	line-height: 1.3;
	color: var(--mb-ink);
}

.mb-pathways__levels-lead,
.mb-pathway__levels-line {
	margin: 0 0 1.5rem;
	max-width: var(--mb-measure);
	color: var(--mb-muted, #5a6570);
	line-height: 1.5;
}

.mb-pathway__step-level {
	margin: 0 0 0.35rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--mb-muted, #5a6570);
}

.mb-course-offer__level {
	margin: 0 0 1rem;
	color: var(--mb-muted);
	font-size: 0.9rem;
	line-height: 1.5;
}

@media screen and (max-width: 782px) {
	.mb-levels {
		grid-template-columns: minmax(0, 1fr);
	}
}

/*
 * Member profile: no xProfile Details card (main column or right rail).
 * Keep Edit Profile, Profile Photo, and Cover Photo (also .bb-rl-profile-panel).
 */
body.bb-readylaunch-template.bp-user .bb-rl-secondary-container,
body.bb-readylaunch-template.bp-user .bb-rl-profile-widget,
body.bb-readylaunch-template.bp-user:not(.profile-edit):not(.change-avatar):not(.change-cover-image) .bb-rl-profile-panel {
	display: none;
}

/*
 * Profile Photo / Cover: ReadyLaunch keeps the camera control at opacity 0
 * until hover and forces the placeholder photo visible inside
 * .bb-rl-profile-edit-wrapper — looks blank. Surface a clear upload target.
 */
body.change-avatar .bb-rl-profile-edit-wrapper .bb-rl-avatar-container,
body.change-cover-image .bb-rl-profile-edit-wrapper .bb-rl-cover-container {
	width: 176px;
	height: 176px;
}

body.change-avatar .bb-rl-profile-edit-wrapper .bb-rl-avatar-container .bp-uploader-window,
body.change-avatar .bb-rl-profile-edit-wrapper .bb-rl-avatar-container .bp-uploader-window .bb-rl-drag-drop-wrapper {
	width: 176px;
	height: 176px;
}

body.change-avatar .bb-rl-profile-edit-wrapper .bb-rl-avatar-container--no-avatar .bb-rl-avatar-photo {
	opacity: 0 !important;
	pointer-events: none;
}

body.change-avatar .bb-rl-profile-edit-wrapper .bp-uploader-window .bb-rl-drag-drop-wrapper .bb-rl-drag-drop-button-wrap,
body.change-cover-image .bb-rl-profile-edit-wrapper .bp-uploader-window .bb-rl-drag-drop-wrapper .bb-rl-drag-drop-button-wrap {
	opacity: 1 !important;
}

body.change-avatar .bb-rl-profile-edit-wrapper .bp-uploader-window .bb-rl-drag-drop-wrapper .drag-drop-info,
body.change-avatar .bb-rl-profile-edit-wrapper .bp-uploader-window .bb-rl-drag-drop-wrapper .drag-drop-subtitle,
body.change-cover-image .bb-rl-profile-edit-wrapper .bp-uploader-window .bb-rl-drag-drop-wrapper .drag-drop-info,
body.change-cover-image .bb-rl-profile-edit-wrapper .bp-uploader-window .bb-rl-drag-drop-wrapper .drag-drop-subtitle {
	display: block !important;
}

body.change-avatar .bb-rl-profile-edit-wrapper #drag-drop-area {
	border: 2px dashed var(--bb-rl-border-secondary-color, #d5dce3);
	border-radius: var(--bb-rl-radius-lg, 12px);
	background-color: var(--mb-surface-soft, #f4f6f8);
}

/*
 * ReadyLaunch LearnDash course sales layout (all sfwd-courses).
 * Scope to the main content container: the header reuses .bb-rl-container.
 */
body.bb-readylaunch-template.single-sfwd-courses .site-main > .bb-rl-container {
	width: min(var(--mb-content-width), calc(100% - (var(--mb-content-gutter) * 2)));
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding: 0 0 3rem;
}

body.bb-readylaunch-template.single-sfwd-courses .site-main > .bb-rl-container .bb-learndash-content-wrap {
	padding-left: 0;
	padding-right: 0;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-title {
	color: var(--mb-ink);
	line-height: 1.25;
	margin: 0.35rem 0 0.75rem;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-author-name,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-review,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-enrolled,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-notice--error,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-content-sidebar .widget:has(h2.widget-title) {
	display: none;
}

/* Public sales page: no LMS Instructor heading/avatar under Summary. */
body.mb-course-visitor.single-sfwd-courses .bb-rl-course-summary-instructor {
	display: none;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-figure:has(img[src*="group_cover_image"]) {
	display: none;
}

body.bb-readylaunch-template .bb-rl-course-card img[src*="group_cover_image"] {
	display: none;
}

/*
 * Course cards: keep covers at their natural ratio (typically 4:3).
 * ReadyLaunch uses padding-top: 160px + object-fit: cover, which crops.
 */
body.bb-readylaunch-template .bb-rl-course-card .bb-rl-course-image a {
	height: auto;
	padding-top: 0;
	overflow: hidden;
	background-color: var(--mb-surface-soft, var(--bb-rl-background-tertiary-color));
}

body.bb-readylaunch-template .bb-rl-course-card .bb-rl-course-image img {
	position: static;
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: center;
	background: var(--mb-surface-soft);
}

/*
 * ReadyLaunch renders the course article as display:table, so on narrow
 * screens it grows to the widest no-wrap row (curriculum) and overflows.
 */
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-lms-course {
	display: block;
	width: 100%;
	max-width: 100%;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-content-inner,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-content-inner .ld-item-list {
	min-width: 0;
	max-width: 100%;
}

/* Hero: title + CTA left, cover at natural ratio on the right. */
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-lms-course .bb-rl-entry-header {
	position: relative;
	padding: 1.25rem 1.25rem 2.25rem;
	border-radius: 16px;
	margin-top: 1.5rem;
	overflow: hidden;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-lms-course .bb-rl-entry-header:has(.mb-course-meta-sku) {
	padding-bottom: 2.75rem;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-hero-sku {
	display: none;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-meta-sku {
	position: absolute;
	right: 1.25rem;
	bottom: 0.75rem;
	margin: 0;
	color: var(--mb-muted, #6b6b6b);
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
	text-align: right;
	pointer-events: none;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 1.75rem;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .bb-rl-course-overview {
	flex: 1 1 0;
	min-width: 0;
	padding: 0.25rem 0.25rem 0.25rem 0.5rem;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .bb-rl-course-figure {
	order: 0;
	flex: 0 1 42%;
	width: 42%;
	max-width: 28rem;
	min-width: 0;
	border-radius: 12px;
	overflow: hidden;
}

/*
 * Show the full cover (typically 4:3) without cropping faces/content.
 * Covers have a cream matte edge, so a thin grey border makes the
 * rounded frame readable against the white hero card.
 */
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-featured-image {
	width: 100%;
	height: auto;
	padding-top: 0 !important;
	aspect-ratio: auto;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: var(--mb-surface-soft);
	border: 1px solid var(--mb-border, #d5dce3);
	box-sizing: border-box;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-featured-image img {
	position: static !important;
	inset: auto !important;
	display: block;
	width: 100%;
	height: auto !important;
	max-width: 100%;
	object-fit: contain;
	object-position: center;
	border-radius: 11px;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .bb-rl-course-category .bb-rl-course-category-item,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .bb-rl-course-category .bb-rl-course-category-item a {
	color: var(--mb-accent);
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .bb-rl-entry-title {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	line-height: 1.2;
	margin: 0.25rem 0 0.9rem;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .bb-rl-course-meta:empty,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .bb-rl-course-meta:not(:has(> :not([style*="display: none"]))) {
	display: none;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-overview-footer {
	margin-top: 0;
}

/*
 * Certificate earned: relocate into the white hero (see
 * mediabrook_relocate_course_certificate_alert). Brand away from ReadyLaunch
 * purple; green soft panel signals achievement, action CTA matches site CTAs.
 */
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-overview > .mb-course-hero-certificate.ld-alert,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .mb-course-hero-certificate.ld-alert {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--mb-complete, #1b7f3a);
	border-radius: 10px;
	background: var(--mb-complete-soft, #d8eedf);
	color: var(--mb-ink, #1c2430);
	box-shadow: none;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .mb-course-hero-certificate .ld-alert-content {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-width: 0;
	flex: 1 1 auto;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .mb-course-hero-certificate .ld-alert-icon {
	color: var(--mb-complete, #1b7f3a);
	background: transparent;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .mb-course-hero-certificate .ld-alert-icon::before {
	color: var(--mb-complete, #1b7f3a);
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .mb-course-hero-certificate .ld-alert-messages {
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--mb-ink, #1c2430);
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .mb-course-hero-certificate .ld-button {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	flex: 0 0 auto;
	margin: 0;
	padding: 0.55rem 1rem;
	border: 1px solid var(--mb-action, #990000);
	border-radius: 6px;
	background: var(--mb-action, #990000);
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .mb-course-hero-certificate .ld-button:hover,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .mb-course-hero-certificate .ld-button:focus {
	background: var(--mb-action-hover, #7a0000);
	border-color: var(--mb-action-hover, #7a0000);
	color: #fff;
}

@media screen and (max-width: 600px) {
	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .mb-course-hero-certificate.ld-alert {
		flex-direction: column;
		align-items: stretch;
	}

	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .mb-course-hero-certificate .ld-button {
		justify-content: center;
		width: 100%;
		white-space: normal;
	}
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-overview-footer .bb-rl-course-action {
	width: 100%;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-overview-footer .learndash_join_button {
	display: block;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-free-account-signin {
	margin: 0.65rem 0 0;
	color: var(--mb-muted);
	font-size: 0.9rem;
	line-height: 1.4;
	text-align: left;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-free-account-signin a {
	color: var(--mb-accent, #990000);
	font-weight: 600;
}

.mb-register-note {
	margin: 0 0 1.25rem;
	color: var(--mb-muted);
	font-size: 1rem;
	line-height: 1.5;
	max-width: var(--mb-measure);
}

/* Visitor hero: lead, chips, then price + button on one row. */
body.single-sfwd-courses .mb-course-hero__lead {
	font-size: 1.1rem;
	line-height: 1.5;
	color: var(--mb-muted);
	margin: 0 0 1rem;
	max-width: var(--mb-measure);
}

body.single-sfwd-courses .mb-course-facts--hero {
	margin-bottom: 1.35rem;
}

body.single-sfwd-courses .mb-course-hero__buy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
}

body.single-sfwd-courses .mb-course-hero__buy form,
body.single-sfwd-courses .mb-course-hero__buy .learndash_checkout_buttons {
	margin: 0;
}

/* Learner stats strip under the hero: quieter, left aligned. */
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-details {
	justify-content: flex-start;
	gap: 2.5rem;
	margin-top: 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--mb-border);
}

@media screen and (min-width: 993px) {
	body.bb-readylaunch-template.single-sfwd-courses .site.bb-readylaunch,
	body.bb-readylaunch-template.post-type-archive-sfwd-courses .site.bb-readylaunch {
		margin-left: 0;
	}

	body.bb-readylaunch-template.single-sfwd-courses #secondary.bb-rl-left-panel,
	body.bb-readylaunch-template.post-type-archive-sfwd-courses #secondary.bb-rl-left-panel {
		display: none;
	}

	/* Panel is hidden here; do not leave the mobile opener on desktop. */
	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-left-panel-mobile,
	body.bb-readylaunch-template.post-type-archive-sfwd-courses .bb-rl-left-panel-mobile {
		display: none;
	}
}

body.bb-readylaunch-template.post-type-archive-sfwd-courses .site.bb-readylaunch {
	margin-left: 0;
}

/* The opener stays: on phones it opens the main menu drawer, not the left panel. */
body.bb-readylaunch-template.post-type-archive-sfwd-courses #secondary.bb-rl-left-panel {
	display: none;
}

/*
 * Member profile: drop the left My Courses rail entirely. Content uses the
 * same narrowed width as /courses/ (narrower than the header bar).
 */
body.bb-readylaunch-template.bp-user .site.bb-readylaunch {
	margin-left: 0;
}

/* Keep Profile Photo / Cover / field-group subnav on profile edit screens. */
body.bb-readylaunch-template.bp-user:not(.profile-edit):not(.change-avatar):not(.change-cover-image) #secondary.bb-rl-left-panel,
body.bb-readylaunch-template.bp-user:not(.profile-edit):not(.change-avatar):not(.change-cover-image) .bb-rl-left-panel-mobile {
	display: none;
}

body.bb-readylaunch-template.bp-user.profile-edit .site.bb-readylaunch,
body.bb-readylaunch-template.bp-user.change-avatar .site.bb-readylaunch,
body.bb-readylaunch-template.bp-user.change-cover-image .site.bb-readylaunch {
	margin-left: 0;
}

body.bb-readylaunch-template.bp-user .site-main > .bb-rl-container {
	width: min(var(--mb-content-width), calc(100% - (var(--mb-content-gutter) * 2)));
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
}

/* Profile Courses hero: no Profile / Courses primary tabs. */
body.bp-user.courses #object-nav.bb-rl-main-nav {
	display: none;
}

body.bp-user.courses .bb-rl-content-wrapper {
	grid-template-columns: minmax(0, 1fr);
}

/* Grid / list toggles sit on the My Courses / Certificates subnav row. */
body.bp-user.courses.my-courses #item-body {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
}

body.bp-user.courses.my-courses #item-body > #subnav {
	flex: 1 1 auto;
	margin-bottom: 0;
}

body.bp-user.courses.my-courses #item-body > h2:empty {
	display: none;
}

body.bp-user.courses.my-courses #item-body > .mb-member-courses-view-toggle {
	flex: 0 0 auto;
	margin-left: auto;
}

body.bp-user.courses.my-courses #item-body > .bb-rl-courses-list {
	flex: 1 1 100%;
	width: 100%;
}

body.bb-readylaunch-template.post-type-archive-sfwd-courses .site-main > .bb-rl-container {
	width: min(var(--mb-content-width), calc(100% - (var(--mb-content-gutter) * 2)));
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
}

/*
 * Do not hide #secondary in Focus Mode. ReadyLaunch puts the LearnDash
 * curriculum sidebar (Back to Course, lessons, topics) in that panel.
 */

body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content,
body.bb-readylaunch-template.single-sfwd-courses .mb-course-details {
	max-width: none;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro > p,
body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro > ul,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content > p,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content > ul {
	max-width: none;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro p,
body.bb-readylaunch-template.single-sfwd-courses .mb-course-details p,
body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro li,
body.bb-readylaunch-template.single-sfwd-courses .mb-course-details li,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content p,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content li {
	color: var(--mb-ink);
	font-size: 1.05rem;
	line-height: 1.6;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro > p:first-of-type:not(.mb-kicker),
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content > p:first-of-type:not(.mb-kicker),
body.mb-course-visitor.single-sfwd-courses .mb-course-intro .mb-kicker + p,
body.mb-course-visitor.single-sfwd-courses .bb-rl-entry-content .mb-course-content .mb-kicker + p {
	font-size: 1.15rem;
	line-height: 1.6;
}

/* Level/duration already appear in the hero facts strip — hide the duplicate kicker. */
body.single-sfwd-courses .mb-course-intro > p.mb-kicker,
body.single-sfwd-courses .bb-rl-entry-content .mb-course-content > p.mb-kicker,
body.single-sfwd-courses .mb-course-content > p.mb-kicker {
	display: none;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro h2,
body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro h3,
body.bb-readylaunch-template.single-sfwd-courses .mb-course-details h3,
body.bb-readylaunch-template.single-sfwd-courses .mb-course-details__title,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content h2,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content h3 {
	color: var(--mb-ink);
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 2rem;
	margin-bottom: 0.65rem;
}

/* Overview sits at the top of the landing copy, under the hero. */
body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro > h2.mb-course-overview-title,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content > h2.mb-course-overview-title {
	margin-top: 0;
}

/* "What you will be able to do" as a two-column checklist. */
body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro ul,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content ul {
	list-style: none;
	padding: 0;
	margin: 0 0 0.5rem;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem 1.5rem;
	max-width: none;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro ul li,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content ul li {
	position: relative;
	padding-left: 1.85rem;
	margin: 0;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro ul li::before,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.3em;
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 50%;
	background: var(--mb-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5'/%3E%3C/svg%3E") center / 0.75rem no-repeat;
}

/* Course details as a card grid. */
body.bb-readylaunch-template.single-sfwd-courses .mb-course-details {
	margin-top: 2.5rem;
	padding-top: 0;
	border-top: 0;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-details__title {
	margin-top: 0;
	margin-bottom: 1rem;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-details__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-details__item {
	padding: 1.15rem 1.25rem;
	background: var(--mb-surface-soft);
	border: 1px solid var(--mb-border);
	border-radius: 12px;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-details__item h3 {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 0.4rem;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-details__item p {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--mb-ink);
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-offer__cta.button,
body.bb-readylaunch-template.single-sfwd-courses .learndash_join_button .btn-join,
body.bb-readylaunch-template.single-sfwd-courses .learndash_join_button .btn-advance {
	background: var(--mb-action);
	border-color: var(--mb-action);
	color: #fff;
	border-radius: 8px;
	padding: 0.8rem 1.4rem;
	font-weight: 600;
	font-size: 1rem;
	text-decoration: none;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-offer__cta.button:hover,
body.bb-readylaunch-template.single-sfwd-courses .mb-course-offer__cta.button:focus,
body.bb-readylaunch-template.single-sfwd-courses .learndash_join_button .btn-join:hover,
body.bb-readylaunch-template.single-sfwd-courses .learndash_join_button .btn-advance:hover {
	filter: brightness(0.92);
	color: #fff;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-offer__cta.button:focus-visible,
body.bb-readylaunch-template.single-sfwd-courses .learndash_join_button .btn-join:focus-visible {
	outline: 2px solid var(--mb-ink);
	outline-offset: 2px;
}

body.bb-readylaunch-template.single-sfwd-courses .learndash-wrapper .ld-item-list {
	margin-top: 1.5rem;
}

/*
 * ReadyLaunch maps collapsed lessons to caret-up (\e13c) and expanded to
 * caret-down (\e136). Accordion convention is the opposite: down when closed,
 * up when open. Swap the glyphs on the course curriculum list only.
 */
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-details .ld-icon-arrow-down::before {
	content: "\e136";
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-preview.ld-expanded .ld-icon-arrow-down::before {
	content: "\e13c";
}

/*
 * Course curriculum titles: ReadyLaunch ellipsizes the name so “Sample Lesson”
 * and topic counts fit on one line. On large screens keep the caret/icon beside
 * the title (nowrap row); titles wrap inside their flex slot. On phones, stack
 * the meta under the title so the full name shows.
 */
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title {
	flex-wrap: nowrap;
	align-items: center;
	column-gap: 0.5rem;
	row-gap: 0.2rem;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title .bb-rl-item-title-plain,
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title > span:not(.ld-item-components) {
	min-width: 0;
	flex: 1 1 auto;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: unset !important;
	line-height: 1.3;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title .ld-item-components {
	flex: 0 0 auto;
	white-space: nowrap;
}

/*
 * Course curriculum quiz/assessment: size the ReadyLaunch glyph like the
 * lesson caret column (16px + 12px) so title text shares the same left edge.
 * Keep nowrap so the glyph stays beside the label, not above it.
 */
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title {
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	column-gap: 0;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title::before {
	flex: 0 0 16px;
	width: 16px !important;
	height: 16px !important;
	font-size: 16px !important;
	line-height: 16px !important;
	margin-right: 12px !important;
	text-align: center;
	align-self: center;
}

@media screen and (max-width: 782px) {
	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title {
		flex-direction: column;
		flex-wrap: wrap;
		align-items: flex-start;
	}

	/*
	 * Quiz rows use a ::before glyph beside the title. Keep that row-wise so
	 * assessment text lines up with lesson titles (column stacks the icon above).
	 */
	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title {
		flex-direction: row !important;
		flex-wrap: nowrap;
		align-items: center;
	}

	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title .bb-rl-item-title-plain,
	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title > span:not(.ld-item-components) {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}

	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title .bb-rl-item-title-plain,
	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-quiz .ld-item-title > span:not(.ld-item-components) {
		flex: 1 1 auto;
		width: auto;
		max-width: none;
		min-width: 0;
	}

	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-ld-lesson-list .ld-item-list-item-preview .ld-item-title .ld-item-components {
		width: 100%;
		margin-left: 0;
	}
}

/*
 * LearnDash access tooltips sit to the right of the curriculum panel.
 * The caret points left at the lesson row (stock LD points it down).
 * On course sales pages, tips sit above the row (see custom.js) with a
 * downward caret so phone overflow-x:clip cannot cut them off.
 */
body.single-sfwd-lessons #learndash-tooltips,
body.single-sfwd-topic #learndash-tooltips,
body.single-sfwd-quiz #learndash-tooltips,
body.single-sfwd-courses #learndash-tooltips {
	z-index: 1100;
}

body.single-sfwd-lessons #learndash-tooltips .ld-tooltip,
body.single-sfwd-topic #learndash-tooltips .ld-tooltip,
body.single-sfwd-quiz #learndash-tooltips .ld-tooltip {
	transform: translateY(-50%);
	max-width: min(300px, calc(100vw - 2rem));
	text-align: left;
	z-index: 1100;
	pointer-events: none;
	overflow: visible;
}

body.single-sfwd-courses #learndash-tooltips .ld-tooltip,
body.single-sfwd-courses .ld-tooltip.mb-tip-placed {
	max-width: min(300px, calc(100vw - 1.5rem));
	white-space: normal;
	text-align: left;
	z-index: 100000;
	pointer-events: none;
	overflow: visible;
	line-height: 1.35;
	background: #111;
	color: #fff;
	font-weight: 600;
	font-size: 0.8rem;
	border-radius: 6px;
	padding: 0.4em 0.85em;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

/*
 * LearnDash adds .ld-shifted-right with translateX(-100%) after ~500ms.
 * Kill that so the bubble stays parked above the lesson title.
 */
body.single-sfwd-courses .ld-tooltip.mb-tip-placed,
body.single-sfwd-courses .ld-tooltip.mb-tip-placed.ld-shifted-right,
body.single-sfwd-courses .ld-tooltip.mb-tip-placed.ld-shifted-left {
	transform: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	background: #111 !important;
	color: #fff !important;
}

body.single-sfwd-lessons #learndash-tooltips .ld-tooltip:after,
body.single-sfwd-topic #learndash-tooltips .ld-tooltip:after,
body.single-sfwd-quiz #learndash-tooltips .ld-tooltip:after {
	content: "";
	width: 0;
	height: 0;
	left: -7px;
	right: auto;
	top: 50%;
	bottom: auto;
	margin: 0;
	background: transparent;
	border-style: solid;
	border-width: 6px 7px 6px 0;
	border-color: transparent var(--bb-tooltip-background, #111) transparent transparent;
	transform: translateY(-50%);
}

body.single-sfwd-courses .ld-tooltip.mb-tip-above:after,
body.single-sfwd-courses #learndash-tooltips .ld-tooltip.mb-tip-above:after {
	content: "" !important;
	width: 0 !important;
	height: 0 !important;
	left: var(--mb-tip-caret-x, 50%) !important;
	right: auto !important;
	top: auto !important;
	bottom: -6px !important;
	margin: 0 !important;
	background: transparent !important;
	border-style: solid !important;
	border-width: 6px 6px 0 6px !important;
	border-color: var(--bb-tooltip-background, #111) transparent transparent transparent !important;
	transform: translateX(-50%) !important;
	box-shadow: none !important;
}

body.single-sfwd-courses .ld-tooltip.mb-tip-below:after,
body.single-sfwd-courses #learndash-tooltips .ld-tooltip.mb-tip-below:after {
	content: "" !important;
	width: 0 !important;
	height: 0 !important;
	left: var(--mb-tip-caret-x, 50%) !important;
	right: auto !important;
	top: -6px !important;
	bottom: auto !important;
	margin: 0 !important;
	background: transparent !important;
	border-style: solid !important;
	border-width: 0 6px 6px 6px !important;
	border-color: transparent transparent var(--bb-tooltip-background, #111) transparent !important;
	transform: translateX(-50%) !important;
	box-shadow: none !important;
}

/* Curriculum heading. */
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-content-header {
	margin-top: 0;
	margin-bottom: 1rem;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-content-header h2 {
	font-size: 1.3rem;
	color: var(--mb-ink);
}

/* Course intro (kicker + outcomes) above Course Content for all viewers. */
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-content-inner {
	display: flex;
	flex-direction: column;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-content-inner > .bb-rl-entry-content {
	order: -1;
	margin-bottom: 1.25rem;
}

body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-content-inner > .bb-rl-course-content-header {
	padding-top: 1.25rem;
	border-top: 1px solid var(--mb-border);
}

/* Keep the six-icon meta strip for every viewer; sales chips stay in the offer card only. */
body.mb-course-visitor.single-sfwd-courses .bb-rl-course-banner .mb-course-facts--hero {
	display: none;
}

/* Stretch the icon/label row across the hero on free and paid courses. */
body.bb-readylaunch-template.single-sfwd-courses .mb-course-meta-strip {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem 0.75rem;
	align-items: flex-start;
	width: 100%;
	margin-top: 1.25rem;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-meta-strip .bb-rl-course-details-item {
	flex: 0 1 auto;
	min-width: 0;
	align-items: center;
}

body.bb-readylaunch-template.single-sfwd-courses .mb-course-meta-strip .bb-rl-course-details-item > i {
	flex: 0 0 2rem;
	width: 2rem;
	font-size: 2rem;
	line-height: 1;
	text-align: center;
}

/* Phone / narrow: even 2-column grid so icon columns line up. */
@media screen and (max-width: 900px) {
	body.bb-readylaunch-template.single-sfwd-courses .mb-course-meta-strip {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-content: stretch;
		align-items: start;
		column-gap: 1rem;
		row-gap: 1rem;
	}

	body.bb-readylaunch-template.single-sfwd-courses .mb-course-meta-strip .bb-rl-course-details-item {
		width: 100%;
		min-width: 0;
	}

	body.bb-readylaunch-template.single-sfwd-courses .mb-course-meta-strip .bb-rl-course-details-item > i {
		flex-basis: 1.5rem;
		width: 1.5rem;
		font-size: 1.5rem;
	}
}

/* Sticky offer card column (visitors, wide screens). Empty sidebar otherwise. */
body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-content .bb-rl-course-content-sidebar {
	display: none;
}

@media screen and (min-width: 1024px) {
	body.mb-course-visitor.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-content:has(.mb-course-offer--card) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 320px;
		align-items: start;
		column-gap: 2.5rem;
		row-gap: 0;
	}

	body.mb-course-visitor.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-content:has(.mb-course-offer--card) .bb-rl-course-content-inner {
		display: contents;
	}

	body.mb-course-visitor.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-content .mb-course-offer--card {
		grid-column: 2;
		grid-row: 1 / span 30;
		position: sticky;
		top: 5.5rem;
	}
}

/* Hero price next to the enroll button. */
body.single-sfwd-courses .mb-course-hero__price {
	display: block;
	margin: 0;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--mb-ink);
}

body.single-sfwd-courses .mb-course-hero__price del {
	color: var(--mb-muted);
	font-weight: 400;
	font-size: 1.1rem;
	margin-right: 0.35rem;
}

body.single-sfwd-courses .mb-course-hero__price ins {
	text-decoration: none;
}

body.single-sfwd-courses .mb-course-hero__note {
	margin: 0.75rem 0 0;
	color: var(--mb-muted);
	font-size: 0.9rem;
	max-width: 32rem;
}

@media screen and (max-width: 900px) {
	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-lms-course .bb-rl-entry-header {
		padding: 1rem 1rem 2rem;
	}

	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-lms-course .bb-rl-entry-header:has(.mb-course-meta-sku) {
		padding-bottom: 2.5rem;
	}

	body.bb-readylaunch-template.single-sfwd-courses .mb-course-meta-sku {
		right: 1rem;
		bottom: 0.65rem;
	}

	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner {
		flex-direction: column;
		align-items: stretch;
		gap: 1.25rem;
	}

	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .bb-rl-course-overview {
		padding: 0 0.25rem;
		order: 1;
	}

	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-banner .bb-rl-course-figure {
		order: 0;
		flex: 0 0 auto;
		width: 100%;
		max-width: none;
	}

	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-course-featured-image {
		max-width: 24rem;
		margin-left: auto;
		margin-right: auto;
	}

	body.bb-readylaunch-template.single-sfwd-courses .mb-course-intro ul,
	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-entry-content .mb-course-content ul,
	body.bb-readylaunch-template.single-sfwd-courses .mb-course-details__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media screen and (max-width: 782px) {
	body.bb-readylaunch-template.single-sfwd-courses .site-main > .bb-rl-container {
		padding: 0 0 2.5rem;
	}

	body.bb-readylaunch-template.single-sfwd-courses .site-main > .bb-rl-container .bb-learndash-content-wrap {
		padding-left: 0;
		padding-right: 0;
	}

	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-lms-course .bb-rl-entry-header {
		padding: 1.25rem;
		border-radius: 12px;
	}

	body.bb-readylaunch-template.single-sfwd-courses .bb-rl-lms-course .bb-rl-entry-header:has(.mb-course-meta-sku) {
		padding-bottom: 2.5rem;
	}

	body.bb-readylaunch-template.single-sfwd-courses .mb-course-meta-sku {
		right: 1.25rem;
		bottom: 0.7rem;
	}

	body.single-sfwd-courses .mb-course-hero__buy .learndash_checkout_buttons,
	body.single-sfwd-courses .mb-course-hero__buy form,
	body.single-sfwd-courses .mb-course-hero__buy .btn-join {
		width: 100%;
		text-align: center;
	}

	.mb-course-offer--final {
		padding: 1.5rem 1.25rem;
	}
}

/* Site footer (shared by the classic shell and ReadyLaunch). */
.mb-footer,
.bb-footer,
footer#colophon,
#page .footer-widget-area,
#page .footer-bottom {
	background: var(--mb-surface-soft, #f4f6f8);
	color: var(--mb-ink);
}

/* Light footer with a red top rule. */
.mb-footer {
	background: var(--mb-surface-soft, #f4f6f8);
	color: var(--mb-ink);
	border-top: 3px solid var(--mb-accent, #990000);
	margin-top: 3rem;
	padding: 2.5rem 0 1.5rem;
	font-size: 0.95rem;
	line-height: 1.5;
}

.mb-footer__home img {
	display: block;
	width: auto;
	height: 3.6rem;
	max-width: 16.5rem;
	mix-blend-mode: multiply;
}

.mb-footer__inner {
	width: min(var(--mb-content-width), calc(100% - (var(--mb-content-gutter) * 2)));
	max-width: none;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr));
	gap: 2rem;
}

.mb-footer__home {
	display: inline-block;
	font-weight: 700;
	font-size: 1.15rem;
	color: var(--mb-ink);
	text-decoration: none;
	margin-bottom: 0.5rem;
}

.mb-footer__tagline {
	margin: 0;
	color: var(--mb-muted);
	max-width: 28rem;
	font-weight: 700;
}

.mb-footer__label {
	margin: 0 0 0.6rem;
	font-size: 1.04rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mb-muted);
}

.mb-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mb-footer__list li {
	margin: 0 0 0.45rem;
}

.mb-footer a,
.mb-footer__list a {
	color: var(--mb-ink);
	text-decoration: none;
}

.mb-footer a:hover,
.mb-footer__list a:hover {
	text-decoration: underline;
}

.mb-footer a:focus-visible {
	outline: 2px solid var(--mb-accent);
	outline-offset: 2px;
	border-radius: 2px;
}

.mb-footer__bottom {
	width: min(var(--mb-content-width), calc(100% - (var(--mb-content-gutter) * 2)));
	max-width: none;
	margin: 2rem auto 0;
	padding-top: 1.25rem;
	border-top: 1px solid var(--mb-border);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
	color: var(--mb-muted);
	font-size: 0.875rem;
}

.mb-footer__bottom p {
	margin: 0;
}

@media screen and (max-width: 782px) {
	.mb-footer {
		padding: 1.25rem 0 0.75rem;
	}

	.mb-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.55rem 0.75rem;
	}

	.mb-footer__brand {
		grid-column: 1 / -1;
	}

	.mb-footer__home {
		margin-bottom: 0.2rem;
	}

	.mb-footer__tagline {
		margin-bottom: 0.85rem;
	}

	.mb-footer__label {
		margin-bottom: 0.15rem;
	}

	.mb-footer__list li {
		margin-bottom: 0;
		line-height: 1.35;
	}

	.mb-footer__bottom {
		margin-top: 0.7rem;
		padding-top: 0.55rem;
		gap: 0.25rem 0.75rem;
	}
}

/* ReadyLaunch: keep the footer inside the app shell width, not under the left panel. */
body.bb-readylaunch-template .mb-footer {
	margin-top: 2rem;
}

body.bb-readylaunch-template .mb-footer__inner,
body.bb-readylaunch-template .mb-footer__bottom {
	max-width: none;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

/* Lesson, topic, and quiz pages: no site footer. */
body.single-sfwd-lessons .mb-footer,
body.single-sfwd-topic .mb-footer,
body.single-sfwd-quiz .mb-footer,
body.single-sfwd-lessons footer#colophon,
body.single-sfwd-topic footer#colophon,
body.single-sfwd-quiz footer#colophon,
body.single-sfwd-lessons .footer-bottom,
body.single-sfwd-topic .footer-bottom,
body.single-sfwd-quiz .footer-bottom,
body.single-sfwd-lessons .bb-footer,
body.single-sfwd-topic .bb-footer,
body.single-sfwd-quiz .bb-footer {
	display: none !important;
}

/* Classic shell: the parent footer no longer renders, so remove its bottom spacing assumptions. */
body.mb-classic-public-shell #content {
	padding-bottom: 0;
}

/* Public info pages: same 68rem shell and heading rhythm as Pathways. */
body.mb-public-info-page #content > .container {
	padding: 2.5rem 1.5rem 4rem;
}

body.mb-public-info-page .site-main > article {
	width: min(var(--mb-content-width), calc(100% - (var(--mb-content-gutter) * 2)));
	max-width: none;
	margin: 0 auto;
}

/*
 * My Account: buttons use brand red (Customizer blue must not win here).
 */
body.woocommerce-account {
	--bb-primary-color: var(--mb-accent);
	--bb-link-color: var(--mb-accent);
	--bb-primary-button-background-regular: var(--mb-accent);
	--bb-primary-button-background-hover: var(--mb-action-hover);
	--bb-primary-button-border-regular: var(--mb-accent);
	--bb-primary-button-border-hover: var(--mb-action-hover);
	--bb-primary-button-text-regular: #ffffff;
	--bb-primary-button-text-hover: #ffffff;
}

body.woocommerce-account .woocommerce a.button,
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce input.button,
body.woocommerce-account .woocommerce #respond input#submit,
body.woocommerce-account .woocommerce a.button.alt,
body.woocommerce-account .woocommerce button.button.alt,
body.woocommerce-account .woocommerce input.button.alt,
body.woocommerce-account .woocommerce-button {
	background-color: var(--mb-accent) !important;
	border-color: var(--mb-accent) !important;
	color: #ffffff !important;
}

body.woocommerce-account .woocommerce a.button:hover,
body.woocommerce-account .woocommerce a.button:focus,
body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce button.button:focus,
body.woocommerce-account .woocommerce input.button:hover,
body.woocommerce-account .woocommerce input.button:focus,
body.woocommerce-account .woocommerce a.button.alt:hover,
body.woocommerce-account .woocommerce a.button.alt:focus,
body.woocommerce-account .woocommerce button.button.alt:hover,
body.woocommerce-account .woocommerce button.button.alt:focus,
body.woocommerce-account .woocommerce-button:hover,
body.woocommerce-account .woocommerce-button:focus {
	background-color: var(--mb-action-hover) !important;
	border-color: var(--mb-action-hover) !important;
	color: #ffffff !important;
}

/*
 * My Account: hide the BuddyPanel rail (logo / Courses / My courses).
 * Keep the WooCommerce account nav (Dashboard, Orders, …).
 */
body.woocommerce-account .buddypanel {
	display: none !important;
}

body.woocommerce-account.bb-buddypanel .site,
body.woocommerce-account.bb-buddypanel #page,
body.woocommerce-account.bb-buddypanel-left .site,
body.woocommerce-account.bb-buddypanel-left #page,
body.woocommerce-account.bb-buddypanel-right .site,
body.woocommerce-account.bb-buddypanel-right #page {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.woocommerce-account .site-header .bb-toggle-panel {
	display: none !important;
}

/* View order: course titles in brand red; links open the course. Header stays muted like Qty/Total. */
.woocommerce .woocommerce-table--order-details td.product-name {
	color: var(--mb-accent);
	font-weight: 600;
}

.woocommerce .woocommerce-table--order-details td.product-name .bb_sku_wrapper,
.woocommerce .woocommerce-table--order-details td.product-name .sku {
	color: var(--mb-muted);
	font-weight: 400;
}

.woocommerce .woocommerce-table--order-details td.product-name a.mb-order-item-course-link,
.woocommerce .woocommerce-table--order-details td.product-name a.mb-order-item-course-link:visited {
	color: var(--mb-accent);
	font-weight: 600;
	text-decoration: none;
}

.woocommerce .woocommerce-table--order-details td.product-name a.mb-order-item-course-link:hover,
.woocommerce .woocommerce-table--order-details td.product-name a.mb-order-item-course-link:focus-visible {
	color: var(--mb-action-hover);
	text-decoration: underline;
}

/* View order: email under billing address with a blank line of space. */
.woocommerce section.woocommerce-customer-details address .mb-order-billing-contact {
	display: block;
	padding-top: 1.25em;
}

.woocommerce section.woocommerce-customer-details address .mb-order-billing-contact .woocommerce-customer-details--email,
.woocommerce section.woocommerce-customer-details address .mb-order-billing-contact .woocommerce-customer-details--phone {
	display: block;
	margin: 0;
}

/* Terms, privacy, and refund use the same reading measure as other public pages. */
body.mb-public-policy-page #content > .container {
	max-width: 1200px;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

body.mb-public-policy-page .site-main > article {
	width: 100%;
	max-width: none;
}

/* Custom pathway/books templates already size .mb-pathways__inner; do not nest a second cap. */
body.page-template-mediabrook-pathways-hub .site-main > article,
body.page-template-mediabrook-pathway .site-main > article,
body.page-template-mediabrook-books .site-main > article {
	width: auto;
	max-width: none;
	margin: 0;
}

/* The page is built in Elementor and supplies its own H1; hide the theme title. */
body.mb-public-info-page .site-main article:has(.entry-content > h1:first-child) > .entry-header,
body.mb-public-info-page .site-main article:has(.entry-content .elementor) > .entry-header {
	display: none;
}

body.mb-public-info-page .entry-content > h1,
body.mb-public-info-page .entry-title,
body.mb-public-info-page .elementor-widget-heading h1.elementor-heading-title {
	color: var(--mb-ink);
	font-size: var(--mb-title-size);
	line-height: 1.15;
	margin: 0 0 0.75rem;
}

body.mb-public-info-page .elementor-widget-heading .elementor-heading-title {
	color: var(--mb-ink);
	font-weight: 700;
}

body.mb-public-info-page .elementor-widget-heading h2.elementor-heading-title {
	font-size: var(--mb-h2-size);
	line-height: 1.3;
	margin: 0;
}

body.mb-public-info-page .elementor-widget-heading + .elementor-widget-heading h2.elementor-heading-title {
	margin-top: 1rem;
}

body.mb-public-info-page .e-con > .e-con-inner > .elementor-widget-heading,
body.mb-public-info-page .e-con.e-flex > .elementor-widget-heading {
	margin-bottom: 0;
}

body.mb-public-info-page .elementor-widget-text-editor,
body.mb-public-info-page .elementor-widget-text-editor p,
body.mb-public-info-page .elementor-icon-list-text {
	font-size: var(--mb-lead-size);
	line-height: 1.5;
	color: var(--mb-ink);
}

body.mb-public-info-page .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

/* Body copy uses one reading measure. Headings and multi-column layouts stay wider. */
body.mb-public-info-page .elementor-widget-text-editor,
body.mb-public-policy-page .elementor-widget-text-editor {
	max-width: var(--mb-measure);
}

/* Top-level prose matches the Pathways lead measure; nested columns stay full. */
body.mb-public-info-page .elementor > .e-con > .elementor-widget-text-editor,
body.mb-public-info-page .elementor > .e-con > .e-con-inner > .elementor-widget-text-editor {
	max-width: var(--mb-measure);
}

body.mb-public-info-page .entry-content > p,
body.mb-public-info-page .entry-content > ul,
body.mb-public-info-page .entry-content > ol {
	max-width: var(--mb-measure);
}

body.mb-public-info-page .elementor-widget.mb-el-lead,
body.mb-public-info-page .mb-el-lead .elementor-widget-container,
body.mb-public-info-page .mb-el-lead p {
	max-width: var(--mb-measure);
	width: auto;
}

body.mb-public-info-page .mb-el-lead p {
	font-size: var(--mb-lead-size);
	line-height: 1.5;
	color: var(--mb-muted);
}

body.mb-public-info-page .elementor-widget-divider {
	margin: 0.75rem 0 1.5rem;
}

body.mb-public-info-page .elementor-widget-divider .elementor-divider-separator {
	border-color: var(--mb-border);
	border-top-width: 1px;
}

body.mb-public-info-page .elementor-widget-container a,
body.mb-public-info-page .elementor-widget-text-editor a {
	color: var(--mb-accent);
	text-decoration: underline;
}

body.mb-public-info-page .elementor-widget-text-editor a:hover {
	color: var(--mb-ink);
}

/* Top-level Elementor containers act as page sections. */
body.mb-public-info-page .elementor > .e-con {
	padding: 0 0 2rem;
}

body.mb-public-info-page .elementor > .e-con:last-child {
	padding-bottom: 0.5rem;
}

/* Checklist: burgundy checks (Elementor default is kit blue). */
body.mb-public-info-page .elementor-icon-list-item,
body.mb-public-info-page .mb-el-checklist .elementor-icon-list-item {
	align-items: flex-start;
}

body.mb-public-info-page .elementor-icon-list-icon,
body.mb-public-info-page .mb-el-checklist .elementor-icon-list-icon {
	margin-top: 0.3em;
	color: var(--mb-accent);
}

body.mb-public-info-page .elementor-icon-list-icon svg,
body.mb-public-info-page .elementor-icon-list-icon svg path,
body.mb-public-info-page .mb-el-checklist .elementor-icon-list-icon svg,
body.mb-public-info-page .mb-el-checklist .elementor-icon-list-icon svg path {
	width: 1em;
	fill: var(--mb-accent);
}

/*
 * Elementor “full width” icon-list links force every nested <a> to flex/block.
 * Keep inline links (e.g. Refund Policy) in the sentence.
 */
body.mb-public-info-page .elementor-icon-list-text a {
	display: inline;
	width: auto;
	color: var(--mb-accent);
	text-decoration: underline;
}

body.mb-public-info-page .elementor-icon-list-text a:hover,
body.mb-public-info-page .elementor-icon-list-text a:focus-visible {
	color: var(--mb-ink);
}

/* Button */
body.mb-public-info-page .mb-el-button .elementor-button {
	background: var(--mb-action);
	color: #fff;
	border-radius: 7px;
	font-size: 15px;
	font-weight: 500;
	padding: 0.85rem 1.5rem;
}

body.mb-public-info-page .mb-el-button .elementor-button:hover,
body.mb-public-info-page .mb-el-button .elementor-button:focus-visible {
	background: var(--mb-action);
	color: #fff;
	filter: brightness(0.95);
}

/* FAQ nested accordion */
body.mb-public-info-page .mb-el-faq .e-n-accordion {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

body.mb-public-info-page .mb-el-faq .e-n-accordion-item {
	border: 1px solid var(--mb-border);
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
}

body.mb-public-info-page .mb-el-faq .e-n-accordion-item-title {
	padding: 1rem 1.15rem;
	border: 0;
	background: #fff;
	cursor: pointer;
	gap: 0.75rem;
}

body.mb-public-info-page .mb-el-faq .e-n-accordion-item-title:hover {
	background: var(--mb-surface);
}

body.mb-public-info-page .mb-el-faq .e-n-accordion-item-title:focus-visible {
	outline: 2px solid var(--mb-accent);
	outline-offset: -2px;
}

body.mb-public-info-page .mb-el-faq .e-n-accordion-item-title-text {
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--mb-ink);
	margin: 0;
}

body.mb-public-info-page .mb-el-faq .e-n-accordion-item-title-icon {
	color: var(--mb-muted);
}

body.mb-public-info-page .mb-el-faq .e-n-accordion-item-title-icon svg {
	width: 0.9em;
	fill: currentColor;
}

body.mb-public-info-page .mb-el-faq .e-n-accordion-item[open] > .e-n-accordion-item-title {
	border-bottom: 1px solid var(--mb-border);
}

/*
 * Answer body: match the question’s first letter (summary pad + chevron + gap).
 * Needs .elementor so it wins over the nested .e-con .e-con horizontal reset.
 */
body.mb-public-info-page .elementor .mb-el-faq .e-n-accordion-item > .e-con {
	padding: 1rem 1.15rem 1.15rem;
	padding-left: calc(1.15rem + 0.9em + 0.75rem);
	border: 0;
}

.mb-topic-figure {
	display: flex;
	justify-content: center;
	margin: 1.25rem 0;
	border-radius: 12px;
	overflow: hidden;
	background: var(--mb-surface-soft);
}

.mb-course-content > .mb-topic-figure:first-child {
	margin-top: 0;
	margin-bottom: 1.25rem;
}

.mb-topic-figure img,
.mb-topic-figure__img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 20rem;
	object-fit: contain;
}

.mb-topic-figure--scene img,
.mb-topic-figure--scene .mb-topic-figure__img {
	max-height: 16rem;
}

.mb-topic-figure--diagram img,
.mb-topic-figure--diagram .mb-topic-figure__img {
	max-height: 22rem;
}

/*
 * Site-wide 4:1 page banner (topics now; pathway/family later).
 * Source is 2400×600. The live box stays 4:1 so the strip is wide, not tall.
 */
.mb-page-banner,
.mb-topic-figure--banner {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 4 / 1;
	margin: 0 0 1.25rem;
	border-radius: 12px;
	overflow: hidden;
	background: var(--mb-surface-soft);
}

.mb-course-content > .mb-topic-figure--banner:first-child {
	margin-top: 0;
}

.mb-topic-figure--banner + .mb-topic-figure--diagram {
	margin-top: 0.25rem;
}

.mb-page-banner img,
.mb-page-banner .mb-topic-figure__img,
.mb-topic-figure--banner img,
.mb-topic-figure--banner .mb-topic-figure__img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
	object-fit: cover;
	object-position: 50% 50%;
}

@media (max-width: 640px) {
	.mb-page-banner,
	.mb-topic-figure--banner {
		border-radius: 8px;
	}
}

/*
 * Lesson pages are a section. Topic pages are one step.
 * The lesson banner is printed before the body; flex order lifts it above the title.
 */
body.single-sfwd-lessons .bb-rl-lesson-block {
	display: flex;
	flex-direction: column;
}

body.single-sfwd-lessons .bb-rl-lesson-block > * {
	order: 5;
}

body.single-sfwd-lessons .bb-rl-lesson-block > .bb-rl-entry-header {
	order: 3;
}

body.single-sfwd-lessons .bb-rl-entry-content,
body.single-sfwd-lessons .bb-rl-entry-content > .learndash-wrapper {
	display: contents;
}

body.single-sfwd-lessons .learndash-wrapper > * {
	order: 6;
}

body.single-sfwd-lessons .mb-lesson-banner {
	order: 1;
	margin-bottom: 0.75rem;
}

body.single-sfwd-lessons .mb-step-crumb {
	order: 2;
	margin: 0 0 0.85rem;
}

body.single-sfwd-lessons .mb-lesson-brief {
	order: 4;
	margin: 0.35rem 0 1.25rem;
}

body.single-sfwd-lessons .mb-lesson-brief .mb-quickstart {
	margin: 0 0 1.25rem;
}

body.single-sfwd-lessons .mb-lesson-brief .mb-quickstart summary {
	color: var(--bb-rl-text-secondary-color, #555556);
	cursor: pointer;
	font-weight: 700;
}

body.single-sfwd-lessons .mb-lesson-brief .mb-quickstart summary::marker,
body.single-sfwd-lessons .mb-lesson-brief .mb-quickstart summary::-webkit-details-marker {
	color: var(--bb-rl-text-secondary-color, #555556);
}

/*
 * Course-step disclosure rows (Reveal a completed response, Sources, etc.):
 * bold summary labels, matching Before you begin.
 */
body.single-sfwd-topic .mb-course-content details > summary,
body.single-sfwd-lessons .mb-course-content details > summary,
body.single-sfwd-quiz .mb-course-content details > summary {
	cursor: pointer;
	font-weight: 700;
}

body.single-sfwd-lessons .mb-lesson-agenda {
	order: 5;
}

body.single-sfwd-lessons .bb-rl-lesson-topics {
	display: none;
}

body.single-sfwd-lessons .bb-rl-lesson-count .bb-pages,
body.single-sfwd-topic .bb-rl-topic-count .bb-pages {
	display: inline-block;
	margin: 0 0 0.45rem;
	color: var(--mb-accent);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-transform: uppercase;
}

/* Topic keeps the quieter kicker; lesson reads a step larger. */
body.single-sfwd-topic .bb-rl-topic-count .bb-pages {
	font-size: 0.8rem;
}

body.single-sfwd-lessons .bb-rl-lesson-count .bb-pages {
	font-size: 0.95rem;
}

body.single-sfwd-lessons .bb-rl-lesson-block .bb-rl-entry-title {
	font-size: clamp(1.7rem, 2.6vw, 2.15rem);
	line-height: 1.2;
	margin: 0 0 0.35rem;
}

body.single-sfwd-topic .bb-rl-topic-block .bb-rl-entry-title {
	font-size: clamp(1.45rem, 2.2vw, 1.8rem);
	line-height: 1.25;
}

body.single-sfwd-topic .bb-rl-topic-block:has(.mb-topic-figure--banner) .bb-rl-topic-featured-image,
body.single-sfwd-topic .bb-rl-topic-progress {
	display: none;
}

body.single-sfwd-topic .bb-rl-topic-block > .mb-topic-figure--banner {
	width: 100%;
	margin: 0 0 0.75rem;
}

body.single-sfwd-topic .bb-rl-topic-block > .mb-step-crumb {
	margin: 0 0 0.85rem;
}

.mb-step-crumb {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	align-items: center;
	margin: 0 0 0.85rem;
	color: var(--mb-muted);
	font-size: 0.75rem;
	font-style: italic;
	line-height: 1.4;
}

.mb-step-crumb a {
	color: inherit;
	text-decoration: none;
}

.mb-step-crumb a:hover,
.mb-step-crumb a:focus-visible {
	color: var(--mb-accent);
	text-decoration: underline;
}

.mb-step-crumb a + a::before,
.mb-step-crumb a + span::before,
.mb-step-crumb span + span::before {
	content: "/";
	margin-right: 0.5rem;
	color: var(--mb-border);
	text-decoration: none;
}

.mb-lesson-agenda {
	margin: 0.5rem 0 1.75rem;
	padding: 1.1rem 1.15rem 1.15rem;
	background: var(--mb-surface);
	border: 1px solid var(--mb-border);
	border-radius: 12px;
}

.bb-rl-entry-content .mb-lesson-agenda__heading,
.mb-lesson-agenda h2.mb-lesson-agenda__heading {
	margin: 0 0 0.55rem;
	color: var(--mb-ink);
	font-size: 1rem;
	font-weight: 700;
}

.mb-lesson-agenda__outcome {
	margin: 0 0 0.85rem;
	color: var(--mb-ink);
	font-size: 0.95rem;
	line-height: 1.45;
}

.mb-lesson-agenda__outcome-label {
	font-weight: 700;
	color: var(--mb-ink, #1a1a1a);
}

.mb-lesson-topics {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mb-lesson-topics__item {
	margin: 0;
	padding: 0.75rem 0 0.75rem 3ch;
	border-top: 1px solid var(--mb-border);
}

.mb-lesson-topics__link {
	font-weight: 700;
	color: var(--mb-accent);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.mb-lesson-topics__link:hover,
.mb-lesson-topics__link:focus-visible {
	color: var(--mb-action-hover, #7a0000);
}

.mb-lesson-topics__state {
	display: inline-block;
	margin-left: 0.35rem;
	padding: 0.12rem 0.45rem;
	border-radius: 999px;
	background: var(--mb-complete, #1b7f3a);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	vertical-align: 0.1em;
}

.mb-lesson-topics__lead {
	margin: 0.25rem 0 0;
	color: var(--mb-muted);
	font-size: 0.92rem;
	line-height: 1.45;
}

.mb-lesson-start {
	margin: 1rem 0 0;
	text-align: center;
}

.mb-lesson-start__link {
	display: inline-block;
	padding: 0.75rem 1.1rem;
	border-radius: 8px;
	background: var(--mb-accent);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.mb-lesson-start__link:hover,
.mb-lesson-start__link:focus-visible {
	background: var(--mb-action-hover, #7a0000);
	color: #fff;
}

body.single-sfwd-topic .mb-course-content h2,
body.single-sfwd-topic .mb-course-content h3,
body.single-sfwd-topic .mb-course-content h4,
body.single-sfwd-lessons .mb-course-content h2,
body.single-sfwd-lessons .mb-course-content h3,
body.single-sfwd-lessons .mb-course-content h4 {
	color: #000;
}

/* Topic H3s (e.g. “What comes next”) match content H2s like “Interpret the result”. */
body.single-sfwd-topic .bb-rl-entry-content .mb-course-content > h3,
body.single-sfwd-topic .bb-rl-entry-content h3 {
	font-size: var(--bb-rl-font-size-base, 1rem);
	font-weight: 500;
	line-height: var(--bb-rl-base-line, 1.5);
	margin-bottom: var(--bb-rl-space-200, 1rem);
}

/*
 * Sources: collapsed disclosure at the end of the reading column.
 * Prefer accordion over popup so learners keep page context; left-align
 * with body copy (citations are not a sidebar or corner control).
 */
.mb-topic-resources {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 1.5rem 0 0.35rem;
	padding: 0.75rem 0 0;
	border-top: 1px solid var(--mb-border);
	text-align: left;
}

.mb-topic-resources__title {
	margin: 0 0 0.35rem;
	color: var(--mb-ink);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.35;
}

.mb-topic-resources__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mb-topic-resources__item {
	margin: 0.2rem 0 0;
	padding: 0;
}

.mb-topic-resources + .mb-sources,
.mb-course-content .mb-topic-resources + details.mb-sources {
	margin-top: 0.35rem;
	padding-top: 0.55rem;
	border-top: none;
}

.mb-sources,
.mb-course-content details.mb-sources {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 1.5rem 0 0;
	padding: 0.75rem 0 0;
	border: none;
	border-top: 1px solid var(--mb-border);
	border-radius: 0;
	background: transparent;
	text-align: left;
}

.mb-sources__summary {
	display: list-item;
	width: fit-content;
	max-width: 100%;
	color: var(--mb-muted);
	cursor: pointer;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	list-style-position: outside;
}

.mb-sources__summary:hover,
.mb-sources__summary:focus-visible {
	color: var(--mb-ink);
}

.mb-sources__body {
	margin: 0.55rem 0 0;
	color: var(--mb-muted);
	font-size: 0.85rem;
	line-height: 1.55;
}

.mb-sources__body a {
	color: var(--mb-glossary-tip, #9c4a1f);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.mb-sources__body a:hover,
.mb-sources__body a:focus-visible {
	color: var(--mb-action-hover, #7a0000);
}

body.mb-course-resource-page .site-main article > .entry-header {
	display: none;
}

/*--------------------------------------------------------------
 * Sampler glossary tooltips (Codeat)
 *
 * Classic tooltips are absolute + 360px centered on the term.
 * Focus Mode columns and long definition+Example lines still clip
 * at the viewport edge. custom.js pins open tips with position:fixed
 * inside the viewport; CSS only unlocks overflow and styles the tip.
 *--------------------------------------------------------------*/

/* Glossary triggers: earthy orange underline — hover tip only, not a link. */
.glossary-tooltip .glossary-link,
.glossary-tooltip a,
.glossary-tooltip a.glossary-only-link,
.glossary-underline {
	background: transparent !important;
	font-weight: 400 !important;
	padding: 0 !important;
	color: var(--mb-glossary-tip, #9c4a1f) !important;
	text-decoration: underline;
	text-underline-offset: 0.12em;
	cursor: help;
}

.glossary-tooltip {
	cursor: help;
}

.glossary-tooltip a,
.glossary-tooltip a.glossary-only-link {
	pointer-events: none;
}

.glossary-tooltip:hover .glossary-link,
.glossary-tooltip:hover a,
.glossary-tooltip:focus .glossary-link,
.glossary-underline:hover,
.glossary-underline:focus {
	color: var(--mb-glossary-tip, #9c4a1f) !important;
}

/* Definition popup: dark earthy orange, white text. */
.glossary-tooltip-content,
.glossary-tooltip-content-mobile {
	background: var(--mb-glossary-tip, #9c4a1f) !important;
	color: #fff;
}

.glossary-tooltip-content::after {
	border-top-color: var(--mb-glossary-tip, #9c4a1f) !important;
}

.glossary-tooltip-text,
.glossary-tooltip-text-mobile {
	color: #fff !important;
}

/* Worksheet / source links in topic copy (not glossary terms). */
body.single-sfwd-topic a.mb-topic-resource-link,
body.single-sfwd-lessons a.mb-topic-resource-link,
body.single-sfwd-topic a.mb-topic-worksheet-link,
body.single-sfwd-lessons a.mb-topic-worksheet-link {
	font-weight: 700;
	color: var(--mb-accent, #990000);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

body.single-sfwd-topic a.mb-topic-resource-link:hover,
body.single-sfwd-lessons a.mb-topic-resource-link:hover,
body.single-sfwd-topic a.mb-topic-worksheet-link:hover,
body.single-sfwd-lessons a.mb-topic-worksheet-link:hover,
body.single-sfwd-topic a.mb-topic-resource-link:focus-visible,
body.single-sfwd-lessons a.mb-topic-resource-link:focus-visible,
body.single-sfwd-topic a.mb-topic-worksheet-link:focus-visible,
body.single-sfwd-lessons a.mb-topic-worksheet-link:focus-visible {
	color: var(--mb-action-hover, #7a0000);
}

.glossary-tooltip-text br,
.glossary-tooltip-text-mobile br {
	display: block;
	content: "";
	margin-top: 0.35em;
}

.glossary-tooltip-text br + br,
.glossary-tooltip-text-mobile br + br {
	margin-top: 0.85em;
}

/* Do not clip glossary popups inside Focus Mode / topic shells. */
body.single-sfwd-topic .bb-learndash-content-wrap,
body.single-sfwd-topic .bb-learndash-content-area,
body.single-sfwd-topic .bb-rl-topic-block,
body.single-sfwd-topic .bb-rl-lms-inner-block,
body.single-sfwd-topic .bb-rl-entry-content,
body.single-sfwd-lesson .bb-learndash-content-wrap,
body.single-sfwd-lesson .bb-learndash-content-area {
	overflow: visible;
}

/* JS-placed tips: fixed to the viewport above the sticky menu. */
.glossary-tooltip-content.mb-glossary-placed {
	position: fixed !important;
	right: auto !important;
	bottom: auto !important;
	margin: 0 !important;
	transform: none !important;
	max-width: calc(100vw - 1.5rem) !important;
	max-height: min(70vh, 24rem);
	overflow-x: hidden;
	overflow-y: auto;
	box-sizing: border-box;
	z-index: 1000001 !important;
}

.glossary-tooltip-content.mb-glossary-placed::after {
	display: none;
}

@media (max-width: 768px) {
	/*
	 * Fallback when JS has not placed yet: full-width panel.
	 * Once .mb-glossary-placed is set, the rules above win.
	 */
	.glossary-tooltip:hover .glossary-tooltip-content:not(.mb-glossary-placed),
	.glossary-tooltip:focus .glossary-tooltip-content:not(.mb-glossary-placed),
	.glossary-tooltip:focus-within .glossary-tooltip-content:not(.mb-glossary-placed),
	.glossary-tooltip:active .glossary-tooltip-content:not(.mb-glossary-placed) {
		display: block !important;
		visibility: visible !important;
		pointer-events: auto;
		opacity: 1;
		position: fixed !important;
		left: 0.75rem !important;
		right: 0.75rem !important;
		bottom: auto !important;
		top: 20% !important;
		width: auto !important;
		max-width: none !important;
		max-height: min(60vh, 24rem);
		margin: 0 !important;
		transform: none !important;
		overflow-x: hidden;
		overflow-y: auto;
		box-sizing: border-box;
		z-index: 100000;
	}

	.glossary-tooltip-content:not(.mb-glossary-placed)::after {
		display: none;
	}

	.glossary-tooltip-content-mobile {
		background: var(--mb-glossary-tip, #9c4a1f);
		color: #fff;
		box-sizing: border-box;
	}

	.glossary-tooltip-text-mobile {
		display: block;
		padding: 1rem 1.1rem;
		line-height: 1.45;
	}
}

.skip-link.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	height: auto;
	width: auto;
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 100000;
	padding: 0.5rem 0.75rem;
	background: var(--mb-surface);
	color: var(--mb-ink);
	border: 2px solid var(--mb-accent);
	border-radius: 4px;
	text-decoration: none;
}

/*
 * Completion progress: use DONE-pill green instead of ReadyLaunch blue.
 * Covers sidebar checkmarks, progress bars, and LD complete status chips.
 * Track is white with a thin grey outline (industry-standard meter).
 */
.bb-rl-progress-bar,
.learndash-wrapper .ld-progress .ld-progress-bar {
	background: #fff !important;
	border: 1px solid var(--mb-border, #d5dce3);
	box-sizing: border-box;
	overflow: hidden;
}

.bb-rl-progress-bar .bb-rl-progress,
.bb-rl-course-progress .bb-rl-progress-bar .bb-rl-progress,
.learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage,
.bb-rl-ld-lesson-list .ld-status-icon.ld-status-complete,
.bb-rl-ld-lesson-list .ld-status-icon.ld-quiz-complete,
.bb-rl-course-image .ld-status.ld-status-complete,
.bb-rl-course-details .ld-status.ld-status-complete,
.bb-rl-ld-status.ld-status-complete,
.learndash-wrapper .ld-status-complete,
.learndash-wrapper .ld-status.ld-status-complete {
	background-color: var(--mb-complete, #1b7f3a) !important;
	border-color: var(--mb-complete, #1b7f3a) !important;
	background: var(--mb-complete, #1b7f3a) !important;
}

/* Complete pills on course cards: white text on dark green for contrast. */
.bb-rl-course-image .ld-status.ld-status-complete,
.bb-rl-course-card .ld-status.ld-status-complete,
.bb-rl-course-details .ld-status.ld-status-complete,
.bb-rl-ld-status.ld-status-complete,
.learndash-wrapper .ld-status.ld-status-complete,
.learndash-wrapper .ld-status-complete {
	color: #fff !important;
}

.bb-rl-ld-lesson-list .ld-status-icon.ld-status-complete,
.bb-rl-ld-lesson-list .ld-status-icon.ld-quiz-complete {
	color: #fff !important;
}

/* Partial lesson progress ring: DONE green arc on a soft green track. */
.bb-rl-ld-lesson-list .ld-status-icon.ld-status-in-progress {
	border-color: var(--mb-complete, #1b7f3a) !important;
	border-top-color: var(--mb-complete-soft, #d8eedf) !important;
	border-left-color: var(--mb-complete-soft, #d8eedf) !important;
}

/*
 * Topic / lesson footers: no sibling “Back to Course/Lesson”; Mark Complete is
 * hidden only in auto-complete mode (body.mb-progress-auto — free sampler by
 * default). Paid courses (mb-progress-manual) keep stock Mark Complete.
 * Navigation keeps Previous / Next. Sidebar course title links back.
 */
body.mb-progress-auto.single-sfwd-topic .bb-rl-ld-module-footer .sfwd-mark-complete,
body.mb-progress-auto.single-sfwd-lessons .bb-rl-ld-module-footer .sfwd-mark-complete,
body.mb-progress-auto.single-sfwd-topic .bb-rl-ld-module-footer .learndash_mark_complete_button,
body.mb-progress-auto.single-sfwd-lessons .bb-rl-ld-module-footer .learndash_mark_complete_button,
body.mb-progress-auto.single-sfwd-topic .bb-rl-ld-module-footer form.sfwd-mark-complete,
body.mb-progress-auto.single-sfwd-lessons .bb-rl-ld-module-footer form.sfwd-mark-complete,
body.mb-progress-auto.single-sfwd-topic .bb-rl-ld-module-footer .learndash_mark_incomplete_button,
body.mb-progress-auto.single-sfwd-lessons .bb-rl-ld-module-footer .learndash_mark_incomplete_button,
body.mb-progress-manual.single-sfwd-topic .bb-rl-ld-module-footer .learndash_mark_incomplete_button,
body.mb-progress-manual.single-sfwd-lessons .bb-rl-ld-module-footer .learndash_mark_incomplete_button,
body.single-sfwd-topic .bb-rl-ld-module-footer a.ld-course-step-back,
body.single-sfwd-lessons .bb-rl-ld-module-footer a.ld-course-step-back,
body.single-sfwd-topic .bb-rl-ld-module-footer a.ld-primary-color.ld-course-step-back,
body.single-sfwd-lessons .bb-rl-ld-module-footer a.ld-primary-color.ld-course-step-back {
	display: none !important;
}

/* Footer “Back to Lesson/Course” text link (not the sidebar button). */
body.single-sfwd-topic .bb-rl-ld-module-footer a.ld-primary-color:not(.ld-button),
body.single-sfwd-lessons .bb-rl-ld-module-footer a.ld-primary-color:not(.ld-button) {
	display: none !important;
}

/* Previous / Next Topic (and Lesson/Quiz) step buttons. */
body.single-sfwd-topic .ld-content-actions a.ld-button,
body.single-sfwd-lessons .ld-content-actions a.ld-button,
body.single-sfwd-topic .bb-rl-ld-module-footer a.ld-button,
body.single-sfwd-lessons .bb-rl-ld-module-footer a.ld-button {
	color: var(--mb-action, #990000) !important;
	font-weight: 700 !important;
	background: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

body.single-sfwd-topic .ld-content-actions a.ld-button:hover,
body.single-sfwd-lessons .ld-content-actions a.ld-button:hover,
body.single-sfwd-topic .ld-content-actions a.ld-button:focus,
body.single-sfwd-lessons .ld-content-actions a.ld-button:focus,
body.single-sfwd-topic .bb-rl-ld-module-footer a.ld-button:hover,
body.single-sfwd-lessons .bb-rl-ld-module-footer a.ld-button:hover,
body.single-sfwd-topic .bb-rl-ld-module-footer a.ld-button:focus,
body.single-sfwd-lessons .bb-rl-ld-module-footer a.ld-button:focus {
	color: var(--mb-action-hover, #7a0000) !important;
	background: transparent !important;
	border-color: transparent !important;
}

body.single-sfwd-topic .ld-content-actions a.ld-button .ld-icon,
body.single-sfwd-lessons .ld-content-actions a.ld-button .ld-icon,
body.single-sfwd-topic .bb-rl-ld-module-footer a.ld-button .ld-icon,
body.single-sfwd-lessons .bb-rl-ld-module-footer a.ld-button .ld-icon {
	color: inherit !important;
}

/*
 * Manual progress mode (paid courses): Mark Complete is rendered as the
 * "Next …" arrow button (.mb-complete-next). While the step is incomplete it
 * takes the right-hand slot; LearnDash's own Next link is removed server-side
 * (learndash_show_next_link) so it cannot bypass completion. Once complete,
 * LearnDash's Next link returns. No :has() dependency.
 */
body.mb-progress-manual .bb-rl-ld-module-footer .ld-content-actions .ld-content-action:nth-child(2) {
	margin-left: auto;
}

/*
 * Lesson "in progress" icon: a ring filled to the share of topics completed
 * (--mb-ring set inline by mediabrook_lesson_progress_ring_icon) instead of
 * LearnDash's fixed half circle.
 */
.ld-status-icon.ld-status-in-progress.mb-ring {
	--mb-ring-track: #d5d8de;
	--mb-ring-fill: var(--mb-complete, #1b7f3a);
	position: relative;
	transform: none !important;
	border: 0 !important;
	background: conic-gradient(var(--mb-ring-fill) var(--mb-ring, 0%), var(--mb-ring-track) 0) !important;
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
	mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
}

body.mb-progress-manual .bb-rl-ld-module-footer form.sfwd-mark-complete {
	display: inline-flex;
	margin: 0;
}

body.mb-progress-manual .bb-rl-ld-module-footer .mb-complete-next,
body.mb-progress-manual .bb-rl-ld-module-footer .mb-complete-next:hover,
body.mb-progress-manual .bb-rl-ld-module-footer .mb-complete-next:focus {
	display: inline-flex !important;
	align-items: center;
	gap: 0.4rem;
	padding: 0.6rem 1rem;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	color: var(--mb-action, #990000) !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
}

body.mb-progress-manual .bb-rl-ld-module-footer .mb-complete-next:hover,
body.mb-progress-manual .bb-rl-ld-module-footer .mb-complete-next:focus {
	color: var(--mb-action-hover, #7a0000) !important;
}

body.mb-progress-manual .bb-rl-ld-module-footer .mb-complete-next:focus-visible {
	outline: 2px solid var(--mb-action, #990000);
	outline-offset: 2px;
}

body.mb-progress-manual .bb-rl-ld-module-footer .mb-complete-next[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}

/*
 * Quiz pages: brand Start Quiz / Check, drop redundant course>quiz crumb bar,
 * keep Estimated time on its own line on the start screen, and hide intro
 * copy once individual questions are showing.
 */
body.single-sfwd-quiz .ld-quiz-status,
body.single-sfwd-quiz .ld-quiz-status .ld-breadcrumbs {
	display: none !important;
}

/* Start Quiz sits inside the quiz card, right-aligned (Check already floats in-question). */
body.single-sfwd-quiz .wpProQuiz_text,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_text,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_text {
	text-align: right;
	overflow: auto; /* contain floated Start Quiz so the card grows around it */
	padding-bottom: 0.5rem;
}

body.single-sfwd-quiz .wpProQuiz_button[name='startQuiz'],
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='startQuiz'],
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='startQuiz'] {
	float: right;
	margin: 0.75rem 0 0.25rem;
}

body.single-sfwd-quiz .wpProQuiz_button[name='startQuiz'],
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='startQuiz'],
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='startQuiz'],
body.single-sfwd-quiz .wpProQuiz_button[name='check'],
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='check'],
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='check'],
body.single-sfwd-quiz .wpProQuiz_button[name='next'],
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='next'],
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='next'],
body.single-sfwd-quiz .wpProQuiz_button[name='restartQuiz'],
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='restartQuiz'],
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='restartQuiz'],
body.single-sfwd-quiz .wpProQuiz_button_restartQuiz,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button_restartQuiz,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button_restartQuiz,
body.single-sfwd-quiz .quiz_continue_link a#quiz_continue_link,
body.single-sfwd-quiz .learndash-wrapper .quiz_continue_link a#quiz_continue_link,
body.single-sfwd-quiz .bb-rl-quiz-entry .quiz_continue_link a#quiz_continue_link,
body.single-sfwd-quiz .wpProQuiz_results .quiz_continue_link a,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_results .quiz_continue_link a,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_results .quiz_continue_link a {
	background-color: var(--mb-action, #990000) !important;
	border-color: var(--mb-action, #990000) !important;
	color: #fff !important;
}

/* Results secondary: View Questions — outline, not BuddyBoss blue/gray. */
body.single-sfwd-quiz .wpProQuiz_button[name='reShowQuestion'],
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='reShowQuestion'],
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='reShowQuestion'],
body.single-sfwd-quiz .wpProQuiz_button_reShowQuestion,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button_reShowQuestion,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button_reShowQuestion {
	background-color: transparent !important;
	border: 2px solid var(--mb-action, #990000) !important;
	color: var(--mb-action, #990000) !important;
}

body.single-sfwd-quiz .wpProQuiz_button[name='startQuiz']:hover,
body.single-sfwd-quiz .wpProQuiz_button[name='startQuiz']:focus,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='startQuiz']:hover,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='startQuiz']:focus,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='startQuiz']:hover,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='startQuiz']:focus,
body.single-sfwd-quiz .wpProQuiz_button[name='check']:hover,
body.single-sfwd-quiz .wpProQuiz_button[name='check']:focus,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='check']:hover,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='check']:focus,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='check']:hover,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='check']:focus,
body.single-sfwd-quiz .wpProQuiz_button[name='next']:hover,
body.single-sfwd-quiz .wpProQuiz_button[name='next']:focus,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='next']:hover,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='next']:focus,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='next']:hover,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='next']:focus,
body.single-sfwd-quiz .wpProQuiz_button[name='restartQuiz']:hover,
body.single-sfwd-quiz .wpProQuiz_button[name='restartQuiz']:focus,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='restartQuiz']:hover,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='restartQuiz']:focus,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='restartQuiz']:hover,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='restartQuiz']:focus,
body.single-sfwd-quiz .wpProQuiz_button_restartQuiz:hover,
body.single-sfwd-quiz .wpProQuiz_button_restartQuiz:focus,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button_restartQuiz:hover,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button_restartQuiz:focus,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button_restartQuiz:hover,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button_restartQuiz:focus,
body.single-sfwd-quiz .quiz_continue_link a#quiz_continue_link:hover,
body.single-sfwd-quiz .quiz_continue_link a#quiz_continue_link:focus,
body.single-sfwd-quiz .learndash-wrapper .quiz_continue_link a#quiz_continue_link:hover,
body.single-sfwd-quiz .learndash-wrapper .quiz_continue_link a#quiz_continue_link:focus,
body.single-sfwd-quiz .bb-rl-quiz-entry .quiz_continue_link a#quiz_continue_link:hover,
body.single-sfwd-quiz .bb-rl-quiz-entry .quiz_continue_link a#quiz_continue_link:focus,
body.single-sfwd-quiz .wpProQuiz_results .quiz_continue_link a:hover,
body.single-sfwd-quiz .wpProQuiz_results .quiz_continue_link a:focus,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_results .quiz_continue_link a:hover,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_results .quiz_continue_link a:focus,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_results .quiz_continue_link a:hover,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_results .quiz_continue_link a:focus {
	background-color: var(--mb-action-hover, #7a0000) !important;
	border-color: var(--mb-action-hover, #7a0000) !important;
	color: #fff !important;
}

body.single-sfwd-quiz .wpProQuiz_button[name='reShowQuestion']:hover,
body.single-sfwd-quiz .wpProQuiz_button[name='reShowQuestion']:focus,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='reShowQuestion']:hover,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='reShowQuestion']:focus,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='reShowQuestion']:hover,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='reShowQuestion']:focus,
body.single-sfwd-quiz .wpProQuiz_button_reShowQuestion:hover,
body.single-sfwd-quiz .wpProQuiz_button_reShowQuestion:focus,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button_reShowQuestion:hover,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button_reShowQuestion:focus,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button_reShowQuestion:hover,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button_reShowQuestion:focus {
	background-color: var(--mb-action, #990000) !important;
	border-color: var(--mb-action, #990000) !important;
	color: #fff !important;
}

body.single-sfwd-quiz .wpProQuiz_button[name='check'].mb-quiz-check-disabled,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='check'].mb-quiz-check-disabled,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='check'].mb-quiz-check-disabled,
body.single-sfwd-quiz .wpProQuiz_button[name='check']:disabled,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_button[name='check']:disabled,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_button[name='check']:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

body.single-sfwd-quiz .mb-quiz-estimate {
	margin: 0 0 0.65rem;
	color: var(--mb-muted);
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.4;
}

/* Match question prompt to answer text; leave a blank line before choices. */
body.single-sfwd-quiz .wpProQuiz_question_text,
body.single-sfwd-quiz .wpProQuiz_question_text p,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_question_text,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_question_text p,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_question_text,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_question_text p {
	color: var(--bb-rl-text-color, #242425);
	font-weight: 700;
}

body.single-sfwd-quiz .wpProQuiz_question_text,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_question_text,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_question_text {
	margin-bottom: 1.25em;
}

body.single-sfwd-quiz .wpProQuiz_question_text p,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_question_text p,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_question_text p {
	margin-bottom: 0;
}

/* Question / results view: hide start-screen estimate (quiz is a sibling of ld-tabs). */
body.single-sfwd-quiz.mb-quiz-taking .mb-course-content,
body.single-sfwd-quiz .learndash-wrapper--quiz:has(.wpProQuiz_quiz[style*='display: block']) .mb-course-content,
body.single-sfwd-quiz .learndash-wrapper--quiz:has(.wpProQuiz_results[style*='display: block']) .mb-course-content,
body.single-sfwd-quiz .learndash-wrapper:has(.wpProQuiz_quiz[style*='display: block']) .mb-course-content,
body.single-sfwd-quiz .learndash-wrapper:has(.wpProQuiz_results[style*='display: block']) .mb-course-content,
body.single-sfwd-quiz .ld-tab-content:has(.wpProQuiz_quiz[style*='display: block']) > .mb-course-content,
body.single-sfwd-quiz .ld-tab-content:has(.wpProQuiz_results[style*='display: block']) > .mb-course-content {
	display: none !important;
}

/*
 * Selected answer: earthy orange (not blue). Keeps green = correct and
 * red = action/error, so choice state does not imply grading.
 */
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem label.is-selected,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem label:focus-within,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item) label.is-selected,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item) label:focus-within,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem label.is-selected,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem label:focus-within {
	border-color: var(--mb-select, #9c4a1f) !important;
}

body.single-sfwd-quiz .wpProQuiz_questionInput[type='radio'],
body.single-sfwd-quiz .wpProQuiz_questionInput[type='checkbox'],
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_questionInput[type='radio'],
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_questionInput[type='checkbox'] {
	accent-color: var(--mb-select, #9c4a1f);
}

body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content input[type='radio'].wpProQuiz_questionInput.bbstyled:checked + span:after,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content input[type='checkbox'].wpProQuiz_questionInput.bbstyled:checked + span {
	background-color: var(--mb-select, #9c4a1f) !important;
}

body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content input[type='checkbox'].wpProQuiz_questionInput.bbstyled:checked + span {
	border-color: var(--mb-select, #9c4a1f) !important;
}

body.single-sfwd-quiz .wpProQuiz_questionList[data-type='assessment_answer'] .wpProQuiz_questionListItem label.is-selected:before,
body.single-sfwd-quiz .wpProQuiz_questionList[data-type='single'] .wpProQuiz_questionListItem label.is-selected:before,
body.single-sfwd-quiz .wpProQuiz_questionList[data-type='multiple'] .wpProQuiz_questionListItem label.is-selected:before,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_questionList[data-type='assessment_answer'] .wpProQuiz_questionListItem label.is-selected:before,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_questionList[data-type='single'] .wpProQuiz_questionListItem label.is-selected:before,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_questionList[data-type='multiple'] .wpProQuiz_questionListItem label.is-selected:before {
	background-color: var(--mb-select, #9c4a1f) !important;
}

body.single-sfwd-quiz .wpProQuiz_questionList[data-type='multiple'] .wpProQuiz_questionListItem label.is-selected:before,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_questionList[data-type='multiple'] .wpProQuiz_questionListItem label.is-selected:before {
	border-color: var(--mb-select, #9c4a1f) !important;
}

body.single-sfwd-quiz .ld-svgicon__radio-select {
	fill: var(--mb-select, #9c4a1f) !important;
}

/*
 * After Check: graded state wins over selection orange.
 * Green = correct, red = incorrect — no orange marker on green.
 */
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label.is-selected,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label:focus-within,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label.is-selected {
	border-color: var(--mb-complete, #1b7f3a) !important;
}

body.single-sfwd-quiz .wpProQuiz_questionList[data-type='single'] .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label.is-selected:before,
body.single-sfwd-quiz .wpProQuiz_questionList[data-type='multiple'] .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label.is-selected:before,
body.single-sfwd-quiz .wpProQuiz_questionList[data-type='assessment_answer'] .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label.is-selected:before,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_questionList[data-type='single'] .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label.is-selected:before,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_questionList[data-type='multiple'] .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label.is-selected:before,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_questionList[data-type='assessment_answer'] .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label.is-selected:before,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label.is-selected:before {
	background-color: var(--mb-complete, #1b7f3a) !important;
	border-color: var(--mb-complete, #1b7f3a) !important;
	color: #fff !important;
}

body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect label,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect label.is-selected,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect label.is-selected {
	border-color: var(--mb-action, #990000) !important;
}

/*
 * Graded status ("Incorrect" / "Correct answer") is absolute top-right.
 * Reserve room on the choice label so long option text cannot run under it.
 */
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerCorrect > label,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerIncorrect > label,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerCorrectIncomplete > label,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerCorrect > label,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerIncorrect > label,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerCorrectIncomplete > label {
	padding-right: 7.75rem !important;
	box-sizing: border-box;
}

body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item) .ld-quiz-question-item__status,
body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item) .ld-quiz-question-item__status {
	z-index: 1;
	max-width: 7rem;
	text-align: right;
	white-space: nowrap;
	pointer-events: none;
}

@media (max-width: 480px) {
	body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerCorrect > label,
	body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerIncorrect > label,
	body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerCorrectIncomplete > label,
	body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerCorrect > label,
	body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerIncorrect > label,
	body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item).wpProQuiz_answerCorrectIncomplete > label {
		padding-right: 1em !important;
		padding-bottom: 2.25rem !important;
	}

	body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item) .ld-quiz-question-item__status,
	body.single-sfwd-quiz .bb-rl-quiz-entry .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item) .ld-quiz-question-item__status {
		top: auto;
		bottom: 12px;
		right: 14px;
		max-width: none;
	}
}

body.single-sfwd-quiz .wpProQuiz_questionList[data-type='single'] .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect label.is-selected:before,
body.single-sfwd-quiz .wpProQuiz_questionList[data-type='multiple'] .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect label.is-selected:before,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_questionList[data-type='single'] .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect label.is-selected:before,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_questionList[data-type='multiple'] .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect label.is-selected:before,
body.single-sfwd-quiz .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect label.is-selected:before {
	background-color: var(--mb-action, #990000) !important;
	border-color: var(--mb-action, #990000) !important;
	color: #fff !important;
}

/* Feedback: left-aligned for reading; JS shows only the chosen answer's note. */
body.single-sfwd-quiz .wpProQuiz_response,
body.single-sfwd-quiz .wpProQuiz_response .wpProQuiz_AnswerMessage {
	text-align: left;
}

body.single-sfwd-quiz .wpProQuiz_AnswerMessage p.mb-quiz-feedback-hidden {
	display: none !important;
}

/* Practice card on a topic. */
.mb-try {
	margin: 1.75rem 0 1.25rem;
	padding: 1.1rem 1.25rem 1.15rem;
	background: var(--mb-surface, #fff);
	border: 1px solid var(--mb-border, #d6d9dd);
	border-left: 4px solid var(--mb-action, #990000);
	border-radius: 12px;
}

.mb-try__title {
	margin: 0 0 0.65rem;
	font-size: 1.15rem;
	line-height: 1.3;
}

.mb-try__body > :first-child {
	margin-top: 0;
}

.mb-try__body > :last-child {
	margin-bottom: 0;
}

/* Catalogue and offer buttons share one height and alignment. */
body.post-type-archive-sfwd-courses .bb-rl-course-card .bb-rl-button,
body.post-type-archive-sfwd-courses .bb-rl-course-card .button,
.mb-course-offer__cta,
.mb-course-offer__cta.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	margin: 0;
	text-align: center;
}

.mb-course-offer__action {
	margin: 0 0 0.75rem;
}

.mb-course-offer__cta {
	width: 100%;
}

/* Team request and checkout fields line up the same way. */
.mb-team-request {
	max-width: 36rem;
	margin: 2.5rem auto 0;
	padding: 1.5rem;
	background: var(--mb-surface, #fff);
	border: 1px solid var(--mb-border, #d6d9dd);
	border-radius: 12px;
}

.mb-team-request h2 {
	margin: 0 0 0.5rem;
}

.mb-macewan {
	background: var(--mb-surface);
	color: var(--mb-ink);
}

.mb-macewan__inner {
	width: min(48rem, calc(100% - (var(--mb-content-gutter) * 2)));
	margin: 0 auto;
	padding: 3rem 0 4rem;
}

.mb-macewan__kicker {
	margin: 0 0 0.5rem;
	color: var(--mb-muted, #5a6570);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.mb-macewan h1 {
	margin: 0 0 0.85rem;
	font-size: clamp(2rem, 4vw, 2.6rem);
	line-height: 1.15;
}

.mb-macewan__lead,
.mb-macewan__note,
.mb-macewan__hint {
	margin: 0 0 1.25rem;
	color: var(--mb-muted, #5a6570);
	line-height: 1.5;
}

.mb-macewan__courses {
	margin: 0 0 0.75rem;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--mb-border, #d6d9dd);
}

.mb-macewan__course {
	display: grid;
	grid-template-columns: 20rem minmax(0, 1fr);
	gap: 1rem 1.25rem;
	align-items: start;
	padding: 1.15rem 0;
	border-bottom: 1px solid var(--mb-border, #d6d9dd);
}

.mb-macewan__course-cover {
	display: block;
	width: 20rem;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 0.4rem;
	background: var(--mb-surface-soft, #f4f6f8);
	flex-shrink: 0;
}

.mb-macewan__course-cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mb-macewan__course-body {
	display: grid;
	gap: 0.4rem;
	min-width: 0;
}

.mb-macewan__course-title,
.mb-macewan__courses a.mb-macewan__course-title {
	color: var(--mb-accent, #990000);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
}

.mb-macewan__courses a.mb-macewan__course-title:hover,
.mb-macewan__courses a.mb-macewan__course-title:focus-visible {
	color: var(--mb-action-hover, #7a0000);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.mb-macewan__course-overview {
	color: var(--mb-muted, #5a6570);
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.5;
}

@media (max-width: 720px) {
	.mb-macewan__course {
		grid-template-columns: 1fr;
		gap: 0.85rem;
	}

	.mb-macewan__course-cover {
		width: min(20rem, 100%);
	}
}

.mb-macewan__notice {
	margin: 0 0 1.25rem;
	padding: 0.85rem 1rem;
	background: #e8f2ea;
	border: 1px solid #b7d4be;
	border-radius: 8px;
}

.mb-macewan__notice--warn {
	background: #fbf3ea;
	border-color: #e4d0b8;
}

.mb-macewan__form {
	max-width: 28rem;
}

.mb-macewan__hp {
	position: absolute;
	left: -9999px;
	height: 0;
	overflow: hidden;
}

.mb-team-form,
.woocommerce form.checkout,
.woocommerce form.woocommerce-form {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
}

.mb-field {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.35rem;
	margin: 0;
}

.mb-field label,
.woocommerce form .form-row label {
	display: block;
	margin: 0;
	font-weight: 600;
	line-height: 1.3;
}

.mb-field input,
.mb-field select,
.mb-field textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
	width: 100%;
	max-width: 100%;
	min-height: 2.75rem;
	margin: 0;
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--mb-border, #d6d9dd);
	border-radius: 8px;
	background: #fff;
	color: var(--mb-ink, #1e2132);
	line-height: 1.4;
	box-sizing: border-box;
}

.mb-field select,
.woocommerce form .form-row select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 2.35rem;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231c2430' d='M1.1 1.2L6 6.1l4.9-4.9L12 2.3 6 8.3 0 2.3z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.85rem center;
	background-size: 0.7rem auto;
}

.mb-field textarea,
.woocommerce form .form-row textarea {
	min-height: 7rem;
	resize: vertical;
}

.mb-choice {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	margin: 0;
	line-height: 1.4;
}

.mb-choice input[type="checkbox"],
.mb-choice input[type="radio"] {
	width: 1.05rem;
	height: 1.05rem;
	margin: 0.2rem 0 0;
	flex: 0 0 auto;
	accent-color: var(--mb-action, #990000);
}

.mb-team-form__actions {
	margin: 0.25rem 0 0;
}

.mb-team-form__actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	min-width: 10rem;
}

.mb-team-request__notice {
	margin: 0 0 0.5rem;
	padding: 0.75rem 0.9rem;
	border-radius: 8px;
	background: #eef6f0;
}

.mb-team-request__notice--error {
	background: #fdecec;
}

.woocommerce form .form-row {
	margin: 0 0 0.9rem;
	padding: 0;
	float: none;
	width: 100%;
}

.woocommerce form .form-row .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

body.single-sfwd-quiz .wpProQuiz_questionListItem > label {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	text-align: left;
}

body.single-sfwd-quiz .wpProQuiz_questionListItem > label input {
	margin-top: 0.2rem;
	flex: 0 0 auto;
}

/*--------------------------------------------------------------
 * Contact page — form-first, no public mailto.
 *-------------------------------------------------------------*/

.mb-contact {
	background: transparent;
	color: var(--mb-ink);
}

.mb-contact__inner {
	width: min(var(--mb-content-width, 68rem), calc(100% - (var(--mb-content-gutter) * 2)));
	margin: 0 auto;
	padding: 2.75rem 0 4rem;
}

.mb-contact__intro {
	max-width: 36rem;
	margin: 0 0 2rem;
}

.mb-contact h1 {
	margin: 0 0 0.65rem;
	font-size: clamp(2rem, 4vw, 2.6rem);
	line-height: 1.15;
}

.mb-contact__lead,
.mb-contact__hint,
.mb-contact__aside p {
	margin: 0;
	color: var(--mb-muted, #3f4a56);
	line-height: 1.55;
}

.mb-contact__aside p.mb-contact__mail-note {
	margin-top: 0.85rem;
}

.mb-contact__hint {
	font-size: 0.95rem;
}

.mb-contact__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.85fr);
	gap: 2.5rem 3rem;
	align-items: start;
}

.mb-contact__form-panel {
	max-width: 32rem;
}

.mb-contact__form {
	margin: 0;
}

.mb-contact__notice {
	margin: 0 0 1.25rem;
	padding: 0.85rem 1rem;
	background: #e8f2ea;
	border: 1px solid #b7d4be;
	border-radius: 8px;
}

.mb-contact__notice--warn {
	background: #fbf3ea;
	border-color: #e4d0b8;
}

.mb-contact__aside {
	display: grid;
	gap: 1.5rem;
	padding-top: 0.15rem;
}

.mb-contact__aside-block h2 {
	margin: 0 0 0.4rem;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
}

.mb-contact__aside a {
	color: var(--mb-accent, #990000);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.mb-contact__aside a:hover,
.mb-contact__aside a:focus-visible {
	color: var(--mb-action-hover, #7a0000);
}

.mb-contact__form .mb-home__cta--primary,
.mb-contact__form .mb-home__cta--primary.button {
	background-color: var(--mb-accent, #990000);
	border-color: var(--mb-accent, #990000);
	color: #fff;
}

.mb-contact__form .mb-home__cta--primary:hover,
.mb-contact__form .mb-home__cta--primary:focus,
.mb-contact__form .mb-home__cta--primary.button:hover,
.mb-contact__form .mb-home__cta--primary.button:focus {
	background-color: var(--mb-action-hover, #7a0000);
	border-color: var(--mb-action-hover, #7a0000);
	color: #fff;
}

.mb-contact__form .mb-field input:focus,
.mb-contact__form .mb-field select:focus,
.mb-contact__form .mb-field textarea:focus {
	outline: 2px solid rgba(153, 0, 0, 0.35);
	outline-offset: 1px;
	border-color: var(--mb-accent, #990000);
}

@media (max-width: 840px) {
	.mb-contact__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
	}

	.mb-contact__aside {
		padding-top: 0;
		border-top: 1px solid var(--mb-border, #d5dce3);
		padding-top: 1.5rem;
	}
}

/* ------------------------------------------------------------
 * My glossary (/glossary/)
 * ------------------------------------------------------------ */
.mb-glossary {
	padding: 2.5rem 0 4rem;
}

.mb-glossary__tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	margin: 0 0 2rem;
}

.mb-glossary__filter {
	flex: 1 1 18rem;
	max-width: 28rem;
}

.mb-glossary__filter-input {
	width: 100%;
	padding: 0.65rem 0.9rem;
	border: 1px solid var(--mb-border, #d5dce3);
	border-radius: 4px;
	background: #fff;
	font-size: 1rem;
}

.mb-glossary__filter-input:focus {
	outline: 2px solid var(--mb-accent, #990000);
	outline-offset: 1px;
	border-color: var(--mb-accent, #990000);
}

.mb-glossary__summary {
	margin: 0;
	color: var(--mb-muted, #5a6570);
	font-size: 0.95rem;
}

.mb-glossary__course {
	margin: 0 0 2.75rem;
	scroll-margin-top: 6rem;
}

.mb-glossary__course-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.25rem 1rem;
	margin: 0 0 1rem;
	padding: 0 0 0.6rem;
	border-bottom: 3px solid var(--mb-accent, #990000);
}

.mb-glossary__course-title {
	margin: 0;
	font-size: var(--mb-h2-size);
	line-height: 1.25;
}

.mb-glossary__course-title a {
	color: inherit;
	text-decoration: none;
}

.mb-glossary__course-title a:hover,
.mb-glossary__course-title a:focus {
	color: var(--mb-accent, #990000);
	text-decoration: underline;
}

.mb-glossary__course-meta {
	margin: 0;
	color: var(--mb-muted, #5a6570);
	font-size: 0.9rem;
}

.mb-glossary__list {
	margin: 0;
	display: grid;
	gap: 0;
}

.mb-glossary__term {
	display: grid;
	gap: 0.25rem 1.5rem;
	padding: 0.9rem 0;
	border-bottom: 1px solid var(--mb-border, #d5dce3);
}

.mb-glossary__word {
	margin: 0;
	font-weight: 700;
	line-height: 1.35;
}

.mb-glossary__def {
	margin: 0;
	min-width: 0;
}

.mb-glossary__definition {
	margin: 0 0 0.35rem;
	line-height: 1.5;
}

.mb-glossary__example {
	margin: 0;
	color: var(--mb-muted, #5a6570);
	font-size: 0.95rem;
	line-height: 1.5;
}

.mb-glossary__none {
	margin: 0.75rem 0 0;
	color: var(--mb-muted, #5a6570);
	font-style: italic;
}

@media screen and (min-width: 720px) {
	.mb-glossary__term {
		grid-template-columns: minmax(10rem, 16rem) minmax(0, 1fr);
	}
}

.mb-glossary__upsell {
	margin: 2rem 0 0;
	padding: 1.5rem 1.35rem;
	background: var(--mb-surface-soft, #f4f6f8);
	border: 1px solid var(--mb-border, #d5dce3);
}

.mb-glossary__upsell-title {
	margin: 0 0 0.35rem;
	font-size: 1.25rem;
}

.mb-glossary__upsell-lead {
	margin: 0 0 1.25rem;
	color: var(--mb-muted, #5a6570);
	max-width: var(--mb-measure);
}

.mb-glossary__cards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
	.mb-glossary__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.mb-glossary__cards {
		grid-template-columns: minmax(0, 1fr);
	}
}

.mb-glossary__card-link {
	display: grid;
	grid-template-columns: 5.5rem minmax(0, 1fr);
	gap: 0.9rem;
	align-items: center;
	height: 100%;
	padding: 0.85rem;
	background: #fff;
	border: 1px solid var(--mb-border, #d5dce3);
	border-radius: 6px;
	color: inherit;
	text-decoration: none;
}

.mb-glossary__card-link:hover,
.mb-glossary__card-link:focus {
	border-color: var(--mb-accent, #990000);
}

.mb-glossary__card-cover {
	display: block;
	width: 5.5rem;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 3px;
	background: var(--mb-surface-soft, #f4f6f8);
}

.mb-glossary__card-body {
	display: grid;
	gap: 0.2rem;
	min-width: 0;
}

.mb-glossary__card-title {
	font-weight: 700;
	line-height: 1.3;
}

.mb-glossary__card-meta {
	color: var(--mb-muted, #5a6570);
	font-size: 0.9rem;
}

.mb-glossary__card-cta {
	color: var(--mb-accent, #990000);
	font-weight: 600;
	font-size: 0.9rem;
}

.mb-glossary__term[hidden],
.mb-glossary__course[hidden],
.mb-glossary__none[hidden] {
	display: none;
}

/*
 * One font. Elementor's kit sets Roboto; the rest of the site uses the system
 * stack. Make the Elementor pages (About, FAQ, How it works, Teams, Resources)
 * match so they do not read as a separate site.
 */
body {
	--mb-system-font: -apple-system, system-ui, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--e-global-typography-primary-font-family: var(--mb-system-font);
	--e-global-typography-secondary-font-family: var(--mb-system-font);
	--e-global-typography-text-font-family: var(--mb-system-font);
	--e-global-typography-accent-font-family: var(--mb-system-font);
}

.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-icon-list .elementor-icon-list-text,
.elementor-widget-button .elementor-button,
.elementor-accordion .elementor-tab-title,
.elementor-accordion .elementor-tab-content {
	font-family: var(--mb-system-font);
}

/* Info pages (How it works, For Teams): decorative lesson art and pathway cards. */
.mb-figure {
	margin: 0;
	overflow: hidden;
	border-radius: 8px;
	background: var(--mb-surface-soft);
}

.mb-figure--banner {
	border-radius: 12px;
}

.mb-figure .mb-figure__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: var(--mb-fig-ratio, 3 / 2);
	object-fit: cover;
	object-position: var(--mb-fig-pos, 50% 50%);
}

/* Phones: a wide banner would shrink to a thin strip, so give it more height. */
@media screen and (max-width: 640px) {
	.mb-figure--banner .mb-figure__img {
		aspect-ratio: 16 / 9 !important;
	}
}

.mb-info-pathways {
	margin: 24px 0;
}

/* Pathway pages: purchase and refund note under the course list. */
.mb-pathway__note {
	margin: 1.25rem 0 0;
	color: #5a5a5a;
	font-size: 0.9rem;
}

/* Empty cart: plain message and a way back to the courses. */
.mb-empty-cart {
	padding: 2rem 0;
	text-align: center;
}

.mb-empty-cart .wc-block-cart__empty-cart__title::before {
	content: none;
	display: none;
}

.mb-login-alt {
	margin: 1rem 0 0;
	font-size: 0.95rem;
}

/* Legal pages: contents list. */
.mb-legal-toc {
	margin: 0 0 2rem;
	padding: 1rem 1.25rem;
	border: 1px solid #e3e3e3;
	border-radius: 8px;
	background: #fafafa;
}

.mb-legal-toc__title {
	margin: 0 0 0.5rem;
	font-weight: 700;
}

.mb-legal-toc ol {
	margin: 0;
	padding-left: 1.25rem;
	columns: 2;
	column-gap: 2rem;
}

.mb-legal-toc li {
	margin: 0;
	break-inside: avoid;
}

.mb-legal-toc a {
	display: inline-block;
	padding: 0.25rem 0;
}

@media screen and (max-width: 640px) {
	.mb-legal-toc ol {
		columns: 1;
	}
}

.mb-refund-box {
	margin: 2rem 0 0;
	padding: 1.25rem 1.4rem;
	border: 1px solid var(--mb-border);
	border-radius: 12px;
	background: var(--mb-surface);
}

.mb-refund-box__title {
	margin: 0 0 0.5rem;
	font-size: 1.15rem;
	line-height: 1.25;
	color: var(--mb-ink);
}

.mb-refund-box p {
	margin: 0 0 0.75rem;
	color: var(--mb-ink);
	line-height: 1.5;
}

.mb-refund-box__muted {
	color: var(--mb-muted);
	font-size: 0.9rem;
}

.mb-refund-box__ack {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin: 0 0 1rem;
}

.mb-refund-box__ack input {
	margin-top: 0.3rem;
}

.mb-refund-box__button {
	display: inline-block;
	padding: 0.7rem 1.15rem;
	border: 0;
	border-radius: 0.35rem;
	background: var(--mb-action, #990000);
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}

.mb-refund-box__button:hover,
.mb-refund-box__button:focus-visible {
	background: var(--mb-action-hover, #7a0000);
	color: #fff;
}

/* Phones: footer links are easy to tap. */
@media screen and (max-width: 640px) {
	.mb-footer a {
		display: inline-block;
		padding: 0.6rem 0;
		min-height: 44px;
		box-sizing: border-box;
	}

	.mb-footer__list a {
		padding: 0.15rem 0;
		min-height: 30px;
		line-height: 1.3;
	}
}

/* Internal product codes are not for learners. */
.woocommerce-order-details .bb_sku_wrapper {
	display: none;
}

/* 404 page. */
.mb-404 {
	max-width: 640px;
	margin: 3rem auto;
	text-align: center;
}

.mb-404 .search-form {
	margin: 1.5rem 0;
}

.mb-404__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
}

/* Phones: titles and menu links that are links on their own get a comfortable tap area. */
@media screen and (max-width: 640px) {
	.mb-home__card-title a,
	.mb-pathway__step-title a,
/* Classic mobile panel: hide broken BuddyBoss file-icon placeholders. */
.bb-mobile-panel-inner .menu-item > a > i.bb-icon-file,
.buddypanel-menu .menu-item > a > i.bb-icon-file,
.side-panel-menu .menu-item > a > i.bb-icon-file {
	display: none !important;
}

	.bb-mobile-panel-header .my-account-link a {
		display: inline-block;
		padding: 0.4rem 0;
	}
}

.entry-content p.mb-mail-note,
.mb-trust p.mb-mail-note {
	margin-top: 0.85rem;
}

/* About page: trust details (shown only when filled in under Settings > Trust details). */
.mb-trust {
	margin: 2.5rem 0 0;
}

.mb-trust__people,
.mb-trust__quotes {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mb-trust__person {
	display: flex;
	gap: 1rem;
	margin: 0 0 1.25rem;
}

.mb-trust__person img {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
}

.mb-trust__role {
	display: block;
	color: #5a5a5a;
	font-size: 0.9rem;
}

.mb-trust__quotes blockquote {
	margin: 0 0 1.25rem;
	padding: 0 0 0 1rem;
	border-left: 3px solid #8b0000;
}

.mb-trust__quotes footer {
	color: #5a5a5a;
	font-size: 0.9rem;
}

/* One primary button: brand colour, 7px corners, 15px medium text, everywhere. */
body .wc-block-components-checkout-place-order-button,
body .wc-block-cart__submit-button,
body .bb-rl-course-link.bb-rl-button {
	background: var(--mb-action);
	border-color: var(--mb-action);
	color: #fff;
	border-radius: 7px;
	font-size: 15px;
	font-weight: 500;
}

body .wc-block-components-checkout-place-order-button:hover,
body .wc-block-components-checkout-place-order-button:focus-visible,
body .wc-block-cart__submit-button:hover,
body .wc-block-cart__submit-button:focus-visible,
body .bb-rl-course-link.bb-rl-button:hover,
body .bb-rl-course-link.bb-rl-button:focus-visible {
	background: var(--mb-action);
	color: #fff;
	filter: brightness(0.95);
}

/*
 * Public info pages: one reading width for everything you read, steps and columns lined up with the headings.
 * Prose, the checklist and the quality list share the reading measure; the four steps keep the full width.
 */
body.mb-public-info-page .elementor .e-con .e-con {
	padding-left: 0;
	padding-right: 0;
}

body.mb-public-info-page .elementor > .e-con .elementor-widget-icon-list,
body.mb-public-info-page .elementor > .e-con > .e-con-inner .elementor-widget-icon-list {
	max-width: var(--mb-measure);
}

/* Quality list: the two half-lists become one column at the same measure. */
body.mb-public-info-page .e-con:has(> .e-con > .elementor-widget-icon-list) {
	--flex-direction: column;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
	max-width: var(--mb-measure);
}

body.mb-public-info-page .e-con:has(> .e-con > .elementor-widget-icon-list) > .e-con {
	width: 100%;
}

/* A little air between list items so each one reads as its own point. */
body.mb-public-info-page .elementor-icon-list-items {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

@media screen and (min-width: 1025px) {
	body.mb-public-info-page .e-con:has(> .e-con > .elementor-widget-heading + .elementor-widget-text-editor) {
		gap: 2rem;
	}
}

/* Phones: info pages use the screen width instead of three stacked side margins. */
@media screen and (max-width: 640px) {
	body.mb-public-info-page #content > .container {
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

	body.mb-public-info-page .elementor > .e-con {
		padding-left: 0;
		padding-right: 0;
	}
}

/* Checkout: when the browser fills a field in, keep the floating label out of the way of the value. */
.wc-block-components-text-input input:autofill + label {
	top: 6px;
	transform: scale(0.82);
}


/* Three-level bundle card and pathway topic groups. */
.mb-bundle {
	margin: 1rem 0 0;
	padding: 1rem 1.15rem;
	background: var(--mb-surface-soft);
	border: 1px solid var(--mb-border);
	border-radius: 8px;
}

.mb-bundle .mb-bundle__title {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	line-height: 1.3;
	color: var(--mb-ink);
}

.mb-bundle .mb-bundle__price {
	margin: 0 0 0.15rem;
	line-height: 1.4;
}

.mb-bundle .mb-bundle__total {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--mb-ink);
}

.mb-bundle .mb-bundle__was {
	margin-left: 0.35rem;
	font-size: 0.85rem;
	color: var(--mb-muted, #5a6570);
}

.mb-bundle .mb-bundle__save {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--mb-accent, #990000);
}

.mb-bundle .mb-bundle__action {
	margin: 0 0 0.6rem;
}

.mb-bundle .mb-bundle__note {
	margin: 0;
	font-size: 0.8rem;
	line-height: 1.5;
	color: var(--mb-muted, #5a6570);
}

.mb-pathway__topic {
	margin-top: 2.5rem;
}

.mb-pathway__topic:first-of-type {
	margin-top: 0;
}

.mb-pathway__topic-title {
	margin: 0 0 1.25rem;
	font-size: var(--mb-h2-size);
	line-height: 1.3;
	color: var(--mb-ink);
}

.mb-pathway__topic .mb-bundle {
	max-width: 28rem;
	margin-top: 1.5rem;
}

.mb-course-offer .mb-bundle {
	text-align: left;
	margin-bottom: 1rem;
}

.mb-course-offer .mb-bundle + .mb-course-facts--stacked {
	margin-top: 0.25rem;
}

.mb-course-offer .mb-bundle .mb-bundle__title {
	font-weight: 700;
}

.mb-course-offer .mb-bundle a.mb-bundle__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.5rem;
	padding: 0.5rem 1rem;
	border: 1px solid var(--mb-accent, #990000);
	border-radius: 6px;
	background: #fff;
	color: var(--mb-accent, #990000);
	font-weight: 600;
	text-decoration: none;
}

.mb-course-offer .mb-bundle a.mb-bundle__cta:hover,
.mb-course-offer .mb-bundle a.mb-bundle__cta:focus-visible {
	background: var(--mb-accent, #990000);
	color: #fff;
}

.mb-course-search .mb-course-search__field {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.mb-course-search .mb-course-search__field input[type="search"] {
	width: 150px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-size: var(--bb-rl-font-size-sm, 13px);
	font-weight: 500;
	line-height: 28px;
	color: var(--bb-rl-text-color, inherit);
}
.mb-course-search .mb-course-search__field input[type="search"]::placeholder {
	font-weight: 400;
	color: var(--bb-rl-text-secondary-color, #6b6b6b);
}
.mb-course-search .mb-course-search__field input[type="search"]:focus {
	outline: none;
}
.mb-course-search:focus-within {
	border-color: var(--mb-accent, #990000);
}
.mb-course-search .mb-course-search__submit {
	height: 24px;
	margin: 0;
	padding: 0 10px;
	border: 0;
	border-radius: 4px;
	background: var(--mb-accent, #990000);
	color: #fff;
	font-size: var(--bb-rl-font-size-sm, 13px);
	font-weight: 600;
	line-height: 24px;
	cursor: pointer;
}
.bb-rl-no-courses .mb-course-search__clear {
	margin-left: 4px;
	font-weight: 600;
}
@media (max-width: 800px) {
	.mb-course-search {
		width: 100%;
		max-width: min(360px, calc(100vw - 32px));
		box-sizing: border-box;
	}
	.mb-course-search .mb-course-search__field {
		flex: 1;
	}
	.mb-course-search .mb-course-search__field input[type="search"] {
		flex: 1;
		min-width: 0;
		width: auto;
	}
}

/* One page canvas for every template (BuddyBoss body, ReadyLaunch #page, home, register). */
html,
body,
body.register.buddypress,
body.activate.buddypress,
body.registration,
body.bb-rl-register,
body.login,
body.bb-readylaunch-template #page,
body.bb-readylaunch-template .bb-rl-site-content,
body #page,
body #content,
body #primary {
	background-color: var(--mb-page-bg);
}

/*
 * Promo banner (Black Friday). Neutral near-black so it never competes with
 * the red "Start learning" header button; the code is the only highlight.
 */
.mb-promo {
	position: relative;
	z-index: 1001;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 1rem;
	padding: 0.6rem 3rem 0.6rem 1rem;
	background: #14110f;
	color: #fff;
	font-size: 0.9rem;
	line-height: 1.4;
	text-align: center;
}

.mb-promo[hidden] {
	display: none;
}

.mb-promo__text {
	margin: 0;
}

.mb-promo__headline {
	font-weight: 700;
	margin-right: 0.35rem;
}

.mb-promo__code {
	display: inline-block;
	padding: 0.05rem 0.45rem;
	border-radius: 4px;
	background: #f4e3b5;
	color: #14110f;
	font-family: inherit;
	font-size: 0.85em;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.mb-promo__preview {
	display: inline-block;
	margin-right: 0.5rem;
	padding: 0.05rem 0.45rem;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.mb-promo .mb-promo__cta {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 0.9rem;
	border: 1px solid #fff;
	border-radius: 6px;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.mb-promo .mb-promo__cta:hover,
.mb-promo .mb-promo__cta:focus-visible {
	background: #fff;
	color: #14110f;
}

.mb-promo .mb-promo__close {
	position: absolute;
	top: 50%;
	right: 0.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #fff;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
}

.mb-promo .mb-promo__close:hover,
.mb-promo .mb-promo__close:focus-visible {
	background: rgba(255, 255, 255, 0.18);
}

.mb-promo a:focus-visible,
.mb-promo button:focus-visible {
	outline: 2px solid #f4e3b5;
	outline-offset: 2px;
}

@media screen and (max-width: 640px) {
	.mb-promo {
		justify-content: flex-start;
		padding: 0.6rem 2.75rem 0.65rem 0.9rem;
		font-size: 0.85rem;
		text-align: left;
	}

	.mb-promo__headline {
		display: block;
		margin: 0;
	}

	.mb-promo .mb-promo__cta {
		display: none;
	}
}
