/**
 * FCSA Member Directory.
 *
 * Deliberately minimal. The cards, filters and pagination all reuse Elementor's
 * own class names, so their appearance comes from the stylesheets Elementor
 * already generates — nothing here restyles them. This file only covers states
 * the original had no markup for: loading, and an empty result set.
 */

.fcsa-md {
	position: relative;
}

.fcsa-md.is-loading .elementor-loop-container {
	opacity: 0.45;
	transition: opacity 120ms ease-in-out;
	pointer-events: none;
}

.fcsa-md.is-loading::after {
	content: "";
	position: absolute;
	top: 1.5rem;
	left: 50%;
	width: 2rem;
	height: 2rem;
	margin-left: -1rem;
	border: 3px solid rgba( 0, 0, 0, 0.15 );
	border-top-color: #f79239;
	border-radius: 50%;
	animation: fcsa-md-spin 700ms linear infinite;
}

@keyframes fcsa-md-spin {
	to {
		transform: rotate( 360deg );
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.fcsa-md.is-loading::after {
		animation-duration: 2s;
	}

	.fcsa-md.is-loading .elementor-loop-container {
		transition: none;
	}
}

.fcsa-md__filters {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.fcsa-md-empty {
	padding: 2rem 0;
	text-align: center;
}
