/* Lead form — match hero-form design */
.lead-form {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.lead-form .form-group {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin-bottom: 0.75rem;
	width: 100%;
}

/* Prénom + Nom side by side */
.lead-form .form-group:nth-child(1),
.lead-form .form-group:nth-child(2) {
	margin-bottom: 0.75rem;
}

@media (min-width: 480px) {
	.lead-form {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 0.75rem;
		align-items: start;
	}

	.lead-form .form-group:nth-child(1),
	.lead-form .form-group:nth-child(2) {
		grid-column: span 1;
	}

	.lead-form .form-group:nth-child(3),
	.lead-form .form-group:nth-child(4),
	.lead-form .form-submit,
	.lead-form > input[type="hidden"],
	.lead-form > *:not(.form-group):not(.form-submit) {
		grid-column: 1 / -1;
	}

	.lead-form .form-submit {
		grid-column: 1 / -1;
	}
}

.lead-form .form-input {
	background: hsla(0, 0%, 100%, 0.04);
	border: 0.0625rem solid hsla(0, 0%, 100%, 0.1);
	border-radius: 0.5rem;
	color: #fff;
	font-size: 0.9375rem;
	outline: none;
	padding: 0.75rem 1rem;
	transition: border-color 0.2s;
	width: 100%;
	box-sizing: border-box;
	font-family: inherit;
}

.lead-form .form-input::placeholder {
	color: hsla(0, 0%, 100%, 0.35);
}

.lead-form .form-input:focus {
	border-color: rgba(255, 61, 154, 0.5);
}

.lead-form .form-input.is-invalid,
.lead-form .form-group.error .form-input {
	border-color: #ff5c7a;
}

.lead-form .form-error {
	color: #ff5c7a;
	font-size: 0.75rem;
	line-height: 1.3;
	min-height: 0;
	display: block;
}

.lead-form .form-error:empty {
	display: none;
}

.lead-form .form-submit {
	background: linear-gradient(90deg, #ff3d9a, #9b4dff 50%, #7b5cff);
	border: none;
	border-radius: 0.5rem;
	color: #fff;
	cursor: pointer;
	font-size: 1rem;
	font-weight: 600;
	margin-top: 0.25rem;
	padding: 0.9375rem 1.5rem;
	transition: filter 0.2s, transform 0.15s;
	width: 100%;
	font-family: inherit;
}

.lead-form .form-submit:hover {
	filter: brightness(1.08);
}

.lead-form .form-submit:active {
	transform: scale(0.99);
}

.lead-form .form-submit:disabled {
	opacity: 0.65;
	cursor: not-allowed;
	filter: none;
}

/* intl-tel-input inside new form */
.lead-form .iti {
	width: 100%;
	display: block;
}

.lead-form .iti .form-input,
.lead-form .iti input[type="tel"] {
	width: 100%;
}

.lead-form .iti__country-name,
.lead-form .iti__search-input {
	color: #111 !important;
}

.lead-form .iti__search-input {
	padding-left: 30px !important;
}

.final-page__form {
	width: 100%;
}
