/**
 * Providers page template styles.
 *
 * Loaded only on pages using the "Providers" template.
 */

.providers-listing {
	margin-top: 1.5rem;
}

.provider-category {
	margin-bottom: 3rem;
}

.provider-category__title {
	color: #3576C5;
	font-family: "Josefin Sans", sans-serif;
	font-weight: bold;
	border-bottom: 3px solid #3CA33D;
	padding-bottom: 0.5rem;
	margin-bottom: 1.5rem;
}

.provider-category__description {
	margin-bottom: 1.5rem;
	color: #274763;
}

.provider-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}

@media (min-width: 768px) {
	.provider-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1080px) {
	.provider-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.provider-card {
	text-align: center;
	background: #FFFFFF;
	border: 1px solid #E2E8ED;
	border-radius: 0.75rem;
	padding: 1rem;
	transition: box-shadow 0.3s, transform 0.3s;
}

.provider-card:hover {
	box-shadow: 0 0.25rem 0.75rem rgba(39, 71, 86, 0.18);
	transform: translateY(-3px);
}

.provider-card__photo {
	margin-bottom: 0.875rem;
}

.provider-card__photo img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 0.5rem;
	display: block;
}

.provider-card__name {
	color: #274763;
	font-family: "Josefin Sans", sans-serif;
	font-size: 1.1rem;
	margin: 0;
}
