/*========================
* 
* 				Forms
* 
* ======================*/
/* .cta-principal */
.cta-principal .fl-module-content .uabb-module-content button,
.cta-principal .fl-module-content .uabb-module-content button:visited,
.cta-principal .fl-module-content .uabb-module-content button:active,
.cta-principal .fl-module-content .uabb-module-content button:focus,
.cta-principal .fl-module-content .uabb-module-content button:focus-visible {
	background-color: var(--blanc) !important;
	border: 1px solid var(--couleur-principale) !important;
	border-radius: var(--radius-cta-principal) !important;
	transition: all linear 300ms;
	cursor: pointer;
}

/* Focus clavier */
.cta-principal .fl-module-content .uabb-module-content button:focus-visible {
	outline: 3px solid var(--couleur-principale) !important;
	outline-offset: 4px;
}

/* Texte */
.cta-principal .fl-module-content .uabb-module-content button span,
.cta-principal .fl-module-content .uabb-module-content button:visited span,
.cta-principal .fl-module-content .uabb-module-content button:active span,
.cta-principal .fl-module-content .uabb-module-content button:focus span,
.cta-principal .fl-module-content .uabb-module-content button:focus-visible span {
	font-family: var(--typo-secondaire) !important;
	color: var(--couleur-secondaire) !important;
	text-transform: uppercase;
}

/* Hover (desktop uniquement, safe à garder) */
.cta-principal .fl-module-content .uabb-module-content button:hover {
	background-color: var(--blanc) !important;
	border: 1px solid var(--couleur-principale) !important;
}

.cta-principal .fl-module-content .uabb-module-content button:hover span {
	color: var(--couleur-principale) !important;
}

/* Icône */
.cta-principal .fl-module-content .uabb-module-content button .uabb-button-icon {
	color: var(--couleur-principale) !important;
}

.cta-principal .fl-module-content .uabb-module-content button:hover .uabb-button-icon {
	color: var(--couleur-principale) !important;
}
/* Animations sur icones */
[class*="cta-"] .fl-module-content .uabb-module-content button .uabb-button-icon {
	transition: color 300ms linear, transform 300ms linear;
	display: inline-flex;
	align-items: center;
	font-size: 14px;
}

/* Petit mouvement subtil au hover */
[class*="cta-"] .fl-module-content .uabb-module-content button:hover .uabb-button-icon {
	transform: translateX(3px);
}
.gform-theme--framework:where(:not(.gform_editor)) .gfield--type-section {
	border-block-end-color: var(--couleur-principale) !important;
}
.gform_confirmation_message {
	color: var(--couleur-secondaire) !important;
}
/* Accessibilité : réduit les animations */
@media (prefers-reduced-motion: reduce) {
	.cta-principal .fl-module-content .uabb-module-content button {
		transition: none;
	}
}

.gform_required_legend{
	display: none; 	
}
/*Select*/
.gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):where(:not([multiple])):hover {
	background-image: none !important;
}

/* ==========================================================================
GRAVITY FORMS - Style léger Mam'zelle
Classe module : .cs3-module-form
========================================================================== */

.cs3-module-form {
	font-family: var(--typo-secondaire);
	color: var(--couleur-secondaire);
}

/* Conteneur général */
.cs3-module-form .uabb-gf-style {
	padding: 0;
	background: transparent;
}

/* Titre du formulaire */
.cs3-module-form .uabb-gf-form-title {
	margin: 0 0 8px;

	font-family: var(--typo-principale);
	font-size: clamp(28px, 3vw, 42px);
	font-weight: var(--regular);
	line-height: 1.05;

	color: var(--couleur-secondaire);
}

/* Description sous le titre */
.cs3-module-form .uabb-gf-form-desc {
	max-width: 620px;
	margin: 0 0 28px;

	font-family: var(--typo-secondaire);
	font-size: 15px;
	font-weight: var(--regular);
	line-height: 1.55;

	color: rgba(28, 28, 28, 0.68);
}

/* Wrapper Gravity Forms */
.cs3-module-form .gform_wrapper {
	--gf-color-primary: var(--couleur-principale);
	--gf-color-primary-darker: var(--couleur-principale);
	--gf-ctrl-border-color: rgba(28, 28, 28, 0.18);
	--gf-radius: 4px;

	font-family: var(--typo-secondaire);
}

/* Légende champs obligatoires */
.cs3-module-form .gform_required_legend {
	margin: 0 0 18px;

	font-family: var(--typo-secondaire);
	font-size: 12px;
	font-weight: var(--regular);
	line-height: 1.4;

	color: rgba(28, 28, 28, 0.48);
}

/* Espacement entre les champs */
.cs3-module-form .gform_fields {
	row-gap: 20px;
}

/* Labels principaux */
.cs3-module-form .gfield_label,
.cs3-module-form .gform-field-label {
	margin-bottom: 7px;

	font-family: var(--typo-principale) !important;
	font-size: 12px !important;
	font-weight: var(--medium) !important;
	line-height: 1.2;
	letter-spacing: 0.05em;
	text-transform: uppercase;

	color: var(--couleur-secondaire) !important;
}

/* Sous-labels : prénom, nom, confirmation email */
.cs3-module-form .gform-field-label--type-sub {
	margin-top: 6px;

	font-size: 11px !important;
	font-weight: var(--regular) !important;
	letter-spacing: 0.02em;
	text-transform: none;

	color: rgba(28, 28, 28, 0.55) !important;
}

/* Astérisque obligatoire */
.cs3-module-form .gfield_required,
.cs3-module-form .gfield_required_asterisk {
	color: var(--couleur-principale) !important;
}

/* Champs */
.cs3-module-form input[type="text"],
.cs3-module-form input[type="email"],
.cs3-module-form input[type="tel"],
.cs3-module-form input[type="url"],
.cs3-module-form input[type="number"],
.cs3-module-form input[type="password"],
.cs3-module-form select,
.cs3-module-form textarea {
	width: 100%;

	font-family: var(--typo-secondaire) !important;
	font-size: 14px !important;
	font-weight: var(--regular);
	line-height: 1.4;

	color: var(--couleur-secondaire) !important;
	background-color: #fff !important;

	border: 1px solid rgba(28, 28, 28, 0.16) !important;
	border-radius: 4px !important;
	box-shadow: none !important;

	transition:
		border-color 180ms ease,
		background-color 180ms ease,
		box-shadow 180ms ease;
}

/* Hauteur des inputs */
.cs3-module-form input[type="text"],
.cs3-module-form input[type="email"],
.cs3-module-form input[type="tel"],
.cs3-module-form input[type="url"],
.cs3-module-form input[type="number"],
.cs3-module-form input[type="password"] {
	min-height: 46px !important;
	padding: 0 14px !important;
	margin-bottom: 0 !important;
}
.cs3-module-form select {
	margin-bottom: 0 !important;
}
/* Textarea */
.cs3-module-form textarea {
	min-height: 150px !important;
	padding: 13px 14px !important;
	resize: vertical;
	margin-bottom: 0 !important;
}
.fl-node-6n5qg4sfoe9c .uabb-gf-style .gform_wrapper form .gform_body input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file']), .fl-node-6n5qg4sfoe9c .gform_wrapper textarea, .fl-node-6n5qg4sfoe9c .gform_wrapper .gfield .ginput_container select, .fl-node-6n5qg4sfoe9c .gform_wrapper .ginput_container_select .chosen-container-single .chosen-single {
	margin-bottom: 0 !important;
}
/* Placeholder */
.cs3-module-form input::placeholder,
.cs3-module-form textarea::placeholder {
	color: rgba(28, 28, 28, 0.36);
}

/* Focus */
.cs3-module-form input:focus,
.cs3-module-form select:focus,
.cs3-module-form textarea:focus {
	outline: none !important;
	border-color: var(--couleur-principale) !important;
	background-color: #fff !important;
	box-shadow: 0 0 0 3px rgba(220, 175, 164, 0.18) !important;
}

/* Descriptions sous champs */
.cs3-module-form .gfield_description,
.cs3-module-form .ginput_counter {
	margin-top: 7px;

	font-family: var(--typo-secondaire);
	font-size: 12px;
	font-weight: var(--regular);
	line-height: 1.45;

	color: rgba(28, 28, 28, 0.52);
}

/* Messages d'erreur */
.cs3-module-form .gfield_validation_message,
.cs3-module-form .validation_message {
	margin-top: 7px;
	padding: 0;

	font-family: var(--typo-secondaire);
	font-size: 12px;
	font-weight: var(--regular);
	line-height: 1.4;

	color: #b3261e;
	background: transparent;
	border: 0;
}

/* Champ en erreur */
.cs3-module-form .gfield_error input,
.cs3-module-form .gfield_error select,
.cs3-module-form .gfield_error textarea {
	border-color: #b3261e !important;
	box-shadow: 0 0 0 3px rgba(179, 38, 30, 0.08) !important;
}

/* Message général d'erreur */
.cs3-module-form .gform_validation_errors {
	margin: 0 0 22px;
	padding: 14px 16px;

	border: 1px solid rgba(179, 38, 30, 0.22);
	border-radius: 4px;
	background: rgba(179, 38, 30, 0.04);
	box-shadow: none;
}

.cs3-module-form .gform_validation_errors h2 {
	margin: 0;

	font-family: var(--typo-secondaire);
	font-size: 13px;
	font-weight: var(--medium);
	line-height: 1.45;

	color: #b3261e;
}

/* Honeypot Gravity Forms */
.cs3-module-form .gform_validation_container {
	display: none !important;
}

/* Footer du formulaire */
.cs3-module-form .gform-footer,
.cs3-module-form .gform_footer {
	margin-top: 26px !important;
	padding: 0 !important;
}

/* Bouton submit dans structure UABB */
.cs3-module-form .gform-submit-wrapper {
	margin: 0;
}

/* On laisse ton style global .cta-principal faire le gros du travail */
.cs3-module-form .gform-submit-wrapper button.uabb-button {
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

/* Confirmation après envoi */
.cs3-module-form .gform_confirmation_wrapper {
	padding: 18px 20px;

	border: 1px solid rgba(28, 28, 28, 0.12);
	border-radius: 4px;
	background: var(--couleur-bg);
}

.cs3-module-form .gform_confirmation_message {
	font-family: var(--typo-secondaire);
	font-size: 15px;
	font-weight: var(--regular);
	line-height: 1.55;

	color: var(--couleur-secondaire);
}

/* Mobile */
@media (max-width: 768px) {

	.cs3-module-form .uabb-gf-form-title {
		margin-bottom: 6px;
	}

	.cs3-module-form .uabb-gf-form-desc {
		margin-bottom: 22px;
		font-size: 14px;
	}

	.cs3-module-form .gform_fields {
		row-gap: 16px;
	}

	.cs3-module-form input[type="text"],
	.cs3-module-form input[type="email"],
	.cs3-module-form input[type="tel"],
	.cs3-module-form input[type="url"],
	.cs3-module-form input[type="number"],
	.cs3-module-form input[type="password"],
	.cs3-module-form select {
		min-height: 44px !important;
	}

	.cs3-module-form textarea {
		min-height: 130px !important;
	}

	.cs3-module-form .gform-footer,
	.cs3-module-form .gform_footer {
		margin-top: 22px !important;
	}
}

/* ==========================================================================
GRAVITY FORMS - Grille compacte
========================================================================== */

.cs3-module-form .gform-theme--foundation .gform_fields,
.cs3-module-form .gform_wrapper .gform_fields {
	column-gap: 14px !important;
	row-gap: 14px !important;

	--gf-form-gap-y: 14px;
	--gf-form-gap-x: 14px;
}

/* Réduit l’espace interne des champs complexes : prénom / nom, email confirmation */
.cs3-module-form .ginput_complex,
.cs3-module-form .gform-grid-row {
	column-gap: 14px !important;
	row-gap: 12px !important;
}

/* Réduit les marges des champs */
.cs3-module-form .gfield {
	margin: 0 !important;
}

/* Labels plus serrés */
.cs3-module-form .gfield_label,
.cs3-module-form .gform-field-label {
	margin-bottom: 5px !important;
}

/* Sous-labels */
.cs3-module-form .gform-field-label--type-sub {
	margin-top: 5px !important;
	margin-bottom: 0 !important;
}

/* Descriptions */
.cs3-module-form .gfield_description,
.cs3-module-form .ginput_counter {
	margin-top: 5px !important;
}

/* Espacement footer */
.cs3-module-form .gform-footer,
.cs3-module-form .gform_footer {
	margin-top: 18px !important;
}

@media (max-width: 767px) {
	.cs3-module-form .gform-theme--foundation .gform_fields,
	.cs3-module-form .gform_wrapper .gform_fields {
		column-gap: 12px !important;
		row-gap: 12px !important;

		--gf-form-gap-y: 12px;
		--gf-form-gap-x: 12px;
	}
}