.card {
	--card-gap: var(--spacing-10);
	--card-spacing: var(--spacing-10);

	@media (width > 768px) {
		--card-spacing: var(--spacing-20);
	}

	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-radius: var(--border-radius);
	background: var(--white);
	box-shadow: 0 60px var(--spacing-20) -32px rgba(0, 0, 0, 0.1);
	gap: var(--card-gap);
	padding-block-end: var(--card-spacing);

	@media (width > 1000px) {
		box-shadow: 0 60px var(--spacing-50) -32px rgba(0, 0, 0, 0.1);
	}
}

.card__container {
	margin-inline: var(--card-spacing);
}

.card__image {
	overflow: clip;
	border-radius: var(--border-radius) var(--border-radius) 0 0;

	.image__img {
		aspect-ratio: 5 / 4;
		border-radius: var(--border-radius) var(--border-radius) 0 0;
		object-fit: cover;
		max-width: none;
		width: 100%;
		transition: transform 0.5s ease;
	}

	&:hover,
	&:focus-visible {
		.image__img {
			transform: scale(1.05);
		}
	}
}

.card__title {
	font-size: var(--h4);
	margin-block-end: 0;
}

.card__categories {
	display: flex;
	gap: var(--spacing-5);
	align-items: center;
}

.card__category {
	border-radius: var(--btn-radius);
	background: var(--purple-50);
	color: var(--purple-500);
	text-align: center;
	font-size: var(--step--1);
	padding: var(--spacing-5) var(--spacing-10);
	text-decoration: none;
	transition:
		background 0.2s ease-in-out,
		color 0.2s ease-in-out;

	&:hover,
	&:focus-visible {
		background: var(--purple-100);
		color: var(--purple-600);
	}
}

.card__category--post-type {
	background: var(--blue-50);
	color: var(--blue-500);

	&:hover,
	&:focus-visible {
		background: var(--blue-50);
		color: var(--blue-500);
	}
}

.card__text,
.card__content {
	margin-bottom: auto;
}

.card__link {
	margin-top: auto;

	a {
		display: inline-block;
	}
}
