/*
 *	VARIABLES CSS -------------------------------------------------------
 */

:root {
	/* Colores base */
	--color-negro: #000000;
	--color-blanco: #FFFFFF;
    --color-gris-fondo: #e6e6e6;
	--color-gris-claro: #C0C0C0;
	
	/* Colores de categorías */
    --color-presentacion: #FFCCCC;
	--color-publicacion: #99FF99;
	--color-actividad: #FFFF80;
    --color-varios: #E6CCFF;
	--color-investigacion: #99E6FF;

	/* Colores adicionales */
	--color-rojo-web: #FF3333;
}


/*
 *	GENERAL -------------------------------------------------------
 */

html {
	scroll-behavior: smooth;
}

a {
	transition: color 0.2s;
}

body {
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--color-blanco);
	font-family: 'Poppins', sans-serif;
	color: var(--color-negro);
}

#globalcontainer {
	margin: 0;
	padding: 0;
	border: 0;
	position: relative;
	margin: 45px auto 60px;
	max-width: 800px;
	width: 90%;
}

#content {
	margin: 0;
	margin-top: 0;
	padding: 0;
	border: 0;
	width: 100%;
}


/* 
 * HEADER -------------------------------------------------------
 */

#header {
	margin: 0;
	padding: 0;
	border: 0;
    width: 100%;
}

.logo-link {
	display: block;
	position: relative;
}

.logo {
	display: block;
}

.logo-hover {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.logo-link:hover .logo-hover {
	opacity: 1;
}


/*
 *	NAVEGACIÓN ---------------------------------------------------
 */

#nav-secciones {
	position: sticky;
	top: -2px;
	background-color: var(--color-blanco);
	border-top: 2px solid var(--color-negro);
	border-bottom: 2px solid var(--color-negro);
	padding: 16px 12px;
	text-align: center;
	z-index: 100;
	margin-top: 50px;
	margin-bottom: 90px;
}

#nav-secciones a {
	color: var(--color-negro);
	text-decoration: none;
	font-weight: bold;
	font-size: 16px;
	margin: 0 18px;
	display: inline-block;
	text-underline-offset: 4px;
	transition: color 0.2s;
}

#nav-secciones a:hover {
	color: var(--color-rojo-web);
	text-underline-offset: 4px;
}

#nav-secciones a.activo {
	text-decoration: underline;
	color: var(--color-negro);
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
}

#nav-secciones a.activo:hover {
	color: var(--color-rojo-web);
}

/* Botón scroll to top con triángulo */
#btn-scroll-top {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	margin: -2px 12px 0 12px;
	display: inline-block;
	vertical-align: middle;
	width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 12px solid var(--color-negro);
	transition: border-bottom-color 0.2s;
}

#btn-scroll-top:hover {
	border-bottom-color: var(--color-rojo-web);
}

/* Margen de scroll para secciones con anclaje */
section[id] {
	scroll-margin-top: 80px;
}


/*
 * TÍTULOS ------------------------------------------------------
 */

/* Título principal */

.titulo-principal-wrapper {
	text-align: center;
	padding: 24px 8px;
	margin-top: 45px;
	margin-bottom: 50px;
}

.titulo-principal-wrapper .titulo,
.titulo-principal-wrapper h1.titulo {
	display: inline;
	background-color: var(--color-negro);
	padding: 3px 18px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.titulo,
h1.titulo {
	font-size: 54px;
	line-height: 72px;
	font-weight: bold;
	color: var(--color-blanco);
	margin: 0;
}

/* Títulos de sección */

.titulo-seccion-wrapper {
    margin-top: 120px;
	margin-bottom: 15px;
}

.titulo-seccion,
h2.titulo-seccion {
	display: inline;
	background-color: var(--color-negro);
	color: var(--color-blanco);
    font-weight: normal;
	font-size: 24px;
	line-height: 36px;
	padding: 2px 6px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

/* Subtítulos de sección */

.subtitulo-seccion-wrapper {
	margin-bottom: 60px;
}

.subtitulo-seccion,
h2.subtitulo-seccion {
	display: inline;
	background-color: var(--color-negro);
	color: var(--color-blanco);
	font-size: 48px;
	line-height: 60px;
	padding: 2px 8px;
	font-weight: bold;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}


/*
 *	TEXTOS -------------------------------------------------------
 */

.texto {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 14px;
	line-height: 21px;
	font-weight: normal;
}

.texto-intro {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 16px;
	line-height: 24px;
	font-weight: normal;
	margin-top: 40px;
}

.texto-datos {
	color: var(--color-gris-claro);
}

.texto-enlaces {
	background-color: var(--color-gris-fondo);
	color: var(--color-negro);
}

/*
 *	ENLACES -------------------------------------------------------
 */

a,
a.datos {
	border: 0;
	margin: 0;
	padding: 0;
	text-underline-offset: 2px;
    transition: color 0.2s;
}

a {
	text-decoration:underline;
	color:var(--color-negro);
}

a.datos {
	text-decoration:underline;
	color:var(--color-gris-claro);
}

a:hover,
a.datos:hover {
	color:var(--color-rojo-web);
	text-decoration:none;
}


/*
 * CRONOLOGÍA ---------------------------------------------------
 */

.cronologia,
h3.cronologia {
	font-size: 28px;
	font-weight: bold;
	color: var(--color-negro);
	margin-top: 60px;
	margin-bottom: 60px;
}

.lista-cronologia {
	list-style-type: square;
}


/*
 *	ELEMENTOS -------------------------------------------------------
 */

/* Títulos de los elementos */

.titulo-item,
.titulo-presentacion,
.titulo-publicacion,
.titulo-actividad,
.titulo-debate,
.titulo-varios,
h4.titulo-presentacion,
h4.titulo-publicacion,
h4.titulo-actividad,
h4.titulo-debate,
h4.titulo-varios {
	color: var(--color-negro);
	font-size: 21px;
	line-height: 1.6;
	padding: 4px 8px;
	font-weight: bold;
	display: inline;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.titulo-presentacion {
	background-color: var(--color-presentacion);
}

.titulo-publicacion {
	background-color: var(--color-publicacion);
}

.titulo-actividad {
	background-color: var(--color-actividad);
}

.titulo-varios {
	background-color: var(--color-varios);
}

.titulo-investigacion {
	background-color: var(--color-investigacion);
}



/* Traducciones de títulos */

.traduccion,
.traduccion-presentacion,
.traduccion-publicacion,
.traduccion-actividad,
.traduccion-investigacion,
.traduccion-varios {
	font-size: 14px;
	line-height: 21px;
	margin-top: 10px;
	display: inline-block;
	font-weight: bold;
}

.traduccion-publicacion {
	color: var(--color-publicacion);
}

.traduccion-actividad {
	color: var(--color-actividad);
}

.traduccion-investigacion {
	color: var(--color-investigacion);
}

.traduccion-presentacion {
	color: var(--color-presentacion);
}


/*
 *	IMÁGENES -------------------------------------------------------
 */

img {
	max-width: 100%;
	height: auto;
}

.imagen-principal {
	border: 1px solid var(--color-gris-fondo);
	box-sizing: border-box;
	width: 100%;
	max-width: 800px;
	display: block;
}

.imagen-final {
	border: 0px solid var(--color-gris-fondo);
	box-sizing: border-box;
	width: 100%;
	max-width: 800px;
    margin-top: 90px;
	display: block;
}


/*
 * FOOTER -------------------------------------------------------
 */

hr {
	margin-top: 90px;
	margin-bottom: 0;
	border: 0;
	border-top: 10px solid var(--color-negro);
}

#footer {
	margin: 0;
	margin-top: 60px;
	padding: 0;
	border: 0;
	width: 100%;
	font-size: 14px;
	line-height: 21px;
	text-align: center;
}

footer p {
	font-size: 20px;
	line-height: 30px;
	font-weight: bold;
	color: var(--color-negro);
	margin: 0;
}

a.footer {
	text-decoration: underline;
	color:var(--color-negro);
}

a.footer:hover {
	text-decoration:none;
	color:var(--color-rojo-web);
}


/*
 *	CLASES DE UTILIDAD PARA COLORES -------------------------------------------------------
 */

/* Items de lista por tipo (mantener ambas clases li-* e item-* para compatibilidad) */
.li-publicacion,
.item-publicacion {
	color: var(--color-publicacion);
}

.li-actividad,
.item-actividad {
	color: var(--color-actividad);
}

.li-investigacion,
.item-investigacion {
	color: var(--color-investigacion);
}

.li-presentacion,
.item-presentacion {
	color: var(--color-presentacion);
}

.li-varios,
.item-varios {
	color: var(--color-varios);
}

/* Backgrounds de categorías para spans inline */
.bg-presentacion {
	background-color: var(--color-presentacion);
}

.bg-publicacion {
	background-color: var(--color-publicacion);
}

.bg-actividad {
	background-color: var(--color-actividad);
}

.bg-investigacion {
	background-color: var(--color-investigacion);
}

.bg-varios {
	background-color: var(--color-varios);
}


/*
 * RESPONSIVE - MOBILE ------------------------------------------
 */

@media (max-width: 768px) {
	
	#globalcontainer {
		width: 95%;
		margin: 15px auto 45px;
	}
	
    .logo,
	.logo-hover {
		max-width: 180px;
		height: auto;
	}
	
	/* Content */
	#content {
		width: 100%;
	}

	.imagen-principal {
		margin: 30px 0 45px 0;
	}

    /* Navegación */

    #nav-secciones {
		padding: 12px 8px;
	}
	
	#nav-secciones a {
		font-size: 12px;
		margin: 0 8px;
		display: inline-block;
		line-height: 1.8;
	}

    #btn-scroll-top {
		margin: 0 8px;
		border-left: 6px solid transparent;
		border-right: 6px solid transparent;
		border-bottom: 10px solid var(--color-negro);
	}

    #btn-scroll-top:hover {
		border-bottom-color: var(--color-rojo-web);
	}

    /* Texto */

    .texto {
		font-size: 12px;
		line-height: 18px;
	}
	
	.texto-intro {
		font-size: 14px;
		line-height: 21px;
		margin-bottom: 48px;
	}

    /* Títulos */

    .titulo-principal-wrapper {
	padding: 12px 8px;
	margin-top: 45px;
	margin-bottom: 50px;
    }

    .titulo,
	h1.titulo {
		font-size: 22px;
		line-height: 1.6;
	}
	
	.titulo-seccion {
		font-size: 16px;
		line-height: 1.5;
	}
	
	.subtitulo-seccion,
    h2.subtitulo-seccion {
		font-size: 36px;
		line-height: 1.5;
	}

    .titulo-item,
	.titulo-presentacion,
	.titulo-publicacion,
	.titulo-actividad,
	.titulo-investigacion,
	.titulo-varios,
    h4.titulo-presentacion,
	h4.titulo-publicacion,
	h4.titulo-actividad,
	h4.titulo-investigacion,
	h4.titulo-varios {
		font-size: 18px;
		line-height: 1.6;
	}

    /* Cronología */

    .cronologia,
	h3.cronologia {
		font-size: 22px;
	}

    /* Footer */
	
    footer p {
		font-size: 14px;
		line-height: 21px;
	}
	
	#footer {
		margin-top: 45px;
	}

}