.elementor-421266 .elementor-element.elementor-element-ceca22b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:120px;--padding-bottom:120px;--padding-left:0px;--padding-right:0px;}.elementor-421266 .elementor-element.elementor-element-d1c3944{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-421266 .elementor-element.elementor-element-6306ae8{width:var( --container-widget-width, 69px );max-width:69px;--container-widget-width:69px;--container-widget-flex-grow:0;}.elementor-421266 .elementor-element.elementor-element-5811e01{width:var( --container-widget-width, 635px );max-width:635px;--container-widget-width:635px;--container-widget-flex-grow:0;text-align:center;}.elementor-421266 .elementor-element.elementor-element-5811e01 > .elementor-widget-container{margin:20px 0px 0px 0px;}.elementor-421266 .elementor-element.elementor-element-5811e01 .elementor-heading-title{font-size:48px;font-weight:600;line-height:1.07143em;letter-spacing:-0.005em;color:var( --e-global-color-secondary );}.elementor-421266 .elementor-element.elementor-element-4e0ec29{width:var( --container-widget-width, 645px );max-width:645px;--container-widget-width:645px;--container-widget-flex-grow:0;text-align:center;font-size:21px;font-weight:400;line-height:1.381em;letter-spacing:0.011em;color:#86868B;}.elementor-421266 .elementor-element.elementor-element-4e0ec29 > .elementor-widget-container{margin:20px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-421266 .elementor-element.elementor-element-ed632e3{--display:flex;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group{padding-right:calc( 0px/2 );padding-left:calc( 0px/2 );margin-bottom:0px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-form-fields-wrapper{margin-left:calc( -0px/2 );margin-right:calc( -0px/2 );margin-bottom:-0px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group.recaptcha_v3-bottomleft, .elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group > label, .elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-subgroup label{color:var( --e-global-color-primary );}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group > label{font-family:"Inter", Sans-serif;font-size:19.5px;font-weight:400;line-height:1.49em;letter-spacing:-0.024em;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-type-html{padding-bottom:0px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group .elementor-field{color:var( --e-global-color-primary );}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group .elementor-field, .elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-subgroup label{font-family:var( --e-global-typography-bbbec07-font-family ), Sans-serif;font-size:var( --e-global-typography-bbbec07-font-size );font-weight:var( --e-global-typography-bbbec07-font-weight );line-height:var( --e-global-typography-bbbec07-line-height );letter-spacing:var( --e-global-typography-bbbec07-letter-spacing );word-spacing:var( --e-global-typography-bbbec07-word-spacing );}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-color:var( --e-global-color-primary );border-width:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-color:var( --e-global-color-primary );border-width:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-primary );}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-button{font-family:"Roboto", Sans-serif;font-size:17px;font-weight:400;line-height:0em;letter-spacing:0em;border-style:none;border-radius:50px 50px 50px 50px;padding:11px 21px 11px 21px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .e-form__buttons__wrapper__button-next{background-color:#5DC5A9;color:#ffffff;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-button[type="submit"]{background-color:#5DC5A9;color:#ffffff;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .e-form__buttons__wrapper__button-next:hover{background-color:#5DC5A9D1;color:#ffffff;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-button[type="submit"]:hover{background-color:#5DC5A9D1;color:#ffffff;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-message{font-family:var( --e-global-typography-bbbec07-font-family ), Sans-serif;font-size:var( --e-global-typography-bbbec07-font-size );font-weight:var( --e-global-typography-bbbec07-font-weight );line-height:var( --e-global-typography-bbbec07-line-height );letter-spacing:var( --e-global-typography-bbbec07-letter-spacing );word-spacing:var( --e-global-typography-bbbec07-word-spacing );}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-message.elementor-message-success{color:var( --e-global-color-secondary );}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-message.elementor-message-danger{color:var( --e-global-color-primary );}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-message.elementor-help-inline{color:var( --e-global-color-primary );}.elementor-421266 .elementor-element.elementor-element-dabd0fe .e-form__indicators__indicator, .elementor-421266 .elementor-element.elementor-element-dabd0fe .e-form__indicators__indicator__label{font-family:var( --e-global-typography-bbbec07-font-family ), Sans-serif;font-size:var( --e-global-typography-bbbec07-font-size );font-weight:var( --e-global-typography-bbbec07-font-weight );line-height:var( --e-global-typography-bbbec07-line-height );letter-spacing:var( --e-global-typography-bbbec07-letter-spacing );word-spacing:var( --e-global-typography-bbbec07-word-spacing );}.elementor-421266 .elementor-element.elementor-element-dabd0fe{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-primary );--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}@media(max-width:1024px){.elementor-421266 .elementor-element.elementor-element-ceca22b{--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-421266 .elementor-element.elementor-element-5811e01 > .elementor-widget-container{margin:20px 0px 0px 0px;}.elementor-421266 .elementor-element.elementor-element-5811e01{--container-widget-width:550px;--container-widget-flex-grow:0;width:var( --container-widget-width, 550px );max-width:550px;}.elementor-421266 .elementor-element.elementor-element-5811e01 .elementor-heading-title{font-size:40px;line-height:1.0834933333em;letter-spacing:-0.003em;}.elementor-421266 .elementor-element.elementor-element-4e0ec29 > .elementor-widget-container{margin:15px 0px 0px 0px;}.elementor-421266 .elementor-element.elementor-element-4e0ec29{--container-widget-width:645px;--container-widget-flex-grow:0;width:var( --container-widget-width, 645px );max-width:645px;}.elementor-421266 .elementor-element.elementor-element-ed632e3{--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group > label{font-size:19.5px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group .elementor-field, .elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-subgroup label{font-size:var( --e-global-typography-bbbec07-font-size );line-height:var( --e-global-typography-bbbec07-line-height );letter-spacing:var( --e-global-typography-bbbec07-letter-spacing );word-spacing:var( --e-global-typography-bbbec07-word-spacing );}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-button{font-size:17.3px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-message{font-size:var( --e-global-typography-bbbec07-font-size );line-height:var( --e-global-typography-bbbec07-line-height );letter-spacing:var( --e-global-typography-bbbec07-letter-spacing );word-spacing:var( --e-global-typography-bbbec07-word-spacing );}.elementor-421266 .elementor-element.elementor-element-dabd0fe .e-form__indicators__indicator, .elementor-421266 .elementor-element.elementor-element-dabd0fe .e-form__indicators__indicator__label{font-size:var( --e-global-typography-bbbec07-font-size );line-height:var( --e-global-typography-bbbec07-line-height );letter-spacing:var( --e-global-typography-bbbec07-letter-spacing );word-spacing:var( --e-global-typography-bbbec07-word-spacing );}}@media(max-width:767px){.elementor-421266 .elementor-element.elementor-element-ceca22b{--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-421266 .elementor-element.elementor-element-d1c3944{--width:87.5%;}.elementor-421266 .elementor-element.elementor-element-6306ae8{--container-widget-width:47px;--container-widget-flex-grow:0;width:var( --container-widget-width, 47px );max-width:47px;}.elementor-421266 .elementor-element.elementor-element-5811e01 > .elementor-widget-container{margin:17px 0px 0px 0px;}.elementor-421266 .elementor-element.elementor-element-5811e01 .elementor-heading-title{font-size:32px;line-height:1.1em;letter-spacing:0em;}.elementor-421266 .elementor-element.elementor-element-4e0ec29{width:100%;max-width:100%;font-size:19px;}.elementor-421266 .elementor-element.elementor-element-4e0ec29 > .elementor-widget-container{margin:15px 0px 0px 0px;}.elementor-421266 .elementor-element.elementor-element-ed632e3{--width:87.5%;--margin-top:60px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group > label{font-size:17.5px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group .elementor-field, .elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-subgroup label{font-size:var( --e-global-typography-bbbec07-font-size );line-height:var( --e-global-typography-bbbec07-line-height );letter-spacing:var( --e-global-typography-bbbec07-letter-spacing );word-spacing:var( --e-global-typography-bbbec07-word-spacing );}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-button{font-size:17.3px;}.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-message{font-size:var( --e-global-typography-bbbec07-font-size );line-height:var( --e-global-typography-bbbec07-line-height );letter-spacing:var( --e-global-typography-bbbec07-letter-spacing );word-spacing:var( --e-global-typography-bbbec07-word-spacing );}.elementor-421266 .elementor-element.elementor-element-dabd0fe .e-form__indicators__indicator, .elementor-421266 .elementor-element.elementor-element-dabd0fe .e-form__indicators__indicator__label{font-size:var( --e-global-typography-bbbec07-font-size );line-height:var( --e-global-typography-bbbec07-line-height );letter-spacing:var( --e-global-typography-bbbec07-letter-spacing );word-spacing:var( --e-global-typography-bbbec07-word-spacing );}}@media(min-width:768px){.elementor-421266 .elementor-element.elementor-element-d1c3944{--width:980px;}.elementor-421266 .elementor-element.elementor-element-ed632e3{--width:980px;}}@media(max-width:1024px) and (min-width:768px){.elementor-421266 .elementor-element.elementor-element-d1c3944{--width:692px;}.elementor-421266 .elementor-element.elementor-element-ed632e3{--width:692px;}}/* Start custom CSS for form, class: .elementor-element-dabd0fe *//* ===========================================================
   CSS v9 — remplace ENTIÈREMENT le contenu précédent.
   =========================================================== */

.elementor-421266 .elementor-element.elementor-element-dabd0fe {
    --field-font-family: SF Pro Text, SF Pro Icons, Helvetica Neue, Helvetica, Arial, sans-serif;
    --field-font-size: 17px;
    --field-border-color: #86868b;
    --field-bg: rgba(255,255,255,.85);
    --field-text: #1d1d1f;
    --field-label: #6e6e73;
    --field-focus: #5DC5A9;
    --field-error: #e30000;
}

/* -----------------------------------------------------------
   Grille 2 colonnes — espacement uniforme de 14px partout
   (entre colonnes ET entre lignes), peu importe ce qu'Elementor
   ajoute nativement par ailleurs.
   ----------------------------------------------------------- */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-form-fields-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    align-items: start;
}
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-col-100 {
    grid-column: 1 / -1 !important;
}
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-form-fields-wrapper > .elementor-field-group {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
}
@media (max-width: 767px) {
    .elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-form-fields-wrapper {
        grid-template-columns: 1fr;
    }
    .elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-type-html {
        display: none !important;
    }
    /* Respiration visuelle reportée sur mobile : uniquement sur
       "Nombre de la organización" (après País) et sur "Comentarios"
       (après Interested solutions) — pas après Cargo. */
    .elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group-company,
    .elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group-message {
        margin-top: 26px;
    }
}

/* "Nombre de la organización" démarre toujours une nouvelle
   ligne, colonne 1 — laisse la case de droite de "País" vide */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group-company {
    grid-column: 1 !important;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group {
    position: relative;
    padding: 0 !important;
}

/* Espace supplémentaire au-dessus des cases HTML vides
   (26px de plus, en plus du gap normal de 14px de la grille
   → 40px au total avant ces cases précises) */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-type-html {
    margin-top: 12px;
}

/* -----------------------------------------------------------
   Cadre commun — champs natifs : texte, e-mail, téléphone,
   zone de texte
   ----------------------------------------------------------- */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field {
    width: 100%;
    height: 56px;
    border-radius: 12px !important;
    border: 1.1px solid var(--field-border-color) !important;
    background-color: var(--field-bg) !important;
    font-family: var(--field-font-family);
    font-size: var(--field-font-size);
    color: var(--field-text) !important;
    box-sizing: border-box;
    box-shadow: none !important;
    transition: border-color .125s ease-in, box-shadow .125s ease-in;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field:focus {
    outline: none !important;
    border-color: var(--field-focus) !important;
    box-shadow: 0 0 0 1px var(--field-focus) inset !important;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-type-text input.elementor-field,
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-type-email input.elementor-field,
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-type-tel input.elementor-field {
    padding: 1.2rem 16px 0.2rem !important;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-type-text input.elementor-field::placeholder,
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-type-email input.elementor-field::placeholder,
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-type-tel input.elementor-field::placeholder {
    color: transparent;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe textarea.elementor-field {
    height: auto !important;
    min-height: 130px;
    padding: 1.6rem 16px 0.5rem !important;
    resize: vertical;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe textarea.elementor-field::placeholder {
    color: transparent;
}

/* -----------------------------------------------------------
   Champ "Select" natif (Pays, Cargo, Número de niños,
   ¿En qué podemos ayudarle?) : le vrai <select> reste actif,
   on l'habille juste pour qu'il ressemble aux autres champs.
   Le menu qui s'ouvre au clic est 100% natif du navigateur.
   ----------------------------------------------------------- */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-select-wrapper {
    position: relative;
    width: 100%;
    height: 56px;
    overflow: hidden;
    border-radius: 12px !important;
    border: 1.1px solid var(--field-border-color) !important;
    background-color: var(--field-bg) !important;
    box-sizing: border-box;
    box-shadow: none !important;
    transition: border-color .125s ease-in, box-shadow .125s ease-in;
}
/* Un vrai select à CHOIX MULTIPLE (Interested solutions) reste
   entièrement caché — notre menu personnalisé continue de le
   remplacer visuellement, comme avant. */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-select-wrapper:has(select[multiple]) {
    display: none !important;
}
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-select-wrapper:has(select:focus) {
    border-color: var(--field-focus) !important;
    box-shadow: 0 0 0 1px var(--field-focus) inset !important;
}
.elementor-421266 .elementor-element.elementor-element-dabd0fe select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 100%;
    border: none !important;
    border-radius: 12px !important;
    background: transparent !important;
    padding: 1.2rem 2.35rem 0.2rem 16px !important;
    cursor: pointer;
    font-family: var(--field-font-family);
    font-size: var(--field-font-size);
    color: var(--field-text) !important;
}
/* Tant qu'aucun vrai choix n'a été fait, le texte affiché dans
   la case FERMÉE reste invisible (couleur transparente). Le
   menu ouvert, lui, reste 100% natif et affiche tout normalement. */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group:not(.nb-has-value) select {
    color: transparent !important;
}
.elementor-421266 .elementor-element.elementor-element-dabd0fe select:focus {
    outline: none !important;
}
/* Chevron natif d'Elementor masqué, remplacé par le nôtre */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .select-caret-down-wrapper {
    display: none !important;
}
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-select-wrapper::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid var(--field-label);
    border-bottom: 1.5px solid var(--field-label);
    transform: translateY(-70%) rotate(45deg);
    pointer-events: none;
}

/* -----------------------------------------------------------
   Label flottant — règle commune à tous les types de champ
   ----------------------------------------------------------- */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group label.elementor-field-label {
    position: absolute;
    pointer-events: none;
    top: 18px;
    left: 16px;
    font-size: var(--field-font-size);
    line-height: 1.2;
    color: var(--field-label);
    max-width: calc(100% - 44px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: all .125s ease-in;
    margin: 0;
    z-index: 2;
}

/* Le label remonte lorsque le champ est actif, contient une
   valeur ou possède au moins une option sélectionnée. */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group:has(input.elementor-field:focus) label.elementor-field-label,
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group:has(textarea.elementor-field:focus) label.elementor-field-label,
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group.nb-has-value label.elementor-field-label,
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group:has(.nb-custom-select.nb-filled) label.elementor-field-label {
    font-size: 12px;
    top: 10px;
}

/* -----------------------------------------------------------
   Astérisque et cadre rouge pour les champs obligatoires
   manquants
   ----------------------------------------------------------- */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-mark-required .elementor-field-label::after,
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-required .elementor-field-label::after {
    opacity: 0;
    color: var(--field-error);
    transition: opacity .15s ease-in;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group.nb-invalid .elementor-field-label::after {
    opacity: 1;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group.nb-invalid .elementor-field,
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-field-group.nb-invalid .nb-custom-select-header {
    border-color: var(--field-error) !important;
    background-color: #fff2f4 !important;
}

/* Messages de validation natifs d’Elementor */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-message-danger,
.elementor-421266 .elementor-element.elementor-element-dabd0fe .elementor-help-inline {
    display: block;
    margin-top: 0.4rem;
    font-size: 12px;
    color: var(--field-error);
}

/* -----------------------------------------------------------
   Menus déroulants personnalisés
   ----------------------------------------------------------- */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-custom-select {
    position: relative;
    width: 100%;
    margin-bottom: 0;
}

/* Cadre visible des champs à choix multiples */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-custom-select-header {
    position: relative;
    display: block;
    width: 100%;
    min-height: 56px;
    height: auto;
    padding: 0.9rem 2.35rem 0.9rem 16px;
    overflow: visible;
    cursor: pointer;
    border: 1.1px solid var(--field-border-color) !important;
    border-radius: 12px !important;
    background-color: var(--field-bg) !important;
    box-sizing: border-box;
    box-shadow: none !important;
    transition: border-color .125s ease-in, box-shadow .125s ease-in;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-custom-select-header.nb-active {
    border-color: var(--field-focus) !important;
    box-shadow: 0 0 0 1px var(--field-focus) inset;
}

/* Flèche des menus */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-custom-select-header::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid var(--field-label);
    border-bottom: 1.5px solid var(--field-label);
    transform: translateY(-70%) rotate(45deg);
    pointer-events: none;
}

/* -----------------------------------------------------------
   Puces du champ Interested solutions
   ----------------------------------------------------------- */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-custom-select-chips {
    display: none;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-custom-select.nb-filled .nb-custom-select-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 1.1rem;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-chip {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 5px;
    background-color: #f5f5f7;
    color: var(--field-text);
    font-size: 14px;
}

/* -----------------------------------------------------------
   Liste des options
   ----------------------------------------------------------- */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-custom-select-options {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 50;
    max-height: 260px;
    padding: 6px;
    overflow-y: auto;
    border: 1.1px solid var(--field-focus);
    border-radius: 12px;
    background: #ffffff;
    box-sizing: border-box;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-custom-select-options.nb-open {
    display: block;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 16px;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-option:hover {
    background-color: #f5f5f7;
}

/* Indicateurs personnalisés */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-option-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    border: 1.5px solid var(--field-border-color);
    box-sizing: border-box;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-indicator-checkbox {
    border-radius: 4px;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-option-indicator.nb-checked {
    border-color: var(--field-focus);
    background-color: var(--field-focus);
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-indicator-checkbox.nb-checked::after {
    content: "";
    width: 4px;
    height: 8px;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: rotate(45deg) translate(-1px, -1px);
}

/* -----------------------------------------------------------
   Masquer le message natif brut d’Elementor.

   Son texte est récupéré par le JavaScript et affiché dans
   le panneau de confirmation personnalisé.
   ----------------------------------------------------------- */
.elementor-421266 .elementor-element.elementor-element-dabd0fe > .elementor-message-success {
    display: none !important;
}

/* -----------------------------------------------------------
   Panneau de confirmation animé
   ----------------------------------------------------------- */
.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-success-panel {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 320px;
    padding: 3.5rem 2rem;
    border: 1px solid var(--field-focus);
    border-radius: 20px;
    background-color: #eefaf7;
    text-align: center;
    opacity: 0;
    transform: scale(0.92);
    transition:
        opacity .4s ease,
        transform .4s cubic-bezier(.2,1.4,.4,1);
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-success-panel.nb-visible {
    display: flex;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-success-panel.nb-animate-in {
    opacity: 1;
    transform: scale(1);
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-success-icon {
    margin-bottom: 24px;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-success-ring {
    stroke: var(--field-focus);
    stroke-dasharray: 251;
    stroke-dashoffset: 251;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-success-panel.nb-draw-ring .nb-success-ring {
    stroke-dashoffset: 0;
    transition: stroke-dashoffset .6s ease;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-success-check {
    stroke: var(--field-focus);
    stroke-dasharray: 50;
    stroke-dashoffset: 50;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-success-panel.nb-draw-check .nb-success-check {
    stroke-dashoffset: 0;
    transition: stroke-dashoffset .35s ease;
}

.elementor-421266 .elementor-element.elementor-element-dabd0fe .nb-success-text {
    max-width: 360px;
    font-family: var(--field-font-family);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    color: #2f806d;
}

/* Le style du bouton d’envoi est géré directement dans Elementor. *//* End custom CSS */