.elementor-12524 .elementor-element.elementor-element-44adb482{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:5%;--padding-bottom:5%;--padding-left:0%;--padding-right:0%;}.elementor-12524 .elementor-element.elementor-element-720b4eb3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:020px 0px;--row-gap:020px;--column-gap:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:02%;}.elementor-12524 .elementor-element.elementor-element-76facbd6 .elementor-heading-title{color:#111111;}.elementor-12524 .elementor-element.elementor-element-2d32816{width:var( --container-widget-width, 650px );max-width:650px;--container-widget-width:650px;--container-widget-flex-grow:0;text-align:left;}.elementor-12524 .elementor-element.elementor-element-46eb1644{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12524 .elementor-element.elementor-element-7742c319 .elementor-button{background-color:#763892;font-family:"Inter", Sans-serif;font-size:20px;font-weight:500;text-decoration:none;}.elementor-12524 .elementor-element.elementor-element-7742c319 .elementor-button:hover, .elementor-12524 .elementor-element.elementor-element-7742c319 .elementor-button:focus{background-color:#A85CCA;}.elementor-12524 .elementor-element.elementor-element-7742c319 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-12524 .elementor-element.elementor-element-3f916cd8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-12524 .elementor-element.elementor-element-2a65890{--display:flex;}.elementor-12524 .elementor-element.elementor-element-7cc33fc > .elementor-widget-container{margin:50px 0px 025px 0px;}.elementor-12524 .elementor-element.elementor-element-7cc33fc{text-align:center;}.elementor-12524 .elementor-element.elementor-element-7cc33fc .elementor-heading-title{font-size:40px;}.elementor-12524 .elementor-element.elementor-element-dd76fe7{--grid-columns:1;}.elementor-12524 .elementor-element.elementor-element-e07b9d6{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:50px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;}.elementor-12524 .elementor-element.elementor-element-dfee3c6 .elementor-button{background-color:#763892;}.elementor-12524 .elementor-element.elementor-element-dfee3c6 .elementor-button:hover, .elementor-12524 .elementor-element.elementor-element-dfee3c6 .elementor-button:focus{background-color:#A85CCA;}.elementor-12524 .elementor-element.elementor-element-dfee3c6 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-12524 .elementor-element.elementor-element-5eb92e9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-12524 .elementor-element.elementor-element-5eb92e9:not(.elementor-motion-effects-element-type-background), .elementor-12524 .elementor-element.elementor-element-5eb92e9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F0F2F76B;}.elementor-12524 .elementor-element.elementor-element-a354cac{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-12524 .elementor-element.elementor-element-ae955f2{text-align:center;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:20px;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-20px;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-12524 .elementor-element.elementor-global-12547 .elementor-labels-inline .elementor-field-group > label{padding-left:11px;}body:not(.rtl) .elementor-12524 .elementor-element.elementor-global-12547 .elementor-labels-inline .elementor-field-group > label{padding-right:11px;}body .elementor-12524 .elementor-element.elementor-global-12547 .elementor-labels-above .elementor-field-group > label{padding-bottom:11px;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-group > label{font-family:"Inter", Sans-serif;font-size:18px;font-weight:600;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-html{padding-bottom:0px;font-family:"Inter", Sans-serif;font-weight:400;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-group .elementor-field, .elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-subgroup label{font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-button{font-family:"Roboto", Sans-serif;font-size:20px;font-weight:500;padding:15px 50px 015px 50px;}.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-button[type="submit"]{color:#ffffff;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-12524 .elementor-element.elementor-global-12547 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-12524 .elementor-element.elementor-global-12547{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-1be212b );--e-form-steps-indicator-progress-height:20px;--e-form-steps-indicator-progress-border-radius:25px;--e-form-steps-indicator-progress-meter-color:var( --e-global-color-ef60fbf );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-12524 .elementor-element.elementor-element-2d32816{width:var( --container-widget-width, 550px );max-width:550px;--container-widget-width:550px;--container-widget-flex-grow:0;}.elementor-12524 .elementor-element.elementor-element-dd76fe7{--grid-columns:2;}}@media(max-width:767px){.elementor-12524 .elementor-element.elementor-element-44adb482{--content-width:84%;}.elementor-12524 .elementor-element.elementor-element-76facbd6{text-align:center;}.elementor-12524 .elementor-element.elementor-element-2d32816{width:100%;max-width:100%;text-align:center;}.elementor-12524 .elementor-element.elementor-element-46eb1644{--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;--align-items:center;--gap:040px 25px;--row-gap:040px;--column-gap:25px;--padding-top:0px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-12524 .elementor-element.elementor-element-46eb1644.e-con{--align-self:center;}.elementor-12524 .elementor-element.elementor-element-7742c319 > .elementor-widget-container{margin:-16px 0px 0px 0px;}.elementor-12524 .elementor-element.elementor-element-dd76fe7{--grid-columns:1;}.elementor-12524 .elementor-element.elementor-element-dfee3c6 > .elementor-widget-container{margin:-16px 0px 0px 0px;}.elementor-12524 .elementor-element.elementor-global-12547{--e-form-steps-indicator-progress-height:30px;}}@media(min-width:768px){.elementor-12524 .elementor-element.elementor-element-720b4eb3{--width:50%;}.elementor-12524 .elementor-element.elementor-element-3f916cd8{--width:50%;}.elementor-12524 .elementor-element.elementor-element-5eb92e9{--content-width:634px;}.elementor-12524 .elementor-element.elementor-element-a354cac{--width:100%;}}/* Start custom CSS for global, class: .elementor-global-12547 */.elementor-field-type-recaptcha_v3{ 
  display: none !important;
}

/* ========================================
   FORMULAIRE MULTI-ÉTAPES - GÉNÉRAL
======================================== */

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form {
    max-width: 800px;
    margin: 0 auto;
    border-radius: 12px;
}

/* Titres des pages */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-step {
    margin-bottom: 40px;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-step h3 {
    font-size: 28px;
    font-weight: 700;
    color: #000000;
    margin-bottom: 10px;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-step p {
    margin-bottom: 0;
}

/* ========================================
   FIX FLASH / TRANSITIONS FLUIDES
======================================== */

/* Masquer le contenu pendant le changement d'étape */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
    will-change: opacity;
}

/* Prévenir le flash */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form.elementor-form-loading .elementor-field-group {
    opacity: 0;
}

/* Container des steps avec hauteur minimale pour éviter les sauts */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-form-fields-wrapper {
    min-height: 400px;
    transition: min-height 0.3s ease;
}

/* Smooth transition entre les steps */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-type-step > div {
    animation: fadeIn 0.4s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* ========================================
   LAYOUT - CHAMPS CÔTE À CÔTE
======================================== */

/* Container principal en flex */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-form-fields-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

/* Par défaut, tous les champs prennent 100% avec espacement */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group {
    flex: 1 1 100%;
    margin-bottom: 35px;
}

/* Champs à 50% définis dans Elementor */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group.elementor-col-50 {
    flex: 1 1 calc(50% - 10px);
}

/* Champs à 33% définis dans Elementor */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group.elementor-col-33 {
    flex: 1 1 calc(33.333% - 14px);
}

/* Champs à 25% définis dans Elementor */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group.elementor-col-25 {
    flex: 1 1 calc(25% - 15px);
}

/* Champs à 66% définis dans Elementor */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group.elementor-col-66 {
    flex: 1 1 calc(66.666% - 7px);
}

/* Champs à 75% définis dans Elementor */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group.elementor-col-75 {
    flex: 1 1 calc(75% - 5px);
}

/* Boutons prennent toujours 100% */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-submit,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-next,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-previous {
    flex: 1 1 100%;
}

/* ========================================
   INDICATEURS D'ÉTAPES
======================================== */

/* ========================================
   CHAMPS DE FORMULAIRE - GÉNÉRAL
======================================== */

/* Espacement spécifique pour les labels de questions */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-label {
    font-size: 15px;
    font-weight: 600;
    color: #000000;
    margin-bottom: 15px;
    display: block;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-required {
    color: #763892;
    margin-left: 3px;
}

/* Espacement supplémentaire avant chaque nouveau groupe de radio/checkbox */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox {
    margin-top: 10px;
}

/* Inputs text, email, tel, number */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-textual {
    width: 100%;
    padding: 14px 18px;
    font-size: 15px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    color: #000000;
    transition: all 0.3s ease;
    font-family: inherit;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-textual:focus {
    outline: none;
    border-color: #763892;
    box-shadow: 0 0 0 3px rgba(118, 56, 146, 0.1);
    background: #fafafa;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-textual::placeholder {
    color: #a0aec0;
}

/* Textarea */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-textual[rows] {
    resize: vertical;
    min-height: 120px;
    line-height: 1.6;
}

/* Select */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-textual[multiple],
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-textual:not([type]) {
    padding: 12px 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23763892' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px;
    appearance: none;
    cursor: pointer;
}

/* ========================================
   RADIO BUTTONS - STYLE MODERNE
======================================== */

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio .elementor-field-subgroup {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Radio buttons en ligne (inline) */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-option.elementor-inline {
    display: inline-flex !important;
    margin-right: 20px;
}

/* Agrandir la zone cliquable de toute l'option */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio .elementor-field-option {
    display: flex;
    align-items: center;
    position: relative;
    padding: 16px 20px;
    background: #f7fafc;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    min-height: 56px;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio .elementor-field-option:hover {
    background: #edf2f7;
    border-color: #cbd5e0;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* État actif au clic */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio .elementor-field-option:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

/* Radio button input caché */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Custom radio button - Le label prend toute la place */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio input[type="radio"] + label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 15px;
    color: #000000;
    font-weight: 500;
    width: 100%;
    margin: 0;
    padding-left: 35px;
    position: relative;
    min-height: 24px;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio input[type="radio"] + label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    border: 2px solid #cbd5e0;
    border-radius: 50%;
    background: white;
    transition: all 0.3s ease;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio input[type="radio"] + label::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 50%;
    transform: translateY(-50%) scale(0);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: white;
    transition: all 0.3s ease;
}

/* Radio checked */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio input[type="radio"]:checked + label::before {
    background: #763892;
    border-color: #763892;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio input[type="radio"]:checked + label::after {
    transform: translateY(-50%) scale(1);
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio input[type="radio"]:checked ~ .elementor-field-option,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio .elementor-field-option:has(input:checked) {
    background: #f9f5fb;
    border-color: #763892;
    box-shadow: 0 4px 15px rgba(118, 56, 146, 0.15);
}

/* Empêcher la sélection de texte lors du clic */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio .elementor-field-option,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio input[type="radio"] + label {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* ========================================
   CHECKBOXES - STYLE MODERNE
======================================== */

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox .elementor-field-subgroup {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox .elementor-field-option {
    display: flex;
    align-items: center;
    position: relative;
    padding: 16px 20px;
    background: #f7fafc;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    min-height: 56px;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox .elementor-field-option:hover {
    background: #edf2f7;
    border-color: #cbd5e0;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox .elementor-field-option:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

/* Checkbox input caché */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Custom checkbox */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox input[type="checkbox"] + label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 15px;
    color: #000000;
    font-weight: 500;
    width: 100%;
    margin: 0;
    padding-left: 35px;
    position: relative;
    min-height: 24px;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox input[type="checkbox"] + label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    border: 2px solid #cbd5e0;
    border-radius: 6px;
    background: white;
    transition: all 0.3s ease;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox input[type="checkbox"] + label::after {
    content: '✓';
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%) scale(0);
    font-size: 16px;
    font-weight: bold;
    color: white;
    transition: all 0.3s ease;
}

/* Checkbox checked */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox input[type="checkbox"]:checked + label::before {
    background: #763892;
    border-color: #763892;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox input[type="checkbox"]:checked + label::after {
    transform: translateY(-50%) scale(1);
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox input[type="checkbox"]:checked ~ .elementor-field-option,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox .elementor-field-option:has(input:checked) {
    background: #f9f5fb;
    border-color: #763892;
    box-shadow: 0 4px 15px rgba(118, 56, 146, 0.15);
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox .elementor-field-option,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox input[type="checkbox"] + label {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* ========================================
   ACCEPTANCE (RGPD)
======================================== */

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-acceptance {
    margin-top: 25px;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-acceptance input[type="checkbox"] {
    margin-right: 10px;
    width: 20px;
    height: 20px;
    cursor: pointer;
    accent-color: #763892;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-acceptance label {
    font-size: 14px;
    color: #000000;
    line-height: 1.6;
    cursor: pointer;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-acceptance label a {
    color: #763892;
    text-decoration: underline;
    font-weight: 600;
}

/* ========================================
   BOUTONS - FIX LAYOUT COLONNES
======================================== */

/* FORCER le container des boutons en colonne verticale */
.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons.elementor-column.elementor-col-100 {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 10px !important;
    width: 100% !important;
    align-items: stretch !important;
}

/* Les wrappers individuels ne doivent PAS être en flex-row */
.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper.elementor-field-group {
    display: block !important;
    width: 100% !important;
    margin-bottom: 0 !important;
    flex: none !important;
}

/* Ordre inversé : Suivant en premier, Précédent en second */
.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper.elementor-field-type-next {
    order: -1 !important;
}

.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper.elementor-field-type-previous {
    order: 1 !important;
}

/* BOUTON SUIVANT - Style principal */
.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper__button-next,
.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper__button.e-form__buttons__wrapper__button-next,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-button.e-form__buttons__wrapper__button-next {
    width: 100% !important;
    display: block !important;
    padding: 18px 40px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    background: #763892 !important;
    color: white !important;
    box-shadow: 0 4px 15px rgba(118, 56, 146, 0.3) !important;
}

.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper__button-next:hover {
    background: #5f2d75 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(118, 56, 146, 0.4) !important;
}

/* BOUTON PRÉCÉDENT - Style discret */
.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper__button-previous,
.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper__button.e-form__buttons__wrapper__button-previous,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-button.e-form__buttons__wrapper__button-previous {
    width: 100% !important;
    display: block !important;
    padding: 14px 40px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    background: transparent !important;
    color: #000000 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper__button-previous:hover {
    background: rgba(0, 0, 0, 0.05) !important;
    text-decoration: underline !important;
}

/* Bouton Submit (dernière page) */
.elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons button[type="submit"] {
    width: 100% !important;
    display: block !important;
    padding: 18px 40px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    background: #763892 !important;
    color: white !important;
    box-shadow: 0 4px 15px rgba(118, 56, 146, 0.3) !important;
}

/* ========================================
   MESSAGES DE VALIDATION
======================================== */

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-message.elementor-message-danger {
    background: #fed7d7;
    color: #c53030;
    padding: 15px 20px;
    border-radius: 8px;
    border-left: 4px solid #e53e3e;
    margin-bottom: 20px;
    font-weight: 500;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-error {
    color: #e53e3e;
    font-size: 13px;
    margin-top: 6px;
    display: block;
    font-weight: 500;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-textual.elementor-field-invalid {
    border-color: #e53e3e;
}

/* Message de succès */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-message.elementor-message-success {
    background: #c6f6d5;
    color: #22543d;
    padding: 20px 25px;
    border-radius: 8px;
    border-left: 4px solid #38a169;
    font-weight: 500;
    font-size: 16px;
}

/* ========================================
   FIX FLASH SUPPLÉMENTAIRE
======================================== */

/* Empêcher le FOUC (Flash Of Unstyled Content) */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.3s ease;
}

/* Smooth height transition */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .e-form__indicators__indicator,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-option,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-button {
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
}

/* Optimisation GPU */
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-option,
.elementor-12524 .elementor-element.elementor-global-12547 .e-form__indicators__indicator {
    transform: translateZ(0);
    will-change: transform, opacity;
}

/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 1024px) {
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-form {
        padding: 30px;
    }
}

@media (max-width: 768px) {
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-form {
        padding: 25px 20px;
        border-radius: 8px;
    }
    
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-step h3 {
        font-size: 24px;
    }
    
    /* Indicateurs d'étapes plus petits */
    .elementor-12524 .elementor-element.elementor-global-12547 .e-form__indicators {
        gap: 8px;
        margin-bottom: 35px;
    }
    
    .elementor-12524 .elementor-element.elementor-global-12547 .e-form__indicators__indicator {
        width: 35px;
        height: 35px;
        font-size: 14px;
    }
    
    .elementor-12524 .elementor-element.elementor-global-12547 .e-form__indicators__indicator:not(:last-child)::after {
        width: 8px;
    }
    
    /* Boutons restent en column-reverse sur mobile aussi */
    .elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons.elementor-column {
        flex-direction: column-reverse !important;
    }
    
    .elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper__button-next,
    .elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons__wrapper__button-previous,
    .elementor-12524 .elementor-element.elementor-global-12547 .e-form__buttons button[type="submit"] {
        width: 100%;
        padding: 14px 30px !important;
    }
    
    /* Radio/Checkbox plus petits */
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-radio .elementor-field-option,
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-checkbox .elementor-field-option {
        padding: 12px 16px;
    }
    
    /* Radio inline devient vertical sur mobile */
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-option.elementor-inline {
        display: flex !important;
        margin-right: 0;
        margin-bottom: 10px;
    }
    
    /* TOUS LES CHAMPS DEVIENNENT FULL WIDTH SUR MOBILE */
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group.elementor-col-50,
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group.elementor-col-33,
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group.elementor-col-25,
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group.elementor-col-66,
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-form .elementor-field-group.elementor-col-75 {
        flex: 1 1 100%;
    }
}

@media (max-width: 480px) {
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-form {
        padding: 20px 15px;
    }
    
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-type-step h3 {
        font-size: 20px;
    }
    
    .elementor-12524 .elementor-element.elementor-global-12547 .e-form__indicators__indicator {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }
    
    .elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-textual {
        padding: 12px 15px;
        font-size: 14px;
    }
}

/* ========================================
   HELPER TEXT
======================================== */

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-label small,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-description {
    display: block;
    font-size: 13px;
    color: #718096;
    margin-top: 5px;
    font-weight: 400;
    line-height: 1.5;
}

/* ========================================
   FOCUS VISIBLE (Accessibilité)
======================================== */

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-field-textual:focus-visible,
.elementor-12524 .elementor-element.elementor-global-12547 .elementor-button:focus-visible {
    outline: 3px solid #763892;
    outline-offset: 2px;
}

/* ========================================
   LOADING STATE
======================================== */

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-button.elementor-button-loading {
    pointer-events: none;
    opacity: 0.7;
    position: relative;
}

.elementor-12524 .elementor-element.elementor-global-12547 .elementor-button.elementor-button-loading::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 50%;
    margin-left: -8px;
    margin-top: -8px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: white;
    animation: spinner 0.6s linear infinite;
}

@keyframes spinner {
    to { transform: rotate(360deg); }
}/* End custom CSS */