/* ============================ /END ============================ */

/* End custom CSS */

.elementor-5058 .elementor-element.elementor-element-a1633ae {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
	--overlay-opacity: 0;
	--margin-top: 0px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--margin-right: 0px;
	--padding-top: 85px;
	--padding-bottom: 100px;
	--padding-left: 20px;
	--padding-right: 20px;
}

.elementor-5058 .elementor-element.elementor-element-a1633ae:not(.elementor-motion-effects-element-type-background), .elementor-5058 .elementor-element.elementor-element-a1633ae > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: var(--e-global-color-primary);
}

.elementor-5058 .elementor-element.elementor-element-a1633ae::before, .elementor-5058 .elementor-element.elementor-element-a1633ae > .elementor-background-video-container::before, .elementor-5058 .elementor-element.elementor-element-a1633ae > .e-con-inner > .elementor-background-video-container::before, .elementor-5058 .elementor-element.elementor-element-a1633ae > .elementor-background-slideshow::before, .elementor-5058 .elementor-element.elementor-element-a1633ae > .e-con-inner > .elementor-background-slideshow::before, .elementor-5058 .elementor-element.elementor-element-a1633ae > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
	background-color: #f9fafa;
	--background-overlay: "";
}

.elementor-5058 .elementor-element.elementor-element-b300ea6 {
	--display: flex;
	--flex-direction: row;
	--container-widget-width: initial;
	--container-widget-height: 100%;
	--container-widget-flex-grow: 1;
	--container-widget-align-self: stretch;
	--flex-wrap-mobile: wrap;
	--justify-content: space-between;
}

.elementor-5058 .elementor-element.elementor-element-433138f {
	--display: flex;
}

.elementor-5058 .elementor-element.elementor-element-8853b64 {
	width: var(--container-widget-width, 80%);
	max-width: 80%;
	--container-widget-width: 80%;
	--container-widget-flex-grow: 0;
	text-align: left;
}

.elementor-5058 .elementor-element.elementor-element-8853b64.elementor-element {
	--align-self: flex-start;
}

.elementor-5058 .elementor-element.elementor-element-8853b64 .elementor-heading-title {
	font-family: var(--e-global-typography-9f6cade-font-family), Manrope;
	font-size: var(--e-global-typography-9f6cade-font-size);
	font-weight: var(--e-global-typography-9f6cade-font-weight);
	line-height: var(--e-global-typography-9f6cade-line-height);
	letter-spacing: var(--e-global-typography-9f6cade-letter-spacing);
	color: var(--e-global-color-d739ef1);
}

.elementor-5058 .elementor-element.elementor-element-210d204 {
	width: var(--container-widget-width, 77%);
	max-width: 77%;
	--container-widget-width: 77%;
	--container-widget-flex-grow: 0;
	text-align: left;
	font-family: var(--e-global-typography-873f3f7-font-family), Manrope;
	font-size: var(--e-global-typography-873f3f7-font-size);
	font-weight: var(--e-global-typography-873f3f7-font-weight);
	line-height: var(--e-global-typography-873f3f7-line-height);
	color: var(--e-global-color-c5d9ee3);
}

.elementor-5058 .elementor-element.elementor-element-210d204 > .elementor-widget-container {
	margin: 0px 0px 0px 0px;
}

.elementor-5058 .elementor-element.elementor-element-210d204.elementor-element {
	--align-self: flex-start;
}

.elementor-5058 .elementor-element.elementor-element-06a07d0 {
	--display: flex;
	--gap: 12px 12px;
	--row-gap: 12px;
	--column-gap: 12px;
}

.elementor-5058 .elementor-element.elementor-element-bdb54c5 {
	--display: flex;
	--flex-direction: row;
	--container-widget-width: initial;
	--container-widget-height: 100%;
	--container-widget-flex-grow: 1;
	--container-widget-align-self: stretch;
	--flex-wrap-mobile: wrap;
	--gap: 10px 10px;
	--row-gap: 10px;
	--column-gap: 10px;
}

.elementor-5058 .elementor-element.elementor-element-859217d img {
	width: 24px;
}

.elementor-5058 .elementor-element.elementor-element-1e8fbfd {
	width: 100%;
	max-width: 100%;
	text-align: left;
	font-family: var(--e-global-typography-873f3f7-font-family), Manrope;
	font-size: var(--e-global-typography-873f3f7-font-size);
	font-weight: var(--e-global-typography-873f3f7-font-weight);
	line-height: var(--e-global-typography-873f3f7-line-height);
	color: #fff;
}

.elementor-5058 .elementor-element.elementor-element-1e8fbfd > .elementor-widget-container {
	margin: 0px 0px 0px 0px;
}

.elementor-5058 .elementor-element.elementor-element-1e8fbfd.elementor-element {
	--align-self: center;
}

.elementor-5058 .elementor-element.elementor-element-1e8fbfd a {
	color: #fff;
}

.elementor-5058 .elementor-element.elementor-element-69c3e59 {
	--display: flex;
	--gap: 5px 5px;
	--row-gap: 5px;
	--column-gap: 5px;
	border-style: solid;
	--border-style: solid;
	border-width: 1px 1px 1px 1px;
	--border-top-width: 1px;
	--border-right-width: 1px;
	--border-bottom-width: 1px;
	--border-left-width: 1px;
	border-color: rgba(255, 255, 255, .64);
	--border-color: rgba(255, 255, 255, .64);
	--border-radius: 16px 16px 16px 16px;
	--margin-top: 20px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--margin-right: 0px;
	--padding-top: 20px;
	--padding-bottom: 20px;
	--padding-left: 20px;
	--padding-right: 20px;
}

.elementor-5058 .elementor-element.elementor-element-69c3e59:not(.elementor-motion-effects-element-type-background), .elementor-5058 .elementor-element.elementor-element-69c3e59 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: var(--e-global-color-c5d9ee3);
}

.elementor-5058 .elementor-element.elementor-element-7d3a334 {
	width: 100%;
	max-width: 100%;
	text-align: left;
	font-family: var(--e-global-typography-873f3f7-font-family), Manrope;
	font-size: var(--e-global-typography-873f3f7-font-size);
	font-weight: var(--e-global-typography-873f3f7-font-weight);
	line-height: var(--e-global-typography-873f3f7-line-height);
	color: var(--e-global-color-primary);
}

.elementor-5058 .elementor-element.elementor-element-7d3a334 > .elementor-widget-container {
	margin: 0px 0px 0px 0px;
}

.elementor-5058 .elementor-element.elementor-element-7d3a334.elementor-element {
	--align-self: flex-start;
}

.elementor-5058 .elementor-element.elementor-element-0ba9c12 {
	width: 100%;
	max-width: 100%;
	text-align: left;
	font-family: var(--e-global-typography-873f3f7-font-family), Manrope;
	font-size: var(--e-global-typography-873f3f7-font-size);
	font-weight: var(--e-global-typography-873f3f7-font-weight);
	line-height: var(--e-global-typography-873f3f7-line-height);
	color: var(--e-global-color-secondary);
}

.elementor-5058 .elementor-element.elementor-element-0ba9c12 > .elementor-widget-container {
	margin: 0px 0px 0px 0px;
}

.elementor-5058 .elementor-element.elementor-element-0ba9c12.elementor-element {
	--align-self: flex-start;
}

.elementor-5058 .elementor-element.elementor-element-7394d29 {
	--display: flex;
	--align-items: flex-end;
	--container-widget-width: calc(( 1 - var(--container-widget-flex-grow) ) * 100%);
}

.elementor-5058 .elementor-element.elementor-element-a131968 {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: calc(( 1 - var(--container-widget-flex-grow) ) * 100%);
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
	--align-items: flex-start;
	--overlay-opacity: 0;
	--margin-top: 0px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--margin-right: 0px;
	--padding-top: 85px;
	--padding-bottom: 100px;
	--padding-left: 20px;
	--padding-right: 20px;
}

.elementor-5058 .elementor-element.elementor-element-a131968:not(.elementor-motion-effects-element-type-background), .elementor-5058 .elementor-element.elementor-element-a131968 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: var(--e-global-color-c5d9ee3);
}

.elementor-5058 .elementor-element.elementor-element-a131968::before, .elementor-5058 .elementor-element.elementor-element-a131968 > .elementor-background-video-container::before, .elementor-5058 .elementor-element.elementor-element-a131968 > .e-con-inner > .elementor-background-video-container::before, .elementor-5058 .elementor-element.elementor-element-a131968 > .elementor-background-slideshow::before, .elementor-5058 .elementor-element.elementor-element-a131968 > .e-con-inner > .elementor-background-slideshow::before, .elementor-5058 .elementor-element.elementor-element-a131968 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
	background-color: #f9fafa;
	--background-overlay: "";
}

.elementor-5058 .elementor-element.elementor-element-65d9fde {
	width: 100%;
	max-width: 100%;
}

.elementor-5058 .elementor-element.elementor-element-5cc810e {
	--display: flex;
	--flex-direction: column;
	--container-widget-width: 100%;
	--container-widget-height: initial;
	--container-widget-flex-grow: 0;
	--container-widget-align-self: initial;
	--flex-wrap-mobile: wrap;
}

:root {
	--page-title-display: none;
}

@media (max-width:1024px) {
	.elementor-5058 .elementor-element.elementor-element-8853b64 .elementor-heading-title {
		font-size: var(--e-global-typography-9f6cade-font-size);
		line-height: var(--e-global-typography-9f6cade-line-height);
		letter-spacing: var(--e-global-typography-9f6cade-letter-spacing);
	}
	
	.elementor-5058 .elementor-element.elementor-element-210d204 {
		font-size: var(--e-global-typography-873f3f7-font-size);
		line-height: var(--e-global-typography-873f3f7-line-height);
	}
	
	.elementor-5058 .elementor-element.elementor-element-1e8fbfd {
		font-size: var(--e-global-typography-873f3f7-font-size);
		line-height: var(--e-global-typography-873f3f7-line-height);
	}
	
	.elementor-5058 .elementor-element.elementor-element-7d3a334 {
		font-size: var(--e-global-typography-873f3f7-font-size);
		line-height: var(--e-global-typography-873f3f7-line-height);
	}
	
	.elementor-5058 .elementor-element.elementor-element-0ba9c12 {
		font-size: var(--e-global-typography-873f3f7-font-size);
		line-height: var(--e-global-typography-873f3f7-line-height);
	}
}

@media (min-width:768px) {
	.elementor-5058 .elementor-element.elementor-element-a1633ae {
		--content-width: 1200px;
	}
	
	.elementor-5058 .elementor-element.elementor-element-a131968 {
		--content-width: 1200px;
	}
}

@media (max-width:767px) {
	.elementor-5058 .elementor-element.elementor-element-a1633ae {
		--padding-top: 60px;
		--padding-bottom: 60px;
		--padding-left: 16px;
		--padding-right: 16px;
	}
	
	.elementor-5058 .elementor-element.elementor-element-8853b64 {
		width: 100%;
		max-width: 100%;
	}
	
	.elementor-5058 .elementor-element.elementor-element-8853b64 .elementor-heading-title {
		font-size: var(--e-global-typography-9f6cade-font-size);
		line-height: var(--e-global-typography-9f6cade-line-height);
		letter-spacing: var(--e-global-typography-9f6cade-letter-spacing);
	}
	
	.elementor-5058 .elementor-element.elementor-element-210d204 {
		width: 100%;
		max-width: 100%;
		font-size: var(--e-global-typography-873f3f7-font-size);
		line-height: var(--e-global-typography-873f3f7-line-height);
	}
	
	.elementor-5058 .elementor-element.elementor-element-1e8fbfd {
		width: 100%;
		max-width: 100%;
		font-size: var(--e-global-typography-873f3f7-font-size);
		line-height: var(--e-global-typography-873f3f7-line-height);
	}
	
	.elementor-5058 .elementor-element.elementor-element-7d3a334 {
		width: 100%;
		max-width: 100%;
		font-size: var(--e-global-typography-873f3f7-font-size);
		line-height: var(--e-global-typography-873f3f7-line-height);
	}
	
	.elementor-5058 .elementor-element.elementor-element-0ba9c12 {
		width: 100%;
		max-width: 100%;
		font-size: var(--e-global-typography-873f3f7-font-size);
		line-height: var(--e-global-typography-873f3f7-line-height);
	}
	
	.elementor-5058 .elementor-element.elementor-element-a131968 {
		--padding-top: 60px;
		--padding-bottom: 60px;
		--padding-left: 16px;
		--padding-right: 16px;
	}
}

/* Start custom CSS for html, class: .elementor-element-332bcf5 */

/* ================= OFA ================= */

/* Typo */
@import url("https://cdn-ilbbbol.nitrocdn.com/bGPgmNkEoLJJjXCBKtFLWxVwttKtfPAz/assets/static/source/rev-99eed72/fonts.googleapis.com/8c6e6311ea0a1f8a4f64f0246aca76b1.css2");

:root {
	--ofa-blue: #1f2c5c;
	--ofa-pink: #da1884;
	--ofa-violet: #280071;
	--ofa-formbg: #f4f5f7;
	--ofa-border: #d1d1d1;
	--ofa-text: #202223;
}

/* ---------- Carte + grille 2 colonnes ---------- */
form.mktoForm {
	width: 100% !important;
	max-width: 56rem !important;
	margin: 0 auto !important;
	font-family: "Montserrat", sans-serif !important;
	color: var(--ofa-text) !important;
	background: var(--ofa-formbg) !important;
	padding: 24px !important;
	border-radius: 12px !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .08) !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
}

/* Colonnage */
.mktoForm .mktoFormRow {
	flex: 1 1 calc(50% - 16px) !important;
	min-width: 260px !important;
}

.mktoForm .mktoFormRow:has(textarea.mktoField), .mktoForm .mktoFormRow:has(.mktoRadioList), .mktoForm .mktoFormRow:has(.mktoCheckboxList), .mktoForm .mktoHtmlText, .mktoForm .mktoButtonRow {
	flex-basis: 100% !important;
}

.mktoForm .mktoGutter {
	display: none !important;
}

.mktoOffset {
	width: 0 !important;
}

/* ---------- Labels + astérisque (après le texte) ---------- */
.mktoForm .mktoLabel {
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	width: 100% !important;
	padding: 6px 0 4px !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	line-height: 1.35 !important;
	color: var(--ofa-blue) !important;
}

.mktoForm .mktoAsterix {
	order: 2 !important;
	margin: 0 !important;
	float: none !important;
	color: var(--ofa-pink) !important;
	font-size: 1.05rem !important;
	line-height: 1 !important;
}

/* ---------- Champs (inputs / selects / textarea) ---------- */
.mktoForm input[type=text], .mktoForm input[type=url], .mktoForm input[type=email], .mktoForm input[type=tel], .mktoForm input[type=number], .mktoForm input[type=date], .mktoForm textarea.mktoField, .mktoForm select.mktoField {
	width: 100% !important;
	min-height: 2.6rem !important;
	padding: 10px 12px !important;
	border: 1px solid var(--ofa-border) !important;
	border-radius: 8px !important;
	background: #fff !important;
	font: 400 1rem/1.3 "Montserrat", sans-serif !important;
	box-sizing: border-box !important;
	transition: border-color .25s ease, box-shadow .25s ease;
}

.mktoForm input:focus, .mktoForm textarea:focus, .mktoForm select:focus {
	border-color: var(--ofa-pink) !important;
	box-shadow: 0 0 0 3px rgba(218, 24, 132, .22) !important;
	outline: none !important;
}

.mktoForm ::placeholder {
	color: #9a9a9a !important;
}

/* ---------- Radios / Checkbox visibles & propres ---------- */
.mktoForm input[type=radio], .mktoForm input[type=checkbox] {
	appearance: auto !important;
	-webkit-appearance: auto !important;
	position: static !important;
	opacity: 1 !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	vertical-align: middle !important;
	accent-color: var(--ofa-violet) !important;
}

/* Oui / Non sur une seule ligne */
.mktoForm .mktoRadioList {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: nowrap !important;
}

.mktoForm .mktoRadioList input[type=radio]+label {
	margin-left: 6px !important;
	white-space: nowrap !important;
}

/* ---------- Consentement : case AVANT texte + étoile à la fin ---------- */

/* Réordonne la ligne qui contient la .mktoCheckboxList (support :has requis) */
.mktoForm .mktoFormRow:has(.mktoCheckboxList) {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin-bottom: 10px !important;
}

.mktoForm .mktoFormRow:has(.mktoCheckboxList) .mktoCheckboxList {
	order: 1 !important;
	margin-top: 2px !important;
}

.mktoForm .mktoFormRow:has(.mktoCheckboxList) .mktoLabel {
	order: 2 !important;
	font-weight: 500 !important;
	font-size: .95rem !important;
	color: #111 !important;
	flex: 1 1 auto !important;
}

/* masque l’astérisque natif… */
.mktoForm .mktoFormRow:has(.mktoCheckboxList) .mktoLabel .mktoAsterix {
	display: none !important;
}

/* …et ajoute l’astérisque à la fin de la phrase */
.mktoForm .mktoFormRow:has(.mktoCheckboxList) .mktoLabel::after {
	content: " *";
	color: var(--ofa-pink);
	font-weight: 600;
	margin-left: 4px;
}

/* ---------- Bouton (rose pilule plein-largeur) ---------- */
.mktoButtonRow, span.mktoButtonWrap, span.mktoButtonWrap.mktoInset {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	margin-top: 10px !important;
	padding: 0 16px !important;
}

.mktoForm button.mktoButton, .mktoForm input[type="submit"], .mktoForm .mktoButtonWrap .mktoButton {
	all: unset;
	display: block !important;
	width: 100% !important;
	height: 52px !important;
	line-height: 52px !important;
	text-align: center !important;
	background: var(--ofa-pink) !important;
	color: #fff !important;
	border-radius: 9999px !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	cursor: pointer !important;
	transition: background .2s ease, transform .05s ease !important;
	background-image: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

.mktoForm button.mktoButton.nitro-lazy, .mktoForm input[type="submit"].nitro-lazy, .mktoForm .mktoButtonWrap .mktoButton.nitro-lazy {
	background-image: none !important;
}

.mktoForm button.mktoButton:hover, .mktoForm input[type="submit"]:hover, .mktoForm .mktoButtonWrap .mktoButton:hover, .mktoForm button.mktoButton:focus, .mktoForm input[type="submit"]:focus, .mktoForm .mktoButtonWrap .mktoButton:focus {
	background: var(--ofa-violet) !important;
}

.mktoForm button.mktoButton:active, .mktoForm input[type="submit"]:active, .mktoForm .mktoButtonWrap .mktoButton:active {
	transform: translateY(1px) !important;
}

/* ---------- Responsive ---------- */
@media (max-width:640px) {
	form.mktoForm {
		gap: 12px !important;
		padding: 20px !important;
	}
	
	.mktoForm .mktoFormRow {
		flex-basis: 100% !important;
	}
	
	.mktoForm .mktoLabel {
		font-size: .95rem !important;
	}
	
	.mktoForm input[type=text], .mktoForm input[type=url], .mktoForm input[type=email], .mktoForm input[type=tel], .mktoForm input[type=number], .mktoForm input[type=date], .mktoForm textarea.mktoField, .mktoForm select.mktoField {
		font-size: .95rem !important;
	}
}

/* ===== Fix bouton "Envoyer" : centré, sans débordement, dans la carte ===== */
form.mktoForm {
	position: relative !important;
	overflow: hidden !important;
}

/* Le conteneur du bouton ne doit pas être positionné/contraint par un thème */
.mktoButtonRow, span.mktoButtonWrap, span.mktoButtonWrap.mktoInset {
	position: static !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	padding: 0 16px !important;
	margin: 12px 0 0 0 !important;
	text-align: center !important;
	overflow: visible !important;
}

/* On force un flux simple et un centrage fiable */
.mktoForm .mktoButtonWrap {
	display: flex !important;
	justify-content: center !important;
}

/* Le bouton prend la largeur utile du conteneur, pas plus */
.mktoForm button.mktoButton, .mktoForm input[type="submit"], .mktoForm .mktoButtonWrap .mktoButton {
	all: unset;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 52px !important;
	line-height: 52px !important;
	text-align: center !important;
	background: #da1884 !important;
	color: #fff !important;
	border-radius: 9999px !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	cursor: pointer !important;
	transition: background .2s ease, transform .05s ease !important;
	background-image: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

.mktoForm button.mktoButton.nitro-lazy, .mktoForm input[type="submit"].nitro-lazy, .mktoForm .mktoButtonWrap .mktoButton.nitro-lazy {
	background-image: none !important;
}

.mktoForm button.mktoButton:hover, .mktoForm input[type="submit"]:hover, .mktoForm .mktoButtonWrap .mktoButton:hover, .mktoForm button.mktoButton:focus, .mktoForm input[type="submit"]:focus, .mktoForm .mktoButtonWrap .mktoButton:focus {
	background: #280071 !important;
}

.mktoForm button.mktoButton:active, .mktoForm input[type="submit"]:active, .mktoForm .mktoButtonWrap .mktoButton:active {
	transform: translateY(1px) !important;
}

/* === Consentement : checkbox AVANT la phrase, sur UNE seule ligne (CSS only) === */

/* 0) Ligne compacte */
.mktoForm .mktoFormRow:has(.mktoCheckboxList) {
	display: block !important;
	margin-bottom: 10px !important;
}

/* 1) On garde le label pour SR, mais on le masque visuellement */
.mktoForm .mktoFormRow:has(.mktoCheckboxList) .mktoLabel {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* 2) La liste (qui contient l'input checkbox) devient inline-flex :
      [checkbox][phrase + *] sur une seule ligne */
.mktoForm .mktoFormRow:has(.mktoCheckboxList) .mktoCheckboxList {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: nowrap !important;
	width: auto !important;
	margin: 0 !important;
}

/* 3) On injecte la phrase APRÈS la checkbox */
.mktoForm .mktoFormRow:has(.mktoCheckboxList) .mktoCheckboxList::after {
	content: "J’autorise Once For All à utiliser mes données à des fins commerciales et promotionnelles *";
	font-size: .95rem !important;
	line-height: 1.35 !important;
	color: #111 !important;
	white-space: normal !important;
}

/* 4) Visibilité/teinte de la case */
.mktoForm .mktoFormRow:has(.mktoCheckboxList) input[type="checkbox"] {
	appearance: auto !important;
	-webkit-appearance: auto !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	accent-color: #280071 !important;
}

/* Suppression de l’espace sous la checkbox (override des 10px précédents) */
.mktoForm .mktoFormRow:has(.mktoCheckboxList) {
	margin-bottom: -16px !important;
}

.mktoButtonRow, span.mktoButtonWrap, span.mktoButtonWrap.mktoInset {
	margin-top: -16px !important;
}

/* Annule le gap entre la case consentement et le bouton */
.mktoButtonRow {
	margin-top: -16px !important;
}

/* Ajuste en mobile où le gap passe à 12px */
@media (max-width:640px) {
	.mktoButtonRow {
		margin-top: -12px !important;
	}
}

/* === 2) COMMENTAIRES : rangée et champ en pleine largeur === */
.mktoForm .mktoFormRow:has(textarea.mktoField) {
	flex-basis: 100% !important;
}

.mktoForm .mktoFormRow:has(textarea.mktoField) .mktoFormCol, .mktoForm .mktoFormRow:has(textarea.mktoField) .mktoFieldWrap, .mktoForm .mktoFormRow:has(textarea.mktoField) .mktoField {
	width: 100% !important;
	max-width: none !important;
	flex: 1 1 100% !important;
}

.mktoForm textarea.mktoField {
	min-height: 120px !important;
}

/* Tél occupe une demi-ligne, comme Prénom/Email */
.mktoForm .mktoFormRow:has(input[type=tel]) {
	flex-basis: calc(50% - 16px) !important;
}

.mktoForm textarea.mktoField {
	line-height: 1.3 !important;
	height: calc(2 * 1.3em + 22px) !important;
	min-height: calc(2 * 1.3em + 22px) !important;
}
