/* Página "Mis niveles". Los colores salen de las variables de Eduma para seguir el Customizer. */

.sef-mis-niveles {
	--sef-primario: var(--thim-body-primary-color, #ffb606);
	--sef-ok: #2e9e5b;
	--sef-gris: #9aa0a6;
	--sef-borde: var(--thim-border-color, #eee);
}

.sef-aviso {
	padding: 12px 16px;
	border-left: 4px solid var(--sef-primario);
	background: #fff8e6;
}

.sef-mis-niveles__profesor {
	margin-bottom: 24px;
}

.sef-espera {
	margin-bottom: 32px;
	padding: 24px;
	border: 1px solid var(--sef-borde);
	border-radius: 12px;
	text-align: center;
}

.sef-niveles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sef-nivel {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 24px;
	border: 1px solid var(--sef-borde);
	border-radius: 12px;
	background: #fff;
}

.sef-nivel__numero {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	font-size: 1.2rem;
	font-weight: 700;
	color: #fff;
	background: var(--sef-gris);
}

.sef-nivel__titulo {
	margin: 4px 0 0;
	font-size: 1.15rem;
}

.sef-nivel__estado,
.sef-nivel__detalle {
	margin: 0;
	font-size: 0.9rem;
}

.sef-nivel__estado {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
}

.sef-nivel--actual {
	border: 2px solid var(--sef-primario);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.sef-nivel--actual .sef-nivel__numero {
	background: var(--sef-primario);
}

.sef-nivel--completado .sef-nivel__numero {
	background: var(--sef-ok);
}

.sef-nivel--completado .sef-nivel__estado {
	color: var(--sef-ok);
}

.sef-nivel--bloqueado {
	background: #f7f7f7;
	color: var(--sef-gris);
}

.sef-nivel--bloqueado .sef-nivel__titulo {
	color: var(--sef-gris);
}

.sef-icono {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.sef-nivel__numero .sef-icono {
	width: 24px;
	height: 24px;
}

.sef-progreso {
	width: 100%;
	height: 8px;
	border-radius: 4px;
	background: var(--sef-borde);
	overflow: hidden;
}

.sef-progreso span {
	display: block;
	height: 100%;
	background: var(--sef-primario);
}

.sef-boton {
	display: inline-block;
	margin-top: auto;
	padding: 8px 20px;
	border-radius: 6px;
	background: var(--sef-primario);
	color: var(--thim-button-text-color, #000);
	font-weight: 600;
	text-decoration: none;
}

.sef-boton:hover {
	background: var(--thim-button-hover-color, #e6a303);
	color: var(--thim-button-text-color, #000);
}

.sef-boton--secundario {
	border: 1px solid var(--sef-ok);
	background: transparent;
	color: var(--sef-ok);
}

.sef-boton--secundario:hover {
	background: var(--sef-ok);
	color: #fff;
}

/* Pregunta bien o mal en la ficha del alumno (íconos del kit de gamificación). */
.sef-marca {
	width: 18px;
	height: 18px;
	margin-right: 6px;
	vertical-align: -3px;
}

/* Panel del profesor. */

.sef-panel {
	--sef-primario: var(--thim-body-primary-color, #ffb606);
	--sef-ok: #2e9e5b;
	--sef-error: #c0392b;
	--sef-gris: #9aa0a6;
	--sef-borde: var(--thim-border-color, #eee);
}

.sef-aviso--ok {
	border-left-color: var(--sef-ok);
	background: #eaf7ef;
}

.sef-aviso--error {
	border-left-color: var(--sef-error);
	background: #fdecea;
}

.sef-panel__filtros {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 12px;
}

.sef-panel__filtros input[type="search"] {
	flex: 1 1 220px;
}

.sef-panel__total {
	color: var(--sef-gris);
	font-size: 0.9rem;
}

.sef-tabla {
	width: 100%;
	border-collapse: collapse;
}

.sef-tabla th,
.sef-tabla td {
	padding: 12px 10px;
	border-bottom: 1px solid var(--sef-borde);
	text-align: left;
	vertical-align: middle;
}

.sef-tabla__sub {
	display: block;
	color: var(--sef-gris);
	font-size: 0.85rem;
}

.sef-tabla .sef-progreso {
	max-width: 140px;
}

.sef-etiqueta {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 12px;
	background: #fff3cd;
	font-size: 0.85rem;
}

.sef-form-linea,
.sef-form-subir {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	margin: 0;
}

.sef-form-subir input[type="text"] {
	flex: 1 1 160px;
}

.sef-boton--chico {
	margin-top: 0;
	padding: 6px 14px;
	border: 0;
	font-size: 0.85rem;
	cursor: pointer;
}

.sef-paginacion {
	display: flex;
	gap: 6px;
	margin-top: 16px;
}

.sef-paginacion a,
.sef-paginacion__actual {
	padding: 4px 10px;
	border: 1px solid var(--sef-borde);
	border-radius: 4px;
}

.sef-paginacion__actual {
	background: var(--sef-primario);
}

/* En el celular cada alumno es una tarjeta. */
@media (max-width: 768px) {
	.sef-tabla thead {
		display: none;
	}

	.sef-tabla,
	.sef-tabla tbody,
	.sef-tabla tr,
	.sef-tabla td {
		display: block;
		width: 100%;
	}

	.sef-tabla tr {
		margin-bottom: 16px;
		padding: 8px 12px;
		border: 1px solid var(--sef-borde);
		border-radius: 10px;
	}

	.sef-tabla td {
		padding: 8px 0;
		border-bottom: 0;
	}

	.sef-tabla td::before {
		content: attr(data-label);
		display: block;
		color: var(--sef-gris);
		font-size: 0.75rem;
		text-transform: uppercase;
	}
}

/* Ficha del alumno. */

.sef-ficha__nombre {
	margin-bottom: 4px;
}

.sef-ficha__resumen {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 12px;
	margin: 20px 0 32px;
}

.sef-ficha__resumen > div {
	padding: 14px;
	border: 1px solid var(--sef-borde);
	border-radius: 10px;
	color: var(--sef-gris);
	font-size: 0.85rem;
}

.sef-ficha__dato {
	display: block;
	color: var(--thim-font-title-color, #333);
	font-size: 1.3rem;
	font-weight: 700;
}

.sef-ficha__leccion {
	margin-bottom: 20px;
}

.sef-ficha__leccion h4 {
	margin-bottom: 8px;
	font-size: 1rem;
}

.sef-ficha__items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sef-ficha__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 0;
	border-bottom: 1px solid var(--sef-borde);
}

.sef-ficha__detalle {
	flex-basis: 100%;
}

.sef-ficha__detalle summary {
	cursor: pointer;
	color: var(--sef-gris);
	font-size: 0.85rem;
}

.sef-etiqueta--ok {
	background: #eaf7ef;
	color: var(--sef-ok);
}

.sef-etiqueta--error {
	background: #fdecea;
	color: var(--sef-error);
}

.sef-tabla tr.sef-mal td:first-child {
	color: var(--sef-error);
}

.sef-tabla tr.sef-bien td:first-child {
	color: var(--sef-ok);
}

/* Tarjetas de nivel con la portada y el color del nivel (--sef-nivel-color lo define el child). */

.sef-nivel {
	overflow: hidden;
	border-top: 6px solid var(--sef-nivel-color, var(--sef-gris));
}

.sef-nivel__portada {
	display: block;
	width: calc(100% + 48px);
	max-width: none;
	height: auto;
	margin: -24px -24px 4px;
}

.sef-nivel--actual .sef-nivel__numero {
	background: var(--sef-nivel-color, var(--sef-primario));
	color: var(--sef-nivel-texto, #fff);
}

.sef-nivel--actual {
	border-color: var(--sef-nivel-color, var(--sef-primario));
	border-top-width: 6px;
}

.sef-nivel--actual .sef-progreso span {
	background: var(--sef-nivel-color, var(--sef-primario));
}

.sef-nivel--bloqueado .sef-nivel__portada {
	filter: grayscale(1);
	opacity: 0.45;
}

.sef-nivel--bloqueado {
	border-top-color: var(--sef-borde);
}

/* ==========================================================================
 * "Mi progreso" (pestaña del perfil del alumno, templates/mi-progreso.php): saludo con rango y
 * puntos, cuatro números, el nivel con su anillo de avance y los logros.
 * ========================================================================== */

.sef-tablero {
	--sef-primario: var(--thim-body-primary-color, #1170B8);
	--sef-tablero-borde: #E2E8F0;
	--sef-tablero-suave: #566579;
	display: grid;
	gap: 18px;
}

.sef-tablero h3,
.sef-tablero p {
	margin: 0;
}

/* Saludo */
.sef-tablero__hola {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 22px 24px;
	border-radius: 20px;
	background: linear-gradient(135deg, #1170B8 0%, #3E92D6 100%);
	color: #FFFFFF;
}

.sef-tablero__mascota {
	flex: none;
	width: 96px;
	height: 96px;
	border: 4px solid rgba(255, 255, 255, 0.85);
	border-radius: 50%;
	background: #FFFFFF;
	animation: sef-saludo 2.4s ease-in-out infinite;
}

.sef-tablero__saludo {
	flex: 1;
	min-width: 0;
}

.sef-tablero__nombre {
	font-size: 1.35rem;
	font-weight: 800;
}

.sef-tablero__mensaje {
	margin-top: 2px !important;
	color: #E3EEF8;
}

.sef-tablero__rango {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin-top: 12px !important;
	font-size: 0.9rem;
}

.sef-tablero__rango strong {
	padding: 2px 12px;
	border-radius: 999px;
	background: #FFCC00;
	color: #172033;
	font-weight: 800;
}

.sef-tablero__puntos {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
	font-weight: 800;
}

.sef-tablero__puntos img {
	width: 22px;
	height: 22px;
}

.sef-tablero__barra {
	overflow: hidden;
	height: 10px;
	margin-top: 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.25);
}

.sef-tablero__barra span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #FFCC00, #FFE680);
	animation: sef-llenar 1.2s ease-out;
}

.sef-tablero__meta {
	margin-top: 6px !important;
	color: #E3EEF8;
	font-size: 0.85rem;
}

/* Números */
.sef-tablero__datos {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sef-dato {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 14px 8px;
	border: 1px solid var(--sef-tablero-borde);
	border-radius: 16px;
	background: #FFFFFF;
	text-align: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sef-dato__icono {
	width: 48px;
	height: 48px;
	margin-bottom: 4px;
	object-fit: contain;
}

.sef-dato strong {
	font-size: 1.6rem;
	font-weight: 800;
	line-height: 1.1;
}

.sef-dato > span:last-child {
	color: var(--sef-tablero-suave);
	font-size: 0.8rem;
}

/* Racha encendida: ya practicó hoy. */
.sef-dato--encendido {
	border-color: #FFB46B;
	background: #FFF7EF;
}

.sef-dato--encendido .sef-dato__icono {
	animation: sef-llama 1.6s ease-in-out infinite;
}

/* Nivel */
.sef-tablero__nivel {
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 20px 24px;
	border: 1px solid var(--sef-tablero-borde);
	border-left: 6px solid var(--sef-nivel-color, var(--sef-primario));
	border-radius: 20px;
	background: #FFFFFF;
}

.sef-anillo {
	flex: none;
	width: 96px;
	height: 96px;
	transform: rotate(-90deg);
}

.sef-anillo circle {
	fill: none;
	stroke-width: 3.4;
}

.sef-anillo__fondo {
	stroke: #EEF2F6;
}

.sef-anillo__avance {
	stroke: var(--sef-nivel-color, var(--sef-primario));
	stroke-linecap: round;
	animation: sef-anillo 1.2s ease-out;
}

.sef-anillo text {
	fill: #172033;
	font-size: 8px;
	font-weight: 800;
	text-anchor: middle;
	transform: rotate(90deg);
	transform-origin: 18px 18px;
}

.sef-tablero__nivel-texto {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

.sef-tablero__etiqueta {
	color: var(--sef-tablero-suave);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sef-tablero__nivel h3 {
	font-size: 1.25rem;
}

.sef-tablero__nivel p {
	color: var(--sef-tablero-suave);
}

.sef-tablero__nivel .sef-boton {
	margin-top: 6px;
	border-radius: 999px;
	color: #FFFFFF;
}

/* Logros */
.sef-tablero__logros {
	padding: 20px 24px;
	border: 1px solid var(--sef-tablero-borde);
	border-radius: 20px;
	background: #FFFFFF;
}

.sef-tablero__logros h3 img {
	width: 28px;
	height: 28px;
}

.sef-tablero__logros h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	font-size: 1.15rem;
}

.sef-tablero__logros h3 span {
	padding: 2px 10px;
	border-radius: 999px;
	background: #FFF6D6;
	color: #7A5B00;
	font-size: 0.8rem;
}

.sef-tablero__logros ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sef-logro {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 12px 6px;
	border-radius: 16px;
	text-align: center;
	transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.sef-logro__icono {
	width: 72px;
	height: 72px;
	object-fit: contain;
	opacity: 0.9; /* La versión bloqueada del kit ya viene en grises. */
}

.sef-logro__titulo {
	font-size: 0.85rem;
	font-weight: 800;
}

.sef-logro__detalle {
	color: var(--sef-tablero-suave);
	font-size: 0.72rem;
	line-height: 1.3;
}

.sef-logro--ganado {
	background: #FFFBEB;
}

.sef-logro--ganado .sef-logro__icono {
	filter: drop-shadow(0 6px 10px rgba(255, 170, 0, 0.35));
	opacity: 1;
}

.sef-logro--ganado .sef-logro__detalle {
	color: #7A5B00;
	font-weight: 700;
}

@media (hover: hover) {
	.sef-dato:hover {
		transform: translateY(-4px);
		box-shadow: 0 10px 24px rgba(23, 32, 51, 0.08);
	}

	.sef-logro--ganado:hover {
		transform: scale(1.08) rotate(-2deg);
	}
}

@keyframes sef-llenar {
	from { width: 0; }
}

@keyframes sef-anillo {
	from { stroke-dasharray: 0 100; }
}

@keyframes sef-llama {
	0%, 100% { transform: scale(1) rotate(0); }
	50%      { transform: scale(1.12) rotate(-6deg); }
}

@keyframes sef-saludo {
	0%, 100% { transform: rotate(0); }
	50%      { transform: rotate(-5deg); }
}

@media (max-width: 767px) {
	.sef-tablero__hola {
		flex-direction: column;
		text-align: center;
	}

	.sef-tablero__rango {
		justify-content: center;
	}

	.sef-tablero__puntos {
		margin-left: 0;
	}

	.sef-tablero__datos,
	.sef-tablero__logros ul {
		grid-template-columns: repeat(2, 1fr);
	}

	.sef-tablero__nivel {
		flex-direction: column;
		text-align: center;
	}

	.sef-tablero__nivel-texto {
		align-items: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sef-tablero *,
	.sef-tablero__mascota {
		animation: none !important;
	}
}

/* ==========================================================================
 * "Mi perfil" (inc/perfil.php): encabezado con los colores de la marca, menú lateral, pestaña
 * "Ejercicios", notas y ajustes, en el mismo estilo que "Mi progreso".
 * ========================================================================== */

#learn-press-profile {
	--sef-azul: #1170B8;
	--sef-azul-claro: #E7F1FA;
	--sef-texto: #172033;
	--sef-suave: #566579;
	--sef-linea: #E2E8F0;
	--sef-primario: var(--thim-body-primary-color, #1170B8);
	padding-top: 8px;
}

/* Encabezado */
#learn-press-profile.lp-user-profile .wrapper-profile-header {
	margin-bottom: 28px;
	padding: 28px 32px;
	border-radius: 24px;
	background:
		radial-gradient(circle at 92% 20%, rgba(255, 255, 255, 0.16) 0 90px, transparent 91px),
		radial-gradient(circle at 80% 125%, rgba(255, 255, 255, 0.1) 0 110px, transparent 111px),
		linear-gradient(135deg, #0D5A94 0%, #1170B8 55%, #3E92D6 100%);
}

#learn-press-profile.lp-user-profile .lp-profile-content-area {
	gap: 24px;
}

#learn-press-profile.lp-user-profile .lp-profile-right {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

#learn-press-profile.lp-user-profile .user-avatar img {
	width: 104px;
	height: 104px;
	border: 5px solid #FFFFFF;
	box-shadow: 0 8px 20px rgba(13, 90, 148, 0.35);
}

#learn-press-profile.lp-user-profile .lp-profile-username {
	margin: 0;
	color: #FFFFFF;
	font-size: clamp(1.4rem, 3vw, 1.9rem);
	font-weight: 800;
}

.sef-insignias {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 0;
}

.sef-insignia {
	padding: 4px 14px;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 800;
}

.sef-insignia--nivel {
	background: var(--sef-nivel-color, #FFFFFF);
	color: var(--sef-nivel-texto, #172033);
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85);
}

.sef-insignia--rango {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #FFCC00;
	color: #172033;
}

.sef-insignia--rango img {
	width: 18px;
	height: 18px;
}

/* Menú lateral */
#learn-press-profile.lp-user-profile #profile-nav {
	overflow: hidden;
	padding: 8px;
	border: 1px solid var(--sef-linea);
	border-radius: 20px;
	background: #FFFFFF;
	box-shadow: 0 10px 30px rgba(23, 32, 51, 0.06);
}

#learn-press-profile.lp-user-profile .lp-profile-nav-tabs {
	border: 0;
}

#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li {
	margin: 2px 0;
	border: 0;
	border-radius: 14px;
	background: transparent;
}

#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li > a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 0;
	border-radius: 14px;
	color: var(--sef-texto);
	font-weight: 700;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li > a > i {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	margin: 0;
	border-radius: 10px;
	background: var(--sef-azul-claro);
	color: var(--sef-azul);
	font-size: 16px;
}

/* Íconos del kit en lugar de los de fuente de LearnPress. */
#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li > a > i::before {
	display: none;
}

#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li > a > i {
	background-position: center;
	background-repeat: no-repeat;
	background-size: 24px;
}

#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.my-courses > a > i { background-image: url("gamificacion/nav_progreso.webp"); }
#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.quizzes > a > i    { background-image: url("gamificacion/nav_ejercicios.webp"); }
#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.notes > a > i      { background-image: url("gamificacion/progreso_notas.webp"); }
#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.settings > a > i   { background-image: url("gamificacion/nav_ajustes.webp"); }
#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.logout > a > i     { background-image: url("gamificacion/nav_salir.webp"); }

#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li:hover > a {
	background: #F4F8FC;
	color: var(--sef-azul);
	transform: translateX(3px);
}

#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.active,
#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.active:hover {
	background: transparent;
}

#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.active > a {
	background: linear-gradient(135deg, #1170B8, #3E92D6);
	box-shadow: 0 6px 16px rgba(17, 112, 184, 0.3);
	color: #FFFFFF;
	transform: none;
}

#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.active > a > i {
	background-color: #FFFFFF;
}

/* "Salir" en rojo suave, separado del resto. */
#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.logout {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--sef-linea);
	border-radius: 0;
}

#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.logout > a > i {
	background-color: #FDE5E4;
}

#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.logout:hover > a {
	background: #FFF5F5;
	color: #C81E1B;
}

/* Submenú de "Ajustes" */
#learn-press-profile.lp-user-profile .profile-tab-sections {
	margin: 4px 0 6px 46px;
	padding: 0;
	border: 0;
}

#learn-press-profile.lp-user-profile .profile-tab-sections li a {
	display: block;
	padding: 6px 12px;
	border-radius: 10px;
	color: var(--sef-suave);
	font-size: 0.9rem;
	font-weight: 600;
}

#learn-press-profile.lp-user-profile .profile-tab-sections li.active a,
#learn-press-profile.lp-user-profile .profile-tab-sections li a:hover {
	background: var(--sef-azul-claro);
	color: var(--sef-azul);
}

/* Pestañas internas (Ajustes) como píldoras */
#learn-press-profile.lp-user-profile .lp-tab-sections,
#learn-press-profile.lp-user-profile .learn-press-tabs .learn-press-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
}

#learn-press-profile.lp-user-profile .lp-tab-sections li,
#learn-press-profile.lp-user-profile .learn-press-tabs .learn-press-filters li {
	margin: 0;
	padding: 0;
	border: 0;
}

#learn-press-profile.lp-user-profile .lp-tab-sections li a,
#learn-press-profile.lp-user-profile .lp-tab-sections li span,
#learn-press-profile.lp-user-profile .learn-press-tabs .learn-press-filters li a {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid var(--sef-linea);
	border-radius: 999px;
	background: #FFFFFF;
	color: var(--sef-texto);
	font-size: 0.9rem;
	font-weight: 700;
}

#learn-press-profile.lp-user-profile .lp-tab-sections li.active a,
#learn-press-profile.lp-user-profile .lp-tab-sections li.active span,
#learn-press-profile.lp-user-profile .learn-press-tabs .learn-press-filters li a.active {
	border-color: var(--sef-azul);
	background: var(--sef-azul);
	color: #FFFFFF;
}

#learn-press-profile.lp-user-profile .lp-tab-sections li a::after,
#learn-press-profile.lp-user-profile .lp-tab-sections li span::after {
	display: none;
}

/* Pestañas de "Ajustes" (General, Avatar, Contraseña) como píldoras */
#learn-press-profile.lp-user-profile .learn-press-tabs,
#learn-press-profile.lp-user-profile .learn-press-tabs__nav {
	border: 0 !important; /* Eduma dibuja una línea debajo con más especificidad. */
}

#learn-press-profile.lp-user-profile .learn-press-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 20px;
	padding: 0;
}

#learn-press-profile.lp-user-profile .learn-press-tabs__nav::after,
#learn-press-profile.lp-user-profile .learn-press-tabs__item::after,
#learn-press-profile.lp-user-profile .learn-press-tabs__item::before {
	display: none;
}

#learn-press-profile.lp-user-profile .learn-press-tabs__item {
	margin: 0;
	padding: 0;
	border: 0;
}

#learn-press-profile.lp-user-profile .learn-press-tabs__item > a {
	display: inline-block;
	padding: 8px 20px;
	border: 1px solid var(--sef-linea);
	border-radius: 999px;
	background: #FFFFFF;
	color: var(--sef-texto);
	font-size: 0.9rem;
	font-weight: 700;
	transition: background-color 0.2s ease, color 0.2s ease;
}

#learn-press-profile.lp-user-profile .learn-press-tabs__item > a:hover {
	border-color: var(--sef-azul);
	color: var(--sef-azul);
}

#learn-press-profile.lp-user-profile .learn-press-tabs__item.active > a {
	border-color: var(--sef-azul);
	background: var(--sef-azul);
	color: #FFFFFF;
}

/* Formularios de Ajustes */
#learn-press-profile.lp-user-profile #profile-content form {
	padding: 24px;
	border: 1px solid var(--sef-linea);
	border-radius: 20px;
	background: #FFFFFF;
}

#learn-press-profile.lp-user-profile .form-field__bio {
	display: none;
}

#learn-press-profile.lp-user-profile .form-field label {
	color: var(--sef-texto);
	font-weight: 700;
}

#learn-press-profile.lp-user-profile #profile-content input[type="text"],
#learn-press-profile.lp-user-profile #profile-content input[type="email"],
#learn-press-profile.lp-user-profile #profile-content input[type="password"] {
	height: 46px;
	padding: 0 14px;
	border: 2px solid var(--sef-linea);
	border-radius: 12px;
	background: #F8FAFC;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

#learn-press-profile.lp-user-profile #profile-content input:focus {
	border-color: var(--sef-azul);
	background: #FFFFFF;
	outline: none;
	box-shadow: 0 0 0 4px rgba(17, 112, 184, 0.12);
}

#learn-press-profile.lp-user-profile #profile-content button[type="submit"],
#learn-press-profile.lp-user-profile #profile-content input[type="submit"],
#learn-press-profile.lp-user-profile #profile-content .lp-button {
	min-height: 46px;
	padding: 10px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--sef-azul);
	box-shadow: 0 4px 0 #0D5A94;
	color: #FFFFFF;
	font-weight: 800;
	text-transform: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

#learn-press-profile.lp-user-profile #profile-content button[type="submit"]:hover,
#learn-press-profile.lp-user-profile #profile-content input[type="submit"]:hover,
#learn-press-profile.lp-user-profile #profile-content .lp-button:hover {
	transform: translateY(2px);
	box-shadow: 0 2px 0 #0D5A94;
}

/* Foto de perfil: zona circular para subir la imagen */
#learn-press-profile.lp-user-profile .lp_avatar__form {
	border: 0;
	background: transparent;
}

#learn-press-profile.lp-user-profile .learnpress_avatar__form__upload {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border: 3px dashed #93C5FD;
	border-radius: 50%;
	background: #F4F8FC;
	color: var(--sef-azul);
	font-weight: 800;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

#learn-press-profile.lp-user-profile .learnpress_avatar__form__upload::before {
	content: "";
	width: 56px;
	height: 56px;
	background: url("gamificacion/nav_perfil.webp") center / contain no-repeat;
}

#learn-press-profile.lp-user-profile .learnpress_avatar__form__upload:hover {
	background: var(--sef-azul-claro);
	transform: scale(1.03);
}

/* Mensajes de LearnPress (por ejemplo, "Todavía no tienes notas") */
#learn-press-profile.lp-user-profile #profile-content .learn-press-message {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 20px;
	border: 0;
	border-radius: 16px;
	background: var(--sef-azul-claro);
	color: var(--sef-texto);
}

/* Notas sin cargar todavía: mismo estado vacío que "Ejercicios", con la mascota. */
#learn-press-profile.lp-user-profile #profile-content-notes .learn-press-message.info {
	flex-direction: column;
	padding: 36px 24px 32px;
	border: 2px dashed #CBD5E1 !important; /* Eduma pone border: 0 con más especificidad. */
	border-radius: 20px;
	background: #F8FAFC;
	font-size: 1rem;
	text-align: center;
}

#learn-press-profile.lp-user-profile #profile-content-notes .learn-press-message.info::before {
	/* Eduma dibuja aquí su ícono "i" con una fuente: se reemplaza por la mascota. */
	content: "" !important;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	background: url("gamificacion/mascota_leyendo.webp") center / contain no-repeat;
	font-size: 0;
	animation: sef-saludo 2.4s ease-in-out infinite;
}

#learn-press-profile.lp-user-profile #profile-content-notes .learn-press-message.info > i,
#learn-press-profile.lp-user-profile #profile-content-notes .learn-press-message.info > svg {
	display: none;
}

/* Pestaña "Ejercicios" */
.sef-ejercicios {
	display: grid;
	gap: 20px;
}

.sef-ejercicios__resumen {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sef-ejercicios__resumen li {
	padding: 14px;
	border: 1px solid var(--sef-linea, #E2E8F0);
	border-radius: 16px;
	background: #FFFFFF;
	color: var(--sef-suave, #566579);
	font-size: 0.85rem;
	text-align: center;
}

.sef-ejercicios__resumen li:nth-child(1) { background: #F1FBF5; }
.sef-ejercicios__resumen li:nth-child(2) { background: #FFF7EF; }
.sef-ejercicios__resumen li:nth-child(3) { background: #F4F8FC; }

.sef-ejercicios__resumen img {
	display: block;
	width: 40px;
	height: 40px;
	margin: 0 auto 4px;
}

.sef-ejercicios__resumen strong {
	display: block;
	color: var(--sef-texto, #172033);
	font-size: 1.6rem;
	font-weight: 800;
	line-height: 1.2;
}

.sef-filtros {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.sef-filtros input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.sef-filtros label {
	margin: 0;
	padding: 7px 16px;
	border: 1px solid var(--sef-linea, #E2E8F0);
	border-radius: 999px;
	background: #FFFFFF;
	font-size: 0.85rem;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.sef-filtros input:checked + label {
	border-color: #1170B8;
	background: #1170B8;
	color: #FFFFFF;
}

.sef-filtros input:focus-visible + label {
	outline: 3px solid rgba(17, 112, 184, 0.35);
	outline-offset: 2px;
}

/* Filtro: oculta los ejercicios de otro estado y las lecciones que quedan vacías. */
.sef-ejercicios:has(#sef-filtro-aprobado:checked) .sef-ejercicio:not(.sef-ejercicio--aprobado),
.sef-ejercicios:has(#sef-filtro-mejorar:checked) .sef-ejercicio:not(.sef-ejercicio--mejorar),
.sef-ejercicios:has(#sef-filtro-empezado:checked) .sef-ejercicio:not(.sef-ejercicio--empezado),
.sef-ejercicios:has(#sef-filtro-aprobado:checked) .sef-ejercicios__leccion:not(:has(.sef-ejercicio--aprobado)),
.sef-ejercicios:has(#sef-filtro-mejorar:checked) .sef-ejercicios__leccion:not(:has(.sef-ejercicio--mejorar)),
.sef-ejercicios:has(#sef-filtro-empezado:checked) .sef-ejercicios__leccion:not(:has(.sef-ejercicio--empezado)) {
	display: none;
}

.sef-ejercicios__leccion h3 {
	display: flex;
	flex-direction: column;
	margin: 0 0 10px;
	font-size: 1.05rem;
	font-weight: 800;
}

.sef-ejercicios__leccion h3 span {
	color: var(--sef-suave, #566579);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sef-ejercicios__leccion ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sef-ejercicio {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	border: 1px solid var(--sef-linea, #E2E8F0);
	border-left: 5px solid #94A3B8;
	border-radius: 16px;
	background: #FFFFFF;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sef-ejercicio--aprobado { border-left-color: #2E9E5B; }
.sef-ejercicio--mejorar  { border-left-color: #F28C28; }
.sef-ejercicio--empezado { border-left-color: #94A3B8; }

.sef-ejercicio__icono {
	position: relative;
	flex: none;
	width: 48px;
	height: 48px;
}

.sef-ejercicio__icono img:first-child {
	width: 48px;
	height: 48px;
	object-fit: contain;
}

/* Estado (correcto, reintentar, sin terminar) como insignia sobre el ícono del tipo. */
.sef-ejercicio__estado {
	position: absolute;
	right: -6px;
	bottom: -4px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #FFFFFF;
	box-shadow: 0 0 0 2px #FFFFFF;
}

.sef-ejercicio__texto {
	flex: 1;
	min-width: 0;
}

.sef-ejercicio__titulo {
	margin: 0;
	font-weight: 800;
}

.sef-ejercicio__detalle {
	margin: 0;
	color: var(--sef-suave, #566579);
	font-size: 0.82rem;
}

.sef-ejercicio__nota {
	flex: none;
	padding: 4px 12px;
	border-radius: 999px;
	background: #F1F5F9;
	font-weight: 800;
}

.sef-ejercicio--aprobado .sef-ejercicio__nota { background: #DDF4E7; color: #15784A; }
.sef-ejercicio--mejorar .sef-ejercicio__nota  { background: #FFEDE0; color: #B33A00; }

.sef-ejercicio__accion {
	flex: none;
	padding: 7px 14px;
	border: 2px solid #1170B8;
	border-radius: 999px;
	color: #1170B8;
	font-size: 0.85rem;
	font-weight: 800;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.sef-ejercicio__accion:hover,
.sef-ejercicio__accion:focus-visible {
	background: #1170B8;
	color: #FFFFFF;
}

/* Estado vacío (sin ejercicios todavía) */
.sef-vacio {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 36px 24px;
	border: 2px dashed #CBD5E1;
	border-radius: 20px;
	background: #F8FAFC;
	text-align: center;
}

.sef-vacio img {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	background: #FFFFFF;
	animation: sef-saludo 2.4s ease-in-out infinite;
}

.sef-vacio h3 {
	margin: 0;
	font-size: 1.2rem;
}

.sef-vacio p {
	max-width: 420px;
	margin: 0;
	color: var(--sef-suave, #566579);
}

.sef-vacio .sef-boton {
	border-radius: 999px;
	color: #FFFFFF;
}

@media (hover: hover) {
	.sef-ejercicio:hover {
		transform: translateY(-2px);
		box-shadow: 0 10px 24px rgba(23, 32, 51, 0.08);
	}
}

@media (max-width: 767px) {
	#learn-press-profile.lp-user-profile .wrapper-profile-header {
		padding: 22px 18px;
		text-align: center;
	}

	#learn-press-profile.lp-user-profile .lp-profile-content-area {
		flex-direction: column;
	}

	/* En el celular LearnPress pone el menú en una fila: "Salir" sin la línea de separación. */
	#learn-press-profile.lp-user-profile .lp-profile-nav-tabs > li.logout {
		margin-top: 2px;
		padding-top: 0;
		border-top: 0;
	}

	.sef-insignias {
		justify-content: center;
	}

	#learn-press-profile.lp-user-profile .lp-profile-right {
		align-items: center;
	}

	.sef-ejercicio {
		flex-wrap: wrap;
	}

	.sef-ejercicio__accion {
		width: 100%;
		text-align: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sef-vacio img {
		animation: none;
	}
}
