/* ==========================================================================
   Block: Text — Ambient Override
   ========================================================================== */

/* ---- Section ---- */
.text-block {
	padding-block: 7.5rem;
}

/* ---- Container ---- */
.text-block__container {
	max-inline-size: 68.875rem;
}

/* ---- Pretitle ---- */
.text-block__pretitle {
	color: #020910;
	font-size: 1.875rem;
	font-weight: var(--fw-bold);
	line-height: 2.25rem;
	margin-inline: 0;
	max-inline-size: 62.25rem;
}

/* ---- Title ---- */
.text-block__title {
	color: #020910;
	font-size: 3.125rem;
	font-weight: var(--fw-bold);
	hyphens: auto;
	line-height: 3.75rem;
	margin-inline: 0;
	max-inline-size: 62.25rem;
	overflow-wrap: anywhere;
	padding-block-start: 1.875rem;
	text-transform: uppercase;
}

/* ---- Intro ---- */
.text-block__intro {
	color: #020910;
	font-size: 1.875rem;
	font-weight: var(--fw-regular);
	line-height: 2.25rem;
	margin: 0;
	max-inline-size: 62.25rem;
	padding-block-start: 1.875rem;
}

.text-block.dark .text-block__intro {
	color: #fff;
}

/* ---- Description ---- */
.text-block__description {
	color: #020910;
	font-size: 1.3125rem;
	font-weight: var(--fw-regular);
	line-height: 1.625;
	margin-inline: 0;
	max-inline-size: 62.25rem;
	padding-block-start: 1.25rem;
}

.text-block__description p {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	margin: 0;
}

.text-block__description p + p {
	padding-block-start: 1.25rem;
}

/* ---- CTA ---- */
.text-block__cta-wrapper {
	padding-block-start: 1.875rem;
}

.text-block.text-left .text-block__cta-wrapper {
	justify-content: flex-start;
}

.text-block__cta-wrapper .cta-button {
	border: 0.125rem solid #020910;
	border-radius: 5rem;
	box-shadow: 0 0.25rem 1.5rem rgba(0, 0, 0, 0.25);
	font-size: 1.5rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	opacity: 1;
	padding-block: 1.1875rem;
	padding-inline: 1.9375rem;
	text-transform: uppercase;
	transition: background-color var(--transition-hover), border-color var(--transition-hover), box-shadow var(--transition-hover), color var(--transition-hover), opacity var(--transition-hover);
	white-space: nowrap;
}

.text-block__cta-wrapper .cta-button:first-child {
	background-color: #020910;
	color: #fff;
}

.text-block__cta-wrapper .cta-button:nth-child(n+2) {
	background-color: transparent;
	border-color: transparent;
	color: #020910;
}

.text-block__cta-wrapper .cta-button:hover {
	background-color: #F20786;
	border-color: #F20786;
	box-shadow: 0 0.25rem 1.5rem rgba(0, 0, 0, 0.25);
	color: #fff;
	opacity: 1;
	transform: none;
}

/* Prevent box-shadow cutoff when bottom padding is removed */
.text-block.no-padding-bottom .text-block__cta-wrapper,
.text-block.no-padding-both .text-block__cta-wrapper {
	padding-block-end: 1.5rem;
}

/* ---- Background: Dark ---- */
.text-block.dark {
	background-color: #020910;
}

.text-block.dark .text-block__pretitle,
.text-block.dark .text-block__title,
.text-block.dark .text-block__description {
	color: #fff;
}

.text-block.dark .text-block__cta-wrapper .cta-button {
	border-color: #fff;
}

.text-block.dark .text-block__cta-wrapper .cta-button:first-child {
	background-color: #fff;
	color: #020910;
}

.text-block.dark .text-block__cta-wrapper .cta-button:nth-child(n+2) {
	background-color: transparent;
	border-color: transparent;
	color: #fff;
}

.text-block.dark .text-block__cta-wrapper .cta-button:hover {
	background-color: #F20786;
	border-color: #F20786;
}

/* ---- Background: White ---- */
.text-block.white {
	background-color: #fff;
}

/* ---- Responsive: Mobile ---- */
@media (max-width: 48rem) {
	.text-block {
		padding-block: 5rem;
	}

	.text-block__pretitle {
		font-size: 1.25rem;
		line-height: 1.5rem;
	}

	.text-block__intro {
		font-size: 1.5rem;
		line-height: 2.4375rem;
		max-inline-size: none;
	}

	.text-block__title {
		font-size: 2.2rem;
		line-height: 2.5rem;
	}

	.text-block__description {
		font-size: 1.125rem;
		line-height: 1.857;
		max-inline-size: none;
	}
}
