/* ==========================================================================
   MHA — hoja de estilos única del tema (theme.css)
   ========================================================================== */

/* ==========================================================================
   TOKENS — variables de diseño (colores, tipografía, espaciado, radios)
   ========================================================================== */

	/* De global-ui.css — valores por defecto = tema oscuro (comportamiento actual) */
	:root,
	html[data-theme="dark"] {
		--mha-color-accent: #eb6142;
		--mha-color-accent-hover: #d95639;
		--mha-color-surface: #1d1d1d;
		--mha-color-surface-strong: #1d1d1d;
		--mha-color-surface-raised: #242424;
		--mha-color-page-bg: #1d1d1d;
		--mha-color-text: #ffffff;
		--mha-color-text-muted: #c5ccda;
		--mha-color-text-soft: #aab4c3;
		--mha-color-border: rgb(255 255 255 / 40%);
		--mha-color-border-strong: rgb(255 255 255 / 40%);
		--mha-color-focus-ring: rgba(235, 97, 66, 0.35);
		--mha-radius-sm: 6px;
		--mha-radius-md: 6px;
		--mha-radius-lg: 6px;
		--mha-shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.18);
		--mha-shadow-md: 0 14px 34px rgba(0, 0, 0, 0.22);
		--mha-transition-base: 180ms ease;
		--mha-selection-bg: rgba(235, 97, 66, 0.28);
		--mha-selection-text: #ffffff;
		--mha-overlay-bg: rgba(0, 0, 0, 0.55);
		--mha-notice-info-bg: rgba(59, 130, 246, 0.12);
		--mha-notice-info-border: #3b82f6;
		--mha-notice-error-bg: rgba(220, 38, 38, 0.12);
		--mha-notice-error-border: #dc2626;
		--mha-notice-error-text: #ff8080;
		--mha-select2-dropdown-bg: #1d1d1d;
		--mha-select2-option-hover-bg: #0b0b0b;
		--mha-ld-focus-bg: #1d1d1d;
		--mha-checkout-bg: #1a1c22;
		--mha-checkout-text: #f5f6f8;
		--mha-checkout-text-muted: #9aa2b0;
		--mha-checkout-border: rgb(255 255 255 / 40%);
		--mha-checkout-notice-bg: rgba(59, 130, 246, 0.10);
		--mha-checkout-notice-text: #e6e9ee;
		--mha-color-hover-tint: rgba(255, 255, 255, 0.06);
		--mha-color-tint-weak: rgba(255, 255, 255, 0.018);
		--mha-color-tint-strong: rgba(255, 255, 255, 0.1);
		--mha-status-progress-text: #f7b391;
		--mha-status-done-text: #8ef0b0;
		color-scheme: dark;
	}

	html[data-theme="light"] {
		--mha-color-accent: #eb6142;
		--mha-color-accent-hover: #d95639;
		--mha-color-surface: #ffffff;
		--mha-color-surface-strong: #f7f8fa;
		--mha-color-surface-raised: #ffffff;
		--mha-color-page-bg: #f4f5f7;
		--mha-color-text: #15171c;
		--mha-color-text-muted: #5f6672;
		--mha-color-text-soft: #8a93a3;
		--mha-color-border: #dfe3e8;
		--mha-color-border-strong: #c7cdd6;
		--mha-color-focus-ring: rgba(235, 97, 66, 0.35);
		--mha-radius-sm: 6px;
		--mha-radius-md: 6px;
		--mha-radius-lg: 6px;
		--mha-shadow-sm: 0 8px 24px rgba(15, 17, 23, 0.08);
		--mha-shadow-md: 0 14px 34px rgba(15, 17, 23, 0.10);
		--mha-transition-base: 180ms ease;
		--mha-selection-bg: rgba(235, 97, 66, 0.22);
		--mha-selection-text: #15171c;
		--mha-overlay-bg: rgba(15, 17, 23, 0.45);
		--mha-notice-info-bg: #eef4ff;
		--mha-notice-info-border: #3b82f6;
		--mha-notice-error-bg: #fdecec;
		--mha-notice-error-border: #dc2626;
		--mha-notice-error-text: #b42318;
		--mha-select2-dropdown-bg: #ffffff;
		--mha-select2-option-hover-bg: #f1f2f4;
		--mha-ld-focus-bg: #ffffff;
		--mha-checkout-bg: #ffffff;
		--mha-checkout-text: #15171c;
		--mha-checkout-text-muted: #5f6672;
		--mha-checkout-border: #dfe3e8;
		--mha-checkout-notice-bg: #f7f8fa;
		--mha-checkout-notice-text: #333943;
		--mha-color-hover-tint: rgba(15, 17, 23, 0.05);
		--mha-status-progress-text: #b45a2e;
		--mha-status-done-text: #1f7a45;
		--mha-color-tint-weak: rgba(15, 17, 23, 0.025);
		--mha-color-tint-strong: rgba(15, 17, 23, 0.08);
		color-scheme: light;
	}

	html {
		scroll-behavior: smooth;
	}

	:root {
		--e-global-color-primary: var(--mha-color-accent);
		--e-global-color-accent: var(--mha-color-accent);
		/* Texto sobre fondo de acento (naranja): siempre blanco en ambos temas,
		   NUNCA usar --mha-color-text aquí porque ese token cambia con el tema
		   (blanco en oscuro, casi negro en claro) y produce texto negro sobre
		   naranja en tema claro. */
		--mha-color-on-accent: #ffffff;
	}

	:root,
	html[data-theme="dark"] {
		--mha-field-bg: #1d1d1d;
		--mha-field-bg-hover: #1d1d1d;
		--mha-field-bg-disabled: #1d1d1d;
		--mha-field-text: #ffffff;
		--mha-field-placeholder: rgba(255, 255, 255, 0.62);
		--mha-field-border: rgba(255, 255, 255, 0.14);
		--mha-field-border-hover: rgba(255, 255, 255, 0.24);
		--mha-field-border-focus: #eb6142;
		--mha-field-shadow-focus: 0 0 0 4px rgba(235, 97, 66, 0.18);
		--mha-field-radius: 6px;
	}

	html[data-theme="light"] {
		--mha-field-bg: #ffffff;
		--mha-field-bg-hover: #f7f8fa;
		--mha-field-bg-disabled: #f1f2f4;
		--mha-field-text: #15171c;
		--mha-field-placeholder: rgba(21, 23, 28, 0.5);
		--mha-field-border: #d8deea;
		--mha-field-border-hover: #c2c9d6;
		--mha-field-border-focus: #eb6142;
		--mha-field-shadow-focus: 0 0 0 4px rgba(235, 97, 66, 0.18);
		--mha-field-radius: 6px;
	}

	:where(
		.mha-community-shell,
		.mha-forum,
		.mha-forum__single,
		.mha-forum__create,
		.mha-forum__profile,
		.mha-forum__community-view,
		.mha-forum__feed-shell.mha-forum__surface-shell,
		body.mha-forum-page,
		body.mha-forum-page--community,
		body.mha-forum-page--discussion
	) {
		--mha-community-primary: var(--mha-color-accent);
		--mha-community-primary-hover: var(--mha-color-accent-hover);
		--mha-forum-accent: var(--mha-color-accent);
		--mha-forum-accent-soft: rgba(235, 97, 66, 0.12);
		--mha-forum-focus-ring: rgba(235, 97, 66, 0.18);
		--mha-forum-focus-border: rgba(235, 97, 66, 0.52);
		--mha-ui-primary: var(--mha-color-accent);
		--mha-final-primary: var(--mha-color-accent);
		--mha-final-primary-hover: var(--mha-color-accent-hover);
	}

	:where(.mcu-wrap) {
		--mcu-accent: var(--mha-color-accent);
		--mcu-accent-2: var(--mha-color-accent-hover);
	}

	:where(.clc-wrap) {
		--clc-accent: var(--mha-color-accent);
		--clc-accent-2: var(--mha-color-accent-hover);
	}

	/* De global-typography.css */
	:root,
	body,
	.elementor-kit-7 {
		--mha-font-family-primary: "Exo", "Ubuntu", sans-serif;
		--mha-type-h1: clamp(2.25rem, 3.2vw, 3.25rem);
		--mha-type-h2: clamp(1.75rem, 2.4vw, 2.4rem);
		--mha-type-h3: clamp(1.375rem, 1.8vw, 1.75rem);
		--mha-type-h4: clamp(1.2rem, 1.45vw, 1.4rem);
		--mha-type-h5: 1.125rem;
		--mha-type-h6: 1rem;
		--mha-type-subtitle: 1.0625rem;
		--mha-type-body: 1rem;
		--mha-type-small: 0.875rem;
		--mha-line-heading: 1.16;
		--mha-line-body: 1.68;
		--mha-weight-heading: 700;
		--mha-weight-subtitle: 500;
		--mha-weight-body: 400;
		--e-global-typography-primary-font-family: "Exo";
		--e-global-typography-primary-font-weight: 700;
		--e-global-typography-secondary-font-family: "Exo";
		--e-global-typography-secondary-font-weight: 600;
		--e-global-typography-text-font-family: "Exo";
		--e-global-typography-text-font-weight: 400;
		--e-global-typography-accent-font-family: "Exo";
		--e-global-typography-accent-font-weight: 600;
	}

	@media (max-width: 767px) {
		:root,
		body,
		.elementor-kit-7 {
			--mha-type-h1: clamp(1.85rem, 8vw, 2.35rem);
			--mha-type-h2: clamp(1.5rem, 6.5vw, 1.9rem);
			--mha-type-h3: clamp(1.2rem, 5vw, 1.45rem);
			--mha-type-h4: clamp(1.1rem, 4.3vw, 1.28rem);
			--mha-type-subtitle: 0.98rem;
			--mha-type-body: 0.95rem;
		}
	}

	.mha-forum,
	.mha-forum__single,
	.mha-forum__create,
	.mha-forum__profile,
	.mha-forum__community-view,
	.mha-community-page--community,
	.mha-community-page--single,
	.mha-forum-view--community,
	.mha-forum-view--discussion {
		--mha-site-font-family: var(--mha-font-family-primary);
		--mha-site-type-xs: var(--mha-type-small);
		--mha-site-type-sm: 0.9375rem;
		--mha-site-type-md: var(--mha-type-body);
		--mha-site-type-lg: var(--mha-type-subtitle);
		--mha-site-type-xl: var(--mha-type-h4);
		--mha-site-type-2xl: var(--mha-type-h2);
		--mha-final-primary: var(--mha-color-accent);
		--mha-final-primary-hover: var(--mha-color-accent-hover);
		--mha-final-accent: var(--mha-color-accent);
		--mha-final-surface: var(--mha-color-surface);
		--mha-final-surface-soft: var(--mha-color-surface);
		--mha-final-surface-alt: var(--mha-field-bg);
		--mha-final-border: var(--mha-color-border);
		--mha-final-border-strong: var(--mha-field-border-hover);
		--mha-final-text: var(--mha-color-text);
		--mha-final-text-soft: var(--mha-color-text-muted);
		--mha-final-text-muted: var(--mha-color-text-muted);
		--mha-final-font: var(--mha-font-family-primary);
	}

	/* De thankyou.css (variables locales de la página de gracias, ahora alias de los tokens globales) */
	body.woocommerce-order-received {
		--mha-bg: var(--mha-color-surface);
		--mha-border: var(--mha-color-border);
		--mha-border-strong: var(--mha-color-border-strong);
		--mha-text: var(--mha-color-text);
		--mha-muted: var(--mha-color-text-soft);
		--mha-coral: var(--mha-color-accent);
	}

/* ==========================================================================
   LEGACY — contenido íntegro de style.css + global-typography.css +
   global-ui.css + checkout-only.css + thankyou.css, en su orden de carga
   original. Se irá vaciando página por página en las fases siguientes.
   ========================================================================== */

/* ---- de style.css ---- */

body {
  margin: 0 !important;
  min-height: 100vh;
  background: var(--mha-color-page-bg);
}

.contenedor_principal{
	max-width: 1536px !important;
	width: 90% !important;
	margin-inline: auto !important;
}

.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content {
    max-width: inherit;
    height: 100% !important;
    min-height: 100vh !important;
}

input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
   background: var(--mha-field-bg) !important;
    border: 1px solid var(--mha-field-border) !important;
    border-radius: 6px !important;
    color: var(--mha-color-text-muted) !important;
    font-size: 13px !important;
	height: 48px !important;
}

input[type="checkbox" i]{
	background: var(--mha-field-bg) !important;
    border: 1px solid var(--mha-field-border) !important;
    border-radius: 6px !important;
}

body.ld-in-focus-mode .learndash-wrapper {
    background: var(--mha-ld-focus-bg) !important;
}
div#ld-focus-header {
    background: var(--mha-ld-focus-bg) !important;
}
.learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo {
    background: var(--mha-ld-focus-bg) !important;
}

body.admin-bar .learndash-wrapper .ld-focus-sidebar {
    background: var(--mha-ld-focus-bg) !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item .ld-lesson-item-preview {
    background: var(--mha-ld-focus-bg) !important;
}
.learndash-wrapper .ld-breadcrumbs {
    background: var(--mha-ld-focus-bg) !important;
}
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading {
    background: var(--mha-color-accent) !important;
}
.learndash-wrapper .ld-progress .ld-progress-heading .ld-progress-stats .ld-progress-percentage {
    color: var(--mha-color-accent) !important;
}
.learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage {
    background: var(--mha-color-accent) !important;
}
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .ld-button.ld-button-transparent {
    color: var(--mha-color-accent) !important;
	border-radius:6px;
}
.learndash-wrapper .ld-focus .ld-focus-header #sfwd-mark-complete #learndash_mark_complete_button, .learndash-wrapper .ld-focus .ld-focus-header #sfwd-mark-complete .learndash_mark_complete_button, .learndash-wrapper .ld-focus .ld-focus-header .sfwd-mark-complete #learndash_mark_complete_button, .learndash-wrapper .ld-focus .ld-focus-header .sfwd-mark-complete .learndash_mark_complete_button {
    color: var(--mha-color-accent) !important;
}
.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content h1 {
    color: var(--mha-color-text) !important;
}
.learndash-wrapper .ld-breadcrumbs .ld-status.ld-status-complete, .learndash-wrapper .ld-breadcrumbs .ld-status.ld-status-progress {
    background: var(--mha-color-accent) !important;
}

.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .ld-button {
    background: var(--mha-color-accent) !important;
}
.learndash-wrapper .ld-focus .ld-focus-header #sfwd-mark-complete:after, .learndash-wrapper .ld-focus .ld-focus-header .sfwd-mark-complete:after {
    color: var(--mha-color-accent) !important;
}
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger .ld-icon {
    background: var(--mha-color-accent) !important;
	color: var(--mha-color-on-accent) !important;
}
.learndash-wrapper .ld-course-navigation .ld-lesson-item-preview .ld-lesson-title {
    color: var(--mha-color-text) !important;
}
.learndash-wrapper .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview-heading, .learndash-wrapper .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-title {
    color: var(--mha-color-accent) !important;
}
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-section-heading .ld-lesson-section-heading {
    color: var(--mha-color-text) !important;
    font-weight: 700;
}
.wp-block-embed iframe {
    width: 100%  !important;
}
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-wrapper
 {
    background: var(--mha-ld-focus-bg) !important;
}
div#ld-focus-sidebar {
    background: var(--mha-ld-focus-bg) !important;
}
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-topic-list.ld-table-list {
    background: var(--mha-ld-focus-bg) !important;
}
.learndash-wrapper .ld-course-navigation .ld-table-list.ld-topic-list .ld-table-list-item .ld-table-list-item-preview .ld-topic-title {
    color: var(--mha-color-text) !important;
}
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .ld-button .ld-text {
    color: var(--mha-color-text) !important;
}
.learndash-wrapper .ld-table-list .ld-table-list-header {
    background-color: var(--mha-color-accent) !important;
}
.learndash-wrapper .ld-table-list a.ld-table-list-item-preview {
    color: var(--mha-color-text) !important;
}
.learndash-wrapper .ld-focus .ld-focus-header .ld-content-actions {
    display: none !important;
}
.learndash-wrapper .ld-progress .ld-progress-heading {
    color: var(--mha-color-text) !important;
}

.ld-focus-sidebar-wrapper::-webkit-scrollbar {
  width: 8px;
}

.ld-focus-sidebar-wrapper::-webkit-scrollbar-track {
  background: var(--mha-color-surface-strong);
}

.ld-focus-sidebar-wrapper::-webkit-scrollbar-thumb {
  background: #3eb059;
  border-radius: 6px;
}

.ld-focus-sidebar-wrapper::-webkit-scrollbar-thumb:hover {
  background: #3eb059;
}

body.ld-in-focus-mode.admin-bar .ld-focus-sidebar-wrapper::-webkit-scrollbar {
  width: 8px;
}

body.ld-in-focus-mode.admin-bar .ld-focus-sidebar-wrapper::-webkit-scrollbar-track {
  background: var(--mha-color-surface-strong);
}

body.ld-in-focus-mode.admin-bar .ld-focus-sidebar-wrapper::-webkit-scrollbar-thumb {
  background: #3eb059;
  border-radius: 6px;
}

body.ld-in-focus-mode.admin-bar .ld-focus-sidebar-wrapper::-webkit-scrollbar-thumb:hover {
  background: #3eb059;
}

.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .ld-button{
	background-color: var(--mha-ld-focus-bg) !important;
    color: var(--mha-color-text) !important;
    border: none !important;
}

/* ==========================================================================
   LEARNDASH "MODERN" — cuando LearnDash Settings > Appearance > Course
   Display usa la plantilla "Modern" (learndash-wrapper--modern), las
   páginas de lección/tema NO usan el markup ni el CSS de arriba
   (.ld-focus-*): usan su propio sistema de tokens (--ld-color-primitives-*,
   --ld-color-semantic-*) definido en el propio plugin
   (sfwd-lms/themes/ld30/assets/css/modern.css), siempre claro, sin
   conciencia del tema del sitio. Estos tokens viven en :root, así que un
   override aquí con selector más específico (html[data-theme="dark"]
   .learndash-wrapper--modern) los gana sin tener que tocar el CSS del
   plugin. Solo se invierte la escala de grises (fondo/texto/bordes); los
   colores de marca (azul/verde/rojo/amarillo) de LearnDash se dejan igual
   en ambos temas.
   ========================================================================== */

html[data-theme="dark"] .learndash-wrapper--modern {
	--ld-color-primitives-grey-0: #1d1d1d;
	--ld-color-primitives-grey-100: #242424;
	--ld-color-primitives-grey-140: rgb(255 255 255 / 40%);
	--ld-color-primitives-grey-150: rgb(255 255 255 / 40%);
	--ld-color-primitives-grey-200: rgba(255, 255, 255, 0.32);
	--ld-color-primitives-grey-350: #9aa2b0;
	--ld-color-primitives-grey-500: #aab4c3;
	--ld-color-primitives-grey-800: #e8ebf0;
	--ld-color-primitives-grey-900: #ffffff;
	--ld-color-system-body-text: #e8ebf0;
	--ld-color-system-middle-gray-light: #2a2a2a;
	--ld-color-system-subtle: #9aa2b0;
	--ld-color-field-border: rgba(255, 255, 255, 0.24);
	--ld-color-progress-bar-bg: #2a2a2a;
	--ld-color-progress-bar-fg: #e8ebf0;
}

/* ---- de global-typography.css ---- */

html {
	font-size: 16px;
}

body,
body[class*="elementor-page-"],
body.elementor-default,
button,
input,
select,
textarea,
.site-navigation a,
.elementor,
.elementor-widget-container,
.elementor-button,
.elementor-field-group > label,
.elementor-field,
.elementor-item,
.wp-block,
.wp-block-button__link,
.woocommerce,
.woocommerce button,
.woocommerce .button,
.woocommerce input,
.woocommerce select,
.woocommerce textarea {
	font-family: var(--mha-font-family-primary) !important;
}

body,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-theme-post-content,
.elementor-widget-theme-post-content p,
.entry-content,
.entry-content p,
.entry-summary,
.entry-summary p,
.woocommerce p,
.woocommerce li,
.wp-block-paragraph,
.wp-block-list,
.wp-block-list li,
.wpforms-container,
.wpforms-container input,
.wpforms-container select,
.wpforms-container textarea,
.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field-sublabel {
	font-size: var(--mha-type-body) !important;
	line-height: var(--mha-line-body) !important;
	font-weight: var(--mha-weight-body) !important;
}

h1,
.h1,
.entry-title,
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-theme-post-title h1,
.woocommerce div.product .product_title,
.wp-block-post-title {
	font-size: var(--mha-type-h1) !important;
	line-height: var(--mha-line-heading) !important;
	font-weight: var(--mha-weight-heading) !important;
	letter-spacing: -0.035em;
}

h2,
.h2,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-theme-post-title h2,
.woocommerce h2,
.wp-block-heading:where(h2) {
	font-size: var(--mha-type-h2) !important;
	line-height: calc(var(--mha-line-heading) + 0.03) !important;
	font-weight: var(--mha-weight-heading) !important;
	letter-spacing: -0.03em;
}

h3,
.h3,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-theme-post-title h3,
.woocommerce h3,
.wp-block-heading:where(h3) {
	font-size: var(--mha-type-h3) !important;
	line-height: calc(var(--mha-line-heading) + 0.04) !important;
	font-weight: 650 !important;
	letter-spacing: -0.025em;
}

h4,
.h4,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-theme-post-title h4,
.woocommerce h4,
.wp-block-heading:where(h4) {
	font-size: var(--mha-type-h4) !important;
	line-height: calc(var(--mha-line-heading) + 0.07) !important;
	font-weight: 650 !important;
}

h5,
.h5,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-theme-post-title h5,
.woocommerce h5,
.wp-block-heading:where(h5) {
	font-size: var(--mha-type-h5) !important;
	line-height: 1.28 !important;
	font-weight: 650 !important;
}

h6,
.h6,
.elementor-widget-heading h6.elementor-heading-title,
.elementor-widget-theme-post-title h6,
.woocommerce h6,
.wp-block-heading:where(h6) {
	font-size: var(--mha-type-h6) !important;
	line-height: 1.34 !important;
	font-weight: 650 !important;
}

.mha-subtitle,
.elementor-widget-text-editor.mha-subtitle,
.elementor-widget-text-editor .mha-subtitle,
.entry-content > p:first-child,
.entry-summary > p:first-child,
.woocommerce-product-details__short-description p,
.elementor-widget-theme-post-excerpt,
.elementor-widget-theme-post-excerpt p {
	font-size: var(--mha-type-subtitle) !important;
	line-height: 1.55 !important;
	font-weight: var(--mha-weight-subtitle) !important;
}

small,
.text-small,
.elementor-field-group > label,
.elementor-widget-form .elementor-field-type-html,
.elementor-widget-login .elementor-form-fields-wrapper label,
.elementor-widget-login .elementor-field-group > a,
.elementor-widget-login .elementor-login__logged-in-message,
.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text,
.elementor-widget-nav-menu .elementor-item,
.woocommerce .woocommerce-breadcrumb,
.woocommerce .product_meta,
.wp-caption-text,
figcaption {
	font-size: var(--mha-type-small) !important;
	line-height: 1.5 !important;
}

.elementor-widget-button .elementor-button,
.elementor-widget-form .elementor-button,
.elementor-widget-login .elementor-button,
.elementor-widget-search .e-search-submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wp-block-button__link {
	font-family: var(--mha-font-family-primary) !important;
	font-size: var(--mha-type-small) !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em;
}

.elementor-widget-nav-menu .elementor-item,
.site-header .site-navigation a,
.site-footer .site-navigation a {
	font-weight: 600 !important;
}

.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text,
.elementor-widget-nav-menu .elementor-item,
.elementor-widget-button .elementor-button,
.elementor-widget-form .elementor-field-group .elementor-field,
.elementor-widget-form .elementor-field-group > label,
.elementor-widget-login .elementor-field-group .elementor-field,
.elementor-widget-login .elementor-form-fields-wrapper label,
.elementor-widget-search .e-search-input,
.elementor-widget-search .e-search-submit,
.elementor-widget-tabs .elementor-tab-title,
.elementor-widget-tabs .elementor-tab-content,
.elementor-widget-accordion .elementor-tab-title,
.elementor-widget-accordion .elementor-tab-content,
.elementor-widget-posts .elementor-post__title,
.elementor-widget-posts .elementor-post__excerpt,
.elementor-widget-loop-grid .elementor-heading-title,
.elementor-widget-loop-grid p,
.elementor-widget-shortcode,
.elementor-widget-shortcode * {
	font-family: var(--mha-font-family-primary) !important;
}

/* ---- de global-ui.css ---- */

body {
	color: var(--mha-color-text);
	accent-color: var(--mha-color-accent);
}

body a,
body a:visited {
	color: var(--mha-color-text);
	text-decoration-color: rgba(235, 97, 66, 0.6);
	text-underline-offset: 0.16em;
	transition:
		color var(--mha-transition-base),
		text-decoration-color var(--mha-transition-base);
}

body a:hover,
body a:focus-visible,
body a:active {
	color: var(--mha-color-accent);
	text-decoration-color: var(--mha-color-accent);
}

/* :not([class*="ldun-"]) excluye los botones propios del plugin
   learndash-user-notes: ese plugin ya integra sus propios tokens
   --ldun-* enlazados a --mha-color-*, pero como usa <button type="button">,
   este selector genérico (más específico que su clase .ldun-fab) le ganaba
   el color de texto y dejaba texto blanco sobre su propio fondo blanco en
   tema claro. Cualquier otro plugin que traiga su propio botón con
   background propio debe excluirse aquí de la misma forma.
   :not([class*="rla4-chip"]) excluye los chips de filtro de
   [recent_learning_activity] (rla4-chip): el !important en color de esta
   regla ganaba sobre el color propio de .rla4-chip.is-active (sin
   !important), dejando el chip activo en blanco-sobre-blanco.
   :not([class*="theme-toggle"]) excluye los botones de cambio de tema
   (.mha-header__theme-toggle del header normal y .mha-focus-theme-toggle
   del header de LearnDash Focus Mode): esta regla les ganaba el color del
   ícono SVG (currentColor) forzándolo a --mha-color-on-accent (blanco). En
   el header normal esto no se notaba porque su fondo tampoco tiene
   !important (perdía también contra background-color de esta regla,
   quedando fondo naranja + ícono blanco = visible por accidente). En el
   header de Focus Mode sí se nota porque ahí el fondo transparente SÍ
   tiene !important propio y gana esa batalla — dejando ícono blanco
   invisible sobre fondo transparente en tema claro. */
body button:not([class*="ldun-"]):not([class*="rla4-chip"]):not([class*="theme-toggle"]),
body [type="button"]:not([class*="ldun-"]):not([class*="rla4-chip"]):not([class*="theme-toggle"]),
body [type="reset"]:not([class*="ldun-"]):not([class*="rla4-chip"]):not([class*="theme-toggle"]),
body [type="submit"]:not([class*="ldun-"]):not([class*="rla4-chip"]):not([class*="theme-toggle"]) {
	background-color: var(--mha-color-accent);
	border: 1px solid var(--mha-color-accent);
	color: var(--mha-color-on-accent) !important;
	border-radius: 6px;
}

body button:not([class*="ldun-"]):not([class*="rla4-chip"]):not([class*="theme-toggle"]):hover,
body button:not([class*="ldun-"]):not([class*="rla4-chip"]):not([class*="theme-toggle"]):focus,
body [type="button"]:not([class*="ldun-"]):not([class*="rla4-chip"]):not([class*="theme-toggle"]):hover,
body [type="button"]:not([class*="ldun-"]):not([class*="rla4-chip"]):not([class*="theme-toggle"]):focus,
body [type="reset"]:not([class*="ldun-"]):not([class*="rla4-chip"]):not([class*="theme-toggle"]):hover,
body [type="reset"]:not([class*="ldun-"]):not([class*="rla4-chip"]):not([class*="theme-toggle"]):focus,
body [type="submit"]:not([class*="ldun-"]):not([class*="rla4-chip"]):not([class*="theme-toggle"]):hover,
body [type="submit"]:not([class*="ldun-"]):not([class*="rla4-chip"]):not([class*="theme-toggle"]):focus {
	background-color: var(--mha-color-accent);
	border-color: var(--mha-color-accent);
	color: var(--mha-color-on-accent) !important;
	text-decoration: none;
}

/* El reset.css del tema padre (hello-elementor) trae
   `[type="button"], [type="submit"], button { color: #c36 }` sin capa ni
   !important. Su selector `[type="button"]` empata en especificidad con
   `.ldun-fab` del plugin de notas, y por orden de carga reset.css gana el
   empate — el texto de sus botones se ponía rosa (#c36) en vez de seguir
   sus propios tokens --ldun-*. Se restaura aquí con !important. */
body .ldun-fab,
body .ldun-secondary-btn,
body .ldun-tertiary-btn,
body .ldun-inline-action {
	color: var(--ldun-text-strong) !important;
}
body .ldun-fab-create,
body .ldun-primary-btn {
	background: var(--ldun-primary) !important;
	border-color: var(--ldun-primary) !important;
	color: var(--ldun-button-text-on-accent) !important;
}
body .ldun-secondary-btn,
body .ldun-tertiary-btn,
body .ldun-inline-action {
	background: var(--ldun-input-background) !important;
	border-color: var(--ldun-border-soft) !important;
	color: var(--ldun-text-muted) !important;
}

/* El botón flotante "Crear nota" (.ldun-fab-create) usaba --ldun-primary,
   que apunta al naranja de acento. A pedido del usuario se pinta del mismo
   azul rgb(48, 81, 166) que ya usan los botones "Continuar aprendiendo" de
   Mis Cursos (decisión de diseño confirmada, ver my_courses.php). No se
   toca "Ver mis notas" (.ldun-fab-view), que es una clase aparte. */
body .ldun-fab-create {
	background: rgb(48, 81, 166) !important;
	border-color: rgb(48, 81, 166) !important;
}

body .ldun-fab-create:hover {
	background: rgb(38, 65, 133) !important;
	border-color: rgb(38, 65, 133) !important;
}

/* Botón "Descarga" del bloque de archivo adjunto (material de clase):
   mismo look que el botón "Crear nota" (.ldun-fab-create) — mismo azul,
   alto, radio y tipografía — a pedido del usuario. */
.wp-block-file__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 42px;
	padding: 0 14px !important;
	border: 1px solid rgb(48, 81, 166) !important;
	border-radius: var(--mha-radius-md) !important;
	background: rgb(48, 81, 166) !important;
	color: #fff !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1 !important;
	white-space: nowrap;
	text-decoration: none !important;
	transition: background-color .18s ease, border-color .18s ease;
}

.wp-block-file__button:hover,
.wp-block-file__button:focus-visible {
	background: rgb(38, 65, 133) !important;
	border-color: rgb(38, 65, 133) !important;
	outline: none;
}

::selection {
	background: var(--mha-selection-bg);
	color: var(--mha-selection-text);
}

::-moz-selection {
	background: var(--mha-selection-bg);
	color: var(--mha-selection-text);
}

:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus-visible {
	outline: 2px solid var(--mha-color-accent);
	outline-offset: 2px;
	box-shadow: 0 0 0 4px var(--mha-color-focus-ring);
}

:where(input, select, textarea, button) {
	transition:
		background-color var(--mha-transition-base),
		border-color var(--mha-transition-base),
		color var(--mha-transition-base),
		box-shadow var(--mha-transition-base),
		opacity var(--mha-transition-base);
}

:where(img, svg, video, iframe) {
	max-width: 100%;
}

.mha-surface {
	background-color: var(--mha-color-surface);
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
	box-shadow: var(--mha-shadow-sm);
}

.mha-text-muted {
	color: var(--mha-color-text-muted);
}

.mha-link-accent {
	color: var(--mha-color-accent);
}

.mha-link-accent:hover,
.mha-link-accent:focus-visible {
	color: var(--mha-color-accent-hover);
}

:where(.elementor-location-header .elementor-element.elementor-element-ab1f408 img) {
	border-color: var(--mha-color-accent);
}

body form label,
body .woocommerce form .form-row label,
body .elementor-form .elementor-field-group > label,
body .elementor-widget-login .elementor-form-fields-wrapper label {
	color: var(--mha-color-text);
}

body:not(.woocommerce-checkout) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
body:not(.woocommerce-checkout) select,
body:not(.woocommerce-checkout) textarea,
body:not(.woocommerce-checkout) .woocommerce form .form-row .input-text,
body:not(.woocommerce-checkout) .woocommerce form select,
body:not(.woocommerce-checkout) .woocommerce textarea,
body:not(.woocommerce-checkout) #coupon_code,
body .elementor-widget-form .elementor-field,
body .elementor-widget-login .elementor-field,
body .elementor-widget-form select,
body .elementor-widget-login select {
	background-color: var(--mha-field-bg) !important;
	color: var(--mha-field-text) !important;
	border: 1px solid var(--mha-field-border) !important;
	border-radius: 6px !important;
	box-shadow: none !important;
}

body:not(.woocommerce-checkout) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):hover,
body:not(.woocommerce-checkout) select:hover,
body:not(.woocommerce-checkout) textarea:hover,
body:not(.woocommerce-checkout) .woocommerce form .form-row .input-text:hover,
body:not(.woocommerce-checkout) .woocommerce form select:hover,
body:not(.woocommerce-checkout) .woocommerce textarea:hover,
body:not(.woocommerce-checkout) #coupon_code:hover,
body .elementor-widget-form .elementor-field:hover,
body .elementor-widget-login .elementor-field:hover,
body .elementor-widget-form select:hover,
body .elementor-widget-login select:hover {
	background-color: var(--mha-field-bg-hover) !important;
	border-color: var(--mha-field-border-hover) !important;
}

body:not(.woocommerce-checkout) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):focus,
body:not(.woocommerce-checkout) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):focus-visible,
body:not(.woocommerce-checkout) select:focus,
body:not(.woocommerce-checkout) select:focus-visible,
body:not(.woocommerce-checkout) textarea:focus,
body:not(.woocommerce-checkout) textarea:focus-visible,
body:not(.woocommerce-checkout) .woocommerce form .form-row .input-text:focus,
body:not(.woocommerce-checkout) .woocommerce form .form-row .input-text:focus-visible,
body:not(.woocommerce-checkout) .woocommerce form select:focus,
body:not(.woocommerce-checkout) .woocommerce form select:focus-visible,
body:not(.woocommerce-checkout) .woocommerce textarea:focus,
body:not(.woocommerce-checkout) .woocommerce textarea:focus-visible,
body:not(.woocommerce-checkout) #coupon_code:focus,
body:not(.woocommerce-checkout) #coupon_code:focus-visible,
body .elementor-widget-form .elementor-field:focus,
body .elementor-widget-form .elementor-field:focus-visible,
body .elementor-widget-login .elementor-field:focus,
body .elementor-widget-login .elementor-field:focus-visible,
body .elementor-widget-form select:focus,
body .elementor-widget-form select:focus-visible,
body .elementor-widget-login select:focus,
body .elementor-widget-login select:focus-visible {
	background-color: var(--mha-field-bg-hover) !important;
	border-color: var(--mha-field-border-focus) !important;
	box-shadow: var(--mha-field-shadow-focus) !important;
	outline: none !important;
	color: var(--mha-field-text) !important;
}

body:not(.woocommerce-checkout) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"])::placeholder,
body:not(.woocommerce-checkout) textarea::placeholder,
body:not(.woocommerce-checkout) .woocommerce form .form-row .input-text::placeholder,
body:not(.woocommerce-checkout) .woocommerce textarea::placeholder,
body:not(.woocommerce-checkout) #coupon_code::placeholder,
body .elementor-widget-form .elementor-field::placeholder,
body .elementor-widget-login .elementor-field::placeholder {
	color: var(--mha-field-placeholder) !important;
	opacity: 1;
}

body:not(.woocommerce-checkout) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):disabled,
body:not(.woocommerce-checkout) select:disabled,
body:not(.woocommerce-checkout) textarea:disabled,
body:not(.woocommerce-checkout) .woocommerce form .form-row .input-text:disabled,
body:not(.woocommerce-checkout) .woocommerce form select:disabled,
body:not(.woocommerce-checkout) .woocommerce textarea:disabled,
body:not(.woocommerce-checkout) #coupon_code:disabled,
body .elementor-widget-form .elementor-field:disabled,
body .elementor-widget-login .elementor-field:disabled,
body:not(.woocommerce-checkout) [aria-disabled="true"] {
	background-color: var(--mha-field-bg-disabled) !important;
	color: var(--mha-color-text-muted) !important;
	border-color: var(--mha-color-border) !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
}

body .woocommerce-checkout #payment .payment_box,
body .woocommerce form .show-password-input,
body .woocommerce form .password-input .show-password-input {
	color: var(--mha-field-text) !important;
}

/* El reset genérico de botones (body button, [type="button"]... y el CSS
   global de Elementor en .woocommerce-account) pinta cualquier <button> de
   naranja y le da padding — eso incluye el botón "mostrar contraseña" que
   WooCommerce inyecta dentro del campo, dejándolo como un bloque naranja que
   tapa el input. Aquí se le regresa su tamaño de ícono pequeño. */
body .woocommerce form .password-input .show-password-input {
	position: absolute !important;
	right: .7em !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 1.2em !important;
	height: 1.2em !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
}

body .woocommerce-checkout #payment .payment_box {
	background-color: var(--mha-field-bg) !important;
	border: 1px solid var(--mha-field-border) !important;
	border-radius: 6px !important;
}

body .select2-container--default .select2-selection--single,
body .select2-container--default .select2-selection--multiple {
	background-color: var(--mha-field-bg) !important;
	border: 1px solid var(--mha-field-border) !important;
	border-radius: 6px !important;
	min-height: 44px !important;
}

body .select2-container--default.select2-container--focus .select2-selection--multiple,
body .select2-container--default.select2-container--open .select2-selection--single,
body .select2-container--default.select2-container--open .select2-selection--multiple {
	border-color: var(--mha-field-border-focus) !important;
	box-shadow: var(--mha-field-shadow-focus) !important;
}

body .select2-container--default .select2-selection--single .select2-selection__rendered,
body .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body .select2-container--default .select2-selection--multiple .select2-selection__choice,
body .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--mha-field-text) !important;
}

body .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--mha-field-placeholder) !important;
}

body .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: var(--mha-field-text) transparent transparent transparent !important;
}

body .select2-dropdown {
	background-color: var(--mha-select2-dropdown-bg) !important;
	border: 1px solid var(--mha-field-border-focus) !important;
	border-radius: 6px !important;
	box-shadow: var(--mha-shadow-md) !important;
	color: var(--mha-field-text) !important;
	overflow: hidden;
}

body .select2-search--dropdown,
body .select2-search--inline {
	background-color: var(--mha-select2-dropdown-bg) !important;
}

body .select2-search--dropdown .select2-search__field,
body .select2-container--default .select2-search--inline .select2-search__field {
	background-color: var(--mha-select2-dropdown-bg) !important;
	color: var(--mha-field-text) !important;
	border: 1px solid var(--mha-field-border) !important;
	border-radius: 6px !important;
}

body .select2-search--dropdown .select2-search__field::placeholder,
body .select2-container--default .select2-search--inline .select2-search__field::placeholder {
	color: var(--mha-field-placeholder) !important;
}

body .select2-results__option {
	background-color: var(--mha-select2-dropdown-bg) !important;
	color: var(--mha-field-text) !important;
}

body .select2-container--open .select2-dropdown,
body .select2-dropdown,
body .select2-dropdown.select2-dropdown--below,
body .select2-dropdown.select2-dropdown--above {
	background-color: var(--mha-select2-dropdown-bg) !important;
	color: var(--mha-field-text) !important;
	border-color: var(--mha-color-accent) !important;
}

body .select2-results,
body .select2-results__options {
	background-color: var(--mha-select2-dropdown-bg) !important;
	color: var(--mha-field-text) !important;
}

body .select2-results__option,
body .select2-results__option[aria-selected],
body .select2-results__option[data-selected] {
	background-color: var(--mha-select2-dropdown-bg) !important;
	color: var(--mha-field-text) !important;
}

body .select2-container--default .select2-results__option--highlighted[aria-selected],
body .select2-container--default .select2-results__option--highlighted[data-selected],
body .select2-container--default .select2-results__option--highlighted,
body .select2-results__option.select2-results__option--highlighted {
	background-color: var(--mha-color-accent) !important;
	color: var(--mha-color-on-accent) !important;
}

body .select2-container--default .select2-results__option[aria-selected="true"],
body .select2-container--default .select2-results__option[data-selected="true"] {
	background-color: var(--mha-select2-dropdown-bg) !important;
	color: var(--mha-field-text) !important;
}

body .select2-container--default .select2-results__option[aria-selected="true"]:not(.select2-results__option--highlighted),
body .select2-container--default .select2-results__option[data-selected="true"]:not(.select2-results__option--highlighted),
body .select2-results__option[aria-selected="true"]:not(.select2-results__option--highlighted),
body .select2-results__option[data-selected="true"]:not(.select2-results__option--highlighted) {
	background-color: var(--mha-select2-dropdown-bg) !important;
	color: var(--mha-field-text) !important;
}

body .select2-results__option:hover {
	background-color: var(--mha-select2-option-hover-bg) !important;
	color: var(--mha-field-text) !important;
}

body #select2-billing_state-results,
body #select2-shipping_state-results {
	background-color: var(--mha-select2-dropdown-bg) !important;
	color: var(--mha-field-text) !important;
}

body #select2-billing_state-results .select2-results__option,
body #select2-shipping_state-results .select2-results__option {
	background-color: var(--mha-select2-dropdown-bg) !important;
	color: var(--mha-field-text) !important;
}

body #select2-billing_state-results .select2-results__option--highlighted,
body #select2-shipping_state-results .select2-results__option--highlighted {
	background-color: var(--mha-color-accent) !important;
	color: var(--mha-color-on-accent) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.woocommerce-checkout .woocommerce table.shop_table {
	color: var(--mha-color-text);
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout .woocommerce table.shop_table th,
body.woocommerce-checkout .woocommerce table.shop_table td {
	color: var(--mha-color-text-muted) !important;
	border-color: var(--mha-color-border) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td,
body.woocommerce-checkout .woocommerce-Price-amount,
body.woocommerce-checkout .woocommerce-Price-currencySymbol,
body.woocommerce-checkout .cart_item .product-name,
body.woocommerce-checkout .cart_item .product-total {
	color: var(--mha-color-text) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th,
body.woocommerce-checkout .woocommerce table.shop_table thead th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total {
	color: var(--mha-color-text) !important;
}

body.woocommerce-checkout .product-quantity {
	color: var(--mha-color-text-muted) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table a {
	color: var(--mha-color-text) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table a:hover {
	color: var(--mha-color-accent) !important;
}

body select option,
body select optgroup,
body .woocommerce form select option,
body .woocommerce form select optgroup,
body .woocommerce form .form-row select option,
body .woocommerce form .form-row select optgroup {
	background-color: var(--mha-select2-option-hover-bg) !important;
	color: var(--mha-field-text) !important;
}

body select option:checked,
body .woocommerce form select option:checked,
body .woocommerce form .form-row select option:checked {
	background-color: var(--mha-color-accent) !important;
	color: var(--mha-color-on-accent) !important;
}

body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout form.checkout select#billing_country,
body.woocommerce-checkout form.checkout select#billing_state,
body.woocommerce-checkout form.checkout select#shipping_country,
body.woocommerce-checkout form.checkout select#shipping_state {
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

body.woocommerce-checkout form.checkout select option,
body.woocommerce-checkout form.checkout select optgroup {
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout form.checkout select option:checked {
	background-color: var(--mha-checkout-notice-bg) !important;
	color: var(--mha-checkout-text) !important;
}

@media (prefers-reduced-motion: reduce) {
	:where(*, *::before, *::after) {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* --mha-checkout-text/-text-muted/-border ya vienen de los tokens globales
   (html[data-theme=...]); --mha-checkout-border-strong y --mha-checkout-focus
   se resolvieron directo a --mha-color-border-strong/--mha-color-accent en
   los selectores que los usaban, así que este bloque local ya no hace falta. */

body.woocommerce-checkout form.checkout {
	color: var(--mha-checkout-text);
}

body.woocommerce-checkout form.checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout form.checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout form.checkout #order_review_heading {
	color: var(--mha-checkout-text) !important;
	border-bottom: 1px solid var(--mha-checkout-border);
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout form.woocommerce-form-login,
body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .woocommerce-message {
	background: var(--mha-color-surface);
	border: 1px solid var(--mha-checkout-border);
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message {
	background: var(--mha-notice-info-bg);
	border-left: 4px solid var(--mha-notice-info-border);
}

body.woocommerce-checkout .woocommerce-error {
	border-left: 4px solid var(--mha-notice-error-border);
	color: var(--mha-color-text);
	background: var(--mha-notice-error-bg);
	border: 1px solid var(--mha-checkout-border);
}

body.woocommerce-checkout form.checkout .form-row label {
	color: var(--mha-checkout-text-muted) !important;
}

body.woocommerce-checkout form.checkout .form-row .required,
body.woocommerce-checkout form.checkout label .required {
	color: var(--mha-notice-error-border) !important;
}

body.woocommerce-checkout form.checkout input.input-text,
body.woocommerce-checkout form.checkout textarea,
body.woocommerce-checkout form.checkout select {
	background: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	border: 1px solid var(--mha-checkout-border) !important;
}

body.woocommerce-checkout form.checkout input.input-text:hover,
body.woocommerce-checkout form.checkout textarea:hover,
body.woocommerce-checkout form.checkout select:hover {
	background: var(--mha-checkout-bg) !important;
	border-color: var(--mha-color-border-strong) !important;
}

body.woocommerce-checkout form.checkout input.input-text:focus,
body.woocommerce-checkout form.checkout input.input-text:focus-visible,
body.woocommerce-checkout form.checkout textarea:focus,
body.woocommerce-checkout form.checkout textarea:focus-visible,
body.woocommerce-checkout form.checkout select:focus,
body.woocommerce-checkout form.checkout select:focus-visible {
	background: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	border-color: var(--mha-color-accent) !important;
	outline: none !important;
}

body.woocommerce-checkout form.checkout input.input-text::placeholder,
body.woocommerce-checkout form.checkout textarea::placeholder {
	color: var(--mha-checkout-text-muted) !important;
}

body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single,
body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--multiple {
	background: var(--mha-checkout-bg) !important;
	border: 1px solid var(--mha-checkout-border) !important;
}

body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--mha-checkout-text-muted) !important;
}

body.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: var(--mha-checkout-text-muted) transparent transparent transparent !important;
}

body.woocommerce-checkout form.checkout .select2-container--default.select2-container--open .select2-selection--single,
body.woocommerce-checkout form.checkout .select2-container--default.select2-container--open .select2-selection--multiple,
body.woocommerce-checkout form.checkout .select2-container--default.select2-container--focus .select2-selection--multiple {
	background: var(--mha-checkout-bg) !important;
	border-color: var(--mha-color-accent) !important;
}

body.woocommerce-checkout form.checkout .woocommerce-invalid input.input-text,
body.woocommerce-checkout form.checkout .woocommerce-invalid select,
body.woocommerce-checkout form.checkout .woocommerce-invalid textarea,
body.woocommerce-checkout form.checkout .woocommerce-invalid .select2-selection {
	border-color: var(--mha-notice-error-border) !important;
}

body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review table.shop_table,
body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td,
body.woocommerce-checkout #order_review table.shop_table .product-name,
body.woocommerce-checkout #order_review table.shop_table .product-total,
body.woocommerce-checkout #order_review table.shop_table .cart-subtotal th,
body.woocommerce-checkout #order_review table.shop_table .cart-subtotal td,
body.woocommerce-checkout #order_review table.shop_table .order-total th,
body.woocommerce-checkout #order_review table.shop_table .order-total td,
body.woocommerce-checkout #order_review table.shop_table .woocommerce-Price-amount,
body.woocommerce-checkout #order_review table.shop_table .woocommerce-Price-currencySymbol,
body.woocommerce-checkout #order_review table.shop_table .product-quantity,
body.woocommerce-checkout #order_review table.shop_table a {
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout #order_review table.shop_table {
	background: var(--mha-color-surface);
	border: 0;
	margin: 0;
}

body.woocommerce-checkout #order_review table.shop_table thead th {
	color: var(--mha-checkout-text-muted) !important;
	border-bottom: 1px solid var(--mha-checkout-border) !important;
}

body.woocommerce-checkout #order_review table.shop_table tbody td,
body.woocommerce-checkout #order_review table.shop_table tfoot th,
body.woocommerce-checkout #order_review table.shop_table tfoot td {
	border-top: 1px solid var(--mha-checkout-border) !important;
}

body.woocommerce-checkout #order_review table.shop_table a:hover {
	color: var(--mha-color-accent-hover) !important;
}

body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment .payment_methods,
body.woocommerce-checkout #payment .payment_box {
	background: var(--mha-color-surface) !important;
	color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

body.woocommerce-checkout #payment {
	background: var(--mha-color-surface) !important;
	border: 1px solid var(--mha-checkout-border) !important;
}

body.woocommerce-checkout #payment .payment_methods,
body.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--mha-checkout-border) !important;
}

body.woocommerce-checkout #payment ul.payment_methods li,
body.woocommerce-checkout #payment .wc_payment_method > label,
body.woocommerce-checkout #payment .payment_method label,
body.woocommerce-checkout #payment .about_paypal,
body.woocommerce-checkout #payment .payment_box p {
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout #payment .payment_box,
body.woocommerce-checkout #payment div.payment_box {
	background: var(--mha-color-surface) !important;
	border: 1px solid var(--mha-checkout-border) !important;
}

body.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--mha-color-surface) !important;
}

body.woocommerce-checkout form.checkout input[type="radio"],
body.woocommerce-checkout form.checkout input[type="checkbox"] {
	accent-color: var(--mha-color-accent);
}

/* Vendemos cursos: la dirección de facturación queda oculta por defecto y
   solo aparece si el alumno activa "¿Necesitas factura?" (ver
   mha_toggle_invoice_fields_script en functions.php). Ocultarla también por
   CSS evita el parpadeo mientras carga el JS que la muestra/oculta. */
body.woocommerce-checkout .mha-invoice-field {
	display: none !important;
}

body.woocommerce-checkout .mha-invoice-toggle {
	margin: 4px 0 18px !important;
	padding: 14px 16px;
	border: 1px solid var(--mha-checkout-border);
	border-radius: var(--mha-radius-md, 6px);
}

/* display:flex en el <label> partía el texto en cajas flex separadas: el
   texto del checkbox y el <span class="optional">(opcional)</span> que
   WooCommerce agrega al final son nodos de texto/elemento hermanos dentro
   del mismo <label>, y flex los trata como flex-items independientes en
   vez de dejarlos fluir como un solo párrafo — el "(opcional)" terminaba
   flotando lejos, en su propia caja. Con flow normal (float en el
   checkbox) el texto completo fluye junto, como cualquier <label> normal. */
body.woocommerce-checkout .mha-invoice-toggle label {
	display: block !important;
	font-weight: 600;
}

body.woocommerce-checkout .mha-invoice-toggle input[type="checkbox"] {
	float: left;
	/* El checkbox nativo mide ~13px pero la primera línea del label mide
	   ~30px de alto (line-height); con un margen chico quedaba pegado
	   arriba en vez de centrado con el texto. */
	margin: 9px 10px 0 0 !important;
}

body.woocommerce-checkout #payment #place_order {
	background: var(--mha-color-accent) !important;
	border: 1px solid var(--mha-color-accent-hover) !important;
	color: #ffffff !important;
}

body.woocommerce-checkout #payment #place_order:hover,
body.woocommerce-checkout #payment #place_order:focus {
	background: var(--mha-color-accent-hover) !important;
	border-color: #c84b30 !important;
	color: #ffffff !important;
}

body.woocommerce-checkout form.checkout .form-row input.input-text,
body.woocommerce-checkout form.checkout .form-row textarea,
body.woocommerce-checkout form.checkout .form-row select,
body.woocommerce-checkout form.checkout .woocommerce-input-wrapper input,
body.woocommerce-checkout form.checkout .woocommerce-input-wrapper textarea,
body.woocommerce-checkout form.checkout .woocommerce-input-wrapper select {
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
	color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout form.checkout .form-row input.input-text::placeholder,
body.woocommerce-checkout form.checkout .form-row textarea::placeholder,
body.woocommerce-checkout form.checkout .woocommerce-input-wrapper input::placeholder,
body.woocommerce-checkout form.checkout .woocommerce-input-wrapper textarea::placeholder {
	color: var(--mha-checkout-text-muted) !important;
	opacity: 1 !important;
}

.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .ld-button{
    border-radius: 6px;
}
.learndash-wrapper .ld-course-navigation .ld-lesson-item .ld-expand-button .ld-expand-text {
    color: var(--mha-color-text) !important;
}
.learndash-wrapper .ld-breadcrumbs .ld-breadcrumbs-segments li a {
    color: var(--mha-color-text) !important;
}

body.woocommerce-checkout form.checkout .woocommerce-billing-fields input.input-text,
body.woocommerce-checkout form.checkout .woocommerce-billing-fields textarea,
body.woocommerce-checkout form.checkout .woocommerce-billing-fields select,
body.woocommerce-checkout form.checkout .woocommerce-additional-fields textarea,
body.woocommerce-checkout form.checkout input#billing_first_name,
body.woocommerce-checkout form.checkout input#billing_last_name,
body.woocommerce-checkout form.checkout input#billing_address_1,
body.woocommerce-checkout form.checkout input#billing_address_2,
body.woocommerce-checkout form.checkout input#billing_city,
body.woocommerce-checkout form.checkout input#billing_postcode,
body.woocommerce-checkout form.checkout input#billing_phone,
body.woocommerce-checkout form.checkout input#billing_email,
body.woocommerce-checkout form.checkout textarea#order_comments {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
	box-shadow: none !important;
}

body.woocommerce-checkout form.checkout input#billing_first_name::placeholder,
body.woocommerce-checkout form.checkout input#billing_last_name::placeholder,
body.woocommerce-checkout form.checkout input#billing_address_1::placeholder,
body.woocommerce-checkout form.checkout input#billing_address_2::placeholder,
body.woocommerce-checkout form.checkout input#billing_city::placeholder,
body.woocommerce-checkout form.checkout input#billing_postcode::placeholder,
body.woocommerce-checkout form.checkout input#billing_phone::placeholder,
body.woocommerce-checkout form.checkout input#billing_email::placeholder,
body.woocommerce-checkout form.checkout textarea#order_comments::placeholder {
	color: var(--mha-checkout-text-muted) !important;
	opacity: 1 !important;
	-webkit-text-fill-color: var(--mha-checkout-text-muted) !important;
}

body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout form.checkout select option,
body.woocommerce-checkout form.checkout select optgroup {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout #payment input,
body.woocommerce-checkout #payment .input-text,
body.woocommerce-checkout #payment .wc-stripe-elements-field,
body.woocommerce-checkout #payment .stripe-card-group,
body.woocommerce-checkout #payment .payment_box input {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

body.woocommerce-checkout form.checkout select#billing_country,
body.woocommerce-checkout form.checkout select#billing_state,
body.woocommerce-checkout form.checkout select#shipping_country,
body.woocommerce-checkout form.checkout select#shipping_state {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

body.woocommerce-checkout form.checkout #billing_country_field .select2-container--default .select2-selection--single,
body.woocommerce-checkout form.checkout #billing_state_field .select2-container--default .select2-selection--single,
body.woocommerce-checkout form.checkout #shipping_country_field .select2-container--default .select2-selection--single,
body.woocommerce-checkout form.checkout #shipping_state_field .select2-container--default .select2-selection--single {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

body.woocommerce-checkout form.checkout #billing_country_field .select2-selection__rendered,
body.woocommerce-checkout form.checkout #billing_state_field .select2-selection__rendered,
body.woocommerce-checkout form.checkout #shipping_country_field .select2-selection__rendered,
body.woocommerce-checkout form.checkout #shipping_state_field .select2-selection__rendered {
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout form.checkout #billing_country_field .select2-selection__placeholder,
body.woocommerce-checkout form.checkout #billing_state_field .select2-selection__placeholder,
body.woocommerce-checkout form.checkout #shipping_country_field .select2-selection__placeholder,
body.woocommerce-checkout form.checkout #shipping_state_field .select2-selection__placeholder {
	color: var(--mha-checkout-text-muted) !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .select2-container--open .select2-dropdown,
body.woocommerce-checkout .select2-container--open .select2-results,
body.woocommerce-checkout .select2-container--open .select2-results__options,
body.woocommerce-checkout .select2-container--open .select2-results__option,
body.woocommerce-checkout #select2-billing_country-results,
body.woocommerce-checkout #select2-billing_state-results,
body.woocommerce-checkout #select2-shipping_country-results,
body.woocommerce-checkout #select2-shipping_state-results {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected],
body.woocommerce-checkout .select2-results__option--highlighted {
	background: var(--mha-color-accent) !important;
	background-color: var(--mha-color-accent) !important;
	color: #ffffff !important;
}

body.woocommerce-checkout .select2-container--default .select2-results__option[aria-selected="true"],
body.woocommerce-checkout .select2-container--default .select2-results__option[data-selected="true"] {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout #payment .payment_box input,
body.woocommerce-checkout #payment .payment_box .input-text,
body.woocommerce-checkout #payment .wc-stripe-elements-field,
body.woocommerce-checkout #payment .stripe-card-group,
body.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew input {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

/* MHA global surface normalization */
body:not(.mha-auth-page),
.site-main,
.entry-content,
.elementor-section,
.elementor-container,
.e-con,
.mha-surface,
.mcu-card,
.mcu-progress,
.mcu-empty,
.clc-card,
.clc-progress,
.clc-empty,
.clc-dots,
.rla4,
.rla4-empty,
.rla4-noresults,
.mha-next-step-card,
.mha-next-step-card__progress-box,
.dbdt-ld-accordion-item,
.dbdt-ld-accordion-item summary,
.dbdt-ld-lesson-list,
.dbdt-ld-lesson-children,
.woocommerce table.shop_table,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error {
	background: var(--mha-color-surface) !important;
	border-radius: 6px !important;
}

/* MHA checkout white background override */
body.woocommerce-checkout main,
body.woocommerce-checkout main.site-main,
body.woocommerce-checkout #content,
body.woocommerce-checkout #primary,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .site-main .entry-content,
body.woocommerce-checkout .site-main .page-content,
body.woocommerce-checkout .site-main .woocommerce,
body.woocommerce-checkout .site-main .woocommerce-checkout,
body.woocommerce-checkout .site-main form.checkout {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
}

body.woocommerce-checkout .site-main #customer_details,
body.woocommerce-checkout .site-main .woocommerce-billing-fields,
body.woocommerce-checkout .site-main .woocommerce-additional-fields,
body.woocommerce-checkout .site-main #order_review,
body.woocommerce-checkout .site-main #payment,
body.woocommerce-checkout .site-main #payment .payment_box,
body.woocommerce-checkout .site-main #payment .payment_methods {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
}

body.woocommerce-checkout .site-main form.checkout,
body.woocommerce-checkout .site-main form.checkout label,
body.woocommerce-checkout .site-main form.checkout p,
body.woocommerce-checkout .site-main form.checkout h1,
body.woocommerce-checkout .site-main form.checkout h2,
body.woocommerce-checkout .site-main form.checkout h3,
body.woocommerce-checkout .site-main form.checkout h4,
body.woocommerce-checkout .site-main #order_review,
body.woocommerce-checkout .site-main #order_review table,
body.woocommerce-checkout .site-main #order_review th,
body.woocommerce-checkout .site-main #order_review td,
body.woocommerce-checkout .site-main #payment,
body.woocommerce-checkout .site-main #payment label,
body.woocommerce-checkout .site-main #payment p {
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout .site-main form.checkout input.input-text,
body.woocommerce-checkout .site-main form.checkout textarea,
body.woocommerce-checkout .site-main form.checkout select {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

body.woocommerce-checkout .site-main form.checkout input.input-text::placeholder,
body.woocommerce-checkout .site-main form.checkout textarea::placeholder {
	color: var(--mha-checkout-text-muted) !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .site-main #payment #place_order {
	color: #ffffff !important;
}

/* MHA checkout final isolated white override */
body.woocommerce-checkout main,
body.woocommerce-checkout main.site-main,
body.woocommerce-checkout #content,
body.woocommerce-checkout #primary,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .site-main > .page-content,
body.woocommerce-checkout .site-main > .entry-content,
body.woocommerce-checkout .site-main .woocommerce,
body.woocommerce-checkout .site-main .woocommerce-checkout,
body.woocommerce-checkout .site-main form.checkout {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
}

body.woocommerce-checkout .site-main #customer_details,
body.woocommerce-checkout .site-main .woocommerce-billing-fields,
body.woocommerce-checkout .site-main .woocommerce-additional-fields,
body.woocommerce-checkout .site-main #order_review,
body.woocommerce-checkout .site-main .woocommerce-checkout-review-order,
body.woocommerce-checkout .site-main #payment,
body.woocommerce-checkout .site-main #payment ul.payment_methods,
body.woocommerce-checkout .site-main #payment .payment_methods,
body.woocommerce-checkout .site-main #payment .payment_box,
body.woocommerce-checkout .site-main #payment div.payment_box,
body.woocommerce-checkout .site-main #payment .place-order {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
}

body.woocommerce-checkout .site-main #order_review table,
body.woocommerce-checkout .site-main #order_review table.shop_table,
body.woocommerce-checkout .site-main #order_review table.shop_table thead,
body.woocommerce-checkout .site-main #order_review table.shop_table tbody,
body.woocommerce-checkout .site-main #order_review table.shop_table tfoot,
body.woocommerce-checkout .site-main #order_review table.shop_table tr,
body.woocommerce-checkout .site-main #order_review table.shop_table th,
body.woocommerce-checkout .site-main #order_review table.shop_table td {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout .site-main form.checkout,
body.woocommerce-checkout .site-main form.checkout label,
body.woocommerce-checkout .site-main form.checkout p,
body.woocommerce-checkout .site-main form.checkout h1,
body.woocommerce-checkout .site-main form.checkout h2,
body.woocommerce-checkout .site-main form.checkout h3,
body.woocommerce-checkout .site-main form.checkout h4,
body.woocommerce-checkout .site-main #order_review,
body.woocommerce-checkout .site-main #order_review table,
body.woocommerce-checkout .site-main #order_review th,
body.woocommerce-checkout .site-main #order_review td,
body.woocommerce-checkout .site-main #payment,
body.woocommerce-checkout .site-main #payment label,
body.woocommerce-checkout .site-main #payment p,
body.woocommerce-checkout .site-main #payment li {
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout .site-main form.checkout input.input-text,
body.woocommerce-checkout .site-main form.checkout textarea,
body.woocommerce-checkout .site-main form.checkout select {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

body.woocommerce-checkout .site-main form.checkout input.input-text::placeholder,
body.woocommerce-checkout .site-main form.checkout textarea::placeholder {
	color: var(--mha-checkout-text-muted) !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .site-main #payment div.payment_box::before {
	border-bottom-color: var(--mha-checkout-bg) !important;
}

body.woocommerce-checkout .site-main #payment #place_order {
	color: #ffffff !important;
}

/* ---- de checkout-only.css ---- */

html body.woocommerce-checkout {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
}

html body.woocommerce-checkout #page,
html body.woocommerce-checkout .site,
html body.woocommerce-checkout main,
html body.woocommerce-checkout main.site-main,
html body.woocommerce-checkout #content,
html body.woocommerce-checkout #primary,
html body.woocommerce-checkout .site-main,
html body.woocommerce-checkout .site-main .page-content,
html body.woocommerce-checkout .site-main .entry-content,
html body.woocommerce-checkout .site-main .elementor,
html body.woocommerce-checkout .site-main .elementor-section,
html body.woocommerce-checkout .site-main .elementor-container,
html body.woocommerce-checkout .site-main .elementor-widget-wrap,
html body.woocommerce-checkout .site-main .elementor-widget-container,
html body.woocommerce-checkout .site-main .e-con,
html body.woocommerce-checkout .site-main .e-con-inner,
html body.woocommerce-checkout .site-main .woocommerce,
html body.woocommerce-checkout .site-main .woocommerce-checkout,
html body.woocommerce-checkout .site-main form.checkout {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
}

html body.woocommerce-checkout .site-main #customer_details,
html body.woocommerce-checkout .site-main .col2-set,
html body.woocommerce-checkout .site-main .woocommerce-billing-fields,
html body.woocommerce-checkout .site-main .woocommerce-billing-fields__field-wrapper,
html body.woocommerce-checkout .site-main .woocommerce-additional-fields,
html body.woocommerce-checkout .site-main .woocommerce-additional-fields__field-wrapper,
html body.woocommerce-checkout .site-main #order_review,
html body.woocommerce-checkout .site-main .woocommerce-checkout-review-order,
html body.woocommerce-checkout .site-main #payment,
html body.woocommerce-checkout .site-main #payment ul.payment_methods,
html body.woocommerce-checkout .site-main #payment .payment_methods,
html body.woocommerce-checkout .site-main #payment .payment_box,
html body.woocommerce-checkout .site-main #payment div.payment_box,
html body.woocommerce-checkout .site-main #payment .place-order {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
}

html body.woocommerce-checkout .site-main #order_review table,
html body.woocommerce-checkout .site-main #order_review table.shop_table,
html body.woocommerce-checkout .site-main #order_review table.shop_table thead,
html body.woocommerce-checkout .site-main #order_review table.shop_table tbody,
html body.woocommerce-checkout .site-main #order_review table.shop_table tfoot,
html body.woocommerce-checkout .site-main #order_review table.shop_table tr,
html body.woocommerce-checkout .site-main #order_review table.shop_table th,
html body.woocommerce-checkout .site-main #order_review table.shop_table td {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
	color: var(--mha-checkout-text) !important;
}

html body.woocommerce-checkout .site-main form.checkout,
html body.woocommerce-checkout .site-main form.checkout label,
html body.woocommerce-checkout .site-main form.checkout p,
html body.woocommerce-checkout .site-main form.checkout h1,
html body.woocommerce-checkout .site-main form.checkout h2,
html body.woocommerce-checkout .site-main form.checkout h3,
html body.woocommerce-checkout .site-main form.checkout h4,
html body.woocommerce-checkout .site-main #order_review,
html body.woocommerce-checkout .site-main #order_review table,
html body.woocommerce-checkout .site-main #order_review th,
html body.woocommerce-checkout .site-main #order_review td,
html body.woocommerce-checkout .site-main #payment,
html body.woocommerce-checkout .site-main #payment label,
html body.woocommerce-checkout .site-main #payment p,
html body.woocommerce-checkout .site-main #payment li,
html body.woocommerce-checkout .site-main .woocommerce-terms-and-conditions-wrapper {
	color: var(--mha-checkout-text) !important;
}

html body.woocommerce-checkout .site-main form.checkout input.input-text,
html body.woocommerce-checkout .site-main form.checkout textarea,
html body.woocommerce-checkout .site-main form.checkout select,
html body.woocommerce-checkout .site-main form.checkout .select2-selection {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

html body.woocommerce-checkout .site-main form.checkout input.input-text::placeholder,
html body.woocommerce-checkout .site-main form.checkout textarea::placeholder {
	color: var(--mha-checkout-text-muted) !important;
	opacity: 1 !important;
	-webkit-text-fill-color: var(--mha-checkout-text-muted) !important;
}

html body.woocommerce-checkout .select2-container--open .select2-dropdown,
html body.woocommerce-checkout .select2-container--open .select2-results,
html body.woocommerce-checkout .select2-container--open .select2-results__options,
html body.woocommerce-checkout .select2-container--open .select2-results__option {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

html body.woocommerce-checkout .site-main #payment #place_order {
	color: #ffffff !important;
}

html body.woocommerce-checkout .site-main form.checkout a,
html body.woocommerce-checkout .site-main form.checkout a:visited {
	color: var(--mha-checkout-text) !important;
	text-decoration-color: rgba(235, 97, 66, 0.6) !important;
}

html body.woocommerce-checkout .site-main form.checkout a:hover,
html body.woocommerce-checkout .site-main form.checkout a:focus-visible {
	color: var(--mha-color-accent) !important;
}

html body.woocommerce-checkout .site-main::before,
html body.woocommerce-checkout .site-main::after,
html body.woocommerce-checkout .site-main .entry-content::before,
html body.woocommerce-checkout .site-main .entry-content::after,
html body.woocommerce-checkout .site-main .woocommerce::before,
html body.woocommerce-checkout .site-main .woocommerce::after {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
}

html body.woocommerce-checkout form.checkout select,
html body.woocommerce-checkout form.checkout select#billing_country,
html body.woocommerce-checkout form.checkout select#billing_state,
html body.woocommerce-checkout form.checkout select#shipping_country,
html body.woocommerce-checkout form.checkout select#shipping_state {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	background-image: none !important;
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

html body.woocommerce-checkout form.checkout select option,
html body.woocommerce-checkout form.checkout select optgroup,
html body.woocommerce-checkout form.checkout select#billing_country option,
html body.woocommerce-checkout form.checkout select#billing_state option,
html body.woocommerce-checkout form.checkout select#shipping_country option,
html body.woocommerce-checkout form.checkout select#shipping_state option {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
}

html body.woocommerce-checkout form.checkout select option:checked,
html body.woocommerce-checkout form.checkout select option:hover,
html body.woocommerce-checkout form.checkout select option:focus {
	background: var(--mha-checkout-notice-bg) !important;
	background-color: var(--mha-checkout-notice-bg) !important;
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
}

html body.woocommerce-checkout .select2-container--default .select2-selection--single,
html body.woocommerce-checkout .select2-container--default .select2-selection--multiple {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

html body.woocommerce-checkout .select2-container--default .select2-selection__rendered,
html body.woocommerce-checkout .select2-container--default .select2-selection__placeholder {
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
}

html body.woocommerce-checkout .select2-search--dropdown,
html body.woocommerce-checkout .select2-search--inline {
	background-color: var(--mha-checkout-bg) !important;
}

html body.woocommerce-checkout .select2-search--dropdown .select2-search__field,
html body.woocommerce-checkout .select2-container--default .select2-search--inline .select2-search__field {
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	-webkit-text-fill-color: var(--mha-checkout-text) !important;
	border: 1px solid var(--mha-checkout-border) !important;
	border-radius: 6px !important;
}

html body.woocommerce-checkout .select2-search--dropdown .select2-search__field::placeholder,
html body.woocommerce-checkout .select2-container--default .select2-search--inline .select2-search__field::placeholder {
	color: var(--mha-checkout-text-muted) !important;
	opacity: 1 !important;
}

html body.woocommerce-checkout .select2-container--open .select2-dropdown,
html body.woocommerce-checkout .select2-container--open .select2-results,
html body.woocommerce-checkout .select2-container--open .select2-results__options,
html body.woocommerce-checkout .select2-container--open .select2-results__option,
html body.woocommerce-checkout #select2-billing_country-results,
html body.woocommerce-checkout #select2-billing_state-results,
html body.woocommerce-checkout #select2-shipping_country-results,
html body.woocommerce-checkout #select2-shipping_state-results {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

html body.woocommerce-checkout #select2-billing_country-results .select2-results__option,
html body.woocommerce-checkout #select2-billing_state-results .select2-results__option,
html body.woocommerce-checkout #select2-shipping_country-results .select2-results__option,
html body.woocommerce-checkout #select2-shipping_state-results .select2-results__option {
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
}

html body.woocommerce-checkout #select2-billing_country-results .select2-results__option--highlighted,
html body.woocommerce-checkout #select2-billing_state-results .select2-results__option--highlighted,
html body.woocommerce-checkout #select2-shipping_country-results .select2-results__option--highlighted,
html body.woocommerce-checkout #select2-shipping_state-results .select2-results__option--highlighted {
	background: var(--mha-checkout-notice-bg) !important;
	background-color: var(--mha-checkout-notice-bg) !important;
	color: var(--mha-checkout-text) !important;
}

html body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
html body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected],
html body.woocommerce-checkout .select2-results__option--highlighted {
	background: var(--mha-checkout-notice-bg) !important;
	background-color: var(--mha-checkout-notice-bg) !important;
	color: var(--mha-checkout-text) !important;
}

html body.woocommerce-checkout .select2-container--default .select2-results__option[aria-selected="true"],
html body.woocommerce-checkout .select2-container--default .select2-results__option[data-selected="true"] {
	background: var(--mha-checkout-notice-bg) !important;
	background-color: var(--mha-checkout-notice-bg) !important;
	color: var(--mha-checkout-text) !important;
}

/* ---- de thankyou.css ---- */

body.woocommerce-order-received {
	background: var(--mha-bg) !important;
}

body.woocommerce-order-received .site-main,
body.woocommerce-order-received .page-content,
body.woocommerce-order-received .entry-content,
body.woocommerce-order-received .woocommerce {
	max-width: none;
	margin: 0;
	padding: 0;
	background: var(--mha-bg) !important;
}

body.woocommerce-order-received .elementor,
body.woocommerce-order-received .elementor-element,
body.woocommerce-order-received .elementor-widget-container,
body.woocommerce-order-received .elementor-widget-woocommerce-checkout-page,
body.woocommerce-order-received .elementor-widget-woocommerce-checkout-page .woocommerce,
body.woocommerce-order-received .e-con,
body.woocommerce-order-received .e-con-inner {
	background-color: var(--mha-bg) !important;
}

body.woocommerce-order-received .elementor-widget-woocommerce-checkout-page,
body.woocommerce-order-received .elementor-widget-woocommerce-checkout-page .elementor-widget-container,
body.woocommerce-order-received .elementor-widget-woocommerce-checkout-page .woocommerce {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.mha-thankyou {
	position: relative;
	left: 50%;
	width: 100vw;
	padding: 26px 0 90px;
	margin-left: -50vw;
	color: var(--mha-text);
	background: var(--mha-bg) !important;
}

body.woocommerce-order-received main.mha-thankyou {
	background-color: var(--mha-bg) !important;
}

body.woocommerce-order-received .mha-thankyou__hero h1,
body.woocommerce-order-received .mha-thankyou__hero p,
body.woocommerce-order-received .mha-thankyou__overview strong {
	color: var(--mha-text) !important;
}

.mha-thankyou__shell {
	width: 90% !important;
	max-width: 1536px !important;
	margin: 0 auto;
}

.mha-thankyou__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 40px;
	padding: 18px 0 34px;
	color: var(--mha-text);
}

.mha-thankyou__check { display: none; }

.mha-thankyou__eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	padding: 6px 12px;
	margin-bottom: 12px;
	border: 1px solid rgba(240, 120, 48, .35);
	border-radius: 6px;
	color: var(--mha-coral);
	background: var(--mha-color-surface-strong);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.mha-thankyou__hero h1 {
	grid-column: 1;
	margin: 0 0 8px;
	color: var(--mha-text) !important;
	font-size: clamp(30px, 2.8vw, 46px) !important;
	font-weight: 800 !important;
	line-height: 1.05 !important;
	letter-spacing: -.03em;
}

.mha-thankyou__hero p {
	grid-column: 1;
	margin: 0;
	color: var(--mha-muted) !important;
	font-size: 16px !important;
	line-height: 1.45 !important;
}

.mha-thankyou__actions {
	display: flex;
	grid-column: 2;
	grid-row: 1 / span 3;
	align-items: center;
	gap: 10px;
}

.mha-thankyou .mha-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 24px !important;
	border-radius: 6px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	white-space: nowrap;
	transition: opacity .2s ease, border-color .2s ease;
}

.mha-thankyou .mha-button--primary {
	border: 1px solid var(--mha-coral) !important;
	color: #fff !important;
	background: var(--mha-coral) !important;
}

.mha-thankyou .mha-button--primary:hover { opacity: .92; }
.mha-thankyou .mha-button--ghost { border: 1px solid var(--mha-border-strong) !important; color: var(--mha-text) !important; background: var(--mha-color-surface-strong) !important; }
.mha-thankyou .mha-button--ghost:hover { border-color: var(--mha-color-border-strong) !important; }

.mha-thankyou__overview {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 18px 0;
	border: 1px solid var(--mha-border);
	border-radius: 6px;
	background: var(--mha-color-surface-strong);
	box-shadow: var(--mha-shadow-md);
}

.mha-thankyou__overview > div {
	min-width: 0;
	padding: 20px;
	border-right: 1px solid var(--mha-border);
}

.mha-thankyou__overview > div:last-child { border-right: 0; }
.mha-thankyou__overview span { display: block; margin-bottom: 7px; color: var(--mha-muted); font-size: 11px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.mha-thankyou__overview strong { display: block; overflow-wrap: anywhere; color: var(--mha-text) !important; font-size: 15px; font-weight: 700; }
.mha-thankyou__overview .woocommerce-Price-amount,
.mha-thankyou__overview .woocommerce-Price-currencySymbol { display: inline; color: var(--mha-text) !important; font-size: inherit; }

.mha-thankyou__details {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr);
	align-items: start;
	gap: 18px;
	margin-top: 18px;
}

.mha-thankyou__details:empty { display: none; }
.mha-thankyou__details > p,
.mha-thankyou__details > .woocommerce-notice { grid-column: 1 / -1; margin: 0; padding: 16px; border: 1px solid var(--mha-border); border-radius: 6px; color: var(--mha-muted) !important; background: var(--mha-color-surface-strong); }
.mha-thankyou__details h2 { margin: 0 0 16px; color: var(--mha-text) !important; font-size: 24px !important; line-height: 1.2 !important; font-weight: 700 !important; }
.mha-thankyou__details .woocommerce-order-details,
.mha-thankyou__details .woocommerce-customer-details,
.mha-thankyou__details .woocommerce-order-downloads { min-width: 0; margin: 0 !important; padding: 16px; border: 1px solid var(--mha-border); border-radius: 6px; color: var(--mha-text); background: var(--mha-color-surface-strong); box-shadow: var(--mha-shadow-md); }
.mha-thankyou__details .woocommerce-order-downloads { grid-column: 1 / -1; }
.mha-thankyou__details table.shop_table { width: 100%; margin: 0 !important; border: 0 !important; border-collapse: collapse !important; color: var(--mha-text) !important; background: transparent !important; }
.mha-thankyou__details table.shop_table th,
.mha-thankyou__details table.shop_table td { height: auto !important; padding: 14px 8px !important; border: 0 !important; border-bottom: 1px solid var(--mha-border) !important; color: var(--mha-text) !important; background: transparent !important; vertical-align: middle; }
.mha-thankyou__details table.shop_table tr:last-child th,
.mha-thankyou__details table.shop_table tr:last-child td { border-bottom: 0 !important; }
.mha-thankyou__details table.shop_table .product-total,
.mha-thankyou__details table.shop_table td:last-child { text-align: right; }
.mha-thankyou__details .woocommerce-Price-amount,
.mha-thankyou__details .woocommerce-Price-currencySymbol { color: var(--mha-text) !important; }
.mha-thankyou__details a { color: var(--mha-coral) !important; }
.mha-order-item { display: inline-flex; align-items: center; gap: 12px; vertical-align: middle; }
.mha-order-item-thumb { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 6px; object-fit: cover; }
.mha-order-item-name { min-width: 0; }
.mha-order-item + .product-quantity { margin-left: 6px; vertical-align: middle; }
.mha-thankyou__details address { padding: 0 !important; border: 0 !important; color: var(--mha-muted) !important; font-style: normal; line-height: 1.7; background: transparent !important; }
.mha-thankyou__details .woocommerce-customer-details--phone,
.mha-thankyou__details .woocommerce-customer-details--email { color: var(--mha-text) !important; }
.mha-thankyou__hero--failed { grid-template-columns: minmax(0, 1fr) auto; }

@media (max-width: 960px) {
	.mha-thankyou__hero { grid-template-columns: 1fr; }
	.mha-thankyou__actions { grid-column: 1; grid-row: auto; margin-top: 22px; }
	.mha-thankyou__details { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
	.mha-thankyou__overview { grid-template-columns: repeat(2, 1fr); }
	.mha-thankyou__overview > div:nth-child(2) { border-right: 0; }
	.mha-thankyou__overview > div:nth-child(-n+2) { border-bottom: 1px solid var(--mha-border); }
}

@media (max-width: 520px) {
	.mha-thankyou { padding: 18px 0 54px; }
	.mha-thankyou__shell { width: calc(100% - 28px) !important; }
	.mha-thankyou__actions { flex-direction: column; align-items: stretch; }
	.mha-thankyou__overview { grid-template-columns: 1fr; }
	.mha-thankyou__overview > div { border-right: 0; border-bottom: 1px solid var(--mha-border); }
	.mha-thankyou__overview > div:last-child { border-bottom: 0; }
	.mha-thankyou__details .woocommerce-order-details,
	.mha-thankyou__details .woocommerce-customer-details { overflow-x: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.mha-thankyou .mha-button { transition: none; }
}

/* ==========================================================================
   COMPONENTS — CSS limpio (sin !important) de cada página que se vaya
   reconstruyendo sin Elementor, a medida que se borre su contraparte en
   la sección LEGACY de arriba.
   ========================================================================== */

/* ---- Header (fase 2, reconstruido de nuevo en el repaso visual) ---- */

	.mha-header {
		background: var(--mha-color-surface);
		border-bottom: 1px solid var(--mha-color-border);
	}

	.mha-header__inner {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		gap: 24px;
		padding: 14px 0;
	}

	.mha-header__brand {
		display: flex;
		align-items: center;
		gap: 16px;
		justify-self: start;
	}

	.mha-header__logo img {
		display: block;
		max-width: 130px;
		height: auto;
	}

	/* El único logo que existe es la versión blanca (academy-logo-white.png,
	   pensada para fondo oscuro). En modo claro el fondo del header/sidebar
	   se vuelve blanco y el logo blanco desaparece — se oscurece con un
	   filtro en vez de depender de que exista un segundo archivo de logo. */
	html[data-theme="light"] .mha-header__logo img,
	html[data-theme="light"] .mha-sidebar__logo,
	html[data-theme="light"] .mha-footer__brand img,
	html[data-theme="light"] .mha-auth__intro img,
	html[data-theme="light"] .learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo img {
		content: url("https://academy.mhaconsulting.mx/wp-content/uploads/2026/08/WhatsApp-Image-2026-07-28-at-9.18.57-AM.jpeg");
		filter: none;
	}

	.mha-header__toggle,
	.mha-header__cart,
	.mha-header__avatar {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		flex: 0 0 auto;
		padding: 0;
		color: var(--mha-color-text-muted);
		background: transparent;
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
		cursor: pointer;
		transition: color var(--mha-transition-base), border-color var(--mha-transition-base);
	}

	.mha-header__toggle:hover,
	.mha-header__toggle:focus-visible,
	.mha-header__cart:hover,
	.mha-header__cart:focus-visible {
		color: var(--mha-color-accent);
		border-color: var(--mha-color-accent);
		outline: none;
	}

	.mha-header__avatar {
		padding: 0;
		overflow: hidden;
		border-color: var(--mha-color-accent);
	}

	.mha-header__cart {
		position: relative;
		text-decoration: none;
	}

	.mha-header__cart-count {
		position: absolute;
		top: -7px;
		right: -7px;
		display: grid;
		place-items: center;
		min-width: 20px;
		height: 20px;
		padding-inline: 5px;
		background: var(--mha-color-accent);
		color: var(--mha-color-on-accent) !important;
		border: 2px solid var(--mha-color-surface);
		border-radius: 999px;
		font-size: 11px;
		font-weight: 700;
		line-height: 1;
	}

	.mha-header__avatar img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.mha-header__theme-toggle {
		position: relative;
	}

	.mha-header__theme-icon--moon {
		display: none;
	}

	html[data-theme="light"] .mha-header__theme-toggle .mha-header__theme-icon--sun {
		display: none;
	}

	html[data-theme="light"] .mha-header__theme-toggle .mha-header__theme-icon--moon {
		display: inline-flex;
	}

	.mha-header__search {
		justify-self: center;
		width: 100%;
		max-width: 420px;
	}

	.mha-search {
		position: relative;
	}

	.mha-search__icon {
		position: absolute !important;
		top: 50% !important;
		left: 14px !important;
		width: 16px !important;
		height: 16px !important;
		transform: translateY(-50%) !important;
		color: var(--mha-color-text-muted);
		pointer-events: none;
	}

	.mha-search__input {
		width: 100% !important;
		height: 42px !important;
		padding: 0 14px 0 42px !important;
		background: var(--mha-field-bg) !important;
		color: var(--mha-field-text) !important;
		border: 1px solid var(--mha-field-border) !important;
		border-radius: var(--mha-radius-lg) !important;
		font-size: var(--mha-type-small);
		box-sizing: border-box !important;
	}

	.mha-search__input::placeholder {
		color: var(--mha-field-placeholder);
	}

	.mha-search__input:focus-visible {
		outline: none;
		border-color: var(--mha-field-border-focus);
		box-shadow: var(--mha-field-shadow-focus);
	}

	.mha-search__results {
		position: absolute;
		z-index: 20;
		top: calc(100% + 8px);
		left: 0;
		right: 0;
		max-height: 340px;
		overflow-y: auto;
		background: var(--mha-color-surface);
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
		box-shadow: var(--mha-shadow-md);
	}

	.mha-search__item {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 10px 14px;
		color: var(--mha-color-text);
		text-decoration: none;
		border-bottom: 1px solid var(--mha-color-border);
	}

	.mha-search__item:last-child {
		border-bottom: none;
	}

	.mha-search__item:hover,
	.mha-search__item:focus-visible {
		background: var(--mha-color-hover-tint);
		color: var(--mha-color-accent);
	}

	.mha-search__thumb {
		flex: 0 0 auto;
		width: 32px;
		height: 32px;
		border-radius: 4px;
		object-fit: cover;
		background: var(--mha-color-hover-tint);
	}

	.mha-search__item-title {
		font-size: var(--mha-type-small);
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.mha-search__empty {
		margin: 0;
		padding: 12px 14px;
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-small);
	}

	.mha-header__actions {
		display: flex;
		align-items: center;
		gap: 12px;
		justify-self: end;
	}

	@media (max-width: 767px) {
		.mha-header__inner {
			display: flex;
			align-items: center;
			justify-content: space-between;
			min-height: 72px;
			padding-block: 10px;
		}

		/* Antes .mha-header__brand quedaba display:block y el logo se
		   centraba con position:absolute respecto al ancho TOTAL del
		   header. Como del lado izquierdo solo hay un botón (hamburguesa,
		   40px) y del lado derecho hay tres (carrito, tema, avatar,
		   ~136px), el centro real del header no coincide con el centro
		   del hueco disponible entre ambos grupos — el logo, centrado a
		   ciegas, terminaba montado sobre los iconos de la derecha.
		   display:contents saca a .mha-header__brand de la caja (sigue
		   existiendo en el DOM/CSS, solo no genera su propia caja) para
		   que hamburguesa y logo se vuelvan hijos flex directos de
		   .mha-header__inner junto con .mha-header__actions, y así
		   logo se reparte el espacio real disponible en vez de superponerse. */
		.mha-header__brand {
			display: contents;
		}

		.mha-header__brand > .mha-header__toggle {
			order: 1;
			flex: 0 0 auto;
		}

		.mha-header__logo {
			order: 2;
			display: flex;
			justify-content: center;
			flex: 1 1 auto;
			min-width: 0;
		}

		.mha-header__logo img {
			width: auto;
			max-width: 126px;
			max-height: 52px;
		}

		.mha-header__actions {
			order: 3;
			flex: 0 0 auto;
			gap: 8px;
		}

		.mha-header__search {
			display: none;
		}
	}

	/* ---- Menú lateral (repaso visual) ---- */

	.mha-sidebar-backdrop {
		position: fixed;
		inset: 0;
		z-index: 90;
		background: var(--mha-overlay-bg);
		opacity: 0;
		transition: opacity var(--mha-transition-base);
	}

	.mha-sidebar-backdrop.is-open {
		opacity: 1;
	}

	.mha-sidebar {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 91;
		width: 300px;
		max-width: 85vw;
		display: flex;
		flex-direction: column;
		background: var(--mha-color-surface);
		border-right: 1px solid var(--mha-color-border);
		box-shadow: var(--mha-shadow-md);
		transform: translateX(-100%);
		transition: transform var(--mha-transition-base);
		overflow-y: auto;
	}

	.mha-sidebar.is-open {
		transform: translateX(0);
	}

	.mha-sidebar__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 18px 20px;
		border-bottom: 1px solid var(--mha-color-border);
	}

	.mha-sidebar__logo {
		max-width: 120px;
		height: auto;
	}

	.mha-sidebar__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		padding: 0;
		color: var(--mha-color-text-muted);
		background: transparent;
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
		cursor: pointer;
	}

	.mha-sidebar__close:hover,
	.mha-sidebar__close:focus-visible {
		color: var(--mha-color-accent);
		border-color: var(--mha-color-accent);
		outline: none;
	}

	.mha-sidebar__menu {
		list-style: none;
		margin: 0;
		padding: 12px;
	}

	.mha-sidebar__menu li {
		margin: 0;
	}

	.mha-sidebar__menu a {
		display: block;
		padding: 12px 14px;
		color: var(--mha-color-text);
		text-decoration: none;
		border-radius: var(--mha-radius-lg);
		font-weight: 600;
		font-size: var(--mha-type-body);
	}

	.mha-sidebar__menu a:hover,
	.mha-sidebar__menu a:focus-visible {
		background: var(--mha-color-hover-tint);
		color: var(--mha-color-accent);
		outline: none;
	}

	/* ---- Sign up: checklist de contraseña (fase 4) ----
	   No tenía estilo propio antes (el widget de Elementor que la mostraba
	   nunca llegó a tener CSS generado); se agrega uno mínimo para que el
	   check en vivo realmente se note. */

	.password-rules {
		display: grid;
		gap: 4px;
		margin: -4px 0 4px;
		font-size: 0.8125rem;
		color: var(--mha-color-text-muted);
	}

	.password-rules [data-rule].valid {
		color: #3eb059;
	}

	.mha-auth__message {
		margin-bottom: 16px;
		padding: 10px 14px;
		background: var(--mha-notice-error-bg);
		border: 1px solid var(--mha-notice-error-border);
		border-radius: 6px;
		color: var(--mha-notice-error-text);
		font-size: 0.875rem;
	}

	/* ---- Páginas de autenticación (login, sign-up, reset/change password) ----
	   Reconstruidas desde cero, sin ninguna clase ni CSS generado por
	   Elementor. Pantalla propia, sin header/footer del sitio. */

	body.mha-auth-page {
		background-color: #2a2a2a;
		background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.55)), url("/wp-content/uploads/2026/04/0A2Vydy0G9LcnRwGOWn0VaxRWg-scaled.avif");
		background-position: bottom center;
		background-repeat: no-repeat;
		background-size: cover;
		min-height: 100vh;
	}

	body.mha-auth-page .mha-header,
	body.mha-auth-page .mha-footer {
		display: none;
	}

	.mha-auth {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 48px;
		min-height: 100vh;
		padding: 48px 0;
	}

	.mha-auth__intro {
		flex: 1 1 380px;
	}

	.mha-auth__intro img {
		max-width: 200px;
		margin-bottom: 24px;
	}

	.mha-auth__intro h1 {
		margin: 0 0 12px;
		color: var(--mha-color-text);
		font-size: var(--mha-type-h2);
		font-weight: var(--mha-weight-heading);
		line-height: var(--mha-line-heading);
	}

	.mha-auth__intro p {
		margin: 0;
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-body);
	}

	.mha-auth__panel {
		flex: 1 1 380px;
		max-width: 420px;
		padding: 28px;
		background: var(--mha-color-surface);
		border-radius: var(--mha-radius-lg);
		box-shadow: var(--mha-shadow-md);
	}

	.mha-auth__panel h2 {
		margin: 0 0 6px;
		color: var(--mha-color-text);
		font-size: var(--mha-type-h3);
	}

	.mha-auth__panel > p {
		margin: 0 0 20px;
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-small);
	}

	.mha-auth__field {
		margin-bottom: 15px;
	}

	.mha-auth__field label {
		display: block;
		margin-bottom: 8px;
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-small);
		font-weight: 600;
	}

	.mha-auth__field input[type="text"],
	.mha-auth__field input[type="email"],
	.mha-auth__field input[type="password"],
	.mha-auth__field textarea {
		width: 100%;
		height: 44px;
		padding: 0 14px;
		background-color: var(--mha-field-bg);
		color: var(--mha-field-text);
		border: 1px solid var(--mha-field-border);
		border-radius: var(--mha-field-radius);
		box-sizing: border-box;
		font-size: var(--mha-type-small);
		font-family: inherit;
	}

	.mha-auth__field textarea {
		height: auto;
		padding: 12px 14px;
		resize: vertical;
	}

	.mha-auth__field input:focus-visible,
	.mha-auth__field textarea:focus-visible {
		outline: none;
		border-color: var(--mha-field-border-focus);
		box-shadow: var(--mha-field-shadow-focus);
	}

	.mha-auth__checkbox {
		display: flex;
		align-items: center;
		gap: 8px;
		margin-bottom: 15px;
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-small);
	}

	.mha-auth__submit {
		width: 100%;
		height: 48px;
		background-color: var(--mha-color-accent);
		color: var(--mha-color-on-accent) !important;
		border: none;
		border-radius: var(--mha-radius-lg);
		font-size: var(--mha-type-small);
		font-weight: 700;
		cursor: pointer;
	}

	.mha-auth__submit:hover,
	.mha-auth__submit:focus-visible {
		background-color: var(--mha-color-accent-hover);
	}

	.mha-auth__submit.is-disabled {
		opacity: 0.55;
		cursor: not-allowed;
	}

	.mha-auth__links {
		display: flex;
		justify-content: space-between;
		gap: 16px;
		margin-top: 18px;
		font-size: var(--mha-type-small);
	}

	.mha-auth__links a {
		color: var(--mha-color-text);
		font-weight: 600;
	}

	.mha-auth__links a:hover {
		color: var(--mha-color-accent);
	}

	@media (max-width: 1024px) {
		.mha-auth {
			flex-direction: column;
			text-align: center;
		}

		.mha-auth__panel {
			width: 100%;
		}
	}

	/* ---- Espaciado base de contenido (repaso visual) ----
	   No existía ninguna regla general de espaciado vertical entre el
	   header y el contenido, ni entre bloques dentro de .page-content —
	   por eso varias secciones quedaban pegadas unas con otras. */

	.site-main > .page-content,
	#primary.content-area {
		padding: 40px 0 64px;
	}

	#primary.content-area {
		max-width: 1536px !important;
		width: 90% !important;
		margin-inline: auto !important;
	}

	.site-main > .page-content > * + * {
		margin-top: 32px;
	}

	/* ---- Breadcrumbs (repaso visual) ---- */

	.mha-breadcrumbs {
		margin-bottom: 8px;
	}

	.woocommerce-breadcrumb,
	.mha-breadcrumbs__list {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 6px;
		list-style: none;
		margin: 0;
		padding: 0;
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-small);
	}

	.mha-breadcrumbs__item {
		display: inline-flex;
		align-items: center;
		gap: 6px;
	}

	.woocommerce-breadcrumb a,
	.mha-breadcrumbs a {
		color: var(--mha-color-text-muted);
		text-decoration: none;
	}

	.woocommerce-breadcrumb a:hover,
	.mha-breadcrumbs a:hover {
		color: var(--mha-color-accent);
	}

	.mha-breadcrumbs__sep {
		color: var(--mha-color-text-muted);
		opacity: 0.5;
	}

	/* ---- Dashboard (fase 6) ---- */

	.mha-dashboard__title {
		margin: 0 0 32px;
		color: var(--mha-color-text);
	}

	/* ---- Banner de encabezado de página (Mis Cursos, Contactanos — fase 6) ---- */

	.mha-page-banner {
		padding: 25px 0;
	}

	.mha-page-banner__title {
		margin: 0;
		color: var(--mha-color-text);
	}

	/* ---- Carrito ---- */

	body.woocommerce-cart main.site-main {
		width: 100%;
		max-width: none;
		padding-inline: 0;
	}

	body.woocommerce-cart .site-main > .page-content {
		padding-block: 48px 72px;
	}

	body.woocommerce-cart .page-content > .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
		align-items: start;
		gap: 32px;
	}

	body.woocommerce-cart .woocommerce-notices-wrapper,
	body.woocommerce-cart .woocommerce-error,
	body.woocommerce-cart .woocommerce-message,
	body.woocommerce-cart .woocommerce-info {
		grid-column: 1 / -1;
	}

	body.woocommerce-cart .woocommerce-message,
	body.woocommerce-cart .woocommerce-info,
	body.woocommerce-cart .woocommerce-error {
		margin: 0 !important;
		padding: 18px 20px 18px 52px !important;
		background: var(--mha-color-surface) !important;
		color: var(--mha-color-text) !important;
		border: 1px solid var(--mha-color-border) !important;
		border-top: 3px solid var(--mha-color-accent) !important;
		border-radius: var(--mha-radius-lg);
	}

	body.woocommerce-cart .woocommerce-message::before,
	body.woocommerce-cart .woocommerce-info::before {
		color: var(--mha-color-accent) !important;
		top: 18px;
	}

	body.woocommerce-cart .woocommerce-message .button,
	body.woocommerce-cart .woocommerce-info .button {
		margin-left: 16px;
	}

	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .cart-collaterals,
	body.woocommerce-cart .cart_totals {
		width: 100% !important;
		float: none !important;
	}

	body.woocommerce-cart table.shop_table {
		width: 100%;
		margin: 0 !important;
		background: var(--mha-color-surface) !important;
		color: var(--mha-color-text) !important;
		border: 1px solid var(--mha-color-border) !important;
		border-collapse: separate;
		border-spacing: 0;
		border-radius: var(--mha-radius-lg) !important;
		overflow: hidden;
	}

	body.woocommerce-cart table.shop_table th,
	body.woocommerce-cart table.shop_table td {
		padding: 16px !important;
		color: var(--mha-color-text) !important;
		background: transparent !important;
		border: 0 !important;
		border-bottom: 1px solid var(--mha-color-border) !important;
		vertical-align: middle;
	}

	body.woocommerce-cart table.shop_table thead th {
		color: var(--mha-color-text-muted) !important;
		font-size: var(--mha-type-small);
		font-weight: 600;
	}

	body.woocommerce-cart table.shop_table tr:last-child > * {
		border-bottom: 0 !important;
	}

	body.woocommerce-cart td.product-thumbnail {
		width: 88px;
	}

	body.woocommerce-cart td.product-thumbnail img {
		display: block;
		width: 72px !important;
		height: 72px !important;
		object-fit: cover;
		border-radius: var(--mha-radius-lg);
	}

	body.woocommerce-cart td.product-name a {
		color: var(--mha-color-text);
		font-weight: 600;
		text-decoration: none;
	}

	body.woocommerce-cart td.product-name a:hover {
		color: var(--mha-color-accent);
	}

	body.woocommerce-cart a.remove {
		display: grid !important;
		place-items: center;
		width: 28px;
		height: 28px;
		color: var(--mha-color-text-muted) !important;
		background: transparent !important;
		border: 1px solid var(--mha-color-border);
		border-radius: 50%;
		text-decoration: none;
	}

	body.woocommerce-cart a.remove:hover {
		color: var(--mha-color-on-accent) !important;
		background: var(--mha-color-accent) !important;
		border-color: var(--mha-color-accent);
	}

	body.woocommerce-cart td.actions {
		padding: 16px !important;
	}

	body.woocommerce-cart td.actions .coupon {
		display: flex;
		gap: 10px;
	}

	body.woocommerce-cart #coupon_code {
		width: 180px !important;
		height: 42px;
	}

	body.woocommerce-cart .button,
	body.woocommerce-cart .checkout-button {
		min-height: 42px;
		padding: 11px 18px !important;
		background: var(--mha-color-accent) !important;
		color: var(--mha-color-on-accent) !important;
		border: 1px solid var(--mha-color-accent) !important;
		border-radius: var(--mha-radius-lg) !important;
		text-decoration: none !important;
		font-weight: 600 !important;
	}

	body.woocommerce-cart .button:hover,
	body.woocommerce-cart .button:focus-visible,
	body.woocommerce-cart .checkout-button:hover,
	body.woocommerce-cart .checkout-button:focus-visible {
		background: var(--mha-color-accent-hover) !important;
		border-color: var(--mha-color-accent-hover) !important;
	}

	body.woocommerce-cart .cart_totals {
		padding: 24px;
		background: var(--mha-color-surface);
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
		box-shadow: var(--mha-shadow-sm);
	}

	body.woocommerce-cart .cart_totals h2 {
		margin: 0 0 20px;
		font-size: var(--mha-type-h4) !important;
		color: var(--mha-color-text);
	}

	body.woocommerce-cart .cart_totals table.shop_table {
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
	}

	body.woocommerce-cart .cart_totals table.shop_table th,
	body.woocommerce-cart .cart_totals table.shop_table td {
		padding-inline: 0 !important;
	}

	body.woocommerce-cart .cart_totals table.shop_table td {
		text-align: right;
	}

	body.woocommerce-cart .order-total .amount {
		color: var(--mha-color-accent);
		font-size: var(--mha-type-h5);
	}

	body.woocommerce-cart .wc-proceed-to-checkout {
		padding: 20px 0 0;
	}

	body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
		display: block;
		width: 100%;
		margin: 0;
		text-align: center;
		box-sizing: border-box;
	}

	body.woocommerce-cart .cart-empty,
	body.woocommerce-cart .return-to-shop {
		grid-column: 1 / -1;
		text-align: center;
	}

	body.woocommerce-cart .cart-empty {
		margin: 0;
		padding: 40px 24px;
		background: var(--mha-color-surface);
		color: var(--mha-color-text-muted);
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
	}

	body.woocommerce-cart .return-to-shop {
		margin: -12px 0 0;
	}

	@media (max-width: 991px) {
		body.woocommerce-cart .page-content > .woocommerce {
			grid-template-columns: 1fr;
		}
	}

	@media (max-width: 767px) {
		body.woocommerce-cart .site-main > .page-content {
			padding-block: 32px 56px;
		}

		body.woocommerce-cart td.actions .coupon {
			display: grid !important;
			grid-template-columns: minmax(0, 1fr);
			float: none !important;
			margin-bottom: 12px;
		}

		body.woocommerce-cart #coupon_code {
			width: 100% !important;
			min-width: 0;
			box-sizing: border-box;
		}

		body.woocommerce-cart td.actions .coupon .button,
		body.woocommerce-cart td.actions > .button {
			float: none !important;
			width: 100% !important;
			margin: 0 0 10px !important;
		}

		body.woocommerce-cart table.shop_table_responsive tr {
			display: block;
		}

		body.woocommerce-cart .woocommerce-cart-form,
		body.woocommerce-cart table.shop_table_responsive,
		body.woocommerce-cart table.shop_table_responsive tbody {
			display: block;
			width: 100% !important;
			min-width: 0 !important;
			max-width: 100% !important;
			box-sizing: border-box;
			overflow: hidden;
			table-layout: fixed;
		}

		body.woocommerce-cart table.shop_table_responsive tr.cart_item td {
			display: flex !important;
			align-items: center;
			justify-content: space-between;
			gap: 16px;
			width: 100% !important;
			box-sizing: border-box;
			text-align: right !important;
		}

		body.woocommerce-cart table.shop_table_responsive tr.cart_item td > * {
			min-width: 0;
			max-width: 65%;
			white-space: normal !important;
			overflow-wrap: anywhere;
		}

		body.woocommerce-cart table.shop_table_responsive tr.cart_item td::before {
			float: none !important;
			text-align: left;
		}

		body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove {
			display: block !important;
			text-align: left !important;
		}

		body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail {
			justify-content: center;
		}

		body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail::before {
			display: none;
		}

		body.woocommerce-cart .woocommerce-message,
		body.woocommerce-cart .woocommerce-info,
		body.woocommerce-cart .woocommerce-error {
			padding: 18px !important;
			overflow: hidden;
		}

		body.woocommerce-cart .woocommerce-message::before,
		body.woocommerce-cart .woocommerce-info::before {
			display: none;
		}

		body.woocommerce-cart .woocommerce-message .button,
		body.woocommerce-cart .woocommerce-info .button {
			float: none !important;
			display: block;
			width: 100%;
			margin: 14px 0 0;
			box-sizing: border-box;
			text-align: center;
		}

		body.woocommerce-cart .cart_totals {
			padding: 20px;
		}
	}

	/* ---- Curso individual LearnDash ---- */

	body.single-sfwd-courses main.site-main {
		width: 100%;
		max-width: none;
		padding-inline: 0;
	}

	.mha-course-hero {
		padding: 28px 0 56px;
		background:
			radial-gradient(circle at 15% 15%, rgba(235, 97, 66, 0.14), transparent 34%),
			var(--mha-color-surface);
		border-bottom: 1px solid var(--mha-color-border);
	}

	.mha-course-hero__grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
		align-items: center;
		gap: clamp(36px, 6vw, 96px);
		padding-top: 42px;
	}

	.mha-course-hero__content,
	.mha-course-hero__card,
	.mha-course-curriculum,
	.mha-course-page__community {
		min-width: 0;
		max-width: 100%;
	}

	.mha-course-hero__content h1 {
		max-width: 900px;
		margin: 10px 0 20px;
		color: var(--mha-color-text);
		overflow-wrap: anywhere;
	}

	.mha-course-hero__eyebrow,
	.mha-course-section-head__eyebrow {
		margin: 0;
		color: var(--mha-color-accent);
		font-size: var(--mha-type-small);
		font-weight: 700;
		letter-spacing: 0.09em;
		text-transform: uppercase;
	}

	.mha-course-hero__summary {
		max-width: 760px;
		margin: 0;
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-subtitle) !important;
		line-height: 1.55 !important;
	}

	.mha-course-hero__facts {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
		margin: 28px 0 0;
		padding: 0;
		list-style: none;
	}

	.mha-course-hero__facts li {
		padding: 8px 12px;
		color: var(--mha-color-text-muted);
		background: var(--mha-color-hover-tint);
		border: 1px solid var(--mha-color-border);
		border-radius: 999px;
		font-size: var(--mha-type-small);
	}

	.mha-course-hero__facts strong {
		color: var(--mha-color-text);
	}

	.mha-course-hero__actions {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
		margin-top: 20px;
	}

	.mha-course-hero__community-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 10px 18px;
		background: transparent;
		color: var(--mha-color-text) !important;
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
		font-weight: 700;
		text-decoration: none;
		transition: background var(--mha-transition-base), border-color var(--mha-transition-base), color var(--mha-transition-base), transform var(--mha-transition-base);
	}

	.mha-course-hero__community-link:hover,
	.mha-course-hero__community-link:focus-visible {
		background: rgba(235, 97, 66, 0.1);
		color: var(--mha-color-accent) !important;
		border-color: var(--mha-color-accent);
		transform: translateY(-1px);
	}

	.mha-course-hero__card {
		overflow: hidden;
		background: var(--mha-color-surface);
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
		box-shadow: var(--mha-shadow-md);
	}

	.mha-course-hero__image {
		display: block;
		width: 100%;
		aspect-ratio: 16 / 9;
		object-fit: cover;
		border-bottom: 1px solid var(--mha-color-border);
	}

	.mha-course-hero__card-body {
		padding: 24px;
	}

	.mha-course-progress__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		color: var(--mha-color-text);
		font-weight: 600;
	}

	.mha-course-progress__head strong {
		color: var(--mha-color-accent);
	}

	.mha-course-progress {
		height: 8px;
		margin-top: 14px;
		overflow: hidden;
		background: var(--mha-field-bg);
		border-radius: 999px;
	}

	.mha-course-progress span {
		display: block;
		height: 100%;
		background: var(--mha-color-accent);
		border-radius: inherit;
	}

	.mha-course-progress__copy {
		margin: 12px 0 20px;
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-small) !important;
	}

	.mha-course-hero__cta {
		display: block;
		width: 100%;
		padding: 13px 18px;
		background: var(--mha-color-accent);
		color: var(--mha-color-on-accent) !important;
		border: 1px solid var(--mha-color-accent);
		border-radius: var(--mha-radius-lg);
		font-weight: 700;
		text-align: center;
		text-decoration: none;
		box-sizing: border-box;
	}

	.mha-course-hero__cta:hover,
	.mha-course-hero__cta:focus-visible {
		background: var(--mha-color-accent-hover);
		border-color: var(--mha-color-accent-hover);
	}

	.mha-course-layout {
		display: grid;
		gap: 40px;
		padding-block: 64px 80px;
	}

	.mha-course-curriculum {
		padding: clamp(22px, 3vw, 36px);
		background: var(--mha-color-surface);
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
		box-shadow: var(--mha-shadow-sm);
	}

	.mha-course-section-head {
		display: flex;
		align-items: end;
		justify-content: space-between;
		gap: 24px;
		padding-bottom: 24px;
		border-bottom: 1px solid var(--mha-color-border);
	}

	.mha-course-section-head h2 {
		margin: 6px 0 0;
		color: var(--mha-color-text);
	}

	.mha-course-section-head > span {
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-small);
	}

	.mha-course-lessons {
		display: grid;
		gap: 24px;
		padding-top: 24px;
	}

	.mha-course-module {
		overflow: hidden;
		background: var(--mha-color-tint-weak);
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
	}

	.mha-course-module__header {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 4px 20px;
		padding: 18px 20px;
		background: var(--mha-field-bg);
		border-bottom: 1px solid var(--mha-color-border);
	}

	.mha-course-module__header > span {
		grid-column: 1 / -1;
		color: var(--mha-color-accent);
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.mha-course-module__header h3 {
		margin: 0;
		color: var(--mha-color-text);
		font-size: var(--mha-type-h5) !important;
		line-height: 1.3 !important;
	}

	.mha-course-module__header small {
		align-self: center;
		color: var(--mha-color-text-muted);
	}

	.mha-course-module__lessons {
		padding-inline: 20px;
	}

	.mha-course-lesson {
		display: grid;
		grid-template-columns: 48px minmax(0, 1fr) auto;
		align-items: start;
		gap: 18px;
		padding: 20px 0;
		border-bottom: 1px solid var(--mha-color-border);
	}

	.mha-course-lesson:last-child {
		border-bottom: 0;
		padding-bottom: 0;
	}

	.mha-course-lesson__number {
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		color: var(--mha-color-text-muted);
		background: var(--mha-field-bg);
		border: 1px solid var(--mha-color-border);
		border-radius: 50%;
		font-size: var(--mha-type-small);
		font-weight: 700;
	}

	.mha-course-lesson.is-complete .mha-course-lesson__number {
		color: var(--mha-color-on-accent) !important;
		background: var(--mha-color-accent);
		border-color: var(--mha-color-accent);
	}

	.mha-course-lesson__content h3 {
		margin: 0 0 4px;
		font-size: var(--mha-type-h5) !important;
		line-height: 1.3 !important;
	}

	.mha-course-lesson__content h3 a {
		color: var(--mha-color-text);
		text-decoration: none;
	}

	.mha-course-lesson__content h3 a:hover {
		color: var(--mha-color-accent);
	}

	.mha-course-lesson__content > span,
	.mha-course-lesson__state {
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-small);
	}

	.mha-course-topics {
		display: grid;
		gap: 8px;
		margin: 14px 0 0;
		padding: 0;
		list-style: none;
	}

	.mha-course-topics li {
		display: flex;
		align-items: center;
		gap: 9px;
		min-width: 0;
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-small);
	}

	.mha-course-topics a {
		min-width: 0;
		color: var(--mha-color-text-muted);
		text-decoration: none;
	}

	.mha-course-topics a:hover {
		color: var(--mha-color-accent);
	}

	.mha-course-topics__dot {
		width: 7px;
		height: 7px;
		flex: 0 0 auto;
		background: transparent;
		border: 1px solid var(--mha-color-text-muted);
		border-radius: 50%;
	}

	.mha-course-topics li.is-complete .mha-course-topics__dot {
		background: var(--mha-color-accent);
		border-color: var(--mha-color-accent);
	}

	.mha-course-lesson__state {
		padding: 7px 10px;
		background: var(--mha-color-hover-tint);
		border: 1px solid var(--mha-color-border);
		border-radius: 999px;
	}

	a.mha-course-lesson__state {
		color: var(--mha-color-text-muted) !important;
		text-decoration: none !important;
	}

	a.mha-course-lesson__state:hover,
	a.mha-course-lesson__state:focus-visible {
		color: var(--mha-color-accent) !important;
		border-color: var(--mha-color-accent) !important;
		text-decoration: none !important;
	}

	.mha-course-empty {
		padding: 32px 0 4px;
		color: var(--mha-color-text-muted);
		text-align: center;
	}

	.mha-course-page__content {
		display: grid;
		gap: 32px;
		padding-block: 48px 72px;
	}

	.mha-course-page__learning {
		min-width: 0;
		padding: clamp(20px, 3vw, 36px);
		background: var(--mha-color-surface);
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
		box-shadow: var(--mha-shadow-sm);
	}

	.mha-course-page__learning > :first-child,
	.mha-course-page__community > :first-child {
		margin-top: 0;
	}

	.mha-course-page__learning > :last-child,
	.mha-course-page__community > :last-child {
		margin-bottom: 0;
	}

	.mha-course-page__learning .alignfull,
	.mha-course-page__learning .alignwide,
	.mha-course-page__learning img,
	.mha-course-page__learning video,
	.mha-course-page__learning iframe {
		width: 100%;
		max-width: 100%;
		margin-inline: 0;
		box-sizing: border-box;
	}

	.mha-course-page__community {
		min-width: 0;
		scroll-margin-top: 110px;
	}

	/* El foro conserva su lógica y componentes, pero hereda el sistema visual
	   global del sitio en todas sus superficies públicas. */
	body.mha-forum-page,
	.mha-community-page,
	.mha-course-page__community {
		--mha-forum-bg: transparent;
		--mha-forum-surface: var(--mha-color-surface);
		--mha-forum-surface-alt: var(--mha-field-bg);
		--mha-forum-surface-raised: var(--mha-color-surface);
		--mha-forum-border: var(--mha-color-border);
		--mha-forum-border-strong: var(--mha-field-border-hover);
		--mha-forum-text: var(--mha-color-text);
		--mha-forum-muted: var(--mha-color-text-muted);
		--mha-forum-accent: var(--mha-color-accent);
		--mha-forum-accent-soft: var(--mha-color-focus-ring);
		--mha-forum-focus-ring: var(--mha-color-focus-ring);
		--mha-forum-focus-border: var(--mha-color-accent);
		--mha-forum-radius: var(--mha-radius-lg);
		--mha-forum-layout-max-width: 100%;
		--mha-community-max-width: 1536px;
		--mha-site-font-family: var(--mha-font-family-primary);
		--mha-site-type-xs: var(--mha-type-small);
		--mha-site-type-sm: var(--mha-type-small);
		--mha-site-type-md: var(--mha-type-body);
		--mha-site-type-lg: var(--mha-type-h5);
		--mha-site-type-xl: var(--mha-type-h4);
		--mha-site-type-2xl: var(--mha-type-h2);
	}

	body.mha-forum-page,
	body.mha-forum-page--community,
	body.mha-forum-page--discussion,
	.mha-community-page {
		background-image: none !important;
		background-color: var(--mha-color-surface) !important;
	}

	.mha-community-page.mha-forum-view--community,
	.mha-community-page.mha-forum-view--discussion {
		--mha-ui-primary: var(--mha-color-accent);
		--mha-ui-primary-hover: var(--mha-color-accent-hover);
		--mha-ui-accent: var(--mha-color-accent);
		--mha-ui-surface: var(--mha-color-surface);
		--mha-ui-surface-soft: var(--mha-color-surface);
		--mha-ui-surface-alt: var(--mha-field-bg);
		--mha-ui-border: var(--mha-color-border);
		--mha-ui-border-strong: var(--mha-field-border-hover);
		--mha-ui-text: var(--mha-color-text);
		--mha-ui-text-soft: var(--mha-color-text-muted);
		--mha-ui-text-muted: var(--mha-color-text-muted);
		--mha-ui-font: var(--mha-font-family-primary);
		--mha-final-primary: var(--mha-color-accent);
		--mha-final-primary-hover: var(--mha-color-accent-hover);
		--mha-final-accent: var(--mha-color-accent);
		--mha-final-surface: var(--mha-color-surface);
		--mha-final-surface-soft: var(--mha-color-surface);
		--mha-final-surface-alt: var(--mha-field-bg);
		--mha-final-border: var(--mha-color-border);
		--mha-final-border-strong: var(--mha-field-border-hover);
		--mha-final-text: var(--mha-color-text);
		--mha-final-text-soft: var(--mha-color-text-muted);
		--mha-final-text-muted: var(--mha-color-text-muted);
	}

	.mha-forum-view--community .mha-forum__composer-intro p:last-child {
		color: var(--mha-color-text-muted) !important;
	}

	.mha-community-page__inner.contenedor_principal {
		width: 90% !important;
		max-width: 1536px !important;
		padding-inline: 0;
	}

	.mha-community-page .mha-forum__community-badge {
		background: color-mix(in srgb, var(--mha-color-accent) 12%, transparent);
		border-color: color-mix(in srgb, var(--mha-color-accent) 24%, transparent);
		color: var(--mha-color-accent);
	}

	.mha-forum__restricted {
		display: grid;
		justify-items: center;
		max-width: 680px;
		margin-inline: auto;
		padding: clamp(32px, 5vw, 64px);
		background: var(--mha-color-surface);
		color: var(--mha-color-text);
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
		box-shadow: var(--mha-shadow-md);
		text-align: center;
	}

	.mha-forum__restricted-icon {
		display: grid;
		place-items: center;
		width: 64px;
		height: 64px;
		margin-bottom: 20px;
		background: var(--mha-color-focus-ring);
		color: var(--mha-color-accent);
		border: 1px solid rgba(235, 97, 66, 0.4);
		border-radius: 50%;
	}

	.mha-forum__restricted h1 {
		margin: 8px 0 14px;
		color: var(--mha-color-text);
		font-size: var(--mha-type-h2) !important;
	}

	.mha-forum__restricted > p:not(.mha-forum__eyebrow) {
		max-width: 520px;
		margin: 0 0 24px;
		color: var(--mha-color-text-muted);
	}

	.mha-forum__restricted .mha-forum__button {
		min-width: 200px;
		background: var(--mha-color-accent);
		color: var(--mha-color-on-accent) !important;
		border-color: var(--mha-color-accent);
		text-align: center;
	}

	body .mha-forum-view--community :is(
		.mha-forum__community-header,
		.mha-forum__feed-header,
		.mha-forum__search,
		.mha-forum__filters,
		.mha-forum__card--discussion,
		.mha-forum__rail-card,
		.mha-forum__empty,
		.mha-forum__form,
		.mha-forum__notice
	),
	body .mha-forum-view--discussion :is(
		.mha-forum__discussion-header,
		.mha-forum__single-content,
		.mha-forum__comment-shell,
		.mha-forum__comment-composer,
		.mha-forum__rail-card,
		.mha-forum__comments-head,
		.mha-forum__moderation-bar,
		.mha-forum__notice
	) {
		border-color: var(--mha-color-border) !important;
		border-radius: var(--mha-radius-lg) !important;
	}

	/* Normalización final LMS/comunidad: una sola línea visual para todas las
	   superficies, controles y separaciones, incluso frente a reglas tardías
	   de LearnDash y del plugin de comunidad. */
	.mha-course-hero {
		padding-block: 28px 48px;
		background: var(--mha-color-surface);
	}

	.mha-course-hero__grid {
		gap: clamp(32px, 5vw, 72px);
		padding-top: 36px;
	}

	.mha-course-hero__card,
	.mha-course-curriculum,
	.mha-course-module,
	.mha-course-page__learning,
	.mha-course-page__community :is(.mha-forum__card, .mha-forum__form, .mha-forum__notice),
	.mha-course-community-gate {
		background: var(--mha-color-surface) !important;
		border: 1px solid var(--mha-color-border) !important;
		border-radius: var(--mha-radius-lg) !important;
		box-shadow: none !important;
	}

	.mha-course-layout {
		gap: 20px;
		padding-block: 48px 64px;
	}

	.mha-course-curriculum {
		padding: clamp(20px, 2.25vw, 32px);
	}

	.mha-course-lessons {
		gap: 16px;
		padding-top: 20px;
	}

	.mha-course-module__header,
	.mha-course-lesson__number,
	.mha-course-lesson__state {
		background: var(--mha-color-surface) !important;
	}

	.mha-course-module__header {
		padding: 16px 20px;
	}

	.mha-course-lesson {
		gap: 16px;
		padding: 18px 0;
	}

	.mha-course-community-gate {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 32px;
		padding: clamp(20px, 2.25vw, 32px);
	}

	.mha-course-community-gate__copy h2 {
		margin: 6px 0 8px;
		color: var(--mha-color-text);
		font-size: var(--mha-type-h3) !important;
	}

	.mha-course-community-gate__copy > p:last-child {
		margin: 0;
		color: var(--mha-color-text-muted);
	}

	.mha-course-community-gate .mha-forum__button {
		flex: 0 0 auto;
		min-width: 180px;
		padding: 12px 18px !important;
		background: var(--mha-color-accent) !important;
		color: var(--mha-color-on-accent) !important;
		border: 1px solid var(--mha-color-accent) !important;
		border-radius: var(--mha-radius-lg) !important;
		text-align: center;
	}

	body .mha-community-page :is(
		.mha-forum__community-header,
		.mha-forum__discussion-header,
		.mha-forum__feed-header,
		.mha-forum__search,
		.mha-forum__filters,
		.mha-forum__card,
		.mha-forum__rail-card,
		.mha-forum__single-content,
		.mha-forum__comment-shell,
		.mha-forum__comment-composer,
		.mha-forum__form,
		.mha-forum__notice,
		.mha-forum__empty
	) {
		background: var(--mha-color-surface) !important;
		border-color: var(--mha-color-border) !important;
		border-radius: var(--mha-radius-lg) !important;
		box-shadow: none !important;
	}

	body .mha-community-page :is(input, textarea, select) {
		background: var(--mha-field-bg) !important;
		color: var(--mha-field-text) !important;
		border-color: var(--mha-field-border) !important;
		border-radius: var(--mha-field-radius) !important;
		box-shadow: none !important;
	}

	body .mha-community-page :is(input, textarea, select):focus-visible {
		border-color: var(--mha-field-border-focus) !important;
		box-shadow: var(--mha-field-shadow-focus) !important;
	}

	body .mha-community-page :is(.mha-forum__community-badge, .mha-forum__text-link, .mha-forum__stat-link, .mha-forum__text-button) {
		color: var(--mha-color-accent) !important;
	}

	body .mha-community-page .mha-forum__community-badge {
		background: rgba(235, 97, 66, 0.12) !important;
		border-color: rgba(235, 97, 66, 0.24) !important;
	}

	/* Ritmo vertical de comunidad. El plugin comprime estos grupos a 12–16px;
	   aquí se recupera aire sin ensanchar el contenedor global. */
	body .mha-community-page :is(.mha-forum-shell--community, .mha-forum-shell--discussion) {
		gap: 24px !important;
	}

	body .mha-community-page :is(.mha-forum__product-layout, .mha-forum__single-layout) {
		gap: 28px !important;
	}

	body .mha-community-page :is(
		.mha-forum__community-main,
		.mha-forum__discussion-stream,
		.mha-forum__single-main,
		.mha-forum__comments
	) {
		gap: 24px !important;
	}

	body .mha-community-page .mha-forum__rail {
		gap: 20px !important;
	}

	body .mha-community-page :is(
		.mha-forum__feed-header,
		.mha-forum__card--discussion,
		.mha-forum__rail-card,
		.mha-forum__discussion-header,
		.mha-forum__single-content,
		.mha-forum__comment-shell,
		.mha-forum__comment-composer,
		.mha-forum__comments-head,
		.mha-forum__form,
		.mha-forum__notice,
		.mha-forum__empty
	) {
		padding: 20px !important;
	}

	body .mha-community-page .mha-forum__community-header {
		padding: 20px 24px 24px !important;
	}

	body .mha-community-page .mha-forum__community-actions {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 12px;
		flex-wrap: wrap;
	}

	body .mha-community-page :is(.mha-forum__rail-stat, .mha-forum__composer-note, .mha-forum__comment-restore) {
		background: var(--mha-color-surface) !important;
		border-color: var(--mha-color-border) !important;
		border-radius: var(--mha-radius-lg) !important;
	}

	/* La vista embebida del curso también define una paleta azul propia. */
	.mha-course-page__community .mha-forum-view--course {
		--mha-final-primary: var(--mha-color-accent);
		--mha-final-primary-hover: var(--mha-color-accent-hover);
		--mha-final-accent: var(--mha-color-accent);
		--mha-final-surface: var(--mha-color-surface);
		--mha-final-surface-soft: var(--mha-color-surface);
		--mha-final-surface-alt: var(--mha-field-bg);
		--mha-final-border: var(--mha-color-border);
		--mha-final-border-strong: var(--mha-field-border-hover);
		--mha-final-text: var(--mha-color-text);
		--mha-final-text-soft: var(--mha-color-text-muted);
		--mha-final-text-muted: var(--mha-color-text-muted);
	}

	.mha-course-page__community .mha-forum-view--course :is(
		.mha-forum__community-header--course,
		.mha-forum__composer-intro,
		.mha-forum__form,
		.mha-forum__feed-shell,
		textarea,
		select,
		input
	) {
		background: var(--mha-color-surface) !important;
		border-color: var(--mha-color-border) !important;
		border-radius: var(--mha-radius-lg) !important;
		box-shadow: none !important;
	}

	.mha-course-page__community .mha-forum-view--course :is(textarea, select, input):focus-visible {
		border-color: var(--mha-field-border-focus) !important;
		box-shadow: var(--mha-field-shadow-focus) !important;
	}

	/* Paleta y estados interactivos definitivos del foro. El CSS de origen
	   contiene colores claros/azules escritos directamente en componentes. */
	body :is(.mha-community-page, .mha-course-page__community) :is(
		.mha-forum__card-title,
		.mha-forum__card-title a,
		.mha-forum__discussion-title,
		.mha-forum__community-copy h2,
		.mha-forum__identity-copy strong,
		.mha-forum__comment-author-meta strong,
		.mha-forum__rail-card h3,
		.mha-forum__rail-card strong,
		.mha-forum__comments h3
	) {
		color: var(--mha-color-text) !important;
	}

	body :is(.mha-community-page, .mha-course-page__community) :is(
		.mha-forum__card-excerpt,
		.mha-forum__comment-content,
		.mha-forum__single-content,
		.mha-forum__community-description,
		.mha-forum__identity-copy span,
		.mha-forum__comment-author-meta span,
		.mha-forum__discussion-stats span,
		.mha-forum__comments-count,
		.mha-forum__rail-card p,
		.mha-forum__community-rules
	) {
		color: var(--mha-color-text-muted) !important;
	}

	body :is(.mha-community-page, .mha-course-page__community) :is(
		.mha-forum__community-badge,
		.mha-forum__tag,
		.mha-forum__meta-flag
	) {
		background: rgba(235, 97, 66, 0.1) !important;
		color: var(--mha-color-accent) !important;
		border: 1px solid rgba(235, 97, 66, 0.3) !important;
	}

	body :is(.mha-community-page, .mha-course-page__community) :is(
		.mha-forum__community-badge,
		.mha-forum__card-title a,
		.mha-forum__text-link,
		.mha-forum__stat-link,
		.mha-forum__text-button,
		.mha-forum__single-content a,
		.mha-forum__comment-content a
	):hover {
		color: var(--mha-color-accent-hover) !important;
		text-decoration-color: currentColor;
	}

	body :is(.mha-community-page, .mha-course-page__community) :is(
		a,
		button,
		input,
		textarea,
		select
	):focus-visible {
		outline: 2px solid var(--mha-color-accent) !important;
		outline-offset: 3px;
	}

	body :is(.mha-community-page, .mha-course-page__community) .mha-forum__icon-button {
		background: var(--mha-color-accent) !important;
		color: var(--mha-color-on-accent) !important;
		border: 1px solid var(--mha-color-accent) !important;
		border-radius: var(--mha-radius-lg) !important;
		transition: background var(--mha-transition-base), border-color var(--mha-transition-base), transform var(--mha-transition-base);
	}

	body :is(.mha-community-page, .mha-course-page__community) .mha-forum__icon-button:hover,
	body :is(.mha-community-page, .mha-course-page__community) .mha-forum__icon-button[aria-expanded="true"] {
		background: var(--mha-color-accent-hover) !important;
		border-color: var(--mha-color-accent-hover) !important;
		transform: translateY(-1px);
	}

	body :is(.mha-community-page, .mha-course-page__community) .mha-forum__context-menu {
		background: var(--mha-color-surface) !important;
		color: var(--mha-color-text) !important;
		border: 1px solid var(--mha-color-border) !important;
		border-radius: var(--mha-radius-lg) !important;
		box-shadow: var(--mha-shadow-md) !important;
	}

	body :is(.mha-community-page, .mha-course-page__community) :is(.mha-forum__context-menu a, .mha-forum__context-action) {
		color: var(--mha-color-text) !important;
		border-radius: var(--mha-radius-sm) !important;
	}

	body :is(.mha-community-page, .mha-course-page__community) :is(.mha-forum__context-menu a, .mha-forum__context-action):hover {
		background: rgba(235, 97, 66, 0.1) !important;
		color: var(--mha-color-accent) !important;
	}

	body :is(.mha-community-page, .mha-course-page__community) .mha-forum__vote-button {
		width: 38px;
		height: 38px;
		background: transparent !important;
		color: var(--mha-color-text-muted) !important;
		border: 1px solid var(--mha-color-border) !important;
		border-radius: var(--mha-radius-sm) !important;
		opacity: 1 !important;
		transition: background var(--mha-transition-base), color var(--mha-transition-base), border-color var(--mha-transition-base), transform var(--mha-transition-base);
	}

	body :is(.mha-community-page, .mha-course-page__community) .mha-forum__vote-button:hover {
		background: rgba(235, 97, 66, 0.1) !important;
		color: var(--mha-color-accent) !important;
		border-color: var(--mha-color-accent) !important;
		transform: translateY(-1px);
	}

	body :is(.mha-community-page, .mha-course-page__community) .mha-forum__vote-button.is-active {
		background: var(--mha-color-accent) !important;
		color: var(--mha-color-on-accent) !important;
		border-color: var(--mha-color-accent) !important;
	}

	body :is(.mha-community-page, .mha-course-page__community) :is(.mha-forum__vote-score, .mha-forum__votes--neutral .mha-forum__vote-score) {
		color: var(--mha-color-text-muted) !important;
		opacity: 1 !important;
	}

	/* Cuadrícula respirable: votos en su columna; contenido y menú nunca se
	   pisan, tanto en feed como en discusión y comentarios. */
	body .mha-community-page .mha-forum__card--discussion {
		display: grid !important;
		grid-template-columns: 42px minmax(0, 1fr) !important;
		gap: 20px !important;
		padding: 24px !important;
	}

	body .mha-community-page .mha-forum__card-body {
		display: grid !important;
		gap: 14px !important;
		min-width: 0;
	}

	body .mha-community-page :is(.mha-forum__card-topline, .mha-forum__discussion-topline, .mha-forum__comment-meta) {
		display: flex !important;
		align-items: flex-start !important;
		justify-content: space-between !important;
		gap: 16px !important;
	}

	body .mha-community-page .mha-forum__card-footer {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 20px !important;
		padding-top: 6px;
	}

	body .mha-community-page .mha-forum__discussion-header {
		display: grid !important;
		grid-template-columns: 48px minmax(0, 1fr) !important;
		gap: 24px !important;
		padding: 24px !important;
	}

	body .mha-community-page .mha-forum__discussion-main {
		display: grid !important;
		gap: 18px !important;
		min-width: 0;
	}

	body .mha-community-page .mha-forum__comment-shell {
		display: grid !important;
		grid-template-columns: 42px minmax(0, 1fr) !important;
		gap: 20px !important;
		padding: 22px !important;
	}

	body .mha-community-page .mha-forum__comment-main {
		display: grid !important;
		gap: 14px !important;
		min-width: 0;
	}

	body .mha-community-page :is(.mha-forum__card-excerpt, .mha-forum__comment-content, .mha-forum__single-content) :is(p, ul, ol) {
		margin-block: 0 12px;
	}

	body .mha-community-page :is(.mha-forum__card-excerpt, .mha-forum__comment-content, .mha-forum__single-content) > :last-child {
		margin-bottom: 0;
	}

	body .mha-community-page :is(.mha-forum__button--ghost, .mha-forum__button--moderation) {
		background: transparent !important;
		color: var(--mha-color-text-muted) !important;
		border-color: var(--mha-color-border) !important;
	}

	body .mha-community-page :is(.mha-forum__button--ghost, .mha-forum__button--moderation):hover {
		background: rgba(235, 97, 66, 0.1) !important;
		color: var(--mha-color-accent) !important;
		border-color: var(--mha-color-accent) !important;
	}

	.mha-community-page__inner > .mha-breadcrumbs {
		margin: 0 0 20px;
	}

	.mha-community-page__inner > .mha-breadcrumbs + :is(.mha-forum-shell--community, .mha-forum-shell--discussion) {
		margin-top: 0 !important;
	}

	.mha-forum__community-publisher {
		display: grid;
		gap: 12px;
		scroll-margin-top: 110px;
	}

	.mha-forum__community-publisher-actions {
		display: flex;
		justify-content: flex-end;
	}

	.mha-forum__community-publisher .mha-forum__create--embedded {
		gap: 20px !important;
	}

	/* ---- Directorio nativo de comunidades ---- */
	body.page-template-page-comunidades main.site-main {
		width: 100%;
		max-width: none;
		padding-inline: 0;
	}

	.mha-communities-index__intro {
		max-width: 760px;
		margin: 12px 0 0;
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-subtitle) !important;
	}

	.mha-communities-index__content {
		padding-block: 48px 72px;
	}

	.mha-communities-index__heading {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		gap: 24px;
		margin-bottom: 24px;
		padding-bottom: 20px;
		border-bottom: 1px solid var(--mha-color-border);
	}

	.mha-communities-index__heading h2 {
		margin: 6px 0 0;
		color: var(--mha-color-text);
	}

	.mha-communities-index__heading > span {
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-small);
	}

	.mha-communities-index__eyebrow {
		margin: 0;
		color: var(--mha-color-accent);
		font-size: var(--mha-type-small);
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.mha-communities-grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px;
	}

	.mha-community-index-card {
		display: flex;
		min-width: 0;
		overflow: hidden;
		flex-direction: column;
		background: var(--mha-color-surface);
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
		transition: border-color var(--mha-transition-base), transform var(--mha-transition-base);
	}

	.mha-community-index-card:hover {
		border-color: var(--mha-color-accent);
		transform: translateY(-2px);
	}

	.mha-community-index-card__media {
		display: grid;
		place-items: center;
		width: 100%;
		aspect-ratio: 16 / 7;
		overflow: hidden;
		background: var(--mha-color-surface);
		color: var(--mha-color-accent) !important;
		border-bottom: 1px solid var(--mha-color-border);
		font-size: var(--mha-type-h2);
		font-weight: 800;
		text-decoration: none;
	}

	.mha-community-index-card__media img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.mha-community-index-card__body {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		padding: 22px;
	}

	.mha-community-index-card__meta {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-small);
	}

	.mha-community-index-card h3 {
		margin: 16px 0 10px;
		font-size: var(--mha-type-h4) !important;
	}

	.mha-community-index-card h3 a {
		color: var(--mha-color-text);
		text-decoration: none;
	}

	.mha-community-index-card h3 a:hover {
		color: var(--mha-color-accent);
	}

	.mha-community-index-card__body > p {
		margin: 0 0 22px;
		color: var(--mha-color-text-muted);
		line-height: 1.6;
	}

	.mha-community-index-card__actions {
		display: flex;
		align-items: center;
		gap: 10px;
		margin-top: auto;
	}

	.mha-community-index-card__primary,
	.mha-community-index-card__secondary,
	.mha-communities-index__empty > a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 10px 16px;
		border-radius: var(--mha-radius-lg);
		font-weight: 700;
		text-align: center;
		text-decoration: none;
	}

	.mha-community-index-card__primary,
	.mha-communities-index__empty > a {
		background: var(--mha-color-accent);
		color: var(--mha-color-on-accent) !important;
		border: 1px solid var(--mha-color-accent);
	}

	.mha-community-index-card__primary:hover,
	.mha-communities-index__empty > a:hover {
		background: var(--mha-color-accent-hover);
		border-color: var(--mha-color-accent-hover);
	}

	.mha-community-index-card__secondary {
		background: transparent;
		color: var(--mha-color-text) !important;
		border: 1px solid var(--mha-color-border);
	}

	.mha-community-index-card__secondary:hover {
		color: var(--mha-color-accent) !important;
		border-color: var(--mha-color-accent);
	}

	.mha-communities-index__empty {
		padding: clamp(32px, 5vw, 64px);
		background: var(--mha-color-surface);
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
		text-align: center;
	}

	.mha-communities-index__empty h2 {
		margin: 0 0 10px;
		color: var(--mha-color-text);
	}

	.mha-communities-index__empty p {
		margin: 0 0 24px;
		color: var(--mha-color-text-muted);
	}

	@media (max-width: 1100px) {
		.mha-communities-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
	}

	@media (max-width: 767px) {
		.mha-communities-index__content {
			padding-block: 36px 56px;
		}

		.mha-communities-index__heading {
			align-items: flex-start;
			flex-direction: column;
			gap: 10px;
		}

		.mha-communities-grid {
			grid-template-columns: 1fr;
			gap: 18px;
		}

		.mha-community-index-card__actions {
			align-items: stretch;
			flex-direction: column;
		}
	}

	@media (max-width: 767px) {
		body .mha-community-page :is(.mha-forum__card--discussion, .mha-forum__discussion-header, .mha-forum__comment-shell) {
			grid-template-columns: 36px minmax(0, 1fr) !important;
			gap: 14px !important;
			padding: 16px !important;
		}

		body .mha-community-page .mha-forum__card-footer {
			align-items: flex-start !important;
			flex-direction: column;
			gap: 12px !important;
		}

		body .mha-community-page :is(
			.mha-forum__feed-header,
			.mha-forum__card--discussion,
			.mha-forum__rail-card,
			.mha-forum__discussion-header,
			.mha-forum__single-content,
			.mha-forum__comment-shell,
			.mha-forum__comment-composer,
			.mha-forum__comments-head,
			.mha-forum__form,
			.mha-forum__notice,
			.mha-forum__empty
		) {
			padding: 16px !important;
		}

		.mha-course-community-gate {
			align-items: stretch;
			flex-direction: column;
			gap: 20px;
		}

		.mha-course-community-gate .mha-forum__button {
			width: 100%;
		}
		.mha-course-page .mha-breadcrumbs {
			overflow: hidden;
		}

		.mha-course-page .mha-breadcrumbs__list {
			flex-wrap: nowrap;
			overflow: hidden;
			white-space: nowrap;
		}

		.mha-course-page .mha-breadcrumbs__item:last-child {
			overflow: hidden;
			text-overflow: ellipsis;
		}

		.mha-course-hero {
			padding: 22px 0 40px;
		}

		.mha-course-hero__grid {
			grid-template-columns: 1fr;
			gap: 28px;
			padding-top: 28px;
		}

		.mha-course-layout {
			gap: 28px;
			padding-block: 40px 56px;
		}

		.mha-course-section-head {
			align-items: start;
			flex-direction: column;
			gap: 10px;
		}

		.mha-course-module__header {
			grid-template-columns: 1fr;
		}

		.mha-course-module__header > span {
			grid-column: auto;
		}

		.mha-course-module__lessons {
			padding-inline: 16px;
		}

		.mha-course-lesson {
			grid-template-columns: 42px minmax(0, 1fr);
			gap: 14px;
		}

		.mha-course-lesson__state {
			grid-column: 2;
			justify-self: start;
		}

		.mha-course-page__content {
			gap: 24px;
			padding-block: 32px 56px;
		}

		.mha-course-page__learning {
			padding: 20px;
		}
	}

	/* ---- Tienda (repaso visual, rehecha desde cero) ----
	   El primer intento reusaba el markup por defecto de WooCommerce
	   (ul.products/li.product) y peleaba por especificidad contra su
	   propio CSS de layout (float, clearfix con pseudo-elementos que se
	   colaban como tarjetas fantasma dentro del grid). Ahora
	   archive-product.php tiene su propio markup (.mha-shop__*) y estas
	   reglas no compiten contra nada de WooCommerce. */

	/* Hello Elementor limita .site-main a 1140px. El contenedor interno
	   quedaba reducido al 90% de ese ancho en vez de poder llegar a 1536px. */
	body.woocommerce-shop main.site-main {
		width: 100%;
		max-width: none;
		padding-inline: 0;
	}

	body.woocommerce-shop .site-main > .page-content {
		padding-block: 48px 72px;
	}

	.mha-shop__toolbar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		flex-wrap: wrap;
		margin-bottom: 24px;
	}

	.mha-shop__count {
		margin: 0;
		color: var(--mha-color-text-muted);
		font-size: var(--mha-type-small);
	}

	.mha-shop__toolbar .woocommerce-ordering {
		margin: 0;
	}

	.mha-shop__toolbar .orderby {
		height: 40px;
		padding: 0 14px;
		background: var(--mha-field-bg);
		color: var(--mha-field-text);
		border: 1px solid var(--mha-field-border);
		border-radius: var(--mha-radius-lg);
		font-size: var(--mha-type-small);
	}

	.mha-shop__grid {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 360px));
		gap: 24px;
		justify-content: start;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.mha-shop__card {
		display: flex;
		flex-direction: column;
		background: var(--mha-color-surface);
		border: 1px solid var(--mha-color-border);
		border-radius: var(--mha-radius-lg);
		overflow: hidden;
		box-shadow: var(--mha-shadow-sm);
		transition: transform var(--mha-transition-base), border-color var(--mha-transition-base);
	}

	.mha-shop__card:hover {
		transform: translateY(-3px);
		border-color: var(--mha-color-accent);
	}

	.mha-shop__card-media {
		position: relative;
		display: block;
		aspect-ratio: 4 / 3;
		min-height: 0;
		overflow: hidden;
		background: var(--mha-color-hover-tint);
	}

	.mha-shop__card-media img {
		position: absolute;
		inset: 0;
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.mha-shop__badge {
		position: absolute;
		top: 12px;
		left: 12px;
		z-index: 1;
		padding: 4px 10px;
		background: var(--mha-color-accent);
		color: var(--mha-color-on-accent) !important;
		border-radius: var(--mha-radius-sm);
		font-size: 12px;
		font-weight: 700;
		text-transform: uppercase;
	}

	.mha-shop__card-body {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		padding: 16px;
	}

	body.woocommerce-shop .mha-shop__card-title-link,
	body.woocommerce-shop .mha-shop__card-title-link:visited {
		color: var(--mha-color-text);
		text-decoration: none;
	}

	body.woocommerce-shop .mha-shop__card-title {
		margin: 0 0 8px;
		color: var(--mha-color-text);
		font-size: var(--mha-type-h5) !important;
		line-height: 1.28 !important;
		font-weight: 700 !important;
		letter-spacing: normal;
	}

	.mha-shop__card-price {
		margin: 0 0 14px;
		color: var(--mha-color-accent);
		font-weight: 700;
	}

	.mha-shop__card-price del {
		margin-right: 6px;
		color: var(--mha-color-text-muted);
		font-weight: 400;
		opacity: 0.7;
		text-decoration: line-through;
	}

	.mha-shop__card-price ins {
		text-decoration: none;
	}

	.mha-shop__card-action {
		margin-top: auto;
	}

	body.woocommerce-shop .mha-shop__card-action .button {
		display: block;
		width: 100%;
		padding: 10px 14px;
		background: var(--mha-color-accent) !important;
		color: var(--mha-color-on-accent) !important;
		text-align: center;
		text-decoration: none;
		border: 1px solid var(--mha-color-accent) !important;
		border-radius: var(--mha-radius-lg);
		font-weight: 600;
		font-size: var(--mha-type-small);
		cursor: pointer;
		transition: background var(--mha-transition-base);
		box-sizing: border-box;
	}

	body.woocommerce-shop .mha-shop__card-action .button:hover,
	body.woocommerce-shop .mha-shop__card-action .button:focus-visible {
		background: var(--mha-color-accent-hover) !important;
		border-color: var(--mha-color-accent-hover) !important;
		color: var(--mha-color-on-accent) !important;
	}

	@media (max-width: 767px) {
		body.woocommerce-shop .site-main > .page-content {
			padding-block: 32px 56px;
		}

		.mha-shop__grid {
			grid-template-columns: 1fr;
		}
	}

	/* ---- Contáctanos (fase 6) ---- */

	.mha-contact {
		max-width: 560px;
		margin: 0 auto;
	}

/* ================================================================
   CHECKOUT / PEDIDO RECIBIDO
   WooCommerce conserva la clase woocommerce-checkout en ambos estados.
   Estos selectores los separan para impedir que el fondo blanco llegue
   a la confirmacion del pedido.
   ================================================================ */

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page {
	min-height: 60vh;
	padding: 40px 0 72px;
	background: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page__header {
	width: 90%;
	max-width: 1536px;
	margin-bottom: 32px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page__header h1 {
	margin: 18px 0 8px;
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page__header > p {
	margin: 0;
	color: var(--mha-checkout-text-muted) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page .mha-breadcrumbs,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page .mha-breadcrumbs a {
	color: var(--mha-checkout-text-muted) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page .mha-breadcrumbs [aria-current="page"] {
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page .woocommerce {
	width: 100%;
	max-width: 1536px;
	margin-inline: auto;
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page > .page-content {
	max-width: 1536px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr);
	grid-template-rows: auto 1fr;
	gap: 0 32px;
	align-items: start;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-notices-wrapper:empty,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon[style*="display:none"],
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon[style*="display: none"] {
	display: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle {
	margin: 0 0 24px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle .woocommerce-info {
	margin: 0 !important;
	padding: 18px 22px !important;
	border: 1px solid var(--mha-checkout-border) !important;
	border-radius: 6px !important;
	background: var(--mha-checkout-notice-bg) !important;
	color: var(--mha-checkout-notice-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle .showcoupon {
	color: var(--mha-color-accent) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle .woocommerce-info::before {
	display: none !important;
	content: none !important;
}

/* "¿Ya eres cliente?" nunca recibió el mismo tratamiento que el toggle del
   cupón de arriba: al ponerle borde a .woocommerce-form-login-toggle, el
   margin-bottom: 2em de fábrica de WooCommerce en su .woocommerce-info hijo
   ya no colapsaba hacia afuera (el borde se lo impide) y quedaba como un
   hueco vacío dentro de la misma caja, debajo del texto. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle {
	margin: 0 0 24px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle .woocommerce-info {
	margin: 0 !important;
	padding: 18px 22px !important;
	border: 1px solid var(--mha-checkout-border) !important;
	border-radius: 6px !important;
	background: var(--mha-checkout-notice-bg) !important;
	color: var(--mha-checkout-notice-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle .showlogin {
	color: var(--mha-color-accent) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle .woocommerce-info::before {
	display: none !important;
	content: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login[style*="display:none"],
body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login[style*="display: none"] {
	display: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login:not([style*="display: none"]):not([style*="display:none"]) {
	margin: 0 0 24px !important;
	padding: 20px !important;
	border: 1px solid var(--mha-checkout-border) !important;
	border-radius: 6px !important;
	background: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
}

/* El link "¿Tienes un cupón?" hace slideToggle() del formulario con un
   display:none/block en línea. La regla de abajo pintaba el cupón con
   display:grid !important sin condición, así que ganaba siempre sobre ese
   estilo en línea (un !important en la hoja de estilos le gana a un estilo
   en línea sin !important) y el formulario quedaba pegado abierto sin
   poder minimizarlo. Se excluye el estado oculto igual que la regla de
   arriba que sí lo oculta. */
html body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon:not([style*="display: none"]):not([style*="display:none"]) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: end;
	margin: -8px 0 24px !important;
	padding: 20px !important;
	border: 1px solid var(--mha-checkout-border) !important;
	border-radius: 6px !important;
	background: var(--mha-checkout-bg) !important;
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon .form-row {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon input.input-text {
	width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid var(--mha-color-border-strong) !important;
	border-radius: 6px !important;
	background: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon .button {
	min-height: 46px;
	padding: 10px 22px !important;
	border: 1px solid var(--mha-color-accent) !important;
	border-radius: 6px !important;
	background: var(--mha-color-accent) !important;
	color: #fff !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon .button:hover,
html body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon .button:focus-visible {
	background: var(--mha-color-accent-hover) !important;
	border-color: var(--mha-color-accent-hover) !important;
}

@media (max-width: 600px) {
	html body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon {
		grid-template-columns: 1fr;
	}

	html body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon .button {
		width: 100%;
	}
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #customer_details {
	grid-column: 1;
	grid-row: 1 / span 2;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	padding: 24px 24px 16px;
	border: 1px solid var(--mha-checkout-border);
	border-bottom: 0;
	border-radius: 6px 6px 0 0;
	background: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review {
	grid-column: 2;
	grid-row: 2;
	margin-top: 0;
	padding: 0 24px 24px;
	border: 1px solid var(--mha-checkout-border);
	border-top: 0;
	border-radius: 0 0 6px 6px;
	background: var(--mha-checkout-bg) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .col2-set,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .col2-set .col-1,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .col2-set .col-2 {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

/* La tienda vende cursos virtuales: WooCommerce deja una segunda columna
   de envio sin campos, que solo produce una tarjeta vacia. */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #customer_details > .col-2 {
	display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #customer_details,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .col2-set,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .col-1,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .col-2,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-checkout-review-order-table,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-checkout-review-order-table thead,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-checkout-review-order-table tbody,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-checkout-review-order-table tfoot,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-checkout-review-order-table tr,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #payment,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #payment .payment_methods,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #payment .payment_box,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #payment .place-order {
	background-color: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .checkout-currency-switcher,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .wc_payment_method,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .payment_box > div,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .payment_box fieldset,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .wc-stripe-elements-field,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .wc-stripe-iban-element-field,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .StripeElement,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .selectron23-container,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocs_auto_switcher {
	background: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review > .checkout-currency-switcher {
	margin: 0 0 20px !important;
	padding: 16px;
	border: 1px solid var(--mha-checkout-border);
	border-radius: 6px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review > .checkout-currency-switcher strong {
	display: block;
	margin-bottom: 8px;
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-shipping-fields,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields {
	padding: 24px;
	border: 1px solid var(--mha-checkout-border);
	border-radius: 6px;
	background: var(--mha-checkout-bg) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-shipping-fields,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields {
	margin-top: 24px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields {
	display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page h2,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page h3,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page label,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page th,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page td,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page p {
	color: var(--mha-checkout-text) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page input,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page textarea,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page select,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page .select2-selection {
	background: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	border: 1px solid var(--mha-color-border-strong) !important;
	border-radius: 6px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page input:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page textarea:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page select:focus {
	border-color: var(--mha-color-accent) !important;
	box-shadow: 0 0 0 3px rgba(242, 96, 65, .14) !important;
	outline: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page table,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page table tr,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page table th,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page table td,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page #payment,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page #payment ul.payment_methods,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page .payment_box {
	background: var(--mha-checkout-bg) !important;
	color: var(--mha-checkout-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page .woocommerce-info,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page .woocommerce-message,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page .woocommerce-error {
	background: var(--mha-checkout-notice-bg) !important;
	color: var(--mha-checkout-notice-text) !important;
	border-color: var(--mha-checkout-border) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page #place_order {
	width: 100%;
	min-height: 48px;
	background: var(--mha-color-accent) !important;
	border-color: var(--mha-color-accent) !important;
	color: #fff !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page #place_order:hover,
body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page #place_order:focus-visible {
	background: var(--mha-color-accent-hover) !important;
	border-color: var(--mha-color-accent-hover) !important;
}

body.woocommerce-order-received .mha-order-received-page,
body.woocommerce-order-received .mha-order-received-page > .page-content,
body.woocommerce-order-received .mha-order-received-page .woocommerce {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: var(--mha-color-surface) !important;
	color: var(--mha-color-text) !important;
}

body.woocommerce-order-received .mha-thankyou {
	position: static !important;
	left: auto !important;
	width: 100% !important;
	min-height: 60vh;
	margin: 0 !important;
	padding: 32px 0 72px !important;
	background: var(--mha-color-surface) !important;
	color: var(--mha-color-text) !important;
}

body.woocommerce-order-received .mha-thankyou__shell {
	width: 90% !important;
	max-width: 1536px !important;
	margin-inline: auto !important;
	padding-inline: 0 !important;
}

body.woocommerce-order-received .mha-thankyou .mha-breadcrumbs {
	margin-bottom: 24px;
}

body.woocommerce-order-received .mha-thankyou__hero,
body.woocommerce-order-received .mha-thankyou__overview,
body.woocommerce-order-received .mha-thankyou__details,
body.woocommerce-order-received .mha-thankyou__notice {
	background: var(--mha-color-surface-raised) !important;
	color: var(--mha-color-text) !important;
	border: 1px solid var(--mha-color-border) !important;
	border-radius: 6px !important;
	box-shadow: none !important;
}

body.woocommerce-order-received .mha-thankyou__hero {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	row-gap: 0;
	padding: clamp(24px, 4vw, 40px) !important;
}

body.woocommerce-order-received .mha-thankyou__hero .mha-thankyou__eyebrow,
body.woocommerce-order-received .mha-thankyou__hero h1,
body.woocommerce-order-received .mha-thankyou__hero p,
body.woocommerce-order-received .mha-thankyou__hero .mha-thankyou__actions {
	grid-column: 1 !important;
	grid-row: auto !important;
}

body.woocommerce-order-received .mha-thankyou__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	margin-top: 24px;
}

body.woocommerce-order-received .mha-thankyou__actions .mha-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-width: 156px;
	height: 46px;
	min-height: 46px !important;
	padding: 0 22px !important;
	line-height: 1 !important;
	text-align: center !important;
	vertical-align: middle !important;
}

body.woocommerce-order-received .mha-thankyou__actions .mha-button--primary:hover,
body.woocommerce-order-received .mha-thankyou__actions .mha-button--primary:focus-visible {
	background: var(--mha-color-accent-hover) !important;
	border-color: var(--mha-color-accent-hover) !important;
	opacity: 1;
}

body.woocommerce-order-received .mha-thankyou__actions .mha-button--ghost:hover,
body.woocommerce-order-received .mha-thankyou__actions .mha-button--ghost:focus-visible {
	background: var(--mha-color-hover-tint) !important;
	border-color: var(--mha-color-text-muted) !important;
}

body.woocommerce-order-received .mha-thankyou__overview,
body.woocommerce-order-received .mha-thankyou__details,
body.woocommerce-order-received .mha-thankyou__notice {
	padding: 24px !important;
}

body.woocommerce-order-received .mha-thankyou h1,
body.woocommerce-order-received .mha-thankyou h2,
body.woocommerce-order-received .mha-thankyou h3,
body.woocommerce-order-received .mha-thankyou strong {
	color: var(--mha-color-text) !important;
}

body.woocommerce-order-received .mha-thankyou p,
body.woocommerce-order-received .mha-thankyou span,
body.woocommerce-order-received .mha-thankyou address {
	color: var(--mha-color-text-muted) !important;
}

body.woocommerce-order-received .mha-thankyou a:not(.button) {
	color: var(--mha-color-accent) !important;
}

body.woocommerce-order-received .mha-thankyou a:not(.button):hover,
body.woocommerce-order-received .mha-thankyou a:not(.button):focus-visible {
	color: var(--mha-color-accent-hover) !important;
}

@media (max-width: 900px) {
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
		gap: 24px;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #customer_details,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review_heading,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review {
		grid-column: 1;
		grid-row: auto;
	}
}

@media (max-width: 767px) {
	body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page {
		padding: 28px 0 48px;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields,
	body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-shipping-fields,
	body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review_heading,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review {
		padding-inline: 18px;
	}

	body.woocommerce-order-received .mha-thankyou {
		padding: 24px 0 48px !important;
	}

	body.woocommerce-order-received .mha-thankyou__actions {
		align-items: stretch;
		flex-direction: column;
	}

	body.woocommerce-order-received .mha-thankyou__actions .mha-button {
		width: 100%;
	}
}

/* ---- Centro de soporte / Contacto ---- */

.mha-contact-page {
	padding-block: 32px 80px;
}

.mha-contact-hero {
	max-width: 820px;
	margin: 44px 0 48px;
}

.mha-contact-hero__eyebrow {
	display: inline-flex;
	margin-bottom: 14px;
	padding: 6px 10px;
	border: 1px solid rgba(242, 96, 65, .4);
	border-radius: 6px;
	color: var(--mha-color-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.mha-contact-hero h1 {
	margin: 0 0 16px;
	color: var(--mha-color-text);
	font-size: clamp(36px, 4.8vw, 64px) !important;
	line-height: 1.05 !important;
}

.mha-contact-hero p {
	max-width: 760px;
	margin: 0;
	color: var(--mha-color-text-muted);
	font-size: 18px;
	line-height: 1.7;
}

.mha-contact-layout {
	display: grid;
	grid-template-columns: minmax(280px, .72fr) minmax(460px, 1.28fr);
	gap: 32px;
	align-items: start;
}

.mha-contact-info {
	display: grid;
	gap: 16px;
}

.mha-contact-info__card,
.mha-contact-info__tip,
.mha-contact-form-card {
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
	background: var(--mha-color-surface-raised);
}

.mha-contact-info__card {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 16px;
	padding: 22px;
}

.mha-contact-info__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 6px;
	background: rgba(242, 96, 65, .12);
	color: var(--mha-color-accent);
}

.mha-contact-info__icon svg,
.mha-contact__submit svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mha-contact-info__card h2 {
	margin: 1px 0 7px;
	color: var(--mha-color-text);
	font-size: 18px !important;
	line-height: 1.3 !important;
}

.mha-contact-info__card p,
.mha-contact-info__tip p {
	margin: 0;
	color: var(--mha-color-text-muted);
	line-height: 1.6;
}

.mha-contact-info__tip {
	padding: 22px;
	border-left: 3px solid var(--mha-color-accent);
}

.mha-contact-info__tip strong {
	display: block;
	margin-bottom: 7px;
	color: var(--mha-color-text);
}

.mha-contact-form-card {
	padding: clamp(24px, 4vw, 40px);
}

.mha-contact-form-card__head {
	margin-bottom: 28px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--mha-color-border);
}

.mha-contact-form-card__head h2 {
	margin: 0 0 7px;
	color: var(--mha-color-text);
	font-size: clamp(26px, 3vw, 36px) !important;
}

.mha-contact-form-card__head p {
	margin: 0;
	color: var(--mha-color-text-muted);
}

#mha-contact-form {
	display: grid;
	gap: 22px;
}

.mha-contact__field {
	display: grid;
	gap: 9px;
}

.mha-contact__field label {
	color: var(--mha-color-text);
	font-weight: 700;
}

.mha-contact__field label span {
	color: var(--mha-color-accent);
}

.mha-contact__field input,
.mha-contact__field textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 13px 15px;
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
	background: var(--mha-color-surface);
	color: var(--mha-color-text);
	font: inherit;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.mha-contact__field input {
	min-height: 50px;
}

.mha-contact__field textarea {
	min-height: 180px;
	resize: vertical;
}

.mha-contact__field input:focus,
.mha-contact__field textarea:focus {
	border-color: var(--mha-color-accent);
	box-shadow: 0 0 0 3px rgba(242, 96, 65, .14);
	outline: none;
}

.mha-contact__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	gap: 10px;
	min-width: 190px;
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid var(--mha-color-accent);
	border-radius: 6px;
	background: var(--mha-color-accent);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.mha-contact__submit:hover,
.mha-contact__submit:focus-visible {
	background: var(--mha-color-accent-hover);
	border-color: var(--mha-color-accent-hover);
	outline: none;
}

.mha-contact__submit:disabled {
	cursor: wait;
	opacity: .65;
}

#mha-contact-message {
	margin: 0 0 22px;
	padding: 14px 16px;
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
}

#mha-contact-message.is-success {
	border-color: rgba(74, 190, 112, .5);
	background: rgba(74, 190, 112, .1);
	color: #8ee2a9;
}

#mha-contact-message.is-error {
	border-color: rgba(242, 96, 65, .5);
	background: rgba(242, 96, 65, .1);
	color: #ff9e89;
}

.mha-sidebar__menu .current-menu-item > a {
	background: rgba(242, 96, 65, .12);
	color: var(--mha-color-accent);
}

@media (max-width: 900px) {
	.mha-contact-layout {
		grid-template-columns: 1fr;
	}

	.mha-contact-info {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mha-contact-info__tip {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.mha-contact-page {
		padding-block: 24px 48px;
	}

	.mha-contact-hero {
		margin: 32px 0;
	}

	.mha-contact-hero p {
		font-size: 16px;
	}

	.mha-contact-info {
		grid-template-columns: 1fr;
	}

	.mha-contact-info__tip {
		grid-column: auto;
	}

	.mha-contact__submit {
		width: 100%;
	}
}

/* ---- Mi cuenta / WooCommerce ---- */

.mha-account-page .page-content {
	padding-block: 32px 80px;
}

.mha-account-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	margin: 36px 0 32px;
	padding: clamp(24px, 4vw, 40px);
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
	background: var(--mha-color-surface-raised);
}

.mha-account-hero__identity {
	display: flex;
	align-items: center;
	gap: 22px;
	min-width: 0;
}

.mha-account-hero__avatar {
	width: 82px;
	height: 82px;
	flex: 0 0 82px;
	object-fit: cover;
	border: 2px solid var(--mha-color-accent);
	border-radius: 50%;
	background: var(--mha-color-surface);
}

.mha-account-hero__eyebrow {
	display: block;
	margin-bottom: 7px;
	color: var(--mha-color-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.mha-account-hero h1 {
	margin: 0 0 8px;
	color: var(--mha-color-text);
	font-size: clamp(30px, 3.5vw, 46px) !important;
	line-height: 1.08 !important;
	overflow-wrap: anywhere;
}

.mha-account-hero p {
	margin: 0;
	color: var(--mha-color-text-muted);
}

.mha-account-hero__courses {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 46px;
	padding: 0 20px;
	border: 1px solid var(--mha-color-accent);
	border-radius: 6px;
	background: var(--mha-color-accent);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.mha-account-hero__courses svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mha-account-hero__courses:hover,
.mha-account-hero__courses:focus-visible {
	background: var(--mha-color-accent-hover);
	border-color: var(--mha-color-accent-hover);
	outline: none;
}

.mha-account-shell > .woocommerce {
	display: grid !important;
	grid-template-columns: 270px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

html body .mha-account-page .mha-account-shell > .woocommerce > .woocommerce-MyAccount-navigation {
	display: block !important;
	grid-column: 1 !important;
	grid-row: 1 !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

html body .mha-account-page .mha-account-shell > .woocommerce > .woocommerce-MyAccount-content {
	display: block !important;
	grid-column: 2 !important;
	grid-row: 1 !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

.mha-account-shell .woocommerce-MyAccount-navigation {
	float: none !important;
	width: auto !important;
	padding: 10px;
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
	background: var(--mha-color-surface-raised);
}

.mha-account-shell .woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mha-account-shell .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
	border: 0;
}

.mha-account-shell .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 13px;
	border-radius: 6px;
	color: var(--mha-color-text-muted);
	font-weight: 650;
	text-decoration: none;
	transition: color .2s ease, background .2s ease;
}

.mha-account-shell .woocommerce-MyAccount-navigation a:hover,
.mha-account-shell .woocommerce-MyAccount-navigation a:focus-visible {
	background: var(--mha-color-hover-tint);
	color: var(--mha-color-text);
	outline: none;
}

.mha-account-shell .woocommerce-MyAccount-navigation .is-active a {
	background: rgba(242, 96, 65, .14);
	color: var(--mha-color-accent);
}

.mha-account-shell .woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 8px;
	padding-top: 8px !important;
	border-top: 1px solid var(--mha-color-border) !important;
}

.mha-account-shell .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	min-width: 0;
	padding: clamp(24px, 4vw, 40px);
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
	background: var(--mha-color-surface-raised);
	color: var(--mha-color-text-muted);
}

.mha-account-shell .woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}

.mha-account-shell .woocommerce-MyAccount-content > :last-child {
	margin-bottom: 0;
}

.mha-account-shell .woocommerce-MyAccount-content h2,
.mha-account-shell .woocommerce-MyAccount-content h3,
.mha-account-shell .woocommerce-MyAccount-content legend,
.mha-account-shell .woocommerce-MyAccount-content strong {
	color: var(--mha-color-text);
}

.mha-account-shell .woocommerce-MyAccount-content p {
	color: var(--mha-color-text-muted);
	line-height: 1.65;
}

.mha-account-shell .woocommerce-MyAccount-content a:not(.button) {
	color: var(--mha-color-accent);
	text-underline-offset: 3px;
}

.mha-account-shell .woocommerce-Addresses {
	display: block;
}

/* Esta academia no vende productos con envio fisico: la tarjeta de
   "Direccion de envio" se oculta siempre y la de facturacion ocupa el
   ancho completo. (Un CSS suelto de Elementor de la antigua pagina "Mi
   cuenta" -wp-content/uploads/elementor/css/post-22.css- ya intentaba
   este mismo comportamiento con selectores pensados para un layout con
   floats; al chocar con el grid de 2 columnas que teniamos aqui dejaba
   la tarjeta de facturacion a mitad de ancho. Lo hacemos explicito aqui
   con mayor especificidad para no depender de ese archivo residual.) */
.mha-account-shell .woocommerce-Addresses .u-column2.woocommerce-Address,
.mha-account-shell .woocommerce-Addresses .woocommerce-Address--shipping {
	display: none !important;
}

.mha-account-shell .woocommerce-Addresses .woocommerce-Address {
	float: none !important;
	width: 100% !important;
	padding: 22px;
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
	background: var(--mha-color-surface);
}

.mha-account-shell .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.mha-account-shell .woocommerce-Address-title h2,
.mha-account-shell .woocommerce-Address-title h3 {
	float: none !important;
	margin: 0 0 14px;
}

.mha-account-shell .woocommerce-Address-title .edit {
	float: none !important;
}

.mha-account-shell address {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--mha-color-text-muted) !important;
	font-style: normal;
	line-height: 1.7;
}

.mha-account-shell table.shop_table {
	width: 100%;
	margin: 0;
	border: 1px solid var(--mha-color-border) !important;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 6px;
	overflow: hidden;
	background: var(--mha-color-surface) !important;
}

.mha-account-shell table.shop_table th,
.mha-account-shell table.shop_table td {
	padding: 15px 16px !important;
	border-color: var(--mha-color-border) !important;
	background: transparent !important;
	color: var(--mha-color-text-muted) !important;
}

.mha-account-shell table.shop_table th {
	color: var(--mha-color-text) !important;
	font-weight: 700;
}

.mha-account-shell .woocommerce-MyAccount-content fieldset {
	margin: 28px 0 0;
	padding: 22px;
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
}

.mha-account-shell .woocommerce-EditAccountForm.edit-account fieldset {
	margin-bottom: 24px;
}

.mha-account-shell .form-row {
	margin-bottom: 18px !important;
}

.mha-account-shell label {
	display: block;
	margin-bottom: 8px;
	color: var(--mha-color-text);
	font-weight: 700;
}

.mha-account-shell input.input-text,
.mha-account-shell input[type="password"],
.mha-account-shell select,
.mha-account-shell textarea {
	width: 100%;
	min-height: 48px;
	box-sizing: border-box;
	padding: 11px 14px;
	border: 1px solid var(--mha-color-border) !important;
	border-radius: 6px !important;
	background: var(--mha-color-surface) !important;
	color: var(--mha-color-text) !important;
}

.mha-account-shell input:focus,
.mha-account-shell select:focus,
.mha-account-shell textarea:focus {
	border-color: var(--mha-color-accent) !important;
	box-shadow: 0 0 0 3px rgba(242, 96, 65, .14);
	outline: none;
}

.mha-account-shell .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 18px !important;
	border: 1px solid var(--mha-color-accent) !important;
	border-radius: 6px !important;
	background: var(--mha-color-accent) !important;
	color: #fff !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

.mha-account-shell .button:hover,
.mha-account-shell .button:focus-visible {
	background: var(--mha-color-accent-hover) !important;
	border-color: var(--mha-color-accent-hover) !important;
}

.mha-account-shell .woocommerce-message,
.mha-account-shell .woocommerce-info,
.mha-account-shell .woocommerce-error {
	grid-column: 1 / -1;
	position: relative;
	margin: 0 0 24px !important;
	padding: 16px 18px 16px 3.2em !important;
	border: 1px solid var(--mha-color-border) !important;
	border-radius: 6px;
	background: var(--mha-color-surface) !important;
	color: var(--mha-color-text-muted) !important;
}

.mha-account-shell .woocommerce-message::before,
.mha-account-shell .woocommerce-info::before,
.mha-account-shell .woocommerce-error::before {
	top: 50%;
	left: 1.3em;
	transform: translateY(-50%);
}

/* Endpoints como "lost-password" (formulario y confirmacion de envio de
   correo) imprimen su <form>/<p> directo dentro de .woocommerce, sin el
   wrapper .woocommerce-MyAccount-content que trae el resto de las pestanas
   de la cuenta. Sin esto quedan sin estilo y encajonados en la primera
   columna (270px) del grid de 2 columnas pensado para nav + contenido. */
.mha-account-shell > .woocommerce > p,
.mha-account-shell > .woocommerce > form {
	grid-column: 1 / -1;
}

.mha-account-shell > .woocommerce > p,
.mha-account-shell > .woocommerce > form.woocommerce-ResetPassword {
	margin: 0;
	padding: clamp(24px, 4vw, 40px);
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
	background: var(--mha-color-surface-raised);
	color: var(--mha-color-text-muted);
	line-height: 1.65;
}

.mha-account-shell > .woocommerce > form.woocommerce-ResetPassword > p:first-child {
	margin-top: 0;
	color: var(--mha-color-text-muted);
}

@media (max-width: 900px) {
	.mha-account-shell > .woocommerce {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	html body .mha-account-page .mha-account-shell > .woocommerce > .woocommerce-MyAccount-navigation,
	html body .mha-account-page .mha-account-shell > .woocommerce > .woocommerce-MyAccount-content {
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	.mha-account-shell .woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mha-account-shell .woocommerce-MyAccount-navigation-link--customer-logout {
		margin-top: 0;
		padding-top: 0 !important;
		border-top: 0 !important;
	}
}

@media (max-width: 700px) {
	.mha-account-page .page-content {
		padding-block: 24px 48px;
	}

	.mha-account-hero {
		align-items: flex-start;
		flex-direction: column;
		margin: 28px 0 24px;
	}

	.mha-account-hero__courses {
		width: 100%;
		box-sizing: border-box;
	}

	.mha-account-shell .woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mha-account-shell .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.mha-account-hero__identity {
		align-items: flex-start;
		flex-direction: column;
	}

	.mha-account-shell .woocommerce-MyAccount-navigation ul {
		grid-template-columns: 1fr;
	}

	.mha-account-shell .woocommerce-MyAccount-content {
		padding: 20px;
	}

	.mha-account-shell .woocommerce-Address-title {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
}

/* ---- Aula LearnDash: lecciones, temas y cuestionarios ---- */

/* Focus Mode trae su propio header (progreso, avatar, tema) — el header
   normal del sitio (.mha-header, con el logo y el menú hamburguesa) no
   debería verse aquí. En escritorio queda "oculto" solo por casualidad
   (el header de Focus Mode es position:fixed y lo tapa por encima); en
   móvil ese overlay no cubre el mismo espacio y ambos headers quedan
   encimados/rotos. Se oculta explícito para no depender de ese accidente
   de posicionamiento. */
body.ld-in-focus-mode .mha-header,
body.ld-in-focus-mode .mha-sidebar,
body.ld-in-focus-mode .mha-sidebar-backdrop {
	display: none !important;
}

body.ld-in-focus-mode {
	background: var(--mha-color-surface) !important;
	color: var(--mha-color-text);
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus {
	background: var(--mha-color-surface) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header {
	height: 72px;
	border-bottom: 1px solid var(--mha-color-border) !important;
	background: var(--mha-color-surface-raised) !important;
	box-shadow: none !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo {
	display: flex;
	align-items: center;
	width: 360px;
	height: 72px;
	padding: 14px 24px;
	box-sizing: border-box;
	border-right: 1px solid var(--mha-color-border);
	background: var(--mha-color-surface-raised) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo img {
	width: auto;
	max-width: 132px;
	max-height: 44px;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-content-action,
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu {
	height: 72px;
	color: var(--mha-color-text-muted);
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-progress {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 72px;
	margin: 0 !important;
	padding: 0 32px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-progress-wrap {
	width: 100%;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-progress-heading {
	margin-bottom: 7px !important;
	color: var(--mha-color-text-muted) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-progress-bar {
	height: 6px;
	margin: 0 !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	/* LearnDash le da "flex: 0 1;" a este contenedor debajo de 1280px (sin
	   fijar flex-basis, o sea 0%), así que su caja se encogía casi a 0
	   ancho en vez de ajustarse al contenido (avatar + botón de tema). Como
	   además tiene overflow:visible, los iconos seguían pintándose fuera
	   de esa caja diminuta, dejando un hueco vacío del lado derecho entre
	   el ícono de tema y el borde real del header. */
	flex: 0 0 auto !important;
	min-width: 260px;
	max-width: 100%;
	padding: 0 18px;
	box-sizing: border-box;
	border-left: 1px solid var(--mha-color-border);
	overflow: visible;
}

/* En mobile el texto de bienvenida ya se oculta (LearnDash lo hace por su
   cuenta), así que el min-width de arriba (pensado para el texto +
   avatar + botón de tema en escritorio) sobra: en pantallas angostas
   fuerza al header a no caber en una sola fila y el menú de usuario se
   cae a una fila aparte, quedando encima del contenido de la lección. */
@media (max-width: 767px) {
	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu {
		min-width: 0;
		padding: 0 10px;
	}
}

/* El texto "Hello, {usuario}!" puede ser largo (emails completos) — se le
   da un ancho máximo con elipsis en vez de dejarlo desbordar el
   contenedor y encimarse con el avatar/botón de tema. */
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-welcome-text {
	max-width: 130px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 0 1 auto;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-text,
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-profile-avatar {
	color: var(--mha-color-text-muted) !important;
}

/* El avatar del header normal (.mha-header__avatar) es un cuadrado con
   borde/radio a juego con los demás botones del header; el de Focus Mode
   (.ld-profile-avatar) no tenía ningún tratamiento — se veía como un
   círculo gris plano sin fondo/borde propio. Se le da el mismo tratamiento
   visual. */
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-profile-avatar {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 36px !important;
	height: 36px !important;
	flex: 0 0 36px;
	overflow: hidden;
	border: 1px solid var(--mha-color-accent) !important;
	border-radius: var(--mha-radius-lg) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-user-menu .ld-profile-avatar img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.mha-focus-account-link {
	display: flex;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

/* Botón de tema claro/oscuro inyectado en el header de LearnDash Focus
   Mode (ver mha_focus_mode_theme_toggle_button() en functions.php) —
   mismo patrón visual que el botón del header normal del sitio. */
.mha-focus-theme-toggle {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	max-width: 36px !important;
	flex: 0 0 36px !important;
	margin: 0 10px !important;
	padding: 0 !important;
	color: var(--mha-color-text-muted) !important;
	background: transparent !important;
	border: 1px solid var(--mha-color-border) !important;
	border-radius: var(--mha-radius-lg) !important;
	line-height: 1 !important;
	font-size: 0 !important;
	cursor: pointer;
	transition: color var(--mha-transition-base), border-color var(--mha-transition-base);
}

.mha-focus-theme-toggle svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
}

.mha-focus-theme-toggle:hover,
.mha-focus-theme-toggle:focus-visible {
	color: var(--mha-color-accent) !important;
	border-color: var(--mha-color-accent) !important;
	outline: none;
}

.mha-focus-theme-toggle .mha-header__theme-icon--moon {
	display: none;
}

html[data-theme="light"] .mha-focus-theme-toggle .mha-header__theme-icon--sun {
	display: none;
}

html[data-theme="light"] .mha-focus-theme-toggle .mha-header__theme-icon--moon {
	display: inline-flex;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar {
	width: 360px;
	padding-top: 72px !important;
	box-sizing: border-box;
	background: var(--mha-color-surface-raised) !important;
	border-right: 1px solid var(--mha-color-border);
	box-shadow: none !important;
}

body.ld-in-focus-mode.admin-bar .learndash-wrapper .ld-focus .ld-focus-sidebar {
	background: var(--mha-color-surface-raised) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-wrapper {
	height: calc(100vh - 128px) !important;
	background: var(--mha-color-surface-raised) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 56px;
	box-sizing: border-box;
	padding: 14px 54px 14px 18px !important;
	border-bottom: 1px solid var(--mha-color-border);
	background: var(--mha-color-surface-raised) !important;
	color: var(--mha-color-text) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading h3,
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading a {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	color: var(--mha-color-text) !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading .ld-focus-mode-course-heading-wrapper {
	display: block;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	text-align: left !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading #ld-focus-mode-course-heading {
	display: block !important;
	align-items: center;
	justify-content: flex-start !important;
	width: 100%;
	min-width: 0;
	text-align: left !important;
	white-space: normal;
	overflow-wrap: anywhere;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading #ld-focus-mode-course-heading .ld-icon {
	display: none !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px;
	height: 30px;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	border: 1px solid var(--mha-color-border);
	border-radius: 6px !important;
	background: transparent !important;
	color: var(--mha-color-text-muted) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger:hover,
body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger:focus-visible {
	background: var(--mha-color-hover-tint) !important;
	border-color: var(--mha-color-accent) !important;
	color: var(--mha-color-accent) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger .ld-icon {
	display: block !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: inherit !important;
	line-height: 1 !important;
	transform: none !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger .ld-icon::before {
	display: block !important;
	position: static !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	transform: none !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-section-heading {
	padding: 20px 16px 9px;
	background: transparent !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-section-heading {
	color: var(--mha-color-text) !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item {
	border-bottom: 1px solid var(--mha-color-border) !important;
	background: transparent !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-preview {
	min-height: 54px;
	padding: 14px 16px !important;
	background: transparent !important;
	transition: background .2s ease;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-preview:hover {
	background: var(--mha-color-hover-tint) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item-preview .ld-lesson-title,
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-topic-title {
	color: var(--mha-color-text-muted) !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-sidebar .ld-lesson-item-preview {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-sidebar .ld-lesson-item-preview-heading {
	display: grid !important;
	grid-template-columns: 16px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	width: 100%;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-sidebar .ld-lesson-item-preview .ld-expand-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	width: max-content;
	min-height: 28px;
	margin: 0 0 0 26px !important;
	padding: 3px 0 !important;
	background: transparent !important;
	border: 0 !important;
	color: var(--mha-color-text-muted) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-sidebar .ld-lesson-item-preview .ld-expand-button .ld-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	border-radius: 50%;
	background: var(--mha-color-tint-strong) !important;
	color: var(--mha-color-text) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-sidebar .ld-lesson-item-preview .ld-expand-text {
	color: var(--mha-color-text-muted) !important;
	font-size: 12px;
	font-weight: 700;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-sidebar .ld-lesson-item-expanded {
	position: relative;
	margin: 0 14px 12px 40px;
	border-left: 1px solid var(--mha-color-border);
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-sidebar .ld-lesson-item-expanded::before,
body.ld-in-focus-mode .learndash-wrapper .ld-focus-sidebar .ld-lesson-item-expanded::after {
	display: none !important;
	content: none !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-sidebar .ld-topic-list .ld-table-list-item-preview {
	display: grid !important;
	grid-template-columns: 14px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	min-height: 42px;
	padding: 10px 12px !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-sidebar .ld-topic-list .ld-status-icon {
	margin: 3px 0 0 !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item.ld-is-current-lesson > .ld-lesson-item-preview,
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-topic-list .ld-table-list-item.is-current-item .ld-table-list-item-preview {
	background: rgba(242, 96, 65, .12) !important;
	box-shadow: inset 3px 0 0 var(--mha-color-accent);
}

body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-title,
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-topic-list .ld-table-list-item.is-current-item .ld-topic-title {
	color: var(--mha-color-accent) !important;
}

.mha-ld-back-to-course {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 20px;
	color: var(--mha-color-text-muted) !important;
	font-weight: 650;
	text-decoration: none !important;
}

.mha-ld-back-to-course:hover,
.mha-ld-back-to-course:focus-visible {
	color: var(--mha-color-accent) !important;
	outline: none;
}

.mha-ld-back-to-course .ld-icon-arrow-left {
	font-size: 12px;
}

body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-topic-list.ld-table-list,
body.ld-in-focus-mode .learndash-wrapper .ld-course-navigation .ld-topic-list .ld-table-list-item {
	background: var(--mha-color-surface) !important;
	border-color: var(--mha-color-border) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main {
	margin-left: 360px;
	padding-top: 72px !important;
	background: var(--mha-color-surface) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content {
	width: min(90%, 1536px);
	max-width: 1536px !important;
	min-height: calc(100vh - 72px) !important;
	margin: 0 auto;
	padding: 44px 0 80px !important;
	box-sizing: border-box;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-content > h1 {
	max-width: 1100px;
	margin: 0 0 24px !important;
	color: var(--mha-color-text) !important;
	font-size: clamp(34px, 4vw, 58px) !important;
	line-height: 1.08 !important;
	letter-spacing: -.025em;
}

body.ld-in-focus-mode .learndash-wrapper .ld-breadcrumbs {
	margin: 0 0 24px;
	padding: 14px 16px;
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
	background: var(--mha-color-surface) !important;
	background-color: var(--mha-color-surface) !important;
	background-image: none !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-breadcrumbs a,
body.ld-in-focus-mode .learndash-wrapper .ld-breadcrumbs .ld-breadcrumbs-segments span {
	color: var(--mha-color-text-muted) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-breadcrumbs a:hover {
	color: var(--mha-color-accent) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-content :is(.ld-lesson-status, .ld-topic-status) {
	margin: 0 0 24px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-content :is(.ld-lesson-status, .ld-topic-status) .ld-breadcrumbs {
	margin-bottom: 0 !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus-content :is(.ld-lesson-status, .ld-topic-status) > .ld-progress {
	display: none !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-video,
body.ld-in-focus-mode .learndash-wrapper .wp-block-embed,
body.ld-in-focus-mode .learndash-wrapper .wp-block-video {
	margin: 0 0 28px !important;
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
	overflow: hidden;
	background: #090909;
}

body.ld-in-focus-mode .learndash-wrapper .ld-video iframe,
body.ld-in-focus-mode .learndash-wrapper .wp-block-embed iframe,
body.ld-in-focus-mode .learndash-wrapper .wp-block-video video {
	display: block;
	width: 100% !important;
	aspect-ratio: 16 / 9;
	height: auto !important;
	border: 0;
}

body.ld-in-focus-mode .learndash-wrapper .ld-tabs,
body.ld-in-focus-mode .learndash-wrapper .ld-lesson-topic-list,
body.ld-in-focus-mode .learndash-wrapper .ld-table-list,
body.ld-in-focus-mode .learndash-wrapper .wpProQuiz_content {
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
	background: var(--mha-color-surface-raised) !important;
	overflow: hidden;
}

body.ld-in-focus-mode .learndash-wrapper .ld-tabs .ld-tabs-navigation {
	border-bottom: 1px solid var(--mha-color-border);
	background: var(--mha-color-surface-raised) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-tabs .ld-tabs-content {
	padding: 24px;
	color: var(--mha-color-text-muted);
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 16px;
	margin-top: 26px;
	padding: 24px 0 0;
	border-top: 1px solid var(--mha-color-border);
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-content-action {
	flex: 0 1 auto;
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-content-action:first-child {
	justify-self: start;
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-content-action:last-child {
	justify-self: end;
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-content-action:nth-child(2) {
	display: flex;
	flex-direction: column;
	align-items: center;
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .sfwd-mark-complete {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	justify-self: center;
	width: auto !important;
	margin: 0 !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-button,
body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-course-step-back,
body.ld-in-focus-mode .learndash-wrapper .sfwd-mark-complete input[type="submit"],
body.ld-in-focus-mode .learndash-wrapper #learndash_mark_complete_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 18px !important;
	border: 1px solid var(--mha-color-border) !important;
	border-radius: var(--mha-radius-lg) !important;
	background: var(--mha-color-surface) !important;
	color: var(--mha-color-text) !important;
	font-weight: 700;
	text-decoration: none !important;
}

/* "Lección anterior"/"Siguiente Lección" son <a class="ld-button "> (sin
   "-transparent") en las lecciones normales — el propio CSS de LearnDash
   trae ".learndash-wrapper ... a:not(.button):not(.screen-reader-shortcut)
   { border-bottom: none !important; }" y como usan "ld-button" (no
   "button" a secas) sí les aplica. Esa regla empata o gana en
   especificidad a la de arriba y les comía el borde inferior (quedaban
   con la caja "abierta" por abajo). Se sube la especificidad con
   :not() inocuos para ganar siempre. */
body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-button:not([disabled]):not(.ld--ignore-inline-css) {
	border-bottom: 1px solid var(--mha-color-border) !important;
}

/* LearnDash guarda en el Customizer ("LearnDash LMS -> LD30") un color
   fijo (rgb(29,29,29), el gris oscuro original del sitio) que WordPress
   inyecta como <style> inline con una lista de selectores tan larga
   que su especificidad (6 clases) le gana a las reglas de arriba (4-5
   clases) aunque ambas usen !important. Se sube la especificidad
   agregando :not() inocuos para igualar/superarla sin depender del
   orden de carga. Nota: ese mismo rgb(29,29,29) es justo el valor de
   --mha-color-surface en tema oscuro, por eso el botón "hereda" ese
   fondo fijo casi sin notarse — pero en tema claro sí se nota, de ahí
   la necesidad de esta regla con variable en vez del valor fijo. */
body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-button:not([disabled]):not(.ld--ignore-inline-css),
body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-course-step-back:not([disabled]):not(.ld--ignore-inline-css),
body.ld-in-focus-mode .learndash-wrapper .sfwd-mark-complete input[type="submit"]:not([disabled]):not(.ld--ignore-inline-css),
body.ld-in-focus-mode .learndash-wrapper #learndash_mark_complete_button:not([disabled]):not(.ld--ignore-inline-css) {
	background: var(--mha-color-surface) !important;
	color: var(--mha-color-text) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-button:not([disabled]):not(.ld--ignore-inline-css):hover,
body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-button:not([disabled]):not(.ld--ignore-inline-css):focus-visible,
body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-course-step-back:not([disabled]):not(.ld--ignore-inline-css):hover,
body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-course-step-back:not([disabled]):not(.ld--ignore-inline-css):focus-visible,
body.ld-in-focus-mode .learndash-wrapper .sfwd-mark-complete input[type="submit"]:not([disabled]):not(.ld--ignore-inline-css):hover,
body.ld-in-focus-mode .learndash-wrapper #learndash_mark_complete_button:not([disabled]):not(.ld--ignore-inline-css):hover {
	background: var(--mha-color-accent) !important;
	border-color: var(--mha-color-accent) !important;
	color: #fff !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-button.ld-button-transparent:not([disabled]):not(.ld--ignore-inline-css) {
	background: var(--mha-color-surface) !important;
	color: var(--mha-color-text) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-button {
	gap: 12px;
	min-width: 190px;
}

/* Los botones "Tema anterior"/"Siguiente Lección" usan .ld-button-transparent
   (variante fantasma). Igual que el .ld-button base: fondo del color de la
   página (--mha-color-surface) y borde del color de los contenedores
   (--mha-color-border), no naranja sólido.
   El propio CSS de LearnDash trae la regla
   ".learndash-wrapper ... a:not(.button):not(.screen-reader-shortcut) {
   border-bottom: none !important; }" — como estos enlaces usan la clase
   "ld-button" (no "button" a secas), sí les aplica y empataba en
   especificidad con la regla de abajo, ganando por orden de carga y
   dejando el botón sin borde inferior (se veía "abierto" por debajo). Se
   agrega :not([disabled]) para subir la especificidad y ganar siempre. */
body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-button.ld-button-transparent:not([disabled]) {
	background: var(--mha-color-surface-raised) !important;
	border: 1px solid var(--mha-color-border) !important;
	border-bottom: 1px solid var(--mha-color-border) !important;
	color: var(--mha-color-text) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-button.ld-button-transparent:hover,
body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-button.ld-button-transparent:focus-visible {
	background: var(--mha-color-accent) !important;
	color: #fff !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .sfwd-mark-complete input[type="submit"],
body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .sfwd-mark-complete #learndash_mark_complete_button {
	min-width: 210px;
	padding: 10px 48px 10px 22px !important;
	text-align: center;
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .sfwd-mark-complete::after {
	position: absolute !important;
	top: 50% !important;
	right: 18px !important;
	left: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	transform: translateY(-50%) !important;
	pointer-events: none;
}

body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-button:hover,
body.ld-in-focus-mode .learndash-wrapper .sfwd-mark-complete input[type="submit"]:hover {
	background: var(--mha-color-accent-hover) !important;
	border-color: var(--mha-color-accent-hover) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-progress {
	margin: 0 0 24px;
	padding: 18px;
	border: 1px solid var(--mha-color-border);
	border-radius: 6px;
	background: var(--mha-color-surface-raised);
}

body.ld-in-focus-mode .learndash-wrapper .ld-progress .ld-progress-bar {
	background: var(--mha-color-tint-strong) !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-progress .ld-progress-bar-percentage {
	background: var(--mha-color-accent) !important;
}

body.ld-in-focus-mode .learndash-wrapper .wpProQuiz_content {
	padding: clamp(20px, 3vw, 32px);
	color: var(--mha-color-text-muted);
}

body.ld-in-focus-mode .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionList,
body.ld-in-focus-mode .learndash-wrapper .wpProQuiz_content .wpProQuiz_results {
	border: 1px solid var(--mha-color-border) !important;
	border-radius: 6px;
	background: var(--mha-color-surface) !important;
}

body.ld-in-focus-mode .learndash-wrapper .wpProQuiz_content input[type="button"],
body.ld-in-focus-mode .learndash-wrapper .wpProQuiz_content input[type="submit"] {
	border: 1px solid var(--mha-color-accent) !important;
	border-radius: 6px !important;
	background: var(--mha-color-accent) !important;
	color: #fff !important;
}

.ld-focus-sidebar-wrapper::-webkit-scrollbar-track,
body.ld-in-focus-mode.admin-bar .ld-focus-sidebar-wrapper::-webkit-scrollbar-track {
	background: var(--mha-color-surface-raised);
}

.ld-focus-sidebar-wrapper::-webkit-scrollbar-thumb,
body.ld-in-focus-mode.admin-bar .ld-focus-sidebar-wrapper::-webkit-scrollbar-thumb {
	background: rgba(242, 96, 65, .65);
}

/* El botón "‹" para colapsar el sidebar de Focus Mode no hacía nada en
   escritorio: el CSS propio de LearnDash para .ld-focus-sidebar-collapsed
   (encoger el sidebar a una franja angosta) solo estaba cubierto aquí
   dentro de los media query de tablet/móvil de abajo. En pantallas anchas
   la clase se agregaba (aria-expanded cambiaba) pero nada se veía distinto.
   Se agrega el mismo tratamiento para el resto de los anchos. */
body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-sidebar-collapsed .ld-focus-sidebar {
	width: 64px;
	overflow: hidden;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-sidebar-collapsed .ld-focus-main {
	margin-left: 64px;
}

/* .ld-course-navigation-heading trae un width:350px fijo de fábrica en el
   CSS de LearnDash, independiente del ancho del sidebar que lo contiene —
   por eso la primera versión de este arreglo dejaba el encabezado
   ("Google ads" + el botón "‹") con su ancho original de 350px flotando
   por encima del riel angosto de 64px, en vez de encogerse junto con él. */
body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-sidebar-collapsed .ld-course-navigation-heading {
	width: 64px !important;
	padding-right: 0 !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-sidebar-collapsed .ld-course-navigation-list,
body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-sidebar-collapsed .ld-focus-mode-course-heading-wrapper {
	opacity: 0;
	pointer-events: none;
}

/* La regla de arriba (.ld-focus-sidebar-trigger .ld-icon { transform: none
   !important }) también tapaba el giro de 180° con el que LearnDash indica
   visualmente que el sidebar está colapsado. Se reactiva solo en ese
   estado, con más especificidad para ganarle a la de arriba. */
body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-sidebar-collapsed .ld-focus-sidebar .ld-focus-sidebar-trigger .ld-icon {
	transform: rotate(180deg) !important;
}

@media (max-width: 1024px) {
	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo {
		width: 300px;
	}

	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar {
		width: 300px;
	}

	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main {
		margin-left: 300px;
		padding-top: 72px !important;
	}
}

@media (max-width: 768px) {
	/* El propio CSS de LearnDash ya resuelve esto en móvil (el header pasa
	   de position:fixed + height:51px a position:relative + height:auto,
	   apilando en varias filas: logo, progreso, menú de usuario), pero
	   nuestra regla de arriba (sin media query) fija height:72px con más
	   especificidad y le ganaba, recortando esas filas extra — se veían
	   encimadas con el título de la lección. Se restaura el auto-height
	   solo en este ancho. */
	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header {
		height: auto;
	}

	/* Nuestra regla de arriba (sin media query) fija display:flex en el
	   logo con más especificidad que la regla propia de LearnDash que lo
	   oculta en móvil (.ld-brand-logo { display:none } dentro de su propio
	   @media max-width:768px). Al ganar esa pelea, el logo se quedaba
	   visible y ocupando espacio en la misma fila que el menú hamburguesa,
	   la barra de progreso y los iconos de cuenta/tema, amontonándolo todo
	   y tapando el texto del porcentaje. Se restaura el ocultamiento aquí. */
	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-brand-logo {
		display: none !important;
		width: auto;
		border-right: 0;
	}

	/* En el ancho angosto del header móvil no cabe la barra junto al
	   avatar y el botón de tema sin apretujarse — se deja solo el texto
	   del porcentaje ("18% COMPLETE") y se oculta la barra visual. */
	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-progress-bar {
		display: none !important;
	}

	/* El margin-bottom de la regla base reservaba espacio para la barra
	   que iba debajo del texto; con la barra oculta en móvil, ese margen
	   dejaba el texto "18% COMPLETE" descentrado hacia arriba respecto al
	   avatar y el botón de tema, que sí quedan centrados verticalmente en
	   la fila de 72px. */
	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-header .ld-progress-heading {
		margin-bottom: 0 !important;
	}

	/* LearnDash posiciona el cajón (top) calculando adminbar + su propio
	   header de 51px de alto — pero nuestro header real mide 72px en
	   escritorio y crece más en móvil (varias filas apiladas, ver arriba).
	   El cajón quedaba empezando antes de que el header terminara,
	   dejando un tramo del header de la página asomándose por encima y
	   chocando con el propio encabezado del cajón (el título del curso y
	   el botón de cerrar). Se fuerza a cubrir toda la pantalla en vez de
	   depender de ese cálculo. */
	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar {
		width: 100%;
		max-width: 340px;
		top: 0 !important;
		height: 100vh !important;
		padding-top: 0 !important;
		transform: translateX(0) !important;
	}

	body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-sidebar-collapsed .ld-focus-sidebar {
		transform: translateX(-100%) !important;
	}

	/* La regla general (fuera de este media query, pensada para el riel
	   angosto de escritorio) fija width:64px cuando está colapsado. En
	   escritorio el riel se ve (por eso mide 64px); en móvil el cajón se
	   oculta con translateX(-100%) en vez de encogerse — pero translateX
	   no saca al elemento del flujo del layout, así que esos 64px seguían
	   contando como ancho real dentro de .ld-focus (display:flex),
	   empujando el contenido y generando scroll horizontal roto. Se
	   restaura el ancho completo aquí, ya que el ocultamiento lo hace el
	   transform, no el ancho. */
	body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-sidebar-collapsed .ld-focus-sidebar {
		width: 100% !important;
		max-width: 340px !important;
	}

	/* Con el header en position:relative (ver arriba) ya no hace falta
	   reservarle espacio con padding-top: queda en flujo normal, antes del
	   contenido. El padding-top:72px fijo que había aquí era el que
	   provocaba el hueco/encimado extra una vez corregido el height. */
	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main {
		margin-left: 0 !important;
		padding-top: 0 !important;
	}

	/* Misma regla gemela del arreglo de arriba: ".ld-focus-sidebar-collapsed
	   .ld-focus-main { margin-left: 64px }" (pensada para el riel de
	   escritorio) no tenía guardia de media query y le ganaba en
	   especificidad a la regla de arriba — el contenido entero (título,
	   iconos de cuenta/tema, texto) quedaba empujado 64px a la derecha en
	   cuanto el sidebar se autocolapsaba en móvil. */
	body.ld-in-focus-mode .learndash-wrapper .ld-focus.ld-focus-sidebar-collapsed .ld-focus-main {
		margin-left: 0 !important;
	}

	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content {
		width: calc(100% - 32px);
		padding: 30px 0 56px !important;
	}

	body.ld-in-focus-mode .learndash-wrapper .ld-content-actions {
		align-items: stretch;
		flex-direction: column;
		grid-template-columns: 1fr;
	}

	body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-content-action,
	body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .sfwd-mark-complete {
		justify-self: stretch !important;
		width: 100% !important;
	}

	body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-button,
	body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .sfwd-mark-complete input[type="submit"] {
		width: 100% !important;
	}
}

/* ---- Footer nativo y cierre de auditoría responsive ---- */

.mha-footer {
	border-top: 1px solid var(--mha-color-border);
	background: var(--mha-color-surface);
}

.mha-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	min-height: 150px;
	padding-block: 32px;
	box-sizing: border-box;
}

.mha-footer__brand {
	display: inline-flex;
	align-items: center;
}

.mha-footer__brand img {
	display: block;
	width: auto;
	max-width: 150px;
	max-height: 68px;
}

.mha-footer__copyright {
	margin: 0;
	color: var(--mha-color-text-muted);
	font-size: var(--mha-type-small);
	text-align: right;
}

@media (max-width: 767px) {
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	.contenedor_principal {
		width: auto !important;
		max-width: none !important;
		margin-inline: 16px !important;
	}

	.mha-auth,
	.mha-auth__intro,
	.mha-auth__panel,
	.mha-shop__grid,
	.mha-shop__card,
	.mha-contact-layout,
	.mha-contact-info,
	.mha-contact-form-card,
	.mha-communities-grid,
	.mha-community-index-card,
	.mha-course-hero__grid,
	.mha-course-hero__content,
	.mha-course-hero__card,
	.mha-course-layout,
	.mha-course-curriculum {
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.mha-auth {
		width: auto !important;
		max-width: none !important;
		margin-inline: 16px !important;
		gap: 32px;
		padding-block: 32px;
	}

	.mha-auth__intro,
	.mha-auth__panel {
		width: 100% !important;
		flex: 1 1 auto;
	}

	.mha-auth__panel {
		padding: 22px;
	}

	.mha-auth__intro h1,
	.mha-auth__intro p,
	.mha-contact-hero h1,
	.mha-contact-hero p,
	.mha-contact-info__card h2,
	.mha-contact-info__card p,
	.mha-contact-info__tip p,
	.mha-page-banner__title,
	.mha-communities-index__intro,
	.mha-communities-index__heading h2,
	.mha-community-index-card h3,
	.mha-community-index-card p,
	.mha-course-hero h1,
	.mha-course-hero__summary,
	.mha-course-module h2,
	.mha-course-lesson h3 {
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.mha-shop__toolbar {
		align-items: stretch;
		flex-direction: column;
		gap: 14px;
	}

	.mha-shop__toolbar .woocommerce-ordering,
	.mha-shop__toolbar .orderby {
		width: 100%;
	}

	.mha-shop__grid {
		grid-template-columns: minmax(0, 1fr) !important;
		width: 100% !important;
	}

	.mha-shop__grid > *,
	.mha-shop__card,
	.mha-shop__card-media,
	.mha-shop__card-body,
	.mha-contact__layout,
	.mha-contact__info,
	.mha-contact__form-card,
	.mha-communities-grid > *,
	.mha-course-layout > *,
	body.ld-in-focus-mode .learndash-wrapper,
	body.ld-in-focus-mode .learndash-wrapper .ld-focus,
	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main,
	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-content {
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	img,
	video,
	iframe {
		max-width: 100%;
	}

	body.ld-in-focus-mode .learndash-wrapper .ld-breadcrumbs,
	body.ld-in-focus-mode .learndash-wrapper .ld-breadcrumbs-segments {
		min-width: 0;
		max-width: 100%;
	}

	body.ld-in-focus-mode .learndash-wrapper .ld-breadcrumbs-segments {
		display: block;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content {
		width: auto !important;
		max-width: none !important;
		margin-inline: 16px !important;
		padding: 30px 0 56px !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page__header,
	body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page > .page-content {
		width: auto !important;
		max-width: none !important;
		margin-inline: 16px !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .mha-checkout-page__header > p,
	body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle .woocommerce-info,
	body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle .showcoupon {
		overflow-wrap: anywhere;
	}

	html body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon.woocommerce-form-coupon,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #customer_details,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout #order_review_heading {
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .woocommerce-billing-fields__field-wrapper {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row-first,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row-last,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .form-row-wide {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.mha-community-index-card__meta,
	.mha-course-hero__facts {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.mha-contact-info__card {
		grid-template-columns: 44px minmax(0, 1fr);
		padding: 18px;
	}

	.mha-contact-info__icon {
		width: 44px;
		height: 44px;
	}

	.mha-footer__inner {
		align-items: center;
		flex-direction: column;
		justify-content: center;
		gap: 18px;
		min-height: 180px;
		text-align: center;
	}

	.mha-footer__copyright {
		width: 100%;
		text-align: center;
	}
}

/* Plantilla Elementor "Single Product" (post 1707): el widget de título
   trae el color forzado a blanco (#FFFFFF) en post-1707.css, pensado para
   quedar sobre la imagen del producto. En el layout real esa columna de
   texto tiene fondo blanco propio (no la imagen), así que el título queda
   invisible tanto en escritorio como en móvil. */
.elementor-1707 .elementor-element.elementor-element-408035a .elementor-heading-title,
.elementor-1707 .elementor-element.elementor-element-38c56f5 {
	color: var(--mha-color-text) !important;
}

/* El botón flotante "Crear nota / Ver mis notas" del plugin LearnDash User
   Notes es position:fixed, anclado a bottom-right, y en cualquier página con
   contenido angosto en móvil (lecciones cortas, el formulario de "Crear
   discusión" del foro, etc.) termina tapando botones o campos reales. Antes
   eran dos píldoras anchas con texto (hasta 304px de ancho, 54px de alto) —
   en móvil se reducen a círculos pequeños solo-ícono para que estorben
   mucho menos y de paso se vean más limpios. */
@media (max-width: 767px) {
	.ldun-fab-wrap {
		gap: 8px;
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
		backdrop-filter: none;
	}

	.ldun-fab {
		width: 46px !important;
		height: 46px !important;
		padding: 0 !important;
		border-radius: 50%;
		box-shadow: 0 6px 16px rgba(0, 0, 0, .28);
	}

	.ldun-fab-text {
		display: none;
	}

	.ldun-fab-icon {
		margin: 0 !important;
	}

	/* En lecciones cortas de LearnDash, la barra "Tema anterior / Siguiente
	   Lección / Marcar como completado" también cae cerca del fondo de la
	   pantalla — se sube el FAB un poco más solo ahí para no encimarse. */
	body.ld-in-focus-mode .ldun-fab-wrap.bottom-right {
		--ldun-offset-y: 130px;
	}
}

/* La página por defecto de LearnDash [ld_profile] (/profile/) nunca recibió
   el tratamiento oscuro del resto del sitio: sus tarjetas de curso salen en
   blanco puro sobre el fondo oscuro del tema. Mis cursos/Dashboard ya
   cubren este mismo contenido con el diseño correcto; esto solo evita que
   quien llegue directo a /profile/ (o el propio LearnDash) vea una vista
   rota. */
.learndash-wrapper.ld-profile {
	color: var(--mha-color-text-muted);
}

.learndash-wrapper.ld-profile .ld-profile-heading,
.learndash-wrapper.ld-profile .ld-profile-stat-count {
	color: var(--mha-color-text) !important;
}

.learndash-wrapper.ld-profile .ld-profile-edit-link,
.learndash-wrapper.ld-profile .ld-item-name {
	color: var(--mha-color-accent) !important;
}

.learndash-wrapper.ld-profile .ld-item-list-item-preview,
.learndash-wrapper.ld-profile .ld-item-list-item {
	background: var(--mha-color-surface-raised) !important;
	border-color: var(--mha-color-border) !important;
	color: var(--mha-color-text-muted) !important;
}

.learndash-wrapper.ld-profile input[type="text"],
.learndash-wrapper.ld-profile input[type="search"] {
	background: var(--mha-color-surface) !important;
	border-color: var(--mha-color-border) !important;
	color: var(--mha-color-text) !important;
}

/* El enlace "Volver a Curso" original de LearnDash (course-steps.php) queda
   oculto: mha_learndash_back_to_course_link() en functions.php ya pinta su
   reemplazo (.mha-ld-back-to-course) arriba del título de la lección/tema.
   Selector con la misma cadena de especificidad que la regla de
   ld-in-focus-mode más arriba (que fija display:inline-flex !important),
   para poder ganarle estando declarada después. */
.ld-content-actions .ld-course-step-back,
body.ld-in-focus-mode .learndash-wrapper .ld-content-actions .ld-course-step-back {
	display: none !important;
}
