.ppv-link-card {
	--ppv-link-accent: #00a2e3;
	--ppv-link-accent-hover: #008fc8;
	--ppv-link-accent-soft: #e6f6fc;
	--ppv-link-accent-text: #007daf;
	align-items: center;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 18px;
	box-shadow: 0 8px 25px rgba(0, 0, 0, .07);
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(180px, 32%) 1fr;
	margin: 24px 0 34px;
	overflow: hidden;
	padding: 22px;
}

.ppv-link-card__visual {
	display: block;
	line-height: 0;
}

.ppv-link-card--no-image {
	display: block;
}

.ppv-link-card__image {
	border-radius: 12px;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.ppv-link-card__content h4 {
	font-size: 1.25em;
	margin: 6px 0;
}

.ppv-link-card__content h4 a {
	text-decoration: none;
}

.ppv-link-card__source {
	color: #6b7280;
	font-size: .82em;
	margin: 0 0 12px;
}

.ppv-link-card__description {
	margin: 10px 0 18px;
}

.ppv-link-card__action a {
	background: transparent;
	border: 2px solid var(--ppv-link-accent);
	border-radius: 999px;
	color: var(--ppv-link-accent);
	display: inline-block;
	font-weight: 700;
	padding: 9px 22px;
	text-decoration: none;
	transition: background-color .2s ease, transform .2s ease;
}

.ppv-link-card__action a:hover,
.ppv-link-card__action a:focus {
	background: var(--ppv-link-accent-hover);
	border-color: var(--ppv-link-accent-hover);
	color: #fff;
	transform: translateY(-1px);
}

.ppv-link-card__badge {
	background: var(--ppv-link-accent-soft);
	border-radius: 999px;
	color: var(--ppv-link-accent-text);
	display: inline-block;
	font-size: .72em;
	font-weight: 700;
	padding: 4px 9px;
	text-transform: uppercase;
}

@media (max-width: 600px) {
	.ppv-link-card {
		border-radius: 12px;
		gap: 16px;
		grid-template-columns: 1fr;
		padding: 14px;
	}

	.ppv-link-card__image {
		max-height: 240px;
		object-fit: cover;
	}

	.ppv-link-card__action a {
		box-sizing: border-box;
		text-align: center;
		width: 100%;
	}
}
