/**
 * Estilos públicos do FENAJUD Formação.
 */

:root {
	--fenajud-primary: #D22630;
	--fenajud-primary-hover: #B91D26;
	--fenajud-primary-dark: #9B1A22;
	--fenajud-primary-light: #E5454E;
	--fenajud-primary-rgb: 210, 38, 48;
	--fenajud-secondary: #C9A96E;
	--fenajud-secondary-light: #D9BC8C;
	--fenajud-secondary-rgb: 201, 169, 110;
	--fenajud-bg: #FAFAF9;
	--fenajud-surface: #FFFFFF;
	--fenajud-text: #0F0F0F;
	--fenajud-text-muted: #6B6B6B;
	--fenajud-border: #E8E8E6;
	--fenajud-success: #2D8A4E;
	--fenajud-success-rgb: 45, 138, 78;
	--fenajud-success-bg: #EAF6EE;
	--fenajud-danger: #D22630;
	--fenajud-danger-bg: #FCEEEF;
	--fenajud-hero-end: #7A151C;
	--fenajud-radius: 8px;
	--fenajud-gap: 1.5rem;
}

.fenajud-container {
	max-width: 1100px;
	margin: 0 auto;
	padding: 2rem 1rem;
}

.fenajud-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.25rem;
	background-color: var(--fenajud-primary, #D22630);
	color: #ffffff;
	border: none;
	border-radius: var(--fenajud-radius, 8px);
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.fenajud-button:hover {
	background-color: var(--fenajud-primary-hover, #B91D26);
}

.fenajud-button:disabled,
.fenajud-button--completed {
	background-color: var(--fenajud-success, #2D8A4E);
	cursor: default;
}

.fenajud-button--large {
	padding: 1rem 2rem;
	font-size: 1.1rem;
}

.fenajud-button--secondary {
	background-color: var(--fenajud-secondary, #C9A96E);
	color: #3d2e18;
}

.fenajud-button--ghost {
	background-color: transparent;
	color: var(--fenajud-primary, #D22630);
	border: 1px solid var(--fenajud-primary, #D22630);
}

.fenajud-courses-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--fenajud-gap, 1.5rem);
	margin-top: 1.5rem;
}

.fenajud-course-card {
	background: var(--fenajud-surface, #ffffff);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: var(--fenajud-radius, 8px);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s ease;
}

.fenajud-course-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.fenajud-course-card__image img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}

.fenajud-course-card__content {
	padding: 1.25rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.fenajud-course-card__title {
	margin: 0 0 0.75rem;
	font-size: 1.15rem;
}

.fenajud-course-card__title a {
	color: var(--fenajud-text, #0F0F0F);
	text-decoration: none;
}

.fenajud-course-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
	font-size: 0.85rem;
	color: var(--fenajud-text-muted, #6B6B6B);
}

.fenajud-course-card__meta-item {
	background: var(--fenajud-bg, #FAFAF9);
	padding: 0.25rem 0.5rem;
	border-radius: 4px;
}

.fenajud-course-card__excerpt {
	font-size: 0.95rem;
	color: var(--fenajud-text-muted, #6B6B6B);
	margin-bottom: 1rem;
	flex: 1;
}

.fenajud-course-card__actions {
	margin-top: auto;
}

.fenajud-progress-bar {
	width: 100%;
	height: 12px;
	background: var(--fenajud-border, #E8E8E6);
	border-radius: 6px;
	overflow: hidden;
	position: relative;
	margin: 0.75rem 0;
}

.fenajud-progress-bar__fill {
	height: 100%;
	background: var(--fenajud-success, #2D8A4E);
	transition: width 0.3s ease;
}

.fenajud-progress-bar__label {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 0.7rem;
	font-weight: 700;
	color: var(--fenajud-text, #0F0F0F);
}

.fenajud-breadcrumb {
	font-size: 0.9rem;
	margin-bottom: 1.5rem;
	color: rgba(255, 255, 255, 0.85);
}

.fenajud-breadcrumb a {
	color: #ffffff;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	transition: border-color 0.2s ease;
}

.fenajud-breadcrumb a:hover {
	border-bottom-color: #ffffff;
}

.fenajud-breadcrumb__sep {
	margin: 0 0.5rem;
	opacity: 0.7;
}

.fenajud-single-curso__cover img {
	width: 100%;
	max-height: 360px;
	object-fit: cover;
	border-radius: var(--fenajud-radius, 8px);
	margin-bottom: 1.5rem;
}

.fenajud-single-curso__header,
.fenajud-single-aula__header,
.fenajud-single-quiz__header {
	margin-bottom: 0;
}

.fenajud-single-curso__meta,
.fenajud-single-quiz__info {
	display: flex;
	gap: 1rem;
	color: var(--fenajud-text-muted, #6B6B6B);
	font-size: 0.95rem;
}

.fenajud-single-curso__cta {
	margin: 2rem 0;
}

.fenajud-course-modules {
	margin-top: 2.5rem;
}

.fenajud-module {
	background: var(--fenajud-surface, #ffffff);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: var(--fenajud-radius, 8px);
	padding: 1.25rem;
	margin-bottom: 1rem;
}

.fenajud-module__title {
	margin: 0 0 1rem;
	font-size: 1.1rem;
}

.fenajud-module__lessons {
	list-style: none;
	padding: 0;
	margin: 0;
}

.fenajud-module__lesson {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--fenajud-border, #E8E8E6);
}

.fenajud-module__lesson:last-child {
	border-bottom: none;
}

.fenajud-module__lesson a {
	color: var(--fenajud-text, #0F0F0F);
	text-decoration: none;
}

.fenajud-module__lesson--completed a {
	color: var(--fenajud-success, #2D8A4E);
	font-weight: 600;
}

.fenajud-module__lesson-status {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--fenajud-border, #E8E8E6);
	margin-right: 0.5rem;
}

.fenajud-module__lesson--completed .fenajud-module__lesson-status {
	background: var(--fenajud-success, #2D8A4E);
}

.fenajud-module__quiz-link {
	font-size: 0.85rem;
	color: var(--fenajud-primary, #D22630);
	font-weight: 600;
}

.fenajud-single-aula__video {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	background: #000;
	border-radius: var(--fenajud-radius, 8px);
	margin-bottom: 1.5rem;
}

.fenajud-single-aula__video iframe,
.fenajud-single-aula__video video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.fenajud-single-aula__actions,
.fenajud-single-quiz-actions {
	display: flex;
	gap: 1rem;
	margin: 0;
	flex-wrap: wrap;
}

.fenajud-quiz-form {
	background: var(--fenajud-surface, #ffffff);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: var(--fenajud-radius, 8px);
	padding: 1.5rem;
}

.fenajud-quiz-question {
	border: none;
	padding: 0;
	margin: 0 0 1.5rem;
}

.fenajud-quiz-question legend {
	font-weight: 600;
	margin-bottom: 0.75rem;
}

.fenajud-quiz-question__number {
	color: var(--fenajud-primary, #D22630);
	margin-right: 0.25rem;
}

.fenajud-quiz-option {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0;
	cursor: pointer;
}

.fenajud-quiz-option input {
	accent-color: var(--fenajud-primary, #D22630);
}

.fenajud-quiz-result {
	padding: 1rem;
	border-radius: var(--fenajud-radius, 8px);
	margin-bottom: 1rem;
	font-weight: 600;
}

.fenajud-quiz-result--success {
	background: var(--fenajud-success-bg, #EAF6EE);
	color: var(--fenajud-success, #1B5E34);
}

.fenajud-quiz-result--error {
	background: var(--fenajud-danger-bg, #FCEEEF);
	color: var(--fenajud-danger, #7A151C);
}

.fenajud-quiz-review {
	margin-top: 1.5rem;
	padding: 1.5rem;
	background: var(--fenajud-surface, #ffffff);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: var(--fenajud-radius, 8px);
}

.fenajud-quiz-review h3 {
	margin: 0 0 1rem;
	font-size: 1.1rem;
}

.fenajud-quiz-review__item {
	padding: 1rem;
	border-radius: 6px;
	margin-bottom: 0.75rem;
	border-left: 4px solid var(--fenajud-border, #E8E8E6);
}

.fenajud-quiz-review__item.is-correct {
	background: var(--fenajud-success-bg, #EAF6EE);
	border-left-color: var(--fenajud-success, #2D8A4E);
}

.fenajud-quiz-review__item.is-wrong {
	background: var(--fenajud-danger-bg, #FCEEEF);
	border-left-color: var(--fenajud-danger, #D22630);
}

.fenajud-quiz-review__explanation {
	margin: 0.5rem 0 0;
	font-size: 0.95rem;
	color: var(--fenajud-text-muted, #6B6B6B);
}

.fenajud-quiz-attempts {
	margin-top: 2rem;
}

.fenajud-dashboard__header {
	margin-bottom: 2rem;
}

@media (max-width: 600px) {
	.fenajud-courses-grid {
		grid-template-columns: 1fr;
	}

	.fenajud-single-curso__meta,
	.fenajud-single-aula__actions,
	.fenajud-single-quiz-actions {
		flex-direction: column;
	}
}

/* ==========================================================================
   Page Templates Premium
   ========================================================================== */

.fenajud-page {
	background: var(--fenajud-bg, #FAFAF9);
	min-height: 60vh;
}

.fenajud-hero {
	background: linear-gradient(135deg, var(--fenajud-primary, #D22630) 0%, var(--fenajud-hero-end, #7A151C) 100%);
	color: #ffffff;
	padding: 4rem 0;
	margin-bottom: 2rem;
}

.fenajud-hero--small {
	padding: 2.5rem 0;
}

.fenajud-hero__title {
	font-size: 2.5rem;
	font-weight: 700;
	margin: 0 0 1rem;
	line-height: 1.2;
}

.fenajud-hero__text {
	font-size: 1.15rem;
	max-width: 700px;
	opacity: 0.9;
}

.fenajud-hero__text p {
	margin: 0;
}

.fenajud-section-title {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 2.5rem 0 1rem;
}

.fenajud-courses-section,
.fenajud-dashboard-section,
.fenajud-my-courses-section {
	padding-bottom: 4rem;
}

.fenajud-courses-grid--premium {
	margin-top: 0;
}

.fenajud-courses-grid--premium .fenajud-course-card {
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	border: none;
}

.fenajud-courses-grid--premium .fenajud-course-card:hover {
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
	transform: translateY(-4px);
	transition: all 0.3s ease;
}

.fenajud-courses-grid--premium .fenajud-course-card__image img {
	border-bottom: 4px solid var(--fenajud-secondary, #C9A96E);
}

.fenajud-courses-grid--premium .fenajud-course-card__title {
	font-size: 1.25rem;
}

.fenajud-courses-grid--premium .fenajud-button {
	width: 100%;
}

.fenajud-dashboard__stats {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
	background: var(--fenajud-surface, #ffffff);
	padding: 1.5rem;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	margin-bottom: 2rem;
}

.fenajud-stat-card {
	display: flex;
	flex-direction: column;
}

.fenajud-stat-card__value {
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--fenajud-primary, #D22630);
	line-height: 1;
}

.fenajud-stat-card__label {
	font-size: 0.95rem;
	color: var(--fenajud-text-muted, #6B6B6B);
	margin-top: 0.25rem;
}

.fenajud-empty-state {
	text-align: center;
	padding: 4rem 1rem;
	background: var(--fenajud-surface, #ffffff);
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.fenajud-empty-state__icon {
	font-size: 3rem;
	margin-bottom: 1rem;
}

.fenajud-empty-state__title {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
	color: var(--fenajud-text, #0F0F0F);
}

.fenajud-empty-state__text {
	color: var(--fenajud-text-muted, #6B6B6B);
	margin-bottom: 1.5rem;
}

@media (max-width: 600px) {
	.fenajud-hero__title {
		font-size: 1.75rem;
	}

	.fenajud-dashboard__stats {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ==========================================================================
   Trilha Visual do Curso
   ========================================================================== */

.fc-trail {
	background: var(--fenajud-surface, #ffffff);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: var(--fenajud-radius, 8px);
	padding: 1.5rem;
}

.fc-trail-title {
	font-size: 1.25rem;
	margin: 0 0 1.25rem;
	color: var(--fenajud-text, #0F0F0F);
}

.fc-trail-modulo {
	margin-bottom: 1rem;
}

.fc-trail-modulo-header {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	background: var(--fenajud-bg, #FAFAF9);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: var(--fenajud-radius, 8px);
	font-size: 1rem;
	font-weight: 600;
	color: var(--fenajud-text, #0F0F0F);
	cursor: pointer;
	text-align: left;
	transition: background-color 0.2s ease;
}

.fc-trail-modulo-header:hover {
	background: var(--fenajud-bg, #FAFAF9);
}

.fc-trail-modulo-number {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--fenajud-primary, #D22630);
	color: #ffffff;
	border-radius: 50%;
	font-size: 0.85rem;
}

.fc-trail-modulo-name {
	flex: 1;
}

.fc-trail-modulo-toggle {
	font-size: 1.1rem;
	color: var(--fenajud-text-muted, #6B6B6B);
}

.fc-trail-modulo-header[aria-expanded="false"] .fc-trail-modulo-toggle {
	transform: rotate(180deg);
}

.fc-trail-list {
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0 0 0 1rem;
	border-left: 2px solid var(--fenajud-border, #E8E8E6);
}

.fc-trail-item {
	margin-bottom: 0.25rem;
}

.fc-trail-item a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.65rem 0.75rem;
	border-radius: 6px;
	color: var(--fenajud-text, #0F0F0F);
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.fc-trail-item a:hover {
	background: var(--fenajud-bg, #FAFAF9);
}

.fc-trail-item.is-current a {
	background: rgba(var(--fenajud-primary-rgb, 210, 38, 48), 0.08);
	font-weight: 600;
}

.fc-trail-item.is-completed a {
	color: var(--fenajud-success, #2D8A4E);
}

.fc-trail-icon {
	flex-shrink: 0;
	font-size: 1.1rem;
}

.fc-trail-label {
	flex: 1;
}

.fc-trail-check {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--fenajud-success, #2D8A4E);
	color: #ffffff;
	border-radius: 50%;
	font-size: 0.75rem;
	font-weight: 700;
}

.fc-trail-current {
	flex-shrink: 0;
	color: var(--fenajud-primary, #D22630);
	font-size: 0.8rem;
}

@media (max-width: 600px) {
	.fc-trail {
		padding: 1rem;
	}

	.fc-trail-modulo-header {
		padding: 0.75rem;
		font-size: 0.95rem;
	}
}

/* ==========================================================================
   Continuar assistindo
   ========================================================================== */

.fenajud-continue-watching {
	margin: 0;
}

.fenajud-continue-watching .fenajud-button {
	gap: 0.5rem;
}

.fenajud-continue-course {
	margin-bottom: 2.5rem;
	padding: 1.5rem;
	background: var(--fenajud-surface, #ffffff);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.fenajud-continue-course .fenajud-section-title {
	margin-top: 0;
}

/* ==========================================================================
   Anotações da aula
   ========================================================================== */

.fenajud-lesson-notes {
	margin-top: 0;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
}

.fenajud-lesson-notes__title {
	margin: 0 0 1rem;
	font-size: 1.15rem;
}

.fenajud-lesson-notes__editor {
	margin-bottom: 1rem;
}

.fenajud-lesson-notes__editor .mce-tinymce {
	border-radius: 6px;
}

.fenajud-lesson-notes__actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

.fenajud-lesson-notes__feedback {
	color: var(--fenajud-success, #2D8A4E);
	font-weight: 600;
	font-size: 0.95rem;
}

/* ==========================================================================
   Materiais complementares da aula
   ========================================================================== */

.fenajud-lesson-materials {
	margin-top: 0;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
}

.fenajud-lesson-materials__title {
	margin: 0 0 1rem;
	font-size: 1.1rem;
}

.fenajud-lesson-materials__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.75rem;
}

.fenajud-lesson-materials__item a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 1rem;
	background: var(--fenajud-bg, #FAFAF9);
	border-radius: 6px;
	color: var(--fenajud-text, #0F0F0F);
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.fenajud-lesson-materials__item a:hover {
	background: var(--fenajud-bg, #FAFAF9);
}

.fenajud-lesson-materials__icon {
	font-size: 1.25rem;
}

.fenajud-lesson-materials__label {
	font-weight: 500;
}

/* ==========================================================================
   Conquistas do aluno
   ========================================================================== */

.fenajud-achievements {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 2.5rem;
}

.fenajud-achievement {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.6rem 1rem;
	background: var(--fenajud-surface, #ffffff);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: 100px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
	font-weight: 600;
	font-size: 0.95rem;
}

.fenajud-achievement__icon {
	font-size: 1.25rem;
}

/* ==========================================================================
   SINGLE PAGES PREMIUM
   ========================================================================== */

/* Hero das páginas single */
.fenajud-single-aula .fenajud-hero,
.fenajud-single-curso .fenajud-hero,
.fenajud-single-quiz .fenajud-hero {
	background: linear-gradient(135deg, var(--fenajud-primary, #D22630) 0%, var(--fenajud-hero-end, #7A151C) 100%);
	padding: clamp(2.5rem, 7vw, 4.5rem) 0 clamp(3rem, 8vw, 5rem);
	margin-bottom: 0;
	position: relative;
	overflow: hidden;
}

.fenajud-single-aula .fenajud-hero::before,
.fenajud-single-curso .fenajud-hero::before,
.fenajud-single-quiz .fenajud-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 20% 30%, rgba(var(--fenajud-secondary-rgb, 201, 169, 110), 0.12) 0%, transparent 35%),
		radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.06) 0%, transparent 40%);
	pointer-events: none;
}

.fenajud-single-aula__title,
.fenajud-single-curso__title,
.fenajud-single-quiz__title {
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 1rem;
	line-height: 1.2;
	position: relative;
	z-index: 1;
}

.fenajud-single-aula__meta,
.fenajud-single-curso__meta,
.fenajud-single-quiz__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	position: relative;
	z-index: 1;
}

.fenajud-single-aula__meta-item,
.fenajud-single-curso__meta-item,
.fenajud-single-quiz__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.9rem;
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 100px;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 600;
}

.fenajud-single-aula__meta-item--success {
	background: rgba(var(--fenajud-success-rgb, 45, 138, 78), 0.2);
	border-color: rgba(var(--fenajud-success-rgb, 45, 138, 78), 0.4);
}

.fenajud-single-curso__meta-item--nivel[data-nivel="iniciante"],
.fenajud-single-curso__meta-item--nivel[data-nivel="beginner"] {
	background: rgba(224, 242, 254, 0.25);
	border-color: rgba(186, 230, 253, 0.4);
}

.fenajud-single-curso__meta-item--nivel[data-nivel="intermediario"],
.fenajud-single-curso__meta-item--nivel[data-nivel="intermediário"],
.fenajud-single-curso__meta-item--nivel[data-nivel="intermediate"] {
	background: rgba(254, 243, 199, 0.25);
	border-color: rgba(253, 230, 138, 0.4);
}

.fenajud-single-curso__meta-item--nivel[data-nivel="avancado"],
.fenajud-single-curso__meta-item--nivel[data-nivel="avançado"],
.fenajud-single-curso__meta-item--nivel[data-nivel="advanced"] {
	background: rgba(254, 226, 226, 0.25);
	border-color: rgba(254, 202, 202, 0.4);
}

.fenajud-single-curso__meta-item--nivel[data-nivel="todos"],
.fenajud-single-curso__meta-item--nivel[data-nivel="all"] {
	background: rgba(220, 252, 231, 0.25);
	border-color: rgba(187, 247, 208, 0.4);
}

/* Corpo das páginas single */
.fenajud-single-aula__body,
.fenajud-single-curso__body,
.fenajud-single-quiz__body {
	background: var(--fenajud-bg, #FAFAF9);
	padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(3rem, 7vw, 5rem);
}

.fenajud-single-aula__grid,
.fenajud-single-curso__grid,
.fenajud-single-quiz__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}

@media (min-width: 1024px) {
	.fenajud-single-aula__grid,
	.fenajud-single-curso__grid,
	.fenajud-single-quiz__grid {
		grid-template-columns: 1fr 360px;
	}
}

/* Cards premium */
.fenajud-card {
	background: var(--fenajud-surface, #ffffff);
	border-radius: 16px;
	padding: clamp(1.25rem, 3vw, 2rem);
	margin-bottom: 1.5rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
	border: 1px solid var(--fenajud-border, #E8E8E6);
}

.fenajud-card:last-child {
	margin-bottom: 0;
}

.fenajud-card__title {
	font-size: 1.15rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: var(--fenajud-text, #0F0F0F);
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.fenajud-card__text {
	color: var(--fenajud-text-muted, #6B6B6B);
	line-height: 1.6;
	margin: 0 0 1.25rem;
}

.fenajud-card--cover {
	padding: 0;
	overflow: hidden;
}

.fenajud-card--cover img {
	width: 100%;
	height: auto;
	max-height: 420px;
	object-fit: cover;
	display: block;
}

.fenajud-card--video {
	padding: 0;
	overflow: hidden;
}

.fenajud-video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	background: #000;
}

.fenajud-video-wrapper iframe,
.fenajud-video-wrapper video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.fenajud-card--content {
	font-size: 1.05rem;
	line-height: 1.8;
	color: var(--fenajud-text, #0F0F0F);
}

.fenajud-card--content h2,
.fenajud-card--content h3,
.fenajud-card--content h4 {
	color: var(--fenajud-primary, #D22630);
	margin-top: 2rem;
	margin-bottom: 1rem;
}

.fenajud-card--content p {
	margin-bottom: 1.25rem;
}

.fenajud-card--content ul,
.fenajud-card--content ol {
	margin-bottom: 1.25rem;
	padding-left: 1.5rem;
}

.fenajud-card--content li {
	margin-bottom: 0.5rem;
}

.fenajud-card--content strong {
	color: var(--fenajud-primary, #D22630);
}

.fenajud-card--cta {
	text-align: center;
	background: linear-gradient(135deg, var(--fenajud-surface, #ffffff) 0%, var(--fenajud-bg, #FAFAF9) 100%);
}

.fenajud-card--progress .fenajud-progress-bar {
	margin-bottom: 0.75rem;
}

.fenajud-card--empty {
	text-align: center;
	padding: 3rem 1.5rem;
}

.fenajud-card--empty .fenajud-empty-state__icon {
	font-size: 3rem;
	margin-bottom: 1rem;
}

.fenajud-card--empty .fenajud-empty-state__title {
	font-size: 1.35rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
}

.fenajud-card--empty .fenajud-empty-state__text {
	color: var(--fenajud-text-muted, #6B6B6B);
	margin: 0;
}

.fenajud-card--certificate {
	text-align: center;
	background: linear-gradient(135deg, var(--fenajud-surface, #ffffff) 0%, var(--fenajud-bg, #FAFAF9) 100%);
	border: 2px solid rgba(var(--fenajud-primary-rgb, 210, 38, 48), 0.12);
	position: relative;
	overflow: hidden;
}

.fenajud-card--certificate::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(var(--fenajud-secondary-rgb, 201, 169, 110), 0.08) 0%, transparent 60%);
	pointer-events: none;
}

.fenajud-certificate-badge {
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 0.75rem;
}

.fenajud-card--certificate .fenajud-card__title {
	color: var(--fenajud-primary, #D22630);
	margin-bottom: 0.5rem;
}

.fenajud-card--certificate .fenajud-card__text {
	font-size: 0.95rem;
	margin-bottom: 1rem;
}

.fenajud-certificate-code {
	font-size: 0.8rem;
	color: var(--fenajud-text-muted, #6B6B6B);
	margin-bottom: 1.25rem;
}

.fenajud-certificate-code code {
	background: var(--fenajud-bg, #FAFAF9);
	padding: 0.2rem 0.4rem;
	border-radius: 4px;
	font-family: 'JetBrains Mono', monospace;
}

.fenajud-card--certificate .fenajud-button {
	width: 100%;
}

.fenajud-certificates-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 1.25rem;
	margin-bottom: 2.5rem;
}

.fenajud-certificate-card {
	background: var(--fenajud-surface, #ffffff);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: 16px;
	padding: 1.25rem;
	display: flex;
	align-items: center;
	gap: 1rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fenajud-certificate-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.fenajud-certificate-card__icon {
	font-size: 2rem;
	flex: 0 0 auto;
}

.fenajud-certificate-card__info {
	flex: 1 1 auto;
	min-width: 0;
}

.fenajud-certificate-card__title {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 0.25rem;
	color: var(--fenajud-primary, #D22630);
}

.fenajud-certificate-card__code {
	font-size: 0.8rem;
	color: var(--fenajud-text-muted, #6B6B6B);
	margin: 0;
}

.fenajud-certificate-card .fenajud-button {
	flex: 0 0 auto;
	width: auto;
	padding: 0.6rem 1.2rem;
	font-size: 0.9rem;
}

@media (max-width: 640px) {
	.fenajud-certificate-card {
		flex-direction: column;
		text-align: center;
	}

	.fenajud-certificate-card .fenajud-button {
		width: 100%;
	}
}

.fenajud-verify-section {
	padding: 3rem 0 5rem;
}

.fenajud-verify-form {
	background: var(--fenajud-surface, #ffffff);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: 16px;
	padding: 2rem;
	margin-bottom: 1.5rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.fenajud-verify-form__label {
	display: block;
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 0.75rem;
	color: var(--fenajud-text, #0F0F0F);
}

.fenajud-verify-form__field {
	display: flex;
	gap: 0.75rem;
}

.fenajud-verify-form__input {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.85rem 1rem;
	font-size: 1rem;
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: 10px;
	background: var(--fenajud-bg, #FAFAF9);
	color: var(--fenajud-text, #0F0F0F);
	font-family: 'JetBrains Mono', monospace;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.fenajud-verify-form__input:focus {
	outline: none;
	border-color: var(--fenajud-primary, #D22630);
	box-shadow: 0 0 0 3px rgba(var(--fenajud-primary-rgb, 210, 38, 48), 0.12);
}

.fenajud-verify-result {
	background: var(--fenajud-surface, #ffffff);
	border-radius: 16px;
	padding: 2.5rem;
	text-align: center;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.fenajud-verify-result--success {
	border: 2px solid var(--fenajud-success, #2D8A4E);
}

.fenajud-verify-result--error {
	border: 2px solid var(--fenajud-danger, #D22630);
}

.fenajud-verify-result__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	margin-bottom: 1rem;
	color: var(--fenajud-primary, #D22630);
}

.fenajud-verify-result__icon svg {
	width: 100%;
	height: 100%;
}

.fenajud-verify-result--success .fenajud-verify-result__icon {
	color: var(--fenajud-success, #2D8A4E);
}

.fenajud-verify-result--error .fenajud-verify-result__icon {
	color: var(--fenajud-danger, #D22630);
}

.fenajud-verify-result__title {
	font-size: 1.75rem;
	font-weight: 800;
	margin: 0 0 1rem;
	color: var(--fenajud-primary, #D22630);
}

.fenajud-verify-result__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: linear-gradient(135deg, rgba(var(--fenajud-secondary-rgb, 201, 169, 110), 0.12) 0%, rgba(var(--fenajud-secondary-rgb, 201, 169, 110), 0.06) 100%);
	border: 1px solid rgba(var(--fenajud-secondary-rgb, 201, 169, 110), 0.25);
	border-radius: 999px;
	padding: 0.5rem 1rem;
	margin-bottom: 1.5rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--fenajud-secondary, #C9A96E);
}

.fenajud-verify-result__badge-icon {
	display: inline-flex;
	width: 24px;
	height: 24px;
}

.fenajud-verify-result__badge-icon svg {
	width: 100%;
	height: 100%;
}

.fenajud-verify-result__details {
	text-align: left;
	max-width: 520px;
	margin: 0 auto 1.75rem;
}

.fenajud-verify-result__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--fenajud-border, #E8E8E6);
}

.fenajud-verify-result__row:last-child {
	border-bottom: none;
}

.fenajud-verify-result__label {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--fenajud-text-muted, #6B6B6B);
}

.fenajud-verify-result__value {
	font-size: 1rem;
	font-weight: 700;
	color: var(--fenajud-text, #0F0F0F);
	text-align: right;
}

.fenajud-verify-result__value code {
	background: var(--fenajud-bg, #FAFAF9);
	padding: 0.2rem 0.4rem;
	border-radius: 4px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 0.95rem;
}

.fenajud-verify-result__actions {
	display: flex;
	justify-content: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.fenajud-verify-result__text {
	color: var(--fenajud-text-muted, #6B6B6B);
	font-size: 1.05rem;
}

@media (max-width: 640px) {
	.fenajud-verify-form__field {
		flex-direction: column;
	}

	.fenajud-verify-result__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.25rem;
	}

	.fenajud-verify-result__value {
		text-align: left;
	}
}

/* Sidebar */
.fenajud-single-aula__sidebar,
.fenajud-single-curso__sidebar,
.fenajud-single-quiz__sidebar {
	position: relative;
}

.fenajud-single-aula__sidebar .fc-trail,
.fenajud-single-curso__sidebar .fc-trail,
.fenajud-single-quiz__sidebar .fc-trail {
	position: sticky;
	top: 2rem;
}

.fenajud-single-curso__sidebar .fenajud-card--continue {
	padding: 1.25rem;
}

.fenajud-single-curso__sidebar .fenajud-continue-watching {
	margin: 0;
}

.fenajud-single-curso__sidebar .fenajud-continue-watching .fenajud-button {
	width: 100%;
}

/* Materiais premium */
.fenajud-card--materials .fenajud-lesson-materials__item a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	background: var(--fenajud-bg, #FAFAF9);
	border-radius: 10px;
	color: var(--fenajud-text, #0F0F0F);
	text-decoration: none;
	transition: all 0.2s ease;
}

.fenajud-card--materials .fenajud-lesson-materials__item a:hover {
	background: var(--fenajud-bg, #FAFAF9);
	transform: translateX(4px);
}

.fenajud-card--materials .fenajud-lesson-materials__icon {
	font-size: 1.4rem;
}

.fenajud-card--materials .fenajud-lesson-materials__label {
	flex: 1;
	font-weight: 600;
}

.fenajud-card--materials .fenajud-lesson-materials__action {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--fenajud-primary, #D22630);
}

/* Ações da aula */
.fenajud-card--actions .fenajud-single-aula__actions {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.fenajud-card--actions .fenajud-button {
	flex: 1 1 auto;
	min-width: 200px;
	background: linear-gradient(135deg, var(--fenajud-primary, #D22630) 0%, var(--fenajud-primary-hover, #B91D26) 100%);
}

.fenajud-card--actions .fenajud-button--secondary {
	background: linear-gradient(135deg, var(--fenajud-secondary, #C9A96E) 0%, var(--fenajud-secondary, #d99f1c) 100%);
}

.fenajud-card--actions .fenajud-button:disabled,
.fenajud-card--actions .fenajud-button--completed {
	background: linear-gradient(135deg, var(--fenajud-success, #2D8A4E) 0%, var(--fenajud-success, #2D8A4E) 100%);
}

/* Navegação entre aulas */
.fenajud-lesson-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-top: 2rem;
}

.fenajud-lesson-nav__link {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1rem 1.25rem;
	background: var(--fenajud-surface, #ffffff);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: 12px;
	color: var(--fenajud-text, #0F0F0F);
	text-decoration: none;
	transition: all 0.2s ease;
}

.fenajud-lesson-nav__link:hover {
	border-color: var(--fenajud-primary, #D22630);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.fenajud-lesson-nav__link--next {
	text-align: right;
	align-items: flex-end;
}

.fenajud-lesson-nav__link--disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.fenajud-lesson-nav__label {
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--fenajud-primary, #D22630);
}

.fenajud-lesson-nav__title {
	font-weight: 600;
	line-height: 1.3;
}

@media (max-width: 600px) {
	.fenajud-lesson-nav {
		grid-template-columns: 1fr;
	}

	.fenajud-lesson-nav__link--next {
		text-align: left;
		align-items: flex-start;
	}
}

/* Quiz premium */
.fenajud-card--quiz {
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.fenajud-quiz-question {
	background: var(--fenajud-bg, #FAFAF9);
	border-radius: 12px;
	padding: 1.25rem;
	margin-bottom: 1.25rem;
}

.fenajud-quiz-question legend {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--fenajud-text, #0F0F0F);
	margin-bottom: 1rem;
	padding: 0;
}

.fenajud-quiz-question__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: var(--fenajud-primary, #D22630);
	color: #ffffff;
	border-radius: 50%;
	font-size: 0.9rem;
	margin-right: 0.5rem;
}

.fenajud-quiz-question__options {
	display: grid;
	gap: 0.5rem;
}

.fenajud-quiz-option {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	background: var(--fenajud-surface, #ffffff);
	border: 2px solid var(--fenajud-border, #E8E8E6);
	border-radius: 10px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.fenajud-quiz-option:hover {
	border-color: var(--fenajud-primary, #D22630);
	background: rgba(var(--fenajud-primary-rgb, 210, 38, 48), 0.04);
}

.fenajud-quiz-option input {
	width: 20px;
	height: 20px;
	accent-color: var(--fenajud-primary, #D22630);
	flex-shrink: 0;
}

.fenajud-quiz-option span {
	font-weight: 500;
}

.fenajud-quiz-actions {
	margin-top: 1.5rem;
}

.fenajud-quiz-actions .fenajud-button {
	width: 100%;
}

/* Histórico de tentativas premium */
.fenajud-card--attempts .fenajud-quiz-attempts__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.75rem;
}

.fenajud-quiz-attempts__item {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.85rem 1rem;
	background: var(--fenajud-bg, #FAFAF9);
	border-radius: 10px;
	border-left: 4px solid var(--fenajud-border, #E8E8E6);
}

.fenajud-quiz-attempts__item.is-approved {
	border-left-color: var(--fenajud-success, #2D8A4E);
	background: var(--fenajud-success-bg, #EAF6EE);
}

.fenajud-quiz-attempts__item.is-reproved {
	border-left-color: var(--fenajud-danger, #D22630);
	background: var(--fenajud-danger-bg, #FCEEEF);
}

.fenajud-quiz-attempts__number {
	font-weight: 700;
	color: var(--fenajud-text, #0F0F0F);
}

.fenajud-quiz-attempts__grade {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--fenajud-primary, #D22630);
	margin-left: auto;
}

.fenajud-quiz-attempts__status {
	font-size: 0.85rem;
	font-weight: 700;
	padding: 0.25rem 0.75rem;
	border-radius: 100px;
	background: var(--fenajud-surface, #ffffff);
}

.fenajud-quiz-attempts__item.is-approved .fenajud-quiz-attempts__status {
	color: var(--fenajud-success, #2D8A4E);
}

.fenajud-quiz-attempts__item.is-reproved .fenajud-quiz-attempts__status {
	color: var(--fenajud-danger, #D22630);
}

/* Ajustes da trilha dentro do card */
.fenajud-card--trail {
	padding: 1.25rem;
}

.fenajud-card--trail .fc-trail {
	border: none;
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.fenajud-card--trail .fc-trail-title {
	display: none;
}

/* Animações */
.fenajud-card,
.fc-trail {
	animation: fadeInUp 0.6s ease forwards;
	opacity: 0;
	transform: translateY(20px);
}

.fenajud-card:nth-child(1) { animation-delay: 0.05s; }
.fenajud-card:nth-child(2) { animation-delay: 0.1s; }
.fenajud-card:nth-child(3) { animation-delay: 0.15s; }
.fenajud-card:nth-child(4) { animation-delay: 0.2s; }
.fenajud-card:nth-child(5) { animation-delay: 0.25s; }

@keyframes fadeInUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
ul, ol {
	list-style: disc !important;
	margin-top: 0.5rem;
}
li::marker {
	color: var(--fenajud-primary, #D22630) !important;
}
/* ==========================================================================
   Player de vídeo profissional
   ========================================================================== */

.fenajud-card--video {
	padding: 0;
	overflow: hidden;
	background: #000;
}

.fenajud-video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	background: #000;
}

.fenajud-video-wrapper iframe,
.fenajud-video-wrapper video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.fenajud-video-badge {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	z-index: 2;
	background: rgba(0, 0, 0, 0.7);
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.35rem 0.75rem;
	border-radius: 100px;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	pointer-events: none;
}

.fenajud-video-wrapper::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: radial-gradient(circle at center, rgba(255, 255, 255, 0.03) 0%, transparent 70%);
	pointer-events: none;
}

/* ==========================================================================
   Admin — meta box de vídeo
   ========================================================================== */

.fenajud-aula-video-section {
	background: var(--fenajud-bg, #FAFAF9);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: var(--fenajud-radius, 8px);
	padding: 1rem 1.25rem;
	margin: 1rem 0;
}

.fenajud-aula-video-section h4 {
	margin: 1rem 0 0.75rem;
	font-size: 1rem;
}

.fenajud-aula-video-section hr {
	border: none;
	border-top: 1px solid var(--fenajud-border, #E8E8E6);
	margin: 1rem -1.25rem;
}

.fenajud-video-url-field {
	position: relative;
}

.fenajud-video-url-status {
	display: inline-block;
	margin-top: 0.35rem;
	font-size: 0.85rem;
}

.fenajud-video-url-status.is-valid {
	color: var(--fenajud-success, #2D8A4E);
}

.fenajud-video-url-status.is-invalid {
	color: var(--fenajud-danger, #D22630);
}

.fenajud-video-url-hint {
	display: none;
	margin-top: 0.35rem;
	color: var(--fenajud-text-muted, #6B6B6B);
	font-style: italic;
}

.fenajud-video-url-hint.is-active {
	display: block;
}

.fenajud-video-options {
	background: #ffffff;
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: 6px;
	padding: 0.75rem 1rem;
	margin-top: 0.75rem;
}

.fenajud-video-options p {
	margin: 0.35rem 0;
}

/* Modal de preview */
.fenajud-video-preview-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: rgba(0, 0, 0, 0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
}

.fenajud-video-preview-modal__box {
	width: 100%;
	max-width: 900px;
	background: #000;
	border-radius: 12px;
	overflow: hidden;
	position: relative;
}

.fenajud-video-preview-modal__close {
	position: absolute;
	top: -2.5rem;
	right: 0;
	background: transparent;
	border: none;
	color: #ffffff;
	font-size: 1.5rem;
	cursor: pointer;
}

.fenajud-video-preview-modal__player {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
}

.fenajud-video-preview-modal__player iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ==========================================================================
   Novo layout da página de curso (referência FENAJUD)
   ========================================================================== */

.fenajud-single-curso__top {
	background: var(--fenajud-bg, #FAFAF9);
	padding: 2rem 0 0;
}

.fenajud-breadcrumb--light {
	color: var(--fenajud-text-muted, #6B6B6B);
	margin-bottom: 1rem;
}

.fenajud-breadcrumb--light a {
	color: var(--fenajud-text-muted, #6B6B6B);
	border-bottom: none;
	text-decoration: none;
}

.fenajud-breadcrumb--light a:hover {
	color: var(--fenajud-primary, #D22630);
}

.fenajud-breadcrumb--light .fenajud-breadcrumb__sep {
	color: var(--fenajud-text-muted, #6B6B6B);
}

.fenajud-single-curso__header {
	margin-bottom: 2rem;
}

.fenajud-single-curso__top .fenajud-single-curso__title {
	color: var(--fenajud-text, #0F0F0F);
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	margin: 0 0 0.75rem;
	line-height: 1.25;
}

.fenajud-single-curso__author {
	color: var(--fenajud-text-muted, #6B6B6B);
	margin: 0 0 0.35rem;
	font-size: 0.95rem;
}

.fenajud-single-curso__author a {
	color: var(--fenajud-primary, #D22630);
	text-decoration: none;
	font-weight: 600;
}

.fenajud-single-curso__updated {
	color: var(--fenajud-text-muted, #6B6B6B);
	margin: 0;
	font-size: 0.9rem;
}

.fenajud-single-curso__body {
	padding-top: 0;
}

.fenajud-section-title--inline {
	font-size: 1.35rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: var(--fenajud-text, #0F0F0F);
}

.fenajud-card--curriculum {
	padding: 1.5rem;
}

/* Sidebar do curso */
.fenajud-course-sidebar {
	background: var(--fenajud-surface, #ffffff);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
	overflow: hidden;
}

.fenajud-course-sidebar__cover {
	position: relative;
}

.fenajud-course-sidebar__cover img {
	width: 100%;
	height: auto;
	display: block;
}

.fenajud-course-sidebar__badge {
	padding: 1rem 1.5rem 0;
}

.fenajud-course-sidebar__badge-label {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--fenajud-success-bg, #EAF6EE);
	color: var(--fenajud-success, #2D8A4E);
	font-weight: 700;
	font-size: 0.9rem;
	padding: 0.35rem 0.9rem;
	border-radius: 100px;
}

.fenajud-course-sidebar__badge-label::before {
	content: '';
	width: 8px;
	height: 8px;
	background: var(--fenajud-success, #2D8A4E);
	border-radius: 50%;
}

.fenajud-course-sidebar__info {
	list-style: none !important;
	margin: 0;
	padding: 1rem 1.5rem;
}

.fenajud-course-sidebar__info li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--fenajud-border, #E8E8E6);
	color: var(--fenajud-text, #0F0F0F);
	font-size: 0.95rem;
}

.fenajud-course-sidebar__info li:last-child {
	border-bottom: none;
}

.fenajud-course-sidebar__icon {
	width: 22px !important;
	height: 22px !important;
	color: var(--fenajud-primary, #D22630) !important;
	flex-shrink: 0;
	font-size: 22px !important;
}

.fenajud-course-sidebar__icon svg {
	width: 100%;
	height: 100%;
}

.fenajud-course-sidebar__actions {
	padding: 0 1.5rem 1rem;
}

.fenajud-course-sidebar__actions .fenajud-button {
	width: 100%;
}

.fenajud-course-sidebar__actions .fenajud-button--cta,
.fenajud-button--cta {
	background: var(--fenajud-secondary, #C9A96E) !important;
	color: #3d2e18 !important;
	font-weight: 700;
}

.fenajud-course-sidebar__actions .fenajud-button--cta:hover,
.fenajud-button--cta:hover {
	background: var(--fenajud-secondary-light, #D9BC8C) !important;
}

.fenajud-course-sidebar__progress {
	margin-bottom: 1rem;
}

.fenajud-course-sidebar__progress-text {
	font-size: 0.85rem;
	color: var(--fenajud-text-muted, #6B6B6B);
	margin: 0.5rem 0 0;
	text-align: center;
}

.fenajud-course-sidebar__share {
	padding: 1rem 1.5rem 1.5rem;
	border-top: 1px solid var(--fenajud-border, #E8E8E6);
}

.fenajud-course-sidebar__share-label {
	display: block;
	font-weight: 600;
	color: var(--fenajud-text, #0F0F0F);
	margin-bottom: 0.75rem;
}

.fenajud-course-sidebar__share-links {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.fenajud-course-sidebar__share-links a {
	font-size: 0.85rem;
	color: var(--fenajud-text-muted, #6B6B6B);
	text-decoration: none;
}

.fenajud-course-sidebar__share-links a:hover {
	color: var(--fenajud-primary, #D22630);
}

/* Currículo */
.fenajud-curriculum {
	margin-top: 0;
}

.fenajud-curriculum__title {
	font-size: 1.35rem;
	font-weight: 700;
	margin: 0 0 1rem;
	color: var(--fenajud-text, #0F0F0F);
}

.fenajud-curriculum__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.25rem;
	flex-wrap: wrap;
}

.fenajud-curriculum__meta {
	font-size: 0.9rem;
	color: var(--fenajud-text-muted, #6B6B6B);
}

.fenajud-curriculum__expand-all {
	background: transparent;
	border: none;
	color: var(--fenajud-primary, #D22630);
	font-weight: 600;
	font-size: 0.9rem;
	cursor: pointer;
	padding: 0;
}

.fenajud-curriculum__expand-all:hover {
	text-decoration: underline;
}

.fenajud-curriculum__modules {
	display: grid;
	gap: 0.75rem;
}

.fenajud-curriculum__module {
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: 10px;
	overflow: hidden;
}

.fenajud-curriculum__module-header {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.25rem;
	background: var(--fenajud-bg, #FAFAF9);
	border: none;
	font-size: 1rem;
	font-weight: 600;
	color: var(--fenajud-text, #0F0F0F);
	cursor: pointer;
	text-align: left;
}

.fenajud-curriculum__module-header::before {
	content: '▾';
	order: 3;
	color: var(--fenajud-text-muted, #6B6B6B);
	transition: transform 0.2s ease;
}

.fenajud-curriculum__module-header[aria-expanded="false"]::before {
	transform: rotate(-90deg);
}

.fenajud-curriculum__module-title {
	flex: 1;
}

.fenajud-curriculum__module-count {
	background: var(--fenajud-surface, #ffffff);
	color: var(--fenajud-text-muted, #6B6B6B);
	font-size: 0.85rem;
	font-weight: 700;
	padding: 0.2rem 0.7rem;
	border-radius: 100px;
	border: 1px solid var(--fenajud-border, #E8E8E6);
}

.fenajud-curriculum__module-body {
	padding: 0 1.25rem 1rem;
}

.fenajud-curriculum__items {
	list-style: none !important;
	margin: 0;
	padding: 0;
}

.fenajud-curriculum__item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--fenajud-border, #E8E8E6);
	color: var(--fenajud-text, #0F0F0F);
	font-size: 0.95rem;
}

.fenajud-curriculum__item:last-child {
	border-bottom: none;
}

.fenajud-curriculum__item-icon {
	flex-shrink: 0;
	font-size: 1.1rem;
	color: var(--fenajud-text-muted, #6B6B6B);
}

.fenajud-curriculum__item-icon-svg {
	width: 20px;
	height: 20px;
	color: var(--fenajud-text-muted, #6B6B6B);
}

.fenajud-curriculum__item-label {
	flex: 1;
}

.fenajud-curriculum__item-count {
	font-size: 0.8rem;
	color: var(--fenajud-text-muted, #6B6B6B);
}

.fenajud-curriculum__item-lock {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	color: var(--fenajud-text-muted, #6B6B6B);
}

.fenajud-curriculum__item-lock svg {
	width: 100%;
	height: 100%;
}

/* Instrutor */
.fenajud-card--instructor {
	padding: 1.5rem;
}

.fenajud-instructor {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.fenajud-instructor__avatar {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.fenajud-instructor__info {
	flex: 1;
}

.fenajud-instructor__name {
	margin: 0 0 0.35rem;
	font-size: 1.1rem;
}

.fenajud-instructor__name a {
	color: var(--fenajud-primary, #D22630);
	text-decoration: none;
}

.fenajud-instructor__stats {
	margin: 0;
	font-size: 0.9rem;
	color: var(--fenajud-text-muted, #6B6B6B);
}

@media (max-width: 1023px) {
	.fenajud-single-curso__grid {
		grid-template-columns: 1fr;
	}

	.fenajud-course-sidebar {
		max-width: 420px;
		margin: 0 auto;
	}
}

@media (max-width: 600px) {
	.fenajud-curriculum__header {
		flex-direction: column;
		align-items: flex-start;
	}

	.fenajud-instructor {
		flex-direction: column;
		text-align: center;
	}
}

/* ==========================================================================
   NOVA LISTAGEM DE CURSOS
   ========================================================================== */

.fenajud-page--courses .fenajud-hero,
.fenajud-page--courses-archive .fenajud-hero {
	padding: 2.5rem 0;
	margin-bottom: 0;
}

.fenajud-breadcrumb {
	font-size: 0.95rem;
	margin-bottom: 1rem;
	opacity: 0.9;
}

.fenajud-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.fenajud-breadcrumb a:hover {
	text-decoration: underline;
}

.fenajud-breadcrumb__sep {
	margin: 0 0.5rem;
}

/* Toolbar */
.fenajud-courses-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	padding: 1.25rem 0;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--fenajud-border, #E8E8E6);
}

.fenajud-courses-toolbar__search {
	position: relative;
	display: flex;
	flex: 1 1 320px;
	max-width: 420px;
}

.fenajud-courses-toolbar__input {
	width: 100%;
	padding: 0.75rem 1rem;
	padding-right: 3rem;
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: var(--fenajud-radius, 8px);
	background: var(--fenajud-surface, #ffffff);
	color: var(--fenajud-text, #0F0F0F);
	font-size: 1rem;
}

.fenajud-courses-toolbar__input:focus {
	outline: none;
	border-color: var(--fenajud-primary, #D22630);
	box-shadow: 0 0 0 3px rgba(var(--fenajud-primary-rgb, 210, 38, 48), 0.15);
}

.fenajud-courses-toolbar__submit {
	position: absolute;
	right: 0.25rem;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border: none;
	border-radius: var(--fenajud-radius, 8px);
	background: var(--fenajud-primary, #D22630);
	color: #ffffff;
	cursor: pointer;
}

.fenajud-courses-toolbar__submit:hover {
	background: var(--fenajud-primary-dark, #7A151C);
}

.fenajud-courses-toolbar__icon {
	width: 1.25rem;
	height: 1.25rem;
}

.fenajud-courses-toolbar__controls {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.fenajud-courses-toolbar__select {
	padding: 0.75rem 2rem 0.75rem 1rem;
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: var(--fenajud-radius, 8px);
	background: var(--fenajud-surface, #ffffff);
	color: var(--fenajud-text, #0F0F0F);
	font-size: 0.95rem;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
}

.fenajud-courses-toolbar__toggle {
	display: flex;
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: var(--fenajud-radius, 8px);
	overflow: hidden;
}

.fenajud-courses-toolbar__toggle-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	background: var(--fenajud-surface, #ffffff);
	color: var(--fenajud-text-muted, #6B6B6B);
	text-decoration: none;
}

.fenajud-courses-toolbar__toggle-btn + .fenajud-courses-toolbar__toggle-btn {
	border-left: 1px solid var(--fenajud-border, #E8E8E6);
}

.fenajud-courses-toolbar__toggle-btn.is-active,
.fenajud-courses-toolbar__toggle-btn:hover {
	background: var(--fenajud-bg, #FAFAF9);
	color: var(--fenajud-primary, #D22630);
}

.fenajud-courses-toolbar__toggle-icon {
	width: 1.25rem;
	height: 1.25rem;
}

/* Grid de cursos */
.fenajud-courses-grid {
	display: grid;
	gap: var(--fenajud-gap, 1.5rem);
	margin-top: 1.5rem;
}

.fenajud-courses-grid--grid {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.fenajud-courses-grid--list {
	grid-template-columns: 1fr;
}

/* Card base */
.fenajud-course-card {
	background: var(--fenajud-surface, #ffffff);
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: var(--fenajud-radius, 8px);
	overflow: hidden;
	display: flex;
	transition: box-shadow 0.2s ease;
}

.fenajud-course-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.fenajud-course-card__image {
	position: relative;
	overflow: hidden;
	background: var(--fenajud-bg, #FAFAF9);
}

.fenajud-course-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.fenajud-course-card:hover .fenajud-course-card__image img {
	transform: scale(1.03);
}

.fenajud-course-card__content {
	padding: 1.25rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.fenajud-course-card__title {
	margin: 0 0 0.35rem;
	font-size: 1.15rem;
	line-height: 1.3;
}

.fenajud-course-card__title a {
	color: var(--fenajud-text, #0F0F0F);
	text-decoration: none;
}

.fenajud-course-card__title a:hover {
	color: var(--fenajud-primary, #D22630);
}

.fenajud-course-card__author {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	color: var(--fenajud-text-muted, #6B6B6B);
}

.fenajud-course-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
	font-size: 0.85rem;
	color: var(--fenajud-text-muted, #6B6B6B);
}

.fenajud-course-card__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.fenajud-course-card__meta-icon {
	width: 1rem;
	height: 1rem;
	color: var(--fenajud-primary, #D22630);
}

.fenajud-course-card__excerpt {
	font-size: 0.95rem;
	color: var(--fenajud-text-muted, #6B6B6B);
	margin-bottom: 1rem;
	flex: 1;
	line-height: 1.55;
}

.fenajud-course-card__excerpt p {
	margin: 0;
}

.fenajud-course-card__actions {
	margin-top: auto;
}

/* Card grid */
.fenajud-course-card--grid {
	flex-direction: column;
}

.fenajud-course-card--grid .fenajud-course-card__image {
	height: 180px;
}

.fenajud-course-card--grid .fenajud-course-card__image img {
	height: 100%;
}

/* Card lista */
.fenajud-course-card--list {
	flex-direction: row;
	gap: 0;
}

.fenajud-course-card--list .fenajud-course-card__image {
	flex: 0 0 42%;
	max-width: 420px;
	min-height: 260px;
}

.fenajud-course-card--list .fenajud-course-card__title {
	font-size: 1.35rem;
	margin-bottom: 0.5rem;
}

.fenajud-course-card--list .fenajud-course-card__meta {
	gap: 0.75rem;
	font-size: 0.9rem;
}

.fenajud-course-card--list .fenajud-course-card__actions {
	display: inline-block;
}

/* Placeholder quando não há imagem */
.fenajud-course-card--no-image .fenajud-course-card__image {
	background: var(--fenajud-bg, #FAFAF9) url('../images/course-placeholder.svg') center center no-repeat;
	background-size: cover;
}

/* Paginação */
.fenajud-courses-pagination {
	margin-top: 2.5rem;
	display: flex;
	justify-content: center;
}

.fenajud-courses-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.75rem;
	margin: 0 0.25rem;
	border: 1px solid var(--fenajud-border, #E8E8E6);
	border-radius: var(--fenajud-radius, 8px);
	background: var(--fenajud-surface, #ffffff);
	color: var(--fenajud-text, #0F0F0F);
	text-decoration: none;
	font-size: 0.95rem;
}

.fenajud-courses-pagination .page-numbers.current,
.fenajud-courses-pagination .page-numbers:hover {
	background: var(--fenajud-primary, #D22630);
	border-color: var(--fenajud-primary, #D22630);
	color: #ffffff;
}

.fenajud-courses-pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
	color: var(--fenajud-text-muted, #6B6B6B);
}

/* Responsivo */
@media (max-width: 767px) {
	.fenajud-courses-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.fenajud-courses-toolbar__search {
		max-width: 100%;
	}

	.fenajud-courses-toolbar__controls {
		justify-content: space-between;
	}

	.fenajud-course-card--list {
		flex-direction: column;
	}

	.fenajud-course-card--list .fenajud-course-card__image {
		flex: 0 0 auto;
		max-width: 100%;
		min-height: 180px;
		height: 180px;
	}

	.fenajud-courses-grid--grid {
		grid-template-columns: 1fr;
	}
}
