
{"id":20776,"date":"2022-12-30T11:06:19","date_gmt":"2022-12-30T21:06:19","guid":{"rendered":"https:\/\/www.fifotahiti.com\/?page_id=20776"},"modified":"2026-01-26T18:54:10","modified_gmt":"2026-01-27T04:54:10","slug":"inscription-pro","status":"publish","type":"page","link":"https:\/\/www.fifotahiti.com\/en\/compte\/inscription-pro\/","title":{"rendered":"Inscription PRO"},"content":{"rendered":"<div class=\"product\"><div class=\"product\">\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"20776\" class=\"elementor elementor-20776\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a74d9d4 e-flex e-con-boxed e-con e-parent\" data-id=\"a74d9d4\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0dbcca0 bigTitle eael-dual-header-content-align-center elementor-widget elementor-widget-eael-dual-color-header\" data-id=\"0dbcca0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"eael-dual-color-header.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"eael-dual-header\">\n\t\t\t\t<h1 class=\"title eael-dch-title\"><span class=\"eael-dch-title-text eael-dch-title-lead lead solid-color\">Inscription <\/span> <span class=\"eael-dch-title-text\">PRO<\/span><\/h1>\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5bfc6dd e-flex e-con-boxed e-con e-parent\" data-id=\"5bfc6dd\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2a9b0ef elementor-widget elementor-widget-shortcode\" data-id=\"2a9b0ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <script>\n    var fifoProReg = {\n        ajaxUrl: \"https:\\\/\\\/www.fifotahiti.com\\\/cms\\\/wp-admin\\\/admin-ajax.php\",\n        nonce: \"354ca84400\",\n        debug: true,\n        maxAvatarSize: 2097152,\n        maxPortfolioSize: 10485760,\n        lang: \"fr\",\n        i18n: {\n            errorRequired: \"Ce champ est obligatoire\",\n            errorEmail: \"Veuillez entrer une adresse email valide\",\n            errorPasswordLength: \"Le mot de passe doit contenir au moins 8 caract\\u00e8res\",\n            errorPasswordMismatch: \"Les mots de passe ne correspondent pas\",\n            errorUrl: \"Veuillez entrer une URL valide\",\n            errorProfession: \"Veuillez s\\u00e9lectionner au moins une profession\",\n            errorLanguages: \"Veuillez s\\u00e9lectionner au moins une langue\",\n            errorParticipation: \"Veuillez s\\u00e9lectionner au moins un mode de participation\",\n            errorChoiceRequired: \"Veuillez faire un choix\",\n            errorTerms: \"Vous devez accepter les conditions pour continuer\",\n            errorFileSizeAvatar: \"Le fichier est trop volumineux (max 2 Mo)\",\n            errorFileSizePortfolio: \"Le fichier est trop volumineux (max 10 Mo)\",\n            passwordWeak: \"Faible - Ajoutez des caract\\u00e8res vari\\u00e9s\",\n            passwordMedium: \"Moyen - Ajoutez encore des caract\\u00e8res\",\n            passwordStrong: \"Fort - Excellent!\",\n            btnSubmitting: \"Inscription en cours...\",\n            autosaveIndicator: \"Brouillon sauvegard\\u00e9\",\n            ajaxSuccess: \"Inscription r\\u00e9ussie!\",\n            ajaxEmailAvailable: \"Email disponible.\",\n            ajaxEmailTaken: \"Cette adresse email est d\\u00e9j\\u00e0 utilis\\u00e9e.\",\n            ajaxError: \"Une erreur est survenue\",\n            toastFillRequired: \"Veuillez remplir tous les champs obligatoires\",\n            toastFileTooLarge: \"Le fichier est trop volumineux\",\n            toastDraftRestored: \"Brouillon restaur\\u00e9\",\n            toastConnectionError: \"Erreur de connexion. Veuillez r\\u00e9essayer.\"        }\n    };\n    <\/script>\n        <style>\n    \/* =================================================================\n       FIFO PRO Registration - Styles v1.0.0\n       ================================================================= *\/\n\n    :root {\n        --fifo-primary: #1e3a5f;\n        --fifo-primary-light: #2d5a8a;\n        --fifo-secondary: #e74c3c;\n        --fifo-success: #27ae60;\n        --fifo-warning: #f39c12;\n        --fifo-error: #e74c3c;\n        --fifo-gray-100: #f8f9fa;\n        --fifo-gray-200: #e9ecef;\n        --fifo-gray-300: #dee2e6;\n        --fifo-gray-500: #adb5bd;\n        --fifo-gray-700: #495057;\n        --fifo-gray-900: #212529;\n        --fifo-border-radius: 8px;\n        --fifo-transition: 0.2s ease;\n    }\n\n    .fifo-pro-reg {\n        max-width: 800px;\n        margin: 30px auto 0;\n        font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n    }\n\n    \/* Progress Bar *\/\n    .fifo-pro-reg__progress {\n        display: flex;\n        justify-content: space-between;\n        margin-bottom: 2rem;\n        padding: 0;\n        list-style: none!important;\n        counter-reset: step;\n    }\n\n    .fifo-pro-reg__progress-step {\n        flex: 1;\n        text-align: center;\n        position: relative;\n        padding-top: 35px;\n        font-size: 0.85rem;\n        color: var(--fifo-gray-500);\n        transition: var(--fifo-transition);\n    }\n\n    .fifo-pro-reg__progress-step::before {\n        counter-increment: step;\n        content: counter(step);\n        position: absolute;\n        top: 0;\n        left: 50%;\n        transform: translateX(-50%);\n        width: 28px;\n        height: 28px;\n        line-height: 28px;\n        border-radius: 50%;\n        background: var(--fifo-gray-200);\n        color: var(--fifo-gray-500);\n        font-weight: 600;\n        font-size: 0.9rem;\n        transition: var(--fifo-transition);\n    }\n\n    .fifo-pro-reg__progress-step::after {\n        content: '';\n        position: absolute;\n        top: 13px;\n        left: calc(50% + 20px);\n        width: calc(100% - 40px);\n        height: 3px;\n        background: var(--fifo-gray-200);\n        transition: var(--fifo-transition);\n    }\n\n    .fifo-pro-reg__progress-step:last-child::after {\n        display: none;\n    }\n\n    .fifo-pro-reg__progress-step.is-active {\n        color: var(--fifo-primary);\n    }\n\n    .fifo-pro-reg__progress-step.is-active::before {\n        background: var(--fifo-primary);\n        color: white;\n    }\n\n    .fifo-pro-reg__progress-step.is-completed {\n        color: var(--fifo-success);\n    }\n\n    .fifo-pro-reg__progress-step.is-completed::before {\n        background: var(--fifo-success);\n        color: white;\n        content: '1';\n    }\n\n    .fifo-pro-reg__progress-step.is-completed::after {\n        background: var(--fifo-success);\n    }\n\n    \/* Steps Container *\/\n    .fifo-pro-reg__steps {\n        position: relative;\n        min-height: 400px;\n    }\n\n    .fifo-pro-reg__step {\n        display: none;\n        animation: fadeIn 0.3s ease;\n    }\n\n    .fifo-pro-reg__step.is-active {\n        display: block;\n    }\n\n    @keyframes fadeIn {\n        from { opacity: 0; transform: translateY(10px); }\n        to { opacity: 1; transform: translateY(0); }\n    }\n\n    \/* Section *\/\n    .fifo-pro-reg__section {\n        background: white;\n        border: 1px solid var(--fifo-gray-200);\n        border-radius: var(--fifo-border-radius);\n        padding: 1.5rem;\n        margin-bottom: 1.5rem;\n    }\n\n    .fifo-pro-reg__section-title {\n        font-size: 1.1rem;\n        font-weight: 600;\n        color: var(--fifo-primary);\n        margin: 0 0 1rem 0;\n        padding-bottom: 0.5rem;\n        border-bottom: 2px solid var(--fifo-gray-200);\n    }\n\n    \/* Form Fields *\/\n    .fifo-field {\n        margin-bottom: 1.25rem;\n    }\n\n    .fifo-field:last-child {\n        margin-bottom: 0;\n    }\n\n    .fifo-field__label {\n        display: block;\n        font-weight: 500;\n        margin-bottom: 0.5rem;\n        color: var(--fifo-gray-700);\n        font-size: 0.95rem;\n    }\n\n    .fifo-field__label .required {\n        color: var(--fifo-error);\n        margin-left: 2px;\n    }\n\n    .fifo-field__input,\n    .fifo-field__select,\n    .fifo-field__textarea {\n        width: 100%;\n        padding: 0.75rem 1rem;\n        border: 1px solid var(--fifo-gray-300);\n        border-radius: var(--fifo-border-radius);\n        font-size: 1rem;\n        transition: var(--fifo-transition);\n        background: white;\n    }\n\n    .fifo-field__input:focus,\n    .fifo-field__select:focus,\n    .fifo-field__textarea:focus {\n        outline: none;\n        border-color: var(--fifo-primary);\n        box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.1);\n    }\n\n    .fifo-field__input::placeholder {\n        color: var(--fifo-gray-500);\n    }\n\n    .fifo-field__textarea {\n        min-height: 120px;\n        resize: vertical;\n    }\n\n    \/* Field States *\/\n    .fifo-field--error .fifo-field__input,\n    .fifo-field--error .fifo-field__select,\n    .fifo-field--error .fifo-field__textarea {\n        border-color: var(--fifo-error);\n    }\n\n    .fifo-field--valid .fifo-field__input,\n    .fifo-field--valid .fifo-field__select {\n        border-color: var(--fifo-success);\n    }\n\n    .fifo-field__error {\n        display: none;\n        color: var(--fifo-error);\n        font-size: 0.85rem;\n        margin-top: 0.5rem;\n    }\n\n    .fifo-field--error .fifo-field__error {\n        display: block;\n    }\n\n    \/* Checkbox & Radio Groups *\/\n    .fifo-field__options {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 0.75rem;\n    }\n\n    .fifo-field__option {\n        display: flex;\n        align-items: center;\n        gap: 0.5rem;\n        cursor: pointer;\n        padding: 0.5rem 0.75rem;\n        border: 1px solid var(--fifo-gray-300);\n        border-radius: var(--fifo-border-radius);\n        transition: var(--fifo-transition);\n        background: white;\n    }\n\n    .fifo-field__option:hover {\n        border-color: var(--fifo-primary-light);\n        background: var(--fifo-gray-100);\n    }\n\n    .fifo-field__option input {\n        margin: 0;\n        width: 18px;\n        height: 18px;\n        accent-color: var(--fifo-primary);\n    }\n\n    .fifo-field__option.is-checked {\n        border-color: var(--fifo-primary);\n        background: rgba(30, 58, 95, 0.05);\n    }\n\n    \/* Conditional Fields *\/\n    .fifo-field--conditional {\n        display: none;\n        animation: slideDown 0.3s ease;\n    }\n\n    .fifo-field--conditional.is-visible {\n        display: block;\n    }\n\n    @keyframes slideDown {\n        from { opacity: 0; max-height: 0; }\n        to { opacity: 1; max-height: 200px; }\n    }\n\n    \/* Password Field *\/\n    .fifo-password-wrapper {\n        position: relative;\n    }\n\n    .fifo-password-toggle {\n        position: absolute !important;\n        right: 12px;\n        top: 50%;\n        transform: translateY(-50%);\n        background: none !important;\n        border: none;\n        cursor: pointer !important;\n        color: var(--fifo-gray-500) !important;\n        padding: 5px !important;\n        font-size: 1.1rem;\n    }\n\n    .fifo-password-toggle:hover {\n        color: var(--fifo-primary);\n    }\n\n    .fifo-password-wrapper .fifo-field__input {\n        padding-right: 45px;\n    }\n\n    \/* Password Strength *\/\n    .fifo-password-strength {\n        margin-top: 0.5rem;\n        height: 4px;\n        background: var(--fifo-gray-200);\n        border-radius: 2px;\n        overflow: hidden;\n    }\n\n    .fifo-password-strength__bar {\n        height: 100%;\n        width: 0;\n        transition: width 0.3s, background 0.3s;\n    }\n\n    .fifo-password-strength--weak .fifo-password-strength__bar {\n        width: 33%;\n        background: var(--fifo-error);\n    }\n\n    .fifo-password-strength--medium .fifo-password-strength__bar {\n        width: 66%;\n        background: var(--fifo-warning);\n    }\n\n    .fifo-password-strength--strong .fifo-password-strength__bar {\n        width: 100%;\n        background: var(--fifo-success);\n    }\n\n    .fifo-password-strength__text {\n        font-size: 0.8rem;\n        margin-top: 0.25rem;\n        color: var(--fifo-gray-500);\n    }\n\n    \/* Upload Zone *\/\n    .fifo-upload-zone {\n        border: 2px dashed var(--fifo-gray-300);\n        border-radius: var(--fifo-border-radius);\n        padding: 2rem;\n        text-align: center;\n        cursor: pointer;\n        transition: var(--fifo-transition);\n        background: var(--fifo-gray-100);\n    }\n\n    .fifo-upload-zone:hover,\n    .fifo-upload-zone.is-dragover {\n        border-color: var(--fifo-primary);\n        background: rgba(30, 58, 95, 0.05);\n    }\n\n    .fifo-upload-zone__icon {\n        font-size: 2.5rem;\n        color: var(--fifo-gray-500);\n        margin-bottom: 0.5rem;\n    }\n\n    .fifo-upload-zone__text {\n        color: var(--fifo-gray-700);\n        margin-bottom: 0.25rem;\n    }\n\n    .fifo-upload-zone__hint {\n        font-size: 0.85rem;\n        color: var(--fifo-gray-500);\n    }\n\n    .fifo-upload-zone input[type=\"file\"] {\n        display: none;\n    }\n\n    .fifo-upload-preview {\n        margin-top: 1rem;\n        display: none;\n    }\n\n    .fifo-upload-preview.has-file {\n        display: flex;\n        align-items: center;\n        gap: 1rem;\n        padding: 1rem;\n        background: white;\n        border: 1px solid var(--fifo-gray-200);\n        border-radius: var(--fifo-border-radius);\n    }\n\n    .fifo-upload-preview__image {\n        width: 60px;\n        height: 60px;\n        object-fit: cover;\n        border-radius: var(--fifo-border-radius);\n    }\n\n    .fifo-upload-preview__info {\n        flex: 1;\n    }\n\n    .fifo-upload-preview__name {\n        font-weight: 500;\n        color: var(--fifo-gray-900);\n    }\n\n    .fifo-upload-preview__size {\n        font-size: 0.85rem;\n        color: var(--fifo-gray-500);\n    }\n\n    .fifo-upload-preview__remove {\n        background: none;\n        border: none;\n        color: var(--fifo-error);\n        cursor: pointer;\n        font-size: 1.2rem;\n        padding: 5px;\n    }\n\n    \/* Character Counter *\/\n    .fifo-char-counter {\n        text-align: right;\n        font-size: 0.8rem;\n        color: var(--fifo-gray-500);\n        margin-top: 0.25rem;\n    }\n\n    .fifo-char-counter.is-warning {\n        color: var(--fifo-warning);\n    }\n\n    .fifo-char-counter.is-error {\n        color: var(--fifo-error);\n    }\n\n    \/* Navigation Buttons *\/\n    .fifo-pro-reg__nav {\n        display: flex;\n        justify-content: space-between;\n        gap: 1rem;\n        margin-top: 2rem;\n        padding-top: 1.5rem;\n        border-top: 1px solid var(--fifo-gray-200);\n    }\n\n    .fifo-btn {\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        gap: 0.5rem;\n        padding: 0.875rem 1.5rem;\n        border: none;\n        border-radius: var(--fifo-border-radius);\n        font-size: 1rem;\n        font-weight: 500;\n        cursor: pointer;\n        transition: var(--fifo-transition);\n        text-decoration: none;\n    }\n\n    .fifo-btn--primary {\n        background: var(--fifo-primary);\n        color: white;\n    }\n\n    .fifo-btn--primary:hover {\n        background: var(--fifo-primary-light);\n    }\n\n    .fifo-btn--secondary {\n        background: var(--fifo-gray-200);\n        color: var(--fifo-gray-700);\n    }\n\n    .fifo-btn--secondary:hover {\n        background: var(--fifo-gray-300);\n    }\n\n    .fifo-btn:disabled,\n    .fifo-btn.is-saving {\n        opacity: 0.6;\n        cursor: not-allowed;\n        pointer-events: none;\n    }\n\n    .fifo-btn.is-saving::before {\n        content: '';\n        width: 16px;\n        height: 16px;\n        border: 2px solid currentColor;\n        border-top-color: transparent;\n        border-radius: 50%;\n        animation: spin 0.8s linear infinite;\n    }\n\n    @keyframes spin {\n        to { transform: rotate(360deg); }\n    }\n\n    \/* Messages *\/\n    .fifo-pro-reg-message {\n        padding: 1.5rem;\n        border-radius: var(--fifo-border-radius);\n        margin-bottom: 1.5rem;\n    }\n\n    .fifo-pro-reg-message--info {\n        background: rgba(30, 58, 95, 0.1);\n        border: 1px solid var(--fifo-primary);\n    }\n\n    .fifo-pro-reg-message--error {\n        background: rgba(231, 76, 60, 0.1);\n        border: 1px solid var(--fifo-error);\n    }\n\n    .fifo-pro-reg-message--success {\n        background: rgba(39, 174, 96, 0.1);\n        border: 1px solid var(--fifo-success);\n    }\n\n    .fifo-pro-reg-message h3 {\n        margin: 0 0 0.5rem 0;\n        font-size: 1.1rem;\n    }\n\n    .fifo-pro-reg-message p {\n        margin: 0 0 1rem 0;\n    }\n\n    .fifo-pro-reg-message p:last-child {\n        margin-bottom: 0;\n    }\n\n    \/* Toast Notification - CSS renforc\u00e9 pour \u00e9viter conflits *\/\n    .fifo-toast {\n        position: fixed !important;\n        bottom: 20px !important;\n        right: 20px !important;\n        padding: 1rem 1.5rem !important;\n        background: #1a1a2e !important;\n        color: white !important;\n        border-radius: 8px !important;\n        box-shadow: 0 4px 20px rgba(0,0,0,0.3) !important;\n        z-index: 999999 !important;\n        max-width: 350px !important;\n        opacity: 1 !important;\n        visibility: visible !important;\n        display: block !important;\n        transform: none !important;\n        transition: none !important;\n        animation: fifoToastSlideUp 0.3s ease forwards !important;\n    }\n\n    .fifo-toast--error {\n        background: #dc3545 !important;\n    }\n\n    .fifo-toast--success {\n        background: #28a745 !important;\n    }\n\n    @keyframes fifoToastSlideUp {\n        from { opacity: 0; transform: translateY(20px); }\n        to { opacity: 1; transform: translateY(0); }\n    }\n\n    \/* Honeypot (invisible) *\/\n    .fifo-hp-field {\n        position: absolute;\n        left: -9999px;\n        opacity: 0;\n        height: 0;\n        overflow: hidden;\n    }\n\n    \/* Autosave Indicator *\/\n    .fifo-autosave-indicator {\n        position: fixed;\n        bottom: 20px;\n        left: 20px;\n        padding: 0.5rem 1rem;\n        background: var(--fifo-gray-900);\n        color: white;\n        border-radius: var(--fifo-border-radius);\n        font-size: 0.85rem;\n        opacity: 0;\n        transition: opacity 0.3s;\n        z-index: 9998;\n    }\n\n    .fifo-autosave-indicator.is-visible {\n        opacity: 1;\n    }\n\n    \/* Terms Link *\/\n    .fifo-terms-link {\n        color: var(--fifo-primary);\n        text-decoration: underline;\n    }\n\n    .fifo-terms-link:hover {\n        color: var(--fifo-primary-light);\n    }\n\n    \/* Row Layout *\/\n    .fifo-row {\n        display: flex;\n        gap: 1rem;\n    }\n\n    .fifo-row > .fifo-field {\n        flex: 1;\n    }\n\n    \/* Responsive *\/\n    @media (max-width: 768px) {\n        .fifo-pro-reg__progress-step {\n            font-size: 0;\n            padding-top: 40px;\n        }\n\n        .fifo-pro-reg__progress-step::before {\n            width: 24px;\n            height: 24px;\n            line-height: 24px;\n            font-size: 0.8rem;\n        }\n\n        .fifo-row {\n            flex-direction: column;\n            gap: 0;\n        }\n\n        .fifo-field__options {\n            flex-direction: column;\n        }\n\n        .fifo-pro-reg__nav {\n            flex-direction: column-reverse;\n        }\n\n        .fifo-btn {\n            width: 100%;\n        }\n    }\n    <\/style>\n        <div class=\"fifo-pro-reg\" id=\"fifo-pro-reg\">\n\n                <!-- Progress Bar -->\n        <ul class=\"fifo-pro-reg__progress\">\n            <li class=\"fifo-pro-reg__progress-step is-active\" data-step=\"1\">Identit\u00e9<\/li>\n            <li class=\"fifo-pro-reg__progress-step\" data-step=\"2\">Professionnel<\/li>\n            <li class=\"fifo-pro-reg__progress-step\" data-step=\"3\">Participation<\/li>\n            <li class=\"fifo-pro-reg__progress-step\" data-step=\"4\">Profil<\/li>\n        <\/ul>\n        \n        <form class=\"fifo-pro-reg__form\" id=\"fifo-pro-reg-form\" method=\"post\" enctype=\"multipart\/form-data\" novalidate>\n\n            <!-- Hidden Fields -->\n            <input type=\"hidden\" name=\"action\" value=\"fifo_pro_submit\">\n            <input type=\"hidden\" name=\"nonce\" value=\"354ca84400\">\n            <input type=\"hidden\" name=\"redirect_to\" value=\"\/compte\/merci\/\">\n            <input type=\"hidden\" name=\"referer_url\" value=\"https:\/\/www.fifotahiti.com\/en\">\n\n                        <!-- Honeypot anti-spam -->\n            <div class=\"fifo-hp-field\">\n                <label for=\"website_url\">Website URL<\/label>\n                <input type=\"text\" name=\"website_url\" id=\"website_url\" autocomplete=\"off\" tabindex=\"-1\">\n            <\/div>\n            \n            <div class=\"fifo-pro-reg__steps\">\n\n                <!-- ============================================================\n                     STEP 1: IDENTITE\n                     ============================================================ -->\n                <div class=\"fifo-pro-reg__step is-active\" data-step=\"1\">\n\n                    <div class=\"fifo-pro-reg__section\">\n                        <h3 class=\"fifo-pro-reg__section-title\">Vos informations personnelles<\/h3>\n\n                        <!-- Nom \/ Prenom -->\n                        <div class=\"fifo-row\">\n                            <div class=\"fifo-field fifo-field--required\" data-field=\"last_name\">\n                                <label class=\"fifo-field__label\">\n                                    NOM <span class=\"required\">*<\/span>\n                                <\/label>\n                                <input type=\"text\" name=\"last_name\" class=\"fifo-field__input\"\n                                       placeholder=\"Votre nom\" maxlength=\"70\" required>\n                                <div class=\"fifo-field__error\">Ce champ est obligatoire<\/div>\n                            <\/div>\n\n                            <div class=\"fifo-field fifo-field--required\" data-field=\"first_name\">\n                                <label class=\"fifo-field__label\">\n                                    Pr\u00e9nom <span class=\"required\">*<\/span>\n                                <\/label>\n                                <input type=\"text\" name=\"first_name\" class=\"fifo-field__input\"\n                                       placeholder=\"Votre pr\u00e9nom\" maxlength=\"70\" required>\n                                <div class=\"fifo-field__error\">Ce champ est obligatoire<\/div>\n                            <\/div>\n                        <\/div>\n\n                        <!-- Email -->\n                        <div class=\"fifo-field fifo-field--required\" data-field=\"email\">\n                            <label class=\"fifo-field__label\">\n                                E-mail <span class=\"required\">*<\/span>\n                            <\/label>\n                            <input type=\"email\" name=\"email\" class=\"fifo-field__input\"\n                                   placeholder=\"votre@email.com\" maxlength=\"100\" required\n                                   autocomplete=\"email\">\n                            <div class=\"fifo-field__error\">Veuillez entrer une adresse email valide<\/div>\n                        <\/div>\n\n                        <!-- Mot de passe -->\n                        <div class=\"fifo-field fifo-field--required\" data-field=\"password\">\n                            <label class=\"fifo-field__label\">\n                                Mot de passe <span class=\"required\">*<\/span>\n                            <\/label>\n                            <div class=\"fifo-password-wrapper\">\n                                <input type=\"password\" name=\"password\" class=\"fifo-field__input\"\n                                       placeholder=\"Votre mot de passe\" maxlength=\"70\" required\n                                       autocomplete=\"new-password\">\n                                <button type=\"button\" class=\"fifo-password-toggle\" aria-label=\"Afficher le mot de passe\">\n                                    <span class=\"toggle-show\">&#128065;<\/span>\n                                    <span class=\"toggle-hide\" style=\"display:none;\">&#128064;<\/span>\n                                <\/button>\n                            <\/div>\n                            <div class=\"fifo-password-strength\">\n                                <div class=\"fifo-password-strength__bar\"><\/div>\n                            <\/div>\n                            <div class=\"fifo-password-strength__text\"><\/div>\n                            <div class=\"fifo-field__error\">Le mot de passe doit contenir au moins 8 caract\u00e8res<\/div>\n                        <\/div>\n\n                        <!-- Confirmation mot de passe -->\n                        <div class=\"fifo-field fifo-field--required\" data-field=\"password_confirm\">\n                            <label class=\"fifo-field__label\">\n                                Confirmation du mot de passe <span class=\"required\">*<\/span>\n                            <\/label>\n                            <div class=\"fifo-password-wrapper\">\n                                <input type=\"password\" name=\"password_confirm\" class=\"fifo-field__input\"\n                                       placeholder=\"Confirmez votre mot de passe\" maxlength=\"70\" required\n                                       autocomplete=\"new-password\">\n                                <button type=\"button\" class=\"fifo-password-toggle\" aria-label=\"Afficher le mot de passe\">\n                                    <span class=\"toggle-show\">&#128065;<\/span>\n                                    <span class=\"toggle-hide\" style=\"display:none;\">&#128064;<\/span>\n                                <\/button>\n                            <\/div>\n                            <div class=\"fifo-field__error\">Les mots de passe ne correspondent pas<\/div>\n                        <\/div>\n\n                    <\/div>\n                <\/div>\n\n                <!-- ============================================================\n                     STEP 2: PROFESSIONNEL\n                     ============================================================ -->\n                <div class=\"fifo-pro-reg__step\" data-step=\"2\">\n\n                    <div class=\"fifo-pro-reg__section\">\n                        <h3 class=\"fifo-pro-reg__section-title\">Informations professionnelles<\/h3>\n\n                        <!-- Societe -->\n                        <div class=\"fifo-field fifo-field--required\" data-field=\"pro_company\">\n                            <label class=\"fifo-field__label\">\n                                Soci\u00e9t\u00e9 <span class=\"required\">*<\/span>\n                            <\/label>\n                            <input type=\"text\" name=\"pro_societe\" class=\"fifo-field__input\"\n                                   placeholder=\"Nom de votre soci\u00e9t\u00e9 ou organisation\" maxlength=\"250\" required>\n                            <div class=\"fifo-field__error\">Ce champ est obligatoire<\/div>\n                        <\/div>\n\n                        <!-- Profession (checkboxes) -->\n                        <div class=\"fifo-field fifo-field--required\" data-field=\"pro_profession\">\n                            <label class=\"fifo-field__label\">\n                                Profession <span class=\"required\">*<\/span>\n                            <\/label>\n                            <div class=\"fifo-field__options\">\n                                                                <label class=\"fifo-field__option\">\n                                    <input type=\"checkbox\" name=\"pro_profession[]\" value=\"R\u00e9alisateur-producteur\">\n                                    <span>R\u00e9alisateur-producteur<\/span>\n                                <\/label>\n                                                                <label class=\"fifo-field__option\">\n                                    <input type=\"checkbox\" name=\"pro_profession[]\" value=\"Diffuseur\">\n                                    <span>Diffuseur<\/span>\n                                <\/label>\n                                                                <label class=\"fifo-field__option\">\n                                    <input type=\"checkbox\" name=\"pro_profession[]\" value=\"Distributeur\">\n                                    <span>Distributeur<\/span>\n                                <\/label>\n                                                                <label class=\"fifo-field__option\">\n                                    <input type=\"checkbox\" name=\"pro_profession[]\" value=\"Journaliste\">\n                                    <span>Journaliste<\/span>\n                                <\/label>\n                                                                <label class=\"fifo-field__option\">\n                                    <input type=\"checkbox\" name=\"pro_profession[]\" value=\"Festival\">\n                                    <span>Festival<\/span>\n                                <\/label>\n                                                                <label class=\"fifo-field__option\">\n                                    <input type=\"checkbox\" name=\"pro_profession[]\" value=\"Autres\">\n                                    <span>Autres<\/span>\n                                <\/label>\n                                                            <\/div>\n                            <div class=\"fifo-field__error\">Veuillez s\u00e9lectionner au moins une profession<\/div>\n                        <\/div>\n\n                        <!-- Autre profession (conditionnel) -->\n                        <div class=\"fifo-field fifo-field--conditional\" data-field=\"pro_profession_autre\"\n                             data-condition-field=\"pro_profession\" data-condition-value=\"Autres\">\n                            <label class=\"fifo-field__label\">Pr\u00e9cisez votre profession<\/label>\n                            <input type=\"text\" name=\"pro_profession_autre\" class=\"fifo-field__input\"\n                                   placeholder=\"Votre profession\" maxlength=\"250\">\n                        <\/div>\n\n                        <!-- Pays -->\n                        <div class=\"fifo-field\" data-field=\"pro_pays\">\n                            <label class=\"fifo-field__label\">Pays<\/label>\n                            <select name=\"pro_pays\" class=\"fifo-field__select\" id=\"pro_pays\">\n                                                                <option value=\"PF\"  selected='selected'>\n                                    Polyn\u00e9sie fran\u00e7aise                                <\/option>\n                                                                <option value=\"FR\" >\n                                    France                                <\/option>\n                                                                <option value=\"NC\" >\n                                    Nouvelle-Cal\u00e9donie                                <\/option>\n                                                                <option value=\"NZ\" >\n                                    Nouvelle-Z\u00e9lande                                <\/option>\n                                                                <option value=\"AU\" >\n                                    Australie                                <\/option>\n                                                                <option value=\"US-HI\" >\n                                    Hawaii (USA)                                <\/option>\n                                                                <option value=\"AF\" >\n                                    Afghanistan                                <\/option>\n                                                                <option value=\"AL\" >\n                                    Albanie                                <\/option>\n                                                                <option value=\"DZ\" >\n                                    Algerie                                <\/option>\n                                                                <option value=\"DE\" >\n                                    Allemagne                                <\/option>\n                                                                <option value=\"AD\" >\n                                    Andorre                                <\/option>\n                                                                <option value=\"AO\" >\n                                    Angola                                <\/option>\n                                                                <option value=\"AR\" >\n                                    Argentine                                <\/option>\n                                                                <option value=\"AM\" >\n                                    Armenie                                <\/option>\n                                                                <option value=\"AT\" >\n                                    Autriche                                <\/option>\n                                                                <option value=\"AZ\" >\n                                    Azerbaidjan                                <\/option>\n                                                                <option value=\"BS\" >\n                                    Bahamas                                <\/option>\n                                                                <option value=\"BH\" >\n                                    Bahrein                                <\/option>\n                                                                <option value=\"BD\" >\n                                    Bangladesh                                <\/option>\n                                                                <option value=\"BB\" >\n                                    Barbade                                <\/option>\n                                                                <option value=\"BE\" >\n                                    Belgique                                <\/option>\n                                                                <option value=\"BZ\" >\n                                    Belize                                <\/option>\n                                                                <option value=\"BJ\" >\n                                    Benin                                <\/option>\n                                                                <option value=\"BT\" >\n                                    Bhoutan                                <\/option>\n                                                                <option value=\"BY\" >\n                                    Bielorussie                                <\/option>\n                                                                <option value=\"BO\" >\n                                    Bolivie                                <\/option>\n                                                                <option value=\"BA\" >\n                                    Bosnie-Herzegovine                                <\/option>\n                                                                <option value=\"BW\" >\n                                    Botswana                                <\/option>\n                                                                <option value=\"BR\" >\n                                    Bresil                                <\/option>\n                                                                <option value=\"BN\" >\n                                    Brunei                                <\/option>\n                                                                <option value=\"BG\" >\n                                    Bulgarie                                <\/option>\n                                                                <option value=\"BF\" >\n                                    Burkina Faso                                <\/option>\n                                                                <option value=\"BI\" >\n                                    Burundi                                <\/option>\n                                                                <option value=\"KH\" >\n                                    Cambodge                                <\/option>\n                                                                <option value=\"CM\" >\n                                    Cameroun                                <\/option>\n                                                                <option value=\"CA\" >\n                                    Canada                                <\/option>\n                                                                <option value=\"CV\" >\n                                    Cap-Vert                                <\/option>\n                                                                <option value=\"CL\" >\n                                    Chili                                <\/option>\n                                                                <option value=\"CN\" >\n                                    Chine                                <\/option>\n                                                                <option value=\"CY\" >\n                                    Chypre                                <\/option>\n                                                                <option value=\"CO\" >\n                                    Colombie                                <\/option>\n                                                                <option value=\"KM\" >\n                                    Comores                                <\/option>\n                                                                <option value=\"KR\" >\n                                    Coree du Sud                                <\/option>\n                                                                <option value=\"KP\" >\n                                    Coree du Nord                                <\/option>\n                                                                <option value=\"CR\" >\n                                    Costa Rica                                <\/option>\n                                                                <option value=\"CI\" >\n                                    Cote d&#039;Ivoire                                <\/option>\n                                                                <option value=\"HR\" >\n                                    Croatie                                <\/option>\n                                                                <option value=\"CU\" >\n                                    Cuba                                <\/option>\n                                                                <option value=\"DK\" >\n                                    Danemark                                <\/option>\n                                                                <option value=\"DJ\" >\n                                    Djibouti                                <\/option>\n                                                                <option value=\"DM\" >\n                                    Dominique                                <\/option>\n                                                                <option value=\"EG\" >\n                                    Egypte                                <\/option>\n                                                                <option value=\"AE\" >\n                                    Emirats arabes unis                                <\/option>\n                                                                <option value=\"EC\" >\n                                    Equateur                                <\/option>\n                                                                <option value=\"ER\" >\n                                    Erythree                                <\/option>\n                                                                <option value=\"ES\" >\n                                    Espagne                                <\/option>\n                                                                <option value=\"EE\" >\n                                    Estonie                                <\/option>\n                                                                <option value=\"US\" >\n                                    Etats-Unis                                <\/option>\n                                                                <option value=\"ET\" >\n                                    Ethiopie                                <\/option>\n                                                                <option value=\"FJ\" >\n                                    Fidji                                <\/option>\n                                                                <option value=\"FI\" >\n                                    Finlande                                <\/option>\n                                                                <option value=\"GA\" >\n                                    Gabon                                <\/option>\n                                                                <option value=\"GM\" >\n                                    Gambie                                <\/option>\n                                                                <option value=\"GE\" >\n                                    Georgie                                <\/option>\n                                                                <option value=\"GH\" >\n                                    Ghana                                <\/option>\n                                                                <option value=\"GR\" >\n                                    Grece                                <\/option>\n                                                                <option value=\"GD\" >\n                                    Grenade                                <\/option>\n                                                                <option value=\"GT\" >\n                                    Guatemala                                <\/option>\n                                                                <option value=\"GN\" >\n                                    Guinee                                <\/option>\n                                                                <option value=\"GW\" >\n                                    Guinee-Bissau                                <\/option>\n                                                                <option value=\"GQ\" >\n                                    Guinee equatoriale                                <\/option>\n                                                                <option value=\"GY\" >\n                                    Guyana                                <\/option>\n                                                                <option value=\"HT\" >\n                                    Haiti                                <\/option>\n                                                                <option value=\"HN\" >\n                                    Honduras                                <\/option>\n                                                                <option value=\"HK\" >\n                                    Hong Kong                                <\/option>\n                                                                <option value=\"HU\" >\n                                    Hongrie                                <\/option>\n                                                                <option value=\"IN\" >\n                                    Inde                                <\/option>\n                                                                <option value=\"ID\" >\n                                    Indonesie                                <\/option>\n                                                                <option value=\"IQ\" >\n                                    Irak                                <\/option>\n                                                                <option value=\"IR\" >\n                                    Iran                                <\/option>\n                                                                <option value=\"IE\" >\n                                    Irlande                                <\/option>\n                                                                <option value=\"IS\" >\n                                    Islande                                <\/option>\n                                                                <option value=\"IL\" >\n                                    Israel                                <\/option>\n                                                                <option value=\"IT\" >\n                                    Italie                                <\/option>\n                                                                <option value=\"JM\" >\n                                    Jamaique                                <\/option>\n                                                                <option value=\"JP\" >\n                                    Japon                                <\/option>\n                                                                <option value=\"JO\" >\n                                    Jordanie                                <\/option>\n                                                                <option value=\"KZ\" >\n                                    Kazakhstan                                <\/option>\n                                                                <option value=\"KE\" >\n                                    Kenya                                <\/option>\n                                                                <option value=\"KG\" >\n                                    Kirghizistan                                <\/option>\n                                                                <option value=\"KI\" >\n                                    Kiribati                                <\/option>\n                                                                <option value=\"KW\" >\n                                    Koweit                                <\/option>\n                                                                <option value=\"LA\" >\n                                    Laos                                <\/option>\n                                                                <option value=\"LS\" >\n                                    Lesotho                                <\/option>\n                                                                <option value=\"LV\" >\n                                    Lettonie                                <\/option>\n                                                                <option value=\"LB\" >\n                                    Liban                                <\/option>\n                                                                <option value=\"LR\" >\n                                    Liberia                                <\/option>\n                                                                <option value=\"LY\" >\n                                    Libye                                <\/option>\n                                                                <option value=\"LI\" >\n                                    Liechtenstein                                <\/option>\n                                                                <option value=\"LT\" >\n                                    Lituanie                                <\/option>\n                                                                <option value=\"LU\" >\n                                    Luxembourg                                <\/option>\n                                                                <option value=\"MK\" >\n                                    Macedoine du Nord                                <\/option>\n                                                                <option value=\"MG\" >\n                                    Madagascar                                <\/option>\n                                                                <option value=\"MY\" >\n                                    Malaisie                                <\/option>\n                                                                <option value=\"MW\" >\n                                    Malawi                                <\/option>\n                                                                <option value=\"MV\" >\n                                    Maldives                                <\/option>\n                                                                <option value=\"ML\" >\n                                    Mali                                <\/option>\n                                                                <option value=\"MT\" >\n                                    Malte                                <\/option>\n                                                                <option value=\"MA\" >\n                                    Maroc                                <\/option>\n                                                                <option value=\"MU\" >\n                                    Maurice                                <\/option>\n                                                                <option value=\"MR\" >\n                                    Mauritanie                                <\/option>\n                                                                <option value=\"MX\" >\n                                    Mexique                                <\/option>\n                                                                <option value=\"FM\" >\n                                    Micronesie                                <\/option>\n                                                                <option value=\"MD\" >\n                                    Moldavie                                <\/option>\n                                                                <option value=\"MC\" >\n                                    Monaco                                <\/option>\n                                                                <option value=\"MN\" >\n                                    Mongolie                                <\/option>\n                                                                <option value=\"ME\" >\n                                    Montenegro                                <\/option>\n                                                                <option value=\"MZ\" >\n                                    Mozambique                                <\/option>\n                                                                <option value=\"MM\" >\n                                    Myanmar                                <\/option>\n                                                                <option value=\"NA\" >\n                                    Namibie                                <\/option>\n                                                                <option value=\"NR\" >\n                                    Nauru                                <\/option>\n                                                                <option value=\"NP\" >\n                                    Nepal                                <\/option>\n                                                                <option value=\"NI\" >\n                                    Nicaragua                                <\/option>\n                                                                <option value=\"NE\" >\n                                    Niger                                <\/option>\n                                                                <option value=\"NG\" >\n                                    Nigeria                                <\/option>\n                                                                <option value=\"NO\" >\n                                    Norvege                                <\/option>\n                                                                <option value=\"OM\" >\n                                    Oman                                <\/option>\n                                                                <option value=\"UG\" >\n                                    Ouganda                                <\/option>\n                                                                <option value=\"UZ\" >\n                                    Ouzbekistan                                <\/option>\n                                                                <option value=\"PK\" >\n                                    Pakistan                                <\/option>\n                                                                <option value=\"PW\" >\n                                    Palaos                                <\/option>\n                                                                <option value=\"PS\" >\n                                    Palestine                                <\/option>\n                                                                <option value=\"PA\" >\n                                    Panama                                <\/option>\n                                                                <option value=\"PG\" >\n                                    Papouasie-Nouvelle-Guinee                                <\/option>\n                                                                <option value=\"PY\" >\n                                    Paraguay                                <\/option>\n                                                                <option value=\"NL\" >\n                                    Pays-Bas                                <\/option>\n                                                                <option value=\"PE\" >\n                                    Perou                                <\/option>\n                                                                <option value=\"PH\" >\n                                    Philippines                                <\/option>\n                                                                <option value=\"PL\" >\n                                    Pologne                                <\/option>\n                                                                <option value=\"PT\" >\n                                    Portugal                                <\/option>\n                                                                <option value=\"QA\" >\n                                    Qatar                                <\/option>\n                                                                <option value=\"RO\" >\n                                    Roumanie                                <\/option>\n                                                                <option value=\"GB\" >\n                                    Royaume-Uni                                <\/option>\n                                                                <option value=\"RU\" >\n                                    Russie                                <\/option>\n                                                                <option value=\"RW\" >\n                                    Rwanda                                <\/option>\n                                                                <option value=\"KN\" >\n                                    Saint-Kitts-et-Nevis                                <\/option>\n                                                                <option value=\"VC\" >\n                                    Saint-Vincent-et-les-Grenadines                                <\/option>\n                                                                <option value=\"LC\" >\n                                    Sainte-Lucie                                <\/option>\n                                                                <option value=\"SB\" >\n                                    Salomon                                <\/option>\n                                                                <option value=\"SV\" >\n                                    Salvador                                <\/option>\n                                                                <option value=\"WS\" >\n                                    Samoa                                <\/option>\n                                                                <option value=\"ST\" >\n                                    Sao Tome-et-Principe                                <\/option>\n                                                                <option value=\"SN\" >\n                                    Senegal                                <\/option>\n                                                                <option value=\"RS\" >\n                                    Serbie                                <\/option>\n                                                                <option value=\"SC\" >\n                                    Seychelles                                <\/option>\n                                                                <option value=\"SL\" >\n                                    Sierra Leone                                <\/option>\n                                                                <option value=\"SG\" >\n                                    Singapour                                <\/option>\n                                                                <option value=\"SK\" >\n                                    Slovaquie                                <\/option>\n                                                                <option value=\"SI\" >\n                                    Slovenie                                <\/option>\n                                                                <option value=\"SO\" >\n                                    Somalie                                <\/option>\n                                                                <option value=\"SD\" >\n                                    Soudan                                <\/option>\n                                                                <option value=\"SS\" >\n                                    Soudan du Sud                                <\/option>\n                                                                <option value=\"LK\" >\n                                    Sri Lanka                                <\/option>\n                                                                <option value=\"SE\" >\n                                    Suede                                <\/option>\n                                                                <option value=\"CH\" >\n                                    Suisse                                <\/option>\n                                                                <option value=\"SR\" >\n                                    Suriname                                <\/option>\n                                                                <option value=\"SZ\" >\n                                    Eswatini                                <\/option>\n                                                                <option value=\"SY\" >\n                                    Syrie                                <\/option>\n                                                                <option value=\"TJ\" >\n                                    Tadjikistan                                <\/option>\n                                                                <option value=\"TZ\" >\n                                    Tanzanie                                <\/option>\n                                                                <option value=\"TD\" >\n                                    Tchad                                <\/option>\n                                                                <option value=\"CZ\" >\n                                    Tchequie                                <\/option>\n                                                                <option value=\"TH\" >\n                                    Thailande                                <\/option>\n                                                                <option value=\"TL\" >\n                                    Timor oriental                                <\/option>\n                                                                <option value=\"TG\" >\n                                    Togo                                <\/option>\n                                                                <option value=\"TO\" >\n                                    Tonga                                <\/option>\n                                                                <option value=\"TT\" >\n                                    Trinite-et-Tobago                                <\/option>\n                                                                <option value=\"TN\" >\n                                    Tunisie                                <\/option>\n                                                                <option value=\"TM\" >\n                                    Turkmenistan                                <\/option>\n                                                                <option value=\"TR\" >\n                                    Turquie                                <\/option>\n                                                                <option value=\"TV\" >\n                                    Tuvalu                                <\/option>\n                                                                <option value=\"UA\" >\n                                    Ukraine                                <\/option>\n                                                                <option value=\"UY\" >\n                                    Uruguay                                <\/option>\n                                                                <option value=\"VU\" >\n                                    Vanuatu                                <\/option>\n                                                                <option value=\"VA\" >\n                                    Vatican                                <\/option>\n                                                                <option value=\"VE\" >\n                                    Venezuela                                <\/option>\n                                                                <option value=\"VN\" >\n                                    Vietnam                                <\/option>\n                                                                <option value=\"YE\" >\n                                    Yemen                                <\/option>\n                                                                <option value=\"ZM\" >\n                                    Zambie                                <\/option>\n                                                                <option value=\"ZW\" >\n                                    Zimbabwe                                <\/option>\n                                                            <\/select>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"fifo-pro-reg__section\">\n                        <h3 class=\"fifo-pro-reg__section-title\">Participation au Festival<\/h3>\n\n                        <!-- Film en selection -->\n                        <div class=\"fifo-field fifo-field--required\" data-field=\"pro_film_selection\">\n                            <label class=\"fifo-field__label\">\n                                Avez-vous un film en s\u00e9lection cette ann\u00e9e ? <span class=\"required\">*<\/span>\n                            <\/label>\n                            <div class=\"fifo-field__options\">\n                                <label class=\"fifo-field__option\">\n                                    <input type=\"radio\" name=\"pro_film_selection\" value=\"Oui\">\n                                    <span>Oui<\/span>\n                                <\/label>\n                                <label class=\"fifo-field__option is-checked\">\n                                    <input type=\"radio\" name=\"pro_film_selection\" value=\"Non\" checked>\n                                    <span>Non<\/span>\n                                <\/label>\n                            <\/div>\n                        <\/div>\n\n                        <!-- Titre du film (conditionnel) -->\n                        <div class=\"fifo-field fifo-field--conditional\" data-field=\"pro_selection_film_titre\"\n                             data-condition-field=\"pro_film_selection\" data-condition-value=\"Oui\">\n                            <label class=\"fifo-field__label\">Titre du film<\/label>\n                            <input type=\"text\" name=\"pro_selection_film_titre\" class=\"fifo-field__input\"\n                                   placeholder=\"Titre de votre film en s\u00e9lection\" maxlength=\"250\">\n                        <\/div>\n\n                        <!-- Mode de participation -->\n                        <div class=\"fifo-field fifo-field--required\" data-field=\"pro_participation\">\n                            <label class=\"fifo-field__label\">\n                                Je souhaite participer au FIFO <span class=\"required\">*<\/span>\n                            <\/label>\n                            <div class=\"fifo-field__options\">\n                                                                <label class=\"fifo-field__option\">\n                                    <input type=\"checkbox\" name=\"pro_participation[]\" value=\"En pr\u00e9sentiel \u00e0 Tahiti\">\n                                    <span>En pr\u00e9sentiel \u00e0 Tahiti<\/span>\n                                <\/label>\n                                                                <label class=\"fifo-field__option\">\n                                    <input type=\"checkbox\" name=\"pro_participation[]\" value=\"En ligne\">\n                                    <span>En ligne<\/span>\n                                <\/label>\n                                                            <\/div>\n                            <div class=\"fifo-field__error\">Veuillez s\u00e9lectionner au moins un mode de participation<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- ============================================================\n                     STEP 3: PARTICIPATION (Presence en ligne + Langues)\n                     ============================================================ -->\n                <div class=\"fifo-pro-reg__step\" data-step=\"3\">\n\n                    <div class=\"fifo-pro-reg__section\">\n                        <h3 class=\"fifo-pro-reg__section-title\">Pr\u00e9sence en ligne<\/h3>\n\n                        <!-- Site web -->\n                        <div class=\"fifo-field\" data-field=\"pro_website\">\n                            <label class=\"fifo-field__label\">Site web<\/label>\n                            <input type=\"url\" name=\"pro_siteweb\" class=\"fifo-field__input\"\n                                   placeholder=\"https:\/\/votre-site.com\" maxlength=\"250\">\n                            <div class=\"fifo-field__error\">Veuillez entrer une URL valide<\/div>\n                        <\/div>\n\n                        <!-- Reseaux sociaux -->\n                        <div class=\"fifo-row\">\n                            <div class=\"fifo-field\" data-field=\"pro_facebook\">\n                                <label class=\"fifo-field__label\">Page Facebook<\/label>\n                                <input type=\"url\" name=\"pro_fb\" class=\"fifo-field__input\"\n                                       placeholder=\"https:\/\/facebook.com\/votre-page\" maxlength=\"150\">\n                            <\/div>\n\n                            <div class=\"fifo-field\" data-field=\"pro_linkedin\">\n                                <label class=\"fifo-field__label\">Page LinkedIn<\/label>\n                                <input type=\"url\" name=\"pro_linkedin\" class=\"fifo-field__input\"\n                                       placeholder=\"https:\/\/linkedin.com\/in\/votre-profil\" maxlength=\"150\">\n                            <\/div>\n                        <\/div>\n\n                        <!-- Autre URL -->\n                        <div class=\"fifo-field\" data-field=\"pro_other_url\">\n                            <label class=\"fifo-field__label\">Autre page web<\/label>\n                            <input type=\"url\" name=\"pro_siteautre\" class=\"fifo-field__input\"\n                                   placeholder=\"https:\/\/autre-plateforme.com\" maxlength=\"150\">\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"fifo-pro-reg__section\">\n                        <h3 class=\"fifo-pro-reg__section-title\">Langues et Communication<\/h3>\n\n                        <!-- Langues parlees -->\n                        <div class=\"fifo-field fifo-field--required\" data-field=\"pro_langues\">\n                            <label class=\"fifo-field__label\">\n                                Langues parl\u00e9es <span class=\"required\">*<\/span>\n                            <\/label>\n                            <div class=\"fifo-field__options\">\n                                                                <label class=\"fifo-field__option\">\n                                    <input type=\"checkbox\" name=\"pro_langues[]\" value=\"Fran\u00e7ais\">\n                                    <span>Fran\u00e7ais<\/span>\n                                <\/label>\n                                                                <label class=\"fifo-field__option\">\n                                    <input type=\"checkbox\" name=\"pro_langues[]\" value=\"Anglais\">\n                                    <span>Anglais<\/span>\n                                <\/label>\n                                                                <label class=\"fifo-field__option\">\n                                    <input type=\"checkbox\" name=\"pro_langues[]\" value=\"Tahitien\">\n                                    <span>Tahitien<\/span>\n                                <\/label>\n                                                                <label class=\"fifo-field__option\">\n                                    <input type=\"checkbox\" name=\"pro_langues[]\" value=\"Autres\">\n                                    <span>Autres<\/span>\n                                <\/label>\n                                                            <\/div>\n                            <div class=\"fifo-field__error\">Veuillez s\u00e9lectionner au moins une langue<\/div>\n                        <\/div>\n\n                        <!-- Autre langue (conditionnel) -->\n                        <div class=\"fifo-field fifo-field--conditional\" data-field=\"pro_langues_autre\"\n                             data-condition-field=\"pro_langues\" data-condition-value=\"Autres\">\n                            <label class=\"fifo-field__label\">Pr\u00e9cisez la langue<\/label>\n                            <input type=\"text\" name=\"pro_langues_autre\" class=\"fifo-field__input\"\n                                   placeholder=\"Autre langue parl\u00e9e\" maxlength=\"100\">\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- ============================================================\n                     STEP 4: PROFIL (Profil public + Consentements)\n                     ============================================================ -->\n                <div class=\"fifo-pro-reg__step\" data-step=\"4\">\n\n                    <div class=\"fifo-pro-reg__section\">\n                        <h3 class=\"fifo-pro-reg__section-title\">Profil public<\/h3>\n\n                        <!-- Photo de profil (upload) -->\n                        <div class=\"fifo-field\" data-field=\"pro_avatar\">\n                            <label class=\"fifo-field__label\">Photo de profil<\/label>\n                            <div class=\"fifo-upload-zone\" data-upload=\"avatar\" data-max-size=\"2097152\">\n                                <div class=\"fifo-upload-zone__icon\">&#128247;<\/div>\n                                <div class=\"fifo-upload-zone__text\">Cliquez ou glissez-d\u00e9posez votre photo<\/div>\n                                <div class=\"fifo-upload-zone__hint\">JPG, PNG, GIF ou WebP - Max 2 Mo<\/div>\n                                <input type=\"file\" name=\"pro_avatar\" accept=\".jpg,.jpeg,.png,.gif,.webp\">\n                            <\/div>\n                            <div class=\"fifo-upload-preview\" data-preview=\"avatar\">\n                                <img decoding=\"async\" class=\"fifo-upload-preview__image\" src=\"\" alt=\"Preview\">\n                                <div class=\"fifo-upload-preview__info\">\n                                    <div class=\"fifo-upload-preview__name\"><\/div>\n                                    <div class=\"fifo-upload-preview__size\"><\/div>\n                                <\/div>\n                                <button type=\"button\" class=\"fifo-upload-preview__remove\" aria-label=\"Supprimer\">&times;<\/button>\n                            <\/div>\n                            <div class=\"fifo-field__error\">Le fichier est trop volumineux (max 2 Mo)<\/div>\n                        <\/div>\n\n                        <!-- Presentation (textarea) -->\n                        <div class=\"fifo-field\" data-field=\"description\">\n                            <label class=\"fifo-field__label\">Pr\u00e9sentation<\/label>\n                            <textarea name=\"description\" class=\"fifo-field__textarea\"\n                                      placeholder=\"Pr\u00e9sentez-vous en quelques lignes...\" rows=\"5\"\n                                      maxlength=\"500\"><\/textarea>\n                            <div class=\"fifo-char-counter\"><span class=\"current\">0<\/span> \/ 500<\/div>\n                        <\/div>\n\n                        <!-- Portfolio (upload) -->\n                        <div class=\"fifo-field\" data-field=\"pro_portfolio\">\n                            <label class=\"fifo-field__label\">Portfolio \/ Book<\/label>\n                            <div class=\"fifo-upload-zone\" data-upload=\"portfolio\" data-max-size=\"10485760\">\n                                <div class=\"fifo-upload-zone__icon\">&#128196;<\/div>\n                                <div class=\"fifo-upload-zone__text\">Cliquez ou glissez-d\u00e9posez votre document<\/div>\n                                <div class=\"fifo-upload-zone__hint\">PDF, ZIP ou images - Max 10 Mo<\/div>\n                                <input type=\"file\" name=\"pro_portfolio\" accept=\".pdf,.zip,.jpg,.jpeg,.png\">\n                            <\/div>\n                            <div class=\"fifo-upload-preview\" data-preview=\"portfolio\">\n                                <div class=\"fifo-upload-preview__icon\" style=\"width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;border-radius:8px;font-size:1.5rem;\">&#128196;<\/div>\n                                <div class=\"fifo-upload-preview__info\">\n                                    <div class=\"fifo-upload-preview__name\"><\/div>\n                                    <div class=\"fifo-upload-preview__size\"><\/div>\n                                <\/div>\n                                <button type=\"button\" class=\"fifo-upload-preview__remove\" aria-label=\"Supprimer\">&times;<\/button>\n                            <\/div>\n                            <div class=\"fifo-field__error\">Le fichier est trop volumineux (max 10 Mo)<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"fifo-pro-reg__section\">\n                        <h3 class=\"fifo-pro-reg__section-title\">Pr\u00e9f\u00e9rences et Consentements<\/h3>\n\n                        <!-- Contact par pros (CRITIQUE pour annuaire) -->\n                        <div class=\"fifo-field fifo-field--required\" data-field=\"pro_accept_contact\">\n                            <label class=\"fifo-field__label\">\n                                J&#039;accepte d&#039;\u00eatre contact\u00e9 par des professionnels pour des demandes de rendez-vous ou d&#039;informations dans le cadre du FIFO PRO <span class=\"required\">*<\/span>\n                            <\/label>\n                            <div class=\"fifo-field__options\">\n                                <label class=\"fifo-field__option\">\n                                    <input type=\"radio\" name=\"pro_contact_pros\" value=\"Oui\">\n                                    <span>Oui<\/span>\n                                <\/label>\n                                <label class=\"fifo-field__option\">\n                                    <input type=\"radio\" name=\"pro_contact_pros\" value=\"Non\">\n                                    <span>Non<\/span>\n                                <\/label>\n                            <\/div>\n                            <p style=\"font-size:0.85rem;color:#666;margin-top:0.5rem;\">\n                                <em>Si vous acceptez, vous serez visible dans l&#039;Annuaire Pro du FIFO apr\u00e8s approbation de votre accr\u00e9ditation.<\/em>\n                            <\/p>\n                            <div class=\"fifo-field__error\">Veuillez faire un choix<\/div>\n                        <\/div>\n\n                        <!-- Newsletter -->\n                        <div class=\"fifo-field\" data-field=\"pro_newsletter\">\n                            <label class=\"fifo-field__option\" style=\"display:inline-flex;\">\n                                <input type=\"checkbox\" name=\"pro_newsletter\" value=\"Oui\">\n                                <span>Je souhaite recevoir la newsletter du FIFO<\/span>\n                            <\/label>\n                        <\/div>\n\n                        <!-- CGV \/ Politique confidentialite -->\n                        <div class=\"fifo-field fifo-field--required\" data-field=\"pro_terms_accepted\">\n                            <label class=\"fifo-field__option\" style=\"display:inline-flex;\">\n                                <input type=\"checkbox\" name=\"pro_terms_accepted\" value=\"accepted\" required>\n                                <span>\n                                    J'accepte la <a href=\"\/politique-de-confidentialite\/\" target=\"_blank\" class=\"fifo-terms-link\">politique de confidentialit\u00e9<\/a> et les <a href=\"\/mentions-legales\/\" target=\"_blank\" class=\"fifo-terms-link\">mentions l\u00e9gales<\/a>                                    <span class=\"required\">*<\/span>\n                                <\/span>\n                            <\/label>\n                            <div class=\"fifo-field__error\">Vous devez accepter les conditions pour continuer<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n            <\/div><!-- \/.fifo-pro-reg__steps -->\n\n            <!-- Navigation -->\n            <div class=\"fifo-pro-reg__nav\">\n                <button type=\"button\" class=\"fifo-btn fifo-btn--secondary\" id=\"btn-prev\" style=\"display:none;\">\n                    &#8592; Pr\u00e9c\u00e9dent                <\/button>\n                <span><\/span>\n                <button type=\"button\" class=\"fifo-btn fifo-btn--primary\" id=\"btn-next\">\n                    Suivant &#8594;\n                <\/button>\n                <button type=\"submit\" class=\"fifo-btn fifo-btn--primary\" id=\"btn-submit\" style=\"display:none;\">\n                    S&#039;inscrire au FIFO PRO                <\/button>\n            <\/div>\n\n        <\/form>\n\n        <!-- Autosave Indicator -->\n        <div class=\"fifo-autosave-indicator\" id=\"autosave-indicator\">\n            Brouillon sauvegarde\n        <\/div>\n\n    <\/div><!-- \/.fifo-pro-reg -->\n        <script>\n    (function($) {\n        'use strict';\n\n        \/\/ =====================================================================\n        \/\/ CONFIGURATION\n        \/\/ =====================================================================\n\n        const CONFIG = {\n            debug: true,\n            autosaveEnabled: true,\n            autosaveKey: 'fifo_pro_registration_draft',\n            autosaveInterval: 30000, \/\/ 30 secondes\n            debounceDelay: 600,\n            ajaxUrl: fifoProReg.ajaxUrl,\n            nonce: fifoProReg.nonce,\n        };\n\n        \/\/ =====================================================================\n        \/\/ UTILITAIRES\n        \/\/ =====================================================================\n\n        function log(message, data) {\n            if (CONFIG.debug) {\n                const prefix = '[FIFO PRO Reg v2.0.3]';\n                if (data !== undefined) {\n                    console.log(prefix, message, data);\n                } else {\n                    console.log(prefix, message);\n                }\n            }\n        }\n\n        function debounce(func, wait) {\n            let timeout;\n            return function(...args) {\n                clearTimeout(timeout);\n                timeout = setTimeout(() => func.apply(this, args), wait);\n            };\n        }\n\n        function showToast(message, type = 'info') {\n            console.log('[FIFO PRO Reg] showToast called:', type, message);\n            \/\/ Supprimer toast existant\n            $('.fifo-toast').remove();\n\n            const $toast = $('<div class=\"fifo-toast fifo-toast--' + type + '\">' + message + '<\/div>');\n            $('body').append($toast);\n            console.log('[FIFO PRO Reg] Toast appended, will remove in 5000ms');\n\n            setTimeout(() => {\n                console.log('[FIFO PRO Reg] Toast removed after 5s');\n                $toast.remove();\n            }, 5000);\n        }\n\n        function formatFileSize(bytes) {\n            if (bytes < 1024) return bytes + ' o';\n            if (bytes < 1024 * 1024) return (bytes \/ 1024).toFixed(1) + ' Ko';\n            return (bytes \/ (1024 * 1024)).toFixed(1) + ' Mo';\n        }\n\n        \/\/ =====================================================================\n        \/\/ STATE\n        \/\/ =====================================================================\n\n        const state = {\n            currentStep: 1,\n            totalSteps: 4,\n            formData: {},\n            isSaving: false,\n            isDirty: false,\n            uploadedFiles: {},\n        };\n\n        \/\/ =====================================================================\n        \/\/ FORM MANAGER\n        \/\/ =====================================================================\n\n        const FormManager = {\n\n            init: function() {\n                log('Init FormManager');\n\n                this.$form = $('#fifo-pro-reg-form');\n                this.$steps = $('.fifo-pro-reg__step');\n                this.$progressSteps = $('.fifo-pro-reg__progress-step');\n                this.$btnPrev = $('#btn-prev');\n                this.$btnNext = $('#btn-next');\n                this.$btnSubmit = $('#btn-submit');\n\n                this.bindEvents();\n                this.initConditionalFields();\n                this.initPasswordStrength();\n                this.initUploads();\n                this.initCharCounters();\n                this.initChoicesSelect();\n\n                \/\/ Restaurer brouillon si autosave active\n                if (CONFIG.autosaveEnabled) {\n                    this.restoreDraft();\n                    this.startAutosave();\n                }\n\n                \/\/ beforeunload\n                this.initBeforeUnload();\n\n                log('FormManager initialized');\n            },\n\n            bindEvents: function() {\n                const self = this;\n\n                \/\/ Navigation\n                this.$btnNext.on('click', () => this.nextStep());\n                this.$btnPrev.on('click', () => this.prevStep());\n                this.$form.on('submit', (e) => this.handleSubmit(e));\n\n                \/\/ Input changes\n                this.$form.on('input change', 'input, select, textarea', debounce(function() {\n                    self.onFieldChange($(this));\n                }, 300));\n\n                \/\/ Checkbox\/Radio styling\n                this.$form.on('change', '.fifo-field__option input', function() {\n                    self.updateOptionStyles($(this));\n                });\n\n                \/\/ Password toggle\n                this.$form.on('click', '.fifo-password-toggle', function() {\n                    self.togglePassword($(this));\n                });\n            },\n\n            \/\/ -----------------------------------------------------------------\n            \/\/ STEP NAVIGATION\n            \/\/ -----------------------------------------------------------------\n\n            goToStep: function(step) {\n                if (step < 1 || step > state.totalSteps) return;\n\n                \/\/ Valider etape actuelle si on avance\n                if (step > state.currentStep && !this.validateStep(state.currentStep)) {\n                    return;\n                }\n\n                state.currentStep = step;\n                this.updateStepDisplay();\n                this.updateProgressBar();\n                this.updateNavButtons();\n\n                \/\/ Scroll vers le haut\n                $('html, body').animate({ scrollTop: $('#fifo-pro-reg').offset().top - 50 }, 300);\n\n                log('Go to step', step);\n            },\n\n            nextStep: function() {\n                this.goToStep(state.currentStep + 1);\n            },\n\n            prevStep: function() {\n                this.goToStep(state.currentStep - 1);\n            },\n\n            updateStepDisplay: function() {\n                this.$steps.removeClass('is-active');\n                this.$steps.filter('[data-step=\"' + state.currentStep + '\"]').addClass('is-active');\n            },\n\n            updateProgressBar: function() {\n                this.$progressSteps.each(function() {\n                    const stepNum = $(this).data('step');\n                    $(this).removeClass('is-active is-completed');\n\n                    if (stepNum < state.currentStep) {\n                        $(this).addClass('is-completed');\n                    } else if (stepNum === state.currentStep) {\n                        $(this).addClass('is-active');\n                    }\n                });\n            },\n\n            updateNavButtons: function() {\n                \/\/ Bouton Precedent\n                if (state.currentStep === 1) {\n                    this.$btnPrev.hide();\n                } else {\n                    this.$btnPrev.show();\n                }\n\n                \/\/ Boutons Suivant\/Submit\n                if (state.currentStep === state.totalSteps) {\n                    this.$btnNext.hide();\n                    this.$btnSubmit.show();\n                } else {\n                    this.$btnNext.show();\n                    this.$btnSubmit.hide();\n                }\n            },\n\n            \/\/ -----------------------------------------------------------------\n            \/\/ VALIDATION\n            \/\/ -----------------------------------------------------------------\n\n            validateStep: function(step) {\n                const $step = this.$steps.filter('[data-step=\"' + step + '\"]');\n                const $requiredFields = $step.find('.fifo-field--required');\n                let isValid = true;\n\n                $requiredFields.each(function() {\n                    const $field = $(this);\n                    if (!FormManager.validateField($field)) {\n                        isValid = false;\n                    }\n                });\n\n                \/\/ Validation speciale pour Step 1: confirmation mot de passe\n                if (step === 1) {\n                    const password = $('[name=\"password\"]').val();\n                    const confirm = $('[name=\"password_confirm\"]').val();\n                    if (password && confirm && password !== confirm) {\n                        $('[data-field=\"password_confirm\"]').addClass('fifo-field--error');\n                        isValid = false;\n                    }\n                }\n\n                if (!isValid) {\n                    showToast(fifoProReg.i18n.toastFillRequired, 'error');\n                }\n\n                return isValid;\n            },\n\n            validateField: function($fieldWrapper) {\n                const $input = $fieldWrapper.find('input, select, textarea').first();\n                const fieldName = $input.attr('name');\n                let value = '';\n\n                \/\/ Gestion checkboxes multiples\n                if ($input.attr('type') === 'checkbox' && fieldName && fieldName.endsWith('[]')) {\n                    const checked = $fieldWrapper.find('input:checked');\n                    value = checked.length > 0 ? 'has_value' : '';\n                }\n                \/\/ Gestion radio\n                else if ($input.attr('type') === 'radio') {\n                    value = $fieldWrapper.find('input:checked').val() || '';\n                }\n                \/\/ Autres\n                else {\n                    value = $input.val() || '';\n                }\n\n                \/\/ Champ conditionnel non visible = valide\n                if ($fieldWrapper.hasClass('fifo-field--conditional') && !$fieldWrapper.hasClass('is-visible')) {\n                    $fieldWrapper.removeClass('fifo-field--error');\n                    return true;\n                }\n\n                \/\/ Validation\n                const isRequired = $fieldWrapper.hasClass('fifo-field--required');\n                const isEmpty = !value || value.trim() === '';\n\n                if (isRequired && isEmpty) {\n                    $fieldWrapper.addClass('fifo-field--error').removeClass('fifo-field--valid');\n                    return false;\n                }\n\n                \/\/ Validation email\n                if ($input.attr('type') === 'email' && value) {\n                    const emailRegex = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n                    if (!emailRegex.test(value)) {\n                        $fieldWrapper.addClass('fifo-field--error').removeClass('fifo-field--valid');\n                        return false;\n                    }\n                }\n\n                \/\/ Validation URL\n                if ($input.attr('type') === 'url' && value) {\n                    try {\n                        new URL(value);\n                    } catch (e) {\n                        $fieldWrapper.addClass('fifo-field--error').removeClass('fifo-field--valid');\n                        return false;\n                    }\n                }\n\n                \/\/ Validation password (min 8 chars)\n                if ($input.attr('name') === 'password' && value && value.length < 8) {\n                    $fieldWrapper.addClass('fifo-field--error').removeClass('fifo-field--valid');\n                    return false;\n                }\n\n                $fieldWrapper.removeClass('fifo-field--error').addClass('fifo-field--valid');\n                return true;\n            },\n\n            \/\/ -----------------------------------------------------------------\n            \/\/ FIELD CHANGE HANDLER\n            \/\/ -----------------------------------------------------------------\n\n            onFieldChange: function($input) {\n                state.isDirty = true;\n\n                const $field = $input.closest('.fifo-field');\n                if ($field.hasClass('fifo-field--required')) {\n                    this.validateField($field);\n                }\n\n                \/\/ Sauvegarder en state\n                this.collectFormData();\n\n                \/\/ Autosave\n                if (CONFIG.autosaveEnabled) {\n                    this.saveDraft();\n                }\n            },\n\n            updateOptionStyles: function($input) {\n                const $option = $input.closest('.fifo-field__option');\n                const $allOptions = $input.closest('.fifo-field__options').find('.fifo-field__option');\n\n                if ($input.attr('type') === 'radio') {\n                    $allOptions.removeClass('is-checked');\n                    if ($input.is(':checked')) {\n                        $option.addClass('is-checked');\n                    }\n                } else {\n                    $option.toggleClass('is-checked', $input.is(':checked'));\n                }\n            },\n\n            \/\/ -----------------------------------------------------------------\n            \/\/ CONDITIONAL FIELDS\n            \/\/ -----------------------------------------------------------------\n\n            initConditionalFields: function() {\n                const self = this;\n\n                $('.fifo-field--conditional').each(function() {\n                    const $condField = $(this);\n                    const conditionField = $condField.data('condition-field');\n                    const conditionValue = $condField.data('condition-value');\n\n                    \/\/ Bind change event on condition field\n                    self.$form.on('change', '[name=\"' + conditionField + '\"], [name=\"' + conditionField + '[]\"]', function() {\n                        self.updateConditionalField($condField, conditionField, conditionValue);\n                    });\n\n                    \/\/ Init state\n                    self.updateConditionalField($condField, conditionField, conditionValue);\n                });\n            },\n\n            updateConditionalField: function($condField, conditionField, conditionValue) {\n                const $inputs = this.$form.find('[name=\"' + conditionField + '\"], [name=\"' + conditionField + '[]\"]');\n                let conditionMet = false;\n\n                if ($inputs.attr('type') === 'checkbox') {\n                    \/\/ Checkbox: verifier si la valeur est cochee\n                    conditionMet = $inputs.filter('[value=\"' + conditionValue + '\"]:checked').length > 0;\n                } else if ($inputs.attr('type') === 'radio') {\n                    \/\/ Radio: verifier la valeur selectionnee\n                    conditionMet = $inputs.filter(':checked').val() === conditionValue;\n                } else {\n                    \/\/ Select\/Input: verifier la valeur\n                    conditionMet = $inputs.val() === conditionValue;\n                }\n\n                if (conditionMet) {\n                    $condField.addClass('is-visible');\n                } else {\n                    $condField.removeClass('is-visible');\n                    \/\/ Vider le champ si masque (recommandation Gemini)\n                    $condField.find('input, textarea').val('');\n                }\n            },\n\n            \/\/ -----------------------------------------------------------------\n            \/\/ PASSWORD STRENGTH\n            \/\/ -----------------------------------------------------------------\n\n            initPasswordStrength: function() {\n                const self = this;\n                const $passwordInput = this.$form.find('[name=\"password\"]');\n                const $strengthBar = $passwordInput.closest('.fifo-field').find('.fifo-password-strength');\n                const $strengthText = $passwordInput.closest('.fifo-field').find('.fifo-password-strength__text');\n\n                $passwordInput.on('input', function() {\n                    const password = $(this).val();\n                    const strength = self.calculatePasswordStrength(password);\n\n                    $strengthBar.removeClass('fifo-password-strength--weak fifo-password-strength--medium fifo-password-strength--strong');\n\n                    if (password.length === 0) {\n                        $strengthText.text('');\n                        return;\n                    }\n\n                    if (strength < 2) {\n                        $strengthBar.addClass('fifo-password-strength--weak');\n                        $strengthText.text(fifoProReg.i18n.passwordWeak);\n                    } else if (strength < 4) {\n                        $strengthBar.addClass('fifo-password-strength--medium');\n                        $strengthText.text(fifoProReg.i18n.passwordMedium);\n                    } else {\n                        $strengthBar.addClass('fifo-password-strength--strong');\n                        $strengthText.text(fifoProReg.i18n.passwordStrong);\n                    }\n                });\n            },\n\n            calculatePasswordStrength: function(password) {\n                let strength = 0;\n\n                if (password.length >= 8) strength++;\n                if (password.length >= 12) strength++;\n                if (\/[a-z]\/.test(password)) strength++;\n                if (\/[A-Z]\/.test(password)) strength++;\n                if (\/[0-9]\/.test(password)) strength++;\n                if (\/[^a-zA-Z0-9]\/.test(password)) strength++;\n\n                return strength;\n            },\n\n            togglePassword: function($btn) {\n                const $wrapper = $btn.closest('.fifo-password-wrapper');\n                const $input = $wrapper.find('input');\n                const $showIcon = $btn.find('.toggle-show');\n                const $hideIcon = $btn.find('.toggle-hide');\n\n                if ($input.attr('type') === 'password') {\n                    $input.attr('type', 'text');\n                    $showIcon.hide();\n                    $hideIcon.show();\n                } else {\n                    $input.attr('type', 'password');\n                    $showIcon.show();\n                    $hideIcon.hide();\n                }\n            },\n\n            \/\/ -----------------------------------------------------------------\n            \/\/ FILE UPLOADS\n            \/\/ -----------------------------------------------------------------\n\n            initUploads: function() {\n                const self = this;\n\n                $('.fifo-upload-zone').each(function() {\n                    const $zone = $(this);\n                    const $input = $zone.find('input[type=\"file\"]');\n                    const uploadType = $zone.data('upload');\n                    const maxSize = parseInt($zone.data('max-size'));\n\n                    \/\/ Click to upload\n                    $zone.on('click', function(e) {\n                        if (!$(e.target).is('input')) {\n                            $input.trigger('click');\n                        }\n                    });\n\n                    \/\/ Drag & drop\n                    $zone.on('dragover dragenter', function(e) {\n                        e.preventDefault();\n                        $zone.addClass('is-dragover');\n                    });\n\n                    $zone.on('dragleave drop', function(e) {\n                        e.preventDefault();\n                        $zone.removeClass('is-dragover');\n                    });\n\n                    $zone.on('drop', function(e) {\n                        const files = e.originalEvent.dataTransfer.files;\n                        if (files.length > 0) {\n                            self.handleFileSelect(files[0], uploadType, maxSize);\n                        }\n                    });\n\n                    \/\/ File input change\n                    $input.on('change', function() {\n                        if (this.files.length > 0) {\n                            self.handleFileSelect(this.files[0], uploadType, maxSize);\n                        }\n                    });\n                });\n\n                \/\/ Remove file\n                $('.fifo-upload-preview__remove').on('click', function() {\n                    const $preview = $(this).closest('.fifo-upload-preview');\n                    const uploadType = $preview.data('preview');\n\n                    self.removeFile(uploadType);\n                });\n            },\n\n            handleFileSelect: function(file, uploadType, maxSize) {\n                const $field = $('[data-field=\"pro_' + uploadType + '\"]');\n                const $preview = $('[data-preview=\"' + uploadType + '\"]');\n\n                \/\/ Validation taille\n                if (file.size > maxSize) {\n                    $field.addClass('fifo-field--error');\n                    showToast(fifoProReg.i18n.toastFileTooLarge, 'error');\n                    return;\n                }\n\n                $field.removeClass('fifo-field--error');\n\n                \/\/ Stocker le fichier\n                state.uploadedFiles[uploadType] = file;\n                state.isDirty = true;\n\n                \/\/ Afficher preview\n                $preview.addClass('has-file');\n                $preview.find('.fifo-upload-preview__name').text(file.name);\n                $preview.find('.fifo-upload-preview__size').text(formatFileSize(file.size));\n\n                \/\/ Preview image si avatar\n                if (uploadType === 'avatar' && file.type.startsWith('image\/')) {\n                    const reader = new FileReader();\n                    reader.onload = function(e) {\n                        $preview.find('.fifo-upload-preview__image').attr('src', e.target.result).show();\n                    };\n                    reader.readAsDataURL(file);\n                }\n\n                log('File selected', { type: uploadType, name: file.name, size: file.size });\n            },\n\n            removeFile: function(uploadType) {\n                const $preview = $('[data-preview=\"' + uploadType + '\"]');\n                const $input = $('[data-upload=\"' + uploadType + '\"] input');\n\n                delete state.uploadedFiles[uploadType];\n                $input.val('');\n                $preview.removeClass('has-file');\n                $preview.find('.fifo-upload-preview__image').attr('src', '').hide();\n\n                log('File removed', uploadType);\n            },\n\n            \/\/ -----------------------------------------------------------------\n            \/\/ CHARACTER COUNTERS\n            \/\/ -----------------------------------------------------------------\n\n            initCharCounters: function() {\n                $('textarea[maxlength]').each(function() {\n                    const $textarea = $(this);\n                    const maxLength = parseInt($textarea.attr('maxlength'));\n                    const $counter = $textarea.closest('.fifo-field').find('.fifo-char-counter');\n\n                    function updateCounter() {\n                        const current = $textarea.val().length;\n                        $counter.find('.current').text(current);\n\n                        $counter.removeClass('is-warning is-error');\n                        if (current > maxLength * 0.9) {\n                            $counter.addClass('is-error');\n                        } else if (current > maxLength * 0.75) {\n                            $counter.addClass('is-warning');\n                        }\n                    }\n\n                    $textarea.on('input', updateCounter);\n                    updateCounter();\n                });\n            },\n\n            \/\/ -----------------------------------------------------------------\n            \/\/ CHOICES.JS SELECT\n            \/\/ -----------------------------------------------------------------\n\n            initChoicesSelect: function() {\n                if (typeof Choices === 'undefined') {\n                    log('Choices.js not loaded');\n                    return;\n                }\n\n                const countrySelect = document.getElementById('pro_pays');\n                if (countrySelect) {\n                    new Choices(countrySelect, {\n                        searchEnabled: true,\n                        searchPlaceholderValue: 'Rechercher un pays...',\n                        itemSelectText: '',\n                        shouldSort: false,\n                        position: 'bottom',\n                    });\n                    log('Choices.js initialized for country select');\n                }\n            },\n\n            \/\/ -----------------------------------------------------------------\n            \/\/ AUTOSAVE (localStorage)\n            \/\/ -----------------------------------------------------------------\n\n            saveDraft: debounce(function() {\n                this.collectFormData();\n\n                try {\n                    localStorage.setItem(CONFIG.autosaveKey, JSON.stringify({\n                        data: state.formData,\n                        step: state.currentStep,\n                        timestamp: Date.now(),\n                    }));\n\n                    \/\/ Feedback visuel\n                    const $indicator = $('#autosave-indicator');\n                    $indicator.addClass('is-visible');\n                    setTimeout(() => $indicator.removeClass('is-visible'), 2000);\n\n                    log('Draft saved', state.formData);\n                } catch (e) {\n                    log('LocalStorage error', e);\n                }\n            }, CONFIG.debounceDelay),\n\n            restoreDraft: function() {\n                try {\n                    const saved = localStorage.getItem(CONFIG.autosaveKey);\n                    if (!saved) return;\n\n                    const draft = JSON.parse(saved);\n\n                    \/\/ Verifier expiration (24h)\n                    if (Date.now() - draft.timestamp > 24 * 60 * 60 * 1000) {\n                        localStorage.removeItem(CONFIG.autosaveKey);\n                        return;\n                    }\n\n                    \/\/ Restaurer les donnees\n                    Object.keys(draft.data).forEach(key => {\n                        const $input = this.$form.find('[name=\"' + key + '\"]');\n\n                        if ($input.attr('type') === 'checkbox') {\n                            const values = Array.isArray(draft.data[key]) ? draft.data[key] : [draft.data[key]];\n                            values.forEach(val => {\n                                this.$form.find('[name=\"' + key + '\"][value=\"' + val + '\"]').prop('checked', true).closest('.fifo-field__option').addClass('is-checked');\n                            });\n                        } else if ($input.attr('type') === 'radio') {\n                            this.$form.find('[name=\"' + key + '\"][value=\"' + draft.data[key] + '\"]').prop('checked', true).closest('.fifo-field__option').addClass('is-checked');\n                        } else {\n                            $input.val(draft.data[key]);\n                        }\n                    });\n\n                    \/\/ Mettre a jour les champs conditionnels\n                    $('.fifo-field--conditional').each((i, el) => {\n                        const $condField = $(el);\n                        const conditionField = $condField.data('condition-field');\n                        const conditionValue = $condField.data('condition-value');\n                        this.updateConditionalField($condField, conditionField, conditionValue);\n                    });\n\n                    \/\/ Restaurer l'etape\n                    if (draft.step && draft.step > 1) {\n                        state.currentStep = draft.step;\n                        this.updateStepDisplay();\n                        this.updateProgressBar();\n                        this.updateNavButtons();\n                    }\n\n                    showToast(fifoProReg.i18n.toastDraftRestored, 'success');\n                    log('Draft restored', draft);\n\n                } catch (e) {\n                    log('Restore draft error', e);\n                }\n            },\n\n            startAutosave: function() {\n                setInterval(() => {\n                    if (state.isDirty) {\n                        this.saveDraft();\n                    }\n                }, CONFIG.autosaveInterval);\n            },\n\n            clearDraft: function() {\n                localStorage.removeItem(CONFIG.autosaveKey);\n                log('Draft cleared');\n            },\n\n            \/\/ -----------------------------------------------------------------\n            \/\/ BEFOREUNLOAD\n            \/\/ -----------------------------------------------------------------\n\n            initBeforeUnload: function() {\n                window.addEventListener('beforeunload', (e) => {\n                    if (state.isDirty && !state.isSaving) {\n                        e.preventDefault();\n                        e.returnValue = 'Vous avez des modifications non enregistrees. Etes-vous sur de vouloir quitter ?';\n                        return e.returnValue;\n                    }\n                });\n            },\n\n            \/\/ -----------------------------------------------------------------\n            \/\/ COLLECT FORM DATA\n            \/\/ -----------------------------------------------------------------\n\n            collectFormData: function() {\n                state.formData = {};\n\n                this.$form.find('input, select, textarea').each(function() {\n                    const $input = $(this);\n                    const name = $input.attr('name');\n\n                    if (!name || name === 'action' || name === 'nonce' || name.startsWith('website_')) return;\n\n                    if ($input.attr('type') === 'checkbox') {\n                        if ($input.is(':checked')) {\n                            const cleanName = name.replace('[]', '');\n                            if (!state.formData[cleanName]) {\n                                state.formData[cleanName] = [];\n                            }\n                            state.formData[cleanName].push($input.val());\n                        }\n                    } else if ($input.attr('type') === 'radio') {\n                        if ($input.is(':checked')) {\n                            state.formData[name] = $input.val();\n                        }\n                    } else if ($input.attr('type') !== 'file') {\n                        state.formData[name] = $input.val();\n                    }\n                });\n            },\n\n            \/\/ -----------------------------------------------------------------\n            \/\/ FORM SUBMIT\n            \/\/ -----------------------------------------------------------------\n\n            handleSubmit: function(e) {\n                e.preventDefault();\n\n                \/\/ Valider derniere etape\n                if (!this.validateStep(state.currentStep)) {\n                    return;\n                }\n\n                \/\/ Verifier honeypot\n                if ($('[name=\"website_url\"]').val()) {\n                    log('Honeypot triggered');\n                    return;\n                }\n\n                state.isSaving = true;\n                const btnOriginalText = this.$btnSubmit.text();\n                this.$btnSubmit.addClass('is-saving').text(fifoProReg.i18n.btnSubmitting);\n\n                \/\/ Creer FormData avec fichiers\n                const formData = new FormData(this.$form[0]);\n\n                \/\/ Ajouter fichiers uploades\n                Object.keys(state.uploadedFiles).forEach(key => {\n                    formData.set('pro_' + key, state.uploadedFiles[key]);\n                });\n\n                log('Submitting form...');\n\n                $.ajax({\n                    url: CONFIG.ajaxUrl,\n                    type: 'POST',\n                    data: formData,\n                    processData: false,\n                    contentType: false,\n                    success: (response) => {\n                        state.isSaving = false;\n                        this.$btnSubmit.removeClass('is-saving').text(btnOriginalText);\n\n                        if (response.success) {\n                            log('Registration success', response.data);\n\n                            \/\/ Supprimer brouillon\n                            this.clearDraft();\n                            state.isDirty = false;\n\n                            \/\/ Rediriger (avec delai pour voir le toast)\n                            if (response.data.redirect_url) {\n                                showToast(fifoProReg.i18n.ajaxSuccess, 'success');\n                                console.log('[FIFO PRO Reg] Success! Redirect in 5s to:', response.data.redirect_url);\n                                setTimeout(() => {\n                                    console.log('[FIFO PRO Reg] Redirecting now...');\n                                    window.location.href = response.data.redirect_url;\n                                }, 5000);\n                            } else {\n                                showToast(fifoProReg.i18n.ajaxSuccess, 'success');\n                            }\n                        } else {\n                            log('Registration error', response.data);\n                            showToast(response.data.message || fifoProReg.i18n.ajaxError, 'error');\n                        }\n                    },\n                    error: (xhr, status, error) => {\n                        state.isSaving = false;\n                        this.$btnSubmit.removeClass('is-saving').text(btnOriginalText);\n\n                        log('AJAX error', { status, error });\n                        showToast(fifoProReg.i18n.toastConnectionError, 'error');\n                    }\n                });\n            },\n\n        };\n\n        \/\/ =====================================================================\n        \/\/ INIT\n        \/\/ =====================================================================\n\n        $(document).ready(function() {\n            FormManager.init();\n        });\n\n    })(jQuery);\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Inscription PRO<\/p>","protected":false},"author":2989,"featured_media":0,"parent":20792,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_jet_sm_ready_style":"","_jet_sm_style":"","_jet_sm_controls_values":"","_jet_sm_fonts_collection":"","_jet_sm_fonts_links":"","footnotes":""},"class_list":["post-20776","page","type-page","status-publish","hentry"],"acf":[],"jetpack_sharing_enabled":true,"cmb2":{"page_slider_settings":{"display_slider_group":"no","page_slider_group":[{"layout":"slider-1","post_type":"post","order_by":"date","order":"DESC","display_categories":"yes","display_author":"yes","display_date":"yes","display_comment_count":"yes","display_view_count":"yes","display_like_count":"yes","display_dislike_count":"yes","fade":"no"}]},"blog_page_settings":{"blog_page_title":"","blog_page_heading":"off","blog_page_advance_search":"off","blog_page_ic":"","blog_page_it":"","blog_page_ec":"","blog_page_ip":"","blog_page_advance_search_id":"","archive_loop_style":"list-blog","blog_image_ratio":"","blog_show_categories":"on","blog_show_excerpt":"on","blog_show_author":"on","blog_show_date":"on","blog_show_comment_count":"on","blog_show_view_count":"on","blog_show_like_count":"on","blog_show_dislike_count":"on","blog_items_per_page":"10","blog_pag_type":"wp-default"},"page_options":{"get_page_template":"","color_mode":"","main_layout":"","main_layout_full_with":"","main_logo":"","main_logo_id":"","main_logo_retina":"","main_logo_retina_id":"","main_logo_mobile":"","main_logo_mobile_id":"","main_logo_mobile_retina":"","main_logo_mobile_retina_id":"","sticky_logo":"","sticky_logo_id":"","sticky_logo_retina":"","sticky_logo_retina_id":"","main_nav_layout":"","ajax_search":"","header_background":"","theme_sidebar":"","instagram_feed":"","instagram_feed_position":"","popular_videos":"","popular_videos_title_1":"","popular_videos_title_2":"","popular_videos_ic":"","popular_videos_it":"","theme_background":"","page_custom_css":""}},"_links":{"self":[{"href":"https:\/\/www.fifotahiti.com\/en\/wp-json\/wp\/v2\/pages\/20776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fifotahiti.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.fifotahiti.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.fifotahiti.com\/en\/wp-json\/wp\/v2\/users\/2989"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fifotahiti.com\/en\/wp-json\/wp\/v2\/comments?post=20776"}],"version-history":[{"count":20,"href":"https:\/\/www.fifotahiti.com\/en\/wp-json\/wp\/v2\/pages\/20776\/revisions"}],"predecessor-version":[{"id":53984,"href":"https:\/\/www.fifotahiti.com\/en\/wp-json\/wp\/v2\/pages\/20776\/revisions\/53984"}],"up":[{"embeddable":true,"href":"https:\/\/www.fifotahiti.com\/en\/wp-json\/wp\/v2\/pages\/20792"}],"wp:attachment":[{"href":"https:\/\/www.fifotahiti.com\/en\/wp-json\/wp\/v2\/media?parent=20776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}