/*
 * Educator learner workspace.
 * Keep the presentation scoped so it can live inside any WordPress theme.
 */

.educator-course,
.educator-lesson,
.educator-student-dashboard,
.educator-notification-preferences {
	--educator-ink: #12284d;
	--educator-muted: #66758e;
	--educator-line: #dfe5ee;
	--educator-surface: #ffffff;
	--educator-page: #f8fafc;
	--educator-primary: #1769f5;
	--educator-primary-dark: #0d4fc4;
	--educator-success: #237a4b;
	--educator-warning: #76530b;
	--educator-current: #edf4ff;
	--educator-locked: #fff9ec;
	box-sizing: border-box;
	color: var(--educator-ink);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.55;
}

.educator-course *,
.educator-lesson *,
.educator-student-dashboard *,
.educator-notification-preferences * {
	box-sizing: border-box;
}

.educator-course a,
.educator-lesson a,
.educator-student-dashboard a,
.educator-notification-preferences a {
	color: var(--educator-primary-dark);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.educator-course a:focus-visible,
.educator-lesson a:focus-visible,
.educator-student-dashboard a:focus-visible,
.educator-private-files a:focus-visible,
.educator-course summary:focus-visible,
.educator-student-dashboard summary:focus-visible,
.educator-course button:focus-visible,
.educator-lesson button:focus-visible,
.educator-notification-preferences button:focus-visible,
.educator-notification-preferences input:focus-visible {
	border-radius: 4px;
	outline: 3px solid var(--educator-primary-dark);
	outline-offset: 3px;
}

.educator-course input:focus-visible,
.educator-course textarea:focus-visible,
.educator-notification-preferences input:focus-visible {
	border-color: var(--educator-primary-dark, #0d4fc4);
	outline: 3px solid var(--educator-primary-dark, #0d4fc4);
	outline-offset: 2px;
}

.educator-course {
	max-width: 1240px;
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 4.75rem) clamp(1rem, 4vw, 3rem) 5rem;
}

.educator-gift {
	border-top: 1px solid var(--educator-line, #dfe5ee);
	margin-top: 1rem;
	padding-top: 0.9rem;
}

.educator-gift > summary {
	color: var(--educator-ink, #12284d);
	cursor: pointer;
	font-weight: 700;
}

.educator-gift__intro,
.educator-gift__notice {
	font-size: 0.9rem;
	margin-block: 0.75rem;
}

.educator-gift__notice {
	border-left: 3px solid var(--educator-success, #237a4b);
	padding-left: 0.75rem;
}

.educator-gift__form {
	display: grid;
	gap: 0.15rem 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.educator-gift__form p {
	margin-block: 0.4rem;
}

.educator-gift__form label {
	color: var(--educator-ink, #12284d);
	display: block;
	font-size: 0.9rem;
	font-weight: 650;
	margin-bottom: 0.3rem;
}

.educator-gift__form input:not([type="checkbox"]),
.educator-gift__form textarea {
	background: #fff;
	border: 1px solid var(--educator-line, #dfe5ee);
	border-radius: 4px;
	color: var(--educator-ink, #12284d);
	font: inherit;
	max-width: 100%;
	padding: 0.55rem 0.65rem;
	width: 100%;
}

.educator-gift__notify,
.educator-gift__form button {
	align-self: end;
	grid-column: 1 / -1;
}

.educator-gift__form .educator-gift__notify label {
	font-weight: 400;
}

.educator-gift--claim {
	background: var(--educator-current, #edf4ff);
	border: 1px solid var(--educator-line, #dfe5ee);
	border-left: 4px solid var(--educator-primary, #1769f5);
	margin-block: 1rem;
	padding: 1rem;
}

.educator-gift--claim h2 {
	color: var(--educator-ink, #12284d);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(1.25rem, 2.5vw, 1.6rem);
	line-height: 1.25;
	margin-block: 0.3rem 0.65rem;
}

.educator-gift--claim blockquote {
	border-left: 2px solid var(--educator-line, #dfe5ee);
	margin: 0.75rem 0;
	padding-left: 0.8rem;
}

@media (max-width: 640px) {
	.educator-gift__form {
		grid-template-columns: minmax(0, 1fr);
	}
}

.educator-private-files {
	border-top: 1px solid var(--educator-line, #dfe5ee);
	margin-block: 1.25rem;
	padding-top: 1rem;
}

.educator-private-files h2 {
	color: var(--educator-ink, #12284d);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 1.2rem;
	line-height: 1.3;
	margin: 0 0 0.65rem;
}

.educator-private-files ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.educator-private-files li + li {
	border-top: 1px solid var(--educator-line, #dfe5ee);
}

.educator-private-files a {
	display: flex;
	min-height: 2.75rem;
	align-items: center;
	gap: 0.5rem;
	max-width: 100%;
	overflow-wrap: anywhere;
	padding-block: 0.45rem;
}

.educator-course__breadcrumb,
.educator-lesson__breadcrumb {
	align-items: center;
	color: var(--educator-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.875rem;
	gap: 0.55rem;
	margin: 0 0 2rem;
}

.educator-course__breadcrumb a,
.educator-lesson__breadcrumb a {
	color: var(--educator-primary-dark);
}

.educator-course__header {
	align-items: end;
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) minmax(160px, 260px);
	margin-bottom: 1.25rem;
}

.educator-course__header h1,
.educator-lesson__header h1 {
	color: var(--educator-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 4vw, 3.2rem);
	letter-spacing: -0.035em;
	line-height: 1.08;
	margin: 0;
	max-width: 22ch;
}

.educator-course__excerpt {
	color: var(--educator-muted);
	font-size: 1.08rem;
	margin: 1rem 0 0;
	max-width: 62ch;
}

.educator-course__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 1.1rem 0 0;
	max-width: 100%;
	padding: 0;
}

.educator-course__facts li {
	align-items: baseline;
	background: #f1f5fb;
	border: 1px solid var(--educator-line);
	border-radius: 999px;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.3rem 0.45rem;
	max-width: 100%;
	padding: 0.3rem 0.75rem;
}

.educator-course__facts span {
	color: var(--educator-ink);
	font-size: 0.78rem;
}

.educator-course__facts strong {
	font-size: 0.84rem;
}

.educator-eyebrow {
	color: var(--educator-muted);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 0.55rem;
	text-transform: uppercase;
}

.educator-course__image {
	margin-left: auto;
	max-width: 260px;
	width: 100%;
}

.educator-course__image img {
	display: block;
	height: auto;
	max-height: 180px;
	object-fit: cover;
	width: 100%;
}

.educator-course__description {
	color: var(--educator-muted);
	margin: 0 0 2rem;
	max-width: 70ch;
}

.educator-course__description > :first-child {
	margin-top: 0;
}

.educator-course__description > :last-child {
	margin-bottom: 0;
}

.educator-course__information {
	margin: 0 0 2rem;
	max-width: 70ch;
}

.educator-course__information > h2 {
	color: var(--educator-ink);
	font: 1.55rem/1.2 Georgia, "Times New Roman", serif;
	margin: 0 0 1rem;
}

.educator-course__information-grid {
	display: grid;
	gap: 1rem 1.5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.educator-course__information-item {
	border-top: 2px solid var(--educator-line);
	min-width: 0;
	padding-top: 0.75rem;
}

.educator-course__information-item h3 {
	color: var(--educator-ink);
	font-size: 0.95rem;
	line-height: 1.35;
	margin: 0 0 0.35rem;
}

.educator-course__information-item > div {
	overflow-wrap: anywhere;
}

.educator-course__information-item > :last-child,
.educator-course__information-item > div > :last-child {
	margin-bottom: 0;
}

.educator-course__layout {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
	align-items: start;
}

.educator-course__layout--single {
	grid-template-columns: minmax(0, 1fr);
}

.educator-course__main {
	min-width: 0;
}

.educator-course__questions {
	background: var(--educator-surface);
	border: 1px solid var(--educator-line);
	border-radius: 8px;
	margin-top: 1.5rem;
	padding: clamp(1rem, 3vw, 1.5rem);
}

.educator-course__announcements {
	background: var(--educator-surface);
	border: 1px solid var(--educator-line);
	border-radius: 8px;
	margin-top: 1.5rem;
	padding: clamp(1rem, 3vw, 1.5rem);
}

.educator-course__questions > h2 {
	color: var(--educator-ink);
	font-family: Georgia, "Times New Roman", serif;
	margin: 0 0 1.25rem;
}

.educator-question {
	padding: 0.25rem 0 1rem;
}

.educator-question h3,
.educator-question__answer h4 {
	margin: 0 0 0.4rem;
}

.educator-question__meta {
	color: var(--educator-muted);
	font-size: 0.9rem;
	margin: 0 0 0.75rem;
}

.educator-question__filters ul,
.educator-question__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.educator-question__filters ul {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
}

.educator-question__filters a {
	border: 1px solid var(--educator-line);
	border-radius: 999px;
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	padding: 0.45rem 0.9rem;
	text-decoration: none;
}

.educator-question__filters a[aria-current="page"] {
	background: var(--educator-current);
	border-color: var(--educator-primary);
	color: var(--educator-ink);
	font-weight: 700;
}

.educator-question__actions {
	margin: 0.75rem 0;
}

.educator-question__actions .educator-question__form {
	margin: 0;
}

.educator-question__actions .educator-button {
	width: auto;
}

.educator-course__announcements > h2 {
	color: var(--educator-ink);
	font-family: Georgia, "Times New Roman", serif;
	margin: 0 0 1.25rem;
}

.educator-announcement {
	border-bottom: 1px solid var(--educator-line);
	padding: 0.5rem 0 1.25rem;
}

.educator-announcement + .educator-announcement {
	padding-top: 1.25rem;
}

.educator-announcement--archived {
	background: var(--educator-page);
	border: 1px dashed var(--educator-line);
	margin: 0.75rem 0;
	padding: 1rem;
}

.educator-announcement h3 {
	margin: 0 0 0.4rem;
}

.educator-announcement__meta {
	color: var(--educator-muted);
	font-size: 0.9rem;
	margin: 0 0 0.75rem;
}

.educator-announcement__form,
.educator-announcement__status-form {
	margin: 0.9rem 0;
}

.educator-announcement__form label {
	display: block;
	font-weight: 600;
}

.educator-announcement__form input[type="text"],
.educator-announcement__form input[type="datetime-local"],
.educator-announcement__form textarea {
	border: 1px solid var(--educator-line);
	border-radius: 5px;
	display: block;
	font: inherit;
	margin-top: 0.4rem;
	max-width: 100%;
	padding: 0.7rem 0.8rem;
	width: 100%;
}

.educator-announcement__form .description {
	color: var(--educator-muted);
	display: block;
	font-size: 0.9rem;
	margin-top: 0.35rem;
}

.educator-announcement__form textarea {
	min-height: 8rem;
	resize: vertical;
}

.educator-announcement__form input:focus-visible,
.educator-announcement__form textarea:focus-visible {
	outline: 3px solid #0d4fc4;
	outline-offset: 2px;
}

.educator-question__answer {
	border-left: 3px solid var(--educator-line);
	margin: 1rem 0;
	padding: 0.25rem 0 0.25rem 1rem;
}

.educator-question__answer h4 {
	font-size: 0.95rem;
}

.educator-question__form {
	margin: 1rem 0;
}

.educator-question__form label {
	display: block;
	font-weight: 600;
}

.educator-question__form input[type="text"],
.educator-question__form textarea {
	border: 1px solid var(--educator-line);
	border-radius: 5px;
	display: block;
	font: inherit;
	margin-top: 0.4rem;
	max-width: 100%;
	padding: 0.7rem 0.8rem;
	width: 100%;
}

.educator-question__form textarea {
	min-height: 7rem;
	resize: vertical;
}

.educator-question__form input:focus-visible,
.educator-question__form textarea:focus-visible {
	outline: 3px solid #0d4fc4;
	outline-offset: 2px;
}

.educator-course__progress,
.educator-course__outline,
.educator-course__next,
.educator-student-dashboard {
	background: var(--educator-surface);
	border: 1px solid var(--educator-line);
	border-radius: 8px;
}

.educator-course__progress {
	margin-bottom: 1.5rem;
	padding: 1.35rem 1.4rem 1.2rem;
}

.educator-course__progress-heading {
	align-items: end;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.educator-course__progress-heading .educator-eyebrow {
	margin-bottom: 0.15rem;
}

.educator-course__progress-heading strong {
	display: block;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 1.85rem;
	letter-spacing: -0.04em;
	line-height: 1;
}

.educator-course__progress-heading > span {
	color: var(--educator-muted);
	font-size: 0.9rem;
}

.educator-progress {
	background: #e9edf3;
	border-radius: 999px;
	height: 0.55rem;
	overflow: hidden;
	width: 100%;
}

.educator-progress__bar {
	background: var(--educator-primary);
	display: block;
	height: 100%;
	max-width: 100%;
	transition: width 160ms ease;
}

.educator-course__progress-stats {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 1.15rem 0 0;
	padding: 0;
}

.educator-course__progress-stats li {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.educator-course__progress-stats strong {
	font-size: 1.05rem;
}

.educator-course__progress-stats span {
	color: var(--educator-muted);
	font-size: 0.86rem;
}

.educator-section-heading {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 1.35rem 1.4rem 1rem;
}

.educator-section-heading h2 {
	color: var(--educator-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	letter-spacing: -0.02em;
	margin: 0;
}

.educator-module {
	border-top: 1px solid var(--educator-line);
	position: relative;
}

.educator-module::before {
	background: var(--educator-line);
	content: "";
	left: 1.88rem;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
}

.educator-module__summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	list-style: none;
	min-height: 4rem;
	padding: 1rem 1.4rem 1rem 3.25rem;
	position: relative;
}

.educator-module__summary::-webkit-details-marker {
	display: none;
}

.educator-module__marker {
	background: var(--educator-surface);
	border: 2px solid #aab6c7;
	border-radius: 50%;
	height: 0.85rem;
	left: 1.48rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.85rem;
}

.educator-module--complete .educator-module__marker {
	background: var(--educator-success);
	border-color: var(--educator-success);
	box-shadow: inset 0 0 0 2px var(--educator-surface);
}

.educator-module--current .educator-module__marker {
	background: var(--educator-primary);
	border-color: var(--educator-primary);
	box-shadow: 0 0 0 4px var(--educator-current);
}

.educator-module__title {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	min-width: 0;
}

.educator-module__title span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.educator-module__count {
	color: var(--educator-muted);
	flex: 0 0 auto;
	font-size: 0.88rem;
}

.educator-module__lessons {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.educator-module__lessons::before {
	background: var(--educator-line);
	bottom: 1rem;
	content: "";
	left: 2.08rem;
	position: absolute;
	top: 0;
	width: 1px;
}

.educator-lesson-row {
	align-items: center;
	border-top: 1px solid var(--educator-line);
	display: grid;
	gap: 0.7rem;
	grid-template-columns: 1.6rem minmax(0, 1fr) auto minmax(7.5rem, auto);
	min-height: 3.7rem;
	padding: 0.7rem 1.4rem;
}

.educator-lesson-row--current {
	background: var(--educator-current);
}

.educator-lesson-row--locked {
	background: var(--educator-locked);
}

.educator-lesson-row__number,
.educator-lesson-row__duration {
	color: var(--educator-muted);
	font-size: 0.9rem;
}

.educator-lesson-row__number {
	align-items: center;
	background: var(--educator-surface);
	border: 1px solid var(--educator-line);
	border-radius: 50%;
	display: inline-flex;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 0.78rem;
	height: 1.45rem;
	justify-content: center;
	line-height: 1;
	position: relative;
	width: 1.45rem;
}

.educator-lesson-row--complete .educator-lesson-row__number {
	background: var(--educator-success);
	border-color: var(--educator-success);
	color: #fff;
}

.educator-lesson-row--current .educator-lesson-row__number {
	border: 2px solid var(--educator-primary);
	color: var(--educator-primary-dark);
}

.educator-lesson-row--locked .educator-lesson-row__number {
	border-color: #d8bd7a;
	color: var(--educator-warning);
}

.educator-lesson-row__title {
	min-width: 0;
}

.educator-lesson-row__title a,
.educator-lesson-row__title > span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.educator-lesson-row--complete .educator-lesson-row__title a {
	color: var(--educator-muted);
}

.educator-lesson-row--current .educator-lesson-row__title a {
	font-weight: 700;
}

.educator-lesson-row__state {
	background: #f1f4f8;
	border-radius: 4px;
	color: var(--educator-muted);
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 700;
	padding: 0.28rem 0.55rem;
	text-align: center;
}

.educator-lesson-row--complete .educator-lesson-row__state {
	background: #eaf7ed;
	color: var(--educator-success);
}

.educator-lesson-row--current .educator-lesson-row__state {
	background: #dceaff;
	color: var(--educator-primary-dark);
}

.educator-lesson-row--locked .educator-lesson-row__state {
	background: #fff0c9;
	color: var(--educator-warning);
}

.educator-empty-state {
	background: var(--educator-page);
	border-radius: 6px;
	color: var(--educator-muted);
	margin: 1rem 1.4rem 1.4rem;
	padding: 1rem 1.1rem;
}

.educator-empty-state p {
	margin: 0;
}

.educator-notice {
	border: 1px solid var(--educator-line);
	border-radius: 6px;
	margin: 0 0 1.5rem;
	padding: 0.9rem 1rem;
}

.educator-notice p {
	margin: 0;
}

.educator-notice--error {
	background: #fff5f5;
	border-color: #e6b8b8;
	color: #8a1c1c;
}

.educator-notice--warning {
	background: var(--educator-locked, #fff9ec);
	border-color: #ead6a4;
	color: var(--educator-warning, #76530b);
}

.educator-courses-grid {
	--educator-ink: #12284d;
	--educator-muted: #66758e;
	--educator-line: #dfe5ee;
	--educator-surface: #ffffff;
	--educator-page: #f8fafc;
	--educator-primary: #1769f5;
	--educator-primary-dark: #0d4fc4;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(var(--educator-grid-columns, 3), minmax(0, 1fr));
	margin: 1.5rem 0;
}

.educator-courses-grid__item {
	min-width: 0;
}

.educator-course-card {
	background: var(--educator-surface);
	border: 1px solid var(--educator-line);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1rem;
}

.educator-course-card > a {
	color: var(--educator-ink);
	display: block;
	text-decoration: none;
}

.educator-course-card > a:focus-visible {
	border-radius: 4px;
	outline: 3px solid #0d4fc4;
	outline-offset: 3px;
}

.educator-course-card > a:hover h3,
.educator-course-card > a:focus-visible h3 {
	color: var(--educator-primary-dark);
}

.educator-course-card img {
	display: block;
	height: auto;
	margin: 0 0 1rem;
	max-height: 220px;
	object-fit: cover;
	width: 100%;
}

.educator-course-card h3 {
	color: inherit;
	font-size: 1.15rem;
	line-height: 1.25;
	margin: 0;
}

.educator-course-card p {
	color: var(--educator-muted);
	font-size: 0.95rem;
	margin: 0.8rem 0 0;
}

.educator-course-card__sale {
	color: var(--educator-primary-dark) !important;
	font-weight: 700;
	margin-top: auto !important;
}

.educator-buddypress-courses {
	--educator-grid-columns: 2;
	color: #12284d;
}

.educator-buddypress-courses > h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.4rem, 2vw, 1.8rem);
	line-height: 1.2;
}

.educator-buddypress-settings {
	border: 1px solid #dfe5ee;
	margin: 1rem 0;
	max-width: 48rem;
	padding: 1rem 1.25rem;
}

.educator-buddypress-settings__event {
	display: block;
	margin: 0.7rem 0;
}

.educator-buddypress-settings__event input:focus-visible {
	outline: 3px solid #0d4fc4;
	outline-offset: 2px;
}

.educator-buddypress-courses .educator-course-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: space-between;
	margin: 1.25rem 0;
}

.educator-buddypress-courses .educator-course-pagination a {
	border: 1px solid #dfe5ee;
	border-radius: 6px;
	color: #12284d;
	padding: 0.65rem 0.9rem;
}

.educator-buddypress-courses .educator-course-pagination a:focus-visible {
	outline: 3px solid #0d4fc4;
	outline-offset: 2px;
}

.educator-courses-grid__empty {
	background: var(--educator-page, #f8fafc);
	border: 1px solid var(--educator-line, #dfe5ee);
	border-radius: 6px;
	color: var(--educator-muted, #66758e);
	margin: 1.5rem 0;
	padding: 1rem 1.1rem;
}

.educator-student-dashboard--login .educator-empty-state {
	margin: 1.4rem 0 0;
}

.educator-student-dashboard--login .educator-empty-state p + p {
	margin-top: 1rem;
}

.educator-course__sidebar {
	position: sticky;
	top: 1.5rem;
}

.educator-course__next {
	padding: 1.35rem;
}

.educator-course__next h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	letter-spacing: -0.02em;
	line-height: 1.25;
	margin: 0 0 0.85rem;
}

.educator-course__next > form {
	margin: 1rem 0 0;
}

.educator-course__next-module,
.educator-course__next-meta {
	color: var(--educator-muted);
	font-size: 0.9rem;
	margin: 0 0 0.65rem;
}

.educator-button,
.educator-course__next .button,
.educator-course__access .button {
	border-radius: 5px;
	display: inline-block;
	font-weight: 700;
	line-height: 1.2;
	padding: 0.8rem 1rem;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

.educator-button--primary,
.educator-course__next .button-primary,
.educator-course__access .button-primary {
	background: var(--educator-primary, #1769f5);
	border: 1px solid var(--educator-primary, #1769f5);
	color: #fff !important;
}

.educator-button--primary:hover,
.educator-button--primary:focus,
.educator-course__next .button-primary:hover,
.educator-course__next .button-primary:focus {
	background: var(--educator-primary-dark, #0d4fc4);
	border-color: var(--educator-primary-dark, #0d4fc4);
	color: #fff;
}

.educator-course__access {
	background: var(--educator-page);
	border: 1px solid var(--educator-line);
	border-radius: 6px;
	color: var(--educator-muted);
	margin: 0;
	padding: 0.85rem;
}

.educator-course__access p,
.educator-course__access > :last-child {
	margin-bottom: 0;
}

.educator-lesson {
	margin: 0 auto;
	max-width: 900px;
	padding: clamp(2rem, 5vw, 4.75rem) clamp(1rem, 4vw, 3rem) 5rem;
}

.educator-lesson__header {
	margin-bottom: 2rem;
}

.educator-lesson__content {
	font-size: 1.08rem;
	line-height: 1.75;
	max-width: 70ch;
}

.educator-lesson__content > :first-child {
	margin-top: 0;
}

.educator-lesson__completion {
	border-top: 1px solid var(--educator-line);
	margin-top: 2.5rem;
	padding-top: 1.5rem;
}

.educator-assessment {
	background: var(--educator-surface);
	border: 1px solid var(--educator-line);
	border-radius: 8px;
	margin: 0 0 1.5rem;
	max-width: 70ch;
	padding: clamp(1rem, 3vw, 1.5rem);
}

.educator-assessment h2 {
	color: var(--educator-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.25rem, 3vw, 1.65rem);
	margin: 0 0 1rem;
}

.educator-assessment__deadline {
	background: #edf4ff;
	border-left: 3px solid var(--educator-primary);
	border-radius: 0 5px 5px 0;
	color: var(--educator-ink);
	font-weight: 600;
	margin: 0 0 1rem;
	padding: 0.75rem 0.9rem;
}

.educator-assessment__review-delay {
	background: #fff9ec;
	border-left: 3px solid var(--educator-warning);
	border-radius: 0 5px 5px 0;
	color: var(--educator-ink);
	margin: 1rem 0;
	padding: 0.75rem 0.9rem;
}

.educator-assessment__review {
	border-top: 1px solid var(--educator-line);
	margin-top: 1.5rem;
	padding-top: 1.25rem;
}

.educator-assessment__review h3 {
	color: var(--educator-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.2rem;
	margin: 0 0 1rem;
}

.educator-assessment__review-question {
	background: var(--educator-page);
	border-left: 3px solid var(--educator-success);
	border-radius: 0 5px 5px 0;
	margin: 0 0 0.75rem;
	padding: 0.85rem 1rem;
}

.educator-assessment__review-question h4 {
	color: var(--educator-ink);
	font-size: 1rem;
	margin: 0 0 0.45rem;
}

.educator-assessment__review-question p {
	margin: 0.35rem 0 0;
}

.educator-assessment__exact-answer {
	overflow-wrap: anywhere;
}

.educator-assessment__question {
	border: 1px solid var(--educator-line);
	border-radius: 6px;
	margin: 0 0 1rem;
	min-width: 0;
	padding: 1rem;
}

.educator-assessment__question legend {
	color: var(--educator-ink);
	font-weight: 700;
	padding: 0 0.35rem;
}

.educator-assessment__blank {
	display: inline-flex;
	max-width: 100%;
	vertical-align: baseline;
}

.educator-assessment__blank-input {
	background: #fff;
	border: 1px solid var(--educator-line);
	border-radius: 4px;
	color: var(--educator-ink);
	font: inherit;
	font-weight: 400;
	margin: 0 0.15em;
	min-height: 2.4rem;
	padding: 0.25rem 0.5rem;
	width: min(12rem, 36vw);
}

.educator-assessment__blank-input:focus-visible {
	border-color: var(--educator-primary);
	outline: 3px solid #0d4fc4;
	outline-offset: 2px;
}

.educator-assessment__blank-review {
	margin: 0.65rem 0 0;
	padding-inline-start: 1.5rem;
}

.educator-assessment__blank-review li + li {
	margin-top: 0.75rem;
}

.educator-assessment__blank-answer {
	background: rgba(23, 105, 245, 0.08);
	border-bottom: 2px solid var(--educator-primary);
	border-radius: 3px 3px 0 0;
	font-weight: 700;
	margin: 0 0.2em;
	padding: 0.05em 0.25em;
}

.educator-assessment__blank-review p {
	margin: 0.25rem 0 0;
}

.educator-assessment__matching-review {
	display: grid;
	gap: 0.65rem;
	list-style: none;
	margin: 0.65rem 0 0;
	padding: 0;
}

.educator-assessment__matching-review li {
	background: #fff;
	border: 1px solid var(--educator-line);
	border-inline-start: 3px solid var(--educator-muted);
	border-radius: 5px;
	min-width: 0;
	padding: 0.65rem 0.8rem;
}

.educator-assessment__matching-review li.is-correct { border-inline-start-color: var(--educator-success); }
.educator-assessment__matching-review li.is-incorrect { border-inline-start-color: var(--educator-warning); }
.educator-assessment__matching-review p { overflow-wrap: anywhere; }
.educator-assessment__matching-review span { display: inline-block; font-size: 0.8rem; font-weight: 700; margin-top: 0.35rem; }

.educator-assessment__match-prompt {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	min-width: 0;
}

.educator-assessment__match-image {
	background: #F8FAFC;
	border: 1px solid var(--educator-line);
	border-radius: 4px;
	display: block;
	height: auto;
	max-height: 10rem;
	max-width: min(12rem, 40vw);
	object-fit: contain;
}

.educator-assessment__image-answer-row {
	align-items: start;
	border-bottom: 1px solid var(--educator-line);
	display: grid;
	gap: 0.9rem;
	grid-template-columns: minmax(0, 12rem) minmax(12rem, 1fr);
	padding: 0.85rem 0;
}

.educator-assessment__image-answer-row label { display: grid; gap: 0.35rem; }
.educator-assessment__image-answer-row input { font: inherit; min-height: 44px; max-width: 100%; padding: 0.5rem 0.65rem; }
.educator-assessment__image-answer-review li { border-bottom: 1px solid var(--educator-line); padding: 0.85rem 0; }
.educator-assessment__image-answer-review li > span { display: inline-block; font-size: 0.8rem; font-weight: 700; margin-top: 0.35rem; }

.educator-assessment__scale-control { display: grid; gap: 0.6rem; max-width: 38rem; }
.educator-assessment__scale-control input[type="range"] { accent-color: var(--educator-blue); min-height: 2.75rem; width: 100%; }
.educator-assessment__scale-value { font-variant-numeric: tabular-nums; font-weight: 700; }
.educator-assessment__scale-review { align-items: baseline; display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; }
.educator-scale-settings { border: 1px solid var(--educator-line); margin: 1rem 0; padding: 1rem; }
.educator-scale-settings__grid { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }
.educator-scale-settings__grid label { display: grid; gap: 0.3rem; }
.educator-scale-settings__grid input { max-width: 100%; min-height: 2.5rem; }

@media (max-width: 600px) {
	.educator-assessment__match-image {
		max-height: 13rem;
		max-width: min(100%, 18rem);
	}
	.educator-assessment__image-answer-row { grid-template-columns: minmax(0, 1fr); }
}

.educator-assessment__ordering-review {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 0.65rem;
}

.educator-assessment__ordering-review section {
	background: #fff;
	border: 1px solid var(--educator-line);
	border-radius: 5px;
	min-width: 0;
	padding: 0.7rem 0.85rem;
}

.educator-assessment__ordering-review h5 { color: var(--educator-ink); font-size: 0.9rem; margin: 0; }
.educator-assessment__ordering-review ol { margin: 0.5rem 0 0; padding-inline-start: 1.4rem; }
.educator-assessment__ordering-review li { overflow-wrap: anywhere; padding-inline-start: 0.15rem; }
.educator-assessment__ordering-review li + li { margin-top: 0.25rem; }

.educator-assessment__required {
	background: var(--educator-current);
	border-radius: 999px;
	color: var(--educator-primary-dark);
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	margin-inline-start: 0.4rem;
	padding: 0.1rem 0.55rem;
	vertical-align: middle;
}

.educator-assessment__required-error {
	border-left: 3px solid #a61b1b;
	color: #8a1717;
	margin: 0.25rem 0 0.75rem;
	padding: 0.25rem 0.65rem;
}

.educator-assessment__question [aria-invalid="true"] {
	outline: 2px solid #a61b1b;
	outline-offset: 2px;
}

.educator-assessment__pagination {
	align-items: center;
	border-bottom: 1px solid var(--educator-line);
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: space-between;
	margin: 0 0 1rem;
	padding: 0 0 0.9rem;
}

.educator-assessment__pagination-status {
	color: var(--educator-muted);
	font-size: 0.9rem;
	font-weight: 600;
}

.educator-assessment__pagination button {
	background: var(--educator-primary);
	border: 1px solid var(--educator-primary);
	border-radius: 5px;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	min-height: 44px;
	padding: 0.65rem 1rem;
}

.educator-assessment__pagination button:focus-visible {
	outline: 3px solid #0d4fc4;
	outline-offset: 3px;
}

.educator-assessment__match-row label,
.educator-assessment__order-row label {
	align-items: center;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: minmax(8rem, 0.7fr) minmax(12rem, 1fr);
}

.educator-assessment__match-row select,
.educator-assessment__order-row select {
	font: inherit;
	max-width: 100%;
	min-height: 44px;
	width: 100%;
}

.educator-lesson__completion form {
	margin: 0;
}

.educator-lesson__completion button {
	background: var(--educator-primary);
	border: 1px solid var(--educator-primary);
	border-radius: 5px;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	padding: 0.8rem 1rem;
}

.educator-lesson__completion a:focus-visible,
.educator-lesson__completion button:focus-visible,
.educator-lesson__completion input:focus-visible,
.educator-lesson__completion select:focus-visible,
.educator-lesson__completion textarea:focus-visible {
	outline: 3px solid #0d4fc4;
	outline-offset: 3px;
}

.educator-lesson__navigation {
	border-top: 1px solid var(--educator-line);
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 2.5rem;
	padding-top: 1.25rem;
}

.educator-lesson__access--scheduled {
	background: var(--educator-locked);
	border: 1px solid #f2dda6;
	border-radius: 6px;
	color: #76530b;
	max-width: 45rem;
	padding: 1rem 1.1rem;
}

.educator-student-dashboard {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 2rem auto;
	max-width: 1080px;
	padding: 0;
}

.educator-student-dashboard__header h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	letter-spacing: -0.03em;
	margin: 0;
}

.educator-student-dashboard__header {
	margin-bottom: 1.25rem;
}

.educator-student-dashboard__welcome {
	align-items: end;
	display: grid;
	gap: 1.25rem 2rem;
	grid-template-columns: minmax(0, 1fr) auto;
}

.educator-student-dashboard__welcome > div > p:last-child {
	color: var(--educator-muted);
	margin: 0.55rem 0 0;
}

.educator-student-dashboard .educator-button--secondary {
	background: var(--educator-surface);
	border: 1px solid var(--educator-line);
	color: var(--educator-ink);
}

.educator-student-dashboard .educator-button--secondary:hover,
.educator-student-dashboard .educator-button--secondary:focus {
	background: var(--educator-current);
	border-color: var(--educator-primary);
	color: var(--educator-primary-dark);
}

.educator-student-dashboard__summary {
	background: var(--educator-surface);
	border: 1px solid var(--educator-line);
	border-radius: 9px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 0 1.4rem;
}

.educator-student-dashboard__summary > div {
	min-width: 0;
	padding: 1rem 1.15rem;
}

.educator-student-dashboard__summary > div + div {
	border-left: 1px solid var(--educator-line);
}

.educator-student-dashboard__summary dt {
	color: var(--educator-muted);
	font-size: 0.82rem;
	font-weight: 650;
}

.educator-student-dashboard__summary dd {
	align-items: baseline;
	display: flex;
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	font-variant-numeric: tabular-nums;
	font-weight: 750;
	gap: 0.4rem;
	line-height: 1.2;
	margin: 0.25rem 0 0;
}

.educator-student-dashboard__summary dd span {
	color: var(--educator-muted);
	font-size: 0.78rem;
	font-weight: 500;
}

.educator-student-dashboard__featured {
	background: linear-gradient(125deg, #fff 0%, #f4f8ff 100%);
	border: 1px solid var(--educator-line);
	border-left: 4px solid var(--educator-primary);
	border-radius: 10px;
	box-shadow: 0 10px 28px rgba(18, 40, 77, 0.06);
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) minmax(150px, 240px);
	margin: 0 0 2rem;
	min-width: 0;
	padding: clamp(1.1rem, 3vw, 2rem);
}

.educator-student-dashboard__featured-copy h3,
.educator-student-dashboard__empty h3,
.educator-student-dashboard__courses > h3 {
	color: var(--educator-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.35rem, 2.5vw, 1.8rem);
	line-height: 1.2;
	margin: 0;
}

.educator-student-dashboard__featured-copy h3 a {
	color: inherit;
	text-decoration: none;
}

.educator-student-dashboard__featured-copy h3 a:hover {
	color: var(--educator-primary-dark);
}

.educator-student-dashboard__next-lesson {
	color: var(--educator-muted);
	margin: 0.8rem 0 1rem;
}

.educator-student-dashboard__next-lesson strong {
	color: var(--educator-ink);
	display: block;
	font-size: 1.08rem;
	margin-top: 0.12rem;
}

.educator-student-dashboard__featured .educator-progress {
	margin-top: 1.2rem;
}

.educator-student-dashboard__progress-copy {
	color: var(--educator-muted);
	font-size: 0.88rem;
	margin: 0.45rem 0 0;
}

.educator-student-dashboard__featured-aside {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	justify-content: center;
	min-width: 0;
}

.educator-student-dashboard__course-image {
	border-radius: 7px;
	overflow: hidden;
	width: 100%;
}

.educator-student-dashboard__course-image img {
	display: block;
	height: auto;
	max-height: 130px;
	object-fit: cover;
	width: 100%;
}

.educator-student-dashboard__progress-ring {
	align-items: center;
	aspect-ratio: 1;
	background: conic-gradient(var(--educator-primary) var(--educator-dashboard-progress, 0%), var(--educator-line) 0);
	border-radius: 50%;
	display: grid;
	font-size: 1.55rem;
	font-variant-numeric: tabular-nums;
	font-weight: 750;
	justify-items: center;
	max-width: 168px;
	position: relative;
	width: 64%;
}

.educator-student-dashboard__progress-ring::before {
	background: var(--educator-surface);
	border-radius: 50%;
	content: "";
	inset: 9px;
	position: absolute;
}

.educator-student-dashboard__progress-ring span {
	position: relative;
}

.educator-student-dashboard__empty {
	align-items: center;
	background: var(--educator-page);
	border: 1px solid var(--educator-line);
	border-left: 4px solid var(--educator-primary);
	border-radius: 9px;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1fr) auto;
	margin: 0 0 2rem;
	padding: clamp(1.1rem, 3vw, 1.75rem);
}

.educator-student-dashboard__empty h3 {
	margin-bottom: 0.45rem;
}

.educator-student-dashboard__empty > div > p:last-child {
	color: var(--educator-muted);
	margin: 0;
}

.educator-student-dashboard__courses > h3 {
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	margin: 0 0 0.9rem;
}

.educator-student-dashboard__preferences {
	border: 1px solid var(--educator-line);
	border-radius: 8px;
	margin-top: 2rem;
}

.educator-student-dashboard__preferences > summary {
	color: var(--educator-ink);
	cursor: pointer;
	font-weight: 700;
	list-style-position: inside;
	padding: 1rem 1.2rem;
}

.educator-student-dashboard__preferences[open] > summary {
	border-bottom: 1px solid var(--educator-line);
}

.educator-student-dashboard__preferences > .educator-notification-preferences {
	border: 0;
	margin: 0;
}

.educator-student-dashboard__preferences > summary:focus-visible {
	border-radius: 4px;
	outline: 3px solid var(--educator-primary-dark);
	outline-offset: 2px;
}

.educator-student-dashboard__list {
	display: grid;
	gap: 0.85rem;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.educator-student-dashboard__list li {
	background: var(--educator-surface);
	border: 1px solid var(--educator-line);
	border-left: 4px solid var(--educator-primary);
	border-radius: 8px;
	min-width: 0;
	padding: 1rem 1.1rem 1.1rem;
}

.educator-student-dashboard__list li.educator-student-dashboard__course--completed {
	border-left-color: var(--educator-success);
}

.educator-student-dashboard__course-heading {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 0.7rem;
	min-width: 0;
}

.educator-student-dashboard__course-heading a {
	font-weight: 700;
	min-width: 0;
	overflow-wrap: anywhere;
}

.educator-student-dashboard__course-heading span,
.educator-student-dashboard__list li > p {
	color: var(--educator-muted);
	font-size: 0.9rem;
	margin: 0.45rem 0 0;
}

.educator-student-dashboard__course-heading span {
	background: var(--educator-current);
	border-radius: 999px;
	color: var(--educator-ink);
	flex: 0 0 auto;
	font-size: 0.78rem;
	font-weight: 650;
	line-height: 1.3;
	margin: 0;
	padding: 0.3rem 0.65rem;
}

.educator-student-dashboard__course--completed .educator-student-dashboard__course-heading span {
	background: #edf7f0;
	color: var(--educator-success);
}

.educator-student-dashboard__list .educator-progress {
	margin-top: 0.9rem;
}

.educator-student-dashboard__action {
	margin-top: 0.8rem !important;
	max-width: 16rem;
}

.educator-student-dashboard__grade {
	align-items: center;
	background: var(--educator-page);
	border-left: 3px solid var(--educator-primary);
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.65rem;
	margin: 0.7rem 0 0;
	padding: 0.65rem 0.85rem;
}

.educator-student-dashboard__grade-score {
	color: var(--educator-ink);
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
}

.educator-student-dashboard__grade-badge {
	border-radius: 999px;
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.4;
	padding: 0.16rem 0.65rem;
}

.educator-student-dashboard__grade-detail,
.educator-student-dashboard__grade-error {
	color: var(--educator-muted);
	font-size: 0.85rem;
	margin: 0.4rem 0 0;
}

.educator-student-dashboard__grade-error {
	color: var(--educator-warning);
}

@media (max-width: 800px) {
	.educator-courses-grid:not(.educator-courses-grid--columns-1) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.educator-student-dashboard__welcome {
		align-items: start;
		grid-template-columns: minmax(0, 1fr);
	}

	.educator-student-dashboard__summary {
		background: transparent;
		border: 0;
		gap: 0.65rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.educator-student-dashboard__summary > div {
		background: var(--educator-surface);
		border: 1px solid var(--educator-line);
		border-radius: 7px;
		padding: 0.85rem;
	}

	.educator-student-dashboard__summary > div + div {
		border-left: 1px solid var(--educator-line);
	}

	.educator-student-dashboard__featured {
		gap: 1.15rem;
		grid-template-columns: minmax(0, 1fr);
	}

	.educator-student-dashboard__featured-aside {
		align-items: center;
		display: grid;
		grid-template-columns: minmax(0, 1fr) 112px;
	}

	.educator-student-dashboard__progress-ring {
		max-width: 112px;
		width: 100%;
	}

	.educator-student-dashboard__empty {
		grid-template-columns: minmax(0, 1fr);
	}

	.educator-course__header,
	.educator-course__layout {
		grid-template-columns: 1fr;
	}

	.educator-course__image {
		margin: 0;
		max-width: none;
	}

	.educator-course__sidebar {
		position: static;
	}
}

@media (max-width: 900px) {
	.educator-lesson-row {
		grid-template-columns: 1.5rem minmax(0, 1fr) auto;
	}

	.educator-lesson-row__duration {
		display: none;
	}

	.educator-lesson-row__state {
		grid-column: 2 / -1;
		justify-self: start;
	}
}

@media (max-width: 520px) {
	.educator-student-dashboard__links {
		align-items: flex-start;
		flex-direction: column;
	}

	.educator-student-dashboard__summary > div {
		padding: 0.75rem;
	}

	.educator-student-dashboard__summary dt {
		font-size: 0.76rem;
	}

	.educator-student-dashboard__summary dd {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.08rem;
	}

	.educator-student-dashboard__featured {
		padding: 1rem;
	}

	.educator-student-dashboard__featured-aside {
		grid-template-columns: minmax(0, 1fr) 88px;
	}

	.educator-student-dashboard__progress-ring {
		font-size: 1.1rem;
		max-width: 88px;
	}

	.educator-student-dashboard__progress-ring::before {
		inset: 6px;
	}

	.educator-student-dashboard__empty .educator-button {
		width: 100%;
	}

	.educator-course__information-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.educator-assessment__blank-input {
		min-height: 2.75rem;
		width: min(10rem, 48vw);
	}

	.educator-assessment__match-row label,
	.educator-assessment__order-row label {
		align-items: stretch;
		grid-template-columns: 1fr;
	}

	.educator-courses-grid:not(.educator-courses-grid--columns-1) {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.educator-course__progress-stats {
		grid-template-columns: 1fr;
	}

	.educator-module__summary,
	.educator-lesson-row {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.educator-module__summary {
		padding-left: 2.8rem;
	}

	.educator-module__marker {
		left: 1rem;
	}

	.educator-module::before {
		left: 1.4rem;
	}

	.educator-module__lessons::before {
		left: 1.62rem;
	}

	.educator-module__title {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.1rem;
	}

	.educator-student-dashboard__course-heading {
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 0.45rem 0.7rem;
	}

	.educator-student-dashboard__list li {
		padding: 0.95rem;
	}

	.educator-student-dashboard__action {
		max-width: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.educator-progress__bar {
		transition: none;
	}
}

.educator-student-grades {
	background: var(--educator-surface);
	border: 1px solid var(--educator-line);
	border-radius: 8px;
	margin-top: 2rem;
	padding: clamp(1rem, 3vw, 1.5rem);
}

.educator-notification-preferences {
	background: var(--educator-surface);
	border: 1px solid var(--educator-line);
	border-radius: 8px;
	margin-top: 2rem;
	padding: clamp(1rem, 3vw, 1.5rem);
}

.educator-notification-preferences h2 {
	color: var(--educator-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.35rem, 3vw, 1.8rem);
	margin: 0 0 1.25rem;
}

.educator-notification-preferences fieldset {
	border: 1px solid var(--educator-line);
	border-radius: 6px;
	margin: 0;
	padding: 0.75rem 1rem;
}

.educator-notification-preferences legend {
	font-weight: 700;
	padding: 0 0.35rem;
}

.educator-notification-preferences fieldset p {
	margin: 0.65rem 0;
}

.educator-notification-preferences input[type="checkbox"] {
	accent-color: var(--educator-primary);
}

.educator-student-grades h2 {
	color: var(--educator-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.35rem, 3vw, 1.8rem);
	margin: 0 0 1.25rem;
}

.educator-student-grades__timeline {
	display: grid;
	gap: 0.8rem;
	list-style: none;
	margin: 0;
	padding: 0 0 0 1.35rem;
}

.educator-student-grades__item {
	border-left: 2px solid var(--educator-line);
	margin-left: 0.25rem;
	padding: 0 0 0.85rem 1rem;
	position: relative;
}

.educator-student-grades__item::before {
	background: var(--educator-primary);
	border: 3px solid var(--educator-surface);
	border-radius: 50%;
	content: "";
	height: 0.8rem;
	left: -0.48rem;
	position: absolute;
	top: 0.35rem;
	width: 0.8rem;
}

.educator-student-grades__item:last-child {
	border-left-color: transparent;
	padding-bottom: 0;
}

.educator-student-grades__item details > summary {
	align-items: center;
	cursor: pointer;
	display: grid;
	gap: 0.65rem 0.8rem;
	grid-template-columns: auto minmax(0, 1fr) auto;
}

.educator-student-grades__status {
	background: var(--educator-page);
	border-radius: 999px;
	color: var(--educator-ink);
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 700;
	padding: 0.2rem 0.65rem;
}

.educator-student-grades__status--passed {
	background: #eaf5ee;
	color: #1e613b;
}

.educator-student-grades__status--review {
	background: #fff9ec;
	color: #76530b;
}

.educator-student-grades__status--failed,
.educator-student-grades__status--expired {
	background: #fff1f2;
	color: #8f1d2c;
}

.educator-student-grades__title {
	min-width: 0;
}

.educator-student-grades__item details > summary > strong,
.educator-student-grades__questions li > :last-child {
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-variant-numeric: tabular-nums;
}

.educator-student-grades__date {
	color: var(--educator-muted);
	font-size: 0.875rem;
	margin: 0.6rem 0;
}

.educator-student-grades__feedback {
	background: var(--educator-current);
	border-left: 3px solid var(--educator-primary);
	margin: 0.75rem 0;
	padding: 0.75rem 1rem;
}

.educator-student-grades__questions {
	border-top: 1px solid var(--educator-line);
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
}

.educator-student-grades__questions li {
	align-items: baseline;
	border-bottom: 1px solid var(--educator-line);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 0.55rem 0;
}

.educator-student-grades__questions li > :first-child {
	min-width: 0;
}

.educator-student-grades__questions li > :last-child {
	flex: 0 0 auto;
	font-size: 0.9rem;
}

@media (max-width: 520px) {
	.educator-student-grades__item details > summary {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.educator-student-grades__status {
		grid-column: 1 / -1;
		justify-self: start;
	}

	.educator-student-grades__questions li {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.2rem;
	}
}

.educator-calendar {
	--educator-ink: #12284d;
	--educator-muted: #66758e;
	--educator-line: #dfe5ee;
	--educator-surface: #ffffff;
	--educator-page: #f8fafc;
	--educator-primary: #1769f5;
	--educator-primary-dark: #0d4fc4;
	background: var(--educator-surface);
	border: 1px solid var(--educator-line);
	border-radius: 10px;
	color: var(--educator-ink);
	margin: 2rem 0;
	padding: clamp(1rem, 3vw, 1.5rem);
}

.educator-calendar__header {
	align-items: end;
	border-bottom: 1px solid var(--educator-line);
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
}

.educator-calendar__header h2 {
	color: var(--educator-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.4rem, 3vw, 2rem);
	margin: 0;
}

.educator-calendar__nav { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.educator-calendar__nav a,
.educator-calendar__details a { color: var(--educator-primary); font-weight: 700; }

.educator-calendar__events {
	display: grid;
	gap: 0.9rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.educator-calendar__event {
	align-items: start;
	border-bottom: 1px solid var(--educator-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 3.5rem minmax(0, 1fr);
	padding: 0.25rem 0 1rem;
}

.educator-calendar__date {
	align-items: center;
	background: #edf3ff;
	border-radius: 8px;
	color: var(--educator-ink);
	display: flex;
	flex-direction: column;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	justify-content: center;
	min-height: 3.5rem;
}

.educator-calendar__date span:first-child { font-size: 1.2rem; }
.educator-calendar__date span:last-child,
.educator-calendar__course,
.educator-calendar__time { color: var(--educator-muted); font-size: 0.85rem; }

.educator-calendar__details h3 {
	color: var(--educator-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.15rem;
	margin: 0.2rem 0;
}

.educator-calendar__course,
.educator-calendar__time,
.educator-calendar__description,
.educator-calendar__location { margin: 0.25rem 0; }

.educator-calendar__empty,
.educator-calendar__notice {
	background: var(--educator-page);
	border-left: 3px solid var(--educator-primary);
	margin: 0.75rem 0;
	padding: 0.75rem 1rem;
}

.educator-calendar__create,
.educator-calendar__edit { margin-top: 0.75rem; }

.educator-calendar__create > summary,
.educator-calendar__edit > summary {
	color: var(--educator-primary);
	cursor: pointer;
	font-weight: 700;
	padding: 0.5rem 0;
}

.educator-calendar__create form,
.educator-calendar__edit form {
	background: var(--educator-page);
	border: 1px solid var(--educator-line);
	border-radius: 8px;
	margin: 0.75rem 0;
	padding: 1rem;
}

.educator-calendar__create label,
.educator-calendar__edit label { color: var(--educator-ink); display: block; font-weight: 650; }

.educator-calendar__create input:not([type="hidden"]),
.educator-calendar__create textarea,
.educator-calendar__create select,
.educator-calendar__edit input:not([type="hidden"]),
.educator-calendar__edit textarea {
	box-sizing: border-box;
	margin-top: 0.3rem;
	max-width: 100%;
	width: min(100%, 34rem);
}

.educator-calendar__cancel {
	background: transparent;
	border: 0;
	color: #8f1d2c;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	padding: 0.35rem 0;
	text-decoration: underline;
}

.educator-calendar :focus-visible { outline: 3px solid #0d4fc4; outline-offset: 3px; }

.educator-assessment__coordinates { display: grid; gap: 0.75rem; margin: 1rem 0; max-width: 38rem; }
.educator-assessment__coordinate-grid { background: #fff; border: 1px solid var(--educator-line); border-radius: 6px; display: block; height: auto; max-width: 100%; touch-action: manipulation; width: min(100%, 34rem); }
.educator-assessment__coordinate-grid:focus-visible { outline: 3px solid var(--educator-primary-dark); outline-offset: 3px; }
.educator-assessment__coordinate-tick { stroke: var(--educator-line); stroke-width: 1; }
.educator-assessment__coordinate-axis { stroke: var(--educator-ink); stroke-width: 2; }
.educator-assessment__coordinate-point { fill: var(--educator-primary); stroke: #fff; stroke-width: 2; }
.educator-assessment__coordinate-cursor { fill: transparent; stroke: var(--educator-primary-dark); stroke-dasharray: 3 2; stroke-width: 2; }
.educator-assessment__coordinate-help { color: var(--educator-muted); font-size: 0.9rem; margin: 0; }
.educator-assessment__coordinate-fields { display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); }
.educator-assessment__coordinate-fields fieldset { border: 1px solid var(--educator-line); border-radius: 6px; display: flex; gap: 0.5rem; margin: 0; min-width: 0; padding: 0.5rem; }
.educator-assessment__coordinate-fields label { display: grid; flex: 1; gap: 0.2rem; }
.educator-assessment__coordinate-fields input { min-height: 2.5rem; min-width: 0; width: 100%; }
.educator-assessment__coordinates-review { border-left: 3px solid var(--educator-line); padding-left: 0.85rem; }
.educator-assessment__coordinates-review p { margin: 0.4rem 0; }
.educator-coordinates-settings { border: 1px solid #dcdcde; margin: 1rem 0; padding: 1rem; }
.educator-coordinates-settings textarea { max-width: 34rem; }
.educator-coordinates-settings label { display: grid; gap: 0.35rem; max-width: 34rem; }
.educator-coordinates-settings :focus-visible { outline: 3px solid #0d4fc4; outline-offset: 2px; }

.educator-assessment__pin-image { display: grid; gap: 0.75rem; margin: 1rem 0; max-width: 42rem; }
.educator-assessment__pin-stage,
.educator-assessment__pin-review-stage { background: #fff; border: 1px solid var(--educator-line); border-radius: 8px; cursor: crosshair; line-height: 0; overflow: hidden; position: relative; touch-action: manipulation; }
.educator-assessment__pin-stage:focus-visible { outline: 3px solid var(--educator-primary-dark); outline-offset: 3px; }
.educator-assessment__pin-stage img,
.educator-assessment__pin-review-stage img { display: block; height: auto; max-width: 100%; pointer-events: none; user-select: none; width: 100%; }
.educator-assessment__pin-marker { background: var(--educator-primary); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 1px 5px rgb(18 40 77 / 45%); height: 1.25rem; left: 50%; pointer-events: none; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 1.25rem; }
.educator-assessment__pin-help { color: var(--educator-muted); font-size: 0.9rem; margin: 0; }
.educator-assessment__pin-fields { display: grid; gap: 0.75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.educator-assessment__pin-fields label { display: grid; gap: 0.3rem; }
.educator-assessment__pin-fields input { box-sizing: border-box; min-height: 2.75rem; max-width: 100%; width: 100%; }
.educator-assessment__pin-fields :focus-visible { outline: 3px solid #0d4fc4; outline-offset: 2px; }
.educator-assessment__pin-review { margin: 0.75rem 0; max-width: 42rem; }
.educator-assessment__pin-review-stage { cursor: default; line-height: normal; }
.educator-assessment__pin-review-stage svg { height: 100%; inset: 0; overflow: visible; pointer-events: none; position: absolute; width: 100%; }
.educator-assessment__pin-review-stage polygon { fill: rgb(35 122 75 / 25%); stroke: #237a4b; stroke-width: 5000; vector-effect: non-scaling-stroke; }
.educator-assessment__pin-review-stage circle { fill: #1769f5; stroke: #fff; stroke-width: 3; vector-effect: non-scaling-stroke; }
.educator-assessment__pin-review p { margin: 0.5rem 0; }
.educator-pin-image-settings { border: 1px solid #dcdcde; margin: 1rem 0; padding: 1rem; }
.educator-pin-image-settings textarea { max-width: 34rem; }
.educator-pin-image-settings label { display: grid; gap: 0.35rem; max-width: 34rem; }
.educator-pin-image-settings :focus-visible { outline: 3px solid #0d4fc4; outline-offset: 2px; }

.educator-assessment__draw-image { display: grid; gap: 0.75rem; margin: 1rem 0; max-width: 42rem; }
.educator-assessment__draw-stage,
.educator-assessment__draw-review-stage { background: #fff; border: 1px solid var(--educator-line); border-radius: 8px; line-height: 0; overflow: hidden; position: relative; }
.educator-assessment__draw-stage img,
.educator-assessment__draw-review-stage img { display: block; height: auto; max-width: 100%; pointer-events: none; user-select: none; width: 100%; }
.educator-assessment__draw-canvas { cursor: crosshair; display: block; height: 100%; inset: 0; position: absolute; touch-action: none; width: 100%; }
.educator-assessment__draw-canvas:focus-visible { outline: 3px solid var(--educator-primary-dark); outline-offset: -3px; }
.educator-assessment__draw-cursor { border: 2px solid var(--educator-ink); border-radius: 50%; box-shadow: 0 0 0 2px #fff; height: 12px; pointer-events: none; position: absolute; transform: translate(-50%, -50%); width: 12px; z-index: 2; }
.educator-assessment__draw-cursor[hidden] { display: none; }
.educator-assessment__draw-help { color: var(--educator-muted); font-size: 0.9rem; margin: 0; }
.educator-assessment__draw-review { margin: 0.75rem 0; max-width: 42rem; }
.educator-assessment__draw-review-mask { height: 100%; inset: 0; pointer-events: none; position: absolute; width: 100%; }
.educator-assessment__draw-review-mask.is-target { z-index: 1; }
.educator-assessment__draw-review-mask.is-selected { mix-blend-mode: multiply; z-index: 2; }
.educator-assessment__draw-review p { margin: 0.5rem 0; }
.educator-draw-image-settings { border: 1px solid var(--educator-line); margin: 1rem 0; padding: 1rem; }
.educator-draw-image-settings textarea { max-width: 34rem; }
.educator-draw-image-settings label { display: grid; gap: 0.35rem; max-width: 34rem; }
.educator-draw-image-settings :focus-visible { outline: 3px solid #0d4fc4; outline-offset: 2px; }
.educator-assessment__puzzle { display: grid; gap: 1rem; margin: 1.25rem 0; max-width: 46rem; }
.educator-assessment__puzzle-source { height: 1px; left: -10000px; overflow: hidden; position: absolute; width: 1px; }
.educator-assessment__puzzle-board { aspect-ratio: 1; border: 1px solid var(--educator-line); display: grid; gap: 2px; grid-template-columns: repeat(var(--educator-puzzle-size), minmax(0, 1fr)); max-width: 36rem; overflow: hidden; width: 100%; }
.educator-assessment__puzzle-slot,
.educator-assessment__puzzle-piece { appearance: none; background-color: #eaf0f8; background-repeat: no-repeat; border: 1px solid #8091a8; border-radius: 2px; cursor: pointer; min-height: 2rem; min-width: 2rem; padding: 0; }
.educator-assessment__puzzle-slot:not(.is-filled) { background-image: none !important; background-color: #f1f5f9; }
.educator-assessment__puzzle-slot:focus-visible,
.educator-assessment__puzzle-piece:focus-visible,
.educator-assessment__puzzle [data-puzzle-return]:focus-visible { outline: 3px solid #1769f5; outline-offset: 2px; position: relative; z-index: 1; }
.educator-assessment__puzzle-slot.is-selected,
.educator-assessment__puzzle-piece.is-selected { box-shadow: inset 0 0 0 3px #1769f5; }
.educator-assessment__puzzle-pool { display: grid; gap: .4rem; grid-template-columns: repeat(auto-fill, minmax(3.25rem, 1fr)); max-width: 36rem; }
.educator-assessment__puzzle-piece { aspect-ratio: 1; }
.educator-assessment__puzzle-piece[hidden] { display: none !important; }
.educator-assessment__puzzle-review-image { margin: 1rem 0; max-width: 34rem; }
.educator-assessment__puzzle-review-image img { display: block; height: auto; max-width: 100%; }
@media (max-width: 40rem) {
	.educator-assessment__puzzle-board { gap: 1px; }
	.educator-assessment__puzzle-pool { grid-template-columns: repeat(auto-fill, minmax(2.5rem, 1fr)); }
	.educator-assessment__puzzle-slot,
	.educator-assessment__puzzle-piece { min-height: 1.6rem; min-width: 1.6rem; }
}
@media (prefers-reduced-motion: reduce) {
	.educator-assessment__puzzle-slot,
	.educator-assessment__puzzle-piece { scroll-behavior: auto; transition: none; }
}

@media (max-width: 520px) {
	.educator-calendar__header { align-items: start; flex-direction: column; }
	.educator-calendar__event { gap: 0.75rem; grid-template-columns: 2.8rem minmax(0, 1fr); }
	.educator-calendar__date { min-height: 2.8rem; }
	.educator-assessment__ordering-review { grid-template-columns: minmax(0, 1fr); }
	.educator-assessment__pin-fields { grid-template-columns: minmax(0, 1fr); }
}

/* Course, lesson and catalog layouts. Typography remains owned by the active theme and existing Educator rules. */
.educator-course-catalog {
	box-sizing: border-box;
	container: educator-course-catalog / inline-size;
	color: var(--educator-ink, #12284d);
}

.educator-course-catalog *,
.educator-course__intro *,
.educator-lesson__layout * { box-sizing: border-box; }

.educator-course__intro {
	align-items: start;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1fr) minmax(280px, 350px);
}

.educator-course__intro--single { grid-template-columns: minmax(0, 1fr); }
.educator-course__intro-main { min-width: 0; }
.educator-course__header { display: block; margin-bottom: 1.5rem; }
.educator-course__description,
.educator-course__information { max-width: none; }
.educator-course__layout { margin-top: 2rem; }

.educator-course__card {
	align-self: start;
	background: var(--educator-surface, #ffffff);
	border: 1px solid var(--educator-line, #dfe5ee);
	border-radius: 8px;
	box-shadow: var(--educator-shadow, 0 8px 24px rgba(18, 40, 77, 0.06));
	min-width: 0;
	overflow: hidden;
	position: sticky;
	top: 1.5rem;
}

.educator-course__image { margin: 0; max-width: none; width: 100%; }
.educator-course__image img { aspect-ratio: 16 / 9; display: block; height: auto; max-height: none; object-fit: cover; width: 100%; }
.educator-course__card-content { padding: 1.25rem; }
.educator-course__card-content h2 { color: var(--educator-ink, #12284d); margin: 0 0 0.8rem; }
.educator-course__card-content .educator-course__sale { margin: 0.8rem 0; }
.educator-course__card-content .button { width: 100%; }
.educator-course__outline--preview { border-color: var(--educator-line, #cfd8e6); }
.educator-course__outline--preview .educator-lesson-row--locked { background: var(--educator-page, #f8fafc); }
.educator-course__outline--preview .educator-lesson-row__state { color: var(--educator-muted, #66758e); }

.educator-lesson { max-width: 1240px; }
.educator-lesson__header { margin-bottom: 1.5rem; }
.educator-lesson__layout {
	align-items: start;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
}
.educator-lesson__main { min-width: 0; }
.educator-lesson__content { max-width: 76ch; }
.educator-lesson__sidebar { min-width: 0; position: sticky; top: 1.5rem; }
.educator-lesson__outline {
	background: var(--educator-surface, #fff);
	border: 1px solid var(--educator-line, #dfe5ee);
	border-radius: 8px;
	max-height: min(72vh, 740px);
	overflow: auto;
}
.educator-lesson__outline > summary {
	background: var(--educator-page, #f8fafc);
	border-bottom: 1px solid var(--educator-line, #dfe5ee);
	cursor: pointer;
	padding: 1rem 1.1rem;
}
.educator-lesson__outline nav { padding: 0.4rem 1rem 1rem; }
.educator-lesson__outline-module + .educator-lesson__outline-module { border-top: 1px solid var(--educator-line, #dfe5ee); margin-top: 0.6rem; padding-top: 0.6rem; }
.educator-lesson__outline-module h2 { color: var(--educator-muted, #66758e); margin: 0.5rem 0; }
.educator-lesson__outline-module ol { list-style: none; margin: 0; padding: 0; }
.educator-lesson__outline-item { align-items: baseline; border-radius: 4px; display: flex; flex-wrap: wrap; gap: 0.2rem 0.5rem; justify-content: space-between; padding: 0.45rem 0.5rem; }
.educator-lesson__outline-item--current { background: var(--educator-current, #edf4ff); }
.educator-lesson__outline-item--complete .educator-lesson__outline-state { color: var(--educator-success, #237a4b); }
.educator-lesson__outline-item--locked { color: var(--educator-muted, #66758e); }
.educator-lesson__outline-state { color: var(--educator-primary-dark, #0d4fc4); flex: 0 0 auto; }
.educator-lesson__course-link { margin: 0.8rem 0 0; }
.educator-lesson__navigation { justify-content: space-between; }

.educator-student-dashboard__links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1.25rem;
	margin: 1rem 0 1.5rem;
}

.educator-course-catalog__filters {
	align-items: end;
	background: var(--educator-page, #f8fafc);
	border: 1px solid var(--educator-line, #dfe5ee);
	border-radius: 8px;
	display: grid;
	gap: 0.9rem;
	grid-template-columns: minmax(0, 1fr) minmax(190px, 260px) auto;
	padding: 1rem;
}
.educator-course-catalog__filter { display: grid; gap: 0.35rem; min-width: 0; }
.educator-course-catalog__filter label { color: var(--educator-ink, #12284d); }
.educator-course-catalog__filter input,
.educator-course-catalog__filter select { min-height: 2.75rem; max-width: 100%; width: 100%; }
.educator-course-catalog__filters button { width: auto; }
.educator-course-catalog a:focus-visible,
.educator-course-catalog button:focus-visible,
.educator-course-catalog input:focus-visible,
.educator-course-catalog select:focus-visible,
.educator-lesson__outline summary:focus-visible,
.educator-student-dashboard__links a:focus-visible {
	border-radius: 4px;
	outline: 3px solid var(--educator-primary-dark, #0d4fc4);
	outline-offset: 3px;
}
.educator-course-catalog__grid { margin-top: 1.25rem; }
.educator-course-catalog__card { min-width: 0; padding: 0 0 1.15rem; }
.educator-course-catalog__primary-link { color: var(--educator-ink, #12284d); display: block; flex: 0 0 auto; text-decoration: none; }
.educator-course-catalog__primary-link img { aspect-ratio: 16 / 9; margin: 0; max-height: none; object-fit: cover; }
.educator-course-catalog__primary-link h2 { color: inherit; font-family: inherit; font-size: clamp(1.2rem, 1.5vw, 1.45rem); line-height: 1.25; margin: 0; padding: 1rem 1rem 0; text-decoration: none; }
.educator-course-catalog__primary-link:hover h2 { color: var(--educator-primary-dark, #0d4fc4); }
.educator-course-catalog__card > p { margin-left: 1rem; margin-right: 1rem; }
.educator-course-catalog__card .educator-course-card__sale { margin-top: auto; }
.educator-course-catalog__action { margin: 1rem 1rem 0; width: calc(100% - 2rem); }
.educator-course-catalog__pagination { margin: 1.5rem 0 0; }
.educator-course-catalog__pagination .page-numbers { align-items: center; display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; margin: 0; padding: 0; }
.educator-course-catalog__pagination a,
.educator-course-catalog__pagination .current { border: 1px solid var(--educator-line, #dfe5ee); border-radius: 4px; display: inline-block; min-width: 2.5rem; padding: 0.4rem 0.65rem; text-align: center; }
.educator-course-catalog__pagination .current { background: var(--educator-current, #edf4ff); color: var(--educator-ink, #12284d); }
.educator-course-catalog__empty { margin-top: 1.25rem; }

@container educator-course-catalog (max-width: 760px) {
	.educator-course-catalog__grid:not(.educator-courses-grid--columns-1) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@container educator-course-catalog (max-width: 480px) {
	.educator-course-catalog__grid:not(.educator-courses-grid--columns-1) {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 900px) {
	.educator-course__intro,
	.educator-course__layout,
	.educator-lesson__layout { grid-template-columns: minmax(0, 1fr); }
	.educator-course__card,
	.educator-lesson__sidebar { position: static; }
	.educator-course__card { max-width: 34rem; }
	.educator-lesson__outline { max-height: 52vh; }
	.educator-course-catalog__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.educator-course-catalog__filters button { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
	.educator-course-catalog__filters { grid-template-columns: minmax(0, 1fr); }
	.educator-course-catalog__filters button { grid-column: auto; width: 100%; }
	.educator-course__card { max-width: none; }
	.educator-course__card-content { padding: 1rem; }
	.educator-lesson__outline-item { align-items: flex-start; }
}
