/* Eva Taub Academy — LifterLMS override, matched to site brand.
   LifterLMS ships its own gray/utilitarian default skin (#e1e1e1, #ebebeb,
   #f1f1f1, #eaeaea, #f6f6f6, etc. throughout). This file forcibly replaces
   every background/border/shadow inside LMS templates with the warm
   cream + rose + gold palette used across the rest of the site. */

/* ---- blanket reset: kill every gray LifterLMS default first ---- */
.llms-main,
.llms-main * {
	background-color: transparent;
	border-color: var(--color-border) !important;
	box-shadow: none !important;
}

body.single-course,
body.single-lesson,
body.single-llms_quiz,
body.post-type-archive-course {
	background: var(--color-bg) !important;
}

.llms-main {
	background: var(--color-bg) !important;
	font-family: var(--font-sans);
	color: var(--color-text);
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 24px;
}

/* ---- page title ---- */
.single-course .entry-title,
.single-lesson .entry-title {
	font-family: var(--font-serif) !important;
	color: var(--color-espresso) !important;
	font-size: 2.3rem !important;
	line-height: 1.15;
	margin: 36px 0 12px !important;
}

/* ---- instructor / meta info cards ---- */
.llms-meta-info,
.llms-instructors,
.llms-col-1,
.llms-widget-author,
.llms-course-author-wrap {
	background: var(--color-surface) !important;
	border: 1px solid var(--color-border) !important;
	border-radius: var(--radius) !important;
	box-shadow: var(--shadow-gentle) !important;
	padding: 28px 32px !important;
	margin: 24px 0 !important;
}

.llms-meta-title,
.llms-meta-info h4,
.llms-instructors h4 {
	font-family: var(--font-serif) !important;
	color: var(--color-espresso) !important;
	font-size: 1.25rem !important;
	margin: 0 0 16px !important;
}

.llms-instructor-info,
.llms-author-info {
	font-family: var(--font-sans);
	color: var(--color-text);
}

.llms-author-info.label {
	color: var(--color-text-muted);
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.llms-author-info.name {
	font-family: var(--font-serif) !important;
	color: var(--color-espresso) !important;
	font-size: 1.3rem !important;
}

.llms-author img.avatar,
.llms-instructors img.avatar {
	border-radius: 50% !important;
	border: 4px solid var(--color-gold) !important;
	box-shadow: var(--shadow-gentle) !important;
}

/* ---- syllabus: section headers ---- */
.llms-syllabus-wrapper {
	margin-top: 36px;
}

.llms-h3.llms-section-title {
	font-family: var(--font-serif) !important;
	background: var(--color-surface-warm) !important;
	color: var(--color-espresso) !important;
	border-radius: 14px !important;
	padding: 16px 22px !important;
	font-size: 1.2rem !important;
	margin: 30px 0 14px !important;
	border: none !important;
}

/* ---- lesson rows ---- */
.llms-lesson-preview,
.llms-lesson-preview-row {
	background: var(--color-surface) !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 14px !important;
	box-shadow: var(--shadow-gentle) !important;
	margin-bottom: 10px !important;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.llms-lesson-preview:hover {
	box-shadow: var(--shadow-soft) !important;
	transform: translateY(-1px);
}

.llms-lesson-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 22px !important;
	text-decoration: none !important;
}

.llms-lesson-title {
	font-family: var(--font-sans) !important;
	font-weight: 500;
	color: var(--color-text) !important;
	font-size: 1.02rem;
}

.llms-lesson-link:hover .llms-lesson-title {
	color: var(--color-rose-deep) !important;
}

.llms-lesson-counter,
.llms-lesson-meta {
	color: var(--color-text-muted) !important;
	font-size: 0.88rem;
}

.llms-lesson-locked .llms-lesson-title::before {
	color: var(--color-rose) !important;
}

/* favorite heart icon */
.llms-favorite-btn,
.llms-heart-btn {
	color: var(--color-rose) !important;
}

/* ---- progress bar ---- */
.llms-progress-bar {
	background: var(--color-surface-warm) !important;
	border-radius: 20px !important;
	overflow: hidden;
	height: 10px;
}

.llms-progress-bar .llms-progress-percentage {
	background: linear-gradient(90deg, var(--color-gold), var(--color-rose)) !important;
	height: 100%;
}

/* ---- buttons ---- */
.llms-button-primary,
button.llms-button-action,
a.llms-button-action,
.llms-course-continue-button a {
	background: var(--color-rose-deep) !important;
	border: none !important;
	border-radius: 999px !important;
	font-family: var(--font-sans) !important;
	font-weight: 600 !important;
	padding: 12px 28px !important;
	color: #fff !important;
	box-shadow: none !important;
	transition: background 0.15s ease;
}

.llms-button-primary:hover,
button.llms-button-action:hover,
a.llms-button-action:hover {
	background: var(--color-rose) !important;
	color: #fff !important;
}

/* ---- lesson single content ---- */
.llms-lesson .entry-content,
.entry-content.llms-lesson-content {
	font-size: 1.08rem;
	line-height: 1.75;
	color: var(--color-text);
}

.llms-lesson .entry-content h2 {
	font-family: var(--font-serif) !important;
	color: var(--color-espresso) !important;
	margin-top: 36px;
}

.llms-lesson-navigation {
	border-top: 1px solid var(--color-border) !important;
	margin-top: 40px;
	padding-top: 20px;
}

/* ---- quiz ---- */
.llms-quiz-ui,
.llms-quiz-attempt-wrapper {
	background: var(--color-surface) !important;
	border: 1px solid var(--color-border) !important;
	border-radius: var(--radius) !important;
	padding: 28px 32px !important;
}

/* ---- notices ---- */
.llms-notice {
	background: var(--color-surface-warm) !important;
	border-left: 4px solid var(--color-gold) !important;
	border-radius: 10px !important;
	padding: 14px 20px !important;
	color: var(--color-text) !important;
}

/* =========================================================
   Academy course page — full custom redesign (single-course.php)
   ========================================================= */

.academy-page { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; }
.academy-page section { margin-top: 4.5em; }
.academy-page section:first-child { margin-top: 0; }
.academy-page h2 { font-family: var(--font-serif); font-size: 1.7rem; color: var(--color-espresso); text-align: center; margin-bottom: 0.6em; }

/* Hero */
.academy-hero {
	text-align: center;
	background: var(--color-surface-warm);
	border-radius: var(--radius);
	padding: 64px 32px 48px;
	margin-top: 24px !important;
}
.academy-hero-photo { max-width: 640px; margin: 0 auto 2.4em; border-radius: 14px; overflow: hidden; box-shadow: var(--shadow-soft); }
.academy-hero-photo img { width: 100%; height: auto; display: block; }
.academy-hero-photo-caption { font-family: var(--font-sans); font-size: 0.85rem; color: var(--color-text-muted); text-align: center; margin-top: 0.6em; }
.academy-media-section { text-align: center; margin-top: 3em; }
.academy-media-section h3 { font-family: var(--font-serif); font-size: 1.2rem; color: var(--color-espresso); margin-bottom: 1em; }
.academy-media-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.academy-media-grid img { max-width: 220px; border-radius: 10px; box-shadow: var(--shadow-gentle); }
.academy-eyebrow { font-family: var(--font-sans); text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.85rem; color: var(--color-rose-deep); font-weight: 600; margin: 0 0 0.6em; }
.academy-title { font-family: var(--font-serif); font-size: 2.6rem; color: var(--color-espresso); margin: 0 0 0.5em; line-height: 1.15; }
.academy-tagline { max-width: 640px; margin: 0 auto 1.8em; color: var(--color-text-muted); font-size: 1.1rem; line-height: 1.6; }
.academy-stats-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-bottom: 2em; }
.academy-stat {
	font-family: var(--font-sans); font-size: 0.9rem; font-weight: 600; color: var(--color-espresso);
	background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 100px; padding: 10px 18px;
	display: inline-flex; align-items: center; gap: 8px;
}
.academy-stat-icon { font-size: 1.1rem; }
.academy-enroll-wrap { max-width: 420px; margin: 0 auto; }
.academy-enroll-wrap .llms-button-primary,
.academy-enroll-wrap a.llms-button-action { width: 100%; text-align: center; font-size: 1.1rem !important; padding: 16px 28px !important; }

/* Progress (enrolled students) */
.academy-progress-wrap { max-width: 640px; margin: 2em auto 0; }

/* Why I Created This Academy */
.academy-why { max-width: var(--content-width); margin-left: auto; margin-right: auto; }
.academy-why p { font-size: 1.08rem; line-height: 1.75; margin-bottom: 1.2em; }
.academy-why .welcome-strong { font-family: var(--font-serif); font-size: 1.25rem; color: var(--color-rose-deep); text-align: center; margin-top: 1.6em; }

/* What You'll Learn */
.academy-learn-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
@media (max-width: 720px) { .academy-learn-grid { grid-template-columns: 1fr; } }
.academy-learn-item {
	background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 16px;
	padding: 22px 24px; display: flex; gap: 14px; align-items: flex-start; box-shadow: var(--shadow-gentle);
}
.academy-learn-icon { color: var(--color-gold); font-size: 1.3rem; flex-shrink: 0; }
.academy-learn-item p { margin: 0; font-size: 1rem; line-height: 1.6; }

/* Curriculum modules */
.academy-curriculum-lede { text-align: center; color: var(--color-text-muted); max-width: 560px; margin: 0 auto 2em; }
.academy-module {
	background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 16px;
	padding: 24px 28px; margin-bottom: 14px; box-shadow: var(--shadow-gentle);
	display: grid; grid-template-columns: auto 1fr auto; gap: 6px 20px; align-items: center;
}
.academy-module-number {
	font-family: var(--font-sans); font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
	color: #fff; background: var(--color-rose-deep); border-radius: 100px; padding: 6px 14px; grid-row: 1 / 3;
}
.academy-module h3 { font-family: var(--font-serif); font-size: 1.2rem; color: var(--color-espresso); margin: 0; grid-column: 2; }
.academy-module p { grid-column: 2; margin: 0; color: var(--color-text-muted); font-size: 0.96rem; }
.academy-module-lessons { grid-row: 1 / 3; grid-column: 3; font-size: 0.85rem; color: var(--color-text-muted); white-space: nowrap; }
@media (max-width: 600px) {
	.academy-module { grid-template-columns: auto 1fr; }
	.academy-module-lessons { grid-row: auto; grid-column: 2; }
}

/* Full syllabus detail (reuses .llms-syllabus-wrapper styling already defined above) */
.academy-syllabus-detail { }

/* Who it's for */
.academy-who-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.academy-who-item {
	font-family: var(--font-sans); font-size: 0.95rem; font-weight: 600; color: var(--color-espresso);
	background: var(--color-surface-warm); border: 1px solid var(--color-border); border-radius: 100px; padding: 10px 20px;
}

/* Stats band */
.academy-stats-band {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 40px;
	background: var(--color-espresso); border-radius: var(--radius); padding: 40px 24px; color: #fff;
}
.academy-stats-band-item { text-align: center; display: flex; flex-direction: column; gap: 4px; }
.academy-stats-band-number { font-family: var(--font-serif); font-size: 2.2rem; color: var(--color-gold); }
.academy-stats-band-item span:last-child { font-family: var(--font-sans); font-size: 0.9rem; color: #D8C4B4; }

/* Meet Eva */
.academy-meet-inner { display: flex; gap: 28px; align-items: flex-start; max-width: var(--content-width); margin: 0 auto; }
.academy-meet-inner img { border-radius: 50%; border: 4px solid var(--color-gold); flex-shrink: 0; }
.academy-meet-inner p { font-size: 1.05rem; line-height: 1.7; }
@media (max-width: 600px) { .academy-meet-inner { flex-direction: column; align-items: center; text-align: center; } }

/* Final CTA */
.academy-final-cta { text-align: center; background: var(--color-surface-warm); border-radius: var(--radius); padding: 48px 32px; }
.academy-final-cta p { color: var(--color-text-muted); max-width: 480px; margin: 0 auto 1.8em; }

/* Course archive grid — centered so a small number of courses (including
   just one) never sits flush left; the default LifterLMS grid stretches to
   fill the row. */
ul.courses {
	display: flex !important; flex-wrap: wrap; justify-content: center; gap: 32px;
}
ul.courses li.course { max-width: 340px; }

.academy-enter-here { text-align: center; margin-top: 12px; }
.academy-enter-here a {
	display: inline-block; font-family: var(--font-sans); font-weight: 600; font-size: 0.95rem;
	color: var(--color-rose-deep); text-decoration: none;
}
.academy-enter-here a:hover { color: var(--color-rose); }

/* Written clinical scenario responses */
.eva-scenario {
	max-width: var(--content-width); margin: 2.5em auto; background: var(--color-surface);
	border: 1px solid var(--color-border); border-radius: var(--radius); padding: 32px 36px; box-shadow: var(--shadow-gentle);
}
.eva-scenario-intro {
	background: var(--color-surface-warm); border-radius: 12px; padding: 18px 22px; margin-bottom: 1.6em;
	font-size: 0.98rem; color: var(--color-text-muted); font-style: italic;
}
.eva-scenario-unit {
	font-family: var(--font-sans); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
	color: var(--color-rose-deep); margin: 0 0 0.4em;
}
.eva-scenario-title { margin-top: 0; }
.eva-scenario-assignment-note { font-style: italic; color: var(--color-text-muted); margin: 1em 0 0; }
.eva-scenario-text { font-size: 1.05rem; line-height: 1.7; margin-bottom: 1.6em; }
.eva-scenario-assignment {
	background: var(--color-surface-warm); border-radius: 12px; padding: 20px 24px; margin-bottom: 1.8em;
}
.eva-scenario-assignment-heading { font-weight: 600; color: var(--color-espresso); margin: 0 0 0.6em; }
.eva-scenario-assignment ol { margin: 0; padding-left: 1.3em; }
.eva-scenario-assignment li { margin-bottom: 0.4em; color: var(--color-text); }
.eva-scenario-label {
	display: block; font-family: var(--font-serif); font-weight: 600; font-size: 1.1rem; color: var(--color-espresso); margin-bottom: 0.3em;
}
.eva-scenario-instructions { color: var(--color-text-muted); font-size: 0.95rem; margin-bottom: 0.8em; }
.eva-scenario-textarea {
	width: 100%; box-sizing: border-box; padding: 16px 18px; border: 1px solid var(--color-border); border-radius: 12px;
	font-family: var(--font-sans); font-size: 1rem; line-height: 1.6; color: var(--color-text); background: var(--color-bg);
	resize: vertical; min-height: 200px;
}
.eva-scenario-textarea:focus { outline: 2px solid var(--color-rose-deep); outline-offset: 1px; }
.eva-scenario-textarea[readonly] { background: var(--color-surface-warm); color: var(--color-text); }
.eva-scenario-autosave-status { font-size: 0.82rem; color: var(--color-text-muted); min-height: 1.2em; margin: 6px 0 14px; }
.eva-scenario-submit {
	background: var(--color-rose-deep); color: #fff; border: none; border-radius: 100px;
	font-family: var(--font-sans); font-weight: 600; font-size: 1rem; padding: 13px 28px; cursor: pointer;
}
.eva-scenario-submit:hover:not(:disabled) { background: var(--color-rose); }
.eva-scenario-submit:disabled { background: var(--color-border); color: var(--color-text-muted); cursor: not-allowed; }
.eva-scenario-approach {
	margin-top: 2.4em; padding-top: 2em; border-top: 1px solid var(--color-border);
}
.eva-scenario-approach h3 { color: var(--color-rose-deep); }
.eva-scenario-approach-text { font-size: 1.05rem; line-height: 1.7; }

/* Minimal header while inside the Academy — no links out to shop/site pages,
   so students can't wander off a $2,000 course. Only way out is "My Courses". */
.site-header--academy .primary-nav ul { gap: 0; }
.site-header--academy .primary-nav a { font-weight: 600; }

/* Certificate progress (before earning it) */
.eva-cert-progress { max-width: var(--content-width); margin: 3em auto; text-align: center; }

/* The certificate itself */
.eva-certificate { max-width: 900px; margin: 3em auto; }
.eva-certificate-border {
	position: relative; background: #FBF6EE; border: 2px solid #C99B5D; border-radius: 4px;
	padding: 3px; box-shadow: var(--shadow-soft);
}
.eva-certificate-border::before {
	content: ""; position: absolute; inset: 10px; border: 1px solid #C99B5D; border-radius: 2px; pointer-events: none;
}
.eva-cert-header, .eva-cert-body, .eva-cert-footer-row, .eva-cert-bottom-footer { position: relative; padding: 0 48px; }
.eva-cert-header { text-align: center; padding-top: 44px; }
.eva-cert-academy-name { font-family: var(--font-serif); font-size: 1.1rem; font-weight: 700; letter-spacing: 0.12em; color: #A8583F; margin: 0; }
.eva-cert-academy-tagline { font-family: var(--font-sans); font-size: 0.78rem; letter-spacing: 0.05em; color: var(--color-text-muted); margin: 4px 0 0; }

.eva-cert-body { text-align: center; padding-top: 28px; }
.eva-cert-title { font-family: var(--font-sans); font-size: 1rem; font-weight: 700; letter-spacing: 0.18em; color: var(--color-espresso); margin: 0 0 20px; }
.eva-cert-presented-to { font-family: var(--font-serif); font-style: italic; font-size: 1rem; color: var(--color-text-muted); margin: 0 0 6px; }
.eva-cert-name { font-family: var(--font-script); font-size: 2.6rem; color: #A8583F; margin: 0 0 14px; }
.eva-cert-recognition { font-size: 0.95rem; color: var(--color-text-muted); margin: 0 0 10px; }
.eva-cert-course-name { font-family: var(--font-serif); font-size: 1.15rem; font-weight: 700; color: var(--color-espresso); margin: 0 0 4px; letter-spacing: 0.02em; }
.eva-cert-program-label { font-family: var(--font-sans); font-size: 0.8rem; letter-spacing: 0.08em; color: var(--color-text-muted); text-transform: uppercase; margin: 0 0 22px; }
.eva-cert-statement { max-width: 620px; margin: 0 auto 30px; font-size: 0.92rem; line-height: 1.7; color: var(--color-text); }

.eva-cert-footer-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; padding-bottom: 28px; flex-wrap: wrap; }
.eva-cert-footer-col { flex: 1; min-width: 160px; text-align: center; }
.eva-cert-label { font-family: var(--font-sans); font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-text-muted); margin: 0; border-top: 1px solid var(--color-border); padding-top: 6px; }
.eva-cert-value { font-family: var(--font-serif); font-size: 0.95rem; color: var(--color-espresso); margin: 2px 0 8px; }
.eva-cert-id { letter-spacing: 0.04em; }
.eva-cert-signature { max-height: 46px; margin: 0 auto 4px; display: block; }
.eva-cert-instructor-name { margin: 0 0 2px; border-top: 1px solid var(--color-border); padding-top: 6px; }
.eva-cert-instructor-title { font-family: var(--font-sans); font-size: 0.72rem; letter-spacing: 0.04em; color: var(--color-text-muted); margin: 0; }

.eva-cert-seal { position: absolute; right: 40px; bottom: 90px; opacity: 0.9; }

.eva-cert-bottom-footer {
	text-align: center; border-top: 1px solid var(--color-border); padding: 14px 20px 24px; font-size: 0.72rem; color: var(--color-text-muted);
}
.eva-cert-bottom-footer p { margin: 2px 0; }
.eva-cert-verify-link { font-style: italic; font-size: 0.65rem; opacity: 0.7; }

@media (max-width: 640px) {
	.eva-cert-header, .eva-cert-body, .eva-cert-footer-row, .eva-cert-bottom-footer { padding-left: 22px; padding-right: 22px; }
	.eva-cert-name { font-size: 1.9rem; }
	.eva-cert-seal { display: none; }
}

@media print {
	.site-header, .site-footer, .eva-product-no-perfect-routine { display: none !important; }
	.eva-certificate-border { box-shadow: none; }
}

/* Certificate verification page */
.eva-cert-verify { max-width: 480px; margin: 3em auto; }
.eva-cert-verify-form { display: flex; gap: 10px; margin: 1.4em 0; flex-wrap: wrap; }
.eva-cert-verify-form input {
	flex: 1; min-width: 200px; padding: 12px 16px; border: 1px solid var(--color-border); border-radius: 100px;
	font-family: var(--font-sans); font-size: 0.95rem;
}
.eva-cert-verify-result { border-radius: 12px; padding: 22px 26px; margin-top: 1em; }
.eva-cert-verify-valid { background: #EAF5EC; border: 1px solid #B7DDBC; }
.eva-cert-verify-valid p { margin: 0 0 6px; }
.eva-cert-verify-check { font-weight: 700; color: #2E7D3E; font-size: 1.05rem; }
.eva-cert-verify-invalid { background: #FDECEC; border: 1px solid #E8B4B4; color: #8A2C2C; }

/* Copyright notice, bottom of every lesson */
.eva-academy-copyright {
	max-width: var(--content-width); margin: 3em auto 0; padding: 20px 24px; border-top: 1px solid var(--color-border);
	font-family: var(--font-sans); font-size: 0.82rem; line-height: 1.6; color: var(--color-text-muted);
}
.eva-academy-copyright p { margin: 0 0 0.6em; }
.eva-academy-copyright p:last-child { margin-bottom: 0; }

/* Course Access Agreement page */
.eva-academy-agreement {
	max-width: 640px; margin: 3em auto; padding: 36px 32px; background: var(--color-surface);
	border: 1px solid var(--color-border); border-radius: var(--radius); box-shadow: var(--shadow-gentle);
}
.eva-academy-agreement h2 { font-family: var(--font-serif); color: var(--color-espresso); margin-top: 0; }
.eva-academy-agreement-body { font-size: 0.98rem; line-height: 1.7; color: var(--color-text); margin-bottom: 1.6em; }
.eva-academy-agreement-body p { margin: 0 0 1em; }
.eva-agreement-checkbox { display: flex; align-items: flex-start; gap: 10px; font-family: var(--font-sans); font-size: 0.95rem; margin-bottom: 1.4em; cursor: pointer; }
.eva-agreement-checkbox input { margin-top: 4px; }
.eva-academy-agreement-form .btn-primary {
	background: var(--color-rose-deep); color: #fff; border: none; border-radius: 100px;
	font-family: var(--font-sans); font-weight: 600; font-size: 1rem; padding: 12px 30px; cursor: pointer;
}
.eva-academy-agreement-form .btn-primary:hover { background: var(--color-rose); }
.eva-agreement-error { color: #a02c2c; font-weight: 600; margin-bottom: 1em; }
