/* IA-UNAM · Directorio de la comunidad
   Sigue el lenguaje del sitio: encabezado gris con antetitulo dorado y titulo
   Poppins, columna de filtros a la izquierda y tarjetas con foto.
   Todo va bajo .iaunam-dir para no chocar con estilos de Elementor/Hello. */

.iaunam-dir {
	position: relative;
	/* Misma caja que el header del sitio (contenedor de 1350px con 16px de
	   margen lateral). Sin padding propio para que el contenido se alinee. */
	width: min(1350px, 100% - 32px);
	margin-inline: auto;
	padding-inline: 0;
}

.iaunam-dir .iaunam-ico {
	width: 1em;
	height: 1em;
	flex: none;
	fill: currentColor;
}

.iaunam-dir [hidden] {
	display: none !important;
}

/* ------------------------------------------------------------ Encabezado */

/* Compacto: titulo a la izquierda y buscador a la derecha, sin banda. */
.iaunam-dir .iaunam-dir__cabecera {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: end;
	gap: 24px 48px;
	padding: 40px 0 28px;
	border-bottom: 1px solid var(--ia-linea);
}

.iaunam-dir .iaunam-dir__antetitulo {
	margin: 0 0 4px;
	font: 600 16px/1.3 var(--ia-texto);
	color: var(--ia-oro);
}

.iaunam-dir .iaunam-dir__titulo {
	margin: 0;
	padding: 0;
	font-family: var(--ia-titulos);
	font-size: clamp(28px, 3.4vw, 36px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--ia-azul);
}

.iaunam-dir .iaunam-dir__intro {
	max-width: 62ch;
	margin: 8px 0 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--ia-gris-1);
}

/* Buscador y orden: arriba de las tarjetas, en la columna de resultados. */
.iaunam-dir .iaunam-dir__busca {
	margin-bottom: 24px;
}

/* Buscador + Ordenar (+ Filtros en móvil) en una sola fila. */
.iaunam-dir .iaunam-herramientas {
	display: flex;
	align-items: stretch;
	gap: 8px;
}

/* ---------------------------------------------------------------- Cuerpo */

.iaunam-dir .iaunam-dir__cuerpo {
	display: grid;
	grid-template-columns: 272px minmax(0, 1fr);
	align-items: start;
	gap: 32px;
	padding: 32px 0 64px;
}

.iaunam-dir.sin-filtros .iaunam-dir__cuerpo:not(:has(.iaunam-otros)) {
	grid-template-columns: minmax(0, 1fr);
}

.iaunam-dir.sin-filtros:not(:has(.iaunam-otros)) .iaunam-dir__lateral {
	display: none;
}

/* Sin scroll interno: la columna crece con su contenido. */
.iaunam-dir .iaunam-dir__lateral {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	min-width: 0;
}

.iaunam-dir .iaunam-panel {
	padding: 20px;
	background: var(--ia-blanco);
	border: 1px solid var(--ia-linea);
	border-radius: var(--ia-radio);
}

.iaunam-dir .iaunam-panel__titulo {
	margin: 0;
	padding: 0;
	font: 600 18px/1.3 var(--ia-texto);
	color: var(--ia-azul);
}

/* --------------------------------------------------------------- Filtros */

.iaunam-dir .iaunam-filtros {
	padding-bottom: 8px;
}

.iaunam-dir .iaunam-filtros__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--ia-linea);
}

.iaunam-dir .iaunam-filtros__limpiar {
	visibility: hidden;
}

.iaunam-dir .iaunam-filtros.hay-filtros .iaunam-filtros__limpiar {
	visibility: visible;
}

.iaunam.iaunam-dir button.iaunam-filtros__cerrar {
	display: none;
}

.iaunam-dir .iaunam-filtros__pie {
	display: none;
}

.iaunam-dir .iaunam-grupo {
	border-bottom: 1px solid var(--ia-linea);
}

.iaunam-dir .iaunam-grupo:last-of-type {
	border-bottom: 0;
}

.iaunam.iaunam-dir button.iaunam-grupo__titulo {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 16px 0 12px;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	font: 600 14px/1.3 var(--ia-texto);
	color: var(--ia-tinta);
	text-align: left;
	text-transform: none;
	letter-spacing: 0;
	/* El tema pone nowrap a los botones: los títulos largos ensanchaban la columna. */
	white-space: normal;
	cursor: pointer;
}

.iaunam.iaunam-dir button.iaunam-grupo__titulo:hover,
.iaunam.iaunam-dir button.iaunam-grupo__titulo:focus {
	background: none;
	color: var(--ia-azul);
}

.iaunam-dir .iaunam-grupo__titulo > span:first-child {
	flex: 1;
}

.iaunam-dir .iaunam-grupo__n {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 10px;
	background: var(--ia-azul);
	font-size: 11px;
	font-weight: 600;
	color: var(--ia-blanco);
}

.iaunam-dir .iaunam-grupo__n:empty {
	display: none;
}

.iaunam-dir .iaunam-grupo__titulo .iaunam-ico {
	width: 18px;
	height: 18px;
	color: var(--ia-gris-2);
	transition: transform var(--ia-transicion);
}

.iaunam-dir .iaunam-grupo.is-abierto .iaunam-grupo__titulo .iaunam-ico {
	transform: rotate(180deg);
}

.iaunam-dir .iaunam-grupo__lista {
	display: none;
	margin: 0;
	padding: 0 0 12px;
	list-style: none;
}

.iaunam-dir .iaunam-grupo.is-abierto .iaunam-grupo__lista {
	display: block;
}

.iaunam-dir .iaunam-grupo:not(.is-todo) .iaunam-opcion.is-extra {
	display: none;
}

.iaunam-dir .iaunam-grupo__mas {
	display: none;
	margin: -4px 0 12px;
}

.iaunam-dir .iaunam-grupo.is-abierto .iaunam-grupo__mas {
	display: inline-block;
}

.iaunam-dir .iaunam-opcion {
	margin: 0;
	padding: 0;
}

/* Subtítulo dentro de un filtro (p. ej. Departamentos / Grupos de investigación). */
.iaunam-dir .iaunam-apartado {
	margin: 12px 0 4px;
	padding: 0;
	font-size: 12px;
	font-weight: 600;
	color: var(--ia-gris-2);
}

.iaunam-dir .iaunam-apartado:first-child {
	margin-top: 0;
}

.iaunam-dir .iaunam-opcion label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 6px 0;
	font-size: 14px;
	line-height: 1.35;
	color: var(--ia-tinta);
	cursor: pointer;
}

.iaunam-dir .iaunam-opcion label:hover .iaunam-opcion__texto {
	color: var(--ia-azul);
}

.iaunam.iaunam-dir .iaunam-opcion input[type="checkbox"] {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 0;
	border: 1.5px solid var(--ia-gris-3);
	border-radius: var(--ia-radio-chico);
	background: var(--ia-blanco) center / 12px no-repeat;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: background-color var(--ia-transicion), border-color var(--ia-transicion);
}

.iaunam.iaunam-dir .iaunam-opcion input[type="checkbox"]:hover {
	border-color: var(--ia-azul);
}

.iaunam.iaunam-dir .iaunam-opcion input[type="checkbox"]:checked {
	border-color: var(--ia-azul);
	background-color: var(--ia-azul);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6l4.5-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.iaunam.iaunam-dir .iaunam-opcion input[type="checkbox"]:focus-visible {
	outline: none;
	box-shadow: var(--ia-anillo);
}

.iaunam-dir .iaunam-opcion__texto {
	flex: 1;
	min-width: 0;
}

.iaunam-dir .iaunam-opcion__n {
	margin-left: 8px;
	font-size: 12px;
	line-height: 1.6;
	font-variant-numeric: tabular-nums;
	color: var(--ia-gris-2);
}

.iaunam-dir .iaunam-opcion.is-vacia label {
	cursor: default;
	opacity: .45;
}

/* ------------------------------------------------- Otros directorios */

.iaunam-dir .iaunam-otros .iaunam-panel__titulo {
	padding-bottom: 12px;
	border-bottom: 1px solid var(--ia-linea);
}

.iaunam-dir .iaunam-otros ul {
	margin: 0;
	padding: 4px 0 0;
	list-style: none;
}

.iaunam-dir .iaunam-otros li {
	margin: 0;
	border-bottom: 1px solid var(--ia-linea);
}

.iaunam-dir .iaunam-otros li:last-child {
	border-bottom: 0;
}

.iaunam.iaunam-dir .iaunam-otros a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 12px 0;
	font-size: 14px;
	color: var(--ia-tinta);
	text-decoration: none;
}

.iaunam.iaunam-dir .iaunam-otros a:hover {
	color: var(--ia-azul);
}

.iaunam.iaunam-dir .iaunam-otros a[aria-current="page"] {
	font-weight: 600;
	color: var(--ia-azul);
}

.iaunam-dir .iaunam-otros svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	color: var(--ia-gris-3);
}

.iaunam-dir .iaunam-otros a:hover svg,
.iaunam-dir .iaunam-otros a[aria-current="page"] svg {
	color: var(--ia-acento);
}

/* ------------------------------------------------- Busqueda y orden */

.iaunam-dir .iaunam-busca {
	position: relative;
	flex: 1;
	min-width: 0;
}

.iaunam-dir .iaunam-busca > .iaunam-ico {
	position: absolute;
	top: 50%;
	left: 16px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	color: var(--ia-azul);
	pointer-events: none;
}

.iaunam.iaunam-dir .iaunam-busca input[type="search"] {
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 16px 0 48px;
	border: 1px solid var(--ia-linea);
	border-radius: var(--ia-radio);
	background: var(--ia-blanco);
	box-shadow: none;
	font: 400 15px/1 var(--ia-texto);
	color: var(--ia-tinta);
	outline: none;
	transition: border-color var(--ia-transicion), box-shadow var(--ia-transicion);
}

.iaunam.iaunam-dir .iaunam-busca input[type="search"]::placeholder {
	color: var(--ia-gris-2);
	opacity: 1;
}

.iaunam.iaunam-dir .iaunam-busca input[type="search"]:focus {
	border-color: var(--ia-azul);
	box-shadow: var(--ia-anillo);
}

.iaunam-dir .iaunam-orden {
	position: relative;
	display: flex;
	align-items: center;
	border: 1px solid var(--ia-linea);
	border-radius: var(--ia-radio);
	background: var(--ia-blanco);
}

.iaunam-dir .iaunam-orden:focus-within {
	border-color: var(--ia-azul);
	box-shadow: var(--ia-anillo);
}

.iaunam-dir .iaunam-orden label {
	padding-left: 14px;
	font-size: 13px;
	color: var(--ia-gris-2);
	white-space: nowrap;
}

.iaunam.iaunam-dir .iaunam-orden select {
	height: 46px;
	margin: 0;
	padding: 0 36px 0 8px;
	border: 0;
	border-radius: var(--ia-radio);
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6.4 8.6 5.6 5.6 5.6-5.6L19 10l-7 7-7-7z' fill='%234f4f4f'/%3E%3C/svg%3E") right 12px center / 18px no-repeat;
	box-shadow: none;
	font: 500 14px/1 var(--ia-texto);
	color: var(--ia-tinta);
	outline: none;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

/* ------------------------------------- Barra: conteo, chips y orden */

.iaunam-dir .iaunam-dir__barra {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	margin-bottom: 16px;
}

.iaunam-dir .iaunam-dir__estado {
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	min-width: 0;
}

.iaunam-dir .iaunam-dir__acciones {
	display: flex;
	align-items: stretch;
	gap: 8px;
}

/* Etiquetas de filtros aplicados. */
.iaunam-dir .iaunam-activos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.iaunam-dir .iaunam-activo {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	margin: 0;
	padding: 4px 4px 4px 12px;
	border-radius: var(--ia-radio);
	background: var(--ia-azul-suave);
	font-size: 13px;
	font-weight: 500;
	color: var(--ia-azul);
}

.iaunam.iaunam-dir button.iaunam-activo__quitar {
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--ia-radio-chico);
	background: transparent;
	box-shadow: none;
	color: var(--ia-azul);
	cursor: pointer;
}

.iaunam.iaunam-dir button.iaunam-activo__quitar:hover,
.iaunam.iaunam-dir button.iaunam-activo__quitar:focus {
	background: rgba(9, 44, 76, .1);
	color: var(--ia-azul);
}

.iaunam-dir .iaunam-activo__quitar .iaunam-ico {
	width: 14px;
	height: 14px;
}

/* ---------------------------------------------------- Botones y enlaces */

.iaunam.iaunam-dir button.iaunam-enlace {
	margin: 0;
	padding: 2px 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	font: 500 13px/1.3 var(--ia-texto);
	color: var(--ia-azul);
	text-decoration: underline;
	text-decoration-color: rgba(9, 44, 76, .3);
	text-underline-offset: 3px;
	cursor: pointer;
}

.iaunam.iaunam-dir button.iaunam-enlace:hover,
.iaunam.iaunam-dir button.iaunam-enlace:focus {
	background: none;
	color: var(--ia-azul);
	text-decoration-color: var(--ia-acento);
}

.iaunam.iaunam-dir button.iaunam-boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	margin: 0;
	padding: 0 20px;
	border: 1px solid var(--ia-azul);
	border-radius: var(--ia-radio);
	background: var(--ia-azul);
	box-shadow: none;
	font: 600 14px/1 var(--ia-texto);
	color: var(--ia-blanco);
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: background-color var(--ia-transicion), border-color var(--ia-transicion);
}

.iaunam.iaunam-dir button.iaunam-boton:hover,
.iaunam.iaunam-dir button.iaunam-boton:focus {
	border-color: var(--ia-azul-hover);
	background: var(--ia-azul-hover);
	color: var(--ia-blanco);
}

.iaunam.iaunam-dir button.iaunam-boton--secundario {
	border-color: var(--ia-linea);
	background: var(--ia-blanco);
	color: var(--ia-azul);
}

.iaunam.iaunam-dir button.iaunam-boton--secundario:hover,
.iaunam.iaunam-dir button.iaunam-boton--secundario:focus {
	border-color: var(--ia-azul);
	background: var(--ia-blanco);
	color: var(--ia-azul);
}

.iaunam.iaunam-dir button.iaunam-boton--bloque {
	width: 100%;
}

.iaunam.iaunam-dir button:focus-visible,
.iaunam.iaunam-dir select:focus-visible,
.iaunam.iaunam-dir a:focus-visible {
	outline: 2px solid var(--ia-acento);
	outline-offset: 2px;
}

.iaunam-dir .iaunam-contador {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 10px;
	background: var(--ia-azul);
	font-size: 11px;
	color: var(--ia-blanco);
}

.iaunam-dir .iaunam-contador:empty {
	display: none;
}

.iaunam.iaunam-dir button.iaunam-abrir-filtros {
	display: none;
	height: 48px;
}

/* ---------------------------------------------------------------- Rejilla */

.iaunam-dir .iaunam-dir__rejilla {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr));
	gap: 24px 20px;
}

/* Jubilados / In memoriam que coinciden con la búsqueda, debajo de los resultados. */
.iaunam-dir .iaunam-dir__archivo {
	display: grid;
	gap: 40px;
	margin-top: 48px;
}

.iaunam-dir .iaunam-dir__rejilla[hidden] ~ .iaunam-dir__archivo {
	margin-top: 0;
}

/* Encabezado de bloque (jubilados / In memoriam en la búsqueda). */
.iaunam-dir .iaunam-seccion {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
	font-family: var(--ia-titulos);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ia-azul);
}

/* Raya fina que sigue al título: separa sin pesar. */
.iaunam-dir .iaunam-seccion::after {
	content: "";
	flex: 1;
	min-width: 32px;
	height: 1px;
	align-self: center;
	background: var(--ia-linea);
}

.iaunam-dir .iaunam-seccion:first-child {
	margin-top: 0;
}

.iaunam-dir .iaunam-seccion__n {
	white-space: nowrap;
	font-family: var(--ia-texto);
	font-size: 13px;
	font-weight: 400;
	color: var(--ia-gris-2);
}

/* --------------------------------------------------------------- Tarjeta */

.iaunam-dir .iaunam-ficha {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: var(--ia-blanco);
	border: 1px solid var(--ia-linea);
	border-radius: var(--ia-radio);
	overflow: hidden;
	transition: border-color var(--ia-transicion), box-shadow var(--ia-transicion);
}

.iaunam-dir .iaunam-ficha:hover {
	border-color: #c8d2dc;
	box-shadow: var(--ia-sombra);
}

.iaunam-dir .iaunam-ficha__foto {
	position: relative;
	aspect-ratio: 5 / 4;
	overflow: hidden;
	background: var(--ia-fondo);
}

.iaunam-dir .iaunam-ficha__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 25%;
	transition: transform 400ms ease;
}

.iaunam-dir .iaunam-ficha:hover .iaunam-ficha__foto img {
	transform: scale(1.03);
}

/* Sin foto: tono claro para que las fotos sigan siendo protagonistas. */
.iaunam-dir .iaunam-ficha__foto.is-iniciales {
	display: grid;
	place-items: center;
	background: linear-gradient(180deg, #f2f5f8 0%, #e6ecf2 100%);
}

.iaunam-dir .iaunam-ficha__iniciales {
	position: relative;
	padding-bottom: 12px;
	font-family: var(--ia-titulos);
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .04em;
	color: var(--ia-azul);
}

.iaunam-dir .iaunam-ficha__iniciales::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 24px;
	height: 1px;
	margin-left: -12px;
	background: var(--ia-gris-3);
}

.iaunam-dir .iaunam-ficha__insignia {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 4px 8px;
	border: 1px solid var(--ia-linea);
	border-radius: var(--ia-radio-chico);
	background: var(--ia-blanco);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ia-azul);
}

.iaunam-dir .iaunam-ficha__cuerpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 16px 16px 16px;
}

.iaunam-dir .iaunam-ficha__nombramiento {
	display: -webkit-box;
	margin: 0 0 4px;
	overflow: hidden;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--ia-oro-texto);
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.iaunam-dir .iaunam-ficha__nombre {
	margin: 0;
	padding: 0;
	font-family: var(--ia-titulos);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ia-azul);
}

.iaunam.iaunam-dir .iaunam-ficha__nombre a {
	color: inherit;
	text-decoration: none;
}

/* Toda la tarjeta abre el perfil; los enlaces de contacto quedan encima. */
.iaunam.iaunam-dir .iaunam-ficha__nombre a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.iaunam.iaunam-dir .iaunam-ficha:hover .iaunam-ficha__nombre a {
	text-decoration: underline;
	text-decoration-color: var(--ia-acento);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.iaunam-dir .iaunam-ficha__cargo {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 1.4;
	color: var(--ia-gris-1);
}

/* El contacto se alinea al pie de la tarjeta para que todas midan igual. */
.iaunam-dir .iaunam-ficha__datos {
	display: grid;
	gap: 6px;
	margin: auto 0 0;
	padding: 12px 0 0;
	border-top: 1px solid var(--ia-linea);
	list-style: none;
}

.iaunam-dir .iaunam-ficha__cuerpo > :has(+ .iaunam-ficha__datos) {
	margin-bottom: 16px;
}

.iaunam-dir .iaunam-ficha__datos li {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	margin: 0;
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--ia-tinta);
}

.iaunam-dir .iaunam-ficha__datos .iaunam-ico {
	width: 14px;
	height: 14px;
	color: var(--ia-gris-2);
}

.iaunam-dir .iaunam-ficha__datos span,
.iaunam.iaunam-dir .iaunam-ficha__datos a {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.iaunam.iaunam-dir .iaunam-ficha__datos a {
	position: relative;
	z-index: 1;
	color: var(--ia-tinta);
	text-decoration: none;
}

.iaunam.iaunam-dir .iaunam-ficha__datos a:hover {
	color: var(--ia-azul);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* In memoriam */
.iaunam-dir .iaunam-ficha--memoria .iaunam-ficha__foto img {
	filter: grayscale(1);
}

.iaunam-dir .iaunam-ficha--memoria .iaunam-ficha__foto.is-iniciales {
	background: linear-gradient(180deg, #f3f3f3 0%, #e8e8e8 100%);
}

.iaunam-dir .iaunam-ficha--memoria .iaunam-ficha__iniciales {
	color: var(--ia-gris-1);
}

.iaunam-dir .iaunam-ficha--memoria .iaunam-ficha__nombramiento {
	color: var(--ia-gris-2);
}

/* ------------------------------------------------- Carga progresiva */

.iaunam-dir .iaunam-dir__mas {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}

/* ----------------------------------------------------------------- Vacio */

.iaunam-dir .iaunam-dir__vacio {
	padding: 64px 24px;
	text-align: center;
	background: var(--ia-fondo);
	border-radius: var(--ia-radio);
}

.iaunam-dir .iaunam-dir__vacio p {
	margin: 0 0 8px;
	font-size: 15px;
	color: var(--ia-gris-1);
}

.iaunam-dir .iaunam-dir__vacio .iaunam-dir__vacio-titulo {
	font-family: var(--ia-titulos);
	font-size: 18px;
	font-weight: 600;
	color: var(--ia-azul);
}

.iaunam-dir .iaunam-dir__vacio .iaunam-boton {
	margin-top: 16px;
}

.iaunam-dir .iaunam-dir__noscript {
	columns: 3 260px;
	padding-left: 18px;
}

.iaunam-dir .iaunam-cajon-fondo {
	display: none;
}

/* ------------------------------------------------------------ Responsive */

@media (max-width: 1100px) {
	.iaunam-dir .iaunam-dir__cuerpo {
		grid-template-columns: 240px minmax(0, 1fr);
		gap: 24px;
	}
}

/* Tableta y movil: la columna de filtros pasa a un cajon lateral. */
@media (max-width: 900px) {
	.iaunam-dir .iaunam-dir__cabecera {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
		padding: 28px 0 24px;
	}

	.iaunam-dir .iaunam-dir__cuerpo {
		display: block;
		padding-top: 20px;
	}

	.iaunam-dir .iaunam-dir__lateral {
		position: static;
		max-height: none;
		overflow: visible;
	}

	.iaunam-dir .iaunam-filtros {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 100000;
		display: flex;
		flex-direction: column;
		width: min(360px, 88vw);
		padding: 0;
		border: 0;
		border-radius: 0;
		overflow-y: auto;
		transform: translateX(-105%);
		transition: transform 220ms ease;
		box-shadow: 0 0 40px rgba(0, 0, 0, .2);
	}

	.iaunam-dir.is-cajon .iaunam-filtros {
		transform: none;
	}

	.iaunam-dir .iaunam-filtros__cabecera {
		position: sticky;
		top: 0;
		z-index: 1;
		padding: 16px 20px;
		background: var(--ia-blanco);
	}

	.iaunam-dir .iaunam-filtros__cabecera .iaunam-panel__titulo {
		flex: 1;
	}

	.iaunam.iaunam-dir button.iaunam-filtros__cerrar {
		display: inline-grid;
		place-items: center;
		width: 40px;
		height: 40px;
		margin: -8px -8px -8px 0;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: none;
		box-shadow: none;
		color: var(--ia-tinta);
		cursor: pointer;
	}

	.iaunam.iaunam-dir button.iaunam-filtros__cerrar:hover,
	.iaunam.iaunam-dir button.iaunam-filtros__cerrar:focus {
		background: var(--ia-fondo);
		color: var(--ia-tinta);
	}

	.iaunam-dir .iaunam-filtros__cerrar .iaunam-ico {
		width: 22px;
		height: 22px;
	}

	.iaunam-dir .iaunam-grupo {
		padding: 0 20px;
	}

	.iaunam-dir .iaunam-filtros__pie {
		position: sticky;
		bottom: 0;
		display: block;
		margin-top: auto;
		padding: 16px 20px;
		border-top: 1px solid var(--ia-linea);
		background: var(--ia-blanco);
	}

	.iaunam-dir.is-cajon .iaunam-cajon-fondo {
		position: fixed;
		inset: 0;
		z-index: 99999;
		display: block;
		background: rgba(9, 20, 30, .45);
	}

	.iaunam.iaunam-dir button.iaunam-abrir-filtros {
		display: inline-flex;
	}

	.iaunam-dir .iaunam-otros {
		display: none;
	}

	/* En móvil: buscador a todo lo ancho; debajo, Filtros y Ordenar. */
	.iaunam-dir .iaunam-herramientas {
		flex-wrap: wrap;
	}

	.iaunam-dir .iaunam-herramientas .iaunam-busca {
		flex-basis: 100%;
	}

	.iaunam-dir .iaunam-dir__acciones {
		flex: 1;
	}

	.iaunam-dir .iaunam-orden {
		flex: 1;
	}

	.iaunam.iaunam-dir .iaunam-orden select {
		flex: 1;
	}


}

@media (max-width: 560px) {
	.iaunam-dir .iaunam-dir__rejilla {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 12px;
	}

	.iaunam-dir .iaunam-ficha__cuerpo {
		padding: 12px;
	}

	.iaunam-dir .iaunam-ficha__nombre {
		font-size: 14px;
	}

	.iaunam-dir .iaunam-ficha__nombramiento {
		font-size: 10px;
	}

	.iaunam-dir .iaunam-ficha__cargo {
		font-size: 12px;
	}

	.iaunam-dir .iaunam-ficha__datos li {
		font-size: 11.5px;
	}

	.iaunam-dir .iaunam-ficha__iniciales {
		font-size: 28px;
	}

	.iaunam-dir .iaunam-orden label {
		display: none;
	}
}

html.iaunam-sin-scroll {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.iaunam-dir * {
		transition: none !important;
	}
}
