{"id":34198,"date":"2026-02-21T21:31:14","date_gmt":"2026-02-21T21:31:14","guid":{"rendered":"https:\/\/www.centralcab.fr\/paris-airport\/?page_id=34198"},"modified":"2026-02-24T01:01:47","modified_gmt":"2026-02-24T01:01:47","slug":"paris-airport-transfer","status":"publish","type":"page","link":"https:\/\/www.centralcab.fr\/paris-airport\/","title":{"rendered":"Paris Airport Transfer"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"34198\" class=\"elementor elementor-34198\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"has_ae_slider elementor-element elementor-element-981711b e-flex e-con-boxed ae-bg-gallery-type-default e-con e-parent\" data-id=\"981711b\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d86cf28 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"d86cf28\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n \n <title>Taxi Paris Airport : Transfert VTC A\u00e9roport Paris (CDG, Orly) | Chauffeur Priv\u00e9 Central Cab<\/title>\n <meta name=\"description\" content=\"R\u00e9servez votre taxi VTC aux a\u00e9roports de Paris (Roissy CDG, Orly, Le Bourget). Chauffeur priv\u00e9 VTC, accueil pancarte, suivi de vol et tarif fixe garanti.\">\n <link rel=\"canonical\" href=\"https:\/\/centralcab.fr\/paris-airport\/\">\n \n <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cinzel:wght@400;500;700&family=Manrope:wght@300;400;600&display=swap\" rel=\"stylesheet\">\n <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0\/css\/all.min.css\">\n\n <script type=\"application\/ld+json\">\n    {\n      \"@context\": \"https:\/\/schema.org\",\n      \"@graph\": [\n        {\n          \"@type\": \"TaxiService\",\n          \"@id\": \"https:\/\/centralcab.fr\/paris-airport\/#localbusiness\",\n          \"name\": \"Central Cab Paris\",\n          \"url\": \"https:\/\/centralcab.fr\/paris-airport\/\",\n          \"logo\": \"https:\/\/centralcab.fr\/wp-content\/uploads\/logo.png\",\n          \"image\": \"https:\/\/images.unsplash.com\/photo-1499856871958-5b9627545d1a\",\n          \"telephone\": \"+33182832227\",\n          \"priceRange\": \"\u20ac\u20ac\u20ac\",\n          \"address\": {\n            \"@type\": \"PostalAddress\",\n            \"streetAddress\": \"58 Rue de Monceau\",\n            \"addressLocality\": \"Paris\",\n            \"postalCode\": \"75008\",\n            \"addressCountry\": \"FR\"\n          },\n          \"sameAs\": [\n            \"https:\/\/business.google.com\/n\/16569531180177201610\/profile?fid=1551801009132467685\"\n          ]\n        },\n        {\n          \"@type\": \"Service\",\n          \"@id\": \"https:\/\/centralcab.fr\/paris-airport\/#service\",\n          \"name\": \"Paris Airport Transfers & VIP Services\",\n          \"serviceType\": \"Airport Transfer\",\n          \"provider\": { \"@id\": \"https:\/\/centralcab.fr\/paris-airport\/#localbusiness\" },\n          \"areaServed\": [\n            { \"@type\": \"Place\", \"name\": \"A\u00e9roport Roissy-Charles de Gaulle (CDG)\" },\n            { \"@type\": \"Place\", \"name\": \"A\u00e9roport de Paris-Orly (ORY)\" },\n            { \"@type\": \"Place\", \"name\": \"A\u00e9roport de Paris-Le Bourget (LBG)\" },\n            { \"@type\": \"City\", \"name\": \"Paris\" },\n            { \"@type\": \"Place\", \"name\": \"Disneyland Paris\" }\n          ],\n          \"description\": \"Service de chauffeur priv\u00e9 premium pour tous vos transferts depuis et vers les a\u00e9roports parisiens. Accueil VIP et tarif fixe.\",\n          \"hasOfferCatalog\": {\n            \"@type\": \"OfferCatalog\",\n            \"name\": \"Services VTC Annexes Paris & A\u00e9roports\",\n            \"itemListElement\": [\n              { \"@type\": \"Offer\", \"itemOffered\": { \"@type\": \"Service\", \"name\": \"Transfert VTC A\u00e9roport Paris vers Disneyland Paris avec si\u00e8ge b\u00e9b\u00e9\" } },\n              { \"@type\": \"Offer\", \"itemOffered\": { \"@type\": \"Service\", \"name\": \"Location Van VTC 7 places avec chauffeur pour gros volumes et bagages (CDG\/Orly)\" } },\n              { \"@type\": \"Offer\", \"itemOffered\": { \"@type\": \"Service\", \"name\": \"Mise \u00e0 disposition chauffeur priv\u00e9 Paris (Fashion Week, Roadshow Business)\" } },\n              { \"@type\": \"Offer\", \"itemOffered\": { \"@type\": \"Service\", \"name\": \"Accueil VIP (Meet & Greet) avec pancarte et porteur de bagages aux a\u00e9roports de Paris\" } }\n            ]\n          }\n        }\n      ]\n    }\n    <\/script>\n\n <style>\n \/* --- 3. DESIGN SYSTEM (NOIR & OR) --- *\/\n:root{\n --gold-grad:linear-gradient(135deg,#bf953f 0%,#fcf6ba 40%,#b38728 60%,#fbf5b7 100%);\n --gold-flat:#c6a87c;\n --bg-deep:#050505;\n --bg-panel:#0f0f0f;\n --glass:rgba(15,15,15,0.95);\n --border-glass:rgba(198,168,124,0.2);\n --font-serif:'Cinzel',serif;\n --font-sans:'Manrope',sans-serif;\n}\n\n html{scroll-behavior:smooth}\n body{margin:0;padding:0;background-color:var(--bg-deep);color:#e0e0e0;font-family:var(--font-sans);overflow-x:hidden}\n\n h1,h2,h3,h4{font-family:var(--font-serif);text-transform:uppercase;margin:0;line-height:1.2}\n p{line-height:1.8;color:#aaa;margin-bottom:20px}\n\n .cc-gold-text{background:var(--gold-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent}\n \n .cc-btn-lux{\n position:relative;padding:15px 35px;background:transparent;\n border:1px solid var(--gold-flat);color:var(--gold-flat);\n text-transform:uppercase;letter-spacing:2px;font-weight:600;cursor:pointer;\n transition:0.4s;display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:0.85rem;\n}\n .cc-btn-lux:hover{background:var(--gold-flat);color:#000;box-shadow:0 0 20px rgba(198,168,124,0.4);transform:translateY(-3px)}\n\n \/* --- HERO SECTION (CENTRE) --- *\/\n .paris-hero{\n position:relative;min-height:85vh;display:flex;align-items:center;justify-content:center;\n padding:100px 5% 40px;text-align:center;\n}\n .paris-hero-bg{\n position:absolute;top:0;left:0;width:100%;height:110%;\n background:url('https:\/\/www.centralcab.fr\/paris-airport\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_omidwiomidwiomid.png?q=80&w=1920') center\/cover;\n z-index:1;filter:brightness(0.3) contrast(1.1);\n}\n .paris-hero-content{\n position:relative;z-index:2;width:100%;max-width:900px;animation:fadeUp 1s ease-out;\n}\n\n \/* --- WIDGET R\u00c9SERVATION (LA SOLUTION PLEINE LARGEUR) --- *\/\n .booking-wrapper{\n position:relative;z-index:10;max-width:1100px;margin:-0px auto 60px;\n padding:0 5%;animation:fadeUp 1.2s ease-out;\n}\n .booking-container{\n background:var(--glass);backdrop-filter:blur(15px);border:1px solid var(--border-glass);\n border-top:4px solid var(--gold-flat);border-radius:4px;padding:40px;\n box-shadow:0 30px 60px rgba(0,0,0,0.8);width:100%;box-sizing:border-box;\n}\n .shortcode-placeholder{\n border:2px dashed #333;padding:60px 20px;text-align:center;background:rgba(0,0,0,0.3);\n border-radius:4px;\n}\n\n \/* --- CARACT\u00c9RISTIQUES --- *\/\n .features-sec{padding:40px 5% 80px;background:var(--bg-deep);position:relative;z-index:5}\n .features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;max-width:1400px;margin:0 auto}\n .feat-card{text-align:center;padding:20px;transition:0.3s;border:1px solid transparent;border-radius:4px}\n .feat-card:hover{transform:translateY(-5px);background:rgba(255,255,255,0.02);border-color:var(--border-glass)}\n .feat-icon{font-size:2.2rem;color:var(--gold-flat);margin-bottom:20px}\n .feat-card h4{color:white;margin-bottom:10px;font-size:1.1rem}\n .feat-card p{font-size:0.85rem;color:#888;margin:0}\n\n \/* --- GRILLE A\u00c9ROPORTS --- *\/\n .airports-sec{padding:100px 5%;background:#080808;border-top:1px solid #1a1a1a}\n .airports-header{text-align:center;max-width:800px;margin:0 auto 50px}\n .airports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1400px;margin:0 auto}\n \n .airport-card{\n position:relative;height:350px;border:1px solid #222;border-radius:4px;overflow:hidden;cursor:pointer;\n}\n .airport-img{width:100%;height:100%;object-fit:cover;transition:0.8s;filter:grayscale(40%) brightness(0.6)}\n .airport-card:hover .airport-img{transform:scale(1.08);filter:grayscale(0%) brightness(0.8)}\n \n .airport-info{\n position:absolute;bottom:0;left:0;width:100%;padding:30px;\n background:linear-gradient(to top,rgba(0,0,0,0.95),transparent);z-index:2;\n}\n .airport-title{color:white;font-size:1.6rem;margin-bottom:5px}\n .airport-meta{color:var(--gold-flat);font-family:var(--font-sans);font-size:0.85rem;text-transform:uppercase;letter-spacing:2px}\n\n \/* --- TRENDS SLIDER (SERVICES ANNEXES) --- *\/\n .paris-trends-sec{padding:100px 5%;background-color:var(--bg-deep);border-top:1px solid var(--border-glass);position:relative;overflow:hidden}\n .paris-trends-sec::before{\n content:'';position:absolute;top:0;left:0;width:100%;height:100%;\n background-image:linear-gradient(rgba(198,168,124,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(198,168,124,0.03) 1px,transparent 1px);\n background-size:60px 60px;pointer-events:none;z-index:0;\n}\n .pt-header{text-align:center;max-width:800px;margin:0 auto 50px;position:relative;z-index:2}\n .pt-slider-wrapper{position:relative;z-index:2;width:100%;max-width:1400px;margin:0 auto}\n .pt-slider{\n display:flex;gap:30px;overflow-x:auto;padding-bottom:40px;scroll-snap-type:x mandatory;\n scrollbar-width:thin;scrollbar-color:var(--gold-flat) #222;-webkit-overflow-scrolling:touch;\n}\n .pt-slider::-webkit-scrollbar{height:6px}\n .pt-slider::-webkit-scrollbar-track{background:#111;border-radius:10px}\n .pt-slider::-webkit-scrollbar-thumb{background:var(--gold-flat);border-radius:10px}\n\n .pt-card{\n min-width:320px;flex:0 0 320px;height:450px;position:relative;border-radius:4px;overflow:hidden;\n border:1px solid #222;scroll-snap-align:start;cursor:pointer;transition:0.5s;\n}\n .pt-card:hover{border-color:var(--gold-flat);transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,0.8)}\n .pt-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:0.8s ease;filter:grayscale(50%) brightness(0.6)}\n .pt-card:hover .pt-img{filter:grayscale(0%) brightness(0.4);transform:scale(1.1)}\n \n .pt-content{\n position:absolute;bottom:0;left:0;width:100%;padding:30px;\n background:linear-gradient(to top,rgba(0,0,0,0.95) 0%,rgba(0,0,0,0.6) 50%,transparent 100%);\n display:flex;flex-direction:column;justify-content:flex-end;height:100%;\n}\n .pt-icon{width:50px;height:50px;border-radius:50%;border:1px solid var(--gold-flat);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--gold-flat);margin-bottom:20px;transition:0.4s;background:rgba(5,5,5,0.5)}\n .pt-card:hover .pt-icon{background:var(--gold-flat);color:#000}\n .pt-title{color:white;font-family:var(--font-serif);font-size:1.4rem;margin-bottom:10px;line-height:1.2}\n .pt-desc{color:#bbb;font-size:0.9rem;line-height:1.6;max-height:0;opacity:0;overflow:hidden;transition:all 0.5s ease;margin:0}\n .pt-card:hover .pt-desc{max-height:150px;opacity:1;margin-bottom:20px;margin-top:10px}\n .pt-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}\n .pt-tag{font-family:var(--font-sans);font-size:0.7rem;color:#fff;background:rgba(198,168,124,0.2);padding:4px 10px;border-radius:2px;border:1px solid rgba(198,168,124,0.4);text-transform:uppercase}\n\n \/* --- FBO & VIP PARIS (LE BOURGET) --- *\/\n .fbo-sec{padding:100px 5%;background:var(--bg-panel);display:flex;align-items:center;gap:60px;flex-wrap:wrap;border-top:1px solid var(--border-glass)}\n .fbo-txt{flex:1;min-width:300px}\n .fbo-img{flex:1;min-width:300px;position:relative}\n .fbo-img img{width:100%;border:1px solid var(--gold-flat);padding:10px;filter:grayscale(20%)}\n\n \/* --- GOOGLE REVIEWS --- *\/\n .reviews-sec{padding:80px 5%;background:#000;text-align:center;border-top:1px solid #222}\n .google-badge{\n display:inline-flex;align-items:center;gap:20px;background:rgba(255,255,255,0.03);\n border:1px solid #333;padding:20px 40px;border-radius:50px;text-decoration:none;transition:0.4s;\n}\n .google-badge:hover{background:rgba(255,255,255,0.08);border-color:var(--gold-flat);transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,0.5)}\n .g-logo{font-size:2rem;color:#fff}\n .g-stars{color:#fbbc05;font-size:1.3rem;margin-top:5px}\n\n \/* ANIMATIONS *\/\n @keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}\n\n @media (max-width:900px){\n .booking-wrapper{margin-top:-60px;padding:0 3%}\n .booking-container{padding:25px 15px}\n .fbo-sec{flex-direction:column-reverse}\n .pt-desc{max-height:150px;opacity:1;margin-bottom:15px;margin-top:10px}\/* Description slider toujours visible mobile *\/\n .pt-card{min-width:280px;flex:0 0 280px;height:480px}\n}\n <\/style>\n<\/head>\n<body>\n\n <section class=\"paris-hero\">\n <div class=\"paris-hero-bg\"><\/div>\n <div class=\"paris-hero-content\">\n <span class=\"cc-badge-lux\" style=\"background:transparent; border:1px solid var(--gold-flat); color:var(--gold-flat); padding:6px 15px; border-radius:50px; font-size:0.75rem; text-transform:uppercase; letter-spacing:2px; margin-bottom:20px; display:inline-block;\">Taxi Paris Airport Transfers<\/span>\n <h1 style=\"font-size: clamp(2.5rem, 5vw, 5rem); margin: 0 0 20px; color: white; line-height: 1.1;\">\n Transferts A\u00e9roports <br><span class=\"cc-gold-text\">Paris & \u00cele-de-France<\/span>\n <\/h1>\n <p style=\"font-size: 1.15rem; max-width: 700px; color: #ddd; margin: 0 auto 30px;\">\n Oubliez l'attente aux stations de taxis. Votre chauffeur priv\u00e9 VTC vous accueille aux arriv\u00e9es de Roissy CDG, Orly ou Le Bourget avec une pancarte \u00e0 votre nom.\n <\/p>\n <div style=\"display:flex; gap:20px; flex-wrap:wrap; justify-content:center;\">\n <a href=\"#reservation\" class=\"cc-btn-lux\" style=\"background:var(--gold-grad); color:black; border:none; font-weight:700;\">Calculer mon Tarif<\/a>\n <a href=\"https:\/\/wa.me\/33773730244\" target=\"_blank\" style=\"color:#25D366; display:flex; align-items:center; gap:10px; text-decoration:none; font-family:var(--font-sans); font-weight:700; text-transform:uppercase; letter-spacing:1px; border:1px solid #25D366; padding:15px 30px; border-radius:4px;\" rel=\"nofollow noopener\">\n <i class=\"fab fa-whatsapp\"><\/i> WhatsApp 24\/7\n <\/a>\n <\/div>\n <\/div>\n <\/section>\n\n <div class=\"booking-wrapper\" id=\"reservation\">\n <div class=\"booking-container\">\n <div style=\"text-align:center; margin-bottom:25px;\">\n <h3 style=\"color:white; font-family:var(--font-sans); margin-bottom:5px;\">R\u00e9server votre Transfert<\/h3>\n <p style=\"color:#888; font-size:0.9rem;\">Tarif fixe garanti. Suivi de vol inclus. Paiement s\u00e9curis\u00e9.<\/p>\n <\/div>\n \n <div class=\"shortcode-placeholder\">\n \n <p style=\"color:#888;\"> <style>\n \/* --- DESIGN SYSTEM LUXE (PARIS AIRPORT) --- *\/\n:root{\n --c-main:#050505;\/* Noir profond *\/\n --c-panel:#0f0f0f;\n --c-acc:#c6a87c;\/* Gold Flat *\/\n --c-gold-grad:linear-gradient(135deg,#bf953f 0%,#fcf6ba 40%,#b38728 60%,#fbf5b7 100%);\n --c-bg:rgba(15,15,15,0.95);\/* Glassmorphism sombre *\/\n --radius:4px;\n --border-glass:rgba(198,168,124,0.25);\n --font-serif:'Cinzel',serif;\n --font-sans:'Manrope',sans-serif;\n}\n\n #v17-app{\n font-family:var(--font-sans);\n max-width:100%;margin:0 auto;\n background:transparent;\n}\n\n \/* TABS (Type de trajet) *\/\n .v-tabs{display:flex;background:rgba(0,0,0,0.8);border:1px solid var(--border-glass);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0}\n .v-tab{\n flex:1;padding:25px;text-align:center;color:#888;\n cursor:pointer;font-weight:600;text-transform:uppercase;transition:0.3s;\n border-bottom:3px solid transparent;font-size:13px;display:flex;\n align-items:center;justify-content:center;gap:10px;letter-spacing:1px;\n}\n .v-tab:hover{color:#fff;background:rgba(255,255,255,0.02)}\n .v-tab.active{background:var(--c-panel);color:#fff;border-color:var(--c-acc);font-weight:700}\n .v-tab i{font-size:16px;color:var(--c-acc)}\n\n \/* STEPS (Progression) *\/\n .v-steps{display:flex;padding:25px 40px;background:var(--c-panel);border-left:1px solid var(--border-glass);border-right:1px solid var(--border-glass);border-bottom:1px solid #222}\n .v-step{margin-right:40px;font-weight:600;font-size:11px;color:#666;text-transform:uppercase;display:flex;align-items:center;cursor:pointer;letter-spacing:1px;transition:0.3s}\n .v-step span{width:28px;height:28px;background:#111;border:1px solid #333;border-radius:50%;text-align:center;line-height:26px;margin-right:10px;font-weight:700;color:#666}\n .v-step.active{color:#fff}\n .v-step.active span{background:var(--c-acc);color:#000;border-color:var(--c-acc);box-shadow:0 0 15px rgba(198,168,124,0.4)}\n .v-step.done span{background:#fff;color:#000;border-color:#fff}\n .v-step.done{color:#aaa}\n\n \/* CONTENT *\/\n .v-panel{padding:50px;background:var(--c-bg);border:1px solid var(--border-glass);border-top:none;border-radius:0 0 var(--radius) var(--radius);display:none;animation:fadeIn 0.5s ease;backdrop-filter:blur(15px)}\n .v-panel.active{display:block}\n .v-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:50px}\n \n \/* INPUTS MODERNES DARK *\/\n .v-grp{margin-bottom:25px;position:relative}\n .v-lbl{font-size:10px;font-weight:700;text-transform:uppercase;color:#aaa;margin-bottom:8px;display:block;letter-spacing:1px}\n \n \/* Input avec ic\u00f4ne interne *\/\n .v-inp-wrap{position:relative}\n .v-inp-icon{position:absolute;right:15px;top:16px;color:#555;z-index:2;transition:0.3s}\n \n .v-inp{\n width:100%;padding:16px 16px 16px 45px;border:1px solid #333;\n border-radius:2px;background:rgba(0,0,0,0.4);font-weight:600;font-size:14px;\n box-sizing:border-box;color:#fff;transition:all 0.3s;font-family:var(--font-sans);\n}\n .v-inp::placeholder{color:#555;font-weight:400}\n .v-inp:focus{border-color:var(--c-acc);background:rgba(0,0,0,0.8);box-shadow:0 0 15px rgba(198,168,124,0.1);outline:none}\n .v-inp:focus + .v-inp-icon{color:var(--c-acc)}\n .v-inp.v-err{border-color:#e74c3c;background:rgba(231,76,60,0.05)}\n \n \/* Geolocation target icon *\/\n .v-geo{position:absolute;right:15px;top:43px;color:#666;cursor:pointer;z-index:9;transition:0.3s}\n .v-geo:hover{color:var(--c-acc);transform:scale(1.1)}\n\n \/* CARDS RESULTS (V\u00e9hicules) *\/\n .c-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px}\n .lx-card{\n border:1px solid #333;border-radius:4px;overflow:hidden;\n cursor:pointer;background:#080808;position:relative;display:flex;\n flex-direction:column;transition:0.4s;\n}\n .lx-card:hover{border-color:var(--c-acc);transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,0.8)}\n .lx-img{width:100%;height:170px;object-fit:cover;border-bottom:1px solid #222;transition:0.5s;filter:grayscale(20%)}\n .lx-card:hover .lx-img{transform:scale(1.05);filter:grayscale(0%)}\n .lx-body{padding:25px;flex-grow:1;display:flex;flex-direction:column;background:#080808;position:relative;z-index:2}\n .lx-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}\n .lx-tit{font-family:var(--font-serif);font-size:16px;font-weight:700;color:#fff;margin:0;text-transform:uppercase}\n .lx-price{font-size:22px;font-weight:700;color:var(--c-acc);text-align:right}\n .lx-meta{display:flex;gap:15px;font-size:11px;color:#888;padding-top:15px;border-top:1px solid #222;margin-top:auto;font-weight:600;text-transform:uppercase}\n .lx-meta i{color:var(--c-acc)}\n .lx-btn{width:100%;margin-top:20px;padding:12px;border:1px solid #444;background:transparent;color:#fff;font-weight:700;font-size:11px;cursor:pointer;text-align:center;transition:0.3s;text-transform:uppercase;letter-spacing:1px}\n .lx-card:hover .lx-btn{background:var(--c-gold-grad);color:#000;border-color:transparent}\n\n \/* BUTTONS *\/\n .v-btn{width:100%;padding:18px;background:var(--c-gold-grad);color:#000;font-weight:700;border:none;border-radius:2px;cursor:pointer;text-transform:uppercase;margin-top:25px;transition:0.3s;font-size:13px;letter-spacing:1px;font-family:var(--font-sans)}\n .v-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(198,168,124,0.3)}\n .v-btn.cart{background:transparent;color:#fff;border:1px solid #555;box-shadow:none}\n .v-btn.cart:hover{border-color:var(--c-acc);color:var(--c-acc)}\n .v-btn.back{background:transparent;color:#888;border:none;margin-top:15px;padding:12px;font-size:11px;box-shadow:none;text-decoration:underline}\n .v-btn.back:hover{color:#fff}\n\n \/* MAP WRAPPERS *\/\n .map-wrap{display:none;margin-top:20px;background:#111;border:1px solid #333;height:320px;width:100%;overflow:hidden}\n .gmap-canvas{width:100%;height:100%}\n\n \/* RECAP (C\u00f4t\u00e9 droit \u00c9tape 3) *\/\n #recap-box{background:rgba(0,0,0,0.5);padding:25px;border:1px solid #222}\n .r-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:12px;border-bottom:1px solid #222;padding-bottom:8px;color:#aaa}\n .r-val{font-weight:600;color:#fff;text-align:right;max-width:60%}\n \n .iti{width:100%}\n .iti__flag{background-image:url(\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/intl-tel-input\/17.0.19\/img\/flags.png\")}\n @media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.iti__flag{background-image:url(\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/intl-tel-input\/17.0.19\/img\/flags@2x.png\")}}\n\n \/* Intl Tel Input Dark Mode fix *\/\n .iti__country-list{background-color:#111;color:white;border:1px solid #333}\n .iti__country.iti__highlight{background-color:#222}\n .iti__divider{border-bottom:1px solid #333}\n\n \/* FLIGHT & OPTIONS *\/\n .v-flight{display:none;background:rgba(198,168,124,0.05);padding:20px;border-left:2px solid var(--c-acc);margin-bottom:25px;margin-top:10px}\n .v-flight-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:12px;font-weight:700;color:var(--c-acc);letter-spacing:1px}\n .v-radar-btn{background:transparent;color:#fff;border:1px solid #555;padding:6px 12px;cursor:pointer;font-size:10px;font-weight:600;transition:0.3s}\n .v-radar-btn:hover{border-color:#fff}\n \n .v-opt-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:25px}\n .v17-opt-item{display:flex;justify-content:space-between;align-items:center;background:rgba(0,0,0,0.4);border:1px solid #333;padding:15px 20px;transition:0.2s;color:#ccc;font-size:13px}\n .v17-opt-item:hover{border-color:var(--c-acc);color:#fff}\n \n .v17-qty-ctrl{display:flex;align-items:center;border:1px solid #444;overflow:hidden}\n .v17-qty-ctrl button{border:none;background:#222;width:30px;height:30px;cursor:pointer;font-weight:bold;color:#fff;transition:0.3s}\n .v17-qty-ctrl button:hover{background:var(--c-acc);color:#000}\n .v17-qty-ctrl input{width:35px;text-align:center;border:none;height:30px;font-size:13px;font-weight:bold;background:#111;color:#fff}\n \n #bx-pax{display:none;background:rgba(0,0,0,0.5);border:1px solid #222;border-left:2px solid var(--c-acc);padding:25px;margin-top:15px}\n\n \/* Select styling hack for dark mode *\/\n select.v-inp option{background:var(--c-main);color:#fff}\n\n \/* Calendrier Flatpickr Dark Mode (Basique) *\/\n .flatpickr-calendar{background:#111 !important;border:1px solid #333 !important;box-shadow:0 10px 30px rgba(0,0,0,0.9) !important}\n .flatpickr-day{color:#ccc !important}\n .flatpickr-day:hover,.flatpickr-day.selected{background:var(--c-acc) !important;color:#000 !important;border-color:var(--c-acc) !important}\n .flatpickr-month,.flatpickr-weekday{color:#fff !important;fill:#fff !important}\n\n @media(max-width:800px){\n .v-grid{grid-template-columns:1fr;gap:30px}\n .v-tab{padding:15px 5px;font-size:10px;flex-direction:column;gap:5px}\n .v-steps{padding:20px;overflow-x:auto;white-space:nowrap}\n .v-panel{padding:30px 20px}\n}\n @keyframes fadeIn{from{opacity:0}to{opacity:1}}\n <\/style>\n\n <div id=\"v17-app\">\n <input type=\"hidden\" id=\"form_id\" value=\"28337\">\n <input type=\"hidden\" id=\"svc\" value=\"1\">\n <input type=\"hidden\" id=\"pk_lat\"><input type=\"hidden\" id=\"pk_lng\"><input type=\"hidden\" id=\"pk_zip\"><input type=\"hidden\" id=\"pk_country\">\n <input type=\"hidden\" id=\"do_lat\"><input type=\"hidden\" id=\"do_lng\"><input type=\"hidden\" id=\"do_zip\">\n \n <input type=\"hidden\" id=\"calc_dist_txt\" value=\"\"><input type=\"hidden\" id=\"calc_dur_txt\" value=\"\">\n <input type=\"hidden\" id=\"driver_ref\" value=\"\">\n\n <div class=\"v-tabs\">\n <div class=\"v-tab active\" onclick=\"setMode(1,this)\">\n <i class=\"fa-solid fa-map-location-dot\"><\/i> Trajet Simple\n <\/div>\n <div class=\"v-tab\" onclick=\"setMode(2,this)\">\n <i class=\"fa-solid fa-business-time\"><\/i> Mise \u00e0 Disposition\n <\/div>\n <\/div>\n\n <div class=\"v-steps\">\n <div class=\"v-step active\" id=\"s1\" onclick=\"goto(1)\"><span>1<\/span> Itin\u00e9raire<\/div>\n <div class=\"v-step\" id=\"s2\" onclick=\"goto(2)\"><span>2<\/span> V\u00e9hicule<\/div>\n <div class=\"v-step\" id=\"s3\" onclick=\"goto(3)\"><span>3<\/span> Paiement<\/div>\n <\/div>\n\n <div class=\"v-panel active\" id=\"p1\">\n <div class=\"v-grid\">\n <div>\n <div id=\"m-trans\">\n <div class=\"v-grp\">\n <span class=\"v-lbl\">Lieu de prise en charge<\/span>\n <div class=\"v-inp-wrap\">\n <i class=\"fa-solid fa-location-dot v-inp-icon\"><\/i>\n <input type=\"text\" id=\"pk\" class=\"v-inp\" placeholder=\"A\u00e9roport, Gare, Adresse exacte...\">\n <\/div>\n <i class=\"fa-solid fa-crosshairs v-geo\" onclick=\"geo('pk')\"><\/i>\n <\/div>\n <div id=\"wp-list\"><\/div>\n <div style=\"font-size:11px; font-weight:700; color:#888; cursor:pointer; margin-bottom:20px; display:inline-flex; align-items:center; gap:6px; text-transform:uppercase;\" onclick=\"addWp()\">\n <i class=\"fa-solid fa-circle-plus\" style=\"color:var(--c-acc);\"><\/i> Ajouter une \u00e9tape\n <\/div>\n <div class=\"v-grp\">\n <span class=\"v-lbl\">Destination<\/span>\n <div class=\"v-inp-wrap\">\n <i class=\"fa-solid fa-flag-checkered v-inp-icon\"><\/i>\n <input type=\"text\" id=\"do\" class=\"v-inp\" placeholder=\"O\u00f9 souhaitez-vous aller ?\">\n <\/div>\n <\/div>\n \n <label style=\"font-size:11px; font-weight:700; cursor:pointer; display:flex; align-items:center; margin-top:20px; color:#aaa; text-transform:uppercase;\">\n <input type=\"checkbox\" id=\"sh-map-1\" class=\"map-togg\" data-target=\"map-container-1\" style=\"margin-right:8px; accent-color:var(--c-acc);\"> Afficher la carte interactive\n <\/label>\n <div id=\"map-container-1\" class=\"map-wrap\"><div id=\"gmap-1\" class=\"gmap-canvas\"><\/div><\/div>\n <\/div>\n\n <div id=\"m-hour\" style=\"display:none;\">\n <div class=\"v-grp\">\n <span class=\"v-lbl\">Lieu de rendez-vous<\/span>\n <div class=\"v-inp-wrap\">\n <i class=\"fa-solid fa-location-dot v-inp-icon\"><\/i>\n <input type=\"text\" id=\"pk_h\" class=\"v-inp\" placeholder=\"Adresse de d\u00e9part\">\n <\/div>\n <i class=\"fa-solid fa-crosshairs v-geo\" onclick=\"geo('pk_h')\"><\/i>\n <\/div>\n <div class=\"v-grp\">\n <span class=\"v-lbl\">Dur\u00e9e de r\u00e9servation<\/span>\n <div class=\"v-inp-wrap\">\n <i class=\"fa-regular fa-clock v-inp-icon\"><\/i>\n <select id=\"dur\" class=\"v-inp\">\n <option value=\"3\">3 Heures<\/option><option value=\"4\">4 Heures<\/option>\n <option value=\"8\">8 Heures<\/option><option value=\"12\">12 Heures<\/option>\n <\/select>\n <\/div>\n <\/div>\n <div style=\"margin-top:20px; padding:20px; background:rgba(0,0,0,0.3); border:1px solid #333;\">\n <label style=\"font-size:11px; font-weight:700; display:flex; align-items:center; cursor:pointer; color:#aaa; text-transform:uppercase;\">\n <input type=\"checkbox\" id=\"chk-drop\" class=\"v-togg\" data-target=\"#bx-drop\" style=\"margin-right:10px; accent-color:var(--c-acc);\">\n Lieu de d\u00e9pose diff\u00e9rent ?\n <\/label>\n <div id=\"bx-drop\" style=\"display:none; margin-top:15px;\">\n <span class=\"v-lbl\">Adresse de fin<\/span>\n <input type=\"text\" id=\"do_h\" class=\"v-inp\" placeholder=\"O\u00f9 le chauffeur vous laisse-t-il ?\">\n <\/div>\n <\/div>\n\n <label style=\"font-size:11px; font-weight:700; cursor:pointer; display:flex; align-items:center; margin-top:20px; color:#aaa; text-transform:uppercase;\">\n <input type=\"checkbox\" id=\"sh-map-2\" class=\"map-togg\" data-target=\"map-container-2\" style=\"margin-right:8px; accent-color:var(--c-acc);\"> Afficher la carte interactive\n <\/label>\n <div id=\"map-container-2\" class=\"map-wrap\"><div id=\"gmap-2\" class=\"gmap-canvas\"><\/div><\/div>\n <\/div>\n\n <div id=\"bx-flight\" class=\"v-flight\">\n <div class=\"v-flight-h\">\n <span id=\"ft-tit\"><i class=\"fa-solid fa-plane-arrival\"><\/i> VOL D\u00c9TECT\u00c9<\/span>\n <button type=\"button\" class=\"v-radar-btn\" onclick=\"openFlight()\">V\u00c9RIFIER LE VOL<\/button>\n <\/div>\n <input type=\"text\" id=\"f_num\" class=\"v-inp\" placeholder=\"Num\u00e9ro de vol (ex: AF123)\">\n <\/div>\n <\/div>\n\n <div>\n <div class=\"v-grp\" style=\"display:grid; grid-template-columns:1fr 1fr; gap:15px;\">\n <div><span class=\"v-lbl\">Date de d\u00e9part<\/span><input type=\"text\" id=\"date\" class=\"v-inp\"><\/div>\n <div><span class=\"v-lbl\">Heure<\/span><input type=\"text\" id=\"time\" class=\"v-inp\"><\/div>\n <\/div>\n <div class=\"v-grp\" style=\"display:grid; grid-template-columns:1fr 1fr; gap:15px;\">\n <div>\n <span class=\"v-lbl\">Passagers<\/span>\n <div class=\"v-inp-wrap\">\n <i class=\"fa-solid fa-user v-inp-icon\"><\/i>\n <input type=\"number\" id=\"pax\" class=\"v-inp\" value=\"1\" min=\"1\">\n <\/div>\n <\/div>\n <div>\n <span class=\"v-lbl\">Bagages<\/span>\n <div class=\"v-inp-wrap\">\n <i class=\"fa-solid fa-suitcase v-inp-icon\"><\/i>\n <input type=\"number\" id=\"bag\" class=\"v-inp\" value=\"1\" min=\"0\">\n <\/div>\n <\/div>\n <\/div>\n <div id=\"d-rt\">\n <label style=\"font-size:11px; font-weight:700; cursor:pointer; display:flex; align-items:center; color:#aaa; text-transform:uppercase;\">\n <input type=\"checkbox\" id=\"chk-rt\" class=\"v-togg\" data-target=\"#bx-rt\" style=\"margin-right:10px; accent-color:var(--c-acc);\"> Ajouter un Retour ?\n <\/label>\n <div id=\"bx-rt\" style=\"display:none; margin-top:15px; padding:20px; background:rgba(0,0,0,0.3); border:1px solid #333;\">\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:15px;\">\n <div><span class=\"v-lbl\">Date Retour<\/span><input type=\"text\" id=\"date-rt\" class=\"v-inp\" placeholder=\"Date\"><\/div>\n <div><span class=\"v-lbl\">Heure Retour<\/span><input type=\"text\" id=\"time-rt\" class=\"v-inp\" placeholder=\"Heure\"><\/div>\n <\/div>\n <\/div>\n <\/div>\n <\/div>\n <\/div>\n <button class=\"v-btn\" onclick=\"search()\"><i class=\"fa-solid fa-magnifying-glass\" style=\"margin-right:5px;\"><\/i> VOIR LES OFFRES<\/button>\n <\/div>\n\n <div class=\"v-panel\" id=\"p2\">\n <div id=\"v-list\" class=\"c-grid\"><\/div>\n <input type=\"hidden\" id=\"s_id\"><input type=\"hidden\" id=\"s_price\"><input type=\"hidden\" id=\"s_qty\"><input type=\"hidden\" id=\"s_tit\">\n <button class=\"v-btn back\" onclick=\"goto(1)\"><i class=\"fa-solid fa-arrow-left\"><\/i> RETOUR<\/button>\n <\/div>\n\n <div class=\"v-panel\" id=\"p3\">\n <div class=\"v-grid\">\n <div>\n <h3 style=\"margin-top:0; font-size:14px; font-family:var(--font-serif); letter-spacing:1px; margin-bottom:20px; color:white;\">OPTIONS DE VOYAGE<\/h3>\n <div id=\"opt-box\" class=\"v-opt-grid\"><\/div>\n \n <h4 style=\"margin-top:40px; font-size:14px; font-family:var(--font-serif); letter-spacing:1px; margin-bottom:15px; color:white;\">PR\u00c9F\u00c9RENCES (GRATUIT)<\/h4>\n <div class=\"v-grp\" style=\"display:grid; grid-template-columns:1fr 1fr; gap:15px;\">\n <div><span class=\"v-lbl\">Genre Chauffeur<\/span><select id=\"drv-gen\" class=\"v-inp\"><option>Indiff\u00e9rent<\/option><option>Homme<\/option><option>Femme<\/option><\/select><\/div>\n <div><span class=\"v-lbl\">Langue<\/span><select id=\"drv-lang\" class=\"v-inp\"><option>Fran\u00e7ais\r<\/option><option>Anglais\r<\/option><option>Espagnol\r<\/option><option>Arabe\r<\/option><option>Russe\r<\/option><option>Chinois<\/option><\/select><\/div>\n <\/div>\n <div class=\"v-grp\" style=\"display:grid; grid-template-columns:1fr 1fr; gap:15px;\">\n <div><span class=\"v-lbl\">Code Vestimentaire<\/span><select id=\"drv-dress\" class=\"v-inp\"><option>Costume Cravate\r<\/option><option>Tenue de Ville (Business)\r<\/option><option>D\u00e9contract\u00e9 Chic\r<\/option><option>Uniforme Chauffeur<\/option><\/select><\/div>\n <div><span class=\"v-lbl\">Ambiance Musicale<\/span><select id=\"music\" class=\"v-inp\"><option>Indiff\u00e9rent<\/option><option>Radio Classique\r<\/option><option>Jazz \/ Lounge\r<\/option><option>Pop \/ Rock\r<\/option><option>Silence demand\u00e9<\/option><\/select><\/div>\n <\/div>\n <div class=\"v-grp\">\n <span class=\"v-lbl\">Presse \u00e0 bord<\/span>\n <select id=\"press\" class=\"v-inp\"><option value=\"\">Aucune<\/option><option>Le Monde\r<\/option><option>Le Figaro\r<\/option><option>New York Times\r<\/option><option>Financial Times\r<\/option><option>L\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\u00c9quipe<\/option><\/select>\n <\/div>\n <div class=\"v-grp\"><span class=\"v-lbl\">Note pour le chauffeur<\/span><textarea id=\"note\" class=\"v-inp\" rows=\"3\" placeholder=\"Code porte, instructions particuli\u00e8res pour l'a\u00e9roport...\"><\/textarea><\/div>\n <\/div>\n \n <div>\n <div id=\"recap-box\">\n <div class=\"r-row\"><span>D\u00e9part<\/span><span class=\"r-val\" id=\"r-pk\">...<\/span><\/div>\n <div class=\"r-row\"><span>Arriv\u00e9e<\/span><span class=\"r-val\" id=\"r-do\">...<\/span><\/div>\n <div class=\"r-row\"><span>V\u00e9hicule<\/span><span class=\"r-val\" id=\"r-veh\" style=\"color:var(--c-acc);\">...<\/span><\/div>\n <div class=\"r-row\" style=\"border:none; font-size:22px; margin-top:15px; color:white;\"><span>TOTAL<\/span><span class=\"r-val\" style=\"color:white;\" id=\"r-total\">0\u20ac<\/span><\/div>\n <\/div>\n\n <h3 style=\"font-size:14px; font-family:var(--font-serif); margin-top:30px; letter-spacing:1px; margin-bottom:15px; color:white;\">COORDONN\u00c9ES<\/h3>\n <div class=\"v-grp\" style=\"display:grid; grid-template-columns:1fr 1fr; gap:15px;\">\n <input type=\"text\" id=\"cf\" class=\"v-inp\" placeholder=\"Pr\u00e9nom\">\n <input type=\"text\" id=\"cl\" class=\"v-inp\" placeholder=\"Nom\">\n <\/div>\n <input type=\"email\" id=\"ce\" class=\"v-inp\" placeholder=\"Email\" style=\"margin-bottom:15px;\">\n <input type=\"tel\" id=\"cp\" class=\"v-inp\" placeholder=\"T\u00e9l\u00e9phone mobile\">\n\n <label style=\"font-size:11px; font-weight:700; cursor:pointer; display:flex; align-items:center; margin-top:20px; color:#aaa; text-transform:uppercase;\">\n <input type=\"checkbox\" id=\"diff-pax\" class=\"v-togg\" data-target=\"#bx-pax\" style=\"margin-right:10px; accent-color:var(--c-acc);\"> Je commande pour un tiers\n <\/label>\n \n <div id=\"bx-pax\">\n <span class=\"v-lbl\" style=\"color:var(--c-acc);\">PASSAGER \u00c0 BORD<\/span>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-bottom:15px;\">\n <input type=\"text\" id=\"px-f\" class=\"v-inp\" placeholder=\"Pr\u00e9nom\">\n <input type=\"text\" id=\"px-l\" class=\"v-inp\" placeholder=\"Nom\">\n <\/div>\n <input type=\"tel\" id=\"px-p\" class=\"v-inp\" placeholder=\"T\u00e9l\u00e9phone Passager\">\n <label style=\"display:block; margin-top:15px; font-size:11px; font-weight:700; color:#aaa;\">\n <input type=\"checkbox\" id=\"bill-link\" style=\"margin-right:5px; accent-color:var(--c-acc);\"> Envoyer le lien de paiement au passager\n <\/label>\n <\/div>\n\n <button class=\"v-btn\" onclick=\"fin('pay')\"><i class=\"fa-solid fa-lock\" style=\"margin-right:5px;\"><\/i> R\u00c9SERVER & PAYER<\/button>\n <button class=\"v-btn cart\" onclick=\"fin('cart')\"><i class=\"fa-solid fa-briefcase\" style=\"margin-right:5px;\"><\/i> AJOUTER AU PANIER<\/button>\n <button class=\"v-btn back\" onclick=\"goto(2)\">RETOUR AU V\u00c9HICULE<\/button>\n <\/div>\n <\/div>\n <\/div>\n <\/div>\n\n <script>\n    jQuery(document).ready(function($){\n        let map1, map2, ds1, dr1, ds2, dr2, geocoder;\n        let dist=0, h_dist=0;\n        let wps=[];\n        let iti_cp, iti_px;\n\n        window.initV17 = function() {\n            geocoder = new google.maps.Geocoder();\n            \n            \/\/ MAP 1 (TRAJET)\n            ds1 = new google.maps.DirectionsService();\n            dr1 = new google.maps.DirectionsRenderer();\n            map1 = new google.maps.Map(document.getElementById('gmap-1'), {zoom:5, center:{lat:48.85, lng:2.35}, disableDefaultUI:true});\n            dr1.setMap(map1);\n            \n            \/\/ MAP 2 (MISE A DISPO)\n            ds2 = new google.maps.DirectionsService();\n            dr2 = new google.maps.DirectionsRenderer();\n            map2 = new google.maps.Map(document.getElementById('gmap-2'), {zoom:5, center:{lat:48.85, lng:2.35}, disableDefaultUI:true});\n            dr2.setMap(map2);\n\n            const setupAC = (id, type) => {\n                let el = document.getElementById(id);\n                if(!el) return;\n                let ac = new google.maps.places.Autocomplete(el, {types:['geocode','establishment']});\n                ac.addListener('place_changed', ()=>{\n                    let p = ac.getPlace(); if(!p.geometry) return;\n                    if(['pk','do','pk_h'].includes(type)) {\n                        let t = p.types;\n                        if(t.includes('airport') || t.includes('train_station')) {\n                            $('#bx-flight').slideDown();\n                        }\n                    }\n                    if(type.includes('pk')) { $('#pk_lat').val(p.geometry.location.lat()); $('#pk_lng').val(p.geometry.location.lng()); $('#r-pk').text(p.name); }\n                    if(type.includes('do')) { $('#do_lat').val(p.geometry.location.lat()); $('#do_lng').val(p.geometry.location.lng()); $('#r-do').text(p.name); }\n                    \n                    let z = p.address_components.find(x => x.types.includes('postal_code'));\n                    if(z) $('#'+type+'_zip').val(z.long_name);\n                    let c = p.address_components.find(x => x.types.includes('country'));\n                    if(c && type.includes('pk')) $('#pk_country').val(c.short_name);\n                    \n                    route();\n                });\n            };\n\n            setupAC('pk','pk'); setupAC('do','do'); setupAC('pk_h','pk_h'); setupAC('do_h','do_h');\n            flatpickr(\"#date, #date-rt\", {minDate:\"today\", locale:\"fr\", dateFormat:\"d-m-Y\"});\n            flatpickr(\"#time, #time-rt\", {enableTime:true, noCalendar:true, dateFormat:\"H:i\", time_24hr:true});\n            \n            let itiOpt = { preferredCountries: [\"fr\", \"us\", \"gb\", \"ch\", \"ae\"], separateDialCode: true, utilsScript: \"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/intl-tel-input\/17.0.19\/js\/utils.js\" };\n            iti_cp = window.intlTelInput(document.querySelector(\"#cp\"), itiOpt);\n            iti_px = window.intlTelInput(document.querySelector(\"#px-p\"), itiOpt);\n\n            \/\/ EDIT MODE\n            const urlParams = new URLSearchParams(window.location.search);\n            const editId = urlParams.get('edit_order');\n            const drvRef = urlParams.get('driver_ref');\n            \n            if(drvRef) $('#driver_ref').val(drvRef);\n\n            if(editId) {\n                $.post('https:\/\/www.centralcab.fr\/paris-airport\/wp-admin\/admin-ajax.php', {action:'v17_get_order', oid:editId}, function(res){\n                    if(res.success) {\n                        let d = res.data;\n                        $('#pk').val(d.pk); $('#do').val(d.do);\n                        $('#date').val(d.date); $('#time').val(d.time);\n                        $('#cf').val(d.first); $('#cl').val(d.last); $('#ce').val(d.email);\n                        setTimeout(route, 1000);\n                    }\n                });\n            }\n        };\n\n        function validate(step) {\n            let err = false;\n            $('.v-inp').removeClass('v-err');\n            if(step == 1) {\n                if($('#svc').val()==1) {\n                    if(!$('#pk').val()) { $('#pk').addClass('v-err'); err=true; }\n                    if(!$('#do').val()) { $('#do').addClass('v-err'); err=true; }\n                } else {\n                    if(!$('#pk_h').val()) { $('#pk_h').addClass('v-err'); err=true; }\n                }\n                if(!$('#date').val()) { $('#date').addClass('v-err'); err=true; }\n                if(!$('#time').val()) { $('#time').addClass('v-err'); err=true; }\n            }\n            if(step == 3) {\n                if(!$('#cf').val()) { $('#cf').addClass('v-err'); err=true; }\n                if(!$('#cl').val()) { $('#cl').addClass('v-err'); err=true; }\n                if(!$('#ce').val()) { $('#ce').addClass('v-err'); err=true; }\n                if(!$('#cp').val()) { $('#cp').addClass('v-err'); err=true; }\n            }\n            return !err;\n        }\n\n        function refreshMap(mapId) {\n             let map = (mapId === 1) ? map1 : map2;\n             if(map) {\n                 google.maps.event.trigger(map, 'resize');\n                 let dr = (mapId === 1) ? dr1 : dr2;\n                 if (dr.getDirections()) map.fitBounds(dr.getDirections().routes[0].bounds);\n             }\n        }\n\n        $('.map-togg').change(function() {\n            let target = $(this).data('target');\n            let mapId = (target === 'map-container-1') ? 1 : 2;\n            if($(this).is(':checked')) { \n                $('#'+target).slideDown(400, function(){ refreshMap(mapId); }); \n            } else { \n                $('#'+target).slideUp(); \n            }\n        });\n\n        $(document).on('change', '.v-togg', function() {\n            let target = $(this).data('target');\n            if($(this).is(':checked')) $(target).slideDown(); else $(target).slideUp();\n        });\n\n        window.setMode = function(m, el) {\n            $('#svc').val(m); $('.v-tab').removeClass('active'); $(el).addClass('active');\n            if(m==1) { $('#m-trans').show(); $('#m-hour').hide(); $('#d-rt').show(); }\n            else { $('#m-trans').hide(); $('#m-hour').show(); $('#d-rt').hide(); }\n            \n             if(m==1 && $('#sh-map-1').is(':checked')) refreshMap(1);\n             if(m==2 && $('#sh-map-2').is(':checked')) refreshMap(2);\n        };\n        \n        window.goto = function(s) {\n            if(s > 1 && !validate(1)) return;\n            $('.v-panel').hide(); $('#p'+s).fadeIn();\n            $('.v-step').removeClass('active'); $('#s'+s).addClass('active');\n            for(let i=1; i<s; i++) $('#s'+i).addClass('done');\n        };\n\n        window.openFlight = function() {\n            let n = $('#f_num').val();\n            if(n) window.open('https:\/\/www.google.com\/search?q=vol+'+n, '_blank');\n            else { alert('Veuillez entrer un num\u00e9ro de vol'); $('#f_num').focus(); }\n        };\n\n        window.addWp = function() {\n            if(wps.length>=3) return;\n            let i = wps.length;\n            $('#wp-list').append(`<div id=\"wp-r-${i}\" class=\"v-grp\" style=\"display:flex;\"><input id=\"wp-${i}\" class=\"v-inp\" placeholder=\"Etape\"><span onclick=\"delWp(${i})\" style=\"padding:16px;cursor:pointer;color:#e74c3c;\"><i class=\"fa-solid fa-xmark\"><\/i><\/span><\/div>`);\n            let ac = new google.maps.places.Autocomplete(document.getElementById('wp-'+i));\n            ac.addListener('place_changed', ()=>{ \n                let p = ac.getPlace(); if(p.geometry) wps[i] = {location:p.geometry.location, stopover:true}; route(); \n            });\n            wps.push(null);\n        };\n        window.delWp = function(i) { $('#wp-r-'+i).remove(); wps[i]=null; route(); };\n\n        function route() {\n            let svc = $('#svc').val();\n            let o = (svc==1)?$('#pk').val():$('#pk_h').val();\n            let d = (svc==1)?$('#do').val():$('#do_h').val();\n            let wp_clean = wps.filter(x=>x!==null);\n\n            if(o && (d || svc==1)) { \n                let req = { origin:o, destination:(d?d:o), travelMode:'DRIVING', waypoints:(svc==1?wp_clean:[]), optimizeWaypoints:false };\n                ds1.route(req, (r, s)=>{\n                    if(s==='OK') {\n                        let t = 0; r.routes[0].legs.forEach(l=>t+=l.distance.value);\n                        dist = t\/1000; dr1.setDirections(r);\n                        \n                        let leg = r.routes[0].legs[0];\n                        $('#calc_dist_txt').val(leg.distance.text);\n                        $('#calc_dur_txt').val(leg.duration.text);\n                        \n                        if($('#sh-map-1').is(':checked')) refreshMap(1);\n                    }\n                });\n            }\n            \n            if(svc==2 && $('#chk-drop').is(':checked') && o && d) {\n                ds2.route({origin:o, destination:d, travelMode:'DRIVING'}, (r, s)=>{\n                    if(s==='OK') {\n                        h_dist = r.routes[0].legs[0].distance.value \/ 1000;\n                        dr2.setDirections(r);\n                        if($('#sh-map-2').is(':checked')) refreshMap(2);\n                    }\n                });\n            } else { h_dist = 0; }\n        }\n\n        window.search = function() {\n            if(!validate(1)) return;\n            $('#v-list').html('<div style=\"text-align:center;padding:50px;color:white;\"><i class=\"fa-solid fa-circle-notch fa-spin fa-2x\" style=\"color:var(--c-acc); margin-bottom:15px; display:block;\"><\/i>Recherche des v\u00e9hicules VIP disponibles...<\/div>'); goto(2);\n            let wpCnt = wps.filter(x=>x!==null).length;\n            \n            $.post('https:\/\/www.centralcab.fr\/paris-airport\/wp-admin\/admin-ajax.php', {\n                action: 'v17_calc', \n                dist: dist, \n                hourly_dist: h_dist, \n                wp_count: wpCnt,\n                service: $('#svc').val(), \n                pax: $('#pax').val(), \n                bag: $('#bag').val(), \n                dur_h: $('#dur').val(),\n                date: $('#date').val(), \n                time: $('#time').val(), \n                roundtrip: $('#chk-rt').is(':checked') ? 'true' : 'false',\n                pk_zip: $('#pk_zip').val(), \n                do_zip: $('#do_zip').val(), \n                pk_country: $('#pk_country').val(),\n                driver_ref: $('#driver_ref').val()\n            }, function(res) {\n                if(res.success) {\n                    $('#v-list').empty();\n                    let items = res.data.html;\n                    items.sort((a,b)=> parseFloat($(a.html).data('price')) - parseFloat($(b.html).data('price')));\n                    items.forEach(i => $('#v-list').append(i.html));\n                } else $('#v-list').html('<div style=\"color:red; text-align:center;\">'+res.data.msg+'<\/div>');\n            });\n        };\n\n        window.selVeh = function(el) {\n            let d = $(el).data();\n            $('#s_id').val(d.id); $('#s_price').val(d.price); $('#s_qty').val(d.qty); $('#s_tit').val(d.title);\n            \n            $('#opt-box').html($(el).find('.lx-opts-h').html());\n            \n            $('#r-veh').text(d.title); \n            \n            if($('#svc').val()==1) { $('#r-pk').text($('#pk').val()); $('#r-do').text($('#do').val()); } \n            else { $('#r-pk').text($('#pk_h').val()); let fin = $('#do_h').val(); $('#r-do').text(fin ? fin : \"Mise \u00e0 dispo \"+$('#dur').val()+\"H\"); }\n            \n            upd(); goto(3);\n        };\n\n        window.chQty = function(btn, v) {\n            let inp = $(btn).parent().find('input');\n            let n = parseInt(inp.val()) + v;\n            if(n>=0 && n<=10) { inp.val(n); upd(); }\n        };\n        \n        function upd() {\n            let base = parseFloat($('#s_price').val()); let extra = 0;\n            $('.ex-qty').each(function(){ \n                let p = parseFloat($(this).data('price'));\n                extra += parseInt($(this).val()) * p; \n            });\n            $('#r-total').text((base+extra).toFixed(2)+'\u20ac');\n        }\n\n        window.fin = function(act) {\n            if(!validate(3)) return;\n            \n            \/\/ Animation de chargement sur le bouton\n            let btn = $(event.target);\n            let btnTxt = btn.html();\n            btn.html('<i class=\"fa-solid fa-spinner fa-spin\"><\/i> Traitement...').prop('disabled', true);\n\n            let opts = {}; $('.ex-qty').each(function(){ if($(this).val()>0) opts[$(this).data('name')] = $(this).val(); });\n            let wps_txt = []; $('#wp-list input').each(function(){ if($(this).val()) wps_txt.push($(this).val()); });\n            \n            let full_cp = iti_cp.getNumber();\n            let full_px = iti_px.getNumber();\n\n            $.post('https:\/\/www.centralcab.fr\/paris-airport\/wp-admin\/admin-ajax.php', {\n                action: 'chbs_woo_v17', action_type: act, \n                total: parseFloat($('#r-total').text()),\n                veh_id: $('#s_id').val(), qty: $('#s_qty').val(), veh_title: $('#s_tit').val(),\n                service: $('#svc').val(), \n                pk_addr: ($('#svc').val()==1?$('#pk').val():$('#pk_h').val()), \n                do_addr: ($('#svc').val()==1?$('#do').val():$('#do_h').val()),\n                dur_h: $('#dur').val(), date: $('#date').val(), time: $('#time').val(),\n                first: $('#cf').val(), last: $('#cl').val(), email: $('#ce').val(), phone: full_cp,\n                pax: $('#pax').val(), extras: opts, waypoints: wps_txt,\n                roundtrip: $('#chk-rt').is(':checked') ? 'true' : 'false', \n                ret_date: $('#date-rt').val(), ret_time: $('#time-rt').val(),\n                diff_pax: $('#diff-pax').is(':checked') ? 'true' : 'false',\n                px_f: $('#px-f').val(), px_l: $('#px-l').val(), px_p: full_px,\n                bill_link: $('#bill-link').is(':checked') ? 'true' : 'false',\n                press: $('#press').val(), music: $('#music').val(), note: $('#note').val(),\n                drv_gen: $('#drv-gen').val(), drv_lang: $('#drv-lang').val(), drv_dress: $('#drv-dress').val(),\n                flight_num: $('#f_num').val(), \n                pk_lat: $('#pk_lat').val(), pk_lng: $('#pk_lng').val(), do_lat: $('#do_lat').val(), do_lng: $('#do_lng').val(),\n                pk_zip: $('#pk_zip').val(), do_zip: $('#do_zip').val(), pk_country: $('#pk_country').val(),\n                dist_txt: $('#calc_dist_txt').val(), dur_txt: $('#calc_dur_txt').val(),\n                driver_ref: $('#driver_ref').val()\n            }, function(r) {\n                if(r.success) {\n                    if(act=='cart') { if(confirm('Ajout\u00e9 au panier. Continuer ?')) location.reload(); else window.location.href=r.data.url; }\n                    else window.location.href=r.data.url;\n                } else {\n                    alert(r.data.msg);\n                    btn.html(btnTxt).prop('disabled', false); \/\/ Remet le bouton si erreur\n                }\n            });\n        };\n\n        if(typeof google === 'undefined') $.getScript('https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyAQwZEurk1ADULDyJIT2R4FrLXtrLzZ2q4&libraries=places&callback=initV17'); else initV17();\n    });\n    <\/script>\n <\/p>\n <p style=\"color:#555; font-size:0.8rem;\"><\/p>\n <\/div>\n <\/div>\n <\/div>\n\n <section class=\"features-sec\">\n <div class=\"features-grid\">\n <div class=\"feat-card\">\n <i class=\"fas fa-plane-arrival feat-icon\"><\/i>\n <h4>Suivi de Vol (Tracking)<\/h4>\n <p>Nous surveillons votre vol en direct. En cas d'avance ou de retard, l'heure de votre chauffeur s'ajuste automatiquement.<\/p>\n <\/div>\n <div class=\"feat-card\">\n <i class=\"fas fa-id-badge feat-icon\"><\/i>\n <h4>Accueil Pancarte<\/h4>\n <p>D\u00e8s le passage des douanes, votre chauffeur vous attend avec une tablette affichant votre nom ou logo d'entreprise.<\/p>\n <\/div>\n <div class=\"feat-card\">\n <i class=\"fas fa-hourglass-half feat-icon\"><\/i>\n <h4>Attente Gratuite<\/h4>\n <p>Prenez votre temps. Nous offrons 60 minutes d'attente gratuites \u00e0 l'a\u00e9roport apr\u00e8s l'atterrissage de votre avion.<\/p>\n <\/div>\n <div class=\"feat-card\">\n <i class=\"fas fa-hand-holding-usd feat-icon\"><\/i>\n <h4>Prix Fixe \u00e0 la R\u00e9servation<\/h4>\n <p>Fini le stress du compteur dans les embouteillages du p\u00e9riph\u00e9rique. Le prix annonc\u00e9 est le prix final pay\u00e9.<\/p>\n <\/div>\n <\/div>\n <\/section>\n\n <section id=\"destinations\" class=\"airports-sec\">\n <div class=\"airports-header\">\n <span style=\"color:var(--gold-flat); text-transform:uppercase; font-size:0.8rem; letter-spacing:2px;\">Notre R\u00e9seau Parisien<\/span>\n <h2 style=\"color:white; margin:10px 0 20px; font-size: 2.5rem;\">A\u00e9roports & <span class=\"cc-gold-text\">Connexions<\/span><\/h2>\n <div style=\"width:50px; height:2px; background:var(--gold-flat); margin:0 auto;\"><\/div>\n <\/div>\n\n <div class=\"airports-grid\">\n <div class=\"airport-card\" onclick=\"window.location='#reservation'\">\n <img decoding=\"async\" src=\"?q=80&amp;w=800\" class=\"airport-img\" alt=\"VTC Roissy CDG Paris\" title=\"\">\n <div class=\"airport-info\">\n <h3 class=\"airport-title\">Roissy-CDG<\/h3>\n <div class=\"airport-meta\">Terminal 1, 2 (A-G), 3<\/div>\n <\/div>\n <\/div>\n <div class=\"airport-card\" onclick=\"window.location='#reservation'\">\n <img decoding=\"async\" src=\"?q=80&amp;w=800\" class=\"airport-img\" alt=\"VTC A\u00e9roport Orly Paris\" title=\"\">\n <div class=\"airport-info\">\n <h3 class=\"airport-title\">Paris-Orly (ORY)<\/h3>\n <div class=\"airport-meta\">Orly 1, 2, 3 et 4<\/div>\n <\/div>\n <\/div>\n <div class=\"airport-card\" onclick=\"window.location='#reservation'\">\n <img decoding=\"async\" src=\"?q=80&amp;w=800\" class=\"airport-img\" alt=\"Transfert A\u00e9roport vers Disneyland Paris\" title=\"\">\n <div class=\"airport-info\">\n <h3 class=\"airport-title\">Disneyland Paris<\/h3>\n <div class=\"airport-meta\">Transfert Direct depuis CDG\/Orly<\/div>\n <\/div>\n <\/div>\n <\/div>\n <\/section>\n\n <section class=\"paris-trends-sec\">\n <div class=\"pt-header\">\n <span class=\"cc-badge-lux\" style=\"background:transparent; border:1px solid var(--gold-flat); color:var(--gold-flat); padding:5px 15px; border-radius:50px; font-size:0.75rem; text-transform:uppercase; letter-spacing:2px;\">Expertise & Logistique<\/span>\n <h2 style=\"color:white; margin:15px 0 20px; font-size: 2.5rem;\">Services <span class=\"cc-gold-text\">Exclusifs<\/span> Paris<\/h2>\n <div style=\"width:50px; height:2px; background:var(--gold-flat); margin:0 auto 20px;\"><\/div>\n <p style=\"color:#aaa;\">Au-del\u00e0 du simple transfert, nous anticipons les besoins sp\u00e9cifiques de la client\u00e8le internationale visitant la capitale.<\/p>\n <\/div>\n\n <div class=\"pt-slider-wrapper\">\n <div class=\"pt-slider\">\n <div class=\"pt-card\" onclick=\"window.location='#reservation'\">\n <img decoding=\"async\" src=\"https:\/\/www.centralcab.fr\/paris-airport\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_f6c2k2f6c2k2f6c2-3-scaled-e1767880176887.png?q=80&amp;w=600\" alt=\"VTC Disneyland Paris depuis CDG Orly\" class=\"pt-img\" title=\"\">\n <div class=\"pt-content\">\n <div class=\"pt-icon\"><i class=\"fas fa-magic\"><\/i><\/div>\n <h3 class=\"pt-title\">Navettes Disneyland & Familles<\/h3>\n <p class=\"pt-desc\">Transfert direct entre votre terminal (CDG\/Orly) et les parcs Disneyland Paris. Nous fournissons gratuitement si\u00e8ges b\u00e9b\u00e9 et r\u00e9hausseurs Isofix.<\/p>\n <div class=\"pt-tags\"><span class=\"pt-tag\">VTC Disney<\/span><span class=\"pt-tag\">Si\u00e8ge B\u00e9b\u00e9 Inclus<\/span><\/div>\n <\/div>\n <\/div>\n <div class=\"pt-card\" onclick=\"window.location='#reservation'\">\n <img decoding=\"async\" src=\"q=80&amp;w=600\" alt=\"Location Van VTC Paris Shopping Bagages\" class=\"pt-img\" title=\"\">\n <div class=\"pt-content\">\n <div class=\"pt-icon\"><i class=\"fas fa-suitcase-rolling\"><\/i><\/div>\n <h3 class=\"pt-title\">Van XXL & Shopping VIP<\/h3>\n <p class=\"pt-desc\">Exc\u00e9dent de bagages ou vir\u00e9e shopping (Avenue Montaigne, La Vall\u00e9e Village) ? Nos Vans Mercedes ultra-longs accueillent jusqu'\u00e0 7 passagers et 10 valises.<\/p>\n <div class=\"pt-tags\"><span class=\"pt-tag\">Van 7 Places<\/span><span class=\"pt-tag\">Gros Volume<\/span><\/div>\n <\/div>\n <\/div>\n <div class=\"pt-card\" onclick=\"window.location='\/mise-a-disposition\/'\">\n <img decoding=\"async\" src=\"https:\/\/www.centralcab.fr\/paris-airport\/wp-content\/uploads\/2024\/04\/Gemini_Generated_Image_f6c2k2f6c2k2f6c2-1-scaled-e1767879806651.png?q=80&amp;w=600\" alt=\"Chauffeur priv\u00e9 mise \u00e0 disposition Paris\" class=\"pt-img\" title=\"\">\n <div class=\"pt-content\">\n <div class=\"pt-icon\"><i class=\"fas fa-business-time\"><\/i><\/div>\n <h3 class=\"pt-title\">Mise \u00e0 Disposition (Business)<\/h3>\n <p class=\"pt-desc\">Votre chauffeur vous attend directement \u00e0 l'a\u00e9roport et reste \u00e0 votre disposition pour la journ\u00e9e (Roadshows financiers, Fashion Week).<\/p>\n <div class=\"pt-tags\"><span class=\"pt-tag\">Chauffeur Journ\u00e9e<\/span><span class=\"pt-tag\">Roadshow<\/span><\/div>\n <\/div>\n <\/div>\n <div class=\"pt-card\" onclick=\"window.location='#reservation'\">\n <img decoding=\"async\" src=\"?q=80&amp;w=600\" alt=\"Accueil VIP A\u00e9roport de Paris\" class=\"pt-img\" title=\"\">\n <div class=\"pt-content\">\n <div class=\"pt-icon\"><i class=\"fas fa-concierge-bell\"><\/i><\/div>\n <h3 class=\"pt-title\">Accueil VIP & Fast-Track<\/h3>\n <p class=\"pt-desc\">Coordination avec les services Fast-Track, accueil pancarte aux douanes, et prise en charge de vos chariots \u00e0 bagages.<\/p>\n <div class=\"pt-tags\"><span class=\"pt-tag\">Meet & Greet<\/span><span class=\"pt-tag\">Porteur<\/span><\/div>\n <\/div>\n <\/div>\n <\/div>\n <\/div>\n <\/section>\n\n <section class=\"fbo-sec\">\n <div class=\"fbo-txt\">\n <span class=\"cc-badge-lux\" style=\"background:transparent; border:1px solid var(--gold-flat); color:var(--gold-flat); padding:5px 15px; border-radius:50px; font-size:0.7rem; text-transform:uppercase;\">Paris-Le Bourget (LBG)<\/span>\n <h2 style=\"color:white; margin:20px 0; font-size: 2.5rem;\">Aviation d'Affaires & <span class=\"cc-gold-text\">VIP<\/span><\/h2>\n <p style=\"font-size:1.05rem;\">\n Le Bourget est le premier a\u00e9roport d'affaires en Europe. Central Cab offre une logistique de pointe pour les passagers de Jets Priv\u00e9s, les Family Offices et les d\u00e9l\u00e9gations diplomatiques.\n <\/p>\n <ul style=\"list-style:none; padding:0; margin-top:30px;\">\n <li style=\"margin-bottom:15px; color:#ccc; display:flex; align-items:center; gap:15px;\">\n <i class=\"fas fa-plane-departure\" style=\"color:var(--gold-flat); font-size:1.2rem;\"><\/i> <strong>Acc\u00e8s FBO :<\/strong> Prise en charge discr\u00e8te via Signature, Astonsky, Dassault Falcon Service.\n <\/li>\n <li style=\"margin-bottom:15px; color:#ccc; display:flex; align-items:center; gap:15px;\">\n <i class=\"fas fa-user-secret\" style=\"color:var(--gold-flat); font-size:1.2rem;\"><\/i> <strong>Roadshows & Fashion Week :<\/strong> Mise \u00e0 disposition de Berlines et Vans \u00e0 la journ\u00e9e.\n <\/li>\n <\/ul>\n <\/div>\n <div class=\"fbo-img\">\n <div style=\"position:absolute; top:-15px; right:-15px; background:var(--bg-deep); border:1px solid var(--gold-flat); padding:15px; z-index:2; text-align:center;\">\n <i class=\"fas fa-star\" style=\"color:var(--gold-flat); font-size:1.5rem; margin-bottom:5px; display:block;\"><\/i>\n <span style=\"color:white; font-size:0.8rem; font-weight:700; text-transform:uppercase;\">VIP<br>Handling<\/span>\n <\/div>\n <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1540962351504-03099e0a754b?q=80&amp;w=800\" alt=\"Chauffeur VIP Jet Priv\u00e9 Le Bourget Paris\" title=\"\">\n <\/div>\n <\/section>\n\n <section class=\"reviews-sec\">\n <h3 style=\"color:white; font-family:var(--font-serif); font-size: 2rem; margin-bottom: 10px;\">L'Excellence Reconnue<\/h3>\n <p style=\"color:#888; margin-bottom:40px;\">Ponctualit\u00e9, discr\u00e9tion et v\u00e9hicules premium. D\u00e9couvrez les avis de notre client\u00e8le internationale.<\/p>\n \n <a href=\"https:\/\/business.google.com\/n\/16569531180177201610\/profile?fid=1551801009132467685\" target=\"_blank\" class=\"google-badge\" rel=\"nofollow noopener\">\n <i class=\"fab fa-google g-logo\"><\/i>\n <div style=\"text-align:left; border-left: 1px solid #444; padding-left: 20px;\">\n <div class=\"g-stars\">\n <i class=\"fas fa-star\"><\/i><i class=\"fas fa-star\"><\/i><i class=\"fas fa-star\"><\/i><i class=\"fas fa-star\"><\/i><i class=\"fas fa-star\"><\/i>\n <\/div>\n <span style=\"display:block; color:white; font-size:1rem; font-weight:700; margin-top:5px;\">Central Cab Paris<\/span>\n <span style=\"color:#aaa; font-size:0.8rem;\">Consultez notre profil Google<\/span>\n <\/div>\n <\/a>\n <\/section>\n\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-74b0530 elementor-widget elementor-widget-html\" data-id=\"74b0530\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n \/* --- SECTION FLOTTE PARIS --- *\/\n .fleet-sec{\n padding:100px 5%;\n background-color:var(--bg-panel);\n border-top:1px solid var(--border-glass);\n position:relative;\n}\n\n .fleet-header{\n text-align:center;\n max-width:800px;\n margin:0 auto 60px;\n}\n\n .fleet-grid{\n display:grid;\n grid-template-columns:repeat(auto-fit,minmax(320px,1fr));\n gap:40px;\n max-width:1400px;\n margin:0 auto;\n}\n\n .fleet-card{\n background:var(--bg-deep);\n border:1px solid #222;\n border-radius:4px;\n overflow:hidden;\n transition:0.5s cubic-bezier(0.25,0.8,0.25,1);\n position:relative;\n display:flex;\n flex-direction:column;\n}\n\n .fleet-card:hover{\n border-color:var(--gold-flat);\n transform:translateY(-10px);\n box-shadow:0 25px 50px rgba(0,0,0,0.8);\n}\n\n \/* Conteneur Image avec effet Zoom *\/\n .fleet-img-wrap{\n position:relative;\n height:260px;\n overflow:hidden;\n}\n \n .fleet-img-wrap::after{\n content:'';position:absolute;bottom:0;left:0;width:100%;height:50%;\n background:linear-gradient(to top,var(--bg-deep) 0%,transparent 100%);\n z-index:1;pointer-events:none;\n}\n\n .fleet-img{\n width:100%;\n height:100%;\n object-fit:cover;\n transition:0.8s ease;\n filter:grayscale(30%) brightness(0.7);\n}\n\n .fleet-card:hover .fleet-img{\n transform:scale(1.08);\n filter:grayscale(0%) brightness(0.9);\n}\n\n \/* Informations du v\u00e9hicule *\/\n .fleet-info{\n padding:0 30px 30px;\n position:relative;\n z-index:2;\n flex:1;\n display:flex;\n flex-direction:column;\n}\n\n .fleet-name{\n color:white;\n font-family:var(--font-serif);\n font-size:1.6rem;\n margin-bottom:5px;\n margin-top:-10px;\/* Remonte l\u00e9g\u00e8rement sur le d\u00e9grad\u00e9 de l'image *\/\n}\n\n .fleet-cat{\n color:var(--gold-flat);\n font-family:var(--font-sans);\n font-size:0.75rem;\n text-transform:uppercase;\n letter-spacing:2px;\n margin-bottom:20px;\n display:block;\n}\n\n \/* Capacit\u00e9 (Passagers & Bagages) *\/\n .fleet-specs{\n display:flex;\n gap:25px;\n margin-bottom:20px;\n padding-bottom:20px;\n border-bottom:1px solid #222;\n}\n\n .fleet-spec{\n display:flex;\n align-items:center;\n gap:10px;\n color:#eee;\n font-size:0.95rem;\n font-weight:600;\n}\n \n .fleet-spec i{\n color:var(--gold-flat);\n font-size:1.2rem;\n}\n\n .fleet-desc{\n color:#888;\n font-size:0.85rem;\n line-height:1.7;\n margin-bottom:25px;\n flex:1;\n}\n\n \/* Bouton d'action dans la carte *\/\n .fleet-btn{\n text-align:center;\n padding:12px;\n border:1px solid #333;\n color:white;\n text-transform:uppercase;\n letter-spacing:1px;\n font-size:0.8rem;\n text-decoration:none;\n transition:0.3s;\n border-radius:2px;\n}\n\n .fleet-card:hover .fleet-btn{\n background:var(--gold-flat);\n color:black;\n border-color:var(--gold-flat);\n font-weight:700;\n}\n\n @media (max-width:768px){\n .fleet-img-wrap{height:220px}\n .fleet-specs{gap:15px}\n}\n<\/style>\n\n<section class=\"fleet-sec\">\n <div class=\"fleet-header\">\n <span class=\"cc-badge-lux\" style=\"background:transparent; border:1px solid var(--gold-flat); color:var(--gold-flat); padding:5px 15px; border-radius:50px; font-size:0.75rem; text-transform:uppercase; letter-spacing:2px;\">V\u00e9hicules Premium<\/span>\n <h2 style=\"color:white; margin:15px 0 20px; font-size: 2.5rem;\">Notre Flotte <span class=\"cc-gold-text\">Parisienne<\/span><\/h2>\n <div style=\"width:50px; height:2px; background:var(--gold-flat); margin:0 auto 20px;\"><\/div>\n <p style=\"color:#aaa;\">\n Des v\u00e9hicules r\u00e9cents, rigoureusement entretenus, \u00e0 l'int\u00e9rieur cuir noir. L'eau min\u00e9rale, le Wi-Fi et les chargeurs t\u00e9l\u00e9phones sont inclus sur tous nos transferts a\u00e9roports.\n <\/p>\n <\/div>\n\n <div class=\"fleet-grid\">\n \n <div class=\"fleet-card\">\n <div class=\"fleet-img-wrap\">\n <img decoding=\"async\" src=\"https:\/\/www.centralcab.fr\/paris-airport\/wp-content\/uploads\/2022\/08\/Mercedes-E-Class-Chauffeur-Central-Cab-France-e1771725738937.png?q=80&amp;w=800\" alt=\"Mercedes Classe E VTC Paris\" class=\"fleet-img\" title=\"\">\n <\/div>\n <div class=\"fleet-info\">\n <h3 class=\"fleet-name\">Mercedes Classe E<\/h3>\n <span class=\"fleet-cat\">Business Class<\/span>\n \n <div class=\"fleet-specs\">\n <div class=\"fleet-spec\" title=\"Jusqu'\u00e0 3 passagers\"><i class=\"fas fa-user-tie\"><\/i> 3<\/div>\n <div class=\"fleet-spec\" title=\"Jusqu'\u00e0 2 valises soute\"><i class=\"fas fa-suitcase\"><\/i> 2<\/div>\n <div class=\"fleet-spec\" title=\"Jusqu'\u00e0 2 bagages cabine\"><i class=\"fas fa-briefcase\"><\/i> 2<\/div>\n <\/div>\n \n <p class=\"fleet-desc\">\n La r\u00e9f\u00e9rence du transport Business. Discr\u00e8te et \u00e9l\u00e9gante, c'est le choix id\u00e9al pour vos transferts professionnels en solo ou en couple depuis Roissy ou Orly vers le centre de Paris.\n <\/p>\n <a href=\"#reservation\" class=\"fleet-btn\">S\u00e9lectionner<\/a>\n <\/div>\n <\/div>\n\n <div class=\"fleet-card\">\n <div class=\"fleet-img-wrap\">\n <img decoding=\"async\" src=\"https:\/\/www.centralcab.fr\/paris-airport\/wp-content\/uploads\/2022\/08\/Mercedes-V-Class-Central-Cab-France-e1771725966840.png?q=80&amp;w=800\" alt=\"Mercedes Van Classe V VTC Paris\" class=\"fleet-img\" title=\"\">\n <\/div>\n <div class=\"fleet-info\">\n <h3 class=\"fleet-name\">Mercedes Classe V<\/h3>\n <span class=\"fleet-cat\">First Class Van (XXL)<\/span>\n \n <div class=\"fleet-specs\">\n <div class=\"fleet-spec\" title=\"Jusqu'\u00e0 7 passagers\"><i class=\"fas fa-users\"><\/i> 7<\/div>\n <div class=\"fleet-spec\" title=\"Jusqu'\u00e0 8 valises soute\"><i class=\"fas fa-suitcase\"><\/i> 8<\/div>\n <div class=\"fleet-spec\" title=\"Id\u00e9al familles\"><i class=\"fas fa-baby-carriage\"><\/i> Isofix<\/div>\n <\/div>\n \n <p class=\"fleet-desc\">\n Un espace salon in\u00e9gal\u00e9 (si\u00e8ges en vis-\u00e0-vis). Le format \"Extra-Long\" permet d'accueillir tous vos exc\u00e9dents de bagages. Indispensable pour la Fashion Week ou les s\u00e9jours \u00e0 Disneyland.\n <\/p>\n <a href=\"#reservation\" class=\"fleet-btn\">S\u00e9lectionner<\/a>\n <\/div>\n <\/div>\n\n <div class=\"fleet-card\">\n <div class=\"fleet-img-wrap\">\n <img decoding=\"async\" src=\"https:\/\/www.centralcab.fr\/paris-airport\/wp-content\/uploads\/2022\/08\/Mercedes-S-Class-Chauffeur-CentralCab-scaled-e1771726079582.png?q=80&amp;w=800\" alt=\"Mercedes Classe S VIP Paris\" class=\"fleet-img\" title=\"\">\n <\/div>\n <div class=\"fleet-info\">\n <h3 class=\"fleet-name\">Mercedes Classe S<\/h3>\n <span class=\"fleet-cat\">VIP \/ First Class<\/span>\n \n <div class=\"fleet-specs\">\n <div class=\"fleet-spec\" title=\"Jusqu'\u00e0 2 passagers VIP\"><i class=\"fas fa-crown\"><\/i> 2<\/div>\n <div class=\"fleet-spec\" title=\"Jusqu'\u00e0 2 valises soute\"><i class=\"fas fa-suitcase\"><\/i> 2<\/div>\n <div class=\"fleet-spec\" title=\"Confidentialit\u00e9\"><i class=\"fas fa-user-shield\"><\/i> VIP<\/div>\n <\/div>\n \n <p class=\"fleet-desc\">\n L'expression ultime du luxe. Version limousine rallong\u00e9e offrant un confort arri\u00e8re absolu. R\u00e9serv\u00e9e \u00e0 nos transferts depuis le FBO du Bourget ou les Palaces parisiens.\n <\/p>\n <a href=\"#reservation\" class=\"fleet-btn\">S\u00e9lectionner<\/a>\n <\/div>\n <\/div>\n\n <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Taxi Paris Airport : Transfert VTC A\u00e9roport Paris (CDG, Orly) | Chauffeur Priv\u00e9 Central Cab Taxi Paris Airport Transfers Transferts A\u00e9roports Paris &#038; \u00cele-de-France Oubliez l&rsquo;attente aux stations de taxis. Votre chauffeur priv\u00e9 VTC vous accueille aux arriv\u00e9es de Roissy CDG, Orly ou Le Bourget avec une pancarte \u00e0 votre nom. Calculer mon Tarif WhatsApp [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":33393,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-34198","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.centralcab.fr\/paris-airport\/wp-json\/wp\/v2\/pages\/34198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.centralcab.fr\/paris-airport\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.centralcab.fr\/paris-airport\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.centralcab.fr\/paris-airport\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.centralcab.fr\/paris-airport\/wp-json\/wp\/v2\/comments?post=34198"}],"version-history":[{"count":53,"href":"https:\/\/www.centralcab.fr\/paris-airport\/wp-json\/wp\/v2\/pages\/34198\/revisions"}],"predecessor-version":[{"id":34392,"href":"https:\/\/www.centralcab.fr\/paris-airport\/wp-json\/wp\/v2\/pages\/34198\/revisions\/34392"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.centralcab.fr\/paris-airport\/wp-json\/wp\/v2\/media\/33393"}],"wp:attachment":[{"href":"https:\/\/www.centralcab.fr\/paris-airport\/wp-json\/wp\/v2\/media?parent=34198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}