@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,500;0,600;1,500&family=Public+Sans:wght@400;500;600;700&display=swap');

/*
 * Experiencia de curso a ancho completo.
 * Todo queda limitado a cursos que tengan activada la plantilla Campus Renacer.
 */
body.ercampus-course-shell .top_site_main,
body.ercampus-course-shell .page-title-wrapper,
body.ercampus-course-shell .course-thumbnail,
body.ercampus-course-shell .course-cover,
body.ercampus-course-shell .course-featured-image,
body.ercampus-course-shell .course-summary-sidebar,
body.ercampus-course-shell .course-sidebar-preview,
body.ercampus-course-shell .course-sidebar,
body.ercampus-course-shell .course-curriculum,
body.ercampus-course-shell .course-announcements,
body.ercampus-course-shell .course-instructor,
body.ercampus-course-shell .course-reviews,
body.ercampus-course-shell .course-review,
body.ercampus-course-shell .course-students-list,
body.ercampus-course-shell #learn-press-course .course-thumbnail,
body.ercampus-course-shell #learn-press-course .course-cover,
body.ercampus-course-shell #learn-press-course .course-featured-image,
body.ercampus-course-shell #learn-press-course .course-summary-sidebar,
body.ercampus-course-shell #learn-press-course .course-sidebar-preview,
body.ercampus-course-shell #learn-press-course .course-sidebar,
body.ercampus-course-shell #learn-press-course .course-curriculum,
body.ercampus-course-shell #learn-press-course .course-announcements,
body.ercampus-course-shell #learn-press-course .course-instructor,
body.ercampus-course-shell #learn-press-course .course-reviews,
body.ercampus-course-shell #learn-press-course .course-review,
body.ercampus-course-shell #learn-press-course .course-students-list,
body.ercampus-course-shell #learn-press-course .course-extra-box,
body.ercampus-course-shell #learn-press-course .course-info,
body.ercampus-course-shell #learn-press-course .learn-press-course-wishlist,
body.ercampus-course-shell #learn-press-course .course-sharing,
body.ercampus-course-shell .thim-course-menu-landing,
body.ercampus-course-shell .thim-related-course,
body.ercampus-course-shell .related-courses { display: none !important; }

.ercampus-theme-hidden { display: none !important; }

/* Plantilla propia 1.0.25: Eduma aporta solo cabecera y pie. */
body.ercampus-course-shell .erc-campus-main-content,
body.ercampus-course-shell .erc-campus-content-area,
body.ercampus-course-shell .erc-campus-page,
body.ercampus-course-shell .erc-campus-page__main {
	background:#f8f5f3!important;
	box-sizing:border-box!important;
	float:none!important;
	margin:0!important;
	max-width:none!important;
	min-height:0!important;
	overflow:visible!important;
	padding:0!important;
	width:100%!important;
}
body.ercampus-course-shell #sidebar,
body.ercampus-course-shell .sticky-sidebar,
body.ercampus-course-shell [data-widget_type*="course-price"],
body.ercampus-course-shell [data-widget_type*="course-wishlist"],
body.ercampus-course-shell [data-widget_type*="course-share"],
body.ercampus-course-shell .breadcrumbs,
body.ercampus-course-shell .breadcrumb,
body.ercampus-course-shell .breadcrumbs-wrapper { display:none!important; }
body.ercampus-course-shell .erc-campus-page .ercampus { max-width:1600px; }

.erc-announcements { display: grid; gap: 18px; }
.erc-announcement { border: 1px solid #eadde4; border-radius: 18px; padding: 22px; background: #fff; }
.erc-announcement h3 { margin: 0 0 4px; color: #8e7999; }
.erc-announcement time { display: block; margin-bottom: 12px; color: #68736f; font-size: 13px; }
.erc-announcement p:last-child { margin-bottom: 0; }

/*
 * La lección Campus reemplaza la ficha editorial de Eduma. Se ocultan solo
 * los restos externos del tema; el contenido, las notas y el foro del Campus
 * permanecen disponibles dentro de .ercampus.erc-lesson.
 */
body.single-lp_lesson.ercampus-course-shell .entry-header,
body.single-lp_lesson.ercampus-course-shell .entry-meta,
body.single-lp_lesson.ercampus-course-shell .entry-footer,
body.single-lp_lesson.ercampus-course-shell .entry-navigation,
body.single-lp_lesson.ercampus-course-shell .navigation.post-navigation,
body.single-lp_lesson.ercampus-course-shell .post-navigation,
body.single-lp_lesson.ercampus-course-shell .nav-links,
body.single-lp_lesson.ercampus-course-shell .thim-about-author,
body.single-lp_lesson.ercampus-course-shell .author-info,
body.single-lp_lesson.ercampus-course-shell .post-author,
body.single-lp_lesson.ercampus-course-shell .thim-social-share,
body.single-lp_lesson.ercampus-course-shell .entry-tag-share,
body.single-lp_lesson.ercampus-course-shell .share-post,
body.single-lp_lesson.ercampus-course-shell .thim-related-posts,
body.single-lp_lesson.ercampus-course-shell .related-posts,
body.single-lp_lesson.ercampus-course-shell .related-archive,
body.single-lp_lesson.ercampus-course-shell .comments-area,
body.single-lp_lesson.ercampus-course-shell #comments { display: none !important; }

/* Respaldo para plantillas Eduma que no conservan la clase single-lp_lesson. */
body.ercampus-lesson-shell .entry-navigation,
body.ercampus-lesson-shell .navigation.post-navigation,
body.ercampus-lesson-shell .post-navigation,
body.ercampus-lesson-shell .nav-links,
body.ercampus-lesson-shell .nav-previous,
body.ercampus-lesson-shell .nav-next,
body.ercampus-lesson-shell [class*="single-post-nav"],
body.ercampus-lesson-shell [class*="prev-next"] { display: none !important; }

/* Plantilla Single Course de Thim Elementor Kit (clases verificadas en sitio). */
body:has(.ercampus.erc-home) [data-widget_type^="thim-ekits-course-"]:not(:has(.ercampus.erc-home)),
body:has(.ercampus.erc-home) .ekits-content-course-list > .list-section:not(:has(.ercampus.erc-home)),
body:has(.ercampus.erc-home) .list-section:has(.ercampus.erc-home) > .tab-item,
body:has(.ercampus.erc-home) .thim-ekit-single-course__image,
body:has(.ercampus.erc-home) .thim-ekit-single-course__meta,
body:has(.ercampus.erc-home) .thim-ekit-single-course__title,
body:has(.ercampus.erc-home) .thim-ekit-single-course__author,
body:has(.ercampus.erc-home) .thim-ekit-single-course__instructor,
body:has(.ercampus.erc-home) .thim-ekit-single-course__byline,
body:has(.ercampus.erc-home) .thim-ekit-single-course__rating,
body:has(.ercampus.erc-home) .thim-ekit-single-course__price,
body:has(.ercampus.erc-home) .thim-ekit-single-course__wishlist,
body:has(.ercampus.erc-home) .thim-ekit-single-course__share,
body:has(.ercampus.erc-home) [class*="thim-ekit-single-course"][class*="price"],
body:has(.ercampus.erc-home) [class*="thim-ekit-single-course"][class*="wishlist"],
body:has(.ercampus.erc-home) [class*="thim-ekit-single-course"][class*="share"],
body:has(.ercampus.erc-home) [data-widget_type*="course-price"],
body:has(.ercampus.erc-home) [data-widget_type*="course-wishlist"],
body:has(.ercampus.erc-home) [data-widget_type*="course-share"] { display: none !important; }

body:has(.ercampus.erc-home) [data-widget_type*="course-author"],
body:has(.ercampus.erc-home) [data-widget_type*="course-instructor"] { display: none !important; }

/* Variante del autor de Thim que utiliza una lista de Elementor sin nombre de widget. */
body.ercampus-course-shell .elementor-icon-list-item:has(.instructor-display-name),
body.ercampus-course-shell li:has(> a .instructor-display-name),
body:has(.ercampus.erc-home) .elementor-icon-list-item:has(.instructor-display-name),
body:has(.ercampus.erc-home) li:has(> a .instructor-display-name) { display: none !important; }

body:has(.ercampus.erc-home) [data-widget_type^="thim-ekits-course-"]:has(.ercampus.erc-home),
body:has(.ercampus.erc-home) [data-widget_type^="thim-ekits-course-"]:has(.ercampus.erc-home) > .elementor-widget-container,
body:has(.ercampus.erc-home) .thim-ekit-single-course__tabs,
body:has(.ercampus.erc-home) .ekits-content-course-list,
body:has(.ercampus.erc-home) .list-section:has(.ercampus.erc-home),
body:has(.ercampus.erc-home) [class*="course-tab-panel"]:has(.ercampus.erc-home) {
	display: block !important;
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

/* Respaldo moderno: funciona aunque Eduma omita la clase de body de WordPress. */
body:has(.ercampus.erc-home) .course-thumbnail,
body:has(.ercampus.erc-home) .course-cover,
body:has(.ercampus.erc-home) .course-featured-image,
body:has(.ercampus.erc-home) .course-summary-sidebar,
body:has(.ercampus.erc-home) .course-sidebar-preview,
body:has(.ercampus.erc-home) .course-sidebar,
body:has(.ercampus.erc-home) .course-curriculum,
body:has(.ercampus.erc-home) .course-tab-panel-curriculum,
body:has(.ercampus.erc-home) .course-announcements,
body:has(.ercampus.erc-home) .course-tab-panel-announcements,
body:has(.ercampus.erc-home) .course-instructor,
body:has(.ercampus.erc-home) .course-tab-panel-instructor,
body:has(.ercampus.erc-home) .course-reviews,
body:has(.ercampus.erc-home) .course-review,
body:has(.ercampus.erc-home) .course-tab-panel-reviews,
body:has(.ercampus.erc-home) .course-students-list,
body:has(.ercampus.erc-home) .course-tab-panel-students-list,
body:has(.ercampus.erc-home) .course-extra-box,
body:has(.ercampus.erc-home) .course-info,
body:has(.ercampus.erc-home) .course-meta,
body:has(.ercampus.erc-home) .course-author,
body:has(.ercampus.erc-home) .course-rating,
body:has(.ercampus.erc-home) .course-title,
body:has(.ercampus.erc-home) h1.entry-title,
body:has(.ercampus.erc-home) .course-nav-tabs,
body:has(.ercampus.erc-home) .learn-press-nav-tabs,
body:has(.ercampus.erc-home) .learn-press-course-wishlist,
body:has(.ercampus.erc-home) .course-sharing,
body:has(.ercampus.erc-home) .thim-related-course,
body:has(.ercampus.erc-home) .related-courses { display: none !important; }

body.ercampus-shell-ready .ercampus-shell-path {
	box-sizing: border-box !important;
	float: none !important;
	max-width: none !important;
	width: 100% !important;
}

body.ercampus-shell-ready .e-con.ercampus-shell-path,
body.ercampus-shell-ready .elementor-column.ercampus-shell-path,
body.ercampus-shell-ready .elementor-element.ercampus-shell-path {
	--width: 100% !important;
	flex-basis: 100% !important;
	max-width: 100% !important;
	width: 100% !important;
}

/* Recompone la plantilla después de retirar la rama lateral de Eduma. */
body.ercampus-shell-ready .e-con.ercampus-shell-layout,
body.ercampus-shell-ready .elementor-container.ercampus-shell-layout,
body.ercampus-shell-ready .elementor-row.ercampus-shell-layout,
body.ercampus-shell-ready .e-con-inner.ercampus-shell-layout {
	--content-width: 100% !important;
	--width: 100% !important;
	display: block !important;
	grid-template-columns: minmax(0, 1fr) !important;
	max-width: none !important;
	width: 100% !important;
}

body.ercampus-shell-ready .ercampus-shell-layout > .ercampus-shell-path {
	flex: 0 0 100% !important;
	margin-inline: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

body.ercampus-shell-ready #learn-press-course,
body.ercampus-shell-ready #learn-press-course .course-summary,
body.ercampus-shell-ready #learn-press-course .course-landing-summary,
body.ercampus-shell-ready #learn-press-course .course-tabs,
body.ercampus-shell-ready #learn-press-course .course-tab-panels,
body.ercampus-shell-ready #learn-press-course .course-tab-panel-overview,
body.ercampus-shell-ready #learn-press-course .course-description {
	display: block !important;
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

body.ercampus-course-shell .site-content,
body.ercampus-course-shell .site-content > .container,
body.ercampus-course-shell #main-content,
body.ercampus-course-shell #main-content > .container,
body.ercampus-course-shell #primary,
body.ercampus-course-shell .content-area,
body.ercampus-course-shell #learn-press-course,
body.ercampus-course-shell #learn-press-course .course-summary,
body.ercampus-course-shell #learn-press-course .course-summary-content,
body.ercampus-course-shell #learn-press-course .course-content,
body.ercampus-course-shell #learn-press-course .course-description {
	box-sizing: border-box !important;
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: none !important;
	width: 100% !important;
}

body.ercampus-course-shell .site-content > .container,
body.ercampus-course-shell #main-content > .container { padding-left: 0 !important; padding-right: 0 !important; }
body.ercampus-course-shell #learn-press-course .course-summary,
body.ercampus-course-shell #learn-press-course .course-description { margin-bottom: 0 !important; padding: 0 !important; }
body.ercampus-course-shell #learn-press-course .course-tabs,
body.ercampus-course-shell #learn-press-course .course-nav-tabs { border: 0 !important; margin: 0 !important; }
body.ercampus-course-shell #learn-press-course .course-nav-tabs { display: none !important; }

.ercampus {
	--erc-ink: #382a35;
	--erc-plum: #8e7999;
	--erc-rose: #947e94;
	--erc-rose-soft: #f7edf2;
	--erc-teal: #7c9485;
	--erc-teal-dark: #7c9485;
	--erc-teal-soft: #edf8f7;
	--erc-green: #39745d;
	--erc-paper: #fffdfa;
	--erc-sand: #f5f0e9;
	--erc-line: #e7dfe2;
	--erc-muted: #746a72;
	--erc-shadow: 0 18px 48px rgba(74, 42, 63, .08);
	color: var(--erc-ink);
	font-family: "Public Sans", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	margin: 0 auto;
	max-width: 1500px;
	padding: 26px clamp(18px, 3vw, 52px) 64px;
	width: 100%;
}

.ercampus *, .ercampus *::before, .ercampus *::after { box-sizing: border-box; }
.ercampus h1, .ercampus h2, .ercampus h3, .ercampus p { margin-top: 0; }
.ercampus h1, .ercampus h2 { font-family: "Fraunces", Georgia, serif; color: var(--erc-plum); font-weight: 600; line-height: 1.12; }
.ercampus a { color: var(--erc-plum); text-decoration: none; }
.ercampus a:hover { color: var(--erc-teal-dark); }
.ercampus img { max-width: 100%; }
.ercampus .erc-icon { width: 22px; height: 22px; flex: 0 0 auto; }
.ercampus :focus-visible { outline: 3px solid rgba(35, 138, 136, .35); outline-offset: 3px; }

.erc-hero {
	background: var(--erc-paper);
	border: 1px solid var(--erc-line);
	border-radius: 24px;
	box-shadow: var(--erc-shadow);
	display: grid;
	grid-template-columns: minmax(0, 1.06fr) minmax(420px, .94fr);
	min-height: 510px;
	overflow: hidden;
}
.erc-hero__content { align-self: center; grid-column: 1; grid-row: 1; max-width: none; padding: 54px clamp(34px, 4.5vw, 68px); position: relative; z-index: 2; }
.erc-hero__media { background-image: var(--erc-hero-image); background-position: center; background-size: cover; grid-column: 2; grid-row: 1; min-height: 510px; }
.erc-hero__logo { display: block; height: auto; margin: 0 0 20px; max-width: 238px !important; object-fit: contain; width: min(238px,70%); }
.erc-eyebrow, .erc-kicker { color: var(--erc-teal-dark); display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.erc-hero h1 { font-size: clamp(38px, 3.7vw, 58px); margin: 12px 0 10px; max-width: 760px; }
.erc-hero__subtitle { color: var(--erc-rose); font-family: "Fraunces", Georgia, serif; font-size: clamp(22px, 2.5vw, 32px); font-style: italic; }
.erc-hero__content > p:not(.erc-hero__subtitle) { font-size: 17px; max-width: 610px; }
.erc-hero__stats { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.erc-hero__stats span { align-items: center; background: rgba(255,255,255,.84); border: 1px solid var(--erc-line); border-radius: 999px; display: flex; gap: 6px; padding: 8px 14px; }
.erc-hero__stats strong { color: var(--erc-teal-dark); }
.erc-course-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.erc-course-actions form { margin: 0 !important; }
.erc-course-actions button,
.erc-course-actions .button,
.erc-course-actions input[type="submit"] { background: linear-gradient(135deg,var(--erc-teal),var(--erc-teal-dark)) !important; border: 0 !important; border-radius: 10px !important; box-shadow: 0 8px 20px rgba(124,148,133,.2); color: #fff !important; font: 700 14px/1 "Public Sans",Arial,sans-serif !important; min-height: 46px; padding: 13px 22px !important; text-transform: none !important; }
.erc-course-actions button:hover,
.erc-course-actions .button:hover,
.erc-course-actions input[type="submit"]:hover { filter: brightness(.94); transform: translateY(-1px); }

.erc-quick-nav { background: #fff; border: 1px solid var(--erc-line); border-radius: 16px; box-shadow: 0 10px 28px rgba(55,32,47,.06); display: grid; grid-template-columns: repeat(6, 1fr); margin: 22px 0 34px; overflow: hidden; position: sticky; top: 10px; z-index: 20; }
.erc-quick-nav a { align-items: center; border-right: 1px solid var(--erc-line); display: flex; gap: 9px; justify-content: center; min-height: 58px; padding: 11px; }
.erc-quick-nav a:last-child { border-right: 0; }
.erc-quick-nav a:hover { background: var(--erc-teal-soft); }

.erc-overview { display: grid; gap: 24px; grid-template-columns: minmax(280px,.72fr) minmax(500px,1.28fr); margin-bottom: 42px; }
.erc-progress-card, .erc-documents, .erc-welcome-video, .erc-notes, .erc-resource-section { background: #fff; border: 1px solid var(--erc-line); border-radius: 18px; padding: 28px; }
.erc-section-heading { align-items: flex-end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 18px; }
.erc-section-heading h2 { font-size: 28px; margin: 3px 0 0; }
.erc-section-heading > span { color: var(--erc-muted); font-size: 14px; }
.erc-progress-card .erc-section-heading > strong { color: var(--erc-teal-dark); font: 600 34px/1 "Fraunces", Georgia, serif; }
.erc-progress { background: var(--erc-sand); border-radius: 99px; height: 9px; overflow: hidden; }
.erc-progress span { background: linear-gradient(90deg,var(--erc-teal),var(--erc-rose)); border-radius: inherit; display: block; height: 100%; }
.erc-progress-card p { color: var(--erc-muted); font-size: 14px; margin: 12px 0 0; }
.erc-documents h2 { font-size: 28px; margin-bottom: 18px; }
.erc-document-grid { display: grid; gap: 12px; }
.erc-document { align-items: center; background: var(--erc-paper); border: 1px solid var(--erc-line); border-radius: 12px; display: grid; gap: 12px; grid-template-columns: auto 1fr auto; min-height: 74px; padding: 13px 16px; }
.erc-document > .erc-icon:first-child { color: var(--erc-rose); height: 30px; width: 30px; }
.erc-document span { display: flex; flex-direction: column; }
.erc-document small { color: var(--erc-muted); }
.erc-document--disabled { opacity: .6; }

.erc-facts { background: linear-gradient(120deg,#fff,var(--erc-teal-soft)); border: 1px solid rgba(124,148,133,.2); border-radius: 18px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: -16px 0 42px; overflow: hidden; }
.erc-facts article { align-items: center; display: flex; gap: 12px; min-height: 94px; padding: 18px; }
.erc-facts article + article { border-left: 1px solid rgba(124,148,133,.16); }
.erc-facts .erc-icon { color: var(--erc-teal-dark); height: 27px; width: 27px; }
.erc-facts span { display: flex; flex-direction: column; min-width: 0; }
.erc-facts small { color: var(--erc-muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.erc-facts strong { color: var(--erc-ink); font-size: 13px; line-height: 1.35; margin-top: 3px; }

.erc-welcome-video { margin-bottom: 42px; }
.erc-video { background: #211922; border-radius: 16px; box-shadow: 0 12px 34px rgba(39,26,36,.18); overflow: hidden; position: relative; }
.erc-video::before { content: ""; display: block; padding-top: 56.25%; }
.erc-video iframe { border: 0; height: 100%; inset: 0; position: absolute; width: 100%; }

.erc-next { align-items: center; background: linear-gradient(120deg,var(--erc-teal-soft),#fff); border: 1px solid rgba(124,148,133,.25); border-radius: 18px; display: grid; gap: 24px; grid-template-columns: 180px 1fr minmax(180px,auto); margin-bottom: 42px; padding: 24px; }
.erc-next__date { align-items: center; border-right: 1px solid var(--erc-line); display: flex; flex-direction: column; text-align: center; }
.erc-next__date .erc-icon { color: var(--erc-teal); }
.erc-next__date span { font-size: 13px; margin-top: 6px; }
.erc-next__date strong { font-size: 20px; }
.erc-next h2 { font-size: 26px; margin: 7px 0 10px; }
.erc-next__actions { display: grid; gap: 9px; }

.erc-program-map { margin-bottom: 42px; }
.erc-program-map__grid { display: grid; gap: 16px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.erc-program-map__card { background: #fff; border: 1px solid var(--erc-line); border-radius: 16px; box-shadow: 0 10px 26px rgba(74,42,63,.055); color: var(--erc-ink) !important; display: flex; flex-direction: column; min-height: 268px; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.erc-program-map__card:hover { box-shadow: var(--erc-shadow); transform: translateY(-3px); }
.erc-program-map__image { background-color: var(--erc-sand); background-position: center; background-size: cover; display: block; height: 138px; position: relative; }
.erc-program-map__image::after { background: linear-gradient(180deg,transparent,rgba(56,42,53,.16)); content: ""; inset: 0; position: absolute; }
.erc-program-map__body { display: flex; flex: 1; flex-direction: column; padding: 17px 18px 18px; }
.erc-program-map__body small { color: var(--erc-teal-dark); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.erc-program-map__body strong { color: var(--erc-plum); font: 600 18px/1.25 "Fraunces",Georgia,serif; margin-top: 5px; }
.erc-program-map__body em { color: var(--erc-muted); font-size: 12px; font-style: normal; margin-top: auto; padding-top: 12px; }

.erc-modules { margin-bottom: 42px; scroll-margin-top: 82px; }
.erc-module { background: #fff; border: 1px solid var(--erc-line); border-radius: 16px; margin-bottom: 14px; overflow: hidden; }
.erc-module[open] { box-shadow: var(--erc-shadow); }
.erc-module summary { align-items: center; cursor: pointer; display: grid; gap: 18px; grid-template-columns: 128px 60px 1fr auto 22px; list-style: none; min-height: 126px; padding: 18px 26px 18px 18px; }
.erc-module summary::-webkit-details-marker { display: none; }
.erc-module__image { align-self: stretch; background-color: var(--erc-sand); background-position: center; background-size: cover; border-radius: 11px; min-height: 88px; overflow: hidden; }
.erc-module__number { align-items: center; background: var(--erc-teal-soft); border-radius: 12px; color: var(--erc-teal-dark); display: flex; font: 600 20px/1 "Fraunces",Georgia,serif; height: 54px; justify-content: center; }
.erc-module__title { display: flex; flex-direction: column; }
.erc-module__title strong { color: var(--erc-plum); font: 600 22px/1.25 "Fraunces",Georgia,serif; }
.erc-module__title small { color: var(--erc-muted); margin-top: 5px; }
.erc-module__count { background: var(--erc-rose-soft); border-radius: 99px; color: var(--erc-plum); font-size: 12px; padding: 6px 10px; }
.erc-module__chevron { border-bottom: 2px solid currentColor; border-right: 2px solid currentColor; height: 9px; transform: rotate(45deg); transition: transform .2s; width: 9px; }
.erc-module[open] .erc-module__chevron { transform: rotate(225deg); }
.erc-module__content { border-top: 1px solid var(--erc-line); }
.erc-class-row { align-items: center; display: grid; gap: 16px; grid-template-columns: 48px 1fr 160px minmax(150px,auto); padding: 18px 24px; }
.erc-class-row + .erc-class-row { border-top: 1px solid var(--erc-line); }
.erc-class-row:hover { background: #fffcfd; }
.erc-class-row__number { color: #b8adb4; font: 500 20px/1 "Fraunces",Georgia,serif; }
.erc-class-row h3 { font-size: 17px; margin: 6px 0 8px; }
.erc-class-row__date { color: var(--erc-muted); display: grid; font-size: 12px; gap: 6px; }
.erc-class-row__date span { align-items: center; display: flex; gap: 6px; }
.erc-class-row__date .erc-icon { height: 16px; width: 16px; }
.erc-class-row__actions { display: grid; gap: 6px; }

.erc-status { background: var(--erc-sand); border-radius: 99px; color: var(--erc-muted); display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .03em; padding: 5px 9px; text-transform: uppercase; }
.erc-status--upcoming, .erc-status--live { background: var(--erc-teal-soft); color: var(--erc-teal-dark); }
.erc-status--recorded, .erc-status--material { background: #eef6f1; color: var(--erc-green); }
.erc-status--preparing { background: #fff5df; color: #87661e; }
.erc-status--locked { background: #f2eff1; color: #827780; }
.erc-status--configuration { background: #fff5df; color: #87661e; }
.erc-status--passed { background: #eaf5f0; color: #176f62; }

.erc-button { align-items: center; border: 1px solid transparent; border-radius: 9px; display: inline-flex; font-size: 13px; font-weight: 700; gap: 8px; justify-content: center; min-height: 42px; padding: 9px 15px; text-align: center; }
.erc-button .erc-icon { height: 18px; width: 18px; }
.erc-button--primary { background: var(--erc-teal); color: #fff !important; }
.erc-button--primary:hover { background: var(--erc-teal-dark); }
.erc-button--secondary { background: #fff; border-color: var(--erc-rose); color: var(--erc-plum) !important; }
.erc-button--success { background: #fff; border-color: #7caa93; color: var(--erc-green) !important; }
.erc-button--disabled { background: #f4f1f3; color: #9b9298; cursor: not-allowed; }

.erc-teacher { align-items: center; display: flex; gap: 9px; }
.erc-teacher img, .erc-avatar { align-items: center; background: var(--erc-rose-soft); border-radius: 50%; color: var(--erc-plum); display: flex; flex: 0 0 auto; font-size: 11px; height: 34px; justify-content: center; object-fit: cover; width: 34px; }
.erc-teacher span:last-child { display: flex; flex-direction: column; }
.erc-teacher strong { font-size: 13px; }
.erc-teacher small { color: var(--erc-muted); font-size: 11px; }
.erc-teacher--large img, .erc-teacher--large .erc-avatar { height: 54px; width: 54px; }
.erc-teacher--large strong { font-size: 15px; }

.erc-feature-grid { display: grid; gap: 16px; grid-template-columns: repeat(3,1fr); margin-bottom: 24px; scroll-margin-top: 82px; }
.erc-feature, .erc-support-card { background: #fff; border: 1px solid var(--erc-line); border-radius: 16px; display: flex; gap: 16px; padding: 24px; }
.erc-feature > .erc-icon, .erc-support-card > .erc-icon { background: var(--erc-rose-soft); border-radius: 12px; color: var(--erc-rose); height: 48px; padding: 11px; width: 48px; }
.erc-feature h2, .erc-support-card h2 { font-size: 22px; margin-bottom: 8px; }
.erc-feature p, .erc-support-card p { color: var(--erc-muted); font-size: 13px; }
.erc-feature a, .erc-support-card a { align-items: center; display: inline-flex; font-size: 13px; font-weight: 700; gap: 6px; }
.erc-feature a .erc-icon, .erc-support-card a .erc-icon { height: 16px; width: 16px; }
.erc-muted-action { align-items: center; color: var(--erc-muted); display: inline-flex; font-size: 12px; gap: 6px; }
.erc-muted-action .erc-icon { height: 16px; width: 16px; }
.erc-muted-action--success { color: #176f62; font-weight: 700; }
.erc-campus-notice { background:#fff7e6; border:1px solid #ead49d; border-radius:14px; color:#654f1f; font:500 14px/1.55 "Public Sans",Arial,sans-serif; margin:0 0 20px; padding:16px 20px; }
.erc-campus-notice strong { color:#4f3b0f; }
.erc-course-actions--pending { align-items:flex-start; flex-direction:column; }
.erc-course-actions--pending small { color:var(--erc-muted); font:500 12px/1.5 "Public Sans",Arial,sans-serif; }
.erc-support-grid { display: grid; gap: 16px; grid-template-columns: repeat(4,1fr); margin-bottom: 24px; scroll-margin-top: 82px; }
.erc-support-card > .erc-icon { background: var(--erc-teal-soft); color: var(--erc-teal); }
.erc-recording-notice, .erc-info-banner { align-items: center; background: var(--erc-teal-soft); border: 1px solid rgba(124,148,133,.16); border-radius: 13px; display: flex; gap: 12px; padding: 16px 20px; }
.erc-recording-notice p, .erc-info-banner p { font-size: 13px; margin: 0; }
.erc-recording-notice .erc-icon, .erc-info-banner .erc-icon { color: var(--erc-teal-dark); }

/* Lección */
.erc-lesson-header { align-items: start; background: #fff; border: 1px solid var(--erc-line); border-radius: 20px; display: grid; gap: 30px; grid-template-columns: 1fr 290px; margin-bottom: 18px; padding: 34px; }
.erc-back { display: inline-block; font-size: 13px; font-weight: 700; margin-bottom: 22px; }
.erc-lesson-meta { display: flex; flex-wrap: wrap; gap: 18px; }
.erc-lesson-meta span { align-items: center; color: var(--erc-muted); display: flex; font-size: 13px; gap: 7px; }
.erc-lesson-meta .erc-icon { color: var(--erc-teal); height: 17px; width: 17px; }
.erc-lesson-header h1 { font-size: clamp(34px,4vw,52px); margin: 13px 0 20px; }
.erc-lesson-header__status { background: var(--erc-paper); border: 1px solid var(--erc-line); border-radius: 14px; display: grid; gap: 12px; padding: 18px; }
.erc-info-banner { margin-bottom: 18px; }
.erc-info-banner--success { background: #eff7f2; border-color: #c8e0d2; }
.erc-lesson-layout { display: grid; gap: 20px; grid-template-columns: minmax(0,1fr) 270px; margin-bottom: 26px; }
.erc-lesson-main, .erc-lesson-aside { background: #fff; border: 1px solid var(--erc-line); border-radius: 18px; padding: 20px; }
.erc-rich-text { color: #51464e; padding: 24px 8px 4px; }
.erc-rich-text h2 { font-size: 26px; }
.erc-rich-text p:last-child { margin-bottom: 0; }
.erc-lesson-aside { height: fit-content; padding: 24px; position: sticky; top: 88px; }
.erc-lesson-aside h2 { font-size: 22px; }
.erc-lesson-aside > p { align-items: center; border-top: 1px solid var(--erc-line); display: flex; gap: 12px; margin: 0; padding: 16px 0; }
.erc-lesson-aside > p .erc-icon { color: var(--erc-rose); }
.erc-lesson-aside > p span { display: flex; flex-direction: column; }
.erc-lesson-aside small { color: var(--erc-muted); }
.erc-cover, .erc-video-placeholder { border-radius: 14px; min-height: 340px; object-fit: cover; width: 100%; }
.erc-video-placeholder { align-items: center; background: linear-gradient(135deg,var(--erc-sand),var(--erc-rose-soft)); color: var(--erc-muted); display: flex; flex-direction: column; justify-content: center; padding: 30px; text-align: center; }
.erc-video-placeholder .erc-icon { color: var(--erc-rose); height: 54px; width: 54px; }
.erc-resource-section, .erc-bibliography, .erc-notes, .erc-questions { margin-bottom: 20px; }
.erc-resource-list { display: grid; gap: 10px; }
.erc-resource-list a { align-items: center; background: var(--erc-paper); border: 1px solid var(--erc-line); border-radius: 12px; display: grid; gap: 12px; grid-template-columns: auto 1fr auto; padding: 14px 16px; }
.erc-resource-list a span { display: flex; flex-direction: column; }
.erc-resource-list small { color: var(--erc-muted); }
.erc-bibliography, .erc-questions { background: #fff; border: 1px solid var(--erc-line); border-radius: 18px; display: flex; gap: 18px; padding: 26px; }
.erc-bibliography > .erc-icon, .erc-questions > .erc-icon { color: var(--erc-rose); height: 36px; width: 36px; }
.erc-bibliography h2, .erc-questions h2 { font-size: 24px; }
.erc-bibliography li { margin-bottom: 5px; }
.erc-notes textarea { border: 1px solid var(--erc-line); border-radius: 10px; font: inherit; margin-bottom: 12px; min-height: 140px; padding: 14px; resize: vertical; width: 100%; }
.erc-note-status { color: var(--erc-green) !important; }
.erc-questions { align-items: start; }

/* Foro académico bbPress - estándar visual para todos los cursos. */
body.ercampus-forum-shell {
	--erc-forum-ink: #262126;
	--erc-forum-plum: #67254b;
	--erc-forum-rose: #947e94;
	--erc-forum-teal: #3f7f78;
	--erc-forum-teal-dark: #275f59;
	--erc-forum-paper: #faf8f5;
	--erc-forum-line: #e7dfdf;
	background: var(--erc-forum-paper);
}

body.ercampus-forum-shell .top_site_main {
	align-items: flex-end;
	background-color: #35242e !important;
	background-image: linear-gradient(90deg,rgba(37,22,31,.93) 0%,rgba(63,38,50,.78) 44%,rgba(30,49,46,.34) 100%),url('../images/forum-community.jpg') !important;
	background-position: center 48% !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	box-sizing: border-box;
	display: flex;
	min-height: 330px;
	padding: 54px max(24px,calc((100vw - 1180px)/2)) 48px !important;
	position: relative;
}

body.ercampus-forum-shell .top_site_main::after {
	background: linear-gradient(180deg,transparent,rgba(22,18,20,.22));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

body.ercampus-forum-shell .top_site_main .page-title-wrapper,
body.ercampus-forum-shell .top_site_main .page-title,
body.ercampus-forum-shell .top_site_main .banner-wrapper {
	box-sizing: border-box;
	margin: 0 !important;
	max-width: 820px;
	padding: 0 !important;
	position: relative;
	text-align: left !important;
	z-index: 1;
}

body.ercampus-forum-shell .top_site_main h1,
body.ercampus-forum-shell .top_site_main .page-title {
	color: #fff !important;
	font: 600 clamp(36px,4.4vw,62px)/1.06 "Fraunces",Georgia,serif !important;
	letter-spacing: -.025em;
	margin: 0 !important;
	text-shadow: 0 3px 20px rgba(0,0,0,.2);
}

body.ercampus-forum-shell .breadcrumbs-wrapper,
body.ercampus-forum-shell .breadcrumbs,
body.ercampus-forum-shell #breadcrumbs {
	background: #fff !important;
	border-bottom: 1px solid var(--erc-forum-line);
	color: #756b72;
	font-size: 13px;
	margin: 0 !important;
	padding: 14px max(24px,calc((100vw - 1180px)/2)) !important;
}

body.ercampus-forum-shell .site-content,
body.ercampus-forum-shell #main-content,
body.ercampus-forum-shell .content-area,
body.ercampus-forum-shell .site-main {
	background-color: var(--erc-forum-paper) !important;
	background-image: none !important;
}

body.ercampus-forum-shell .site-content,
body.ercampus-forum-shell #main-content {
	padding-bottom: 70px;
	padding-top: 46px;
}

body.ercampus-forum-shell .site-content > .container,
body.ercampus-forum-shell #main-content > .container,
body.ercampus-forum-shell #primary,
body.ercampus-forum-shell .content-area {
	box-sizing: border-box;
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1240px !important;
	width: 100% !important;
}

body.ercampus-forum-shell #secondary,
body.ercampus-forum-shell .widget-area { display: none !important; }

body.ercampus-forum-shell article.type-forum,
body.ercampus-forum-shell article.type-topic,
body.ercampus-forum-shell .entry-content,
body.ercampus-forum-shell #bbpress-forums,
body.ercampus-forum-shell #bbpress-forums [class*="bbp-"] {
	background-image: none !important;
}

body.ercampus-forum-shell #bbpress-forums {
	color: var(--erc-forum-ink);
	font: 400 16px/1.65 "Public Sans",Arial,sans-serif;
	margin: 0;
}

body.ercampus-forum-shell #bbpress-forums a { color: var(--erc-forum-teal-dark); }
body.ercampus-forum-shell #bbpress-forums a:hover { color: var(--erc-forum-rose); }

.erc-forum-welcome {
	align-items: center;
	background: linear-gradient(128deg,#fff 0%,#f4f9f8 100%);
	border: 1px solid rgba(63,127,120,.22);
	border-radius: 22px;
	box-shadow: 0 18px 48px rgba(54,39,48,.07);
	display: grid;
	gap: 34px;
	grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr);
	margin: 0 0 28px;
	padding: 34px;
}

.erc-forum-welcome__copy > span {
	color: var(--erc-forum-teal-dark);
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	margin-bottom: 7px;
	text-transform: uppercase;
}

.erc-forum-welcome h2 {
	color: var(--erc-forum-plum);
	font: 600 clamp(28px,3vw,40px)/1.12 "Fraunces",Georgia,serif;
	margin: 0 0 12px;
}

.erc-forum-welcome p { color: #665c63; margin: 0; max-width: 720px; }
.erc-forum-welcome__options { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.erc-forum-welcome__options span {
	align-items: center;
	background: #fff;
	border: 1px solid var(--erc-forum-line);
	border-radius: 12px;
	color: #544951;
	display: flex;
	font-size: 13px;
	font-weight: 600;
	gap: 9px;
	min-height: 50px;
	padding: 10px 13px;
}
.erc-forum-welcome__options span::before {
	background: var(--erc-forum-teal);
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(63,127,120,.12);
	content: "";
	flex: 0 0 7px;
	height: 7px;
	width: 7px;
}

/* Mantiene la suscripción dentro del ancho del foro y como una acción clara. */
body.ercampus-forum-shell #subscription-toggle,
body.ercampus-forum-shell .bbp-forum-subscription-link {
	align-items: center;
	box-sizing: border-box;
	clear: both;
	display: flex !important;
	float: none !important;
	justify-content: flex-end;
	margin: 14px 0 22px !important;
	max-width: 100%;
	min-height: 42px;
	padding: 0 2px !important;
	position: static !important;
	text-align: right;
	width: 100%;
}

body.ercampus-forum-shell #subscription-toggle a,
body.ercampus-forum-shell a.subscription-toggle,
body.ercampus-forum-shell .bbp-forum-subscription-link a {
	align-items: center;
	background: #fff !important;
	border: 1px solid rgba(63,127,120,.34) !important;
	border-radius: 999px;
	box-shadow: 0 7px 18px rgba(38,33,38,.07);
	color: var(--erc-forum-teal-dark) !important;
	display: inline-flex !important;
	font: 700 13px/1.2 "Public Sans",Arial,sans-serif !important;
	justify-content: center;
	min-height: 40px;
	padding: 9px 17px !important;
	text-decoration: none !important;
	transition: background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}

body.ercampus-forum-shell #subscription-toggle a::before,
body.ercampus-forum-shell a.subscription-toggle::before,
body.ercampus-forum-shell .bbp-forum-subscription-link a::before {
	content: "\2709";
	font-size: 15px;
	margin-right: 8px;
}

body.ercampus-forum-shell #subscription-toggle a:hover,
body.ercampus-forum-shell a.subscription-toggle:hover,
body.ercampus-forum-shell .bbp-forum-subscription-link a:hover {
	background: var(--erc-forum-teal) !important;
	border-color: var(--erc-forum-teal) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

body.ercampus-forum-shell #bbpress-forums .bbp-template-notice,
body.ercampus-forum-shell #bbpress-forums div.bbp-template-notice {
	background: #eef7f6 !important;
	border: 1px solid rgba(63,127,120,.24) !important;
	border-radius: 12px;
	color: #315d58;
	margin: 12px 0 !important;
	padding: 13px 16px !important;
}

body.ercampus-forum-shell #bbpress-forums .bbp-template-notice p { color: inherit; margin: 0 !important; }

body.ercampus-forum-shell #bbpress-forums ul.bbp-forums,
body.ercampus-forum-shell #bbpress-forums ul.bbp-topics,
body.ercampus-forum-shell #bbpress-forums ul.bbp-replies {
	background: #fff !important;
	border: 1px solid var(--erc-forum-line) !important;
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(54,39,48,.055);
	overflow: hidden;
}

body.ercampus-forum-shell #bbpress-forums li.bbp-header,
body.ercampus-forum-shell #bbpress-forums li.bbp-footer {
	background: #f4f9f8 !important;
	border: 0 !important;
	color: var(--erc-forum-plum);
	font-weight: 700;
	padding: 15px 18px;
}

body.ercampus-forum-shell #bbpress-forums li.bbp-body ul.forum,
body.ercampus-forum-shell #bbpress-forums li.bbp-body ul.topic,
body.ercampus-forum-shell #bbpress-forums .bbp-reply-header,
body.ercampus-forum-shell #bbpress-forums .bbp-reply-content {
	background: #fff !important;
	border-color: var(--erc-forum-line) !important;
	padding: 16px 18px;
}

body.ercampus-forum-shell #bbpress-forums form,
body.ercampus-forum-shell #bbpress-forums .bbp-topic-form,
body.ercampus-forum-shell #bbpress-forums .bbp-reply-form {
	background: #fff !important;
	background-image: none !important;
	border: 1px solid var(--erc-forum-line);
	border-radius: 20px;
	box-shadow: 0 16px 44px rgba(54,39,48,.065);
	margin-top: 28px;
	padding: 30px;
}

body.ercampus-forum-shell #bbpress-forums fieldset.bbp-form {
	background: transparent !important;
	border: 0 !important;
	margin: 0;
	padding: 0;
}

body.ercampus-forum-shell #bbpress-forums fieldset.bbp-form > legend {
	color: var(--erc-forum-plum);
	float: left;
	font: 600 clamp(25px,2.6vw,34px)/1.2 "Fraunces",Georgia,serif;
	margin: 0 0 22px;
	padding: 0;
	width: 100%;
}

body.ercampus-forum-shell #bbpress-forums label {
	color: #4e444b;
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 7px;
}

body.ercampus-forum-shell #bbpress-forums input[type="text"],
body.ercampus-forum-shell #bbpress-forums input[type="email"],
body.ercampus-forum-shell #bbpress-forums select,
body.ercampus-forum-shell #bbpress-forums textarea {
	background: #fff !important;
	border: 1px solid #d9d0d4 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	box-sizing: border-box;
	color: var(--erc-forum-ink);
	font: inherit;
	min-height: 46px;
	padding: 11px 13px !important;
}

body.ercampus-forum-shell #bbpress-forums #bbp_topic_title,
body.ercampus-forum-shell #bbpress-forums #bbp_topic_tags,
body.ercampus-forum-shell #bbpress-forums .wp-editor-wrap { width: 100% !important; }

body.ercampus-forum-shell #bbpress-forums .wp-editor-container {
	border: 1px solid #d9d0d4 !important;
	border-radius: 12px;
	overflow: hidden;
}

body.ercampus-forum-shell #bbpress-forums .quicktags-toolbar { background: #f6f3f4 !important; border: 0 !important; padding: 8px !important; }
body.ercampus-forum-shell #bbpress-forums .bbp-submit-wrapper { float: none; margin-top: 22px; text-align: right; }
body.ercampus-forum-shell #bbpress-forums button[type="submit"],
body.ercampus-forum-shell #bbpress-forums .button.submit {
	background: var(--erc-forum-teal) !important;
	border: 0 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	color: #fff !important;
	cursor: pointer;
	font-size: 14px;
	font-weight: 700;
	min-height: 46px;
	padding: 11px 22px !important;
}
body.ercampus-forum-shell #bbpress-forums button[type="submit"]:hover,
body.ercampus-forum-shell #bbpress-forums .button.submit:hover { background: var(--erc-forum-teal-dark) !important; }

@media (max-width: 820px) {
	body.ercampus-forum-shell .top_site_main { min-height: 270px; padding: 38px 24px !important; }
	body.ercampus-forum-shell .site-content,
	body.ercampus-forum-shell #main-content { padding: 28px 16px 52px; }
	.erc-forum-welcome { grid-template-columns: 1fr; padding: 26px; }
	body.ercampus-forum-shell #bbpress-forums form,
	body.ercampus-forum-shell #bbpress-forums .bbp-topic-form,
	body.ercampus-forum-shell #bbpress-forums .bbp-reply-form { padding: 22px; }
}

@media (max-width: 560px) {
	body.ercampus-forum-shell .top_site_main { min-height: 235px; }
	body.ercampus-forum-shell .top_site_main h1,
	body.ercampus-forum-shell .top_site_main .page-title { font-size: 34px !important; }
	.erc-forum-welcome { border-radius: 16px; padding: 21px; }
	.erc-forum-welcome__options { grid-template-columns: 1fr; }
	body.ercampus-forum-shell #bbpress-forums form,
	body.ercampus-forum-shell #bbpress-forums .bbp-topic-form,
	body.ercampus-forum-shell #bbpress-forums .bbp-reply-form { border-radius: 16px; padding: 18px; }
	body.ercampus-forum-shell #subscription-toggle,
	body.ercampus-forum-shell .bbp-forum-subscription-link {
		justify-content: flex-start;
		margin: 12px 0 20px !important;
		padding: 0 !important;
		text-align: left;
	}
	body.ercampus-forum-shell #subscription-toggle a,
	body.ercampus-forum-shell a.subscription-toggle,
	body.ercampus-forum-shell .bbp-forum-subscription-link a {
		max-width: 100%;
		white-space: normal;
	}
}

@media (max-width: 1100px) {
	.erc-hero { grid-template-columns: 1fr 1fr; }
	.erc-overview { grid-template-columns: 1fr; }
	.erc-class-row { grid-template-columns: 42px 1fr 145px; }
	.erc-class-row__actions { grid-column: 2 / -1; grid-template-columns: repeat(2,minmax(150px,220px)); }
	.erc-feature-grid, .erc-support-grid { grid-template-columns: 1fr 1fr; }
	.erc-feature-grid article:last-child { grid-column: 1 / -1; }
	.erc-facts { grid-template-columns: repeat(3,1fr); }
	.erc-facts article + article { border-left: 0; }
	.erc-facts article:not(:nth-child(3n+1)) { border-left: 1px solid rgba(124,148,133,.16); }
	.erc-facts article:nth-child(n+4) { border-top: 1px solid rgba(124,148,133,.16); }
	.erc-module summary { grid-template-columns: 112px 54px 1fr auto 20px; }
	.erc-program-map__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
	.ercampus { padding-inline: 12px; }
	.erc-hero { display: flex; flex-direction: column; min-height: 0; }
	.erc-hero__media { min-height: 320px; order: 1; width: 100%; }
	.erc-hero__content { background: var(--erc-paper); max-width: none; order: 2; padding: 34px 26px; }
	.erc-hero h1 { font-size: 40px; }
	.erc-quick-nav { grid-template-columns: repeat(6,minmax(80px,1fr)); overflow-x: auto; position: static; }
	.erc-quick-nav a { flex-direction: column; font-size: 11px; min-width: 82px; }
	.erc-next { grid-template-columns: 125px 1fr; }
	.erc-next__actions { grid-column: 1 / -1; grid-template-columns: repeat(2,1fr); }
	.erc-module summary { grid-template-columns: 86px 50px 1fr 20px; padding: 14px; }
	.erc-module__image { min-height: 74px; }
	.erc-module__count { display: none; }
	.erc-class-row { grid-template-columns: 36px 1fr; padding: 17px; }
	.erc-class-row__date, .erc-class-row__actions { grid-column: 2; }
	.erc-class-row__date { display: flex; flex-wrap: wrap; }
	.erc-lesson-header { grid-template-columns: 1fr; padding: 24px; }
	.erc-lesson-header__status { grid-template-columns: 1fr 1fr; }
	.erc-lesson-layout { grid-template-columns: 1fr; }
	.erc-lesson-aside { position: static; }
}

@media (max-width: 560px) {
	.ercampus { font-size: 15px; padding-bottom: 36px; }
	.erc-hero__media { min-height: 230px; }
	.erc-hero h1 { font-size: 34px; }
	.erc-hero__stats { align-items: stretch; flex-direction: column; }
	.erc-overview, .erc-welcome-video, .erc-next, .erc-program-map, .erc-modules { margin-bottom: 28px; }
	.erc-progress-card, .erc-documents, .erc-welcome-video, .erc-resource-section, .erc-notes { padding: 20px; }
	.erc-next { grid-template-columns: 1fr; }
	.erc-next__date { border-bottom: 1px solid var(--erc-line); border-right: 0; padding-bottom: 14px; }
	.erc-next__actions, .erc-class-row__actions { display: grid; grid-template-columns: 1fr; }
	.erc-facts { grid-template-columns: 1fr; margin-bottom: 28px; }
	.erc-facts article { min-height: 76px; }
	.erc-facts article + article,
	.erc-facts article:not(:nth-child(3n+1)),
	.erc-facts article:nth-child(n+4) { border-left: 0; border-top: 1px solid rgba(124,148,133,.16); }
	.erc-module summary { grid-template-columns: 46px 1fr 18px; gap: 10px; }
	.erc-module__image { display: none; }
	.erc-module__title strong { font-size: 18px; }
	.erc-module__title small { display: none; }
	.erc-feature-grid, .erc-support-grid { grid-template-columns: 1fr; }
	.erc-feature-grid article:last-child, .erc-support-grid article:last-child { grid-column: auto; }
	.erc-program-map__grid { grid-template-columns: 1fr; }
	.erc-program-map__card { display: grid; grid-template-columns: 116px 1fr; min-height: 140px; }
	.erc-program-map__image { height: 100%; min-height: 140px; }
	.erc-feature, .erc-support-card, .erc-bibliography, .erc-questions { padding: 20px; }
	.erc-lesson-header h1 { font-size: 34px; }
	.erc-lesson-header__status { grid-template-columns: 1fr; }
	.erc-section-heading { align-items: start; flex-direction: column; gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
	.ercampus *, .ercampus *::before, .ercampus *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* ================================================================
 * Ecosistema privado y cuenta WooCommerce unificada — 1.0.28
 * ================================================================ */
.erc-account-nav { scrollbar-width:thin; }
.erc-account-nav a:last-child { margin-left:auto; }
.erc-ecosystem { margin:0 auto; max-width:1380px; padding:22px 0 12px; }
.erc-ecosystem > .erc-section-heading { align-items:end; display:flex; justify-content:space-between; margin-bottom:16px; }
.erc-ecosystem > .erc-section-heading h2 { color:#8e7999; font-family:"Fraunces",Georgia,serif; font-size:clamp(27px,3vw,38px); margin:4px 0 0; }
.erc-ecosystem > .erc-section-heading p { color:#7a7077; font-size:12px; margin:0; }
.erc-ecosystem-grid { display:grid; gap:13px; grid-template-columns:repeat(6,minmax(0,1fr)); }
.erc-ecosystem-grid a { background:#fff; border:1px solid #e7dfe2; border-radius:18px; box-shadow:0 10px 30px rgba(74,42,63,.045); color:#43363f; display:flex; flex-direction:column; min-height:150px; padding:21px; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.erc-ecosystem-grid a:hover { border-color:rgba(124,148,133,.46); box-shadow:0 17px 36px rgba(74,42,63,.09); transform:translateY(-3px); }
.erc-ecosystem-grid svg { background:#edf8f6; border-radius:12px; color:#7c9485; height:42px; margin-bottom:auto; padding:10px; width:42px; }
.erc-ecosystem-grid strong { color:#8e7999; font-size:14px; margin:17px 0 5px; }
.erc-ecosystem-grid span { color:#7a7077; font-size:11px; line-height:1.45; }
.erc-dashboard-hero--compact { padding-block:34px; }
.erc-dashboard-hero--compact h1 { font-size:clamp(38px,5vw,58px); }
.erc-account-area { min-height:70vh; }
.erc-account-workspace { background:#fff; border:1px solid #e7dfe2; border-radius:24px; box-shadow:0 18px 50px rgba(74,42,63,.07); margin:0 auto; max-width:1380px; overflow:hidden; padding:clamp(25px,4vw,48px); }
.erc-account-workspace__heading { border-bottom:1px solid #eee5e8; margin-bottom:28px; padding-bottom:22px; }
.erc-account-workspace__heading h2 { color:#8e7999; font-family:"Fraunces",Georgia,serif; font-size:clamp(31px,4vw,46px); line-height:1.05; margin:5px 0 8px; }
.erc-account-workspace__heading p { color:#766c74; margin:0; }
.erc-account-native .woocommerce-MyAccount-navigation { display:none!important; }
.erc-account-native .woocommerce-MyAccount-content { float:none!important; margin:0!important; width:100%!important; }
.erc-account-native .woocommerce-message,.erc-account-native .woocommerce-info,.erc-account-native .woocommerce-error { background:#edf8f6!important; border:0!important; border-left:4px solid #7c9485!important; border-radius:12px; color:#43363f!important; list-style:none; margin:0 0 22px!important; padding:17px 19px!important; }
.erc-account-native table { border:1px solid #e7dfe2!important; border-collapse:separate!important; border-radius:15px; border-spacing:0; overflow:hidden; width:100%; }
.erc-account-native th { background:#f7f3f5; color:#8e7999; font-size:12px; }
.erc-account-native th,.erc-account-native td { border-color:#eee5e8!important; padding:14px!important; }
.erc-account-native .button,.erc-account-native button,.erc-account-native input[type="submit"] { background:linear-gradient(135deg,#7c9485,#7c9485)!important; border:0!important; border-radius:11px!important; color:#fff!important; font-weight:700!important; min-height:44px; padding:12px 18px!important; text-transform:none!important; }
.erc-account-native label { color:#43363f; font-size:12px; font-weight:700; }
.erc-account-native input[type="text"],.erc-account-native input[type="email"],.erc-account-native input[type="password"],.erc-account-native input[type="tel"],.erc-account-native select,.erc-account-native textarea { background:#fffdfa!important; border:1px solid #ded4d9!important; border-radius:11px!important; box-shadow:none!important; min-height:48px; padding:12px 14px!important; width:100%; }
.erc-account-native fieldset { border:1px solid #eadfe4; border-radius:15px; margin:24px 0; padding:20px; }
.erc-account-native legend { color:#8e7999; font-family:"Fraunces",Georgia,serif; font-size:22px; padding:0 8px; }
.erc-account-native .woocommerce-Address { background:#faf8f7; border:1px solid #e9e0e3; border-radius:16px; box-sizing:border-box; margin-bottom:18px; padding:22px; }
.erc-account-native a { color:#7c9485; font-weight:700; }

@media (max-width:900px) {
	.erc-ecosystem-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:650px) {
	.erc-account-nav a:last-child { margin-left:0; }
	.erc-ecosystem > .erc-section-heading { align-items:flex-start; flex-direction:column; gap:7px; }
	.erc-ecosystem-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.erc-ecosystem-grid a { min-height:140px; padding:17px; }
	.erc-account-workspace { border-radius:18px; padding:23px 18px; }
	.erc-account-native table { display:block; overflow-x:auto; }
}

/* Finalización de clase conectada con LearnPress. */
.erc-completion {
	align-items: center;
	background: linear-gradient(135deg, #f5fbfa 0%, #fff 72%);
	border: 1px solid rgba(124,148,133,.24);
	border-radius: 20px;
	display: grid;
	gap: 20px;
	grid-template-columns: 52px minmax(0,1fr) minmax(240px,auto);
	margin: 0 0 24px;
	padding: 26px 28px;
}
.erc-completion--done { background: linear-gradient(135deg, #edf8f5 0%, #fff 72%); }
.erc-completion__icon {
	align-items: center;
	background: var(--erc-teal-soft);
	border-radius: 50%;
	color: var(--erc-teal-dark);
	display: flex;
	height: 52px;
	justify-content: center;
	width: 52px;
}
.erc-completion__icon svg { height: 24px; width: 24px; }
.erc-completion__copy h2 { color: var(--erc-plum); font-size: 26px; margin: 3px 0 7px; }
.erc-completion__copy p { color: var(--erc-muted); margin: 0; }
.erc-completion__action { align-items: center; display: flex; flex-direction: column; gap: 9px; }
.erc-complete-form { margin: 0; width: 100%; }
.erc-completion .erc-completion__button {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	margin: 0;
	min-height: 50px;
	text-align: center;
	width: 100%;
}
.erc-completion__button svg { height: 18px; width: 18px; }
.erc-completion__button[disabled] { cursor: default; opacity: 1; }
.erc-completion__back { color: var(--erc-teal-dark); font-size: 13px; font-weight: 700; text-decoration: underline; }
.erc-completion__message { background: var(--erc-paper); border-radius: 12px; color: var(--erc-muted); display: block; max-width: 340px; padding: 12px 14px; }

@media (max-width: 820px) {
	.erc-completion { grid-template-columns: 52px 1fr; }
	.erc-completion__action { align-items: stretch; grid-column: 1 / -1; }
}

@media (max-width: 560px) {
	.erc-completion { grid-template-columns: 1fr; padding: 21px; }
	.erc-completion__icon { height: 44px; width: 44px; }
	.erc-completion__action { grid-column: auto; }
	.erc-completion__copy h2 { font-size: 23px; }
}

/* ================================================================
 * Acceso privado Campus Renacer
 * ================================================================ */
.erc-course-actions--guest { align-items: center; }
.erc-course-actions--guest > span { color: var(--erc-muted); font-size: 12px; max-width: 220px; }
.erc-login-open { min-height: 50px; padding-inline: 24px; }

.erc-login-dialog {
	background: transparent;
	border: 0;
	color: #382a35;
	font-family: "Public Sans", Arial, sans-serif;
	margin: auto;
	max-height: calc(100vh - 32px);
	max-width: min(94vw, 560px);
	overflow: visible;
	padding: 0;
	width: 100%;
}
.erc-login-dialog::backdrop { background: rgba(31,20,29,.72); backdrop-filter: blur(9px); }
.erc-login-card {
	background: linear-gradient(145deg,#fff 0%,#fffdfa 58%,#edf8f7 100%);
	border: 1px solid rgba(255,255,255,.7);
	border-radius: 28px;
	box-shadow: 0 34px 90px rgba(20,10,18,.34);
	overflow: hidden;
	padding: 30px clamp(24px,5vw,48px) 34px;
	position: relative;
}
.erc-login-card::before { background: linear-gradient(90deg,#7c9485,#947e94,#8e7999); content: ""; height: 5px; inset: 0 0 auto; position: absolute; }
.erc-login-close { align-items:center; background:#fff!important; border:1px solid #eadfe4!important; border-radius:50%!important; color:#8e7999!important; display:flex; font:400 25px/1 Arial!important; height:38px; justify-content:center; padding:0!important; position:absolute; right:18px; top:18px; width:38px; z-index:2; }
.erc-login-brand { align-items:center; display:flex; gap:14px; margin-bottom:24px; padding-right:45px; }
.erc-login-brand img { height:auto; max-height:64px; max-width:190px; object-fit:contain; }
.erc-login-brand span { border-left:1px solid #e1d7dc; color:#746a72; font-size:11px; letter-spacing:.12em; padding-left:14px; text-transform:uppercase; }
.erc-login-copy .erc-kicker { color:#7c9485; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.erc-login-copy h2 { color:#8e7999; font-family:"Fraunces",Georgia,serif; font-size:clamp(30px,5vw,42px); letter-spacing:-.025em; line-height:1.04; margin:7px 0 12px; }
.erc-login-copy p { color:#746a72; font-size:14px; margin:0 0 24px; }
#erc-campus-loginform { display:grid; gap:15px; margin:0; }
#erc-campus-loginform p { margin:0; }
#erc-campus-loginform label { color:#382a35; display:block; font-size:12px; font-weight:700; margin-bottom:7px; }
#erc-campus-loginform input[type="text"],
#erc-campus-loginform input[type="password"] { background:#fff; border:1px solid #dfd5da; border-radius:13px; box-shadow:0 3px 10px rgba(74,42,63,.03); color:#382a35; font:500 15px/1.2 "Public Sans",Arial,sans-serif; min-height:52px; padding:13px 15px; width:100%; }
#erc-campus-loginform input:focus { border-color:#7c9485; box-shadow:0 0 0 4px rgba(124,148,133,.12); outline:0; }
#erc-campus-loginform .login-remember label { align-items:center; color:#746a72; display:flex; font-weight:500; gap:9px; }
#erc-campus-loginform input[type="checkbox"] { accent-color:#7c9485; height:17px; width:17px; }
#erc-campus-loginform .login-submit input { background:linear-gradient(135deg,#7c9485,#7c9485)!important; border:0!important; border-radius:13px!important; box-shadow:0 12px 28px rgba(124,148,133,.25); color:#fff!important; cursor:pointer; font:700 14px/1 "Public Sans",Arial,sans-serif!important; min-height:52px; padding:15px 20px!important; text-transform:none!important; width:100%; }
.erc-login-help { border-top:1px solid #e8dfe3; margin-top:22px; padding-top:17px; text-align:center; }
.erc-login-help a { color:#8e7999; font-size:13px; font-weight:700; }
.erc-login-help p { color:#887e85; font-size:11px; margin:9px 0 0; }

/* Mejora visual de respaldo si Eduma alcanza a abrir su formulario antiguo. */
body.ercampus-course-shell #thim-popup-login .popup-login-wrapper { border-radius:24px!important; overflow:hidden; }
body.ercampus-course-shell #thim-popup-login .thim-login { font-family:"Public Sans",Arial,sans-serif!important; }
body.ercampus-course-shell #thim-popup-login .thim-login h2 { color:#8e7999!important; font-family:"Fraunces",Georgia,serif!important; }
body.ercampus-course-shell #thim-popup-login [class*="social"],
body.ercampus-course-shell #thim-popup-login .mo-openid-app-icons { display:none!important; }

/* ================================================================
 * Reproductor de clases y evaluaciones integrado
 * ================================================================ */
body.ercampus-player-ready { background:#f8f5f3!important; overflow:auto!important; }
body.ercampus-player-ready #learn-press-content-item {
	background:#f8f5f3!important;
	bottom:auto!important;
	left:auto!important;
	min-height:100vh;
	overflow:visible!important;
	position:relative!important;
	right:auto!important;
	top:auto!important;
	width:100%!important;
}
body.ercampus-player-ready #learn-press-content-item .content-item-scrollable,
body.ercampus-player-ready #learn-press-content-item .scroll-wrapper,
body.ercampus-player-ready #learn-press-content-item .content-item-wrap {
	background:transparent!important;
	bottom:auto!important;
	height:auto!important;
	left:auto!important;
	max-width:none!important;
	overflow:visible!important;
	padding:0!important;
	position:relative!important;
	right:auto!important;
	top:auto!important;
	width:100%!important;
}
body.ercampus-player-ready #course-item-content-header,
body.ercampus-player-ready #learn-press-course-curriculum { display:none!important; }
body.ercampus-player-ready .course-item-popup { overflow:visible!important; }
body.ercampus-player-ready .ercampus.erc-lesson { background:#f8f5f3; max-width:1500px; padding-top:38px; }
body.ercampus-player-ready .content-item-summary { margin:0!important; max-width:none!important; padding:0!important; }

/* Evaluación LearnPress con la misma identidad visual. */
body.ercampus-quiz-shell #learn-press-content-item { padding:34px clamp(18px,4vw,58px) 70px!important; }
body.ercampus-quiz-shell #learn-press-content-item .content-item-wrap { margin:0 auto!important; max-width:1120px!important; }
.erc-quiz-welcome { background:linear-gradient(135deg,#8e7999,#35152d); border-radius:24px; box-shadow:0 18px 44px rgba(74,42,63,.15); color:#fff; margin:0 auto 24px; overflow:hidden; padding:30px clamp(24px,4vw,44px); position:relative; }
.erc-quiz-welcome::after { background:radial-gradient(circle,rgba(255,255,255,.15),transparent 64%); content:""; height:260px; position:absolute; right:-70px; top:-110px; width:260px; }
.erc-quiz-welcome a { color:#d9f3f0!important; display:inline-block; font-size:13px; font-weight:700; margin-bottom:24px; position:relative; z-index:1; }
.erc-quiz-welcome span { color:#bfe3df; display:block; font-size:11px; font-weight:700; letter-spacing:.15em; position:relative; text-transform:uppercase; z-index:1; }
.erc-quiz-welcome h1 { color:#fff!important; font-family:"Fraunces",Georgia,serif!important; font-size:clamp(34px,5vw,54px)!important; line-height:1.05!important; margin:6px 0 10px!important; position:relative; z-index:1; }
.erc-quiz-welcome p { color:rgba(255,255,255,.82); margin:0; max-width:680px; position:relative; z-index:1; }
body.ercampus-quiz-shell #learn-press-quiz,
body.ercampus-quiz-shell .learn-press-quiz,
body.ercampus-quiz-shell .quiz-content { background:#fff; border:1px solid #e7dfe2; border-radius:22px; box-shadow:0 18px 48px rgba(74,42,63,.07); padding:clamp(22px,4vw,42px)!important; }
body.ercampus-quiz-shell .question,
body.ercampus-quiz-shell .question-content { border-color:#e7dfe2!important; border-radius:16px!important; }
body.ercampus-quiz-shell .answer-option { background:#fffdfa!important; border:1px solid #e5dce0!important; border-radius:12px!important; margin:9px 0!important; padding:13px 15px!important; }
body.ercampus-quiz-shell .lp-button,
body.ercampus-quiz-shell button[type="submit"] { background:linear-gradient(135deg,#7c9485,#7c9485)!important; border:0!important; border-radius:11px!important; color:#fff!important; font-weight:700!important; text-transform:none!important; }

@media (max-width: 640px) {
	.erc-login-card { border-radius:20px; padding:25px 20px 28px; }
	.erc-login-brand { align-items:flex-start; flex-direction:column; gap:8px; }
	.erc-login-brand span { border-left:0; padding-left:0; }
	.erc-course-actions--guest { align-items:flex-start; flex-direction:column; }
	body.ercampus-quiz-shell #learn-press-content-item { padding:18px 12px 45px!important; }
	.erc-quiz-welcome { border-radius:18px; padding:25px 21px; }
}

/* ================================================================
 * Portal de acceso y panel privado del alumno
 * ================================================================ */
body.ercampus-account-shell { background:#f7f3f1!important; }
body.ercampus-account-shell #main-content > .content-area,
body.ercampus-account-shell #main-content,
body.ercampus-account-shell .site-content,
body.ercampus-account-shell .site-content > .container,
body.ercampus-account-shell #main-content > .container,
body.ercampus-account-shell #primary,
body.ercampus-account-shell main.site-main { float:none!important; margin:0!important; max-width:none!important; padding:0!important; width:100%!important; }
body.ercampus-account-shell .page-title,
body.ercampus-account-shell .entry-title,
body.ercampus-account-shell .top_site_main,
body.ercampus-account-shell .breadcrumbs-wrapper { display:none!important; }
body.ercampus-account-shell .ercampus { font-family:"Public Sans",Arial,sans-serif; }
.erc-account { background:radial-gradient(circle at 12% 10%,rgba(124,148,133,.10),transparent 30%),radial-gradient(circle at 92% 20%,rgba(148,126,148,.10),transparent 27%),#f8f5f3; min-height:calc(100vh - 100px); padding:clamp(28px,5vw,76px) clamp(18px,5vw,72px) 84px; }
.erc-account-login { background:#fff; border:1px solid #e8dfe2; border-radius:30px; box-shadow:0 28px 80px rgba(74,42,63,.11); display:grid; grid-template-columns:minmax(0,.9fr) minmax(360px,.72fr); margin:0 auto; max-width:1180px; min-height:650px; overflow:hidden; position:relative; }
.erc-account-login__brand { align-items:center; background:rgba(255,255,255,.97); border:1px solid rgba(255,255,255,.82); border-radius:18px; box-shadow:0 16px 38px rgba(56,42,53,.16); box-sizing:border-box; display:flex; gap:14px; justify-content:space-between; left:clamp(28px,4vw,58px); padding:12px 16px; position:absolute; top:28px; width:min(500px,calc(55% - 56px)); z-index:3; }
.erc-account-login__brand img { display:block; filter:saturate(1.06) contrast(1.04); flex:0 1 auto; height:auto; max-height:none; max-width:58%; object-fit:contain; width:clamp(190px,19vw,238px); }
.erc-account-login__brand span { background:linear-gradient(135deg,#8e7999,#947e94); border:1px solid rgba(255,255,255,.45); border-radius:999px; box-shadow:0 8px 18px rgba(142,121,153,.24); color:#fff; flex:1 1 138px; font-size:10px; font-weight:800; letter-spacing:.13em; line-height:1.25; max-width:175px; padding:10px 13px; text-align:center; text-transform:uppercase; white-space:normal; }
.erc-account-login__copy { background:linear-gradient(145deg,#8e7999 0%,#947e94 62%,#7c9485 135%); display:flex; flex-direction:column; justify-content:center; padding:155px clamp(35px,6vw,78px) 60px; position:relative; }
.erc-account-login__copy::after { background:rgba(255,255,255,.22); border-radius:50%; content:""; height:320px; left:-120px; position:absolute; top:-120px; width:320px; z-index:0; }
.erc-account-login__copy > * { position:relative; z-index:1; }
.erc-account-login__copy h1 { color:#fff; font-family:"Fraunces",Georgia,serif; font-size:clamp(42px,5vw,68px); letter-spacing:-.04em; line-height:1; margin:8px 0 20px; max-width:620px; }
.erc-account-login__copy > p { color:rgba(255,255,255,.9); font-size:16px; line-height:1.7; max-width:580px; }
.erc-account-login__copy ul { display:grid; gap:13px; list-style:none; margin:28px 0 0; padding:0; }
.erc-account-login__copy li { align-items:center; color:#fff; display:flex; font-size:14px; font-weight:700; gap:12px; }
.erc-account-login__copy li svg { color:#fff; height:21px; width:21px; }
.erc-account-login__copy .erc-kicker { color:#fff; }
.erc-account-login__form { align-self:center; padding:80px clamp(30px,5vw,66px) 58px; }
.erc-account-login__form h2 { color:#8e7999; font-family:"Fraunces",Georgia,serif; font-size:38px; margin:7px 0 9px; }
.erc-account-login__form > p { color:#746a72; font-size:13px; line-height:1.55; margin:0 0 25px; }
#erc-campus-account-loginform { display:grid; gap:16px; margin:0; }
#erc-campus-account-loginform p { margin:0; }
#erc-campus-account-loginform label { color:#43363f; display:block; font-size:12px; font-weight:700; margin-bottom:7px; }
#erc-campus-account-loginform input[type="text"],
#erc-campus-account-loginform input[type="password"] { background:#fffdfa; border:1px solid #ded4d9; border-radius:13px; box-shadow:none; color:#382a35; min-height:54px; padding:14px 15px; width:100%; }
#erc-campus-account-loginform input:focus { border-color:#7c9485; box-shadow:0 0 0 4px rgba(124,148,133,.12); outline:0; }
#erc-campus-account-loginform .login-remember label { align-items:center; color:#746a72; display:flex; font-weight:500; gap:9px; }
#erc-campus-account-loginform input[type="checkbox"] { accent-color:#7c9485; height:17px; width:17px; }
#erc-campus-account-loginform .login-submit input { background:linear-gradient(135deg,#7c9485,#7c9485)!important; border:0!important; border-radius:13px!important; box-shadow:0 12px 28px rgba(124,148,133,.24); color:#fff!important; cursor:pointer; font-weight:700!important; min-height:54px; text-transform:none!important; width:100%; }
#erc-campus-account-loginform .lost_password,
#erc-campus-account-loginform a[href*="lost-password"],
#erc-campus-account-loginform a[href*="action=lostpassword"] { display:none!important; }
.erc-account-login__lost { color:#8e7999; display:block; font-size:13px; font-weight:700; margin-top:18px; text-align:center; }
.erc-account-login__help { border-top:1px solid #e8dfe3; font-size:11px!important; margin-top:22px!important; padding-top:18px; text-align:center; }
.erc-account-login__help a { color:#7c9485; font-weight:800; }
.erc-account-recovery { background:#fff; border:1px solid #e8dfe2; border-radius:28px; box-shadow:0 28px 80px rgba(74,42,63,.11); margin:0 auto; max-width:760px; overflow:hidden; padding:clamp(34px,6vw,68px); position:relative; }
.erc-account-recovery::before { background:linear-gradient(90deg,#7c9485,#8e7999); content:""; height:7px; left:0; position:absolute; right:0; top:0; }
.erc-account-recovery__brand { align-items:center; display:flex; gap:15px; margin-bottom:42px; }
.erc-account-recovery__brand img { height:62px; max-width:205px; object-fit:contain; }
.erc-account-recovery__brand span { border-left:1px solid rgba(142,121,153,.22); color:#70666e; font-size:10px; letter-spacing:.14em; padding-left:15px; text-transform:uppercase; }
.erc-account-recovery__heading h1 { color:#8e7999; font-family:"Fraunces",Georgia,serif; font-size:clamp(38px,6vw,54px); letter-spacing:-.03em; line-height:1.05; margin:8px 0 14px; }
.erc-account-recovery__heading p { color:#6e646b; font-size:15px; line-height:1.7; margin:0 0 30px; max-width:650px; }
.erc-account-recovery__form .woocommerce-ResetPassword { margin:0; max-width:none; }
.erc-account-recovery__form .woocommerce-ResetPassword > p:first-child { display:none; }
.erc-account-recovery__form .form-row { float:none!important; margin:0 0 18px!important; width:100%!important; }
.erc-account-recovery__form button { box-shadow:0 12px 28px rgba(124,148,133,.22); min-width:220px; }
.erc-account-recovery__footer { align-items:flex-start; border-top:1px solid #ece4e7; display:flex; flex-direction:column; gap:9px; margin-top:26px; padding-top:22px; }
.erc-account-recovery__footer a { color:#8e7999; font-size:13px; font-weight:800; }
.erc-account-recovery__footer span { color:#80757d; font-size:11px; line-height:1.5; }
.erc-dashboard { margin:0 auto; max-width:none; }
.erc-dashboard-hero { align-items:center; background:linear-gradient(135deg,#8e7999,#8e7999 60%,#7c9485 140%); border-radius:28px; box-shadow:0 22px 60px rgba(74,42,63,.18); color:#fff; display:flex; justify-content:space-between; margin:0 auto 18px; max-width:1380px; overflow:hidden; padding:clamp(30px,5vw,58px); position:relative; }
.erc-dashboard-hero::after { background:rgba(255,255,255,.07); border-radius:50%; content:""; height:380px; position:absolute; right:-120px; top:-190px; width:380px; }
.erc-dashboard-hero .erc-kicker { color:#a8ded8; }
.erc-dashboard-hero h1 { color:#fff; font-family:"Fraunces",Georgia,serif; font-size:clamp(42px,6vw,70px); line-height:1; margin:7px 0 10px; }
.erc-dashboard-hero p { color:rgba(255,255,255,.78); margin:0; }
.erc-dashboard-user { align-items:center; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); border-radius:18px; display:flex; gap:14px; max-width:390px; padding:14px 18px; position:relative; z-index:1; }
.erc-dashboard-user img { border:2px solid rgba(255,255,255,.72); border-radius:50%; height:58px; width:58px; }
.erc-dashboard-user div { display:flex; flex-direction:column; min-width:0; }
.erc-dashboard-user strong { color:#fff; font-size:14px; }
.erc-dashboard-user span { color:rgba(255,255,255,.68); font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.erc-dashboard-user a { color:#c6f0eb; font-size:11px; font-weight:700; margin-top:5px; }
.erc-dashboard-nav { background:#fff; border:1px solid #e7dfe2; border-radius:16px; box-shadow:0 10px 35px rgba(74,42,63,.06); display:flex; gap:4px; margin:0 auto 26px; max-width:1380px; padding:7px; }
.erc-dashboard-nav a { align-items:center; border-radius:11px; color:#695f67; display:flex; font-size:13px; font-weight:700; gap:8px; padding:11px 16px; }
.erc-dashboard-nav a.is-active { background:#edf8f6; color:#7c9485; }
.erc-dashboard-nav svg { height:18px; width:18px; }
.erc-dashboard-section { margin:0 auto; max-width:1380px; padding:22px 0 34px; }
.erc-dashboard-section > .erc-section-heading > span { color:#80757d; font-size:12px; font-weight:700; }
.erc-dashboard-courses { display:grid; gap:22px; grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr)); }
.erc-dashboard-course { background:#fff; border:1px solid #e7dfe2; border-radius:22px; box-shadow:0 16px 48px rgba(74,42,63,.07); display:grid; grid-template-columns:42% 1fr; min-height:300px; overflow:hidden; }
.erc-dashboard-course__image { display:block; min-height:100%; overflow:hidden; position:relative; }
.erc-dashboard-course__image::after { background:linear-gradient(180deg,transparent 55%,rgba(30,15,27,.5)); content:""; inset:0; position:absolute; }
.erc-dashboard-course__image img { height:100%; object-fit:cover; transition:transform .35s ease; width:100%; }
.erc-dashboard-course:hover .erc-dashboard-course__image img { transform:scale(1.035); }
.erc-dashboard-course__image span { background:rgba(255,255,255,.92); border-radius:999px; bottom:14px; color:#8e7999; font-size:10px; font-weight:800; left:14px; padding:7px 10px; position:absolute; text-transform:uppercase; z-index:1; }
.erc-dashboard-course__body { display:flex; flex-direction:column; padding:26px; }
.erc-dashboard-course__body h3 { color:#8e7999; font-family:"Fraunces",Georgia,serif; font-size:27px; line-height:1.12; margin:5px 0 8px; }
.erc-dashboard-course__body > p { color:#756b73; font-size:13px; line-height:1.5; margin:0 0 20px; }
.erc-dashboard-progress { margin:auto 0 20px; }
.erc-dashboard-progress > div { display:flex; justify-content:space-between; }
.erc-dashboard-progress span,.erc-dashboard-progress strong,.erc-dashboard-progress small { color:#6e646c; font-size:11px; }
.erc-dashboard-progress strong { color:#7c9485; }
.erc-dashboard-progress__bar { background:#e8efed; border-radius:99px; display:block; height:7px; margin:8px 0 7px; overflow:hidden; }
.erc-dashboard-progress__bar i { background:linear-gradient(90deg,#7c9485,#7c9485); border-radius:inherit; display:block; height:100%; }
.erc-dashboard-course .erc-button { justify-content:center; width:100%; }
.erc-dashboard-empty { background:#fff; border:1px dashed #d9ccd2; border-radius:22px; padding:48px 28px; text-align:center; }
.erc-dashboard-empty > svg { color:#7c9485; height:40px; width:40px; }
.erc-dashboard-empty h3 { color:#8e7999; font-family:"Fraunces",Georgia,serif; font-size:27px; margin:13px 0 7px; }
.erc-dashboard-empty p { color:#746a72; }
.erc-dashboard-certificate { align-items:center; background:linear-gradient(135deg,#f6ebeF,#eef8f6); border:1px solid #e3d8dc; border-radius:22px; display:flex; gap:24px; margin:0 auto; max-width:1380px; padding:28px 34px; }
.erc-dashboard-certificate > div:first-child { align-items:center; background:#fff; border-radius:50%; color:#947e94; display:flex; flex:0 0 60px; height:60px; justify-content:center; }
.erc-dashboard-certificate svg { height:29px; width:29px; }
.erc-dashboard-certificate h2 { color:#8e7999; font-family:"Fraunces",Georgia,serif; font-size:28px; margin:4px 0 5px; }
.erc-dashboard-certificate p { color:#746a72; margin:0; }
.erc-dashboard-certificate .erc-button { margin-top:15px; }
.erc-dashboard-live { display:grid; gap:22px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 auto; max-width:1380px; padding:4px 0 20px; }
.erc-dashboard-live__panel { background:#fff; border:1px solid #e7dfe2; border-radius:22px; box-shadow:0 14px 42px rgba(74,42,63,.06); padding:25px; }
.erc-dashboard-live__panel h2 { color:#8e7999; font-family:"Fraunces",Georgia,serif; font-size:28px; margin:5px 0 18px; }
.erc-dashboard-event { align-items:center; background:#f2f9f8; border:1px solid #d9ebe8; border-radius:14px; color:#40353d!important; display:flex; gap:13px; margin-top:10px; padding:14px; }
.erc-dashboard-event > svg { color:#7c9485; flex:0 0 23px; height:23px; width:23px; }
.erc-dashboard-event span { display:flex; flex-direction:column; min-width:0; }
.erc-dashboard-event strong { color:#493540; font-size:13px; }
.erc-dashboard-event small { color:#746a72; font-size:11px; margin-top:3px; }
.erc-dashboard-announcement { border-top:1px solid #eadfe4; display:grid; gap:4px; padding:13px 0 4px; }
.erc-dashboard-announcement:first-of-type { border-top:0; padding-top:0; }
.erc-dashboard-announcement small { color:#7c9485; font-size:10px; font-weight:800; }
.erc-dashboard-announcement strong { color:#503947; font-size:14px; }
.erc-dashboard-announcement p { color:#746a72; font-size:12px; line-height:1.5; margin:0; }
.erc-certificate-library { display:grid; gap:16px; }
.erc-certificate-item { align-items:center; background:#fffdfa; border:1px solid #e5dce0; border-radius:18px; display:grid; gap:18px; grid-template-columns:64px minmax(0,1fr) auto; padding:22px; }
.erc-certificate-item__seal { align-items:center; background:#eaf7f4; border-radius:50%; color:#7c9485; display:flex; height:58px; justify-content:center; width:58px; }
.erc-certificate-item__seal svg { height:28px; width:28px; }
.erc-certificate-item__content h3 { color:#8e7999; font-family:"Fraunces",Georgia,serif; font-size:24px; line-height:1.15; margin:4px 0 13px; }
.erc-certificate-item dl { display:flex; flex-wrap:wrap; gap:10px 24px; margin:0; }
.erc-certificate-item dl div { display:flex; gap:6px; }
.erc-certificate-item dt { color:#7b7077; font-size:10px; font-weight:800; text-transform:uppercase; }
.erc-certificate-item dd { color:#3d333a; font-size:11px; font-weight:700; margin:0; overflow-wrap:anywhere; }
.erc-certificate-item__actions { display:grid; gap:9px; min-width:155px; }
.erc-certificate-item__actions .erc-button { justify-content:center; white-space:nowrap; }

/* WooCommerce mantiene su lógica; esta capa armoniza todo el recorrido comercial. */
body.ercampus-commerce-shell { background:radial-gradient(circle at 10% 8%,rgba(124,148,133,.08),transparent 30%),radial-gradient(circle at 92% 15%,rgba(148,126,148,.08),transparent 28%),#f8f5f3!important; }
body.ercampus-commerce-shell .site-content,
body.ercampus-commerce-shell #main-content { color:#3c3038; padding-bottom:70px; }
body.ercampus-commerce-shell .woocommerce,
body.ercampus-commerce-shell .wc-block-cart,
body.ercampus-commerce-shell .wc-block-checkout { box-sizing:border-box; font-family:"Public Sans",Arial,sans-serif; margin-left:auto!important; margin-right:auto!important; max-width:1380px; padding-left:clamp(16px,4vw,48px); padding-right:clamp(16px,4vw,48px); }
body.ercampus-commerce-shell .woocommerce-breadcrumb { color:#8a7d85!important; font-size:12px!important; margin-bottom:24px!important; }
body.ercampus-commerce-shell .woocommerce-breadcrumb a { color:#7c9485!important; font-weight:700; }
body.ercampus-commerce-shell .page-title,
body.ercampus-commerce-shell .entry-title { color:#8e7999!important; font-family:"Fraunces",Georgia,serif!important; font-size:clamp(38px,5vw,62px)!important; line-height:1.05!important; }
body.ercampus-commerce-shell .woocommerce-cart-form,
body.ercampus-commerce-shell .cart-collaterals,
body.ercampus-commerce-shell .woocommerce-checkout-review-order,
body.ercampus-commerce-shell .woocommerce-billing-fields,
body.ercampus-commerce-shell .woocommerce-additional-fields,
body.ercampus-commerce-shell .woocommerce-form-coupon,
body.ercampus-commerce-shell .woocommerce-form-login,
body.ercampus-commerce-shell .wc-block-components-sidebar,
body.ercampus-commerce-shell .wc-block-components-main { background:#fff!important; border:1px solid #e7dfe2!important; border-radius:20px!important; box-shadow:0 16px 48px rgba(74,42,63,.07)!important; padding:clamp(20px,3vw,34px)!important; }
body.ercampus-commerce-shell div.product { background:#fff; border:1px solid #e7dfe2; border-radius:24px; box-shadow:0 18px 52px rgba(74,42,63,.08); box-sizing:border-box; margin:0 auto 42px!important; max-width:1380px; overflow:hidden; padding:clamp(22px,4vw,48px); }
body.ercampus-commerce-shell div.product .woocommerce-product-gallery { margin-bottom:0!important; }
body.ercampus-commerce-shell div.product .woocommerce-product-gallery__wrapper { border-radius:18px; overflow:hidden; }
body.ercampus-commerce-shell div.product .summary { margin-bottom:0!important; padding:clamp(8px,2vw,24px); }
body.ercampus-commerce-shell div.product .product_title { color:#8e7999!important; font-family:"Fraunces",Georgia,serif!important; font-size:clamp(34px,4vw,53px)!important; line-height:1.08!important; margin:0 0 16px!important; }
body.ercampus-commerce-shell div.product .price,
body.ercampus-commerce-shell ul.products li.product .price { color:#7c9485!important; font-size:21px!important; font-weight:800!important; }
body.ercampus-commerce-shell div.product .price del,
body.ercampus-commerce-shell ul.products li.product .price del { color:#a899a2!important; opacity:1!important; }
body.ercampus-commerce-shell div.product .price ins,
body.ercampus-commerce-shell ul.products li.product .price ins { color:#7c9485!important; text-decoration:none!important; }
body.ercampus-commerce-shell div.product .woocommerce-product-details__short-description { color:#71666e; font-size:15px; line-height:1.7; }
body.ercampus-commerce-shell div.product form.cart { align-items:center; display:flex; flex-wrap:wrap; gap:12px; margin-top:24px!important; }
body.ercampus-commerce-shell div.product form.cart::before,
body.ercampus-commerce-shell div.product form.cart::after { display:none!important; }
body.ercampus-commerce-shell .quantity .qty { border:1px solid #ded4d9!important; border-radius:11px!important; height:50px!important; min-height:50px!important; padding:8px!important; width:76px!important; }
body.ercampus-commerce-shell .onsale { align-items:center!important; background:#947e94!important; border-radius:999px!important; color:#fff!important; display:flex!important; font-size:11px!important; font-weight:800!important; height:auto!important; justify-content:center!important; line-height:1!important; min-height:0!important; min-width:0!important; padding:9px 12px!important; text-transform:uppercase; }
body.ercampus-commerce-shell h1,
body.ercampus-commerce-shell h2,
body.ercampus-commerce-shell h3 { color:#8e7999; font-family:"Fraunces",Georgia,serif; }
body.ercampus-commerce-shell input:not([type="checkbox"]):not([type="radio"]),
body.ercampus-commerce-shell select,
body.ercampus-commerce-shell textarea,
body.ercampus-commerce-shell .wc-block-components-text-input input { background:#fffdfa!important; border:1px solid #ded4d9!important; border-radius:11px!important; box-shadow:none!important; min-height:48px; padding:12px 14px!important; }
body.ercampus-commerce-shell input:focus,
body.ercampus-commerce-shell select:focus,
body.ercampus-commerce-shell textarea:focus { border-color:#7c9485!important; box-shadow:0 0 0 4px rgba(124,148,133,.11)!important; outline:0!important; }
body.ercampus-commerce-shell .button,
body.ercampus-commerce-shell a.button,
body.ercampus-commerce-shell .single_add_to_cart_button,
body.ercampus-commerce-shell .checkout-button,
body.ercampus-commerce-shell button[type="submit"],
body.ercampus-commerce-shell #place_order,
body.ercampus-commerce-shell .wc-block-components-button { align-items:center!important; background:linear-gradient(135deg,#7c9485,#7c9485)!important; border:0!important; border-radius:11px!important; box-shadow:0 10px 24px rgba(124,148,133,.16)!important; color:#fff!important; display:inline-flex!important; font-weight:800!important; justify-content:center!important; line-height:1.25!important; min-height:48px; padding:13px 20px!important; text-transform:none!important; }
body.ercampus-commerce-shell .button:hover,
body.ercampus-commerce-shell a.button:hover,
body.ercampus-commerce-shell .single_add_to_cart_button:hover,
body.ercampus-commerce-shell .checkout-button:hover,
body.ercampus-commerce-shell #place_order:hover { background:linear-gradient(135deg,#7c9485,#125957)!important; color:#fff!important; transform:translateY(-1px); }
body.ercampus-commerce-shell .shop_table { background:#fff; border:1px solid #e7dfe2!important; border-radius:16px!important; overflow:hidden; }
body.ercampus-commerce-shell .woocommerce-info,
body.ercampus-commerce-shell .woocommerce-message,
body.ercampus-commerce-shell .woocommerce-error { background:#edf8f6!important; border:0!important; border-left:4px solid #7c9485!important; border-radius:12px!important; color:#3c3038!important; padding:17px 20px!important; }
body.ercampus-commerce-shell ul.products { display:grid!important; gap:24px!important; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))!important; }
body.ercampus-commerce-shell ul.products::before,
body.ercampus-commerce-shell ul.products::after { display:none!important; }
body.ercampus-commerce-shell ul.products li.product { background:#fff!important; border:1px solid #e7dfe2!important; border-radius:19px!important; box-shadow:0 14px 40px rgba(74,42,63,.07)!important; box-sizing:border-box!important; display:flex!important; flex-direction:column!important; float:none!important; margin:0!important; overflow:hidden!important; padding:0 0 20px!important; transition:transform .25s ease,box-shadow .25s ease; width:100%!important; }
body.ercampus-commerce-shell ul.products li.product:hover { box-shadow:0 20px 52px rgba(74,42,63,.12)!important; transform:translateY(-4px); }
body.ercampus-commerce-shell ul.products li.product > a:first-child { display:block; }
body.ercampus-commerce-shell ul.products li.product img { aspect-ratio:4/3; margin:0 0 18px!important; object-fit:cover; width:100%!important; }
body.ercampus-commerce-shell ul.products li.product .woocommerce-loop-product__title,
body.ercampus-commerce-shell ul.products li.product h2 { color:#8e7999!important; font-family:"Fraunces",Georgia,serif!important; font-size:23px!important; line-height:1.18!important; padding:0 20px!important; }
body.ercampus-commerce-shell ul.products li.product .price { margin:7px 20px 17px!important; }
body.ercampus-commerce-shell ul.products li.product .button { align-self:flex-start; margin:auto 20px 0!important; }
body.ercampus-commerce-shell .woocommerce-tabs { clear:both; padding-top:38px; }
body.ercampus-commerce-shell .woocommerce-tabs ul.tabs { border-bottom:1px solid #e4d9de!important; display:flex!important; gap:8px; margin:0 0 24px!important; overflow:auto; padding:0!important; }
body.ercampus-commerce-shell .woocommerce-tabs ul.tabs::before { display:none!important; }
body.ercampus-commerce-shell .woocommerce-tabs ul.tabs li { background:transparent!important; border:0!important; border-radius:10px 10px 0 0!important; margin:0!important; padding:0!important; }
body.ercampus-commerce-shell .woocommerce-tabs ul.tabs li a { color:#6d626a!important; padding:13px 18px!important; }
body.ercampus-commerce-shell .woocommerce-tabs ul.tabs li.active a { background:#edf8f6!important; color:#7c9485!important; }
body.ercampus-commerce-shell .related.products { clear:both; margin:42px auto 0; max-width:1380px; }
body.ercampus-commerce-shell .cart_totals { float:none!important; margin-left:auto; width:min(100%,520px)!important; }
body.ercampus-commerce-shell .elementor-menu-cart__container,
body.ercampus-commerce-shell .elementor-menu-cart__main,
body.ercampus-commerce-shell .widget_shopping_cart_content { font-family:"Public Sans",Arial,sans-serif!important; }
body.ercampus-commerce-shell .elementor-menu-cart__main { background:#fffdfa!important; box-shadow:-18px 0 55px rgba(54,34,48,.16)!important; padding:26px!important; }
body.ercampus-commerce-shell .elementor-menu-cart__product,
body.ercampus-commerce-shell .woocommerce-mini-cart-item { border-bottom:1px solid #eadfe4!important; padding:15px 0!important; }
body.ercampus-commerce-shell .elementor-menu-cart__product-name a,
body.ercampus-commerce-shell .woocommerce-mini-cart-item a:not(.remove) { color:#8e7999!important; font-family:"Fraunces",Georgia,serif!important; font-weight:700!important; }
body.ercampus-commerce-shell .elementor-menu-cart__subtotal,
body.ercampus-commerce-shell .woocommerce-mini-cart__total { border-top:0!important; color:#3c3038!important; font-weight:800!important; padding:18px 0!important; }
body.ercampus-commerce-shell .elementor-menu-cart__footer-buttons,
body.ercampus-commerce-shell .woocommerce-mini-cart__buttons { display:grid!important; gap:10px!important; grid-template-columns:1fr 1fr!important; }
body.ercampus-commerce-shell .elementor-menu-cart__footer-buttons a,
body.ercampus-commerce-shell .woocommerce-mini-cart__buttons a { margin:0!important; text-align:center!important; width:100%!important; }
@media(max-width:767px){body.ercampus-commerce-shell div.product{border-radius:18px;padding:18px}body.ercampus-commerce-shell div.product .summary{padding:20px 0 0}body.ercampus-commerce-shell ul.products{grid-template-columns:1fr!important}body.ercampus-commerce-shell .elementor-menu-cart__footer-buttons,body.ercampus-commerce-shell .woocommerce-mini-cart__buttons{grid-template-columns:1fr!important}}

/* Respaldo para cuestionarios y URLs antiguas que Thim aún intente envolver. */
body.ercampus-course-shell #popup-course.thim-ekit-course-items,
body.ercampus-quiz-shell #popup-course { background:#f8f5f3!important; bottom:auto!important; display:block!important; height:auto!important; inset:auto!important; left:auto!important; min-height:100vh!important; overflow:visible!important; position:relative!important; right:auto!important; top:auto!important; width:100%!important; z-index:auto!important; }
body.ercampus-course-shell #popup-course [data-widget_type*="course-close-sidebar"],
body.ercampus-course-shell #popup-course [data-widget_type*="course-item-progress"],
body.ercampus-course-shell #popup-course [data-widget_type*="course-item-sidebar"],
body.ercampus-course-shell #popup-course .thim-ekit-course-close-sidebar,
body.ercampus-course-shell #popup-course .thim-ekit-course-item-progress,
body.ercampus-course-shell #popup-course .thim-ekit-course-item-sidebar { display:none!important; }
body.ercampus-lesson-shell .erc-lesson-comments-box,
body.ercampus-lesson-shell .er-lesson-comments-box,
body.ercampus-lesson-shell .er-lcb-form,
body.ercampus-lesson-shell .er-lcb-list { display:none!important; }
body.ercampus-course-shell #popup-course > .elementor,
body.ercampus-course-shell #popup-course .elementor-location-single { margin:0!important; max-width:none!important; width:100%!important; }

/* Cuestionarios: elimina por completo el reproductor visual heredado de Thim/Eduma. */
body.ercampus-quiz-shell .section-close-sidebar,
body.ercampus-quiz-shell .ekit-popup-header,
body.ercampus-quiz-shell .ekit-popup-footer,
body.ercampus-quiz-shell .course-item-nav,
body.ercampus-quiz-shell .course-item-navigation,
body.ercampus-quiz-shell .thim-ekit-course-item-sidebar,
body.ercampus-quiz-shell .thim-ekit-course-close-sidebar,
body.ercampus-quiz-shell [data-widget_type*="course-close-sidebar"],
body.ercampus-quiz-shell [data-widget_type*="course-item-sidebar"],
body.ercampus-quiz-shell [data-widget_type*="course-item-progress"],
body.ercampus-quiz-shell .erc-lesson-comments-box,
body.ercampus-quiz-shell .er-lesson-comments-box,
body.ercampus-quiz-shell .er-lcb-form,
body.ercampus-quiz-shell .er-lcb-list { display:none!important; }

body.ercampus-quiz-shell .thim-ekit-course-items {
	background:#f8f5f3!important;
	bottom:auto!important;
	height:auto!important;
	inset:auto!important;
	left:auto!important;
	min-height:0!important;
	overflow:visible!important;
	position:relative!important;
	right:auto!important;
	top:auto!important;
	width:100%!important;
	z-index:auto!important;
}
body.ercampus-quiz-shell .ekit-popup-content,
body.ercampus-quiz-shell .ekit-popup-content > .e-con-inner,
body.ercampus-quiz-shell .elementor-widget-thim-ekits-course-item-data,
body.ercampus-quiz-shell .elementor-widget-thim-ekits-course-item-data > .elementor-widget-container,
body.ercampus-quiz-shell .ercampus-quiz-path,
body.ercampus-quiz-shell .ercampus-quiz-layout {
	box-sizing:border-box!important;
	max-width:none!important;
	width:100%!important;
}
body.ercampus-quiz-shell .ekit-popup-content {
	height:auto!important;
	margin:0!important;
	overflow:visible!important;
	padding:0!important;
	position:relative!important;
}
body.ercampus-quiz-shell #learn-press-content-item,
body.ercampus-quiz-shell #learn-press-content-item .content-item-wrap {
	float:none!important;
	height:auto!important;
	min-height:0!important;
	overflow:visible!important;
}
body.ercampus-quiz-shell #popup-course { min-height:0!important; }
body.ercampus-quiz-shell .erc-quiz-welcome,
body.ercampus-quiz-shell #learn-press-quiz,
body.ercampus-quiz-shell .learn-press-quiz,
body.ercampus-quiz-shell .quiz-content { position:relative!important; z-index:1!important; }

/* Evaluación Renacer: preguntas, respuestas, controles y resultado. */
body.ercampus-quiz-shell { color:#3c3038!important; font-family:"Public Sans",Arial,sans-serif!important; }
body.ercampus-quiz-shell .content-item-summary > h1,
body.ercampus-quiz-shell .content-item-summary > .entry-title,
body.ercampus-quiz-shell .content-item-summary > .course-item-title { display:none!important; }
body.ercampus-quiz-shell #learn-press-quiz,
body.ercampus-quiz-shell .learn-press-quiz {
	background:#fff!important;
	border:1px solid #e7dfe2!important;
	border-radius:24px!important;
	box-shadow:0 18px 48px rgba(74,42,63,.08)!important;
	color:#3c3038!important;
	margin:0 auto!important;
	max-width:1120px!important;
	padding:clamp(24px,4vw,46px)!important;
}
body.ercampus-quiz-shell #learn-press-quiz .quiz-content,
body.ercampus-quiz-shell .learn-press-quiz .quiz-content {
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	margin:0!important;
	padding:0!important;
}
body.ercampus-quiz-shell .quiz-intro,
body.ercampus-quiz-shell .quiz-progress,
body.ercampus-quiz-shell .quiz-status,
body.ercampus-quiz-shell .quiz-countdown,
body.ercampus-quiz-shell .quiz-attempts {
	background:#f2f9f8!important;
	border:1px solid #d5ebe8!important;
	border-radius:14px!important;
	color:#3c3038!important;
	line-height:1.45!important;
	margin:0 0 22px!important;
	padding:14px 18px!important;
}
body.ercampus-quiz-shell .quiz-progress .progress-items,
body.ercampus-quiz-shell .quiz-intro ul { display:flex!important; flex-wrap:wrap!important; gap:10px 24px!important; margin:0!important; padding:0!important; }
body.ercampus-quiz-shell .quiz-progress .progress-item,
body.ercampus-quiz-shell .quiz-intro li { align-items:center!important; background:#fff!important; border:1px solid #dcebe8!important; border-radius:10px!important; color:#50464d!important; display:flex!important; float:none!important; font-size:13px!important; font-weight:700!important; line-height:1.35!important; list-style:none!important; margin:0!important; min-height:42px!important; padding:10px 14px!important; width:auto!important; }
body.ercampus-quiz-shell .quiz-intro li::before { background:#7c9485!important; border-radius:50%!important; content:""!important; flex:0 0 7px!important; height:7px!important; margin-right:9px!important; width:7px!important; }
body.ercampus-quiz-shell .quiz-intro li i,
body.ercampus-quiz-shell .quiz-intro li svg,
body.ercampus-quiz-shell .quiz-intro li [class*="icon"] { display:none!important; }
body.ercampus-quiz-shell .question,
body.ercampus-quiz-shell .question-content {
	background:#fff!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	clear:both!important;
	color:#3c3038!important;
	float:none!important;
	font-size:16px!important;
	line-height:1.65!important;
	margin:0!important;
	max-width:none!important;
	padding:0!important;
	position:relative!important;
	width:100%!important;
}
body.ercampus-quiz-shell .question-title,
body.ercampus-quiz-shell .question .question-title {
	background:transparent!important;
	border:0!important;
	color:#8e7999!important;
	font-family:"Fraunces",Georgia,serif!important;
	font-size:clamp(24px,3vw,34px)!important;
	font-weight:700!important;
	line-height:1.2!important;
	margin:0 0 20px!important;
	padding:0!important;
}
body.ercampus-quiz-shell .answer-options,
body.ercampus-quiz-shell .question-answers { display:grid!important; gap:12px!important; margin:18px 0 28px!important; padding:0!important; }
body.ercampus-quiz-shell .answer-option,
body.ercampus-quiz-shell .answer-options .answer-option {
	align-items:flex-start!important;
	background:#fffdfa!important;
	border:1px solid #e3d9de!important;
	border-radius:14px!important;
	box-shadow:none!important;
	color:#433740!important;
	display:flex!important;
	float:none!important;
	font-size:15px!important;
	gap:12px!important;
	line-height:1.5!important;
	margin:0!important;
	min-height:54px!important;
	overflow:hidden!important;
	padding:15px 17px!important;
	position:relative!important;
	width:100%!important;
}
body.ercampus-quiz-shell .answer-option:hover { background:#f2f9f8!important; border-color:#80beb8!important; }
body.ercampus-quiz-shell .answer-option input { accent-color:#7c9485!important; flex:0 0 auto!important; height:19px!important; margin:2px 0 0!important; position:static!important; width:19px!important; }
body.ercampus-quiz-shell .answer-option label,
body.ercampus-quiz-shell .answer-option .option-title { color:#433740!important; display:block!important; flex:1!important; font-size:15px!important; line-height:1.5!important; margin:0!important; padding:0!important; position:static!important; width:auto!important; }
body.ercampus-quiz-shell .answer-option.answer-correct,
body.ercampus-quiz-shell .answer-option.correct { background:#e9f6f3!important; border-color:#67aaa3!important; }
body.ercampus-quiz-shell .answer-option.answer-wrong,
body.ercampus-quiz-shell .answer-option.wrong { background:#fff1f3!important; border-color:#d99aae!important; }
body.ercampus-quiz-shell .quiz-buttons,
body.ercampus-quiz-shell .question-buttons { align-items:center!important; clear:both!important; display:flex!important; flex-wrap:wrap!important; gap:10px!important; justify-content:flex-end!important; margin:24px 0 0!important; position:static!important; }
body.ercampus-quiz-shell .quiz-buttons.erc-quiz-start-zone,
body.ercampus-quiz-shell .erc-quiz-start-zone { align-items:center!important; background:#f8f4f6!important; border:1px solid #eadfe4!important; border-radius:14px!important; clear:both!important; display:flex!important; justify-content:flex-start!important; margin:18px 0 0!important; min-height:76px!important; padding:13px 16px!important; position:static!important; width:100%!important; }
body.ercampus-quiz-shell .lp-button,
body.ercampus-quiz-shell button,
body.ercampus-quiz-shell input[type="submit"] {
	align-items:center!important;
	background:linear-gradient(135deg,#7c9485,#7c9485)!important;
	border:0!important;
	border-radius:12px!important;
	box-shadow:0 10px 24px rgba(124,148,133,.18)!important;
	color:#fff!important;
	cursor:pointer!important;
	display:inline-flex!important;
	font-size:14px!important;
	font-weight:800!important;
	justify-content:center!important;
	line-height:1.2!important;
	min-height:48px!important;
	padding:13px 22px!important;
	position:static!important;
	text-transform:none!important;
	width:auto!important;
}
body.ercampus-quiz-shell .lp-button:hover,
body.ercampus-quiz-shell button:hover { background:linear-gradient(135deg,#7c9485,#125957)!important; transform:translateY(-1px); }
body.ercampus-quiz-shell .quiz-result {
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
	color:#3c3038!important;
	float:none!important;
	margin:0!important;
	max-width:none!important;
	padding:0!important;
	position:relative!important;
	text-align:left!important;
	width:100%!important;
}
body.ercampus-quiz-shell .erc-quiz-result-enhanced .result-grade,
body.ercampus-quiz-shell .erc-quiz-result-enhanced .result-statistic,
body.ercampus-quiz-shell .erc-quiz-result-enhanced .result-message { display:none!important; }
.erc-quiz-grade-card {
	background:linear-gradient(135deg,#f2faf8,#f8edf3)!important;
	border:1px solid #d9e9e6!important;
	border-radius:22px!important;
	box-shadow:0 18px 44px rgba(74,42,63,.08)!important;
	color:#3c3038!important;
	margin:0 0 24px!important;
	padding:clamp(25px,4vw,42px)!important;
	text-align:center!important;
}
.erc-quiz-grade-card__eyebrow { color:#167875!important; display:block!important; font-size:11px!important; font-weight:800!important; letter-spacing:.14em!important; margin-bottom:8px!important; text-transform:uppercase!important; }
.erc-quiz-grade-card h2 { color:#8e7999!important; font-family:"Fraunces",Georgia,serif!important; font-size:clamp(30px,4vw,45px)!important; line-height:1.08!important; margin:0 0 10px!important; }
.erc-quiz-grade-card p { color:#6d626a!important; font-size:15px!important; line-height:1.55!important; margin:0 auto 25px!important; max-width:650px!important; }
.erc-quiz-grade-card__metrics { display:grid!important; gap:12px!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; margin:0 auto 25px!important; max-width:760px!important; }
.erc-quiz-grade-card__metrics div { background:#fff!important; border:1px solid #e4dce0!important; border-radius:15px!important; display:flex!important; flex-direction:column!important; min-width:0!important; padding:18px 12px!important; }
.erc-quiz-grade-card__metrics small { color:#7a6e76!important; font-size:10px!important; font-weight:800!important; letter-spacing:.09em!important; line-height:1.2!important; text-transform:uppercase!important; }
.erc-quiz-grade-card__metrics strong { color:#7c9485!important; font-family:"Fraunces",Georgia,serif!important; font-size:34px!important; line-height:1.1!important; margin-top:5px!important; }
.erc-quiz-grade-card__return { background:#8e7999!important; border-radius:12px!important; color:#fff!important; display:inline-flex!important; font-size:14px!important; font-weight:800!important; line-height:1.2!important; padding:14px 20px!important; text-decoration:none!important; }
.erc-quiz-result-failed .erc-quiz-grade-card__metrics strong { color:#9d385d!important; }
.erc-quiz-access-card { background:#fff!important; border:1px solid #e7dfe2!important; border-radius:24px!important; box-shadow:0 18px 50px rgba(74,42,63,.09)!important; margin:70px auto!important; max-width:680px!important; padding:clamp(32px,5vw,58px)!important; text-align:center!important; }
.erc-quiz-access-card > span { align-items:center!important; background:#e5f5f2!important; border-radius:50%!important; color:#167875!important; display:inline-flex!important; font-size:30px!important; height:72px!important; justify-content:center!important; width:72px!important; }
.erc-quiz-access-card__eyebrow { color:#167875!important; font-size:11px!important; font-weight:800!important; letter-spacing:.14em!important; margin:18px 0 6px!important; text-transform:uppercase!important; }
.erc-quiz-access-card h1 { color:#8e7999!important; font-family:"Fraunces",Georgia,serif!important; font-size:clamp(34px,5vw,50px)!important; line-height:1.08!important; margin:0 0 13px!important; }
.erc-quiz-access-card p:not(.erc-quiz-access-card__eyebrow) { color:#6d626a!important; line-height:1.65!important; margin:0 auto 24px!important; max-width:530px!important; }
.erc-quiz-access-card a { background:#8e7999!important; border-radius:12px!important; color:#fff!important; display:inline-flex!important; font-weight:800!important; padding:14px 21px!important; text-decoration:none!important; }
body.ercampus-quiz-access-state #popup-course,
body.ercampus-quiz-access-state .thim-ekit-course-items { min-height:0!important; }
@media(max-width:640px){.erc-quiz-grade-card__metrics{grid-template-columns:1fr!important}.erc-quiz-grade-card__metrics div{padding:14px!important}body.ercampus-quiz-shell .quiz-buttons,body.ercampus-quiz-shell .question-buttons{align-items:stretch!important;flex-direction:column!important}body.ercampus-quiz-shell .lp-button,body.ercampus-quiz-shell button,body.ercampus-quiz-shell input[type="submit"]{width:100%!important}}
.erc-access-state { min-height:65vh; padding:70px 22px; }
.erc-access-state__card { background:#fff; border:1px solid #e7dfe2; border-radius:24px; box-shadow:0 18px 50px rgba(74,42,63,.08); margin:auto; max-width:620px; padding:50px 36px; text-align:center; }
.erc-access-state__card > svg { color:#7c9485; height:38px; width:38px; }
.erc-access-state__card h1 { color:#8e7999; font-family:"Fraunces",Georgia,serif; font-size:38px; margin:10px 0; }

.erc-whatsapp-support {
	align-items:center;
	background:linear-gradient(135deg,#7c9485,#7c9485);
	border:1px solid rgba(255,255,255,.35);
	border-radius:999px;
	bottom:22px;
	box-shadow:0 14px 35px rgba(23,109,107,.30);
	color:#fff!important;
	display:flex;
	gap:10px;
	padding:11px 17px 11px 13px;
	position:fixed;
	right:22px;
	z-index:999;
}
.erc-whatsapp-support:hover { background:linear-gradient(135deg,#7c9485,#125957); color:#fff!important; transform:translateY(-2px); }
.erc-whatsapp-support > svg { background:rgba(255,255,255,.14); border-radius:50%; height:38px; padding:7px; width:38px; }
.erc-whatsapp-support span { display:flex; flex-direction:column; line-height:1.1; }
.erc-whatsapp-support small { color:rgba(255,255,255,.72); font-size:9px; margin-bottom:3px; }
.erc-whatsapp-support strong { color:#fff; font-size:12px; }

@media (max-width:900px) {
	.erc-account-login { grid-template-columns:1fr; }
	.erc-account-login__brand { left:30px; right:30px; width:auto; }
	.erc-account-login__copy { min-height:460px; padding-top:155px; }
	.erc-account-login__form { padding-top:48px; }
	.erc-dashboard-hero { align-items:flex-start; flex-direction:column; gap:24px; }
	.erc-dashboard-live { grid-template-columns:1fr; }
	.erc-certificate-item { align-items:start; grid-template-columns:58px 1fr; }
	.erc-certificate-item__actions { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
}
@media (max-width:650px) {
	.erc-account { padding:18px 12px 55px; }
	.erc-account-login { border-radius:20px; display:grid; grid-template-columns:minmax(0,1fr); min-height:0; }
	/* En móvil la marca participa del flujo: nunca vuelve a tapar el título. */
	.erc-account-login__brand {
		align-items:center;
		box-shadow:none;
		box-sizing:border-box;
		flex-direction:column;
		gap:10px;
		inset:auto;
		margin:18px 18px 0;
		padding:12px 14px 14px;
		position:relative;
		width:auto;
	}
	.erc-account-login__brand img { max-width:100%; width:min(220px,72vw); }
	.erc-account-login__brand span { flex:0 1 auto; font-size:9px; letter-spacing:.14em; max-width:230px; padding:8px 14px; white-space:normal; width:auto; }
	.erc-account-login__copy { min-height:0; padding:30px 24px 38px; }
	.erc-account-login__copy h1 { font-size:clamp(34px,11vw,44px); letter-spacing:-.035em; line-height:1.02; max-width:100%; overflow-wrap:normal; word-break:normal; }
	.erc-account-login__copy > p { font-size:15px; line-height:1.62; }
	.erc-account-login__copy ul { gap:11px; margin-top:24px; }
	.erc-account-login__form { padding:34px 24px 40px; }
	.erc-account-login__form h2 { font-size:clamp(31px,9vw,38px); line-height:1.06; }
	.erc-account-recovery { border-radius:20px; padding:34px 24px; }
	.erc-account-recovery__brand { align-items:flex-start; flex-direction:column; margin-bottom:30px; }
	.erc-account-recovery__brand span { border-left:0; padding-left:0; }
	.erc-account-recovery__form button { min-width:0; width:100%; }
	.erc-dashboard { padding-inline:12px; }
	.erc-dashboard-hero { border-radius:20px; padding:28px 23px; }
	.erc-dashboard-user { max-width:100%; width:100%; }
	.erc-dashboard-nav { overflow-x:auto; }
	.erc-dashboard-nav a { flex:0 0 auto; }
	.erc-dashboard-course { grid-template-columns:1fr; }
	.erc-dashboard-course__image { min-height:220px; }
	.erc-dashboard-certificate { align-items:flex-start; padding:24px; }
	.erc-certificate-item { grid-template-columns:1fr; padding:19px; }
	.erc-certificate-item__actions { grid-template-columns:1fr; }
	.erc-whatsapp-support { bottom:14px; padding:10px; right:14px; }
	.erc-whatsapp-support span { display:none; }
}

@media (max-width:380px) {
	.erc-account { padding-inline:8px; }
	.erc-account-login__brand { margin:12px 12px 0; }
	.erc-account-login__brand img { width:min(195px,70vw); }
	.erc-account-login__copy { padding:26px 20px 34px; }
	.erc-account-login__copy h1 { font-size:clamp(31px,10.5vw,38px); }
	.erc-account-login__form { padding:30px 20px 36px; }
}
