/**
 * FormSubmit Elementor — styles proches du Form Elementor
 */

.fse-form {
	--fse-column-gap: 10px;
	--fse-row-gap: 10px;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.fse-form__fields {
	display: flex;
	flex-wrap: wrap;
	width: calc(100% + var(--fse-column-gap));
	max-width: calc(100% + var(--fse-column-gap));
	margin-left: calc(var(--fse-column-gap) / -2);
	margin-right: calc(var(--fse-column-gap) / -2);
	margin-bottom: calc(var(--fse-row-gap) * -1);
	align-items: flex-start;
	box-sizing: border-box;
}

.fse-form__field {
	box-sizing: border-box;
	min-width: 0;
	padding-left: calc(var(--fse-column-gap) / 2);
	padding-right: calc(var(--fse-column-gap) / 2);
	margin-bottom: var(--fse-row-gap);
}

/* Largeurs en flex-basis pour rester côte à côte (comme Elementor Form) */
.fse-form .fse-form__field--w100 { width: 100%; flex: 0 0 100%; max-width: 100%; }
.fse-form .fse-form__field--w80 { width: 80%; flex: 0 0 80%; max-width: 80%; }
.fse-form .fse-form__field--w75 { width: 75%; flex: 0 0 75%; max-width: 75%; }
.fse-form .fse-form__field--w66 { width: 66.666%; flex: 0 0 66.666%; max-width: 66.666%; }
.fse-form .fse-form__field--w60 { width: 60%; flex: 0 0 60%; max-width: 60%; }
.fse-form .fse-form__field--w50 { width: 50%; flex: 0 0 50%; max-width: 50%; }
.fse-form .fse-form__field--w40 { width: 40%; flex: 0 0 40%; max-width: 40%; }
.fse-form .fse-form__field--w33 { width: 33.333%; flex: 0 0 33.333%; max-width: 33.333%; }
.fse-form .fse-form__field--w25 { width: 25%; flex: 0 0 25%; max-width: 25%; }
.fse-form .fse-form__field--w20 { width: 20%; flex: 0 0 20%; max-width: 20%; }

.fse-form__label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35em;
}

.fse-form__required {
	margin-left: 0.15em;
}

.fse-form__control {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.6em 0.8em;
	border: 1px solid #d5d8dc;
	border-radius: 3px;
	background: #fff;
	color: #1f2124;
	font: inherit;
	line-height: 1.4;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.elementor-size-xs.fse-form__control,
.fse-form__control.elementor-size-xs { font-size: 13px; min-height: 33px; }
.elementor-size-sm.fse-form__control,
.fse-form__control.elementor-size-sm { font-size: 15px; min-height: 40px; }
.elementor-size-md.fse-form__control,
.fse-form__control.elementor-size-md { font-size: 16px; min-height: 47px; }
.elementor-size-lg.fse-form__control,
.fse-form__control.elementor-size-lg { font-size: 18px; min-height: 59px; }
.elementor-size-xl.fse-form__control,
.fse-form__control.elementor-size-xl { font-size: 20px; min-height: 72px; }

textarea.fse-form__control {
	min-height: auto;
	resize: vertical;
}

.fse-form__control:focus {
	outline: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.fse-form__control--checkbox {
	width: auto;
	min-height: auto;
	margin: 0.2em 0.45em 0 0;
}

.fse-form__choices {
	display: flex;
	flex-direction: column;
	gap: 0.35em;
}

.fse-form__choice,
.fse-form__acceptance {
	display: flex;
	align-items: flex-start;
	gap: 0.35em;
	cursor: pointer;
	font-weight: 400;
}

.fse-form__actions {
	display: flex;
	width: 100%;
}

.fse-form__submit {
	appearance: none;
	border: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	padding: 12px 24px;
	border-radius: 3px;
	background: #61ce70;
	color: #fff;
	font: inherit;
	font-weight: 500;
	line-height: 1.2;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

.fse-form__submit.elementor-size-xs { font-size: 13px; padding: 10px 20px; }
.fse-form__submit.elementor-size-sm { font-size: 15px; padding: 12px 24px; }
.fse-form__submit.elementor-size-md { font-size: 16px; padding: 15px 30px; }
.fse-form__submit.elementor-size-lg { font-size: 18px; padding: 20px 40px; }
.fse-form__submit.elementor-size-xl { font-size: 20px; padding: 25px 50px; }

.fse-form__submit--stretch,
.fse-form__actions[style*="stretch"] .fse-form__submit {
	width: 100%;
}

.fse-form__submit-content {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
}

.fse-form__submit-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.fse-form__submit:hover {
	background: #4fb85e;
}

.fse-form__submit:disabled {
	opacity: 0.7;
	cursor: wait;
}

.fse-form__submit-loading {
	display: none !important;
}

.fse-form__submit.is-loading .fse-form__submit-content {
	display: none !important;
}

.fse-form__submit.is-loading .fse-form__submit-loading {
	display: inline !important;
}

.fse-form__message {
	margin-top: 0.5em;
	font-weight: 500;
}

.fse-form__honey {
	position: absolute !important;
	left: -9999px !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

@media (max-width: 767px) {
	.fse-form .fse-form__field--w80,
	.fse-form .fse-form__field--w75,
	.fse-form .fse-form__field--w66,
	.fse-form .fse-form__field--w60,
	.fse-form .fse-form__field--w50,
	.fse-form .fse-form__field--w40,
	.fse-form .fse-form__field--w33,
	.fse-form .fse-form__field--w25,
	.fse-form .fse-form__field--w20 {
		width: 100% !important;
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}
}
