.elementor-2807 .elementor-element.elementor-element-3439458c{--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:stretch;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2807 .elementor-element.elementor-element-3439458c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );font-style:var( --e-global-typography-primary-font-style );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-2807 .elementor-element.elementor-element-1ff8e877{text-align:center;}.elementor-2807 .elementor-element.elementor-element-1ff8e877 .elementor-heading-title{font-family:"avenir-next-lt-pro", Sans-serif;font-size:28px;text-transform:capitalize;line-height:41px;letter-spacing:1px;color:var( --e-global-color-text );}.elementor-2807 .elementor-element.elementor-element-d7866ea{--display:flex;--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2807 .elementor-element.elementor-element-d7866ea.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2807 .elementor-element.elementor-element-64814c6{width:100%;max-width:100%;padding:5% 5% 5% 5%;--e-form-steps-indicators-spacing:60px;--e-form-steps-indicator-padding:24px;--e-form-steps-indicator-inactive-primary-color:#ABB7C2;--e-form-steps-indicator-inactive-secondary-color:#FFFFFF;--e-form-steps-indicator-active-primary-color:var( --e-global-color-primary );--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-primary-color:var( --e-global-color-text );--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;}.elementor-2807 .elementor-element.elementor-element-64814c6.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-group{padding-right:calc( 20px/2 );padding-left:calc( 20px/2 );margin-bottom:25px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-form-fields-wrapper{margin-left:calc( -20px/2 );margin-right:calc( -20px/2 );margin-bottom:-25px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-labels-inline .elementor-field-group > label{padding-left:8px;}body:not(.rtl) .elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-labels-inline .elementor-field-group > label{padding-right:8px;}body .elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-labels-above .elementor-field-group > label{padding-bottom:8px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-group > label, .elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-subgroup label{color:#9CA6C1;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-group > label{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-type-html{padding-bottom:0px;color:#9CA6C1;font-family:"avenir-next-lt-pro", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-group .elementor-field{color:#9CA6C1;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-group .elementor-field, .elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-subgroup label{font-family:"avenir-next-lt-pro", Sans-serif;font-size:16px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){border-color:#E7EDF6;border-width:1px 1px 1px 1px;border-radius:24px 24px 24px 24px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-group .elementor-select-wrapper select{border-color:#E7EDF6;border-width:1px 1px 1px 1px;border-radius:24px 24px 24px 24px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-group .elementor-select-wrapper::before{color:#E7EDF6;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-button{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:500;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;border-style:solid;border-width:1px 1px 1px 1px;border-radius:60px 60px 60px 60px;padding:12px 24px 12px 24px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-primary );color:#FFFFFF;border-color:var( --e-global-color-primary );}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-button[type="submit"]{background-color:var( --e-global-color-primary );color:#FFFFFF;border-color:var( --e-global-color-primary );}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-2807 .elementor-element.elementor-element-64814c6 .e-form__buttons__wrapper__button-previous{background-color:#467FF700;color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2807 .elementor-element.elementor-element-64814c6 .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-primary );color:#FFFFFF;border-color:var( --e-global-color-primary );}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-primary );color:#FFFFFF;border-color:var( --e-global-color-primary );}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-button[type="submit"]:hover svg *{fill:#FFFFFF;}.elementor-2807 .elementor-element.elementor-element-64814c6 .e-form__buttons__wrapper__button-previous:hover{background-color:#ABB7C2;color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-message{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-message.elementor-message-success{color:#467FF7;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-message.elementor-message-danger{color:#324A6D;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-message.elementor-help-inline{color:#324A6D;}.elementor-2807 .elementor-element.elementor-element-64814c6 .e-form__indicators__indicator, .elementor-2807 .elementor-element.elementor-element-64814c6 .e-form__indicators__indicator__label{font-family:"avenir-next-lt-pro", Sans-serif;font-size:16px;font-weight:500;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;}#elementor-popup-modal-2807 .dialog-widget-content{animation-duration:1.2s;background-color:#FFFFFF;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-2807{background-color:#00000080;justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-2807 .dialog-message{width:635px;height:764px;align-items:center;}#elementor-popup-modal-2807 .dialog-close-button{display:flex;}#elementor-popup-modal-2807 .dialog-close-button i{color:#333333;}#elementor-popup-modal-2807 .dialog-close-button svg{fill:#333333;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-2807 .elementor-element.elementor-element-1ff8e877 .elementor-heading-title{font-size:24px;line-height:30px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-group > label{font-size:14px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-type-html{font-size:14px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-group .elementor-field, .elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-field-subgroup label{font-size:14px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-button{font-size:14px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .elementor-message{font-size:14px;}.elementor-2807 .elementor-element.elementor-element-64814c6 .e-form__indicators__indicator, .elementor-2807 .elementor-element.elementor-element-64814c6 .e-form__indicators__indicator__label{font-size:14px;}#elementor-popup-modal-2807 .dialog-message{width:75vw;height:75vh;}}@media(min-width:768px){.elementor-2807 .elementor-element.elementor-element-3439458c{--width:88.414%;}.elementor-2807 .elementor-element.elementor-element-d7866ea{--width:100%;}}@media(max-width:767px){.elementor-2807 .elementor-element.elementor-element-3439458c{--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}#elementor-popup-modal-2807 .dialog-message{width:100vw;height:90vh;}#elementor-popup-modal-2807{align-items:center;}}/* Start custom CSS for container, class: .elementor-element-3439458c *//* ============================================
   COMPLETE ELEMENTOR FORM STYLING - FINAL VERSION
   ============================================ */

/* ============================================
   1. POPUP WIDTH AND SIZING
   ============================================ */

/* Popup modal container */
.dialog-widget-content.dialog-lightbox-widget-content {
    max-width: 900px !important;
    width: 90vw !important;
    padding: 0 !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
}

.elementor-2807.elementor-location-popup {
    max-width: 900px !important;
    width: 100% !important;
}

.dialog-message.dialog-lightbox-message {
    max-width: 900px !important;
    width: 100% !important;
    padding: 40px !important;
}

/* ============================================
   2. HEADER STYLING
   ============================================ */

/* Title */
.elementor-element-1ff8e877 .elementor-heading-title {
    font-size: 28px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-align: center !important;
    margin-bottom: 15px !important;
}

/* Description text */
.elementor-element-1f58bf64 p {
    font-size: 15px !important;
    color: #666 !important;
    text-align: center !important;
    line-height: 1.6 !important;
    margin-bottom: 30px !important;
}

/* ============================================
   3. STEP INDICATORS
   ============================================ */

.e-form__indicators {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 40px !important;
    gap: 15px !important;
    padding: 0 !important;
}

.e-form__indicators__indicator {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
}

.e-form__indicators__indicator__number {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    border: 2px solid #e0e0e0 !important;
}

/* Active step */
.e-form__indicators__indicator--state-active .e-form__indicators__indicator__number {
    background: #00b8d4 !important;
    color: #ffffff !important;
    border-color: #00b8d4 !important;
}

.e-form__indicators__indicator--state-active .e-form__indicators__indicator__label {
    color: #00b8d4 !important;
    font-weight: 600 !important;
}

/* Inactive step */
.e-form__indicators__indicator--state-inactive .e-form__indicators__indicator__number {
    background: #f5f5f5 !important;
    color: #bbb !important;
    border-color: #e0e0e0 !important;
}

.e-form__indicators__indicator--state-inactive .e-form__indicators__indicator__label {
    color: #999 !important;
    font-weight: 400 !important;
}

/* Step label */
.e-form__indicators__indicator__label {
    font-size: 14px !important;
    transition: all 0.3s ease !important;
}

/* Step separator */
.e-form__indicators__indicator__separator {
    width: 80px !important;
    height: 2px !important;
    background: #e0e0e0 !important;
    margin: 0 10px !important;
    margin-bottom: 25px !important;
}

/* ============================================
   4. FORM LAYOUT - 2 COLUMN GRID
   ============================================ */

.elementor-form-fields-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
    width: 100% !important;
}

/* Full width fields - ONLY Message, Upload, Radio buttons, Step, and Buttons */
.elementor-field-type-textarea,
.elementor-field-type-upload,
.elementor-field-type-step,
.e-form__buttons,
.elementor-field-type-radio {
    grid-column: 1 / -1 !important;
}

/* 50% width fields on desktop - Name, Location, Phone, Email */
.elementor-field-group-field_ba89a06,
.elementor-field-group-field_da38a56,
.elementor-field-group-field_1e12a26,
.elementor-field-group-email {
    grid-column: span 1 !important;
}

/* ============================================
   5. RADIO BUTTONS - 2 COLUMN GRID
   ============================================ */

.elementor-field-type-radio .elementor-field-subgroup {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
    width: 100% !important;
}

.elementor-field-type-radio .elementor-field-option {
    background: #fafafa !important;
    border: 1px solid rgba(231, 237, 246, 1) !important;
    border-radius: 10px !important;
    padding: 18px 20px !important;
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    width: 100% !important;
}

.elementor-field-type-radio .elementor-field-option:hover {
    background: #ffffff !important;
    border-color: #00b8d4 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

.elementor-field-type-radio .elementor-field-option:has(input:checked) {
    background: #ffffff !important;
    border-color: #00b8d4 !important;
    box-shadow: 0 2px 12px rgba(0, 184, 212, 0.12) !important;
}

.elementor-field-type-radio .elementor-field-option label {
    flex: 1 !important;
    margin: 0 !important;
    font-size: 14px !important;
    color: #333 !important;
    cursor: pointer !important;
    order: 1 !important;
    line-height: 1.5 !important;
}

.elementor-field-type-radio .elementor-field-option input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid #d0d0d0 !important;
    border-radius: 50% !important;
    outline: none !important;
    cursor: pointer !important;
    position: relative !important;
    margin: 0 0 0 10px !important;
    order: 2 !important;
    flex-shrink: 0 !important;
}

.elementor-field-type-radio .elementor-field-option input[type="radio"]:checked {
    border-color: #00b8d4 !important;
}

.elementor-field-type-radio .elementor-field-option input[type="radio"]:checked::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #00b8d4 !important;
}

/* ============================================
   6. TEXT INPUTS STYLING
   ============================================ */

.elementor-field-group > label {
    font-size: 13px !important;
    color: #999 !important;
    margin-bottom: 8px !important;
    font-weight: 400 !important;
    display: block !important;
}

.elementor-field-group input[type="text"],
.elementor-field-group input[type="email"],
.elementor-field-group input[type="tel"],
.elementor-field-group textarea {
    background: rgba(255, 255, 255, 1) !important;
    border: 1px solid rgba(231, 237, 246, 1) !important;
    border-radius: 24px !important;
    padding: 8px 16px 8px 40px !important;
    font-size: 14px !important;
    color: #333 !important;
    width: 100% !important;
    height: 49px !important;
    transition: all 0.3s ease !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
}

.elementor-field-group input:focus,
.elementor-field-group textarea:focus {
    border-color: #00b8d4 !important;
    outline: none !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(0, 184, 212, 0.08) !important;
}

.elementor-field-group input::placeholder,
.elementor-field-group textarea::placeholder {
    color: #ccc !important;
    font-weight: 300 !important;
}

/* MESSAGE TEXTAREA - 1 LIGNE SEULEMENT */
.elementor-field-group textarea {
    min-height: 49px !important;
    max-height: 49px !important;
    height: 49px !important;
    resize: none !important;
    padding: 12px 16px 12px 45px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    line-height: 1.4 !important;
}

.elementor-field-group {
    margin-bottom: 0 !important;
    position: relative !important;
}

.elementor-mark-required {
    color: #ff6b6b !important;
}

/* ============================================
   7. INPUT ICONS
   ============================================ */

/* User icon */
.elementor-field-group-field_ba89a06::before {
    content: '' !important;
    position: absolute !important;
    left: 16px !important;
    top: calc(50% + 16px) !important;
    transform: translateY(-50%) !important;
    width: 18px !important;
    height: 18px !important;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="rgba(156, 166, 193, 1)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Location icon */
.elementor-field-group-field_da38a56::before {
    content: '' !important;
    position: absolute !important;
    left: 16px !important;
    top: calc(50% + 16px) !important;
    transform: translateY(-50%) !important;
    width: 18px !important;
    height: 18px !important;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="rgba(156, 166, 193, 1)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"/><circle cx="12" cy="10" r="3"/></svg>') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Phone icon - Swiss flag */
.elementor-field-group-field_1e12a26::before {
    content: '' !important;
    position: absolute !important;
    left: 16px !important;
    top: calc(50% + 16px) !important;
    transform: translateY(-50%) !important;
    width: 18px !important;
    height: 18px !important;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 90"%3E%3Cpath fill="%23D52B1E" d="M87.429 30C81.254 12.534 64.611.015 45.034 0h-.068C25.389.015 8.745 12.534 2.571 30 .911 34.693 0 39.739 0 45c0 5.261.912 10.308 2.571 15C8.75 77.476 25.408 90 45 90s36.25-12.524 42.429-30C89.088 55.307 90 50.261 90 45c0-5.261-.911-10.307-2.571-15z"/%3E%3Cpath fill="%23F3F4F5" d="M67.5 38.25h-15.75v-15.75h-13.5v15.75h-15.75v13.5h15.75v15.75h13.5v-15.75h15.75z"/%3E%3C/svg%3E') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Email icon */
.elementor-field-group-email::before {
    content: '' !important;
    position: absolute !important;
    left: 16px !important;
    top: calc(50% + 16px) !important;
    transform: translateY(-50%) !important;
    width: 18px !important;
    height: 18px !important;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="rgba(156, 166, 193, 1)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"/><rect x="2" y="4" width="20" height="16" rx="2"/></svg>') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Message icon - AJUSTÉ POUR 1 LIGNE */
.elementor-field-group-message::before {
    content: '' !important;
    position: absolute !important;
    left: 16px !important;
    top: calc(50% + 16px) !important;
    transform: translateY(-50%) !important;
    width: 18px !important;
    height: 18px !important;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="rgba(156, 166, 193, 1)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"/></svg>') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* ============================================
   8. FILE UPLOAD - 2 LIGNES MAX
   ============================================ */

.elementor-field-type-upload {
    margin-top: 10px !important;
}

.elementor-field-type-upload .elementor-field-label {
    display: none !important;
}

.elementor-field-type-upload input[type="file"] {
    position: relative !important;
    opacity: 1 !important;
    border: 2px dashed #00b8d4 !important;
    border-radius: 12px !important;
    padding: 20px 30px !important;
    text-align: center !important;
    background: #f8fcfd !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    color: transparent !important;
    width: 100% !important;
    min-height: 70px !important;
    max-height: 70px !important;
    height: 70px !important;
}

.elementor-field-type-upload input[type="file"]::-webkit-file-upload-button {
    display: none !important;
}

.elementor-field-type-upload input[type="file"]::before {
    content: '' !important;
    display: inline-block !important;
    width: 30px !important;
    height: 30px !important;
    margin-right: 10px !important;
    vertical-align: middle !important;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48" fill="none"%3E%3Cpath d="M7.99872 29.7966C6.51281 28.2784 5.39186 26.442 4.72079 24.4265C4.04973 22.4109 3.84614 20.2691 4.12545 18.1632C4.40475 16.0573 5.15964 14.0426 6.33291 12.2716C7.50619 10.5007 9.06709 9.02001 10.8974 7.94168C12.7277 6.86335 14.7794 6.21568 16.8971 6.04773C19.0147 5.87978 21.1429 6.19595 23.1203 6.97229C25.0976 7.74864 26.8724 8.9648 28.3102 10.5286C29.7479 12.0925 30.811 13.963 31.4187 15.9986H34.9987C36.9297 15.9984 38.8096 16.6192 40.3607 17.7695C41.9118 18.9197 43.0518 20.5383 43.6123 22.3862C44.1728 24.2341 44.1241 26.2132 43.4734 28.0313C42.8227 29.8494 41.6045 31.41 39.9987 32.4826M23.9987 23.9986V41.9986M23.9987 23.9986L31.9987 31.9986M23.9987 23.9986L15.9987 31.9986" stroke="%23B3B3B3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    opacity: 0.6 !important;
}

.elementor-field-type-upload input[type="file"]::after {
    content: 'Déposez votre CV ou glissez-le ici  •  Format accepté : PDF, max 5MB' !important;
    display: inline-block !important;
    color: #666 !important;
    font-size: 13px !important;
    line-height: 30px !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

.elementor-field-type-upload input[type="file"]:hover {
    background: #eef8fa !important;
    border-color: #0096b8 !important;
}

/* ============================================
   9. BUTTONS
   ============================================ */

.e-form__buttons {
    display: flex !important;
    gap: 15px !important;
    justify-content: flex-start !important;
    margin-top: 30px !important;
    grid-column: 1 / -1 !important;
}

/* Previous button */
.e-form__buttons__wrapper__button-previous {
    background: transparent !important;
    color: #00b8d4 !important;
    border: 2px solid #00b8d4 !important;
    border-radius: 25px !important;
    padding: 12px 30px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.e-form__buttons__wrapper__button-previous:hover {
    background: #00b8d4 !important;
    color: #ffffff !important;
}

/* Next/Submit button */
.e-form__buttons__wrapper__button-next,
.elementor-button[type="submit"] {
    background: #00b8d4 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 25px !important;
    padding: 14px 35px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(0, 184, 212, 0.3) !important;
}

.e-form__buttons__wrapper__button-next:hover,
.elementor-button[type="submit"]:hover {
    background: #0096b8 !important;
    box-shadow: 0 6px 20px rgba(0, 184, 212, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* ============================================
   10. RESPONSIVE
   ============================================ */

@media (max-width: 1024px) {
    .dialog-message.dialog-lightbox-message {
        padding: 30px !important;
    }
}

@media (max-width: 768px) {
    /* Single column layout for ALL fields on mobile */
    .elementor-form-fields-wrapper {
        grid-template-columns: 1fr !important;
    }
    
    /* Force all input fields to full width on mobile */
    .elementor-field-group-field_ba89a06,
    .elementor-field-group-field_da38a56,
    .elementor-field-group-field_1e12a26,
    .elementor-field-group-email {
        grid-column: 1 / -1 !important;
    }
    
    /* Radio buttons single column on mobile */
    .elementor-field-type-radio .elementor-field-subgroup {
        grid-template-columns: 1fr !important;
    }
    
    .dialog-message.dialog-lightbox-message {
        padding: 20px !important;
    }
    
    .e-form__buttons {
        flex-direction: column-reverse !important;
    }
    
    .e-form__buttons__wrapper {
        width: 100% !important;
    }
    
    .elementor-button {
        width: 100% !important;
    }
    
    .e-form__indicators__indicator__label {
        font-size: 12px !important;
    }
    
    .e-form__indicators__indicator__separator {
        width: 40px !important;
    }
    
    /* File upload responsive */
    .elementor-field-type-upload input[type="file"]::after {
        font-size: 12px !important;
        white-space: normal !important;
    }
}

@media (max-width: 480px) {
    .e-form__indicators__indicator__label {
        display: none !important;
    }
    
    .elementor-element-1ff8e877 .elementor-heading-title {
        font-size: 22px !important;
    }
}/* End custom CSS */