.elementor-widget-container .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-container .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-3641 .elementor-element.elementor-element-9753e54{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-widget-jet-form-builder-form .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-jet-form-builder-form .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-3641 .elementor-element.elementor-element-29788bf .jet-form-builder__label{text-align:left;}.elementor-3641 .elementor-element.elementor-element-29788bf .jet-form-builder__desc{text-align:left;}.elementor-3641 .elementor-element.elementor-element-29788bf .jet-form-builder__fields-group{gap:0.7em 0.7em;}.elementor-3641 .elementor-element.elementor-element-29788bf .jet-form-builder__field-wrap.checkradio-wrap span{gap:8px;}.elementor-3641 .elementor-element.elementor-element-29788bf .jet-form-builder input{color-scheme:normal;}.elementor-3641 .elementor-element.elementor-element-29788bf .jet-form-builder-repeater__row-remove{align-self:flex-start;}.elementor-3641 .elementor-element.elementor-element-29788bf .jet-form-builder .jet-apb-calendar-slots__close{font-size:35px;top:10px;right:10px;}.elementor-3641 .elementor-element.elementor-element-29788bf .jet-form-builder__action-button{transition:all 0.3s;}.elementor-3641 .elementor-element.elementor-element-29788bf .jet-form-builder__next-page-wrap{text-align:left;}.elementor-3641 .elementor-element.elementor-element-29788bf .jet-form-builder-message--success{text-align:center;}.elementor-3641 .elementor-element.elementor-element-29788bf .jet-form-builder-message--error{text-align:center;}#elementor-popup-modal-3641 .dialog-widget-content{animation-duration:0.5s;background-color:var( --e-global-color-3c0d4bb );border-radius:16px 16px 16px 16px;box-shadow:2px 8px 23px 3px rgba(31, 26.000000000000004, 20, 0.1);}#elementor-popup-modal-3641{background-color:#1F1A14CC;justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-3641 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-3641 .dialog-close-button{display:flex;font-size:22px;}#elementor-popup-modal-3641 .dialog-close-button i{color:var( --e-global-color-1f1c726 );}#elementor-popup-modal-3641 .dialog-close-button svg{fill:var( --e-global-color-1f1c726 );}@media(max-width:767px){#elementor-popup-modal-3641 .dialog-message{width:90vw;}}/* Start custom CSS for jet-form-builder-form, class: .elementor-element-29788bf *//* =========================================================
   Dropzone JetFormBuilder - charte Fauteuil Libre
   Champ : photo_de_couverture (field-type-media-field)
   ========================================================= */

.field-type-media-field{
	--fl-orange:#E36A1C;
	--fl-orange-dark:#D9682F;
	--fl-orange-soft:rgba(232,119,63,.30);
	--fl-orange-ghost:rgba(227,106,28,.10);
	--fl-cream:#FBF7EE;
	--fl-cream-2:#F6F1E7;
	--fl-sand:#F8E8D4;
	--fl-sand-2:#F1DBC4;
	--fl-ink:#1F1A14;
	--fl-text:#5A4F46;
	--fl-muted:#8A7E72;
	--fl-line:rgba(31,26,20,.14);
	font-family:'Inter',sans-serif;
}

/* ---------- Label ---------- */
.field-type-media-field .jet-form-builder__label{
	margin-bottom:10px;
}
.field-type-media-field .jet-form-builder__label-text{
	font-family:'Inter',sans-serif;
	font-size:12px;
	font-weight:500;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--fl-muted);
}

/* ---------- Conteneur ---------- */
.field-type-media-field .jet-form-builder-file-upload{
	position:relative;
	display:flex;
	flex-direction:column;
	gap:12px;
}
.field-type-media-field .jet-form-builder-file-upload__content{
	order:2;
	/* JetFormBuilder impose min-height:100px / min-width:100px / inline-flex
	   sur ce conteneur : c'est ce qui creait le grand vide sous la zone. */
	min-height:0;
	min-width:0;
	width:100%;
	display:block;
	position:relative;
}
.field-type-media-field .jet-form-builder-file-upload__fields{
	order:1;
}
.field-type-media-field .jet-form-builder-file-upload__message{
	order:3;
}
.field-type-media-field .jet-form-builder-file-upload__errors{
	order:4;
}

/* ---------- Zone de drop ---------- */
.field-type-media-field .jet-form-builder-file-upload__fields{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:14px;
	min-height:190px;
	padding:34px 24px;
	text-align:center;
	border:1.5px dashed var(--fl-orange-soft);
	border-radius:22px;
	background:linear-gradient(180deg,var(--fl-cream) 0%,var(--fl-cream-2) 100%);
	transition:border-color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease;
}

/* Icone */
.field-type-media-field .jet-form-builder-file-upload__fields::before{
	content:'';
	flex:none;
	width:58px;
	height:58px;
	border-radius:50%;
	background:var(--fl-sand) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23E36A1C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
	transition:transform .25s ease,background-color .25s ease;
}

/* Texte principal */
.field-type-media-field .jet-form-builder-file-upload__fields::after{
	content:'Glissez votre photo ici\A ou cliquez pour parcourir';
	white-space:pre-line;
	font-family:'Inter',sans-serif;
	font-size:15px;
	font-weight:500;
	line-height:1.6;
	letter-spacing:.01em;
	color:var(--fl-text);
}

/* Input natif : invisible mais plein cadre, gere le clic ET le drop */
.field-type-media-field .jet-form-builder-file-upload__input,
.field-type-media-field input.file-field[type="file"]{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	opacity:0;
	cursor:pointer;
	z-index:2;
}

/* Etats */
.field-type-media-field .jet-form-builder-file-upload__fields:hover,
.field-type-media-field .jet-form-builder-file-upload__fields:focus-within{
	border-color:var(--fl-orange);
	background:linear-gradient(180deg,var(--fl-cream-2) 0%,var(--fl-sand) 100%);
	box-shadow:0 14px 28px -18px rgba(232,119,63,.55);
	transform:translateY(-1px);
}
.field-type-media-field .jet-form-builder-file-upload__fields:hover::before{
	transform:translateY(-3px);
	background-color:var(--fl-sand-2);
}
.field-type-media-field .jet-form-builder-file-upload__fields.is-dragover{
	border-style:solid;
	border-color:var(--fl-orange);
	background:linear-gradient(180deg,var(--fl-sand) 0%,var(--fl-sand-2) 100%);
	box-shadow:0 0 0 4px var(--fl-orange-ghost);
}
.field-type-media-field .jet-form-builder-file-upload__fields.is-dragover::after{
	content:'Déposez le fichier';
	color:var(--fl-orange-dark);
}

/* ---------- Etat : un fichier est charge ---------- */
.field-type-media-field .jet-form-builder-file-upload.has-file .jet-form-builder-file-upload__content{
	order:1;
}
.field-type-media-field .jet-form-builder-file-upload.has-file .jet-form-builder-file-upload__fields{
	order:2;
}
.field-type-media-field .jet-form-builder-file-upload.has-file .jet-form-builder-file-upload__fields{
	flex-direction:row;
	justify-content:center;
	gap:10px;
	min-height:0;
	padding:14px 20px;
	border-radius:100px;
}
.field-type-media-field .jet-form-builder-file-upload.has-file .jet-form-builder-file-upload__fields::before{
	width:30px;
	height:30px;
	background-size:16px 16px;
}
.field-type-media-field .jet-form-builder-file-upload.has-file .jet-form-builder-file-upload__fields::after{
	content:'Remplacer la photo';
	font-size:14px;
	letter-spacing:.04em;
}

/* ---------- Apercu du fichier ----------
   Rappel : JetFormBuilder ne met pas de <img>, il pose l'apercu
   en background-image sur .jet-form-builder-file-upload__file (100x100). */
.field-type-media-field .jet-form-builder-file-upload__files{
	display:grid;
	grid-template-columns:1fr;
	gap:12px;
}
.field-type-media-field .jet-form-builder-file-upload__files:empty{
	display:none;
}
/* Apercu pleine largeur, adapte a une photo de couverture (max_files: 1).
   Pour une grille de vignettes carrees a la place, remplacer par :
   grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); et height:112px; */
.field-type-media-field .jet-form-builder-file-upload__file{
	width:100%;
	height:190px;
	margin:0;
	border-radius:20px;
	border:1px solid var(--fl-line);
	background-color:var(--fl-cream-2);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	box-shadow:0 16px 32px -24px rgba(31,26,20,.85);
	overflow:hidden;
	transition:transform .25s ease,box-shadow .25s ease;
}
.field-type-media-field .jet-form-builder-file-upload__file:hover{
	transform:translateY(-2px);
	box-shadow:0 20px 36px -22px rgba(31,26,20,.7);
}

/* Bouton supprimer : pastille ronde en haut a droite */
.field-type-media-field .jet-form-builder-file-upload__file-remove{
	position:absolute;
	top:8px;
	right:8px;
	bottom:auto;
	left:auto;
	width:32px;
	height:32px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:rgba(31,26,20,.55);
	backdrop-filter:blur(4px);
	opacity:0;
	transform:scale(.9);
	cursor:pointer;
	transition:opacity .2s ease,transform .2s ease,background .2s ease;
}
.field-type-media-field .jet-form-builder-file-upload__file:hover .jet-form-builder-file-upload__file-remove,
.field-type-media-field .jet-form-builder-file-upload__file:focus-within .jet-form-builder-file-upload__file-remove{
	opacity:1;
	transform:scale(1);
}
.field-type-media-field .jet-form-builder-file-upload__file-remove:hover{
	background:var(--fl-orange);
}
.field-type-media-field .jet-form-builder-file-upload__file-remove svg{
	width:14px;
	height:14px;
}
.field-type-media-field .jet-form-builder-file-upload__file-remove svg path{
	fill:#fff;
}
/* Ecrans tactiles : le bouton reste visible */
@media (hover:none){
	.field-type-media-field .jet-form-builder-file-upload__file-remove{
		opacity:1;
		transform:none;
	}
}

/* Marqueur fichier invalide */
.field-type-media-field .jet-form-builder-file-upload__file-invalid-marker svg{
	color:#C0442A;
}

/* ---------- Loader ----------
   JetFormBuilder le pose en overlay absolu sur .__content et le passe
   en display:flex via la classe .is-loading. On ne touche jamais au display,
   on ne fait que l'habiller. */
.field-type-media-field .jet-form-builder-file-upload__loader{
	inset:0;
	border-radius:20px;
	background:rgba(31,26,20,.45);
	backdrop-filter:blur(2px);
}
.field-type-media-field .jet-form-builder-file-upload__loader svg{
	width:30px;
	height:30px;
	stroke:#fff;
}

/* ---------- Message et erreurs ---------- */
.field-type-media-field .jet-form-builder-file-upload__message small{
	display:block;
	text-align:center;
	font-size:12px;
	letter-spacing:.02em;
	color:var(--fl-muted);
}
.field-type-media-field .jet-form-builder-file-upload__errors{
	padding:10px 14px;
	border-radius:14px;
	background:rgba(192,68,42,.08);
	color:#C0442A;
	font-size:13px;
	text-align:center;
}
.field-type-media-field .jet-form-builder-file-upload__errors.is-hidden{
	display:none;
}

/* ---------- Mobile ---------- */
@media (max-width:767px){
	.field-type-media-field .jet-form-builder-file-upload__fields{
		min-height:160px;
		padding:26px 18px;
		border-radius:18px;
	}
	.field-type-media-field .jet-form-builder-file-upload__fields::after{
		font-size:14px;
	}
}

/* ---------- Bouton d'envoi du formulaire ----------
   OceanWP impose un vert via "body button", d'ou le !important
   et le prefixe body pour passer devant. */
body button.jet-form-builder__submit,
body button.jet-form-builder__action-button{
	font-family:'Inter',sans-serif;
	font-size:14px;
	font-weight:500;
	letter-spacing:.04em;
	text-transform:none;
	color:#fff !important;
	background:#E36A1C !important;
	border:1px solid #E36A1C !important;
	border-radius:100px;
	padding:16px 32px;
	box-shadow:0 10px 15px -3px rgba(232,119,63,.35);
	cursor:pointer;
	transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}
body button.jet-form-builder__submit:hover,
body button.jet-form-builder__action-button:hover{
	background:#D9682F !important;
	border-color:#D9682F !important;
	color:#fff !important;
	transform:translateY(-1px);
	box-shadow:0 14px 20px -6px rgba(232,119,63,.45);
}/* End custom CSS */