/* SECAM: correctifs cibles, sans masquage global du debordement. */

@media (max-width: 1024px) {
	/* Ces deux widgets du header portent deja les classes hidden-tablet/mobile,
	 * mais leur transformation Elementor conserve une largeur hors ecran. */
	.elementor-element.elementor-element-9652c20,
	.elementor-element.elementor-element-f24084b,
	header.elementor-21579 .elementor-element.elementor-element-af9b4a0,
	header.elementor-21579 .elementor-element.elementor-element-db4fe9c {
		display: none !important;
	}

	.single-inserts .elementor-section,
	.single-inserts .elementor-container,
	.single-inserts .elementor-column,
	.single-inserts .elementor-widget-wrap,
	.single-inserts .elementor-widget-container {
		min-width: 0;
	}

	/* Le tableau garde sa largeur utile, mais son conteneur ne peut plus agrandir la page. */
	.single-inserts .ref {
		display: block !important;
		inline-size: 100% !important;
		max-inline-size: 100% !important;
		min-inline-size: 0 !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-inline: contain;
		scrollbar-gutter: stable;
		contain: inline-size layout paint;
	}

	.single-inserts #content table,
	.single-inserts .ref table {
		display: block !important;
		inline-size: 100% !important;
		min-inline-size: 100% !important;
		max-inline-size: 100% !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-inline: contain;
	}

	.single-inserts .ref:focus-visible {
		outline: 3px solid #08aad0;
		outline-offset: 3px;
	}

	.single-inserts #myDIV1,
	.single-inserts #myDIV2 {
		left: 0 !important;
		margin-left: 0 !important;
	}

	.single-inserts .elementor-widget-image img {
		max-width: 100%;
		height: auto;
	}

	/* Les deux vues techniques gardent leur ratio et leur format source. */
	.single-inserts #imageTech1,
	.single-inserts #imageTech2 {
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden;
	}

	.single-inserts #imageTech1 img,
	.single-inserts #imageTech2 img {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		object-fit: contain;
	}

	/* Confinement limite aux deux sections qui contiennent des medias larges. */
	.single-inserts .elementor-section:has(#imageTech1),
	.single-inserts .elementor-section:has(#imageTech2),
	.single-inserts .elementor-section:has(.ref),
	.single-inserts .elementor-section:has(table),
	.single-inserts .secam-wide-content-section {
		max-width: 100%;
		contain: inline-size layout paint;
		overflow-x: clip;
	}

	/* Les ornements absolus des pages Contact restent dans leur colonne. */
	body:not(.rtl).page-id-71 .elementor-element.elementor-element-3737b29e,
	body:not(.rtl).page-id-52293 .elementor-element.elementor-element-3737b29e,
	body:not(.rtl).page-id-17695 .elementor-element.elementor-element-3737b29e,
	body:not(.rtl).page-id-33689 .elementor-element.elementor-element-3737b29e {
		left: auto !important;
		right: 0 !important;
		max-width: min(100px, calc(100vw - 20px)) !important;
	}

	body.page-id-71 .elementor-element.elementor-element-178de11d,
	body.page-id-52293 .elementor-element.elementor-element-178de11d,
	body.page-id-17695 .elementor-element.elementor-element-178de11d,
	body.page-id-33689 .elementor-element.elementor-element-178de11d {
		left: 0 !important;
		max-width: min(100px, calc(100vw - 20px)) !important;
	}

	/* Le tableau du guide allemand reste lisible au clavier et au toucher. */
	.page-id-17705 .elementor-widget-text-editor:has(table.fr-table-selection-hover) {
		min-width: 0;
		max-width: 100%;
	}

	.page-id-17705 .elementor-widget-text-editor:has(table.fr-table-selection-hover) > .elementor-widget-container {
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-inline: contain;
	}

	.page-id-17705 table.fr-table-selection-hover {
		width: max-content !important;
		min-width: 100% !important;
		max-width: none !important;
	}

	.page-id-17705 .elementor-section:has(table.fr-table-selection-hover) {
		max-width: 100%;
		contain: inline-size layout paint;
		overflow-x: clip;
	}
}

/* SECAM 2026-09-23: confinement du menu mobile allemand sans masquer la page. */
@media (max-width: 767px) {
	.e-n-menu-content .e-n-tabs-mobile,
	.e-n-menu-content .e-n-tabs-mobile .e-n-tabs-heading {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.e-n-menu-content .e-n-tabs-mobile .e-n-tab-title {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		white-space: normal;
		overflow-wrap: anywhere;
	}
}

@media (max-width: 767px) {
	.page-id-406 .elementor-form-fields-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		contain: inline-size layout paint;
	}

	.page-id-406 .elementor-widget-form,
	.page-id-406 .elementor-widget-form > .elementor-widget-container,
	.page-id-406 form.elementor-form {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.page-id-406 .elementor-field-group {
		padding-left: 5px !important;
		padding-right: 5px !important;
	}

	/* Les visuels de contenu restent fluides, sans toucher aux logos du header. */
	.page-id-20551 main .elementor-widget-image,
	.page-id-32724 main .elementor-widget-image,
	.page-id-20551 #main .elementor-widget-image,
	.page-id-32724 #main .elementor-widget-image {
		max-width: 100% !important;
	}

	.page-id-20551 main .elementor-widget-image img,
	.page-id-32724 main .elementor-widget-image img,
	.page-id-20551 #main .elementor-widget-image img,
	.page-id-32724 #main .elementor-widget-image img {
		display: block;
		width: 100%;
		max-width: 100%;
		height: auto;
	}

	.page-id-20551 .elementor-widget-spacer.elementor-absolute,
	.page-id-32724 .elementor-widget-spacer.elementor-absolute {
		max-width: calc(100vw - 20px) !important;
	}

	.page-id-20551 .elementor-headline-dynamic-wrapper,
	.page-id-32724 .elementor-headline-dynamic-wrapper {
		max-width: calc(100vw - 30px);
		white-space: normal !important;
	}

	.page-id-20551 .elementor-headline-dynamic-text,
	.page-id-32724 .elementor-headline-dynamic-text {
		display: inline-block;
		max-width: calc(100vw - 60px);
		font-size: 48px !important;
		line-height: 1.1 !important;
		white-space: normal !important;
		overflow-wrap: anywhere;
	}

	.page-id-20551 .elementor-headline-dynamic-wrapper svg,
	.page-id-32724 .elementor-headline-dynamic-wrapper svg {
		max-width: calc(100vw - 50px) !important;
	}

	/* Les cartes de familles sont en demi-colonne sur mobile. */
	.page-id-20551 a:has(> img.wp-image-20935),
	.page-id-20551 a:has(> img.wp-image-20929),
	.page-id-32724 a:has(> img.wp-image-36750),
	.page-id-32724 a:has(> img.wp-image-36738) {
		display: block;
		width: 100%;
		max-width: calc(50vw - 20px) !important;
	}

	.page-id-20551 img.wp-image-20935,
	.page-id-20551 img.wp-image-20929,
	.page-id-32724 img.wp-image-36750,
	.page-id-32724 img.wp-image-36738 {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}
}
