/**
 * La page Offres possede deja son titre principal dans le contenu Elementor.
 * Masque uniquement le titre de page ajoute par le theme Astra.
 * Cette feuille est chargee exclusivement sur la page /offres/.
 */
.entry-header > h1.entry-title,
.entry-header .entry-title {
	display: none !important;
}


/* Titre de la grille des programmes, cohérent avec le titre de la section précédente. */
.bfn-offres-programs-title {
	max-width: 1125px;
	margin: 0 auto 32px;
	color: #111111;
	font-family: Montserrat, sans-serif;
	font-size: 36px;
	font-weight: 800;
	line-height: 1.3;
	text-align: center;
}

/* Elementor ajoute 55 px a droite de cette grille. La grille et ses cartes
 * reprennent toute la largeur disponible, sans changer leur presentation. */
body.page-id-4359 #post-4359 .elementor-element-4601bb4 > .elementor-widget-container {
	margin-right: 0 !important;
}

body.page-id-4359 #post-4359 .programs-wrapper,
body.page-id-4359 #post-4359 .programs-grid,
body.page-id-4359 #post-4359 .program-card {
	width: 100%;
	box-sizing: border-box;
}

body.page-id-4359 #post-4359 .program-card {
	min-width: 0;
}

@media (max-width: 767px) {
	.bfn-offres-programs-title {
		margin-bottom: 24px;
		padding: 0 16px;
		font-size: 28px;
		line-height: 1.25;
	}
}

/* Toute la carte ouvre la page du programme via son lien existant. */
body.page-id-4359 #post-4359 .program-card {
	position: relative;
}

body.page-id-4359 #post-4359 .program-card .program-link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	cursor: pointer;
}

/* Le focus clavier reste visible sur la carte entière. */
body.page-id-4359 #post-4359 .program-card:focus-within {
	outline: 2px solid var(--bfn-brand-orange, #f47d42);
	outline-offset: 3px;
}

/* Evite que le déplacement au survol réduise la zone du lien à son libellé. */
body.page-id-4359 #post-4359 .program-card .program-link:hover {
	transform: none !important;
}

@media (max-width: 767px) {
	body.page-id-4359 #post-4359 .bfn-offres-fit-heading {
		max-width: 100% !important;
		min-width: 0 !important;
		font-size: clamp(32px, 9vw, 42px) !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;
	}

	body.page-id-4359 #post-4359 .bfn-offres-quiz-card-parent {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

	body.page-id-4359 #post-4359 .bfn-offres-quiz-card {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}
}

/* Correctifs mobiles renforcés pour les blocs de /offres/. */
@media (max-width: 767px) {
	body.page-id-4359 #post-4359 .bfn-offres-fit-heading-wrap {
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	body.page-id-4359 #post-4359 .bfn-offres-fit-heading {
		width: 100% !important;
		max-width: 100% !important;
		font-size: clamp(27px, 7.2vw, 34px) !important;
		line-height: 1.08 !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
	}

	body.page-id-4359 #post-4359 .bfn-offres-quiz-card-parent,
	body.page-id-4359 #post-4359 .bfn-offres-quiz-card {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}
}

/* Aligne l'espace sous le menu de /offres/ sur celui du hero du blog. */
body.page-id-4359 #content {
	margin-top: -72px;
}
