/*
 * Formulaires Forminator — styles PARTAGÉS (formulaires 20 et 129).
 *
 * Chargé seulement sur les pages portant [forminator_form] (inc/formulaire.php), et porté par
 * la classe rv-formulaire ajoutée au <form> par le filtre forminator_render_form_design_class.
 * Le spécifique à chaque formulaire (progression, textes, espace sous le bouton) reste dans le
 * champ CSS natif du formulaire.
 *
 * Ces règles reprennent À L'IDENTIQUE ce que Forminator servait réellement le 14/09/2026, y
 * compris son défaut : son préfixeur sortait une partie des @media de leur condition. Les règles
 * marquées « sans condition » s'appliquaient donc déjà sur desktop. Rendu conservé tel quel ;
 * les remettre sous @media changerait le formulaire validé.
 */

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire.forminator-custom-form {
	background: var(--global-palette9) !important;
	border: 1px solid var(--global-palette6) !important;
	border-radius: 18px !important;
	padding: 28px !important;
	box-shadow: 0 12px 40px rgba(20, 31, 26, .08) !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-input,
.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-textarea,
.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-select--field {
	min-height: 52px !important;
	padding: 0 16px !important;
	border: 1.5px solid var(--global-palette6) !important;
	border-radius: 10px !important;
	background: var(--global-palette9) !important;
	font-size: 16px !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-input:focus,
.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-select--field:focus {
	border-color: var(--global-palette1) !important;
	outline: 2px solid rgba(30, 58, 47, .18) !important;
	outline-offset: 1px !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-label {
	font-size: 14px !important;
	font-weight: 600 !important;
	margin-bottom: 8px !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-description {
	margin-top: 6px !important;
	font-size: 12.5px !important;
	line-height: 1.45 !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-field-radio .forminator-field {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 10px !important;
	width: 100% !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-radio {
	display: block !important;
	margin: 0 !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-radio-bullet {
	display: none !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-radio-label {
	display: flex !important;
	align-items: center !important;
	min-height: 52px !important;
	padding: 12px 16px !important;
	border: 1.5px solid var(--global-palette6) !important;
	border-radius: 10px !important;
	background: var(--global-palette9) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	cursor: pointer !important;
	transition: border-color .12s ease, background-color .12s ease !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-radio:hover .forminator-radio-label {
	border-color: var(--global-palette5) !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-radio:has(input:checked) .forminator-radio-label {
	border-color: var(--global-palette1) !important;
	background: var(--global-palette7) !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-radio:has(input:focus-visible) .forminator-radio-label {
	outline: 2px solid var(--global-palette1) !important;
	outline-offset: 2px !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-field-checkbox .forminator-checkbox {
	display: flex !important;
	gap: 12px !important;
	align-items: flex-start !important;
	padding: 16px !important;
	border: 1.5px solid var(--global-palette6) !important;
	border-radius: 12px !important;
	background: var(--global-palette8) !important;
	cursor: pointer !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-field-checkbox .forminator-checkbox-label {
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-field-checkbox input[type="checkbox"] {
	accent-color: var(--global-palette1) !important;
	width: 22px !important;
	height: 22px !important;
	flex: none !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-button-submit,
.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-button-next {
	flex: 1 !important;
	min-height: 54px !important;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--global-palette1) !important;
	color: var(--global-palette9) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-button-submit:hover,
.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-button-next:hover {
	background: var(--global-palette2) !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-button-back {
	min-height: 54px !important;
	padding: 0 18px !important;
	border: 1.5px solid var(--global-palette6) !important;
	border-radius: 10px !important;
	background: var(--global-palette9) !important;
	color: var(--global-palette4) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-field-hidden {
	display: none !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-field-radio .forminator-label {
	grid-column: 1 / -1 !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire.forminator-custom-form {
	position: relative !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-label {
	line-height: 19px !important;
	margin-bottom: 0 !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-radio-label {
	font-size: 15px !important;
	padding-left: 16px !important;
	padding-right: 16px !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-field-radio .forminator-field {
	gap: 10px 10px !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-radio .forminator-radio-label {
	font-size: 15px !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-label {
	margin-bottom: 0 !important;
}

.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-field-radio .forminator-field {
	row-gap: 10px !important;
	column-gap: 10px !important;
}

/* sans condition : sortie de @media par le préfixeur Forminator */
.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-radio-label {
	padding: 9px 12px !important;
	font-size: 14.5px !important;
}

/* sans condition : sortie de @media par le préfixeur Forminator */
.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire.forminator-custom-form::after {
	top: 16px !important;
	right: 16px !important;
	left: auto !important;
}

@media(max-width: 782px) {
	.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire.forminator-custom-form {
		padding: 16px 14px !important;
		border-radius: 16px !important;
	}
}

@media(max-width: 782px) {
	.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-input,
	.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-select--field,
	.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-radio-label {
		min-height: 48px !important;
	}
}

@media(max-width: 782px) {
	.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-field-radio .forminator-field {
		gap: 8px !important;
	}
}

@media(prefers-reduced-motion: reduce) {
	.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire .forminator-radio-label {
		transition: none !important;
	}
}

@media(max-width:767px) {
	.forminator-ui.forminator-custom-form.forminator-design--default.rv-formulaire.forminator-custom-form::before {
		top: 16px !important;
		left: 16px !important;
		right: auto !important;
	}
}

/*
 * Listes déroulantes (Select2). Étaient dans le contenu de chaque page : dans le champ natif,
 * le préfixeur de Forminator réécrit ces sélecteurs en un chemin qui ne correspond plus au DOM.
 * Ici, aucun préfixeur.
 */
.forminator-custom-form.rv-formulaire .select2-container {
	width:100% !important;
}

.forminator-custom-form.rv-formulaire .select2-selection--single {
	height:52px !important;
	background:var(--global-palette9) !important;
	border:1.5px solid var(--global-palette6) !important;
	border-radius:10px !important;
	padding:0 16px !important;
	display:flex !important;
	align-items:center !important;
	box-shadow:none !important;
}

.forminator-custom-form.rv-formulaire .select2-selection__rendered {
	color:var(--global-palette3) !important;
	font-size:16px !important;
	line-height:52px !important;
	padding:0 !important;
	font-weight:400 !important;
}

.forminator-custom-form.rv-formulaire .select2-selection__arrow {
	height:50px !important;
	right:12px !important;
	top:0 !important;
}

.forminator-custom-form.rv-formulaire .select2-container--open .select2-selection--single {
	border-color:var(--global-palette1) !important;
}

.select2-dropdown {
	border:1.5px solid var(--global-palette6) !important;
	border-radius:10px !important;
	overflow:hidden;
}

.select2-results__option--highlighted {
	background:var(--global-palette7) !important;
	color:var(--global-palette3) !important;
}

/* Boutons Précédent / Suivant (13/10/2026) : collés côte à côte sur ordinateur. column-gap seul, pour ne pas
   doubler l espace quand Forminator les empile sur mobile. */
.rv-formulaire .forminator-pagination-footer {
	column-gap: 12px;
}
