.elementor-12608 .elementor-element.elementor-element-e9a60f5{--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;}.elementor-12608 .elementor-element.elementor-element-e9a60f5:not(.elementor-motion-effects-element-type-background), .elementor-12608 .elementor-element.elementor-element-e9a60f5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-12608 .elementor-element.elementor-element-261f985 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:60px;font-weight:500;text-transform:uppercase;}.elementor-12608 .elementor-element.elementor-element-261f985{margin:17px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-12608 .elementor-element.elementor-element-261f985.elementor-element{--align-self:center;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-field-group{padding-right:calc( 9px/2 );padding-left:calc( 9px/2 );margin-bottom:10px;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-form-fields-wrapper{margin-left:calc( -9px/2 );margin-right:calc( -9px/2 );margin-bottom:-10px;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-field-group.recaptcha_v3-bottomleft, .elementor-12608 .elementor-element.elementor-element-997627c .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-12608 .elementor-element.elementor-element-997627c .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-12608 .elementor-element.elementor-element-997627c .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-12608 .elementor-element.elementor-element-997627c .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-field-group > label{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-field-type-html{padding-bottom:0px;font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-field-group .elementor-field, .elementor-12608 .elementor-element.elementor-element-997627c .elementor-field-subgroup label{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-button{font-family:"Poppins", Sans-serif;font-size:22px;font-weight:500;border-radius:303px 303px 303px 303px;padding:21px 21px 21px 21px;}.elementor-12608 .elementor-element.elementor-element-997627c .e-form__buttons__wrapper__button-next{background-color:#1E38AE;color:#ffffff;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-button[type="submit"]{background-color:#1E38AE;color:#ffffff;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-12608 .elementor-element.elementor-element-997627c .e-form__buttons__wrapper__button-previous{background-color:#1E38AE;color:#ffffff;}.elementor-12608 .elementor-element.elementor-element-997627c .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-12608 .elementor-element.elementor-element-997627c .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-12608 .elementor-element.elementor-element-997627c .elementor-message{font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-12608 .elementor-element.elementor-element-997627c .e-form__indicators__indicator, .elementor-12608 .elementor-element.elementor-element-997627c .e-form__indicators__indicator__label{font-family:"Poppins", Sans-serif;font-weight:500;}.elementor-12608 .elementor-element.elementor-element-997627c{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-primary-color:#1E38AE;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-primary-color:#FFFFFF;--e-form-steps-indicator-active-secondary-color:#1E38AE;--e-form-steps-indicator-completed-primary-color:#132885;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;width:var( --container-widget-width, 66.877% );max-width:66.877%;--container-widget-width:66.877%;--container-widget-flex-grow:0;}.elementor-12608 .elementor-element.elementor-element-997627c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-12608 .elementor-element.elementor-element-adecaf5{--display:flex;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-12608 .elementor-element.elementor-element-261f985{text-align:center;}.elementor-12608 .elementor-element.elementor-element-261f985 .elementor-heading-title{font-size:37px;}.elementor-12608 .elementor-element.elementor-element-997627c{--e-form-steps-divider-width:0px;--e-form-steps-divider-gap:0px;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}}/* Start custom CSS *//* ============================================
   FORMULAIRE IDENTIQUE À LA MAQUETTE
   Cible : .elementor-element-997627c
   ============================================ */

/* 1. Fond gris clair global pour faire ressortir les boîtes blanches */
.elementor-element-997627c {
  background-color: #f7f7f7; /* Gris très clair */
  padding: 40px; /* Espace respiratoire autour du formulaire */
}

/* 2. Lignes noires sous les titres H2 et H3 */
.elementor-element-997627c h2 {
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
  border-bottom: 1px solid #1a1a1a;
  padding-bottom: 15px;
  margin-top: 40px;
  margin-bottom: 30px;
}

.elementor-element-997627c h3 {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1a1a1a;
  border-bottom: 1px solid #1a1a1a;
  padding-bottom: 8px;
  margin-top: 30px;
  margin-bottom: 25px;
}

/* 3. Masquer les titres (labels) au-dessus des champs texte 
   (On laisse le texte à l'intérieur, mais on garde le label pour la photo) */
.elementor-element-997627c .elementor-field-type-text .elementor-field-label,
.elementor-element-997627c .elementor-field-type-email .elementor-field-label,
.elementor-element-997627c .elementor-field-type-tel .elementor-field-label,
.elementor-element-997627c .elementor-field-type-date .elementor-field-label,
.elementor-element-997627c .elementor-field-type-number .elementor-field-label,
.elementor-element-997627c .elementor-field-type-select .elementor-field-label {
  display: none !important;
}

/* 4. Le design des boîtes blanches (carrées, sans bordure) */
.elementor-element-997627c .elementor-field-textual,
.elementor-element-997627c select,
.elementor-element-997627c input[type="text"],
.elementor-element-997627c input[type="date"],
.elementor-element-997627c textarea {
  background-color: #ffffff !important;
  border: none !important; /* Disparition des bordures grises */
  border-radius: 0 !important; /* Coins parfaitement carrés */
  height: 55px !important; /* Boîtes hautes comme la maquette */
  padding: 0 20px !important;
  font-size: 15px !important;
  color: #1a1a1a !important;
  box-shadow: none !important;
}

/* Forcer le texte indicatif (placeholder) à être bien noir */
.elementor-element-997627c .elementor-field-textual::placeholder {
  color: #1a1a1a !important;
  opacity: 1 !important;
}

/* 5. Cacher la petite flèche des menus déroulants (Civilité, Sexe) */
.elementor-element-997627c .elementor-select-wrapper::before,
.elementor-element-997627c .elementor-select-wrapper::after,
.elementor-element-997627c .select-caret-down-wrapper {
  display: none !important;
}

/* 6. Ajouter de l'espace vertical entre les blocs blancs */
.elementor-element-997627c .elementor-field-group {
  margin-bottom: 20px !important;
}

/* Focus pour ne pas avoir de contour bleu par défaut du navigateur */
.elementor-element-997627c .elementor-field-textual:focus,
.elementor-element-997627c select:focus {
  outline: 1px solid #1a1a1a !important;
}
/* === LES GROSSES CASES À COCHER ET LA CHARTE === */

/* 1. Ligne de séparation et espacement entre chaque question de la charte */
.elementor-element-997627c .elementor-field-type-acceptance {
  padding-bottom: 25px;
  margin-bottom: 25px !important;
  border-bottom: 1px solid #1a1a1a;
}

/* 2. Le texte de la charte (ex: "Je m'engage à...") */
.elementor-element-997627c .elementor-field-type-acceptance .elementor-field-label {
  font-size: 15px;
  font-weight: 600; /* Texte en gras comme la maquette */
  color: #1a1a1a;
  display: block !important;
  margin-bottom: 20px;
  line-height: 1.5;
}

/* 3. Alignement horizontal de la case et de son étiquette ("Oui, je m'engage") */
.elementor-element-997627c .elementor-field-option {
  display: flex;
  align-items: center;
}

/* 4. Forcer la taille géante pour TOUTES les cases (Acceptation, Checkbox, Radio) */
.elementor-element-997627c input[type="checkbox"],
.elementor-element-997627c input[type="radio"],
.elementor-element-997627c .elementor-acceptance-field {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 35px !important;
  height: 35px !important;
  min-width: 35px !important;
  border: 1px solid #1a1a1a !important;
  background-color: #ffffff !important;
  cursor: pointer;
  position: relative;
  margin: 0 15px 0 0 !important; /* Espace de 15px entre la case et le texte */
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Le carré noir central quand la case est cochée (CORRIGÉ) */
.elementor-element-997627c input[type="checkbox"]:checked::after,
.elementor-element-997627c input[type="radio"]:checked::after,
.elementor-element-997627c .elementor-acceptance-field:checked::after {
  content: "" !important;
  width: 17px !important;
  height: 17px !important;
  background-color: #1e38ae !important;
  display: block !important;
  /* Centrage absolu forcé */
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* 6. Le texte cliquable à côté de la case ("Oui, je m'engage") */
.elementor-element-997627c .elementor-field-option label {
  font-size: 15px;
  font-weight: 400;
  color: #1a1a1a;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
/* === CORRECTION DES GROUPES DE CASES À COCHER (Sacrements, Logements, etc.) === */

/* 1. Mettre le titre de la question en gras ("Sacrements catholiques...") */
.elementor-element-997627c .elementor-field-type-checkbox &gt; .elementor-field-label,
.elementor-element-997627c .elementor-field-type-radio &gt; .elementor-field-label {
  display: block !important;
  font-size: 15px;
  font-weight: 600; /* Titre en gras */
  color: #1a1a1a;
  margin-bottom: 15px;
}

/* 2. Forcer les options à se mettre en ligne avec un bel espacement */
.elementor-element-997627c .elementor-field-subgroup {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important; /* Permet de passer à la ligne si l'écran est petit */
  gap: 30px 40px !important; /* 30px d'espace vertical, 40px d'espace horizontal */
  margin-top: 0;
}

/* 3. Alignement parfait entre le carré noir et son texte (Baptême, etc.) */
.elementor-element-997627c .elementor-field-option {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important; /* Enlève les marges parasites d'Elementor */
}

/* 4. Marge spécifique entre le carré et le texte pour ces champs */
.elementor-element-997627c .elementor-field-option input[type="checkbox"],
.elementor-element-997627c .elementor-field-option input[type="radio"] {
  margin: 0 12px 0 0 !important;
}
/* === CORRECTION TEXTAREA ET LABELS RESTANTS === */

/* 1. Masquer les titres (labels) UNIQUEMENT au-dessus des champs "Paragraphe" (textarea) */
.elementor-element-997627c .elementor-field-type-textarea &gt; .elementor-field-label {
  display: none !important;
}

/* 2. Rendre les labels restants ("Lettre de motivation", "Logement") bien gras */
.elementor-element-997627c .elementor-field-label {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 15px;
}

/* === HACK CSS POUR L'UPLOAD (SI "Fichiers multiples" EST DÉSACTIVÉ) === */
/* Ce bloc maquille le bouton natif du navigateur pour ressembler à la maquette */

.elementor-element-997627c input[type="file"] {
  background-color: #ffffff !important;
  color: transparent !important; /* Cache le texte natif "Aucun fichier" */
  height: 120px !important;
  width: 100%;
  border: none !important;
  position: relative;
  cursor: pointer;
  box-shadow: none !important;
}

/* Cache le bouton gris natif */
.elementor-element-997627c input[type="file"]::file-body.elementor-page-12608-button,
.elementor-element-997627c input[type="file"]::-webkit-file-upload-button {
  display: none !important;
}

/* Fausse l'interface au centre de la zone blanche */
.elementor-element-997627c input[type="file"]::before {
  content: "↑\A Drag &amp; Drop Files, Choose Files to Upload";
  white-space: pre-wrap;
  color: #888888;
  font-size: 14px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  visibility: visible;
  line-height: 1.5;
}

/* === MAQUILLAGE DU CHAMP UPLOAD ELEMENTOR === */

/* 1. On crée la grande zone blanche */
.elementor-element-997627c input[type="file"] {
  background-color: #ffffff !important;
  color: transparent !important; /* Cache le texte natif "Aucun fichier" */
  height: 120px !important;
  width: 100% !important;
  border: none !important;
  position: relative;
  cursor: pointer;
  box-shadow: none !important;
  padding: 0 !important;
}

/* 2. On FORCE la disparition du bouton natif (Séparé pour Firefox, Chrome et Safari) */
.elementor-element-997627c input[type="file"]::file-body.elementor-page-12608-button {
  display: none !important;
}
.elementor-element-997627c input[type="file"]::-webkit-file-upload-button {
  display: none !important;
}
.elementor-element-997627c input[type="file"]::-ms-browse {
  display: none !important;
}

/* 3. On recrée l'interface "Drag &amp; Drop" factice au centre */
.elementor-element-997627c input[type="file"]::before {
  content: "☁️\A Cliquez ici pour ajouter un fichier"; /* Petit nuage et texte */
  white-space: pre-wrap;
  color: #888888;
  font-size: 14px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.5;
  pointer-events: none; /* Important pour que le clic passe à travers le texte */
}
/* --- ANIMATION DE CHARGEMENT &amp; SUCCÈS --- */

/* Conteneur du champ upload pour positionner le spinner */
.elementor-element-997627c .elementor-field-type-upload {
  position: relative;
}

/* Le Spinner (masqué par défaut) */
.upload-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  margin-left: -15px;
  border: 3px solid rgba(30, 56, 174, 0.2);
  border-top-color: #1e38ae; /* Ton bleu */
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  z-index: 10;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Cacher le texte par défaut pendant le chargement */
.upload-loading input[type="file"]::before {
  opacity: 0;
}

/* Message de succès */
.upload-success-msg {
  display: none; /* Masqué par défaut */
  color: #27ae60;
  font-size: 14px;
  font-weight: 600;
  margin-top: 10px;
  text-align: center;
  animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

/* État quand le fichier est bien présent */
.file-uploaded input[type="file"] {
  border: 2px solid #27ae60 !important;
  background-color: #f0fff4 !important;
}

.file-uploaded input[type="file"]::before {
  content: "✅ Fichier prêt !";
  color: #27ae60;
}/* End custom CSS */