/**
 * AVENA — Formulaire de lead
 * Couleurs : voir tokens.css, dont --avena-color-mint (highlight, lien
 * notice, message de statut) — couleur officielle du client (#BAE3CB),
 * remplace les anciennes --avena-color-mint-light/-medium provisoires.
 * Breakpoint 700px = celui du prototype desktop. Le grand "A" reste
 * visible-mais-réduit sur mobile (choix détaillé dans la réponse).
 */
.avena-sim-lead-form {
	/*
	 * max-width fixe retiré (confirmé en DevTools comme cause du décalage/
	 * bande blanche à gauche sur desktop) : Elementor doit rester maître de
	 * la largeur de section/page, ce widget ne fait que remplir son
	 * conteneur parent. Largeur définitive réglée côté Elementor (Content
	 * Width de la Section), pas ici.
	 */
	max-width: 100% !important;
	width: 100%;
	margin: 0 auto !important;
	background: var( --avena-color-ink );
	border-radius: 4px;
	padding: 70px 40px 40px;
	position: relative;
	overflow: hidden;
	font-family: var( --avena-font-family );
	box-sizing: border-box;
}

/*
 * Regroupe titre + texte d'intro + formulaire dans une seule boîte
 * centrée, indépendante de la largeur réelle de .avena-sim-lead-form
 * (celle-ci peut désormais dépasser sa propre max-width si la Section
 * Elementor est élargie manuellement côté éditeur). max-width:640px =
 * même valeur que .avena-sim-lead-form__copy (le plus large des 3 blocs
 * internes), pour que title/copy/form gardent le même bord gauche une
 * fois centrés.
 */
.avena-sim-lead-form__inner {
	max-width: 640px;
	margin: 0 auto;
}

.avena-sim-lead-form__big-a {
	/*
	 * A.svg (Figma officiel, fill #85C695). Rendu en pleine opacité sur
	 * demande client (le filigrane translucide d'origine, opacity 0.14/0.12,
	 * n'était qu'une estimation de prototype — pas la version définitive).
	 */
	position: absolute;
	right: -40px;
	bottom: -30px;
	height: 380px;
	width: auto;
	user-select: none;
	pointer-events: none;
}

.avena-sim-lead-form__title {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 24px;
}

.avena-sim-lead-form__chevron {
	display: inline-flex;
}

.avena-sim-lead-form__chevron svg {
	/* 44px : aligné sur le chevron du titre de la toile (avena-toile.css), demande client. */
	display: block;
	width: 44px;
	height: 44px;
}

.avena-sim-lead-form__chevron path {
	/*
	 * #85C695 exact maquette (même vert clair que le grand "A" et le 1er
	 * paragraphe) — codé en dur comme pour le chevron du hero : tokens.css
	 * ne définit actuellement aucune variable --avena-color-green valant
	 * cette teinte (cf. hero-slider.css pour le détail).
	 */
	fill: #85c695;
}

.avena-sim-lead-form__title h2 {
	color: var( --avena-color-white );
	font-size: 26px;
	font-weight: 800;
	margin: 0;
}

.avena-sim-lead-form__copy {
	max-width: 640px;
	margin-bottom: 32px;
}

.avena-sim-lead-form__copy-highlight {
	color: var( --avena-color-mint );
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 0 12px;
}

.avena-sim-lead-form__copy-body {
	color: var( --avena-color-white );
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	margin: 0;
}

.avena-sim-lead-form__form {
	max-width: 620px;
	position: relative;
	z-index: 1;
}

.avena-sim-lead-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-bottom: 14px;
}

.avena-sim-lead-form__row--single {
	grid-template-columns: 1fr;
}

.avena-sim-lead-form__field input,
.avena-sim-lead-form__field select {
	width: 100%;
	background: var( --avena-color-background );
	border: 1.5px solid transparent;
	border-radius: 8px;
	padding: 13px 14px;
	font-size: 13.5px;
	font-family: inherit;
	color: var( --avena-color-ink );
	outline: none;
	transition: border-color 0.15s ease;
	box-sizing: border-box;
}

.avena-sim-lead-form__field input:focus,
.avena-sim-lead-form__field select:focus {
	border-color: var( --avena-color-primary );
}

.avena-sim-lead-form__field input.is-invalid,
.avena-sim-lead-form__field select.is-invalid {
	border-color: #e07a6b;
}

.avena-sim-lead-form__field select {
	appearance: none;
	background-image: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23104651'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E" );
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 16px;
	padding-right: 32px;
}

.avena-sim-lead-form__consents {
	margin: 18px 0 6px;
}

.avena-sim-lead-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin-bottom: 9px;
}

.avena-sim-lead-form__consent input[type='checkbox'] {
	margin-top: 2px;
	width: 15px;
	height: 15px;
	accent-color: var( --avena-color-primary );
	flex-shrink: 0;
}

.avena-sim-lead-form__consent label {
	color: var( --avena-color-white );
	font-size: 12.5px;
	line-height: 1.5;
}

.avena-sim-lead-form__consent label a {
	color: var( --avena-color-mint );
	text-decoration: underline;
}

.avena-sim-lead-form__consent--required label::after {
	content: ' *';
	color: var( --avena-color-mint );
}

.avena-sim-lead-form__required-note {
	color: var( --avena-color-background );
	font-size: 11px;
	margin: 6px 0 22px;
}

.avena-sim-lead-form__submit {
	background: var( --avena-color-primary, #009e4d ) !important;
	color: var( --avena-color-white, #ffffff ) !important;
	border: 1px solid transparent !important;
	border-radius: 100px;
	padding: 14px 30px;
	font-size: 13.5px;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba( 0, 158, 77, 0.2 );
	transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.avena-sim-lead-form__submit:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.avena-sim-lead-form__submit:disabled:hover {
	background: #ffffff !important;
	color: var( --avena-color-primary, #009e4d ) !important;
	border-color: var( --avena-color-primary, #009e4d ) !important;
	opacity: 0.72;
	transform: scale( 0.97 ) !important;
	box-shadow: 0 4px 12px rgba( 0, 158, 77, 0.18 ) !important;
}

.avena-sim-lead-form__submit:not( :disabled ):hover {
	background: #ffffff !important;
	color: var( --avena-color-primary, #009e4d ) !important;
	border-color: var( --avena-color-primary, #009e4d ) !important;
	box-shadow: 0 4px 12px rgba( 0, 158, 77, 0.18 ) !important;
	transform: scale( 0.97 ) !important;
}

.avena-sim-lead-form__submit:not( :disabled ):focus-visible {
	background: #007f3e !important;
	color: #ffffff !important;
	outline: 3px solid rgba( 133, 198, 149, 0.55 );
	outline-offset: 3px;
}

.avena-sim-lead-form__status {
	margin-top: 14px;
	font-size: 12.5px;
	color: var( --avena-color-mint );
	display: none;
}

.avena-sim-lead-form__status.is-visible {
	display: block;
}

/* Masqué visuellement, lisible par un lecteur d'écran — labels ajoutés en
   sus du prototype (qui n'utilise que des placeholders internes). */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect( 0, 0, 0, 0 );
	white-space: nowrap;
	border: 0;
}

/*
 * Desktop uniquement (symétrique du breakpoint mobile ci-dessous, non
 * touché) — maquette Figma : 1er paragraphe en vert officiel (--avena-color-
 * primary, #009E4D — plus contrasté que --avena-color-mint sur le fond ink),
 * 2e paragraphe en blanc gras (700, au lieu de 600).
 */
@media ( min-width: 701px ) {
	/*
	 * Spec Figma exacte (titre "En savoir plus ?") — couleur #E6F4EF =
	 * --avena-color-background existant (même valeur, teinte claire pas
	 * blanc pur), réutilisé plutôt que codé en dur en second endroit.
	 */
	.avena-sim-lead-form__title h2 {
		color: var( --avena-color-background );
		font-weight: 700;
		font-size: 35px;
		line-height: 1;
		letter-spacing: 0;
	}

	/* #85C695 exact maquette (même vert clair que le grand "A" et le chevron), pas --avena-color-primary. */
	.avena-sim-lead-form__copy-highlight {
		color: #85c695;
	}

	.avena-sim-lead-form__copy-body {
		font-weight: 400;
	}
}

@media ( max-width: 767px ) {
	.avena-sim-lead-form {
		padding: 32px 20px 32px;
	}

	.avena-sim-lead-form__big-a {
		right: -20px;
		bottom: -10px;
		height: 160px !important;
		width: auto !important;
	}

	.avena-sim-lead-form__title {
		gap: 10px;
		margin: 0 0 16px;
	}

	.avena-sim-lead-form__chevron svg {
		width: 18px;
		height: 18px;
	}

	.avena-sim-lead-form__title h2 {
		font-size: 22px;
	}

	.avena-sim-lead-form__copy {
		margin-bottom: 22px;
	}

	.avena-sim-lead-form__copy-highlight,
	.avena-sim-lead-form__copy-body {
		font-size: 20px;
	}

	.avena-sim-lead-form__copy-highlight {
		margin: 0 0 10px;
	}

	.avena-sim-lead-form__row {
		grid-template-columns: 1fr;
		gap: 10px;
		margin-bottom: 10px;
	}

	.avena-sim-lead-form__field input,
	.avena-sim-lead-form__field select {
		padding: 12px 13px;
		font-size: 13px;
	}

	.avena-sim-lead-form__consents {
		margin: 14px 0 4px;
	}

	.avena-sim-lead-form__consent {
		gap: 8px;
		margin-bottom: 10px;
	}

	.avena-sim-lead-form__consent input[type='checkbox'] {
		width: 16px;
		height: 16px;
	}

	.avena-sim-lead-form__consent label {
		font-size: 11.5px;
	}

	.avena-sim-lead-form__required-note {
		font-size: 10.5px;
		margin: 4px 0 18px;
	}

	.avena-sim-lead-form__submit {
		width: 100%;
		padding: 14px 24px;
		font-size: 13px;
	}

	.avena-sim-lead-form__status {
		font-size: 11.5px;
		text-align: center;
	}
}

/* ------------------------------------------------------------------ */
/* 0.1.50 — Envoi réel du formulaire                                   */
/* ------------------------------------------------------------------ */

/* Champ piège (honeypot) : hors écran, jamais visible ni focusable. */
.avena-sim-lead-form__hp {
	position: absolute !important;
	left: -10000px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* Widget Cloudflare Turnstile (si activé dans les réglages). */
.avena-sim-lead-form__turnstile {
	margin: 18px 0 4px;
	min-height: 65px;
}

/* Message d'erreur (même emplacement que le message de succès). */
.avena-sim-lead-form__status.is-error {
	color: #f4a497;
}

.avena-sim-lead-form__field input[aria-invalid='true'],
.avena-sim-lead-form__field select[aria-invalid='true'] {
	border-color: #e07a6b;
}

/* Bouton pendant l'envoi. */
.avena-sim-lead-form__submit[disabled] {
	cursor: not-allowed;
}

