/*
 * Sensei LMS custom styles for the Scholarly Clarity theme.
 */

/* === General Sensei Layout === */
.sensei-content-wrap {
	font-family: 'DM Sans', sans-serif;
}

/*
 * Sensei’s PHP templates output classic theme wrappers like:
 *   <div id="content" class="page col-full"><div id="main" class="col-left">...
 * The official Sensei theme styles these. Our block theme doesn’t, so we provide a minimal shim.
 */
body.sensei #content.page.col-full {
	max-width: var(--wp--style--global--wide-size, 1280px);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--style--root--padding-left, 1.5rem);
	padding-right: var(--wp--style--root--padding-right, 1.5rem);
	padding-top: var(--wp--preset--spacing--60, 2.25rem);
	padding-bottom: var(--wp--preset--spacing--60, 2.25rem);
}

body.sensei #content.page.col-full::after {
	content: "";
	display: block;
	clear: both;
}

body.sensei #main.col-left {
	float: none;
	width: 100%;
}

/* === Notices (Sensei + paid courses) === */
/*
 * Sensei sometimes outputs notices before the document markup, which results in
 * duplicate notice bars appearing above the site header. We hide only top-level
 * notices and keep the in-content notices.
 */
body > .sensei-message,
body > .sensei-lms-notice {
	display: none;
}

html > .sensei-message,
html > .sensei-lms-notice {
	display: none;
}

.sensei .sensei-message,
.sensei-lms-notice,
.sensei-message {
	border-radius: 10px;
	padding: 0.9rem 1.1rem;
	font-family: 'DM Sans', sans-serif;
	font-size: 0.9rem;
	border: 1px solid #e6e6ee;
	background: #f4f9fd;
	color: #1a1a2e;
	margin: 0 0 1rem;
}

.sensei .sensei-message a,
.sensei-message a,
.sensei-lms-notice a {
	color: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.sensei .sensei-message.alert,
.sensei .sensei-message.error,
.sensei-message.alert,
.sensei-message.error {
	background: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}

.sensei .sensei-message.tick,
.sensei .sensei-message.success,
.sensei-message.tick,
.sensei-message.success {
	background: #f0fdf4;
	border-color: #bbf7d0;
	color: #166534;
}

/* === Course Archive === */
.wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-list-filter {
	font-family: 'DM Sans', sans-serif;
	font-size: 0.875rem;
}

.wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-list-filter__link--active {
	color: #0267be;
	border-bottom-color: #0267be;
}

/* === Course Cards === */
.sensei-course-theme .wp-block-sensei-lms-course-list .sensei-cta,
.wp-block-sensei-lms-button-take-course a,
.wp-block-sensei-lms-button-take-course .wp-block-button__link,
.wp-block-sensei-lms-button-continue-course a,
.wp-block-sensei-lms-button-continue-course .wp-block-button__link,
.wp-block-sensei-lms-button-view-results a,
.wp-block-sensei-lms-button-view-results .wp-block-button__link,
.wp-block-sensei-button.wp-block-button .wp-block-button__link,
.sensei-lms-course-actions a.button,
.sensei a.button,
.sensei button.button,
.sensei input[type="submit"] {
	background-color: #0267be;
	color: #ffffff;
	font-family: 'DM Sans', sans-serif;
	font-size: 0.9rem;
	font-weight: 500;
	padding: 0.7rem 1.5rem;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	line-height: 1.2;
	transition: background-color 0.2s ease, transform 0.05s ease;
	appearance: none;
}

.sensei a.button:hover,
.sensei button.button:hover,
.sensei input[type="submit"]:hover,
.wp-block-sensei-lms-button-take-course a:hover,
.wp-block-sensei-lms-button-take-course .wp-block-button__link:hover,
.wp-block-sensei-lms-button-continue-course a:hover,
.wp-block-sensei-lms-button-continue-course .wp-block-button__link:hover,
.wp-block-sensei-lms-button-view-results a:hover {
	background-color: #1a1a2e;
	color: #ffffff;
}

.wp-block-sensei-lms-button-take-course .wp-block-button__link:active,
.wp-block-sensei-lms-button-continue-course .wp-block-button__link:active,
.wp-block-sensei-lms-button-view-results .wp-block-button__link:active,
.wp-block-sensei-lms-button-take-course a:active,
.wp-block-sensei-lms-button-continue-course a:active,
.wp-block-sensei-lms-button-view-results a:active {
	transform: translateY(1px);
}

.wp-block-sensei-lms-button-take-course .wp-block-button__link:focus-visible,
.wp-block-sensei-lms-button-continue-course .wp-block-button__link:focus-visible,
.wp-block-sensei-lms-button-view-results .wp-block-button__link:focus-visible,
.wp-block-sensei-lms-button-take-course a:focus-visible,
.wp-block-sensei-lms-button-continue-course a:focus-visible,
.wp-block-sensei-lms-button-view-results a:focus-visible {
	outline: 3px solid rgba(2, 103, 190, 0.25);
	outline-offset: 2px;
}

/* Make purchase/enrollment CTAs feel like buttons (not huge blocks). */
.wp-block-sensei-lms-button-take-course .wp-block-button__link,
.wp-block-sensei-lms-button-continue-course .wp-block-button__link,
.wp-block-sensei-lms-button-view-results .wp-block-button__link {
	width: 100%;
	min-height: 44px;
	padding: 0.85rem 1.25rem;
	height: auto;
	max-height: 56px;
	overflow: hidden;
}

/* Price inside "Buy" button */
.wp-block-sensei-lms-button-take-course .woocommerce-Price-amount {
	font-weight: 700;
	white-space: nowrap;
}

/* === Course Grid === */
.wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-list__post {
	border: 1px solid #e6e6ee;
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
	background: #ffffff;
}

.wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-list__post:hover {
	box-shadow: 0 12px 40px rgba(2, 103, 190, 0.08);
	transform: translateY(-4px);
}

.wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-list__post .wp-block-post-featured-image img {
	height: 200px;
	object-fit: cover;
	width: 100%;
}

.wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-list__post .wp-block-post-title {
	font-family: 'DM Serif Display', serif;
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 1.35;
	color: #1a1a2e;
}

.wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-list__post .wp-block-post-title a {
	text-decoration: none;
	color: inherit;
}

.wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-list__post .wp-block-post-title a:hover {
	color: #0267be;
}

.wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-list__post .wp-block-post-excerpt {
	font-size: 0.85rem;
	line-height: 1.6;
	color: #9494a8;
}

/* === Single Course === */
.sensei-course-theme__header,
.sensei-course-theme .sensei-course-theme__frame .sensei-course-theme__header {
	background: #f4f9fd;
	border-bottom: 1px solid #e6e6ee;
}

.sensei-course-theme .entry-title,
.sensei .course-title,
.sensei .entry-header h1 {
	font-family: 'DM Serif Display', serif;
	font-weight: 400;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	line-height: 1.2;
	color: #1a1a2e;
	letter-spacing: -0.02em;
}

/* === Course Progress === */
.sensei .sensei-progress-bar,
.wp-block-sensei-lms-course-progress .sensei-progress-bar {
	background: #e8f2fb;
	border-radius: 100px;
	height: 8px;
	overflow: hidden;
}

.sensei .sensei-progress-bar__fill,
.wp-block-sensei-lms-course-progress .sensei-progress-bar__fill {
	background: #0267be;
	border-radius: 100px;
	transition: width 0.4s ease;
}

.sensei .sensei-progress-bar__label,
.wp-block-sensei-lms-course-progress .sensei-progress-bar__label {
	font-family: 'DM Sans', sans-serif;
	font-size: 0.8rem;
	color: #5a5a72;
}

/* === Modules === */
.sensei .module-lessons,
.wp-block-sensei-lms-course-outline__module {
	border: 1px solid #e6e6ee;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 1rem;
}

.wp-block-sensei-lms-course-outline__module .wp-block-sensei-lms-course-outline-module__header {
	background: #f4f9fd;
	padding: 1rem 1.25rem;
	font-family: 'DM Serif Display', serif;
	font-size: 1.1rem;
	font-weight: 400;
	color: #1a1a2e;
	border-bottom: 1px solid #e6e6ee;
}

.wp-block-sensei-lms-course-outline__module .wp-block-sensei-lms-course-outline-lesson {
	padding: 0.75rem 1.25rem;
	border-bottom: 1px solid #f0f0f5;
	font-size: 0.9rem;
	color: #5a5a72;
	transition: background 0.2s ease;
}

.wp-block-sensei-lms-course-outline__module .wp-block-sensei-lms-course-outline-lesson:last-child {
	border-bottom: none;
}

.wp-block-sensei-lms-course-outline__module .wp-block-sensei-lms-course-outline-lesson:hover {
	background: #f4f9fd;
}

.wp-block-sensei-lms-course-outline__module .wp-block-sensei-lms-course-outline-lesson a {
	color: #1a1a2e;
	text-decoration: none;
}

.wp-block-sensei-lms-course-outline__module .wp-block-sensei-lms-course-outline-lesson a:hover {
	color: #0267be;
}

/* === Back to Course Link === */
.lms-back-to-course {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-family: 'DM Sans', sans-serif;
	font-size: 0.85rem;
	font-weight: 500;
	color: #0267be;
	text-decoration: none;
	padding: 0.35rem 0.75rem 0.35rem 0.5rem;
	border: 1px solid #d4e6f7;
	border-radius: 6px;
	background: #f4f9fd;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	line-height: 1.3;
}

.lms-back-to-course:hover {
	background: #0267be;
	border-color: #0267be;
	color: #ffffff;
}

.lms-back-to-course:active {
	transform: translateY(1px);
}

.lms-back-to-course svg {
	flex-shrink: 0;
}

.lms-back-to-course strong {
	font-weight: 600;
}

/* === Lesson Page === */
.sensei .lesson-title,
.sensei .entry-header .lesson-title {
	font-family: 'DM Serif Display', serif;
	font-weight: 400;
	font-size: clamp(1.6rem, 2.5vw, 2rem);
	line-height: 1.25;
	color: #1a1a2e;
}

.sensei .entry-content,
.sensei-course-theme .entry-content {
	font-family: 'DM Sans', sans-serif;
	font-size: 1rem;
	line-height: 1.65;
	color: #1a1a2e;
}

/* === Quiz Styles === */
.sensei .quiz-title,
.sensei .entry-header .quiz-title {
	font-family: 'DM Serif Display', serif;
	font-weight: 400;
	font-size: clamp(1.4rem, 2.5vw, 1.8rem);
	color: #1a1a2e;
}

.sensei .quiz .question {
	border: 1px solid #e6e6ee;
	border-radius: 8px;
	padding: 1.5rem;
	margin-bottom: 1.5rem;
	background: #ffffff;
}

.sensei .quiz .question h2,
.sensei .quiz .question .question-title {
	font-family: 'DM Serif Display', serif;
	font-size: 1.1rem;
	font-weight: 400;
	color: #1a1a2e;
	margin-bottom: 1rem;
}

.sensei .quiz .question label {
	font-size: 0.9rem;
	color: #5a5a72;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0;
}

.sensei .quiz .question input[type="radio"],
.sensei .quiz .question input[type="checkbox"] {
	accent-color: #0267be;
}

.sensei .quiz .question textarea,
.sensei .quiz .question input[type="text"] {
	border: 1px solid #e6e6ee;
	border-radius: 6px;
	padding: 0.7rem 1rem;
	font-family: 'DM Sans', sans-serif;
	font-size: 0.9rem;
	color: #1a1a2e;
	width: 100%;
	transition: border-color 0.2s ease;
}

.sensei .quiz .question textarea:focus,
.sensei .quiz .question input[type="text"]:focus {
	border-color: #0267be;
	outline: none;
	box-shadow: 0 0 0 3px rgba(2, 103, 190, 0.1);
}

/* === Sensei Notices === */
/* (handled above) */

/* === Pagination === */
.sensei .sensei-pagination,
.sensei nav.sensei-pagination {
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	margin-top: 2rem;
}

.sensei .sensei-pagination a,
.sensei .sensei-pagination span {
	padding: 0.5rem 0.85rem;
	border: 1px solid #e6e6ee;
	border-radius: 6px;
	font-size: 0.85rem;
	color: #5a5a72;
	text-decoration: none;
	transition: all 0.2s ease;
}

.sensei .sensei-pagination a:hover {
	border-color: #0267be;
	color: #0267be;
}

.sensei .sensei-pagination .current,
.sensei .sensei-pagination span.current {
	background: #0267be;
	border-color: #0267be;
	color: #ffffff;
}

/* === My Courses / Dashboard === */
.sensei .sensei-user-courses,
.wp-block-sensei-lms-learner-courses {
	font-family: 'DM Sans', sans-serif;
}

.wp-block-sensei-lms-learner-courses .wp-block-sensei-lms-learner-courses__header {
	font-family: 'DM Serif Display', serif;
	font-weight: 400;
	color: #1a1a2e;
}

/* === Learning Mode (Course Theme) === */
.sensei-course-theme .sensei-course-theme__sidebar {
	border-right: 1px solid #e6e6ee;
}

.sensei-course-theme .sensei-course-theme__sidebar .sensei-course-theme__sidebar-title {
	font-family: 'DM Serif Display', serif;
	font-weight: 400;
	color: #1a1a2e;
}

.sensei-course-theme .sensei-lms-course-navigation__lesson.current,
.sensei-course-theme .sensei-lms-course-navigation__lesson.current a {
	color: #0267be;
	font-weight: 500;
}

.sensei-course-theme .sensei-lms-course-navigation__lesson.completed::before {
	color: #0267be;
}

/* === Responsive Adjustments === */
@media (max-width: 781px) {
	.sensei-content-wrap {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

/* =============================================
   LTR OVERRIDE — All Sensei LMS elements
   ============================================= */
body.lms-force-ltr .sensei-content-wrap,
body.lms-force-ltr .sensei,
body.lms-force-ltr #content.page.col-full,
body.lms-force-ltr #main.col-left {
	direction: ltr;
	text-align: left;
}

body.lms-force-ltr .sensei .entry-title,
body.lms-force-ltr .sensei .course-title,
body.lms-force-ltr .sensei .lesson-title,
body.lms-force-ltr .sensei .quiz-title,
body.lms-force-ltr .sensei .entry-header,
body.lms-force-ltr .sensei .entry-content,
body.lms-force-ltr .sensei-course-theme .entry-content,
body.lms-force-ltr .sensei-course-theme .entry-title {
	direction: ltr;
	text-align: left;
}

body.lms-force-ltr .wp-block-sensei-lms-course-list,
body.lms-force-ltr .wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-list__post,
body.lms-force-ltr .wp-block-sensei-lms-course-list .wp-block-sensei-lms-course-list-filter,
body.lms-force-ltr .wp-block-sensei-lms-learner-courses {
	direction: ltr;
	text-align: left;
}

body.lms-force-ltr .wp-block-sensei-lms-course-outline__module,
body.lms-force-ltr .wp-block-sensei-lms-course-outline__module .wp-block-sensei-lms-course-outline-module__header,
body.lms-force-ltr .wp-block-sensei-lms-course-outline__module .wp-block-sensei-lms-course-outline-lesson,
body.lms-force-ltr .wp-block-sensei-lms-course-outline__module .wp-block-sensei-lms-course-outline-lesson a,
body.lms-force-ltr .sensei .module-lessons {
	direction: ltr;
	text-align: left;
}

body.lms-force-ltr .wp-block-sensei-lms-course-progress,
body.lms-force-ltr .sensei .sensei-progress-bar,
body.lms-force-ltr .wp-block-sensei-lms-course-progress .sensei-progress-bar__label {
	direction: ltr;
	text-align: left;
}

body.lms-force-ltr .wp-block-sensei-lms-course-actions,
body.lms-force-ltr .wp-block-sensei-lms-button-take-course,
body.lms-force-ltr .wp-block-sensei-lms-button-continue-course,
body.lms-force-ltr .wp-block-sensei-lms-button-view-results,
body.lms-force-ltr .wp-block-sensei-button,
body.lms-force-ltr .sensei a.button,
body.lms-force-ltr .sensei button.button,
body.lms-force-ltr .sensei input[type="submit"] {
	direction: ltr;
	text-align: left;
}

body.lms-force-ltr .sensei-lms-course-actions,
body.lms-force-ltr .sensei-lms-notice,
body.lms-force-ltr .sensei-message {
	direction: ltr;
	text-align: left;
}

body.lms-force-ltr .sensei .quiz .question,
body.lms-force-ltr .sensei .quiz .question h2,
body.lms-force-ltr .sensei .quiz .question .question-title,
body.lms-force-ltr .sensei .quiz .question label,
body.lms-force-ltr .sensei .quiz .question textarea,
body.lms-force-ltr .sensei .quiz .question input[type="text"],
body.lms-force-ltr .wp-block-sensei-lms-quiz,
body.lms-force-ltr #sensei-quiz-form,
body.lms-force-ltr #sensei-quiz-list {
	direction: ltr;
	text-align: left;
}

body.lms-force-ltr .sensei .sensei-pagination,
body.lms-force-ltr .sensei .sensei-user-courses,
body.lms-force-ltr .wp-block-sensei-lms-learner-courses .wp-block-sensei-lms-learner-courses__header {
	direction: ltr;
	text-align: left;
}

body.lms-force-ltr .sensei-course-theme .sensei-course-theme__sidebar,
body.lms-force-ltr .sensei-course-theme .sensei-course-theme__sidebar .sensei-course-theme__sidebar-title,
body.lms-force-ltr .sensei-course-theme .sensei-lms-course-navigation__lesson,
body.lms-force-ltr .sensei-course-theme .sensei-course-theme__header,
body.lms-force-ltr .sensei-course-theme .sensei-course-theme__frame {
	direction: ltr;
	text-align: left;
}

body.lms-force-ltr .wp-block-sensei-lms-course-overview,
body.lms-force-ltr .wp-block-sensei-lms-course-categories {
	direction: ltr;
	text-align: left;
}