/* Formulaire de contact Forminator 2065 — habillage.
 *
 * Mis en file par MDLM_Forminator_Form_Assets, uniquement là où le formulaire
 * 2065 est rendu. Anciennement : CSS personnalisé du widget Elementor
 * « shortcode » de la page Contact (préfixe `selector` retiré).
 *
 * PORTÉE STRICTE. Toute règle part de :
 * - #forminator-module-2065 — le formulaire ;
 * - .forminator-select-dropdown.forminator-custom-form-2065 — la liste Select2
 *   ouverte, que Forminator injecte sous <body>, HORS du formulaire, avec la
 *   classe du formulaire qui l'ouvre ;
 * - #forminator-module-2065 ~ .forminator-edit-module — le lien « Edit form »
 *   que Forminator rend juste après </form>, pour ses seuls gestionnaires.
 * Aucune règle ne vise le formulaire d'adhésion 835, ni Select2 en général.
 *
 * Les !important sont hérités de la version Elementor : ils l'emportent sur la
 * feuille générée par Forminator (style-2065.css, sélecteurs plus lourds) et
 * sur le thème. Les ajouts de 1.8.19 suivent la même convention.
 *
 * AUCUN JavaScript : les libellés de la zone de dépôt sont remplacés en CSS
 * (texte natif ramené à une taille nulle). Le bloc de messages de Forminator
 * est aria-hidden : le nom accessible du champ reste son libellé.
 *
 * Badge reCAPTCHA : feuille partagée mdlm-forminator-recaptcha.css.
 */


/* ══ 1. FORMULAIRE ═════════════════════════════════════════════════════════ */

#forminator-module-2065 {
	margin: 0 !important;
	padding: 0 !important;
	font-family: "Nunito Sans", sans-serif !important;
}


/* ══ 2. ESPACEMENTS ════════════════════════════════════════════════════════ */

#forminator-module-2065 .forminator-row {
	margin-bottom: 18px !important;
}

#forminator-module-2065 .forminator-row-last {
	margin-top: 2px !important;
	margin-bottom: 0 !important;
}

#forminator-module-2065 .forminator-field {
	margin: 0 !important;
}


/* ══ 3. LABELS ═════════════════════════════════════════════════════════════ */

#forminator-module-2065 .forminator-label {
	display: block !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: #0B3D82 !important;
}

#forminator-module-2065 .forminator-required {
	color: #EF2024 !important;
}


/* ══ 4. CHAMPS TEXTE ═══════════════════════════════════════════════════════ */

#forminator-module-2065 .forminator-input {
	width: 100% !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	background: #FFFFFF !important;
	border: 1px solid #B8C9DB !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	outline: none !important;
	box-sizing: border-box !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #0B3D82 !important;
	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		background-color .2s ease !important;
}

/* Placeholders. */
#forminator-module-2065 .forminator-input::placeholder,
#forminator-module-2065 .forminator-textarea::placeholder {
	color: #7F96B5 !important;
	opacity: 1 !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
}

/* Survol (1.8.19) : même langage que les listes. */
#forminator-module-2065 .forminator-input:hover,
#forminator-module-2065 .forminator-textarea:hover {
	background: #F7FBFF !important;
	border-color: #178FE6 !important;
}

/* Focus : fond blanc et halo — reste distinct du survol. */
#forminator-module-2065 .forminator-input:focus,
#forminator-module-2065 .forminator-textarea:focus {
	background: #FFFFFF !important;
	border-color: #178FE6 !important;
	box-shadow: 0 0 0 3px rgba(23,143,230,.10) !important;
	outline: none !important;
}


/* ══ 5. MESSAGE ════════════════════════════════════════════════════════════ */

#forminator-module-2065 .forminator-textarea {
	width: 100% !important;
	min-height: 140px !important;
	margin: 0 !important;
	padding: 11px 12px !important;
	resize: vertical !important;
	background: #FFFFFF !important;
	border: 1px solid #B8C9DB !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	outline: none !important;
	box-sizing: border-box !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: #0B3D82 !important;
	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		background-color .2s ease !important;
}

/* Compteur 0 / 1500. */
#forminator-module-2065 #textarea-1 .forminator-description {
	display: block !important;
	width: 100% !important;
	margin: 0 0 5px 0 !important;
	padding: 0 !important;
	text-align: right !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	color: #50677F !important;
}


/* ══ 6. LISTES — CHAMP FERMÉ (select-1 Sujet, select-2 École, select-3 Classe) */

#forminator-module-2065 .select2-container.forminator-select {
	width: 100% !important;
}

#forminator-module-2065 .select2-container .select2-selection--single {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	height: 42px !important;
	min-height: 42px !important;
	margin: 0 !important;
	padding: 0 42px 0 12px !important;
	background: #FFFFFF !important;
	border: 1px solid #B8C9DB !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	outline: none !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	transition:
		border-color .2s ease,
		box-shadow .2s ease,
		background-color .2s ease !important;
}

#forminator-module-2065 .select2-selection--single .select2-selection__rendered {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 40px !important;
	color: #0B3D82 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

#forminator-module-2065 .select2-selection__placeholder {
	color: #7F96B5 !important;
}

#forminator-module-2065 .select2-selection__arrow {
	position: absolute !important;
	top: 50% !important;
	right: 13px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 18px !important;
	height: 18px !important;
	transform: translateY(-50%) !important;
	color: #50677F !important;
}

#forminator-module-2065 .forminator-icon-chevron-down {
	color: #50677F !important;
	transition: color .2s ease, transform .2s ease !important;
}

#forminator-module-2065 .select2-selection--single:hover {
	background: #F7FBFF !important;
	border-color: #178FE6 !important;
}

/* Ouvert, ou focus clavier (Select2 rend la sélection focalisable). */
#forminator-module-2065 .select2-container--open .select2-selection--single,
#forminator-module-2065 .select2-container--focus .select2-selection--single,
#forminator-module-2065 .select2-selection--single:focus {
	background: #FFFFFF !important;
	border-color: #178FE6 !important;
	border-radius: 6px !important;
	box-shadow: 0 0 0 3px rgba(23,143,230,.10) !important;
	outline: none !important;
}

#forminator-module-2065 .select2-container--open .forminator-icon-chevron-down {
	color: #178FE6 !important;
	transform: rotate(180deg) !important;
}


/* ══ 7. LISTES — MENU OUVERT (hors formulaire, sous <body>) ════════════════
 *
 * Select2 injecte le menu dans un conteneur sous <body>. Forminator lui pose
 * `forminator-select-dropdown forminator-custom-form-2065` : cette paire est
 * la seule portée employée. Largeur écrite en ligne par Select2 = largeur du
 * champ, donc jamais plus large que l'écran. Aucun `display` n'est posé :
 * ouverture et fermeture restent celles de Select2.
 */

.forminator-select-dropdown.forminator-custom-form-2065 {
	margin-top: 4px !important;
	padding: 4px !important;
	background: #FFFFFF !important;
	border: 1px solid #B8C9DB !important;
	border-radius: 6px !important;
	box-shadow: 0 8px 24px rgba(11,61,130,.12) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

/* Menu ouvert vers le haut, faute de place sous le champ (classe de la copie
   Select2 de Forminator, FUIselect2). */
.forminator-select-dropdown.forminator-custom-form-2065.forminator-select-dropdown--above {
	margin-top: 0 !important;
	margin-bottom: 4px !important;
}

.forminator-select-dropdown.forminator-custom-form-2065 .select2-search--hide {
	display: none !important;
}

.forminator-select-dropdown.forminator-custom-form-2065 .select2-results {
	margin: 0 !important;
	padding: 0 !important;
	background: #FFFFFF !important;
	border: 0 !important;
}

/* Défilement : barre fine et discrète. Confort seul — le menu défile sans. */
.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__options {
	margin: 0 !important;
	padding: 0 !important;
	background: #FFFFFF !important;
	scrollbar-width: thin;
	scrollbar-color: #B8C9DB transparent;
}

.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__options::-webkit-scrollbar {
	width: 6px;
}

.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__options::-webkit-scrollbar-track {
	background: transparent;
}

.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__options::-webkit-scrollbar-thumb {
	background: #B8C9DB;
	border-radius: 3px;
}

.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__options::-webkit-scrollbar-thumb:hover {
	background: #7F96B5;
}

.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__options:hover {
	scrollbar-color: #7F96B5 transparent;
}

/* Options. Le libellé revient à la ligne plutôt que de déborder. */
.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__option,
.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__option span {
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #0B3D82 !important;
}

.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__option {
	display: block !important;
	margin: 0 !important;
	padding: 10px 12px !important;
	background: #FFFFFF !important;
	border-radius: 4px !important;
	line-height: 1.35 !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	cursor: pointer !important;
	transition: background-color .15s ease, color .15s ease !important;
}

/* Survol et navigation clavier. */
.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__option--highlighted,
.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__option--highlighted span {
	background: #EAF5FE !important;
	color: #0B3D82 !important;
}

/* Option retenue. #0B74C2 plutôt que #178FE6 : blanc sur #178FE6 n'atteint
   pas le contraste AA (3,4:1), blanc sur #0B74C2 le dépasse. */
.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__option--selected,
.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__option--selected span {
	background: #0B74C2 !important;
	color: #FFFFFF !important;
	font-weight: 600 !important;
}

/* Option retenue ET survolée (état par défaut à l'ouverture) : un cran plus
   soutenu, toujours bleu. */
.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__option--selected.select2-results__option--highlighted,
.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__option--selected.select2-results__option--highlighted span {
	background: #0A63B0 !important;
	color: #FFFFFF !important;
}

.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__option--disabled {
	color: #7F96B5 !important;
	cursor: default !important;
}


/* ══ 8. IMPORTER UN FICHIER — ZONE DE DÉPÔT (upload-1) ═════════════════════
 *
 * Markup Forminator 1.40.0 : div.forminator-multi-upload[data-element]
 *   > input[type=file] (masqué par Forminator)
 *   + div.forminator-multi-upload-message[aria-hidden]
 *       > span.forminator-icon-upload + p « Drag and Drop (or) <a>Choose Files</a> »
 * Forminator pose .forminator-dragover pendant un glisser, et ouvre le
 * sélecteur au clic sur le lien. Le lien est étendu à toute la zone
 * (pseudo-élément) : un clic n'importe où l'ouvre.
 */

#forminator-module-2065 .forminator-multi-upload {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 140px !important;
	margin: 0 !important;
	padding: 22px 20px !important;
	background: #F7FBFF !important;
	border: 2px dashed #B8C9DB !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	cursor: pointer !important;
	transition:
		border-color .2s ease,
		background-color .2s ease,
		box-shadow .2s ease !important;
}

#forminator-module-2065 .forminator-multi-upload:hover,
#forminator-module-2065 .forminator-multi-upload.forminator-dragover {
	background: #EAF5FE !important;
	border-color: #178FE6 !important;
	box-shadow: 0 0 0 3px rgba(23,143,230,.10) !important;
}

/* Focus clavier : sur le champ fichier comme sur le lien. */
#forminator-module-2065 .forminator-multi-upload:focus-within {
	border-color: #178FE6 !important;
	box-shadow: 0 0 0 3px rgba(23,143,230,.22) !important;
}

#forminator-module-2065 .forminator-multi-upload-message {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
}

/* Icône nuage dans une pastille. */
#forminator-module-2065 .forminator-multi-upload .forminator-multi-upload-message [class*="forminator-icon-"] {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 auto 10px !important;
	background: #EAF5FE !important;
	border-radius: 50% !important;
	color: #178FE6 !important;
	transition: background-color .2s ease !important;
}

#forminator-module-2065 .forminator-multi-upload .forminator-multi-upload-message [class*="forminator-icon-"]::before {
	display: block !important;
	font-size: 22px !important;
	line-height: 1 !important;
	color: #178FE6 !important;
}

#forminator-module-2065 .forminator-multi-upload:hover .forminator-multi-upload-message [class*="forminator-icon-"],
#forminator-module-2065 .forminator-multi-upload.forminator-dragover .forminator-multi-upload-message [class*="forminator-icon-"] {
	background: #FFFFFF !important;
}

/* « Drag and Drop (or) » → « Glissez vos fichiers ici ». */
#forminator-module-2065 .forminator-multi-upload .forminator-multi-upload-message p {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: #0B3D82 !important;
}

#forminator-module-2065 .forminator-multi-upload .forminator-multi-upload-message p::before {
	content: "Glissez vos fichiers ici";
	display: block;
	margin: 0 0 10px 0;
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	color: #0B3D82;
}

/* « Choose Files » → bouton « Choisir des fichiers ». Texte #0B74C2 sur
   blanc : contraste AA. */
#forminator-module-2065 .forminator-multi-upload .forminator-multi-upload-message p a,
#forminator-module-2065 .forminator-multi-upload .forminator-multi-upload-message p a:visited {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 36px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	background: #FFFFFF !important;
	border: 1px solid #178FE6 !important;
	border-radius: 18px !important;
	box-shadow: none !important;
	outline: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-decoration: none !important;
	color: #0B74C2 !important;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease !important;
}

#forminator-module-2065 .forminator-multi-upload .forminator-multi-upload-message p a::after {
	content: "Choisir des fichiers";
	font-family: "Nunito Sans", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

/* Toute la zone ouvre le sélecteur. */
#forminator-module-2065 .forminator-multi-upload .forminator-multi-upload-message p a::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 8px;
}

#forminator-module-2065 .forminator-multi-upload:hover .forminator-multi-upload-message p a,
#forminator-module-2065 .forminator-multi-upload .forminator-multi-upload-message p a:hover,
#forminator-module-2065 .forminator-multi-upload .forminator-multi-upload-message p a:focus-visible {
	background: #0B74C2 !important;
	border-color: #0B74C2 !important;
	color: #FFFFFF !important;
	text-decoration: none !important;
}

#forminator-module-2065 .forminator-multi-upload .forminator-multi-upload-message p a:focus-visible {
	box-shadow: 0 0 0 3px rgba(23,143,230,.30) !important;
}

/* Erreur du champ (nombre de fichiers, taille). */
#forminator-module-2065 .forminator-field.forminator-has_error .forminator-multi-upload {
	border-color: #EF2024 !important;
	background: #FFF8F8 !important;
}


/* ══ 9. FICHIERS SÉLECTIONNÉS ══════════════════════════════════════════════
 *
 * Markup injecté par Forminator : ul.forminator-uploaded-files(.forminator-has-files)
 *   > li.forminator-uploaded-file[#upload-process-…]
 *       > div--content > (div--preview | div--image) + div--text (p--title, p--size)
 *                        + button--delete
 *       + div.forminator-error-message (échec, li.forminator-has_error)
 * La progression est textuelle (« 29% of 1.2 MB » + icône de chargement) :
 * Forminator ne rend aucune barre. L'erreur n'est affichée par Forminator que
 * sur li.forminator-has_error ; aucun `display` n'est touché ici.
 */

#forminator-module-2065 .forminator-uploaded-files {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

#forminator-module-2065 .forminator-uploaded-files.forminator-has-files {
	margin-top: 12px !important;
}

#forminator-module-2065 .forminator-uploaded-file {
	margin: 0 0 8px 0 !important;
	padding: 10px 8px 10px 10px !important;
	background: #FFFFFF !important;
	border: 1px solid #D9E6F2 !important;
	border-radius: 8px !important;
	box-sizing: border-box !important;
	list-style: none !important;
}

#forminator-module-2065 .forminator-uploaded-file:last-child {
	margin-bottom: 0 !important;
}

#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--content {
	align-items: center !important;
	min-width: 0 !important;
}

#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--preview,
#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--image {
	width: 38px !important;
	height: 38px !important;
	background: #EAF5FE !important;
	border: 0 !important;
	border-radius: 6px !important;
	color: #178FE6 !important;
}

#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--preview [class*="forminator-icon-"]::before {
	color: #178FE6 !important;
}

#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--text {
	min-width: 0 !important;
}

/* Nom : revient à la ligne, même sans espace. */
#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--title {
	margin: 0 0 2px 0 !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: #0B3D82 !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}

/* Taille et progression. */
#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--size {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	margin: 0 !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: #50677F !important;
}

#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--size [class*="forminator-icon-"] {
	margin-right: 6px !important;
	color: #178FE6 !important;
}

#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--size .progress-percentage {
	margin-right: 3px !important;
	color: #0B74C2 !important;
}

/* Supprimer : rouge MDLM, cible de 32 px, focus visible. */
#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--delete {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 32px !important;
	width: 32px !important;
	height: 32px !important;
	margin: 0 0 0 8px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	outline: none !important;
	color: #EF2024 !important;
	cursor: pointer !important;
	transition: background-color .2s ease, color .2s ease !important;
}

#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--delete [class*="forminator-icon-"],
#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--delete [class*="forminator-icon-"]::before {
	font-size: 14px !important;
	line-height: 1 !important;
	color: inherit !important;
}

#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--delete:hover {
	background: #FFF1F1 !important;
	color: #C9181C !important;
}

#forminator-module-2065 .forminator-uploaded-file .forminator-uploaded-file--delete:focus-visible {
	background: #FFF1F1 !important;
	color: #C9181C !important;
	box-shadow: 0 0 0 2px #EF2024 !important;
}

/* Fichier refusé (type, taille, limite). */
#forminator-module-2065 .forminator-uploaded-file.forminator-has_error,
#forminator-module-2065 .forminator-uploaded-file.forminator-upload-limit_error {
	background: #FFF8F8 !important;
	border-color: #FFD4D5 !important;
}

#forminator-module-2065 .forminator-uploaded-file.forminator-has_error .forminator-uploaded-file--preview,
#forminator-module-2065 .forminator-uploaded-file.forminator-has_error .forminator-uploaded-file--image {
	background: #FFF1F1 !important;
}

#forminator-module-2065 .forminator-uploaded-file.forminator-has_error .forminator-uploaded-file--preview [class*="forminator-icon-"]::before,
#forminator-module-2065 .forminator-uploaded-file.forminator-has_error .forminator-uploaded-file--size [class*="forminator-icon-"] {
	color: #C9181C !important;
}

#forminator-module-2065 .forminator-uploaded-file .forminator-error-message {
	margin-top: 8px !important;
}


/* ══ 10. BOUTON ENVOYER ════════════════════════════════════════════════════ */

#forminator-module-2065 .forminator-button-submit {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 0 24px 0 50px !important;
	background: #EF2024 !important;
	border: 0 !important;
	border-radius: 24px !important;
	box-shadow: 0 5px 12px rgba(239,32,36,.16) !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: #FFFFFF !important;
	cursor: pointer !important;
	transition:
		background-color .2s ease,
		transform .2s ease,
		box-shadow .2s ease !important;
}

/* Icône avion, dessinée en CSS. */
#forminator-module-2065 .forminator-button-submit::before {
	content: "" !important;
	position: absolute !important;
	left: 20px !important;
	top: 50% !important;
	width: 18px !important;
	height: 16px !important;
	background: #FFFFFF !important;
	clip-path: polygon(
		0 42%,
		100% 0,
		68% 100%,
		49% 61%,
		0 42%
	) !important;
	transform:
		translateY(-50%)
		rotate(-8deg) !important;
	pointer-events: none !important;
	transition: transform .22s ease !important;
}

#forminator-module-2065 .forminator-button-submit::after {
	content: "" !important;
	position: absolute !important;
	left: 26px !important;
	top: 50% !important;
	width: 8px !important;
	height: 2px !important;
	background: #EF2024 !important;
	transform:
		translateY(-50%)
		rotate(-31deg) !important;
	pointer-events: none !important;
	transition:
		background-color .2s ease,
		transform .22s ease !important;
}

#forminator-module-2065 .forminator-button-submit:hover {
	background: #C9181C !important;
	color: #FFFFFF !important;
	transform:
		translateY(-2px)
		scale(1.02) !important;
	box-shadow: 0 8px 17px rgba(239,32,36,.22) !important;
}

#forminator-module-2065 .forminator-button-submit:hover::before {
	transform:
		translate(2px, -55%)
		rotate(-8deg) !important;
}

#forminator-module-2065 .forminator-button-submit:hover::after {
	background: #C9181C !important;
	transform:
		translate(2px, -55%)
		rotate(-31deg) !important;
}

#forminator-module-2065 .forminator-button-submit:focus {
	outline: none !important;
	box-shadow:
		0 0 0 3px rgba(239,32,36,.18),
		0 6px 14px rgba(239,32,36,.18) !important;
}

/* Envoi en cours. */
#forminator-module-2065 .forminator-button-submit.forminator-button-onload {
	opacity: .75 !important;
	cursor: wait !important;
	transform: none !important;
}

/* Désactivé par Forminator pendant un téléversement (1.8.19). */
#forminator-module-2065 .forminator-button-submit[disabled],
#forminator-module-2065 .forminator-button-submit[disabled]:hover {
	opacity: .6 !important;
	cursor: not-allowed !important;
	transform: none !important;
	background: #EF2024 !important;
	box-shadow: none !important;
}

#forminator-module-2065 .forminator-button-submit[disabled]:hover::after {
	background: #EF2024 !important;
}


/* ══ 11. ERREURS ═══════════════════════════════════════════════════════════ */

#forminator-module-2065 .forminator-error-message {
	margin-top: 5px !important;
	padding: 6px 9px !important;
	background: #FFF1F1 !important;
	border: 1px solid #FFD4D5 !important;
	border-radius: 5px !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	color: #C9181C !important;
}

#forminator-module-2065 .forminator-field.forminator-has_error .forminator-input,
#forminator-module-2065 .forminator-field.forminator-has_error .forminator-textarea,
#forminator-module-2065 .forminator-field.forminator-has_error .select2-selection--single {
	border-color: #EF2024 !important;
}

/* Focus d'un champ en erreur : halo rouge, bordure conservée (1.8.19). */
#forminator-module-2065 .forminator-field.forminator-has_error .forminator-input:focus,
#forminator-module-2065 .forminator-field.forminator-has_error .forminator-textarea:focus,
#forminator-module-2065 .forminator-field.forminator-has_error .select2-container--open .select2-selection--single,
#forminator-module-2065 .forminator-field.forminator-has_error .select2-container--focus .select2-selection--single {
	border-color: #EF2024 !important;
	box-shadow: 0 0 0 3px rgba(239,32,36,.12) !important;
}


/* ══ 12. MESSAGES GLOBAUX ══════════════════════════════════════════════════ */

#forminator-module-2065 .forminator-response-message {
	margin: 0 0 18px 0 !important;
	padding: 12px 14px !important;
	border-radius: 8px !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
}

#forminator-module-2065 .forminator-response-message.forminator-error {
	background: #FFF1F1 !important;
	border: 1px solid #FFD4D5 !important;
	color: #C9181C !important;
}

#forminator-module-2065 .forminator-response-message.forminator-success {
	background: #EAF5FE !important;
	border: 1px solid #B8DCF5 !important;
	color: #0B3D82 !important;
}


/* ══ 13. LIEN « EDIT FORM » ════════════════════════════════════════════════
 *
 * Rendu par Forminator juste après </form>, pour les comptes qui peuvent
 * modifier le formulaire. Masqué pour le 2065 seulement : combinateur de
 * frère, jamais une règle globale.
 */

#forminator-module-2065 ~ .forminator-edit-module {
	display: none !important;
}


/* ══ 14. RESPONSIVE ════════════════════════════════════════════════════════ */

@media (max-width: 767px) {

	#forminator-module-2065 .forminator-row {
		margin-bottom: 16px !important;
	}

	#forminator-module-2065 .forminator-label {
		font-size: 13px !important;
	}

	#forminator-module-2065 .forminator-input,
	#forminator-module-2065 .select2-container .select2-selection--single {
		height: 44px !important;
		min-height: 44px !important;
	}

	#forminator-module-2065 .select2-selection--single .select2-selection__rendered {
		line-height: 42px !important;
	}

	#forminator-module-2065 .forminator-textarea {
		min-height: 150px !important;
	}

	#forminator-module-2065 .forminator-button-submit {
		min-height: 46px !important;
		padding: 0 22px 0 48px !important;
		font-size: 13px !important;
	}

	#forminator-module-2065 .forminator-button-submit::before {
		left: 19px !important;
		width: 17px !important;
		height: 15px !important;
	}

	#forminator-module-2065 .forminator-button-submit::after {
		left: 25px !important;
	}

	/* Options : cible tactile plus haute. */
	.forminator-select-dropdown.forminator-custom-form-2065 .select2-results__option {
		padding: 11px 12px !important;
	}

	#forminator-module-2065 .forminator-multi-upload {
		min-height: 128px !important;
		padding: 18px 14px !important;
	}

	#forminator-module-2065 .forminator-multi-upload .forminator-multi-upload-message p::before {
		font-size: 14px;
	}

}

@media (prefers-reduced-motion: reduce) {

	#forminator-module-2065 .forminator-button-submit,
	#forminator-module-2065 .forminator-button-submit::before,
	#forminator-module-2065 .forminator-button-submit::after,
	#forminator-module-2065 .forminator-icon-chevron-down,
	#forminator-module-2065 .forminator-multi-upload {
		transition: none !important;
	}

	#forminator-module-2065 .forminator-button-submit:hover {
		transform: none !important;
	}

}
