.h-card div:has(img) {
	width: 6rem;
	height: 6rem;
	margin-inline: auto;
}

.h-card img {
	width: 6rem;
	height: 6rem;
	border-radius: 1rem;
	filter: contrast(1.25);
}

.h-card div:has(img)::after {
	/* Colour overlay */
	background-color: var(--colour-primary-80);
	opacity: 0.3;

	/* Same size and shape as the img */
	border-radius: 1rem;
	width: 6rem;
	height: 6rem;

	/* Positioned on top of the img */
	display: block;
	position: relative;
	top: -6rem;

	/* A content value is needed to get the ::after to render */
	content: '';
}


@media (min-width: 36rem) {
	.h-card {
		grid-column: media-start / content-end;
		display: grid;
		grid-template-columns: subgrid; /** Subgrid of main column layout */
		grid-template-rows: min-content 1fr;
		grid-template-areas:
			"empty heading"
			"photo text";
	}

	.h-card div:has(img) {
		grid-area: photo;
		margin-block-start: var(--spacing-block-sm);
	}

	.h-card header {
		grid-area: heading;
	}

	.h-card__text {
		grid-area: text;
	}
}
