.fmcad-directory {
	--fmcad-columns: 4;
	--fmcad-columns-tablet: 3;
	--fmcad-columns-mobile: 2;
	--fmcad-border: #d7ddd5;
	--fmcad-heading: #173224;
	--fmcad-text: #284232;
	--fmcad-link: #1f5c3f;
	--fmcad-link-hover: #123826;
}

.fmcad-directory__group + .fmcad-directory__group {
	margin-top: 2.5rem;
}

.fmcad-directory__heading {
	margin: 0 0 1rem;
	color: var(--fmcad-heading);
	font-size: clamp(1.125rem, 1rem + 0.4vw, 1.5rem);
	line-height: 1.2;
}

.fmcad-directory__list {
	display: grid;
	grid-template-columns: repeat(var(--fmcad-columns), minmax(0, 1fr));
	gap: 0.75rem 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fmcad-directory__item {
	min-width: 0;
	padding-top: clamp(0.375rem, 0.2917rem + 0.3704vw, 0.625rem);
	border-top: 1px solid var(--fmcad-border);
}

.fmcad-directory__link {
	display: inline-block;
	color: var(--fmcad-link);
	font-weight: 600;
	font-size: clamp(0.8125rem, 0.7708rem + 0.1852vw, 0.9375rem);
	line-height: 1.3;
	text-decoration: none;
	word-break: break-word;
}

.fmcad-directory__link:hover,
.fmcad-directory__link:focus {
	color: var(--fmcad-link-hover);
	text-decoration: underline;
}

.fmcad-directory__message {
	margin: 0;
	color: var(--fmcad-text);
}

@media (max-width: 1080px) {
	.fmcad-directory__list {
		grid-template-columns: repeat(var(--fmcad-columns-tablet), minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.fmcad-directory__list {
		grid-template-columns: repeat(var(--fmcad-columns-mobile), minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.fmcad-directory__list {
		grid-template-columns: minmax(0, 1fr);
	}
}
