/**
 * Directorio de asociados.
 *
 * Reproduce el aspecto que tenían las fichas hechas a mano con Elementor:
 * foto apaisada, nombre en mayúsculas, cargo debajo y los tres iconos dorados.
 * Los valores (colores, tamaños) son los que ya usaba la página antigua.
 */

.amafi-directorio {
	--amafi-dorado: #f1ba63;
	--amafi-dorado-oscuro: #ad8647;
	--amafi-texto: #272727;
	--amafi-azul: #14324f;
}

.amafi-directorio__titulo {
	margin: 0 0 1.5rem;
}

/* --- Buscador e índice de letras --------------------------------------- */

.amafi-directorio__herramientas {
	margin: 0 0 2rem;
}

.amafi-directorio__buscador input[type="search"] {
	width: 100%;
	max-width: 420px;
	padding: 0.7em 1em;
	border: 1px solid #d5d5d5;
	border-radius: 4px;
	font-size: 1rem;
	background: #fff;
}

.amafi-directorio__buscador input[type="search"]:focus {
	outline: 2px solid var(--amafi-dorado);
	outline-offset: 1px;
	border-color: var(--amafi-dorado);
}

.amafi-directorio__abecedario {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 1rem 0 0.75rem;
}

.amafi-directorio__letra-btn {
	min-width: 2.1em;
	padding: 0.35em 0.6em;
	border: 1px solid #e0e0e0;
	border-radius: 3px;
	background: #fff;
	color: var(--amafi-texto);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}

.amafi-directorio__letra-btn:hover:not(:disabled) {
	border-color: var(--amafi-dorado);
	color: var(--amafi-dorado-oscuro);
}

.amafi-directorio__letra-btn.is-activa {
	background: var(--amafi-dorado);
	border-color: var(--amafi-dorado);
	color: #fff;
}

.amafi-directorio__letra-btn.is-vacia,
.amafi-directorio__letra-btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.amafi-directorio__cuenta {
	margin: 0;
	color: #6b6b6b;
	font-size: 0.9rem;
}

/* --- Grupos por letra --------------------------------------------------- */

.amafi-directorio__grupo[hidden] {
	display: none;
}

.amafi-directorio__letra {
	margin: 2.2rem 0 1rem;
	color: var(--amafi-azul);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}

.amafi-directorio__lista {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.5rem 1.6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* --- La ficha ----------------------------------------------------------- */

.amafi-directorio__ficha {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

.amafi-directorio__ficha[hidden] {
	display: none;
}

.amafi-directorio__marco {
	/* Misma proporción que la miniatura de las fichas antiguas (600x335). */
	aspect-ratio: 600 / 335;
	overflow: hidden;
	background: #ececec;
}

.amafi-directorio__foto {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.amafi-directorio__foto--vacia {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #9b9b9b;
	font-size: 2.6rem;
	font-weight: 700;
}

.amafi-directorio__nombre {
	margin: 0.6rem 0 0.3rem;
	color: var(--amafi-texto);
	font-size: 20px;
	font-weight: 700;
	line-height: 24px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.amafi-directorio__cargo {
	margin: 0 0 0.6rem;
	color: var(--amafi-texto);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.7px;
	text-transform: uppercase;
}

/* --- Los iconos dorados ------------------------------------------------- */

.amafi-directorio__redes {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0;
}

.amafi-directorio__red {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--amafi-dorado);
	text-decoration: none;
	border: 0;
}

.amafi-directorio__red svg {
	width: 35px;
	height: 35px;
	fill: currentColor;
	transition: fill 0.15s;
}

.amafi-directorio__red:hover,
.amafi-directorio__red:focus {
	color: var(--amafi-dorado-oscuro);
}

.amafi-directorio__red--texto {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.amafi-directorio__sin-resultados {
	margin: 2rem 0;
	padding: 1.2rem;
	background: #f7f7f7;
	color: #6b6b6b;
	text-align: center;
}

/* --- Pantallas pequeñas -------------------------------------------------- */

@media (max-width: 1024px) {
	.amafi-directorio__lista {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 782px) {
	.amafi-directorio__lista {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem 1.2rem;
	}

	.amafi-directorio__nombre {
		font-size: 17px;
		line-height: 21px;
	}
}

@media (max-width: 480px) {
	.amafi-directorio__lista {
		grid-template-columns: 1fr;
	}

	.amafi-directorio__red svg {
		width: 30px;
		height: 30px;
	}
}

/* --- Vista previa dentro de «Mi cuenta» ---------------------------------- */

.amafi-directorio--previa .amafi-directorio__lista {
	grid-template-columns: minmax(0, 320px);
}

.amafi-directorio__orden {
	color: #8a8a8a;
}

.amafi-directorio__orden::before {
	content: " · ";
}

@media (max-width: 480px) {
	/* En el móvil cabe mejor en su propia línea. */
	.amafi-directorio__orden {
		display: block;
	}

	.amafi-directorio__orden::before {
		content: none;
	}
}
