/* =============================================
   Paint it Black — LearnDash ld30 Overrides
   Dark theme v2 adapted.
   ============================================= */

/* ---- LearnDash color remap ---- */
.learndash-wrapper {
	--ld-primary: var(--mic-yellow);
	--ld-secondary: var(--mic-purple);
}

/* ---- Typography ---- */
.learndash-wrapper {
	font-family: var(--mic-font-body);
	color: var(--mic-text-secondary);
}

.learndash-wrapper h1,
.learndash-wrapper h2,
.learndash-wrapper h3,
.learndash-wrapper h4 {
	font-family: var(--mic-font-display);
	letter-spacing: -0.02em;
	color: var(--mic-text-primary);
}

/* ---- Course list / archive ---- */
.learndash-wrapper .ld-course-list-items .ld-item-list-item {
	border-radius: var(--mic-radius-lg);
	box-shadow: var(--mic-shadow-card);
	border: 1px solid var(--mic-border-subtle);
	background: var(--mic-bg-card);
	transition: all var(--mic-transition-normal);
	overflow: hidden;
}

.learndash-wrapper .ld-course-list-items .ld-item-list-item:hover {
	box-shadow: var(--mic-shadow-card-hover);
	transform: translateY(-2px);
}

/* ---- Course title ---- */
.learndash-wrapper .ld-item-title {
	font-family: var(--mic-font-display);
	font-weight: var(--mic-font-bold);
	color: var(--mic-text-primary);
}

/* ---- Progress bar ---- */
.learndash-wrapper .ld-progress .ld-progress-bar {
	background: var(--mic-bg-block);
	border-radius: var(--mic-radius-full);
	overflow: hidden;
}

.learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage {
	background: var(--mic-yellow);
	border-radius: var(--mic-radius-full);
}

.learndash-wrapper .ld-progress .ld-progress-percentage {
	font-family: var(--mic-font-body);
	font-weight: var(--mic-font-semibold);
	color: var(--mic-text-secondary);
}

.learndash-wrapper .ld-progress .ld-progress-steps {
	font-family: var(--mic-font-body);
	font-size: var(--mic-text-sm);
	color: var(--mic-text-muted);
}

/* ---- Item list (lessons, topics) ---- */
.learndash-wrapper .ld-item-list .ld-item-list-item {
	border-color: var(--mic-border-subtle);
	background: var(--mic-bg-card);
}

.learndash-wrapper .ld-item-list .ld-item-list-item a {
	font-family: var(--mic-font-body);
	color: var(--mic-text-secondary);
	transition: color var(--mic-transition-fast);
}

.learndash-wrapper .ld-item-list .ld-item-list-item a:hover {
	color: var(--mic-purple);
}

/* ---- Status icons ---- */
.learndash-wrapper .ld-status.ld-status-complete {
	background: var(--mic-success);
	color: var(--mic-white);
	border-radius: var(--mic-radius-full);
}

.learndash-wrapper .ld-status.ld-status-incomplete {
	background: var(--mic-bg-block);
	color: var(--mic-text-muted);
	border-radius: var(--mic-radius-full);
}

.learndash-wrapper .ld-status.ld-status-in-progress {
	background: var(--mic-yellow);
	color: var(--mic-black);
	border-radius: var(--mic-radius-full);
}

/* ---- Buttons (Mark Complete, etc.) ---- */
.learndash-wrapper .ld-button,
.learndash-wrapper input[type="submit"] {
	font-family: var(--mic-font-body);
	font-weight: var(--mic-font-semibold);
	border-radius: var(--mic-radius-md);
	padding: var(--mic-space-3) var(--mic-space-6);
	transition: all var(--mic-transition-normal);
	cursor: pointer;
}

.learndash-wrapper .ld-button:hover,
.learndash-wrapper input[type="submit"]:hover {
	transform: translateY(-1px);
}

/* ---- Focus Mode ---- */
.learndash-wrapper .ld-focus .ld-focus-sidebar {
	font-family: var(--mic-font-body);
	background: var(--mic-bg-card);
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading {
	font-family: var(--mic-font-display);
	font-weight: var(--mic-font-bold);
	color: var(--mic-text-primary);
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-lesson-item a {
	color: var(--mic-text-secondary);
	font-family: var(--mic-font-body);
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-lesson-item a:hover {
	color: var(--mic-yellow);
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-lesson-item.ld-is-current-lesson a {
	color: var(--mic-yellow);
}

.learndash-wrapper .ld-focus .ld-focus-header {
	border-bottom-color: var(--mic-border-subtle);
	background: var(--mic-bg-page);
}

.learndash-wrapper .ld-focus .ld-focus-content {
	font-family: var(--mic-font-body);
	line-height: var(--mic-leading-relaxed);
	background: var(--mic-bg-page);
	color: var(--mic-text-secondary);
}

/* ---- Course info / meta ---- */
.learndash-wrapper .ld-course-status {
	font-family: var(--mic-font-body);
}

.learndash-wrapper .ld-course-status .ld-course-status-label {
	font-size: var(--mic-text-sm);
	color: var(--mic-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* ---- Quiz ---- */
.learndash-wrapper .wpProQuiz_content {
	font-family: var(--mic-font-body);
	color: var(--mic-text-secondary);
}

.learndash-wrapper .wpProQuiz_content .wpProQuiz_questionList {
	border-color: var(--mic-border-subtle);
}

.learndash-wrapper .wpProQuiz_content input[type="button"] {
	background: var(--mic-yellow);
	color: var(--mic-black);
	border: none;
	border-radius: var(--mic-radius-md);
	font-family: var(--mic-font-body);
	font-weight: var(--mic-font-semibold);
	padding: var(--mic-space-3) var(--mic-space-6);
	cursor: pointer;
	transition: all var(--mic-transition-normal);
}

.learndash-wrapper .wpProQuiz_content input[type="button"]:hover {
	background: var(--mic-yellow-hover);
	box-shadow: 0 4px 14px var(--mic-yellow-glow);
}

/* ---- Breadcrumb ---- */
.learndash-wrapper .ld-breadcrumbs {
	font-family: var(--mic-font-body);
	font-size: var(--mic-text-sm);
	color: var(--mic-text-muted);
}

.learndash-wrapper .ld-breadcrumbs a {
	color: var(--mic-purple);
}

.learndash-wrapper .ld-breadcrumbs a:hover {
	color: var(--mic-purple-hover);
}

/* ---- Alerts / Notices ---- */
.learndash-wrapper .ld-alert {
	border-radius: var(--mic-radius-md);
	font-family: var(--mic-font-body);
}

.learndash-wrapper .ld-alert.ld-alert-success {
	background: var(--mic-success-bg);
	border-color: rgba(16, 185, 129, 0.2);
	color: var(--mic-success);
}

.learndash-wrapper .ld-alert.ld-alert-warning {
	background: var(--mic-warning-bg);
	border-color: rgba(234, 179, 8, 0.2);
	color: var(--mic-warning);
}

/* =============================================
   [mic_tanfolyamok] SHORTCODE — Courses Page
   Dark landing-page style.
   ============================================= */

/* ---- Page wrapper — dark background, full bleed ---- */
.mic-courses-page {
	background: var(--mic-bg-page, #0B1012);
	margin: -40px -40px -80px -40px; /* bleed out of entry-content padding */
	padding: 0;
}

/* Override light body bg */
body:not(.pib-template-team):has(.mic-courses-page) {
	background: var(--mic-bg-page, #0B1012) !important;
}

/* Also force site-main transparent */
body:has(.mic-courses-page) .site-main {
	background: transparent !important;
}

/* ---- Hero section ---- */
.mic-courses-hero {
	padding: 48px 40px 32px;
	text-align: center;
	max-width: 720px;
	margin: 0 auto;
}

/* "ONLINE OKTATÁS" label above title — homepage pill style */
.mic-courses-label {
	display: inline-block;
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--mic-yellow, #FDD804);
	border: 1.5px solid rgba(253, 216, 4, 0.35);
	border-radius: 999px;
	padding: 8px 24px;
	margin: 0 0 20px 0;
	background: transparent;
}

.mic-courses-title {
	font-family: 'Anton', sans-serif !important;
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	line-height: 1.15;
	color: var(--mic-white, #FFFFFF) !important;
	margin: 0 0 14px 0;
}

.mic-courses-subtitle {
	font-family: 'Open Sans', sans-serif;
	font-size: 15px;
	line-height: 1.65;
	color: var(--mic-text-muted, #808080);
	margin: 0;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

/* ---- Content area ---- */
.mic-courses-content {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 40px 64px;
}

/* ---- Course grid ---- */
.mic-courses-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
	gap: 20px;
}

/* ---- Course card ---- */
.mic-course-card {
	display: flex;
	flex-direction: column;
	background: var(--mic-bg-card, #1C1D1F);
	border: 1px solid var(--mic-border-subtle, rgba(255, 255, 255, 0.04));
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none !important;
	color: inherit !important;
	transition: border-color 250ms ease, box-shadow 250ms ease;
}

.mic-course-card:hover {
	border-color: var(--mic-border, #4E4E4E);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* Thumbnail */
.mic-course-card-thumb {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--mic-bg-card-nested, #151617);
}

.mic-course-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mic-course-card-thumb--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Body */
.mic-course-card-body {
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.mic-course-card-title {
	font-family: 'Anton', sans-serif !important;
	font-size: 20px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	line-height: 1.2;
	color: var(--mic-text-primary, #FFFFFF) !important;
	margin: 0 0 8px 0;
}

.mic-course-card-excerpt {
	font-family: 'Open Sans', sans-serif;
	font-size: 14px;
	line-height: 1.55;
	color: var(--mic-text-muted, #808080);
	margin: 0 0 14px 0;
	flex: 1;
	/* Clamp to 3 lines */
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Meta row */
.mic-course-card-meta {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: 'Open Sans', sans-serif;
	font-size: 12px;
	color: var(--mic-text-muted, #808080);
	margin-bottom: 12px;
}

.mic-course-card-lessons {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.mic-course-card-pct {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--mic-yellow, #FDD804);
	font-weight: 600;
}

/* Progress bar */
.mic-course-card-progress {
	width: 100%;
	height: 4px;
	background: var(--mic-bg-card-nested, #151617);
	border-radius: 2px;
	overflow: hidden;
	margin-bottom: 16px;
}

.mic-course-card-progress-bar {
	height: 100%;
	background: var(--mic-yellow, #FDD804);
	border-radius: 2px;
	min-width: 0;
	transition: width 400ms ease;
}

/* CTA link */
.mic-course-card-cta {
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: var(--mic-yellow, #FDD804);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.mic-course-card:hover .mic-course-card-cta {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---- Empty state ---- */
.mic-courses-empty {
	text-align: center;
	padding: 64px 24px 48px;
	max-width: 440px;
	margin: 0 auto;
}

.mic-courses-empty-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	margin: 0 auto 24px;
	background: var(--mic-bg-card, #1C1D1F);
	border: 1px solid var(--mic-border-subtle, rgba(255, 255, 255, 0.04));
	border-radius: 50%;
}

.mic-courses-empty-title {
	font-family: 'Anton', sans-serif !important;
	font-size: 22px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	color: var(--mic-text-primary, #FFFFFF) !important;
	margin: 0 0 10px 0;
}

.mic-courses-empty-text {
	font-family: 'Open Sans', sans-serif;
	font-size: 15px;
	line-height: 1.6;
	color: var(--mic-text-muted, #808080);
	margin: 0 0 28px 0;
}

.mic-courses-cta-btn {
	display: inline-block;
	background: var(--mic-purple, #8511FF);
	color: #fff !important;
	font-family: 'Open Sans', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding: 14px 32px;
	border-radius: 10px;
	text-decoration: none !important;
	transition: background 250ms ease, box-shadow 250ms ease;
}

.mic-courses-cta-btn:hover {
	background: var(--mic-purple-hover, #9D3FFF);
	box-shadow: 0 6px 24px rgba(133, 17, 255, 0.3);
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
	.mic-courses-page {
		margin: -24px -16px -60px -16px;
	}

	.mic-courses-hero {
		padding: 32px 20px 24px;
	}

	.mic-courses-content {
		padding: 0 20px 48px;
	}

	.mic-courses-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.mic-courses-title {
		font-size: 28px;
	}

	.mic-course-card-body {
		padding: 16px 18px 18px;
	}
}

@media (max-width: 480px) {
	.mic-courses-hero {
		padding: 24px 16px 20px;
	}

	.mic-courses-content {
		padding: 0 16px 40px;
	}

	.mic-courses-title {
		font-size: 24px;
	}
}

/* =============================================
   LearnDash SINGLE PAGE Overrides
   Applies to: course, lesson, topic pages.
   Light, clean, unified typography (Open Sans).
   ============================================= */

/* Shorthand: .ld-page = course OR lesson OR topic page */

/* ---- CRITICAL: Restore LearnDash icon font ---- */
body.single-sfwd-courses .learndash-wrapper .ld-icon::before,
body.single-sfwd-lessons .learndash-wrapper .ld-icon::before,
body.single-sfwd-topic .learndash-wrapper .ld-icon::before {
	font-family: 'ld-icons' !important;
}

/* ---- Light page background ---- */
body.single-sfwd-courses,
body.single-sfwd-lessons,
body.single-sfwd-topic {
	background: #F7F7F8 !important;
}

body.single-sfwd-courses .elementor-section,
body.single-sfwd-courses .e-con,
body.single-sfwd-lessons .elementor-section,
body.single-sfwd-lessons .e-con,
body.single-sfwd-topic .elementor-section,
body.single-sfwd-topic .e-con {
	background: transparent !important;
}

/* ---- Reduce header gap ---- */
body.single-sfwd-courses .elementor-section:first-child,
body.single-sfwd-courses .e-con:first-child,
body.single-sfwd-lessons .elementor-section:first-child,
body.single-sfwd-lessons .e-con:first-child,
body.single-sfwd-topic .elementor-section:first-child,
body.single-sfwd-topic .e-con:first-child {
	padding-top: 0 !important;
}

/* ---- Course page: reorder progress bar BELOW title ----
   The Elementor parent must be flex-column for `order` to apply. */
body.single-sfwd-courses .elementor-element-populated,
body.single-sfwd-courses .e-con-inner,
body.single-sfwd-courses .elementor-widget-wrap {
	display: flex !important;
	flex-direction: column !important;
}

body.single-sfwd-courses .elementor-widget-heading,
body.single-sfwd-courses .elementor-widget-theme-post-title {
	order: 1 !important;
	margin-bottom: 8px !important;
}

body.single-sfwd-courses .elementor-widget-ld-course-infobar {
	order: 2 !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	margin-bottom: 20px !important;
}

body.single-sfwd-courses .elementor-widget-ld-course-content,
body.single-sfwd-courses .elementor-widget-theme-post-content {
	order: 3 !important;
}

/* ---- Course title: readable, left-aligned, visible ---- */
body.single-sfwd-courses .entry-title,
body.single-sfwd-courses .elementor-heading-title,
body.single-sfwd-courses h1.elementor-heading-title {
	color: #0B1012 !important;
	font-family: 'Anton', sans-serif !important;
	font-size: clamp(28px, 4vw, 42px) !important;
	text-transform: uppercase !important;
	text-align: left !important;
	margin-top: 16px !important;
	margin-bottom: 12px !important;
	line-height: 1.1 !important;
}

/* Course description + body text readability */
body.single-sfwd-courses .entry-content,
body.single-sfwd-courses .entry-content p,
body.single-sfwd-courses .elementor-widget-text-editor,
body.single-sfwd-courses .elementor-widget-text-editor p,
body.single-sfwd-courses .elementor-widget-theme-post-content p,
body.single-sfwd-courses .learndash-wrapper p {
	color: #374151 !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
}

/* ---- Lesson/Topic page: breathing room above title ---- */
body.single-sfwd-lessons .site-main,
body.single-sfwd-lessons main#content,
body.single-sfwd-topic .site-main,
body.single-sfwd-topic main#content {
	padding-top: 40px !important;
}

body.single-sfwd-lessons .entry-title,
body.single-sfwd-topic .entry-title,
body.single-sfwd-lessons .elementor-heading-title,
body.single-sfwd-topic .elementor-heading-title {
	margin-top: 24px !important;
}

/* Override the earlier aggressive padding-top: 0 on first sections */
body.single-sfwd-lessons .elementor-section:first-child,
body.single-sfwd-lessons .e-con:first-child,
body.single-sfwd-topic .elementor-section:first-child,
body.single-sfwd-topic .e-con:first-child {
	padding-top: 32px !important;
}

/* ---- Global LD accent color override: orange → lila ---- */
body.single-sfwd-courses .learndash-wrapper .ld-primary-background,
body.single-sfwd-lessons .learndash-wrapper .ld-primary-background,
body.single-sfwd-topic .learndash-wrapper .ld-primary-background {
	background-color: #8C52FF !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-primary-color,
body.single-sfwd-lessons .learndash-wrapper .ld-primary-color,
body.single-sfwd-topic .learndash-wrapper .ld-primary-color {
	color: #8C52FF !important;
}

/* ---- LD buttons (.ld-button): lila bg, white text, uppercase ---- */
/* Extra specificity to beat LearnDash inline styles */
body.single-sfwd-courses .learndash-wrapper .ld-button:not(.ld--ignore-inline-css),
body.single-sfwd-lessons .learndash-wrapper .ld-button:not(.ld--ignore-inline-css),
body.single-sfwd-topic .learndash-wrapper .ld-button:not(.ld--ignore-inline-css),
body.single-sfwd-courses .learndash-wrapper .ld-button,
body.single-sfwd-lessons .learndash-wrapper .ld-button,
body.single-sfwd-topic .learndash-wrapper .ld-button {
	background: #8C52FF !important;
	background-color: #8C52FF !important;
	color: #FFFFFF !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.3px !important;
	border-radius: 8px !important;
	border: 2px solid #8C52FF !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-button:hover,
body.single-sfwd-lessons .learndash-wrapper .ld-button:hover,
body.single-sfwd-topic .learndash-wrapper .ld-button:hover {
	background: #7A3FEE !important;
	background-color: #7A3FEE !important;
	border-color: #7A3FEE !important;
}

/* ---- "Vissza" link — must beat Elementor inline specificity (0,6,1) ---- */
body.single-sfwd-courses .learndash-wrapper .ld-content-actions .ld-content-action a.ld-primary-color.ld-course-step-back,
body.single-sfwd-lessons .learndash-wrapper .ld-content-actions .ld-content-action a.ld-primary-color.ld-course-step-back,
body.single-sfwd-topic .learndash-wrapper .ld-content-actions .ld-content-action a.ld-primary-color.ld-course-step-back {
	color: #8C52FF !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
}

/* ---- Breadcrumb ---- */
body.single-sfwd-courses .learndash-wrapper .ld-breadcrumbs,
body.single-sfwd-lessons .learndash-wrapper .ld-breadcrumbs,
body.single-sfwd-topic .learndash-wrapper .ld-breadcrumbs {
	font-family: 'Open Sans', sans-serif !important;
	font-size: 13px !important;
	color: #6B7280 !important;
	background: transparent !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-breadcrumbs a,
body.single-sfwd-lessons .learndash-wrapper .ld-breadcrumbs a,
body.single-sfwd-topic .learndash-wrapper .ld-breadcrumbs a {
	color: #8C52FF !important;
}

/* ---- Progress bar wrapper ---- */
body.single-sfwd-courses .learndash-wrapper .ld-course-status,
body.single-sfwd-lessons .learndash-wrapper .ld-course-status,
body.single-sfwd-topic .learndash-wrapper .ld-course-status {
	margin-top: 0;
	margin-bottom: 24px;
	background: #FFFFFF !important;
	border: 1px solid #E5E7EB;
	border-radius: 10px;
	padding: 16px 20px !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-progress,
body.single-sfwd-lessons .learndash-wrapper .ld-progress,
body.single-sfwd-topic .learndash-wrapper .ld-progress {
	margin-bottom: 0;
}

/* Progress heading label (LECKE FOLYAMAT) */
body.single-sfwd-courses .learndash-wrapper .ld-progress-heading,
body.single-sfwd-lessons .learndash-wrapper .ld-progress-heading,
body.single-sfwd-topic .learndash-wrapper .ld-progress-heading {
	color: #374151 !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
}

/* Track = total bar, Percentage = filled part */
body.single-sfwd-courses .learndash-wrapper .ld-progress .ld-progress-bar,
body.single-sfwd-lessons .learndash-wrapper .ld-progress .ld-progress-bar,
body.single-sfwd-topic .learndash-wrapper .ld-progress .ld-progress-bar {
	background: #E5E7EB !important;
	border-radius: 999px;
}

body.single-sfwd-courses .learndash-wrapper .ld-progress .ld-progress-bar-percentage,
body.single-sfwd-lessons .learndash-wrapper .ld-progress .ld-progress-bar-percentage,
body.single-sfwd-topic .learndash-wrapper .ld-progress .ld-progress-bar-percentage {
	background: #8C52FF !important;
	border-radius: 999px;
	height: 100% !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-progress .ld-progress-percentage,
body.single-sfwd-lessons .learndash-wrapper .ld-progress .ld-progress-percentage,
body.single-sfwd-topic .learndash-wrapper .ld-progress .ld-progress-percentage,
body.single-sfwd-courses .learndash-wrapper .ld-course-status .ld-progress-stats,
body.single-sfwd-lessons .learndash-wrapper .ld-course-status .ld-progress-stats,
body.single-sfwd-topic .learndash-wrapper .ld-course-status .ld-progress-stats {
	color: #374151 !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

/* ---- Module/lesson cards ---- */
body.single-sfwd-courses .learndash-wrapper .ld-item-list .ld-item-list-item,
body.single-sfwd-lessons .learndash-wrapper .ld-item-list .ld-item-list-item,
body.single-sfwd-topic .learndash-wrapper .ld-item-list .ld-item-list-item {
	background: #FFFFFF !important;
	border: 1px solid #E5E7EB !important;
	border-radius: 10px !important;
	margin-bottom: 8px;
}

/* ---- Text: Open Sans, unified ---- */
body.single-sfwd-courses .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name,
body.single-sfwd-lessons .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name,
body.single-sfwd-topic .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name,
body.single-sfwd-courses .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-title,
body.single-sfwd-lessons .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-title,
body.single-sfwd-topic .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-title {
	color: #1a1a1a !important;
	display: block !important;
	visibility: visible !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-details,
body.single-sfwd-lessons .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-details,
body.single-sfwd-topic .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-details {
	color: #6B7280;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 13px !important;
}

/* ---- Status icons ---- */
body.single-sfwd-courses .learndash-wrapper .ld-status-icon,
body.single-sfwd-lessons .learndash-wrapper .ld-status-icon,
body.single-sfwd-topic .learndash-wrapper .ld-status-icon {
	background: #E5E7EB !important;
	color: #9CA3AF !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-status-icon.ld-status-complete,
body.single-sfwd-lessons .learndash-wrapper .ld-status-icon.ld-status-complete,
body.single-sfwd-topic .learndash-wrapper .ld-status-icon.ld-status-complete {
	background: #22C55E !important;
	color: #FFFFFF !important;
}

/* ---- Per-lesson expand/collapse buttons ---- */
body.single-sfwd-courses .learndash-wrapper .ld-expand-button,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button,
body.single-sfwd-courses .learndash-wrapper .ld-expand-button .ld-text,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button .ld-text,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button .ld-text,
body.single-sfwd-courses .learndash-wrapper .ld-expand-button .ld-text::after,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button .ld-text::after,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button .ld-text::after {
	color: #1a1a1a !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.3px !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-expand-button,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button {
	gap: 8px !important;
	outline: none !important;
	box-shadow: none !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-expand-button:focus,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button:focus,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button:focus,
body.single-sfwd-courses .learndash-wrapper .ld-expand-button:active,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button:active,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button:active {
	outline: none !important;
	box-shadow: none !important;
	border-color: transparent !important;
}

/* Per-lesson icon: citromsárga kerek háttér, sötét nyíl */
body.single-sfwd-courses .learndash-wrapper .ld-expand-button:not(.ld-primary-background) .ld-icon,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button:not(.ld-primary-background) .ld-icon,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button:not(.ld-primary-background) .ld-icon {
	background: #FDD804 !important;
	color: #1a1a1a !important;
	border-radius: 50% !important;
}

/* ---- "Összes kinyitása" main button ---- */
body.single-sfwd-courses .learndash-wrapper .ld-expand-button.ld-primary-background,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button.ld-primary-background,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button.ld-primary-background {
	background: #8C52FF !important;
	color: #FFFFFF !important;
	border-radius: 8px !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	gap: 8px !important;
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-expand-button.ld-primary-background:focus,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button.ld-primary-background:focus,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button.ld-primary-background:focus,
body.single-sfwd-courses .learndash-wrapper .ld-expand-button.ld-primary-background:active,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button.ld-primary-background:active,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button.ld-primary-background:active {
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-expand-button.ld-primary-background .ld-icon,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button.ld-primary-background .ld-icon,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button.ld-primary-background .ld-icon {
	background: transparent !important;
	color: #FFFFFF !important;
	border-radius: 0 !important;
}

/* ---- Expanded lesson content ---- */
body.single-sfwd-courses .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-items,
body.single-sfwd-lessons .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-items,
body.single-sfwd-topic .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-items {
	background: #FAFAFA !important;
	border-top: 1px solid #E5E7EB;
}

body.single-sfwd-courses .learndash-wrapper .ld-table-list .ld-table-list-header,
body.single-sfwd-lessons .learndash-wrapper .ld-table-list .ld-table-list-header,
body.single-sfwd-topic .learndash-wrapper .ld-table-list .ld-table-list-header {
	background: #1a1a1a !important;
	color: #FFFFFF !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-table-list .ld-table-list-item,
body.single-sfwd-lessons .learndash-wrapper .ld-table-list .ld-table-list-item,
body.single-sfwd-topic .learndash-wrapper .ld-table-list .ld-table-list-item {
	background: #FFFFFF !important;
	border-bottom: 1px solid #F3F4F6 !important;
	color: #374151 !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 14px !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-table-list .ld-table-list-item a,
body.single-sfwd-lessons .learndash-wrapper .ld-table-list .ld-table-list-item a,
body.single-sfwd-topic .learndash-wrapper .ld-table-list .ld-table-list-item a {
	color: #374151 !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-table-list .ld-table-list-item a:hover,
body.single-sfwd-lessons .learndash-wrapper .ld-table-list .ld-table-list-item a:hover,
body.single-sfwd-topic .learndash-wrapper .ld-table-list .ld-table-list-item a:hover {
	color: #8C52FF !important;
}

/* ---- Section headings ---- */
body.single-sfwd-courses .learndash-wrapper .ld-lesson-section-heading,
body.single-sfwd-lessons .learndash-wrapper .ld-lesson-section-heading,
body.single-sfwd-topic .learndash-wrapper .ld-lesson-section-heading {
	display: block !important;
	visibility: visible !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	color: #9CA3AF !important;
	padding: 16px 0 8px;
	border-bottom: 1px solid #E5E7EB;
	margin-bottom: 8px;
}

/* ---- "Tanfolyam tartalom" heading ---- */
body.single-sfwd-courses .learndash-wrapper .ld-section-heading h2,
body.single-sfwd-lessons .learndash-wrapper .ld-section-heading h2,
body.single-sfwd-topic .learndash-wrapper .ld-section-heading h2 {
	font-family: 'Open Sans', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	text-transform: none !important;
}

/* ---- Translate "Expand All" button ---- */
/* Hide original English text with color:transparent, show Hungarian via ::after */
body.single-sfwd-courses .learndash-wrapper .ld-expand-button.ld-primary-background .ld-text,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button.ld-primary-background .ld-text,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button.ld-primary-background .ld-text {
	color: transparent !important;
	font-size: 0 !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-expand-button.ld-primary-background .ld-text::after,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button.ld-primary-background .ld-text::after,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button.ld-primary-background .ld-text::after {
	font-size: 12px !important;
	line-height: 1.4 !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	color: #FFFFFF !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-expand-button.ld-primary-background:not(.ld-expanded) .ld-text::after,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button.ld-primary-background:not(.ld-expanded) .ld-text::after,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button.ld-primary-background:not(.ld-expanded) .ld-text::after {
	content: "ÖSSZES KINYITÁSA";
}

body.single-sfwd-courses .learndash-wrapper .ld-expand-button.ld-primary-background.ld-expanded .ld-text::after,
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button.ld-primary-background.ld-expanded .ld-text::after,
body.single-sfwd-topic .learndash-wrapper .ld-expand-button.ld-primary-background.ld-expanded .ld-text::after {
	content: "ÖSSZES BEZÁRÁSA";
}

/* ---- ALL LD buttons + nav buttons: force lila ---- */
/* Must match LD's :not() chain to beat inline style specificity */
body.single-sfwd-courses .learndash-wrapper .ld-button:not([disabled]):not(.ld-button-reverse):not(.ld-button-transparent):not(.ld--ignore-inline-css),
body.single-sfwd-lessons .learndash-wrapper .ld-button:not([disabled]):not(.ld-button-reverse):not(.ld-button-transparent):not(.ld--ignore-inline-css),
body.single-sfwd-topic .learndash-wrapper .ld-button:not([disabled]):not(.ld-button-reverse):not(.ld-button-transparent):not(.ld--ignore-inline-css) {
	background-color: #8C52FF !important;
	color: #FFFFFF !important;
	border-color: #8C52FF !important;
}

body.single-sfwd-courses .learndash-wrapper .ld-button:hover:not([disabled]):not(.ld-button-transparent):not(.ld--ignore-inline-css),
body.single-sfwd-lessons .learndash-wrapper .ld-button:hover:not([disabled]):not(.ld-button-transparent):not(.ld--ignore-inline-css),
body.single-sfwd-topic .learndash-wrapper .ld-button:hover:not([disabled]):not(.ld-button-transparent):not(.ld--ignore-inline-css) {
	background-color: #7A3FEE !important;
	border-color: #7A3FEE !important;
}

/* ---- LD expand buttons: transparent bg (except main "Összes kinyitása" which is lila) ---- */
body.single-sfwd-courses .learndash-wrapper .ld-expand-button:not([disabled]):not(.ld-primary-background),
body.single-sfwd-lessons .learndash-wrapper .ld-expand-button:not([disabled]):not(.ld-primary-background),
body.single-sfwd-topic .learndash-wrapper .ld-expand-button:not([disabled]):not(.ld-primary-background) {
	background-color: transparent !important;
}

/* ---- Topic/lesson page: dark readable text ---- */
body.single-sfwd-topic .learndash-wrapper .ld-topic-status,
body.single-sfwd-topic .learndash-wrapper,
body.single-sfwd-lessons .learndash-wrapper .ld-lesson-status,
body.single-sfwd-lessons .learndash-wrapper {
	color: #374151 !important;
}

body.single-sfwd-topic .learndash-wrapper p,
body.single-sfwd-topic .entry-content p,
body.single-sfwd-lessons .learndash-wrapper p,
body.single-sfwd-lessons .entry-content p {
	color: #374151 !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
}

/* ---- Title size + spacing on lesson/topic pages ---- */
body.single-sfwd-lessons .entry-title,
body.single-sfwd-lessons .elementor-heading-title,
body.single-sfwd-topic .entry-title,
body.single-sfwd-topic .elementor-heading-title {
	font-size: clamp(24px, 3.5vw, 34px) !important;
	margin-top: 0 !important;
	margin-bottom: 8px !important;
}

/* Left-align the title on topic pages (same as lesson/course pages) */
body.single-sfwd-topic .entry-title,
body.single-sfwd-topic .elementor-heading-title {
	text-align: left !important;
}

body.single-sfwd-topic .elementor-widget-heading {
	text-align: left !important;
}

/* Reduce the Elementor section top padding on lesson/topic pages */
body.single-sfwd-lessons .elementor-top-section,
body.single-sfwd-topic .elementor-top-section {
	padding-top: 10px !important;
	padding-bottom: 20px !important;
}

/* ---- Progress bar: thicker on lesson/topic pages (match course page) ---- */
body.single-sfwd-lessons .learndash-wrapper .ld-progress .ld-progress-bar,
body.single-sfwd-topic .learndash-wrapper .ld-progress .ld-progress-bar {
	height: 16px !important;
}

body.single-sfwd-lessons .learndash-wrapper .ld-course-status,
body.single-sfwd-topic .learndash-wrapper .ld-course-status {
	margin-bottom: 32px !important;
}

/* ---- Lecke tartalom: fix grey edges on topic rows ---- */
body.single-sfwd-lessons .learndash-wrapper .ld-table-list,
body.single-sfwd-topic .learndash-wrapper .ld-table-list {
	background: #FFFFFF !important;
	border-radius: 0 0 10px 10px !important;
	overflow: hidden;
}

body.single-sfwd-lessons .learndash-wrapper .ld-table-list .ld-table-list-item,
body.single-sfwd-topic .learndash-wrapper .ld-table-list .ld-table-list-item {
	padding: 14px 20px !important;
}

/* ---- Topic page: content text readable ---- */
body.single-sfwd-topic .learndash-wrapper .ld-topic-content,
body.single-sfwd-topic .learndash-wrapper .ld-content-body,
body.single-sfwd-topic .entry-content,
body.single-sfwd-lessons .learndash-wrapper .ld-lesson-content,
body.single-sfwd-lessons .entry-content {
	color: #374151 !important;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
}

/* ---- Remove horizontal line below content ---- */
body.single-sfwd-topic .learndash-wrapper .ld-content-actions,
body.single-sfwd-lessons .learndash-wrapper .ld-content-actions {
	border-top: none !important;
	padding-top: 24px !important;
}

/* ---- Reduce top spacing on lesson/topic pages ---- */
body.single-sfwd-lessons .elementor-widget-ld-course-infobar,
body.single-sfwd-topic .elementor-widget-ld-course-infobar {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.single-sfwd-lessons .e-con:first-child,
body.single-sfwd-topic .e-con:first-child {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* =============================================
   LearnDash Topic/Lesson Sidebar (Table of Contents)
   ============================================= */

body.single-sfwd-topic .pib-ld-layout,
body.single-sfwd-lessons .pib-ld-layout {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 32px;
	align-items: start;
}

/* Wider container on topic pages for more video space (lessons stay default) */
body.single-sfwd-topic .elementor-section > .elementor-container {
	max-width: 1400px !important;
}

/* Hide progress bar on lesson + topic pages (not needed) */
body.single-sfwd-lessons .elementor-widget-ld-course-infobar,
body.single-sfwd-lessons .learndash-wrapper > .ld-course-status,
body.single-sfwd-topic .elementor-widget-ld-course-infobar,
body.single-sfwd-topic .learndash-wrapper > .ld-course-status,
body.single-sfwd-topic .ld-course-status,
body.single-sfwd-lessons .ld-course-status {
	display: none !important;
}

.pib-ld-layout__main {
	min-width: 0; /* prevent grid blowout */
}

.pib-ld-sidebar {
	position: sticky;
	top: 100px;
}

.pib-ld-sidebar__inner {
	background: #FFFFFF;
	border: 1px solid #E5E7EB;
	border-radius: 10px;
	padding: 20px;
}

.pib-ld-sidebar__header {
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid #E5E7EB;
}

.pib-ld-sidebar__label {
	font-family: 'Open Sans', sans-serif;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #9CA3AF;
}

.pib-ld-sidebar__title,
h3.pib-ld-sidebar__title {
	font-family: 'Open Sans', sans-serif !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #1a1a1a !important;
	margin: 4px 0 0 !important;
	line-height: 1.3 !important;
}

.pib-ld-sidebar__title a,
a.pib-ld-sidebar__title,
.pib-ld-sidebar__title a:hover {
	color: #1a1a1a !important;
	text-decoration: none !important;
}

.pib-ld-sidebar__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pib-ld-sidebar__item {
	border-bottom: 1px solid #F3F4F6;
}

.pib-ld-sidebar__item:last-child {
	border-bottom: none;
}

.pib-ld-sidebar__link,
a.pib-ld-sidebar__link {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 0;
	text-decoration: none !important;
	color: #1a1a1a !important;
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	transition: color 150ms ease;
}

.pib-ld-sidebar__link .pib-ld-sidebar__text {
	color: #1a1a1a !important;
}

.pib-ld-sidebar__link:hover,
a.pib-ld-sidebar__link:hover {
	color: #1a1a1a !important;
}

.pib-ld-sidebar__link:hover .pib-ld-sidebar__text {
	color: #1a1a1a !important;
}

.pib-ld-sidebar__icon {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #E5E7EB;
	color: #9CA3AF;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 1px;
}

.pib-ld-sidebar__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}

.pib-ld-sidebar__item.is-complete .pib-ld-sidebar__icon {
	background: #22C55E;
	color: #FFFFFF;
}

.pib-ld-sidebar__item.is-current .pib-ld-sidebar__icon {
	background: #8C52FF;
	color: #FFFFFF;
}

.pib-ld-sidebar__item.is-current .pib-ld-sidebar__link,
.pib-ld-sidebar__item.is-current .pib-ld-sidebar__link .pib-ld-sidebar__text {
	color: #8C52FF !important;
	font-weight: 700 !important;
}

.pib-ld-sidebar__text {
	flex: 1;
}

.pib-ld-sidebar__empty {
	font-size: 13px;
	color: #9CA3AF;
	margin: 0;
}

/* Responsive: stack below content on mobile */
@media (max-width: 960px) {
	body.single-sfwd-topic .pib-ld-layout,
	body.single-sfwd-lessons .pib-ld-layout {
		grid-template-columns: 1fr;
	}
	.pib-ld-sidebar {
		position: static;
	}
}
