/* =========================================================
   CNM Campus Visual 1.3.0
   Identidad de marca Centro Nautico Murcia sobre Tutor LMS.
   Estilo limpio y sobrio: mucho blanco, cian SOLO como acento.
   Marca: cian #00B4D8 + azul marino + tipografia Manrope.
   ========================================================= */

:root {
	--cnm-navy: #0b2e52;        /* azul marino del logo / titulos */
	--cnm-navy-deep: #082743;   /* azul mas oscuro para hover */
	--cnm-cyan: #00b4d8;        /* color de marca principal (acento) */
	--cnm-cyan-dark: #0093b3;   /* cian hover */
	--cnm-cyan-soft: #f2fafd;   /* tinte cian MUY suave (casi blanco) */
	--cnm-ink: #1f2d3a;
	--cnm-muted: #64748b;
	--cnm-line: #e6ecf1;        /* lineas suaves */
	--cnm-soft: #f7f9fb;        /* fondo de pagina neutro */
	--cnm-success: #167a4a;
	--cnm-danger: #ba2f45;
	--cnm-shadow: 0 1px 2px rgba(15, 35, 60, 0.04), 0 1px 3px rgba(15, 35, 60, 0.06);
	--cnm-font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Color primario de Tutor LMS = cian de marca (acentos, enlaces, checks). */
:root,
body,
.tutor-wrap,
.tutor-dashboard,
.tutor-course-details-page {
	--tutor-color-primary: #00b4d8 !important;
	--tutor-color-primary-hover: #0093b3 !important;
	--tutor-color-primary-rgb: 0, 180, 216 !important;
}

/* ---------- Tipografia de marca ---------- */
body.single-courses,
body.post-type-archive-courses,
body.tax-course-category,
body.tax-course-tag,
body.tutor-screen-frontend-dashboard,
.tutor-wrap,
.tutor-dashboard,
.tutor-course-details-page,
.tutor-quiz-wrap,
.tutor-single-lesson-wrap {
	font-family: var(--cnm-font);
	color: var(--cnm-ink);
}

.tutor-wrap h1, .tutor-wrap h2, .tutor-wrap h3, .tutor-wrap h4,
.tutor-course-details-title,
.tutor-dashboard-title,
.tutor-course-topic-title,
.tutor-quiz-header h2,
.tutor-quiz-question-title,
.tutor-course-name {
	font-family: var(--cnm-font);
}

body.tutor-screen-frontend-dashboard,
body.single-courses,
body.post-type-archive-courses,
body.tax-course-category,
body.tax-course-tag {
	background: var(--cnm-soft);
}

.tutor-container,
.tutor-container-fluid,
.tutor-dashboard .tutor-container {
	max-width: 1180px;
}

.tutor-course-details-page,
.tutor-dashboard-content,
.tutor-course-filter-container,
.tutor-course-list,
.tutor-quiz-wrap,
.tutor-single-lesson-wrap {
	line-height: 1.6;
}

/* ---------- Tarjetas / contenedores (planos, sombra minima) ---------- */
.tutor-card,
.tutor-course-card,
.tutor-dashboard-content-inner,
.tutor-course-details-widget,
.tutor-quiz-wrapper,
.tutor-single-course-sidebar,
.tutor-course-topic {
	border: 1px solid var(--cnm-line) !important;
	border-radius: 12px !important;
	box-shadow: var(--cnm-shadow) !important;
	background: #fff !important;
}

.tutor-course-card {
	overflow: hidden;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.tutor-course-card:hover {
	border-color: rgba(0, 180, 216, 0.4) !important;
	box-shadow: 0 4px 14px rgba(15, 35, 60, 0.08) !important;
}

/* Portada del curso: la imagen llena la tarjeta sin deformarse ni desfasarse. */
.tutor-course-thumbnail {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--cnm-navy) !important;
}

/* Thumbnail en el panel "Cursos en curso": Tutor LMS usa .tutor-ratio-3x2 aquí,
   pero nuestras imágenes son 16:9 → forzar la proporción correcta para evitar recorte lateral. */
.tutor-frontend-dashboard-course-progress .tutor-ratio {
	aspect-ratio: 16 / 9 !important;
	overflow: hidden !important;
	border-radius: 0 !important;
	flex-shrink: 0;
	background: var(--cnm-navy);
}

.tutor-frontend-dashboard-course-progress .tutor-ratio::before {
	display: none !important;
}

.tutor-frontend-dashboard-course-progress .tutor-ratio img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: left center !important;
}

/* Clase anterior (por si acaso cambia en futuras versiones de Tutor LMS) */
.tutor-dashboard-course-thumbnail {
	aspect-ratio: 16 / 9 !important;
	overflow: hidden !important;
	border-radius: 8px;
	background: var(--cnm-navy);
	flex-shrink: 0;
}

.tutor-course-thumbnail a,
.tutor-course-thumbnail img,
.tutor-course-card .tutor-ratio img,
.tutor-dashboard-course-thumbnail img,
.tutor-dashboard-content .tutor-card .tutor-ratio img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block;
}

/* La imagen va por encima del ancla de fondo. */
.tutor-course-thumbnail img { position: relative; z-index: 1; }

/* Ancla tenue SOLO de fondo (visible cuando el curso no tiene portada). */
.tutor-course-thumbnail::after {
	content: "\2693";
	position: absolute;
	inset: 0;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 48px;
	color: rgba(255, 255, 255, 0.18);
	pointer-events: none;
}

/* ---------- Titulos y enlaces ---------- */
.tutor-course-card .tutor-course-name,
.tutor-course-card .tutor-course-name a,
.tutor-course-details-title,
.tutor-dashboard-title,
.tutor-course-topic-title,
.tutor-quiz-header h2,
.tutor-quiz-question-title {
	color: var(--cnm-navy) !important;
	letter-spacing: 0;
}

.tutor-course-card .tutor-course-name a:hover,
.tutor-dashboard-menu-item-link:hover,
.tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-link {
	color: var(--cnm-cyan-dark) !important;
}

/* ---------- Botones (CTA cian, sin glow) ---------- */
.tutor-btn,
.tutor-button,
.tutor-form-check-input,
.tutor-pagination-wrapper-replaceable .page-numbers {
	border-radius: 8px !important;
}

.tutor-btn-primary,
.tutor-button-primary,
.tutor-btn.tutor-btn-primary,
.tutor-enroll-course-button,
.tutor-course-entry-box .tutor-btn {
	background: var(--cnm-cyan) !important;
	border-color: var(--cnm-cyan) !important;
	color: #fff !important;
	box-shadow: none !important;
	font-weight: 600 !important;
}

.tutor-btn-primary:hover,
.tutor-button-primary:hover,
.tutor-btn.tutor-btn-primary:hover,
.tutor-enroll-course-button:hover,
.tutor-course-entry-box .tutor-btn:hover {
	background: var(--cnm-cyan-dark) !important;
	border-color: var(--cnm-cyan-dark) !important;
}

.tutor-btn-outline-primary,
.tutor-btn-ghost {
	border-color: rgba(0, 180, 216, 0.4) !important;
	background: #fff !important;
	color: var(--cnm-cyan-dark) !important;
}

/* Matrícula: los cursos del campus se activan tras compra/confirmación. */
.cnm-course-enrollment-guard {
	padding: 20px;
	border: 1px solid rgba(0, 180, 216, 0.28);
	border-radius: 12px;
	background: var(--cnm-cyan-soft);
}

.cnm-course-enrollment-guard__eyebrow {
	display: block;
	margin-bottom: 6px;
	color: var(--cnm-cyan-dark);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.cnm-course-enrollment-guard p {
	margin: 0 0 14px;
	color: var(--cnm-navy);
}

/* Letra pequena: como crear la contrasena la primera vez que se entra. */
.cnm-course-enrollment-guard__ayuda {
	margin: 12px 0 0 !important;
	font-size: 13px;
	line-height: 1.45;
	opacity: 0.8;
}

/* La compra queda como salida secundaria: quien ya pago no debe confundirse. */
.cnm-course-enrollment-guard__secundario {
	display: block;
	margin-top: 12px;
	color: var(--cnm-cyan-dark);
	font-size: 13px;
	font-weight: 700;
	text-decoration: underline;
}

/* ---------- Temario (acordeon plano) ---------- */
.tutor-course-topic {
	margin-bottom: 12px !important;
	overflow: hidden;
}

/* Cabecera de tema: blanca con un acento cian a la izquierda (sin degradado). */
.tutor-course-topic-header {
	background: #fff !important;
	border-bottom: 1px solid var(--cnm-line) !important;
	border-left: 3px solid var(--cnm-cyan) !important;
	padding: 16px 20px !important;
}

.tutor-course-topic-title {
	font-weight: 700 !important;
}

.tutor-course-content-list-item,
.tutor-course-topic-item {
	border-top: 1px solid var(--cnm-line) !important;
	padding: 13px 18px !important;
}

.tutor-course-content-list-item:hover,
.tutor-course-topic-item:hover {
	background: var(--cnm-soft) !important;
}

/* ---------- Panel del alumno: menú lateral (azul marino de marca) ---------- */
.tutor-dashboard .tutor-dashboard-left-menu {
	border-right: 1px solid var(--cnm-line);
	background: #fff;
	padding: 6px 0;
}

.tutor-dashboard-menu-item-link {
	border-radius: 10px;
	margin: 3px 10px;
	padding: 11px 14px !important;
	color: var(--cnm-navy) !important;
	font-weight: 600 !important;
	transition: background 140ms ease, color 140ms ease;
}

/* Iconos en el azul de marca por defecto. */
.tutor-dashboard-menu-item-link svg,
.tutor-dashboard-menu-item-link svg * {
	color: var(--cnm-navy) !important;
	fill: currentColor !important;
}

/* Hover: tinte cian muy suave. */
.tutor-dashboard-menu-item:hover .tutor-dashboard-menu-item-link {
	background: var(--cnm-cyan-soft) !important;
	color: var(--cnm-navy) !important;
}

/* Activo: pastilla azul marino con texto e iconos en blanco y filo cian. */
.tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-link {
	background: var(--cnm-navy) !important;
	color: #fff !important;
	font-weight: 700 !important;
	box-shadow: inset 3px 0 0 var(--cnm-cyan);
}

.tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-link svg,
.tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-link svg *,
.tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-link i {
	color: #fff !important;
	fill: #fff !important;
}

/* ---------- Vídeo: candado de pantalla completa ----------
   El escudo tapa el reproductor mientras no estamos a pantalla completa, para
   que no se pueda pulsar su propio play (que es el estado en el que OBS graba).
   Lo pinta el shortcode y lo gobierna assets/vdo-pantalla-completa.js, que se
   retira solo si el navegador no soporta pantalla completa. */
.cnm-vdo-escudo {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 20px;
	text-align: center;
	background: rgba(2, 30, 75, .55);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

.cnm-vdo-escudo[hidden] { display: none; }

.cnm-vdo-play {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: 0;
	border-radius: 999px;
	padding: 15px 32px;
	background: var(--cnm-cyan, #00b4d8);
	color: #082f49;
	font-family: Manrope, -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 17px;
	font-weight: 800;
	cursor: pointer;
	box-shadow: 0 10px 30px rgba(2, 30, 75, .35);
}

.cnm-vdo-play::before {
	content: "";
	width: 0;
	height: 0;
	border-left: 13px solid currentColor;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
}

.cnm-vdo-play:hover { filter: brightness(1.06); }

.cnm-vdo-aviso {
	margin: 0;
	max-width: 30ch;
	color: #eaf6fb;
	font-family: Manrope, sans-serif;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.4;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .5);
}

/* A pantalla completa el hueco lo marca la pantalla, no la proporción 16:9 del
   hueco de la lección: sin esto el vídeo se queda con la altura de la ficha. */
.cnm-vdo-wrap:fullscreen,
.cnm-vdo-wrap:-webkit-full-screen {
	padding-top: 0 !important;
	width: 100%;
	height: 100%;
	border-radius: 0;
}

/* ---------- Icono de "Prácticas" en el menú lateral ----------
   Tutor dibuja los iconos del panel desde su propio catálogo, y el nombre que
   le pasemos para un ítem nuestro no está en él: el enlace salía sin icono y
   con el texto 32 px por delante de los demás (20 del icono + 12 del hueco).
   Pintamos aquí la misma boya que la barra del móvil, con máscara, para que
   herede el color del menú igual que hacen los SVG de Tutor (también en la
   pastilla activa, donde el texto va en blanco). */
.tutor-dashboard-menu-reserva-practicas > a::before {
	content: "";
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0'/%3E%3Cpath d='M9 6h6'/%3E%3Ccircle cx='12' cy='4' r='1.4'/%3E%3C/svg%3E") no-repeat center / 20px 20px;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0'/%3E%3Cpath d='M9 6h6'/%3E%3Ccircle cx='12' cy='4' r='1.4'/%3E%3C/svg%3E") no-repeat center / 20px 20px;
}

/* ---------- Barras de progreso ---------- */
.tutor-progress-bar,
.tutor-progress-bar .tutor-progress-value,
.tutor-course-progress .tutor-progress-value {
	border-radius: 99px !important;
}

.tutor-progress-bar .tutor-progress-value,
.tutor-course-progress .tutor-progress-value {
	background: var(--cnm-cyan) !important;
}

/* ---------- Tests / Quiz (limpio) ---------- */
.tutor-quiz-wrapper,
.tutor-quiz-question {
	border-radius: 12px !important;
}

.tutor-quiz-question {
	border: 1px solid var(--cnm-line) !important;
	background: #fff !important;
	margin-bottom: 16px !important;
	box-shadow: var(--cnm-shadow) !important;
}

/* Enunciado: blanco, sin relleno cian, solo borde inferior */
.tutor-quiz-question-title {
	background: #fff !important;
	border-bottom: 1px solid var(--cnm-line);
	padding: 16px 18px !important;
	font-size: 18px !important;
	line-height: 1.45 !important;
}

.tutor-quiz-answer-wrap,
.tutor-quiz-question .tutor-form-check,
.tutor-quiz-question-item {
	border-radius: 8px !important;
}

.tutor-quiz-question .tutor-form-check {
	background: #fff;
	border: 1px solid var(--cnm-line);
	margin: 9px 0;
	padding: 12px 14px !important;
	transition: border-color 140ms ease, background 140ms ease;
}

.tutor-quiz-question .tutor-form-check:hover {
	border-color: rgba(0, 180, 216, 0.4);
	background: var(--cnm-cyan-soft);
}

.tutor-quiz-question .tutor-form-check-input:checked {
	background-color: var(--cnm-cyan) !important;
	border-color: var(--cnm-cyan) !important;
}

.tutor-quiz-answer-status-correct,
.tutor-quiz-question .tutor-is-correct,
.tutor-quiz-question .correct {
	background: #f1faf5 !important;
	border-color: rgba(22, 122, 74, 0.28) !important;
	color: var(--cnm-success) !important;
}

.tutor-quiz-answer-status-incorrect,
.tutor-quiz-question .tutor-is-incorrect,
.tutor-quiz-question .incorrect {
	background: #fdf3f5 !important;
	border-color: rgba(186, 47, 69, 0.25) !important;
	color: var(--cnm-danger) !important;
}

/* Tutor 4.x marca cada opción revelada con data-option. */
.tutor-quiz-question-option[data-option="correct"] {
	background: #e8f8ef !important;
	border: 2px solid #248a52 !important;
	color: #176b3d !important;
}

.tutor-quiz-question-option[data-option="incorrect"] {
	background: #fdecef !important;
	border: 2px solid #ba2f45 !important;
	color: #8f2135 !important;
}

/* Letras A) B) C) D) en las opciones: muchas preguntas dicen «la b y la c son
   correctas» y las opciones importadas no llevan letra. Solo visual (contador
   CSS); el orden importado respeta las letras del examen original y Tutor no
   aleatoriza las respuestas, así que la letra pintada es siempre la correcta.
   Cubre el quiz en curso y el repaso del intento (mismo markup en ambos). */
.tutor-quiz-question-options {
	counter-reset: cnm-letra;
}

.tutor-quiz-question-option {
	counter-increment: cnm-letra;
}

.tutor-quiz-question-option .tutor-label::before {
	content: counter(cnm-letra, upper-alpha) ")";
	font-weight: 800;
	margin-right: 7px;
}

.cnm-quiz-instant-result {
	margin-top: 18px;
	padding: 13px 16px;
	border: 1px solid transparent;
	border-radius: 8px;
	font-weight: 700;
	line-height: 1.5;
}

.cnm-quiz-instant-result.is-correct {
	background: #e8f8ef;
	border-color: rgba(36, 138, 82, 0.35);
	color: #176b3d;
}

.cnm-quiz-instant-result.is-incorrect {
	background: #fdecef;
	border-color: rgba(186, 47, 69, 0.32);
	color: #8f2135;
}

.tutor-alert,
.tutor-notice {
	border-radius: 8px !important;
	border-color: var(--cnm-line) !important;
}

/* ---------- Visor de leccion (spotlight) ---------- */
/* Barra superior: azul marino sobrio en vez del cian saturado. */
.tutor-course-topic-single-header,
.tutor-single-page-top-bar {
	background: var(--cnm-navy) !important;
}

/* Item de leccion activo en la barra lateral: acento cian sutil a la izquierda. */
.tutor-course-single-content-wrapper .tutor-course-topic-item.active,
.tutor-course-single-content-wrapper .active > .tutor-course-topic-item {
	background: var(--cnm-cyan-soft) !important;
	box-shadow: inset 3px 0 0 var(--cnm-cyan);
}

/* ---------- Reproductor de video (VdoCipher) ---------- */
.cnm-vdo-wrap {
	box-shadow: var(--cnm-shadow);
	margin: 0 0 8px;
}

/* ---------- Cabecera de ficha de curso ---------- */
.tutor-course-details-header,
.tutor-page-wrap .tutor-page-title {
	border-bottom: 1px solid var(--cnm-line);
	margin-bottom: 24px;
	padding-bottom: 18px;
}

.tutor-meta,
.tutor-color-muted,
.tutor-fs-7,
.tutor-course-details-widget-title + div {
	color: var(--cnm-muted) !important;
}

/* ---------- Cabecera y pie del sitio (tema) ---------- */
.wp-block-site-title a,
.wp-block-site-title a:hover {
	color: var(--cnm-navy) !important;
	font-family: var(--cnm-font);
	font-weight: 800;
}

/* Menú de cabecera (Cursos / Mi panel / Web oficial): semibold, sobrio, hover cian. */
.site-header .wp-block-navigation .wp-block-navigation-item__content,
header .wp-block-navigation .wp-block-navigation-item__content {
	font-family: var(--cnm-font) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: var(--cnm-navy) !important;
	letter-spacing: 0.2px;
	text-decoration: none !important;
	padding: 7px 13px !important;
	border-radius: 8px;
	transition: color 140ms ease, background 140ms ease;
}

.site-header .wp-block-navigation .wp-block-navigation__container {
	gap: 4px;
}

.site-header .wp-block-navigation .wp-block-navigation-item__content:hover,
header .wp-block-navigation .wp-block-navigation-item__content:hover {
	color: var(--cnm-cyan-dark) !important;
	background: var(--cnm-cyan-soft) !important;
}

.site-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.site-header .wp-block-navigation .current_page_item > .wp-block-navigation-item__content {
	color: var(--cnm-cyan-dark) !important;
}

/* ---------- Panel alumno: evitar scroll horizontal de página ---------- */
/*
 * El .tutor-row usa márgenes negativos (grid Bootstrap), lo que extiende
 * el contenido más allá del contenedor. overflow-x: clip en el body es
 * la única forma fiable de cortar el scroll de página sin romper el layout.
 */
body.tutor-screen-frontend-dashboard {
	overflow-x: clip;
}

/* La tabla de intentos scrollará internamente dentro de su wrapper */
.tutor-table-responsive {
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch;
}

/* Reducir el padding de las celdas para ganar espacio horizontal */
.tutor-table th,
.tutor-table td {
	padding-left: 10px !important;
	padding-right: 10px !important;
}

/* min-width:0 en el flex child del contenido evita que crezca más del espacio disponible */
.tutor-dashboard-content {
	min-width: 0 !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 782px) {
	.tutor-container,
	.tutor-container-fluid {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.tutor-course-topic-header,
	.tutor-quiz-question-title {
		padding: 14px !important;
	}

	.tutor-quiz-question-title {
		font-size: 16px !important;
	}
}

/* ===== MEJORAS MÓVIL APP-LIKE (v1.7.x) ===== */

/*
 * El hamburguer del tema de bloques (Twenty Twenty-Five) no dispara el overlay
 * en el contexto de Tutor LMS porque el JS del tema no encuentra su target.
 * Lo ocultamos: el acceso al menú completo ya existe en el bottom bar de Tutor
 * (botón "Menú"), que sí funciona.
 */
body.tutor-screen-frontend-dashboard .wp-block-navigation__responsive-container-open,
body.single-courses .wp-block-navigation__responsive-container-open,
body.post-type-archive-courses .wp-block-navigation__responsive-container-open {
	display: none !important;
}

/* El CTA "Ver todos los cursos" solo en móvil (en desktop ya está en el menú). */
.cnm-cta-ver-cursos {
	display: none;
}

@media (max-width: 900px) {
	/* Ocultar la barra de navegación del header: se accede desde el bottom bar */
	body.tutor-screen-frontend-dashboard nav.wp-block-navigation,
	body.tutor-screen-frontend-dashboard .wp-block-navigation__container {
		display: none !important;
	}

	/* --- Cabecera del sitio: logo centrado y compacto --- */
	body.tutor-screen-frontend-dashboard header.wp-block-template-part,
	body.tutor-screen-frontend-dashboard .wp-block-template-part .wp-block-group {
		justify-content: center !important;
	}
	body.tutor-screen-frontend-dashboard header.wp-block-template-part {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}
	body.tutor-screen-frontend-dashboard .wp-block-site-logo {
		margin-left: auto !important;
		margin-right: auto !important;
	}
	body.tutor-screen-frontend-dashboard .wp-block-site-logo img {
		max-height: 46px !important;
		width: auto !important;
	}

	/* --- Cabecera del panel (avatar + saludo): bloque centrado y ordenado --- */
	.tutor-frontend-dashboard-header {
		justify-content: center !important;
		text-align: center;
	}
	.tutor-header-left-side.tutor-dashboard-header {
		flex-direction: column !important;
		align-items: center !important;
		gap: 10px;
		width: 100% !important;
		padding: 4px 0 8px !important;
	}
	.tutor-dashboard-header-avatar .tutor-avatar.tutor-avatar-xl {
		width: 66px !important;
		height: 66px !important;
		font-size: 24px !important;
	}
	.tutor-header-left-side .tutor-user-info {
		margin-left: 0 !important;
		text-align: center;
	}

	/* Tarjetas de stats del escritorio: más redondeadas (app look) */
	.tutor-dashboard-content-inner .tutor-card {
		border-radius: 16px !important;
	}

	/* Que el contenido no quede tapado por el bottom bar nativo de Tutor */
	body.tutor-screen-frontend-dashboard .tutor-dashboard-content {
		padding-bottom: 84px !important;
	}

	/* Bottom bar nativo de Tutor: acabado tipo app (sombra + safe-area iPhone) */
	#tutor-dashboard-footer-mobile {
		box-shadow: 0 -4px 20px rgba(11, 46, 82, 0.10) !important;
		border-top: 1px solid var(--cnm-line) !important;
		padding-bottom: env(safe-area-inset-bottom, 0px) !important;
	}

	/* Botón "Ver todos los cursos" inyectado en el escritorio */
	.cnm-cta-ver-cursos {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		background: var(--cnm-navy);
		color: #fff !important;
		text-decoration: none !important;
		font-family: var(--cnm-font);
		font-size: 15px;
		font-weight: 700;
		letter-spacing: 0.1px;
		padding: 15px 20px;
		border-radius: 14px;
		margin: 0 0 20px;
		box-shadow: 0 4px 14px rgba(11, 46, 82, 0.22);
		-webkit-tap-highlight-color: transparent;
		transition: opacity 120ms ease;
	}
	.cnm-cta-ver-cursos:active {
		opacity: 0.82;
		color: #fff !important;
	}
	.cnm-cta-ver-cursos svg {
		flex-shrink: 0;
	}
}

/* =========================================================
   Medios de pago y pie legal (requisitos de la revision de Getnet)
   ========================================================= */

.cnm-medios-pago {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	max-width: 900px;
	margin: 28px auto 0;
	padding: 14px 18px;
	border: 1px solid var(--cnm-line);
	border-radius: 12px;
	background: #fff;
	color: var(--cnm-muted);
	font-family: var(--cnm-font);
	font-size: 0.86rem;
	line-height: 1.5;
}

.cnm-medios-pago__tarjetas {
	display: inline-flex;
	gap: 8px;
	flex-shrink: 0;
}

.cnm-medios-pago__texto strong {
	color: var(--cnm-navy);
	font-weight: 700;
}

.cnm-pie-legal {
	margin-top: 40px;
	padding: 26px 20px 34px;
	border-top: 1px solid var(--cnm-line);
	background: var(--cnm-soft);
	font-family: var(--cnm-font);
}

.cnm-pie-legal .cnm-medios-pago--pie {
	margin-top: 0;
	border: 0;
	background: transparent;
	justify-content: center;
	text-align: center;
}

/* El crédito del estudio, discreto bajo los enlaces legales. */
.cnm-pie-legal__credito {
	margin: 14px 0 0;
	text-align: center;
	font-size: 12.5px;
	color: var(--cnm-muted, #64748b);
}

.cnm-pie-legal__credito a {
	color: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cnm-pie-legal__enlaces {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 22px;
	margin-top: 14px;
}

.cnm-pie-legal__enlaces a {
	color: var(--cnm-muted);
	font-size: 0.84rem;
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.cnm-pie-legal__enlaces a:hover,
.cnm-pie-legal__enlaces a:focus {
	color: var(--cnm-navy);
	border-bottom-color: var(--cnm-cyan);
}

@media (max-width: 600px) {
	.cnm-medios-pago {
		justify-content: center;
		text-align: center;
	}
}

/* ------------------------------------------------------------------
   Movil: que ninguna pagina se pueda arrastrar de lado
   ------------------------------------------------------------------
   Sintoma: en el movil la pagina se movia en horizontal y el texto se
   salia por la derecha. Dos causas encontradas y corregidas aqui.        */

/* 1) Las tablas de los textos legales (venian del texto original de la
      escuela) miden mas que la pantalla y empujaban toda la pagina.
      Ahora la tabla se desliza sola dentro de su marco.                  */
.entry-content .wp-block-table,
.wp-block-post-content .wp-block-table {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.entry-content .wp-block-table table,
.wp-block-post-content .wp-block-table table {
	min-width: 30rem;   /* por debajo de esto las celdas quedan ilegibles */
}

/* 2) Correos y direcciones largas en negrita no partian de linea. */
.entry-content,
.wp-block-post-content {
	overflow-wrap: break-word;
}

/* 3) El temario de los cursos lleva un globo de ayuda al pasar el raton
      sobre el titulo del tema. En el movil no hay raton, no se puede ver,
      y su texto ensanchaba la pagina (se noto en Radiocomunicaciones).   */
@media (max-width: 782px) {
	.tutor-accordion-item-header .tooltip-wrap .tooltip-txt {
		display: none;
	}
}

/* ------------------------------------------------------------------
   Cursos sin valoraciones: no ensenar cinco estrellas vacias
   ------------------------------------------------------------------
   Tutor pinta las cinco estrellas en gris cuando el curso todavia no
   tiene ninguna resena, y se lee como "valorado con un 0".
   La clase suelta `tutor-ratings-` (sin numero detras) es justo eso.     */
.tutor-course-details-ratings:has(.tutor-ratings-) {
	display: none;
}

/* ------------------------------------------------------------------
   "Qué incluye" en la ficha del curso
   ------------------------------------------------------------------
   Antes la ficha enseñaba el precio y el botón, y nada de lo que trae
   el campus por dentro. Esto es lo que decide la compra.               */

.cnm-incluye {
	margin: 26px 0 0;
	padding: 22px 24px 24px;
	background: var(--cnm-bg-field, #f6f9fb);
	border: 1px solid var(--cnm-line, #dce6ee);
	border-radius: 14px;
}

.cnm-incluye__titulo {
	margin: 0 0 16px;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -.01em;
	color: var(--cnm-navy, #0a2a4a);
}

.cnm-incluye__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.cnm-incluye__punto {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
}

.cnm-incluye__marca {
	flex: none;
	width: 22px;
	height: 22px;
	margin-top: 1px;
	border-radius: 50%;
	background: var(--cnm-cian, #00b4d8);
	color: #06283d;
	font-size: .78rem;
	font-weight: 800;
	line-height: 22px;
	text-align: center;
}

.cnm-incluye__punto b {
	display: block;
	font-size: .96rem;
	font-weight: 700;
	color: var(--cnm-navy, #0a2a4a);
}

.cnm-incluye__detalle {
	display: block;
	margin-top: 3px;
	font-size: .88rem;
	line-height: 1.55;
	color: var(--cnm-muted, #5a7184);
}

@media (max-width: 600px) {
	.cnm-incluye { padding: 18px 16px 20px; border-radius: 12px; }
}

/* ============================================================
   Cursos sin contadores (Esteban, 2-08-2026)
   ------------------------------------------------------------
   Ni el numero de inscritos en las tarjetas del catalogo, ni el
   «Total de inscritos» / «Ultima actualizacion» de la ficha del
   curso: con pocos alumnos por curso, ensenarlos resta mas de lo
   que suma. Tutor no trae ajuste para esto, asi que se oculta.
   ============================================================ */

/* Tarjeta del catalogo: el bloque con el icono de persona y el numero. */
.tutor-course-card .tutor-meta:has(.tutor-icon-user-line) { display: none; }

/* Ficha del curso: las dos lineas del pie de la tarjeta lateral. */
.tutor-card-footer li:has(.tutor-icon-mortarboard),
.tutor-card-footer li:has(.tutor-icon-refresh-o) { display: none; }

/* Respaldo para navegadores sin :has(): se esconden icono y texto
   (queda el hueco del li, pero sin el dato). */
span[aria-labelledby="Total de inscritos"],
span[aria-labelledby="Total de inscritos"] + span,
span[aria-labelledby="Última actualización"],
span[aria-labelledby="Última actualización"] + span,
.tutor-course-card .tutor-meta-icon.tutor-icon-user-line,
.tutor-course-card .tutor-meta-icon.tutor-icon-user-line + .tutor-meta-value { display: none; }

/* La linea «por Centro Náutico Murcia en Formación náutica» de cada tarjeta:
   con un solo instructor no aporta, y su enlace llevaba al perfil publico de
   Tutor, que desde el 2-08-2026 redirige a portada (modules/seguridad.php).
   Un enlace que no lleva a ningun sitio util, mejor fuera. */
.tutor-course-card .tutor-meta:has(a[href*="/profile/"]) { display: none; }
