{"id":6101,"date":"2026-10-19T16:10:11","date_gmt":"2026-10-19T16:10:11","guid":{"rendered":"https:\/\/yalla-holiday.com\/transfert\/"},"modified":"2026-10-20T08:42:50","modified_gmt":"2026-10-20T08:42:50","slug":"transfert","status":"publish","type":"page","link":"https:\/\/yalla-holiday.com\/fr\/transfert\/","title":{"rendered":"Transfert"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6101\" class=\"elementor elementor-6101 elementor-6098\" data-elementor-post-type=\"page\">\n\t\t\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-31205b2 e-con-full e-flex e-con e-parent\" data-id=\"31205b2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3e23d0e elementor-widget elementor-widget-shortcode\" data-id=\"3e23d0e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t    <script>\r\n    function scrollToBookingBar() {\r\n        const target = document.querySelector('.ft-st-search-container');\r\n        if (target) {\r\n            target.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n        } else {\r\n            window.scrollBy({ top: 600, behavior: 'smooth' });\r\n        }\r\n    }\r\n    <\/script>\r\n    \t\t<div class=\"elementor-shortcode\">    <div class=\"ft-slider-wrapper-full\" dir=\"ltr\">\r\n        <div class=\"ft-slider-container-inner\">\r\n            \r\n            <div class=\"ft-slider-track\" id=\"ftSliderTrack\">\r\n                \r\n                <!-- SLIDE 1: SEDAN -->\r\n                <div class=\"ft-promo-slide ft-slide-active\">\r\n                    <div class=\"ft-slide-content\">\r\n                        <span class=\"ft-promo-badge\">Le plus populaire<\/span>\r\n                        <h2>Berline Priv\u00e9e Ex\u00e9cutive<\/h2>\r\n                        <p>Voyagez confortablement de l\u2019a\u00e9roport \u00e0 votre h\u00f4tel. Parfait pour les voyageurs solitaires et les couples.<\/p>\r\n                        <ul class=\"ft-promo-features\">\r\n                            <li><i class=\"fa fa-check-circle\"><\/i> Capacit\u00e9: 1 - 3 Passagers & 3 Valises<\/li>\r\n                            <li><i class=\"fa fa-check-circle\"><\/i> Suivi des vols et accueil personnalis\u00e9 gratuit<\/li>\r\n                            <li><i class=\"fa fa-check-circle\"><\/i> 60 minutes d\u2019attente gratuite \u00e0 l\u2019a\u00e9roport<\/li>\r\n                        <\/ul>\r\n                        <button type=\"button\" class=\"ft-promo-btn\" onclick=\"scrollToBookingBar()\">\r\n                            <i class=\"fa fa-arrow-down\" style=\"margin-right: 6px;\"><\/i> R\u00e9server Berline                        <\/button>\r\n                    <\/div>\r\n                    <div class=\"ft-slide-image\">\r\n                        <img decoding=\"async\" src=\"https:\/\/polandtransfers.eu\/wp-content\/uploads\/2025\/12\/mercedes-e-klasa-exclusive-poland-transfers.webp\" alt=\"Private Sedan\">\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- SLIDE 2: SUV -->\r\n                <div class=\"ft-promo-slide\">\r\n                    <div class=\"ft-slide-content\">\r\n                        <span class=\"ft-promo-badge\">Confort & Espace<\/span>\r\n                        <h2>Transfert SUV Premium<\/h2>\r\n                        <p>Profitez d\u2019un espace suppl\u00e9mentaire pour les jambes et d\u2019une grande capacit\u00e9 de bagages.<\/p>\r\n                        <ul class=\"ft-promo-features\">\r\n                            <li><i class=\"fa fa-check-circle\"><\/i> Capacit\u00e9: 1 - 4 Passagers & 4 Valises<\/li>\r\n                            <li><i class=\"fa fa-check-circle\"><\/i> Int\u00e9rieur en cuir de luxe et climatisation<\/li>\r\n                            <li><i class=\"fa fa-check-circle\"><\/i> Chauffeur professionnel anglophone<\/li>\r\n                        <\/ul>\r\n                        <button type=\"button\" class=\"ft-promo-btn\" onclick=\"scrollToBookingBar()\">\r\n                            <i class=\"fa fa-arrow-down\" style=\"margin-right: 6px;\"><\/i> R\u00e9server SUV                        <\/button>\r\n                    <\/div>\r\n                    <div class=\"ft-slide-image\">\r\n                        <img decoding=\"async\" src=\"https:\/\/images.ctfassets.net\/v7noovwbh2s3\/65vCU3U2vkln5Iw3WwLZen\/52798fe45b00a878b04b3381169f07e1\/Audi_Q7_frornt.png\" alt=\"Private SUV\">\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- SLIDE 3: MINIVAN -->\r\n                <div class=\"ft-promo-slide\">\r\n                    <div class=\"ft-slide-content\">\r\n                        <span class=\"ft-promo-badge\">Favori des familles<\/span>\r\n                        <h2>Minivan Spacieux<\/h2>\r\n                        <p>Vous voyagez en famille ? Gardez tout le monde ensemble avec beaucoup de place.<\/p>\r\n                        <ul class=\"ft-promo-features\">\r\n                            <li><i class=\"fa fa-check-circle\"><\/i> Capacit\u00e9: Jusqu\u2019\u00e0 7 Passagers & 7 Valises<\/li>\r\n                            <li><i class=\"fa fa-check-circle\"><\/i> Climatisation bizone et chargeurs USB<\/li>\r\n                            <li><i class=\"fa fa-check-circle\"><\/i> \u00c9conomique pour les groupes<\/li>\r\n                        <\/ul>\r\n                        <button type=\"button\" class=\"ft-promo-btn\" onclick=\"scrollToBookingBar()\">\r\n                            <i class=\"fa fa-arrow-down\" style=\"margin-right: 6px;\"><\/i> R\u00e9server Minivan                        <\/button>\r\n                    <\/div>\r\n                    <div class=\"ft-slide-image\">\r\n                        <img decoding=\"async\" src=\"https:\/\/www.scuderiamotordesign.com\/wp-content\/uploads\/2025\/01\/Mercedes-V-Class-2025-Exterior.jpg\" alt=\"Minivan\">\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- SLIDE 4: COACH BUS -->\r\n                <div class=\"ft-promo-slide\">\r\n                    <div class=\"ft-slide-content\">\r\n                        <span class=\"ft-promo-badge\">Grands Groupes & Circuits<\/span>\r\n                        <h2>Grand Bus \/ Minibus<\/h2>\r\n                        <p>Transferts fluides pour d\u00e9l\u00e9gations d\u2019entreprise ou grands groupes de touristes.<\/p>\r\n                        <ul class=\"ft-promo-features\">\r\n                            <li><i class=\"fa fa-check-circle\"><\/i> Capacit\u00e9: 16 \u00e0 42+ Passagers<\/li>\r\n                            <li><i class=\"fa fa-check-circle\"><\/i> Remorque \u00e0 bagages d\u00e9di\u00e9e disponible<\/li>\r\n                            <li><i class=\"fa fa-check-circle\"><\/i> Syst\u00e8me de microphone pour guide<\/li>\r\n                        <\/ul>\r\n                        <button type=\"button\" class=\"ft-promo-btn\" onclick=\"scrollToBookingBar()\">\r\n                            <i class=\"fa fa-arrow-down\" style=\"margin-right: 6px;\"><\/i> R\u00e9server le Bus                        <\/button>\r\n                    <\/div>\r\n                    <div class=\"ft-slide-image\">\r\n                        <img decoding=\"async\" src=\"https:\/\/cairoairportride.com\/images\/cars\/gallery\/Coaster\/coaster%20(0).webp\" alt=\"Coach Bus\">\r\n                    <\/div>\r\n                <\/div>\r\n\r\n            <\/div>\r\n\r\n            <!-- Controls -->\r\n            <button class=\"ft-promo-nav ft-promo-prev\" id=\"ftPrevBtn\"><i class=\"fa fa-chevron-left\"><\/i><\/button>\r\n            <button class=\"ft-promo-nav ft-promo-next\" id=\"ftNextBtn\"><i class=\"fa fa-chevron-right\"><\/i><\/button>\r\n\r\n            <!-- Dots -->\r\n            <div class=\"ft-promo-dots\" id=\"ftPromoDots\"><\/div>\r\n\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <style>\r\n        \/* FULL-WIDTH SAFE ISOLATED CSS *\/\r\n        .ft-slider-wrapper-full {\r\n            width: 100% !important;\r\n            max-width: 100% !important;\r\n            margin: 30px 0 !important;\r\n            padding: 0 !important;\r\n            box-sizing: border-box !important;\r\n            font-family: system-ui, -apple-system, sans-serif !important;\r\n        }\r\n        .ft-slider-wrapper-full *, .ft-slider-wrapper-full *::before, .ft-slider-wrapper-full *::after {\r\n            box-sizing: border-box !important;\r\n        }\r\n\r\n        .ft-slider-container-inner {\r\n            position: relative !important;\r\n            width: 100% !important;\r\n            background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;\r\n            border-radius: 16px !important;\r\n            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3) !important;\r\n            overflow: hidden !important;\r\n            border: 1px solid rgba(255, 255, 255, 0.1) !important;\r\n            min-height: 420px !important;\r\n        }\r\n\r\n        .ft-slider-track {\r\n            position: relative !important;\r\n            width: 100% !important;\r\n            height: 100% !important;\r\n        }\r\n\r\n        .ft-promo-slide {\r\n            position: absolute !important;\r\n            top: 0 !important;\r\n            left: 0 !important;\r\n            width: 100% !important;\r\n            height: 100% !important;\r\n            display: grid !important;\r\n            grid-template-columns: 1.2fr 1fr !important;\r\n            align-items: center !important;\r\n            padding: 40px 60px !important;\r\n            opacity: 0 !important;\r\n            visibility: hidden !important;\r\n            transition: opacity 0.6s ease-in-out, visibility 0.6s ease-in-out !important;\r\n        }\r\n\r\n        .ft-promo-slide.ft-slide-active {\r\n            opacity: 1 !important;\r\n            visibility: visible !important;\r\n            position: relative !important;\r\n        }\r\n\r\n        .ft-slide-content h2 {\r\n            font-size: 2.2rem !important;\r\n            font-weight: 900 !important;\r\n            color: #ffffff !important;\r\n            margin: 0 0 12px 0 !important;\r\n            line-height: 1.2 !important;\r\n        }\r\n        .ft-slide-content h2 span { color: #ffcc00 !important; }\r\n\r\n        .ft-promo-badge {\r\n            display: inline-block !important;\r\n            background: #ea580c !important;\r\n            color: #fff !important;\r\n            padding: 5px 12px !important;\r\n            font-size: 0.75rem !important;\r\n            font-weight: 800 !important;\r\n            text-transform: uppercase !important;\r\n            border-radius: 30px !important;\r\n            margin-bottom: 12px !important;\r\n            letter-spacing: 0.5px !important;\r\n        }\r\n\r\n        .ft-slide-content p {\r\n            font-size: 0.95rem !important;\r\n            color: #cbd5e1 !important;\r\n            line-height: 1.6 !important;\r\n            margin: 0 0 20px 0 !important;\r\n        }\r\n\r\n        .ft-promo-features {\r\n            list-style: none !important;\r\n            padding: 0 !important;\r\n            margin: 0 0 25px 0 !important;\r\n        }\r\n        .ft-promo-features li {\r\n            font-size: 0.88rem !important;\r\n            color: #e2e8f0 !important;\r\n            margin-bottom: 8px !important;\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            gap: 8px !important;\r\n        }\r\n        .ft-promo-features li i { color: #22c55e !important; }\r\n\r\n        .ft-promo-btn {\r\n            display: inline-flex !important;\r\n            align-items: center !important;\r\n            gap: 8px !important;\r\n            background: #00b050 !important;\r\n            color: #ffffff !important;\r\n            padding: 12px 24px !important;\r\n            border-radius: 8px !important;\r\n            font-weight: 800 !important;\r\n            border: none !important;\r\n            cursor: pointer !important;\r\n            text-decoration: none !important;\r\n            font-size: 0.95rem !important;\r\n            box-shadow: 0 4px 15px rgba(0, 176, 80, 0.3) !important;\r\n            transition: background 0.2s !important;\r\n        }\r\n        .ft-promo-btn:hover { background: #009142 !important; }\r\n\r\n        .ft-slide-image {\r\n            display: flex !important;\r\n            justify-content: center !important;\r\n            align-items: center !important;\r\n        }\r\n        .ft-slide-image img {\r\n            max-width: 100% !important;\r\n            height: auto !important;\r\n            max-height: 260px !important;\r\n            object-fit: contain !important;\r\n            filter: drop-shadow(0 15px 25px rgba(0,0,0,0.5)) !important;\r\n        }\r\n\r\n        \/* Navigation Arrows *\/\r\n        .ft-promo-nav {\r\n            position: absolute !important;\r\n            top: 50% !important;\r\n            transform: translateY(-50%) !important;\r\n            background: rgba(255, 255, 255, 0.15) !important;\r\n            border: none !important;\r\n            color: white !important;\r\n            width: 40px !important;\r\n            height: 40px !important;\r\n            border-radius: 50% !important;\r\n            cursor: pointer !important;\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            justify-content: center !important;\r\n            z-index: 10 !important;\r\n            transition: background 0.2s !important;\r\n        }\r\n        .ft-promo-nav:hover { background: #ea580c !important; }\r\n        .ft-promo-prev { left: 20px !important; }\r\n        .ft-promo-next { right: 20px !important; }\r\n\r\n        \/* Dots *\/\r\n        .ft-promo-dots {\r\n            position: absolute !important;\r\n            bottom: 20px !important;\r\n            left: 50% !important;\r\n            transform: translateX(-50%) !important;\r\n            display: flex !important;\r\n            gap: 8px !important;\r\n            z-index: 10 !important;\r\n        }\r\n        .ft-promo-dot {\r\n            width: 10px !important;\r\n            height: 10px !important;\r\n            background: rgba(255, 255, 255, 0.3) !important;\r\n            border-radius: 50% !important;\r\n            cursor: pointer !important;\r\n            transition: background 0.3s, width 0.3s !important;\r\n        }\r\n        .ft-promo-dot.ft-dot-active {\r\n            background: #ea580c !important;\r\n            width: 25px !important;\r\n            border-radius: 5px !important;\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n            .ft-promo-slide {\r\n                grid-template-columns: 1fr !important;\r\n                padding: 30px 20px !important;\r\n                text-align: center !important;\r\n            }\r\n            .ft-slide-image img { max-height: 180px !important; margin-top: 20px !important; }\r\n            .ft-promo-features { display: inline-block !important; text-align: left !important; }\r\n            .ft-promo-nav { display: none !important; }\r\n        }\r\n    <\/style>\r\n\r\n    <script>\r\n    (function() {\r\n        const slides = document.querySelectorAll('#ftSliderTrack .ft-promo-slide');\r\n        const dotsContainer = document.getElementById('ftPromoDots');\r\n        const prevBtn = document.getElementById('ftPrevBtn');\r\n        const nextBtn = document.getElementById('ftNextBtn');\r\n        \r\n        if (!slides.length) return;\r\n\r\n        let currentIndex = 0;\r\n        let slideTimer;\r\n\r\n        \/\/ Build dots\r\n        slides.forEach((_, idx) => {\r\n            const dot = document.createElement('div');\r\n            dot.classList.add('ft-promo-dot');\r\n            if (idx === 0) dot.classList.add('ft-dot-active');\r\n            dot.addEventListener('click', () => {\r\n                goToSlide(idx);\r\n                resetAutoPlay();\r\n            });\r\n            dotsContainer.appendChild(dot);\r\n        });\r\n\r\n        const dots = dotsContainer.querySelectorAll('.ft-promo-dot');\r\n\r\n        function showSlide(idx) {\r\n            slides.forEach((s, i) => {\r\n                s.classList.remove('ft-slide-active');\r\n                dots[i].classList.remove('ft-dot-active');\r\n            });\r\n            slides[idx].classList.add('ft-slide-active');\r\n            dots[idx].classList.add('ft-dot-active');\r\n        }\r\n\r\n        function nextSlide() {\r\n            currentIndex = (currentIndex + 1) % slides.length;\r\n            showSlide(currentIndex);\r\n        }\r\n\r\n        function prevSlide() {\r\n            currentIndex = (currentIndex - 1 + slides.length) % slides.length;\r\n            showSlide(currentIndex);\r\n        }\r\n\r\n        function goToSlide(idx) {\r\n            currentIndex = idx;\r\n            showSlide(currentIndex);\r\n        }\r\n\r\n        nextBtn.addEventListener('click', () => { nextSlide(); resetAutoPlay(); });\r\n        prevBtn.addEventListener('click', () => { prevSlide(); resetAutoPlay(); });\r\n\r\n        function startAutoPlay() {\r\n            slideTimer = setInterval(nextSlide, 6000);\r\n        }\r\n        function resetAutoPlay() {\r\n            clearInterval(slideTimer);\r\n            startAutoPlay();\r\n        }\r\n\r\n        startAutoPlay();\r\n    })();\r\n    <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-4c7ae4f e-con-full e-flex e-con e-parent\" data-id=\"4c7ae4f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8c1ef99 elementor-widget elementor-widget-shortcode\" data-id=\"8c1ef99\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div class=\"ft-st-search-container\" dir=\"ltr\" style=\"text-align: left;\">\r\n        \r\n        <!-- Top Trip Type Selection (One Way \/ Return) -->\r\n        <div class=\"ft-trip-type-header\">\r\n            <label class=\"ft-type-tab ft-active-tab\" id=\"ft_tab_return\" onclick=\"ftToggleTripMode('return')\">\r\n                <input type=\"radio\" name=\"ft_trip_mode\" value=\"return\" checked>\r\n                <strong>Aller-Retour (2 Voies)<\/strong>\r\n            <\/label>\r\n            <label class=\"ft-type-tab\" id=\"ft_tab_oneway\" onclick=\"ftToggleTripMode('one_way')\">\r\n                <input type=\"radio\" name=\"ft_trip_mode\" value=\"one_way\">\r\n                <strong>Aller Simple<\/strong>\r\n            <\/label>\r\n        <\/div>\r\n        \r\n        <!-- Yellow Horizontal Search Bar -->\r\n        <div class=\"ft-yellow-bar\">\r\n            \r\n            <!-- 1. Pick-up Input -->\r\n            <div class=\"ft-bar-field-wrapper\">\r\n                <span class=\"ft-field-label\">Lieu de prise en charge<\/span>\r\n                <div class=\"ft-bar-field\">\r\n                    <span class=\"ft-field-icon\">\u2708\ufe0f<\/span>\r\n                    <input type=\"text\" id=\"ft_pickup_input\" placeholder=\"Tapez ou s\u00e9lectionnez le lieu...\" autocomplete=\"off\" onclick=\"ftShowDropdown('pickup')\" oninput=\"ftFilterDropdown('pickup')\">\r\n                <\/div>\r\n                <div id=\"ft_pickup_dropdown\" class=\"ft-autocomplete-menu\" style=\"display:none;\"><\/div>\r\n            <\/div>\r\n            \r\n            <!-- 2. Drop-off Input -->\r\n            <div class=\"ft-bar-field-wrapper\">\r\n                <span class=\"ft-field-label\">Lieu de d\u00e9pose<\/span>\r\n                <div class=\"ft-bar-field\">\r\n                    <span class=\"ft-field-icon\">\ud83d\udccd<\/span>\r\n                    <input type=\"text\" id=\"ft_dropoff_input\" placeholder=\"Tapez h\u00f4tel ou destination...\" autocomplete=\"off\" onclick=\"ftShowDropdown('dropoff')\" oninput=\"ftFilterDropdown('dropoff')\">\r\n                <\/div>\r\n                <div id=\"ft_dropoff_dropdown\" class=\"ft-autocomplete-menu\" style=\"display:none;\"><\/div>\r\n            <\/div>\r\n            \r\n            <!-- 3. Arrival Date & Conditional Airport Sub-fields -->\r\n            <div class=\"ft-bar-field-wrapper\">\r\n                <span class=\"ft-field-label\">Date d'arriv\u00e9e<\/span>\r\n                <div class=\"ft-bar-field\">\r\n                    <span class=\"ft-field-icon\">\ud83d\udcc5<\/span>\r\n                    <input type=\"date\" id=\"ft_arrival_date\" onclick=\"ftToggleArrivalSubfields()\" onchange=\"ftToggleArrivalSubfields()\">\r\n                <\/div>\r\n                <!-- Conditional Airport Sub-fields (Hidden Initially) -->\r\n                <div id=\"ft_airport_subfields\" class=\"ft-subfields-container\" style=\"display:none;\">\r\n                    <div class=\"ft-subfield-row\">\r\n                        <input type=\"text\" id=\"ft_flight_number\" placeholder=\"Num\u00e9ro de vol\">\r\n                    <\/div>\r\n                    <div class=\"ft-subfield-row\">\r\n                        <select id=\"ft_arrival_time\">\r\n                            <option value=\"\">Heure d'arriv\u00e9e<\/option>\r\n                            <option value=\"00:00\">00:00<\/option><option value=\"00:15\">00:15<\/option><option value=\"00:30\">00:30<\/option><option value=\"00:45\">00:45<\/option><option value=\"01:00\">01:00<\/option><option value=\"01:15\">01:15<\/option><option value=\"01:30\">01:30<\/option><option value=\"01:45\">01:45<\/option><option value=\"02:00\">02:00<\/option><option value=\"02:15\">02:15<\/option><option value=\"02:30\">02:30<\/option><option value=\"02:45\">02:45<\/option><option value=\"03:00\">03:00<\/option><option value=\"03:15\">03:15<\/option><option value=\"03:30\">03:30<\/option><option value=\"03:45\">03:45<\/option><option value=\"04:00\">04:00<\/option><option value=\"04:15\">04:15<\/option><option value=\"04:30\">04:30<\/option><option value=\"04:45\">04:45<\/option><option value=\"05:00\">05:00<\/option><option value=\"05:15\">05:15<\/option><option value=\"05:30\">05:30<\/option><option value=\"05:45\">05:45<\/option><option value=\"06:00\">06:00<\/option><option value=\"06:15\">06:15<\/option><option value=\"06:30\">06:30<\/option><option value=\"06:45\">06:45<\/option><option value=\"07:00\">07:00<\/option><option value=\"07:15\">07:15<\/option><option value=\"07:30\">07:30<\/option><option value=\"07:45\">07:45<\/option><option value=\"08:00\">08:00<\/option><option value=\"08:15\">08:15<\/option><option value=\"08:30\">08:30<\/option><option value=\"08:45\">08:45<\/option><option value=\"09:00\">09:00<\/option><option value=\"09:15\">09:15<\/option><option value=\"09:30\">09:30<\/option><option value=\"09:45\">09:45<\/option><option value=\"10:00\">10:00<\/option><option value=\"10:15\">10:15<\/option><option value=\"10:30\">10:30<\/option><option value=\"10:45\">10:45<\/option><option value=\"11:00\">11:00<\/option><option value=\"11:15\">11:15<\/option><option value=\"11:30\">11:30<\/option><option value=\"11:45\">11:45<\/option><option value=\"12:00\">12:00<\/option><option value=\"12:15\">12:15<\/option><option value=\"12:30\">12:30<\/option><option value=\"12:45\">12:45<\/option><option value=\"13:00\">13:00<\/option><option value=\"13:15\">13:15<\/option><option value=\"13:30\">13:30<\/option><option value=\"13:45\">13:45<\/option><option value=\"14:00\">14:00<\/option><option value=\"14:15\">14:15<\/option><option value=\"14:30\">14:30<\/option><option value=\"14:45\">14:45<\/option><option value=\"15:00\">15:00<\/option><option value=\"15:15\">15:15<\/option><option value=\"15:30\">15:30<\/option><option value=\"15:45\">15:45<\/option><option value=\"16:00\">16:00<\/option><option value=\"16:15\">16:15<\/option><option value=\"16:30\">16:30<\/option><option value=\"16:45\">16:45<\/option><option value=\"17:00\">17:00<\/option><option value=\"17:15\">17:15<\/option><option value=\"17:30\">17:30<\/option><option value=\"17:45\">17:45<\/option><option value=\"18:00\">18:00<\/option><option value=\"18:15\">18:15<\/option><option value=\"18:30\">18:30<\/option><option value=\"18:45\">18:45<\/option><option value=\"19:00\">19:00<\/option><option value=\"19:15\">19:15<\/option><option value=\"19:30\">19:30<\/option><option value=\"19:45\">19:45<\/option><option value=\"20:00\">20:00<\/option><option value=\"20:15\">20:15<\/option><option value=\"20:30\">20:30<\/option><option value=\"20:45\">20:45<\/option><option value=\"21:00\">21:00<\/option><option value=\"21:15\">21:15<\/option><option value=\"21:30\">21:30<\/option><option value=\"21:45\">21:45<\/option><option value=\"22:00\">22:00<\/option><option value=\"22:15\">22:15<\/option><option value=\"22:30\">22:30<\/option><option value=\"22:45\">22:45<\/option><option value=\"23:00\">23:00<\/option><option value=\"23:15\">23:15<\/option><option value=\"23:30\">23:30<\/option><option value=\"23:45\">23:45<\/option>                        <\/select>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <!-- 4. Departure Date & Preferred Pick up Time Sub-field -->\r\n            <div class=\"ft-bar-field-wrapper\" id=\"ft_departure_field\">\r\n                <span class=\"ft-field-label\">Date de d\u00e9part<\/span>\r\n                <div class=\"ft-bar-field\">\r\n                    <span class=\"ft-field-icon\">\ud83d\udeeb<\/span>\r\n                    <input type=\"date\" id=\"ft_departure_date\" onclick=\"ftToggleDepartureSubfields()\" onchange=\"ftToggleDepartureSubfields()\">\r\n                <\/div>\r\n                <!-- Preferred Pick up Time Sub-field (Hidden Initially) -->\r\n                <div id=\"ft_departure_subfields\" class=\"ft-subfields-container\" style=\"display:none;\">\r\n                    <div class=\"ft-subfield-row\">\r\n                        <select id=\"ft_pickup_time\">\r\n                            <option value=\"\">Heure de prise en charge souhait\u00e9e<\/option>\r\n                            <option value=\"00:00\">00:00<\/option><option value=\"00:15\">00:15<\/option><option value=\"00:30\">00:30<\/option><option value=\"00:45\">00:45<\/option><option value=\"01:00\">01:00<\/option><option value=\"01:15\">01:15<\/option><option value=\"01:30\">01:30<\/option><option value=\"01:45\">01:45<\/option><option value=\"02:00\">02:00<\/option><option value=\"02:15\">02:15<\/option><option value=\"02:30\">02:30<\/option><option value=\"02:45\">02:45<\/option><option value=\"03:00\">03:00<\/option><option value=\"03:15\">03:15<\/option><option value=\"03:30\">03:30<\/option><option value=\"03:45\">03:45<\/option><option value=\"04:00\">04:00<\/option><option value=\"04:15\">04:15<\/option><option value=\"04:30\">04:30<\/option><option value=\"04:45\">04:45<\/option><option value=\"05:00\">05:00<\/option><option value=\"05:15\">05:15<\/option><option value=\"05:30\">05:30<\/option><option value=\"05:45\">05:45<\/option><option value=\"06:00\">06:00<\/option><option value=\"06:15\">06:15<\/option><option value=\"06:30\">06:30<\/option><option value=\"06:45\">06:45<\/option><option value=\"07:00\">07:00<\/option><option value=\"07:15\">07:15<\/option><option value=\"07:30\">07:30<\/option><option value=\"07:45\">07:45<\/option><option value=\"08:00\">08:00<\/option><option value=\"08:15\">08:15<\/option><option value=\"08:30\">08:30<\/option><option value=\"08:45\">08:45<\/option><option value=\"09:00\">09:00<\/option><option value=\"09:15\">09:15<\/option><option value=\"09:30\">09:30<\/option><option value=\"09:45\">09:45<\/option><option value=\"10:00\">10:00<\/option><option value=\"10:15\">10:15<\/option><option value=\"10:30\">10:30<\/option><option value=\"10:45\">10:45<\/option><option value=\"11:00\">11:00<\/option><option value=\"11:15\">11:15<\/option><option value=\"11:30\">11:30<\/option><option value=\"11:45\">11:45<\/option><option value=\"12:00\">12:00<\/option><option value=\"12:15\">12:15<\/option><option value=\"12:30\">12:30<\/option><option value=\"12:45\">12:45<\/option><option value=\"13:00\">13:00<\/option><option value=\"13:15\">13:15<\/option><option value=\"13:30\">13:30<\/option><option value=\"13:45\">13:45<\/option><option value=\"14:00\">14:00<\/option><option value=\"14:15\">14:15<\/option><option value=\"14:30\">14:30<\/option><option value=\"14:45\">14:45<\/option><option value=\"15:00\">15:00<\/option><option value=\"15:15\">15:15<\/option><option value=\"15:30\">15:30<\/option><option value=\"15:45\">15:45<\/option><option value=\"16:00\">16:00<\/option><option value=\"16:15\">16:15<\/option><option value=\"16:30\">16:30<\/option><option value=\"16:45\">16:45<\/option><option value=\"17:00\">17:00<\/option><option value=\"17:15\">17:15<\/option><option value=\"17:30\">17:30<\/option><option value=\"17:45\">17:45<\/option><option value=\"18:00\">18:00<\/option><option value=\"18:15\">18:15<\/option><option value=\"18:30\">18:30<\/option><option value=\"18:45\">18:45<\/option><option value=\"19:00\">19:00<\/option><option value=\"19:15\">19:15<\/option><option value=\"19:30\">19:30<\/option><option value=\"19:45\">19:45<\/option><option value=\"20:00\">20:00<\/option><option value=\"20:15\">20:15<\/option><option value=\"20:30\">20:30<\/option><option value=\"20:45\">20:45<\/option><option value=\"21:00\">21:00<\/option><option value=\"21:15\">21:15<\/option><option value=\"21:30\">21:30<\/option><option value=\"21:45\">21:45<\/option><option value=\"22:00\">22:00<\/option><option value=\"22:15\">22:15<\/option><option value=\"22:30\">22:30<\/option><option value=\"22:45\">22:45<\/option><option value=\"23:00\">23:00<\/option><option value=\"23:15\">23:15<\/option><option value=\"23:30\">23:30<\/option><option value=\"23:45\">23:45<\/option>                        <\/select>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <!-- 5. Passengers -->\r\n            <div class=\"ft-bar-field-wrapper\">\r\n                <span class=\"ft-field-label\">Passagers<\/span>\r\n                <div class=\"ft-bar-field\" onclick=\"ftTogglePaxDropdown(event)\">\r\n                    <span class=\"ft-field-icon\">\ud83d\udc64<\/span>\r\n                    <div id=\"ft_pax_display\" class=\"ft-pax-val\">2 adults, 0 children<\/div>\r\n                <\/div>\r\n                <!-- Passengers Counter Dropdown -->\r\n                <div id=\"ft_pax_popover\" class=\"ft-pax-popover\" style=\"display:none;\">\r\n                    <div class=\"ft-pax-row\">\r\n                        <span>Adultes (+12)<\/span>\r\n                        <div class=\"ft-counter-ctrl\">\r\n                            <button type=\"button\" onclick=\"ftChangePax('adults', -1)\">-<\/button>\r\n                            <span id=\"ft_adults_num\">2<\/span>\r\n                            <button type=\"button\" onclick=\"ftChangePax('adults', 1)\">+<\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"ft-pax-row\">\r\n                        <span>Enfants (0-11)<\/span>\r\n                        <div class=\"ft-counter-ctrl\">\r\n                            <button type=\"button\" onclick=\"ftChangePax('children', -1)\">-<\/button>\r\n                            <span id=\"ft_children_num\">0<\/span>\r\n                            <button type=\"button\" onclick=\"ftChangePax('children', 1)\">+<\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <!-- 6. Search Green Button -->\r\n            <div class=\"ft-bar-field-wrapper ft-btn-wrapper\">\r\n                <button type=\"button\" class=\"ft-search-green-btn\" onclick=\"ftExecuteSearch()\">\r\n                    Rechercher                <\/button>\r\n            <\/div>\r\n        <\/div>\r\n        \r\n        <!-- Trust Badges -->\r\n        <div class=\"ft-trust-badges\">\r\n            <span>\ud83d\udee1\ufe0f Annulation gratuite<\/span>\r\n            <span>\ud83d\udcb0 Pas de frais cach\u00e9s<\/span>\r\n            <span>\ud83c\udfa7 Support 24\/7<\/span>\r\n            <span>\u2b50 700+ Lieux<\/span>\r\n        <\/div>\r\n        \r\n        <!-- VEHICLE RESULTS SECTION -->\r\n        <div id=\"ft-vehicle-results\" class=\"ft-results-wrapper\">\r\n            <h3 class=\"ft-results-title\">Choisissez votre type de voiture<\/h3>\r\n            \r\n            <div class=\"ft-vehicles-grid\">\r\n                \r\n                <!-- 1. SEDAN -->\r\n                <div class=\"ft-vehicle-card\" id=\"card_sedan\" data-min-pax=\"1\" data-max-pax=\"3\" data-cat=\"sedan\">\r\n                    <div class=\"ft-vehicle-image\">\r\n                        <img decoding=\"async\" src=\"https:\/\/polandtransfers.eu\/wp-content\/uploads\/2025\/12\/mercedes-e-klasa-exclusive-poland-transfers.webp\" alt=\"Private Sedan\">\r\n                        <span class=\"ft-badge\">Le plus populaire<\/span>\r\n                    <\/div>\r\n                    <div class=\"ft-vehicle-info\">\r\n                        <h4>Private Sedan<\/h4>\r\n                        <p class=\"ft-model-desc\">Mercedes E-Class, Toyota Corolla or similar<\/p>\r\n                        <div class=\"ft-capacities\">\r\n                            <span>\ud83d\udc64 Capacit\u00e9 : 1 - 3 Pax<\/span>\r\n                            <span>\ud83e\uddf3 3 Bagages max<\/span>\r\n                            <span>\u26a1 Meet & Greet Included<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"ft-vehicle-pricing\">\r\n                        <span class=\"ft-price-label\">Prix par v\u00e9hicule<\/span>\r\n                        <div class=\"ft-price-value\" id=\"price_sedan\">15.00<\/div>\r\n                        <button type=\"button\" class=\"ft-book-btn\" onclick=\"openBookingModal('Private Sedan', 'sedan')\">R\u00e9server<\/button>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- 2. SUV -->\r\n                <div class=\"ft-vehicle-card\" id=\"card_suv\" data-min-pax=\"1\" data-max-pax=\"4\" data-cat=\"suv\">\r\n                    <div class=\"ft-vehicle-image\">\r\n                        <img decoding=\"async\" src=\"https:\/\/images.ctfassets.net\/v7noovwbh2s3\/65vCU3U2vkln5Iw3WwLZen\/52798fe45b00a878b04b3381169f07e1\/Audi_Q7_frornt.png\" alt=\"Private SUV\">\r\n                    <\/div>\r\n                    <div class=\"ft-vehicle-info\">\r\n                        <h4>Private SUV<\/h4>\r\n                        <p class=\"ft-model-desc\">Audi Q7, BMW X5 or Toyota Prado<\/p>\r\n                        <div class=\"ft-capacities\">\r\n                            <span>\ud83d\udc64 Capacit\u00e9 : 1 - 4 Pax<\/span>\r\n                            <span>\ud83e\uddf3 4 Bagages max<\/span>\r\n                            <span>\u2b50 Extra Legroom<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"ft-vehicle-pricing\">\r\n                        <span class=\"ft-price-label\">Prix par v\u00e9hicule<\/span>\r\n                        <div class=\"ft-price-value\" id=\"price_suv\">20.00<\/div>\r\n                        <button type=\"button\" class=\"ft-book-btn\" onclick=\"openBookingModal('Private SUV', 'suv')\">R\u00e9server<\/button>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- 3. HIACE VAN -->\r\n                <div class=\"ft-vehicle-card\" id=\"card_hiace\" data-min-pax=\"1\" data-max-pax=\"7\" data-cat=\"hiace\">\r\n                    <div class=\"ft-vehicle-image\">\r\n                        <img decoding=\"async\" src=\"https:\/\/www.scuderiamotordesign.com\/wp-content\/uploads\/2025\/01\/Mercedes-V-Class-2025-Exterior.jpg\" alt=\"HiAce Minivan\">\r\n                        <span class=\"ft-badge ft-badge-group\">Id\u00e9al pour familles<\/span>\r\n                    <\/div>\r\n                    <div class=\"ft-vehicle-info\">\r\n                        <h4>HiAce Minivan<\/h4>\r\n                        <p class=\"ft-model-desc\">Toyota HiAce or Mercedes V-Class<\/p>\r\n                        <div class=\"ft-capacities\">\r\n                            <span>\ud83d\udc64 Capacit\u00e9 : 1 - 7 Pax<\/span>\r\n                            <span>\ud83e\uddf3 7 Bagages max<\/span>\r\n                            <span>\u2744\ufe0f Dual Air Conditioning<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"ft-vehicle-pricing\">\r\n                        <span class=\"ft-price-label\">Prix par v\u00e9hicule<\/span>\r\n                        <div class=\"ft-price-value\" id=\"price_hiace\">25.00<\/div>\r\n                        <button type=\"button\" class=\"ft-book-btn\" onclick=\"openBookingModal('HiAce Minivan', 'hiace')\">R\u00e9server<\/button>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- 4. COASTER -->\r\n                <div class=\"ft-vehicle-card\" id=\"card_coaster\" data-min-pax=\"1\" data-max-pax=\"16\" data-cat=\"coaster\">\r\n                    <div class=\"ft-vehicle-image\">\r\n                        <img decoding=\"async\" src=\"https:\/\/cairoairportride.com\/images\/cars\/gallery\/Coaster\/coaster%20(0).webp\" alt=\"Coaster Minibus\">\r\n                    <\/div>\r\n                    <div class=\"ft-vehicle-info\">\r\n                        <h4>Coaster Minibus<\/h4>\r\n                        <p class=\"ft-model-desc\">Toyota Coaster or Mitsubishi Rosa<\/p>\r\n                        <div class=\"ft-capacities\">\r\n                            <span>\ud83d\udc64 Capacit\u00e9 : 1 - 16 Pax<\/span>\r\n                            <span>\ud83e\uddf3 16 Bagages max<\/span>\r\n                            <span>\ud83d\ude8c Luggage Trailer Available<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"ft-vehicle-pricing\">\r\n                        <span class=\"ft-price-label\">Prix par v\u00e9hicule<\/span>\r\n                        <div class=\"ft-price-value\" id=\"price_coaster\">40.00<\/div>\r\n                        <button type=\"button\" class=\"ft-book-btn\" onclick=\"openBookingModal('Coaster Minibus', 'coaster')\">R\u00e9server<\/button>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- 5. BUS -->\r\n                <div class=\"ft-vehicle-card\" id=\"card_bus\" data-min-pax=\"17\" data-max-pax=\"42\" data-cat=\"bus\">\r\n                    <div class=\"ft-vehicle-image\">\r\n                        <img decoding=\"async\" src=\"https:\/\/m.media-amazon.com\/images\/I\/71C7N9062wL._AC_SL1500_.jpg\" alt=\"Large Coach Bus\">\r\n                        <span class=\"ft-badge ft-badge-bus\">Grands groupes<\/span>\r\n                    <\/div>\r\n                    <div class=\"ft-vehicle-info\">\r\n                        <h4>Large Tour Bus \/ Coach<\/h4>\r\n                        <p class=\"ft-model-desc\">Mercedes MCV or Neoplan Coach<\/p>\r\n                        <div class=\"ft-capacities\">\r\n                            <span>\ud83d\udc64 Capacit\u00e9 : 17 - 42 Pax<\/span>\r\n                            <span>\ud83e\uddf3 Unlimited Luggage Bay<\/span>\r\n                            <span>\ud83c\udf99\ufe0f Tour Guide Mic System<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"ft-vehicle-pricing\">\r\n                        <span class=\"ft-price-label\">Prix par v\u00e9hicule<\/span>\r\n                        <div class=\"ft-price-value\" id=\"price_bus\">100.00<\/div>\r\n                        <button type=\"button\" class=\"ft-book-btn\" onclick=\"openBookingModal('Large Coach Bus', 'bus')\">R\u00e9server<\/button>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    \r\n    <!-- WHATSAPP BOOKING MODAL -->\r\n    <div id=\"ft_booking_modal\" class=\"ft-modal-overlay\" style=\"display:none;\" dir=\"ltr\">\r\n        <div class=\"ft-modal-content\" style=\"text-align: left;\">\r\n            <span class=\"ft-modal-close\" onclick=\"closeBookingModal()\">&times;<\/span>\r\n            <div class=\"ft-modal-header\">\r\n                <h3>\ud83d\ude97 Confirmer la R\u00e9servation<\/h3>\r\n                <p>V\u00e9rifiez les d\u00e9tails et envoyez via WhatsApp.<\/p>\r\n            <\/div>\r\n            \r\n            <!-- Summary Box -->\r\n            <div class=\"ft-summary-box\">\r\n                <div class=\"ft-summary-row\"><strong>V\u00e9hicule :<\/strong> <span id=\"modal_vehicle_name\">Private Sedan<\/span><\/div>\r\n                <div class=\"ft-summary-row\"><strong>Itin\u00e9raire :<\/strong> <span id=\"modal_route\">Airport \u2794 Hotel<\/span><\/div>\r\n                <div class=\"ft-summary-row\"><strong>Type de voyage :<\/strong> <span id=\"modal_trip_type\">Return Trip<\/span><\/div>\r\n                <div class=\"ft-summary-row\"><strong>Passagers :<\/strong> <span id=\"modal_pax\">2 Adults, 0 Children<\/span><\/div>\r\n                <div class=\"ft-summary-row\"><strong>Date d'arriv\u00e9e :<\/strong> <span id=\"modal_arr_date\">Not specified<\/span><\/div>\r\n                <div class=\"ft-summary-row\" id=\"modal_flight_summary_row\" style=\"display:none;\"><strong>Flight Info:<\/strong> <span id=\"modal_flight_info\">N\/A<\/span><\/div>\r\n                <div class=\"ft-summary-row\" id=\"modal_dep_row\"><strong>Date de d\u00e9part :<\/strong> <span id=\"modal_dep_date\">Not specified<\/span><\/div>\r\n                \r\n                <!-- Discount Row in Summary -->\r\n                <div class=\"ft-summary-row\" id=\"modal_discount_row\" style=\"display:none; color:#16a34a;\">\r\n                    <strong>Remise :<\/strong> <span id=\"modal_discount_amt\">-0<\/span>\r\n                <\/div>\r\n                \r\n                <div class=\"ft-summary-row ft-total-row\"><strong>Tarif Total :<\/strong> <span id=\"modal_total_price\">15.00<\/span><\/div>\r\n            <\/div>\r\n            \r\n            <!-- Partner Contact Inputs & Coupon -->\r\n            <form onsubmit=\"sendWhatsAppBooking(event)\" class=\"ft-modal-form\">\r\n                <div class=\"ft-form-group\">\r\n                    <label>Pr\u00e9nom <span class=\"ft-req\">*<\/span><\/label>\r\n                    <input type=\"text\" id=\"partner_agency\" required placeholder=\"e.g., John Smith\">\r\n                <\/div>\r\n                <div class=\"ft-form-group\">\r\n                    <label>Adresse e-mail <span class=\"ft-req\">*<\/span><\/label>\r\n                    <input type=\"email\" id=\"partner_email\" required placeholder=\"your-mail@mail.com\">\r\n                <\/div>\r\n                <div class=\"ft-form-group\">\r\n                    <label>Num\u00e9ro WhatsApp \/ Mobile <span class=\"ft-req\">*<\/span><\/label>\r\n                    <input type=\"tel\" id=\"partner_phone\" required placeholder=\"+20 100 000 0000\">\r\n                <\/div>\r\n                \r\n                <!-- Coupon Code Section -->\r\n                <div class=\"ft-form-group\">\r\n                    <label>Code promo (Optionnel)<\/label>\r\n                    <div style=\"display:flex; gap:6px;\">\r\n                        <input type=\"text\" id=\"ft_coupon_input\" placeholder=\"Entrez le code promo\" style=\"text-transform:uppercase;\">\r\n                        <button type=\"button\" onclick=\"ftApplyCoupon()\" style=\"background:#0f172a; color:#fff; border:none; padding:0 14px; border-radius:8px; cursor:pointer; font-weight:700;\">Appliquer<\/button>\r\n                    <\/div>\r\n                    <small id=\"ft_coupon_msg\" style=\"display:block; margin-top:4px; font-weight:600;\"><\/small>\r\n                <\/div>\r\n                \r\n                <button type=\"submit\" class=\"ft-wa-submit-btn\">\r\n                    \ud83d\udcac Envoyer la r\u00e9servation via WhatsApp                <\/button>\r\n            <\/form>\r\n        <\/div>\r\n    <\/div>\r\n    \r\n    <style>\r\n        .ft-st-search-container { max-width: 1200px; margin: 30px auto; font-family: system-ui, -apple-system, sans-serif; }\r\n        .ft-trip-type-header { display: flex; gap: 15px; margin-bottom: 12px; }\r\n        .ft-type-tab { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 0.9rem; color: #1e293b; background: #ffffff; padding: 6px 16px; border-radius: 20px; border: 1px solid #cbd5e1; font-weight: 600; }\r\n        .ft-active-tab { background: #0f172a !important; color: #ffffff !important; border-color: #0f172a !important; }\r\n        .ft-type-tab input { display: none; }\r\n        \r\n        .ft-yellow-bar { background: #ffcc00; padding: 12px; border-radius: 14px; display: flex; align-items: flex-end; gap: 8px; box-shadow: 0 10px 25px rgba(0,0,0,0.15); flex-wrap: wrap; }\r\n        .ft-bar-field-wrapper { display: flex; flex-direction: column; flex: 1; min-width: 170px; position: relative; }\r\n        .ft-btn-wrapper { flex: 0 0 auto; min-width: 120px; }\r\n        .ft-field-label { font-size: 0.75rem; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 4px; padding-left: 2px; }\r\n        \r\n        .ft-bar-field { background: #ffffff; border-radius: 8px; padding: 0 12px; display: flex; align-items: center; gap: 8px; height: 48px; box-sizing: border-box; border: 1px solid #e2e8f0; }\r\n        .ft-field-icon { font-size: 1.1rem; }\r\n        .ft-bar-field input { border: none; outline: none; font-size: 0.88rem; font-weight: 700; color: #0f172a; width: 100%; background: transparent; height: 100%; }\r\n        \r\n        \/* Subfields for Airport\/Time *\/\r\n        .ft-subfields-container { margin-top: 6px; display: flex; flex-direction: column; gap: 6px; }\r\n        .ft-subfield-row input, .ft-subfield-row select { width: 100%; height: 38px; padding: 0 10px; border: 1px solid #cbd5e1; border-radius: 6px; background: #ffffff; font-size: 0.83rem; font-weight: 600; color: #0f172a; outline: none; box-sizing: border-box; }\r\n\r\n        .ft-pax-val { font-size: 0.88rem; font-weight: 700; color: #0f172a; cursor: pointer; white-space: nowrap; }\r\n        .ft-search-green-btn { background: #00b050; color: #ffffff; border: none; width: 100%; height: 48px; border-radius: 8px; font-size: 1.1rem; font-weight: 800; cursor: pointer; transition: background 0.2s; }\r\n        .ft-search-green-btn:hover { background: #009142; }\r\n        \r\n        .ft-autocomplete-menu { position: absolute; top: 72px; left: 0; width: 310px; background: #ffffff; border-radius: 8px; box-shadow: 0 10px 25px rgba(0,0,0,0.2); z-index: 9999; max-height: 280px; overflow-y: auto; border: 1px solid #e2e8f0; padding: 6px 0; }\r\n        .ft-group-header { font-size: 0.72rem; font-weight: 800; color: #64748b; padding: 6px 12px; text-transform: uppercase; background: #f8fafc; }\r\n        .ft-drop-item { padding: 8px 12px; display: flex; align-items: center; gap: 8px; cursor: pointer; }\r\n        .ft-drop-item:hover { background: #f1f5f9; }\r\n        .ft-drop-item .item-title { font-size: 0.85rem; font-weight: 700; color: #1e293b; }\r\n        .ft-drop-item .item-sub { font-size: 0.7rem; color: #64748b; }\r\n        .ft-pax-popover { position: absolute; top: 72px; right: 0; width: 200px; background: #ffffff; border-radius: 8px; box-shadow: 0 10px 25px rgba(0,0,0,0.2); padding: 12px; z-index: 9999; border: 1px solid #e2e8f0; }\r\n        .ft-pax-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; font-size: 0.85rem; font-weight: 600; }\r\n        .ft-counter-ctrl { display: flex; align-items: center; gap: 6px; }\r\n        .ft-counter-ctrl button { width: 24px; height: 24px; border-radius: 50%; border: 1px solid #cbd5e1; background: #f8fafc; font-weight: bold; cursor: pointer; }\r\n        .ft-trust-badges { display: flex; gap: 20px; margin-top: 15px; justify-content: center; font-size: 0.85rem; color: #1e293b; font-weight: 700; flex-wrap: wrap; }\r\n        \r\n        \/* Vehicle Cards *\/\r\n        .ft-results-wrapper { margin-top: 40px; }\r\n        .ft-results-title { font-size: 1.4rem; color: #0f172a; margin-bottom: 20px; font-weight: 800; }\r\n        .ft-vehicles-grid { display: flex; flex-direction: column; gap: 20px; }\r\n        .ft-vehicle-card { display: grid; grid-template-columns: 220px 1fr 170px; gap: 20px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 20px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); align-items: center; }\r\n        .ft-vehicle-image { position: relative; text-align: center; }\r\n        .ft-vehicle-image img { width: 100%; height: 120px; object-fit: cover; border-radius: 8px; }\r\n        .ft-badge { position: absolute; top: 8px; left: 8px; background: #16a34a; color: #fff; font-size: 0.72rem; font-weight: 700; padding: 3px 6px; border-radius: 4px; }\r\n        .ft-badge-group { background: #0284c7; }\r\n        .ft-badge-bus { background: #7c3aed; }\r\n        .ft-vehicle-info h4 { margin: 0 0 6px 0; font-size: 1.15rem; color: #0f172a; }\r\n        .ft-model-desc { margin: 0 0 10px 0; font-size: 0.85rem; color: #64748b; }\r\n        .ft-capacities { display: flex; flex-wrap: wrap; gap: 10px; font-size: 0.8rem; color: #334155; font-weight: 600; }\r\n        .ft-capacities span { background: #f1f5f9; padding: 4px 8px; border-radius: 6px; }\r\n        .ft-vehicle-pricing { text-align: right; border-left: 1px solid #f1f5f9; padding-left: 15px; }\r\n        .ft-price-label { font-size: 0.75rem; color: #64748b; display: block; }\r\n        .ft-price-value { font-size: 1.6rem; font-weight: 800; color: #ea580c; margin: 4px 0 10px 0; }\r\n        .ft-book-btn { background: #0f172a; color: #fff; border: none; padding: 10px; border-radius: 6px; font-weight: 700; cursor: pointer; width: 100%; }\r\n        .ft-book-btn:hover { background: #ea580c; }\r\n        \r\n        \/* Modal Styles *\/\r\n        .ft-modal-overlay { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.75); z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 20px; backdrop-filter: blur(4px); }\r\n        .ft-modal-content { background: #ffffff; border-radius: 16px; padding: 25px; width: 100%; max-width: 480px; position: relative; box-shadow: 0 20px 40px rgba(0,0,0,0.25); }\r\n        .ft-modal-close { position: absolute; top: 15px; right: 20px; font-size: 1.8rem; font-weight: bold; color: #64748b; cursor: pointer; }\r\n        .ft-modal-header h3 { margin: 0 0 4px 0; color: #0f172a; font-size: 1.3rem; }\r\n        .ft-modal-header p { margin: 0 0 15px 0; color: #64748b; font-size: 0.85rem; }\r\n        \r\n        .ft-summary-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px 15px; margin-bottom: 20px; font-size: 0.88rem; }\r\n        .ft-summary-row { display: flex; justify-content: space-between; margin-bottom: 6px; color: #334155; }\r\n        .ft-total-row { border-top: 1px solid #cbd5e1; padding-top: 8px; margin-top: 8px; font-size: 1.05rem; color: #ea580c; }\r\n        \r\n        .ft-modal-form .ft-form-group { margin-bottom: 12px; }\r\n        .ft-modal-form label { display: block; font-size: 0.8rem; font-weight: 700; color: #334155; margin-bottom: 4px; }\r\n        .ft-req { color: #dc2626; }\r\n        .ft-modal-form input { width: 100%; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 8px; font-size: 0.9rem; box-sizing: border-box; }\r\n        .ft-wa-submit-btn { background: #25d366; color: #ffffff; border: none; width: 100%; padding: 12px; font-size: 1.0rem; font-weight: 800; border-radius: 8px; cursor: pointer; box-shadow: 0 4px 12px rgba(37, 211, 102, 0.3); transition: transform 0.2s; margin-top: 5px; }\r\n        .ft-wa-submit-btn:hover { background: #1eb956; transform: translateY(-1px); }\r\n        \r\n        @media (max-width: 992px) {\r\n            .ft-yellow-bar { flex-direction: column; align-items: stretch; }\r\n            .ft-bar-field-wrapper { width: 100%; }\r\n            .ft-vehicle-card { grid-template-columns: 1fr; text-align: center; }\r\n            .ft-vehicle-pricing { border-left: none; border-top: 1px solid #f1f5f9; padding-left: 0; padding-top: 15px; text-align: center; }\r\n        }\r\n    <\/style>\r\n    \r\n    <script>\r\n    var ftRatesMatrix = {\"Sharm El Sheikh\":{\"airport\":\"Sharm El Sheikh Airport (SSH)\",\"destinations\":{\"Naama Bay\":{\"sedan\":15,\"suv\":20,\"hiace\":25,\"coaster\":40,\"bus\":100},\"Nabq Bay\":{\"sedan\":20,\"suv\":25,\"hiace\":35,\"coaster\":50,\"bus\":120},\"Sharks Bay\":{\"sedan\":15,\"suv\":20,\"hiace\":25,\"coaster\":40,\"bus\":100},\"Om El Seid\":{\"sedan\":18,\"suv\":22,\"hiace\":30,\"coaster\":45,\"bus\":110},\"Ras Nasrani\":{\"sedan\":15,\"suv\":20,\"hiace\":25,\"coaster\":40,\"bus\":100},\"Dahab\":{\"sedan\":50,\"suv\":65,\"hiace\":80,\"coaster\":180,\"bus\":350}},\"hotels\":{\"M\\u00f6venpick Resort Sharm\":\"Naama Bay\",\"Rixos Radmis\":\"Nabq Bay\",\"SUNRISE Diamond Beach\":\"Om El Seid\",\"Four Seasons Resort\":\"Sharks Bay\",\"Steigenberger Alcazar\":\"Nabq Bay\",\"Albatros Aqua Park Sharm\":\"Om El Seid\"}},\"Hurghada\":{\"airport\":\"Hurghada International Airport (HRG)\",\"destinations\":{\"Sahl Hasheesh\":{\"sedan\":25,\"suv\":35,\"hiace\":45,\"coaster\":70,\"bus\":150},\"El Gouna\":{\"sedan\":30,\"suv\":40,\"hiace\":50,\"coaster\":80,\"bus\":160},\"Makadi Bay\":{\"sedan\":25,\"suv\":35,\"hiace\":45,\"coaster\":70,\"bus\":150},\"Soma Bay\":{\"sedan\":35,\"suv\":45,\"hiace\":60,\"coaster\":90,\"bus\":180},\"Marsa Alam\":{\"sedan\":100,\"suv\":120,\"hiace\":150,\"coaster\":200,\"bus\":350}},\"hotels\":{\"Steigenberger ALDAU Beach\":\"Hurghada\",\"Rixos Premium Magawish\":\"Hurghada\",\"Oberoi Sahl Hasheesh\":\"Sahl Hasheesh\"}},\"Cairo\":{\"airport\":\"Cairo International Airport (CAI)\",\"destinations\":{\"Downtown Cairo\":{\"sedan\":40,\"suv\":45,\"hiace\":50,\"coaster\":90,\"bus\":150},\"Giza Pyramids Area\":{\"sedan\":50,\"suv\":55,\"hiace\":60,\"coaster\":95,\"bus\":170},\"New Cairo (5th)\":{\"sedan\":55,\"suv\":60,\"hiace\":70,\"coaster\":100,\"bus\":180}},\"hotels\":{\"Marriott Mena House\":\"Giza Pyramids Area\",\"The Nile Ritz-Carlton\":\"Downtown Cairo\",\"Four Seasons Plaza Cairo\":\"Downtown Cairo\"}}};\r\n    var ftExchangeRates = {\"USD\":1,\"EUR\":0.92,\"GBP\":0.79,\"EGP\":50.5};\r\n    var ftCurrencySymbols = {\"USD\":\"$\",\"EUR\":\"\\u20ac\",\"GBP\":\"\\u00a3\",\"EGP\":\"EGP \"};\r\n    \r\n    var ftCurrencySymbol = \"$\";\r\n    var ftCurrencyRate = 1;\r\n    var ftCurrentCurrency = \"USD\";\r\n    \r\n    var ftCouponCode = \"DISCOUNT15\";\r\n    var ftCouponPercent = 5;\r\n    var ftIsCouponApplied = false;\r\n    \r\n    var currentAdults = 2;\r\n    var currentChildren = 0;\r\n    var currentTripMode = 'return';\r\n    var selectedVehicleTitle = \"\";\r\n    var selectedVehicleCategory = \"\";\r\n    var currentRawVehiclePrices = {};\r\n\r\n    \/\/ Initialize Date Constraints & Currency Detection on Load\r\n    document.addEventListener('DOMContentLoaded', function() {\r\n        var todayStr = new Date().toISOString().split('T')[0];\r\n        \r\n        \/\/ Arrival Date: Min today\r\n        var arrInput = document.getElementById('ft_arrival_date');\r\n        arrInput.min = todayStr;\r\n        \r\n        \/\/ Departure Date: Min today\r\n        var depInput = document.getElementById('ft_departure_date');\r\n        depInput.min = todayStr;\r\n\r\n        \/\/ Default Pickup Point\r\n        if(!document.getElementById('ft_pickup_input').value) {\r\n            document.getElementById('ft_pickup_input').value = \"Sharm El Sheikh Airport (SSH)\";\r\n        }\r\n        \r\n        checkLiveCurrencyChanges();\r\n        checkAirportPickup();\r\n        ftUpdateRatesAndFilter();\r\n        \r\n        \/\/ Continuously monitor if the site's currency switcher changes currency\r\n        setInterval(checkLiveCurrencyChanges, 1000);\r\n    });\r\n\r\n    \/\/ Automatically check cookies or DOM elements for live currency changes from switcher plugins\r\n    function checkLiveCurrencyChanges() {\r\n        var detectedCurr = ftCurrentCurrency;\r\n        \r\n        \/\/ Check standard currency switcher cookies\r\n        var cookies = document.cookie.split(';');\r\n        for (var i = 0; i < cookies.length; i++) {\r\n            var cookie = cookies[i].trim();\r\n            if (cookie.indexOf('current_currency=') === 0 || cookie.indexOf('woocommerce_currency=') === 0 || cookie.indexOf('wmc_current_currency=') === 0) {\r\n                var val = cookie.split('=')[1].trim().toUpperCase();\r\n                if (val) detectedCurr = val;\r\n            }\r\n        }\r\n        \r\n        if (detectedCurr !== ftCurrentCurrency && ftExchangeRates[detectedCurr]) {\r\n            ftCurrentCurrency = detectedCurr;\r\n            ftCurrencyRate = ftExchangeRates[detectedCurr];\r\n            ftCurrencySymbol = ftCurrencySymbols[detectedCurr] || detectedCurr + \" \";\r\n            ftUpdateRatesAndFilter();\r\n        }\r\n    }\r\n\r\n    function ftToggleTripMode(mode) {\r\n        currentTripMode = mode;\r\n        var depField = document.getElementById('ft_departure_field');\r\n        document.getElementById('ft_tab_return').classList.remove('ft-active-tab');\r\n        document.getElementById('ft_tab_oneway').classList.remove('ft-active-tab');\r\n        if (mode === 'one_way') {\r\n            document.getElementById('ft_tab_oneway').classList.add('ft-active-tab');\r\n            depField.style.display = 'none';\r\n        } else {\r\n            document.getElementById('ft_tab_return').classList.add('ft-active-tab');\r\n            depField.style.display = 'flex';\r\n        }\r\n        ftUpdateRatesAndFilter();\r\n    }\r\n\r\n    function ftShowDropdown(type) {\r\n        document.getElementById('ft_' + type + '_input').value = \"\";\r\n        ftFilterDropdown(type);\r\n    }\r\n\r\n    function ftDetectCityForValue(val) {\r\n        if (!val) return null;\r\n        val = val.toLowerCase();\r\n        for (var city in ftRatesMatrix) {\r\n            if (val.includes(city.toLowerCase())) return city;\r\n            if (ftRatesMatrix[city].airport.toLowerCase().includes(val)) return city;\r\n            for (var dest in ftRatesMatrix[city].destinations) {\r\n                if (dest.toLowerCase() === val || val.includes(dest.toLowerCase())) return city;\r\n            }\r\n            for (var hotel in ftRatesMatrix[city].hotels) {\r\n                if (hotel.toLowerCase().includes(val)) return city;\r\n            }\r\n        }\r\n        return null;\r\n    }\r\n\r\n    \/\/ Toggle Airport Sub-fields when Arrival Date is clicked\/selected AND pickup is airport\r\n    function ftToggleArrivalSubfields() {\r\n        var pickupVal = document.getElementById('ft_pickup_input').value.toLowerCase();\r\n        var arrDateVal = document.getElementById('ft_arrival_date').value;\r\n        var subfields = document.getElementById('ft_airport_subfields');\r\n        \r\n        var isAirport = pickupVal.includes('airport') || pickupVal.includes('(ssh)') || pickupVal.includes('(hrg)') || pickupVal.includes('(cai)');\r\n        \r\n        if (arrDateVal && isAirport) {\r\n            subfields.style.display = 'flex';\r\n        } else {\r\n            subfields.style.display = 'none';\r\n        }\r\n    }\r\n\r\n    \/\/ Toggle Departure Sub-fields when Departure Date is clicked\/selected\r\n    function ftToggleDepartureSubfields() {\r\n        var depDateVal = document.getElementById('ft_departure_date').value;\r\n        var subfields = document.getElementById('ft_departure_subfields');\r\n        \r\n        if (depDateVal) {\r\n            subfields.style.display = 'flex';\r\n        } else {\r\n            subfields.style.display = 'none';\r\n        }\r\n    }\r\n\r\n    function checkAirportPickup() {\r\n        ftToggleArrivalSubfields();\r\n    }\r\n\r\n    function ftFilterDropdown(type) {\r\n        var inputVal = document.getElementById('ft_' + type + '_input').value.toLowerCase().trim();\r\n        var drop = document.getElementById('ft_' + type + '_dropdown');\r\n        \r\n        var otherType = (type === 'pickup') ? 'dropoff' : 'pickup';\r\n        var otherVal = document.getElementById('ft_' + otherType + '_input').value.trim();\r\n        var lockedCity = otherVal ? ftDetectCityForValue(otherVal) : null;\r\n        var html = \"\";\r\n        html += `<div class=\"ft-group-header\">${lockedCity ? 'Available Options in ' + lockedCity : 'Toutes destinations & a\u00e9roports'}<\/div>`;\r\n        for (var city in ftRatesMatrix) {\r\n            if (lockedCity && city !== lockedCity) continue;\r\n            var airport = ftRatesMatrix[city].airport;\r\n            var cityData = ftRatesMatrix[city];\r\n            if (!inputVal || airport.toLowerCase().includes(inputVal) || city.toLowerCase().includes(inputVal)) {\r\n                html += `<div class=\"ft-drop-item\" onclick=\"ftSelectOption('${type}', '${airport}', '${city}')\">\r\n                            <span>\u2708\ufe0f<\/span>\r\n                            <div>\r\n                                <div class=\"item-title\">${airport}<\/div>\r\n                                <div class=\"item-sub\">${city} (Airport)<\/div>\r\n                            <\/div>\r\n                         <\/div>`;\r\n            }\r\n            for (var dest in cityData.destinations) {\r\n                if (!inputVal || dest.toLowerCase().includes(inputVal) || city.toLowerCase().includes(inputVal)) {\r\n                    html += `<div class=\"ft-drop-item\" onclick=\"ftSelectOption('${type}', '${dest}', '${city}')\">\r\n                                <span>\ud83d\udccd<\/span>\r\n                                <div>\r\n                                    <div class=\"item-title\">${dest}<\/div>\r\n                                    <div class=\"item-sub\">${city} (Destination)<\/div>\r\n                                <\/div>\r\n                             <\/div>`;\r\n                }\r\n            }\r\n            for (var hotel in cityData.hotels) {\r\n                var area = cityData.hotels[hotel];\r\n                if (!inputVal || hotel.toLowerCase().includes(inputVal) || area.toLowerCase().includes(inputVal)) {\r\n                    html += `<div class=\"ft-drop-item\" onclick=\"ftSelectOption('${type}', '${hotel}', '${city}')\">\r\n                                <span>\ud83c\udfe8<\/span>\r\n                                <div>\r\n                                    <div class=\"item-title\">${hotel}<\/div>\r\n                                    <div class=\"item-sub\">${area}, ${city}<\/div>\r\n                                <\/div>\r\n                             <\/div>`;\r\n                }\r\n            }\r\n        }\r\n        drop.innerHTML = html;\r\n        drop.style.display = 'block';\r\n    }\r\n\r\n    function ftSelectOption(type, value, city) {\r\n        document.getElementById('ft_' + type + '_input').value = value;\r\n        document.getElementById('ft_' + type + '_dropdown').style.display = 'none';\r\n        \r\n        if (type === 'pickup') {\r\n            checkAirportPickup();\r\n        }\r\n\r\n        var otherType = (type === 'pickup') ? 'dropoff' : 'pickup';\r\n        var otherInput = document.getElementById('ft_' + otherType + '_input');\r\n        if (otherInput.value) {\r\n            var otherCity = ftDetectCityForValue(otherInput.value);\r\n            if (otherCity && otherCity !== city) {\r\n                otherInput.value = \"\"; \r\n            }\r\n        }\r\n        ftUpdateRatesAndFilter();\r\n    }\r\n\r\n    document.addEventListener('click', function(e) {\r\n        if (!e.target.closest('#ft_pickup_input') && !e.target.closest('#ft_pickup_dropdown')) {\r\n            document.getElementById('ft_pickup_dropdown').style.display = 'none';\r\n        }\r\n        if (!e.target.closest('#ft_dropoff_input') && !e.target.closest('#ft_dropoff_dropdown')) {\r\n            document.getElementById('ft_dropoff_dropdown').style.display = 'none';\r\n        }\r\n        if (!e.target.closest('.ft-bar-field-wrapper')) {\r\n            document.getElementById('ft_pax_popover').style.display = 'none';\r\n        }\r\n    });\r\n\r\n    function ftTogglePaxDropdown(e) {\r\n        e.stopPropagation();\r\n        var pop = document.getElementById('ft_pax_popover');\r\n        pop.style.display = (pop.style.display === 'block') ? 'none' : 'block';\r\n    }\r\n\r\n    function ftChangePax(type, delta) {\r\n        event.stopPropagation();\r\n        if (type === 'adults') {\r\n            currentAdults = Math.max(1, currentAdults + delta);\r\n            document.getElementById('ft_adults_num').textContent = currentAdults;\r\n        } else {\r\n            currentChildren = Math.max(0, currentChildren + delta);\r\n            document.getElementById('ft_children_num').textContent = currentChildren;\r\n        }\r\n        document.getElementById('ft_pax_display').textContent = currentAdults + \" adults, \" + currentChildren + \" children\";\r\n        ftUpdateRatesAndFilter();\r\n    }\r\n\r\n    function ftUpdateRatesAndFilter() {\r\n        var pickup = document.getElementById('ft_pickup_input').value || \"Sharm El Sheikh Airport (SSH)\";\r\n        var dropoff = document.getElementById('ft_dropoff_input').value || \"Naama Bay\";\r\n        var detectedCity = ftDetectCityForValue(pickup) || ftDetectCityForValue(dropoff) || \"Sharm El Sheikh\";\r\n        var cityData = ftRatesMatrix[detectedCity] || ftRatesMatrix[\"Sharm El Sheikh\"];\r\n        \r\n        var targetDest = \"\";\r\n        if (cityData.destinations[dropoff]) {\r\n            targetDest = dropoff;\r\n        } else if (cityData.hotels[dropoff]) {\r\n            targetDest = cityData.hotels[dropoff];\r\n        } else if (cityData.destinations[pickup]) {\r\n            targetDest = pickup;\r\n        } else if (cityData.hotels[pickup]) {\r\n            targetDest = cityData.hotels[pickup];\r\n        } else {\r\n            targetDest = Object.keys(cityData.destinations)[0];\r\n        }\r\n        var rates = cityData.destinations[targetDest] || {sedan:15, suv:20, hiace:25, coaster:40, bus:100};\r\n        var multiplier = (currentTripMode === 'return') ? 2 : 1;\r\n        \r\n        currentRawVehiclePrices = {\r\n            sedan: rates.sedan * multiplier,\r\n            suv: rates.suv * multiplier,\r\n            hiace: rates.hiace * multiplier,\r\n            coaster: rates.coaster * multiplier,\r\n            bus: rates.bus * multiplier\r\n        };\r\n        for (var cat in currentRawVehiclePrices) {\r\n            var converted = Math.round((currentRawVehiclePrices[cat] * ftCurrencyRate) * 100) \/ 100;\r\n            document.getElementById('price_' + cat).textContent = ftCurrencySymbol + converted.toLocaleString();\r\n        }\r\n        var totalPax = currentAdults + currentChildren;\r\n        var cards = document.querySelectorAll('.ft-vehicle-card');\r\n        cards.forEach(function(card) {\r\n            var minPax = parseInt(card.getAttribute('data-min-pax'));\r\n            var maxPax = parseInt(card.getAttribute('data-max-pax'));\r\n            if (totalPax >= minPax && totalPax <= maxPax) {\r\n                card.style.display = 'grid';\r\n            } else {\r\n                card.style.display = 'none';\r\n            }\r\n        });\r\n    }\r\n\r\n    function ftExecuteSearch() {\r\n        var pickupVal = document.getElementById('ft_pickup_input').value.toLowerCase();\r\n        var arrDateVal = document.getElementById('ft_arrival_date').value;\r\n        \r\n        \/\/ If pickup is airport and arrival date is chosen, validate flight details\r\n        if ((pickupVal.includes('airport') || pickupVal.includes('(ssh)') || pickupVal.includes('(hrg)') || pickupVal.includes('(cai)')) && arrDateVal) {\r\n            var flightNum = document.getElementById('ft_flight_number').value.trim();\r\n            var flightTime = document.getElementById('ft_arrival_time').value;\r\n            if (!flightNum || !flightTime) {\r\n                alert('Please enter both Flight Number and Arrival Time for airport pickup.');\r\n                return;\r\n            }\r\n        }\r\n\r\n        ftUpdateRatesAndFilter();\r\n        var results = document.getElementById('ft-vehicle-results');\r\n        if (results) {\r\n            results.scrollIntoView({ behavior: 'smooth' });\r\n        }\r\n    }\r\n\r\n    function ftApplyCoupon() {\r\n        var codeInput = document.getElementById('ft_coupon_input').value.trim().toUpperCase();\r\n        var msgEl = document.getElementById('ft_coupon_msg');\r\n        \r\n        if (codeInput === ftCouponCode.toUpperCase()) {\r\n            ftIsCouponApplied = true;\r\n            msgEl.style.color = '#16a34a';\r\n            msgEl.innerText = 'Code appliqu\u00e9 avec succ\u00e8s !';\r\n        } else {\r\n            ftIsCouponApplied = false;\r\n            msgEl.style.color = '#dc2626';\r\n            msgEl.innerText = 'Code promo invalide';\r\n        }\r\n        updateModalCalculation();\r\n    }\r\n\r\n    function updateModalCalculation() {\r\n        if (!selectedVehicleCategory) return;\r\n        var rawUsd = currentRawVehiclePrices[selectedVehicleCategory] || 15;\r\n        var convertedPrice = Math.round((rawUsd * ftCurrencyRate) * 100) \/ 100;\r\n        \r\n        var discountAmt = 0;\r\n        if (ftIsCouponApplied) {\r\n            discountAmt = Math.round((convertedPrice * ftCouponPercent) \/ 100 * 100) \/ 100;\r\n        }\r\n        var finalTotal = Math.round((convertedPrice - discountAmt) * 100) \/ 100;\r\n        var discRow = document.getElementById('modal_discount_row');\r\n        if (discountAmt > 0) {\r\n            discRow.style.display = 'flex';\r\n            document.getElementById('modal_discount_amt').textContent = \"-\" + ftCurrencySymbol + discountAmt.toLocaleString();\r\n        } else {\r\n            discRow.style.display = 'none';\r\n        }\r\n        document.getElementById('modal_total_price').textContent = ftCurrencySymbol + finalTotal.toLocaleString();\r\n    }\r\n\r\n    function openBookingModal(title, category) {\r\n        selectedVehicleTitle = title;\r\n        selectedVehicleCategory = category;\r\n        var pickup = document.getElementById('ft_pickup_input').value || 'Airport';\r\n        var dropoff = document.getElementById('ft_dropoff_input').value || 'Hotel';\r\n        var arrDate = document.getElementById('ft_arrival_date').value || 'Not set';\r\n        var depDate = document.getElementById('ft_departure_date').value || 'Not set';\r\n        \r\n        document.getElementById('modal_vehicle_name').textContent = title;\r\n        document.getElementById('modal_route').textContent = pickup + \" \u2794 \" + dropoff;\r\n        document.getElementById('modal_trip_type').textContent = (currentTripMode === 'return') ? \"Aller-Retour (2 Voies)\" : \"Aller Simple\";\r\n        document.getElementById('modal_pax').textContent = currentAdults + \" Adults, \" + currentChildren + \" Children\";\r\n        document.getElementById('modal_arr_date').textContent = arrDate;\r\n        \r\n        \/\/ Flight info summary\r\n        var flightNum = document.getElementById('ft_flight_number').value.trim();\r\n        var arrTime = document.getElementById('ft_arrival_time').value;\r\n        var flightRow = document.getElementById('modal_flight_summary_row');\r\n        if (flightNum || arrTime) {\r\n            flightRow.style.display = 'flex';\r\n            document.getElementById('modal_flight_info').textContent = \"Flight: \" + (flightNum || 'N\/A') + \" | Time: \" + (arrTime || 'N\/A');\r\n        } else {\r\n            flightRow.style.display = 'none';\r\n        }\r\n\r\n        var depRow = document.getElementById('modal_dep_row');\r\n        if (currentTripMode === 'return') {\r\n            depRow.style.display = 'flex';\r\n            var prefTime = document.getElementById('ft_pickup_time').value;\r\n            document.getElementById('modal_dep_date').textContent = depDate + (prefTime ? \" (\" + prefTime + \")\" : \"\");\r\n        } else {\r\n            depRow.style.display = 'none';\r\n        }\r\n        \r\n        updateModalCalculation();\r\n        document.getElementById('ft_booking_modal').style.display = 'flex';\r\n    }\r\n\r\n    function closeBookingModal() {\r\n        document.getElementById('ft_booking_modal').style.display = 'none';\r\n    }\r\n\r\n    function sendWhatsAppBooking(e) {\r\n        e.preventDefault();\r\n        var agency = document.getElementById('partner_agency').value;\r\n        var email = document.getElementById('partner_email').value;\r\n        var phone = document.getElementById('partner_phone').value;\r\n        var pickup = document.getElementById('ft_pickup_input').value || 'Airport';\r\n        var dropoff = document.getElementById('ft_dropoff_input').value || 'Hotel';\r\n        var arrDate = document.getElementById('ft_arrival_date').value || 'N\/A';\r\n        var flightNum = document.getElementById('ft_flight_number').value.trim();\r\n        var arrTime = document.getElementById('ft_arrival_time').value;\r\n        var depDate = document.getElementById('ft_departure_date').value || 'N\/A';\r\n        var prefTime = document.getElementById('ft_pickup_time').value;\r\n        var price = document.getElementById('modal_total_price').textContent;\r\n        var adminPhone = \"201005872561\";\r\n        \r\n        var text = \"\ud83d\udea8 *NEW TRANSFER BOOKING REQUEST* \ud83d\udea8\\n\";\r\n        text += \"--------------------------------------\\n\";\r\n        text += \"\ud83c\udfe2 *First Name:* \" + agency + \"\\n\";\r\n        text += \"\ud83d\udce7 *Email:* \" + email + \"\\n\";\r\n        text += \"\ud83d\udcde *WhatsApp\/Phone:* \" + phone + \"\\n\\n\";\r\n        text += \"--- *TRANSFER DETAILS* ---\\n\";\r\n        text += \"\ud83d\ude97 *Vehicle:* \" + selectedVehicleTitle + \"\\n\";\r\n        text += \"\ud83d\udccd *Pickup:* \" + pickup + \"\\n\";\r\n        text += \"\ud83c\udfc1 *Drop-off:* \" + dropoff + \"\\n\";\r\n        text += \"\ud83d\udd04 *Trip Type:* \" + ((currentTripMode === 'return') ? \"Return Trip (2 Ways)\" : \"One Way\") + \"\\n\";\r\n        text += \"\ud83d\udc65 *Passengers:* \" + currentAdults + \" Adults, \" + currentChildren + \" Children\\n\";\r\n        text += \"\ud83d\udcc5 *Arrival Date:* \" + arrDate + \"\\n\";\r\n        if (flightNum || arrTime) {\r\n            text += \"\u2708\ufe0f *Flight Info:* \" + (flightNum ? \"No: \" + flightNum : \"\") + (arrTime ? \" Time: \" + arrTime : \"\") + \"\\n\";\r\n        }\r\n        if (currentTripMode === 'return') {\r\n            text += \"\ud83d\udeeb *Return Date:* \" + depDate + (prefTime ? \" (Preferred Pickup: \" + prefTime + \")\" : \"\") + \"\\n\";\r\n        }\r\n        if (ftIsCouponApplied) {\r\n            text += \"\ud83c\udff7\ufe0f *Coupon Used:* \" + ftCouponCode + \" (\" + ftCouponPercent + \"% off)\\n\";\r\n        }\r\n        text += \"\ud83d\udcb0 *Total Calculated Rate:* \" + price + \"\\n\";\r\n        text += \"--------------------------------------\\n\";\r\n        text += \"Please confirm availability for this request.\";\r\n        \r\n        var waUrl = \"https:\/\/api.whatsapp.com\/send?phone=\" + adminPhone + \"&text=\" + encodeURIComponent(text);\r\n        window.open(waUrl, '_blank');\r\n        closeBookingModal();\r\n    }\r\n    <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-6101","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/yalla-holiday.com\/fr\/wp-json\/wp\/v2\/pages\/6101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yalla-holiday.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/yalla-holiday.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/yalla-holiday.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yalla-holiday.com\/fr\/wp-json\/wp\/v2\/comments?post=6101"}],"version-history":[{"count":21,"href":"https:\/\/yalla-holiday.com\/fr\/wp-json\/wp\/v2\/pages\/6101\/revisions"}],"predecessor-version":[{"id":6244,"href":"https:\/\/yalla-holiday.com\/fr\/wp-json\/wp\/v2\/pages\/6101\/revisions\/6244"}],"wp:attachment":[{"href":"https:\/\/yalla-holiday.com\/fr\/wp-json\/wp\/v2\/media?parent=6101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}