/* Campus CODEINEP — perfil (mockup Campus-Perfil). Ver inc/campus-perfil.php.
 * Todo sobre el HTML de LearnPress: #learn-press-profile > .lp-content-area con
 * .wrapper-profile-header, aside#profile-sidebar y article#profile-content. */
body.ch-profile {
	--ch-ink: #0B1B4D; --ch-muted: #5c5c66; --ch-soft: #8f8f9c; --ch-line: rgba(0, 0, 0, .07); --ch-violet: var(--ch-accent, #2E5BFF);
	--ch-shadow: 0 20px 40px rgba(11, 27, 77, .06);
	background: #F0F3FA !important;
	font-family: 'Manrope', system-ui, sans-serif;
}
body.ch-profile #main-content,
body.ch-profile .site-content { background: #F0F3FA !important; }
body.ch-profile .site-content { padding-top: 0 !important; padding-bottom: 0 !important; }
/* Elementor: sin márgenes extra alrededor del perfil */
body.ch-profile .elementor-7081 :is(.elementor-section, .elementor-container, .elementor-column, .elementor-widget-wrap) { padding: 0 !important; max-width: none !important; }
body.ch-profile .elementor-7081 .elementor-widget:not(:last-child) { margin-bottom: 0 !important; }

/* ---------- grilla general ---------- */
body.ch-profile #learn-press-profile { max-width: var(--ch-page-max, 1160px); margin: 0 auto; padding: 0 var(--ch-page-pad, 32px) 80px; box-sizing: border-box; color: var(--ch-ink); font-family: 'Manrope', system-ui, sans-serif; }
body.ch-profile #learn-press-profile > .lp-content-area {
	display: grid !important; grid-template-columns: 280px minmax(0, 1fr); column-gap: 28px; align-items: start;
	max-width: none !important; padding: 0 !important; margin: 0 !important;
}
body.ch-profile #learn-press-profile > .lp-content-area > .lp-user-cover-image_background { display: none !important; }

/* ---------- encabezado oscuro de lado a lado ---------- */
body.ch-profile .wrapper-profile-header {
	grid-column: 1 / -1; position: relative; overflow: hidden;
	width: var(--ch-vw, 100vw) !important; max-width: none !important; margin: 0 0 -56px calc(50% - var(--ch-vw, 100vw) / 2) !important;
	padding: 0 !important; border: 0 !important; border-radius: 0 !important;
	background: radial-gradient(140% 140% at 10% 0%, #1c2f8a 0%, #0B1B4D 50%, #0B1B4D 100%) !important; color: #fff;
}
body.ch-profile .wrapper-profile-header::after {
	content: ""; position: absolute; bottom: -220px; right: -120px; width: 520px; height: 520px; border-radius: 50%;
	background: radial-gradient(circle, rgba(200, 240, 90, .18), transparent 70%); pointer-events: none;
}
body.ch-profile .wrapper-profile-header .lp-profile-content-area {
	position: relative; z-index: 1; display: flex !important; flex-wrap: wrap; gap: 28px; align-items: center;
	max-width: var(--ch-page-max, 1160px); margin: 0 auto !important; padding: 44px var(--ch-page-pad, 32px) 100px !important; box-sizing: border-box;
	background: none !important; border: 0 !important; min-height: 0 !important;
}
body.ch-profile .lp-profile-left { flex: none; width: auto !important; margin: 0 !important; padding: 0 !important; position: relative; }
body.ch-profile .lp-profile-left .user-avatar { position: relative; width: 112px; height: 112px; border-radius: 50%; padding: 3px; background: linear-gradient(135deg, #C8F05A, #8FA8FF); margin: 0 !important; }
body.ch-profile .lp-profile-left .user-avatar img { width: 100% !important; height: 100% !important; border-radius: 50% !important; object-fit: cover; display: block; border: 0 !important; }
/* sin foto: iniciales en el círculo */
body.ch-profile .user-avatar .ch-initials {
	width: 100%; height: 100%; border-radius: 50%; background: #0B1B4D; color: #fff;
	display: flex; align-items: center; justify-content: center; font: 800 36px/1 'Manrope', sans-serif;
}
body.ch-profile .user-avatar.has-initials img { display: none !important; }
body.ch-profile .lp-btn-to-edit-avatar {
	position: absolute; inset: 3px; border-radius: 50%; display: flex !important; align-items: center; justify-content: center; text-align: center;
	background: rgba(11, 27, 77, .6); color: #fff !important; font-size: 11px; font-weight: 700; opacity: 0; transition: opacity .2s ease; text-decoration: none !important;
}
body.ch-profile .user-avatar:hover .lp-btn-to-edit-avatar { opacity: 1; }
body.ch-profile .lp-profile-right { flex: 1 1 420px; min-width: 0; padding: 0 !important; margin: 0 !important; }
body.ch-profile .ch-profile-namerow { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
body.ch-profile .lp-profile-username { padding: 0 !important; border: 0 !important; }
body.ch-profile .lp-profile-username::before,
body.ch-profile .lp-profile-username::after { display: none !important; }
body.ch-profile .ch-profile-role { align-self: center; line-height: 1 !important; margin: 0 !important; }
body.ch-profile .lp-profile-username { font: 800 34px/1.15 'Manrope', sans-serif !important; letter-spacing: -.02em; color: #fff !important; margin: 0 !important; text-transform: none !important; }
body.ch-profile .ch-profile-role { font-size: 11px; font-weight: 800; padding: 5px 11px; border-radius: 20px; background: linear-gradient(90deg, #C8F05A, #8FA8FF); color: #0c0c0c; letter-spacing: .04em; white-space: nowrap; }
body.ch-profile .lp-profile-user-bio { margin: 10px 0 0 !important; max-width: 720px; }
body.ch-profile .lp-profile-user-bio,
body.ch-profile .lp-profile-user-bio p { font-size: 15px; line-height: 1.6; color: #c2c2ca !important; }
body.ch-profile .lp-profile-user-bio p { margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
body.ch-profile .ch-profile-msgs {
	position: relative; z-index: 1; flex: none; display: inline-flex; gap: 10px; align-items: center; padding: 11px 18px 11px 12px; border-radius: 40px;
	border: 1px solid rgba(255, 255, 255, .22); color: #fff !important; font-weight: 700; font-size: 13.5px; white-space: nowrap; text-decoration: none !important; transition: background .2s ease;
}
body.ch-profile .ch-profile-msgs:hover { background: rgba(255, 255, 255, .08); }
body.ch-profile .ch-profile-msgs__ico { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #8FA8FF, #C8F05A); color: #0c0c0c; font-size: 13px; }
body.ch-profile .ch-profile-msgs__count { min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: 10px; background: #FF6AC1; color: #0c0c0c; font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }

/* ---------- menú lateral en tarjeta ---------- */
body.ch-profile #profile-sidebar {
	position: relative; z-index: 2; grid-column: 1; float: none !important; width: auto !important; max-width: none !important; margin: 0 !important;
	padding: 12px !important; border-radius: 20px !important; background: #fff !important; border: 0 !important; box-shadow: 0 20px 40px rgba(11, 27, 77, .08) !important;
}
body.ch-profile #profile-nav { width: auto !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
body.ch-profile .lp-profile-nav-tabs { display: flex !important; flex-direction: column; gap: 2px; list-style: none; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.ch-profile .lp-profile-nav-tabs::before,
body.ch-profile .lp-profile-nav-tabs::after { display: none !important; }
body.ch-profile .lp-profile-nav-tabs > li { position: relative; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; float: none !important; }
body.ch-profile .lp-profile-nav-tabs > li > a {
	display: flex !important; gap: 12px; align-items: center; padding: 11px 14px !important; border-radius: 12px; border: 0 !important;
	font: 600 14px/1.3 'Manrope', sans-serif !important; color: var(--ch-muted) !important; background: none !important; text-transform: none !important; text-decoration: none !important;
}
body.ch-profile .lp-profile-nav-tabs > li > a i { width: 18px; text-align: center; font-size: 15px; color: var(--ch-soft) !important; }
body.ch-profile .lp-profile-nav-tabs > li > a:hover { background: var(--ch-accent-soft) !important; color: var(--ch-ink) !important; }
body.ch-profile .lp-profile-nav-tabs > li.active > a { background: linear-gradient(90deg, rgba(143, 168, 255, .35), rgba(200, 240, 90, .3)) !important; color: var(--ch-ink) !important; font-weight: 800 !important; }
body.ch-profile .lp-profile-nav-tabs > li.active > a i { color: var(--ch-violet) !important; }
body.ch-profile .lp-profile-nav-tabs > li.logout { margin-top: 8px !important; padding-top: 8px !important; border-top: 1px solid rgba(0, 0, 0, .06) !important; }
body.ch-profile .lp-profile-nav-tabs > li.logout > a { color: var(--ch-soft) !important; }
body.ch-profile .lp-profile-nav-tabs .profile-tab-sections { display: none !important; }
/* subsecciones de Ajustes (datos, avatar, contraseña) debajo de Ajustes cuando está activo */
body.ch-profile .lp-profile-nav-tabs > li.active > .profile-tab-sections {
	display: flex !important; flex-direction: column; gap: 2px; position: static !important; visibility: visible !important; opacity: 1 !important;
	margin: 2px 0 4px 30px !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; width: auto !important; list-style: none;
}
body.ch-profile .profile-tab-sections li { margin: 0 !important; border: 0 !important; }
body.ch-profile .profile-tab-sections a { display: block; padding: 7px 12px !important; border-radius: 10px; font: 600 13px/1.3 'Manrope', sans-serif !important; color: var(--ch-muted) !important; text-decoration: none !important; background: none !important; }
body.ch-profile .profile-tab-sections a:hover,
body.ch-profile .profile-tab-sections li.active a { color: var(--ch-violet) !important; background: var(--ch-accent-soft) !important; }

/* ---------- columna de contenido ---------- */
body.ch-profile #profile-content {
	position: relative; z-index: 2; grid-column: 2; float: none !important; width: auto !important; max-width: none !important;
	margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 22px; min-width: 0;
}
body.ch-profile #profile-content > div,
body.ch-profile .learn-press-profile-course__tab { display: flex; flex-direction: column; gap: 22px; }
body.ch-profile .ch-profile-extras { grid-column: 2; margin-top: 22px; }
body.ch-profile .ch-profile-extras > * { border-radius: 18px; overflow: hidden; background: #fff; box-shadow: var(--ch-shadow); }

/* estadísticas */
body.ch-profile .learn-press-profile-course__statistic,
body.ch-profile #dashboard-statistic { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
body.ch-profile .dashboard-statistic__row { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin: 0 !important; }
body.ch-profile .dashboard-statistic__row + .dashboard-statistic__row { margin-top: 14px !important; }
body.ch-profile .learn-press-profile-course__statistic { margin-bottom: 22px !important; }
body.ch-profile .learn-press-profile-course__tab .learn-press-profile-course__statistic { margin-bottom: 0 !important; } /* ahí ya separa el gap */
body.ch-profile .statistic-box {
	display: flex !important; gap: 14px; align-items: center; width: auto !important; margin: 0 !important; padding: 20px !important;
	background: #fff !important; border: 0 !important; border-radius: 18px !important; box-shadow: var(--ch-shadow) !important;
}
body.ch-profile .statistic-box__icon { width: 46px !important; height: 46px !important; flex: none; border-radius: 14px !important; display: flex !important; align-items: center; justify-content: center; background: var(--ch-accent-soft) !important; color: var(--ch-ink) !important; font-size: 18px; margin: 0 !important; }
body.ch-profile .statistic-box:nth-child(3n+2) .statistic-box__icon { background: #e6fbf2 !important; }
body.ch-profile .statistic-box:nth-child(3n) .statistic-box__icon { background: #ffeef7 !important; }
body.ch-profile .statistic-box__icon span { color: var(--ch-ink) !important; }
body.ch-profile .statistic-box__text { display: flex !important; flex-direction: column-reverse; gap: 5px; min-width: 0; }
body.ch-profile .statistic-box__text label { margin: 0 !important; font: 600 12.5px/1.3 'Manrope', sans-serif !important; color: var(--ch-muted) !important; }
body.ch-profile .statistic-box__text__number { font: 800 26px/1 'Manrope', sans-serif !important; letter-spacing: -.02em; color: var(--ch-ink) !important; }

/* tarjeta blanca con los cursos */
body.ch-profile .learn-press-course-tab-filters {
	background: #fff; border-radius: 20px; padding: 26px !important; box-shadow: var(--ch-shadow); margin: 0 !important;
}
/* el resto de las pestañas (certificados, exámenes, pedidos, tareas, ajustes…) van dentro de una tarjeta blanca;
 * las de cursos no, porque ahí las estadísticas van sueltas arriba y la tarjeta es la de los filtros */
body.ch-profile #profile-content > [id^="profile-content-"]:not(:has(.learn-press-profile-course__statistic, .learn-press-course-tab-filters)) {
	display: block; background: #fff; border-radius: 20px; padding: 26px; box-shadow: var(--ch-shadow);
}
body.ch-profile #profile-content .learn-press-subtab-content { padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; }
body.ch-profile .learn-press-tabs {
	display: flex !important; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-end;
	margin: 0 0 20px !important; padding: 0 0 14px !important; border: 0 !important; border-bottom: 1px solid var(--ch-line) !important; background: none !important;
}
body.ch-profile .learn-press-tabs::before { content: none; }
body.ch-profile .learn-press-course-tab-filters .learn-press-tabs::before { content: "Cursos"; margin-right: auto; font: 800 20px/1.2 'Manrope', sans-serif; letter-spacing: -.01em; color: var(--ch-ink); }
body.ch-profile.ch-profile--tab-my-courses .learn-press-course-tab-filters .learn-press-tabs::before { content: "Mis cursos"; }
body.ch-profile .learn-press-filters { display: flex !important; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; }
body.ch-profile .learn-press-filters li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; list-style: none; }
body.ch-profile .learn-press-filters li::before,
body.ch-profile .learn-press-filters li::after,
body.ch-profile .learn-press-filters a::after { display: none !important; }
body.ch-profile .learn-press-filters a {
	display: block; cursor: pointer; padding: 8px 14px !important; border-radius: 30px; border: 0 !important;
	font: 700 13px/1.2 'Manrope', sans-serif !important; color: var(--ch-muted) !important; background: none !important; text-decoration: none !important; text-transform: none !important;
}
body.ch-profile .learn-press-filters a:hover { color: var(--ch-ink) !important; }
body.ch-profile .learn-press-filters a.active { background: var(--ch-ink) !important; color: #fff !important; }
body.ch-profile .learn-press-course-builder-link {
	display: inline-flex !important; gap: 8px; align-items: center; margin-left: 6px; padding: 9px 16px !important; border-radius: 30px !important; border: 0 !important;
	background: var(--ch-violet) !important; color: #fff !important; font: 700 13px/1.2 'Manrope', sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; height: auto !important; text-decoration: none !important;
}
body.ch-profile .learn-press-course-builder-link::before { content: "+"; font-size: 16px; line-height: 0; }
body.ch-profile .learn-press-course-builder-link:hover { background: var(--ch-accent-hover) !important; }

/* grilla de cursos (tarjetas de Eduma) */
body.ch-profile #profile-content .lp-archive-courses { margin: 0 !important; padding: 0 !important; }
body.ch-profile #profile-content ul.learn-press-courses {
	display: grid !important; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; margin: 0 !important; padding: 0 !important; list-style: none;
}
body.ch-profile #profile-content ul.learn-press-courses::before,
body.ch-profile #profile-content ul.learn-press-courses::after { display: none !important; }
body.ch-profile #profile-content ul.learn-press-courses > li { width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; }
body.ch-profile #profile-content .course-item {
	height: 100%; display: flex; flex-direction: column; margin: 0 !important; padding: 0 !important; overflow: hidden;
	border: 1px solid var(--ch-line) !important; border-radius: 16px !important; background: #fff !important; box-shadow: none !important; transition: box-shadow .2s ease;
}
body.ch-profile #profile-content .course-item:hover { box-shadow: 0 16px 32px rgba(11, 27, 77, .08) !important; }
body.ch-profile #profile-content .course-thumbnail { position: relative; aspect-ratio: 16 / 10; overflow: hidden; margin: 0 !important; border-radius: 0 !important; background: #efedf6; }
body.ch-profile #profile-content .course-thumbnail img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; display: block; }
body.ch-profile #profile-content .course-readmore { display: none !important; }
body.ch-profile #profile-content .thim-course-content { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: 16px !important; border: 0 !important; }
body.ch-profile #profile-content .thim-course-content > .course-instructor,
body.ch-profile #profile-content .course-description,
body.ch-profile #profile-content .course-meta .course-instructor { display: none !important; }
body.ch-profile #profile-content .course-title { margin: 0 !important; font: 800 15px/1.3 'Manrope', sans-serif !important; text-transform: none !important; }
body.ch-profile #profile-content .course-title a { color: var(--ch-ink) !important; text-decoration: none !important; }
body.ch-profile #profile-content .course-title a:hover { color: var(--ch-violet) !important; }
body.ch-profile #profile-content .course-meta {
	margin-top: auto !important; display: flex !important; flex-wrap: wrap; gap: 6px 14px; align-items: center; padding: 10px 0 0 !important;
	border-top: 1px solid var(--ch-line) !important; font-size: 12px; font-weight: 600; color: var(--ch-muted);
}
body.ch-profile #profile-content .course-meta > * { margin: 0 !important; padding: 0 !important; border: 0 !important; display: inline-flex !important; gap: 5px; align-items: center; }
body.ch-profile #profile-content .course-meta > *::before,
body.ch-profile #profile-content .course-meta > *::after { display: none !important; }
body.ch-profile #profile-content .course-meta i { color: var(--ch-soft); }
body.ch-profile #profile-content .course-meta .course-price,
body.ch-profile #profile-content .course-meta .price { margin-left: auto !important; font-weight: 800; color: var(--ch-ink); }
/* avance del alumno */
body.ch-profile #profile-content :is(.learn-press-progress, .lp-course-progress, .course-progress) { height: 6px !important; border-radius: 6px !important; background: #efedf6 !important; overflow: hidden; border: 0 !important; }
body.ch-profile #profile-content :is(.learn-press-progress__active, .progress-active, .lp-progress-value) { background: linear-gradient(90deg, #8FA8FF, #C8F05A) !important; border-radius: 6px; }
body.ch-profile #profile-content .lp-button.view-more,
body.ch-profile #profile-content .lp-load-more-courses { display: block; margin: 20px auto 0 !important; }

/* ---------- contenido de las otras pestañas ---------- */
/* título de la pestaña ("Certificados", "Mis pedidos"…) */
body.ch-profile #profile-content .profile-heading { padding-bottom: 14px !important; border-bottom: 1px solid var(--ch-line) !important; margin: 0 0 20px !important; }
/* filtros y subpestañas (tareas, exámenes, ajustes): pastillas, la activa en negro */
body.ch-profile #profile-content :is(.learn-press-tabs__nav, .lp-sub-menu) {
	display: flex !important; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 20px !important; padding: 0 0 14px !important;
	border: 0 !important; border-bottom: 1px solid var(--ch-line) !important; background: none !important; width: auto !important;
}
body.ch-profile #profile-content :is(.learn-press-tabs__nav, .lp-sub-menu) li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; list-style: none; }
body.ch-profile #profile-content :is(.learn-press-tabs__nav, .lp-sub-menu) li::before,
body.ch-profile #profile-content :is(.learn-press-tabs__nav, .lp-sub-menu) li::after { display: none !important; }
body.ch-profile #profile-content :is(.learn-press-tabs__nav, .lp-sub-menu) :is(a, span, label) {
	display: block; cursor: pointer; padding: 8px 14px !important; border-radius: 30px; border: 0 !important;
	font: 700 13px/1.2 'Manrope', sans-serif !important; color: var(--ch-muted) !important; background: none !important; text-decoration: none !important; text-transform: none !important;
}
body.ch-profile #profile-content :is(.learn-press-tabs__nav, .lp-sub-menu) li.active > :is(a, span, label),
body.ch-profile #profile-content :is(.learn-press-tabs__nav, .lp-sub-menu) :is(a, span).active { background: var(--ch-ink) !important; color: #fff !important; }
body.ch-profile #profile-content .learn-press-tabs:not(.learn-press-course-tab-filters .learn-press-tabs) { border: 0 !important; padding: 0 !important; margin: 0 !important; display: block !important; }
body.ch-profile #profile-content .learn-press-tabs:not(.learn-press-course-tab-filters .learn-press-tabs)::before { content: none !important; }
/* avisos ("No hay tareas", "No tenés membresía"…) */
body.ch-profile #profile-content :is(.learn-press-message, .lp-membership-profile--empty) {
	margin: 0 !important; padding: 18px 20px !important; border: 0 !important; border-radius: 14px !important;
	background: #F0F3FA !important; color: var(--ch-muted) !important; font-size: 14px; font-weight: 600;
}
body.ch-profile #profile-content :is(.learn-press-message, .lp-membership-profile--empty)::before { display: none !important; }
body.ch-profile #profile-content .lp-membership-profile--empty p { margin: 0; }
/* botones sueltos (Libro de calificaciones, etc.) */
body.ch-profile #profile-content a.button {
	display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px !important; border-radius: 30px !important; border: 0 !important;
	background: var(--ch-violet) !important; color: #fff !important; font: 700 13.5px/1.2 'Manrope', sans-serif !important; text-transform: none !important; text-decoration: none !important;
}
/* mientras carga (LearnPress muestra bloques grises): con los colores de la marca */
body.ch-profile #profile-content .lp-skeleton-animation { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
body.ch-profile #profile-content .lp-skeleton-animation li {
	height: 18px; border-radius: 10px; margin: 0 !important;
	background: linear-gradient(90deg, #efedf6 0%, var(--ch-accent-soft) 40%, #e6fbf2 60%, #efedf6 100%) !important; background-size: 300% 100% !important;
	animation: chShimmer 1.4s ease-in-out infinite;
}
@keyframes chShimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
/* certificados: grilla de tarjetas */
body.ch-profile #profile-content .learnpress-certificates-profile ul:not(.lp-skeleton-animation) {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; list-style: none; margin: 0 !important; padding: 0 !important;
}
body.ch-profile #profile-content .learnpress-certificates-profile ul:not(.lp-skeleton-animation) > li {
	margin: 0 !important; padding: 12px !important; border: 1px solid var(--ch-line); border-radius: 16px; background: #fff; overflow: hidden;
}
body.ch-profile #profile-content .learnpress-certificates-profile img,
body.ch-profile #profile-content .learnpress-certificates-profile canvas { max-width: 100%; height: auto; border-radius: 10px; }
/* pedidos: recuperar pedido */
body.ch-profile #profile-content .profile-recover-order { margin-top: 20px; padding: 20px; border-radius: 16px; background: #F0F3FA; }
body.ch-profile #profile-content .recover-order__title { font-weight: 800; color: var(--ch-ink); margin: 0 0 4px; }
body.ch-profile #profile-content .recover-order__description { font-size: 13px; color: var(--ch-muted); margin: 0 0 12px; }
body.ch-profile #profile-content .lp-order-recover { display: flex; gap: 8px; flex-wrap: wrap; }
body.ch-profile #profile-content .lp-order-recover input { flex: 1 1 220px; width: auto !important; }
body.ch-profile #profile-content .list-table-nav td { background: none !important; }
/* estudiantes: filtros en una fila */
body.ch-profile #profile-content .lp-form-filter { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin: 0 0 20px !important; }
body.ch-profile #profile-content .lp-form-filter__fields { display: flex; flex-wrap: wrap; gap: 10px; flex: 1 1 320px; }
body.ch-profile #profile-content .lp-form-filter__fields > * { flex: 1 1 150px; margin: 0 !important; }
body.ch-profile #profile-content .lp-form-filter__actions { display: flex; gap: 8px; }
/* exámenes y tareas: filas */
body.ch-profile #profile-content .lp-target > ul:not(.learn-press-courses) { list-style: none; margin: 0; padding: 0; }
body.ch-profile #profile-content .lp-target > ul:not(.learn-press-courses) > li { padding: 14px 0; border-bottom: 1px solid var(--ch-line); margin: 0; }
/* ajustes: campos en dos columnas */
body.ch-profile #profile-content-settings form .form-fields,
body.ch-profile #profile-content-settings form ul.lp-form-fields { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
body.ch-profile #profile-content-settings form .form-field { margin: 0 !important; display: flex; flex-direction: column; gap: 6px; }
body.ch-profile #profile-content-settings form .form-field:has(textarea),
body.ch-profile #profile-content-settings form .form-field:has(.wp-editor-wrap) { grid-column: 1 / -1; }
body.ch-profile #profile-content-settings form :is(p, .form-actions):last-child { display: flex; justify-content: flex-end; margin: 20px 0 0 !important; }

/* títulos, tablas y formularios de las otras pestañas */
body.ch-profile #profile-content h2,
body.ch-profile #profile-content h3 { font: 800 20px/1.25 'Manrope', sans-serif !important; letter-spacing: -.01em; color: var(--ch-ink) !important; text-transform: none !important; margin: 0 0 18px !important; }
body.ch-profile #profile-content .course-title { font-size: 15px !important; margin: 0 !important; }
body.ch-profile #profile-content table { width: 100%; border-collapse: separate !important; border-spacing: 0; border: 1px solid var(--ch-line) !important; border-radius: 14px; overflow: hidden; font-size: 13.5px; background: #fff; }
body.ch-profile #profile-content table :is(th, td) { padding: 12px 14px !important; border: 0 !important; border-bottom: 1px solid var(--ch-line) !important; text-align: left; }
body.ch-profile #profile-content table th { background: #F0F3FA !important; font-weight: 800; color: var(--ch-ink); text-transform: none !important; }
body.ch-profile #profile-content table tr:last-child td { border-bottom: 0 !important; }
body.ch-profile #learn-press-profile #profile-content :is(input[type="text"], input[type="email"], input[type="password"], input[type="url"], input[type="tel"], textarea, select) {
	width: 100%; padding: 12px 14px !important; border-radius: 12px !important; border: 1px solid rgba(0, 0, 0, .12) !important;
	background: #fbfaff !important; font: 600 14px/1.4 'Manrope', sans-serif !important; color: var(--ch-ink) !important; box-shadow: none !important; height: auto !important;
}
body.ch-profile #learn-press-profile #profile-content :is(input, textarea, select):focus { border-color: var(--ch-violet) !important; outline: 3px solid rgba(var(--ch-accent-rgb), .15); }
body.ch-profile #learn-press-profile #profile-content label { font: 700 12.5px/1.3 'Manrope', sans-serif !important; color: var(--ch-muted) !important; text-transform: none !important; }
body.ch-profile #learn-press-profile #profile-content :is(button[type="submit"], input[type="submit"], .lp-button) {
	padding: 12px 22px !important; border-radius: 40px !important; border: 0 !important; background: var(--ch-violet) !important; color: #fff !important;
	font: 700 14px/1.2 'Manrope', sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; height: auto !important;
}
body.ch-profile #learn-press-profile #profile-content :is(button[type="submit"], input[type="submit"], .lp-button):hover { background: var(--ch-accent-hover) !important; }

/* ---------- visitante: formulario de ingreso y registro ---------- */
/* sin los bloques de Elementor (Mensajes, Soporte) ni el fondo blanco de la página */
body.ch-profile--guest .elementor-7081 > :not(:has(.learn-press-form-login, .learn-press-form-register)) { display: none !important; }
body.ch-profile--guest :is(.site-content, #main, .entry-content, .elementor-7081) { background: none !important; box-shadow: none !important; }
body.ch-profile--guest #learn-press-profile { padding-top: 56px; padding-bottom: 80px; }
body.ch-profile--guest .lp-content-area { max-width: none !important; }
body.ch-profile--guest .lp-content-area:has(.learn-press-form-login) { display: flex !important; flex-wrap: wrap; gap: 20px; justify-content: center; align-items: flex-start; }
body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) {
	flex: 1 1 360px; max-width: 460px; margin: 0 !important; padding: 32px !important; border-radius: 24px !important;
	border: 1px solid var(--ch-line) !important; background: #fff !important; box-shadow: 0 20px 40px rgba(11, 27, 77, .06) !important;
	font-family: 'Manrope', system-ui, sans-serif;
}
body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) h3 { font: 800 24px/1.2 'Manrope', sans-serif !important; margin: 0 0 20px !important; color: var(--ch-ink) !important; text-transform: none !important; }
body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) .form-fields { list-style: none; margin: 0 0 16px !important; padding: 0 !important; display: flex; flex-direction: column; gap: 14px; }
body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) .form-field { margin: 0 !important; padding: 0 !important; }
body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) label { display: block; margin-bottom: 6px; font: 700 13px/1.3 'Manrope', sans-serif !important; color: var(--ch-ink); }
body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) :is(input[type="text"], input[type="email"], input[type="password"]) {
	width: 100% !important; padding: 12px 14px !important; border-radius: 12px !important; border: 1px solid rgba(0, 0, 0, .14) !important; background: #fff !important; font: 500 14px/1.4 'Manrope', sans-serif !important; box-shadow: none !important; height: auto !important;
}
body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) :is(input[type="text"], input[type="email"], input[type="password"]):focus { border-color: var(--ch-violet) !important; outline: 3px solid rgba(var(--ch-accent-rgb), .15); }
body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--ch-violet); margin: 0 8px 0 0; vertical-align: -3px; }
body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) p label { display: inline; font-weight: 600 !important; }
body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) button {
	width: 100%; margin-top: 4px; padding: 13px 22px !important; border-radius: 40px !important; border: 0 !important; background: var(--ch-violet) !important; color: #fff !important;
	font: 800 14px/1.2 'Manrope', sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; height: auto !important; cursor: pointer;
}
body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) button:hover { background: var(--ch-accent-hover) !important; }
body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) a { color: var(--ch-violet) !important; font-weight: 700; font-size: 13px; }

@media (max-width: 900px) {
	body.ch-profile #learn-press-profile > .lp-content-area { grid-template-columns: minmax(0, 1fr); row-gap: 18px; }
	body.ch-profile #profile-sidebar,
	body.ch-profile #profile-content,
	body.ch-profile .ch-profile-extras { grid-column: 1; }
	/* menú: fila de pastillas que se desliza de costado */
	body.ch-profile #profile-sidebar { padding: 8px !important; }
	body.ch-profile .lp-profile-nav-tabs { flex-direction: row; overflow-x: auto; gap: 4px; scrollbar-width: none; }
	body.ch-profile .lp-profile-nav-tabs::-webkit-scrollbar { display: none; }
	body.ch-profile .lp-profile-nav-tabs > li > a { white-space: nowrap; padding: 9px 12px !important; }
	body.ch-profile .lp-profile-nav-tabs > li.logout { margin: 0 !important; padding: 0 !important; border: 0 !important; }
	body.ch-profile .lp-profile-nav-tabs > li.active > .profile-tab-sections { display: none !important; }
}
@media (max-width: 640px) {
	body.ch-profile .wrapper-profile-header .lp-profile-content-area { padding: 28px var(--ch-page-pad, 18px) 84px !important; gap: 18px; }
	body.ch-profile .lp-profile-left .user-avatar { width: 84px; height: 84px; }
	body.ch-profile .lp-profile-username { font-size: 26px !important; }
	body.ch-profile .learn-press-tabs { justify-content: flex-start; }
	body.ch-profile .learn-press-tabs::before { width: 100%; }
	body.ch-profile .learn-press-course-builder-link { margin-left: 0; }
	body.ch-profile #profile-content .learn-press-course-tab-filters { padding: 18px !important; }
	body.ch-profile :is(.learn-press-form-login, .learn-press-form-register) { padding: 24px !important; }
}

/* vista de lista de "Mis cursos" (alumno): sin la tarjeta con sombra adentro de la tarjeta */
body.ch-profile .learn-press-course-tab-filters .learn-press-profile-course__progress :is(div, table) { box-shadow: none !important; }
body.ch-profile .learn-press-course-tab-filters .learn-press-profile-course__progress table img { width: 72px !important; height: auto; border-radius: 10px; }
body.ch-profile .learn-press-course-tab-filters .learn-press-profile-course__progress table td { vertical-align: middle; }

/* ---------- filtros tipo "Todo / Finalizado / Aprobado…" (exámenes, tareas…): <li><span> ---------- */
body.ch-profile #learn-press-profile #profile-content .learn-press-filters {
	display: flex !important; flex-wrap: wrap; gap: 6px; margin: 0 0 20px !important; padding: 0 0 14px !important;
	border: 0 !important; border-bottom: 1px solid var(--ch-line) !important;
}
body.ch-profile .learn-press-course-tab-filters .learn-press-tabs .learn-press-filters { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.ch-profile #learn-press-profile #profile-content .learn-press-filters li { list-style: none; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.ch-profile #learn-press-profile #profile-content .learn-press-filters li::after,
body.ch-profile #learn-press-profile #profile-content .learn-press-filters span::after { display: none !important; }
body.ch-profile #learn-press-profile #profile-content .learn-press-filters li > :is(a, span) {
	display: block; cursor: pointer; padding: 8px 14px !important; border-radius: 30px; border: 0 !important;
	font: 700 13px/1.2 'Manrope', sans-serif !important; color: var(--ch-muted) !important; background: none !important; text-decoration: none !important;
}
body.ch-profile #learn-press-profile #profile-content .learn-press-filters li > :is(a, span):hover { color: var(--ch-ink) !important; }
body.ch-profile #learn-press-profile #profile-content .learn-press-filters li.active > :is(a, span),
body.ch-profile #learn-press-profile #profile-content .learn-press-filters li > a.active { background: var(--ch-ink) !important; color: #fff !important; }

/* ---------- tablas de LearnPress (exámenes, pedidos, tareas) ---------- */
body.ch-profile #learn-press-profile .lp-table-wrap { overflow-x: auto; border: 1px solid var(--ch-line); border-radius: 14px; }
body.ch-profile #learn-press-profile table.lp-list-table { width: 100%; margin: 0 !important; border: 0 !important; border-radius: 0; border-collapse: collapse !important; font: 500 13.5px/1.45 'Manrope', sans-serif !important; color: var(--ch-ink); background: #fff; }
body.ch-profile #learn-press-profile table.lp-list-table:not(.lp-table-wrap table) { border: 1px solid var(--ch-line) !important; border-radius: 14px; border-collapse: separate !important; overflow: hidden; }
body.ch-profile #learn-press-profile table.lp-list-table :is(th, td) {
	padding: 13px 16px !important; border: 0 !important; border-bottom: 1px solid var(--ch-line) !important; text-align: left; vertical-align: middle; background: none;
}
body.ch-profile #learn-press-profile table.lp-list-table thead th {
	background: #F0F3FA !important; font: 800 11.5px/1.3 'Manrope', sans-serif !important; letter-spacing: .05em; text-transform: uppercase !important; color: var(--ch-muted) !important; white-space: nowrap;
}
body.ch-profile #learn-press-profile table.lp-list-table tbody tr:hover td { background: #fbfaff; }
body.ch-profile #learn-press-profile table.lp-list-table td a { color: var(--ch-ink) !important; font-weight: 700; text-decoration: none !important; }
body.ch-profile #learn-press-profile table.lp-list-table td a:hover { color: var(--ch-violet) !important; }
body.ch-profile #learn-press-profile table.lp-list-table td:not(:first-child) { white-space: nowrap; color: var(--ch-muted); }
body.ch-profile #learn-press-profile table.lp-list-table .result-percent { font-weight: 800; color: var(--ch-ink); margin-right: 6px; }
/* estado en pastilla */
body.ch-profile #learn-press-profile .lp-label {
	display: inline-block; padding: 4px 10px; border-radius: 20px; font: 800 10.5px/1.2 'Manrope', sans-serif; letter-spacing: .04em; text-transform: uppercase;
	background: #efedf6 !important; color: #0B1B4D !important;
}
body.ch-profile #learn-press-profile .lp-label:is(.passed, .completed, .finished) { background: #C8F05A !important; }
body.ch-profile #learn-press-profile .lp-label:is(.failed) { background: #ffd6e8 !important; color: #a3124f !important; }
body.ch-profile #learn-press-profile .lp-label:is(.in-progress, .started, .enrolled) { background: var(--ch-accent-soft) !important; }
/* pie: "Mostrando 1 a 10" + paginación */
body.ch-profile #learn-press-profile table.lp-list-table tfoot td { border-bottom: 0 !important; background: #fff !important; font-size: 12.5px; color: var(--ch-soft); }
body.ch-profile #learn-press-profile tfoot td { display: table-cell; }
body.ch-profile #learn-press-profile .learn-press-pagination { display: inline-block; float: right; margin: 0 !important; }
body.ch-profile #learn-press-profile .learn-press-pagination ul { display: flex; gap: 4px; margin: 0 !important; padding: 0 !important; list-style: none; border: 0 !important; }
body.ch-profile #learn-press-profile .learn-press-pagination li { margin: 0 !important; border: 0 !important; }
body.ch-profile #learn-press-profile .learn-press-pagination .page-numbers {
	display: flex !important; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 8px; border-radius: 16px !important;
	border: 1px solid var(--ch-line) !important; background: #fff !important; color: var(--ch-ink) !important; font: 700 12.5px/1 'Manrope', sans-serif !important; text-decoration: none !important;
}
body.ch-profile #learn-press-profile .learn-press-pagination .page-numbers.current { background: var(--ch-ink) !important; border-color: var(--ch-ink) !important; color: #fff !important; }

/* ---------- tarjetas de cursos: textos completos ---------- */
body.ch-profile #profile-content .course-item .course-title {
	height: auto !important; max-height: none !important; min-height: 0 !important; overflow: visible !important;
	font: 800 15px/1.35 'Manrope', sans-serif !important; letter-spacing: -.005em;
}
body.ch-profile #profile-content .course-item .course-title a {
	display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
	height: auto !important; max-height: none !important; white-space: normal !important;
}
body.ch-profile #profile-content .course-item :is(.thim-course-content, .course-meta, .course-content) { height: auto !important; max-height: none !important; overflow: visible !important; }
body.ch-profile #profile-content .course-item .course-meta { padding-right: 0 !important; }
/* precio en su propia línea, sin cortarse */
body.ch-profile #profile-content .course-item :is(.course-price, .price, .course-meta .course-price) {
	position: static !important; flex: 1 0 100%; margin: 4px 0 0 !important; text-align: left !important; white-space: nowrap;
	font: 800 14.5px/1.3 'Manrope', sans-serif !important; color: var(--ch-ink) !important;
}
body.ch-profile #profile-content .course-item :is(.course-price, .price) :is(del, .origin-price) { font-weight: 600; font-size: 12.5px; color: var(--ch-soft) !important; margin-right: 6px; }
body.ch-profile #profile-content .course-item :is(.course-price, .price) * { position: static !important; float: none !important; }

/* ---------- "Mis cursos" en lista (alumno) ---------- */
/* los filtros de cursos van en la misma línea que el título, sin la raya de los otros filtros */
body.ch-profile #learn-press-profile #profile-content .learn-press-course-tab-filters .learn-press-filters { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.ch-profile .learn-press-course-tab-filters .learn-press-tabs { align-items: center !important; }
body.ch-profile #learn-press-profile table.lp_profile_course_progress { table-layout: auto; border: 1px solid var(--ch-line) !important; border-radius: 14px; border-collapse: separate !important; overflow: hidden; }
body.ch-profile #learn-press-profile table.lp_profile_course_progress td:nth-child(2) { white-space: normal !important; width: 100%; }
body.ch-profile #learn-press-profile table.lp_profile_course_progress :is(td, th):nth-child(n+3) { white-space: normal !important; font-size: 12.5px; }
body.ch-profile #learn-press-profile table.lp_profile_course_progress th:first-child,
body.ch-profile #learn-press-profile table.lp_profile_course_progress td:first-child { width: 72px; padding-right: 0 !important; }
body.ch-profile #learn-press-profile table.lp_profile_course_progress .course-title { font-weight: 800; color: var(--ch-ink); }
/* miniatura del curso; si no hay imagen, un ícono de libro */
body.ch-profile #learn-press-profile table.lp_profile_course_progress td:first-child a {
	position: relative; display: block; width: 56px; height: 56px; border-radius: 14px; overflow: hidden;
	background: linear-gradient(135deg, rgba(143, 168, 255, .45), rgba(200, 240, 90, .45));
}
body.ch-profile #learn-press-profile table.lp_profile_course_progress td:first-child a::before {
	content: ""; position: absolute; inset: 0; margin: auto; width: 22px; height: 22px; background: #0B1B4D;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4h7a3 3 0 0 1 3 3v13a2 2 0 0 0-2-2H2z'/%3E%3Cpath d='M22 4h-7a3 3 0 0 0-3 3v13a2 2 0 0 1 2-2h8z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4h7a3 3 0 0 1 3 3v13a2 2 0 0 0-2-2H2z'/%3E%3Cpath d='M22 4h-7a3 3 0 0 0-3 3v13a2 2 0 0 1 2-2h8z'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.ch-profile #learn-press-profile table.lp_profile_course_progress td:first-child img { position: relative; z-index: 1; width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; display: block; }
body.ch-profile .lp_profile_course_progress__nav { text-align: center; margin-top: 18px; }
@media (max-width: 760px) {
	/* en celular la lista pasa a filas apiladas: foto + nombre arriba, datos abajo */
	body.ch-profile #learn-press-profile table.lp_profile_course_progress thead { display: none; }
	body.ch-profile #learn-press-profile table.lp_profile_course_progress,
	body.ch-profile #learn-press-profile table.lp_profile_course_progress tbody { display: block; }
	body.ch-profile #learn-press-profile table.lp_profile_course_progress tr { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 4px 12px; padding: 14px; border-bottom: 1px solid var(--ch-line); }
	body.ch-profile #learn-press-profile table.lp_profile_course_progress td { display: block; padding: 0 !important; border: 0 !important; width: auto !important; }
	body.ch-profile #learn-press-profile table.lp_profile_course_progress td:first-child { grid-row: span 3; }
}

/* ---------- mensajes (Better Messages) ---------- */
body.ch-profile .ch-bm-banner {
	display: flex; flex-wrap: wrap; gap: 14px; align-items: center; padding: 14px 16px 14px 14px; border-radius: 18px;
	background: #0B1B4D; color: #fff; box-shadow: 0 20px 40px rgba(11, 27, 77, .12);
}
body.ch-profile .ch-bm-banner__icon {
	position: relative; width: 44px; height: 44px; flex: none; border-radius: 50%; background: linear-gradient(135deg, #8FA8FF, #C8F05A);
	display: flex; align-items: center; justify-content: center; color: #0c0c0c; font-weight: 800; font-size: 15px;
}
body.ch-profile .ch-bm-banner__icon::after { content: ""; position: absolute; top: 0; right: 0; width: 12px; height: 12px; border-radius: 50%; background: #FF6AC1; box-shadow: 0 0 0 2px #0B1B4D; }
body.ch-profile .ch-bm-banner__text { flex: 1 1 220px; min-width: 0; font-size: 14px; font-weight: 800; }
body.ch-profile .ch-bm-banner__text span { display: block; margin-top: 3px; font-size: 13px; font-weight: 500; color: #c2c2ca; }
body.ch-profile .ch-bm-banner__btn { padding: 10px 18px; border-radius: 30px; background: linear-gradient(90deg, #C8F05A, #8FA8FF); color: #0c0c0c !important; font-weight: 800; font-size: 13px; white-space: nowrap; text-decoration: none !important; }
body.ch-profile .ch-bm-banner__close { all: unset; cursor: pointer; width: 32px; height: 32px; border-radius: 50%; position: relative; }
body.ch-profile .ch-bm-banner__close::before,
body.ch-profile .ch-bm-banner__close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 12px; height: 1.6px; background: #8f8f9c; }
body.ch-profile .ch-bm-banner__close::before { transform: translate(-50%, -50%) rotate(45deg); }
body.ch-profile .ch-bm-banner__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
body.ch-profile .ch-bm-banner__close:hover { background: rgba(255, 255, 255, .08); }
/* ítem "Mensajes" del menú lateral, con el número de no leídos */
body.ch-profile .lp-profile-nav-tabs > li.ch-nav-messages > a i { font-style: normal; }
body.ch-profile .lp-profile-nav-tabs .ch-nav-badge,
body.ch-profile .lp-profile-nav-tabs .bp-better-messages-unread {
	margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: 10px;
	background: #FF6AC1; color: #0c0c0c; font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center;
}
body.ch-profile .lp-profile-nav-tabs .bp-better-messages-unread[data-count="0"] { display: none; }

/* ---------- secciones "Mensajes" y "Soporte técnico" (vienen del acordeón de Elementor) ---------- */
body.ch-profile .ch-panel { grid-column: 2; position: relative; z-index: 2; background: #fff; border-radius: 20px; padding: 26px; box-shadow: var(--ch-shadow); min-width: 0; }
body.ch-profile .ch-panel[hidden] { display: none !important; }
body.ch-profile .ch-panel .profile-heading { font: 800 20px/1.25 'Manrope', sans-serif !important; margin: 0 0 18px !important; padding-bottom: 14px; border-bottom: 1px solid var(--ch-line); color: var(--ch-ink) !important; }
body.ch-profile .ch-panel > div { padding: 0 !important; border: 0 !important; background: none !important; }
body.ch-profile .ch-panel p { font-size: 14px; line-height: 1.6; color: var(--ch-muted); }
body.ch-profile .ch-panel a { color: var(--ch-violet); font-weight: 700; }
/* formulario de soporte (WPForms) */
body .ch-modal--soporte .wpforms-container { margin: 8px 0 0 !important; }
body .ch-modal--soporte .wpforms-field { padding: 0 0 16px !important; }
body .ch-modal--soporte .wpforms-field-label { font: 700 12.5px/1.3 'Manrope', sans-serif !important; color: var(--ch-muted) !important; margin-bottom: 6px !important; }
body .ch-modal--soporte .wpforms-field-sublabel { font-size: 11.5px !important; color: var(--ch-soft) !important; }
body .ch-modal--soporte :is(input[type="text"], input[type="email"], textarea) {
	width: 100% !important; max-width: none !important; padding: 12px 14px !important; border-radius: 12px !important; border: 1px solid rgba(0, 0, 0, .12) !important;
	background: #fbfaff !important; font: 600 14px/1.4 'Manrope', sans-serif !important; color: var(--ch-ink) !important; box-shadow: none !important; height: auto !important;
}
body .ch-modal--soporte :is(input, textarea):focus { border-color: var(--ch-violet) !important; outline: 3px solid rgba(var(--ch-accent-rgb), .15); }
body .ch-modal--soporte button[type="submit"] {
	padding: 12px 22px !important; border-radius: 40px !important; border: 0 !important; background: var(--ch-violet) !important; color: #fff !important;
	font: 700 14px/1.2 'Manrope', sans-serif !important; height: auto !important;
}
body .ch-modal--soporte button[type="submit"]:hover { background: var(--ch-accent-hover) !important; }
/* íconos de los ítems agregados al menú (texto, no fuente de íconos) */
body.ch-profile .lp-profile-nav-tabs > li:is(.ch-nav-mensajes, .ch-nav-soporte) > a i { font-style: normal; font-weight: 800; font-size: 14px !important; }

@media (max-width: 900px) { body.ch-profile .ch-panel { grid-column: 1; padding: 18px; } }


/* ---------- ventanas emergentes: Mensajes y Soporte técnico ---------- */
.ch-modal[hidden] { display: none !important; }
.ch-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; font-family: 'Manrope', system-ui, sans-serif; }
.ch-modal__backdrop { position: absolute; inset: 0; background: rgba(11, 27, 77, .55); backdrop-filter: blur(3px); }
.ch-modal__box {
	position: relative; display: flex; flex-direction: column; width: 100%; max-width: 560px; max-height: calc(100vh - 32px);
	border-radius: 24px; background: #fff; box-shadow: 0 30px 60px rgba(11, 27, 77, .25); overflow: hidden; animation: chModalIn .2s ease;
}
.ch-modal--mensajes .ch-modal__box { max-width: 960px; height: min(760px, calc(100vh - 32px)); }
@keyframes chModalIn { from { opacity: 0; transform: translateY(10px) scale(.98); } }
html.ch-modal-open { overflow: hidden; }
.ch-modal__head { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 16px 24px; border-bottom: 1px solid rgba(0, 0, 0, .07); }
.ch-modal__head h3 { margin: 0 !important; font: 800 19px/1.2 'Manrope', sans-serif !important; color: #0B1B4D !important; text-transform: none !important; }
.ch-modal__close { all: unset; position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; background: #f3f2f7; cursor: pointer; }
.ch-modal__close::before,
.ch-modal__close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 13px; height: 1.8px; border-radius: 2px; background: #0B1B4D; }
.ch-modal__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.ch-modal__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.ch-modal__close:hover { background: #e9e6f3; }
.ch-modal__body { flex: 1; min-height: 0; overflow-y: auto; padding: 20px 24px 24px; }
.ch-modal__body > * { padding: 0 !important; border: 0 !important; background: none !important; }
.ch-modal__body p { font-size: 14px; line-height: 1.6; color: #5c5c66; margin: 0 0 12px; }
.ch-modal__body a { color: var(--ch-accent); font-weight: 700; }
/* mensajes: la bandeja ocupa todo el alto de la ventana */
.ch-modal--mensajes .ch-modal__body { padding: 0; display: flex; flex-direction: column; }
.ch-modal--mensajes .ch-modal__body > * { flex: 1; min-height: 0; display: flex !important; flex-direction: column; }
.ch-modal--mensajes .ch-modal__body > * > p:first-child { flex: none; margin: 0; padding: 10px 24px; font-size: 12.5px; background: #F0F3FA; }

/* estilo de Better Messages con la paleta del campus (sus propias variables) */
.ch-modal--mensajes .bp-messages-wrap,
body.ch-profile .bp-messages-wrap {
	--main-bm-color: var(--ch-accent-rgb, 46, 91, 255);
	--bm-text-color: #0B1B4D;
	--bm-bg-color: #ffffff;
	--bm-bg-secondary: #F0F3FA;
	--bm-hover-bg: var(--ch-accent-soft);
	--bm-border-color: rgba(0, 0, 0, .08);
	--bm-border-secondary-color: rgba(0, 0, 0, .06);
	--bm-border-radius: 14px;
	--bm-avatar-radius: 50%;
	--bm-message-border-radius: 16px;
	font-family: 'Manrope', system-ui, sans-serif !important;
	flex: 1; min-height: 0; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.ch-modal--mensajes .bp-messages-wrap * { font-family: 'Manrope', system-ui, sans-serif; }
.ch-modal--mensajes .bp-messages-wrap .threads-list .thread { border-radius: 12px; margin: 2px 8px; }
.ch-modal--mensajes .bp-messages-wrap .threads-list .thread.unread { background: #fbfaff; }
.ch-modal--mensajes .bp-messages-wrap .threads-list .thread .name,
.ch-modal--mensajes .bp-messages-wrap .threads-list .thread .bm-name { font-weight: 800; }
.ch-modal--mensajes .bp-messages-wrap :is(.unread-count, .bm-unread-badge) { background: #FF6AC1 !important; color: #0c0c0c !important; font-weight: 800; }
.ch-modal--mensajes .bp-messages-wrap :is(input[type="text"], input[type="search"], textarea, [contenteditable="true"]) { border-radius: 12px !important; font-family: 'Manrope', sans-serif !important; }

/* íconos SVG en el menú lateral, el encabezado y el aviso */
body.ch-profile .lp-profile-nav-tabs .ch-nav-ico { display: inline-flex; align-items: center; justify-content: center; }
body.ch-profile .lp-profile-nav-tabs .ch-nav-ico svg { width: 16px; height: 16px; }
body.ch-profile .ch-profile-msgs__ico svg { width: 16px; height: 16px; stroke: #0c0c0c; }
body.ch-profile .ch-bm-banner__icon svg { width: 18px; height: 18px; stroke: #0c0c0c; }
@media (max-width: 640px) {
	.ch-modal { padding: 0; align-items: flex-end; }
	.ch-modal__box,
	.ch-modal--mensajes .ch-modal__box { max-width: none; height: auto; max-height: 92vh; border-radius: 22px 22px 0 0; }
	.ch-modal--mensajes .ch-modal__box { height: 92vh; }
}

/* aire arriba del nombre en el encabezado (con #id para ganarle a LearnPress) */
body.ch-profile #learn-press-profile .wrapper-profile-header .lp-profile-content-area { padding-top: 110px !important; padding-bottom: 112px !important; }
@media (max-width: 640px) {
	body.ch-profile #learn-press-profile .wrapper-profile-header .lp-profile-content-area { padding-top: 40px !important; padding-bottom: 88px !important; }
}
/* miniaturas de "Mis cursos": se ven enteras, con su proporción */
body.ch-profile #learn-press-profile table.lp_profile_course_progress th:first-child,
body.ch-profile #learn-press-profile table.lp_profile_course_progress td:first-child { width: 112px; }
body.ch-profile #learn-press-profile table.lp_profile_course_progress td:first-child a { width: 96px; height: auto; min-height: 54px; }
body.ch-profile #learn-press-profile table.lp_profile_course_progress td:first-child img { height: auto !important; object-fit: contain; }
@media (max-width: 760px) {
	body.ch-profile #learn-press-profile table.lp_profile_course_progress tr { grid-template-columns: 96px minmax(0, 1fr); }
}

/* miniatura de "Mis cursos" tal cual la imagen: sin el fondo de color alrededor */
body.ch-profile #learn-press-profile table.lp_profile_course_progress td:first-child a:has(img) { background: none !important; min-height: 0; border-radius: 10px; }
body.ch-profile #learn-press-profile table.lp_profile_course_progress td:first-child a:has(img)::before { display: none !important; }
body.ch-profile #learn-press-profile table.lp_profile_course_progress td:first-child img { border-radius: 10px !important; }

/* encabezado: LearnPress sube la foto y el nombre con márgenes negativos; se anulan */
body.ch-profile #learn-press-profile .wrapper-profile-header :is(.lp-profile-left, .lp-profile-right, .user-avatar, .lp-profile-username) {
	margin-top: 0 !important; top: auto !important; transform: none !important;
}
body.ch-profile #learn-press-profile .lp-profile-left { position: relative !important; }

/* encabezado: la paleta oscura de antes, con más degradado (violeta que se abre a lila y un brillo menta) */
body.ch-profile .wrapper-profile-header {
	background:
		radial-gradient(55% 90% at 88% 110%, rgba(200, 240, 90, .38) 0%, transparent 65%),
		radial-gradient(50% 80% at 8% -10%, rgba(143, 168, 255, .45) 0%, transparent 65%),
		linear-gradient(115deg, #4a2a9e 0%, #2f1a6b 45%, #1b1438 100%) !important;
}
body.ch-profile .wrapper-profile-header::after { background: radial-gradient(circle, rgba(200, 240, 90, .16), transparent 70%); }

/* LearnPress le fija 120px de alto al encabezado: con eso el contenido se centraba y se salía por arriba */
body.ch-profile #learn-press-profile .wrapper-profile-header,
body.ch-profile #learn-press-profile .wrapper-profile-header .lp-profile-content-area,
body.ch-profile #learn-press-profile .wrapper-profile-header :is(.lp-profile-left, .lp-profile-right) { height: auto !important; max-height: none !important; }

/* esquinas redondeadas de la miniatura (clip-path funciona aunque LearnPress le ponga otro radio) */
body.ch-profile #learn-press-profile table.lp_profile_course_progress td:first-child img { clip-path: inset(0 round 10px); }

/* ---------- menú lateral en grupos (Cursada / Cuenta) ---------- */
body.ch-profile .lp-profile-nav-tabs > li.ch-nav-group {
	padding: 14px 14px 6px !important; font: 800 10.5px/1.2 'Manrope', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--ch-soft);
}
body.ch-profile .lp-profile-nav-tabs > li.ch-nav-group:first-child { padding-top: 6px !important; }
body.ch-profile .lp-profile-nav-tabs > li.ch-nav-group + li.ch-nav-group { display: none; } /* grupo vacío */
/* "Soporte técnico" apenas destacado */
body.ch-profile .lp-profile-nav-tabs > li.ch-nav-soporte { margin-top: 6px !important; }
body.ch-profile .lp-profile-nav-tabs > li.ch-nav-soporte > a { background: #e9fbf3 !important; color: #14614a !important; font-weight: 700 !important; }
body.ch-profile .lp-profile-nav-tabs > li.ch-nav-soporte > a .ch-nav-ico { color: #1c8a5e !important; }
body.ch-profile .lp-profile-nav-tabs > li.ch-nav-soporte > a:hover { background: #d9f7ea !important; color: #0f4d3a !important; }
@media (max-width: 900px) {
	body.ch-profile .lp-profile-nav-tabs > li.ch-nav-group { display: none; }
	body.ch-profile .lp-profile-nav-tabs > li.ch-nav-soporte { margin-top: 0 !important; }
}

/* ---------- tablas anchas (tareas, etc.): el texto baja de línea y nada se sale de la tarjeta ---------- */
body.ch-profile #learn-press-profile #profile-content table.lp-list-table { table-layout: auto; min-width: 0; }
body.ch-profile #learn-press-profile #profile-content table.lp-list-table td:not(:first-child) { white-space: normal !important; }
body.ch-profile #learn-press-profile #profile-content table.lp-list-table td:first-child { min-width: 170px; }
body.ch-profile #learn-press-profile #profile-content table.lp-list-table td { font-size: 13px; }
body.ch-profile #learn-press-profile #profile-content table.lp-list-table thead th { white-space: normal; }
body.ch-profile #learn-press-profile #profile-content table.lp-list-table tbody tr:empty,
body.ch-profile #learn-press-profile #profile-content table.lp-list-table tbody tr:has(> td:only-child:empty) { display: none; }
/* la tabla envuelta por JS (.ch-table-wrap) se desliza de costado solo si hace falta */
body.ch-profile .ch-table-wrap { overflow-x: auto; border: 1px solid var(--ch-line); border-radius: 14px; }
body.ch-profile .ch-table-wrap > table.lp-list-table,
body.ch-profile .lp-table-wrap > table.lp-list-table { border: 0 !important; border-radius: 0 !important; }

/* ---------- paginación: sin la caja alrededor ni la flecha repetida ---------- */
body.ch-profile #learn-press-profile nav.learn-press-pagination,
body.ch-profile #learn-press-profile .learn-press-pagination ul { border: 0 !important; background: none !important; box-shadow: none !important; padding: 0 !important; width: auto !important; }
body.ch-profile #learn-press-profile table.lp-list-table tfoot td { display: table-cell; }
body.ch-profile #learn-press-profile table.lp-list-table tfoot td > nav { float: none; display: flex; justify-content: center; margin-top: 10px !important; }
body.ch-profile #learn-press-profile .learn-press-pagination .page-numbers::before,
body.ch-profile #learn-press-profile .learn-press-pagination .page-numbers::after { display: none !important; }
body.ch-profile #learn-press-profile .learn-press-pagination :is(.next, .prev).page-numbers { font-size: 0 !important; position: relative; }
body.ch-profile #learn-press-profile .learn-press-pagination :is(.next, .prev).page-numbers i { display: none !important; }
body.ch-profile #learn-press-profile .learn-press-pagination :is(.next, .prev).page-numbers > span:not(.screen-reader-text) { display: none !important; }
body.ch-profile #learn-press-profile .learn-press-pagination .next.page-numbers { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314141a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / 14px no-repeat !important; }
body.ch-profile #learn-press-profile .learn-press-pagination .prev.page-numbers { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314141a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E") center / 14px no-repeat !important; }

/* la lista <ul> de la paginación también tiene la clase "page-numbers": sin borde ni fondo */
body.ch-profile #learn-press-profile .learn-press-pagination ul.page-numbers {
	display: flex !important; gap: 6px; min-width: 0 !important; height: auto !important; padding: 0 !important;
	border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important;
}

/* encabezado del perfil con el fondo de la sección de cierre de la home (vino + manchas
 * coral/rosa), con una variación: el centro de luz a la derecha y las manchas invertidas */
body.ch-profile .wrapper-profile-header {
	background:
		radial-gradient(38% 95% at 94% 8%, rgba(232, 85, 143, .42) 0%, rgba(232, 112, 58, .22) 45%, transparent 75%),
		radial-gradient(34% 90% at 4% 105%, rgba(245, 183, 158, .30) 0%, rgba(214, 51, 108, .22) 50%, transparent 78%),
		radial-gradient(140% 120% at 85% 0%, #1c2f8a 0%, #0B1B4D 45%, #07112f 100%) !important;
}
body.ch-profile .wrapper-profile-header::after { background: radial-gradient(circle, rgba(232, 85, 143, .12), transparent 70%); }

/* encabezado del perfil con la paleta "Cobalto clínico": marino con brillo cobalto y un toque lima */
body.ch-profile .wrapper-profile-header {
	background:
		radial-gradient(38% 110% at 92% 0%, rgba(46, 91, 255, .55) 0%, transparent 68%),
		radial-gradient(30% 90% at 6% 110%, rgba(200, 240, 90, .18) 0%, transparent 68%),
		linear-gradient(120deg, #0B1B4D 0%, #0d2266 55%, #0B1B4D 100%) !important;
}
body.ch-profile .wrapper-profile-header::after { background: radial-gradient(circle, rgba(191, 208, 255, .10), transparent 70%); }
body.ch-profile .ch-profile-role { background: linear-gradient(90deg, #8FA8FF, #C8F05A); color: #0B1B4D; }
