/*
 * TEFL Wonderland learning site — one brand layer (1.9.0).
 * Makes Astra, the Elementor kit, LearnDash (LD30 + Design Upgrade Pro), quizzes and bbPress use the same
 * fonts, colours and buttons as teflwonderland.com: Inter for text, Montserrat for headings,
 * navy #1F2A30, teal #2E8081 / #2B7A7B, orange #F49900→#F27300, yellow #E8B000→#F7D700.
 * LearnDash, quiz and forum rules start with "html body:not(#twb)" so they outrank LearnDash's own colour settings
 * (which use !important); headings keep the colours set in Elementor (e.g. white titles on the course banners).
 * Switch it off in Communities → Enrollment settings ("Brand design layer") to compare.
 */

/* ---------- 1. One set of tokens for every layer */
html body,
html body.elementor-kit-41763 {
	--twb-navy: #1F2A30; --twb-body: #4A5A63; --twb-teal: #2E8081; --twb-teal-text: #2B7A7B; --twb-logo: #06B4BA;
	--twb-orange-a: #F49900; --twb-orange: #F27300; --twb-yellow-a: #E8B000; --twb-yellow: #F7D700; --twb-bg: #F4F8F9; --twb-line: #E3E9EC;
	/* Elementor kit globals (used by the course pages and templates) */
	--e-global-color-primary: #1F2A30; --e-global-color-secondary: #1F2A30; --e-global-color-text: #4A5A63; --e-global-color-accent: #F27300;
	--e-global-typography-primary-font-family: "Montserrat"; --e-global-typography-secondary-font-family: "Montserrat";
	--e-global-typography-text-font-family: "Inter"; --e-global-typography-accent-font-family: "Inter";
	/* Astra palette */
	--ast-global-color-0: #2E8081; --ast-global-color-1: #1F2A30; --ast-global-color-2: #1F2A30; --ast-global-color-3: #4A5A63;
	--ast-global-color-4: #F4F8F9; --ast-global-color-5: #FFFFFF; --ast-global-color-6: #E3E9EC;
}

/* ---------- 2. Type */
html body, html body button, html body input, html body select, html body textarea {
	font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}
/* The Elementor kit's own body style (DM Sans, 18px / 12px on phones, teal) is stronger than "html body", so this one carries :not(#twb) */
html body:not(#twb) { font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; color: var(--twb-body); }
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .entry-title, html body .elementor-heading-title:not([style*="font-family"]) {
	font-family: Montserrat, Inter, sans-serif; letter-spacing: 0;
}
/* The kit also styles h1–h6 (DM Sans). One step stronger than the kit, still weaker than a heading widget's own font. */
html body[class*="elementor-kit-"] h1, html body[class*="elementor-kit-"] h2, html body[class*="elementor-kit-"] h3,
html body[class*="elementor-kit-"] h4, html body[class*="elementor-kit-"] h5, html body[class*="elementor-kit-"] h6 {
	font-family: Montserrat, Inter, sans-serif;
}
/* Page and course titles from Astra (it sets its own heading font with stronger rules) */
html body:not(#twb) .entry-title, html body:not(#twb) .ast-single-post .entry-title, html body:not(#twb) .single-sfwd-courses .entry-title { font-family: Montserrat, Inter, sans-serif !important; font-weight: 800 !important; color: var(--twb-navy); }
/* Course, lesson, topic and quiz titles: a calmer size with room under the menu (1.8.0) */
html body:not(#twb)[class*="single-sfwd-"] .site-content .entry-header { padding-top: 40px !important; margin: 0 0 14px !important; }
html body:not(#twb)[class*="single-sfwd-"] .entry-title { font-size: clamp(21px, 1.6vw, 25px) !important; line-height: 1.3 !important; margin-top: 0 !important; margin-bottom: 0 !important; text-align: center !important; } /* 1.10.1: centred, black, smaller */
html body:not(#twb)[class*="single-sfwd-"] .entry-meta { display: none !important; }
@media (max-width: 640px) { html body:not(#twb)[class*="single-sfwd-"] .site-content .entry-header { padding-top: 24px !important; } }
/* Course, lesson, topic and quiz titles: black (1.10.1; teal before) */
html body:not(#twb)[class*="single-sfwd-"] .entry-title, html body:not(#twb)[class*="single-sfwd-"] .entry-title a { color: #111111 !important; }
html body .entry-content p, html body:not(#twb) .learndash-wrapper p, html body .elementor-widget-text-editor { font-size: 16px; line-height: 1.65; }
html body a { color: var(--twb-teal-text); }
html body a:hover { color: var(--twb-navy); }
html body .elementor-kit-41763 a, html body.elementor-kit-41763 a { color: var(--twb-teal-text); }

/* ---------- 3. Buttons everywhere: the "Enroll" pill (orange, dark text; teal on hover) */
html body:not(#twb) .learndash-wrapper .ld-button,
html body:not(#twb) .learndash-wrapper .btn-join,
html body:not(#twb) .learndash-wrapper #btn-join,
html body:not(#twb) .learndash-wrapper .learndash_mark_complete_button,
html body:not(#twb) .learndash-wrapper #learndash_mark_complete_button,
html body:not(#twb) .learndash-wrapper input[type="submit"],
html body:not(#twb) .learndash_mark_complete_button,
html body:not(#twb) .wpProQuiz_content .wpProQuiz_button,
html body:not(#twb) .wpProQuiz_content .wpProQuiz_button2,
html body:not(#twb) .wpProQuiz_content input[type="button"],
html body:not(#twb) .ld-course-list-items .ld_course_grid .btn-primary,
html body:not(#twb) .ld-course-list-items .ld_course_grid a.btn-primary,
html body:not(#twb) .wpsc-button.primary,
html body:not(#twb) .woocommerce a.button, html body:not(#twb) .woocommerce button.button {
	background: linear-gradient(90deg, var(--twb-orange-a), var(--twb-orange)) !important;
	color: var(--twb-navy) !important; border: 0 !important; border-radius: 999px !important;
	font: 700 15px/1.2 Inter, sans-serif !important; letter-spacing: 0 !important; text-transform: none !important;
	padding: 11px 22px !important; min-height: 44px; box-shadow: none !important; text-shadow: none !important; opacity: 1;
	transition: background .2s, color .2s;
}
html body:not(#twb) .learndash-wrapper .ld-button:hover, html body:not(#twb) .learndash-wrapper .ld-button:focus-visible,
html body:not(#twb) .learndash-wrapper .learndash_mark_complete_button:hover, html body:not(#twb) .learndash-wrapper #learndash_mark_complete_button:hover,
html body:not(#twb) .wpProQuiz_content .wpProQuiz_button:hover, html body:not(#twb) .wpProQuiz_content .wpProQuiz_button2:hover, html body:not(#twb) .wpProQuiz_content input[type="button"]:hover,
html body:not(#twb) .ld-course-list-items .ld_course_grid .btn-primary:hover,
html body:not(#twb) .wpsc-button.primary:hover,
html body:not(#twb) .woocommerce a.button:hover, html body:not(#twb) .woocommerce button.button:hover {
	background: var(--twb-teal) !important; color: #fff !important;
}
/* Secondary LearnDash buttons ("Back to course", previous/next) = the "Details" pill (teal, white text) */
html body:not(#twb) .learndash-wrapper .ld-button.ld-button-transparent,
html body:not(#twb) .learndash-wrapper .ld-content-action .ld-button.ld-button-reverse,
html body:not(#twb) .learndash-wrapper .ld-content-actions a.ld-button:not(.learndash_mark_complete_button):not(.ld-course-step-back) {
	background: var(--twb-teal) !important; color: #fff !important;
	box-shadow: 0 6px 16px rgba(46, 128, 129, .25) !important;
}
html body:not(#twb) .learndash-wrapper .ld-button.ld-button-transparent:hover,
html body:not(#twb) .learndash-wrapper .ld-content-actions a.ld-button:not(.learndash_mark_complete_button):not(.ld-course-step-back):hover { background: var(--twb-navy) !important; }
html body:not(#twb) .learndash-wrapper .ld-button .ld-icon, html body:not(#twb) .learndash-wrapper .ld-button span { color: inherit !important; }
/* "Back to course": a plain teal link between the buttons */
html body:not(#twb) .learndash-wrapper .ld-content-actions a.ld-course-step-back {
	background: none !important; box-shadow: none !important; border: 0 !important; color: var(--twb-teal-text) !important;
	font: 700 15px Inter, sans-serif !important; text-decoration: underline !important; text-underline-offset: 3px; padding: 8px 12px !important;
}
html body:not(#twb) .learndash-wrapper .ld-content-actions a.ld-course-step-back:hover { color: var(--twb-navy) !important; }
html body:not(#twb) .learndash-wrapper .learndash_mark_complete_button { text-align: center !important; }
html body:not(#twb) .learndash-wrapper .ld-content-actions { border-top: 1px solid var(--twb-line) !important; padding-top: 18px !important; }
html body:not(#twb) .learndash-wrapper .ld-content-actions .ld-content-action { gap: 8px; }

/* ---------- 4. LearnDash course page */
html body:not(#twb) .learndash-wrapper { font-family: Inter, sans-serif; color: var(--twb-body); font-size: 16px; }
html body:not(#twb) .learndash-wrapper .ld-course-status,
html body:not(#twb) .learndash-wrapper .ld-progress.ld-progress-inline,
html body:not(#twb) .learndash-wrapper .ld-course-status.ld-course-status-enrolled {
	background: #fff !important; border: 1px solid var(--twb-line) !important; border-radius: 18px !important;
	box-shadow: 0 10px 28px rgba(31, 42, 48, .06) !important;
}
html body:not(#twb) .learndash-wrapper .ld-course-status .ld-progress, html body:not(#twb) .learndash-wrapper .ld-course-status .ld-progress.ld-progress-inline { border: 0 !important; box-shadow: none !important; background: none !important; }
html body:not(#twb) .learndash-wrapper .ld-progress .ld-progress-bar { background: var(--twb-bg) !important; border-radius: 999px !important; height: 10px !important; }
html body:not(#twb) .learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage { background: linear-gradient(90deg, var(--twb-orange-a), var(--twb-orange)) !important; border-radius: 999px !important; }
html body:not(#twb) .learndash-wrapper .ld-progress .ld-progress-heading .ld-progress-label,
html body:not(#twb) .learndash-wrapper .ld-progress .ld-progress-stats .ld-progress-percentage { color: var(--twb-navy) !important; font: 700 14px/1.3 Inter, sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; }
html body:not(#twb) .learndash-wrapper .ld-progress .ld-progress-stats .ld-progress-steps,
html body:not(#twb) .learndash-wrapper .ld-progress .ld-progress-stats .ld-progress-percentage + * { color: var(--twb-body) !important; font-size: 14px !important; }
/* status badges */
html body:not(#twb) .learndash-wrapper .ld-status { border-radius: 999px !important; font: 700 12px/1 Inter, sans-serif !important; letter-spacing: .3px !important; text-transform: uppercase; padding: 6px 12px !important; }
html body:not(#twb) .learndash-wrapper .ld-status.ld-status-progress, html body:not(#twb) .learndash-wrapper .ld-status.ld-status-incomplete { background: linear-gradient(135deg, var(--twb-yellow-a), var(--twb-yellow)) !important; color: var(--twb-navy) !important; }
html body:not(#twb) .learndash-wrapper .ld-status.ld-status-complete, html body:not(#twb) .learndash-wrapper .ld-status.ld-status-success { background: #D9F2EC !important; color: #145C4E !important; }
html body:not(#twb) .learndash-wrapper .ld-status.ld-status-waiting, html body:not(#twb) .learndash-wrapper .ld-status.ld-status-unlocked { background: var(--twb-bg) !important; color: var(--twb-navy) !important; }
/* tabs */
html body:not(#twb) .learndash-wrapper .ld-tabs .ld-tabs-navigation { border-bottom: 2px solid var(--twb-line) !important; }
html body:not(#twb) .learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab { color: var(--twb-body) !important; font: 700 15px Inter, sans-serif !important; }
html body:not(#twb) .learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab.ld-active { color: var(--twb-navy) !important; }
html body:not(#twb) .learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab.ld-active::after { background: var(--twb-orange) !important; height: 3px !important; }
/* lesson list */
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-section-heading { background: none !important; border: 0 !important; padding: 0 0 12px !important; }
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-section-heading h2 { font: 800 22px/1.3 Montserrat, Inter, sans-serif !important; color: var(--twb-navy) !important; text-transform: none !important; }
/* Section headings inside the lesson list ("Zone One: …"): teal band, white text */
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-section-heading { background: var(--twb-teal) !important; border-radius: 12px !important; padding: 12px 16px !important; margin: 18px 0 10px !important; border: 0 !important; }
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-section-heading .ld-lesson-section-heading,
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-section-heading * { font: 700 17px/1.35 Montserrat, Inter, sans-serif !important; color: #fff !important; text-transform: none !important; background: none !important; }
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-preview { min-height: 0 !important; padding: 14px 16px !important; }
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-items { background: none !important; }
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-item {
	border: 1px solid var(--twb-line) !important; border-radius: 14px !important; background: #fff !important; margin-bottom: 10px !important;
	box-shadow: none !important; transition: border-color .2s, box-shadow .2s;
}
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-item:hover { border-color: var(--twb-teal) !important; box-shadow: 0 8px 20px rgba(31, 42, 48, .08) !important; }
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name,
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-title { color: var(--twb-teal-text) !important; font: 600 16px/1.4 Inter, sans-serif !important; transition: color .2s; }
/* Hover: the lesson title turns orange */
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name:hover,
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name:hover .ld-item-title,
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-item:hover > .ld-item-list-item-preview .ld-item-name,
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-item:hover > .ld-item-list-item-preview .ld-item-title { color: var(--twb-orange) !important; }
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-components,
html body:not(#twb) .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-component { color: var(--twb-body) !important; font-size: 13px !important; }
html body:not(#twb) .learndash-wrapper .ld-status-icon.ld-status-complete { background: var(--twb-teal) !important; }
html body:not(#twb) .learndash-wrapper .ld-status-icon.ld-status-in-progress { border-color: var(--twb-orange) !important; border-left-color: transparent !important; }
html body:not(#twb) .learndash-wrapper .ld-expand-button, html body:not(#twb) .learndash-wrapper .ld-expand-button.ld-primary-color { background: var(--twb-bg) !important; color: var(--twb-navy) !important; border-radius: 999px !important; font: 700 13px Inter, sans-serif !important; }
html body:not(#twb) .learndash-wrapper .ld-expand-button .ld-icon { background: var(--twb-teal) !important; color: #fff !important; border-radius: 50%; }
html body:not(#twb) .learndash-wrapper .ld-table-list .ld-table-list-header { background: var(--twb-teal) !important; border-radius: 12px 12px 0 0 !important; }
html body:not(#twb) .learndash-wrapper .ld-table-list .ld-table-list-header * { color: #fff !important; }
html body:not(#twb) .learndash-wrapper .ld-table-list .ld-table-list-item a { color: var(--twb-teal-text) !important; transition: color .2s; }
html body:not(#twb) .learndash-wrapper .ld-table-list .ld-table-list-item a:hover, html body:not(#twb) .learndash-wrapper .ld-table-list .ld-table-list-item a:hover * { color: var(--twb-orange) !important; }
/* breadcrumbs and alerts */
html body:not(#twb) .learndash-wrapper .ld-breadcrumbs { background: var(--twb-bg) !important; border-radius: 14px !important; }
html body:not(#twb) .learndash-wrapper .ld-breadcrumbs a { color: var(--twb-teal-text) !important; font-weight: 600; }
html body:not(#twb) .learndash-wrapper .ld-alert { border-radius: 14px !important; border-width: 1px !important; }
html body:not(#twb) .learndash-wrapper .ld-alert.ld-alert-success { border-color: var(--twb-teal) !important; }
html body:not(#twb) .learndash-wrapper .ld-alert.ld-alert-warning { border-color: var(--twb-orange) !important; }
html body:not(#twb) .learndash-wrapper .ld-alert .ld-alert-icon { background: var(--twb-teal) !important; }
html body:not(#twb) .learndash-wrapper .ld-alert.ld-alert-warning .ld-alert-icon { background: var(--twb-orange) !important; }

/* ---------- 5. Focus mode (lessons and topics) */
html body:not(#twb) .ld-focus .ld-focus-header { border-bottom: 1px solid var(--twb-line) !important; }
html body:not(#twb) .ld-focus .ld-focus-header .ld-progress .ld-progress-bar .ld-progress-bar-percentage { background: linear-gradient(90deg, var(--twb-orange-a), var(--twb-orange)) !important; }
html body:not(#twb) .ld-focus .ld-focus-sidebar { background: #fff !important; border-right: 1px solid var(--twb-line) !important; }
html body:not(#twb) .ld-focus .ld-focus-sidebar .ld-course-navigation-heading,
html body:not(#twb) .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger { background: var(--twb-teal) !important; }
html body:not(#twb) .ld-focus .ld-focus-sidebar .ld-course-navigation-heading h3 a { color: #fff !important; font-family: Montserrat, Inter, sans-serif !important; }
html body:not(#twb) .ld-focus .ld-focus-sidebar .ld-lesson-item.ld-is-current-lesson,
html body:not(#twb) .ld-focus .ld-focus-sidebar .ld-table-list-item-preview.ld-is-current-item { background: #FFF8D6 !important; }
html body:not(#twb) .ld-focus .ld-focus-sidebar .ld-lesson-item-preview-heading .ld-lesson-title { color: var(--twb-navy) !important; font-weight: 600 !important; }

/* ---------- 6. Quizzes */
html body:not(#twb) .wpProQuiz_content { font-family: Inter, sans-serif; color: var(--twb-body); }
html body:not(#twb) .wpProQuiz_content .wpProQuiz_question_text { font: 600 18px/1.5 Inter, sans-serif; color: var(--twb-navy); }
html body:not(#twb) .wpProQuiz_content .wpProQuiz_questionListItem { border-radius: 12px !important; }
html body:not(#twb) .wpProQuiz_content .wpProQuiz_questionListItem label { border: 1px solid var(--twb-line) !important; border-radius: 12px !important; padding: 12px 14px !important; background: #fff; display: block; font-size: 16px !important; line-height: 1.5; }
html body:not(#twb) .wpProQuiz_content .wpProQuiz_questionListItem label:hover { border-color: var(--twb-teal) !important; }
html body:not(#twb) .wpProQuiz_content .wpProQuiz_questionListItem label.is-selected,
html body:not(#twb) .wpProQuiz_content .wpProQuiz_questionListItem input:checked + label { border-color: var(--twb-teal) !important; background: #E1F4F5 !important; }
html body:not(#twb) .wpProQuiz_content .wpProQuiz_correct { border-radius: 12px !important; background: #E8F5EF !important; border-color: #3FA37A !important; }
html body:not(#twb) .wpProQuiz_content .wpProQuiz_incorrect { border-radius: 12px !important; background: #FDECEC !important; border-color: #D64545 !important; }
html body:not(#twb) .wpProQuiz_content .wpProQuiz_reviewQuestion li.wpProQuiz_reviewQuestionTarget { background: var(--twb-orange) !important; }
html body:not(#twb) .wpProQuiz_content .wpProQuiz_reviewQuestion li.wpProQuiz_reviewQuestionSolved { background: var(--twb-teal) !important; }
html body:not(#twb) .wpProQuiz_content .wpProQuiz_time_limit .wpProQuiz_progress { background: linear-gradient(90deg, var(--twb-orange-a), var(--twb-orange)) !important; }

/* ---------- 7. Course grid, certificates, profile */
html body:not(#twb) .ld-course-list-items .ld_course_grid .thumbnail.course { border: 1px solid var(--twb-line) !important; border-radius: 18px !important; overflow: hidden; box-shadow: 0 10px 28px rgba(31, 42, 48, .06) !important; }
html body:not(#twb) .ld-course-list-items .ld_course_grid .thumbnail.course .caption h3, html body:not(#twb) .ld-course-list-items .ld_course_grid .thumbnail.course .caption h3 a { font: 700 18px/1.35 Montserrat, Inter, sans-serif !important; color: var(--twb-teal) !important; transition: color .2s; }
html body:not(#twb) .ld-course-list-items .ld_course_grid .thumbnail.course:hover .caption h3, html body:not(#twb) .ld-course-list-items .ld_course_grid .thumbnail.course:hover .caption h3 a { color: var(--twb-orange) !important; }
html body:not(#twb) .ld-course-list-items .ld_course_grid .thumbnail.course .ribbon { background: var(--twb-teal) !important; border-radius: 999px !important; }
html body:not(#twb) .learndash-wrapper .ld-profile-summary .ld-profile-stats .ld-profile-stat strong { color: var(--twb-navy) !important; font-family: Montserrat, Inter, sans-serif !important; }

/* ---------- 8. Forms (WooCommerce My Account, support, profile) */
html body input[type="text"], html body input[type="email"], html body input[type="password"], html body input[type="number"], html body input[type="search"], html body input[type="url"], html body input[type="date"], html body select, html body textarea {
	border: 1px solid #C9D3D8; border-radius: 10px; font-size: 16px;
}
html body input:focus, html body select:focus, html body textarea:focus { border-color: var(--twb-teal) !important; outline: 0; box-shadow: 0 0 0 3px rgba(46, 128, 129, .18); }

/* ---------- 9. Content width: course and lesson pages breathe on large screens */
html body.learndash-cpt .ast-container { max-width: 1240px; }

/* ---------- 1.7.2: interactive-content launcher ("Start Your Adventure", Tin Canny) = the Enroll pill */
html body:not(#twb) .uo-tclr-open-content-button {
	display: inline-flex !important; align-items: center; gap: 10px;
	background: linear-gradient(90deg, var(--twb-orange-a), var(--twb-orange)) !important; color: var(--twb-navy) !important;
	border: 0 !important; border-radius: 999px !important; padding: 14px 30px !important;
	font: 700 17px/1.2 Inter, sans-serif !important; box-shadow: 0 8px 22px rgba(242, 115, 0, .25) !important;
	transition: background .2s, color .2s, transform .2s;
}
html body:not(#twb) .uo-tclr-open-content-button .uo-tclr-open-content-button__text,
html body:not(#twb) .uo-tclr-open-content-button .uo-tclr-open-content-button__icon { color: inherit !important; font: inherit !important; }
html body:not(#twb) .uo-tclr-open-content-button .uo-tclr-open-content-button__icon svg { width: 20px; height: 20px; }
html body:not(#twb) a:hover > .uo-tclr-open-content-button, html body:not(#twb) a:focus-visible > .uo-tclr-open-content-button,
html body:not(#twb) .uo-tclr-open-content-button:hover { background: var(--twb-teal) !important; color: #fff !important; transform: translateY(-1px); }

/* ---------- 1.8.1: Hello theme layout for LearnDash pages (course, lesson, topic, quiz)
   Hello has no content box of its own on these pages: give the title and the LearnDash area the same 1240px box Astra had. */
html body.theme-hello-elementor[class*="single-sfwd-"] .site-main > .page-header,
html body.theme-hello-elementor[class*="single-sfwd-"] .site-main > .page-content > .learndash,
html body.theme-hello-elementor[class*="single-sfwd-"] .site-main > .page-content > .learndash-wrapper { max-width: 1240px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }
html body:not(#twb).theme-hello-elementor[class*="single-sfwd-"] .site-main > .page-header { padding-top: 40px; margin-bottom: 16px; }
html body:not(#twb).theme-hello-elementor[class*="single-sfwd-"] .site-main > .page-header .entry-title { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
html body.theme-hello-elementor[class*="single-sfwd-"] .site-main > .page-content { padding-bottom: 56px; }
@media (max-width: 640px) {
	html body.theme-hello-elementor[class*="single-sfwd-"] .site-main > .page-header,
	html body.theme-hello-elementor[class*="single-sfwd-"] .site-main > .page-content > .learndash,
	html body.theme-hello-elementor[class*="single-sfwd-"] .site-main > .page-content > .learndash-wrapper { padding-left: 16px; padding-right: 16px; }
	html body:not(#twb).theme-hello-elementor[class*="single-sfwd-"] .site-main > .page-header { padding-top: 24px; }
}
/* Hello: pages that are not built with Elementor (My Account and similar) get a light box and breathing room */
html body.theme-hello-elementor:not([class*="elementor-page-"]):not(.twlf-page) .site-main { padding-top: 32px; padding-bottom: 56px; }

/* ==========================================================================
   1.9.0: one standard across the whole site (all Elementor pages, not only LearnDash)
   ========================================================================== */

/* ---------- Fonts: headings and titles Montserrat; text Inter. Overrides fonts set inside single widgets (sizes and colours stay). */
html body:not(#twb) .elementor-heading-title,
html body:not(#twb) .elementor-image-box-title, html body:not(#twb) .elementor-icon-box-title,
html body:not(#twb) .elementor-flip-box__layer__title, html body:not(#twb) .elementor-cta__title,
html body:not(#twb) .elementor-price-table__heading, html body:not(#twb) .elementor-price-table__currency, html body:not(#twb) .elementor-price-table__integer-part,
html body:not(#twb) .elementor-counter-number-wrapper, html body:not(#twb) .elementor-counter-title,
html body:not(#twb) .elementor-testimonial__name, html body:not(#twb) .elementor-testimonial-name,
html body:not(#twb) .elementor-tab-title, html body:not(#twb) .elementor-accordion-title, html body:not(#twb) .elementor-toggle-title,
html body:not(#twb) .elementor-slide-heading, html body:not(#twb) .elementor-headline, html body:not(#twb) .elementor-author-box__name,
html body:not(#twb) .elementor-widget-text-editor :is(h1, h2, h3, h4, h5, h6), html body:not(#twb) .elementor-widget-text-editor :is(h1, h2, h3, h4, h5, h6) * {
	font-family: Montserrat, Inter, sans-serif !important; letter-spacing: 0 !important;
}
html body:not(#twb) .elementor-widget-text-editor, html body:not(#twb) .elementor-widget-text-editor :is(p, li, span, strong, b, em, a, div, td, th, blockquote, label),
html body:not(#twb) .elementor-image-box-description, html body:not(#twb) .elementor-icon-box-description,
html body:not(#twb) .elementor-flip-box__layer__description, html body:not(#twb) .elementor-cta__description,
html body:not(#twb) .elementor-testimonial__text, html body:not(#twb) .elementor-testimonial-content, html body:not(#twb) .elementor-testimonial__title,
html body:not(#twb) .elementor-icon-list-text, html body:not(#twb) .elementor-tab-content, html body:not(#twb) .elementor-price-table__features-list,
html body:not(#twb) .elementor-slide-description, html body:not(#twb) .elementor-blockquote__content, html body:not(#twb) .elementor-author-box__bio,
html body:not(#twb) .elementor-post-info, html body:not(#twb) .elementor-field-group, html body:not(#twb) .elementor-field {
	font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}
/* headings typed inside a text box keep Montserrat (the line above must not win for them) */
html body:not(#twb) .elementor-widget-text-editor :is(h1, h2, h3, h4, h5, h6) :is(span, strong, b, em, a) { font-family: Montserrat, Inter, sans-serif !important; }

/* ---------- Buttons: every Elementor button = the "Enroll" pill (orange gradient, navy text; teal with white text on hover) */
html body:not(#twb) a.elementor-button, html body:not(#twb) button.elementor-button, html body:not(#twb) .elementor-button-wrapper .elementor-button,
html body:not(#twb) .elementor-cta__button, html body:not(#twb) .elementor-price-table__button, html body:not(#twb) .elementor-flip-box__button, html body:not(#twb) .elementor-slide-button,
html body:not(#twb) .wpforms-container button[type="submit"], html body:not(#twb) .wpforms-container .wpforms-submit,
html body:not(#twb) .wpforms-container .wpforms-page-button {
	background: linear-gradient(90deg, var(--twb-orange-a), var(--twb-orange)) !important; color: var(--twb-navy) !important;
	border: 0 !important; border-radius: 999px !important; box-shadow: none !important; text-shadow: none !important;
	font-family: Inter, sans-serif !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important;
	padding: 12px 26px !important; min-height: 44px; line-height: 1.2 !important; transition: background .2s, color .2s, transform .2s !important;
}
html body:not(#twb) .elementor-button.elementor-size-xs, html body:not(#twb) .elementor-button.elementor-size-sm { padding: 10px 20px !important; font-size: 15px !important; }
html body:not(#twb) .elementor-button.elementor-size-lg, html body:not(#twb) .elementor-button.elementor-size-xl { padding: 15px 34px !important; font-size: 18px !important; }
html body:not(#twb) a.elementor-button:hover, html body:not(#twb) button.elementor-button:hover, html body:not(#twb) .elementor-button-wrapper .elementor-button:hover,
html body:not(#twb) a.elementor-button:focus-visible, html body:not(#twb) .elementor-button-wrapper .elementor-button:focus-visible,
html body:not(#twb) .elementor-cta__button:hover, html body:not(#twb) .elementor-price-table__button:hover, html body:not(#twb) .elementor-flip-box__button:hover, html body:not(#twb) .elementor-slide-button:hover,
html body:not(#twb) .wpforms-container button[type="submit"]:hover, html body:not(#twb) .wpforms-container .wpforms-page-button:hover {
	background: var(--twb-teal) !important; color: #fff !important; transform: translateY(-1px);
}
html body:not(#twb) .elementor-button .elementor-button-text, html body:not(#twb) .elementor-button .elementor-button-icon,
html body:not(#twb) .elementor-button .elementor-button-icon i, html body:not(#twb) .elementor-button .elementor-button-icon svg { color: inherit !important; fill: currentColor !important; }

/* ---------- Forms (WPForms, Elementor forms): the same fields as the rest of the site */
html body:not(#twb) .wpforms-container .wpforms-field-label, html body:not(#twb) .elementor-field-label { color: var(--twb-navy) !important; font: 600 15px/1.4 Inter, sans-serif !important; }
html body:not(#twb) .wpforms-container input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
html body:not(#twb) .wpforms-container select, html body:not(#twb) .wpforms-container textarea,
html body:not(#twb) .elementor-field-group .elementor-field-textual {
	border: 1px solid #C9D3D8 !important; border-radius: 10px !important; background: #fff !important; color: var(--twb-navy) !important;
	font: 400 16px/1.5 Inter, sans-serif !important; padding: 10px 14px !important; box-shadow: none !important;
}
html body:not(#twb) .wpforms-container input:focus, html body:not(#twb) .wpforms-container select:focus, html body:not(#twb) .wpforms-container textarea:focus,
html body:not(#twb) .elementor-field-group .elementor-field-textual:focus { border-color: var(--twb-teal) !important; box-shadow: 0 0 0 3px rgba(46, 128, 129, .18) !important; outline: 0; }

/* ---------- Links inside Elementor text */
html body:not(#twb) .elementor-widget-text-editor a:not(.elementor-button) { color: var(--twb-teal-text); text-decoration: underline; text-underline-offset: 2px; }
html body:not(#twb) .elementor-widget-text-editor a:not(.elementor-button):hover { color: var(--twb-orange); }
