/*
 * Hosanna — Academia de Líderes (LearnDash + BuddyBoss).
 * Lleva el sistema gráfico del sitio a curso, unidades y clases:
 * Inter Tight, negro #111 / gris claro #F1F1F1, acento azul (--hs-accent), esquinas rectas,
 * títulos en mayúsculas de peso 900 y etiquetas pequeñas con tracking amplio.
 */

body.hs-academia {
	--hs-accent-soft: #E6EDF8;
	--bb-primary-color: var(--hs-accent);
	--bb-primary-button-background-regular: #111111;
	--bb-primary-button-background-hover: var(--hs-accent);
	--bb-primary-button-border-regular: #111111;
	--bb-primary-button-border-hover: var(--hs-accent);
	--bb-primary-button-text-regular: #FFFFFF;
	--bb-primary-button-text-hover: #FFFFFF;
	--bb-headings-color: #111111;
	--bb-body-text-color: #3A3A3A;
	--bb-body-background-color: #F1F1F1;
	--bb-content-background-color: #F1F1F1;
	--bb-content-border-color: #CFCFCF;
	--bb-button-radius: 0;
	--bb-block-radius: 0;
	--bb-option-radius: 0;
	background: #F1F1F1;
	color: #3A3A3A;
	font-family: var(--hs-font);
}

body.hs-academia,
body.hs-academia button,
body.hs-academia input,
body.hs-academia select,
body.hs-academia textarea,
body.hs-academia .learndash-wrapper {
	font-family: var(--hs-font);
}

body.hs-academia h1,
body.hs-academia h2,
body.hs-academia h3,
body.hs-academia h4 {
	font-family: var(--hs-font);
	color: #111111;
}

/* BuddyBoss quita el z-index al encabezado en las vistas de clase y el contenido lo tapa. */
body.hs-academia.bb-sfwd-aside .site > .elementor-location-header {
	position: relative !important;
	top: auto !important;
	z-index: 100 !important;
}

/* ---------- Página del curso ---------- */
body.hs-academia .bb-learndash-banner {
	background: #111111;
}
body.hs-academia .bb-learndash-banner .banner-img {
	filter: grayscale(1) contrast(1.05);
	opacity: 0.28;
}
body.hs-academia .bb-course-banner-info .entry-title {
	color: #F1F1F1;
	font-size: clamp(44px, 7vw, 112px);
	font-weight: 900;
	line-height: 0.88;
	letter-spacing: -0.045em;
	text-transform: uppercase;
	text-wrap: balance;
}
body.hs-academia .bb-course-banner-info,
body.hs-academia .bb-course-banner-info a,
body.hs-academia .bb-course-banner-info .bb-course-excerpt {
	color: #C8C8C8;
}
body.hs-academia .bb-course-category .course-category-item {
	color: #A0A0A0;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
body.hs-academia .bb-learndash-content-wrap {
	font-size: 18px;
	line-height: 1.65;
	color: #3A3A3A;
}
body.hs-academia .bb-learndash-content-wrap > p:first-child strong {
	display: block;
	font-size: clamp(24px, 2.6vw, 36px);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: #111111;
}

/* Tarjeta lateral de inscripción */
body.hs-academia .bb-single-course-sidebar,
body.hs-academia .bb-enroll-widget .bb-course-preview-wrap {
	border: 1px solid #111111;
	border-radius: 0;
	box-shadow: none;
	background: #FFFFFF;
}

/* Insignias de estado (En progreso / Completado) */
body.hs-academia .ld-status,
body.hs-academia .bb-course-preview-content .bb-course-status-content {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 14px;
	border: 1px solid #111111;
	border-radius: 0;
	background: transparent !important;
	color: #111111 !important;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
body.hs-academia .ld-status.ld-status-complete,
body.hs-academia .ld-status-complete.ld-secondary-background {
	border-color: var(--hs-accent);
	background: var(--hs-accent) !important;
	color: #FFFFFF !important;
}

/* Botones de LearnDash y BuddyBoss */
body.hs-academia .learndash_join_button input[type="submit"],
body.hs-academia .learndash_join_button .btn-advance,
body.hs-academia .btn-join,
body.hs-academia .ld-button,
body.hs-academia .learndash_mark_complete_button,
body.hs-academia input.learndash_mark_complete_button,
body.hs-academia .learndash-wrapper .ld-button,
body.hs-academia .bb-course-preview-content .button,
body.hs-academia a.btn-advance,
body.hs-academia #learndash_mark_complete_button {
	min-height: 48px;
	padding: 0 24px;
	border: 1px solid #111111 !important;
	border-radius: 0 !important;
	background: #111111 !important;
	color: #FFFFFF !important;
	font-family: var(--hs-font);
	font-size: 12px !important;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	box-shadow: none !important;
	transition: background-color 0.2s, border-color 0.2s;
}
body.hs-academia .learndash_join_button input[type="submit"]:hover,
body.hs-academia .btn-join:hover,
body.hs-academia .ld-button:hover,
body.hs-academia .learndash_mark_complete_button:hover,
body.hs-academia input.learndash_mark_complete_button:hover,
body.hs-academia a.btn-advance:hover,
body.hs-academia #learndash_mark_complete_button:hover {
	background: var(--hs-accent) !important;
	border-color: var(--hs-accent) !important;
}
body.hs-academia .learndash_mark_complete_button:disabled,
body.hs-academia input.learndash_mark_complete_button[disabled] {
	background: transparent !important;
	color: #6B6B6B !important;
	border-color: #CFCFCF !important;
	cursor: not-allowed;
}

/* Contenido del curso: unidades y clases */
body.hs-academia .ld-section-heading h2 {
	font-size: clamp(32px, 4vw, 56px);
	font-weight: 900;
	line-height: 0.92;
	letter-spacing: -0.03em;
	text-transform: uppercase;
}
body.hs-academia .ld-item-list .ld-item-list-item {
	border: 0;
	border-top: 1px solid #111111;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	margin: 0;
}
body.hs-academia .ld-item-list .ld-item-list-item:last-child {
	border-bottom: 1px solid #111111;
}
body.hs-academia .ld-item-list .ld-item-list-item .ld-item-name {
	font-size: clamp(20px, 2vw, 28px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: #111111;
}
body.hs-academia .ld-item-list .ld-item-list-item .ld-item-name:hover {
	color: var(--hs-accent);
}
body.hs-academia .ld-table-list .ld-table-list-header {
	background: #111111 !important;
	border-radius: 0;
	color: #F1F1F1;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
body.hs-academia .ld-table-list .ld-table-list-items {
	border-color: #CFCFCF;
	border-radius: 0;
	background: #FFFFFF;
}
body.hs-academia .ld-table-list .ld-table-list-item-preview {
	min-height: 60px;
	font-size: 17px;
	font-weight: 600;
	color: #111111;
}
body.hs-academia .ld-table-list .ld-table-list-item-preview:hover {
	background: var(--hs-accent-soft);
}
body.hs-academia .ld-expand-button,
body.hs-academia .ld-expand-button.ld-button-alternate {
	border-radius: 0;
	background: transparent !important;
	color: #111111 !important;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
body.hs-academia .ld-expand-button .ld-icon {
	border-radius: 0;
	background: #111111 !important;
	color: #F1F1F1 !important;
}

/* Barras e indicadores de progreso */
body.hs-academia .ld-progress .ld-progress-bar,
body.hs-academia .course-progress-wrap .ld-progress-bar {
	height: 4px;
	border-radius: 0;
	background: #DADADA;
}
body.hs-academia .ld-progress .ld-progress-bar .ld-progress-bar-percentage,
body.hs-academia .ld-progress-bar-percentage,
body.hs-academia .ld-secondary-background {
	border-radius: 0;
	background: var(--hs-accent) !important;
}
body.hs-academia .ld-progress .ld-progress-heading .ld-progress-label,
body.hs-academia .ld-progress-stats,
body.hs-academia .ld-progress-percentage,
body.hs-academia .ld-progress-steps {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #5C5C5C;
}
body.hs-academia .ld-progress .ld-progress-heading .ld-progress-label {
	color: #111111;
}
body.hs-academia .ld-status-icon.ld-status-complete,
body.hs-academia .ld-status-complete.ld-status-icon {
	background: var(--hs-accent) !important;
	color: #FFFFFF !important;
}

/* ---------- Vista de clase (unidad / topic) ---------- */
body.hs-academia #learndash-page-content {
	background: #F1F1F1;
}
body.hs-academia .learndash-content-body {
	max-width: 980px;
	margin: 0 auto;
	padding-top: clamp(32px, 5vw, 64px);
	padding-bottom: clamp(48px, 7vw, 112px);
}

/* Migas y posición */
body.hs-academia .bb-lms-header .bb-position,
body.hs-academia .bb-lms-header .sfwd-course-position,
body.hs-academia .bb-ld-info-bar,
body.hs-academia .ld-breadcrumbs,
body.hs-academia .ld-breadcrumbs a {
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #5C5C5C;
}
body.hs-academia .ld-breadcrumbs a:hover {
	color: var(--hs-accent);
}
body.hs-academia .bb-lms-header {
	padding-bottom: 24px;
	margin-bottom: 40px;
	border-bottom: 1px solid #111111;
}

/* Flechas anterior / siguiente del encabezado */
body.hs-academia .bb-lms-header .learndash_next_prev_link a,
body.hs-academia .bb-lms-header .learndash_next_prev_link span,
body.hs-academia .sfwd-course-nav .learndash_next_prev_link a,
body.hs-academia .sfwd-course-nav .learndash_next_prev_link span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 48px;
	border: 1px solid #111111;
	border-radius: 0;
	background: transparent;
	color: #111111;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
body.hs-academia .bb-lms-header .learndash_next_prev_link a:hover,
body.hs-academia .sfwd-course-nav .learndash_next_prev_link a:hover {
	border-color: var(--hs-accent);
	background: var(--hs-accent);
	color: #FFFFFF;
}
body.hs-academia .learndash_next_prev_link .empty-post {
	border-color: #DADADA;
	color: #BDBDBD;
	cursor: default;
}

/* Título de la clase */
body.hs-academia .bb-lms-header .lms-header-title,
body.hs-academia .learndash-content-body .lms-header-title h1,
body.hs-academia .learndash-content-body h1.entry-title,
body.hs-academia .learndash-content-body .bb-lms-title {
	margin: 16px 0 0;
	font-size: clamp(32px, 4.4vw, 64px);
	font-weight: 900;
	line-height: 0.95;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	color: #111111;
	text-wrap: balance;
}
body.hs-academia .hs-topic-by {
	display: block;
	margin-top: 14px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: #5C5C5C;
}

/* Texto y video de la clase */
body.hs-academia .learndash_content_wrap,
body.hs-academia .learndash-content-body .ld-tab-content {
	font-size: 18px;
	line-height: 1.7;
	color: #3A3A3A;
}
body.hs-academia .learndash_content_wrap h2,
body.hs-academia .learndash_content_wrap h3 {
	font-weight: 800;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}
body.hs-academia .learndash_content_wrap a {
	color: var(--hs-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}
body.hs-academia .learndash_content_wrap .wp-block-embed,
body.hs-academia .learndash_content_wrap iframe {
	border-radius: 0;
	background: #111111;
}
body.hs-academia .learndash_content_wrap .wp-block-embed {
	margin: 0 0 32px;
}

/* Tareas (assignments) */
body.hs-academia .ld-assignment-list .ld-table-list-header,
body.hs-academia .learndash-content-body .ld-table-list-header {
	background: transparent !important;
	color: #111111;
	padding-left: 0;
	padding-right: 0;
}

/* ---------- Barra lateral de la academia (clara) ---------- */
body.hs-academia .lms-topic-sidebar-wrapper,
body.hs-academia .lms-topic-sidebar-data {
	background: #FFFFFF;
	border-color: #CFCFCF;
	color: #111111;
}
body.hs-academia .lms-topic-sidebar-wrapper .course-entry-link {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid #111111;
	border-radius: 0;
	background: transparent;
	color: #111111;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
body.hs-academia .lms-topic-sidebar-wrapper .course-entry-link:hover {
	border-color: var(--hs-accent);
	background: var(--hs-accent);
	color: #FFFFFF;
}
body.hs-academia .lms-topic-sidebar-wrapper .course-entry-title {
	margin-top: 20px;
	font-size: 22px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: #111111;
}
body.hs-academia .lms-topic-sidebar-wrapper .course-progress-wrap,
body.hs-academia .lms-topic-sidebar-wrapper .ld-progress-stats,
body.hs-academia .lms-topic-sidebar-wrapper .ld-progress-percentage,
body.hs-academia .lms-topic-sidebar-wrapper .ld-progress-steps {
	color: #5C5C5C;
}

/* Cabecera de cada unidad */
body.hs-academia .lms-topic-sidebar-wrapper .bb-lesson-head,
body.hs-academia .lms-topic-sidebar-wrapper li.current .bb-lesson-head {
	border-top: 1px solid #111111;
	background: #F1F1F1 !important;
	box-shadow: none;
}
body.hs-academia .lms-topic-sidebar-wrapper .bb-lesson-title,
body.hs-academia .lms-topic-sidebar-wrapper .bb-lesson-head a,
body.hs-academia .lms-topic-sidebar-wrapper li.current .bb-lesson-title {
	color: #111111 !important;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
body.hs-academia .lms-topic-sidebar-wrapper .bb-lesson-topics-count,
body.hs-academia .lms-topic-sidebar-wrapper .lms-count {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #5C5C5C !important;
}
body.hs-academia .lms-topic-sidebar-wrapper .lms-toggle-lesson,
body.hs-academia .lms-topic-sidebar-wrapper .bb-lesson-head i {
	color: #111111 !important;
}

/* Clases dentro de la unidad */
body.hs-academia .lms-topic-sidebar-wrapper .bb-type-list li a,
body.hs-academia .lms-topic-sidebar-wrapper .lms-lesson-content li a {
	font-size: 15px;
	line-height: 1.35;
	color: #3A3A3A !important;
	text-decoration: none !important;
	box-shadow: none;
	transition: background-color 0.2s, color 0.2s;
}
body.hs-academia .lms-topic-sidebar-wrapper .bb-type-list li a *,
body.hs-academia .lms-topic-sidebar-wrapper .lms-lesson-content li a * {
	text-decoration: none !important;
}
body.hs-academia .lms-topic-sidebar-wrapper .bb-type-list li a:hover,
body.hs-academia .lms-topic-sidebar-wrapper .lms-lesson-content li a:hover {
	background: var(--hs-accent-soft) !important;
	color: #111111 !important;
}
body.hs-academia .lms-topic-sidebar-wrapper .bb-completed > a,
body.hs-academia .lms-topic-sidebar-wrapper .bb-completed a .flex-1 {
	color: #6B6B6B !important;
}
body.hs-academia .lms-topic-sidebar-wrapper li.current > a,
body.hs-academia .lms-topic-sidebar-wrapper .bb-type-list li.current a,
body.hs-academia .lms-topic-sidebar-wrapper .lms-lesson-content li.current a {
	background: var(--hs-accent-soft) !important;
	color: #111111 !important;
	font-weight: 700;
	box-shadow: inset 3px 0 0 var(--hs-accent);
}
body.hs-academia .lms-topic-sidebar-wrapper li.current > a *,
body.hs-academia .lms-topic-sidebar-wrapper .bb-type-list li.current a * {
	color: #111111 !important;
}

/* Círculos de estado */
body.hs-academia .lms-topic-sidebar-wrapper .i-progress-completed,
body.hs-academia .lms-topic-sidebar-wrapper .bb-completed .i-progress {
	border-color: var(--hs-accent) !important;
	background: var(--hs-accent) !important;
	color: #FFFFFF !important;
}
body.hs-academia .lms-topic-sidebar-wrapper .i-progress-not-completed {
	border-color: #BDBDBD !important;
	background: transparent !important;
}
body.hs-academia .lms-topic-sidebar-wrapper .bb-progress-circle .round {
	border-color: var(--hs-accent) !important;
}
body.hs-academia .lms-topic-sidebar-wrapper .bb-lms-ico,
body.hs-academia .lms-topic-sidebar-wrapper .bb-icon-text {
	color: #9A9A9A;
}

/* ---------- Checklist del plugin hosanna-adl (video + resumen PDF) ---------- */
body.hs-academia #hg-wrap { font-family: var(--hs-font); margin: 0 0 32px; }
body.hs-academia #hg-card {
	background: #FFFFFF;
	border: 1px solid #111111;
	border-radius: 0;
	box-shadow: none;
	padding: 24px;
}
body.hs-academia #hg-title {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: #5C5C5C;
	margin-bottom: 16px;
}
body.hs-academia #hg-items { gap: 12px; }
body.hs-academia .hgi {
	border: 1px solid #CFCFCF;
	border-radius: 0;
	background: #F1F1F1;
	padding: 16px 18px;
}
body.hs-academia .hgi-text { font-size: 16px; font-weight: 700; color: #111111; }
body.hs-academia .hgi-sub { font-size: 12px; color: #5C5C5C; }
body.hs-academia .hgi.prog { background: var(--hs-accent-soft); border-color: var(--hs-accent); }
body.hs-academia .hgi.prog .hgi-text { color: #111111; }
body.hs-academia .hgi.prog .hgi-sub { color: var(--hs-accent); }
body.hs-academia .hgi.done { background: var(--hs-accent); border-color: var(--hs-accent); }
body.hs-academia .hgi.done .hgi-text,
body.hs-academia .hgi.done .hgi-sub { color: #FFFFFF; }
body.hs-academia #hg-bar-lbl,
body.hs-academia #hg-bar-pct,
body.hs-academia #hg-bar-saved {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #111111;
}
body.hs-academia #hg-bar-bg { border-radius: 0; height: 4px; background: #DADADA; }
body.hs-academia #hg-bar-fill { border-radius: 0; height: 4px; background: var(--hs-accent); }
body.hs-academia #hg-upload {
	border: 1px dashed #111111;
	border-radius: 0;
	background: #F1F1F1;
	padding: 24px;
}
body.hs-academia #hg-upload.drag { border-style: solid; border-color: var(--hs-accent); background: var(--hs-accent-soft); }
body.hs-academia #hg-upload.busy { border-color: var(--hs-accent); background: #FFFFFF; }
body.hs-academia #hg-upload.ok { border-style: solid; border-color: var(--hs-accent); background: var(--hs-accent-soft); }
body.hs-academia #hg-upload.err { border-color: #B3261E; background: #FCEEEE; }
body.hs-academia #hg-up-lbl {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: #111111;
}
body.hs-academia #hg-up-hint { font-size: 14px; color: #5C5C5C; }
body.hs-academia #hg-pick-btn {
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid #111111;
	border-radius: 0;
	background: #111111;
	color: #FFFFFF;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: background-color 0.2s, border-color 0.2s;
}
body.hs-academia #hg-pick-btn:hover {
	background: var(--hs-accent);
	border-color: var(--hs-accent);
}

@media (max-width: 760px) {
	body.hs-academia .learndash-content-body { padding-left: 20px; padding-right: 20px; }
	body.hs-academia .hgi { min-width: 100%; }
}
