/* LD Demo Seeder - two-column levels layout. Colours are placeholders: edit the variables. */
:root {
	--ldds-page-1: #1d6fb8;
	--ldds-page-2: #0e4f94;
	--ldds-panel: #e9f3ff;
	--ldds-panel-border: #ffffff;
	--ldds-heading: #1f9bde;
	--ldds-yellow: #ffd426;
	--ldds-yellow-text: #6a4b00;
	--ldds-blue: #1565b0;
	--ldds-prompt: #3d9ad9;
	--ldds-done: #2fb344;
	--ldds-idle: #666;
	--ldds-title-red: #c8203c;
	--ldds-font: "Comic Sans MS", "Comic Neue", "Chalkboard SE", "Marker Felt", cursive, sans-serif;
}

body.ldds-layout {
	background: linear-gradient(180deg, var(--ldds-page-1), var(--ldds-page-2)) fixed !important;
}

/* Let the content area use the full width and drop the theme's own sidebar/title chrome where possible. */
body.ldds-layout .ldds-wrap {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(240px, 3fr);
	gap: 16px;
	max-width: 1180px;
	margin: 0 auto;
	padding: 16px;
	box-sizing: border-box;
}

.ldds-main,
.ldds-side {
	background: var(--ldds-panel);
	border: 6px solid var(--ldds-panel-border);
	border-radius: 10px;
	padding: 20px 22px;
	box-sizing: border-box;
}

.ldds-main h1,
.ldds-main h2:first-child {
	color: var(--ldds-heading);
	text-align: center;
	font-weight: 400;
}
.ldds-main h3,
.ldds-main h4 {
	color: var(--ldds-heading);
}
.ldds-main iframe,
.ldds-main video {
	max-width: 100%;
}
.ldds-main .wp-block-embed__wrapper {
	position: relative;
	padding-top: 56.25%;
}
.ldds-main .wp-block-embed__wrapper iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

/* Hide LearnDash's own course content table when the sidebar replaces it. */
body.single-sfwd-courses .ldds-main .ld-item-list,
body.single-sfwd-courses .ldds-main .ld-course-status.ld-course-status-enrolled {
	display: none;
}
/* Visitors who are not enrolled keep LearnDash's price and "Take this Course" button, laid out as one tidy row */
body.single-sfwd-courses .ldds-main .ld-course-status.ld-course-status-not-enrolled {
	display: flex !important;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 0;
	margin: 0 0 24px;
	padding: 14px 8px;
	background: #f1f4f8;
	border-radius: 10px;
}
body.single-sfwd-courses .ldds-main .ld-course-status.ld-course-status-not-enrolled .ld-course-status-segment {
	display: flex !important;
	flex: 1 1 180px;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	margin: 0 !important;
	padding: 6px 14px !important;
	text-align: center;
	border: 0 !important;
	border-right: 1px solid #c5ced8 !important;
	min-height: 0 !important;
	height: auto !important;
}
body.single-sfwd-courses .ldds-main .ld-course-status.ld-course-status-not-enrolled .ld-course-status-segment:last-child { border-right: 0 !important; }
body.single-sfwd-courses .ldds-main .ld-course-status-not-enrolled .ld-course-status-label { margin: 0 !important; }
body.single-sfwd-courses .ldds-main .ld-course-status-not-enrolled .ld-course-status-content { margin: 0 !important; }
@media (max-width: 600px) {
	body.single-sfwd-courses .ldds-main .ld-course-status.ld-course-status-not-enrolled .ld-course-status-segment { border-right: 0 !important; border-bottom: 1px solid #c5ced8 !important; flex-basis: 100%; }
}

/* Sidebar */
.ldds-side {
	align-self: start;
	background: transparent;
	border: 0;
	padding: 0;
}
.ldds-sidebar {
	background: var(--ldds-panel);
	border: 6px solid var(--ldds-panel-border);
	border-radius: 10px;
	padding: 14px;
}

.ldds-btn {
	display: block;
	margin: 0 0 10px;
	padding: 10px 14px;
	border-radius: 4px;
	font-weight: 700;
	text-align: center;
	text-decoration: none !important;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.25);
}
.ldds-btn--yellow { background: var(--ldds-yellow); color: var(--ldds-yellow-text) !important; }
.ldds-btn--blue   { background: var(--ldds-blue);   color: #fff !important; }

.ldds-prompt {
	margin: 14px 0;
	padding: 12px 14px;
	background: var(--ldds-prompt);
	color: #fff;
	font-size: 1.1em;
	line-height: 1.3;
}

/* Level accordion (native <details>, no JavaScript) */
.ldds-level { margin: 0 0 14px; }
.ldds-level > summary {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	list-style: none;
}
.ldds-level > summary::-webkit-details-marker { display: none; }
.ldds-level > summary::before {
	content: "+";
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	line-height: 21px;
	text-align: center;
	border-radius: 50%;
	background: #666;
	color: #fff;
	font-weight: 700;
}
.ldds-level[open] > summary::before { content: "\2212"; }

.ldds-level__pill {
	flex: 1;
	padding: 8px 12px;
	border-radius: 6px;
	color: #fff;
	font-weight: 700;
	text-align: center;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3), inset 0 -10px 14px rgba(0, 0, 0, 0.12);
}
.ldds-level__count { font-size: 0.8em; color: #5a6672; min-width: 2.2em; text-align: right; }

.ldds-level--1 .ldds-level__pill { background: linear-gradient(#e9625a, #c8342b); }
.ldds-level--2 .ldds-level__pill { background: linear-gradient(#6c92f0, #3a64d4); }
.ldds-level--3 .ldds-level__pill { background: linear-gradient(#58d46a, #2da040); }
.ldds-level--4 .ldds-level__pill { background: linear-gradient(#c668e8, #9a34c0); }
.ldds-level--5 .ldds-level__pill { background: linear-gradient(#f6a85a, #e07e22); }
.ldds-level--6 .ldds-level__pill { background: linear-gradient(#f070d6, #cf3cb0); }
.ldds-level--7 .ldds-level__pill { background: linear-gradient(#5be0d8, #28b3ab); color: #064; }
.ldds-level--8 .ldds-level__pill { background: linear-gradient(#ffd45a, #f0aa1c); color: #5a3d00; text-shadow: none; }
.ldds-level--9 .ldds-level__pill { background: linear-gradient(#a6e06a, #6fb22d); }

/* Tutorials list with completion dots */
.ldds-topics { list-style: none; margin: 8px 0 0 32px; padding: 0; }
.ldds-topics li { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 7px 0; border-bottom: 1px solid #d3deea; font-size: 0.92em; line-height: 1.35; }
.ldds-topics a { color: #111; font-weight: 700; text-decoration: none; }
.ldds-topics a:hover { text-decoration: underline; }
.ldds-topics li.is-current a { color: var(--ldds-heading); }
.ldds-dot { flex: 0 0 13px; width: 13px; height: 13px; margin-top: 3px; border-radius: 50%; background: var(--ldds-idle); }
.ldds-dot.is-done { background: var(--ldds-done); }

.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 800px) {
	body.ldds-layout .ldds-wrap { grid-template-columns: 1fr; }
}

/* Typeface for buttons, prompt, level pills and headings */
.ldds-btn,
.ldds-prompt,
.ldds-level__pill,
.ldds-main h1,
.ldds-main h2,
.ldds-main h3,
.ldds-main h4 {
	font-family: var(--ldds-font);
}

/* Page title on tutorial/lesson pages (selectors cover common themes; adjust for yours) */
body.ldds-layout.single-sfwd-topic .entry-title,
body.ldds-layout.single-sfwd-lessons .entry-title,
body.ldds-layout.single-sfwd-topic h1.page-title,
body.ldds-layout.single-sfwd-lessons h1.page-title {
	color: var(--ldds-title-red);
	font-family: var(--ldds-font);
	font-weight: 400;
}

/* Level button using an image (lesson featured image). The text stays for screen readers only. */
.ldds-level__pill.has-img {
	min-height: 40px;
	padding: 0;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	box-shadow: none;
	color: transparent;
	text-shadow: none;
}

/* Worksheet bar under the video: [tutorial_worksheet url="..."] */
.ldds-worksheet {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 0 0 16px;
	padding: 14px 16px;
	background: #333;
	color: #fff !important;
	text-align: center;
	text-decoration: none !important;
}
.ldds-worksheet:hover { background: #222; }

/* Levels J-L (A-I are defined above) */
.ldds-level--10 .ldds-level__pill { background: linear-gradient(#5ec9f2, #2a97c7); }
.ldds-level--11 .ldds-level__pill { background: linear-gradient(#b08be8, #7a4fc4); }
.ldds-level--12 .ldds-level__pill { background: linear-gradient(#f28aa0, #cc4a68); }

/* Embedded worksheet viewer above the "view / print" bar */
.ldds-pdf { margin: 0 0 0; border: 1px solid #c9d6e3; background: #fff; }
.ldds-pdf iframe { display: block; width: 100%; height: 620px; border: 0; }
.ldds-pdf + .ldds-worksheet { margin-top: 0; }
@media (max-width: 800px) { .ldds-pdf iframe { height: 440px; } }

/* Quiz pages share the same look as course, lesson and tutorial pages */
body.ldds-layout.single-sfwd-quiz .entry-title,
body.ldds-layout.single-sfwd-quiz h1.page-title {
	color: var(--ldds-title-red);
	font-family: var(--ldds-font);
	font-weight: 400;
}
.ldds-main .wpProQuiz_content,
.ldds-main .learndash-wrapper { background: transparent; }

/* Quiz buttons use the site's blue, like the sidebar buttons */
.ldds-main .wpProQuiz_content .wpProQuiz_button,
.ldds-main .wpProQuiz_content input.wpProQuiz_button,
.ldds-main .wpProQuiz_content input[type="button"] {
	background: var(--ldds-blue) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 4px !important;
	padding: 10px 20px !important;
	font-family: var(--ldds-font);
	font-weight: 700;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.25);
	cursor: pointer;
}
.ldds-main .wpProQuiz_content .wpProQuiz_button:hover { filter: brightness(1.1); }

/* Caption above each extra YouTube video (Sing-along tutorials) */
.ldds-yt-caption { margin: 22px 0 8px; color: var(--ldds-heading); font-family: var(--ldds-font); font-size: 1.05em; font-weight: 400; }


/* ---- Two columns directly on the blue background (no white page card) ---- */

/* Every wrapper around the layout (the theme's white card, container, article...) becomes see-through and padding-free. */
body.ldds-layout :not(html):not(body):has(.ldds-wrap) {
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	max-width: none !important;
}

/* The theme's own page title and header bar: our title is shown inside the content panel instead. */
body.ldds-layout .entry-title:not(.ldds-title),
body.ldds-layout .page-title:not(.ldds-title),
body.ldds-layout .entry-header,
body.ldds-layout .page-header {
	display: none !important;
}

/* LearnDash breadcrumbs are replaced by the "Back to Members Area" link. */
.ldds-main .ld-breadcrumbs,
.ldds-main .learndash-breadcrumbs { display: none !important; }

.ldds-main h1.ldds-title {
	margin: 0 0 4px;
	text-align: left;
	color: var(--ldds-title-red);
	font-family: var(--ldds-font);
	font-size: 2.1em;
	font-weight: 400;
	line-height: 1.15;
}
.single-sfwd-courses .ldds-main h1.ldds-title { text-align: center; color: var(--ldds-heading); }
.ldds-back { margin: 0 0 16px; font-size: 0.9em; }
.ldds-back a { color: #1a6fa8; text-decoration: none; }
.ldds-back a:hover { text-decoration: underline; }

/* ---- Kadence theme (default settings) ---- */
body.ldds-layout .site,
body.ldds-layout #wrapper,
body.ldds-layout #inner-wrap,
body.ldds-layout .content-area,
body.ldds-layout .content-container,
body.ldds-layout .content-wrap,
body.ldds-layout .site-main,
body.ldds-layout .content-bg,
body.ldds-layout article.entry,
body.ldds-layout .entry-content-wrap,
body.ldds-layout .entry-content {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	max-width: none !important;
}
body.ldds-layout .content-container { padding: 16px 0 !important; }
/* Kadence title hero band, breadcrumbs, post navigation, comments, theme sidebar */
body.ldds-layout .entry-hero,
body.ldds-layout .entry-hero-container-inner,
body.ldds-layout .kadence-breadcrumbs,
body.ldds-layout .post-navigation,
body.ldds-layout .comments-area,
body.ldds-layout #secondary,
body.ldds-layout .entry-footer { display: none !important; }
body.ldds-layout .entry-content > .ldds-wrap { margin-top: 0; }

/* Sing-along YouTube videos added at display time */
.ldds-yt { position: relative; padding-top: 56.25%; margin: 0 0 22px; }
.ldds-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---- Quiz look: grey title, blue question label, green answer box, dark teal Hint / Next buttons ---- */
:root { --ldds-quiz-btn: #1d4f6e; --ldds-quiz-ans-bg: #ecf8e0; --ldds-quiz-ans-border: #a9d36a; }

body.ldds-layout.single-sfwd-quiz .ldds-main { border-color: #4aa3e8; }
.ldds-main h1.ldds-title--quiz,
body.single-sfwd-quiz .ldds-main .wpProQuiz_content h2 { color: #555; font-family: var(--ldds-font); font-size: 1.45em; font-weight: 400; text-align: left; margin: 0 0 14px; }

.ldds-main .wpProQuiz_content,
.ldds-main .wpProQuiz_content p,
.ldds-main .wpProQuiz_content li { font-family: var(--ldds-font); }

/* "Question 1 of 4" and "1. Question" */
.ldds-main .wpProQuiz_question_page { font-family: Arial, Helvetica, sans-serif; font-size: 0.95em; color: #111; margin: 0 0 8px; }
.ldds-main .wpProQuiz_question_page span { font-weight: 700; }
.ldds-main .wpProQuiz_header,
.ldds-main .wpProQuiz_question_header,
.ldds-main .wpProQuiz_quiz h5 { color: #1565b0; font-family: Arial, Helvetica, sans-serif; font-size: 0.95em; font-weight: 400; }

/* Question text */
.ldds-main .wpProQuiz_question_text { font-size: 1.25em; line-height: 1.5; color: #222; margin: 14px 0 16px; }
.ldds-main .wpProQuiz_question_text audio { vertical-align: middle; }

/* Answer box */
.ldds-main .wpProQuiz_questionList {
	background: var(--ldds-quiz-ans-bg);
	border: 1px solid var(--ldds-quiz-ans-border);
	padding: 8px 10px;
	margin: 0 0 18px;
	list-style: none;
}
.ldds-main .wpProQuiz_questionListItem { margin: 0; padding: 3px 0; border: 0; background: transparent; font-size: 1em; }
.ldds-main .wpProQuiz_questionListItem label { cursor: pointer; }
.ldds-main .wpProQuiz_answerCorrect { background: #cdeeb0 !important; }
.ldds-main .wpProQuiz_answerIncorrect { background: #f7c9c9 !important; }

/* Hint (left) and Next (right) */
.ldds-main .wpProQuiz_QuestionButton,
.ldds-main .wpProQuiz_content input[name="hint"],
.ldds-main .wpProQuiz_content input[name="next"],
.ldds-main .wpProQuiz_content input[name="back"],
.ldds-main .wpProQuiz_content input[name="check"],
.ldds-main .wpProQuiz_content input[name="skip"] {
	background: var(--ldds-quiz-btn) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 6px 22px !important;
	min-width: 64px;
	font-family: Arial, Helvetica, sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.95em !important;
	box-shadow: none !important;
}
.ldds-main .wpProQuiz_content input[name="next"] { float: right !important; }
.ldds-main .wpProQuiz_content input[name="hint"] { float: left !important; }
.ldds-main .wpProQuiz_listItem > div:last-child::after { content: ""; display: block; clear: both; }

/* ---- v2.9.1 quiz fixes ---- */
/* Quiz content uses a "red" class (from the original site's CSS) to highlight letters. */
.ldds-main .red, .ldds-main span.red { color: #e0201b !important; }

/* Audio player sits to the right of the "1. Question" row */
.ldds-main .wpProQuiz_question_text { position: relative; }
.ldds-main .wpProQuiz_question_text #audio { position: absolute; right: 0; top: -50px; margin: 0; }
.ldds-main .wpProQuiz_question_text #audio audio { height: 36px; max-width: 260px; }
@media (max-width: 600px) { .ldds-main .wpProQuiz_question_text #audio { position: static; margin-bottom: 8px; } }

/* One green box for all answers instead of a card per answer */
.ldds-main .wpProQuiz_content .wpProQuiz_questionList {
	background: var(--ldds-quiz-ans-bg) !important;
	border: 1px solid var(--ldds-quiz-ans-border) !important;
	border-radius: 0 !important;
	padding: 6px 10px !important;
	margin: 0 0 18px !important;
	box-shadow: none !important;
}
.ldds-main .wpProQuiz_content .wpProQuiz_questionList .wpProQuiz_questionListItem,
.ldds-main .wpProQuiz_content .wpProQuiz_questionListItem {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 2px 0 !important;
	min-height: 0 !important;
}
.ldds-main .wpProQuiz_content .wpProQuiz_questionListItem label {
	background: transparent !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 2px 4px !important;
	display: block;
}
.ldds-main .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerCorrect { background: #cdeeb0 !important; }
.ldds-main .wpProQuiz_content .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect { background: #f7c9c9 !important; }

/* Every quiz button (Hint included) in the same dark teal */
.ldds-main .wpProQuiz_content .wpProQuiz_button,
.ldds-main .wpProQuiz_content input.wpProQuiz_button,
.ldds-main .wpProQuiz_content input.wpProQuiz_TipButton,
.ldds-main .wpProQuiz_content input[name="tip"],
.ldds-main .wpProQuiz_content input[name="hint"],
.ldds-main .wpProQuiz_content input[name="next"],
.ldds-main .wpProQuiz_content input[name="back"],
.ldds-main .wpProQuiz_content input[name="check"],
.ldds-main .wpProQuiz_content input[name="skip"],
.ldds-main .wpProQuiz_content input[name="startQuiz"],
.ldds-main .wpProQuiz_content input[name="restartQuiz"] {
	background: var(--ldds-quiz-btn) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 6px 22px !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.95em !important;
	box-shadow: none !important;
}
.ldds-main .wpProQuiz_content input[name="tip"],
.ldds-main .wpProQuiz_content input.wpProQuiz_TipButton { float: left !important; }

/* ---- v2.10 sidebar look: pastel glossy level buttons with the letter at both ends ---- */
.ldds-sidebar { background: transparent; border: 0; padding: 4px; }
.ldds-btn { border-radius: 3px; padding: 8px 12px; font-size: 0.9em; box-shadow: 0 1px 3px rgba(0,0,0,.3); }
.ldds-prompt { margin: 12px 0; padding: 10px 12px; font-size: 1em; border-radius: 2px; }

.ldds-level { margin: 0 0 10px; }
.ldds-level__pill:not(.has-img) {
	position: relative;
	padding: 7px 38px;
	border-radius: 7px;
	font-size: 0.95em;
	box-shadow: 0 2px 3px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.55), inset 0 -8px 12px rgba(255,255,255,.18);
	border: 1px solid rgba(255,255,255,.55);
}
.ldds-level__pill:not(.has-img)::before,
.ldds-level__pill:not(.has-img)::after {
	content: attr(data-letter);
	position: absolute;
	top: 0; bottom: 0;
	width: 32px;
	display: flex; align-items: center; justify-content: center;
	font-size: 1.5em;
	color: rgba(255,255,255,.55);
	text-shadow: 0 1px 2px rgba(0,0,0,.25);
}
.ldds-level__pill:not(.has-img)::before { left: 0; }
.ldds-level__pill:not(.has-img)::after  { right: 0; }

/* Pastel colours A-L as in the original */
.ldds-level--1  .ldds-level__pill { background: linear-gradient(#d9605e, #b83a3a); }
.ldds-level--2  .ldds-level__pill { background: linear-gradient(#79b2f2, #4a86dc); }
.ldds-level--3  .ldds-level__pill { background: linear-gradient(#7fe08a, #46b856); }
.ldds-level--4  .ldds-level__pill { background: linear-gradient(#cf7be6, #a548c6); }
.ldds-level--5  .ldds-level__pill { background: linear-gradient(#f9b774, #ea8f3a); }
.ldds-level--6  .ldds-level__pill { background: linear-gradient(#f68ae0, #d84cc0); }
.ldds-level--7  .ldds-level__pill { background: linear-gradient(#7eeee6, #43cfc8); color: #fff; }
.ldds-level--8  .ldds-level__pill { background: linear-gradient(#ffe36e, #f5c01c); color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.3); }
.ldds-level--9  .ldds-level__pill { background: linear-gradient(#b4ec80, #82cc4a); }
.ldds-level--10 .ldds-level__pill { background: linear-gradient(#d9d9d6, #b4b4b0); color: #fff; }
.ldds-level--11 .ldds-level__pill { background: linear-gradient(#c3a8ec, #9a7cd2); }
.ldds-level--12 .ldds-level__pill { background: linear-gradient(#f0aab8, #d98294); }

/* Buttons under the levels */
.ldds-extra { margin-top: 16px; display: flex; flex-direction: column; gap: 10px; align-items: center; }
.ldds-xbtn { display: block; width: 78%; padding: 7px 10px; border-radius: 4px; text-align: center; text-decoration: none !important; color: #fff !important; font-family: Arial, Helvetica, sans-serif; font-size: 0.9em; box-shadow: 0 2px 3px rgba(0,0,0,.3); border: 1px solid rgba(0,0,0,.12); }
.ldds-xbtn span { display: block; font-weight: 700; }
.ldds-xbtn small { display: block; margin-top: 2px; font-size: 0.72em; font-weight: 700; line-height: 1.25; }
.ldds-xbtn--grey   { background: linear-gradient(#dcdcdc, #bdbdbd); color: #444 !important; }
.ldds-xbtn--pink   { background: linear-gradient(#f2587f, #dc2f60); padding: 9px 10px; }
.ldds-xbtn--purple { background: linear-gradient(#9a52de, #7a2fc2); }
.ldds-xbtn--orange { background: linear-gradient(#f9a03c, #ec7d12); }
.ldds-xbtn:hover { filter: brightness(1.07); }

/* v2.10.1: light sky-blue sidebar panel */
:root { --ldds-side-bg: #d6eafc; }
.ldds-sidebar { background: var(--ldds-side-bg); border: 0; border-radius: 6px; padding: 12px 12px 16px; }

/* v2.10.2: fill-in-the-blank fields stand out against the green answer box */
.ldds-main .wpProQuiz_content .wpProQuiz_cloze input[type="text"],
.ldds-main .wpProQuiz_content input.wpProQuiz_cloze,
.ldds-main .wpProQuiz_content .wpProQuiz_questionList input[type="text"] {
	background: #fff !important;
	color: #111 !important;
	border: 2px solid #1d4f6e !important;
	border-radius: 6px !important;
	padding: 5px 10px !important;
	min-width: 130px;
	font-family: var(--ldds-font) !important;
	font-size: 1.05em !important;
	box-shadow: inset 0 1px 3px rgba(0,0,0,.15) !important;
	outline: none;
}
.ldds-main .wpProQuiz_content .wpProQuiz_cloze input[type="text"]:focus,
.ldds-main .wpProQuiz_content .wpProQuiz_questionList input[type="text"]:focus {
	border-color: #1f9bde !important;
	box-shadow: 0 0 0 3px rgba(31,155,222,.3) !important;
}

/* Continue button on quiz results */
.ldds-main .ldds-continue { text-align: center; margin: 22px 0 6px; }
.ldds-main .ldds-continue a { display: inline-block; padding: 10px 28px; background: var(--ldds-yellow); color: var(--ldds-yellow-text) !important; font-family: var(--ldds-font); font-weight: 700; font-size: 1.05em; text-decoration: none !important; border-radius: 8px; box-shadow: 0 2px 3px rgba(0,0,0,.3); }
.ldds-main .ldds-continue a:hover { filter: brightness(1.06); }

/* Results screen: clock before "Your time", and same size as the points line */
.ldds-main .wpProQuiz_quiz_time,
.ldds-main .wpProQuiz_points,
.ldds-main .wpProQuiz_points * { font-size: 1.15em !important; }
.ldds-main .wpProQuiz_quiz_time::before { content: "\1F552\00a0"; }

/* LearnDash's own continue link on results: same look as the other quiz buttons */
.ldds-main .wpProQuiz_results #quiz_continue_link,
.ldds-main .wpProQuiz_results a.btn-blue,
.ldds-main .wpProQuiz_results .wpProQuiz_content a#quiz_continue_link {
	display: inline-block !important;
	padding: 6px 22px !important;
	margin-left: 6px;
	background: var(--ldds-yellow) !important;
	color: var(--ldds-yellow-text) !important;
	border-radius: 8px !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.95em !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

/* Results: score in a dark green box with white text; "Correct" as a dark green badge */
:root { --ldds-green-dark: #2f8f3a; --ldds-red-dark: #c0392b; }
.ldds-main .wpProQuiz_results .wpProQuiz_points,
.ldds-main .wpProQuiz_results :has(> .wpProQuiz_points) {
	background: var(--ldds-green-dark) !important;
	border-color: var(--ldds-green-dark) !important;
}
.ldds-main .wpProQuiz_results .wpProQuiz_points,
.ldds-main .wpProQuiz_results .wpProQuiz_points * { color: #fff !important; }
.ldds-main .wpProQuiz_results .wpProQuiz_points * { background: transparent !important; }

.ldds-main .ldds-badge { display: inline-block; padding: 3px 12px !important; border-radius: 12px; color: #fff !important; font-family: Arial, Helvetica, sans-serif; font-weight: 700; font-size: 0.8em !important; }
.ldds-main .ldds-badge--ok  { background: var(--ldds-green-dark) !important; }
.ldds-main .ldds-badge--bad { background: var(--ldds-red-dark) !important; }

/* Continue button: same shape and text as the other quiz buttons, kept blue, with an arrow */
.ldds-main .wpProQuiz_results #quiz_continue_link,
.ldds-main .wpProQuiz_results a.btn-blue,
.ldds-main .ldds-continue-btn {
	display: inline-block !important;
	padding: 6px 22px !important;
	margin-left: 20px;
	background: #2b5cff !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 8px !important;
	font-family: Arial, Helvetica, sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.95em !important;
	line-height: normal !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
}
.ldds-main .wpProQuiz_results #quiz_continue_link::after,
.ldds-main .ldds-continue-btn::after { content: " \2192"; }
.ldds-main .ldds-continue-btn:hover,
.ldds-main #quiz_continue_link:hover { filter: brightness(1.1); }

/* Button row repeated below the review questions */
.ldds-main .ldds-actions { display: flex; justify-content: center; align-items: center; gap: 20px; margin: 26px 0 8px; flex-wrap: wrap; }
.ldds-main .ldds-actions .ldds-continue-btn { margin-left: 0; }
.ldds-main .ldds-actions .ldds-act {
	background: var(--ldds-quiz-btn) !important; color: #fff !important; border: 0 !important; border-radius: 8px !important;
	padding: 6px 22px !important; font-family: Arial, Helvetica, sans-serif !important; font-weight: 700 !important; font-size: 0.95em !important; box-shadow: none !important; float: none !important; cursor: pointer;
}

/* Tidier "Choose from" pools: compact, evenly spaced, same-height pictures */
.ldds-main .wpProQuiz_content ul.wpProQuiz_sortStringList,
.ldds-main .wpProQuiz_content .wpProQuiz_sortStringList {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 6px 0 16px !important;
	padding: 0 !important;
	list-style: none;
}
.ldds-main .wpProQuiz_content .wpProQuiz_sortStringItem {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	float: none !important;
	width: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 5px 10px !important;
	line-height: 1.2;
}
.ldds-main .wpProQuiz_content .wpProQuiz_sortStringItem p { margin: 0 !important; }
.ldds-main .wpProQuiz_content .wpProQuiz_sortStringItem img {
	display: block;
	height: 82px !important;
	width: auto !important;
	max-width: 150px;
	object-fit: contain;
	margin: 0 !important;
}

/* Answers that mix words and a small picture (e.g. a full-stop graphic) stay on one line */
.ldds-main .wpProQuiz_content .wpProQuiz_questionListItem label { display: block; }
/* Only plain wrappers from the imported answer HTML (no class), never LearnDash's own hidden Correct / Incorrect labels. */
.ldds-main .wpProQuiz_content .wpProQuiz_questionListItem label p:not([class]),
.ldds-main .wpProQuiz_content .wpProQuiz_questionListItem label div:not([class]) { display: inline !important; margin: 0 !important; }
.ldds-main .wpProQuiz_content .wpProQuiz_questionListItem label br { display: none; }
.ldds-main .wpProQuiz_content .wpProQuiz_questionListItem label img {
	display: inline !important;
	vertical-align: middle;
	max-height: 42px;
	width: auto !important;
	height: auto;
	margin: 0 4px !important;
	float: none !important;
}

/* LearnDash navigation under the content (Previous/Next, Back to Lesson, step list): same comic font, larger text */
.ldds-main .ld-content-actions,
.ldds-main .ld-content-actions *,
.ldds-main .ld-table-list,
.ldds-main .ld-table-list *,
.ldds-main .ld-item-list,
.ldds-main .ld-item-list *,
.ldds-main .ld-lesson-list,
.ldds-main .ld-lesson-list *,
.ldds-main .ld-course-navigation,
.ldds-main .ld-course-navigation *,
.ldds-main .ld-focus-comments,
.ldds-main .ld-focus-comments *,
.ldds-main .ld-button,
.ldds-main .ld-course-step-back {
	font-family: var(--ldds-font) !important;
	font-size: 1.15rem;
}
.ldds-main .ld-button,
.ldds-main .ld-button .ld-text { font-size: 1.1rem !important; }
.ldds-main .ld-course-step-back,
.ldds-main .ld-content-actions a { font-size: 1.15rem !important; }
.ldds-main .ld-table-list-header,
.ldds-main .ld-table-list-header * { font-size: 1.2rem !important; }

/* v2.14.9: keep LearnDash's icon font (arrows, ticks) and tidy the Previous / Mark Complete / Next row */
.ldds-main .ld-icon,
.ldds-main [class^="ld-icon-"],
.ldds-main [class*=" ld-icon-"],
.ldds-main .ld-icon::before,
.ldds-main [class^="ld-icon-"]::before,
.ldds-main [class*=" ld-icon-"]::before {
	font-family: "ld-icons" !important;
	font-style: normal;
	font-weight: normal;
}

.ldds-main .ld-content-actions {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	margin-top: 24px;
	padding-top: 20px;
}
.ldds-main .ld-content-actions .ld-content-action,
.ldds-main .ld-content-actions .ld-content-action > a,
.ldds-main .ld-content-actions .ld-content-action > form { margin: 0 !important; float: none !important; width: auto !important; }
.ldds-main .ld-content-actions .ld-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 150px;
	height: auto !important;
	padding: 8px 22px !important;
	border-radius: 8px !important;
	font-size: 1.05rem !important;
	line-height: 1.2 !important;
	white-space: nowrap;
	text-align: center;
}
.ldds-main .ld-content-actions .ld-button .ld-text,
.ldds-main .ld-content-actions .ld-button span { font-size: 1.05rem !important; white-space: nowrap; }
/* "Back to Lesson" goes on its own centred line under the buttons */
.ldds-main .ld-content-actions .ld-course-step-back { flex: 0 0 100%; text-align: center; order: 5; margin: 6px 0 0 !important; }

/* v2.14.10: Mark Complete is green and level with Previous / Next */
/* The middle wrapper also holds the "Back to Lesson" link; let its children join the row directly so the button lines up. */
.ldds-main .ld-content-actions .ld-content-action { display: contents !important; }
.ldds-main .ld-content-actions form,
.ldds-main .ld-content-actions form.sfwd-mark-complete { margin: 0 !important; padding: 0 !important; display: flex; align-items: center; }

.ldds-main .ld-content-actions .learndash_mark_complete_button,
.ldds-main .ld-content-actions input.learndash_mark_complete_button,
.ldds-main .ld-content-actions button.learndash_mark_complete_button,
.ldds-main .ld-content-actions .sfwd-mark-complete .ld-button,
.ldds-main .ld-content-actions form .ld-button {
	background: #2fa84a !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 8px !important;
	min-width: 150px;
	padding: 8px 22px !important;
	font-family: var(--ldds-font) !important;
	font-size: 1.05rem !important;
	font-weight: 700;
	line-height: 1.2 !important;
	margin: 0 !important;
	box-shadow: none !important;
}
.ldds-main .ld-content-actions .learndash_mark_complete_button *,
.ldds-main .ld-content-actions form .ld-button * { font-size: 1.05rem !important; color: #fff !important; }
.ldds-main .ld-content-actions .learndash_mark_complete_button:hover,
.ldds-main .ld-content-actions form .ld-button:hover { filter: brightness(1.08); }

/* v2.14.11: space between the button text and its tick / arrow icons */
.ldds-main .ld-content-actions .ld-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.ldds-main .ld-content-actions .ld-button .ld-icon,
.ldds-main .ld-content-actions .ld-button [class*="ld-icon-"] {
	position: static !important;
	transform: none !important;
	margin: 0 0 0 4px !important;
	flex: 0 0 auto;
	width: auto !important;
	height: auto !important;
	line-height: 1 !important;
}
.ldds-main .ld-content-actions .ld-button .ld-icon-arrow-left { margin: 0 4px 0 0 !important; }
.ldds-main .ld-content-actions .ld-button .ld-text { margin: 0 !important; }

/* v2.14.12: Mark Complete is an <input> with the tick drawn beside it, so reserve room for the tick inside the button. */
.ldds-main .ld-content-actions form.sfwd-mark-complete,
.ldds-main .ld-content-actions .sfwd-mark-complete { position: relative !important; display: inline-block !important; }
.ldds-main .ld-content-actions .sfwd-mark-complete input.learndash_mark_complete_button,
.ldds-main .ld-content-actions .sfwd-mark-complete .ld-button,
.ldds-main .ld-content-actions .learndash_mark_complete_button {
	padding: 8px 52px 8px 24px !important;
	min-width: 190px;
}
.ldds-main .ld-content-actions .sfwd-mark-complete .ld-icon,
.ldds-main .ld-content-actions .sfwd-mark-complete [class*="ld-icon-"],
.ldds-main .ld-content-actions .learndash_mark_complete_button ~ .ld-icon,
.ldds-main .ld-content-actions .learndash_mark_complete_button ~ [class*="ld-icon-"] {
	position: absolute !important;
	right: 18px !important;
	top: 50% !important;
	left: auto !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
	color: #fff !important;
	pointer-events: none;
	z-index: 2;
}

/* Level-complete page */
.ldds-levelcomplete .ldds-lc-msg { font-family: var(--ldds-font); font-size: 1.2em; line-height: 1.5; }
.ldds-lc-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 22px 0; }
.ldds-lc-btn { display: inline-block; padding: 12px 24px; border-radius: 8px; font-family: var(--ldds-font); font-weight: 700; font-size: 1.1em; text-decoration: none !important; color: #fff !important; box-shadow: 0 2px 3px rgba(0,0,0,.25); }
.ldds-lc-btn--cert { background: #e0a100; }
.ldds-lc-btn--pdf  { background: var(--ldds-quiz-btn, #1d4f6e); }
.ldds-lc-btn--off  { background: #9aa7b3; box-shadow: none; cursor: default; }
.ldds-lc-btn:not(.ldds-lc-btn--off):hover { filter: brightness(1.08); }
.ldds-lc-next { margin: 26px 0 6px; }
.ldds-lc-next .ldds-continue-btn { margin-left: 0; }

/* Imported pages keep the theme's own font (only the look of the course pages is applied) */
body.ldds-keepfont .ldds-main,
body.ldds-keepfont .ldds-main h1,
body.ldds-keepfont .ldds-main h2,
body.ldds-keepfont .ldds-main h3,
body.ldds-keepfont .ldds-main h4,
body.ldds-keepfont .ldds-main h1.ldds-title { font-family: inherit; }
body.ldds-keepfont .ldds-main h1.ldds-title { color: var(--ldds-heading); font-weight: 600; }
body.ldds-keepfont .ldds-main h1,
body.ldds-keepfont .ldds-main h2:first-child { text-align: inherit; }
body.ldds-keepfont .ldds-main .section2 { box-sizing: border-box; }

/* Course description page: videos, two columns of level print-out buttons */
.ldds-main .video-responsive iframe { display: block; max-width: 100%; width: 100%; height: auto; aspect-ratio: 16 / 9; margin: 8px auto; }
.ldds-main .align-left,
.ldds-main .align-right { width: 48%; box-sizing: border-box; margin: 0 0 14px; }
.ldds-main .align-left { float: left; clear: left; }
.ldds-main .align-right { float: right; clear: right; }
.single-sfwd-courses .ldds-main .entry-content::after { content: ""; display: block; clear: both; }
.ldds-main .level-button { border-radius: 8px; text-align: center; box-shadow: 0 2px 3px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.5); border: 1px solid rgba(255,255,255,.55); }
.ldds-main .level-button a { display: block; padding: 8px 12px; font-family: var(--ldds-font); font-weight: 700; line-height: 1.2; text-decoration: none !important; text-shadow: 0 1px 2px rgba(0,0,0,.3); }
.ldds-main .level-button .small { font-size: .75em; font-weight: 400; }
.ldds-main .level-button.lv-A { background: linear-gradient(#d9605e, #b83a3a); }
.ldds-main .level-button.lv-B { background: linear-gradient(#79b2f2, #4a86dc); }
.ldds-main .level-button.lv-C { background: linear-gradient(#7fe08a, #46b856); }
.ldds-main .level-button.lv-D { background: linear-gradient(#cf7be6, #a548c6); }
.ldds-main .level-button.lv-E { background: linear-gradient(#f9b774, #ea8f3a); }
.ldds-main .level-button.lv-F { background: linear-gradient(#f68ae0, #d84cc0); }
.ldds-main .level-button.lv-G { background: linear-gradient(#7eeee6, #43cfc8); }
.ldds-main .level-button.lv-H { background: linear-gradient(#ffe36e, #f5c01c); }
.ldds-main .level-button.lv-I { background: linear-gradient(#b4ec80, #82cc4a); }
.ldds-main .level-button.lv-J { background: linear-gradient(#d9d9d6, #b4b4b0); }
.ldds-main .level-button.lv-K { background: linear-gradient(#c3a8ec, #9a7cd2); }
.ldds-main .level-button.lv-L { background: linear-gradient(#f0aab8, #d98294); }
@media (max-width: 600px) { .ldds-main .align-left, .ldds-main .align-right { float: none; width: 100%; } }

/* Student registration form */
.ldds-reg { max-width: 460px; }
.ldds-reg__form label { display: block; font-weight: 600; }
.ldds-reg__form input[type="text"], .ldds-reg__form input[type="email"], .ldds-reg__form input[type="password"] { width: 100%; padding: 8px 10px; border: 1px solid #b5b5b5; border-radius: 4px; box-sizing: border-box; font-size: 1em; margin-top: 4px; }
.ldds-reg__btn { background: #2fa84a; color: #fff; border: 0; border-radius: 8px; padding: 10px 24px; font-size: 1.05em; font-weight: 700; cursor: pointer; }
.ldds-reg__btn:hover { filter: brightness(1.08); }
.ldds-reg__err { background: #fdecea; border: 1px solid #e0a09a; color: #8f2318; border-radius: 4px; padding: 6px 14px; margin-bottom: 14px; }
.ldds-reg__err ul { margin: 6px 0 6px 18px; }

/* Remove the empty grey bar LearnDash adds under lists. */
.ldds-main .ld-table-list-footer,
.learndash-wrapper .ld-table-list .ld-table-list-footer:empty {
	display: none !important;
}

/* Black text on the coloured level buttons (sidebar and the print-out buttons on the course page). */
.ldds-sidebar .ldds-level__pill,
.ldds-sidebar .ldds-level__pill a,
.ldds-main .level-button a,
.ldds-main .level-button a .small {
	color: #000 !important;
	text-shadow: none !important;
}
.ldds-level__pill:not(.has-img)::before,
.ldds-level__pill:not(.has-img)::after {
	color: rgba(0, 0, 0, .55) !important;
	text-shadow: none !important;
}
