/**
 * Correctifs responsive pour les contenus qui débordent sur mobile.
 * Les sélecteurs ciblés sont ajoutés par mobile-content-fit.js.
 */
@media (max-width: 768px) {
	.bfn-mobile-fit-heading {
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		font-size: clamp(2rem, 9vw, 2.55rem) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.02em !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
	}

	.bfn-mobile-fit-section,
	.bfn-mobile-fit-section > * {
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.bfn-offres-quiz-card {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	.bfn-offres-quiz-card > * {
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.bfn-mobile-cta-single-line {
		white-space: nowrap !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		font-size: clamp(1rem, 4.6vw, 1.18rem) !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.bfn-mobile-cta-single-line :is(span, .elementor-button-text) {
		white-space: nowrap !important;
	}

	.bfn-mobile-nowrap-badge {
		width: auto !important;
		min-width: max-content !important;
		max-width: none !important;
		flex: 0 0 auto !important;
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
	}

	.bfn-mobile-nowrap-badge :is(span, strong) {
		white-space: nowrap !important;
	}

	/* Sécurité supplémentaire : les titres et cartes ne doivent jamais élargir le viewport. */
	body .elementor-widget-container,
	body .elementor-element,
	body .elementor-heading-title {
		min-width: 0;
	}

	body .elementor-heading-title {
		max-width: 100%;
	}
}

@media (max-width: 380px) {
	.bfn-mobile-fit-heading {
		font-size: 2rem !important;
	}

	.bfn-mobile-cta-single-line {
		font-size: 0.98rem !important;
		padding-left: 14px !important;
		padding-right: 14px !important;
	}
}
