{"id":120900,"date":"2025-07-31T07:45:40","date_gmt":"2025-07-31T07:45:40","guid":{"rendered":"https:\/\/staging-sites.hotelrunner.com\/?page_id=120900"},"modified":"2026-04-17T10:28:40","modified_gmt":"2026-04-17T07:28:40","slug":"demandez-une-demo","status":"publish","type":"page","link":"https:\/\/staging-sites.hotelrunner.com\/fr\/demandez-une-demo\/","title":{"rendered":"Demandez une d\u00e9mo"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"120900\" class=\"elementor elementor-120900 elementor-120887\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0cc6b1e elementor-section-content-top elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0cc6b1e\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-eb93a02\" data-id=\"eb93a02\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-64805f0 elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"64805f0\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;animation&quot;:&quot;none&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-wider\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-c3e42e9\" data-id=\"c3e42e9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6cb60b9 elementor-widget elementor-widget-hr_label\" data-id=\"6cb60b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_label.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t            <span class=\"hr-label\">Demandez une d\u00e9mo<\/span>\n            \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1508637 elementor-widget-widescreen__width-initial elementor-widget elementor-widget-heading\" data-id=\"1508637\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Augmenter les revenus. Simplifiez les op\u00e9rations.<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5cb6ee4 elementor-widget-widescreen__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"5cb6ee4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tDemandez une d\u00e9monstration gratuite de notre plateforme unifi\u00e9e con\u00e7ue pour simplifier les op\u00e9rations, optimiser votre pr\u00e9sence num\u00e9rique, g\u00e9n\u00e9rer des r\u00e9servations directes et offrir des exp\u00e9riences exceptionnelles \u00e0 vos clients.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5032223 elementor-widget elementor-widget-hr_logo_slider\" data-id=\"5032223\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_logo_slider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"logo-slider\"\n            style=\"--hr-logo-slider-speed: 100s; --hr-logo-gradient-fade-stop: 50%;\">\n            <div class=\"logos-slide\">\n                                    <img decoding=\"async\" alt=\"Wyndham Hotels\" title=\"Wyndham Hotels\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/wyndham-hotels-resorts-logo-svg-1.webp\">\n                                        <img decoding=\"async\" alt=\"Yunak Evleri\" title=\"Yunak Evleri\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/logo-1-1.webp\">\n                                        <img decoding=\"async\" alt=\"Accor\" title=\"Accor\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/accor.webp\">\n                                        <img decoding=\"async\" alt=\"Bayview Hills\" title=\"Bayview Hills\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/image-29-1.webp\">\n                                        <img decoding=\"async\" alt=\"Hilton\" title=\"Hilton\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/image-26.webp\">\n                                        <img decoding=\"async\" alt=\"Rlad\" title=\"Rlad\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/logo-v4-black-3-1.webp\">\n                                        <img decoding=\"async\" alt=\"Radisson\" title=\"Radisson\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/800px-radisson-logo-svg-1.webp\">\n                                        <img decoding=\"async\" alt=\"Utopia Cave\" title=\"Utopia Cave\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/utopiacave-1-kopya-1.webp\">\n                                        <img decoding=\"async\" alt=\"Hillock\" title=\"Hillock\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/hillock.webp\">\n                                        <img decoding=\"async\" alt=\"Arabic Turtle\" title=\"Arabic Turtle\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/resizer-15788036421010-1.webp\">\n                                        <img decoding=\"async\" alt=\"Oasis Park\" title=\"Oasis Park\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/logo-1-122x73-1.webp\">\n                                        <img decoding=\"async\" alt=\"Rancho Vieono\" title=\"Rancho Vieono\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/074c9c-3087e77a7854426db217c590a8072e38-mv2-1.webp\">\n                                        <img decoding=\"async\" alt=\"Idylle Aan Zee\" title=\"Idylle Aan Zee\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/logo-2-1.webp\">\n                                        <img decoding=\"async\" alt=\"Maison Hudson\" title=\"Maison Hudson\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/maisonhudson-1.webp\">\n                                        <img decoding=\"async\" alt=\"Casa Basalto\" title=\"Casa Basalto\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/basalto-ingles-1.webp\">\n                                        <img decoding=\"async\" alt=\"Liman Hotel\" title=\"Liman Hotel\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/432930408-751422170389219-8532808755196260661-n-1.webp\">\n                                        <img decoding=\"async\" alt=\"Kove\" title=\"Kove\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/457396744-7959382214159727-2511407066851736178-n-1.webp\">\n                                        <img decoding=\"async\" alt=\"Hillock Villa\" title=\"Hillock Villa\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/hillock-1.webp\">\n                                        <img decoding=\"async\" alt=\"Thrace Konak\" title=\"Thrace Konak\"\n                        style=\"\"\n                        src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/new-logo-1.webp\">\n                                <\/div>\n        <\/div>\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0f6c340 elementor-hidden-mobile elementor-widget elementor-widget-hr_advanced_testimonial_carousel\" data-id=\"0f6c340\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_advanced_testimonial_carousel.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <script>\n            var custom_testimonials_per_slide = \"yes\";\n            var testimonials_per_slide = 1;\n        <\/script>\n\n        <div id=\"advanced-testimonial-carousel\" class=\"hr-testimonial-carousel style_1\">\n            <div class=\"swiper-container\">\n                <div class=\"swiper-wrapper\">\n                                            <div class=\"swiper-slide\">\n                                                            <div class=\"testimonial-card-v3\" data-title=\"City Center Hotel\">\n                                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/images\/\/quote-1.svg\" alt=\"quote\" class=\"quote-1\">\n                                    <div class=\"testimonial-inner\">\n                                        <p>HotelRunner propose d'excellentes solutions en ligne pour les h\u00f4teliers. Nous avons augment\u00e9 le nombre d'agences de voyage en ligne avec lesquelles nous travaillons gr\u00e2ce au gestionnaire de canaux de HotelRunner. Nous g\u00e9rons nos tarifs et nos stocks facilement \u00e0 partir d'un ordinateur de bureau ou d'un appareil mobile.<\/p>                                    <\/div>\n                                    <div class=\"testimonial-bottom\">\n                                        <div class=\"testimonial-seperator\">\n                                            <div class=\"seperator-line\"><\/div>\n                                        <\/div>\n                                        <div class=\"testimonial-author\">\n                                            <div class=\"author-info\">\n                                                <span>City Center Hotel<\/span>\n                                                <small>Bakou, Azerba\u00efdjan<\/small>\n                                            <\/div>\n                                            <div class=\"author-image\">\n                                                <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/azerbaijan-1-1-1.svg\"\n                                                    alt=\"City Center Hotel\"\n                                                    title=\"City Center Hotel\">\n                                            <\/div>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n                                                    <\/div>\n                                                <div class=\"swiper-slide\">\n                                                            <div class=\"testimonial-card-v3\" data-title=\"Boutique\">\n                                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/images\/\/quote-1.svg\" alt=\"quote\" class=\"quote-1\">\n                                    <div class=\"testimonial-inner\">\n                                        <p>Il existe de nombreuses fa\u00e7ons d'acc\u00e9der \u00e0 leur \u00e9quipe d'assistance. Ils couvrent la majorit\u00e9 des canaux en ligne, m\u00eame si nous n'en utilisons que trois, ce qui est tr\u00e8s impressionnant !<\/p>                                    <\/div>\n                                    <div class=\"testimonial-bottom\">\n                                        <div class=\"testimonial-seperator\">\n                                            <div class=\"seperator-line\"><\/div>\n                                        <\/div>\n                                        <div class=\"testimonial-author\">\n                                            <div class=\"author-info\">\n                                                <span>Boutique<\/span>\n                                                <small>Bucerias, Mexique<\/small>\n                                            <\/div>\n                                            <div class=\"author-image\">\n                                                <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/mexico.svg\"\n                                                    alt=\"Boutique\"\n                                                    title=\"Boutique\">\n                                            <\/div>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n                                                    <\/div>\n                                                <div class=\"swiper-slide\">\n                                                            <div class=\"testimonial-card-v3\" data-title=\"Boutique\">\n                                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/images\/\/quote-1.svg\" alt=\"quote\" class=\"quote-1\">\n                                    <div class=\"testimonial-inner\">\n                                        <p>Nous avons choisi HotelRunner comme partenaire parce que nous recherchons la croissance. Vous pouvez \u00eatre s\u00fbr qu'ils prendront soin de vous quelle que soit la taille de votre propri\u00e9t\u00e9 et qu'ils vous fourniront les outils n\u00e9cessaires pour que votre \u00e9tablissement atteigne de nouveaux sommets.<\/p>                                    <\/div>\n                                    <div class=\"testimonial-bottom\">\n                                        <div class=\"testimonial-seperator\">\n                                            <div class=\"seperator-line\"><\/div>\n                                        <\/div>\n                                        <div class=\"testimonial-author\">\n                                            <div class=\"author-info\">\n                                                <span>Boutique<\/span>\n                                                <small>Udon Thani, Tha\u00eflande<\/small>\n                                            <\/div>\n                                            <div class=\"author-image\">\n                                                <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/Thailand.svg\"\n                                                    alt=\"Boutique\"\n                                                    title=\"Boutique\">\n                                            <\/div>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n                                                    <\/div>\n                                                <div class=\"swiper-slide\">\n                                                            <div class=\"testimonial-card-v3\" data-title=\"Bed &amp; Breakfast &amp; Inn\">\n                                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/images\/\/quote-1.svg\" alt=\"quote\" class=\"quote-1\">\n                                    <div class=\"testimonial-inner\">\n                                        <p><span data-sheets-root=\"1\">Les solutions HotelRunner m'ont permis d'augmenter mes ventes et de g\u00e9rer mes tarifs et disponibilit\u00e9s en ligne. L'interface est moderne et facile \u00e0 utiliser. Elles disposent \u00e9galement d'une application mobile utile qui me facilite la vie lorsque je g\u00e8re mes r\u00e9servations en dehors de l'h\u00f4tel.<\/span><\/p>                                    <\/div>\n                                    <div class=\"testimonial-bottom\">\n                                        <div class=\"testimonial-seperator\">\n                                            <div class=\"seperator-line\"><\/div>\n                                        <\/div>\n                                        <div class=\"testimonial-author\">\n                                            <div class=\"author-info\">\n                                                <span>Bed & Breakfast & Inn<\/span>\n                                                <small>Milan, Italie<\/small>\n                                            <\/div>\n                                            <div class=\"author-image\">\n                                                <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/italy.svg\"\n                                                    alt=\"Bed &amp; Breakfast &amp; Inn\"\n                                                    title=\"Bed &amp; Breakfast &amp; Inn\">\n                                            <\/div>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n                                                    <\/div>\n                                                <div class=\"swiper-slide\">\n                                                            <div class=\"testimonial-card-v3\" data-title=\"Bed &amp; Breakfast &amp; Inn\">\n                                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/images\/\/quote-1.svg\" alt=\"quote\" class=\"quote-1\">\n                                    <div class=\"testimonial-inner\">\n                                        <p>Leur service client\u00e8le est excellent. Vous pouvez g\u00e9rer tous les d\u00e9tails concernant les chambres, les tarifs, la propri\u00e9t\u00e9, etc. Je peux g\u00e9rer toutes les promotions \u00e0 partir de la plateforme. Les rapports m'aident \u00e9galement \u00e0 calculer mes revenus. Je suis satisfait et je n'envisage pas de le changer avant 7 ans.<\/p>                                    <\/div>\n                                    <div class=\"testimonial-bottom\">\n                                        <div class=\"testimonial-seperator\">\n                                            <div class=\"seperator-line\"><\/div>\n                                        <\/div>\n                                        <div class=\"testimonial-author\">\n                                            <div class=\"author-info\">\n                                                <span>Bed & Breakfast & Inn<\/span>\n                                                <small>Istanbul, Turquie<\/small>\n                                            <\/div>\n                                            <div class=\"author-image\">\n                                                <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/turkey-1-1.svg\"\n                                                    alt=\"Bed &amp; Breakfast &amp; Inn\"\n                                                    title=\"Bed &amp; Breakfast &amp; Inn\">\n                                            <\/div>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n                                                    <\/div>\n                                                <div class=\"swiper-slide\">\n                                                            <div class=\"testimonial-card-v3\" data-title=\"Bed &amp; Breakfast &amp; Inn\">\n                                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/images\/\/quote-1.svg\" alt=\"quote\" class=\"quote-1\">\n                                    <div class=\"testimonial-inner\">\n                                        <p>La plate-forme est vraiment conviviale et facile \u00e0 utiliser. Si vous l'utilisez correctement, les r\u00e9sultats se traduiront tr\u00e8s rapidement par une augmentation du taux d'occupation et du prix.<\/p>                                    <\/div>\n                                    <div class=\"testimonial-bottom\">\n                                        <div class=\"testimonial-seperator\">\n                                            <div class=\"seperator-line\"><\/div>\n                                        <\/div>\n                                        <div class=\"testimonial-author\">\n                                            <div class=\"author-info\">\n                                                <span>Bed & Breakfast & Inn<\/span>\n                                                <small>Paipa, Colombie<\/small>\n                                            <\/div>\n                                            <div class=\"author-image\">\n                                                <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/colombia-1-1.svg\"\n                                                    alt=\"Bed &amp; Breakfast &amp; Inn\"\n                                                    title=\"Bed &amp; Breakfast &amp; Inn\">\n                                            <\/div>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n                                                    <\/div>\n                                                <div class=\"swiper-slide\">\n                                                            <div class=\"testimonial-card-v3\" data-title=\"H\u00f4tel A\u00e9roport\/Conf\u00e9rence\">\n                                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/images\/\/quote-1.svg\" alt=\"quote\" class=\"quote-1\">\n                                    <div class=\"testimonial-inner\">\n                                        <p>J'ai trouv\u00e9 que HotelRunner \u00e9tait un syst\u00e8me bien organis\u00e9 et facile \u00e0 g\u00e9rer. Une fois que vous avez compris la configuration et les op\u00e9rations, il est tr\u00e8s facile \u00e0 maintenir et \u00e0 mettre \u00e0 jour. J'aimerais \u00e9galement mentionner que les \u00e9quipes d'assistance sont vraiment r\u00e9actives et vous aident de toutes les mani\u00e8res possibles.<\/p>                                    <\/div>\n                                    <div class=\"testimonial-bottom\">\n                                        <div class=\"testimonial-seperator\">\n                                            <div class=\"seperator-line\"><\/div>\n                                        <\/div>\n                                        <div class=\"testimonial-author\">\n                                            <div class=\"author-info\">\n                                                <span>H\u00f4tel A\u00e9roport\/Conf\u00e9rence<\/span>\n                                                <small>Marston Green, Royaume-Uni<\/small>\n                                            <\/div>\n                                            <div class=\"author-image\">\n                                                <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/08\/uk-1-1.svg\"\n                                                    alt=\"H\u00f4tel A\u00e9roport\/Conf\u00e9rence\"\n                                                    title=\"H\u00f4tel A\u00e9roport\/Conf\u00e9rence\">\n                                            <\/div>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n                                                    <\/div>\n                                        <\/div>\n                <div class=\"swiper-pagination\"><\/div>\n            <\/div>\n        <\/div>\n\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-247b6cf\" data-id=\"247b6cf\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9afe176 hr-form-submit-stretch elementor-widget elementor-widget-hr_form\" data-id=\"9afe176\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"hr-form-container\">\n            <!-- Add JustValidate script directly -->\n            <form id=\"hr-form-6a05b81dc3162\" class=\"hr-form hr-select2-booting hr-form-direction-vertical hr-form-step-mode\" method=\"POST\" name=\"Contact Form - EN\"                action=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/themes\/hotelrunner\/core\/data\/hr-form-handler.php\">\n                                    <input type=\"hidden\" name=\"form_endpoint_url\" value=\"https:\/\/go.marketing.hotelrunner.com\/l\/965463\/2025-05-21\/79fkr\">\n                                                    <input type=\"hidden\" name=\"form_redirect_url\" value=\"https:\/\/staging-sites.hotelrunner.com\/fr\/merci\/\">\n                                \n                <!-- Add loading overlay -->\n                <div class=\"hr-form-overlay\" style=\"display: none;\">\n                    <div class=\"hr-form-overlay-content\">\n                        <span class=\"loader\"><\/span>\n                    <\/div>\n                <\/div>\n\n                <style>\n                    \/* #hr-form-6a05b81dc3162 {\n                        position: relative;\n                    } *\/\n\n                    #hr-form-6a05b81dc3162 .hr-form-overlay {\n                        position: absolute;\n                        top: 0;\n                        left: 0;\n                        right: 0;\n                        bottom: 0;\n                        background-color: rgba(255, 255, 255, 0.9);\n                        display: none;\n                        justify-content: center;\n                        align-items: center;\n                        z-index: 1000;\n                        backdrop-filter: blur(2px);\n                    }\n\n                    #hr-form-6a05b81dc3162 .hr-form-overlay-content {\n                        text-align: center;\n                    }\n\n                    #hr-form-6a05b81dc3162 .loader {\n                        width: 48px;\n                        height: 48px;\n                        border: 5px solid var(--e-global-color-primary);\n                        border-bottom-color: transparent;\n                        border-radius: 50%;\n                        display: inline-block;\n                        box-sizing: border-box;\n                        animation: rotation 1s linear infinite;\n                    }\n\n                    @keyframes rotation {\n                        0% {\n                            transform: rotate(0deg);\n                        }\n\n                        100% {\n                            transform: rotate(360deg);\n                        }\n                    }\n\n                    #hr-form-6a05b81dc3162.submitting {\n                        pointer-events: none;\n                    }\n\n                    #hr-form-6a05b81dc3162.submitting .hr-form-overlay {\n                        display: flex;\n                    }\n                    @media (max-width: 1024px) {\n                        #hr-form-6a05b81dc3162 .hr-form-button-wrapper { text-align: left !important; }\n                        #hr-form-6a05b81dc3162 .hr-form-step-buttons-wrapper { justify-content: flex-start !important; }\n                    }\n                    @media (max-width: 767px) {\n                        #hr-form-6a05b81dc3162 .hr-form-button-wrapper { text-align: left !important; }\n                        #hr-form-6a05b81dc3162 .hr-form-step-buttons-wrapper { justify-content: flex-start !important; }\n                    }\n                <\/style>\n\n                <script>\n                    (function () {\n                        if (window.__hrFormSafeSubmitPatched || !window.HTMLFormElement || !window.HTMLFormElement.prototype) {\n                            return;\n                        }\n                        const nativeSubmit = window.HTMLFormElement.prototype.submit;\n                        if (typeof nativeSubmit !== 'function') {\n                            return;\n                        }\n                        window.HTMLFormElement.prototype.submit = function () {\n                            if (!this || !this.isConnected) {\n                                return;\n                            }\n                            return nativeSubmit.call(this);\n                        };\n                        window.__hrFormSafeSubmitPatched = true;\n                    })();\n                <\/script>\n\n                <script>\n                    document.addEventListener('DOMContentLoaded', function () {\n                        const form = document.getElementById('hr-form-6a05b81dc3162');\n                        if (!form) {\n                            return;\n                        }\n\n                        \/\/ Legacy submit\/validation flow is intentionally disabled.\n                        \/\/ A newer, unified flow below handles validation and submit state.\n                        return;\n\n                        const submitButton = form.querySelector('.hr-form-submit');\n                        const overlay = form.querySelector('.hr-form-overlay');\n                        let isSubmitting = false;\n\n                        \/\/ Initialize JustValidate\n                        const validator = new JustValidate('#hr-form-6a05b81dc3162', {\n                            validateBeforeSubmitting: true,\n                            lockForm: true,\n                            focusInvalidField: true,\n                            errorFieldCssClass: 'is-invalid',\n                            successFieldCssClass: 'is-valid',\n                            errorLabelCssClass: 'is-label-invalid',\n                            errorLabelStyle: {\n                                color: '#e3342f',\n                                fontSize: '12px'\n                            },\n                            successFieldStyle: {\n                                borderColor: '#38c172'\n                            },\n                            errorFieldStyle: {\n                                borderColor: '#e3342f'\n                            },\n                            onValidate: ({ target }) => {\n                                \/\/ Handle Select2 validation classes\n                                if ($(target).hasClass('select2-hidden-accessible')) {\n                                    const select2Container = $(target).next('.select2-container');\n                                    if ($(target).hasClass('is-valid')) {\n                                        select2Container.find('.select2-selection').addClass('is-valid').removeClass('is-invalid');\n                                    } else if ($(target).hasClass('is-invalid')) {\n                                        select2Container.find('.select2-selection').addClass('is-invalid').removeClass('is-valid');\n                                    }\n                                }\n                            }\n                        });\n\n                        \/\/ Store validator instance on the form element\n                        form._justValidateInstance = validator;\n\n                        \/\/ HubSpot configuration check.\n                        const hubspotPortalInput = form.querySelector('input[name=\"hubspot_portal_id\"]');\n                        const hubspotFormGuidInput = form.querySelector('input[name=\"hubspot_form_guid\"]');\n                        const legacyEndpointInput = form.querySelector('input[name=\"form_endpoint_url\"]');\n                        const formsEndpointType = 'pardot';\n\n                                                validator.addField('input[name=\"form_endpoint_url\"]', [\n                            {\n                                rule: 'required',\n                                errorMessage: 'This field is required',\n                            },\n                        ]);\n                        \n                        \/\/ Add more fields and rules as needed\n\n                        \/\/ Handle form submission\n                        form.addEventListener('submit', function (e) {\n                            e.preventDefault();\n\n                            \/\/ Prevent multiple submissions\n                            if (isSubmitting) {\n                                return false;\n                            }\n\n                                                            const turnstileResponse = form.querySelector('[name=\"cf-turnstile-response\"]');\n                                if (!turnstileResponse || !turnstileResponse.value) {\n                                    alert('Please wait for the security check to complete.');\n                                    return false;\n                                }\n                            \n                            \/\/ Check honeypot field\n                            const honeypotField = form.querySelector('input[name=\"hr_website\"]');\n                            if (honeypotField && honeypotField.value !== '') {\n                                return false;\n                            }\n\n                            const hasHubspotConfig = Boolean(\n                                hubspotPortalInput?.value?.trim() &&\n                                hubspotFormGuidInput?.value?.trim()\n                            );\n                            const hasPardotConfig = Boolean(legacyEndpointInput?.value?.trim());\n                            if ((formsEndpointType === 'hubspot' && !hasHubspotConfig) || (formsEndpointType === 'pardot' && !hasPardotConfig)) {\n                                alert(formsEndpointType === 'hubspot'\n                                    ? 'Please configure HubSpot Portal ID and Form GUID.'\n                                    : 'Please configure Pardot form endpoint URL.');\n                                return false;\n                            }\n\n                            \/\/ Validate the form\n                            validator.onSuccess((event) => {\n                                \/\/ Show loading state\n                                isSubmitting = true;\n                                form.classList.add('submitting');\n                                overlay.style.display = 'flex';\n\n                                if (submitButton) {\n                                    submitButton.disabled = true;\n                                }\n\n                                \/\/ Submit only when form is still mounted in DOM.\n                                if (form && form.isConnected) {\n                                    form.submit();\n                                }\n                            });\n\n                            validator.onFail((fields) => {\n                                \/\/ Validation failed\n                            });\n\n                            validator.validate();\n                        });\n                    });\n                <\/script>\n\n                \n                <!-- Add honeypot field -->\n                <div style=\"display:none;\">\n                    <input type=\"text\" name=\"hr_website\" value=\"\" autocomplete=\"off\" tabindex=\"-1\">\n                <\/div>\n\n                                    <div class=\"hr-turnstile-container\" data-sitekey=\"0x4AAAAAABeTMK2qaRc9Oy_P\"\n                        data-callback=\"onTurnstileCallback_hr-form-6a05b81dc3162\"><\/div>\n                \n                                        <input type=\"hidden\" name=\"hr_ip_address\" value=\"10.0.29.116\"\n                            data-field-type=\"ip_address\">\n                                                <input type=\"hidden\" name=\"hr_page_load_time\" value=\"\"\n                            data-field-type=\"page_load_time\">\n                                                <input type=\"hidden\" name=\"hr_referrer_url\" value=\"\"\n                            data-field-type=\"referrer_url\">\n                                                <input type=\"hidden\" name=\"hr_current_url\" value=\"\"\n                            data-field-type=\"current_url\">\n                                                <input type=\"hidden\" name=\"hr_timezone_name\" value=\"\"\n                            data-field-type=\"timezone_name\">\n                                                <input type=\"hidden\" name=\"hr_window_size\" value=\"\"\n                            data-field-type=\"window_size\">\n                                                <input type=\"hidden\" name=\"hr_all_languages\" value=\"\"\n                            data-field-type=\"all_languages\">\n                                                <input type=\"hidden\" name=\"hr_primary_language\" value=\"\"\n                            data-field-type=\"primary_language\">\n                                                                    <input type=\"hidden\" name=\"form_endpoint_url\" value=\"https:\/\/go.marketing.hotelrunner.com\/l\/965463\/2025-05-21\/79fkr\">\n                                                    <input type=\"hidden\" name=\"form_redirect_url\" value=\"https:\/\/staging-sites.hotelrunner.com\/fr\/merci\/\">\n                                                                            <input type=\"hidden\" name=\"form_title\" value=\"Contact Form - EN\">\n                                                <input type=\"hidden\" name=\"form_language\"\n                            value=\"FR\">\n                        <input type=\"hidden\" name=\"utm_source\" value=\"\">\n                        <input type=\"hidden\" name=\"utm_medium\" value=\"\">\n                        <input type=\"hidden\" name=\"utm_campaign\" value=\"\">\n                        <input type=\"hidden\" name=\"utm_term\" value=\"\">\n                        <input type=\"hidden\" name=\"utm_content\" value=\"\">\n                                        \n                <script>\n                    function populateUtmFields() {\n                        const forms = document.querySelectorAll('form');\n                        forms.forEach(form => {\n                                                        const utmSourceField = form.querySelector('input[name=\"utm_source\"]');\n                            if (!utmSourceField) return;\n                            \n                            let utmSource = sessionStorage.getItem('utm_source');\n                            let utmMedium = sessionStorage.getItem('utm_medium');\n                            let utmCampaign = sessionStorage.getItem('utm_campaign');\n                            let utmTerm = sessionStorage.getItem('utm_term');\n                            let utmContent = sessionStorage.getItem('utm_content');\n\n                            if (!utmSource && !utmMedium && !utmCampaign && !utmTerm && !utmContent) {\n                                const params = new URLSearchParams(window.location.search);\n                                const utmKeys = ['utm_source','utm_medium','utm_campaign','utm_term','utm_content'];\n                                utmKeys.forEach(key => {\n                                    if (params.has(key)) {\n                                        const value = params.get(key);\n                                        sessionStorage.setItem(key, value);\n                                        switch(key) {\n                                            case 'utm_source': utmSource = value; break;\n                                            case 'utm_medium': utmMedium = value; break;\n                                            case 'utm_campaign': utmCampaign = value; break;\n                                            case 'utm_term': utmTerm = value; break;\n                                            case 'utm_content': utmContent = value; break;\n                                        }\n                                    }\n                                });\n                            }\n\n                                                        const utmInputs = {\n                                'utm_source': form.querySelector('input[name=\"utm_source\"]'),\n                                'utm_medium': form.querySelector('input[name=\"utm_medium\"]'),\n                                'utm_campaign': form.querySelector('input[name=\"utm_campaign\"]'),\n                                'utm_term': form.querySelector('input[name=\"utm_term\"]'),\n                                'utm_content': form.querySelector('input[name=\"utm_content\"]')\n                            };\n                            \n                            if (utmInputs.utm_source) utmInputs.utm_source.value = utmSource || '';\n                            if (utmInputs.utm_medium) utmInputs.utm_medium.value = utmMedium || '';\n                            if (utmInputs.utm_campaign) utmInputs.utm_campaign.value = utmCampaign || '';\n                            if (utmInputs.utm_term) utmInputs.utm_term.value = utmTerm || '';\n                            if (utmInputs.utm_content) utmInputs.utm_content.value = utmContent || '';\n                        });\n                    }\n\n                    document.addEventListener('DOMContentLoaded', populateUtmFields);\n                    setTimeout(populateUtmFields, 100);\n                    setTimeout(populateUtmFields, 500);\n                    setTimeout(populateUtmFields, 1000);\n                    window.addEventListener('load', populateUtmFields);\n                <\/script>\n\n                <div class=\"hr-form-fields-wrapper\">\n                    \n                    <div class=\"hr-form-step-fields hr-form-direction-vertical\" data-step-index=\"0\" style=\"display:block;\">                                                                <div class=\"hr-form-field-column hr-form-firstname hr-form-field-column-elementor-repeater-item-1f707e1\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-form-firstname\" class=\"hr-form-label\">Pr\u00e9nom<\/label>                                        \n                                                                                        <input id=\"hr-form-firstname\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"hr-form-firstname\" ><div id=\"hr-form-firstname-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/div>\n                                <\/div>\n                                                                                                <div class=\"hr-form-field-column hr-form-lastname hr-form-field-column-elementor-repeater-item-a99cca6\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-form-lastname\" class=\"hr-form-label\">Nom<\/label>                                        \n                                                                                        <input id=\"hr-form-lastname\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"hr-form-lastname\" ><div id=\"hr-form-lastname-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/div>\n                                <\/div>\n                                                                                                <div class=\"hr-form-field-column hr-form-job-role hr-form-field-column-elementor-repeater-item-9e352af\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-form-job-role\" class=\"hr-form-label\">Fonction du poste<\/label>                                        \n                                                                                                                                        <div class=\"hr-form-field-input\">\n                                                    <select id=\"hr-form-job-role\" class=\"hr-form-input hr-select2-field\" autocomplete=\"off\" name=\"hr-form-job-role\" data-placeholder=\"S\u00e9lectionnez une option\" data-allow-clear=\"no\" data-enable-search=\"no\" required=\"required\" >\n                                                                                                                    <option value=\"\" class=\"hr-select-placeholder\" disabled selected>\n                                                                S\u00e9lectionnez une option                                                            <\/option>\n                                                                                                                <option value=\"Owner\/Founder\/C-Suite\">Propri\u00e9taire\/Fondateur\/C-Suite<\/option><option value=\"General Management\">Direction g\u00e9n\u00e9rale<\/option><option value=\"Reservations\/Front of House\">R\u00e9servations\/Accueil<\/option><option value=\"IT\/Operations\">TI\/Op\u00e9rations<\/option><option value=\"Revenue Management\">Gestion des revenus<\/option><option value=\"Consultant\">Consultant<\/option><option value=\"Procurement\">Approvisionnement<\/option><option value=\"Sales\/Marketing\">Ventes\/Marketing<\/option><option value=\"Other\">Autres<\/option>                                                    <\/select>\n                                                                                                    <\/div>\n                                                <div id=\"hr-form-job-role-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/div>\n                                <\/div>\n                                                                                                <div class=\"hr-form-field-column hr-form-email hr-form-field-column-elementor-repeater-item-b80e819\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-form-email\" class=\"hr-form-label\">Email professionnel<\/label>                                        \n                                                                                        <input id=\"hr-form-email\" class=\"hr-form-input\" autocomplete=\"email\" type=\"email\" name=\"hr-form-email\" ><div id=\"hr-form-email-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/div>\n                                <\/div>\n                                                                                                <div class=\"hr-form-field-column hr-form-phone hr-form-field-column-elementor-repeater-item-2f03915\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-form-phone\" class=\"hr-form-label\">T\u00e9l\u00e9phone mobile<\/label>                                        \n                                                                                                                                        <div class=\"hr-phone-input-wrapper\">\n                                                    <input id=\"hr-form-phone\" class=\"hr-form-input hr-phone-input\" autocomplete=\"tel\" type=\"tel\" name=\"hr-form-phone\"                                                                                                                 data-enable-geoip-lookup=\"yes\"\n                                                        data-initial-country=\"\">\n                                                <\/div>\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                                                <div class=\"hr-form-field-column hr-country hr-form-field-column-elementor-repeater-item-8b908ee\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-country\" class=\"hr-form-label\">Pays<\/label>                                        \n                                                                                                                                        <div class=\"hr-country-field-wrapper\">\n                                                    <select id=\"hr-country\" class=\"hr-form-input hr-country-select\" placeholder=\"S\u00e9lectionner\" autocomplete=\"country-name\" name=\"hr-country\"  data-placeholder=\"S\u00e9lectionner\"\n                                                        name=\"hr-country\">\n                                                        <option value=\"\" class=\"hr-select-placeholder\" disabled selected>\n                                                            S\u00e9lectionner                                                        <\/option>\n                                                        <option value=\"AF\">Afghanistan<\/option><option value=\"AX\">\u00c5land Islands<\/option><option value=\"AL\">Albania<\/option><option value=\"DZ\">Algeria<\/option><option value=\"AD\">Andorra<\/option><option value=\"AO\">Angola<\/option><option value=\"AI\">Anguilla<\/option><option value=\"AQ\">Antarctica<\/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=\"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, Sint 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\">Brune\u0130<\/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<\/option><option value=\"CK\">Cook Islands<\/option><option value=\"CR\">Costa Rica<\/option><option value=\"CI\">C\u00f4te d&#039;Ivoire<\/option><option value=\"HR\">Croatia<\/option><option value=\"CU\">Cuba<\/option><option value=\"CW\">Cura\u00e7ao<\/option><option value=\"CY\">Cyprus<\/option><option value=\"CZ\">Czechia<\/option><option value=\"CD\">Democratic Republic of the Congo<\/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=\"SZ\">Eswatini<\/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\">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=\"GT\">Guatemala<\/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=\"VA\">Holy See<\/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=\"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=\"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=\"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=\"NE\">Niger<\/option><option value=\"NG\">Nigeria<\/option><option value=\"NU\">Niue<\/option><option value=\"NF\">Norfolk Island<\/option><option value=\"KP\">North Korea<\/option><option value=\"MK\">North Macedonia<\/option><option value=\"NCY\">Northern Cyprus<\/option><option value=\"MP\">Northern Mariana Islands<\/option><option value=\"NO\">Norway<\/option><option value=\"OM\">Oman<\/option><option value=\"PK\">Pakistan<\/option><option value=\"PW\">Palau<\/option><option value=\"PS\">Palestine<\/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\">R\u00e9union<\/option><option value=\"RO\">Romania<\/option><option value=\"RU\">Russia<\/option><option value=\"RW\">Rwanda<\/option><option value=\"BL\">Saint Barth\u00e9lemy<\/option><option value=\"SH\">Saint Helena, Ascension and Tristan da Cunha<\/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=\"PM\">Saint Pierre and Miquelon<\/option><option value=\"VC\">Saint Vincent and the Grenadines<\/option><option value=\"AS\">Samoa<\/option><option value=\"WS\">Samoa<\/option><option value=\"SM\">San Marino<\/option><option value=\"ST\">Sao Tome and Principe<\/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=\"SX\">Sint Maarten (Dutch part)<\/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 and the South 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=\"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<\/option><option value=\"UM\">United States Minor Outlying Islands<\/option><option value=\"US\">United States of America<\/option><option value=\"UY\">Uruguay<\/option><option value=\"UZ\">Uzbekistan<\/option><option value=\"VU\">Vanuatu<\/option><option value=\"VE\">Venezuela<\/option><option value=\"VN\">Viet nam<\/option><option value=\"VG\">Virgin Islands (British)<\/option><option value=\"VI\">Virgin Islands (U.S.)<\/option><option value=\"WF\">Wallis and Futuna<\/option><option value=\"EH\">Western Sahara<\/option><option value=\"YE\">Yemen<\/option><option value=\"ZM\">Zambia<\/option><option value=\"ZW\">Zimbabwe<\/option>                                                    <\/select>\n                                                <\/div>\n                                                <div id=\"hr-country-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/div>\n                                <\/div>\n                                <div class=\"hr-form-step-buttons\">                                <div class=\"hr-form-step-buttons-wrapper\" style=\"justify-content: flex-start;\">\n                                <a class=\"btn hr-form-step-next\">Suivant<\/a>\n                            <\/div>\n\n                            <div class=\"hr-steps-nav\">\n                                <span class=\"hr-step active\" data-step-no=\"1\"><\/span><span class=\"hr-step\" data-step-no=\"2\"><\/span>                            <\/div>\n                            <\/div><\/div><div class=\"hr-form-step-fields hr-form-direction-vertical\" data-step-index=\"1\" style=\"display:none;\">                                                                <div class=\"hr-form-field-column hr-form-company-name hr-form-field-column-elementor-repeater-item-95a5a48\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-form-company-name\" class=\"hr-form-label\">Nom de la propri\u00e9t\u00e9\/l&#039;entreprise<\/label>                                        \n                                                                                        <input id=\"hr-form-company-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"hr-form-company-name\" ><div id=\"hr-form-company-name-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/div>\n                                <\/div>\n                                                                                                <div class=\"hr-form-field-column hr-form-field-column-elementor-repeater-item-0788aef\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-form-company-type\" class=\"hr-form-label\">Type d&#039;entreprise<\/label>                                        \n                                                                                                                                        <div class=\"hr-form-field-input\">\n                                                    <select id=\"hr-form-company-type\" class=\"hr-form-input hr-select2-field\" autocomplete=\"organization\" name=\"hr-form-company-type\" data-placeholder=\"S\u00e9lectionnez le type de votre entreprise\" data-allow-clear=\"no\" data-enable-search=\"no\" required=\"required\" >\n                                                                                                                    <option value=\"\" class=\"hr-select-placeholder\" disabled selected>\n                                                                Quel est le type de votre entreprise ?                                                            <\/option>\n                                                                                                                <option value=\"Property\">Propri\u00e9t\u00e9<\/option><option value=\"Travel Agency\">Agence de voyage en ligne<\/option><option value=\"Payment Systems\">Syst\u00e8mes de paiement<\/option><option value=\"Tech Provider\">Fournisseur de technologie<\/option><option value=\"Other\">Autre<\/option>                                                    <\/select>\n                                                                                                    <\/div>\n                                                <div id=\"hr-form-company-type-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/div>\n                                <\/div>\n                                                                                                <div class=\"hr-form-field-column hr-form-property-type hr-conditional-field hr-form-field-column-elementor-repeater-item-22bdd16\"\n                                     style=\"display: none\">\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-form-property-type\" class=\"hr-form-label\">Type de propri\u00e9t\u00e9<\/label>                                        \n                                                                                                                                        <div class=\"hr-form-field-input\">\n                                                    <select id=\"hr-form-property-type\" class=\"hr-form-input hr-select2-field\" autocomplete=\"off\" name=\"hr-form-property-type\" data-placeholder=\"S\u00e9lectionnez une option\" data-allow-clear=\"no\" data-enable-search=\"yes\" >\n                                                                                                                    <option value=\"\" class=\"hr-select-placeholder\" disabled selected>\n                                                                Veuillez s\u00e9lectionner le type de bien immobilier.                                                            <\/option>\n                                                                                                                <option value=\"Bed &amp; Breakfast\">Bed &amp; Breakfast<\/option><option value=\"Serviced Apartment\">Appart&#039;h\u00f4tels<\/option><option value=\"Hotel\">H\u00f4tel<\/option><option value=\"Resort\">Complexes h\u00f4teliers<\/option><option value=\"Vacation Rental\">Maisons de vacances<\/option><option value=\"Other\">Autre<\/option>                                                    <\/select>\n                                                                                                    <\/div>\n                                                <div id=\"hr-form-property-type-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/div>\n                                <\/div>\n                                                                                                <div class=\"hr-form-field-column hr-adr hr-conditional-field hr-form-field-column-elementor-repeater-item-b11f39a\"\n                                     style=\"display: none\">\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-adr\" class=\"hr-form-label\">Quel est le tarif journalier moyen (TJM) de votre propri\u00e9t\u00e9 ?<\/label>                                        \n                                                                                                                                        <div class=\"hr-form-field-input\">\n                                                    <select id=\"hr-adr\" class=\"hr-form-input\" autocomplete=\"off\" name=\"hr-adr\" >\n                                                                                                                    <option value=\"\" class=\"hr-select-placeholder\" disabled selected>\n                                                                S\u00e9lectionnez une option                                                            <\/option>\n                                                                                                                <option value=\"Less than $150 USD\">Moins de 150 USD<\/option><option value=\"$150 \u2013 $250 USD\">150 - 250 USD<\/option><option value=\"More than $250 USD\">Plus de 250 USD<\/option>                                                    <\/select>\n                                                                                                    <\/div>\n                                                <div id=\"hr-adr-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/div>\n                                <\/div>\n                                                                                                <div class=\"hr-form-field-column hr-form-note hr-form-field-column-elementor-repeater-item-1c34be7\"\n                                     style=\"margin-bottom: 60px\">\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-form-note\" class=\"hr-form-label\">Y a-t-il quelque chose en particulier que vous souhaitez explorer ?<\/label>                                        \n                                                                                        <textarea id=\"hr-form-note\" class=\"hr-form-input hr-form-textarea\" autocomplete=\"off\" name=\"hr-form-note\" data-max-chars=\"600\" ><\/textarea><div id=\"hr-form-note-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/div>\n                                <\/div>\n                                                                                                <div class=\"hr-form-field-column privacy hr-form-field-column-elementor-repeater-item-69efc9f\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                        \n                                                                                        <div class=\"hr-form-checkbox-wrapper\">\n                                                    <label class=\"hr-checkbox-label\">\n                                                        <input id=\"privacy\" class=\"hr-form-checkbox\" placeholder=\"Enter your text here\" autocomplete=\"off\" type=\"checkbox\" name=\"privacy\" required=\"required\"  data-salesforce-field=\"no\">\n                                                        <span class=\"hr-checkbox-text\">J\u2019ai lu et compris la <a href=\"https:\/\/staging-sites.hotelrunner.com\/fr\/privacy-statement-for-request-complaint-suggestion-processes\/\" target=\"_blank\">\nD\u00e9claration de confidentialit\u00e9 relative aux processus de demande \/ r\u00e9clamation \/ suggestion.<\/a><\/span>\n                                                    <\/label>\n                                                                                                    <\/div>\n                                                                                    <\/div>\n                                <\/div>\n                                                                                                <div class=\"hr-form-field-column commercial-text hr-form-field-column-elementor-repeater-item-a91c01a\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                        \n                                                                                        <div class=\"hr-form-checkbox-wrapper\">\n                                                    <label class=\"hr-checkbox-label\">\n                                                        <input id=\"commercial-text\" class=\"hr-form-checkbox\" placeholder=\"Enter your text here\" autocomplete=\"off\" type=\"checkbox\" name=\"commercial-text\"  data-salesforce-field=\"yes\">\n                                                        <span class=\"hr-checkbox-text\">J\u2019ai lu et j\u2019accepte le consentement aux <a href=\"https:\/\/staging-sites.hotelrunner.com\/fr\/commercial-electronic-message-consent-text\/\" target=\"_blank\">communications \u00e9lectroniques commerciales<\/a>.<\/span>\n                                                    <\/label>\n                                                                                                                                                                    <input type=\"hidden\" name=\"commercial-text-value\" value=\"false\" data-salesforce-reverse=\"yes\">\n                                                                                                    <\/div>\n                                                                                    <\/div>\n                                <\/div>\n                                <div class=\"hr-form-step-buttons\">                                <div class=\"hr-form-step-buttons-wrapper\" style=\"justify-content: flex-start;\">\n                                <button type=\"submit\" class=\"btn hr-form-step-next hr-form-submit\">Envoyer<\/button><a class=\"btn hr-form-step-prev\">Pr\u00e9c\u00e9dent <\/a>\n                            <\/div>\n\n                            <div class=\"hr-steps-nav\">\n                                <span class=\"hr-step active\" data-step-no=\"1\"><\/span><span class=\"hr-step active\" data-step-no=\"2\"><\/span>                            <\/div>\n                            <\/div><\/div>                <\/div>\n\n                            <\/form>\n\n        <\/div>\n\n        \n        <!-- Hidden Fields Handler -->\n        <script>\n            (function ($) {\n                \"use strict\";\n\n                function initializePhoneInput(input) {\n                    \/\/ Check if intlTelInput is loaded and input is not already initialized\n                    if (typeof window.intlTelInput === \"function\" && !$(input).data(\"iti\")) {\n                        const initialCountry = (input.dataset.initialCountry || \"\").trim();\n\n                        \/\/ WPML fallback country mapping (based on current WPML language).\n                        \/\/ This is used when the geoIpLookup API times out or errors.\n                        const wpmlLang = \"fr\";\n                        let fallbackCountry = \"us\";\n                        if (wpmlLang.startsWith(\"tr\")) {\n                            fallbackCountry = \"tr\";\n                        } else if (wpmlLang.startsWith(\"es\")) {\n                            fallbackCountry = \"es\";\n                        } else if (wpmlLang.startsWith(\"fr\")) {\n                            fallbackCountry = \"fr\";\n                        } else {\n                            fallbackCountry = \"us\";\n                        }\n\n                        const enableGeoIpLookup = (input.dataset.enableGeoipLookup || \"yes\") === \"yes\";\n                        const shouldUseGeoIpLookup = enableGeoIpLookup && !initialCountry;\n                        const preferredAttr = input.getAttribute('data-preferred-countries');\n                        const preferredCountries = (preferredAttr === null)\n                            ? []\n                            : preferredAttr.split(',').map(s => s.trim()).filter(Boolean);\n\n                        const geoIpLookup = (success, failure) => {\n                            const timeoutMs = 2500; \/\/ Fail fast so it doesn't block UX.\n                            let settled = false;\n\n                            \/\/ Make sure we always resolve, even on network stalls.\n                            const timeoutId = setTimeout(() => {\n                                if (settled) return;\n                                settled = true;\n                                if (controller) controller.abort();\n                                success(fallbackCountry);\n                            }, timeoutMs);\n\n                            const controller = typeof AbortController !== \"undefined\" ? new AbortController() : null;\n\n                            fetch(\"https:\/\/ipapi.co\/json\", {\n                                signal: controller ? controller.signal : undefined\n                            })\n                                .then(res => res.json())\n                                .then(data => {\n                                    if (settled) return;\n                                    settled = true;\n                                    const code = (data && data.country_code) ? String(data.country_code).toLowerCase() : fallbackCountry;\n                                    success(code);\n                                })\n                                .catch(() => {\n                                    if (settled) return;\n                                    settled = true;\n                                    success(fallbackCountry);\n                                })\n                                .finally(() => {\n                                    clearTimeout(timeoutId);\n                                });\n                        };\n\n                        const itiOptions = {\n                            initialCountry: shouldUseGeoIpLookup ? \"auto\" : (initialCountry ? initialCountry : fallbackCountry),\n                            separateDialCode: true,\n                            nationalMode: false,\n                            formatOnDisplay: true,\n                            autoPlaceholder: \"polite\",\n                            preferredCountries: preferredCountries,\n                            allowDropdown: true,\n                            dropdownContainer: document.body,\n                            utilsScript: \"https:\/\/staging-sites.hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/js\/\/vendor\/utils.js\" \/\/ Changed to non-minified version\n                        };\n\n                        if (shouldUseGeoIpLookup) {\n                            itiOptions.geoIpLookup = geoIpLookup;\n                        }\n\n                        const iti = window.intlTelInput(input, itiOptions);\n\n                        \/\/ Store the instance on the input element\n                        $(input).data(\"iti\", iti);\n\n                        \/\/ Handle input changes\n                        input.addEventListener('input', function (e) {\n                            const value = e.target.value;\n                            \/\/ Remove any non-numeric characters\n                            const numericValue = value.replace(\/\\D\/g, '');\n\n                            \/\/ Only remove the country code if it's at the start of the input\n                            if (value.startsWith('+')) {\n                                const countryCode = iti.getSelectedCountryData().dialCode;\n                                if (value.startsWith('+' + countryCode)) {\n                                    e.target.value = numericValue.substring(countryCode.length);\n                                }\n                            } else {\n                                e.target.value = numericValue;\n                            }\n                        });\n\n                        \/\/ Prevent non-numeric input\n                        input.addEventListener('keypress', function (e) {\n                            const charCode = (e.which) ? e.which : e.keyCode;\n                            if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n                                e.preventDefault();\n                            }\n                        });\n\n                        \/\/ Handle form submission\n                        $(input.form).on(\"submit\", function () {\n                            if (iti.isValidNumber()) {\n                                input.value = iti.getNumber();\n                            }\n                        });\n\n                        \/\/ Add validation class on blur\n                        input.addEventListener(\"blur\", function () {\n                            if (input.value.trim()) {\n                                if (iti.isValidNumber()) {\n                                    $(input).removeClass(\"error\").addClass(\"valid\");\n                                } else {\n                                    $(input).removeClass(\"valid\").addClass(\"error\");\n                                }\n                            }\n                        });\n                    }\n                }\n\n                function initializeFormPhoneInputs(formId) {\n                    const form = document.getElementById(formId);\n                    if (!form) return;\n                    \n                    const phoneInputs = $(form).find(\".hr-phone-input\");\n                    if (phoneInputs.length > 0 && typeof window.intlTelInput === \"function\") {\n                        phoneInputs.each(function () {\n                            if (!$(this).data(\"iti\")) {\n                                initializePhoneInput(this);\n                            }\n                        });\n                    }\n                }\n\n                \/\/ Initialize phone inputs for this specific form\n                initializeFormPhoneInputs('hr-form-6a05b81dc3162');\n\n                \/\/ Also initialize on document ready to ensure DOM is fully loaded\n                $(document).ready(function () {\n                    initializeFormPhoneInputs('hr-form-6a05b81dc3162');\n                });\n            })(jQuery);\n\n\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-6a05b81dc3162');\n\n                \/\/ Function to get all hidden fields\n                const hiddenFields = form.querySelectorAll('input[type=\"hidden\"][data-field-type]');\n                const truncateHiddenUrl = (value, maxLength = 255) => {\n                    const str = String(value || '');\n                    return str.length > maxLength ? str.slice(0, maxLength) : str;\n                };\n\n                hiddenFields.forEach(field => {\n                    const fieldType = field.getAttribute('data-field-type');\n\n                    switch (fieldType) {\n                        case 'browser_info':\n                            field.value = navigator.userAgent;\n                            break;\n\n                        case 'primary_language':\n                            field.value = navigator.language || 'unknown';\n                            break;\n\n                        case 'all_languages':\n                            field.value = navigator.languages ? navigator.languages.join(', ') : 'unknown';\n                            break;\n\n                        case 'cookies_enabled':\n                            field.value = navigator.cookieEnabled ? 'yes' : 'no';\n                            break;\n\n                        case 'screen_resolution':\n                            field.value = `${screen.width}x${screen.height}`;\n                            break;\n\n                        case 'available_screen':\n                            field.value = `${screen.availWidth}x${screen.availHeight}`;\n                            break;\n\n                        case 'window_size':\n                            field.value = `${window.outerWidth}x${window.outerHeight}`;\n                            \/\/ Update on resize\n                            window.addEventListener('resize', () => {\n                                field.value = `${window.outerWidth}x${window.outerHeight}`;\n                            });\n                            break;\n\n                        case 'timezone_name':\n                            try {\n                                field.value = Intl.DateTimeFormat().resolvedOptions().timeZone;\n                            } catch (e) {\n                                field.value = 'unknown';\n                            }\n                            break;\n\n                        case 'timezone_offset':\n                            field.value = new Date().getTimezoneOffset();\n                            break;\n\n                        case 'current_url':\n                            field.value = truncateHiddenUrl(window.location.href);\n                            break;\n\n                        case 'referrer_url':\n                            field.value = truncateHiddenUrl(document.referrer || 'direct');\n                            break;\n\n                        case 'page_load_time':\n                            field.value = Math.round(performance.now());\n                            break;\n\n                        case 'navigation_type':\n                            try {\n                                const navigation = performance.getEntriesByType('navigation')[0];\n                                field.value = navigation ? navigation.type : 'unknown';\n                            } catch (e) {\n                                field.value = 'unknown';\n                            }\n                            break;\n                    }\n                });\n            });\n        <\/script>\n\n        <!-- Checkbox Salesforce Field Handler -->\n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-6a05b81dc3162');\n                \n                \/\/ Handle Salesforce checkbox fields\n                form.querySelectorAll('input[type=\"checkbox\"][data-salesforce-field=\"yes\"]').forEach(checkbox => {\n                    const hiddenFieldName = checkbox.id + '-value';\n                    const hiddenField = form.querySelector(`input[type=\"hidden\"][name=\"${hiddenFieldName}\"]`);\n                    \n                    if (hiddenField) {\n                        const isReversed = hiddenField.getAttribute('data-salesforce-reverse') === 'yes';\n                        \n                        \/\/ Update hidden field on checkbox change\n                        checkbox.addEventListener('change', function () {\n                            let value;\n                            if (isReversed) {\n                                \/\/ Reverse logic: checked = false, unchecked = true\n                                value = this.checked ? 'false' : 'true';\n                            } else {\n                                \/\/ Normal logic: checked = true, unchecked = false\n                                value = this.checked ? 'true' : 'false';\n                            }\n                            hiddenField.value = value;\n                        });\n                        \n                        \/\/ Set initial value\n                        let initialValue;\n                        if (isReversed) {\n                            initialValue = checkbox.checked ? 'false' : 'true';\n                        } else {\n                            initialValue = checkbox.checked ? 'true' : 'false';\n                        }\n                        hiddenField.value = initialValue;\n                    }\n                });\n            });\n        <\/script>\n\n        <!-- Conditional Fields Logic -->\n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-6a05b81dc3162');\n                const conditions = {};\n\n                                        conditions['hr-form-property-type'] = {\n                            targetField: 'hr-form-company-type',\n                            operator: 'equals',\n                            value: 'Property'\n                        };\n                                            conditions['hr-adr'] = {\n                            targetField: 'hr-form-company-type',\n                            operator: 'equals',\n                            value: 'Property'\n                        };\n                    \n                function evaluateCondition(condition, value) {\n                    \/\/ Handle array values (for multiple select)\n                    if (Array.isArray(value)) {\n                        switch (condition.operator) {\n                            case 'equals':\n                                return value.includes(condition.value);\n                            case 'not_equals':\n                                return !value.includes(condition.value);\n                            case 'contains':\n                                return value.some(v => v.includes(condition.value));\n                            case 'not_contains':\n                                return !value.some(v => v.includes(condition.value));\n                            case 'greater_than':\n                                return value.some(v => parseFloat(v) > parseFloat(condition.value));\n                            case 'less_than':\n                                return value.some(v => parseFloat(v) < parseFloat(condition.value));\n                            default:\n                                return false;\n                        }\n                    }\n\n                    \/\/ Handle single values\n                    switch (condition.operator) {\n                        case 'equals':\n                            return value === condition.value;\n                        case 'not_equals':\n                            return value !== condition.value;\n                        case 'contains':\n                            return value.includes(condition.value);\n                        case 'not_contains':\n                            return !value.includes(condition.value);\n                        case 'greater_than':\n                            return parseFloat(value) > parseFloat(condition.value);\n                        case 'less_than':\n                            return parseFloat(value) < parseFloat(condition.value);\n                        default:\n                            return false;\n                    }\n                }\n\n                function updateConditionalFields() {\n                    for (const fieldId in conditions) {\n                        const condition = conditions[fieldId];\n                        \/\/ Ensure we only search for fields within the current form\n                        const targetInput = form.querySelector(`[name=\"${condition.targetField}\"]`);\n\n                        let fieldToToggle = form.querySelector(`#${fieldId}`) || form.querySelector(`[name=\"${fieldId}\"]`);\n                        fieldToToggle = fieldToToggle ? fieldToToggle.closest('.hr-form-field-column') : null;\n\n                        if (targetInput && fieldToToggle) {\n                            const targetValue = $(targetInput).hasClass('hr-select2-field') ? $(targetInput).val() : targetInput.value;\n                            const shouldShow = evaluateCondition(condition, targetValue);\n\n                            \/\/ Select all form elements within the current field to toggle\n                            const formElements = fieldToToggle.querySelectorAll('input, select, textarea');\n\n                            if (shouldShow) {\n                                fieldToToggle.classList.remove('hr-conditional-field');\n                                fieldToToggle.style.display = '';\n\n                                formElements.forEach(el => el.classList.remove('condition-false'));\n\n                            } else {\n                                fieldToToggle.classList.add('hr-conditional-field');\n                                fieldToToggle.style.display = 'none';\n                                formElements.forEach(el => el.classList.add('condition-false'));\n\n                                \/\/ Hidden conditional fields must not keep invalid state (breaks submit button \/ revalidate).\n                                formElements.forEach(function (el) {\n                                    if (!el.id) return;\n                                    el.classList.remove('is-invalid', 'is-valid');\n                                    const errEl = form.querySelector('#' + CSS.escape(el.id) + '-error-container');\n                                    if (errEl) {\n                                        errEl.innerHTML = '';\n                                    }\n                                    const s2 = el.nextElementSibling;\n                                    if (s2 && s2.classList && s2.classList.contains('select2-container')) {\n                                        s2.querySelectorAll('.select2-selection').forEach(function (node) {\n                                            node.classList.remove('is-invalid', 'is-valid');\n                                        });\n                                    }\n                                });\n                            }\n\n                            \/\/ Handle required fields\n                            formElements.forEach(input => {\n                                if (!shouldShow) {\n                                    input.dataset.wasRequired = input.required;\n                                    input.required = false;\n                                } else if (input.dataset.wasRequired) {\n                                    input.required = true;\n                                }\n                            });\n\n                            if (shouldShow) {\n                                formElements.forEach(function (el) {\n                                    if (!el.id) return;\n                                    el.classList.remove('is-invalid', 'is-valid');\n                                    const errEl = form.querySelector('#' + CSS.escape(el.id) + '-error-container');\n                                    if (errEl) {\n                                        errEl.innerHTML = '';\n                                    }\n                                    const s2 = el.nextElementSibling;\n                                    if (s2 && s2.classList && s2.classList.contains('select2-container')) {\n                                        s2.querySelectorAll('.select2-selection').forEach(function (node) {\n                                            node.classList.remove('is-invalid', 'is-valid');\n                                        });\n                                    }\n                                });\n                            }\n                        }\n                    }\n                }\n\n                \/\/ Update condition field options dynamically\n                form.querySelectorAll('input, select, textarea').forEach(input => {\n                    \/\/ Handle regular input events\n                    input.addEventListener('input', updateConditionalFields);\n                    input.addEventListener('change', updateConditionalFields);\n\n                    \/\/ Handle Select2 events if the field is a Select2\n                    if ($(input).hasClass('hr-select2-field')) {\n                        $(input).on('select2:select select2:unselect select2:clear', function () {\n                            updateConditionalFields();\n                        });\n                    }\n                });\n\n                \/\/ Initial check\n                updateConditionalFields();\n            });\n        <\/script>\n\n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-6a05b81dc3162');\n                let isSubmitting = false;\n                const debugEnabled = new URLSearchParams(window.location.search).get('hr_form_debug') === '1';\n                const debugLog = function (label, data) {\n                    if (!debugEnabled) return;\n                    console.log('[HR Form Debug][' + form.id + '] ' + label, data || {});\n                };\n                if (debugEnabled) {\n                    form.addEventListener('submit', function (event) {\n                        debugLog('native submit event', {\n                            defaultPrevented: event.defaultPrevented,\n                            submitter: event.submitter ? (event.submitter.id || event.submitter.name || event.submitter.className || event.submitter.tagName) : null\n                        });\n                    }, true);\n                }\n                \/\/ Strict Latin-only allowlist:\n                \/\/ - Latin letters (including accented Latin letters)\n                \/\/ - Latin combining diacritics block (U+0300-U+036F)\n                \/\/ - Numbers, whitespace\n                \/\/ - ASCII punctuation only\n                const allowedLatinPattern = \/[^\\p{Script=Latin}\\u0300-\\u036F\\p{N}\\p{Zs}\\r\\n\\t!\"#$%&'()*+,\\-.\/:;<=>?@[\\\\\\]^_`{|}~]\/gu;\n                const blockedCharsDetector = \/[^\\p{Script=Latin}\\u0300-\\u036F\\p{N}\\p{Zs}\\r\\n\\t!\"#$%&'()*+,\\-.\/:;<=>?@[\\\\\\]^_`{|}~]\/u;\n                const hasBlockedChars = (value) => blockedCharsDetector.test(value || '');\n                const blockedCharsMessage = 'Please use Latin characters only (A-Z).';\n\n                function getArabicRestrictedFields() {\n                    return form.querySelectorAll('input:not([type=\"hidden\"]):not([type=\"checkbox\"]):not([type=\"radio\"]):not([type=\"submit\"]):not([type=\"button\"]):not([type=\"file\"]), textarea');\n                }\n\n                function getErrorContainer(input) {\n                    if (!input || !input.id) return null;\n                    return form.querySelector('#' + input.id + '-error-container');\n                }\n\n                function showNativeBlockedCharsMessage(input) {\n                    if (!input || typeof input.setCustomValidity !== 'function' || typeof input.reportValidity !== 'function') {\n                        return;\n                    }\n                    input.setCustomValidity(blockedCharsMessage);\n                    input.reportValidity();\n                    setTimeout(function () {\n                        input.setCustomValidity('');\n                    }, 1500);\n                }\n\n                function showBlockedCharsMessage(input) {\n                    showNativeBlockedCharsMessage(input);\n                }\n\n                function clearBlockedCharsMessage(input) {\n                    if (input && typeof input.setCustomValidity === 'function') {\n                        input.setCustomValidity('');\n                    }\n                }\n\n                \/\/ Initialize JustValidate with custom styling\n                const validator = new JustValidate('#hr-form-6a05b81dc3162', {\n                    validateBeforeSubmitting: false,\n                    lockForm: true,\n                    focusInvalidField: true,\n                    errorFieldCssClass: 'is-invalid',\n                    successFieldCssClass: 'is-valid',\n                    errorLabelCssClass: 'is-label-invalid',\n                    errorLabelStyle: {\n                        color: '#e3342f',\n                        fontSize: '12px'\n                    },\n                    successFieldStyle: {\n                        borderColor: '#38c172'\n                    },\n                    errorFieldStyle: {\n                        borderColor: '#e3342f'\n                    },\n                    onValidate: ({ target }) => {\n                        \/\/ Handle Select2 validation classes\n                        if ($(target).hasClass('select2-hidden-accessible')) {\n                            const select2Container = $(target).next('.select2-container');\n                            if ($(target).hasClass('is-valid')) {\n                                select2Container.find('.select2-selection').addClass('is-valid').removeClass('is-invalid');\n                            } else if ($(target).hasClass('is-invalid')) {\n                                select2Container.find('.select2-selection').addClass('is-invalid').removeClass('is-valid');\n                            }\n                        }\n                    }\n                });\n                \/\/ Attach validator to form for stepper access\n                form._justValidateInstance = validator;\n                const isRegisteredValidatorField = (selector) => {\n                    if (!selector || !validator || !validator.fields) {\n                        return false;\n                    }\n                    return Object.values(validator.fields).some((field) => {\n                        return field && field.elem && ('#' + field.elem.id) === selector;\n                    });\n                };\n\n                \/\/ Add honeypot validation rule\n                validator.addField('input[name=\"hr_website\"]', [\n                    {\n                        rule: 'maxLength',\n                        value: 0,\n                        errorMessage: 'Invalid submission detected'\n                    }\n                ]);\n\n                \/\/ Add validation rules for each field\n                                                            const fieldRules_0 = [];\n                                                                                fieldRules_0.push({\"rule\":\"required\",\"errorMessage\":\"Veuillez saisir votre pr\\u00e9nom.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#hr-form-firstname', fieldRules_0, { errorsContainer: '#hr-form-firstname-error-container' });\n                                                                                                                                                const fieldRules_1 = [];\n                                                                                fieldRules_1.push({\"rule\":\"required\",\"errorMessage\":\"Veuillez saisir votre nom de famille.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#hr-form-lastname', fieldRules_1, { errorsContainer: '#hr-form-lastname-error-container' });\n                                                                                                                                                const fieldRules_2 = [];\n                                                                                fieldRules_2.push({\"rule\":\"required\",\"errorMessage\":\"Veuillez effectuer une s\\u00e9lection.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#hr-form-job-role', fieldRules_2, { errorsContainer: '#hr-form-job-role-error-container' });\n                                                                                                                                                const fieldRules_3 = [];\n                                                                                fieldRules_3.push({\"rule\":\"required\",\"errorMessage\":\"Veuillez saisir votre adresse e-mail.\"});\n                                                                                fieldRules_3.push({\"rule\":\"email\",\"errorMessage\":\"Veuillez saisir une adresse e-mail valide.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#hr-form-email', fieldRules_3, { errorsContainer: '#hr-form-email-error-container' });\n                                                                                                                                                const fieldRules_4 = [];\n                                                                                fieldRules_4.push({\"rule\":\"required\",\"errorMessage\":\"Veuillez saisir votre num\\u00e9ro de t\\u00e9l\\u00e9phone portable.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#hr-form-phone', fieldRules_4, { errorsContainer: '#hr-form-phone-error-container' });\n                                                                                                                                                const fieldRules_5 = [];\n                                                                                fieldRules_5.push({\"rule\":\"required\",\"errorMessage\":\"Veuillez s\\u00e9lectionner votre pays.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#hr-country', fieldRules_5, { errorsContainer: '#hr-country-error-container' });\n                                                                                                                                                const fieldRules_6 = [];\n                                                                                fieldRules_6.push({\"rule\":\"required\",\"errorMessage\":\"Veuillez saisir le nom de votre entreprise.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#hr-form-company-name', fieldRules_6, { errorsContainer: '#hr-form-company-name-error-container' });\n                                                                                                                                                const fieldRules_7 = [];\n                                                                                fieldRules_7.push({\"rule\":\"required\",\"errorMessage\":\"Veuillez s\\u00e9lectionner le type de votre entreprise.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#hr-form-company-type', fieldRules_7, { errorsContainer: '#hr-form-company-type-error-container' });\n                                                                                                                                                                                                                                                                                                                                                                                                                                                    const fieldRules_11 = [{\"rule\":\"required\",\"errorMessage\":\"Ce champ est n\\u00e9cessaire.\"}];\n                        if (fieldRules_11.length > 0) {\n                            validator.addField('#privacy', fieldRules_11);\n                        }\n                                                                                                                                                const fieldRules_12 = [];\n                        if (fieldRules_12.length > 0) {\n                            validator.addField('#commercial-text', fieldRules_12);\n                        }\n                                                                                                                \n                function hrSkipLiveValidationTarget(target) {\n                    if (!target || !target.id || !form.contains(target)) {\n                        return true;\n                    }\n                    if (target.name === 'hr_website') {\n                        return true;\n                    }\n                    if (target.classList.contains('condition-false')) {\n                        return true;\n                    }\n                    const col = target.closest('.hr-form-field-column');\n                    if (col && col.classList.contains('hr-conditional-field')) {\n                        return true;\n                    }\n                    if (col && col.style.display === 'none') {\n                        return true;\n                    }\n                    const step = target.closest('.hr-form-step-fields');\n                    if (step && step.style.display === 'none') {\n                        return true;\n                    }\n                    return false;\n                }\n\n                function hrFieldSkippedForSubmitValidation(elem) {\n                    if (!elem || !form.contains(elem)) {\n                        return true;\n                    }\n                    if (elem.classList.contains('condition-false')) {\n                        return true;\n                    }\n                    const step = elem.closest('.hr-form-step-fields');\n                    if (step && window.getComputedStyle(step).display === 'none') {\n                        return true;\n                    }\n                    const col = elem.closest('.hr-form-field-column');\n                    if (col && window.getComputedStyle(col).display === 'none') {\n                        return true;\n                    }\n                    return false;\n                }\n\n                function hrClearValidationUiForField(el) {\n                    if (!el || !el.id) return;\n                    const errEl = form.querySelector('#' + CSS.escape(el.id) + '-error-container');\n                    if (errEl) {\n                        errEl.innerHTML = '';\n                    }\n                    const s2 = el.nextElementSibling;\n                    if (s2 && s2.classList && s2.classList.contains('select2-container')) {\n                        s2.querySelectorAll('.select2-selection').forEach(function (node) {\n                            node.classList.remove('is-invalid', 'is-valid');\n                        });\n                    }\n                }\n\n                function hrSyncValidatorSkippedFields() {\n                    $.each(validator.fields, function (index, field) {\n                        const elem = field.elem;\n                        if (!elem) return;\n                        if (hrFieldSkippedForSubmitValidation(elem)) {\n                            field.isValid = true;\n                            elem.classList.remove('is-invalid', 'is-valid');\n                            hrClearValidationUiForField(elem);\n                        }\n                    });\n                }\n\n                \/**\n                 * JustValidate's aggregate isValid can stay false when only hidden steps \/\n                 * conditional fields fail. After syncing skipped fields, treat the form as\n                 * valid only if every non-skipped registered field is valid.\n                 *\/\n                function hrBlockingInvalidFieldKeys(v) {\n                    hrSyncValidatorSkippedFields();\n                    const keys = [];\n                    Object.values(v.fields || {}).forEach(function (field) {\n                        if (!field || !field.elem) return;\n                        if (hrFieldSkippedForSubmitValidation(field.elem)) {\n                            return;\n                        }\n                        if (field.isValid === false) {\n                            keys.push(field.elem.id || field.elem.name || '(field)');\n                        }\n                        if (field.isValid === undefined) {\n                            keys.push((field.elem.id || field.elem.name || '(field)') + ':pending');\n                        }\n                    });\n                    if (v.groupFields && Object.keys(v.groupFields).length) {\n                        Object.values(v.groupFields).forEach(function (g) {\n                            if (g && (g.isValid === false || g.isValid === undefined)) {\n                                keys.push('(group)');\n                            }\n                        });\n                    }\n                    return keys;\n                }\n\n                \/\/ focusout bubbles; revalidates after leaving any field (including conditional fields when visible)\n                form.addEventListener('focusout', function (e) {\n                    const input = e.target;\n                    if (!input.matches || !input.matches('input, select, textarea')) {\n                        return;\n                    }\n                    if (hrSkipLiveValidationTarget(input)) {\n                        return;\n                    }\n                    const selector = '#' + CSS.escape(input.id);\n                    if (!isRegisteredValidatorField(selector)) {\n                        return;\n                    }\n                    validator.revalidateField(selector);\n                });\n\n                if (typeof jQuery !== 'undefined') {\n                    jQuery(form).on('select2:close', 'select.hr-select2-field, select.hr-country-select', function () {\n                        if (hrSkipLiveValidationTarget(this)) {\n                            return;\n                        }\n                        const selector = '#' + CSS.escape(this.id);\n                        if (!isRegisteredValidatorField(selector)) {\n                            return;\n                        }\n                        validator.revalidateField(selector);\n                    });\n                }\n\n                \/\/ Block Arabic characters on typing and pasting.\n                getArabicRestrictedFields().forEach((input) => {\n                    input.addEventListener('beforeinput', function (event) {\n                        if (typeof event.data === 'string' && hasBlockedChars(event.data)) {\n                            event.preventDefault();\n                            showBlockedCharsMessage(this);\n                        }\n                    });\n\n                    input.addEventListener('paste', function (event) {\n                        const cd = event.clipboardData || window.clipboardData;\n                        const text = cd ? (cd.getData('text\/plain') || cd.getData('text') || '') : '';\n                        if (hasBlockedChars(text)) {\n                            event.preventDefault();\n                            showBlockedCharsMessage(this);\n                        }\n                    });\n\n                    input.addEventListener('drop', function (event) {\n                        const text = event.dataTransfer ? event.dataTransfer.getData('text\/plain') : '';\n                        if (hasBlockedChars(text)) {\n                            event.preventDefault();\n                            showBlockedCharsMessage(this);\n                        }\n                    });\n\n                    input.addEventListener('copy', function (event) {\n                        event.preventDefault();\n                    });\n\n                    \/\/ Fallback for drag-drop\/autofill\/IME edge cases.\n                    input.addEventListener('input', function () {\n                        if (hasBlockedChars(this.value)) {\n                            this.value = this.value.replace(allowedLatinPattern, '');\n                            showBlockedCharsMessage(this);\n                        } else {\n                            clearBlockedCharsMessage(this);\n                        }\n                    });\n                });\n\n                function splitFullNameField(input) {\n                    const fullName = (input.value || '').trim();\n                    const firstTarget = input.getAttribute('data-fullname-first-target');\n                    const lastTarget = input.getAttribute('data-fullname-last-target');\n                    const firstHidden = firstTarget ? form.querySelector('input[type=\"hidden\"][name=\"' + CSS.escape(firstTarget) + '\"]') : null;\n                    const lastHidden = lastTarget ? form.querySelector('input[type=\"hidden\"][name=\"' + CSS.escape(lastTarget) + '\"]') : null;\n\n                    if (!firstHidden || !lastHidden) {\n                        return;\n                    }\n\n                    if (!fullName) {\n                        firstHidden.value = '';\n                        lastHidden.value = '';\n                        return;\n                    }\n\n                    const nameParts = fullName.split(\/\\s+\/).filter(Boolean);\n                    if (nameParts.length === 1) {\n                        firstHidden.value = nameParts[0];\n                        lastHidden.value = '';\n                        return;\n                    }\n\n                    firstHidden.value = nameParts.shift();\n                    lastHidden.value = nameParts.join(' ');\n                }\n\n                function splitAllFullNameFields() {\n                    form.querySelectorAll('input[data-fullname-splitter=\"yes\"]').forEach(function (input) {\n                        splitFullNameField(input);\n                    });\n                }\n\n                \/\/ Split when user blurs the field (including tab navigation)\n                form.querySelectorAll('input[data-fullname-splitter=\"yes\"]').forEach(function (input) {\n                    input.addEventListener('blur', function () {\n                        splitFullNameField(this);\n                    });\n\n                    input.addEventListener('keydown', function (event) {\n                        if (event.key === 'Tab') {\n                            splitFullNameField(this);\n                        }\n                    });\n                });\n\n                \/\/ Handle form submission\n                form.addEventListener('submit', function (e) {\n                    debugLog('custom submit handler start', { isSubmitting: isSubmitting });\n                    e.preventDefault();\n\n                    if (isSubmitting) {\n                        debugLog('blocked: already submitting');\n                        return;\n                    }\n\n                    \/\/ Check honeypot field\n                    const honeypotField = form.querySelector('input[name=\"hr_website\"]');\n                    if (honeypotField && honeypotField.value !== '') {\n                        debugLog('blocked: honeypot filled', { value: honeypotField.value });\n                        \/\/ If honeypot is filled, show error and prevent submission\n                        const submitButton = form.querySelector('.hr-form-submit');\n                        const originalButtonText = submitButton.innerHTML;\n\n                        \/\/ Add error class to form\n                        form.classList.add('hr-form-error');\n\n                        \/\/ Show error message\n                        const errorMessage = document.createElement('div');\n                        errorMessage.className = 'hr-form-error-message';\n                        errorMessage.textContent = 'Invalid submission detected. Please try again.';\n\n                        \/\/ Remove any existing error message\n                        const existingError = form.querySelector('.hr-form-error-message');\n                        if (existingError) {\n                            existingError.remove();\n                        }\n\n                        \/\/ Insert error message after the form\n                        form.parentNode.insertBefore(errorMessage, form.nextSibling);\n\n                        \/\/ Reset form after 3 seconds\n                        setTimeout(() => {\n                            form.classList.remove('hr-form-error');\n                            errorMessage.remove();\n                            form.reset();\n                            submitButton.innerHTML = originalButtonText;\n                            submitButton.disabled = false;\n                            isSubmitting = false;\n                        }, 3000);\n\n                        return;\n                    }\n\n                    \/\/ Ensure hidden first\/last values are synced before submit.\n                    splitAllFullNameFields();\n\n                    hrSyncValidatorSkippedFields();\n\n                    \/\/ Run full validation before trusting isValid (avoids stale false on first click).\n                    if (typeof validator.revalidate !== 'function') {\n                        debugLog('blocked: validator.revalidate missing');\n                        return;\n                    }\n\n                                        const turnstileResponse = form.querySelector('[name=\"cf-turnstile-response\"]');\n                    if (!turnstileResponse || !turnstileResponse.value) {\n                        debugLog('blocked: turnstile not ready', {\n                            hasInput: Boolean(turnstileResponse),\n                            hasValue: Boolean(turnstileResponse && turnstileResponse.value)\n                        });\n                        alert('Please wait for the security check to complete.');\n                        return;\n                    }\n                    \n                    validator.revalidate().then(function (jvIsValid) {\n                        const blocking = hrBlockingInvalidFieldKeys(validator);\n                        if (blocking.length > 0) {\n                            debugLog('blocked: validator invalid after revalidate', {\n                                jvIsValid: jvIsValid,\n                                blockingFields: blocking,\n                                domInvalid: Array.from(form.querySelectorAll('.is-invalid'))\n                                    .filter(function (field) {\n                                        return !hrFieldSkippedForSubmitValidation(field);\n                                    })\n                                    .map(function (field) {\n                                        return field.id || field.name || field.className || field.tagName;\n                                    })\n                            });\n                            return;\n                        }\n\n                        isSubmitting = true;\n                        const submitButton = form.querySelector('.hr-form-submit');\n                        const overlay = form.querySelector('.hr-form-overlay');\n                        if (submitButton) {\n                            submitButton.disabled = true;\n                        }\n                        form.classList.add('submitting');\n                        if (overlay) {\n                            overlay.style.display = 'flex';\n                        }\n                        debugLog('submitting: form.submit() called');\n                        if (form && form.isConnected) {\n                            form.submit();\n                        } else {\n                            debugLog('blocked: form not connected');\n                            isSubmitting = false;\n                            form.classList.remove('submitting');\n                            if (overlay) {\n                                overlay.style.display = 'none';\n                            }\n                            if (submitButton) {\n                                submitButton.disabled = false;\n                            }\n                        }\n                    }).catch(function (err) {\n                        form.classList.remove('submitting');\n                        const overlay = form.querySelector('.hr-form-overlay');\n                        if (overlay) {\n                            overlay.style.display = 'none';\n                        }\n                        debugLog('validator revalidate failed', { error: err && err.message ? err.message : String(err) });\n                    });\n                });\n\n                \/\/ Add new code to handle submit button state based on validation\n                const submitButton = form.querySelector('.hr-form-submit');\n                const formsEndpointType = 'pardot';\n                function getInvalidFieldNames() {\n                    return Array.from(form.querySelectorAll('.is-invalid'))\n                        .filter(function (field) {\n                            return !hrFieldSkippedForSubmitValidation(field);\n                        })\n                        .map((field) => {\n                            const id = field.id ? `#${field.id}` : '';\n                            const name = field.name ? `name=\"${field.name}\"` : '';\n                            const label = field.id ? (form.querySelector(`label[for=\"${field.id}\"]`)?.textContent || '').trim() : '';\n                            return [id, name, label].filter(Boolean).join(' ');\n                        });\n                }\n                function getDisabledReasons() {\n                    const reasons = [];\n                    if (isSubmitting) {\n                        reasons.push('isSubmitting=true');\n                    }\n                    const blockingInvalid = Array.from(form.querySelectorAll('.is-invalid')).filter(function (el) {\n                        return !hrFieldSkippedForSubmitValidation(el);\n                    });\n                    if (blockingInvalid.length > 0) {\n                        const invalidNames = getInvalidFieldNames();\n                        reasons.push(`${blockingInvalid.length} invalid field(s): ${invalidNames.join(', ')}`);\n                    }\n                                        const turnstileResponse = form.querySelector('[name=\"cf-turnstile-response\"]');\n                    if (!turnstileResponse || !turnstileResponse.value) {\n                        reasons.push('turnstile not completed');\n                    }\n                                        const hubspotPortalInput = form.querySelector('input[name=\"hubspot_portal_id\"]');\n                    const hubspotFormGuidInput = form.querySelector('input[name=\"hubspot_form_guid\"]');\n                    const legacyEndpointInput = form.querySelector('input[name=\"form_endpoint_url\"]');\n                    const hasHubspotConfig = Boolean(hubspotPortalInput?.value?.trim() && hubspotFormGuidInput?.value?.trim());\n                    const hasPardotConfig = Boolean(legacyEndpointInput?.value?.trim());\n                    if (formsEndpointType === 'hubspot' && !hasHubspotConfig) {\n                        reasons.push('hubspot config missing (portal\/form guid)');\n                    } else if (formsEndpointType === 'pardot' && !hasPardotConfig) {\n                        reasons.push('pardot endpoint missing');\n                    }\n                    return reasons.length ? reasons : ['unknown reason'];\n                }\n                function logDisabledReason(source) {\n                    if (!submitButton || !submitButton.disabled) return;\n                    const reasons = getDisabledReasons();\n                    console.warn(`submit button disabled: [${reasons.join(' | ')}]`, { source, formId: form.id });\n                }\n\n                \/\/ Function to check validation state and update submit button\n                function updateSubmitButtonState() {\n                    if (!submitButton) return;\n                    const wasDisabled = submitButton.disabled;\n                    const blockingInvalid = Array.from(form.querySelectorAll('.is-invalid')).filter(function (el) {\n                        return !hrFieldSkippedForSubmitValidation(el);\n                    });\n                    if (blockingInvalid.length > 0) {\n                        submitButton.disabled = true;\n                    } else {\n                                                    \/\/ If Turnstile is enabled, only enable button if Turnstile is completed\n                            const turnstileResponse = form.querySelector('[name=\"cf-turnstile-response\"]');\n                            submitButton.disabled = !turnstileResponse || !turnstileResponse.value;\n                                            }\n                    if (submitButton.disabled && !wasDisabled) {\n                        logDisabledReason('state-change');\n                    }\n                }\n\n                \/\/ Add validation state check on input\/change for all form fields\n                form.querySelectorAll('input, select, textarea').forEach(input => {\n                    ['input', 'change', 'blur'].forEach(eventType => {\n                        input.addEventListener(eventType, () => {\n                            \/\/ Let validation complete before checking state\n                            setTimeout(updateSubmitButtonState, 100);\n                        });\n                    });\n                });\n\n                \/\/ Add validation state check for Select2 fields\n                jQuery('.hr-select2-field').on('select2:select select2:unselect select2:clear', function () {\n                    setTimeout(updateSubmitButtonState, 100);\n                });\n\n                \/\/ Update button state when JustValidate performs validation\n                validator.onValidate(async (validationResult) => {\n                    setTimeout(updateSubmitButtonState, 100);\n                });\n\n                \/\/ Initial button state check\n                updateSubmitButtonState();\n\n                \/\/ Debug attempts to click while disabled.\n                form.addEventListener('click', function (event) {\n                    if (!submitButton) return;\n                    const submitTrigger = event.target && event.target.closest ? event.target.closest('.hr-form-submit') : null;\n                    if (!submitTrigger) return;\n                    logDisabledReason('click-submit');\n                }, true);\n            });\n        <\/script>\n        \n        \n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-6a05b81dc3162');\n                const textareas = form.querySelectorAll('textarea');\n\n                textareas.forEach(textarea => {\n                    const maxChars = parseInt(textarea.dataset.maxChars) || 600;\n                    const counter = document.createElement('div');\n                    counter.className = 'hr-char-counter';\n                    counter.textContent = `0\/${maxChars} caract\u00e8res`;\n                    textarea.parentNode.appendChild(counter);\n\n                    \/\/ Update counter on input\n                    textarea.addEventListener('input', function () {\n                        const currentLength = this.value.length;\n                        counter.textContent = `${currentLength}\/${maxChars} caract\u00e8res`;\n\n                        if (currentLength > maxChars) {\n                            counter.classList.add('warning');\n                            textarea.classList.add('limit-reached');\n                            \/\/ Trim the text to max length\n                            this.value = this.value.substring(0, maxChars);\n                            \/\/ Update counter with trimmed length\n                            counter.textContent = `${maxChars}\/${maxChars} + characters`;\n                        } else {\n                            counter.classList.remove('warning');\n                            textarea.classList.remove('limit-reached');\n                        }\n                    });\n\n                    \/\/ Prevent paste of text that would exceed limit\n                    textarea.addEventListener('paste', function (e) {\n                        const pastedText = (e.clipboardData || window.clipboardData).getData('text');\n                        const currentLength = this.value.length;\n                        const remainingChars = maxChars - currentLength;\n\n                        if (pastedText.length > remainingChars) {\n                            e.preventDefault();\n                            const trimmedText = pastedText.substring(0, remainingChars);\n                            document.execCommand('insertText', false, trimmedText);\n                        }\n                    });\n\n                    \/\/ Initial count\n                    textarea.dispatchEvent(new Event('input'));\n                });\n            });\n        <\/script>\n\n        <script>\n            jQuery(document).ready(function ($) {\n                const $form = $('#hr-form-6a05b81dc3162');\n\n                \/\/ Prevent Select2 pre-init visual glitch on first paint.\n                setTimeout(function () {\n                    $form.removeClass('hr-select2-booting');\n                }, 1000);\n\n                \/\/ Initialize Select2 for country selects in this specific form\n                $('#hr-form-6a05b81dc3162 .hr-country-select').each(function () {\n                    const $select = $(this);\n                    const formHasFloatingLabels = $select.closest('form').hasClass('hr-form-floating-labels');\n                    \/\/ Disable Select2 placeholder when floating labels are active (label acts as hint)\n                    const placeholder = formHasFloatingLabels ? null : $select.data('placeholder');\n\n                    \/\/ Skip if already initialized\n                    if ($select.hasClass('select2-hidden-accessible')) {\n                        return;\n                    }\n\n                    const countryConfig = {\n                        width: '100%',\n                        placeholder: placeholder,\n                        allowClear: !formHasFloatingLabels,\n                        language: {\n                            noResults: function () {\n                                return 'No countries found';\n                            }\n                        }\n                    };\n                    if (formHasFloatingLabels) {\n                        countryConfig.templateSelection = function (data) {\n                            if (!data.id || data.id === '' || (data.element && $(data.element).hasClass('hr-select-placeholder'))) {\n                                return '';\n                            }\n                            return data.text;\n                        };\n                    }\n                    $select.select2(countryConfig);\n                });\n            });\n        <\/script>\n\n        <script>\n            jQuery(document).ready(function ($) {\n                \/\/ Initialize Select2 for regular select fields in this specific form\n                $('#hr-form-6a05b81dc3162 .hr-select2-field').each(function () {\n                    const $select = $(this);\n\n                    \/\/ Skip if already initialized\n                    if ($select.hasClass('select2-hidden-accessible')) {\n                        return;\n                    }\n\n                    const formHasFloatingLabels = $select.closest('form').hasClass('hr-form-floating-labels');\n                    const isMultiple = $select.prop('multiple');\n                    const placeholder = formHasFloatingLabels ? '' : ($select.data('placeholder') || 'Select an option');\n                    const allowClear = formHasFloatingLabels ? false : ($select.data('allow-clear') !== 'no');\n                    const enableSearch = $select.data('enable-search') !== 'no';\n                    const minSelection = parseInt($select.data('min-selection')) || 0;\n                    const searchPlaceholder = $select.data('search-placeholder') || 'Search';\n                    const maxSelection = parseInt($select.data('max-selection')) || 0;\n\n                    const select2Config = {\n                        placeholder: placeholder,\n                        allowClear: allowClear,\n                        width: 'resolve',\n                        searchPlaceholder: 'Search',\n                        multiple: isMultiple,\n                        searchEnabled: enableSearch,\n                        minimumResultsForSearch: enableSearch ? 0 : -1,\n                        language: {\n                            noResults: function () {\n                                return 'No results found';\n                            },\n                            maximumSelected: function (e) {\n                                const message = 'You can only select %s items';\n                                return message.replace('%s', e.maximum);\n                            }\n                        },\n                        templateResult: function (data) {\n                            if (data.loading) return data.text;\n                            if (data.element && $(data.element).hasClass('hr-select-placeholder')) return null;\n                            return data.text;\n                        }\n                    };\n\n                    if (formHasFloatingLabels) {\n                        select2Config.templateSelection = function (data) {\n                            if (!data.id || data.id === '' || (Array.isArray(data.id) && data.id.length === 0) || (data.element && $(data.element).hasClass('hr-select-placeholder'))) {\n                                return '';\n                            }\n                            return data.text;\n                        };\n                    }\n\n                    \/\/ Add maximum selection limit if set\n                    if (isMultiple && maxSelection > 0) {\n                        select2Config.maximumSelectionLength = maxSelection;\n                    }\n\n                    const hasRealSelection = function ($el) {\n                        const value = $el.val();\n                        if (Array.isArray(value)) {\n                            return value.some(function (item) {\n                                return item !== null && item !== undefined && String(item).trim() !== '';\n                            });\n                        }\n                        return value !== null && value !== undefined && String(value).trim() !== '';\n                    };\n\n                    $select.select2(select2Config)\n                        .on('select2:open', function () {\n                            if (enableSearch) {\n                                setTimeout(function () {\n                                    $('.select2-search__field').focus();\n                                }, 0);\n                            }\n                        })\n                        .on('change', function (e) {\n                            const hasSelection = hasRealSelection($(this));\n                            $(this).next('.select2-container').find('.select2-selection--multiple')\n                                .toggleClass('select2-selection--multiple--has-selection', hasSelection);\n\n                            \/\/ Update hidden input for multiple select\n                            if (isMultiple) {\n                                const selectedValues = $(this).val() || [];\n                                const hiddenInput = $(this).siblings('.hr-form-select2-multiple-values');\n                                hiddenInput.val(selectedValues.join(','));\n                            }\n                        });\n\n                    \/\/ Trigger initial state\n                    const hasInitialSelection = hasRealSelection($select);\n                    $select.next('.select2-container').find('.select2-selection--multiple')\n                        .toggleClass('select2-selection--multiple--has-selection', hasInitialSelection);\n\n                    \/\/ Set initial value for hidden input if there are pre-selected values\n                    if (isMultiple && hasInitialSelection) {\n                        const initialValues = $select.val();\n                        const hiddenInput = $select.siblings('.hr-form-select2-multiple-values');\n                        hiddenInput.val(initialValues.join(','));\n                    }\n                });\n            });\n        <\/script>\n\n        <script>\n            \/\/ Create unique callback function for this form instance\n            window['onTurnstileCallback_hr-form-6a05b81dc3162'] = function () {\n                const debugEnabled = new URLSearchParams(window.location.search).get('hr_form_debug') === '1';\n                \/\/ Enable submit button when Turnstile is ready\n                const form = document.getElementById('hr-form-6a05b81dc3162');\n                const submitButton = form.querySelector('.hr-form-submit');\n                const tokenInput = form.querySelector('[name=\"cf-turnstile-response\"]');\n                if (debugEnabled) {\n                    console.log('[HR Turnstile Debug][' + form.id + '] callback fired', {\n                        hasToken: Boolean(tokenInput && tokenInput.value),\n                        tokenLength: tokenInput && tokenInput.value ? tokenInput.value.length : 0\n                    });\n                }\n                if (submitButton) {\n                    submitButton.disabled = false;\n                }\n            };\n\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-6a05b81dc3162');\n                const submitButton = form.querySelector('.hr-form-submit');\n\n                \/\/ Disable submit button initially if Turnstile is enabled\n                                    if (submitButton) {\n                        submitButton.disabled = true;\n                    }\n                    const debugEnabled = new URLSearchParams(window.location.search).get('hr_form_debug') === '1';\n                    const logTurnstile = function (label, payload) {\n                        if (!debugEnabled) return;\n                        console.log('[HR Turnstile Debug][' + form.id + '] ' + label, payload || {});\n                    };\n\n                    \/\/ Render and start Turnstile verification on form load.\n                    function initTurnstile() {\n                        logTurnstile('init start');\n                        if (typeof turnstile === 'undefined') {\n                            logTurnstile('turnstile not ready, retrying');\n                            setTimeout(initTurnstile, 120);\n                            return;\n                        }\n\n                        const turnstileContainer = form.querySelector('.hr-turnstile-container');\n                        if (!turnstileContainer) {\n                            logTurnstile('container not found');\n                            return;\n                        }\n\n                        if (!turnstileContainer.hasAttribute('data-widget-id')) {\n                            const widgetId = turnstile.render(turnstileContainer, {\n                                sitekey: turnstileContainer.getAttribute('data-sitekey'),\n                                callback: window['onTurnstileCallback_hr-form-6a05b81dc3162']\n                            });\n                            logTurnstile('widget rendered', { widgetId: widgetId || null });\n                            if (widgetId !== undefined && widgetId !== null) {\n                                turnstileContainer.setAttribute('data-widget-id', String(widgetId));\n                            }\n                        }\n\n                        const renderedWidgetId = turnstileContainer.getAttribute('data-widget-id');\n                        if (renderedWidgetId && typeof turnstile.execute === 'function') {\n                            try {\n                                logTurnstile('execute called', { widgetId: renderedWidgetId });\n                                turnstile.execute(renderedWidgetId);\n                            } catch (e) {\n                                logTurnstile('execute failed', { error: e && e.message ? e.message : String(e) });\n                                \/\/ Some widget modes do not need\/allow execute; callback still unlocks submit when ready.\n                            }\n                        } else {\n                            logTurnstile('execute skipped', { widgetId: renderedWidgetId || null, hasExecute: typeof turnstile.execute === 'function' });\n                        }\n                    }\n\n                    initTurnstile();\n                \n                form.addEventListener('submit', function (e) {\n                    const debugEnabled = new URLSearchParams(window.location.search).get('hr_form_debug') === '1';\n                                            const turnstileResponse = form.querySelector('[name=\"cf-turnstile-response\"]');\n                        if (!turnstileResponse || !turnstileResponse.value) {\n                            if (debugEnabled) {\n                                console.warn('[HR Form Debug][' + form.id + '] blocked: turnstile response missing');\n                            }\n                            e.preventDefault();\n                            alert('Please wait for the security check to complete.');\n                            return false;\n                        }\n                    \n                    const formData = new FormData(form);\n                    const thankYouData = {};\n                    const fieldsToCapture = [\"hr-form-firstname\",\"hr-form-lastname\",\"hr-form-job-role\",\"hr-form-email\",\"hr-form-phone\",\"hr-country\",\"hr-form-company-name\",\"hr-form-company-type\",\"hr-form-property-type\",\"hr-adr\",\"hr-form-note\",\"privacy\",\"commercial-text\",\"hr_ip_address\",\"hr_page_load_time\",\"hr_referrer_url\",\"hr_current_url\",\"hr_timezone_name\",\"hr_window_size\",\"hr_all_languages\",\"hr_primary_language\"];\n                    if (fieldsToCapture && fieldsToCapture.length) {\n                        fieldsToCapture.forEach(function(fieldName) {\n                            if (formData.has(fieldName)) {\n                                thankYouData[fieldName] = formData.get(fieldName);\n                            }\n                        });\n                    }\n                    sessionStorage.setItem('formSessionData', JSON.stringify(thankYouData));\n                });\n            });\n\n            \/\/ Turnstile is rendered explicitly per form instance above.\n        <\/script>\n\n        <script>\n            jQuery(document).ready(function () {\n                const $currentForm = jQuery('#hr-form-6a05b81dc3162');\n                const isRegisteredValidatorField = (validator, selector) => {\n                    if (!validator || !selector) {\n                        return false;\n                    }\n                    if (typeof validator._hrHasField === 'function') {\n                        return validator._hrHasField(selector);\n                    }\n                    if (!validator.fields) {\n                        return false;\n                    }\n                    return Object.values(validator.fields).some((field) => {\n                        return field && field.elem && ('#' + field.elem.id) === selector;\n                    });\n                };\n                \n                \/\/ Function to validate step fields\n                function validateStepFields($stepFields, shouldShowError = true) {\n                    var validator = $currentForm.length > 0 && $currentForm[0]._justValidateInstance;\n\n                    \/\/ If validator is not ready, wait a bit and try again\n                    if (!validator) {\n                        return new Promise((resolve) => {\n                            setTimeout(() => {\n                                resolve(validateStepFields($stepFields, shouldShowError));\n                            }, 100);\n                        });\n                    }\n\n                    var allFieldsValid = true;\n                    var validationPromises = [];\n\n                    \/\/ Force validation of all fields in the step\n                    $stepFields.find('input, select, textarea').each(function () {\n                        if (this.id) {\n                            \/\/ Mark the field as touched to ensure validation runs\n                            jQuery(this).addClass('was-validated');\n                            try {\n                                \/\/ For Select2 fields, ensure the value is properly set before validation\n                                if (jQuery(this).hasClass('hr-select2-field')) {\n                                    const value = jQuery(this).val();\n                                    \/\/ For required fields, empty array or null\/undefined is invalid\n                                    if (jQuery(this).prop('required') && (!value || (Array.isArray(value) && value.length === 0))) {\n                                        jQuery(this).addClass('is-invalid').removeClass('is-valid');\n                                        const select2Container = jQuery(this).next('.select2-container');\n                                        select2Container.find('.select2-selection').addClass('is-invalid').removeClass('is-valid');\n                                        allFieldsValid = false;\n                                    } else {\n                                        jQuery(this).addClass('is-valid').removeClass('is-invalid');\n                                        const select2Container = jQuery(this).next('.select2-container');\n                                        select2Container.find('.select2-selection').addClass('is-valid').removeClass('is-invalid');\n                                    }\n                                }\n\n                                \/\/ Store the validation promise\n                                const selector = '#' + CSS.escape(this.id);\n                                if (!isRegisteredValidatorField(validator, selector)) {\n                                    return;\n                                }\n                                validationPromises.push(\n                                    validator.revalidateField(selector)\n                                        .then(isValid => {\n                                            if (!isValid) {\n                                                allFieldsValid = false;\n                                            }\n                                        })\n                                        .catch(error => {\n                                            allFieldsValid = false;\n                                        })\n                                );\n                            } catch (error) {\n                                allFieldsValid = false;\n                            }\n                        }\n                    });\n\n                    \/\/ Return a promise that resolves when all validations are complete\n                    return Promise.all(validationPromises).then(() => allFieldsValid);\n                }\n\n                const revalidateSelect2Field = function (field) {\n                    if (!field || !field.id) {\n                        return;\n                    }\n\n                    const $field = jQuery(field);\n                    const value = $field.val();\n                    const isRequired = $field.prop('required');\n                    const isEmpty = !value || (Array.isArray(value) && value.length === 0);\n                    const select2Container = $field.next('.select2-container');\n                    const select2Selection = select2Container.find('.select2-selection');\n\n                    if (isRequired && isEmpty) {\n                        $field.addClass('is-invalid').removeClass('is-valid');\n                        select2Selection.addClass('is-invalid').removeClass('is-valid');\n                    } else {\n                        $field.addClass('is-valid').removeClass('is-invalid');\n                        select2Selection.addClass('is-valid').removeClass('is-invalid');\n                    }\n\n                    var validator = $currentForm[0] && $currentForm[0]._justValidateInstance;\n                    if (!validator) {\n                        return;\n                    }\n                    const selector = '#' + CSS.escape(field.id);\n                    if (!isRegisteredValidatorField(validator, selector)) {\n                        return;\n                    }\n                    validator.revalidateField(selector);\n                };\n\n                \/\/ Always revalidate Select2-backed fields when value changes.\n                $currentForm.on(\n                    'select2:select select2:unselect select2:clear change',\n                    '.hr-select2-field, .hr-country-select',\n                    function () {\n                        revalidateSelect2Field(this);\n                    }\n                );\n\n                \/\/ Handle field blur events for validation in this form only\n                $currentForm.on('blur', 'input, select, textarea', function () {\n                    if (this.id) {\n                        jQuery(this).addClass('was-validated');\n                        var validator = $currentForm[0] && $currentForm[0]._justValidateInstance;\n                        if (validator) {\n                            const selector = '#' + CSS.escape(this.id);\n                            if (!isRegisteredValidatorField(validator, selector)) {\n                                return;\n                            }\n                            validator.revalidateField(selector);\n                        }\n                    }\n                });\n\n                $currentForm.find('.hr-form-step-next').on('click', async function () {\n                    \/\/ Submit buttons on the last step also carry .hr-form-step-next.\n                    \/\/ Do not run step-navigation hide\/show logic for actual submit triggers.\n                    if (jQuery(this).is('button[type=\"submit\"], .hr-form-submit')) {\n                        return;\n                    }\n\n                    var $currentStepFields = jQuery(this).closest('.hr-form-step-fields');\n                    var currentStepIndex = $currentStepFields.data('step-index');\n                    var $stepNavigation = $currentForm.find('.hr-form-step-nav');\n\n                    \/\/ Disable the button while validating\n                    jQuery(this).prop('disabled', true);\n\n                    try {\n                        \/\/ Force validation of all fields in current step\n                        const allFieldsValid = await validateStepFields($currentStepFields, true);\n\n                        if (allFieldsValid) {\n                            \/\/ Update step navigation\n                            $stepNavigation.removeClass('active');\n                            $stepNavigation.filter('[data-step-index=\"' + (currentStepIndex + 1) + '\"]').addClass('active');\n\n                            \/\/ Hide current step and show next step\n                            $currentStepFields.hide();\n                            $currentForm.find('.hr-form-step-fields[data-step-index=\"' + (currentStepIndex + 1) + '\"]').show();\n                        }\n                    } catch (error) {\n                        \/\/ Error during validation\n                    } finally {\n                        \/\/ Re-enable the button\n                        jQuery(this).prop('disabled', false);\n                    }\n                });\n\n                $currentForm.find('.hr-form-step-prev').on('click', function () {\n                    var $currentStepFields = jQuery(this).closest('.hr-form-step-fields');\n                    var currentStepIndex = $currentStepFields.data('step-index');\n                    var $stepNavigation = $currentForm.find('.hr-form-step-nav');\n\n                    \/\/ Clear any existing validation errors before moving back\n                    $currentStepFields.find('.hr-form-step-error').remove();\n\n                    \/\/ Update step navigation\n                    $stepNavigation.removeClass('active');\n                    $stepNavigation.filter('[data-step-index=\"' + (currentStepIndex - 1) + '\"]').addClass('active');\n\n                    \/\/ Hide current step and show previous step\n                    $currentStepFields.hide();\n                    $currentForm.find('.hr-form-step-fields[data-step-index=\"' + (currentStepIndex - 1) + '\"]').show();\n                });\n\n                \/\/ Initialize active state for the first step on load\n                $currentForm.find('.hr-form-step-nav[data-step-index=\"0\"]').addClass('active');\n            });\n        <\/script>\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b7a56cf elementor-section-stretched elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"b7a56cf\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;none&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d76b997\" data-id=\"d76b997\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4db6e45 elementor-widget elementor-widget-heading\" data-id=\"4db6e45\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Une technologie certifi\u00e9e par les leaders de l'industrie<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-409e6db elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"409e6db\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-16fce43\" data-id=\"16fce43\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ec40e57 elementor-hidden-tablet elementor-hidden-mobile elementor-hidden-mobile_extra elementor-widget elementor-widget-global elementor-global-94081 elementor-widget-hr_custom_logo\" data-id=\"ec40e57\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_custom_logo.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"logos\">\n                            <div class=\"elementor-repeater-item-e177fd4\">\n                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2026\/02\/EG-Elite-Partner-Badge-2026.webp\" alt=\"Expedia Elite\">\n                <\/div>\n                                <div class=\"elementor-repeater-item-abc7615\">\n                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2026\/04\/booking-partner-scaled.webp\" alt=\"Booking\">\n                <\/div>\n                                <div class=\"elementor-repeater-item-f16b028\">\n                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2026\/04\/agoda_2026.webp\" alt=\"Agoda\">\n                <\/div>\n                                <div class=\"elementor-repeater-item-a39d8a9\">\n                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2024\/09\/Group-5.svg\" alt=\"Logo Title\">\n                <\/div>\n                                <div class=\"elementor-repeater-item-99223d2\">\n                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2024\/09\/Group-4.svg\" alt=\"Logo Title\">\n                <\/div>\n                                <div class=\"elementor-repeater-item-7706644\">\n                    <img decoding=\"async\" src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2024\/09\/Group.svg\" alt=\"Logo Title\">\n                <\/div>\n                        <\/div>\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-29ca05a elementor-hidden-widescreen elementor-hidden-desktop elementor-hidden-laptop elementor-widget-mobile__width-inherit elementor-pagination-position-outside elementor-widget elementor-widget-global elementor-global-113755 elementor-widget-image-carousel\" data-id=\"29ca05a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;slides_to_show_mobile&quot;:&quot;2&quot;,&quot;navigation&quot;:&quot;dots&quot;,&quot;image_spacing_custom_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:28,&quot;sizes&quot;:[]},&quot;lazyload&quot;:&quot;yes&quot;,&quot;slides_to_scroll_mobile&quot;:&quot;1&quot;,&quot;slides_to_show_mobile_extra&quot;:&quot;4&quot;,&quot;slides_to_scroll_mobile_extra&quot;:&quot;1&quot;,&quot;autoplay_speed&quot;:1500,&quot;autoplay&quot;:&quot;yes&quot;,&quot;infinite&quot;:&quot;yes&quot;,&quot;speed&quot;:500,&quot;image_spacing_custom&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:20,&quot;sizes&quot;:[]},&quot;image_spacing_custom_widescreen&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;image_spacing_custom_laptop&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;image_spacing_custom_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;image_spacing_custom_mobile_extra&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"image-carousel.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-image-carousel-wrapper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Image Carousel\" dir=\"ltr\">\n\t\t\t<div class=\"elementor-image-carousel swiper-wrapper\" aria-live=\"off\">\n\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"1 sur 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2025\/05\/booking-2025-1.webp\" alt=\"booking-2025 (1)\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"2 sur 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2026\/02\/EG-Elite-Partner-Badge-2026.webp\" alt=\"EG-Elite-Partner-Badge-2026\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"3 sur 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2026\/04\/agoda_2026.webp\" alt=\"agoda_2026\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"4 sur 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2024\/09\/Group-5.svg\" alt=\"Group-5\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"5 sur 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2024\/09\/Group-4.svg\" alt=\"Group-4\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"6 sur 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/staging-sites.hotelrunner.com\/wp-content\/uploads\/2024\/09\/Group.svg\" alt=\"Group\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div>\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"swiper-pagination\"><\/div>\n\t\t\t\t\t\t\t\t\t<\/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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Demandez une d\u00e9mo Augmenter les revenus. Simplifiez les op\u00e9rations. Demandez une d\u00e9monstration gratuite de notre plateforme unifi\u00e9e con\u00e7ue pour simplifier les op\u00e9rations, optimiser votre pr\u00e9sence num\u00e9rique, g\u00e9n\u00e9rer des r\u00e9servations directes et offrir des exp\u00e9riences exceptionnelles \u00e0 vos clients. HotelRunner propose d&rsquo;excellentes solutions en ligne pour les h\u00f4teliers. Nous avons augment\u00e9 le nombre d&rsquo;agences de voyage [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"page_category":[],"page_type":[],"class_list":["post-120900","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/staging-sites.hotelrunner.com\/fr\/wp-json\/wp\/v2\/pages\/120900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging-sites.hotelrunner.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/staging-sites.hotelrunner.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/staging-sites.hotelrunner.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/staging-sites.hotelrunner.com\/fr\/wp-json\/wp\/v2\/comments?post=120900"}],"version-history":[{"count":9,"href":"https:\/\/staging-sites.hotelrunner.com\/fr\/wp-json\/wp\/v2\/pages\/120900\/revisions"}],"predecessor-version":[{"id":140450,"href":"https:\/\/staging-sites.hotelrunner.com\/fr\/wp-json\/wp\/v2\/pages\/120900\/revisions\/140450"}],"wp:attachment":[{"href":"https:\/\/staging-sites.hotelrunner.com\/fr\/wp-json\/wp\/v2\/media?parent=120900"}],"wp:term":[{"taxonomy":"page_category","embeddable":true,"href":"https:\/\/staging-sites.hotelrunner.com\/fr\/wp-json\/wp\/v2\/page_category?post=120900"},{"taxonomy":"page_type","embeddable":true,"href":"https:\/\/staging-sites.hotelrunner.com\/fr\/wp-json\/wp\/v2\/page_type?post=120900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}