/* MedExamium LMS — Course Player & Curriculum
 * Responsive (desktop/tablet/mobile) + light/dark mode, per MLEC
 * Sections 0.5.13 (Course Player) and 0.8.10.
 */

.medexamium-course-player-shell,
.medexamium-curriculum {
	--me-bg: #f6f8fb;
	--me-surface: #ffffff;
	--me-border: #e3e8f0;
	--me-text: #1a2333;
	--me-text-muted: #6b7789;
	--me-primary: #4f46e5;
	--me-primary-hover: #4338ca;
	--me-success: #16a34a;
	--me-success-bg: #ecfdf3;
	--me-radius: 14px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--me-text);
}

.medexamium-course-player-shell.medexamium-dark {
	--me-bg: #10131a;
	--me-surface: #1b2030;
	--me-border: #2b3242;
	--me-text: #e9ecf3;
	--me-text-muted: #9aa3b5;
	--me-success-bg: #0e2a1a;
	background: var(--me-bg);
}

.medexamium-course-player-shell * { box-sizing: border-box; }

.medexamium-course-player-shell {
	display: flex;
	align-items: flex-start;
	gap: 0;
	max-width: 1280px;
	margin: 24px auto;
	background: var(--me-bg);
	border-radius: var(--me-radius);
	overflow: hidden;
	border: 1px solid var(--me-border);
	min-height: 70vh;
}

/* ---------------- Sidebar / Curriculum ---------------- */

.medexamium-course-sidebar {
	width: 320px;
	flex-shrink: 0;
	background: var(--me-surface);
	border-right: 1px solid var(--me-border);
	padding: 18px;
	max-height: 90vh;
	overflow-y: auto;
	position: sticky;
	top: 0;
}

.medexamium-sidebar-header { margin-bottom: 14px; }
.medexamium-back-to-course {
	font-weight: 700;
	text-decoration: none;
	color: var(--me-text);
	font-size: 14px;
}

.medexamium-curriculum-progress { margin-bottom: 16px; }
.medexamium-curriculum-progress span { font-size: 12px; color: var(--me-text-muted); }
.medexamium-progress-bar { height: 6px; background: var(--me-border); border-radius: 999px; overflow: hidden; margin-bottom: 6px; }
.medexamium-progress-fill { height: 100%; background: var(--me-primary); transition: width .25s ease; }

.medexamium-curriculum-section {
	margin-bottom: 12px;
	background: var(--me-surface, #ffffff);
	border: 1px solid var(--me-border, #e3e8f0);
	border-radius: var(--me-radius, 14px);
	box-shadow: var(--me-shadow-sm, 0 2px 8px rgba(17,24,39,0.06));
	overflow: hidden;
}
.medexamium-section-title {
	display: flex; align-items: center; gap: 10px;
	list-style: none; cursor: pointer; user-select: none;
	font-size: 13px; font-weight: 700; color: var(--me-text);
	padding: 12px 14px; margin: 0;
}
.medexamium-section-title::-webkit-details-marker { display: none; }
.medexamium-section-title::marker { content: ""; }
.medexamium-section-chevron {
	flex-shrink: 0; width: 10px; height: 10px;
	border-right: 2px solid var(--me-text-muted); border-bottom: 2px solid var(--me-text-muted);
	transform: rotate(-45deg); transition: transform .15s ease; margin-left: 2px;
}
.medexamium-curriculum-section[open] > .medexamium-section-title .medexamium-section-chevron { transform: rotate(45deg); }
.medexamium-section-name { flex: 1; }
.medexamium-section-count {
	font-size: 11px; font-weight: 700; color: var(--me-text-muted);
	background: var(--me-surface-alt, var(--me-bg)); padding: 2px 8px; border-radius: 999px; flex-shrink: 0;
}
.medexamium-curriculum-section > .medexamium-lesson-list { padding: 0 8px 8px; }

.medexamium-lesson-list { list-style: none; margin: 0; padding: 0; }
.medexamium-lesson-list-unsectioned { margin-bottom: 12px; }
.medexamium-lesson-item { margin-bottom: 4px; }
.medexamium-lesson-item a,
.medexamium-lesson-item > span {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 10px;
	border-radius: 8px;
	text-decoration: none;
	color: var(--me-text);
	font-size: 13.5px;
}
.medexamium-lesson-item a:hover { background: var(--me-bg); }
.medexamium-lesson-item.medexamium-lesson-current a {
	background: rgba(79,70,229,0.1); color: var(--me-primary); font-weight: 700;
	border-left: 3px solid var(--me-primary); padding-left: 7px;
}
.medexamium-lesson-item.medexamium-lesson-completed .medexamium-lesson-icon { opacity: 1; color: var(--me-success); }
.medexamium-lesson-item.medexamium-lesson-locked > span { color: var(--me-text-muted); cursor: not-allowed; }
.medexamium-lesson-icon { flex-shrink: 0; width: 18px; text-align: center; opacity: .75; }
.medexamium-lesson-title { flex: 1; }
.medexamium-lesson-duration { font-size: 11px; color: var(--me-text-muted); flex-shrink: 0; }
.medexamium-lesson-badge {
	font-size: 10px; text-transform: uppercase; background: var(--me-primary); color: #fff;
	padding: 2px 6px; border-radius: 999px; flex-shrink: 0;
}
.medexamium-lesson-check { color: var(--me-success); flex-shrink: 0; }
.medexamium-lesson-lock { flex-shrink: 0; opacity: .6; font-size: 12px; }
.medexamium-lesson-empty { padding: 8px 10px; font-size: 13px; color: var(--me-text-muted); }

.medexamium-quiz-subitem { margin-left: 16px; margin-top: -2px; }
.medexamium-quiz-subitem a,
.medexamium-quiz-subitem > span { font-size: 12.5px; color: var(--me-text-muted); padding: 6px 10px; }
.medexamium-quiz-subitem .medexamium-lesson-icon {
	width: 16px; height: 16px; border-radius: 50%; background: var(--me-secondary, var(--me-primary));
	color: #fff; font-size: 10px; font-weight: 800; opacity: 1; display: flex; align-items: center; justify-content: center;
}

.medexamium-enroll-box { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--me-border); text-align: center; }
.medexamium-access-duration-note { font-size: 12px; color: var(--me-text-muted); margin: 0 0 14px; }
.medexamium-access-expired { color: var(--me-danger); font-weight: 700; }

/* ---------------- Main lesson content ---------------- */

.medexamium-lesson-content { flex: 1; padding: 28px 36px; min-width: 0; }

.medexamium-lesson-topbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.medexamium-lesson-heading { font-size: 26px; font-weight: 800; margin: 0; }

.medexamium-icon-btn {
	background: var(--me-surface); border: 1px solid var(--me-border); color: var(--me-text);
	width: 40px; height: 40px; border-radius: 10px; cursor: pointer; flex-shrink: 0;
	display: flex; align-items: center; justify-content: center;
}
.medexamium-icon-theme::before { content: "☾"; }
.medexamium-course-player-shell.medexamium-dark .medexamium-icon-theme::before { content: "☀"; }

.medexamium-lesson-locked-notice {
	background: var(--me-surface); border: 1px solid var(--me-border); border-radius: var(--me-radius);
	padding: 40px; text-align: center;
}
.medexamium-lesson-locked-notice p { font-size: 16px; margin-bottom: 16px; }

.medexamium-video-wrap { position: relative; margin-bottom: 24px; border-radius: var(--me-radius); overflow: hidden; background: #000; }
.medexamium-video-wrap iframe,
.medexamium-video-wrap video {
	width: 100%; aspect-ratio: 16/9; display: block; border: 0;
}

.medexamium-pdf-wrap { margin-bottom: 24px; }
.medexamium-pdf-wrap iframe { width: 100%; height: 70vh; border: 1px solid var(--me-border); border-radius: var(--me-radius); }
.medexamium-pdf-wrap p { margin-top: 8px; font-size: 13px; }

.medexamium-audio-wrap { margin-bottom: 24px; }
.medexamium-audio-wrap audio { width: 100%; }

.medexamium-lesson-text { line-height: 1.75; font-size: 16px; }
.medexamium-lesson-text img { max-width: 100%; height: auto; border-radius: 10px; }

.medexamium-lesson-actions { margin: 28px 0; }

.medexamium-lesson-navbar {
	display: flex; justify-content: space-between; align-items: center; gap: 12px;
	margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--me-border);
}

.medexamium-btn {
	border: none; border-radius: 10px; padding: 12px 20px; font-weight: 600; font-size: 14px;
	cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
	transition: background .15s ease, opacity .15s ease;
}
.medexamium-btn:disabled { opacity: .6; cursor: default; }
.medexamium-btn-primary { background: var(--me-primary); color: #fff; }
.medexamium-btn-primary:hover:not(:disabled) { background: var(--me-primary-hover); color: #fff; }
.medexamium-btn-outline { background: transparent; border: 1.5px solid var(--me-border); color: var(--me-text); }
.medexamium-btn-outline:hover { border-color: var(--me-primary); color: var(--me-primary); }
.medexamium-btn-success { background: var(--me-success-bg); color: var(--me-success); }

.medexamium-notice { padding: 14px 18px; background: var(--me-surface); border: 1px solid var(--me-border); border-radius: 10px; }

/* ---------------- My Courses shortcode ---------------- */

.medexamium-my-courses { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.medexamium-my-course-card {
	background: var(--me-surface); border: 1px solid var(--me-border); border-radius: var(--me-radius);
	padding: 20px; box-shadow: 0 2px 14px rgba(17,24,39,0.05);
}
.medexamium-my-course-card h3 { margin: 0 0 12px; font-size: 17px; }
.medexamium-my-course-card h3 a { color: var(--me-text); text-decoration: none; }
.medexamium-my-course-card > span { display: block; font-size: 12px; color: var(--me-text-muted); margin-bottom: 14px; }
.medexamium-course-card-expired,
.medexamium-my-course-card.medexamium-course-card-expired { border-color: var(--me-danger); }
.medexamium-course-card-expired .medexamium-status-badge { margin-bottom: 10px; display: inline-block; }

/* ---------------- Responsive ---------------- */

@media (max-width: 900px) {
	.medexamium-course-player-shell { flex-direction: column; margin: 0; border-radius: 0; }
	.medexamium-course-sidebar { width: 100%; position: relative; max-height: none; border-right: none; border-bottom: 1px solid var(--me-border); }
	.medexamium-lesson-content { padding: 20px; }
	.medexamium-lesson-heading { font-size: 21px; }
	.medexamium-lesson-navbar { flex-direction: column; align-items: stretch; }
	.medexamium-lesson-navbar .medexamium-btn { justify-content: center; }
}

/* Unified LMS Navigation additions (1.19) */
.medexamium-course-sidebar .medexamium-breadcrumbs { font-size: 11px; margin-bottom: 10px; }
.medexamium-lesson-linked-quiz {
	margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--me-border, #e3e8f0);
}
.medexamium-lesson-quiz-heading { font-size: 17px; margin: 0 0 14px; }
