.cta-card {
	--cta-background: #fff;

	margin: 0 0 32px;
	padding: 24px;
	border: 1px solid #e0e0e0;
	border-radius: 16px;
	background-color: var(--cta-background);
	color: #000;
}

.cta-card--colored {
	border-color: transparent;
}

.cta-card .cta-card__title {
	margin: 0 0 16px;
	color: inherit;
	font-size: 24px;
	font-weight: 500;
	line-height: 32px;
	letter-spacing: -.02em;
}

/* The theme sizes article paragraphs with a long selector chain and vw values per breakpoint, and bolds
   every p:first-of-type as if it were the article's intro. */
.cta-card .cta-card__text {
	margin: 0 0 24px !important;
	color: inherit;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 24px !important;
}

.cta-card .cta-card__text:last-child {
	margin-bottom: 0 !important;
}

.cta-card .cta-card__button {
	display: inline-flex;
	align-items: center;
	padding: 12px 24px;
	border-radius: 999px;
	background-color: #000;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	text-decoration: none;
	transition: background-color .3s ease-in-out;
}

.cta-card .cta-card__button:hover,
.cta-card .cta-card__button:focus-visible {
	background-color: #3d3d3d;
	color: #fff;
	text-decoration: none;
}

/* With a paragraph right after it the card floats beside that paragraph; flow-root keeps the text from
   wrapping under the card, and the next element starts below both. */
@media (min-width: 992px) {
	.cta-card {
		max-width: 360px;
	}

	.cta-card:has(+ p) {
		float: right;
		width: calc((100% - 32px) * .35);
		max-width: none;
		margin: 0 0 32px 32px;
	}

	.cta-card + p {
		display: flow-root;
	}

	.cta-card + p + * {
		clear: both;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cta-card .cta-card__button {
		transition: none;
	}
}
