/*
 * Sistema tipografico global del visor SAI.
 * Las graficas Highcharts y las fuentes de iconos quedan fuera de este alcance.
 */
:root {
	--visor-font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
	--visor-font-regular: 400;
	--visor-font-medium: 500;
	--visor-font-semibold: 600;
	--visor-font-bold: 700;
}

/*
 * Unifica la familia en todas las paginas y componentes del frontal. Se
 * excluyen los antecesores de Highcharts para evitar que la fuente llegue a
 * las graficas por herencia, asi como las clases que renderizan glifos.
 */
body:not(:has(.highcharts-container)),
body :where(*:not(.highcharts-container):not(.highcharts-container *):not(:has(.highcharts-container)):not(.dashicons):not(.dashicons-before):not(.mce-ico):not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(.material-icons):not(.material-symbols-outlined):not(.glyphicon)) {
	font-family: var(--visor-font-family) !important;
}

/* Texto auxiliar, fechas, unidades y valores secundarios. */
body :where(
	p,
	td,
	input:not([type="button"]):not([type="submit"]):not([type="reset"]),
	textarea,
	caption,
	small,
	time,
	.unidad,
	.fecha,
	.valor-secundario,
	.estado-visor-etiqueta
):not(.highcharts-container *) {
	font-weight: var(--visor-font-regular) !important;
}

/* Etiquetas, cabeceras de tabla y selectores. */
body :where(
	label,
	legend,
	select,
	option,
	table thead th,
	table thead td,
	[role="tab"],
	.nav-link,
	.selector-form-grafica
):not(.highcharts-container *) {
	font-weight: var(--visor-font-medium) !important;
}

/* Navegacion y pestanas en reposo. */
body .footer-navigation a {
	font-weight: var(--visor-font-medium) !important;
}

/* Menu de la primera columna del plugin principal en reposo. */
body .panel-opciones-estacion div:not(.plugin-principal-seleccionado) {
	font-weight: var(--visor-font-regular) !important;
}

/* Las señales del menú solo ganan peso cuando están seleccionadas. */
body :where(
	.main-menu .contenedor-menu-parametros .item-menu-lateral,
	.main-menu .contenedor-menu-parametros .item-menu-lateral .nombre-menu,
	.main-menu .contenedor-menu-externas .item-menu-lateral,
	.main-menu .contenedor-menu-externas .item-menu-lateral .nombre-menu
) {
	font-weight: var(--visor-font-regular) !important;
}

/* Titulos, acciones principales y pestanas activas. */
body :where(
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	button,
	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	[role="button"],
		.estado-visor-cabecera,
	.titulo-buscador-grafica
):not(.highcharts-container *) {
	font-weight: var(--visor-font-semibold) !important;
}

body :where(
	[role="tab"][aria-selected="true"],
	[role="button"][aria-pressed="true"],
	[aria-current="page"],
	.nav-link.active,
	.nav-item.active > .nav-link,
	.ui-tabs-active,
	.ui-state-active,
	.main-menu .titulo-menu-estaciones,
	.main-menu .item-menu-lateral-selected,
	.main-menu .item-menu-lateral-selected .nombre-menu,
	.panel-opciones-estacion .plugin-principal-seleccionado,
	.opciones-comparativa-seleccionado,
	.opcion-selector-todas.activo,
	.seleccionado-contenedor-meteorologia
):not(.highcharts-container *) {
	font-weight: var(--visor-font-semibold) !important;
}

body .panel-opciones-estacion .plugin-principal-seleccionado {
	font-weight: var(--visor-font-bold) !important;
}

/* Las opciones del selector mantienen un peso regular. */
body #selector-tipos-todas .opcion-selector-todas,
body #selector-tipos-todas .texto-opcion-selector-todas {
	font-weight: var(--visor-font-regular) !important;
}

/* En los selectores Diagnostico/Registro solo destaca la opcion activa. */
body :where(
	#caudal-toggle-desktop .registros-caudal-diagnostico,
	#caudal-toggle-desktop .registros-caudal-registros,
	#caudal-toggle-desktop .texto-mostrar-diagnostico,
	#caudal-toggle-desktop .texto-mostrar-registro,
	#preci-toggle-desktop .registros-preci-diagnostico,
	#preci-toggle-desktop .registros-preci-registros,
	#preci-toggle-desktop .texto-mostrar-diagnostico,
	#preci-toggle-desktop .texto-mostrar-registro
):not(.highcharts-container *) {
	font-weight: var(--visor-font-regular) !important;
}

body :where(
	#caudal-toggle-desktop .registros-caudal-diagnostico.activo,
	#caudal-toggle-desktop .registros-caudal-registros.activo,
	#caudal-toggle-desktop .activo .texto-mostrar-diagnostico,
	#caudal-toggle-desktop .activo .texto-mostrar-registro,
	#preci-toggle-desktop .registros-preci-diagnostico.activo,
	#preci-toggle-desktop .registros-preci-registros.activo,
	#preci-toggle-desktop .activo .texto-mostrar-diagnostico,
	#preci-toggle-desktop .activo .texto-mostrar-registro
):not(.highcharts-container *) {
	font-weight: var(--visor-font-semibold) !important;
}

/* Valores criticos y niveles de aviso. */
body :where(
	strong,
	b,
		.visor-valor-critico,
		.visor-nivel-aviso,
		.texto-estado-cecu,
		#alerta-seguimiento,
	#alerta-prealerta,
	#alerta-alerta
):not(.highcharts-container *) {
	font-weight: var(--visor-font-bold) !important;
}

/* Estos marcadores conservaban Jost mediante !important. */
body :where(
	.marker-temperatura-valor,
	.marker-preci-valor,
	.marker-caudal-valor
):not(.highcharts-container *) {
	font-family: var(--visor-font-family) !important;
}
