/* CTA finaux : declinaison claire de la maquette de l'accueil, textes et liens conserves. */
html body:not(.home) .cta-final-wrapper,
html body .bf-choice-cta,
html body .bf-choice-final-cta,
html body .bf-final-cta,
html body #bfn-hyrox-final-cta {
	box-sizing: border-box !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 28px calc(50% - 50vw) !important;
	padding: 46px max(24px, calc((100vw - 1100px) / 2)) !important;
	overflow: hidden !important;
	border: 0 !important;
	border-left: 7px solid #f47d42 !important;
	border-radius: 0 !important;
	background: #fffaf6 !important;
	color: #252321 !important;
	box-shadow: none !important;
	text-align: left !important;
}

html body .bf-choice-cta::before,
html body .bf-choice-cta::after,
html body .bf-choice-final-cta::before,
html body .bf-choice-final-cta::after,
html body .bf-final-cta::before,
html body .bf-final-cta::after,
html body #bfn-hyrox-final-cta::before,
html body #bfn-hyrox-final-cta::after,
html body:not(.home) .cta-final-wrapper::before,
html body:not(.home) .cta-final-wrapper::after {
	content: none !important;
	display: none !important;
}

html body .bf-choice-cta,
html body .bf-final-cta {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 14px 36px !important;
}

html body .bf-choice-cta > .bf-choice-eyebrow,
html body .bf-choice-cta > h2,
html body .bf-choice-cta > p,
html body .bf-final-cta > :is(.bf-final-cta-content, .bf-final-cta-badge, .bf-final-cta-eyebrow, .bf-final-cta-points, h2, h3, p) {
	grid-column: 1 !important;
}

html body .bf-choice-cta .bf-choice-eyebrow,
html body .bf-choice-final-cta-badge,
html body #bfn-hyrox-final-cta .bfn-hyrox-final-cta__badge,
html body .bf-final-cta :is(.bf-final-cta-badge, .bf-final-cta-eyebrow),
html body:not(.home) .cta-final-badge {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 6px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #bf5727 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
}

html body .bf-choice-cta h2,
html body .bf-choice-final-cta h2,
html body .bf-final-cta :is(h2, h3, .bf-final-cta-title),
html body #bfn-hyrox-final-cta h2,
html body:not(.home) .cta-final-title {
	grid-column: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #252321 !important;
	font-size: clamp(30px, 4.5vw, 48px) !important;
	font-weight: 700 !important;
	line-height: 1.14 !important;
	letter-spacing: -.04em !important;
}

html body .bf-choice-cta h2 span,
html body .bf-choice-final-cta h2 span,
html body .bf-final-cta :is(h2, h3) span,
html body #bfn-hyrox-final-cta h2 span,
html body:not(.home) .cta-final-title span {
	color: #f47b3f !important;
}

html body .bf-choice-cta p,
html body .bf-final-cta :is(p, .bf-final-cta-description),
html body #bfn-hyrox-final-cta .bfn-hyrox-final-cta__description {
	grid-column: 1 !important;
	max-width: 720px !important;
	margin: 0 !important;
	color: #4b4846 !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
}

html body .bf-choice-final-cta-inner,
html body #bfn-hyrox-final-cta .bfn-hyrox-final-cta__inner,
html body:not(.home) .cta-final-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 14px 36px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
	text-align: left !important;
}

html body .bf-choice-cta .bf-choice-button,
html body .bf-choice-final-cta .bf-choice-final-cta-button,
html body .bf-final-cta .bf-final-cta-button,
html body #bfn-hyrox-final-cta .bfn-hyrox-final-cta__button,
html body:not(.home) .cta-final-wrapper .cta-final-button {
	grid-column: 2 !important;
	grid-row: 1 / span 2 !important;
	position: relative !important;
	z-index: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-width: 248px !important;
	min-height: 62px !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #f47b3f !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: 0 8px 18px rgb(170 78 37 / 14%) !important;
	transition: transform .18s ease, background-color .18s ease !important;
}

/* Le bloc editorial contient aussi un paragraphe, donc le bouton couvre ses trois lignes. */
html body .bf-choice-cta .bf-choice-button {
	grid-row: 1 / span 3 !important;
}

html body .bf-choice-cta .bf-choice-button:is(:hover, :focus-visible),
html body .bf-choice-final-cta .bf-choice-final-cta-button:is(:hover, :focus-visible),
html body .bf-final-cta .bf-final-cta-button:is(:hover, :focus-visible),
html body #bfn-hyrox-final-cta .bfn-hyrox-final-cta__button:is(:hover, :focus-visible),
html body:not(.home) .cta-final-wrapper .cta-final-button:is(:hover, :focus-visible) {
	background: #e96e34 !important;
	color: #fff !important;
	text-decoration: none !important;
	transform: translateY(-2px);
}

html body .bf-choice-cta .bf-choice-button:focus-visible,
html body .bf-choice-final-cta .bf-choice-final-cta-button:focus-visible,
html body .bf-final-cta .bf-final-cta-button:focus-visible,
html body #bfn-hyrox-final-cta .bfn-hyrox-final-cta__button:focus-visible,
html body:not(.home) .cta-final-wrapper .cta-final-button:focus-visible {
	outline: 3px solid #252321 !important;
	outline-offset: 4px !important;
}

@media (max-width: 700px) {
	html body:not(.home) .cta-final-wrapper,
	html body .bf-choice-cta,
	html body .bf-choice-final-cta,
	html body .bf-final-cta,
	html body #bfn-hyrox-final-cta {
		margin: 22px calc(50% - 50vw) !important;
		padding: 34px 26px 38px !important;
	}

	html body .bf-choice-cta,
	html body .bf-final-cta,
	html body .bf-choice-final-cta-inner,
	html body #bfn-hyrox-final-cta .bfn-hyrox-final-cta__inner,
	html body:not(.home) .cta-final-inner {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 14px !important;
	}

	html body .bf-choice-cta h2,
	html body .bf-choice-final-cta h2,
	html body .bf-final-cta :is(h2, h3, .bf-final-cta-title),
	html body #bfn-hyrox-final-cta h2,
	html body:not(.home) .cta-final-title {
		font-size: clamp(29px, 8vw, 39px) !important;
	}

	html body .bf-choice-cta .bf-choice-button,
	html body .bf-choice-final-cta .bf-choice-final-cta-button,
	html body .bf-final-cta .bf-final-cta-button,
	html body #bfn-hyrox-final-cta .bfn-hyrox-final-cta__button,
	html body:not(.home) .cta-final-wrapper .cta-final-button {
		grid-column: 1 !important;
		grid-row: auto !important;
		width: 100% !important;
		max-width: 330px !important;
		min-height: 58px !important;
		margin-top: 10px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body .bf-choice-cta .bf-choice-button,
	html body .bf-choice-final-cta .bf-choice-final-cta-button,
	html body .bf-final-cta .bf-final-cta-button,
	html body #bfn-hyrox-final-cta .bfn-hyrox-final-cta__button,
	html body:not(.home) .cta-final-wrapper .cta-final-button {
		transition: none !important;
	}
}
