{"id":2024,"date":"2025-12-31T14:28:05","date_gmt":"2025-12-31T14:28:05","guid":{"rendered":"https:\/\/oceaumarine.com\/?page_id=2024"},"modified":"2025-12-31T14:52:46","modified_gmt":"2025-12-31T14:52:46","slug":"inscription","status":"publish","type":"page","link":"https:\/\/oceaumarine.com\/en\/inscription\/","title":{"rendered":"Registration"},"content":{"rendered":"\n        <!-- Onglets Connexion \/ Inscription -->\n        <div class=\"cgm-auth-tabs\">\n            <button type=\"button\" class=\"cgm-tab-btn active\" data-tab=\"connexion\">\n                <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"margin-right: 8px;\">\n                    <path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\" fill=\"currentColor\"\/>\n                <\/svg>\n                Connexion\n            <\/button>\n            <button type=\"button\" class=\"cgm-tab-btn \" data-tab=\"inscription\">\n                <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"margin-right: 8px;\">\n                    <path d=\"M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm-9-2V7H4v3H1v2h3v3h2v-3h3v-2H6zm9 4c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\" fill=\"currentColor\"\/>\n                <\/svg>\n                Inscription\n            <\/button>\n        <\/div>\n\n        <!-- Contenu Connexion -->\n        <div class=\"cgm-tab-content\" id=\"tab-connexion\" style=\"\">\n            <form method=\"post\" class=\"cgm-login-form woocommerce-form-login\" >\n                <input type=\"hidden\" id=\"cgm_login_nonce\" name=\"cgm_login_nonce\" value=\"b3b258b87b\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/2024\" \/>                <input type=\"hidden\" name=\"cgm_login_submit\" value=\"1\">\n\n                <h2 class=\"cgm-form-title\">Connectez-vous \u00e0 votre compte<\/h2>\n                <p class=\"cgm-form-description\">Acc\u00e9dez \u00e0 votre espace personnel<\/p>\n\n                <p class=\"form-row form-row-wide\">\n                    <label for=\"login_username\">Adresse e-mail <span class=\"required\">*<\/span><\/label>\n                    <input type=\"text\" class=\"input-text\" name=\"username\" id=\"login_username\" autocomplete=\"username\" required>\n                <\/p>\n\n                <p class=\"form-row form-row-wide\">\n                    <label for=\"login_password\">Mot de passe <span class=\"required\">*<\/span><\/label>\n                    <input type=\"password\" class=\"input-text\" name=\"password\" id=\"login_password\" autocomplete=\"current-password\" required>\n                <\/p>\n\n                <p class=\"form-row\">\n                    <label class=\"woocommerce-form__label woocommerce-form__label-for-checkbox inline\">\n                        <input class=\"woocommerce-form__input woocommerce-form__input-checkbox\" name=\"rememberme\" type=\"checkbox\" value=\"forever\">\n                        <span>Se souvenir de moi<\/span>\n                    <\/label>\n                <\/p>\n\n                <p class=\"form-row\">\n                    <button type=\"submit\" class=\"button alt\" name=\"login\">Se connecter<\/button>\n                <\/p>\n\n                <p class=\"cgm-lost-password\">\n                    <a href=\"#\" id=\"cgm-show-lost-password\">Mot de passe oubli\u00e9 ?<\/a>\n                <\/p>\n            <\/form>\n\n            <!-- Formulaire mot de passe oubli\u00e9 (visible si soumis, sinon cach\u00e9) -->\n            <div id=\"cgm-lost-password-form\" style=\"display:none;\">\n                                    <form method=\"post\" class=\"cgm-login-form woocommerce-form-lost-password\">\n                        <input type=\"hidden\" id=\"cgm_lost_password_nonce\" name=\"cgm_lost_password_nonce\" value=\"4a5a279c6b\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/2024\" \/>                        <input type=\"hidden\" name=\"cgm_lost_password_submit\" value=\"1\">\n\n                        <h2 class=\"cgm-form-title\">Mot de passe oubli\u00e9<\/h2>\n                        <p class=\"cgm-form-description\">Saisissez votre adresse e-mail, vous recevrez un lien pour cr\u00e9er un nouveau mot de passe.<\/p>\n\n                        <p class=\"form-row form-row-wide\">\n                            <label for=\"lost_password_email\">Adresse e-mail <span class=\"required\">*<\/span><\/label>\n                            <input type=\"email\" class=\"input-text\" name=\"user_login\" id=\"lost_password_email\" autocomplete=\"email\" required>\n                        <\/p>\n\n                        <p class=\"form-row\">\n                            <button type=\"submit\" class=\"button alt\">R\u00e9initialiser le mot de passe<\/button>\n                        <\/p>\n\n                        <p class=\"cgm-lost-password\">\n                            <a href=\"#\" id=\"cgm-back-to-login\">Retour \u00e0 la connexion<\/a>\n                        <\/p>\n                    <\/form>\n                            <\/div>\n        <\/div>\n\n        <!-- Contenu Inscription -->\n        <div class=\"cgm-tab-content\" id=\"tab-inscription\" style=\"display:none;\">\n        <form method=\"post\" class=\"cgm-registration-form woocommerce-form-register\" enctype=\"multipart\/form-data\">\n\n            <input type=\"hidden\" id=\"cgm_registration_nonce\" name=\"cgm_registration_nonce\" value=\"de563febd9\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/2024\" \/>            <input type=\"hidden\" name=\"cgm_registration_submit\" value=\"1\">\n            <input type=\"hidden\" name=\"cgm_reg_timestamp\" value=\"1775388704\">\n\n            <!-- Honeypot anti-spam (invisible) -->\n            <div style=\"position:absolute;left:-9999px;top:-9999px;\" aria-hidden=\"true\">\n                <label for=\"cgm_website_url\">Website<\/label>\n                <input type=\"text\" name=\"cgm_website_url\" id=\"cgm_website_url\" value=\"\" tabindex=\"-1\" autocomplete=\"off\">\n            <\/div>\n\n                        <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?render=6LcooqQsAAAAAO_pIQPpe9qcn-2qL2xVjxP-wVWK\"><\/script>\n            \n            <!-- Indicateur de progression -->\n            <div class=\"cgm-registration-progress\">\n                <div class=\"cgm-progress-steps\">\n                    <div class=\"cgm-progress-step active\" data-step=\"1\">\n                        <div class=\"cgm-step-number\">1<\/div>\n                        <div class=\"cgm-step-label\">Identit\u00e9<\/div>\n                    <\/div>\n                    <div class=\"cgm-progress-step\" data-step=\"2\">\n                        <div class=\"cgm-step-number\">2<\/div>\n                        <div class=\"cgm-step-label\">Adresse<\/div>\n                    <\/div>\n                    <div class=\"cgm-progress-step\" data-step=\"3\">\n                        <div class=\"cgm-step-number\">3<\/div>\n                        <div class=\"cgm-step-label\">Compte<\/div>\n                    <\/div>\n                <\/div>\n                <div class=\"cgm-progress-bar\">\n                    <div class=\"cgm-progress-fill\" style=\"width: 33.33%;\"><\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"cgm-registration-container\">\n\n                <!-- \u00c9TAPE 1 : Informations personnelles -->\n                <div class=\"cgm-step-content active\" data-step=\"1\">\n                    <h3 class=\"cgm-step-title\">Vos informations personnelles<\/h3>\n                    <p class=\"cgm-step-description\">Commencez par renseigner vos informations d'identit\u00e9 et de contact<\/p>\n\n                    <p class=\"form-row form-row-first cgm-required-field\">\n                        <label for=\"billing_first_name\">Pr\u00e9nom <span class=\"required\">*<\/span><\/label>\n                        <input type=\"text\" class=\"input-text\" name=\"billing_first_name\" id=\"billing_first_name\" value=\"\" required>\n                    <\/p>\n\n                    <p class=\"form-row form-row-last cgm-required-field\">\n                        <label for=\"billing_last_name\">Nom <span class=\"required\">*<\/span><\/label>\n                        <input type=\"text\" class=\"input-text\" name=\"billing_last_name\" id=\"billing_last_name\" value=\"\" required>\n                    <\/p>\n\n                    <p class=\"form-row form-row-wide cgm-required-field\">\n                        <label for=\"email\">Adresse e-mail <span class=\"required\">*<\/span><\/label>\n                        <input type=\"email\" class=\"input-text\" name=\"email\" id=\"email\" value=\"\" autocomplete=\"email\" required>\n                    <\/p>\n\n                    <p class=\"form-row form-row-wide cgm-required-field\">\n                        <label for=\"password\">Mot de passe <span class=\"required\">*<\/span><\/label>\n                        <input type=\"password\" class=\"input-text\" name=\"password\" id=\"password\" autocomplete=\"new-password\" required>\n                    <\/p>\n\n                    <p class=\"form-row form-row-first cgm-required-field\">\n                        <label for=\"billing_phone\">T\u00e9l\u00e9phone <span class=\"required\">*<\/span><\/label>\n                        <input type=\"tel\" class=\"input-text\" name=\"billing_phone\" id=\"billing_phone\" value=\"\" required>\n                    <\/p>\n\n                    <p class=\"form-row form-row-last\">\n                        <label for=\"mobile_phone\">Mobile<\/label>\n                        <input type=\"tel\" class=\"input-text\" name=\"mobile_phone\" id=\"mobile_phone\" value=\"\">\n                    <\/p>\n                <\/div>\n\n                <!-- \u00c9TAPE 2 : Adresse de facturation -->\n                <div class=\"cgm-step-content\" data-step=\"2\">\n                    <h3 class=\"cgm-step-title\">Votre adresse de facturation<\/h3>\n                    <p class=\"cgm-step-description\">Indiquez l'adresse qui appara\u00eetra sur vos factures<\/p>\n\n                    <p class=\"form-row form-row-wide\">\n                        <label for=\"billing_company\">Soci\u00e9t\u00e9 (optionnel)<\/label>\n                        <input type=\"text\" class=\"input-text\" name=\"billing_company\" id=\"billing_company\" value=\"\">\n                    <\/p>\n\n                    <p class=\"form-row form-row-wide cgm-required-field\">\n                        <label for=\"billing_address_1\">Adresse <span class=\"required\">*<\/span><\/label>\n                        <input type=\"text\" class=\"input-text\" name=\"billing_address_1\" id=\"billing_address_1\" placeholder=\"Num\u00e9ro et nom de rue\" value=\"\" required>\n                    <\/p>\n\n                    <p class=\"form-row form-row-wide\">\n                        <label for=\"billing_address_2\">Compl\u00e9ment d'adresse (optionnel)<\/label>\n                        <input type=\"text\" class=\"input-text\" name=\"billing_address_2\" id=\"billing_address_2\" placeholder=\"Appartement, b\u00e2timent, \u00e9tage...\" value=\"\">\n                    <\/p>\n\n                    <p class=\"form-row form-row-first cgm-required-field\">\n                        <label for=\"billing_postcode\">Code postal <span class=\"required\">*<\/span><\/label>\n                        <input type=\"text\" class=\"input-text\" name=\"billing_postcode\" id=\"billing_postcode\" value=\"\" required>\n                    <\/p>\n\n                    <p class=\"form-row form-row-last cgm-required-field\">\n                        <label for=\"billing_city\">Ville <span class=\"required\">*<\/span><\/label>\n                        <input type=\"text\" class=\"input-text\" name=\"billing_city\" id=\"billing_city\" value=\"\" required>\n                    <\/p>\n\n                    <p class=\"form-row form-row-wide cgm-required-field\">\n                        <label for=\"billing_country\">Pays <span class=\"required\">*<\/span><\/label>\n                        <select name=\"billing_country\" id=\"billing_country\" class=\"country_to_state country_select\" required>\n                            <option value=\"GT\" >Guatemala<\/option><option value=\"NE\" >Niger<\/option><option value=\"AQ\" >Antarctica<\/option><option value=\"AF\" >Afghanistan<\/option><option value=\"AX\" >\u00c5land Islands<\/option><option value=\"AL\" >Albania<\/option><option value=\"DZ\" >Algeria<\/option><option value=\"AS\" >American Samoa<\/option><option value=\"AD\" >Andorra<\/option><option value=\"AO\" >Angola<\/option><option value=\"AI\" >Anguilla<\/option><option value=\"AG\" >Antigua and Barbuda<\/option><option value=\"AR\" >Argentina<\/option><option value=\"AM\" >Armenia<\/option><option value=\"AW\" >Aruba<\/option><option value=\"AU\" >Australia<\/option><option value=\"AT\" >Austria<\/option><option value=\"AZ\" >Azerbaijan<\/option><option value=\"BS\" >Bahamas<\/option><option value=\"BH\" >Bahrain<\/option><option value=\"BD\" >Bangladesh<\/option><option value=\"BB\" >Barbados<\/option><option value=\"BY\" >Belarus<\/option><option value=\"BE\" >Belgium<\/option><option value=\"PW\" >Belau<\/option><option value=\"BZ\" >Belize<\/option><option value=\"BJ\" >Benin<\/option><option value=\"BM\" >Bermuda<\/option><option value=\"BT\" >Bhutan<\/option><option value=\"BO\" >Bolivia<\/option><option value=\"BQ\" >Bonaire, Saint Eustatius and Saba<\/option><option value=\"BA\" >Bosnia and Herzegovina<\/option><option value=\"BW\" >Botswana<\/option><option value=\"BV\" >Bouvet Island<\/option><option value=\"BR\" >Brazil<\/option><option value=\"IO\" >British Indian Ocean Territory<\/option><option value=\"BN\" >Brunei<\/option><option value=\"BG\" >Bulgaria<\/option><option value=\"BF\" >Burkina Faso<\/option><option value=\"BI\" >Burundi<\/option><option value=\"KH\" >Cambodia<\/option><option value=\"CM\" >Cameroon<\/option><option value=\"CA\" >Canada<\/option><option value=\"CV\" >Cape Verde<\/option><option value=\"KY\" >Cayman Islands<\/option><option value=\"CF\" >Central African Republic<\/option><option value=\"TD\" >Chad<\/option><option value=\"CL\" >Chile<\/option><option value=\"CN\" >China<\/option><option value=\"CX\" >Christmas Island<\/option><option value=\"CC\" >Cocos (Keeling) Islands<\/option><option value=\"CO\" >Colombia<\/option><option value=\"KM\" >Comoros<\/option><option value=\"CG\" >Congo (Brazzaville)<\/option><option value=\"CD\" >Congo (Kinshasa)<\/option><option value=\"CK\" >Cook Islands<\/option><option value=\"CR\" >Costa Rica<\/option><option value=\"HR\" >Croatia<\/option><option value=\"CU\" >Cuba<\/option><option value=\"CW\" >Cura&ccedil;ao<\/option><option value=\"CY\" >Cyprus<\/option><option value=\"CZ\" >Czech Republic<\/option><option value=\"DK\" >Denmark<\/option><option value=\"DJ\" >Djibouti<\/option><option value=\"DM\" >Dominica<\/option><option value=\"DO\" >Dominican Republic<\/option><option value=\"EC\" >Ecuador<\/option><option value=\"EG\" >Egypt<\/option><option value=\"SV\" >El Salvador<\/option><option value=\"GQ\" >Equatorial Guinea<\/option><option value=\"ER\" >Eritrea<\/option><option value=\"EE\" >Estonia<\/option><option value=\"ET\" >Ethiopia<\/option><option value=\"FK\" >Falkland Islands<\/option><option value=\"FO\" >Faroe Islands<\/option><option value=\"FJ\" >Fiji<\/option><option value=\"FI\" >Finland<\/option><option value=\"FR\"  selected='selected'>France<\/option><option value=\"GF\" >French Guiana<\/option><option value=\"PF\" >French Polynesia<\/option><option value=\"TF\" >French Southern Territories<\/option><option value=\"GA\" >Gabon<\/option><option value=\"GM\" >Gambia<\/option><option value=\"GE\" >Georgia<\/option><option value=\"DE\" >Germany<\/option><option value=\"GH\" >Ghana<\/option><option value=\"GI\" >Gibraltar<\/option><option value=\"GR\" >Greece<\/option><option value=\"GL\" >Greenland<\/option><option value=\"GD\" >Grenada<\/option><option value=\"GP\" >Guadeloupe<\/option><option value=\"GU\" >Guam<\/option><option value=\"GG\" >Guernsey<\/option><option value=\"GN\" >Guinea<\/option><option value=\"GW\" >Guinea-Bissau<\/option><option value=\"GY\" >Guyana<\/option><option value=\"HT\" >Haiti<\/option><option value=\"HM\" >Heard Island and McDonald Islands<\/option><option value=\"HN\" >Honduras<\/option><option value=\"HK\" >Hong Kong<\/option><option value=\"HU\" >Hungary<\/option><option value=\"IS\" >Iceland<\/option><option value=\"IN\" >India<\/option><option value=\"ID\" >Indonesia<\/option><option value=\"IR\" >Iran<\/option><option value=\"IQ\" >Iraq<\/option><option value=\"IE\" >Ireland<\/option><option value=\"IM\" >Isle of Man<\/option><option value=\"IL\" >Israel<\/option><option value=\"IT\" >Italy<\/option><option value=\"CI\" >Ivory Coast<\/option><option value=\"JM\" >Jamaica<\/option><option value=\"JP\" >Japan<\/option><option value=\"JE\" >Jersey<\/option><option value=\"JO\" >Jordan<\/option><option value=\"KZ\" >Kazakhstan<\/option><option value=\"KE\" >Kenya<\/option><option value=\"KI\" >Kiribati<\/option><option value=\"XK\" >Kosovo<\/option><option value=\"KW\" >Kuwait<\/option><option value=\"KG\" >Kyrgyzstan<\/option><option value=\"LA\" >Laos<\/option><option value=\"LV\" >Latvia<\/option><option value=\"LB\" >Lebanon<\/option><option value=\"LS\" >Lesotho<\/option><option value=\"LR\" >Liberia<\/option><option value=\"LY\" >Libya<\/option><option value=\"LI\" >Liechtenstein<\/option><option value=\"LT\" >Lithuania<\/option><option value=\"LU\" >Luxembourg<\/option><option value=\"MO\" >Macao<\/option><option value=\"MK\" >North Macedonia<\/option><option value=\"MG\" >Madagascar<\/option><option value=\"MW\" >Malawi<\/option><option value=\"MY\" >Malaysia<\/option><option value=\"MV\" >Maldives<\/option><option value=\"ML\" >Mali<\/option><option value=\"MT\" >Malta<\/option><option value=\"MH\" >Marshall Islands<\/option><option value=\"MQ\" >Martinique<\/option><option value=\"MR\" >Mauritania<\/option><option value=\"MU\" >Mauritius<\/option><option value=\"YT\" >Mayotte<\/option><option value=\"MX\" >Mexico<\/option><option value=\"FM\" >Micronesia<\/option><option value=\"MD\" >Moldova<\/option><option value=\"MC\" >Monaco<\/option><option value=\"MN\" >Mongolia<\/option><option value=\"ME\" >Montenegro<\/option><option value=\"MS\" >Montserrat<\/option><option value=\"MA\" >Morocco<\/option><option value=\"MZ\" >Mozambique<\/option><option value=\"MM\" >Myanmar<\/option><option value=\"NA\" >Namibia<\/option><option value=\"NR\" >Nauru<\/option><option value=\"NP\" >Nepal<\/option><option value=\"NL\" >Netherlands<\/option><option value=\"NC\" >New Caledonia<\/option><option value=\"NZ\" >New Zealand<\/option><option value=\"NI\" >Nicaragua<\/option><option value=\"NG\" >Nigeria<\/option><option value=\"NU\" >Niue<\/option><option value=\"NF\" >Norfolk Island<\/option><option value=\"MP\" >Northern Mariana Islands<\/option><option value=\"KP\" >North Korea<\/option><option value=\"NO\" >Norway<\/option><option value=\"OM\" >Oman<\/option><option value=\"PK\" >Pakistan<\/option><option value=\"PS\" >Palestinian Territory<\/option><option value=\"PA\" >Panama<\/option><option value=\"PG\" >Papua New Guinea<\/option><option value=\"PY\" >Paraguay<\/option><option value=\"PE\" >Peru<\/option><option value=\"PH\" >Philippines<\/option><option value=\"PN\" >Pitcairn<\/option><option value=\"PL\" >Poland<\/option><option value=\"PT\" >Portugal<\/option><option value=\"PR\" >Puerto Rico<\/option><option value=\"QA\" >Qatar<\/option><option value=\"RE\" >Reunion<\/option><option value=\"RO\" >Romania<\/option><option value=\"RU\" >Russia<\/option><option value=\"RW\" >Rwanda<\/option><option value=\"BL\" >Saint Barth&eacute;lemy<\/option><option value=\"SH\" >Saint Helena<\/option><option value=\"KN\" >Saint Kitts and Nevis<\/option><option value=\"LC\" >Saint Lucia<\/option><option value=\"MF\" >Saint Martin (French part)<\/option><option value=\"SX\" >Saint Martin (Dutch part)<\/option><option value=\"PM\" >Saint Pierre and Miquelon<\/option><option value=\"VC\" >Saint Vincent and the Grenadines<\/option><option value=\"SM\" >San Marino<\/option><option value=\"ST\" >S&atilde;o Tom&eacute; and Pr&iacute;ncipe<\/option><option value=\"SA\" >Saudi Arabia<\/option><option value=\"SN\" >Senegal<\/option><option value=\"RS\" >Serbia<\/option><option value=\"SC\" >Seychelles<\/option><option value=\"SL\" >Sierra Leone<\/option><option value=\"SG\" >Singapore<\/option><option value=\"SK\" >Slovakia<\/option><option value=\"SI\" >Slovenia<\/option><option value=\"SB\" >Solomon Islands<\/option><option value=\"SO\" >Somalia<\/option><option value=\"ZA\" >South Africa<\/option><option value=\"GS\" >South Georgia\/Sandwich Islands<\/option><option value=\"KR\" >South Korea<\/option><option value=\"SS\" >South Sudan<\/option><option value=\"ES\" >Spain<\/option><option value=\"LK\" >Sri Lanka<\/option><option value=\"SD\" >Sudan<\/option><option value=\"SR\" >Suriname<\/option><option value=\"SJ\" >Svalbard and Jan Mayen<\/option><option value=\"SZ\" >Eswatini<\/option><option value=\"SE\" >Sweden<\/option><option value=\"CH\" >Switzerland<\/option><option value=\"SY\" >Syria<\/option><option value=\"TW\" >Taiwan<\/option><option value=\"TJ\" >Tajikistan<\/option><option value=\"TZ\" >Tanzania<\/option><option value=\"TH\" >Thailand<\/option><option value=\"TL\" >Timor-Leste<\/option><option value=\"TG\" >Togo<\/option><option value=\"TK\" >Tokelau<\/option><option value=\"TO\" >Tonga<\/option><option value=\"TT\" >Trinidad and Tobago<\/option><option value=\"TN\" >Tunisia<\/option><option value=\"TR\" >T\u00fcrkiye<\/option><option value=\"TM\" >Turkmenistan<\/option><option value=\"TC\" >Turks and Caicos Islands<\/option><option value=\"TV\" >Tuvalu<\/option><option value=\"UG\" >Uganda<\/option><option value=\"UA\" >Ukraine<\/option><option value=\"AE\" >United Arab Emirates<\/option><option value=\"GB\" >United Kingdom (UK)<\/option><option value=\"US\" >United States (US)<\/option><option value=\"UM\" >United States (US) Minor Outlying Islands<\/option><option value=\"UY\" >Uruguay<\/option><option value=\"UZ\" >Uzbekistan<\/option><option value=\"VU\" >Vanuatu<\/option><option value=\"VA\" >Vatican<\/option><option value=\"VE\" >Venezuela<\/option><option value=\"VN\" >Vietnam<\/option><option value=\"VG\" >Virgin Islands (British)<\/option><option value=\"VI\" >Virgin Islands (US)<\/option><option value=\"WF\" >Wallis and Futuna<\/option><option value=\"EH\" >Western Sahara<\/option><option value=\"WS\" >Samoa<\/option><option value=\"YE\" >Yemen<\/option><option value=\"ZM\" >Zambia<\/option><option value=\"ZW\" >Zimbabwe<\/option>                        <\/select>\n                    <\/p>\n                <\/div>\n\n                <!-- \u00c9TAPE 3 : Type de compte -->\n                <div class=\"cgm-step-content\" data-step=\"3\">\n                    <h3 class=\"cgm-step-title\">Quel type de compte souhaitez-vous cr\u00e9er ?<\/h3>\n                    <p class=\"cgm-step-description\">S\u00e9lectionnez le type de compte correspondant \u00e0 votre situation<\/p>\n\n                    <!-- Boutons de s\u00e9lection du type de compte -->\n                    <div class=\"account-type-buttons\">\n                        <button type=\"button\" class=\"account-type-btn is-active\" data-type=\"particulier\">\n                            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n                                <path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\" fill=\"currentColor\"\/>\n                            <\/svg>\n                            <span class=\"btn-title\">Particulier<\/span>\n                            <span class=\"btn-desc\">Achat pour usage personnel<\/span>\n                        <\/button>\n                        <button type=\"button\" class=\"account-type-btn \" data-type=\"professionnel_sante\">\n                            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n                                <path d=\"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z\" fill=\"currentColor\"\/>\n                            <\/svg>\n                            <span class=\"btn-title\">Professionnel de sant\u00e9<\/span>\n                            <span class=\"btn-desc\">Th\u00e9rapeute, praticien<\/span>\n                        <\/button>\n                    <\/div>\n\n                    <!-- Champ cach\u00e9 pour le type de compte -->\n                    <input type=\"hidden\" name=\"account_type\" id=\"account_type\" value=\"particulier\">\n\n                    <!-- Champs conditionnels selon le type de compte -->\n                    <div class=\"account-extra-fields-container\">\n                        <!-- Champs particulier -->\n                        <div id=\"particulier_fields\" class=\"account-extra-fields\" style=\"\">\n                            <p class=\"form-row form-row-wide cgm-required-field\">\n                                <label for=\"birthdate\">Date de naissance <span class=\"required\">*<\/span><\/label>\n                                <input type=\"date\" class=\"input-text\" name=\"birthdate\" id=\"birthdate\" value=\"\">\n                            <\/p>\n                        <\/div>\n\n                        <!-- Champs professionnel de sant\u00e9 -->\n                        <div id=\"pro_health_fields\" class=\"account-extra-fields\" style=\"display:none;\">\n                            <p class=\"form-row form-row-wide cgm-required-field\">\n                                <label for=\"siret\">Num\u00e9ro SIRET ou d'enregistrement professionnel <span class=\"required\">*<\/span><\/label>\n                                <input type=\"text\" class=\"input-text\" name=\"siret\" id=\"siret\" value=\"\">\n                            <\/p>\n                            <p class=\"cgm-info-note\">\n                                <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"vertical-align: middle; margin-right: 5px;\">\n                                    <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z\" fill=\"currentColor\"\/>\n                                <\/svg>\n                                Un num\u00e9ro de th\u00e9rapeute vous sera automatiquement attribu\u00e9 apr\u00e8s votre inscription.\n                            <\/p>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n            <\/div>\n\n            <!-- Navigation -->\n            <div class=\"cgm-step-navigation\">\n                <button type=\"button\" class=\"cgm-btn-prev button\" style=\"display: none;\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"margin-right: 5px;\">\n                        <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\" fill=\"currentColor\"\/>\n                    <\/svg>\n                    Pr\u00e9c\u00e9dent\n                <\/button>\n                <button type=\"button\" class=\"cgm-btn-next button alt\">\n                    Suivant\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"margin-left: 5px;\">\n                        <path d=\"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z\" fill=\"currentColor\"\/>\n                    <\/svg>\n                <\/button>\n            <\/div>\n\n        <\/form>\n        <\/div><!-- Fin tab-inscription -->\n\n        <style>\n            \/* Onglets *\/\n            .cgm-auth-tabs {\n                display: flex;\n                gap: 10px;\n                margin-bottom: 30px;\n                border-bottom: 2px solid #e0e0e0;\n            }\n\n            .cgm-tab-btn {\n                flex: 1;\n                display: inline-flex;\n                align-items: center;\n                justify-content: center;\n                padding: 15px 20px;\n                background: transparent;\n                border: none;\n                border-bottom: 3px solid transparent;\n                color: #666;\n                font-size: 16px;\n                font-weight: 500;\n                cursor: pointer;\n                transition: all 0.3s ease;\n                margin-bottom: -2px;\n            }\n\n            .cgm-tab-btn:hover {\n                color: var(--theme-palette-color-1, #093266);\n                background: rgba(9, 50, 102, 0.05);\n            }\n\n            .cgm-tab-btn.active {\n                color: var(--theme-palette-color-1, #093266);\n                border-bottom-color: var(--theme-palette-color-1, #093266);\n                font-weight: 600;\n            }\n\n            .cgm-tab-btn svg {\n                opacity: 0.7;\n            }\n\n            .cgm-tab-btn.active svg {\n                opacity: 1;\n            }\n\n            .cgm-tab-content {\n                animation: fadeIn 0.3s ease;\n            }\n\n            @keyframes fadeIn {\n                from {\n                    opacity: 0;\n                    transform: translateY(5px);\n                }\n                to {\n                    opacity: 1;\n                    transform: translateY(0);\n                }\n            }\n\n            \/* Formulaire de connexion *\/\n            .cgm-form-title {\n                font-size: 24px;\n                font-weight: 600;\n                margin: 0 0 10px 0;\n                color: var(--theme-palette-color-1, #093266);\n            }\n\n            .cgm-form-description {\n                font-size: 14px;\n                color: #666;\n                margin: 0 0 30px 0;\n            }\n\n            .cgm-login-form .button {\n                width: 100%;\n                padding: 14px;\n                font-size: 16px;\n            }\n\n            .cgm-lost-password {\n                text-align: center;\n                margin-top: 15px;\n            }\n\n            .cgm-lost-password a {\n                color: var(--theme-palette-color-1, #093266);\n                text-decoration: none;\n                font-size: 14px;\n            }\n\n            .cgm-lost-password a:hover {\n                text-decoration: underline;\n            }\n\n            \/* Progress bar *\/\n            .cgm-registration-progress {\n                margin-bottom: 30px;\n            }\n\n            .cgm-progress-steps {\n                display: flex;\n                justify-content: space-between;\n                margin-bottom: 15px;\n            }\n\n            .cgm-progress-step {\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                flex: 1;\n                position: relative;\n                opacity: 0.5;\n                transition: opacity 0.3s ease;\n            }\n\n            .cgm-progress-step.active,\n            .cgm-progress-step.completed {\n                opacity: 1;\n            }\n\n            .cgm-progress-step:not(:last-child):after {\n                content: '';\n                position: absolute;\n                top: 15px;\n                left: 60%;\n                right: -40%;\n                height: 2px;\n                background: #ddd;\n                z-index: 0;\n            }\n\n            .cgm-progress-step.completed:not(:last-child):after {\n                background: var(--theme-palette-color-1, #093266);\n            }\n\n            .cgm-step-number {\n                width: 32px;\n                height: 32px;\n                border-radius: 50%;\n                background: #f0f0f0;\n                color: #999;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                font-weight: 600;\n                font-size: 14px;\n                margin-bottom: 8px;\n                transition: all 0.3s ease;\n            }\n\n            .cgm-progress-step.active .cgm-step-number {\n                background: var(--theme-palette-color-1, #093266);\n                color: #fff;\n                box-shadow: 0 2px 8px rgba(9, 50, 102, 0.3);\n            }\n\n            .cgm-progress-step.completed .cgm-step-number {\n                background: var(--theme-palette-color-1, #093266);\n                color: #fff;\n            }\n\n            .cgm-step-label {\n                font-size: 13px;\n                font-weight: 500;\n                color: #666;\n            }\n\n            .cgm-progress-step.active .cgm-step-label {\n                color: var(--theme-palette-color-1, #093266);\n                font-weight: 600;\n            }\n\n            .cgm-progress-bar {\n                height: 4px;\n                background: #f0f0f0;\n                border-radius: 2px;\n                overflow: hidden;\n            }\n\n            .cgm-progress-fill {\n                height: 100%;\n                background: var(--theme-palette-color-1, #093266);\n                transition: width 0.4s ease;\n                border-radius: 2px;\n            }\n\n            \/* Step container *\/\n            .cgm-registration-container {\n                position: relative;\n                margin-bottom: 20px;\n            }\n\n            .cgm-step-content {\n                display: none;\n                animation: fadeIn 0.4s ease;\n            }\n\n            .cgm-step-content.active {\n                display: block;\n            }\n\n            @keyframes fadeIn {\n                from {\n                    opacity: 0;\n                    transform: translateY(10px);\n                }\n                to {\n                    opacity: 1;\n                    transform: translateY(0);\n                }\n            }\n\n            .cgm-step-title {\n                font-size: 22px;\n                font-weight: 600;\n                margin: 0 0 10px 0;\n                color: var(--theme-palette-color-1, #093266);\n            }\n\n            .cgm-step-description {\n                font-size: 14px;\n                color: #666;\n                margin: 0 0 25px 0;\n            }\n\n            \/* Account type buttons *\/\n            .account-type-buttons {\n                display: grid;\n                grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n                gap: 15px;\n                margin-bottom: 30px;\n            }\n\n            .account-type-btn {\n                display: flex;\n                flex-direction: column;\n                align-items: center;\n                gap: 10px;\n                padding: 20px 15px;\n                border: 2px solid #e0e0e0;\n                border-radius: 12px;\n                background: #fff;\n                cursor: pointer;\n                transition: all 0.3s ease;\n                text-align: center;\n            }\n\n            .account-type-btn:hover {\n                border-color: var(--theme-palette-color-1, #093266);\n                box-shadow: 0 4px 12px rgba(9, 50, 102, 0.1);\n                transform: translateY(-2px);\n            }\n\n            .account-type-btn.is-active {\n                border-color: var(--theme-palette-color-1, #093266);\n                background: linear-gradient(135deg, rgba(9, 50, 102, 0.05) 0%, rgba(9, 50, 102, 0.1) 100%);\n                box-shadow: 0 4px 16px rgba(9, 50, 102, 0.2);\n            }\n\n            .account-type-btn svg {\n                color: var(--theme-palette-color-1, #093266);\n                opacity: 0.7;\n            }\n\n            .account-type-btn.is-active svg {\n                opacity: 1;\n            }\n\n            .account-type-btn .btn-title {\n                font-size: 15px;\n                font-weight: 600;\n                color: var(--theme-palette-color-1, #093266);\n                display: block;\n            }\n\n            .account-type-btn .btn-desc {\n                font-size: 12px;\n                color: #666;\n                display: block;\n            }\n\n            .account-extra-fields-container {\n                margin-top: 20px;\n            }\n\n            .cgm-info-note {\n                background: rgba(52, 152, 219, 0.1);\n                border-left: 3px solid #3498db;\n                padding: 12px 15px;\n                margin: 15px 0 0 0;\n                border-radius: 4px;\n                font-size: 13px;\n                color: #555;\n            }\n\n            \/* Navigation buttons *\/\n            .cgm-step-navigation {\n                display: flex;\n                justify-content: space-between;\n                align-items: center;\n                gap: 15px;\n                margin-top: 30px;\n                margin-bottom: 30px;\n                padding-top: 20px;\n                border-top: 1px solid #e0e0e0;\n                clear: both;\n            }\n\n            .cgm-btn-prev,\n            .cgm-btn-next {\n                display: inline-flex;\n                align-items: center;\n                padding: 12px 24px;\n                font-size: 15px;\n                font-weight: 500;\n            }\n\n            .cgm-btn-next {\n                margin-left: auto;\n            }\n\n            \/* Responsive *\/\n            @media (max-width: 768px) {\n                .cgm-tab-btn {\n                    font-size: 14px;\n                    padding: 12px 10px;\n                }\n\n                .cgm-tab-btn svg {\n                    display: none;\n                }\n\n                .cgm-step-label {\n                    font-size: 11px;\n                }\n\n                .cgm-step-title,\n                .cgm-form-title {\n                    font-size: 18px;\n                }\n\n                .account-type-buttons {\n                    grid-template-columns: 1fr;\n                }\n\n                .cgm-step-navigation {\n                    flex-direction: column-reverse;\n                    gap: 10px;\n                }\n\n                .cgm-btn-prev,\n                .cgm-btn-next {\n                    width: 100%;\n                    justify-content: center;\n                    margin-left: 0 !important;\n                }\n            }\n        <\/style>\n\n        <script>\n            (function() {\n                \/\/ Gestion des onglets Connexion \/ Inscription\n                const tabBtns = document.querySelectorAll('.cgm-tab-btn');\n                const tabContents = document.querySelectorAll('.cgm-tab-content');\n\n                tabBtns.forEach(btn => {\n                    btn.addEventListener('click', function() {\n                        const targetTab = this.dataset.tab;\n\n                        \/\/ Retirer la classe active de tous les boutons et contenus\n                        tabBtns.forEach(b => b.classList.remove('active'));\n                        tabContents.forEach(c => c.style.display = 'none');\n\n                        \/\/ Activer l'onglet cliqu\u00e9\n                        this.classList.add('active');\n                        document.getElementById('tab-' + targetTab).style.display = 'block';\n                    });\n                });\n\n                \/\/ Gestion du lien \"Mot de passe oubli\u00e9\"\n                const showLostPwd = document.getElementById('cgm-show-lost-password');\n                const backToLogin = document.getElementById('cgm-back-to-login');\n                const lostPwdForm = document.getElementById('cgm-lost-password-form');\n                const loginForm = document.querySelector('#tab-connexion .cgm-login-form');\n\n                if (showLostPwd && lostPwdForm && loginForm) {\n                    showLostPwd.addEventListener('click', function(e) {\n                        e.preventDefault();\n                        loginForm.style.display = 'none';\n                        lostPwdForm.style.display = 'block';\n                    });\n                }\n                if (backToLogin && lostPwdForm && loginForm) {\n                    backToLogin.addEventListener('click', function(e) {\n                        e.preventDefault();\n                        lostPwdForm.style.display = 'none';\n                        loginForm.style.display = 'block';\n                    });\n                }\n\n                \/\/ Gestion du formulaire multi-\u00e9tapes\n                const form = document.querySelector('form.cgm-registration-form');\n                if (!form) return;\n\n                const progressSteps = form.querySelectorAll('.cgm-progress-step');\n                const progressFill = form.querySelector('.cgm-progress-fill');\n                const stepContents = form.querySelectorAll('.cgm-step-content');\n                const btnPrev = form.querySelector('.cgm-btn-prev');\n                const btnNext = form.querySelector('.cgm-btn-next');\n\n                if (!progressSteps.length || !stepContents.length || !btnPrev || !btnNext || !progressFill) {\n                    return;\n                }\n\n                let currentStep = 1;\n                const totalSteps = 3;\n\n                const updateProgress = function() {\n                    const progress = (currentStep \/ totalSteps) * 100;\n                    progressFill.style.width = progress + '%';\n\n                    progressSteps.forEach((step, index) => {\n                        step.classList.remove('active', 'completed');\n                        if (index + 1 < currentStep) {\n                            step.classList.add('completed');\n                        } else if (index + 1 === currentStep) {\n                            step.classList.add('active');\n                        }\n                    });\n\n                    stepContents.forEach((content, index) => {\n                        content.classList.toggle('active', index + 1 === currentStep);\n                    });\n\n                    btnPrev.style.display = currentStep === 1 ? 'none' : 'inline-flex';\n\n                    if (currentStep === totalSteps) {\n                        btnNext.innerHTML = 'S\\'inscrire <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"margin-left: 5px;\"><path d=\"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\" fill=\"currentColor\"\/><\/svg>';\n                    } else {\n                        btnNext.innerHTML = 'Suivant <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"margin-left: 5px;\"><path d=\"M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z\" fill=\"currentColor\"\/><\/svg>';\n                    }\n                };\n\n                const validateStep = function(step) {\n                    const currentStepEl = form.querySelector(`.cgm-step-content[data-step=\"${step}\"]`);\n                    if (!currentStepEl) return true;\n\n                    const requiredFields = currentStepEl.querySelectorAll('.cgm-required-field input, .cgm-required-field select');\n                    let isValid = true;\n                    let firstInvalidField = null;\n\n                    requiredFields.forEach(field => {\n                        const wrapper = field.closest('.account-extra-fields');\n                        const isHidden = (wrapper && window.getComputedStyle(wrapper).display === 'none') || field.offsetParent === null;\n\n                        if (isHidden) {\n                            field.style.borderColor = '';\n                            return;\n                        }\n\n                        if (!field.value || field.value.trim() === '') {\n                            field.style.borderColor = '#e74c3c';\n                            if (!firstInvalidField) {\n                                firstInvalidField = field;\n                            }\n                            isValid = false;\n                        } else {\n                            field.style.borderColor = '';\n                        }\n                    });\n\n                    if (!isValid) {\n                        alert('Veuillez remplir tous les champs obligatoires');\n                        if (firstInvalidField) {\n                            firstInvalidField.focus();\n                        }\n                    }\n\n                    return isValid;\n                };\n\n                const handleNextClick = function(e) {\n                    e.preventDefault();\n\n                    if (currentStep === totalSteps) {\n                        if (validateStep(currentStep)) {\n                            \/\/ Validation TVA avant soumission (si TVA renseign\u00e9e)\n                            const proTvaIntraInput = document.getElementById('pro_tva_intra');\n                            const vatValue = proTvaIntraInput ? proTvaIntraInput.value.trim() : '';\n\n                            \/\/ Seulement si un num\u00e9ro de TVA est renseign\u00e9\n                            if (vatValue) {\n                                \/\/ V\u00e9rifier le blocage pays\n                                const countryMismatch = document.getElementById('vat_country_mismatch');\n                                if (countryMismatch) {\n                                    alert('\u274c Le pays du num\u00e9ro de TVA ne correspond pas au pays s\u00e9lectionn\u00e9.\\n\\nVeuillez corriger le pays de l\\'entreprise ou le num\u00e9ro de TVA avant de continuer.');\n                                    \/\/ Scroll vers le champ TVA\n                                    proTvaIntraInput.scrollIntoView({ behavior: 'smooth', block: 'center' });\n                                    proTvaIntraInput.focus();\n                                    return;\n                                }\n\n                                \/\/ V\u00e9rifier le blocage adresse + checkbox\n                                const addressMismatch = document.getElementById('vat_address_mismatch');\n                                const addressConfirm = document.getElementById('vat_address_confirm');\n                                if (addressMismatch && (!addressConfirm || !addressConfirm.checked)) {\n                                    alert('\u26a0\ufe0f Une diff\u00e9rence a \u00e9t\u00e9 d\u00e9tect\u00e9e entre votre adresse et celle enregistr\u00e9e au registre VIES europ\u00e9en.\\n\\nVous devez cocher la case de confirmation pour continuer.');\n                                    \/\/ Scroll vers la checkbox\n                                    if (addressConfirm) {\n                                        addressConfirm.scrollIntoView({ behavior: 'smooth', block: 'center' });\n                                        addressConfirm.focus();\n                                    }\n                                    return;\n                                }\n                            }\n\n                            \/\/ Tout est OK \u2014 reCAPTCHA v3 puis soumettre\n                            var siteKey = '6LcooqQsAAAAAO_pIQPpe9qcn-2qL2xVjxP-wVWK';\n                            if (siteKey && typeof grecaptcha !== 'undefined') {\n                                grecaptcha.ready(function() {\n                                    grecaptcha.execute(siteKey, {action: 'register'}).then(function(token) {\n                                        var input = document.createElement('input');\n                                        input.type = 'hidden';\n                                        input.name = 'cgm_recaptcha_token';\n                                        input.value = token;\n                                        form.appendChild(input);\n                                        form.submit();\n                                    });\n                                });\n                            } else {\n                                form.submit();\n                            }\n                        }\n                    } else {\n                        const isValid = validateStep(currentStep);\n                        if (isValid) {\n                            currentStep++;\n                            updateProgress();\n                            window.scrollTo({ top: 0, behavior: 'smooth' });\n                        }\n                    }\n                };\n\n                btnNext.addEventListener('click', handleNextClick);\n\n                btnPrev.addEventListener('click', function(e) {\n                    e.preventDefault();\n\n                    if (currentStep > 1) {\n                        currentStep--;\n                        updateProgress();\n                        window.scrollTo({ top: 0, behavior: 'smooth' });\n                    }\n                });\n\n                \/\/ Gestion des boutons de type de compte\n                form.addEventListener('click', function (e) {\n                    const btn = e.target.closest('.account-type-btn');\n                    if (!btn) return;\n\n                    e.preventDefault();\n\n                    const type = btn.dataset.type;\n                    const buttons = form.querySelectorAll('.account-type-btn');\n                    const hiddenInput = form.querySelector('#account_type');\n                    const particulierFields = form.querySelector('#particulier_fields');\n                    const proHealthFields = form.querySelector('#pro_health_fields');\n\n                    buttons.forEach(b => b.classList.remove('is-active'));\n                    btn.classList.add('is-active');\n\n                    if (hiddenInput) {\n                        hiddenInput.value = type;\n                    }\n\n                    if (particulierFields && proHealthFields) {\n                        if (type === 'particulier') {\n                            particulierFields.style.display = '';\n                            proHealthFields.style.display = 'none';\n                        } else if (type === 'professionnel_sante') {\n                            particulierFields.style.display = 'none';\n                            proHealthFields.style.display = '';\n                        }\n                    }\n                });\n\n                \/\/ V\u00e9rification automatique du num\u00e9ro de TVA intracommunautaire\n                const proTvaIntraInput = document.getElementById('pro_tva_intra');\n                if (proTvaIntraInput) {\n                    let vatTimeout = null;\n                    let vatStatusDiv = null;\n\n                    \/\/ Cr\u00e9er le div de statut\n                    const statusDiv = document.createElement('div');\n                    statusDiv.id = 'vat-status';\n                    statusDiv.style.marginTop = '8px';\n                    statusDiv.style.fontSize = '13px';\n                    proTvaIntraInput.parentElement.appendChild(statusDiv);\n                    vatStatusDiv = statusDiv;\n\n                    const triggerVATCheck = function() {\n                        const vatValue = proTvaIntraInput.value.trim();\n\n                        \/\/ Clear timeout pr\u00e9c\u00e9dent\n                        if (vatTimeout) {\n                            clearTimeout(vatTimeout);\n                        }\n\n                        \/\/ Reset status\n                        vatStatusDiv.innerHTML = '';\n                        proTvaIntraInput.style.borderColor = '';\n\n                        \/\/ Si vide, nettoyer tous les \u00e9l\u00e9ments de validation\n                        if (!vatValue) {\n                            \/\/ Supprimer les inputs hidden et la checkbox\n                            const oldHiddenCountry = document.getElementById('vat_country_mismatch');\n                            const oldHiddenAddress = document.getElementById('vat_address_mismatch');\n                            const oldCheckbox = document.getElementById('vat_address_confirm_wrapper');\n                            if (oldHiddenCountry) oldHiddenCountry.remove();\n                            if (oldHiddenAddress) oldHiddenAddress.remove();\n                            if (oldCheckbox) oldCheckbox.remove();\n                            return;\n                        }\n\n                        \/\/ Attendre 1 seconde apr\u00e8s la derni\u00e8re frappe\n                        vatTimeout = setTimeout(function() {\n                            verifyVAT(vatValue, proTvaIntraInput, vatStatusDiv);\n                        }, 1000);\n                    };\n\n                    proTvaIntraInput.addEventListener('input', triggerVATCheck);\n\n                    \/\/ Relancer la v\u00e9rification si le pays de l'entreprise change\n                    const countryField = document.getElementById('pro_country');\n                    if (countryField) {\n                        countryField.addEventListener('change', function() {\n                            \/\/ Synchroniser avec le pays de facturation de l'\u00e9tape 2\n                            const billingCountryField = document.getElementById('billing_country');\n                            if (billingCountryField) {\n                                billingCountryField.value = this.value;\n                            }\n\n                            \/\/ Relancer la v\u00e9rification TVA si un num\u00e9ro est renseign\u00e9\n                            if (proTvaIntraInput.value.trim()) {\n                                triggerVATCheck();\n                            }\n                        });\n                    }\n\n                    \/\/ Relancer la v\u00e9rification si le code postal change\n                    const postcodeField = document.getElementById('billing_postcode');\n                    if (postcodeField) {\n                        postcodeField.addEventListener('blur', function() {\n                            if (proTvaIntraInput.value.trim()) {\n                                triggerVATCheck();\n                            }\n                        });\n                    }\n\n                    \/\/ Relancer la v\u00e9rification si la ville change\n                    const cityField = document.getElementById('billing_city');\n                    if (cityField) {\n                        cityField.addEventListener('blur', function() {\n                            if (proTvaIntraInput.value.trim()) {\n                                triggerVATCheck();\n                            }\n                        });\n                    }\n\n                    \/\/ V\u00e9rification automatique au chargement si un num\u00e9ro de TVA est d\u00e9j\u00e0 renseign\u00e9\n                    if (proTvaIntraInput.value.trim()) {\n                        triggerVATCheck();\n                    }\n                }\n\n                function verifyVAT(vatNumber, inputElement, statusDiv) {\n                    \/\/ SVG icons\n                    const spinnerSVG = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"animation: spin 1s linear infinite; display: inline-block; vertical-align: middle; margin-right: 6px;\"><style>@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }<\/style><circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"#3498db\" stroke-width=\"3\" fill=\"none\" stroke-dasharray=\"31.4 31.4\" stroke-linecap=\"round\"\/><\/svg>';\n                    const checkSVG = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"display: inline-block; vertical-align: middle; margin-right: 6px;\"><path d=\"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\" fill=\"#27ae60\"\/><\/svg>';\n                    const errorSVG = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"display: inline-block; vertical-align: middle; margin-right: 6px;\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\" fill=\"#e74c3c\"\/><\/svg>';\n                    const warningSVG = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"display: inline-block; vertical-align: middle; margin-right: 6px;\"><path d=\"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\" fill=\"#f39c12\"\/><\/svg>';\n                    const infoSVG = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" style=\"display: inline-block; vertical-align: middle; margin-right: 6px;\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z\" fill=\"#3498db\"\/><\/svg>';\n\n                    \/\/ Afficher loading\n                    statusDiv.innerHTML = '<div style=\"color: #666; font-size: 13px; margin-top: 8px;\">' + spinnerSVG + '<span>V\u00e9rification en cours...<\/span><\/div>';\n                    inputElement.style.borderColor = '#3498db';\n\n                    \/\/ Supprimer l'ancien input hidden et checkbox si existants\n                    const oldHiddenCountry = document.getElementById('vat_country_mismatch');\n                    const oldHiddenAddress = document.getElementById('vat_address_mismatch');\n                    const oldCheckbox = document.getElementById('vat_address_confirm_wrapper');\n                    if (oldHiddenCountry) oldHiddenCountry.remove();\n                    if (oldHiddenAddress) oldHiddenAddress.remove();\n                    if (oldCheckbox) oldCheckbox.remove();\n\n                    \/\/ R\u00e9cup\u00e9rer le pays de l'entreprise et l'adresse saisie\n                    const countryField = document.getElementById('pro_country');\n                    const postcodeField = document.getElementById('billing_postcode');\n                    const cityField = document.getElementById('billing_city');\n\n                    const selectedCountry = countryField ? countryField.value : '';\n                    const userPostcode = postcodeField ? postcodeField.value.trim() : '';\n                    const userCity = cityField ? cityField.value.trim() : '';\n\n                    \/\/ Appel AJAX\n                    const formData = new FormData();\n                    formData.append('action', 'cgm_verify_vat');\n                    formData.append('vat_number', vatNumber);\n                    formData.append('selected_country', selectedCountry);\n                    formData.append('user_postcode', userPostcode);\n                    formData.append('user_city', userCity);\n                    formData.append('nonce', 'b67932e09a');\n\n                    fetch('https:\/\/oceaumarine.com\/wp-admin\/admin-ajax.php', {\n                        method: 'POST',\n                        body: formData\n                    })\n                    .then(response => response.json())\n                    .then(data => {\n                        if (data.success) {\n                            \/\/ TVA valide - construire le message\n                            let messageHTML = '<div style=\"margin-top: 8px;\">';\n                            messageHTML += '<div style=\"color: #27ae60; font-weight: 500; font-size: 13px; margin-bottom: 8px;\">' + checkSVG + '<span>Num\u00e9ro de TVA valide<\/span><\/div>';\n\n                            \/\/ BLOCAGE STRICT : V\u00e9rification du pays\n                            if (data.data.country_mismatch) {\n                                \/\/ Pays diff\u00e9rent = BLOCAGE TOTAL\n                                messageHTML += '<div style=\"background: #f8d7da; border: 2px solid #dc3545; padding: 12px; margin-bottom: 8px; border-radius: 4px; font-size: 12px;\">';\n                                messageHTML += errorSVG + '<span style=\"color: #721c24;\"><strong>Erreur bloquante:<\/strong> Le pays de la TVA (' + data.data.vat_country_name + ') ne correspond pas au pays s\u00e9lectionn\u00e9 (' + data.data.selected_country_name + '). Veuillez corriger le pays de l\\'entreprise ou le num\u00e9ro de TVA.<\/span>';\n                                messageHTML += '<\/div>';\n\n                                \/\/ Ajouter input hidden pour bloquer la soumission\n                                const hiddenInput = document.createElement('input');\n                                hiddenInput.type = 'hidden';\n                                hiddenInput.id = 'vat_country_mismatch';\n                                hiddenInput.name = 'vat_country_mismatch';\n                                hiddenInput.value = '1';\n                                inputElement.parentElement.appendChild(hiddenInput);\n\n                                statusDiv.innerHTML = messageHTML;\n                                inputElement.style.borderColor = '#dc3545';\n                                return; \/\/ Arr\u00eat ici, pas besoin d'afficher le reste\n                            }\n\n                            \/\/ Pr\u00e9-remplir la raison sociale\n                            if (data.data.company_name) {\n                                const companyNameField = document.getElementById('pro_company_name');\n                                if (companyNameField && !companyNameField.value) {\n                                    companyNameField.value = data.data.company_name;\n                                    const infoSpan = document.createElement('div');\n                                    infoSpan.style.cssText = 'color: #27ae60; font-size: 12px; margin-top: 6px; padding: 6px 10px; background: #d4edda; border-radius: 4px; display: inline-block;';\n                                    infoSpan.innerHTML = checkSVG + '<span>Raison sociale remplie automatiquement<\/span>';\n                                    companyNameField.parentElement.appendChild(infoSpan);\n                                    setTimeout(() => infoSpan.remove(), 4000);\n                                }\n                            }\n\n                            \/\/ Afficher l'adresse avec comparaison\n                            if (data.data.address) {\n                                messageHTML += '<div style=\"background: #f8f9fa; border: 1px solid #e9ecef; border-radius: 4px; padding: 10px; margin-top: 8px; font-size: 12px;\">';\n                                messageHTML += '<div style=\"color: #495057; margin-bottom: 6px;\"><strong>' + infoSVG + 'Adresse enregistr\u00e9e VIES:<\/strong><\/div>';\n                                messageHTML += '<div style=\"color: #6c757d; line-height: 1.5;\">' + data.data.address.replace(\/\\n\/g, '<br>') + '<\/div>';\n\n                                \/\/ BLOCAGE CONDITIONNEL : Avertissement si l'adresse ne correspond pas\n                                if (data.data.address_mismatch) {\n                                    messageHTML += '<div style=\"background: #fff3cd; padding: 8px; margin-top: 8px; border-radius: 4px;\">';\n                                    messageHTML += '<div style=\"color: #856404; font-size: 11px;\">' + warningSVG + '<strong>V\u00e9rification adresse:<\/strong><\/div>';\n                                    messageHTML += '<div style=\"color: #856404; font-size: 11px; margin-top: 4px;\">' + data.data.address_mismatch + '<\/div>';\n                                    messageHTML += '<\/div>';\n\n                                    \/\/ Ajouter input hidden pour marquer l'avertissement adresse\n                                    const hiddenAddressInput = document.createElement('input');\n                                    hiddenAddressInput.type = 'hidden';\n                                    hiddenAddressInput.id = 'vat_address_mismatch';\n                                    hiddenAddressInput.name = 'vat_address_mismatch';\n                                    hiddenAddressInput.value = '1';\n                                    inputElement.parentElement.appendChild(hiddenAddressInput);\n                                }\n\n                                messageHTML += '<\/div>';\n                            }\n\n                            messageHTML += '<\/div>';\n                            statusDiv.innerHTML = messageHTML;\n\n                            \/\/ Ajouter la checkbox de confirmation si adresse diff\u00e9rente\n                            if (data.data.address_mismatch) {\n                                const checkboxWrapper = document.createElement('div');\n                                checkboxWrapper.id = 'vat_address_confirm_wrapper';\n                                checkboxWrapper.style.cssText = 'background: #fff3cd; padding: 12px; margin-top: 10px; border-radius: 4px; border: 1px solid #ffc107;';\n\n                                checkboxWrapper.innerHTML = '<label style=\"display: flex; align-items: start; gap: 10px; cursor: pointer; font-size: 13px; color: #856404;\">' +\n                                    '<input type=\"checkbox\" id=\"vat_address_confirm\" name=\"vat_address_confirm\" style=\"margin-top: 3px; cursor: pointer;\" required>' +\n                                    '<span><strong>Je confirme<\/strong> que mes informations sont correctes malgr\u00e9 la diff\u00e9rence d\u00e9tect\u00e9e entre mon adresse et celle enregistr\u00e9e au registre VIES europ\u00e9en.<\/span>' +\n                                '<\/label>';\n\n                                inputElement.parentElement.appendChild(checkboxWrapper);\n                            }\n\n                            inputElement.style.borderColor = '#27ae60';\n                        } else {\n                            \/\/ TVA invalide ou erreur\n                            statusDiv.innerHTML = '<div style=\"color: #e74c3c; font-weight: 500; font-size: 13px; margin-top: 8px;\">' + errorSVG + '<span>' + (data.data.message || 'Num\u00e9ro de TVA invalide') + '<\/span><\/div>';\n                            inputElement.style.borderColor = '#e74c3c';\n                        }\n                    })\n                    .catch(error => {\n                        statusDiv.innerHTML = '<div style=\"color: #e67e22; font-size: 13px; margin-top: 8px;\">' + warningSVG + '<span>Impossible de v\u00e9rifier le num\u00e9ro. V\u00e9rifiez votre connexion.<\/span><\/div>';\n                        inputElement.style.borderColor = '';\n                    });\n                }\n\n                updateProgress();\n            })();\n        <\/script>\n\n        \n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_gspb_post_css":"","footnotes":""},"class_list":["post-2024","page","type-page","status-publish","hentry"],"blocksy_meta":{"has_hero_section":"disabled","styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"acf":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/oceaumarine.com\/en\/wp-json\/wp\/v2\/pages\/2024","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oceaumarine.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/oceaumarine.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/oceaumarine.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oceaumarine.com\/en\/wp-json\/wp\/v2\/comments?post=2024"}],"version-history":[{"count":0,"href":"https:\/\/oceaumarine.com\/en\/wp-json\/wp\/v2\/pages\/2024\/revisions"}],"wp:attachment":[{"href":"https:\/\/oceaumarine.com\/en\/wp-json\/wp\/v2\/media?parent=2024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}