/* /sport-prise-de-muscle/ : structure editoriale alignee sur HYROX.
 * L'ancien contenu Elementor est construit avec une ligne flex contenant plusieurs
 * colonnes. Ici, ces colonnes doivent se suivre verticalement, jamais cote a cote.
 */
body.postid-4690 {
	--bfn-muscle-content-width: min(1100px, calc(100vw - 140px));
}

body.postid-4690 #content > .ast-container,
body.postid-4690 #primary,
body.postid-4690 #primary .ast-article-single,
body.postid-4690 #primary .entry-content,
body.postid-4690 .elementor-4690 {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.postid-4690 #content > .ast-container {
	display: block !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.postid-4690 #primary {
	padding: 0 !important;
}

/* Supprimer l'espace vertical herite du theme/Elementor au-dessus du hero. */
body.postid-4690 #content,
body.postid-4690 #content > .ast-container,
body.postid-4690 #primary .ast-article-single,
body.postid-4690 #primary .entry-content,
body.postid-4690 .elementor-4690,
body.postid-4690 .elementor-4690 > .elementor-section:first-child,
body.postid-4690 .elementor-4690 > .elementor-section-wrap > .elementor-section:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Elementor legacy : la vraie cause du bug etait .elementor-row, encore en flex.
 * On empile les colonnes principales et on neutralise leur flex-basis 33/50%.
 */
body.postid-4690 .elementor-4690 .elementor-section > .elementor-container,
body.postid-4690 .elementor-4690 .elementor-row,
body.postid-4690 .elementor-4690 .elementor-column,
body.postid-4690 .elementor-4690 .elementor-column-wrap,
body.postid-4690 .elementor-4690 .elementor-widget-wrap,
body.postid-4690 .elementor-4690 .elementor-widget,
body.postid-4690 .elementor-4690 .elementor-widget-html,
body.postid-4690 .elementor-4690 .elementor-widget-container {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

body.postid-4690 .elementor-4690 .elementor-section > .elementor-container,
body.postid-4690 .elementor-4690 .elementor-row,
body.postid-4690 .elementor-4690 .elementor-column,
body.postid-4690 .elementor-4690 .elementor-column-wrap,
body.postid-4690 .elementor-4690 .elementor-widget-wrap {
	display: block !important;
}

body.postid-4690 .elementor-4690 .elementor-column {
	flex: 0 0 100% !important;
	flex-basis: 100% !important;
}

body.postid-4690 .elementor-4690 .elementor-column-wrap,
body.postid-4690 .elementor-4690 .elementor-widget-wrap {
	padding: 0 !important;
}

body.postid-4690 .elementor-4690 .elementor-widget {
	flex: none !important;
}

body.postid-4690 .elementor-4690 .elementor-widget-html {
	margin: 0 !important;
}

/* Elementor containers recents : meme securite si le contenu est regenere. */
body.postid-4690 .elementor-4690 > .e-con,
body.postid-4690 .elementor-4690 > .e-con > .e-con-inner {
	box-sizing: border-box;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	--width: 100% !important;
	--container-widget-width: 100% !important;
}

/* Meme largeur editoriale que l'article HYROX. */
body.postid-4690 .bf-article-wrapper,
body.postid-4690 .bf-content-block-wrapper,
body.postid-4690 .bf-keypoint-wrapper,
body.postid-4690 .bf-coach-tip-wrapper,
body.postid-4690 .bf-cta-wrapper,
body.postid-4690 .bf-final-cta,
body.postid-4690 .bf-related-wrapper {
	box-sizing: border-box;
	width: var(--bfn-muscle-content-width) !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	left: auto !important;
	transform: none !important;
}

body.postid-4690 .bf-article-wrapper {
	padding: 36px 0 50px !important;
}

body.postid-4690 .bf-content-block-wrapper,
body.postid-4690 .bf-keypoint-wrapper,
body.postid-4690 .bf-coach-tip-wrapper,
body.postid-4690 .bf-cta-wrapper {
	padding: 0 0 60px !important;
}

body.postid-4690 .bf-content-block-layout,
body.postid-4690 .bf-cta-grid {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.postid-4690 .bf-content-block-sidebar {
	display: none !important;
}

body.postid-4690 .bf-content-block,
body.postid-4690 .bf-keypoint,
body.postid-4690 .bf-coach-tip,
body.postid-4690 .bf-cta-content {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.postid-4690 .bf-keypoint p + p,
body.postid-4690 .bf-keypoint p + ul,
body.postid-4690 .bf-keypoint ul + p {
	margin-top: 18px;
}

/* CTA final puis articles similaires : deux blocs successifs, jamais des colonnes voisines. */
body.postid-4690 .bf-final-cta {
	margin-top: 0 !important;
	margin-bottom: 60px !important;
}

body.postid-4690 .bf-related-wrapper {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.postid-4690 .bf-ai-box,
body.postid-4690 .bf-final-cta-points {
	flex-wrap: wrap;
}

body.postid-4690 .bf-ai-label,
body.postid-4690 .bf-related-title {
	min-width: 0;
	white-space: normal;
}

body.postid-4690 .bf-cta-button,
body.postid-4690 .bf-final-cta-button {
	max-width: 100%;
	min-width: 0;
	min-height: 52px;
	height: auto;
	padding-block: 14px;
	line-height: 1.4;
}

body.postid-4690 .bf-cta-button,
body.postid-4690 .bf-cta-button span:first-child {
	white-space: nowrap !important;
}

body.postid-4690 .bf-cta-button br {
	display: none !important;
}

body.postid-4690 .bf-final-cta-button,
body.postid-4690 .bf-final-cta-button span:first-child {
	min-width: 0;
	white-space: normal;
}

/* Une seule caracteristique reste dans le programme recommande. */
body.postid-4690 .bf-cta-divider,
body.postid-4690 .bf-cta-separator {
	display: none !important;
}

body.postid-4690 .bf-related-card {
	min-width: 0;
}

body.postid-4690 .bf-related-footer {
	gap: 10px;
	flex-wrap: wrap;
}

@media (max-width: 1100px) {
	body.postid-4690 {
		--bfn-muscle-content-width: calc(100vw - 60px);
	}
}

@media (max-width: 767px) {
	body.postid-4690 {
		--bfn-muscle-content-width: calc(100vw - 32px);
	}

	body.postid-4690 .bf-article-wrapper {
		padding: 28px 0 42px !important;
	}

	body.postid-4690 .bf-content-block-wrapper,
	body.postid-4690 .bf-keypoint-wrapper,
	body.postid-4690 .bf-coach-tip-wrapper,
	body.postid-4690 .bf-cta-wrapper {
		padding-bottom: 42px !important;
	}

	body.postid-4690 .bf-final-cta {
		margin-bottom: 42px !important;
	}
}


/* Garde-fous finaux responsive : aucun enfant ne doit elargir le viewport. */
@media (max-width: 900px) {
	body.postid-4690 .bf-related-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 18px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.postid-4690 .bf-related-card {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
}

@media (max-width: 767px) {
	body.postid-4690 {
		overflow-x: hidden;
		overflow-x: clip;
	}

	body.postid-4690 #page,
	body.postid-4690 #content,
	body.postid-4690 #primary,
	body.postid-4690 .entry-content,
	body.postid-4690 .elementor-4690,
	body.postid-4690 .elementor-4690 .elementor-section,
	body.postid-4690 .elementor-4690 .elementor-section-wrap {
		box-sizing: border-box;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	/* Titres : retour a la ligne naturel, sans mot coupe ni debordement. */
	body.postid-4690 .bf-article-wrapper h1 {
		max-width: 100% !important;
		font-size: clamp(2rem, 9vw, 2.5rem) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.02em !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	body.postid-4690 .bf-content-block :is(h2, h3, h4),
	body.postid-4690 .bf-keypoint :is(h2, h3, h4),
	body.postid-4690 .bf-coach-tip :is(h2, h3, h4),
	body.postid-4690 .bf-cta-content :is(h2, h3, h4),
	body.postid-4690 .bf-related-wrapper :is(h2, h3, h4) {
		max-width: 100% !important;
		word-break: normal !important;
		overflow-wrap: break-word !important;
	}

	body.postid-4690 .bf-content-block,
	body.postid-4690 .bf-keypoint,
	body.postid-4690 .bf-coach-tip,
	body.postid-4690 .bf-cta-content,
	body.postid-4690 .bf-final-cta,
	body.postid-4690 .bf-related-wrapper,
	body.postid-4690 .bf-ai-box {
		min-width: 0 !important;
		max-width: 100% !important;
	}

	body.postid-4690 .bf-content-block :is(p, li, a),
	body.postid-4690 .bf-keypoint :is(p, li, a),
	body.postid-4690 .bf-coach-tip :is(p, li, a),
	body.postid-4690 .bf-cta-content :is(p, li, a),
	body.postid-4690 .bf-related-wrapper :is(p, li, a) {
		max-width: 100%;
		overflow-wrap: break-word;
	}

	/* Medias et tableaux restent dans la colonne. */
	body.postid-4690 .bf-content-block :is(img, video, iframe),
	body.postid-4690 .bf-keypoint :is(img, video, iframe),
	body.postid-4690 .bf-coach-tip :is(img, video, iframe),
	body.postid-4690 .bf-related-wrapper img {
		display: block;
		max-width: 100% !important;
		height: auto;
	}

	body.postid-4690 .bf-content-block table {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	/* Bloc programme recommande : CTA fluide mais libelle toujours sur une ligne. */
	body.postid-4690 .bf-cta-features,
	body.postid-4690 .bf-cta-feature-list {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 8px 12px !important;
		max-width: 100% !important;
	}

	body.postid-4690 .bf-cta-feature {
		min-width: 0 !important;
		max-width: 100% !important;
	}

	body.postid-4690 .bf-cta-button {
		display: flex !important;
		width: 100% !important;
		max-width: 100% !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 10px !important;
		padding: 14px 16px !important;
		font-size: clamp(0.94rem, 4.3vw, 1.05rem) !important;
		white-space: nowrap !important;
	}

	body.postid-4690 .bf-cta-button span:first-child {
		flex: 0 1 auto;
		min-width: 0;
		white-space: nowrap !important;
	}

	/* Encadre de resume IA : les boutons peuvent passer a la ligne proprement. */
	body.postid-4690 .bf-ai-box,
	body.postid-4690 .bf-ai-buttons {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
	}

	body.postid-4690 .bf-ai-button {
		max-width: 100% !important;
		min-width: 0 !important;
	}

	/* CTA final : padding mobile controle et aucun contenu interne ne deborde. */
	body.postid-4690 .bf-final-cta {
		overflow: hidden;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	body.postid-4690 .bf-final-cta > *,
	body.postid-4690 .bf-final-cta-content {
		box-sizing: border-box;
		width: 100%;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.postid-4690 .bf-final-cta h2 {
		max-width: 100% !important;
		font-size: clamp(1.75rem, 8vw, 2.2rem) !important;
		line-height: 1.12 !important;
		overflow-wrap: break-word;
	}

	body.postid-4690 .bf-final-cta-points {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 10px 14px !important;
		max-width: 100% !important;
	}

	body.postid-4690 .bf-final-cta-button {
		display: inline-flex !important;
		max-width: 100% !important;
		align-items: center !important;
		justify-content: center !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		text-align: center;
	}

	/* Articles similaires : une carte par ligne sur telephone. */
	body.postid-4690 .bf-related-grid {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.postid-4690 .bf-related-card,
	body.postid-4690 .bf-related-card > * {
		box-sizing: border-box;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.postid-4690 .bf-related-card {
		width: 100% !important;
		overflow: hidden;
	}

	body.postid-4690 .bf-related-footer {
		width: 100%;
		max-width: 100%;
		align-items: center;
	}
}

@media (max-width: 380px) {
	body.postid-4690 .bf-cta-button {
		gap: 8px !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
		font-size: 0.9rem !important;
	}

	body.postid-4690 .bf-final-cta {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}
