/*
 * ParentRoute
 * Final CTA
 *
 * Adaptation fidèle du CSS local Shopify.
 * Tous les sélecteurs sont limités à .pr-final.
 */

.pr-final {
	--pr-accent: #8fae9a;
	--pr-radius: 28px;

	padding-top: 96px;
	padding-bottom: 96px;
}

/* =========================================================
   Shell
   ========================================================= */

.pr-final .pr-final__shell {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 42px;
	overflow: hidden;
	padding: clamp(40px, 6vw, 78px);
	border-radius:
		calc(var(--pr-radius) + 10px);
	background: #17231e;
	color: #ffffff;
}

/* =========================================================
   Content
   ========================================================= */

.pr-final .pr-final__content {
	position: relative;
	z-index: 2;
	max-width: 780px;
}

/* =========================================================
   Eyebrow
   ========================================================= */

.pr-final .pr-section__eyebrow {
	color:
		color-mix(
			in srgb,
			var(--pr-accent) 68%,
			white
		);
}

/* =========================================================
   Heading
   ========================================================= */

.pr-final h2 {
	margin: 0;
	color: inherit;
	font-family:
		var(--font-heading-family, inherit);
	font-size:
		clamp(38px, 4.8vw, 68px);
	font-weight:
		var(--font-heading-weight, 600);
	line-height: 1.02;
	letter-spacing: -0.05em;
	text-wrap: balance;
}

/* =========================================================
   Text
   ========================================================= */

.pr-final .pr-final__text {
	max-width: 680px;
	margin-top: 18px;
	font-size: 17px;
	line-height: 1.65;
	opacity: 0.72;
}

.pr-final .pr-final__text p {
	margin: 0;
	color: inherit;
}

/* =========================================================
   Actions
   ========================================================= */

.pr-final .pr-final__actions {
	position: relative;
	z-index: 2;
	flex: 0 0 auto;
	text-align: center;
}

.pr-final .pr-final__actions p {
	max-width: 230px;
	margin: 12px auto 0;
	font-size: 11px;
	line-height: 1.45;
	opacity: 0.58;
}

/* =========================================================
   Primary button
   Scoped fallback for this section
   ========================================================= */

.pr-final .pr-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 54px;
	padding: 15px 25px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-family:
		var(--font-body-family, inherit);
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease;
}

.pr-final .pr-button:hover {
	transform: translateY(-2px);
}

.pr-final .pr-button--primary {
	background: var(--pr-accent);
	color: #ffffff;
	box-shadow:
		0 14px 34px
		color-mix(
			in srgb,
			var(--pr-accent) 25%,
			transparent
		);
}

.pr-final .pr-button:focus-visible {
	outline:
		2px solid
		var(--pr-accent);
	outline-offset: 4px;
}

/* =========================================================
   Glow
   ========================================================= */

.pr-final .pr-final__glow {
	position: absolute;
	right: -7%;
	bottom: -50%;
	z-index: 1;
	width: 45%;
	aspect-ratio: 1;
	border-radius: 50%;
	background:
		color-mix(
			in srgb,
			var(--pr-accent) 48%,
			transparent
		);
	filter: blur(80px);
}

/* =========================================================
   Reveal
   ========================================================= */

.pr-final .pr-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition:
		opacity 650ms ease,
		transform 650ms
		cubic-bezier(
			0.22,
			0.61,
			0.36,
			1
		);
}

.pr-final .pr-reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* =========================================================
   Tablet
   Original breakpoint: 899px
   ========================================================= */

@media screen and (max-width: 899px) {
	.pr-final .pr-final__shell {
		align-items: flex-start;
		flex-direction: column;
	}

	.pr-final .pr-final__actions {
		width: 100%;
		text-align: left;
	}

	.pr-final .pr-final__actions p {
		max-width: none;
		margin-inline: 0;
	}
}

/* =========================================================
   Mobile
   Original breakpoint: 599px
   ========================================================= */

@media screen and (max-width: 599px) {
	.pr-final .pr-final__shell {
		padding: 34px 23px;
	}

	.pr-final .pr-button {
		width: 100%;
	}
}

/* =========================================================
   Reduced motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
	.pr-final .pr-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.pr-final .pr-button {
		transition: none;
	}
}