/*
 *	VARIABLES CSS -------------------------------------------------------
 */

:root {
	/* Colores base */
	--color-negro: #000000;
	--color-blanco: #FFFFFF;
	--color-gris-fondo: #e6e6e6;
    --color-gris-claro: #C0C0C0;
    --color-gris-oscuro: #333333;
	
	/* Colores de categorías */
	--color-presentacion: #FFCCCC;
	--color-publicacion: #99FF99;
	--color-actividad: #FFFF80;
	--color-debate: #99E6FF;
	--color-varios: #CBCBCB;
	
	/* Colores adicionales */
	--color-rojo-web: #FF3333;
	--color-prensa: #00FF00;
	--color-audiovisual: #FF9900;
}


/*
 *	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;
}

.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);
}

.texto-titulos-ref {
	font-weight: bold;
}

/*
 *	ENLACES -------------------------------------------------------
 */

a,
a.datos,
a.medios {
	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.medios {
	text-decoration: none;
	color:var(--color-negro);
}

a:hover,
a.datos:hover {
	color:var(--color-rojo-web);
	text-decoration:none;
}

a.medios:hover {
	color:var(--color-blanco);
	background-color:var(--color-negro);
	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 -------------------------------------------------------
 */

/* Estilos comunes de todos los títulos de categorías */

.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-debate {
	background-color:var(--color-debate);
}

.titulo-varios {
	background-color:var(--color-varios);
}

/* Estilos comunes de traducciones */

.traduccion,
.traduccion-presentacion,
.traduccion-publicacion,
.traduccion-actividad,
.traduccion-debate,
.traduccion-varios {
	font-size: 14px;
	line-height: 21px;
	margin-top: 10px;
	display: inline-block;
	font-weight: bold;
}

.traduccion-presentacion {
	color:var(--color-presentacion);
}

.traduccion-publicacion {
	color:var(--color-publicacion);
}

.traduccion-actividad {
	color:var(--color-actividad);
}

.traduccion-debate {
	color:var(--color-debate);
}

.traduccion-varios {
	color:var(--color-varios);
}

/* Medios */

.medios-audiovisual,
.medios-prensa {
	color:var(--color-negro);
}

.medios-datos {
	color:var(--color-gris-claro);
}

.prensa {
	color:var(--color-prensa);
}

.audiovisual {
	color:var(--color-audiovisual);
}


/*
 *	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-seccion {
	margin: 90px 0 0 0;
}

.pie-foto {
	font-size: 12px;
	text-align: right;
	margin-bottom: 90px;
}

.pie-foto span {
	color: var(--color-gris-claro);
}


/*
 * 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 -------------------------------------------------------
 */

/* 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-debate {
	background-color: var(--color-debate);
}

.bg-varios {
	background-color: var(--color-varios);
}

/* Colores de texto para elementos li (mantener ambas clases li-* e item-* para compatibilidad) */
.li-presentacion,
.item-presentacion {
	color: var(--color-presentacion);
}

.li-publicacion,
.item-publicacion {
	color: var(--color-publicacion);
}

.li-actividad,
.item-actividad {
	color: var(--color-actividad);
}

.li-debate,
.item-debate {
	color: var(--color-debate);
}

.li-varios,
.item-varios {
	color: var(--color-varios);
}


/*
 * RESPONSIVE DESIGN --------------------------------------------------------
 */

@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;
	}
	
    /* Títulos */

    .titulo-principal-wrapper {
	padding: 12px 8px;
	margin-top: 45px;
	margin-bottom: 50px;
    }

	.titulo,
	h1.titulo {
		font-size: 27px;
		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-debate,
	.titulo-varios,
	h4.titulo-presentacion,
	h4.titulo-publicacion,
	h4.titulo-actividad,
	h4.titulo-debate,
	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;
	}

}