/* ==========================================================================
   DataMeister Aula — estilos del panel, el curso y la clase.
   Usa los colores y fuentes del tema DataMeister (con valores de respaldo).
   ========================================================================== */

.dma {
	--dma-verde: var(--wp--preset--color--verde, #2AF280);
	--dma-verde-claro: #6dffb0;
	--dma-acento: var(--dma-verde);
	--dma-fondo: var(--wp--preset--color--fondo, #0A0F0C);
	--dma-sup: var(--wp--preset--color--superficie, #111914);
	--dma-blanco: var(--wp--preset--color--blanco, #FFFFFF);
	--dma-gris: var(--wp--preset--color--gris, #C8D3CC);
	--dma-gris2: #8FA197;
	--dma-borde: rgba(42, 242, 128, 0.18);
	--dma-borde-fuerte: rgba(42, 242, 128, 0.55);
	--dma-neon: 0 0 0 1px rgba(42, 242, 128, 0.35), 0 0 32px rgba(42, 242, 128, 0.16);
	--dma-titulos: var(--wp--preset--font-family--russo, "Russo One", system-ui, sans-serif);
	--dma-texto: var(--wp--preset--font-family--grotesk, "Space Grotesk", system-ui, sans-serif);
	--dma-mono: var(--wp--preset--font-family--mono, "JetBrains Mono", ui-monospace, monospace);
	--dma-top: 74px;
	color: var(--dma-gris);
	font-family: var(--dma-texto);
	line-height: 1.55;
}
.admin-bar .dma { --dma-top: 106px; }
.dma.alignfull { width: auto; max-width: none; }
.dma *, .dma *::before, .dma *::after { box-sizing: border-box; }
.dma :where(h1, h2, h3, p, ul, ol, dl, figure) { margin-block: 0; }
.dma :where(a) { color: var(--dma-acento); text-decoration: none; }
.dma .dma-texto a, .dma .dma-letra-chica a, .dma .dma-campo--fila a, .dma .dma-aviso a, .dma .dma-candado a:not(.dma-btn) { text-decoration: underline; text-underline-offset: 3px; }
.dma .dma-ico { width: 1.15em; height: 1.15em; flex: none; vertical-align: -0.18em; }
.dma .dma-gris { color: var(--dma-gris2); }
.dma .dma-verde { color: var(--dma-acento); }
.dma .dma-mono, .dma .dma-eyebrow, .dma .dma-chip { font-variant-ligatures: none; font-feature-settings: "calt" 0, "liga" 0; }

.dma .dma-wrap {
	box-sizing: content-box;
	width: auto;
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 4vw, 2rem);
}

.dma-eyebrow {
	font-family: var(--dma-mono);
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dma-acento);
}

/* ---------- Encabezado ---------- */
.dma-cabecera {
	position: relative;
	padding-block: clamp(2.5rem, 6vw, 4rem) clamp(2rem, 4vw, 2.75rem);
	border-bottom: 1px solid var(--dma-borde);
	background:
		radial-gradient(60% 120% at 85% -10%, rgba(42, 242, 128, 0.16), transparent 60%),
		radial-gradient(rgba(42, 242, 128, 0.12) 1px, transparent 1.3px) 0 0 / 22px 22px,
		var(--dma-fondo);
	overflow: hidden;
}
.dma-cabecera h1 {
	font-family: var(--dma-titulos);
	font-weight: 400;
	color: var(--dma-blanco);
	font-size: clamp(2rem, 5vw, 3.25rem);
	line-height: 1.05;
	margin: 0.35em 0 0.3em;
}
.dma-bajada { max-width: 62ch; font-size: clamp(1rem, 1.6vw, 1.15rem); }
.dma-cabecera__fila { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; flex-wrap: wrap; }

/* ---------- Botones ---------- */
.dma .dma-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55em;
	padding: 0.75em 1.25em;
	border: 1px solid var(--dma-verde);
	border-radius: 12px;
	background: var(--dma-verde);
	color: #000;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s, box-shadow 0.2s, transform 0.15s;
}
.dma .dma-btn:hover { background: var(--dma-verde-claro); border-color: var(--dma-verde-claro); box-shadow: 0 0 26px rgba(42, 242, 128, 0.35); transform: translateY(-1px); color: #000; }
.dma .dma-btn--grande { padding: 0.95em 1.6em; font-size: 1.04rem; }
.dma .dma-btn--chico { padding: 0.5em 0.95em; font-size: 0.9rem; }
.dma .dma-btn--ancho { width: 100%; }
.dma .dma-btn--contorno { background: transparent; color: var(--dma-acento); border-color: var(--dma-borde-fuerte); }
.dma .dma-btn--contorno:hover { background: rgba(42, 242, 128, 0.1); color: var(--dma-acento); }
.dma-botones { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.dma-botones--centro { justify-content: center; }

/* ---------- Piezas ---------- */
.dma-tarjeta {
	display: block;
	padding: 1.5rem;
	border: 1px solid var(--dma-borde);
	border-radius: 18px;
	background: var(--dma-sup);
}
.dma-tarjeta__titulo { font-family: var(--dma-titulos); font-weight: 400; color: var(--dma-blanco); font-size: 1.12rem; margin-bottom: 0.9rem; }
a.dma-tarjeta { text-decoration: none; color: inherit; transition: border-color 0.2s, transform 0.2s; }
a.dma-tarjeta:hover { border-color: var(--dma-borde-fuerte); transform: translateY(-2px); }

.dma-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.38em 0.8em;
	border: 1px solid rgba(200, 211, 204, 0.25);
	border-radius: 999px;
	background: rgba(200, 211, 204, 0.05);
	color: #a9b8af;
	font-family: var(--dma-mono);
	font-size: 0.74rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
	line-height: 1.3;
}
.dma-chip.is-verde { color: var(--dma-acento); border-color: rgba(42, 242, 128, 0.45); background: rgba(42, 242, 128, 0.08); }
.dma-chip.is-ambar { color: #ffc861; border-color: rgba(255, 200, 97, 0.45); background: rgba(255, 200, 97, 0.08); }
.dma-chip.is-rojo { color: #ff8a8a; border-color: rgba(255, 138, 138, 0.45); background: rgba(255, 138, 138, 0.08); }
.dma-chip__punto { width: 0.5em; height: 0.5em; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
.dma-chip--chico { font-size: 0.66rem; padding: 0.26em 0.62em; }

.dma-barra { flex: 1; min-width: 60px; height: 8px; border-radius: 99px; background: rgba(200, 211, 204, 0.12); overflow: hidden; }
.dma-barra span { display: block; height: 100%; min-width: 4px; border-radius: inherit; background: linear-gradient(90deg, #0E7A4B, var(--dma-verde)); box-shadow: 0 0 12px rgba(42, 242, 128, 0.5); }

.dma-aviso { margin-top: 1.5rem; padding: 0.9rem 1.15rem; border: 1px solid rgba(200, 211, 204, 0.3); border-radius: 12px; background: rgba(200, 211, 204, 0.05); font-size: 0.96rem; }
.dma-aviso.is-ok { border-color: var(--dma-verde); background: rgba(42, 242, 128, 0.08); color: var(--dma-blanco); }
.dma-aviso.is-error { border-color: #ff8a8a; background: rgba(255, 138, 138, 0.08); color: #ffd6d6; }

.dma-titulo-seccion { font-family: var(--dma-titulos); font-weight: 400; color: var(--dma-blanco); font-size: 1.4rem; line-height: 1.2; }

.dma-migas { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.86rem; color: var(--dma-gris2); }
.dma-migas a { color: var(--dma-gris); text-decoration: none; }
.dma-migas a:hover { color: var(--dma-acento); }
.dma-migas [aria-current] { color: var(--dma-gris2); }

/* ---------- Portada generada ---------- */
.dma-portada {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 0.3rem;
	width: 100%;
	aspect-ratio: 16 / 9;
	padding: clamp(1rem, 3vw, 1.5rem);
	overflow: hidden;
	background:
		radial-gradient(120% 90% at 88% 6%, rgba(42, 242, 128, 0.38), transparent 55%),
		linear-gradient(160deg, #0f2a1d, #070b09 70%);
}
.dma-portada__puntos {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(42, 242, 128, 0.45) 1.2px, transparent 1.5px);
	background-size: 16px 16px;
	-webkit-mask-image: linear-gradient(115deg, transparent 25%, #000 90%);
	mask-image: linear-gradient(115deg, transparent 25%, #000 90%);
	opacity: 0.6;
}
.dma-portada__isotipo { position: absolute; right: -4%; top: -14%; width: 52%; opacity: 0.22; }
.dma-portada__marca { position: relative; font-family: var(--dma-mono); font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--dma-acento); }
.dma-portada__titulo { position: relative; font-family: var(--dma-titulos); font-weight: 400; color: var(--dma-blanco); font-size: clamp(1.3rem, 2.6vw, 1.9rem); line-height: 1.05; }
.dma-portada.has-imagen { padding: 0; }
.dma-portada.has-imagen img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ---------- Panel ---------- */
.dma-grid-panel { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 2rem; padding-block: 2.5rem 4.5rem; align-items: start; }
.dma-columna { display: flex; flex-direction: column; gap: 1.5rem; min-width: 0; }
.dma-columna > .dma-titulo-seccion { margin-top: 0.75rem; }
.dma-lateral-panel { position: sticky; top: calc(var(--dma-top) + 1.5rem); }

.dma-continuar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: clamp(1.25rem, 3vw, 1.9rem);
	border: 1px solid var(--dma-borde-fuerte);
	border-radius: 20px;
	background: linear-gradient(135deg, rgba(42, 242, 128, 0.15), rgba(42, 242, 128, 0.02) 60%), var(--dma-sup);
	box-shadow: var(--dma-neon);
}
.dma-continuar h2 { font-family: var(--dma-titulos); font-weight: 400; color: var(--dma-blanco); font-size: clamp(1.3rem, 2.4vw, 1.75rem); line-height: 1.15; margin: 0.35rem 0; }
.dma-continuar__meta { font-size: 0.92rem; color: var(--dma-gris2); }
.dma-continuar__avance { display: flex; align-items: center; gap: 0.8rem; max-width: 440px; margin-top: 1rem; font-family: var(--dma-mono); font-size: 0.8rem; }
.dma-continuar .dma-btn { flex: none; }
.dma-continuar__trofeo { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--dma-verde); color: #000; flex: none; }
.dma-continuar__trofeo .dma-ico { width: 34px; height: 34px; }

.dma-cursos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 1.25rem; }
.dma-curso-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--dma-borde); border-radius: 18px; background: var(--dma-sup); transition: border-color 0.2s, transform 0.2s; }
.dma-curso-card:not(.is-proximamente):hover { border-color: var(--dma-borde-fuerte); transform: translateY(-2px); }
.dma-curso-card__portada { display: block; }
.dma-curso-card__cuerpo { display: flex; flex-direction: column; align-items: flex-start; gap: 0.6rem; flex: 1; padding: 1.25rem 1.3rem 1.4rem; }
.dma-curso-card h3 { font-family: var(--dma-titulos); font-weight: 400; font-size: 1.28rem; color: var(--dma-blanco); line-height: 1.15; margin-top: 0.15rem; }
.dma-curso-card h3 a { color: inherit; text-decoration: none; }
.dma-curso-card__bajada { font-size: 0.95rem; }
.dma-curso-card__meta { font-size: 0.85rem; color: var(--dma-gris2); }
.dma-curso-card__avance { display: flex; align-items: center; gap: 0.7rem; width: 100%; margin-top: auto; padding-top: 0.4rem; font-family: var(--dma-mono); font-size: 0.78rem; }
.dma-curso-card.is-proximamente .dma-portada { filter: saturate(0.35) brightness(0.7); }
.dma-curso-card.is-proximamente { border-style: dashed; }

.dma-novedades { list-style: none; margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--dma-borde); border-radius: 18px; background: var(--dma-sup); }
.dma-novedades li + li { border-top: 1px solid rgba(42, 242, 128, 0.1); }
.dma-novedades a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 1rem; padding: 0.95rem 1.25rem; color: inherit; text-decoration: none; transition: background-color 0.15s; }
.dma-novedades a:hover { background: rgba(42, 242, 128, 0.05); }
.dma-novedades__icono { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: rgba(42, 242, 128, 0.1); color: var(--dma-acento); }
.dma-novedades__texto { display: flex; flex-direction: column; min-width: 0; }
.dma-novedades__texto strong { color: var(--dma-blanco); font-weight: 600; }
.dma-novedades__texto .dma-gris { font-size: 0.85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dma-novedades__fecha { font-family: var(--dma-mono); font-size: 0.8rem; }

.dma-oferta {
	padding: clamp(1.4rem, 3vw, 1.9rem);
	border: 1px solid var(--dma-verde);
	border-radius: 20px;
	background: radial-gradient(100% 120% at 100% 0%, rgba(42, 242, 128, 0.2), transparent 50%), #000;
	box-shadow: 0 0 44px rgba(42, 242, 128, 0.12);
	scroll-margin-top: calc(var(--dma-top) + 1rem);
}
.dma-oferta__precio { font-family: var(--dma-titulos); font-weight: 400; color: var(--dma-blanco); font-size: clamp(2.3rem, 5vw, 3.1rem); line-height: 1; margin: 0.35rem 0 0.4rem; }
.dma-oferta__precio small { font-family: var(--dma-texto); font-size: 0.38em; color: var(--dma-gris); margin-left: 0.2em; }
.dma-oferta__bajada { color: var(--dma-gris); }
.dma-lista-check { list-style: none; margin: 1.25rem 0 1.5rem; padding: 0; display: grid; gap: 0.65rem; }
.dma-lista-check li { display: flex; gap: 0.65rem; align-items: flex-start; }
.dma-lista-check .dma-ico { color: var(--dma-acento); margin-top: 0.2em; }
.dma-letra-chica { display: flex; gap: 0.5em; align-items: flex-start; margin-top: 0.9rem !important; font-size: 0.84rem; color: var(--dma-gris2); }
.dma-letra-chica .dma-ico { margin-top: 0.1em; }

.dma-datos { display: grid; gap: 0.55rem; margin-top: 1rem !important; }
.dma-datos div { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 0.55rem; border-bottom: 1px dashed rgba(200, 211, 204, 0.14); font-size: 0.93rem; }
.dma-datos dt { color: var(--dma-gris2); }
.dma-datos dd { margin: 0; color: var(--dma-blanco); text-align: right; }
.dma-mi-suscripcion > .dma-btn { margin-top: 1rem; }
.dma-cancelar { margin-top: 1rem; font-size: 0.88rem; }
.dma-cancelar summary { cursor: pointer; color: var(--dma-gris2); text-decoration: underline; text-underline-offset: 3px; }
.dma-cancelar p { margin: 0.6rem 0 0.75rem; }

.dma-cuenta__persona { display: flex; align-items: center; gap: 0.85rem; overflow-wrap: anywhere; }
.dma-cuenta__persona strong { color: var(--dma-blanco); }
.dma-cuenta__persona .dma-gris { font-size: 0.88rem; }
.dma-avatar { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 50%; background: var(--dma-verde); color: #000; font-family: var(--dma-titulos); font-size: 1.25rem; }
.dma-enlaces { list-style: none; margin: 1.1rem 0 0; padding: 0; display: grid; gap: 0.5rem; font-size: 0.94rem; }
.dma-enlaces a { display: inline-flex; align-items: center; gap: 0.45em; color: var(--dma-gris); text-decoration: none; }
.dma-enlaces a:hover { color: var(--dma-acento); }

.dma-probar, .dma-ayuda { display: flex !important; align-items: center; gap: 1rem; }
.dma-probar strong, .dma-ayuda strong { color: var(--dma-blanco); font-size: 1rem; }
.dma-probar__icono .dma-ico { width: 22px; height: 22px; }
.dma-probar .dma-gris, .dma-ayuda .dma-gris { font-size: 0.9rem; }
.dma-probar > .dma-ico { margin-left: auto; color: var(--dma-acento); }
.dma-probar__icono { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 14px; background: rgba(42, 242, 128, 0.12); color: var(--dma-acento); }

/* ---------- Ingreso y registro ---------- */
.dma-grid-acceso { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 2rem; align-items: start; padding-block: 2.5rem 4.5rem; }
.dma-acceso { padding: clamp(1.4rem, 3vw, 2rem); scroll-margin-top: calc(var(--dma-top) + 1rem); }
.dma-pestanas { display: flex; gap: 0.3rem; margin-bottom: 1.6rem; padding: 0.3rem; border: 1px solid var(--dma-borde); border-radius: 14px; background: rgba(0, 0, 0, 0.45); }
.dma-pestanas a { flex: 1; padding: 0.7rem; border-radius: 10px; color: var(--dma-gris); font-weight: 600; text-align: center; text-decoration: none; }
.dma-pestanas a.is-activa { background: var(--dma-verde); color: #000; }
.dma-formulario { display: grid; gap: 1.05rem; }
.dma-campo { display: flex; flex-direction: column; gap: 0.42rem; margin: 0; }
.dma-campo label { color: var(--dma-blanco); font-weight: 600; font-size: 0.93rem; }
.dma-campo input[type="text"], .dma-campo input[type="email"], .dma-campo input[type="password"] {
	width: 100%;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(200, 211, 204, 0.22);
	border-radius: 12px;
	background: #050806;
	color: var(--dma-blanco);
	font: inherit;
}
.dma-campo input:focus { outline: none; border-color: var(--dma-verde); box-shadow: 0 0 0 3px rgba(42, 242, 128, 0.22); }
.dma-campo--fila { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; font-size: 0.9rem; }
.dma-campo .dma-check { display: inline-flex; align-items: center; gap: 0.5em; color: var(--dma-gris); font-weight: 400; }
.dma-check input { accent-color: var(--dma-verde); width: 1.05em; height: 1.05em; }
.dma-ayuda { font-size: 0.8rem; color: var(--dma-gris2); }
.dma-trampa { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dma-formulario .dma-letra-chica { justify-content: center; }

/* ---------- Curso ---------- */
.dma-curso__cabecera { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 3.5rem); align-items: center; }
.dma-curso__intro .dma-migas { margin-bottom: 1.4rem; }
.dma-curso__intro .dma-bajada { margin-bottom: 0.2rem; }
.dma-curso__portada .dma-portada { aspect-ratio: 4 / 3; border: 1px solid var(--dma-borde); border-radius: 22px; box-shadow: var(--dma-neon); }
.dma-curso__portada .dma-portada__titulo { font-size: clamp(1.8rem, 3.6vw, 2.8rem); }
.dma-datos-curso { list-style: none; display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1.5rem 0 !important; padding: 0; }
.dma-datos-curso li { padding: 0.5rem 0.9rem; border: 1px solid var(--dma-borde); border-radius: 12px; background: rgba(0, 0, 0, 0.4); font-size: 0.9rem; }
.dma-datos-curso strong { color: var(--dma-blanco); }
.dma-datos-curso__crece { display: inline-flex; align-items: center; gap: 0.4em; color: var(--dma-acento); }
.dma-curso__avance { display: flex; align-items: center; gap: 0.8rem; max-width: 470px; margin-bottom: 1.5rem; font-family: var(--dma-mono); font-size: 0.82rem; }
.dma-curso__cuerpo { display: grid; gap: 2.75rem; padding-block: 2.75rem 4.5rem; }
.dma-sobre .dma-texto { max-width: 72ch; margin-top: 0.9rem; }
.dma-seccion__cabecera { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1rem; }
.dma-seccion__cabecera .dma-gris { font-family: var(--dma-mono); font-size: 0.8rem; white-space: nowrap; }
.dma-temario { display: grid; gap: 0.75rem; }

.dma-unidad { overflow: hidden; border: 1px solid var(--dma-borde); border-radius: 16px; background: var(--dma-sup); transition: border-color 0.2s; }
.dma-unidad[open] { border-color: rgba(42, 242, 128, 0.42); }
.dma-unidad__resumen { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto; align-items: center; gap: 1rem; padding: 1rem 1.25rem; cursor: pointer; list-style: none; }
.dma-unidad__resumen::-webkit-details-marker { display: none; }
.dma-unidad__resumen::marker { content: ""; }
.dma-unidad__resumen:hover .dma-unidad__titulo { color: var(--dma-acento); }
.dma-unidad__num { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(42, 242, 128, 0.32); border-radius: 12px; background: rgba(42, 242, 128, 0.08); color: var(--dma-acento); font-family: var(--dma-titulos); font-size: 1.05rem; }
.dma-unidad.is-completa .dma-unidad__num { background: var(--dma-verde); border-color: var(--dma-verde); color: #000; }
.dma-unidad__textos { display: flex; flex-direction: column; gap: 0.12rem; min-width: 0; }
.dma-unidad__etiqueta { font-family: var(--dma-mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--dma-acento); }
.dma-unidad__titulo { color: var(--dma-blanco); font-size: 1.07rem; font-weight: 600; line-height: 1.3; transition: color 0.15s; }
.dma-unidad__gancho { color: var(--dma-gris2); font-size: 0.9rem; }
.dma-unidad__meta { color: var(--dma-gris2); font-size: 0.86rem; white-space: nowrap; }
.dma-unidad__avance { padding: 0.25em 0.6em; border-radius: 8px; background: rgba(200, 211, 204, 0.08); font-family: var(--dma-mono); font-size: 0.8rem; }
.dma-unidad__flecha { display: grid; color: var(--dma-gris2); transition: transform 0.2s; }
details[open] > summary .dma-unidad__flecha { transform: rotate(180deg); }
.dma-unidad.is-proxima { border-style: dashed; background: transparent; }
.dma-unidad.is-proxima .dma-unidad__resumen { grid-template-columns: auto minmax(0, 1fr) auto; cursor: default; }
.dma-unidad.is-proxima .dma-unidad__num { border-color: rgba(200, 211, 204, 0.2); background: transparent; color: var(--dma-gris2); }
.dma-unidad.is-proxima .dma-unidad__titulo { color: var(--dma-gris); }
.dma-unidad.is-proxima .dma-unidad__etiqueta { color: var(--dma-gris2); }
.dma-unidad.is-proxima .dma-unidad__resumen:hover .dma-unidad__titulo { color: var(--dma-gris); }

.dma-clases { list-style: none; display: grid; gap: 2px; margin: 0; padding: 0.5rem 0.75rem 0.75rem; border-top: 1px solid rgba(42, 242, 128, 0.1); }
.dma-clase a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 0.85rem; padding: 0.72rem 0.75rem; border-radius: 10px; color: var(--dma-gris); text-decoration: none; transition: background-color 0.15s, color 0.15s; }
.dma-clase a:hover { background: rgba(42, 242, 128, 0.06); color: var(--dma-blanco); }
.dma-clase__icono { display: grid; place-items: center; width: 30px; height: 30px; flex: none; border: 1px solid rgba(200, 211, 204, 0.25); border-radius: 50%; color: var(--dma-acento); }
.dma-clase__icono .dma-ico { width: 14px; height: 14px; }
.dma-clase.is-vista .dma-clase__icono { background: var(--dma-verde); border-color: var(--dma-verde); color: #000; }
.dma-clase.is-bloqueada .dma-clase__icono, .dma-clase.is-bloqueada .dma-clase__titulo { color: var(--dma-gris2); }
.dma-clase.is-actual a { background: rgba(42, 242, 128, 0.11); color: var(--dma-blanco); box-shadow: inset 3px 0 0 var(--dma-verde); }
.dma-clase__tags { display: flex; gap: 0.4rem; }
.dma-clase__dur { font-family: var(--dma-mono); font-size: 0.8rem; color: var(--dma-gris2); white-space: nowrap; }

/* ---------- Clase ---------- */
.dma-leccion__grid { display: grid; grid-template-columns: 340px minmax(0, 1fr); align-items: start; background: linear-gradient(90deg, #070b09 0 339px, rgba(42, 242, 128, 0.18) 339px 340px, transparent 340px); }
.dma-lateral {
	position: sticky;
	top: var(--dma-top);
	max-height: calc(100vh - var(--dma-top));
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: rgba(42, 242, 128, 0.3) transparent;
}
.dma-lateral__plegable > summary { display: flex; align-items: center; gap: 0.75rem; padding: 1.4rem 1.25rem 1rem; list-style: none; cursor: pointer; }
.dma-lateral__plegable > summary::-webkit-details-marker { display: none; }
.dma-lateral__plegable > summary::marker { content: ""; }
.dma-lateral__curso { display: flex; flex-direction: column; gap: 0.2rem; flex: 1; min-width: 0; }
.dma-lateral__curso .dma-gris { display: inline-flex; align-items: center; gap: 0.4em; font-family: var(--dma-mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; }
.dma-lateral__curso strong { font-family: var(--dma-titulos); font-weight: 400; color: var(--dma-blanco); font-size: 1.15rem; line-height: 1.2; }
.dma-lateral__cuenta { padding: 0.25em 0.6em; border-radius: 8px; background: rgba(42, 242, 128, 0.1); color: var(--dma-acento); font-family: var(--dma-mono); font-size: 0.8rem; }
.dma-lateral__avance { display: flex; align-items: center; gap: 0.6rem; padding: 0 1.25rem 1rem; font-family: var(--dma-mono); font-size: 0.78rem; }
.dma-lateral__seccion { margin: 0.9rem 0.5rem 0.2rem !important; font-family: var(--dma-mono); font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--dma-gris2); }
.dma-lateral__temario { display: grid; gap: 0.5rem; padding: 0 0.75rem 0.5rem; }
.dma-lateral .dma-unidad { border-radius: 12px; }
.dma-lateral .dma-unidad__resumen { gap: 0.7rem; padding: 0.7rem 0.75rem; grid-template-columns: auto minmax(0, 1fr) auto auto; }
.dma-lateral .dma-unidad.is-proxima .dma-unidad__resumen { grid-template-columns: auto minmax(0, 1fr); }
.dma-lateral .dma-unidad.is-proxima .dma-chip { grid-column: 2; justify-self: start; }
.dma-lateral .dma-unidad__num { width: 34px; height: 34px; border-radius: 10px; font-size: 0.85rem; }
.dma-lateral .dma-unidad__titulo { font-size: 0.93rem; }
.dma-lateral .dma-unidad__etiqueta { font-size: 0.64rem; }
.dma-lateral .dma-clases { padding: 0.35rem 0.4rem 0.5rem; }
.dma-lateral .dma-clase a { grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.6rem; padding: 0.55rem 0.55rem; font-size: 0.9rem; }
.dma-lateral .dma-clase__icono { width: 24px; height: 24px; }
.dma-lateral .dma-clase__icono .dma-ico { width: 11px; height: 11px; }
.dma-lateral .dma-clase__dur { font-size: 0.72rem; }
.dma-lateral__volver { display: flex; align-items: center; gap: 0.5rem; margin: 0.75rem 1.25rem 1.5rem; color: var(--dma-gris2) !important; font-size: 0.9rem; text-decoration: none; }
.dma-lateral__volver:hover { color: var(--dma-acento) !important; }

.dma-leccion__principal { display: flex; flex-direction: column; gap: 1.5rem; width: 100%; max-width: 1000px; margin-inline: auto; padding: 1.75rem clamp(1rem, 4vw, 3rem) 4.5rem; min-width: 0; }
.dma-leccion__principal > .dma-aviso { margin-top: 0; }

.dma-video { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--dma-borde); border-radius: 18px; background: #000; box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5); }
.dma-video iframe, .dma-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dma-video__boton, .dma-video.is-pendiente {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background:
		radial-gradient(90% 120% at 82% -5%, rgba(42, 242, 128, 0.3), transparent 55%),
		linear-gradient(160deg, #0f2a1d, #050806 75%);
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.dma-video__boton { position: absolute; inset: 0; }
.dma-video.is-pendiente { cursor: default; }
.dma-video__fondo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.5; }
.dma-video__textos { position: absolute; left: clamp(1.25rem, 4vw, 2.5rem); right: 42%; bottom: clamp(1.25rem, 4vw, 2.25rem); display: flex; flex-direction: column; gap: 0.5rem; }
.dma-video__etiqueta { font-family: var(--dma-mono); font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--dma-acento); }
.dma-video__titulo { font-family: var(--dma-titulos); font-weight: 400; color: var(--dma-blanco); font-size: clamp(1.3rem, 3vw, 2.3rem); line-height: 1.08; }
.dma-video__play { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: clamp(64px, 9vw, 92px); aspect-ratio: 1; border-radius: 50%; background: var(--dma-verde); color: #000; transform: translate(-50%, -50%); box-shadow: 0 0 0 10px rgba(42, 242, 128, 0.14), 0 0 60px rgba(42, 242, 128, 0.5); transition: transform 0.2s; }
.dma-video__play .dma-ico { width: 40%; height: 40%; margin-left: 6%; }
.dma-video__boton:hover .dma-video__play, .dma-video__boton:focus-visible .dma-video__play { transform: translate(-50%, -50%) scale(1.07); }
.dma-video__play.is-apagado { background: rgba(200, 211, 204, 0.1); color: var(--dma-gris); box-shadow: none; }
.dma-video__play.is-apagado .dma-ico { margin-left: 0; }
.dma-video__dur { position: absolute; right: 1.25rem; bottom: 1.25rem; display: inline-flex; align-items: center; gap: 0.4em; padding: 0.35em 0.7em; border-radius: 8px; background: rgba(0, 0, 0, 0.6); color: var(--dma-blanco); font-family: var(--dma-mono); font-size: 0.8rem; }
.dma-video__nota { position: absolute; top: 1.25rem; left: 1.25rem; padding: 0.35em 0.8em; border: 1px solid rgba(200, 211, 204, 0.25); border-radius: 999px; background: rgba(0, 0, 0, 0.5); color: var(--dma-gris); font-family: var(--dma-mono); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; }

.dma-leccion__cabecera { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.25rem 2rem; flex-wrap: wrap; }
.dma-leccion__cabecera h1 { font-family: var(--dma-titulos); font-weight: 400; color: var(--dma-blanco); font-size: clamp(1.6rem, 3.3vw, 2.35rem); line-height: 1.12; margin: 0.35rem 0 0.6rem; }
.dma-leccion__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.1rem; color: var(--dma-gris2); font-size: 0.92rem; }
.dma-leccion__meta > span { display: inline-flex; align-items: center; gap: 0.4em; }
.dma-leccion__marcar { margin: 0.4rem 0 0; flex: none; }
.dma .dma-marcar { display: inline-flex; align-items: center; gap: 0.5em; padding: 0.75em 1.15em; border: 1px solid var(--dma-verde); border-radius: 12px; background: rgba(42, 242, 128, 0.1); color: var(--dma-acento); font: inherit; font-weight: 700; cursor: pointer; }
.dma .dma-marcar:hover { background: rgba(42, 242, 128, 0.18); }

.dma-texto { font-size: 1.05rem; line-height: 1.72; }
.dma-texto > * + * { margin-top: 1.1rem !important; }
.dma-texto :where(h2, h3) { font-family: var(--dma-titulos); font-weight: 400; color: var(--dma-blanco); }
.dma-texto strong { color: var(--dma-blanco); }

.dma-descargas { padding: 1.3rem 1.5rem 1.5rem; border: 1px solid var(--dma-borde); border-radius: 18px; background: var(--dma-sup); }
.dma-descargas__titulo { display: flex; align-items: center; gap: 0.55rem; margin-bottom: 0.9rem !important; font-family: var(--dma-titulos); font-weight: 400; color: var(--dma-blanco); font-size: 1.15rem; }
.dma-descargas__titulo .dma-ico { color: var(--dma-acento); }
.dma-descargas ul { list-style: none; display: grid; gap: 0.6rem; margin: 0; padding: 0; }
.dma-descargas li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: 0.75rem; border: 1px solid rgba(42, 242, 128, 0.08); border-radius: 12px; background: rgba(0, 0, 0, 0.35); }
.dma-descargas__ext { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 10px; background: var(--dma-verde); color: #000; font-family: var(--dma-mono); font-size: 0.74rem; font-weight: 700; }
.dma-descargas__nombre { display: flex; flex-direction: column; min-width: 0; }
.dma-descargas__nombre strong { color: var(--dma-blanco); font-weight: 600; }
.dma-descargas__nombre .dma-gris { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.82rem; }

.dma-navegacion { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 0.75rem; }
.dma-navegacion__item { display: flex; flex-direction: column; gap: 0.35rem; padding: 1rem 1.25rem; border: 1px solid var(--dma-borde); border-radius: 14px; background: var(--dma-sup); color: inherit !important; text-decoration: none; transition: border-color 0.2s; }
.dma-navegacion__item:hover { border-color: var(--dma-borde-fuerte); }
.dma-navegacion__item strong { color: var(--dma-blanco); font-weight: 600; line-height: 1.35; }
.dma-navegacion__item .dma-gris { display: inline-flex; align-items: center; gap: 0.35em; font-size: 0.82rem; }
.dma-navegacion__item.is-siguiente { grid-column: 2; align-items: flex-end; text-align: right; }

.dma-candado {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	min-height: 380px;
	padding: 2.5rem 1.5rem;
	border: 1px solid var(--dma-verde);
	border-radius: 18px;
	background: radial-gradient(80% 100% at 50% 0%, rgba(42, 242, 128, 0.16), transparent 60%), #000;
	box-shadow: var(--dma-neon);
	text-align: center;
}
.dma-candado__icono { display: grid; place-items: center; width: 74px; height: 74px; margin-bottom: 0.4rem; border: 1px solid rgba(42, 242, 128, 0.4); border-radius: 50%; background: rgba(42, 242, 128, 0.12); color: var(--dma-acento); }
.dma-candado__icono .dma-ico { width: 30px; height: 30px; }
.dma-candado h2 { font-family: var(--dma-titulos); font-weight: 400; color: var(--dma-blanco); font-size: clamp(1.4rem, 3vw, 2rem); }
.dma-candado > p { max-width: 54ch; margin-bottom: 0.9rem; }
.dma-candado .dma-letra-chica { display: block; max-width: 52ch; }

.dma-editor-ph { padding: 2rem; border: 1px dashed #2AF280; border-radius: 14px; text-align: center; }

/* ---------- Celular y tablet ---------- */
@media (max-width: 1080px) {
	.dma-grid-panel { grid-template-columns: minmax(0, 1fr) 300px; }
	.dma-leccion__grid { grid-template-columns: 300px minmax(0, 1fr); background: linear-gradient(90deg, #070b09 0 299px, rgba(42, 242, 128, 0.18) 299px 300px, transparent 300px); }
}
@media (max-width: 959px) {
	.dma-grid-panel, .dma-grid-acceso { grid-template-columns: 1fr; }
	.dma-lateral-panel { position: static; }
	.dma-curso__cabecera { grid-template-columns: 1fr; }
	.dma-curso__portada { display: none; }
	.dma-leccion__grid { grid-template-columns: 1fr; background: none; }
	.dma-lateral { position: static; max-height: none; overflow: visible; border-bottom: 1px solid var(--dma-borde); background: #070b09; }
	.dma-lateral__plegable > summary { padding: 1rem clamp(1rem, 4vw, 2rem); }
	.dma-lateral__temario, .dma-lateral__avance { padding-inline: clamp(1rem, 4vw, 2rem); }
	.dma-leccion__principal { padding-top: 1.25rem; }
}
@media (min-width: 960px) {
	.dma-lateral__plegable > summary { cursor: default; pointer-events: none; }
	.dma-lateral__plegable > summary .dma-unidad__flecha { display: none; }
}
@media (max-width: 640px) {
	.dma-continuar { flex-direction: column; align-items: stretch; }
	.dma-continuar .dma-btn { width: 100%; }
	.dma-unidad__resumen { grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.8rem; padding: 0.9rem 1rem; }
	.dma-unidad__meta, .dma-unidad__avance { display: none; }
	.dma-unidad.is-proxima .dma-unidad__resumen .dma-chip { grid-column: 2; justify-self: start; }
	.dma-unidad.is-proxima .dma-unidad__resumen { grid-template-columns: auto minmax(0, 1fr); }
	.dma-unidad__num { width: 40px; height: 40px; }
	.dma-clase a { grid-template-columns: auto minmax(0, 1fr) auto; }
	.dma-clase__tags { grid-column: 2; grid-row: 2; }
	.dma-clase__dur { grid-row: 1; grid-column: 3; }
	.dma-novedades a { grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.8rem; padding: 0.85rem 1rem; }
	.dma-novedades__fecha { display: none; }
	.dma-video__textos { right: 1.25rem; }
	.dma-video__titulo { display: none; }
	.dma-video__dur { top: 1rem; bottom: auto; right: 1rem; }
	.dma-video__etiqueta { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.dma-video__play { width: 64px; }
	.dma-descargas { padding: 1.1rem; }
	.dma-descargas li { grid-template-columns: auto minmax(0, 1fr); }
	.dma-descargas li .dma-btn { grid-column: 1 / -1; }
	.dma-navegacion { grid-template-columns: 1fr; }
	.dma-navegacion__item.is-siguiente { grid-column: auto; }
	.dma-leccion__marcar, .dma-leccion__marcar .dma-btn, .dma-leccion__marcar .dma-marcar { width: 100%; }
	.dma-cabecera__fila { align-items: flex-start; }
}

/* ---------- Video protegido ---------- */
.dma-protegido { position: absolute; inset: 0; background: #000; -webkit-user-select: none; user-select: none; }
.dma-protegido video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dma-protegido:fullscreen, .dma-protegido:-webkit-full-screen { width: 100vw; height: 100vh; }
.dma-marca { position: absolute; z-index: 2; max-width: 60%; padding: 0.2em 0.5em; border-radius: 4px; background: rgba(0, 0, 0, 0.25); color: rgba(255, 255, 255, 0.42); font-family: var(--dma-mono); font-size: clamp(0.62rem, 1.4vw, 0.85rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; transition: left 1.2s ease, top 1.2s ease; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
.dma-pantalla { position: absolute; z-index: 3; top: 0.7rem; right: 0.7rem; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 10px; background: rgba(0, 0, 0, 0.55); color: #fff; cursor: pointer; opacity: 0.75; transition: opacity 0.2s; }
.dma-pantalla:hover, .dma-pantalla:focus-visible { opacity: 1; }
.dma-pantalla svg { width: 20px; height: 20px; }
.dma-video__error { position: absolute; z-index: 4; left: 50%; top: 50%; transform: translate(-50%, -50%); max-width: 80%; padding: 0.8rem 1.1rem; border-radius: 10px; background: rgba(0, 0, 0, 0.85); color: #fff; text-align: center; font-size: 0.95rem; }

/* ---------- Versión clara (la activa el tema DataMeister) ---------- */
html[data-tema="claro"] .dma {
	--dma-acento: #0E7A4B;
	--dma-gris2: #5B6E63;
	--dma-borde: rgba(14, 122, 75, 0.16);
	--dma-borde-fuerte: rgba(14, 122, 75, 0.45);
	--dma-neon: 0 0 0 1px rgba(14, 122, 75, 0.25), 0 14px 34px rgba(14, 122, 75, 0.12);
}
/* El video y las portadas generadas quedan oscuros. */
html[data-tema="claro"] .dma :is(.dma-video, .dma-portada) {
	--dma-blanco: #FFFFFF;
	--dma-gris: #C8D3CC;
	--dma-acento: #2AF280;
	--dma-borde: rgba(42, 242, 128, 0.18);
	color: #C8D3CC;
}
html[data-tema="claro"] .dma-video { box-shadow: 0 24px 50px rgba(10, 26, 18, 0.25); }
html[data-tema="claro"] .dma-oferta { background: radial-gradient(100% 120% at 100% 0%, rgba(42, 242, 128, 0.25), transparent 55%), #FFFFFF; box-shadow: 0 18px 40px rgba(14, 122, 75, 0.14); }
html[data-tema="claro"] .dma-candado { background: radial-gradient(80% 100% at 50% 0%, rgba(42, 242, 128, 0.22), transparent 60%), #FFFFFF; }
html[data-tema="claro"] .dma-campo input,
html[data-tema="claro"] .dma :is(input[type="text"], input[type="email"], input[type="password"], textarea, select) { background: #FFFFFF; color: #0A1A12; border-color: rgba(14, 122, 75, 0.3); }
html[data-tema="claro"] .dma-leccion__grid { background: linear-gradient(90deg, #E8F1EB 0 339px, rgba(14, 122, 75, 0.16) 339px 340px, transparent 340px); }
@media (max-width: 1080px) {
	html[data-tema="claro"] .dma-leccion__grid { background: linear-gradient(90deg, #E8F1EB 0 299px, rgba(14, 122, 75, 0.16) 299px 300px, transparent 300px); }
}
@media (max-width: 959px) {
	html[data-tema="claro"] .dma-leccion__grid { background: none; }
	html[data-tema="claro"] .dma-lateral { background: #E8F1EB; }
}
html[data-tema="claro"] .dma .dma-btn:hover { box-shadow: 0 8px 22px rgba(14, 122, 75, 0.28); }
html[data-tema="claro"] .dma :is(.dma-btn--contorno) { color: #0E7A4B; border-color: #0E7A4B; }
html[data-tema="claro"] .dma-datos-curso li { background: #FFFFFF; }
html[data-tema="claro"] .dma-barra { background: rgba(10, 26, 18, 0.08); }
html[data-tema="claro"] .dma :is(.dma-aviso, .dma-clase__icono) { border-color: rgba(10, 26, 18, 0.16); }
html[data-tema="claro"] .dma .dma-aviso { background: #FFFFFF; }
html[data-tema="claro"] .dma .dma-unidad__avance { background: rgba(10, 26, 18, 0.06); }
html[data-tema="claro"] .dma .dma-datos div { border-bottom-color: rgba(10, 26, 18, 0.12); }
html[data-tema="claro"] .dma .dma-unidad.is-proxima .dma-unidad__num { border-color: rgba(10, 26, 18, 0.18); }
html[data-tema="claro"] :where(.dma-chip) { color: #5B6E63; border-color: rgba(10, 26, 18, 0.16); background: #FFFFFF; }
