.elementor-60 .elementor-element.elementor-element-6fe2545b > .elementor-container{max-width:1400px;}.elementor-60 .elementor-element.elementor-element-6fe2545b > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-60 .elementor-element.elementor-element-6fe2545b{border-style:solid;border-width:0px 0px 1px 0px;border-color:#EAEAEA;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:05px 0px 05px 0px;}.elementor-60 .elementor-element.elementor-element-6fe2545b, .elementor-60 .elementor-element.elementor-element-6fe2545b > .elementor-background-overlay{border-radius:0px 0px 0px 0px;}.elementor-60 .elementor-element.elementor-element-6fe2545b > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-60 .elementor-element.elementor-element-419ceb00.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-60 .elementor-element.elementor-element-419ceb00.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-60 .elementor-element.elementor-element-20f08c39 > .elementor-widget-container{margin:5px 0px 0px 0px;}.elementor-60 .elementor-element.elementor-element-20f08c39{width:var( --container-widget-width, 30% );max-width:30%;--container-widget-width:30%;--container-widget-flex-grow:0;}.elementor-60 .elementor-element.elementor-element-1cefe60{text-align:left;width:var( --container-widget-width, 69% );max-width:69%;--container-widget-width:69%;--container-widget-flex-grow:0;}.elementor-60 .elementor-element.elementor-element-1cefe60 img{width:100%;}.elementor-60 .elementor-element.elementor-element-1cefe60 > .elementor-widget-container{padding:0px 20px 0px 20px;}.elementor-bc-flex-widget .elementor-60 .elementor-element.elementor-element-610147f3.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-60 .elementor-element.elementor-element-610147f3.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-60 .elementor-element.elementor-element-610147f3 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-60 .elementor-element.elementor-element-1b166ed > .elementor-widget-container{margin:-15px 0px 10px 20px;}.elementor-60 .elementor-element.elementor-element-518a69f5 > .elementor-container{max-width:1300px;min-height:680px;}.elementor-60 .elementor-element.elementor-element-518a69f5:not(.elementor-motion-effects-element-type-background), .elementor-60 .elementor-element.elementor-element-518a69f5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-60 .elementor-element.elementor-element-518a69f5{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0% 25% 02% 25%;}.elementor-60 .elementor-element.elementor-element-518a69f5 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-60 .elementor-element.elementor-element-6e18812b > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-button .elementor-align-icon-right{margin-left:10px;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-button .elementor-align-icon-left{margin-right:10px;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-field-group{padding-right:calc( 13px/2 );padding-left:calc( 13px/2 );margin-bottom:22px;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-form-fields-wrapper{margin-left:calc( -13px/2 );margin-right:calc( -13px/2 );margin-bottom:-22px;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-field-group.recaptcha_v3-bottomleft, .elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-labels-inline .elementor-field-group > label{padding-left:3px;}body:not(.rtl) .elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-labels-inline .elementor-field-group > label{padding-right:3px;}body .elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-labels-above .elementor-field-group > label{padding-bottom:3px;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-field-group > label, .elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-field-subgroup label{color:#000000;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-field-group > label{font-family:"Alexandria", Sans-serif;font-size:16px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-field-type-html{padding-bottom:0px;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-button{font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;border-radius:20px 20px 20px 20px;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .e-form__buttons__wrapper__button-next{background-color:#9563EB;color:#FFFFFF;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-button[type="submit"]{background-color:#9563EB;color:#FFFFFF;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .e-form__buttons__wrapper__button-previous{background-color:#F1F1F1;color:#A6A6A6;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-60 .elementor-element.elementor-element-6ff3f32d{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-progress-height:20px;--e-form-steps-indicator-progress-border-radius:0px;width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-60 .elementor-element.elementor-element-6ff3f32d > .elementor-widget-container{padding:20px 0px 0px 0px;}.elementor-60 .elementor-element.elementor-element-7d5f7765 > .elementor-container{max-width:800px;}.elementor-60 .elementor-element.elementor-element-7d5f7765:not(.elementor-motion-effects-element-type-background), .elementor-60 .elementor-element.elementor-element-7d5f7765 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F4F5;}.elementor-60 .elementor-element.elementor-element-7d5f7765{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:10px 0px 10px 0px;}.elementor-60 .elementor-element.elementor-element-7d5f7765 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-bottom:calc(40px/2);}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-top:calc(40px/2);}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:calc(40px/2);margin-left:calc(40px/2);}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-items.elementor-inline-items{margin-right:calc(-40px/2);margin-left:calc(-40px/2);}body.rtl .elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{left:calc(-40px/2);}body:not(.rtl) .elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{right:calc(-40px/2);}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-icon i{color:#B5B4B5;transition:color 0.3s;}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-icon svg{fill:#B5B4B5;transition:fill 0.3s;}.elementor-60 .elementor-element.elementor-element-4db3f284{--e-icon-list-icon-size:28px;--icon-vertical-offset:0px;}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-item > a{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-text{color:#B5B4B5;transition:color 0.3s;}.elementor-60 .elementor-element.elementor-element-1d083b92 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-60 .elementor-element.elementor-element-1d083b92:not(.elementor-motion-effects-element-type-background), .elementor-60 .elementor-element.elementor-element-1d083b92 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#182C33;}.elementor-60 .elementor-element.elementor-element-1d083b92{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-60 .elementor-element.elementor-element-1d083b92 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-60 .elementor-element.elementor-element-16faf333.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-60 .elementor-element.elementor-element-16faf333.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-60 .elementor-element.elementor-element-b7f0901{color:#FFFFFF;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;}.elementor-60 .elementor-element.elementor-element-b7f0901 > .elementor-widget-container{margin:0px 0px -10px 0px;padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-field-group > label{font-size:14px;}.elementor-60 .elementor-element.elementor-element-6ff3f32d .elementor-button{font-size:14px;}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-item > a{font-size:14px;}.elementor-60 .elementor-element.elementor-element-b7f0901{font-size:14px;}}@media(min-width:768px){.elementor-60 .elementor-element.elementor-element-419ceb00{width:22%;}.elementor-60 .elementor-element.elementor-element-59d3eca7{width:56%;}.elementor-60 .elementor-element.elementor-element-610147f3{width:21.332%;}}@media(max-width:767px){.elementor-60 .elementor-element.elementor-element-20f08c39{--container-widget-width:36px;--container-widget-flex-grow:0;width:var( --container-widget-width, 36px );max-width:36px;}.elementor-60 .elementor-element.elementor-element-1cefe60 img{width:60%;}.elementor-60 .elementor-element.elementor-element-1cefe60{--container-widget-width:70%;--container-widget-flex-grow:0;width:var( --container-widget-width, 70% );max-width:70%;}.elementor-60 .elementor-element.elementor-element-5e2b46e9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-60 .elementor-element.elementor-element-5e2b46e9{width:var( --container-widget-width, 56px );max-width:56px;--container-widget-width:56px;--container-widget-flex-grow:0;}.elementor-60 .elementor-element.elementor-element-518a69f5 > .elementor-container{max-width:579px;}.elementor-60 .elementor-element.elementor-element-518a69f5{padding:05% 05% 05% 05%;}.elementor-60 .elementor-element.elementor-element-7d5f7765{margin-top:0px;margin-bottom:0px;}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-bottom:calc(11px/2);}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-top:calc(11px/2);}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-right:calc(11px/2);margin-left:calc(11px/2);}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-items.elementor-inline-items{margin-right:calc(-11px/2);margin-left:calc(-11px/2);}body.rtl .elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{left:calc(-11px/2);}body:not(.rtl) .elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{right:calc(-11px/2);}.elementor-60 .elementor-element.elementor-element-4db3f284{--e-icon-list-icon-size:13px;}.elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-60 .elementor-element.elementor-element-4db3f284 .elementor-icon-list-item > a{font-size:7px;}}/* Start custom CSS for form, class: .elementor-element-6ff3f32d *//* =========================================================================
   1) ON CIBLE EXACTEMENT LE CONTENEUR DU CHAMP RADIO “client_type_field”
   (ID = client_type_field → classe générée = elementor-field-group-client_type_field)
   ========================================================================= */
.elementor-field-group-client_type_field { margin-bottom: 24px; }

/* =========================================================================
   2) ON FORCE LA LISTE D’OPTIONS À DEVENIR UN CONTENEUR FLEX SUR 2 COLONNES
   ========================================================================= */
.elementor-field-group-client_type_field .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-field-group-client_type_field .elementor-field-option {
  flex: 0 0 calc(50% - 8px) !important;
  box-sizing: border-box !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  display: block !important;
  min-height: 100px; /* ajustez si nécessaire */
}
@media (max-width: 600px) {
  .elementor-field-group-client_type_field .elementor-field-option {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* =========================================================================
   3) ON CACHE LE BOUTON RADIO NATIF (LE PETIT ROND)
   ========================================================================= */
.elementor-field-group-client_type_field .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================================================================
   4) ON TRANSFORME LE <label> EN “CONTENU DE CARTE” (flex‐colonne)
   ========================================================================= */
.elementor-field-group-client_type_field .elementor-field-option label {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  padding: 16px 12px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

/* =========================================================================
   5) EMOJIS AVANT LE TEXTE (via ::before)
   ========================================================================= */
/* 5.1) Icône “Adulte” */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"][value="adulte"] + label::before {
  content: "🧑";
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}
/* 5.2) Icône “Couple” */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"][value="couple"] + label::before {
  content: "👫";
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}
/* 5.3) Icône “Adulte + enfant(s)” */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"][value="adulte-enfants"] + label::before {
  content: "👨‍👩‍👧";
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}
/* 5.4) Icône “Couple + enfant(s)” */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"][value="couple-enfants"] + label::before {
  content: "👨‍👩‍👧‍👦";
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}

/* =========================================================================
   6) QUAND UNE CARTE EST SÉLECTIONNÉE (ORANGE)
   ========================================================================= */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"]:checked + label {
  background-color: #fff3e6 !important;
  border-color: #ff9a31 !important;
  color: #333 !important;
}
/* 6.1) Coche en haut à droite */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"]:checked + label::after {
  content: "✔";
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 18px;
  color: #333;
}

/* =========================================================================
   7) AU SURVOL D’UNE CARTE NON SÉLECTIONNÉE
   ========================================================================= */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
}

/* =========================================================================
   8) FOCUS CLAVIER (ACCESSIBILITÉ)
   ========================================================================= */
.elementor-field-group-client_type_field .elementor-field-option input[name="form_fields[client_type_field]"]:focus + label {
  outline: 2px dashed #ff9a31 !important;
  outline-offset: 2px !important;
}

/* =========================================================================
   1) ON CIBLE LE CONTENEUR DU CHAMP RADIO “cmu”
   ========================================================================= */
.elementor-field-group-cmu { margin-bottom: 24px; }

/* =========================================================================
   2) ON TRANSFORME LE CONTENEUR DES OPTIONS EN FLEX POUR 2 COLONNES
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-field-group-cmu .elementor-field-option {
  flex: 0 0 calc(50% - 8px) !important;
  box-sizing: border-box !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  display: block !important;
  min-height: 80px;
}
@media (max-width: 600px) {
  .elementor-field-group-cmu .elementor-field-option {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

/* =========================================================================
   3) ON CACHE LE BOUTON RADIO NATIF
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================================================================
   4) ON TRANSFORME LE <label> EN CONTENU DE CARTE (flex-colonne)
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-option label {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  padding: 16px 12px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

/* =========================================================================
   5) EMOJI “👎” / “👍”
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-option:nth-child(1) label::before {
  content: "👎" !important;
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}
.elementor-field-group-cmu .elementor-field-option:nth-child(2) label::before {
  content: "👍" !important;
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}

/* =========================================================================
   6) SÉLECTION (ORANGE)
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-option input[name="form_fields[cmu]"]:checked + label {
  background-color: #fff3e6 !important;
  border-color: #ff9a31 !important;
  color: #333 !important;
}
.elementor-field-group-cmu .elementor-field-option input[name="form_fields[cmu]"]:checked + label::after {
  content: "✔";
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 18px;
  color: #333;
}

/* =========================================================================
   7) HOVER
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-option input[name="form_fields[cmu]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
}

/* =========================================================================
   8) FOCUS
   ========================================================================= */
.elementor-field-group-cmu .elementor-field-option input[name="form_fields[cmu]"]:focus + label {
  outline: 2px dashed #ff9a31 !important;
  outline-offset: 2px !important;
}

/* =========================================================================
   DESIGN UNIFIÉ POUR LES CHAMPS “gender” ET “civ_c”
   ========================================================================= */
.elementor-field-group-gender,
.elementor-field-group-civ_c { margin-bottom: 24px; }

.elementor-field-group-gender .elementor-field-subgroup,
.elementor-field-group-civ_c .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-field-group-gender .elementor-field-option,
.elementor-field-group-civ_c .elementor-field-option {
  flex: 0 0 calc(50% - 4px) !important;
  box-sizing: border-box !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  position: relative !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 80px !important;
  overflow: hidden !important;
}

@media (max-width: 600px) {
  .elementor-field-group-gender .elementor-field-option,
  .elementor-field-group-civ_c .elementor-field-option {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}

.elementor-field-group-gender .elementor-field-option input[type="radio"],
.elementor-field-group-civ_c .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}

.elementor-field-group-gender .elementor-field-option label,
.elementor-field-group-civ_c .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 16px 0 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

/* Hover état non sélectionné */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"] + label:hover,
.elementor-field-group-civ_c .elementor-field-option input[name="form_fields[civ_c]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
  border-radius: 8px !important;
}

/* État sélectionné */
.elementor-field-group-gender .elementor-field-option input[name="form_fields[gender]"]:checked + label,
.elementor-field-group-civ_c .elementor-field-option input[name="form_fields[civ_c]"]:checked + label {
  background-color: #ff9a31 !important;
  border-color: #ff9a31 !important;
  color: #fff !important;
  border-radius: 8px !important;
}

/* ===========================================================================
   Date de naissance
   =========================================================================== */
#birth_date {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  font-size: 16px;
  font-family: inherit;
  color: #333;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#birth_date::placeholder {
  color: #aaa;
  font-size: 16px;
  letter-spacing: 1px;
}
#birth_date:focus {
  border-color: #ff9a31;
  box-shadow: 0 0 0 2px rgba(255, 154, 49, 0.25);
}
@media (max-width: 600px) {
  #birth_date { padding: 10px 12px; font-size: 15px; }
  #birth_date::placeholder { font-size: 15px; }
}

/* =========================================================================
   CHAMP “care_level”
   ========================================================================= */
.elementor-field-group-care_level .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-field-group-care_level .elementor-field-option {
  flex: 0 0 calc(33.333% - 5.333px) !important;
  box-sizing: border-box !important;
  min-height: 60px !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  position: relative !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
.elementor-field-group-care_level .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}
.elementor-field-group-care_level .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 12px 0 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}
.elementor-field-group-care_level .elementor-field-option input[name="form_fields[care_level]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
  border-radius: 8px !important;
}
.elementor-field-group-care_level .elementor-field-option input[name="form_fields[care_level]"]:checked + label {
  background-color: #fff3e6 !important;
  border-color: #ff9a31 !important;
  color: #333 !important;
  border-radius: 8px !important;
}
.elementor-field-group-care_level .elementor-field-option input[name="form_fields[care_level]"]:focus + label {
  outline: 2px dashed #ff9a31 !important;
  outline-offset: 2px !important;
}
.elementor-field-group-care_level .elementor-field-option { overflow: hidden !important; }

/* =========================================================================
   CHAMP “hospi_level”, “optical_level”, “dental_level”, “auditive_level”
   ========================================================================= */
.elementor-field-group-hospi_level,
.elementor-field-group-optical_level,
.elementor-field-group-dental_level,
.elementor-field-group-auditive_level { margin-bottom: 24px; }

.elementor-field-group-hospi_level .elementor-field-subgroup,
.elementor-field-group-optical_level .elementor-field-subgroup,
.elementor-field-group-dental_level .elementor-field-subgroup,
.elementor-field-group-auditive_level .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-field-group-hospi_level .elementor-field-option,
.elementor-field-group-optical_level .elementor-field-option,
.elementor-field-group-dental_level .elementor-field-option,
.elementor-field-group-auditive_level .elementor-field-option {
  flex: 0 0 calc(33.333% - 5.333px) !important;
  box-sizing: border-box !important;
  min-height: 60px !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  position: relative !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
  overflow: hidden !important;
}

@media (max-width: 600px) {
  .elementor-field-group-hospi_level .elementor-field-subgroup,
  .elementor-field-group-optical_level .elementor-field-subgroup,
  .elementor-field-group-dental_level .elementor-field-subgroup,
  .elementor-field-group-auditive_level .elementor-field-subgroup {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }

  .elementor-field-group-hospi_level .elementor-field-option,
  .elementor-field-group-optical_level .elementor-field-option,
  .elementor-field-group-dental_level .elementor-field-option,
  .elementor-field-group-auditive_level .elementor-field-option {
    flex: 0 0 calc(33.333% - 5.333px) !important;
    width: auto !important;
  }
}

.elementor-field-group-hospi_level .elementor-field-option input[type="radio"],
.elementor-field-group-optical_level .elementor-field-option input[type="radio"],
.elementor-field-group-dental_level .elementor-field-option input[type="radio"],
.elementor-field-group-auditive_level .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}

.elementor-field-group-hospi_level .elementor-field-option label,
.elementor-field-group-optical_level .elementor-field-option label,
.elementor-field-group-dental_level .elementor-field-option label,
.elementor-field-group-auditive_level .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 12px 0 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

.elementor-field-group-hospi_level .elementor-field-option input[name="form_fields[hospi_level]"] + label:hover,
.elementor-field-group-optical_level .elementor-field-option input[name="form_fields[optical_level]"] + label:hover,
.elementor-field-group-dental_level .elementor-field-option input[name="form_fields[dental_level]"] + label:hover,
.elementor-field-group-auditive_level .elementor-field-option input[name="form_fields[auditive_level]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
  border-radius: 8px !important;
}

.elementor-field-group-hospi_level .elementor-field-option input[name="form_fields[hospi_level]"]:checked + label,
.elementor-field-group-optical_level .elementor-field-option input[name="form_fields[optical_level]"]:checked + label,
.elementor-field-group-dental_level .elementor-field-option input[name="form_fields[dental_level]"]:checked + label,
.elementor-field-group-auditive_level .elementor-field-option input[name="form_fields[auditive_level]"]:checked + label {
  background-color: #fff3e6 !important;
  border-color: #ff9a31 !important;
  color: #333 !important;
  border-radius: 8px !important;
}

.elementor-field-group-hospi_level .elementor-field-option input[name="form_fields[hospi_level]"]:focus + label,
.elementor-field-group-optical_level .elementor-field-option input[name="form_fields[optical_level]"]:focus + label,
.elementor-field-group-dental_level .elementor-field-option input[name="form_fields[dental_level]"]:focus + label,
.elementor-field-group-auditive_level .elementor-field-option input[name="form_fields[auditive_level]"]:focus + label {
  outline: 2px dashed #ff9a31 !important;
  outline-offset: 2px !important;
}

/* ------------------------------------------------------------
   Champ “assure” : style de base (similaire à “birth_date”)
   ------------------------------------------------------------ */
input[id*="form-field-assure"],
input[name="form_fields[assure]"] {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  font-size: 16px;
  font-family: inherit;
  color: #333;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
input[id*="form-field-assure"]::placeholder,
input[name="form_fields[assure]"]::placeholder {
  color: #aaa;
  font-size: 16px;
  letter-spacing: 1px;
}
input[id*="form-field-assure"]:focus,
input[name="form_fields[assure]"]:focus {
  border-color: #ff9a31;
  box-shadow: 0 0 0 2px rgba(255, 154, 49, 0.25);
}
@media (max-width: 600px) {
  input[id*="form-field-assure"],
  input[name="form_fields[assure]"] {
    padding: 10px 12px;
    font-size: 15px;
  }
  input[id*="form-field-assure"]::placeholder,
  input[name="form_fields[assure]"]::placeholder {
    font-size: 15px;
  }
}

/* ============================================================================
   Checkbox “privacy_consent”
   ============================================================================ */
.elementor-field-group-privacy_consent .elementor-field-option {
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  background-color: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 8px;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.elementor-field-group-privacy_consent .elementor-field-option:has(input[type="checkbox"]:checked) {
  background-color: #fff3e6;
  border-color: #ff9a31;
}
.elementor-field-group-privacy_consent .elementor-field-option input[type="checkbox"] {
  margin-right: 12px;
}
.elementor-field-group-privacy_consent .elementor-field-option:not(:has(input[type="checkbox"]:checked)):hover {
  background-color: #fafafa;
  border-color: #bbb;
}
.elementor-field-group-privacy_consent .elementor-field-option:has(input[type="checkbox"]:focus-visible) {
  outline: 2px dashed #ff9a31;
  outline-offset: 2px;
}

/* ============================================================================
   Bouton “Suivant” – flèche après le texte
   ============================================================================ */
.e-form__buttons__wrapper__button-next::before { content: none !important; }
.e-form__buttons__wrapper__button-next::after {
  content: "→";
  display: inline-block;
  margin-left: 6px;
  font-size: 1em;
  vertical-align: middle;
  color: currentColor;
}
.e-form__buttons__wrapper__button-next { padding-right: 12px; }

/* =======================================================================
   Barre de progression (meter) en ORANGE
   ======================================================================= */
.e-form__indicators--type-progress_bar .e-form__indicators__indicator__progress {
  background-color: #eee;
  border-radius: 4px;
  overflow: hidden;
}
.e-form__indicators--type-progress_bar .e-form__indicators__indicator__progress__meter {
  background-color: #ff9a31 !important;
  color: #fff !important;
  font-weight: 500;
  border-radius: 4px;
  height: 16px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  line-height: 1;
  padding: 0 4px;
}

/* STYLE DU CLONE DANS #mon-progres-entete */
#mon-progres-entete .e-form__indicators__indicator__progress {
  background-color: #eee;
  border-radius: 4px;
  overflow: hidden;
}
#mon-progres-entete .e-form__indicators__indicator__progress__meter {
  background-color: #ff9a31 !important;
  color: #fff !important;
  border-radius: 4px !important;
  height: 16px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  line-height: 1;
  padding: 0 4px;
}

/* Cacher la barre originale */
.e-form__indicators--type-progress_bar { display: none !important; }

/* Cacher le bouton précédent */
.elementor-form .e-form__buttons__wrapper__button-previous { display: none !important; }

/* Boutons (inchangés : violets) */
.elementor-field-type-next { display: block !important; width: 100% !important; max-width: none !important; box-sizing: border-box; margin: 0 !important; padding: 0 !important; }
.elementor-field-type-next .e-form__buttons__wrapper__button-next { display: block !important; width: 100% !important; max-width: none !important; box-sizing: border-box; }

.elementor-field-type-submit { display: block !important; width: 100% !important; max-width: none !important; box-sizing: border-box; margin: 0 !important; padding: 0 !important; }
.elementor-field-type-submit .elementor-button[type="submit"] { display: block !important; width: 100% !important; max-width: none !important; box-sizing: border-box; }

.elementor-field-type-next,
.elementor-field-type-submit { box-sizing: border-box; padding-left: 8px !important; padding-right: 8px !important; }

.elementor-field-type-next .e-form__buttons__wrapper__button-next,
.elementor-field-type-submit .elementor-button[type="submit"] {
  width: 100% !important;
  max-width: none !important;
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.elementor-field-type-next { display: block !important; width: 100% !important; max-width: none !important; box-sizing: border-box; margin: 0 0 24px; padding: 0; }
.elementor-field-type-next .e-form__buttons__wrapper__button-next {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  background-color: #9563EA !important;
  color: #fff !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  padding: 1rem 2rem !important;
  border-radius: 12px !important;
  border: none !important;
  transition: background-color 0.2s ease-in-out !important;
}
.elementor-field-type-next .e-form__buttons__wrapper__button-next:hover { background-color: #b682ff !important; }

.elementor-field-type-submit { display: block !important; width: 100% !important; max-width: none !important; box-sizing: border-box; margin: 0 0 24px; padding: 0; }
.elementor-field-type-submit .elementor-button[type="submit"] {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  background-color: #9563EA !important;
  color: #fff !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  padding: 1rem 2rem !important;
  border-radius: 12px !important;
  border: none !important;
  transition: background-color 0.2s ease-in-out !important;
}
.elementor-field-type-submit .elementor-button[type="submit"]:hover { background-color: #b682ff !important; }

@media (max-width: 600px) {
  .elementor-field-group-client_type_field .elementor-field-subgroup { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; padding: 0 !important; margin: 0 !important; }
  .elementor-field-group-client_type_field .elementor-field-option { flex: 0 0 calc(50% - 4px) !important; box-sizing: border-box !important; pointer-events: none !important; }
  .elementor-field-group-client_type_field .elementor-field-option label { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; height: 100% !important; box-sizing: border-box !important; pointer-events: auto !important; }
  .elementor-field-group-client_type_field .elementor-field-option input[type="radio"]:checked + label { background-color: #fff3e6 !important; border-color: #ff9a31 !important; color: #333 !important; }

  .elementor-field-group-cmu .elementor-field-subgroup { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; padding: 0 !important; margin: 0 !important; }
  .elementor-field-group-cmu .elementor-field-option { flex: 0 0 calc(50% - 4px) !important; box-sizing: border-box !important; pointer-events: none !important; }
  .elementor-field-group-cmu .elementor-field-option label { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; height: 100% !important; box-sizing: border-box !important; pointer-events: auto !important; }
  .elementor-field-group-cmu .elementor-field-option input[type="radio"]:checked + label { background-color: #fff3e6 !important; border-color: #ff9a31 !important; color: #333 !important; }
}

/* =========================================================================
   STYLE DES CARTES POUR LE CHAMP “assur”
   ========================================================================= */
.elementor-field-group-assur { margin-bottom: 24px; }
.elementor-field-group-assur .elementor-field-subgroup { display: flex !important; flex-wrap: wrap !important; gap: 16px !important; padding: 0 !important; margin: 0 !important; }
.elementor-field-group-assur .elementor-field-option {
  flex: 0 0 calc(50% - 8px) !important;
  box-sizing: border-box !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
  min-height: 80px !important;
}
.elementor-field-group-assur .elementor-field-option input[type="radio"] { position: absolute !important; opacity: 0 !important; pointer-events: none !important; }
.elementor-field-group-assur .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 16px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  transition: color 0.2s ease !important;
}
.elementor-field-group-assur .elementor-field-option:nth-child(1) label::before {
  content: "✔" !important;
  display: block !important;
  font-size: 32px !important;
  color: #ff9a31 !important;
  margin-bottom: 12px !important;
}
.elementor-field-group-assur .elementor-field-option:nth-child(2) label::before {
  content: "✖" !important;
  display: block !important;
  font-size: 32px !important;
  color: #d9534f !important;
  margin-bottom: 12px !important;
}
.elementor-field-group-assur .elementor-field-option input[name="form_fields[assur]"]:checked + label {
  background-color: #fff3e6 !important;
  border-color: #ff9a31 !important;
  color: #333 !important;
}
.elementor-field-group-assur .elementor-field-option input[name="form_fields[assur]"]:checked + label::after {
  content: "✔";
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 18px;
  color: #333;
}
.elementor-field-group-assur .elementor-field-option input[type="radio"] + label:hover { border-color: #bbb !important; background-color: #fafafa !important; }
.elementor-field-group-assur .elementor-field-option input[type="radio"]:focus + label { outline: 2px dashed #ff9a31 !important; outline-offset: 2px !important; }
@media (max-width: 600px) {
  .elementor-field-group-assur .elementor-field-option { flex: 0 0 calc(50% - 8px) !important; width: auto !important; }
}

/* =========================================================================
   CHAMP “Régime social” → CARTES CLIQUABLES
   ========================================================================= */
.elementor-field-group-social_regime { margin-bottom: 24px; }
.elementor-field-group-social_regime .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-field-group-social_regime .elementor-field-option {
  flex: 0 0 calc(50% - 8px) !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  display: block !important;
  min-height: 80px !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
@media (max-width: 600px) {
  .elementor-field-group-social_regime .elementor-field-option { flex: 0 0 calc(50% - 8px) !important; width: auto !important; }
}
.elementor-field-group-social_regime .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}
.elementor-field-group-social_regime .elementor-field-option label {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 16px 12px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.elementor-field-group-social_regime .elementor-field-option:nth-child(1) input[value="Général (salarié ou retraité)"] + label::before { content: "👨‍💼"; }
.elementor-field-group-social_regime .elementor-field-option:nth-child(2) input[value="Travailleur Non Salarié (TNS)"] + label::before { content: "💼"; }
.elementor-field-group-social_regime .elementor-field-option:nth-child(3) input[value="Alsace Moselle"] + label::before { content: "🏥"; }
.elementor-field-group-social_regime .elementor-field-option:nth-child(4) input[value="Salarié Agricole"] + label::before { content: "🚜"; }
.elementor-field-group-social_regime .elementor-field-option label::before {
  display: block !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}
.elementor-field-group-social_regime .elementor-field-option input + label:hover {
  border-color: #ff9a31 !important;
  background-color: #fff3e6 !important;
}
.elementor-field-group-social_regime .elementor-field-option input:checked + label {
  background-color: #fff3e6 !important;
  border-color: #ff9a31 !important;
  color: #333 !important;
}
.elementor-field-group-social_regime .elementor-field-option input:checked + label::after {
  content: "✔";
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 18px;
  color: #333;
}
.elementor-field-group-social_regime .elementor-field-option input:focus + label {
  outline: 2px dashed #ff9a31 !important;
  outline-offset: 2px !important;
}

/* Hover orange global */
.elementor-form .elementor-field-option input[type="radio"] + label:hover,
.elementor-form .elementor-field-option input[type="checkbox"] + label:hover {
  border-color: #ff9a31 !important;
  background-color: #fff3e6 !important;
}

.elementor-field-type-html[tabindex],
.elementor-field-type-html[tabindex]:focus {
  outline: none !important;
  box-shadow: none !important;
}

input,
textarea,
select {
  font-size: 16px !important;
}

/* ✅ Bouton Suivant en orange */
.elementor-field-type-next .e-form__buttons__wrapper__button-next{
  background-color: #ff9a31 !important;
  color: #fff !important;
}
.elementor-field-type-next .e-form__buttons__wrapper__button-next:hover{
  background-color: #e88925 !important; /* orange plus foncé */
}

/* ✅ Bouton Envoyer en orange (si tu veux aussi) */
.elementor-field-type-submit .elementor-button[type="submit"]{
  background-color: #ff9a31 !important;
  color: #fff !important;
}
.elementor-field-type-submit .elementor-button[type="submit"]:hover{
  background-color: #e88925 !important;
}

/* ✅ OPT-IN : cible robuste (Elementor) */
.elementor-form .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option{
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 16px 18px !important;
  border-radius: 12px !important;
  line-height: 1.45 !important;
}

/* Checkbox */
.elementor-form .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option input[type="checkbox"]{
  margin-top: 3px !important;
  margin-right: 0 !important;
  flex: 0 0 auto !important;
  transform: scale(1.05);
}

/* Texte */
.elementor-form .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label{
  display: block !important;
  margin: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: #333 !important;
}

/* Mobile */
@media (max-width: 600px){
  .elementor-form .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option{
    padding: 14px 14px !important;
  }
}

/* ✅ Opt-in : interligne plus grand */
.elementor-form .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option label{
  line-height: 1.8 !important;
}

/* ✅ OPT-IN : typo + interligne (ciblage large et robuste) */
.elementor-form .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option,
.elementor-form .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option *{
  font-size: 14px !important;     /* ↓ taille */
  font-weight: 400 !important;    /* ↓ épaisseur */
  line-height: 4 !important;    /* ↑ interligne */
  letter-spacing: 0 !important;
}

/* Garder le lien CGU lisible */
.elementor-form .elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option a{
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}
/* ✅ OPT-IN (acceptance) : + lisible, + aéré, typo moins “lourde” */
.elementor-form .elementor-field-group-privacy_consent .elementor-field-option{
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 16px 18px !important;
  border: 1px solid #ddd !important;
  border-radius: 12px !important;
  background: #f7f7f7 !important;
}

/* Checkbox */
.elementor-form .elementor-field-group-privacy_consent #form-field-privacy_consent{
  margin-top: 3px !important;
  margin-right: 0 !important;
  transform: scale(1.05);
  flex: 0 0 auto !important;
}

/* Texte opt-in (LE POINT IMPORTANT) */
.elementor-form .elementor-field-group-privacy_consent label[for="form-field-privacy_consent"]{
  font-size: 14px !important;   /* ↓ taille */
  font-weight: 400 !important;  /* ↓ épaisseur */
  line-height: 1.85 !important; /* ↑ interligne */
  color: #333 !important;
  margin: 0 !important;
}

/* Lien CGU : un poil plus visible */
.elementor-form .elementor-field-group-privacy_consent label[for="form-field-privacy_consent"] a{
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

/* Mobile : un peu moins de padding */
@media (max-width: 600px){
  .elementor-form .elementor-field-group-privacy_consent .elementor-field-option{
    padding: 14px 14px !important;
  }
}

/* Masquer certains labels du formulaire Elementor */
label[for="form-field-assur"],
label[for="form-field-birth_date"],
label[for="form-field-social_regime"] {
    display: none !important;
}

/* =========================================================================
   CHAMP “prix_actuel” → CARTES CLIQUABLES
   ========================================================================= */
.elementor-field-group-prix_actuel { 
  margin-bottom: 24px; 
}

.elementor-field-group-prix_actuel .elementor-field-subgroup {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.elementor-field-group-prix_actuel .elementor-field-option {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  min-height: 80px !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

.elementor-field-group-prix_actuel .elementor-field-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
}

.elementor-field-group-prix_actuel .elementor-field-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 80px !important;
  padding: 16px 12px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: center !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease !important;
}

/* Hover identique aux autres cartes */
.elementor-field-group-prix_actuel .elementor-field-option input[name="form_fields[prix_actuel]"] + label:hover {
  border-color: #bbb !important;
  background-color: #fafafa !important;
  border-radius: 8px !important;
}

/* État sélectionné identique aux autres cartes orange */
.elementor-field-group-prix_actuel .elementor-field-option input[name="form_fields[prix_actuel]"]:checked + label {
  background-color: #fff3e6 !important;
  border-color: #ff9a31 !important;
  color: #333 !important;
  border-radius: 8px !important;
}

/* Coche en haut à droite comme sur les autres */
.elementor-field-group-prix_actuel .elementor-field-option input[name="form_fields[prix_actuel]"]:checked + label::after {
  content: "✔";
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 18px;
  color: #333;
}

/* Focus accessibilité identique */
.elementor-field-group-prix_actuel .elementor-field-option input[name="form_fields[prix_actuel]"]:focus + label {
  outline: 2px dashed #ff9a31 !important;
  outline-offset: 2px !important;
}

/* Desktop : 3 colonnes */
@media (min-width: 768px) {
  .elementor-field-group-prix_actuel .elementor-field-subgroup {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Mobile : 2 colonnes / 3 lignes */
@media (max-width: 767px) {
  .elementor-field-group-prix_actuel .elementor-field-subgroup {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .elementor-field-group-prix_actuel .elementor-field-option,
  .elementor-field-group-prix_actuel .elementor-field-option label {
    min-height: 78px !important;
  }

  .elementor-field-group-prix_actuel .elementor-field-option label {
    padding: 14px 10px !important;
    font-size: 14px !important;
  }
}

/* ===== prix_actuel : corrige l'état sélectionné sans casser le hover ===== */

/* Hover uniquement sur carte NON sélectionnée */
.elementor-field-group-prix_actuel .elementor-field-option input[name="form_fields[prix_actuel]"]:not(:checked) + label:hover {
  border-color: #ff9a31 !important;
  background-color: #fff3e6 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Carte sélectionnée */
.elementor-field-group-prix_actuel .elementor-field-option input[name="form_fields[prix_actuel]"]:checked + label {
  background-color: #fff3e6 !important;
  border-color: #ff9a31 !important;
  color: #333 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Coche */
.elementor-field-group-prix_actuel .elementor-field-option input[name="form_fields[prix_actuel]"]:checked + label::after {
  content: "✔" !important;
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  font-size: 18px !important;
  color: #333 !important;
}

/* Focus */
.elementor-field-group-prix_actuel .elementor-field-option input[name="form_fields[prix_actuel]"]:focus + label {
  outline: 2px dashed #ff9a31 !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3374329f */#tel-info-popup {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

#tel-info-popup .popup-overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

#tel-info-popup .popup-content {
  background: #fff;
  padding: 20px 25px;
  max-width: 420px;
  border-radius: 10px;
  text-align: left;
  font-size: 15px;
  line-height: 1.6;
  box-shadow: 0 0 20px rgba(0,0,0,0.2);
}

#tel-info-popup h3 {
  margin-top: 0;
  color: #222;
}

#tel-info-popup button {
  margin-top: 15px;
  padding: 8px 16px;
  background-color: #9563ea;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}/* End custom CSS */