/**
 * "Contribute to the Masjid" grid of donation-category cards.
 */

.contribute {
	background-color: var(--color-white);
	padding: 60px 2.5rem;
}

.contribute__panel {
	max-width: 1400px;
	margin: 0 auto;
	background-color: var(--color-primary-tint);
	border-top: 4px solid var(--color-primary);
	border-radius: 12px;
	padding: 60px 2.5rem;
	text-align: center;
}

.contribute__heading {
	font-family: var(--font-heading);
	font-weight: 700;
	color: var(--color-primary);
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	max-width: 900px;
	margin: 0 auto 2.5rem;
}

.contribute__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.5rem;
	text-align: left;
}

.contribute__card {
	background-color: var(--color-white);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(var(--color-primary-rgb), 0.12);
	display: flex;
	flex-direction: column;
}

.contribute__card-media {
	position: relative;
	aspect-ratio: 4 / 3;
	background-color: var(--color-primary);
}

.contribute__card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.contribute__card-media-fallback {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(160deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);
	color: rgba(255, 255, 255, 0.6);
}

.contribute__card-media-fallback svg {
	width: 40%;
	height: 40%;
}

.contribute__badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	font-family: var(--font-body);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-white);
	background-color: rgba(var(--color-primary-rgb), 0.85);
	padding: 0.25em 0.75em;
	border-radius: 999px;
}

.contribute__card-body {
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.contribute__card-title {
	font-family: var(--font-body);
	font-weight: 700;
	color: var(--color-primary);
	font-size: 1.0625rem;
	margin: 0 0 0.35rem;
}

.contribute__card-text {
	font-family: var(--font-body);
	color: #5a6672;
	font-size: 0.875rem;
	line-height: 1.4;
	margin: 0 0 1rem;
	flex-grow: 1;
}

.contribute__card-cta {
	width: 100%;
	font-size: 0.9375rem;
}

@media (max-width: 640px) {
	.contribute {
		padding: 2rem 1.25rem;
	}

	.contribute__panel {
		padding: 2rem 1.25rem;
	}
}
