/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

:root {
    --themecolor: #02477A;
	--cnvs-themecolor: #02477A;
	--cnvs-themecolor-rgb: 2, 71, 122;
	--bs-body-color: #555;
	--bs-body-color-rgb: 85, 85, 85;
	--cnvs-heading-color: #343a40;

}

/*dl, dt, dd, ol, ul, li {
    margin: unset;
    padding: unset;
}*/
ul {
	line-height: 1.8;
}

ul.normal-line-height {
    line-height: normal;
}

form {
    margin-bottom: inherit;
}

/* Added custom height utility classes */
.min-vh-80 {
    min-height: 80vh !important;
}

.vh-80 {
    height: 80vh !important;
}

@media (min-width: 768px) {
    .min-vh-md-80 {
        min-height: 80vh !important;
    }
    
    .min-vh-md-70 {
        min-height: 70vh !important;
    }
}

@media (min-width: 992px) {
	.min-vh-lg-80 {
		min-height: 80vh !important;
	}

	.min-vh-lg-70 {
		min-height: 70vh !important;
	}
	
}
	
.section {
	padding: 20px 0 !important;
}

/* Markup de títulos conservado durante la migración a Canvas 8. */
#page-title {
	position: relative;
	background-color: var(--cnvs-contrast-100, #f5f5f5);
	background-position: center center;
	background-repeat: no-repeat;
}

#page-title > .container {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

/* Las páginas conservan el marcado de Canvas 6: contenido directo en .container. */
#page-title.page-title-center > .container {
	flex-direction: column;
	justify-content: center;
	text-align: center;
	gap: 0;
}

#page-title h1 {
	margin: 0;
	line-height: 1;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	text-transform: none;
	letter-spacing: 0;
}

#page-title h2 {
	text-transform: none;
	letter-spacing: 0;
}

#page-title .breadcrumb {
	margin: 0;
}

#page-title.page-title-center .breadcrumb {
	justify-content: center;
	margin-top: 20px;
}

#page-title.page-title-dark {
	color: rgba(255, 255, 255, .9);
}

#page-title.page-title-dark h1 {
	color: rgba(255, 255, 255, .9);
}

#page-title.page-title-dark .breadcrumb a {
	color: rgba(255, 255, 255, .8);
}

#page-title.page-title-dark .breadcrumb a:hover {
	color: rgba(255, 255, 255, .95);
}

#page-title.page-title-dark .breadcrumb > .active,
#page-title.page-title-dark .breadcrumb-item.active {
	color: rgba(255, 255, 255, .6);
}

#page-title.page-title-dark .breadcrumb-item + .breadcrumb-item::before {
	color: #ccc;
}

@media (max-width: 767.98px) {
	#page-title > .container {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
}

#page-title span {
	/*!display: block;
	margin-top: 10px;
	font-weight: 300;
	color: #777;
	font-size: 1.125rem;*/
}
#page-title span {
    display: unset; 
    margin-top: inherit;
    font-weight: inherit; 
    color: inherit; 
    font-size: inherit; 
}

.page-title-pattern {
	background-image: url('../imagenes/pattern.png');
}

/*#page-title.page-title-parallax span { font-size: 1.25rem; }*/
#page-title.page-title-parallax span {
    font-size: inherit; 
}

/* ---> Filetypes */
/*#content a[href$=".pdf"], #content a.filepdf {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/pdf-icon.png') right center no-repeat;
}*/
#content a[href$=".pdf"]:not(.no-pdf-icon),
#content a.filepdf:not(.no-pdf-icon) {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/pdf-icon.png') right center no-repeat;
}

#content a[href$=".doc"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/doc-icon.png') right center no-repeat;
}

#content a[href$=".docx"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/doc-icon.png') right center no-repeat;
}

#content a[href$=".rtf"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/rtf-icon.png') right center no-repeat;
}

#content a[href$=".xls"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/xls-icon.png') right center no-repeat;
}
#content a[href$=".xlsx"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/xls-icon.png') right center no-repeat;
}

#content a[href$=".ppt"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/ppt-icon.png') right center no-repeat;
}
#content a[href$=".pptx"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/ppt-icon.png') right center no-repeat;
}

#content a[href$=".txt"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/txt-icon.png') right center no-repeat;
}

#content a[href$=".zip"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/zip-icon.png') right center no-repeat;
}
#content a[href$=".rar"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/zip-icon.png') right center no-repeat;
}

#content a[href$=".odt"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/odt-icon.png') right center no-repeat;
}

#content a[href$=".ods"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/ods-icon.png') right center no-repeat;
}

#content a[href$=".odp"] {
	padding-right: 20px !important;
	background: url('https://fgulem.unileon.es/imagenes/iconos/odp-icon.png') right center no-repeat;
}
/* <--- filetypes */

/*.entry-content { margin-top: 30px; }*/
.entry-content {
    margin-top: inherit;
}

.entry-content a:not(.button):not(.btn):not(.social-icon) {
	/*color: #00714c !important;*/
	/*color: inherit !important;*/
	text-decoration: underline !important;
}

/* Canvas 6 conservaba la sangría estándar del navegador (40px). Esta regla
   se limita a listas editoriales sin clase para no afectar menús y widgets. */
.entry-content ul:not([class]),
.entry-content ol:not([class]) {
	padding-left: 40px;
}

/* Sangría de las listas editoriales de la ficha de formación. */
.curso-contenido .dynamic-html-content ul:not([class]),
.curso-contenido .dynamic-html-content ol:not([class]) {
	padding-left: 40px;
}

/* Canvas 6 mostraba los botones del componente en mayúsculas. */
.button {
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* Conserva la excepción de los botones antiguos marcados con nott. */
.button.nott {
	text-transform: none;
}

.limit-height {
display: -webkit-box;
  -webkit-line-clamp: 4; /* Establece aquí el número máximo de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  
}


  /* Sombra al texto del caption (igual a tu inline original) */
  .swiper-slide.dark .slider-caption h2,
  .swiper-slide.dark .slider-caption p {
    text-shadow: #212529 1px 0 10px;
  }


/* Canvas 8 lo sitúa a 50px; restauramos los 30px de Canvas 6 para que no
   se solape con el botón flotante de WhatsApp cuando este se desplaza. */
#gotoTop {
	--cnvs-gotoTop-position-boxed-bottom: 30px;
}

/* Canvas 8 ya no incluye la utilidad de Canvas 6 para iconos sin borde. */
.social-icon.si-borderless {
	border-color: transparent !important;
}

/* En Canvas 8 los submenús también vienen en mayúsculas por defecto. */
#header {
	--cnvs-primary-menu-submenu-tt: none;
}

.whatsapp-float {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 20px; /* distancia desde abajo */
    right: 20px;  /* distancia desde la derecha */
    background-color: #25d366;
    color: #fff !important;
    border-radius: 50%;
    text-align: center;
    font-size: 35px;
    box-shadow: 2px 2px 5px #999;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
}
.whatsapp-float:hover {
    transform: scale(1.1);
    color: #fff;
}

.gototop-active .whatsapp-float {
	-webkit-transform: translateY(-60px);
	-ms-transform: translateY(-60px);
	-o-transform: translateY(-60px);
	transform: translateY(-60px);
}

.gototop-active .whatsapp-float:hover {
	transform: translateY(-60px) scale(1.1);
}

/* Centrar correctamente los mega-menús "pequeños" */
.primary-menu .mega-menu.mega-menu-small > .mega-menu-content.mega-menu-style-2 {
    left: 50% !important;          /* centro del viewport/padre */
    right: auto !important;
    transform: translateX(-50%);   /* lo desplazamos la mitad de su ancho */
    margin-left: 0 !important;     /* anulamos el margin-left fijo del tema */
    width: auto;                   /* que el contenido decida el ancho */
    max-width: calc(100vw - 40px); /* margen de 20px a cada lado para evitar cortes */
    box-sizing: border-box;
}

/* Recupera el tamaño de 14 px que tenían los indicadores en Canvas 6. */
.is-expanded-menu .primary-menu .menu-link div > i.sub-menu-indicator {
	font-size: 0.875rem;
}

/* Enlace de salto accesible: permanece oculto hasta recibir el foco del teclado. */
.skip-link {
	position: fixed;
	top: .75rem;
	left: .75rem;
	z-index: 10000;
	padding: .65rem 1rem;
	color: #fff;
	background-color: #111;
	border-radius: .25rem;
	transform: translateY(-200%);
	transition: transform .15s ease-in-out;
}

.skip-link:focus {
	color: #fff;
	transform: translateY(0);
}

/* Actualidad: ajustes mínimos sobre las estructuras nativas de blog de Canvas. */
.actualidad-grid .entry-image {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: .25rem;
}

.actualidad-grid .entry-image > a {
	display: block;
	width: 100%;
	height: 100% !important;
}

.actualidad-grid .entry-image img {
	position: relative;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
	transition: transform .25s ease;
}

.actualidad-grid .entry:hover .entry-image img {
	transform: scale(1.025);
}

.actualidad-grid .entry-title h2 {
	text-transform: none;
}

.actualidad-grid .entry-content p {
	margin-bottom: 1rem;
}

.actualidad-cabecera {
	width: 100%;
	max-width: none;
}

.actualidad-lectura {
	width: 100%;
	max-width: none;
}

.actualidad-detalle > .entry-title h1 {
	font-size: clamp(2rem, 4vw, 3.2rem);
	text-transform: none;
}

.actualidad-detalle .entry-title h1 {
	text-transform: none;
}

.actualidad-entradilla {
	margin: 1.75rem 0;
	font-weight: 400;
}

.actualidad-imagen-principal {
	margin: 2rem 0;
}

.actualidad-imagen-marco {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: .25rem;
}

.actualidad-imagen-marco img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.contenido-noticia {
	font-size: 1.075rem;
	line-height: 1.8;
}

/* Criterio común para los subtítulos editoriales de cualquier noticia. */
.contenido-noticia h2,
.contenido-noticia h3 {
	font-family: inherit;
	font-size: 1.15em;
	font-weight: 700;
	line-height: 1.5;
	text-transform: none;
	letter-spacing: normal;
	margin: 1.5rem 0 .75rem;
}

.contenido-noticia img,
.contenido-noticia table {
	max-width: 100%;
}

/* Ficha de curso: contenido continuo y resumen lateral en escritorio. */
.curso-pagina {
	overflow: visible;
}

.curso-distribucion {
	display: grid;
	grid-template-areas: "imagen" "resumen" "contenido";
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
}

.curso-imagen { grid-area: imagen; min-width: 0; }
.curso-resumen { grid-area: resumen; min-width: 0; }
.curso-contenido { grid-area: contenido; min-width: 0; }

.curso-imagen .entry-image img {
	width: 100%;
	height: auto;
	border-radius: .5rem;
}

.curso-resumen .card {
	border-color: #e3e6e9;
	border-radius: .5rem;
	overflow: hidden;
}

.curso-resumen .card-header {
	background-color: #f5f6f7;
	padding: 1.25rem;
}

.curso-resumen .card-header h3,
.curso-resumen .card-header h5 {
	font-size: 1.125rem;
}

.curso-resumen .card-body { padding: 1.25rem; }
.curso-resumen .iconlist li { margin-bottom: .75rem; }
.curso-resumen .iconlist li:last-child { margin-bottom: 0; }
.curso-resumen .iconlist i { color: var(--cnvs-themecolor); }

.curso-inscripcion { white-space: normal; height: auto; }

.curso-apartados {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
	gap: .5rem;
	margin-bottom: 2rem;
}

.curso-apartados .curso-apartado { display: flex; flex-direction: column; align-items: center; gap: .625rem; min-width: 0; padding: .875rem .5rem; color: var(--cnvs-themecolor); background: #fff; border: 1px solid #d9e3e9; border-radius: .375rem; font-size: .8125rem; line-height: 1.4; font-weight: 500; text-align: center; text-decoration: none !important; }
.curso-apartado-icono { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2rem; height: 2rem; border-radius: 50%; background: #edf3f7; }
.curso-apartado-icono i { font-size: 1.125rem; line-height: 1; }
.curso-apartados .curso-apartado:hover { color: var(--cnvs-themecolor); background: #f1f6f9; border-color: #9cb6c6; }
.curso-apartados .curso-apartado:focus-visible { outline: 2px solid var(--cnvs-themecolor); outline-offset: 3px; }
.curso-apartados:empty { display: none; }
.curso-contenido > div { scroll-margin-top: 120px; }

@media (min-width: 992px) {
	.curso-distribucion {
		grid-template-areas: "imagen resumen" "contenido resumen";
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
		column-gap: 2.5rem;
		align-items: start;
	}

	.curso-resumen {
		position: sticky;
		top: calc(var(--cnvs-header-height-shrink, 60px) + 24px);
		max-height: calc(100vh - var(--cnvs-header-height-shrink, 60px) - 48px);
		overflow-y: auto;
		scrollbar-width: thin;
	}
}

/* Programas de Innovación: imagen separada del texto para facilitar la lectura. */
.innovacion-programa {
	overflow: hidden;
	border-radius: .5rem;
	background-color: #fff;
}

.innovacion-programa-imagen {
	display: block;
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #e8edf1;
}

.innovacion-programa-imagen img {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.innovacion-programa .card-title {
	font-size: 1.5rem;
	margin-bottom: 1rem;
}

.innovacion-programa-valorat::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 12, 35, .18);
}

.innovacion-programa-imagen .innovacion-programa-logo {
	z-index: 1;
	inset: 0;
	margin: auto;
	width: 86%;
	height: auto;
	object-fit: contain;
}

.innovacion-programa .card-text {
	line-height: 1.7;
	margin-bottom: 1.5rem;
}

.innovacion-programa-enlace {
	align-self: flex-start;
	font-weight: 700;
}

/* Accesos de portada basados en Feature Boxes de Canvas. */
/* Canvas identifica la sección activa con current, también dentro de submenús. */
.primary-menu .menu-item.current > .menu-link {
	color: var(--cnvs-themecolor) !important;
}

/* Las tarjetas se estiran hasta la más alta de su fila, sin recortar títulos. */
.portada-destacados > .col-md-4 { display: flex; }
.portada-destacados .course-card { width: 100%; }
.portada-destacados .card-body { min-height: 100px; }

/* Control discreto y accesible del avance automático del slider principal. */
.portada-slider-control:not([hidden]) {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 30;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .65);
	border-radius: 50%;
	background: rgba(0, 0, 0, .45);
	color: #fff;
	font: inherit;
	font-size: 17px;
	line-height: 1;
}
.portada-slider-control:hover { background: rgba(0, 0, 0, .75); }
.portada-slider-control:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (pointer: coarse) {
	.portada-slider-control:not([hidden]) { width: 44px; height: 44px; }
}

.portada-accesos {
	padding: 2.5rem 0;
	background-color: #fff;
}

.portada-accesos .portada-acceso {
	--cnvs-featured-box-icon: 2.5rem;
	--cnvs-featured-box-padding-x: 0;
	--cnvs-featured-box-icon-size: 1.5rem;
	position: relative;
	flex-wrap: nowrap;
	gap: .875rem;
	margin: 0;
	padding: 1.25rem;
	border: 1px solid #e3e6e9;
	border-radius: .5rem;
	background-color: #fff;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.portada-accesos .portada-acceso:hover,
.portada-accesos .portada-acceso:focus-within {
	transform: translateY(-3px);
	border-color: var(--cnvs-themecolor);
	box-shadow: 0 .5rem 1.25rem rgba(0, 0, 0, .07);
}

.portada-accesos .portada-acceso .fbox-icon {
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	flex-shrink: 0;
	margin: 0;
}

.portada-accesos .fbox-icon i {
	background-color: #fff;
	color: var(--cnvs-themecolor);
}

.portada-accesos .fbox-content {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
	padding: 0;
}

.portada-accesos .fbox-content h3 {
	font-size: 1.125rem;
	font-weight: 700;
}

.portada-accesos .fbox-content p {
	flex-grow: 1;
	font-size: .875rem;
	line-height: 1.6;
	margin: .5rem 0 .75rem;
}

.portada-accesos .portada-acceso-enlace {
	align-self: flex-start;
	font-size: .8125rem;
	font-weight: 700;
	line-height: 1.8;
}

/* Un único enlace accesible extiende su área a toda la tarjeta. */
.portada-accesos .portada-acceso-enlace::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: .5rem;
}

.portada-accesos .portada-acceso-enlace:focus-visible {
	outline: none;
}

.portada-accesos .portada-acceso-enlace:focus-visible::after {
	outline: 2px solid var(--cnvs-themecolor);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.portada-accesos .portada-acceso {
		transition: none;
	}
	.portada-accesos .portada-acceso:hover,
	.portada-accesos .portada-acceso:focus-within {
		transform: none;
	}
}

/* Noticias de portada y relacionadas. */
.actualidad-portada {
	padding: 3.5rem 0;
	background-color: #fff;
}

.actualidad-portada-cabecera {
	text-align: center;
	margin-bottom: 2rem;
}

.actualidad-tarjetas-cabecera h2 {
	margin: 0;
	font-size: 1.75rem;
	text-transform: none;
}

.actualidad-tarjetas .entry-image {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	margin-bottom: 1rem;
	border-radius: .25rem;
	overflow: hidden;
	background-color: #f6f6f6;
}

.actualidad-tarjetas .entry-image > a {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.actualidad-tarjetas .entry-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform .25s ease;
}

.actualidad-tarjetas .entry-image:hover img,
.actualidad-tarjetas .entry-image:focus-within img {
	transform: scale(1.025);
}

@media (prefers-reduced-motion: reduce) {
	.actualidad-tarjetas .entry-image img {
		transition: none;
	}
	.actualidad-tarjetas .entry-image:hover img,
	.actualidad-tarjetas .entry-image:focus-within img {
		transform: none;
	}
}

.actualidad-tarjeta-fecha {
	display: flex;
	align-items: center;
	gap: .4rem;
	color: #777;
	font-size: .8rem;
}

.actualidad-tarjetas .entry-title h3 {
	font-size: 1.125rem;
	line-height: 1.5;
	text-transform: none;
	margin: 0 0 .75rem;
}

/* Carrusel nativo de Canvas, manual y sin afectar a los demás carruseles. */
.actualidad-carrusel:not(.owl-loaded) {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.actualidad-carrusel .owl-nav:not(.disabled) {
	display: flex;
	justify-content: center;
	gap: .75rem;
	margin-top: 1.75rem;
}

.actualidad-carrusel.owl-carousel .owl-nav [class*="owl-"] {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	opacity: 1;
	font-size: 1.5rem;
}

@media (max-width: 991.98px) {
	.actualidad-carrusel:not(.owl-loaded) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px) {
	.actualidad-carrusel:not(.owl-loaded) {
		grid-template-columns: minmax(0, 1fr);
	}
}

