<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8"/>
<meta content="width=device-width,initial-scale=1,viewport-fit=cover" name="viewport"/>
<title>Taxi Val d'Europe & Marne-la-Vallée — Disneyland, CDG, Orly</title>
<meta content="Taxi Marne-la-Vallée & Val d'Europe 24h/24 : Disneyland 30€, CDG 104€, Orly 135€. Devis en ligne, sièges enfants offerts." name="description"/>
<meta content="index,follow,max-image-preview:large,max-snippet:-1" name="robots"/>
<meta content="Taxi Marne-la-Vallée — Taxi à Val d'Europe" name="author"/>
<meta content="#0B1B2B" name="theme-color"/>
<meta content="taxi marne-la-vallée, taxi val d'europe, taxi disneyland paris, taxi aéroport cdg, taxi aéroport orly, navette aéroport disneyland, taxi serris, taxi chessy, taxi bussy-saint-georges, taxi lagny-sur-marne, taxi torcy" name="keywords"/>
<link href="https://www.taximarnelavallee.com/" rel="canonical"/><link href="https://www.taximarnelavallee.com/" hreflang="fr" rel="alternate"/><link href="https://www.taximarnelavallee.com/en/" hreflang="en" rel="alternate"/><link href="https://www.taximarnelavallee.com/es/" hreflang="es" rel="alternate"/><link href="https://www.taximarnelavallee.com/de/" hreflang="de" rel="alternate"/><link href="https://www.taximarnelavallee.com/it/" hreflang="it" rel="alternate"/><link href="https://www.taximarnelavallee.com/" hreflang="x-default" rel="alternate"/>
<link href="/favicon.svg" rel="icon" type="image/svg+xml"/>
<link href="/apple-touch-icon.png" rel="apple-touch-icon"/>
<link href="/favicon.ico" rel="icon" sizes="any"/>
<link href="/site.webmanifest" rel="manifest"/>
<!-- Geo SEO local -->
<meta content="FR-77" name="geo.region"/>
<meta content="Serris, Val d'Europe, Seine-et-Marne" name="geo.placename"/>
<meta content="48.842;2.778" name="geo.position"/>
<meta content="48.842, 2.778" name="ICBM"/>
<!-- Open Graph -->
<meta content="Taxi à Val d'Europe & Marne-la-Vallée | Disneyland, CDG, Orly · 24h/24" property="og:title"/>
<meta content="Service taxi premium Val d'Europe & Marne-la-Vallée 24h/24. Disneyland 30€, CDG 104€, Orly 135€. Sièges enfants offerts. Réservation immédiate." property="og:description"/>
<meta content="website" property="og:type"/>
<meta content="https://www.taximarnelavallee.com/" property="og:url"/>
<meta content="fr_FR" property="og:locale"/>
<meta content="https://www.taximarnelavallee.com/images/mercedes_classe_v_taxi_marne_la_vallee_optimized.webp" property="og:image"/>
<meta content="1200" property="og:image:width"/>
<meta content="1200" property="og:image:height"/>
<meta content="image/webp" property="og:image:type"/>
<meta content="Taxi à Val d'Europe & Marne-la-Vallée | Disneyland, CDG, Orly · 24h/24" property="og:image:alt"/>
<meta content="@taximlv" name="twitter:site"/>
<meta content="@taximlv" name="twitter:creator"/>
<meta content="summary_large_image" name="twitter:card"/>
<!-- Fonts -->
<link href="https://fonts.googleapis.com" rel="preconnect"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://maps.googleapis.com" rel="preconnect"/>
<!-- Images intérieures pré-déclarées pour indexation Google Images -->
<link as="style" href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;1,600&family=DM+Sans:wght@300;400;500;600;700&display=optional" onload="this.onload=null;this.rel='stylesheet'" rel="preload"/>
<noscript><link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;1,600&family=DM+Sans:wght@300;400;500;600;700&display=optional" rel="stylesheet"/></noscript>
<!-- Structured Data -->
<script type="application/ld+json">{"@context": "https://schema.org", "@type": ["TaxiService", "LocalBusiness"], "@id": "https://www.taximarnelavallee.com/#business", "name": "Taxi Marne-la-Vallée — Taxi à Val d'Europe", "description": "Service de taxi premium 24h/24 basé à Serris, Val d'Europe.", "url": "https://www.taximarnelavallee.com/", "telephone": "+33750535658", "email": "contact@taximarnelavallee.com", "image": "https://www.taximarnelavallee.com/images/mercedes_classe_v_taxi_marne_la_vallee_optimized.webp", "priceRange": "€€", "openingHoursSpecification": {"@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], "opens": "00:00", "closes": "23:59"}, "address": {"@type": "PostalAddress", "streetAddress": "1 Place d'Ariane", "addressLocality": "Serris", "postalCode": "77700", "addressRegion": "Île-de-France", "addressCountry": "FR"}, "geo": {"@type": "GeoCoordinates", "latitude": 48.842, "longitude": 2.778}, "aggregateRating": {"@type": "AggregateRating", "ratingValue": "4.9", "reviewCount": "247", "bestRating": "5", "worstRating": "1"}, "review": [{"@type": "Review", "author": {"@type": "Person", "name": "Sophie L."}, "datePublished": "2026-03-12", "reviewRating": {"@type": "Rating", "ratingValue": "5"}, "reviewBody": "Chauffeur très ponctuel pour notre transfert à 4h du matin vers CDG. Véhicule impeccable, je recommande sans hésiter."}, {"@type": "Review", "author": {"@type": "Person", "name": "Karim D."}, "datePublished": "2026-02-04", "reviewRating": {"@type": "Rating", "ratingValue": "5"}, "reviewBody": "Trajet Torcy vers Orly impeccable. Chauffeur a suivi mon vol en retard, compteur homologué, reçu fourni."}, {"@type": "Review", "author": {"@type": "Person", "name": "James W."}, "datePublished": "2026-04-22", "reviewRating": {"@type": "Rating", "ratingValue": "5"}, "reviewBody": "Perfect transfer from CDG to Disneyland. Driver waiting with sign, very clean Mercedes, very professional."}], "sameAs": ["https://www.facebook.com/taximlv", "https://x.com/taximlv", "https://www.tiktok.com/@centraletaximlv"], "founder": {"@type": "Person", "name": "Rachid Legssiar"}, "numberOfEmployees": {"@type": "QuantitativeValue", "minValue": 30, "unitText": "chauffeurs"}, "foundingDate": "2015", "slogan": "Le taxi premium 24h/24 de Val d'Europe et Marne-la-Vallée", "currenciesAccepted": "EUR", "paymentAccepted": "Cash, Credit Card, Debit Card", "vatID": "FR74480853803", "areaServed": [{"@type": "AdministrativeArea", "name": "Marne-la-Vallée"}, {"@type": "AdministrativeArea", "name": "Val d'Europe"}, {"@type": "AdministrativeArea", "name": "Seine-et-Marne"}, {"@type": "AdministrativeArea", "name": "Île-de-France"}], "knowsLanguage": ["fr", "en", "es", "de"], "knowsAbout": ["Taxi", "Aéroport CDG", "Aéroport Orly", "Disneyland Paris", "Val d'Europe", "Marne-la-Vallée", "Transfert longue distance", "Transport médical assis"]}</script>
<style>@font-face{font-family:'Playfair Display Fallback';src:local('Georgia');size-adjust:105%;ascent-override:95%;descent-override:27%;line-gap-override:0%}@font-face{font-family:'DM Sans Fallback';src:local('Arial');size-adjust:100%;ascent-override:92%;descent-override:24%;line-gap-override:0%}@font-face{font-family:'Fraunces Fallback';src:local('Georgia');size-adjust:108%;ascent-override:100%;descent-override:28%;line-gap-override:0%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}:root{--ink:#0A1628;--ink-soft:#16263D;--ink-muted:#354E68;--gold:#B3923D;--gold-dark:#8A6D2F;--gold-light:#E4C97A;--gold-pale:#FBF5E6;--cream:#F8F5EF;--cream-dark:#EEE9DF;--white:#FFFFFF;--line:#E4DDD0;--text:#2D3A46;--text-soft:#5A6A7A;--success:#0D7A4E;--danger:#C0392B;--wa:#0A8043;--wa-dark:#085F30;--radius:16px;--radius-sm:10px;--shadow-sm:0 1px 3px rgba(10,22,40,.07),0 4px 12px rgba(10,22,40,.06);--shadow:0 2px 8px rgba(10,22,40,.08),0 12px 32px rgba(10,22,40,.1);--shadow-lg:0 4px 16px rgba(10,22,40,.1),0 24px 64px rgba(10,22,40,.18);--gold-glow:0 0 0 3px rgba(201,168,76,.18)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:'DM Sans','DM Sans Fallback',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text);background:var(--cream);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;padding-bottom:72px}h1,h2,h3,h4{font-family:'Playfair Display','Playfair Display Fallback',Georgia,serif;line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:700}h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:1rem}h3{font-size:1.15rem;margin:0 0 .5rem}p{margin-bottom:1rem}a{color:inherit;text-decoration:none;transition:color .2s}img{max-width:100%;display:block}.wrap{max-width:1200px;margin:0 auto}.container{max-width:1100px;margin:0 auto}.container-narrow{max-width:820px;margin:0 auto}.eyebrow{display:inline-block;color:#6E5526;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-bottom:.75rem;font-family:'DM Sans','DM Sans Fallback',sans-serif}.section-header{text-align:center;margin-bottom:3rem}.section-header p{color:var(--text-soft);max-width:580px;margin:.5rem auto 0;font-size:.97rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.9rem;border-radius:999px;font-family:'DM Sans','DM Sans Fallback',sans-serif;font-weight:600;font-size:.92rem;border:none;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn-gold{background:var(--gold);color:var(--ink)}.btn-gold:hover{background:var(--gold-light);color:var(--ink)}.btn-wa{background:var(--wa);color:var(--ink)}.btn-wa:hover{background:var(--wa-dark);color:#fff}.btn-dark{background:var(--ink);color:var(--cream)}.btn-dark:hover{background:var(--ink-soft)}.btn-ghost{background:transparent;border:1.5px solid rgba(248,245,239,.35);color:var(--cream)}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.btn-outline{background:transparent;border:1.5px solid var(--line);color:var(--text)}.btn-outline:hover{border-color:var(--gold);color:var(--gold-dark)}.badge{display:inline-block;background:var(--gold);color:var(--ink);font-size:.62rem;font-weight:700;padding:.22rem .6rem;border-radius:999px;letter-spacing:.06em;text-transform:uppercase}.badge-new{background:#D4F0E3;color:#0D7A4E}.site-header{background:var(--ink);padding:.85rem 1.5rem;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(201,168,76,.15);backdrop-filter:blur(8px)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo{font-family:'Playfair Display','Playfair Display Fallback',serif;font-size:1.18rem;font-weight:700;color:var(--cream);display:flex;align-items:center;gap:.6rem;letter-spacing:-.01em}.logo-mark{width:36px;height:36px;background:var(--gold);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;box-shadow:0 2px 8px rgba(201,168,76,.3)}.logo-text strong{color:var(--gold)}.logo-text em{display:none;color:rgba(248,245,239,.5);font-style:normal;font-size:.78rem;font-family:'DM Sans','DM Sans Fallback',sans-serif;font-weight:400}@media(min-width:500px){.logo-text em{display:inline}}@media(max-width:499px){.logo{font-size:1.5rem}.logo-text strong{font-size:0}.logo-text strong::after{content:"MLV";font-size:1.5rem;color:var(--gold);font-weight:700;letter-spacing:-.01em}.logo-mark{width:44px;height:44px;font-size:1.4rem}}.nav-desk{display:none;gap:1.75rem;font-size:.875rem;font-weight:500}.nav-desk a{color:rgba(248,245,239,.75);transition:color .2s}.nav-desk a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:.6rem}.header-cta{display:none;background:var(--gold);color:var(--ink);padding:.5rem 1.1rem;border-radius:999px;font-weight:700;font-size:.82rem}.header-cta:hover{background:var(--gold-light);color:var(--ink)}@media(min-width:900px){.nav-desk{display:flex}.header-cta{display:inline-block}}.hero{background:var(--ink);color:var(--cream);padding:4.5rem 1.5rem 5rem;position:relative;overflow:hidden}.hero-bg-img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.18;pointer-events:none;display:block}.hero::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to right,rgba(10,22,40,.95) 0%,rgba(10,22,40,.75) 55%,rgba(10,22,40,.4) 100%),radial-gradient(ellipse at 75% 20%,rgba(201,168,76,.12),transparent 55%),radial-gradient(ellipse at 10% 80%,rgba(201,168,76,.06),transparent 45%);pointer-events:none}.hero-wave{position:absolute;bottom:-1px;left:0;right:0;height:72px;pointer-events:none}.hero .wrap{position:relative;z-index:2}.hero-inner{display:grid;gap:3rem;align-items:start}@media(min-width:900px){.hero-inner{grid-template-columns:1fr 420px;align-items:center}}.hero .eyebrow{color:var(--gold)}.hero h1{color:var(--cream);margin-bottom:1.25rem}.hero h1 .accent{color:var(--gold);font-style:italic}.hero .sub{font-size:1.05rem;max-width:600px;line-height:1.75;margin-bottom:2rem;color:rgba(248,245,239,.85)}.hero-cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:2rem}.trust-pills{display:flex;gap:.5rem;flex-wrap:wrap}.trust-pill{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.3rem .9rem;font-size:.78rem;font-weight:500;color:rgba(248,245,239,.8);display:flex;align-items:center;gap:.35rem}.booking-card{background:var(--white);color:var(--ink);border-radius:22px;padding:2rem 1.75rem;box-shadow:var(--shadow-lg);border:1px solid rgba(201,168,76,.2);position:relative;overflow:hidden}.booking-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold))}.booking-card h3,.booking-card .bc-title{font-size:1.1rem;margin:0 0 1.4rem;color:var(--ink)}.bc-field{margin-bottom:1rem}.bc-field label{display:block;font-size:.7rem;font-weight:700;color:var(--text-soft);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.35rem}.bc-input-wrap{position:relative}.bc-input-wrap .ic{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);font-size:.95rem;pointer-events:none}.bc-input-wrap input,.bc-input-wrap select,.bc-field input,.bc-field select{width:100%;padding:.82rem 1rem;padding-left:2.6rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-size:.92rem;font-family:inherit;background:var(--cream);color:var(--ink);transition:border-color .2s,box-shadow .2s;outline:none}.bc-field input:not(.bc-input-wrap input),.bc-field select:not(.bc-input-wrap select){padding-left:1rem}.bc-input-wrap input:focus,.bc-input-wrap select:focus,.bc-field input:focus,.bc-field select:focus{border-color:var(--gold);box-shadow:var(--gold-glow)}.bc-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.bc-btn{width:100%;margin-top:.5rem}.bc-note{font-size:.72rem;color:var(--text-soft);text-align:center;margin-top:.7rem;line-height:1.6}.trust-bar{background:var(--white);border-bottom:1px solid var(--line);padding:1.1rem 1.5rem}.trust-bar .wrap{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;align-items:center}.ti{display:flex;align-items:center;gap:.55rem;font-size:.8rem;font-weight:600;color:var(--ink-muted)}.ti .icon{font-size:1.15rem}.ti .sub{font-size:.68rem;font-weight:400;color:#5A6A7A;display:block;line-height:1.2}.fleet-section{background:var(--cream);padding:4rem 1.5rem}.fleet-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:2.5rem}@media(min-width:720px){.fleet-grid{grid-template-columns:1fr 1fr}}.fleet-card{background:#fff;border:1.5px solid var(--line);border-radius:20px;overflow:hidden;transition:box-shadow .25s,transform .25s}.fleet-card:hover{box-shadow:0 12px 40px rgba(10,14,23,.1);transform:translateY(-4px)}.fleet-img-wrap{position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--ink)}.fleet-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.fleet-card:hover .fleet-img-wrap img{transform:scale(1.04)}.fleet-badge{position:absolute;top:.8rem;left:.8rem;background:var(--gold);color:var(--ink);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .75rem;border-radius:999px}.fleet-body{padding:1.5rem}.fleet-model{font-family:'Fraunces','Fraunces Fallback',Georgia,serif;font-size:1.3rem;font-weight:700;color:var(--ink);margin-bottom:.3rem}.fleet-tagline{font-size:.88rem;color:var(--text-soft);margin-bottom:1.1rem}.fleet-specs{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.fleet-spec{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--text)}.fleet-spec .spec-icon{font-size:.95rem;flex-shrink:0}.fleet-spec strong{color:var(--ink)}.fleet-note{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--text-soft);font-style:italic}.fleet-img-tabs{position:absolute;bottom:.7rem;right:.7rem;display:flex;gap:.3rem;z-index:3}.fleet-img-tabs .fit{background:rgba(10,22,40,.7);color:#fff;border:1.5px solid rgba(255,255,255,.3);border-radius:6px;padding:.25rem .65rem;font-size:.72rem;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s;font-family:inherit}.fleet-img-tabs .fit:hover{background:rgba(201,168,76,.85);border-color:var(--gold)}.fleet-img-tabs .fit.active{background:var(--gold);color:var(--ink);border-color:var(--gold)}.tarifs-section{background:var(--white);padding:4rem 1.5rem}.price-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:1rem}.price-card{background:var(--cream);border:1.5px solid var(--line);border-radius:var(--radius);padding:1.75rem 1.25rem;text-align:center;transition:transform .2s,box-shadow .25s,border-color .2s;position:relative;overflow:hidden}.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold)}.price-card .pc-badge{position:absolute;top:.8rem;right:.8rem}.price-card .pc-dest{font-size:.7rem;font-weight:700;color:var(--text-soft);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.9rem}.price-card .pc-price{font-family:'Playfair Display','Playfair Display Fallback',serif;font-size:2.5rem;font-weight:700;color:var(--ink);line-height:1}.price-card .pc-price small{font-size:1.1rem;color:#6E5526}.price-card .pc-detail{font-size:.78rem;color:var(--text-soft);margin-top:.6rem;line-height:1.55}.price-card.featured{background:var(--ink);border-color:var(--gold)}.price-card.featured .pc-dest{color:rgba(248,245,239,.6)}.price-card.featured .pc-price{color:var(--gold)}.price-card.featured .pc-detail{color:rgba(248,245,239,.7)}.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line);background:var(--white);margin:1.5rem 0 2rem}table{width:100%;border-collapse:collapse;font-size:.88rem}thead th{background:var(--ink);color:var(--cream);padding:.9rem 1.1rem;text-align:left;font-weight:600;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}tbody td{padding:.82rem 1.1rem;border-bottom:1px solid var(--line)}tbody tr:last-child td{border:none}tbody tr:hover{background:var(--cream)}tbody td strong{color:var(--gold-dark);font-weight:700}.simulator-section{background:linear-gradient(160deg,#0d1f35 0%,#122840 50%,#0a1628 100%);padding:5rem 1.5rem;position:relative;overflow:hidden}.simulator-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(201,168,76,.1),transparent 60%);pointer-events:none}.simulator-section .section-header .eyebrow{color:var(--gold)}.simulator-section .section-header h2{color:var(--cream)}.simulator-section .section-header p{color:rgba(248,245,239,.65)}.sim-steps{display:flex;align-items:center;justify-content:center;gap:0;margin:0 auto 2.5rem;max-width:520px;position:relative;z-index:2}.sim-step{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex:1;cursor:default}.sim-step-circle{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:rgba(248,245,239,.45);transition:color .35s,background-color .35s,border-color .35s,transform .35s,box-shadow .35s,opacity .35s cubic-bezier(.4,0,.2,1);position:relative;z-index:2}.sim-step-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:rgba(248,245,239,.35);transition:color .35s;text-align:center;white-space:nowrap}.sim-step.active .sim-step-circle{background:var(--gold);border-color:var(--gold);color:var(--ink);box-shadow:0 0 0 6px rgba(201,168,76,.2)}.sim-step.active .sim-step-label{color:var(--gold)}.sim-step.done .sim-step-circle{background:rgba(201,168,76,.25);border-color:var(--gold);color:var(--gold)}.sim-step.done .sim-step-label{color:rgba(201,168,76,.7)}.sim-connector{flex:1;height:2px;background:rgba(255,255,255,.12);margin-bottom:1.4rem;transition:background .35s;max-width:60px}.sim-connector.done{background:rgba(201,168,76,.4)}.sim-card{background:var(--white);border-radius:24px;padding:2.5rem 2rem;box-shadow:var(--shadow-lg);max-width:640px;margin:0 auto;border:1px solid rgba(201,168,76,.15);position:relative;z-index:2}.sim-panel{display:none}.sim-panel.active{display:block;animation:fadeSlide .3s ease both}@keyframes fadeSlide{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sim-panel-title{font-family:'Playfair Display','Playfair Display Fallback',serif;font-size:1.3rem;color:var(--ink);margin-bottom:.35rem}.sim-panel-sub{font-size:.88rem;color:var(--text-soft);margin-bottom:1.75rem}.sim-field{margin-bottom:1.1rem}.sim-field label{display:block;font-size:.7rem;font-weight:700;color:var(--text-soft);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.38rem}.sim-field .input-wrap{position:relative}.sim-field .input-wrap .ic{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);font-size:.95rem;pointer-events:none;z-index:1}.sim-field input,.sim-field select{width:100%;padding:.9rem 1rem .9rem 2.8rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;background:var(--cream);color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}.sim-field input:not(.has-icon),.sim-field select:not(.has-icon){padding-left:1rem}.sim-field input:focus,.sim-field select:focus{border-color:var(--gold);box-shadow:var(--gold-glow)}.sim-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}@media(max-width:480px){.sim-row-2{grid-template-columns:1fr}}.sim-result-box{background:var(--ink);border-radius:14px;padding:1.6rem;margin:1.5rem 0;display:none}.sim-result-box.visible{display:block;animation:fadeSlide .3s ease}.sim-result-box .srb-label{font-size:.68rem;font-weight:700;color:rgba(248,245,239,.5);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.35rem}.sim-result-box .srb-price{font-family:'Playfair Display','Playfair Display Fallback',serif;font-size:3rem;font-weight:700;color:var(--gold);line-height:1}.sim-result-box .srb-price span{font-size:1.4rem}.sim-result-box .srb-route{font-size:.82rem;color:rgba(248,245,239,.6);margin-top:.5rem;line-height:1.6}.sim-result-box .srb-note{font-size:.72rem;color:rgba(248,245,239,.4);margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08)}.sim-loading{display:none;align-items:center;gap:.6rem;color:var(--text-soft);font-size:.88rem;margin:.75rem 0;justify-content:center}.sim-loading.active{display:flex}.spinner{width:20px;height:20px;border:2.5px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sim-error{background:#FFF2F0;color:#C0392B;border:1px solid #FFC9C5;border-radius:10px;padding:.85rem 1rem;font-size:.85rem;margin:.75rem 0;display:none}.sim-error.visible{display:block}.sim-nav{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:space-between;align-items:center}.sim-nav-back{background:none;border:1.5px solid var(--line);color:var(--text-soft);padding:.8rem 1.5rem;border-radius:999px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s,transform .2s,box-shadow .2s,opacity .2s}.sim-nav-back:hover{border-color:var(--ink);color:var(--ink)}.sim-nav-next,.sim-nav-submit{flex:1;padding:1rem;border:none;border-radius:12px;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;background:var(--gold);color:var(--ink);transition:background .2s,transform .15s;max-width:320px}.sim-nav-next:hover,.sim-nav-submit:hover{background:var(--gold-light);transform:translateY(-1px)}.sim-nav-next:disabled,.sim-nav-submit:disabled{opacity:.55;cursor:not-allowed;transform:none}.sim-nav-submit{background:var(--ink);color:var(--cream);max-width:none}.sim-nav-submit:hover{background:var(--ink-soft)}.sim-summary{background:var(--cream);border-radius:14px;padding:1.5rem;margin-bottom:1.5rem}.sim-summary-row{display:flex;justify-content:space-between;align-items:flex-start;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.88rem}.sim-summary-row:last-child{border:none;padding-top:.75rem;margin-top:.25rem}.sim-summary-row .label{color:var(--text-soft);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.sim-summary-row .value{font-weight:600;text-align:right;max-width:60%}.sim-summary-total .label{font-size:.85rem;color:var(--ink);font-weight:700}.sim-summary-total .value{font-family:'Playfair Display','Playfair Display Fallback',serif;font-size:1.8rem;color:var(--gold-dark);font-weight:700}.sim-success{text-align:center;padding:2rem 1rem;display:none}.sim-success.visible{display:block;animation:fadeSlide .4s ease}.sim-success .checkmark{font-size:4rem;margin-bottom:1rem;display:block}.sim-success h3{font-size:1.4rem;margin-bottom:.5rem}.sim-success p{color:var(--text-soft);margin-bottom:1.5rem}.services-section{background:var(--cream);padding:4rem 1.5rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.service-card{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius);padding:1.75rem;transition:border-color .2s,transform .2s,box-shadow .2s}.service-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:var(--shadow)}.service-card .sc-icon{width:50px;height:50px;background:var(--cream);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.1rem}.service-card h3{font-size:1.05rem;margin-bottom:.4rem}.service-card p{font-size:.86rem;color:var(--text-soft);margin:0 0 .75rem}.service-card a{color:var(--gold-dark);font-size:.84rem;font-weight:600}.service-card a:hover{color:var(--gold)}.intl-section{background:linear-gradient(135deg,var(--ink) 0%,#0d2338 100%);padding:4rem 1.5rem}.intl-grid{display:grid;gap:1.25rem}@media(min-width:700px){.intl-grid{grid-template-columns:repeat(3,1fr)}}.intl-card{background:rgba(255,255,255,.07);border:1px solid rgba(201,168,76,.18);border-radius:var(--radius);padding:1.6rem;color:var(--cream);text-align:center;transition:background .2s,border-color .2s}.intl-card:hover{background:rgba(255,255,255,.11);border-color:rgba(201,168,76,.35)}.intl-card .flag{font-size:2rem;margin-bottom:.75rem}.intl-card h3{font-size:.98rem;color:var(--cream);margin-bottom:.4rem}.intl-card p{font-size:.82rem;opacity:.7;margin:0;line-height:1.55}.intl-card .price-tag{display:inline-block;background:var(--gold);color:var(--ink);padding:.22rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;margin-top:.8rem}.villes-section{background:var(--white);padding:4rem 1.5rem}.zone-label{font-size:.75rem;font-weight:700;color:var(--gold-dark);letter-spacing:.13em;text-transform:uppercase;margin:2rem 0 .8rem}.cities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:.6rem}.city-link{background:var(--cream);border:1.5px solid var(--line);border-radius:10px;padding:.82rem 1rem;font-size:.86rem;font-weight:500;transition:color .2s,background-color .2s,border-color .2s,transform .2s,box-shadow .2s,opacity .2s;display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--text)}.city-link:hover{border-color:var(--gold);background:var(--gold-pale);color:var(--ink)}.city-link .cp{font-size:.7rem;color:#5A6A7A;font-weight:400}.faq-section{background:var(--cream);padding:4rem 1.5rem}.faq-item{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius);margin-bottom:.8rem;overflow:hidden}.faq-item summary{padding:1.15rem 1.4rem;cursor:pointer;font-weight:600;font-size:.95rem;list-style:none;position:relative;padding-right:3.2rem;color:var(--ink)}.faq-item summary::after{content:'+';position:absolute;right:1.3rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--gold-dark);font-weight:300;transition:transform .25s}.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}.faq-item summary::-webkit-details-marker{display:none}.faq-item .answer{padding:0 1.4rem 1.15rem;color:var(--text-soft);font-size:.9rem;line-height:1.75}.avis-section{background:var(--white);padding:4rem 1.5rem}.avis-grid{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-top:2rem}@media(min-width:600px){.avis-grid{grid-template-columns:1fr 1fr}}@media(min-width:960px){.avis-grid{grid-template-columns:1fr 1fr 1fr}}.avis-card{background:var(--cream);border:1.5px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:.7rem;transition:box-shadow .2s}.avis-card:hover{box-shadow:0 6px 24px rgba(10,14,23,.08)}.avis-stars{color:#F4B400;font-size:1.05rem;letter-spacing:.05em}.avis-text{font-size:.92rem;color:var(--ink);line-height:1.7;flex:1}.avis-footer{display:flex;align-items:center;gap:.6rem;margin-top:.3rem}.avis-avatar{width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--ink);font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avis-meta{display:flex;flex-direction:column}.avis-name{font-weight:700;font-size:.88rem;color:var(--ink)}.avis-ville{font-size:.78rem;color:var(--text-soft)}.avis-source{display:flex;align-items:center;gap:.3rem;font-size:.73rem;color:var(--text-soft);margin-left:auto;flex-shrink:0}.avis-source svg{width:14px;height:14px}.avis-global{text-align:center;margin-top:2rem;padding:1.2rem 1.5rem;background:var(--cream);border:1.5px solid var(--line);border-radius:var(--radius);display:inline-block;width:100%;box-sizing:border-box}.avis-global-score{font-size:2.4rem;font-weight:700;color:var(--ink);font-family:'Fraunces','Fraunces Fallback',serif}.avis-global-stars{color:#F4B400;font-size:1.3rem;display:block;margin:.2rem 0}.avis-global-count{font-size:.85rem;color:var(--text-soft)}.cta-band{background:var(--ink);color:var(--cream);padding:4rem 1.5rem;text-align:center;position:relative;overflow:hidden}.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(201,168,76,.12),transparent 65%)}.cta-band .container{position:relative;z-index:2}.cta-band h2{color:var(--cream);margin-bottom:.75rem}.cta-band p{color:rgba(248,245,239,.75);margin-bottom:1.5rem}.cta-phone{display:block;font-family:'Playfair Display','Playfair Display Fallback',serif;font-size:clamp(1.9rem,4vw,2.5rem);font-weight:700;color:var(--gold);margin:.75rem 0 1.75rem;letter-spacing:.02em}.cta-band .cta-buttons{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.site-footer{background:#060F1C;color:#8899AA;padding:3.5rem 1.5rem 2rem;font-size:.86rem}.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;max-width:1100px;margin:0 auto 2.5rem}@media(min-width:700px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}.footer-grid h3{color:var(--cream);font-family:'Playfair Display','Playfair Display Fallback',serif;font-size:.98rem;margin-bottom:1rem}.footer-grid ul{list-style:none}.footer-grid ul li{margin-bottom:.45rem}.footer-grid a{color:#8899AA;transition:color .2s}.footer-grid a:hover{color:var(--gold)}.footer-villes{max-width:1100px;margin:0 auto;border-top:1px solid rgba(136,153,170,.1);padding-top:1.75rem;margin-bottom:1.75rem}.footer-villes h4{color:#7A8A9A;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:.8rem;font-family:'DM Sans','DM Sans Fallback',sans-serif}.footer-villes-list{display:flex;flex-wrap:wrap;gap:.35rem .8rem}.footer-villes-list a{font-size:.76rem;color:#7A8A9A}.footer-villes-list a:hover{color:var(--gold)}.footer-copy{border-top:1px solid rgba(136,153,170,.1);padding-top:1.75rem;text-align:center;font-size:.76rem;max-width:1100px;margin:0 auto;line-height:1.9;color:#7A8A9A}.footer-copy a{color:#7A8A9A;margin:0 .4rem}.footer-copy a:hover{color:var(--gold)}.footer-legal-links{display:flex;flex-wrap:wrap;gap:.3rem .8rem;justify-content:center;margin-top:.6rem}.footer-legal-links a{font-size:.76rem;color:#7A8A9A;text-decoration:underline;text-decoration-color:transparent}.footer-legal-links a:hover{color:var(--gold);text-decoration-color:var(--gold)}.sticky-call{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--ink);border-top:1px solid rgba(201,168,76,.25);display:flex;padding:.6rem .8rem;gap:.5rem;box-shadow:0 -4px 24px rgba(0,0,0,.25)}.sticky-call a{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.9rem;border-radius:12px;font-weight:700;font-size:.88rem;color:inherit}.sticky-call .call{background:var(--gold);color:var(--ink)}.sticky-call .wa{background:var(--wa);color:#fff}@media(min-width:900px){.sticky-call{display:none}body{padding-bottom:0}}.pac-container{z-index:99999 !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-size:.88rem;border-radius:12px !important;border:1.5px solid var(--line) !important;box-shadow:var(--shadow-lg) !important;overflow:hidden}.pac-item{padding:.55rem .9rem;border-top:1px solid var(--line)}.pac-item:first-child{border-top:none}.pac-item:hover{background:var(--cream)}.pac-item-query{font-weight:600;color:var(--ink)}.wa-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:300;display:flex;align-items:center;gap:.55rem;background:#0A8043;color:#0A2010;font-weight:700;font-size:.88rem;font-family:inherit;padding:.75rem 1.2rem .75rem .9rem;border-radius:999px;box-shadow:0 4px 20px rgba(37,211,102,.45),0 2px 8px rgba(0,0,0,.18);text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;white-space:nowrap;overflow:hidden;max-width:220px}.wa-float:hover{background:#085F30;transform:translateY(-3px);box-shadow:0 8px 28px rgba(37,211,102,.55),0 4px 12px rgba(0,0,0,.2);color:#0A2010}.wa-float svg{width:26px;height:26px;flex-shrink:0}.wa-float .wa-label{line-height:1.2}.wa-float .wa-label small{display:block;font-size:.72rem;font-weight:400;opacity:.9}.wa-float::before{content:'';position:absolute;inset:-4px;border-radius:999px;border:3px solid rgba(37,211,102,.4);animation:wa-pulse 2.2s ease-out infinite}@keyframes wa-pulse{0%{transform:scale(1);opacity:1}70%{transform:scale(1.12);opacity:0}100%{transform:scale(1.12);opacity:0}}@media(max-width:899px){.wa-float{display:none !important}.sticky-top{display:none !important}}</style>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"@id": "https://www.taximarnelavallee.com/#faq",
"inLanguage": "fr",
"mainEntity": [
{
"@type": "Question",
"name": "Quel est le tarif du taxi à Val d'Europe vers Disneyland Paris ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Notre service est basé à Serris, à proximité du Val d'Europe, avec plus de 30 chauffeurs professionnels agréés préfecture 77. Le tarif de prise en charge est à partir de 30 €, applicable depuis Chessy, Serris, Bailly-Romainvilliers, Magny-le-Hongre et tout le secteur Val d'Europe. Service 24h/24, sièges enfants gratuits, suivi de vol inclus. Le compteur homologué (2,63 €/km) fait foi."
}
},
{
"@type": "Question",
"name": "Combien coûte un taxi de l'aéroport CDG à Disneyland Paris ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Tarif indicatif : 104 € depuis Roissy-Charles-de-Gaulle vers Disneyland Paris et les hôtels Disney, bagages inclus et suivi de vol gratuit. Le trajet dure environ 45 minutes depuis le Terminal 2, hors heures de pointe. Il s'agit d'une estimation : le tarif final est celui du taximètre homologué."
}
},
{
"@type": "Question",
"name": "Combien coûte un taxi d'Orly à Disneyland Paris ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Tarif indicatif : 135 € depuis Paris-Orly (Orly 1, 2, 3 et 4) vers Disneyland Paris, Chessy ou Val d'Europe. Comptez environ 1 h de trajet selon le trafic sur l'A86 et la Francilienne. Suivi de vol gratuit, accueil avec pancarte nominative. Tarif indicatif au taximètre homologué."
}
},
{
"@type": "Question",
"name": "Combien coûte un taxi de Beauvais à Disneyland Paris ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Tarif indicatif : 288 € depuis Beauvais-Tillé (BVA) vers Disneyland Paris, soit environ 1 h 45 de route pour 135 km. La prise en charge à Beauvais se fait uniquement sur réservation préalable, l'aéroport étant hors de notre zone de stationnement. Idéal après un vol Ryanair ou Wizz Air tardif, quand la navette officielle ne circule plus."
}
},
{
"@type": "Question",
"name": "Combien de temps dure le trajet CDG → Disneyland le matin ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "En heure creuse, comptez 40 à 45 minutes par la A104 (Francilienne). Aux heures de pointe du matin (7 h - 9 h 30), prévoyez plutôt 55 à 75 minutes. Nos chauffeurs sont autorisés à emprunter la voie réservée aux taxis sur l'A1 et sur certains axes franciliens, ce qui fait gagner un temps réel par rapport à un VTC les jours de forte circulation."
}
},
{
"@type": "Question",
"name": "Y a-t-il un supplément la nuit, le dimanche ou les jours fériés ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Il n'y a aucun supplément commercial de notre part. Le taximètre bascule automatiquement sur le tarif de nuit, dimanche et jours fériés fixé par arrêté préfectoral (Seine-et-Marne, préfecture 77), identique pour tous les taxis du département. Contrairement aux VTC, il n'y a jamais de tarification dynamique : pas de surge x2 ou x3 un soir de feu d'artifice ou de départ en vacances."
}
},
{
"@type": "Question",
"name": "Que se passe-t-il si mon vol est retardé de 2 ou 3 heures ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Rien à faire de votre côté : le suivi de vol est gratuit et automatique. Nous surveillons votre numéro de vol en temps réel et le chauffeur ajuste son heure d'arrivée sur l'atterrissage réel. Aucun frais d'attente n'est facturé pour un retard avion. En cas de vol dérouté ou annulé, un simple message WhatsApp au 07 50 53 56 58 suffit pour replanifier ou annuler sans frais."
}
},
{
"@type": "Question",
"name": "Comment fonctionne le simulateur de prix ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Notre simulateur calcule automatiquement la distance via Google Maps et applique notre grille tarifaire : à partir de 30 €, puis selon la distance, arrondi à la dizaine supérieure. C'est un prix indicatif — le compteur homologué fait foi. Aucune inscription ni carte bancaire n'est demandée pour obtenir une estimation."
}
},
{
"@type": "Question",
"name": "Les bagages et sièges enfants sont-ils inclus ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Oui, bagages et sièges enfants sont gratuits, sans supplément. Siège bébé (0-13 kg), siège auto (9-18 kg) et rehausseur (15-36 kg) sont disponibles. Indiquez simplement l'âge de vos enfants à la réservation pour que le chauffeur embarque le bon équipement. Poussettes, valises Disney et sacs de golf sont acceptés."
}
},
{
"@type": "Question",
"name": "Puis-je voyager avec un bébé de moins d'un an ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Oui. Nous fournissons gratuitement un siège bébé homologué groupe 0+ (0 à 13 kg), dos à la route, installé par le chauffeur avant votre arrivée. Précisez l'âge et le poids de l'enfant lors de la réservation, au moins quelques heures à l'avance. Vous pouvez aussi utiliser votre propre coque : le chauffeur vous aide à la fixer."
}
},
{
"@type": "Question",
"name": "Combien de passagers et de valises entrent dans un taxi 7 places ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Notre Mercedes Classe V accueille 5 à 7 passagers avec 7 valises grande taille, climatisation 3 zones et Wi-Fi à bord. Pour 1 à 4 passagers avec 3 à 4 valises, la Peugeot 508 berline suffit. Au-delà de 7 personnes, nous envoyons plusieurs véhicules coordonnés qui arrivent ensemble — pratique pour les groupes et séminaires au Val d'Europe."
}
},
{
"@type": "Question",
"name": "Comment puis-je payer ? Acceptez-vous la carte bancaire ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Le paiement se fait à bord, en fin de course : espèces ou carte bancaire (Visa, Mastercard, sans contact). Un reçu est systématiquement fourni, et une facture détaillée est disponible sur demande pour vos notes de frais ou votre entreprise. Aucun paiement en ligne n'est exigé au moment de la réservation."
}
},
{
"@type": "Question",
"name": "Puis-je payer en dollars, livres sterling ou autre devise ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Les courses sont réglées en euros, monnaie légale en France. Si vous arrivez de l'étranger sans euros, le plus simple est de payer par carte bancaire dans le véhicule : votre banque applique alors son propre taux de change, généralement bien plus avantageux que les bureaux de change des aéroports. Les cartes étrangères Visa et Mastercard sont acceptées sans supplément."
}
},
{
"@type": "Question",
"name": "Faut-il verser un acompte ? Puis-je annuler ma réservation ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Aucun acompte n'est demandé et l'annulation est libre et gratuite. Vous ne payez qu'à l'arrivée, une fois la course effectuée. Prévenez-nous par téléphone ou WhatsApp dès que possible en cas de changement de programme, afin que nous puissions réaffecter le chauffeur."
}
},
{
"@type": "Question",
"name": "Où le chauffeur m'attend-il à l'aéroport CDG ou Orly ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Nous proposons un accueil meet & greet gratuit : le chauffeur vous attend dans le hall d'arrivée, à la sortie de la zone bagages, avec une pancarte à votre nom. Vous recevez son prénom et son numéro par SMS ou WhatsApp dès qu'il est sur place. Aucun frais de parking ni de stationnement ne vous est refacturé."
}
},
{
"@type": "Question",
"name": "Combien de temps à l'avance faut-il réserver ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Pour un départ depuis Marne-la-Vallée ou Val d'Europe, une réservation le jour même est généralement possible, y compris en pleine nuit. Pour un transfert aéroport tôt le matin, un véhicule 7 places ou un trajet longue distance, réservez la veille si possible. La réservation programmée accepte les courses jusqu'à 7 jours à l'avance."
}
},
{
"@type": "Question",
"name": "Taxi ou Uber / VTC pour Disneyland : quelle différence ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Trois différences concrètes. 1) Le taxi applique un tarif réglementé par la préfecture : pas de tarification dynamique, donc pas de prix multiplié un soir de forte demande. 2) Le taxi est autorisé sur les voies réservées des autoroutes franciliennes, ce qui réduit réellement le temps de trajet aux heures de pointe. 3) Le stationnement en station officielle à la gare de Chessy et aux aéroports permet une prise en charge immédiate, sans point de rendez-vous à négocier."
}
},
{
"@type": "Question",
"name": "Taxi, RER A ou navette Magical Shuttle : que choisir ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Le RER A est le plus économique depuis Paris (~10 €) mais impose changements, escaliers et valises, et s'arrête vers minuit. La navette Magical Shuttle dessert CDG et Orly à prix modéré, mais avec horaires fixes, arrêts multiples dans plusieurs hôtels et attente possible. Le taxi est porte-à-porte, disponible 24h/24, sans changement ni attente — le choix pertinent avec des enfants, des bagages lourds, un vol de nuit ou à partir de 3 personnes, où l'écart de prix par passager devient faible."
}
},
{
"@type": "Question",
"name": "Desservez-vous les hôtels Disney (Newport Bay, Sequoia Lodge…) ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Oui, nous desservons tous les hôtels du resort et partenaires : Disneyland Hotel, Disney Hotel New York — The Art of Marvel, Newport Bay Club, Sequoia Lodge, Hotel Cheyenne, Hotel Santa Fe, Davy Crockett Ranch, ainsi que Explorers, Dream Castle, Magic Circus, B&B, Radisson Blu, Marriott's Village d'Île-de-France et les hôtels du Val d'Europe. Dépose directement devant l'entrée de l'hôtel."
}
},
{
"@type": "Question",
"name": "Proposez-vous un taxi accessible PMR ou fauteuil roulant ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Oui. Notre Mercedes Classe V est accessible PMR avec accès surbaissé et espace suffisant pour un fauteuil pliant. Le chauffeur assiste au transfert et au chargement du fauteuil. Merci de préciser le type de fauteuil (pliant ou électrique) à la réservation afin que nous affections le véhicule adapté. Nous assurons également des transports médicaux vers les établissements de Marne-la-Vallée."
}
},
{
"@type": "Question",
"name": "Le pourboire est-il obligatoire en taxi en France ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Non, le pourboire n'est jamais obligatoire en France : le prix affiché au taximètre est le prix complet, service compris. Il reste un geste apprécié mais totalement libre — en pratique, les clients arrondissent souvent à l'euro supérieur ou laissent 5 à 10 % lorsqu'ils sont satisfaits, notamment en cas d'aide pour des bagages lourds."
}
},
{
"@type": "Question",
"name": "Do you speak English? How to book an airport transfer?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, our drivers speak English. Call or WhatsApp +33 7 50 53 56 58, 24/7. Free meet & greet at CDG, Orly and Beauvais with a name board in the arrivals hall, and free flight tracking if your plane is delayed. Payment by cash or card in the vehicle, no deposit required, free cancellation. Indicative fares: CDG 104 €, Orly 135 €, Beauvais 288 €."
}
},
{
"@type": "Question",
"name": "Proposez-vous des trajets longue distance depuis Marne-la-Vallée ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Oui : Bruxelles, Amsterdam, Luxembourg, Genève, Francfort, Londres et toute la France (Lyon, Lille, Reims, Strasbourg…). Véhicule berline ou 7 places, chauffeur unique sur tout le trajet, pauses incluses. Devis immédiat par téléphone ou WhatsApp au 07 50 53 56 58."
}
}
]
}
</script>
<link as="image" fetchpriority="high" href="/images/chauffeur_professionnel_800.webp" imagesizes="100vw" imagesrcset="/images/chauffeur_professionnel_400.webp 400w, /images/chauffeur_professionnel_600.webp 600w, /images/chauffeur_professionnel_800.webp 800w" rel="preload"/>
<noscript>
</noscript>
<style>.iti{width:100%}.iti__country-list{background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.iti__country-name,.iti__dial-code{color:var(--text-color)!important}.iti__search-input{background:var(--bg-color);color:var(--text-color);border:1px solid var(--border-color);padding:5px;width:90%;margin:5px}</style>
<link as="style" href="https://cdn.jsdelivr.net/npm/intl-tel-input@24.3.5/build/css/intlTelInput.min.css" onload="this.onload=null;this.rel='stylesheet'" rel="preload"/>
<noscript><link href="https://cdn.jsdelivr.net/npm/intl-tel-input@24.3.5/build/css/intlTelInput.min.css" rel="stylesheet"/></noscript>
<style>.mobile-booking-banner{display:none}.mobile-app-nav{display:none}@media(min-width:900px){.msim-overlay,.msim-sheet{display:none !important}}@media(max-width:899px){body{padding-bottom:112px}.site-header{padding:.6rem 1rem}.header-actions{display:none}.header-cta{display:none !important;font-size:.75rem;padding:.45rem .85rem;background:var(--gold);color:var(--ink);border-radius:999px;font-weight:700}.hero{padding:2.5rem 1.2rem 3rem}.hero h1{font-size:clamp(1.75rem,7vw,2.4rem);margin-bottom:.75rem}.hero .sub{font-size:.92rem;margin-bottom:1.25rem}.hero-cta{gap:.5rem;margin-bottom:1.25rem}.hero-cta .btn{padding:.85rem 1.4rem;font-size:.88rem}.trust-pills{gap:.35rem}.trust-pill{font-size:.72rem;padding:.22rem .7rem}.booking-card{display:none}.price-cards{grid-template-columns:1fr 1fr;gap:.6rem}.price-card{padding:1.1rem .9rem;cursor:pointer;-webkit-tap-highlight-color:rgba(201,168,76,.15);transition:transform .15s,box-shadow .2s}.price-card:active{transform:scale(.97)}.price-card .pc-price{font-size:2rem}.price-card .pc-dest{font-size:.65rem;margin-bottom:.6rem}.price-card .pc-detail{font-size:.72rem}.tarifs-section,.services-section,.fleet-section,.faq-section,.avis-section,.villes-section,.intl-section{padding:2.5rem 1.1rem}.section-header{margin-bottom:1.75rem}.section-header h2{font-size:1.4rem}.services-grid{grid-template-columns:1fr 1fr;gap:.8rem}.service-card{padding:1.1rem}.service-card .sc-icon{width:38px;height:38px;font-size:1.2rem;margin-bottom:.7rem}.service-card h3{font-size:.88rem}.service-card p{font-size:.76rem}.sticky-call{display:none !important}.mobile-app-nav{position:fixed;bottom:0;left:0;right:0;z-index:300;background:var(--ink);border-top:1px solid rgba(201,168,76,.2);display:flex;flex-direction:row;align-items:flex-start;padding-top:0;padding-bottom:16px;box-shadow:0 -4px 20px rgba(0,0,0,.3);min-height:88px}.mobile-app-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:rgba(248,245,239,.8);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;transition:color .2s;padding:.55rem .3rem .65rem;-webkit-tap-highlight-color:transparent}.mobile-app-nav a .nav-icon{font-size:1.35rem;line-height:1}.mobile-app-nav a:active{color:var(--gold)}.mobile-app-nav .nav-call{background:var(--gold);color:var(--ink) !important;font-weight:700}.mobile-app-nav .nav-call .nav-icon{font-size:1.5rem}.mobile-app-nav .nav-wa{background:var(--wa);color:var(--ink) !important;font-weight:700}.mobile-app-nav .nav-wa .nav-icon{font-size:1.5rem}.mobile-app-nav .nav-sim{color:var(--gold-dark) !important;font-weight:700;position:relative;margin-top:-22px;flex:1.2;gap:2px}.nav-sim-bubble{width:68px;height:68px;background:linear-gradient(145deg,#0A1628 0%,#16263D 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 4px;box-shadow:0 6px 20px rgba(10,22,40,.5),0 0 0 4px #fff,0 0 0 7px var(--gold);position:relative;animation:simPulse 2.5s ease-in-out infinite;will-change:transform,opacity}@keyframes simPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.09);opacity:.85}}.nav-sim-bubble::after{content:'';position:absolute;top:2px;right:2px;width:12px;height:12px;background:#E74C3C;border-radius:50%;border:2px solid #fff;animation:notifPop 2.5s ease-in-out infinite}@keyframes notifPop{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.9}}@keyframes simLabelBlink{0%,100%{opacity:1}40%,60%{opacity:.65}}.nav-sim-bubble svg{width:34px;height:34px}.mobile-app-nav .nav-sim span:last-child{font-size:.6rem;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.07em;font-weight:800;white-space:nowrap;animation:simLabelBlink 2.5s ease-in-out infinite}.mobile-booking-banner-desktop-hide-placeholder{background:var(--ink);padding:1rem 1.1rem;margin:-1px 0 0;border-bottom:1px solid rgba(201,168,76,.15)}.mobile-booking-banner .mbb-title{font-size:.7rem;font-weight:700;color:rgba(248,245,239,.5);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.6rem}.mobile-booking-banner .mbb-btns{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.mobile-booking-banner .mbb-btns a{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem;border-radius:12px;font-weight:700;font-size:.88rem;text-decoration:none;font-family:inherit}.mbb-call{background:var(--gold);color:var(--ink) !important}.mbb-wa{background:var(--wa);color:#fff !important}.simulator-section{padding:2.5rem 1rem}.sim-card{padding:1.5rem 1.1rem;border-radius:18px}.table-wrap{border-radius:10px}table{font-size:.78rem}thead th,tbody td{padding:.6rem .7rem}.faq-item summary{font-size:.88rem;padding:1rem 1.1rem;padding-right:2.8rem}.avis-grid{grid-template-columns:1fr}.cities-grid{grid-template-columns:1fr 1fr;gap:.4rem}.city-link{font-size:.78rem;padding:.65rem .75rem}.cta-band{padding:2.5rem 1.1rem}.cta-phone{font-size:1.6rem}}
@media(max-width:899px){.msim-overlay{display:none;position:fixed;inset:0;z-index:400;background:rgba(10,22,40,.78);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.msim-overlay.open{display:block;animation:msFade .2s ease}@keyframes msFade{from{opacity:0}to{opacity:1}}.msim-sheet{position:fixed;bottom:68px;left:0;right:0;z-index:401;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -12px 48px rgba(10,22,40,.4);transform:translateY(110%);transition:transform .38s cubic-bezier(.25,.8,.25,1);max-height:90vh;display:flex;flex-direction:column}.msim-sheet.open{transform:translateY(0)}.msim-header{background:var(--ink);border-radius:24px 24px 0 0;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.msim-header-left{display:flex;align-items:center;gap:.6rem}.msim-header h3{color:#fff;font-size:.98rem;margin:0;font-family:'DM Sans','DM Sans Fallback',sans-serif;font-weight:700}.msim-header p{color:rgba(248,245,239,.55);font-size:.72rem;margin:0;font-family:'DM Sans','DM Sans Fallback',sans-serif}.msim-close{background:rgba(255,255,255,.12);border:none;color:rgba(255,255,255,.8);width:34px;height:34px;border-radius:50%;font-size:1rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.msim-progress{display:flex;align-items:center;padding:.8rem 1.2rem;background:var(--cream);border-bottom:1px solid var(--line);flex-shrink:0;gap:0}.msp-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1}.msp-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background:var(--line);color:var(--text-soft);transition:color .3s,background-color .3s,border-color .3s,transform .3s,box-shadow .3s,opacity .3s}.msp-dot.active{background:var(--gold);color:var(--ink);box-shadow:0 0 0 5px rgba(201,168,76,.18)}.msp-dot.done{background:var(--ink);color:#fff}.msp-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);transition:color .3s;text-align:center}.msp-label.active{color:#5C3D0E}.msp-line{flex:1;height:2px;background:var(--line);transition:background .3s;max-width:40px;align-self:flex-start;margin-top:15px}.msp-line.done{background:var(--gold)}.msim-body{flex:1;overflow-y:auto;padding:0}.msim-panel{display:none;padding:1.2rem}.msim-panel.active{display:block;animation:msPanelIn .25s ease}@keyframes msPanelIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}.msim-field{margin-bottom:.9rem}.msim-field label{display:block;font-size:.67rem;font-weight:700;color:var(--text-soft);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.32rem}.mf-wrap{position:relative}.mf-ic{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);font-size:.88rem;pointer-events:none;z-index:1}.msim-field input,.msim-field select{width:100%;padding:.82rem 1rem .82rem 2.5rem;border:1.5px solid var(--line);border-radius:12px;font-size:.92rem;font-family:inherit;background:var(--cream);color:var(--ink);outline:none;appearance:none;-webkit-appearance:none}.msim-field input:focus,.msim-field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.15)}.msim-field select{padding-left:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center}.msim-row2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.msim-btn-calc{width:100%;padding:1rem;border:none;border-radius:14px;background:var(--ink);color:#fff;font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s;margin-top:.4rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.msim-btn-calc:active{transform:scale(.98);background:var(--gold);color:var(--ink)}.msim-result{background:var(--ink);border-radius:16px;padding:1.2rem;margin:.8rem 0;display:none}.msim-result.show{display:block;animation:msFade .3s ease}.msim-result .mr-label{font-size:.65rem;font-weight:700;color:rgba(248,245,239,.5);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.3rem}.msim-result .mr-price{font-family:'Playfair Display','Playfair Display Fallback',serif;font-size:2.6rem;font-weight:700;color:var(--gold);line-height:1}.msim-result .mr-route{font-size:.78rem;color:rgba(248,245,239,.6);margin-top:.4rem;line-height:1.6}.msim-result .mr-note{font-size:.68rem;color:rgba(248,245,239,.35);margin-top:.6rem;padding-top:.6rem;border-top:1px solid rgba(255,255,255,.08)}.msim-vehicle{border:2px solid var(--gold);border-radius:14px;padding:.9rem 1rem;margin:.8rem 0;display:none;background:var(--gold-pale)}.msim-vehicle.show{display:flex;align-items:center;gap:.8rem;animation:msFade .3s ease}.msim-vehicle .mv-icon{font-size:2rem;flex-shrink:0}.msim-vehicle .mv-name{font-weight:700;font-size:.9rem;color:var(--ink)}.msim-vehicle .mv-detail{font-size:.75rem;color:var(--text-soft);margin-top:.1rem}.msim-vehicle .mv-badge{display:inline-block;background:var(--gold);color:var(--ink);font-size:.6rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;letter-spacing:.06em;text-transform:uppercase;margin-top:.25rem}.msim-error{background:#fff2f0;color:#c0392b;border:1px solid #ffc9c5;border-radius:10px;padding:.7rem 1rem;font-size:.82rem;display:none;margin:.5rem 0}.msim-error.show{display:block}.msim-spin{display:none;align-items:center;gap:.5rem;justify-content:center;color:var(--text-soft);font-size:.85rem;margin:.5rem 0}.msim-spin.show{display:flex}.ms-spinner{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite}.msim-nav{display:flex;gap:.6rem;margin-top:1rem}.msim-back{flex:0 0 auto;background:none;border:1.5px solid var(--line);color:var(--text-soft);padding:.8rem 1rem;border-radius:12px;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer}.msim-next{flex:1;padding:.95rem;border:none;border-radius:14px;background:var(--gold);color:var(--ink);font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s}.msim-next:disabled{opacity:.5;cursor:not-allowed}.msim-next-dark{background:var(--ink);color:#fff}.msim-next-dark:not(:disabled):active{background:var(--gold);color:var(--ink)}.msim-contact-title{font-size:.8rem;color:var(--text-soft);margin-bottom:1rem;padding:.7rem;background:var(--cream);border-radius:10px;line-height:1.5}.msim-success{display:none;padding:1.5rem 1.2rem;text-align:center}.msim-success.show{display:block;animation:msFade .4s ease}.msim-success .ms-check{font-size:3.5rem;display:block;margin-bottom:.75rem}.msim-success h4{font-size:1.15rem;margin-bottom:.4rem}.msim-success p{font-size:.85rem;color:var(--text-soft);margin-bottom:1.2rem}.msim-success .ms-btns{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.msim-success .ms-btns a{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.9rem;border-radius:12px;font-weight:700;font-size:.88rem;text-decoration:none}.msim-success .ms-call{background:var(--gold);color:var(--ink)}.msim-success .ms-wa{background:var(--wa);color:#fff}.msim-summary-mini{background:var(--cream);border-radius:12px;padding:.9rem 1rem;margin-bottom:.9rem}.msim-summary-mini .smr{display:flex;justify-content:space-between;font-size:.8rem;padding:.25rem 0;border-bottom:1px solid var(--line)}.msim-summary-mini .smr:last-child{border:none;font-weight:700;color:var(--gold-dark);padding-top:.45rem;margin-top:.2rem}.msim-summary-mini .smr span:first-child{color:var(--text-soft)}}
</style>
<style id="tmv-g7">
/* STYLE G7 - Bleu marine #003C7E + Jaune G7 #FFCB05 - typo DM Sans deja chargee */
:root{--g7-blue:#003C7E;--g7-blue-dark:#002C5E;--g7-blue-soft:#1A5290;--g7-blue-pale:#E6EEF7;--g7-blue-light:#F3F7FB;--g7-yellow:#FFCB05;--g7-yellow-dark:#E5B600;--g7-yellow-pale:#FFF7CC;--g7-bg:#FFFFFF;--g7-bg-alt:#F5F7FA;--g7-text:#1A2A3F;--g7-text-soft:#5A6A7D;--g7-text-mute:#8B98AA;--g7-line:#E1E6ED;--g7-line-strong:#CDD5E0}
html,body{background:#FFFFFF !important;color:#1A2A3F !important;line-height:1.6 !important;-webkit-font-smoothing:antialiased !important}
a{color:#003C7E !important;text-decoration:none}
a:hover{color:#1A5290 !important}
h1,h2,h3,h4{color:#003C7E !important;font-family:'DM Sans','DM Sans Fallback',-apple-system,BlinkMacSystemFont,sans-serif !important;font-weight:700 !important;letter-spacing:-.02em !important;line-height:1.15 !important}
h2{margin-bottom:1.2rem !important}
h3{font-weight:600 !important;color:#1A2A3F !important}
p{line-height:1.65 !important;color:#5A6A7D !important}
.eyebrow,.section-title .eyebrow,.section-header .eyebrow{color:#003C7E !important;background:none !important;padding:0 !important;border-radius:0 !important;display:inline-block !important;font-weight:700 !important;font-size:.78rem !important;letter-spacing:.14em !important;text-transform:uppercase !important;margin-bottom:1rem !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important}
.eyebrow::before{content:'';display:inline-block;width:28px;height:2px;background:#FFCB05;margin-right:.7rem;vertical-align:middle}
.site-header{background:#FFFFFF !important;color:#003C7E !important;border-bottom:1px solid #E1E6ED !important;box-shadow:0 1px 0 rgba(0,60,126,.04) !important;backdrop-filter:none !important}
.site-header .nav-desk a,.nav-desk a{color:#1A2A3F !important;opacity:1 !important;font-weight:600 !important}
.site-header .nav-desk a:hover{color:#003C7E !important}
.logo{color:#003C7E !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-weight:700 !important}
.logo-text,.logo-text em{color:#5A6A7D !important;font-style:normal !important}
.logo-text strong,.logo strong{color:#003C7E !important;background:none !important;-webkit-text-fill-color:#003C7E !important;font-weight:700 !important;font-family:'DM Sans',sans-serif !important}
.logo-mark{background:#003C7E !important;color:#FFCB05 !important;box-shadow:0 2px 8px rgba(0,60,126,.25) !important;border-radius:50% !important;background-image:none !important;font-weight:800 !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-size:.95rem !important;letter-spacing:-.02em !important;line-height:1 !important;width:42px !important;height:42px !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-shrink:0 !important}
@media(max-width:499px){.logo-mark{width:44px !important;height:44px !important;font-size:1rem !important}}
.header-cta{white-space:nowrap !important}
.hero-bg-img{color:transparent !important;font-size:0 !important;text-indent:-9999px !important;text-shadow:none !important}
.hero-bg-img::after{content:'' !important;display:none !important}
.header-cta{background:#FFCB05 !important;color:#003C7E !important;background-image:none !important;font-weight:700 !important;padding:.6rem 1.3rem !important;box-shadow:0 2px 6px rgba(255,203,5,.4) !important;border-radius:8px !important;font-family:'DM Sans',sans-serif !important}
.header-cta:hover{background:#E5B600 !important;background-image:none !important;color:#003C7E !important;box-shadow:0 6px 16px rgba(229,182,0,.5) !important}
.hero{background:#003C7E !important;color:#FFFFFF !important;background-image:none !important;border-bottom:none !important;position:relative !important;overflow:hidden !important}
.hero-bg-img{opacity:.45 !important;filter:none !important;animation:none !important;display:block !important;position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;object-position:center 30% !important;z-index:0 !important;color:transparent !important;font-size:0 !important}
.hero::before{content:'' !important;display:block !important;position:absolute !important;inset:0 !important;z-index:1 !important;background:linear-gradient(to right,rgba(0,44,94,.92) 0%,rgba(0,60,126,.75) 55%,rgba(0,60,126,.45) 100%) !important;pointer-events:none !important}
.hero::after{display:none !important;content:none !important}
.hero .wrap{position:relative !important;z-index:2 !important}
.hero-wave path{fill:#FFFFFF !important}
.hero h1,.hero h1 span:not(.accent){color:#FFFFFF !important;font-style:normal !important;animation:none !important;background:none !important;-webkit-text-fill-color:#FFFFFF !important;background-image:none !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-weight:700 !important;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.hero h1 .accent{color:#003C7E !important;-webkit-text-fill-color:#003C7E !important;background:#FFCB05 !important;background-image:none !important;font-style:normal !important;font-weight:700 !important;display:inline !important;animation:none !important;padding:0 .25em !important;border-radius:6px;font-family:'DM Sans',sans-serif !important;text-shadow:none !important}
.hero .sub{color:rgba(255,255,255,.92) !important;opacity:1 !important;font-weight:400 !important;text-shadow:0 1px 6px rgba(0,0,0,.25)}
.hero .eyebrow{color:#FFCB05 !important;background:none !important;padding:0 !important}
.hero .trust-pill{background:rgba(255,255,255,.15) !important;border:1px solid rgba(255,255,255,.25) !important;color:#FFFFFF !important;backdrop-filter:blur(8px) !important}
.hero .trust-pill:hover{background:rgba(255,255,255,.25) !important;border-color:#FFCB05 !important}
.hero .btn-ghost{border:2px solid rgba(255,255,255,.4) !important;color:#FFFFFF !important;background:rgba(255,255,255,.08) !important;backdrop-filter:blur(8px) !important}
.hero .btn-ghost:hover{background:#FFFFFF !important;color:#003C7E !important;border-color:#FFFFFF !important}
.trust-pill{background:#FFFFFF !important;border:1px solid #E1E6ED !important;color:#1A2A3F !important;backdrop-filter:none !important;font-weight:600 !important;border-radius:6px !important;box-shadow:0 1px 2px rgba(0,60,126,.04)}
.trust-pill:hover{background:#F3F7FB !important;border-color:#003C7E !important;color:#003C7E !important}
.btn{border-radius:8px !important;font-weight:700 !important;letter-spacing:-.005em !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important}
.btn:hover{transform:translateY(-1px) !important}
.btn::after{display:none !important;content:none !important}
.btn-gold,.sab-cta,.mbb-call,.sticky-call .call,.mobile-app-nav .nav-call,.bc-btn.btn-gold{background:#FFCB05 !important;color:#003C7E !important;background-image:none !important;box-shadow:0 2px 8px rgba(255,203,5,.4) !important;font-weight:700 !important}
.btn-gold:hover{background:#E5B600 !important;color:#003C7E !important;background-image:none !important;box-shadow:0 8px 20px rgba(229,182,0,.5) !important}
.btn-dark,.sim-nav-submit,.sim-nav-next{background:#003C7E !important;color:#FFFFFF !important;background-image:none !important;box-shadow:0 2px 8px rgba(0,60,126,.25) !important;font-weight:700 !important}
.btn-dark:hover,.sim-nav-submit:hover,.sim-nav-next:hover{background:#002C5E !important;color:#FFFFFF !important;background-image:none !important}
.btn-wa,.sticky-call .wa,.mobile-app-nav .nav-wa,.mbb-wa{background:#0A8043 !important;color:#FFFFFF !important;background-image:none !important;box-shadow:0 2px 8px rgba(37,211,102,.3) !important;font-weight:700 !important}
.btn-wa:hover{background:#085F30 !important;color:#FFFFFF !important;background-image:none !important}
.btn-ghost{border:2px solid #003C7E !important;color:#003C7E !important;background:#FFFFFF !important;backdrop-filter:none !important;font-weight:700 !important}
.btn-ghost:hover{background:#003C7E !important;color:#FFFFFF !important;border-color:#003C7E !important}
.btn-outline{border:1.5px solid #E1E6ED !important;color:#1A2A3F !important;background:#FFFFFF !important}
.btn-outline:hover{border-color:#003C7E !important;color:#003C7E !important}
.booking-card{background:#FFFFFF !important;border:1px solid #E1E6ED !important;box-shadow:0 1px 3px rgba(0,60,126,.06),0 24px 48px rgba(0,60,126,.1) !important;border-radius:12px !important;backdrop-filter:none !important}
.booking-card::before{display:block !important;content:'' !important;position:absolute !important;top:0 !important;left:0 !important;right:0 !important;height:4px !important;background:#FFCB05 !important;background-image:none !important;animation:none !important;border-radius:12px 12px 0 0 !important}
.bc-title,.booking-card h3{color:#003C7E !important;font-weight:700 !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important}
.bc-field label,.sim-field label,.msim-field label,.form-field label,.calc-field label{color:#5A6A7D !important;font-weight:600 !important;font-family:'DM Sans',sans-serif !important}
.bc-input-wrap input,.bc-input-wrap select,.bc-field input,.bc-field select,.sim-field input,.sim-field select,.msim-field input,.msim-field select{background:#F5F7FA !important;border:1.5px solid #E1E6ED !important;color:#1A2A3F !important;border-radius:8px !important;font-family:'DM Sans',sans-serif !important}
.bc-input-wrap input:focus,.bc-input-wrap select:focus,.bc-field input:focus,.bc-field select:focus,.sim-field input:focus,.sim-field select:focus,.msim-field input:focus,.msim-field select:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.calc-field select:focus,.calc-field input:focus{border-color:#003C7E !important;box-shadow:0 0 0 3px rgba(0,60,126,.12) !important;background:#FFFFFF !important;outline:none !important}
#bc-price-result{background:#FFF7CC !important;border:1.5px solid #FFCB05 !important}
#bc-price-val{color:#003C7E !important;font-family:'DM Sans',sans-serif !important;font-weight:700 !important}
.trust-bar{background:#F5F7FA !important;border-top:1px solid #E1E6ED !important;box-shadow:none !important}
.ti{color:#1A2A3F !important;font-weight:600 !important}
.ti .icon{color:#003C7E !important}
.ti .sub{color:#5A6A7D !important;font-weight:400 !important}
.fleet-section,.faq-section,.intl-section,.simulator-section,.app-section{background:#F5F7FA !important;background-image:none !important}
.tarifs-section,.services-section,.avis-section,.villes-section{background:#FFFFFF !important;background-image:none !important}
.section-header h2,.section-title h2{color:#003C7E !important;font-weight:700 !important;padding-bottom:0 !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-style:normal !important}
.section-header h2::after,.section-title h2::after{display:none !important;content:none !important}
.section-header p,.section-title p{color:#5A6A7D !important;font-weight:400 !important}
.fleet-card{background:#FFFFFF !important;border:1px solid #E1E6ED !important;box-shadow:0 1px 3px rgba(0,60,126,.04) !important;border-radius:12px !important}
.fleet-card:hover{box-shadow:0 4px 8px rgba(0,60,126,.06),0 24px 50px rgba(0,60,126,.12) !important;transform:translateY(-4px) !important;border-color:#CDD5E0 !important}
.fleet-img-wrap{background:#F5F7FA !important}
.fleet-badge,.badge,.pc-badge{background:#FFCB05 !important;color:#003C7E !important;box-shadow:0 2px 6px rgba(255,203,5,.4) !important;font-weight:700 !important;border-radius:6px !important;background-image:none !important;font-family:'DM Sans',sans-serif !important}
.fleet-model{color:#003C7E !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-weight:700 !important;font-style:normal !important}
.fleet-tagline{color:#5A6A7D !important;font-weight:400 !important}
.fleet-spec{color:#1A2A3F !important;font-weight:500 !important}
.fleet-spec strong{color:#003C7E !important;font-weight:700 !important}
.fleet-note{color:#646F80 !important;font-style:normal !important;border-top:1px solid #E1E6ED !important}
.fleet-img-tabs .fit{background:rgba(0,60,126,.85) !important;color:#FFFFFF !important;border:none !important;font-weight:600 !important;border-radius:6px !important}
.fleet-img-tabs .fit.active,.fleet-img-tabs .fit:hover{background:#FFCB05 !important;color:#003C7E !important;border:none !important}
.price-card{background:#FFFFFF !important;border:1px solid #E1E6ED !important;color:#1A2A3F !important;border-radius:12px !important;box-shadow:0 1px 3px rgba(0,60,126,.04) !important;background-image:none !important}
.price-card .pc-price{color:#003C7E !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-weight:700 !important;background:none !important;-webkit-text-fill-color:#003C7E !important;background-image:none !important;font-style:normal !important}
.price-card .pc-price small{color:#5A6A7D !important;font-weight:500 !important}
.price-card .pc-dest{color:#5A6A7D !important;font-weight:700 !important}
.price-card .pc-detail{color:#646F80 !important}
.price-card:hover{box-shadow:0 4px 8px rgba(0,60,126,.06),0 20px 40px rgba(0,60,126,.1) !important;transform:translateY(-3px) !important;border-color:#003C7E !important;background-image:none !important}
.price-card.featured{background:#003C7E !important;border:1px solid #003C7E !important;color:#FFFFFF !important;background-image:none !important}
.price-card.featured .pc-dest{color:rgba(255,255,255,.7) !important}
.price-card.featured .pc-price{color:#FFCB05 !important;-webkit-text-fill-color:#FFCB05 !important;background:none !important;background-image:none !important}
.price-card.featured .pc-price small{color:#FFCB05 !important}
.price-card.featured .pc-detail{color:rgba(255,255,255,.8) !important}
.service-card{background:#FFFFFF !important;border:1px solid #E1E6ED !important;border-radius:12px !important;box-shadow:0 1px 3px rgba(0,60,126,.04) !important;background-image:none !important}
.service-card:hover{box-shadow:0 4px 8px rgba(0,60,126,.06),0 20px 40px rgba(0,60,126,.1) !important;transform:translateY(-3px) !important;border-color:#003C7E !important;background-image:none !important}
.service-card .sc-icon,.service .icon{background:#FFF7CC !important;color:#003C7E !important;border-radius:10px !important;box-shadow:none !important;background-image:none !important}
.service-card h3{color:#003C7E !important;font-weight:700 !important;font-family:'DM Sans',sans-serif !important;font-style:normal !important}
.service-card p{color:#5A6A7D !important;font-weight:400 !important}
.service-card a{color:#003C7E !important;font-weight:700 !important;border-bottom:2px solid #FFCB05;padding-bottom:2px}
.service-card a:hover{color:#002C5E !important;border-color:#003C7E}
thead th{background:#003C7E !important;color:#FFFFFF !important;background-image:none !important;font-weight:600 !important;font-family:'DM Sans',sans-serif !important}
tbody tr:hover{background:#F3F7FB !important}
tbody td strong{color:#003C7E !important;font-weight:700 !important}
.table-wrap{border:1px solid #E1E6ED !important;box-shadow:0 1px 3px rgba(0,60,126,.04) !important;border-radius:10px !important;background:#FFFFFF !important}
.simulator-section::before,.simulator-section::after{display:none !important;content:none !important}
.simulator-section .section-header h2{color:#003C7E !important}
.simulator-section .section-header p{color:#5A6A7D !important}
.simulator-section .section-header .eyebrow{color:#003C7E !important;background:none !important}
.sim-card{background:#FFFFFF !important;border:1px solid #E1E6ED !important;box-shadow:0 1px 3px rgba(0,60,126,.06),0 24px 60px rgba(0,60,126,.12) !important;border-radius:16px !important}
.sim-step-circle{background:#F5F7FA !important;border:2px solid #E1E6ED !important;color:#5A6A7D !important;box-shadow:none !important;background-image:none !important;font-weight:700 !important}
.sim-step-label{color:#5A6A7D !important;font-weight:600 !important}
.sim-step.active .sim-step-circle{background:#FFCB05 !important;border-color:#FFCB05 !important;color:#003C7E !important;box-shadow:0 0 0 5px rgba(255,203,5,.25) !important;background-image:none !important}
.sim-step.active .sim-step-label{color:#003C7E !important;font-weight:700 !important}
.sim-step.done .sim-step-circle{background:#003C7E !important;border-color:#003C7E !important;color:#FFFFFF !important;background-image:none !important}
.sim-step.done .sim-step-label{color:#003C7E !important}
.sim-connector{background:#E1E6ED !important}
.sim-connector.done{background:#003C7E !important}
.sim-result-box{background:#003C7E !important;border:none !important;border-radius:12px !important;color:#FFFFFF !important;background-image:none !important}
.sim-result-box .srb-label{color:rgba(255,255,255,.7) !important;font-weight:600 !important}
.sim-result-box .srb-price{color:#FFCB05 !important;background:none !important;-webkit-background-clip:initial !important;background-clip:initial !important;-webkit-text-fill-color:#FFCB05 !important;animation:none !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-weight:700 !important;background-image:none !important;font-style:normal !important}
.sim-result-box .srb-route,.sim-result-box .srb-note{color:rgba(255,255,255,.75) !important;border-color:rgba(255,255,255,.15) !important}
.sim-nav-back{border:1.5px solid #E1E6ED !important;color:#5A6A7D !important;font-weight:600 !important}
.sim-nav-back:hover{border-color:#003C7E !important;color:#003C7E !important}
.sim-summary{background:#F5F7FA !important;border:1px solid #E1E6ED !important;border-radius:10px !important}
.sim-summary-total .value{color:#003C7E !important;font-family:'DM Sans',sans-serif !important;font-weight:700 !important;font-style:normal !important}
.sim-panel-title{color:#003C7E !important;font-family:'DM Sans',sans-serif !important;font-weight:700 !important;font-style:normal !important}
.sim-panel-sub{color:#5A6A7D !important}
.sim-error{background:#FEEBE9 !important;color:#B83227 !important;border:1px solid #FAB1A8 !important}
.spinner{border:2.5px solid #E1E6ED !important;border-top-color:#003C7E !important}
.app-section::before,.app-section::after{display:none !important;content:none !important}
.app-title{color:#003C7E !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-weight:700 !important;font-style:normal !important}
.app-title .gold{color:#003C7E !important;background:#FFCB05 !important;background-image:none !important;-webkit-text-fill-color:#003C7E !important;-webkit-background-clip:initial !important;background-clip:initial !important;animation:none !important;font-style:normal !important;font-weight:700 !important;padding:0 .2em !important;border-radius:6px;font-family:'DM Sans',sans-serif !important}
.app-sub{color:#5A6A7D !important;font-weight:400 !important}
.app-badge-new{background:#FFCB05 !important;border:none !important;color:#003C7E !important;font-weight:700 !important;background-image:none !important;border-radius:6px !important}
.app-badge-new::before{background:#003C7E !important}
.app-feat{color:#1A2A3F !important}
.app-feat strong{color:#003C7E !important;font-weight:700 !important;font-family:'DM Sans',sans-serif !important}
.app-feat span{color:#5A6A7D !important}
.af-icon{background:#E6EEF7 !important;color:#003C7E !important;box-shadow:none !important;background-image:none !important;border-radius:8px !important}
.app-store-btn{background:#003C7E !important;color:#FFFFFF !important;border:none !important;border-radius:10px !important;background-image:none !important;font-family:'DM Sans',sans-serif !important}
.app-store-btn .asb-sub,.app-store-btn .asb-name{color:#FFFFFF !important}
.app-store-btn .asb-sub{opacity:.7 !important}
.app-store-btn:hover{background:#002C5E !important;box-shadow:0 12px 30px rgba(0,60,126,.25) !important;background-image:none !important}
.app-store-btn.ios-btn{background:#F5F7FA !important;border:1.5px solid #E1E6ED !important;color:#5A6A7D !important}
.app-store-btn.ios-btn .asb-sub,.app-store-btn.ios-btn .asb-name{color:#5A6A7D !important}
.app-rating{color:#5A6A7D !important}
.app-phone{background:#003C7E !important;border:2.5px solid #002C5E !important;box-shadow:0 24px 60px rgba(0,60,126,.3) !important;background-image:linear-gradient(160deg,#1A5290 0%,#003C7E 100%) !important}
.app-phone::before{background:#003C7E !important}
.app-phone-glow{background:radial-gradient(ellipse,rgba(255,203,5,.35),transparent 70%) !important}
.app-screen-bar .ab-logo{color:#FFCB05 !important}
.app-screen-bar .ab-dot{background:#FFCB05 !important;color:#003C7E !important}
.app-screen-hero{background:linear-gradient(135deg,#1A5290 0%,#003C7E 100%) !important}
.app-screen-hero .ash-price{color:#FFCB05 !important}
.app-screen-hero .ash-btn{background:#FFCB05 !important;color:#003C7E !important}
.faq-item{background:#FFFFFF !important;border:1px solid #E1E6ED !important;border-radius:10px !important;box-shadow:0 1px 2px rgba(0,60,126,.03) !important}
.faq-item:hover{border-color:#003C7E !important;box-shadow:0 4px 12px rgba(0,60,126,.06) !important}
.faq-item[open]{border-color:#003C7E !important;box-shadow:0 4px 12px rgba(0,60,126,.08) !important}
.faq-item[open] summary{background:#F3F7FB !important;color:#003C7E !important;background-image:none !important}
.faq-item summary{color:#1A2A3F !important;font-weight:600 !important;font-family:'DM Sans',sans-serif !important}
.faq-item summary::after{color:#003C7E !important}
.faq-item .answer{color:#5A6A7D !important}
.avis-card{background:#F5F7FA !important;border:1px solid #E1E6ED !important;border-radius:12px !important;box-shadow:none !important}
.avis-card:hover{box-shadow:0 4px 8px rgba(0,60,126,.06),0 16px 36px rgba(0,60,126,.1) !important;border-color:#003C7E !important;transform:translateY(-3px) !important;background:#FFFFFF !important}
.avis-stars{color:#FFCB05 !important}
.avis-avatar{background:#003C7E !important;color:#FFCB05 !important;box-shadow:none !important;font-weight:700 !important;background-image:none !important;font-family:'DM Sans',sans-serif !important}
.avis-text{color:#1A2A3F !important;font-weight:400 !important;font-style:normal !important}
.avis-name{color:#003C7E !important;font-weight:700 !important}
.avis-ville,.avis-source{color:#5A6A7D !important}
.avis-global{background:#003C7E !important;border:none !important;border-radius:12px !important;box-shadow:0 8px 24px rgba(0,60,126,.2) !important;background-image:none !important;color:#FFFFFF !important}
.avis-global-score{color:#FFCB05 !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-weight:700 !important;font-style:normal !important}
.avis-global-stars{color:#FFCB05 !important}
.avis-global-count{color:rgba(255,255,255,.8) !important}
.city-link{background:#FFFFFF !important;border:1px solid #E1E6ED !important;color:#1A2A3F !important;border-radius:8px !important;font-weight:500 !important;background-image:none !important;font-family:'DM Sans',sans-serif !important}
.city-link:hover{background:#FFF7CC !important;border-color:#FFCB05 !important;color:#003C7E !important;box-shadow:0 4px 10px rgba(255,203,5,.2) !important;background-image:none !important}
.city-link .cp{color:#646F80 !important;font-weight:400 !important}
.city-link:hover .cp{color:#003C7E !important}
.zone-label{color:#003C7E !important;background:none !important;padding:0 !important;border-radius:0 !important;letter-spacing:.14em !important;font-weight:700 !important;display:block !important;margin:2.5rem 0 1rem !important;text-transform:uppercase !important;font-family:'DM Sans',sans-serif !important}
.zone-label::before{content:'';display:inline-block;width:24px;height:2px;background:#FFCB05;margin-right:.6rem;vertical-align:middle}
.cta-band{background:#003C7E !important;color:#FFFFFF !important;border:none !important;background-image:linear-gradient(135deg,#1A5290 0%,#003C7E 70%,#002C5E 100%) !important}
.cta-band::before,.cta-band::after{display:none !important;content:none !important}
.cta-band h2{color:#FFFFFF !important;font-weight:700 !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important}
.cta-band p{color:rgba(255,255,255,.85) !important}
.cta-phone,.cta-band .phone{color:#FFCB05 !important;background:none !important;-webkit-text-fill-color:#FFCB05 !important;background-clip:initial !important;-webkit-background-clip:initial !important;animation:none !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-weight:700 !important;background-image:none !important;font-style:normal !important}
.intl-card{background:#FFFFFF !important;border:1px solid #E1E6ED !important;color:#1A2A3F !important;border-radius:12px !important;box-shadow:0 1px 3px rgba(0,60,126,.04) !important;background-image:none !important}
.intl-card:hover{background:#FFFFFF !important;border-color:#003C7E !important;box-shadow:0 12px 28px rgba(0,60,126,.12) !important;transform:translateY(-3px) !important;background-image:none !important}
.intl-card h3{color:#003C7E !important;font-weight:700 !important;font-family:'DM Sans',sans-serif !important;font-style:normal !important}
.intl-card p{color:#5A6A7D !important}
.intl-card .price-tag{background:#FFCB05 !important;color:#003C7E !important;box-shadow:none !important;font-weight:700 !important;background-image:none !important;font-family:'DM Sans',sans-serif !important}
.site-footer{background:#002C5E !important;color:#A0B5CC !important;border-top:none !important;background-image:none !important}
.footer-grid h3{color:#FFFFFF !important;font-weight:700 !important;font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-style:normal !important}
.footer-grid a{color:#A0B5CC !important}
.footer-grid a:hover{color:#FFCB05 !important}
.footer-villes h4{color:#95A9BF !important}
.footer-villes-list a{color:#95A9BF !important}
.footer-villes-list a:hover{color:#FFCB05 !important}
.footer-copy,.footer-copy a,.footer-legal-links a{color:#95A9BF !important}
.footer-copy a:hover,.footer-legal-links a:hover{color:#FFCB05 !important}
.sticky-call{background:#FFFFFF !important;border-top:1px solid #E1E6ED !important;box-shadow:0 -2px 12px rgba(0,60,126,.06) !important;background-image:none !important}
.sticky-call a{font-weight:700 !important;border-radius:8px !important}
.mobile-app-nav{background:#FFFFFF !important;border-top:1px solid #E1E6ED !important;box-shadow:0 -2px 12px rgba(0,60,126,.06) !important;background-image:none !important}
.mobile-app-nav a{color:#1A2A3F !important;font-weight:600 !important}
.mobile-app-nav a .nav-icon{color:#003C7E !important}
.nav-sim-bubble{background:#FFCB05 !important;color:#003C7E !important;box-shadow:0 6px 16px rgba(255,203,5,.45),0 0 0 4px #FFFFFF,0 0 0 6px #003C7E !important;background-image:none !important;animation:none !important}
.nav-sim-bubble::after{background:#003C7E !important;border-color:#FFFFFF !important;animation:none !important}
.nav-sim-bubble svg{color:#003C7E !important}
.mobile-app-nav .nav-sim span:last-child{color:#003C7E !important;font-weight:700 !important;animation:none !important}
.mobile-booking-banner{background:#003C7E !important;border-bottom:none !important;background-image:none !important;color:#FFFFFF !important}
.mobile-booking-banner .mbb-title{color:rgba(255,255,255,.85) !important;font-weight:600 !important}
.mbb-call{background:#FFCB05 !important;color:#003C7E !important}
.mbb-wa{background:#0A8043 !important;color:#FFFFFF !important}
.wa-float{background:#0A8043 !important;color:#FFFFFF !important;box-shadow:0 4px 16px rgba(37,211,102,.35) !important;background-image:none !important;font-family:'DM Sans',sans-serif !important}
.wa-float:hover{background:#085F30 !important;background-image:none !important;color:#FFFFFF !important;box-shadow:0 8px 24px rgba(37,211,102,.45) !important}
.wa-float::before{display:none !important;animation:none !important;content:none !important}
.smart-app-banner{background:#003C7E !important;color:#FFFFFF !important;border-bottom:none !important;background-image:none !important}
.smart-app-banner .sab-title{color:#FFFFFF !important;font-weight:700 !important;font-family:'DM Sans',sans-serif !important}
.smart-app-banner .sab-sub{color:rgba(255,255,255,.75) !important}
.smart-app-banner .sab-sub .stars{color:#FFCB05 !important}
.sab-icon{background:#FFCB05 !important;color:#003C7E !important;box-shadow:none !important;background-image:none !important}
.sab-cta{background:#FFCB05 !important;color:#003C7E !important;box-shadow:none !important;font-weight:700 !important;background-image:none !important;font-family:'DM Sans',sans-serif !important}
.sab-close{background:rgba(255,255,255,.15) !important;color:#FFFFFF !important}
.breadcrumb,.breadcrumb a{color:#5A6A7D !important}
.breadcrumb a:hover{color:#003C7E !important}
.prose{color:#1A2A3F !important}
.prose strong{color:#003C7E !important;font-weight:700 !important}
.text-gold{color:#003C7E !important;font-weight:700}
.bc-note{color:#646F80 !important}
.form-msg.ok{background:#E6F5EA !important;color:#1B7A3E !important;border:1px solid #9BD5B0 !important}
.form-msg.err{background:#FEEBE9 !important;color:#B83227 !important;border:1px solid #FAB1A8 !important}
/* === 1. VILLES en details/summary par zone === */
.zone-group{background:#FFFFFF !important;border:1px solid #E1E6ED !important;border-radius:10px !important;margin-bottom:.7rem !important;box-shadow:0 1px 2px rgba(0,60,126,.03) !important;overflow:hidden}
.zone-group:hover{border-color:#003C7E !important}
.zone-group[open]{border-color:#003C7E !important;box-shadow:0 4px 12px rgba(0,60,126,.08) !important}
.zone-group summary{padding:1rem 1.3rem !important;cursor:pointer !important;list-style:none !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:1rem !important;font-family:'DM Sans',sans-serif !important;font-weight:700 !important;color:#1A2A3F !important;position:relative !important;padding-right:3rem !important}
.zone-group summary::-webkit-details-marker{display:none !important}
.zone-group summary::after{content:'+' !important;position:absolute !important;right:1.3rem !important;top:50%;transform:translateY(-50%) !important;font-size:1.5rem !important;color:#003C7E !important;font-weight:400 !important;transition:transform .25s ease !important}
.zone-group[open] summary::after{transform:translateY(-50%) rotate(45deg) !important}
.zone-group[open] summary{background:#F3F7FB !important}
.zone-group .zg-title{color:#003C7E !important;font-weight:700 !important;font-size:.98rem !important}
.zone-group .zg-count{color:#5A6A7D !important;font-weight:500 !important;font-size:.82rem !important;background:#F5F7FA !important;padding:.25rem .65rem !important;border-radius:999px !important;flex-shrink:0 !important}
.zone-group .cities-grid{padding:0 1rem 1rem !important;display:grid !important;grid-template-columns:repeat(auto-fill,minmax(215px,1fr)) !important;gap:.5rem !important}
.zone-label{display:none !important}
/* === 2. SERVICES : 6 visibles + bouton "Voir tous" === */
.services-grid .svc-extra{display:none !important}
.services-grid.show-extras .svc-extra{display:flex !important;flex-direction:column !important}
.services-more-wrap{text-align:center !important;margin-top:2rem !important}
.services-more-btn{background:#FFFFFF !important;border:2px solid #003C7E !important;color:#003C7E !important;padding:.9rem 1.8rem !important;border-radius:8px !important;font-weight:700 !important;font-family:'DM Sans',sans-serif !important;font-size:.92rem !important;cursor:pointer !important;transition:all .2s ease !important}
.services-more-btn:hover{background:#003C7E !important;color:#FFFFFF !important;box-shadow:0 6px 18px rgba(0,60,126,.25) !important;transform:translateY(-1px) !important}
/* === 5. AVIS : carousel horizontal scroll-snap === */
.avis-grid{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto !important;overflow-y:hidden !important;scroll-snap-type:x mandatory !important;-webkit-overflow-scrolling:touch !important;gap:1rem !important;padding:.5rem .2rem 1.5rem !important;margin:0 -.2rem !important;scrollbar-width:thin !important;scrollbar-color:#003C7E #E1E6ED !important;grid-template-columns:none !important}
.avis-grid::-webkit-scrollbar{height:6px}
.avis-grid::-webkit-scrollbar-track{background:#E1E6ED;border-radius:3px}
.avis-grid::-webkit-scrollbar-thumb{background:#003C7E;border-radius:3px}
.avis-grid .avis-card{flex:0 0 88% !important;scroll-snap-align:start !important;max-width:380px !important}
@media(min-width:720px){.avis-grid .avis-card{flex:0 0 calc(50% - .5rem) !important}}
@media(min-width:1024px){.avis-grid .avis-card{flex:0 0 calc(33.333% - .67rem) !important}}
.avis-section .container::after{content:'← faites glisser →' !important;display:block !important;text-align:center !important;font-size:.78rem !important;color:#646F80 !important;margin-top:.3rem !important;font-weight:500 !important}
@media(min-width:1024px){.avis-section .container::after{display:none !important;content:none !important}}
/* === 6. APP DOWNLOAD : compactage mockup + features === */
.app-section{padding:3.5rem 1.5rem !important}
.app-inner{gap:2rem !important}
.app-phone{width:200px !important;height:400px !important}
@media(max-width:899px){.app-phone-wrap{display:none !important}}
.app-features{gap:.5rem 1.2rem !important;margin-bottom:1.5rem !important}
.app-feat{gap:.5rem !important}
.app-feat .af-icon{width:32px !important;height:32px !important;font-size:.95rem !important}
.app-feat strong{font-size:.84rem !important}
.app-feat span{font-size:.75rem !important;line-height:1.4 !important}
.app-title{font-size:clamp(1.5rem,3vw,2.2rem) !important;margin-bottom:.5rem !important}
.app-sub{font-size:.95rem !important;margin-bottom:1.5rem !important;line-height:1.55 !important}
.app-rating{margin-top:.7rem !important;font-size:.78rem !important}
@media(max-width:899px){
.app-features{grid-template-columns:1fr 1fr !important}
.app-feat:nth-child(n+5){display:none !important}
}
/* === BANDEAU DESTINATIONS PRINCIPALES (#1) === */
.trusted-by{background:#FFFFFF !important;padding:2.2rem 1.5rem !important;border-bottom:1px solid #E1E6ED !important;border-top:1px solid #E1E6ED !important}
.trusted-by .container{text-align:center}
.tb-label{display:block !important;color:#003C7E !important;font-size:.72rem !important;font-weight:700 !important;letter-spacing:.22em !important;text-transform:uppercase !important;margin-bottom:1.2rem !important;font-family:'DM Sans',sans-serif !important;position:relative}
.tb-label::before,.tb-label::after{content:'';position:absolute;top:50%;width:40px;height:1px;background:#E1E6ED}
.tb-label::before{left:50%;margin-left:-150px}
.tb-label::after{right:50%;margin-right:-150px}
.tb-logos{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;gap:.4rem 0 !important;max-width:920px;margin:0 auto}
.tb-logo{color:#1A2A3F !important;font-size:.88rem !important;font-weight:600 !important;font-family:'DM Sans',sans-serif !important;letter-spacing:.02em !important;white-space:nowrap;padding:0 1rem;transition:color .2s ease !important}
.tb-logo:hover{color:#003C7E !important}
.tb-sep{display:inline-block;width:4px;height:4px;background:#FFCB05;border-radius:50%;flex-shrink:0;opacity:.7}
@media(max-width:599px){
.tb-label::before,.tb-label::after{display:none}
.tb-logos{gap:.3rem 0 !important}
.tb-logo{font-size:.78rem !important;padding:0 .65rem !important}
}
/* === COMMENT ÇA MARCHE (#2) === */
.howto-section{background:#FFFFFF !important;padding:5rem 1.5rem !important}
.howto-steps{display:grid !important;grid-template-columns:1fr !important;gap:1.5rem !important;max-width:1100px;margin:0 auto}
@media(min-width:760px){.howto-steps{grid-template-columns:repeat(3,1fr) !important;gap:2rem !important}}
.howto-step{background:#F5F7FA !important;border:1px solid #E1E6ED !important;border-radius:12px !important;padding:2rem 1.5rem !important;text-align:left !important;position:relative;transition:transform .25s ease,border-color .2s ease,box-shadow .3s ease !important}
.howto-step:hover{border-color:#003C7E !important;box-shadow:0 8px 24px rgba(0,60,126,.1) !important;transform:translateY(-3px) !important}
.howto-step .hs-num{position:absolute;top:-18px;left:1.5rem;width:42px;height:42px;background:#FFCB05 !important;color:#003C7E !important;border-radius:50% !important;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;font-family:'DM Sans',sans-serif !important;box-shadow:0 4px 12px rgba(255,203,5,.4)}
.howto-step h3{margin-top:.8rem !important;color:#003C7E !important;font-size:1.15rem !important;font-weight:700 !important;font-family:'DM Sans',sans-serif !important;margin-bottom:.6rem !important}
.howto-step p{color:#5A6A7D !important;font-size:.94rem !important;line-height:1.65 !important;margin-bottom:1rem !important}
.howto-step .hs-cta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.85rem;color:#1A2A3F;font-weight:600}
.howto-step .hs-cta a{color:#003C7E !important;font-weight:700;text-decoration:none}
.howto-step .hs-cta a:hover{color:#002C5E !important;text-decoration:underline}
.howto-step .hs-tag{background:#E6EEF7 !important;color:#003C7E !important;font-size:.78rem !important;font-weight:600 !important;padding:.3rem .75rem !important;border-radius:6px}
/* === STICKY CTA TOP (#5) === */
.sticky-top{position:fixed;top:0;left:0;right:0;z-index:150;background:#FFFFFF;border-bottom:1px solid #E1E6ED;box-shadow:0 2px 12px rgba(0,60,126,.08);transform:translateY(-100%);transition:transform .3s cubic-bezier(.2,.7,.2,1);visibility:hidden}
.sticky-top.visible{transform:translateY(0);visibility:visible}
.st-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem}
.st-brand{font-family:'DM Sans',sans-serif !important;font-weight:800 !important;color:#003C7E !important;font-size:1rem !important;margin-right:auto;text-decoration:none;white-space:nowrap}
.st-call,.st-wa,.st-sim{padding:.55rem 1rem !important;border-radius:8px !important;font-weight:700 !important;font-size:.85rem !important;text-decoration:none !important;font-family:'DM Sans',sans-serif !important;white-space:nowrap !important;display:inline-flex;align-items:center;gap:.35rem;transition:transform .15s,box-shadow .2s}
.st-call{background:#FFCB05 !important;color:#003C7E !important}
.st-call:hover{background:#E5B600 !important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(229,182,0,.4)}
.st-wa{background:#0A8043 !important;color:#FFFFFF !important}
.st-wa:hover{background:#085F30 !important;transform:translateY(-1px)}
.st-sim{background:#003C7E !important;color:#FFFFFF !important}
.st-sim:hover{background:#002C5E !important;transform:translateY(-1px)}
@media(max-width:599px){
.st-brand{font-size:0 !important;width:0;margin:0;padding:0;overflow:hidden}
.st-brand::before{content:'🚕';font-size:1.4rem;display:inline-block}
.st-call,.st-wa,.st-sim{padding:.55rem .8rem !important;font-size:.78rem !important}
.st-wa,.st-sim{font-size:0 !important}
.st-wa::after{content:'💬';font-size:1.2rem}
.st-sim::after{content:'🧮';font-size:1.2rem}
}
/* === DÉTECTION LANGUE (#10) === */
.lang-detect{position:fixed;top:0;left:0;right:0;z-index:200;background:#003C7E !important;color:#FFFFFF !important;padding:.7rem 1rem;display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.9rem;font-family:'DM Sans',sans-serif !important;font-weight:500;box-shadow:0 2px 12px rgba(0,60,126,.3)}
.lang-detect[hidden]{display:none !important}
.lang-detect .ld-msg{flex:1;text-align:center;max-width:800px}
.lang-detect .ld-msg a{color:#FFCB05 !important;font-weight:700 !important;text-decoration:underline !important;text-underline-offset:2px}
.lang-detect .ld-msg a:hover{color:#FFFFFF !important}
.lang-detect .ld-close{background:rgba(255,255,255,.15) !important;border:none;color:#FFFFFF !important;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.1rem;font-weight:700;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:inherit;line-height:1;padding:0}
.lang-detect .ld-close:hover{background:rgba(255,255,255,.3) !important}
@media(max-width:599px){.lang-detect{font-size:.8rem;padding:.55rem .8rem;gap:.5rem}}
/* === CARTE ZONE SVG (#8) === */
.map-section{background:#FFFFFF !important;padding:5rem 1.5rem !important;border-top:1px solid #E1E6ED}
.zone-map{max-width:900px;margin:0 auto;padding:1rem;background:linear-gradient(135deg,#F3F7FB 0%,#FFFFFF 100%);border:1px solid #E1E6ED;border-radius:16px;box-shadow:0 1px 3px rgba(0,60,126,.04)}
.zone-svg{width:100%;height:auto;max-height:420px;display:block}
.zone-map-note{text-align:center;color:#646F80 !important;font-size:.85rem !important;margin-top:1.5rem !important;font-weight:500}
@media(max-width:599px){.zone-svg{max-height:300px}.zone-svg text{font-size:13px !important}}
/* === HERO CTA HIERARCHY === */
.hero-cta{align-items:center !important}
.hero-cta .btn-gold{padding:1.2rem 2.2rem !important;font-size:1.05rem !important;box-shadow:0 6px 20px rgba(255,203,5,.5),0 2px 6px rgba(0,0,0,.15) !important;font-weight:800 !important;letter-spacing:.005em !important;position:relative}
.hero-cta .btn-gold:hover{box-shadow:0 12px 30px rgba(255,203,5,.6),0 4px 10px rgba(0,0,0,.2) !important;transform:translateY(-2px) !important}
.hero-cta .btn-gold::before{content:'';position:absolute;inset:-2px;border-radius:10px;background:linear-gradient(135deg,#FFCB05,#FFE48F,#FFCB05);z-index:-1;opacity:.4;filter:blur(8px)}
.hero-cta .btn-wa{padding:.95rem 1.6rem !important;font-size:.92rem !important;font-weight:700 !important}
.hero-cta .btn-ghost{padding:.95rem 1.6rem !important;font-size:.92rem !important;font-weight:600 !important;opacity:.9}
@media(min-width:600px){.hero-cta .btn-gold{font-size:1.1rem !important}}
/* === STRIP STATS ANIMÉS === */
.stats-strip{background:#FFFFFF !important;padding:2.5rem 1.5rem !important;border-bottom:1px solid #E1E6ED !important}
.stats-row{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:1.5rem 1rem !important;max-width:1000px;margin:0 auto;text-align:center}
@media(min-width:720px){.stats-row{grid-template-columns:repeat(5,1fr) !important;gap:1rem}}
.stat-item{position:relative;padding:0 .5rem}
.stat-item:not(:first-child)::before{content:'';position:absolute;left:0;top:25%;height:50%;width:1px;background:#E1E6ED}
@media(max-width:719px){.stat-item:nth-child(odd):not(:first-child)::before{display:none}}
.stat-num{font-family:'DM Sans','DM Sans Fallback',sans-serif !important;font-weight:800 !important;font-size:clamp(1.8rem,3vw,2.4rem) !important;color:#003C7E !important;line-height:1 !important;margin-bottom:.35rem;letter-spacing:-.02em}
.stat-num .stat-suffix{color:#FFCB05 !important;font-size:.85em;margin-left:.05em}
.stat-num .stat-text{color:#003C7E !important}
.stat-label{font-size:.78rem !important;font-weight:600 !important;color:#5A6A7D !important;text-transform:uppercase;letter-spacing:.1em;font-family:'DM Sans',sans-serif !important}
/* === COMPARATIF TAXI VS VTC === */
.compare-section{background:#FFFFFF !important;padding:5rem 1.5rem !important}
.compare-table{max-width:1000px;margin:0 auto;background:#FFFFFF;border:1px solid #E1E6ED;border-radius:14px;overflow:hidden;box-shadow:0 4px 24px rgba(0,60,126,.06)}
.compare-head{display:grid;grid-template-columns:1.2fr 1.5fr 1.5fr;background:#F5F7FA;border-bottom:2px solid #E1E6ED}
.compare-head>div{padding:1.25rem 1rem;text-align:center;font-family:'DM Sans',sans-serif}
.compare-head .cc-feature{text-align:left;color:#5A6A7D;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center}
.compare-head .cc-us{background:#003C7E;color:#FFFFFF;border-left:3px solid #FFCB05;position:relative}
.compare-head .cc-us .cc-brand{font-weight:800;font-size:.95rem;line-height:1.2}
.compare-head .cc-us .cc-tag{display:inline-block;background:#FFCB05;color:#003C7E;font-size:.65rem;font-weight:800;padding:.15rem .55rem;border-radius:999px;margin-top:.35rem;letter-spacing:.05em;text-transform:uppercase}
.compare-head .cc-vtc{color:#1A2A3F}
.compare-head .cc-vtc .cc-brand{font-weight:700;font-size:.95rem;color:#5A6A7D}
.compare-row{display:grid;grid-template-columns:1.2fr 1.5fr 1.5fr;border-bottom:1px solid #F0F2F5;transition:background .2s ease}
.compare-row:last-child{border-bottom:none}
.compare-row:hover{background:#FBFCFD}
.compare-row>div{padding:1rem;display:flex;flex-direction:column;justify-content:center;gap:.2rem;font-family:'DM Sans',sans-serif}
.compare-row .cc-feature{font-weight:700;color:#1A2A3F;font-size:.92rem}
.compare-row .cc-us{border-left:3px solid #FFCB05;background:rgba(255,203,5,.04);text-align:center}
.compare-row .cc-vtc{text-align:center}
.cc-yes,.cc-no,.cc-partial{font-size:1.4rem;font-weight:800;line-height:1}
.cc-yes{color:#10B981}
.cc-no{color:#C0392B}
.cc-partial{color:#E5B600}
.cc-detail{font-size:.78rem;color:#5A6A7D;font-weight:500;margin-top:.15rem;line-height:1.4}
.compare-note{text-align:center;color:#5A6A7D !important;font-size:.92rem !important;margin-top:2rem !important;max-width:760px;margin-left:auto;margin-right:auto;line-height:1.65;padding:1.25rem 1.5rem;background:#FFF7CC;border-radius:10px;border-left:3px solid #FFCB05}
.compare-note strong{color:#003C7E !important;font-weight:700}
@media(max-width:720px){
.compare-head,.compare-row{grid-template-columns:1.2fr 1fr 1fr !important}
.compare-head>div{padding:.85rem .6rem !important;font-size:.85rem}
.compare-head .cc-us .cc-brand,.compare-head .cc-vtc .cc-brand{font-size:.78rem}
.compare-head .cc-feature{font-size:.65rem}
.compare-row>div{padding:.85rem .6rem !important}
.compare-row .cc-feature{font-size:.82rem}
.cc-detail{font-size:.7rem}
.cc-yes,.cc-no,.cc-partial{font-size:1.2rem}
}
/* === SCROLL REVEAL ANIMATIONS (CSS pur) === */
@media(prefers-reduced-motion:no-preference){
section,.section-header,.stat-item,.fleet-card,.service-card,.price-card,.compare-row,.howto-step{animation:tmvFadeUp .7s cubic-bezier(.2,.7,.2,1) backwards}
@keyframes tmvFadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.stats-row .stat-item:nth-child(1){animation-delay:.05s}
.stats-row .stat-item:nth-child(2){animation-delay:.15s}
.stats-row .stat-item:nth-child(3){animation-delay:.25s}
.stats-row .stat-item:nth-child(4){animation-delay:.35s}
.stats-row .stat-item:nth-child(5){animation-delay:.45s}
.howto-steps .howto-step:nth-child(1){animation-delay:.05s}
.howto-steps .howto-step:nth-child(2){animation-delay:.2s}
.howto-steps .howto-step:nth-child(3){animation-delay:.35s}
.compare-row:nth-child(2){animation-delay:.05s}
.compare-row:nth-child(3){animation-delay:.1s}
.compare-row:nth-child(4){animation-delay:.15s}
.compare-row:nth-child(5){animation-delay:.2s}
.compare-row:nth-child(6){animation-delay:.25s}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}}
/* FIN G7 */
</style>
<!-- Schema.org enrichi : Service principal + AreaServed (47 communes) + Breadcrumb -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Service",
"@id": "https://www.taximarnelavallee.com/#service",
"name": "Taxi Marne-la-Vallée — Transferts 24h/24",
"serviceType": "Taxi service",
"provider": {"@id": "https://www.taximarnelavallee.com/#business"},
"areaServed": [
{"@type": "City", "name": "Serris", "containedInPlace": "Seine-et-Marne"},
{"@type": "City", "name": "Chessy", "containedInPlace": "Seine-et-Marne"},
{"@type": "City", "name": "Bailly-Romainvilliers", "containedInPlace": "Seine-et-Marne"},
{"@type": "City", "name": "Magny-le-Hongre", "containedInPlace": "Seine-et-Marne"},
{"@type": "City", "name": "Coupvray", "containedInPlace": "Seine-et-Marne"},
{"@type": "City", "name": "Bussy-Saint-Georges", "containedInPlace": "Seine-et-Marne"},
{"@type": "City", "name": "Lagny-sur-Marne", "containedInPlace": "Seine-et-Marne"},
{"@type": "City", "name": "Torcy", "containedInPlace": "Seine-et-Marne"},
{"@type": "City", "name": "Chelles", "containedInPlace": "Seine-et-Marne"},
{"@type": "City", "name": "Noisiel", "containedInPlace": "Seine-et-Marne"},
{"@type": "City", "name": "Champs-sur-Marne", "containedInPlace": "Seine-et-Marne"},
{"@type": "AdministrativeArea", "name": "Val d'Europe"},
{"@type": "AdministrativeArea", "name": "Marne-la-Vallée"},
{"@type": "AdministrativeArea", "name": "Île-de-France"}
],
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Tarifs taxi",
"itemListElement": [
{"@type": "Offer", "name": "Transfert Disneyland", "price": "30", "priceCurrency": "EUR"},
{"@type": "Offer", "name": "Transfert CDG Roissy", "price": "104", "priceCurrency": "EUR"},
{"@type": "Offer", "name": "Transfert Paris-Orly", "price": "135", "priceCurrency": "EUR"},
{"@type": "Offer", "name": "Transfert Paris centre", "price": "110", "priceCurrency": "EUR"},
{"@type": "Offer", "name": "Transfert Versailles", "price": "170", "priceCurrency": "EUR"},
{"@type": "Offer", "name": "Transfert Parc Astérix", "price": "188", "priceCurrency": "EUR"}
]
},
"availableLanguage": ["fr-FR","en-GB","es-ES","de-DE"],
"termsOfService": "https://www.taximarnelavallee.com/legal/cgu.html",
"potentialAction": {
"@type": "ReserveAction",
"target": {"@type": "EntryPoint", "urlTemplate": "tel:+33750535658", "actionPlatform": ["http://schema.org/DesktopWebPlatform","http://schema.org/MobileWebPlatform"]},
"result": {"@type": "Reservation", "reservationStatus": "ReservationPending"}
}
},
{
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "Accueil", "item": "https://www.taximarnelavallee.com/"},
{"@type": "ListItem", "position": 2, "name": "Tarifs", "item": "https://www.taximarnelavallee.com/#tarifs"},
{"@type": "ListItem", "position": 3, "name": "Véhicules", "item": "https://www.taximarnelavallee.com/#vehicules"},
{"@type": "ListItem", "position": 4, "name": "Services", "item": "https://www.taximarnelavallee.com/#services"},
{"@type": "ListItem", "position": 5, "name": "Villes", "item": "https://www.taximarnelavallee.com/#villes"}
]
},
{
"@type": "HowTo",
"name": "Comment réserver un taxi à Marne-la-Vallée",
"description": "3 étapes simples pour réserver votre taxi à Val d'Europe et Marne-la-Vallée",
"totalTime": "PT5M",
"step": [
{"@type": "HowToStep", "position": 1, "name": "Contactez-nous", "text": "Téléphone, WhatsApp ou formulaire — indiquez départ, arrivée et horaire."},
{"@type": "HowToStep", "position": 2, "name": "Recevez l'estimation", "text": "Réponse en moins de 5 min avec une estimation tarifaire indicative. Le compteur homologué fait foi."},
{"@type": "HowToStep", "position": 3, "name": "On vient à l'heure", "text": "Chauffeur identifié, véhicule premium, suivi de vol gratuit pour les aéroports."}
]
}
]
}
</script>
<!-- App Indexing — associe l'app Android à ce site dans Google Search -->
<link href="android-app://com.taximarnelavallee.app/http/www.taximarnelavallee.com/" rel="alternate"/>
<script type="application/ld+json">{"@context": "https://schema.org", "@type": "MobileApplication", "name": "Taxi Marne-la-Vallée — Réservation", "description": "Réservez votre taxi à Val d'Europe, Disneyland Paris et les aéroports parisiens en 30 secondes. Réservation programmée, historique de courses, paiement à bord, chauffeur professionnel agréé.", "url": "https://www.taximarnelavallee.com/", "applicationCategory": "TravelApplication", "operatingSystem": "Android", "offers": {"@type": "Offer", "price": "0", "priceCurrency": "EUR"}, "aggregateRating": {"@type": "AggregateRating", "ratingValue": "4.9", "reviewCount": "247", "bestRating": "5"}, "installUrl": "https://play.google.com/store/apps/details?id=com.taximarnelavallee.app&hl=fr", "author": {"@type": "LocalBusiness", "name": "Taxi Marne-la-Vallée", "url": "https://www.taximarnelavallee.com/", "telephone": "+33750535658", "address": {"@type": "PostalAddress", "streetAddress": "1 Place d'Ariane", "addressLocality": "Serris", "postalCode": "77700", "addressRegion": "Île-de-France", "addressCountry": "FR"}, "sameAs": ["https://www.facebook.com/taximlv", "https://x.com/taximlv", "https://www.tiktok.com/@centraletaximlv"]}}</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"@id": "https://www.taximarnelavallee.com/#website",
"url": "https://www.taximarnelavallee.com/",
"name": "Taxi Marne-la-Vallée — Taxi à Val d'Europe",
"publisher": { "@id": "https://www.taximarnelavallee.com/#business" },
"inLanguage": "fr-FR",
"potentialAction": [
{
"@type": "ReserveAction",
"name": "Réserver un taxi Marne-la-Vallée",
"description": "Demander un devis taxi vers Disneyland, CDG, Orly, Beauvais, Paris ou longue distance Europe — confirmation immédiate 24h/24.",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://www.taximarnelavallee.com/?action=reserve&pickup={pickup_location}&dropoff={drop_location}&date={pickup_date}&time={pickup_time}&passengers={party_size}&luggage={luggage}",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/IOSPlatform",
"http://schema.org/AndroidPlatform"
],
"contentType": "text/html",
"encodingType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"object": {
"@type": "TaxiReservation",
"provider": { "@id": "https://www.taximarnelavallee.com/#business" },
"reservationStatus": "https://schema.org/ReservationPending",
"pickupLocation": {
"@type": "Place",
"name": "Val d'Europe / Marne-la-Vallée / Aéroports parisiens"
}
},
"result": {
"@type": "TaxiReservation",
"reservationStatus": "https://schema.org/ReservationPending",
"provider": { "@id": "https://www.taximarnelavallee.com/#business" },
"underName": {
"@type": "Person",
"name": "{customer_name}"
}
},
"query-input": [
"required name=pickup_location",
"required name=drop_location",
"required name=pickup_date",
"required name=pickup_time",
"required name=party_size",
"name=luggage",
"name=customer_name",
"name=customer_phone"
],
"actionStatus": "https://schema.org/PotentialActionStatus"
},
{
"@type": "CommunicateAction",
"name": "Appeler le taxi",
"target": {
"@type": "EntryPoint",
"urlTemplate": "tel:+33750535658",
"actionPlatform": [
"http://schema.org/MobileWebPlatform",
"http://schema.org/IOSPlatform",
"http://schema.org/AndroidPlatform"
]
}
},
{
"@type": "CommunicateAction",
"name": "WhatsApp",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://wa.me/33750535658?text={message}",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform",
"http://schema.org/IOSPlatform",
"http://schema.org/AndroidPlatform"
]
},
"query-input": "name=message"
}
]
}
</script>
<style>
/* Corrections de contraste accessibilite (WCAG AA) */
.site-footer p{color:#A9BACE !important}
/* Boutons WhatsApp : vert fonce accessible (texte blanc lisible) */
.btn-wa,.wa-float,.st-wa,.sticky-call .wa,.mobile-app-nav .nav-wa,.mbb-wa,.nav-wa{background:#0A8043 !important;color:#FFFFFF !important;background-image:none !important}
.btn-wa:hover,.wa-float:hover,.st-wa:hover,.sticky-call .wa:hover,.mobile-app-nav .nav-wa:hover,.mbb-wa:hover,.nav-wa:hover{background:#085F30 !important;color:#FFFFFF !important;background-image:none !important}
</style>
<style>
/* === Footer compact : liste des communes repliable === */
details.footer-villes{max-width:1100px;margin:0 auto 1.25rem;border-top:1px solid rgba(136,153,170,.12);padding-top:1rem}
details.footer-villes>summary{list-style:none;cursor:pointer;color:#8899AA;font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;padding:.35rem 0}
details.footer-villes>summary::-webkit-details-marker{display:none}
details.footer-villes>summary::before{content:"▸ ";color:#C9A84C}
details.footer-villes[open]>summary::before{content:"▾ "}
details.footer-villes .footer-villes-list{margin-top:.9rem}
.site-footer{padding-top:2.25rem;padding-bottom:1.4rem}
.site-footer .footer-grid{margin-bottom:1.75rem;gap:1.75rem 2rem}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","@id":"https://www.taximarnelavallee.com/#webpage","url":"https://www.taximarnelavallee.com/","name":"Taxi Val d\u0027Europe \u0026 Marne-la-Vallée — Disneyland, CDG, Orly","isPartOf":{"@id":"https://www.taximarnelavallee.com/#website"},"about":{"@id":"https://www.taximarnelavallee.com/#business"},"inLanguage":"fr-FR","speakable":{"@type":"SpeakableSpecification","cssSelector":[".speakable-tagline",".speakable-rating",".speakable-tarif",".speakable-horaires"]}}</script>
<style id="lang-switch-css">
.lang-switch{position:relative;display:inline-flex;align-items:center;font-family:'DM Sans','DM Sans Fallback',sans-serif;z-index:120}
.lang-switch .flag{display:inline-block;width:22px;height:15px;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.18),0 1px 3px rgba(0,0,0,.25);flex-shrink:0;vertical-align:middle}
.lang-switch .flag svg{display:block;width:100%;height:100%}
@keyframes flagWave{0%,100%{transform:perspective(70px) rotateY(-14deg) skewX(-2deg)}50%{transform:perspective(70px) rotateY(14deg) skewX(2deg)}}
.lang-btn{display:inline-flex;align-items:center;gap:.45rem;background:#fff;border:1.5px solid rgba(179,146,61,.6);color:#16263D;padding:.4rem .65rem;border-radius:999px;font-size:.8rem;font-weight:700;cursor:pointer;line-height:1;transition:background .2s,border-color .2s,box-shadow .2s,transform .15s;font-family:inherit;box-shadow:0 1px 3px rgba(10,22,40,.14)}
.lang-btn:hover{background:#FBF5E6;border-color:#B3923D;transform:translateY(-1px);box-shadow:0 3px 10px rgba(10,22,40,.18)}
.lang-btn .lang-code{color:#16263D}
.lang-btn .flag{animation:flagWave 2.8s ease-in-out infinite;transform-origin:center}
.lang-btn .caret{width:9px;height:9px;transition:transform .25s;opacity:.8}
.lang-switch.open .lang-btn .caret{transform:rotate(180deg)}
.lang-menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:180px;background:#fff;border:1px solid #E4DDD0;border-radius:14px;box-shadow:0 12px 40px rgba(10,22,40,.22);list-style:none;margin:0;padding:.35rem;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.97);transform-origin:top right;transition:opacity .2s,transform .2s,visibility .2s;overflow:hidden}
.lang-switch.open .lang-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.lang-menu li{margin:0}
.lang-menu a{display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;border-radius:9px;color:#16263D;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}
.lang-menu a:hover{background:#FBF5E6;color:#0A1628}
.lang-menu a .flag{transition:transform .2s}
.lang-menu a:hover .flag{animation:flagWave 1s ease-in-out infinite}
.lang-menu a[aria-current="true"]{background:#0A1628;color:#fff;cursor:default}
.lang-menu a[aria-current="true"]:hover{background:#0A1628}
.lang-menu a .chk{margin-left:auto;font-size:.8rem;color:#B3923D}
.lang-menu a[aria-current="true"] .chk{color:#E4C97A}
@media(max-width:899px){
.lang-switch{order:3}
.lang-btn{padding:.38rem .55rem;font-size:.78rem}
.lang-menu{min-width:170px}
}
</style>
<style id="lex-new-band-css">
.lex-band{background:linear-gradient(90deg,#0B1B2B 0%,#16304A 100%);color:#F5F1E8;padding:.75rem 1.25rem}
.lex-band-in{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:.85rem;flex-wrap:wrap;text-align:center}
.lex-band .lex-new{background:#FFCB05;color:#0B1B2B;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:.22rem .6rem;border-radius:999px;white-space:nowrap}
.lex-band p{margin:0;font-size:.9rem;line-height:1.5;color:#F5F1E8}
.lex-band p strong{color:#FFCB05}
.lex-band a.lex-band-cta{color:#0B1B2B !important;background:#FFCB05;border-radius:999px;padding:.4rem .95rem;font-size:.82rem;font-weight:700;white-space:nowrap;transition:transform .15s,box-shadow .2s;display:inline-block}
.lex-band a.lex-band-cta:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(255,203,5,.35)}
@media(max-width:640px){.lex-band{padding:.7rem 1rem}.lex-band p{font-size:.83rem}}
</style>
</head>
<body>
<!-- Détection langue automatique (EN/ES/DE) -->
<div class="lang-detect" hidden="" id="lang-detect">
<span class="ld-msg"></span>
<button aria-label="Fermer" class="ld-close" type="button">×</button>
</div>
<script>
(function(){
try{
var lang=(navigator.language||navigator.userLanguage||'').toLowerCase();
if(localStorage.getItem('tmv_lang_dismissed')==='1')return;
var msg=null;
if(lang.indexOf('en')===0)msg='Welcome! We speak English · Call <a href="tel:+33750535658">+33 7 50 53 56 58</a> or <a href="https://wa.me/33750535658" target="_blank" rel="noopener">WhatsApp</a>';
else if(lang.indexOf('es')===0)msg='¡Bienvenido! Hablamos español · <a href="tel:+33750535658">+33 7 50 53 56 58</a> o <a href="https://wa.me/33750535658" target="_blank" rel="noopener">WhatsApp</a>';
else if(lang.indexOf('de')===0)msg='Willkommen! Wir sprechen Deutsch · <a href="tel:+33750535658">+33 7 50 53 56 58</a> oder <a href="https://wa.me/33750535658" target="_blank" rel="noopener">WhatsApp</a>';
if(msg){
var el=document.getElementById('lang-detect');
if(el){
el.querySelector('.ld-msg').innerHTML=msg;
el.hidden=false;
el.querySelector('.ld-close').addEventListener('click',function(){
el.hidden=true;
try{localStorage.setItem('tmv_lang_dismissed','1');}catch(e){}
});
}
}
}catch(e){}
})();
</script>
<!-- Sticky CTA top (apparaît au scroll) -->
<div aria-hidden="true" class="sticky-top" id="sticky-top">
<div class="st-inner">
<a class="st-brand" href="#top">🚕 Taxi MLV</a>
<a class="st-call" href="tel:+33750535658">📞 07 50 53 56 58</a>
<a aria-label="Réserver par WhatsApp" class="st-wa" href="https://wa.me/33750535658?text=Bonjour%2C%20je%20souhaite%20r%C3%A9server%20un%20taxi" rel="nofollow noopener">💬 WhatsApp</a>
<a class="st-sim" href="#simulateur" onclick="if(window.innerWidth<900){msimOpen();return false;}">🧮 Estimer</a>
</div>
</div>
<script>
(function(){
var st=document.getElementById('sticky-top');
if(!st)return;
var lastY=0,ticking=false;
function update(){
var y=window.scrollY||document.documentElement.scrollTop;
st.classList.toggle('visible',y>320);
ticking=false;
}
window.addEventListener('scroll',function(){
if(!ticking){window.requestAnimationFrame(update);ticking=true;}
},{passive:true});
})();
</script>
<!-- ═══ -->
<header class="site-header">
<div class="wrap">
<a class="logo" href="/">
<div aria-label="Taxi Marne-la-Vallée" class="logo-mark">TMV</div>
<div class="logo-text">Taxi <strong>Marne-la-Vallée</strong></div>
</a>
<nav aria-label="Navigation principale" class="nav-desk">
<a href="/#tarifs">Tarifs</a>
<a href="/#simulateur">Simulateur</a>
<a href="/#services">Services</a>
<a href="/hotels-disneyland-val-d-europe/">Hôtels</a>
<a href="/services/longue-distance/">Europe</a>
<a href="/services/livraison-express/">Livraison</a>
<a aria-label="Taxi TPMR, transport en fauteuil roulant" href="/services/taxi-tpmr/">TPMR</a>
<a href="/#villes">Villes</a>
<a href="/#contact">Contact</a>
</nav>
<div class="lang-switch" id="langSwitch"><button aria-expanded="false" aria-haspopup="true" aria-label="Choisir la langue" class="lang-btn" type="button"><span class="flag"><svg preserveaspectratio="none" viewbox="0 0 9 6"><rect fill="#fff" height="6" width="9"></rect><rect fill="#0055A4" height="6" width="3"></rect><rect fill="#EF4135" height="6" width="3" x="6"></rect></svg></span><span class="lang-code">FR</span><svg class="caret" fill="none" stroke="currentColor" stroke-width="2" viewbox="0 0 12 12"><path d="M3 5l3 3 3-3"></path></svg></button><ul class="lang-menu" role="menu"><li><a aria-current="true" href="/" hreflang="fr" lang="fr"><span class="flag"><svg preserveaspectratio="none" viewbox="0 0 9 6"><rect fill="#fff" height="6" width="9"></rect><rect fill="#0055A4" height="6" width="3"></rect><rect fill="#EF4135" height="6" width="3" x="6"></rect></svg></span>Français<span class="chk">✓</span></a></li><li><a href="/en/" hreflang="en" lang="en"><span class="flag"><svg viewbox="0 0 60 30"><clippath id="uk"><rect height="30" width="60"></rect></clippath><g clip-path="url(#uk)"><rect fill="#012169" height="30" width="60"></rect><path d="M0,0 60,30 M60,0 0,30" stroke="#fff" stroke-width="6"></path><path clip-path="url(#uk)" d="M0,0 60,30 M60,0 0,30" stroke="#C8102E" stroke-width="4"></path><path d="M30,0 V30 M0,15 H60" stroke="#fff" stroke-width="10"></path><path d="M30,0 V30 M0,15 H60" stroke="#C8102E" stroke-width="6"></path></g></svg></span>English</a></li><li><a href="/es/" hreflang="es" lang="es"><span class="flag"><svg preserveaspectratio="none" viewbox="0 0 9 6"><rect fill="#AA151B" height="6" width="9"></rect><rect fill="#F1BF00" height="3" width="9" y="1.5"></rect></svg></span>Español</a></li><li><a href="/de/" hreflang="de" lang="de"><span class="flag"><svg preserveaspectratio="none" viewbox="0 0 9 6"><rect fill="#FFCE00" height="6" width="9"></rect><rect fill="#D00" height="4" width="9"></rect><rect fill="#000" height="2" width="9"></rect></svg></span>Deutsch</a></li><li><a href="/it/" hreflang="it" lang="it"><span class="flag"><svg preserveaspectratio="none" viewbox="0 0 9 6"><rect fill="#fff" height="6" width="9"></rect><rect fill="#009246" height="6" width="3"></rect><rect fill="#CE2B37" height="6" width="3" x="6"></rect></svg></span>Italiano</a></li></ul></div><div class="header-actions">
<a class="header-cta" href="tel:+33750535658">📞 07 50 53 56 58</a>
</div>
</div>
</header>
<div class="lex-band">
<div class="lex-band-in">
<span class="lex-new">Nouveau</span>
<p><strong>Livraison express dans toute l'Europe</strong> — véhicule dédié, sans rupture de charge, 24 h/24. Pièces AOG, pharma, luxe, IT, événementiel.</p>
<a class="lex-band-cta" href="/services/livraison-express/">Voir le service & calculer un tarif →</a>
</div>
</div>
<style>
/* ── MOBILE : pas de menu hamburger (navigation via la barre du bas + défilement) ── */
@media(max-width:899px){
.site-header .burger{ display:none !important; }
.nav-desk{ display:none !important; }
}
</style>
<style>
/* ═══ MOBILE — QUICK WINS : hero condensé + sections compactées + carrousel services (PC strictement inchangé) ═══ */
.hero-readmore{ display:none; }
.services-hint{ display:none; }
@media(max-width:899px){
/* — Hero condensé (action-first) — */
.hero{ padding-top:1.4rem !important; padding-bottom:1.8rem !important; }
.hero h1{ font-size:1.72rem !important; line-height:1.18 !important; margin-bottom:.55rem !important; }
.hero .eyebrow{ font-size:.6rem !important; margin-bottom:.5rem !important; }
.hero .sub{ font-size:.9rem !important; line-height:1.55 !important; margin-bottom:.45rem !important; }
.hero .sub.clamp{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.hero-readmore{ display:inline-block; background:none; border:0; color:#003C7E; font-weight:700; font-size:.82rem; padding:.1rem 0 .7rem; cursor:pointer; text-decoration:underline; }
.hero-cta{ gap:.5rem !important; margin-bottom:.8rem !important; }
.hero-cta .btn-gold{ padding:.9rem 1.3rem !important; font-size:1rem !important; }
.hero-cta .btn-wa, .hero-cta .btn-ghost{ padding:.78rem 1.1rem !important; font-size:.9rem !important; }
.trust-pills{ gap:.4rem !important; }
.trust-pill{ font-size:.72rem !important; padding:.28rem .6rem !important; }
/* — Sections compactées (2× moins hautes) — */
.howto-section{ padding-top:2rem !important; padding-bottom:2rem !important; }
.app-section, .fleet-section, .tarifs-section, .simulator-section,
.intl-section, .services-section, .stats-strip, .trusted-by{
padding-top:1.8rem !important; padding-bottom:1.8rem !important;
}
/* — Services en carrousel horizontal (swipe) — */
.services-grid{ display:flex !important; flex-wrap:nowrap !important; overflow-x:auto; gap:.85rem;
scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding:.2rem .2rem 1rem; margin:0 -.2rem; scrollbar-width:none; }
.services-grid::-webkit-scrollbar{ display:none; }
.services-grid .service-card{ flex:0 0 80% !important; scroll-snap-align:start; display:flex !important; flex-direction:column !important; margin:0 !important; }
.services-grid .svc-extra{ display:flex !important; flex-direction:column !important; }
.services-more-wrap{ display:none !important; }
.services-hint{ display:block; text-align:center; font-size:.78rem; color:#5A6A7A; margin-top:.3rem; }
}
</style>
<script>
(function(){
function initHeroClamp(){
var sub=document.querySelector('.hero .sub');
if(!sub || sub.dataset.clampReady) return; sub.dataset.clampReady='1';
sub.classList.add('clamp');
var btn=document.createElement('button');
btn.type='button'; btn.className='hero-readmore'; btn.textContent='Lire plus ▾';
if(sub.parentNode) sub.parentNode.insertBefore(btn, sub.nextSibling);
btn.addEventListener('click', function(){
var clamped=sub.classList.toggle('clamp');
btn.textContent = clamped ? 'Lire plus ▾' : 'Lire moins ▴';
});
}
function addServicesHint(){
var grid=document.querySelector('.services-grid');
if(!grid || grid.dataset.hintReady) return; grid.dataset.hintReady='1';
var hint=document.createElement('div');
hint.className='services-hint'; hint.textContent='← Faites glisser pour voir tous les services →';
if(grid.parentNode) grid.parentNode.insertBefore(hint, grid.nextSibling);
}
function run(){ initHeroClamp(); addServicesHint(); }
if(document.readyState==='loading') document.addEventListener('DOMContentLoaded', run);
else run();
})();
</script>
<style>
/* ═══ MOBILE — PHASE 2 & 3 : accordéons + carrousel avis (PC strictement inchangé) ═══ */
.acc-toggle{ display:none; }
@media(max-width:899px){
/* — Accordéon de section (Villes : 48 communes repliées) — */
.acc-section .section-header{ cursor:pointer; position:relative; padding-right:2.4rem; }
.acc-section .acc-toggle{ display:flex; position:absolute; right:.1rem; top:.3rem;
width:2rem; height:2rem; align-items:center; justify-content:center; border-radius:8px; background:#EEF2F7; }
.acc-section .acc-toggle::before{ content:'+'; font-size:1.5rem; line-height:1; color:#003C7E; font-weight:400; }
.acc-section.acc-open .acc-toggle::before{ content:'\2013'; }
.acc-section:not(.acc-open) .acc-item{ display:none !important; }
/* — Avis en carrousel horizontal (swipe) — */
.avis-grid{ display:flex !important; flex-wrap:nowrap !important; overflow-x:auto; gap:.85rem;
scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding:.2rem .2rem 1rem; margin:0 -.2rem; scrollbar-width:none; }
.avis-grid::-webkit-scrollbar{ display:none; }
.avis-grid .avis-card{ flex:0 0 82% !important; scroll-snap-align:start; margin:0 !important; }
.avis-hint{ text-align:center; font-size:.78rem; color:#5A6A7A; margin-top:.3rem; }
}
.avis-hint{ display:none; }
@media(max-width:899px){ .avis-hint{ display:block; } }
</style>
<script>
(function(){
var isMobile=function(){ return window.matchMedia('(max-width:899px)').matches; };
function makeSectionAccordion(sel){
var section=document.querySelector(sel);
if(!section || section.dataset.accReady) return; section.dataset.accReady='1';
var container=section.querySelector('.container, .container-narrow') || section;
var header=container.querySelector('.section-header');
if(!header) return;
var el=header.nextElementSibling;
while(el){ el.classList.add('acc-item'); el=el.nextElementSibling; }
section.classList.add('acc-section');
var tog=document.createElement('span'); tog.className='acc-toggle'; tog.setAttribute('aria-hidden','true');
header.appendChild(tog);
header.addEventListener('click', function(e){
if(e.target.closest('a')) return;
section.classList.toggle('acc-open');
});
}
function collapseDetails(sel){
if(!isMobile()) return;
document.querySelectorAll(sel).forEach(function(d){ d.removeAttribute('open'); });
}
function addAvisHint(){
var grid=document.querySelector('.avis-grid');
if(!grid || grid.dataset.hintReady) return; grid.dataset.hintReady='1';
var hint=document.createElement('div');
hint.className='avis-hint'; hint.textContent='← Faites glisser pour lire les avis →';
if(grid.parentNode) grid.parentNode.insertBefore(hint, grid.nextSibling);
}
function run(){
makeSectionAccordion('#villes');
collapseDetails('#villes details.zone-group');
collapseDetails('.faq-section details.faq-item');
addAvisHint();
}
if(document.readyState==='loading') document.addEventListener('DOMContentLoaded', run);
else run();
})();
</script>
<main>
<!-- MOBILE ONLY: Smart App Banner (Google Play) — dismissible -->
<style>
.smart-app-banner{display:none}
@media(max-width:899px){
.smart-app-banner{display:flex;align-items:center;gap:.7rem;background:#fff;border-bottom:1px solid #E4DDD0;box-shadow:0 2px 8px rgba(10,22,40,.06);padding:.7rem .9rem;position:relative;z-index:99;animation:sabSlide .4s ease}
.smart-app-banner.hidden{display:none}
@keyframes sabSlide{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}
.sab-close{background:#F1EDE3;border:none;color:#5A6A7A;width:24px;height:24px;border-radius:50%;font-size:.85rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:inherit;line-height:1;padding:0;font-weight:700}
.sab-close:active{background:#E4DDD0}
.sab-icon{width:42px;height:42px;background:linear-gradient(145deg,#B3923D,#8A6D2F);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;box-shadow:0 2px 8px rgba(179,146,61,.35)}
.sab-text{flex:1;line-height:1.2;min-width:0}
.sab-title{font-size:.82rem;font-weight:800;color:#0A1628;letter-spacing:-.01em;display:block}
.sab-sub{font-size:.68rem;color:#5A6A7A;font-weight:500;display:flex;align-items:center;gap:.3rem;margin-top:.1rem}
.sab-sub .stars{color:#F4B400;font-size:.7rem;letter-spacing:.02em}
.sab-cta{flex-shrink:0;background:var(--gold);color:var(--ink);font-weight:800;font-size:.75rem;padding:.5rem .9rem;border-radius:999px;text-decoration:none;letter-spacing:.02em;text-transform:uppercase;box-shadow:0 2px 6px rgba(179,146,61,.3)}
.sab-cta:active{transform:scale(.96)}
}
</style>
<div aria-label="Téléchargez l'application" class="smart-app-banner" id="smartAppBanner" role="banner">
<button aria-label="Fermer" class="sab-close" onclick="document.getElementById('smartAppBanner').classList.add('hidden');try{localStorage.setItem('tmv_sab_dismissed','1')}catch(e){}">×</button>
<div class="sab-icon">🚕</div>
<div class="sab-text">
<span class="sab-title">App Taxi Marne-la-Vallée</span>
<span class="sab-sub"><span class="stars">★★★★★</span>4,9 · Gratuit · Android</span>
</div>
<a class="sab-cta" href="https://play.google.com/store/apps/details?id=com.taximarnelavallee.app&hl=fr" rel="noopener noreferrer" target="_blank">Installer</a>
</div>
<script>
/* Restore dismissed state on load */
(function(){
try{
if(localStorage.getItem('tmv_sab_dismissed')==='1'){
var b=document.getElementById('smartAppBanner');
if(b)b.classList.add('hidden');
}
}catch(e){}
})();
</script>
<!-- ═══ -->
<section class="hero">
<!-- Image de fond indexée par Google -->
<img alt="Chauffeur taxi professionnel Marne-la-Vallée devant Peugeot 508 noire — Taxi Marne-la-Vallée Val d'Europe, service 24h/24 depuis 2015" class="hero-bg-img" decoding="async" fetchpriority="high" height="450" sizes="100vw" src="/images/chauffeur_professionnel_800.webp" srcset="/images/chauffeur_professionnel_400.webp 400w, /images/chauffeur_professionnel_600.webp 600w, /images/chauffeur_professionnel_800.webp 800w" width="800"/>
<svg class="hero-wave" preserveaspectratio="none" viewbox="0 0 1440 72" xmlns="http://www.w3.org/2000/svg"><path d="M0 72 L0 36 Q360 0 720 36 Q1080 72 1440 36 L1440 72 Z" fill="#F8F5EF"></path></svg>
<div class="wrap">
<div class="hero-inner">
<div>
<span class="eyebrow">Taxi Marne-la-Vallée : Spécialiste du secteur Val d'Europe depuis 2015</span>
<h1>Taxi à <span class="accent">Val d'Europe</span> & Marne-la-Vallée<br/>Disneyland · Aéroports · Europe</h1>
<p class="sub"><span class="speakable-tagline">Taxi à Val d'Europe et Marne-la-Vallée : plus de 30 chauffeurs professionnels agréés préfecture 77, basés à Serris. Transferts Disneyland Paris, aéroports CDG / Orly / Beauvais, longue distance Europe. Disponible 24h/24, 7j/7. Au 07 50 53 56 58.</span> <em>English spoken.</em></p>
<div class="hero-cta">
<a class="btn btn-gold" href="tel:+33750535658">📞 07 50 53 56 58</a>
<a aria-label="Réserver un taxi par WhatsApp" class="btn btn-wa" href="https://wa.me/33750535658?text=Bonjour%2C%20je%20souhaite%20r%C3%A9server%20un%20taxi" rel="nofollow noopener noreferrer">💬 WhatsApp</a>
<a class="btn btn-ghost" href="#simulateur" onclick="if(window.innerWidth<900){msimOpen();return false;}">🧮 Estimer mon prix</a>
</div>
<div class="trust-pills">
<div class="trust-pill">✓ 2,63 €/km</div>
<div class="trust-pill">✓ Siège enfant offert</div>
<div class="trust-pill">✓ Suivi de vol</div>
<div class="trust-pill">✓ English spoken</div>
<div class="trust-pill">⭐ 4,9/5 · 247 avis</div>
<a class="trust-pill" href="#app" style="background:rgba(179,146,61,.18);border-color:rgba(179,146,61,.45);color:var(--gold);text-decoration:none;font-weight:700">📱 App Android disponible →</a>
</div>
</div>
<!-- Booking card -->
<div class="booking-card" id="hero-booking">
<h2 class="bc-title">🗓 Réservation rapide</h2>
<div class="bc-field">
<label for="hero-from">Adresse de départ</label>
<div class="bc-input-wrap">
<span class="ic">📍</span>
<input autocomplete="off" id="hero-from" placeholder="Ex : Serris, 77700" type="text"/>
</div>
</div>
<div class="bc-field">
<label for="hero-to">Destination</label>
<div class="bc-input-wrap">
<span class="ic">🏁</span>
<input autocomplete="off" id="hero-to" placeholder="Ex : CDG Terminal 2E" type="text"/>
</div>
</div>
<div class="bc-row-2">
<div class="bc-field">
<label class="sr-only" for="hero-date">Date de prise en charge</label>
<input autocomplete="off" class="pro-dt" id="hero-date" inputmode="numeric" maxlength="10" placeholder="JJ/MM/AAAA" style="padding-left:1rem" type="text"/>
</div>
<div class="bc-field">
<label class="sr-only" for="hero-time">Heure de prise en charge</label>
<input autocomplete="off" class="pro-dt" id="hero-time" inputmode="numeric" maxlength="5" placeholder="HH:MM" style="padding-left:1rem" type="text" value="08:00"/>
</div>
</div>
<div class="bc-field">
<label class="sr-only" for="hero-pax">Nombre de passagers</label>
<select id="hero-pax" style="padding-left:1rem">
<option value="1">1 à 4 passagers — Berline</option>
<option value="2">5 à 7 passagers — Van</option>
</select>
</div>
<div id="bc-price-result" style="display:none;background:var(--gold-pale);border:1.5px solid var(--gold);border-radius:var(--radius-sm);padding:.75rem 1rem;text-align:center;margin-bottom:.75rem">
<div style="font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted)">Estimation de prix</div>
<div id="bc-price-val" style="font-family:'Playfair Display','Playfair Display Fallback',serif;font-size:2rem;font-weight:700;color:var(--ink);line-height:1.1"></div>
<div style="font-size:.7rem;color:var(--text-soft);margin-top:.2rem">2,63 €/km · taximètre homologué</div>
</div>
<button class="btn btn-gold bc-btn" onclick="bcSendWA()" style="width:100%;justify-content:center">💬 Envoyer sur WhatsApp →</button>
<button class="btn btn-outline bc-btn" onclick="bcCalcPrice()" style="width:100%;justify-content:center;margin-top:.5rem;font-size:.85rem">🧮 Estimer le prix d'abord</button>
<p class="bc-note">Prix estimé automatiquement · Réponse immédiate 24h/24</p>
</div>
</div>
</div>
</section>
<!-- ═══ Strip stats animés ═══ -->
<section aria-label="Chiffres clés Taxi Marne-la-Vallée" class="stats-strip">
<div class="container">
<div class="stats-row">
<div class="stat-item">
<div class="stat-num"><span data-count="2015">2015</span></div>
<div class="stat-label">Depuis</div>
</div>
<div class="stat-item">
<div class="stat-num"><span data-count="4.9">4,9</span><span class="stat-suffix">★</span></div>
<div class="stat-label">Note Google</div>
</div>
<div class="stat-item">
<div class="stat-num"><span data-count="247">247</span><span class="stat-suffix">+</span></div>
<div class="stat-label">Avis vérifiés</div>
</div>
<div class="stat-item">
<div class="stat-num"><span data-count="47">47</span></div>
<div class="stat-label">Communes desservies</div>
</div>
<div class="stat-item">
<div class="stat-num"><span class="stat-text">24/7</span></div>
<div class="stat-label">Disponibilité</div>
</div>
</div>
</div>
</section>
<script>
(function(){
if(!('IntersectionObserver' in window))return;
var anims=document.querySelectorAll('.stat-num [data-count]');
if(!anims.length)return;
var animate=function(el){
var target=parseFloat(el.dataset.count);
var isFloat=el.dataset.count.indexOf('.')>-1;
var dur=1400,start=null,from=0;
function step(t){
if(!start)start=t;
var p=Math.min((t-start)/dur,1);
var ease=1-Math.pow(1-p,3);
var v=from+(target-from)*ease;
el.textContent=isFloat?v.toFixed(1).replace('.',','):Math.floor(v).toString();
if(p<1)requestAnimationFrame(step);
else el.textContent=isFloat?target.toString().replace('.',','):target;
}
requestAnimationFrame(step);
};
var obs=new IntersectionObserver(function(entries){
entries.forEach(function(e){
if(e.isIntersecting && !e.target.dataset.done){
e.target.dataset.done='1';
animate(e.target);
obs.unobserve(e.target);
}
});
},{threshold:0.4});
anims.forEach(function(el){obs.observe(el)});
})();
</script>
<!-- ═══ Destinations principales ═══ -->
<section aria-label="Principales destinations desservies" class="trusted-by">
<div class="container">
<span class="tb-label">Destinations les plus demandées</span>
<div class="tb-logos">
<span class="tb-logo">Disneyland Paris</span>
<span class="tb-sep"></span>
<span class="tb-logo">Hôtels Disney</span>
<span class="tb-sep"></span>
<span class="tb-logo">CDG Roissy</span>
<span class="tb-sep"></span>
<span class="tb-logo">Paris-Orly</span>
<span class="tb-sep"></span>
<span class="tb-logo">Chessy TGV</span>
<span class="tb-sep"></span>
<span class="tb-logo">La Vallée Village</span>
<span class="tb-sep"></span>
<span class="tb-logo">Val d'Europe</span>
</div>
</div>
</section>
<!-- ═══ -->
<div class="trust-bar">
<div class="wrap">
<div class="ti speakable-rating"><span class="icon">⭐</span><div>4,9/5 Google<span class="sub">247 avis vérifiés</span></div></div>
<div class="ti speakable-tarif"><span class="icon">🚕</span><div>Taximètre homologué<span class="sub">2,63 €/km · tarif au compteur</span></div></div>
<div class="ti"><span class="icon">👶</span><div>Sièges enfants gratuits<span class="sub">Bébé · Auto · Rehausseur</span></div></div>
<div class="ti"><span class="icon">✈️</span><div>Suivi de vol inclus<span class="sub">Attente gratuite si retard</span></div></div>
<div class="ti"><span class="icon">🌍</span><div>Multilingue<span class="sub">FR · EN · ES · DE</span></div></div>
<div class="ti speakable-horaires"><span class="icon">🕐</span><div>24h/24 · 7j/7<span class="sub">Depuis 2015</span></div></div>
</div>
</div>
<!-- ═══ Comment ça marche · 3 étapes ═══ -->
<section aria-label="Comment réserver" class="howto-section">
<div class="container">
<div class="section-header">
<span class="eyebrow">Comment réserver</span>
<h2>3 étapes simples</h2>
<p>Pas d'inscription, pas d'application à installer. Un taxi en moins de 5 minutes.</p>
</div>
<div class="howto-steps">
<div class="howto-step">
<div class="hs-num">1</div>
<h3>Vous nous écrivez</h3>
<p>Téléphone, WhatsApp ou formulaire — indiquez votre départ, arrivée et horaire en 30 secondes.</p>
<div class="hs-cta">
<a href="tel:+33750535658">📞 Appeler</a>
<span>·</span>
<a href="https://wa.me/33750535658?text=Bonjour%2C%20je%20souhaite%20r%C3%A9server%20un%20taxi" rel="nofollow noopener">💬 WhatsApp</a>
</div>
</div>
<div class="howto-step">
<div class="hs-num">2</div>
<h3>Vous recevez l'estimation</h3>
<p>Réponse en moins de 5 min avec une <strong>estimation indicative</strong>. Le tarif au compteur homologué (2,63 €/km) fait foi.</p>
<div class="hs-cta"><span class="hs-tag">Sans engagement · Annulation libre</span></div>
</div>
<div class="howto-step">
<div class="hs-num">3</div>
<h3>On vient à l'heure</h3>
<p>Chauffeur identifié, véhicule premium, <strong>suivi de vol gratuit</strong> pour les aéroports. Paiement à bord en espèces ou carte.</p>
<div class="hs-cta"><span class="hs-tag">24h/24 · 7j/7 depuis 2015</span></div>
</div>
</div>
</div>
</section>
<!-- ═══ APP DOWNLOAD SECTION ═══ -->
<style>
/* ── App Section ────────────────────────────────── */
.app-section{background:linear-gradient(135deg,#07101e 0%,#0a1628 45%,#0c1f38 100%);padding:4.5rem 1.5rem;position:relative;overflow:hidden}
.app-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 75% 50%,rgba(179,146,61,.13),transparent 60%),radial-gradient(ellipse at 10% 80%,rgba(179,146,61,.06),transparent 45%);pointer-events:none}
.app-section::after{content:'';position:absolute;top:-120px;right:-80px;width:440px;height:440px;background:radial-gradient(circle,rgba(179,146,61,.08) 0%,transparent 70%);pointer-events:none}
.app-inner{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;position:relative;z-index:2;max-width:1100px;margin:0 auto}
@media(min-width:900px){.app-inner{grid-template-columns:1fr 340px}}
.app-badge-new{display:inline-flex;align-items:center;gap:.4rem;background:rgba(179,146,61,.15);border:1px solid rgba(179,146,61,.3);border-radius:999px;padding:.3rem .85rem;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem}
.app-badge-new::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block;animation:appDot 1.8s ease-in-out infinite}
@keyframes appDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.app-title{font-family:'Playfair Display','Playfair Display Fallback',Georgia,serif;font-size:clamp(1.7rem,3.5vw,2.5rem);font-weight:700;color:#fff;line-height:1.18;margin-bottom:.75rem}
.app-title .gold{color:var(--gold);font-style:italic}
.app-sub{font-size:1rem;color:rgba(248,245,239,.7);line-height:1.75;max-width:540px;margin-bottom:2rem}
.app-features{display:grid;grid-template-columns:1fr 1fr;gap:.65rem 1.5rem;margin-bottom:2rem}
.app-feat{display:flex;align-items:flex-start;gap:.55rem;font-size:.88rem;color:rgba(248,245,239,.85)}
.app-feat .af-icon{flex-shrink:0;width:28px;height:28px;background:rgba(179,146,61,.15);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem;margin-top:.05rem}
.app-feat strong{display:block;color:#fff;font-size:.82rem;font-weight:700;line-height:1.2}
.app-feat span{font-size:.76rem;color:rgba(248,245,239,.55);line-height:1.35}
.app-stores{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}
.app-store-btn{display:inline-flex;align-items:center;gap:.7rem;background:#fff;color:#0A1628;border-radius:14px;padding:.7rem 1.3rem;font-family:'DM Sans','DM Sans Fallback',sans-serif;text-decoration:none;transition:transform .18s,box-shadow .2s,background .2s;border:1.5px solid rgba(255,255,255,.12)}
.app-store-btn:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.35);background:#fff}
.app-store-btn .asb-icon{font-size:1.8rem;line-height:1;flex-shrink:0}
.app-store-btn .asb-text{line-height:1.2}
.app-store-btn .asb-sub{font-size:.65rem;color:#5A6A7A;font-weight:500;text-transform:uppercase;letter-spacing:.06em;display:block}
.app-store-btn .asb-name{font-size:.95rem;font-weight:800;color:#0A1628;display:block;letter-spacing:-.01em}
.app-store-btn.ios-btn{background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.18);color:rgba(248,245,239,.7);cursor:default}
.app-store-btn.ios-btn:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.06)}
.app-store-btn.ios-btn .asb-sub,.app-store-btn.ios-btn .asb-name{color:rgba(248,245,239,.55)}
.app-ios-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:.28rem .8rem;font-size:.68rem;font-weight:700;color:rgba(248,245,239,.5);letter-spacing:.07em}
.app-rating{display:flex;align-items:center;gap:.5rem;margin-top:.9rem;font-size:.82rem;color:rgba(248,245,239,.55)}
.app-rating .ar-stars{color:#F4B400;font-size:.9rem;letter-spacing:.04em}
/* Phone mockup */
.app-phone-wrap{display:flex;justify-content:center;align-items:center;position:relative}
.app-phone{width:240px;height:480px;background:linear-gradient(160deg,#16263D 0%,#0A1628 100%);border-radius:38px;border:2.5px solid rgba(179,146,61,.35);box-shadow:0 24px 80px rgba(0,0,0,.6),0 0 0 1px rgba(179,146,61,.1),inset 0 1px 0 rgba(255,255,255,.06);position:relative;overflow:hidden;flex-shrink:0}
.app-phone::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:90px;height:26px;background:#0A1628;border-radius:0 0 16px 16px;z-index:10}
.app-phone-screen{position:absolute;inset:30px 8px 8px;background:#F8F5EF;border-radius:26px;overflow:hidden;display:flex;flex-direction:column}
.app-screen-bar{background:#0A1628;padding:.6rem .9rem;display:flex;align-items:center;justify-content:space-between}
.app-screen-bar .ab-logo{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:800;color:var(--gold);letter-spacing:.04em}
.app-screen-bar .ab-logo .ab-dot{width:18px;height:18px;background:var(--gold);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:.75rem}
.app-screen-bar .ab-time{font-size:.6rem;color:rgba(248,245,239,.4);font-weight:600}
.app-screen-body{flex:1;padding:.7rem .65rem;display:flex;flex-direction:column;gap:.5rem}
.app-screen-hero{background:linear-gradient(135deg,#0A1628,#16263D);border-radius:14px;padding:.9rem;color:#fff}
.app-screen-hero .ash-label{font-size:.55rem;color:rgba(248,245,239,.5);text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:.25rem}
.app-screen-hero .ash-dest{font-size:.88rem;font-weight:800;color:#fff;margin-bottom:.55rem;line-height:1.2}
.app-screen-hero .ash-price{font-size:1.4rem;font-weight:700;color:var(--gold);font-family:'Playfair Display',Georgia,serif;line-height:1}
.app-screen-hero .ash-btn{display:inline-block;background:var(--gold);color:#0A1628;border-radius:999px;padding:.28rem .75rem;font-size:.62rem;font-weight:800;margin-top:.5rem}
.app-screen-row{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}
.app-screen-card{background:#fff;border:1px solid #E4DDD0;border-radius:10px;padding:.5rem .55rem}
.app-screen-card .sc-title{font-size:.55rem;color:#5A6A7A;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}
.app-screen-card .sc-val{font-size:.8rem;font-weight:700;color:#0A1628}
.app-screen-card .sc-sub{font-size:.55rem;color:#5A6A7A}
.app-phone-shine{position:absolute;top:0;left:-60%;width:80%;height:100%;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.04) 50%,transparent 60%);pointer-events:none;border-radius:38px}
.app-phone-glow{position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);width:180px;height:60px;background:radial-gradient(ellipse,rgba(179,146,61,.35),transparent 70%);pointer-events:none}
/* Mobile responsive */
@media(max-width:899px){
.app-section{padding:2.5rem 1.1rem}
.app-features{grid-template-columns:1fr}
.app-phone-wrap{order:-1}
.app-phone{width:200px;height:400px}
}
</style>
<section class="app-section" id="app">
<div class="app-inner">
<!-- Left: copy -->
<div>
<div class="app-badge-new">Nouveau · Disponible sur Android</div>
<h2 class="app-title">Votre taxi en <span class="gold">30 secondes</span>,<br/>du bout des doigts</h2>
<p class="app-sub">Réservez votre taxi en 30 secondes, programmez vos transferts à l'avance, retrouvez l'historique de toutes vos courses. L'application officielle Taxi Marne-la-Vallée — gratuite, sans commission cachée.</p>
<div class="app-features">
<div class="app-feat">
<div class="af-icon">⚡</div>
<div>
<strong>Réservation express</strong>
<span>Course confirmée en moins de 30 secondes, 24h/24</span>
</div>
</div>
<div class="app-feat">
<div class="af-icon">⏰</div>
<div>
<strong>Réservation programmée</strong>
<span>Planifiez vos transferts à l'avance, jusqu'à 7 jours à l'avance</span>
</div>
</div>
<div class="app-feat">
<div class="af-icon">💳</div>
<div>
<strong>Paiement à bord</strong>
<span>Espèces ou carte bancaire dans le véhicule, reçu fourni</span>
</div>
</div>
<div class="app-feat">
<div class="af-icon">🔔</div>
<div>
<strong>Alertes instantanées</strong>
<span>Confirmation, arrivée imminente, reçu par e-mail</span>
</div>
</div>
<div class="app-feat">
<div class="af-icon">✈️</div>
<div>
<strong>Suivi de vol inclus</strong>
<span>Retard ? Votre chauffeur s'adapte automatiquement</span>
</div>
</div>
<div class="app-feat">
<div class="af-icon">⭐</div>
<div>
<strong>Historique & avis</strong>
<span>Retrouvez vos courses, notez, réservez à nouveau en 1 tap</span>
</div>
</div>
</div>
<div class="app-stores">
<!-- Google Play -->
<a aria-label="Télécharger sur Google Play" class="app-store-btn" href="https://play.google.com/store/apps/details?id=com.taximarnelavallee.app&hl=fr" rel="noopener noreferrer" target="_blank">
<span class="asb-icon">▶</span>
<span class="asb-text">
<span class="asb-sub">Disponible sur</span>
<span class="asb-name">Google Play</span>
</span>
</a>
<!-- iOS coming soon -->
<div aria-label="iOS bientôt disponible" class="app-store-btn ios-btn" title="iOS — bientôt disponible">
<span class="asb-icon">🍎</span>
<span class="asb-text">
<span class="asb-sub">Bientôt sur</span>
<span class="asb-name">App Store</span>
</span>
</div>
</div>
<div class="app-rating">
<span class="ar-stars">★★★★★</span>
<span>4,9/5 · Chauffeur agréé, application officielle, 100% gratuite</span>
</div>
</div>
<!-- Right: phone mockup -->
<div class="app-phone-wrap">
<div class="app-phone">
<div class="app-phone-screen">
<div class="app-screen-bar">
<div class="ab-logo">
<div class="ab-dot">🚕</div>
<span>TMV</span>
</div>
<span class="ab-time">9:41</span>
</div>
<div class="app-screen-body">
<div class="app-screen-hero">
<div class="ash-label">Trajet estimé</div>
<div class="ash-dest">Serris → CDG T2E</div>
<div class="ash-price">104 €</div>
<div class="ash-btn">📍 Réserver →</div>
</div>
<div class="app-screen-row">
<div class="app-screen-card">
<div class="sc-title">Chauffeur</div>
<div class="sc-val">Manon</div>
<div class="sc-sub">⭐ 4,9 · ETA 4 min</div>
</div>
<div class="app-screen-card">
<div class="sc-title">Véhicule</div>
<div class="sc-val">Mercedes</div>
<div class="sc-sub">Classe E · Hybride</div>
</div>
</div>
<div class="app-screen-card">
<div class="sc-title">Prochaine course</div>
<div class="sc-val" style="font-size:.72rem">✈️ Orly · Demain 5h30</div>
</div>
</div>
</div>
<div class="app-phone-shine"></div>
</div>
<div class="app-phone-glow"></div>
</div>
</div>
</section>
<!-- ═══ -->
<section class="fleet-section" id="vehicules">
<div class="container">
<div class="section-header">
<span class="eyebrow">Notre flotte</span>
<h2>Des véhicules premium pour chaque trajet</h2>
<p>Berline hybride pour les déplacements solo et duo, van 7 places pour les familles et groupes — tous équipés, climatisés, inspectés.</p>
</div>
<div class="fleet-grid">
<!-- Peugeot 508 -->
<div class="fleet-card">
<div class="fleet-img-wrap">
<img alt="Taxi Peugeot 508 hybride rechargeable extérieur — Taxi Marne-la-Vallée Val d'Europe, transfert aéroport CDG Orly Disneyland Paris" decoding="async" height="450" id="peug-main-img" loading="lazy" sizes="(max-width: 600px) 100vw, 532px" src="/images/peugeot_508_hybride_taxi_marne_la_vallee_600.webp" srcset="/images/peugeot_508_hybride_taxi_marne_la_vallee_400.webp 400w, /images/peugeot_508_hybride_taxi_marne_la_vallee_600.webp 600w, /images/peugeot_508_hybride_taxi_marne_la_vallee_800.webp 800w" width="800"/>
<span class="fleet-badge">🌿 Hybride rechargeable</span>
<div class="fleet-img-tabs">
<button aria-label="Vue extérieure" class="fit active" onclick="switchFleetImg(this,'peugeot_508_hybride_taxi_marne_la_vallee_optimized.webp','Taxi Peugeot 508 hybride rechargeable extérieur — Taxi Marne-la-Vallée Val d\'Europe, transfert aéroport CDG Orly Disneyland Paris','peug-main-img')">Ext.</button>
<button aria-label="Vue intérieure" class="fit" onclick="switchFleetImg(this,'interieur_peugeot_508_hybride_optimized.webp','Intérieur Peugeot 508 hybride taxi Marne-la-Vallée — tableau de bord i-Cockpit sièges cuir beige GPS autoroute Paris','peug-main-img')">Int.</button>
</div>
</div>
<div class="fleet-body">
<div class="fleet-model">Peugeot 508 Hybride</div>
<div class="fleet-tagline">Berline premium · Idéale transferts aéroport & business</div>
<div class="fleet-specs">
<div class="fleet-spec"><span class="spec-icon">👤</span><span><strong>1 à 4</strong> passagers</span></div>
<div class="fleet-spec"><span class="spec-icon">🧳</span><span><strong>3 valises</strong> cabine</span></div>
<div class="fleet-spec"><span class="spec-icon">🌿</span><span><strong>Hybride</strong> rechargeable</span></div>
<div class="fleet-spec"><span class="spec-icon">❄️</span><span><strong>Climatisation</strong> auto</span></div>
<div class="fleet-spec"><span class="spec-icon">🔇</span><span><strong>Très silencieuse</strong></span></div>
<div class="fleet-spec"><span class="spec-icon">🔌</span><span><strong>USB / prise</strong> 12V</span></div>
</div>
<p class="fleet-note">Idéale pour CDG, Orly, Paris centre et transferts professionnels. Confort cuir, toit panoramique.</p>
</div>
</div>
<!-- Mercedes Classe V -->
<div class="fleet-card">
<div class="fleet-img-wrap" id="merc-img-wrap">
<img alt="Taxi Mercedes Classe V 7 places — Grand taxi familial Marne-la-Vallée, transport groupe Disneyland Paris, aéroport CDG Orly avec bagages" decoding="async" height="450" id="merc-main-img" loading="lazy" sizes="(max-width: 600px) 100vw, 532px" src="/images/mercedes_classe_v_taxi_marne_la_vallee_600.webp" srcset="/images/mercedes_classe_v_taxi_marne_la_vallee_400.webp 400w, /images/mercedes_classe_v_taxi_marne_la_vallee_600.webp 600w, /images/mercedes_classe_v_taxi_marne_la_vallee_800.webp 800w" width="800"/>
<span class="fleet-badge">👨👩👧👦 Jusqu'à 7 places</span>
<!-- Mini tabs photo -->
<div class="fleet-img-tabs">
<button aria-label="Vue extérieure" class="fit active" onclick="switchFleetImg(this,'mercedes_classe_v_taxi_marne_la_vallee_optimized.webp','Taxi Mercedes Classe V 7 places extérieur','merc-main-img')">Ext.</button>
<button aria-label="Vue intérieure" class="fit" onclick="switchFleetImg(this,'interieur_mercedes_classe_v_optimized.webp','Intérieur Mercedes Classe V taxi Marne-la-Vallée — sièges cuir beige siège enfant climatisation','merc-main-img')">Int.</button>
</div>
</div>
<div class="fleet-body">
<div class="fleet-model">Mercedes Classe V</div>
<div class="fleet-tagline">Van premium · Familles, groupes & gros bagages</div>
<div class="fleet-specs">
<div class="fleet-spec"><span class="spec-icon">👥</span><span><strong>5 à 7</strong> passagers</span></div>
<div class="fleet-spec"><span class="spec-icon">🧳</span><span><strong>7 valises</strong> grande taille</span></div>
<div class="fleet-spec"><span class="spec-icon">👶</span><span><strong>Sièges enfants</strong> gratuits</span></div>
<div class="fleet-spec"><span class="spec-icon">♿</span><span><strong>PMR</strong> accessible</span></div>
<div class="fleet-spec"><span class="spec-icon">❄️</span><span><strong>Climatisation</strong> 3 zones</span></div>
<div class="fleet-spec"><span class="spec-icon">🔊</span><span><strong>Wi-Fi</strong> à bord</span></div>
</div>
<p class="fleet-note">Le choix des familles pour Disneyland Paris, Eurodisney, aéroports et longs trajets. Espace bagages XXL.</p>
</div>
</div>
</div>
</div>
</section>
<!-- ═══ -->
<section class="tarifs-section" id="tarifs">
<div class="container">
<div class="section-header">
<span class="eyebrow">Tarifs indicatifs</span>
<h2>Nos tarifs depuis Marne-la-Vallée</h2>
<p>Tarifs <strong>à titre indicatif</strong> — taximètre réglementé à 2,63 €/km · Utilisez notre <a href="#simulateur" onclick="if(window.innerWidth<900){msimOpen();return false;}" style="color:var(--gold-dark);font-weight:700">simulateur</a> pour votre prix exact</p>
</div>
<div class="price-cards">
<div class="price-card tarif-disneyland" onclick="if(window.innerWidth<900)window.open('https://wa.me/33750535658?text=Bonjour%2C+je+veux+r%C3%A9server+un+taxi+vers+Disneyland+Paris','_blank')" style="cursor:pointer">
<span class="badge pc-badge">Le + demandé</span>
<div class="pc-dest">🏰 Disneyland Paris</div>
<div class="pc-price">30<small>€</small></div>
<div class="pc-detail">depuis Val d'Europe<br/>Tous hôtels Disney</div>
</div>
<div class="price-card tarif-aeroport" onclick="if(window.innerWidth<900)window.open('https://wa.me/33750535658?text=Bonjour%2C+je+veux+r%C3%A9server+un+taxi+vers+CDG+Roissy','_blank')" style="cursor:pointer">
<div class="pc-dest">✈️ CDG Roissy</div>
<div class="pc-price">104<small>€</small></div>
<div class="pc-detail">Suivi de vol inclus<br/>~45 min</div>
</div>
<div class="price-card tarif-aeroport" onclick="if(window.innerWidth<900)window.open('https://wa.me/33750535658?text=Bonjour%2C+je+veux+r%C3%A9server+un+taxi+vers+Paris-Orly','_blank')" style="cursor:pointer">
<div class="pc-dest">✈️ Paris-Orly</div>
<div class="pc-price">135<small>€</small></div>
<div class="pc-detail">Tous terminaux<br/>~55 min</div>
</div>
<div class="price-card" onclick="if(window.innerWidth<900)window.open('https://wa.me/33750535658?text=Bonjour%2C+je+veux+r%C3%A9server+un+taxi+vers+Paris+centre','_blank')" style="cursor:pointer">
<div class="pc-dest">🗼 Paris centre</div>
<div class="pc-price">110<small>€</small></div>
<div class="pc-detail">Gares, hôtels, musées<br/>~50 min</div>
</div>
<div class="price-card" onclick="if(window.innerWidth<900)window.open('https://wa.me/33750535658?text=Bonjour%2C+je+veux+r%C3%A9server+un+taxi+vers+Parc+Ast%C3%A9rix','_blank')" style="cursor:pointer">
<div class="pc-dest">🎢 Parc Astérix</div>
<div class="pc-price">188<small>€</small></div>
<div class="pc-detail">Aller simple<br/>~1h</div>
</div>
<div class="price-card" onclick="if(window.innerWidth<900)window.open('https://wa.me/33750535658?text=Bonjour%2C+je+veux+r%C3%A9server+un+taxi+vers+Versailles','_blank')" style="cursor:pointer">
<div class="pc-dest">🏛️ Versailles</div>
<div class="pc-price">170<small>€</small></div>
<div class="pc-detail">Château & Trianon<br/>~1h15</div>
</div>
<div class="price-card tarif-aeroport" onclick="if(window.innerWidth<900)window.open('https://wa.me/33750535658?text=Bonjour%2C+je+veux+r%C3%A9server+un+taxi+vers+Beauvais','_blank')" style="cursor:pointer">
<div class="pc-dest">✈️ Beauvais</div>
<div class="pc-price">288<small>€</small></div>
<div class="pc-detail">Vols low-cost<br/>~1h30</div>
</div>
<div class="price-card" onclick="if(window.innerWidth<900)window.open('https://wa.me/33750535658?text=Bonjour%2C+je+veux+un+devis+longue+distance','_blank')" style="cursor:pointer">
<div class="pc-dest">🇪🇺 Longue distance</div>
<div class="pc-price">Sur<small> devis</small></div>
<div class="pc-detail">France & Europe<br/>Devis immédiat</div>
</div>
</div>
<p style="text-align:center;font-size:.88rem;color:var(--text-soft);margin-top:2rem">Prix indicatifs au taximètre (2,63 €/km). Obtenez votre prix précis avec notre <a href="#simulateur" onclick="if(window.innerWidth<900){msimOpen();return false;}" style="color:var(--gold-dark);font-weight:700">simulateur interactif ↓</a></p>
</div>
</section>
<!-- ═══════════════════════════════════════════════════════════════
★★★ SIMULATEUR 3 ÉTAPES ★★★
════════════════════════════════════════════════════════════════ -->
<section class="simulator-section" id="simulateur">
<div class="container-narrow" style="position:relative;z-index:2">
<div class="section-header">
<span class="eyebrow">Simulateur de prix</span>
<h2>Estimez votre course en 3 étapes</h2>
<p>Adresse de départ · Informations passager · Confirmation & réservation</p>
</div>
<!-- Step indicator -->
<div class="sim-steps" id="sim-steps">
<div class="sim-step active" id="step-ind-1">
<div class="sim-step-circle">1</div>
<div class="sim-step-label">Itinéraire</div>
</div>
<div class="sim-connector" id="conn-1"></div>
<div class="sim-step" id="step-ind-2">
<div class="sim-step-circle">2</div>
<div class="sim-step-label">Passagers</div>
</div>
<div class="sim-connector" id="conn-2"></div>
<div class="sim-step" id="step-ind-3">
<div class="sim-step-circle">3</div>
<div class="sim-step-label">Confirmation</div>
</div>
</div>
<!-- Simulator card -->
<div class="sim-card" id="sim-card">
<!-- ── ÉTAPE 1 : Itinéraire & prix ── -->
<div class="sim-panel active" id="sim-panel-1">
<div class="sim-panel-title">📍 Votre itinéraire</div>
<p class="sim-panel-sub">Saisissez vos adresses pour calculer la distance et obtenir une estimation de prix.</p>
<div class="sim-field">
<label>Adresse de départ *</label>
<div class="input-wrap">
<span class="ic">📍</span>
<input autocomplete="off" class="has-icon" id="sim-from" placeholder="Ex : Serris, Chessy, Bussy-Saint-Georges..." type="text"/>
</div>
</div>
<div class="sim-field">
<label>Destination *</label>
<div class="input-wrap">
<span class="ic">🏁</span>
<input autocomplete="off" class="has-icon" id="sim-to" placeholder="Ex : Aéroport CDG Terminal 2E" type="text"/>
</div>
</div>
<button id="sim-calc-btn" onmouseout="this.style.background='var(--ink-soft)';this.style.color='var(--cream)'" onmouseover="this.style.background='var(--gold)';this.style.color='var(--ink)'" style="width:100%;padding:1rem;background:var(--ink-soft);color:var(--cream);border:none;border-radius:12px;font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .2s;margin-top:.25rem" type="button">
🧮 Calculer le prix estimé
</button>
<div class="sim-loading" id="sim-loading">
<div class="spinner"></div>
<span>Calcul via Google Maps…</span>
</div>
<div class="sim-error" id="sim-error"></div>
<!-- Prix résultat -->
<div class="sim-result-box" id="sim-result-box">
<div class="srb-label">Estimation de prix*</div>
<div class="srb-price"><span id="srb-price-val">—</span> €</div>
<div class="srb-route" id="srb-route"></div>
<div class="srb-note">* Prix indicatif · 2,63 €/km · Arrondi à la dizaine supérieure · Le compteur homologué fait foi.</div>
</div>
<div class="sim-nav">
<button class="sim-nav-next" disabled="" id="sim-next-1" onclick="simGoTo(2)">
Continuer → Infos passagers
</button>
</div>
</div>
<!-- ── ÉTAPE 2 : Informations client ── -->
<div class="sim-panel" id="sim-panel-2">
<div class="sim-panel-title">👤 Informations passagers</div>
<p class="sim-panel-sub">Ces informations nous permettront de vous contacter et de préparer votre course.</p>
<div class="sim-row-2">
<div class="sim-field">
<label>Nom *</label>
<input autocomplete="family-name" id="sim-lastname" placeholder="Dupont" type="text"/>
</div>
<div class="sim-field">
<label>Prénom *</label>
<input autocomplete="given-name" id="sim-firstname" placeholder="Jean" type="text"/>
</div>
</div>
<div class="sim-field">
<label>Email *</label>
<input autocomplete="email" id="sim-email" placeholder="jean.dupont@email.com" type="email"/>
</div>
<div class="sim-field">
<label>Téléphone *</label>
<input autocomplete="tel" id="sim-phone" type="tel"/>
</div>
<div class="sim-row-2">
<div class="sim-field">
<label>Nombre de passagers</label>
<select id="sim-passengers">
<option value="1">1 passager</option>
<option value="2">2 passagers</option>
<option value="3">3 passagers</option>
<option value="4">4 passagers</option>
<option value="5">5 passagers (Van)</option>
<option value="6">6 passagers (Van)</option>
<option value="7">7 passagers (Van)</option>
</select>
</div>
<div class="sim-field">
<label>Bagages</label>
<select id="sim-luggage">
<option value="0">Aucun bagage</option>
<option value="1">1 valise</option>
<option value="2">2 valises</option>
<option value="3">3 valises ou +</option>
</select>
</div>
</div>
<div class="sim-row-2">
<div class="sim-field">
<label>Date souhaitée</label>
<input autocomplete="off" class="pro-dt" id="sim-date" inputmode="numeric" maxlength="10" placeholder="JJ/MM/AAAA" type="text"/>
</div>
<div class="sim-field">
<label>Heure</label>
<input autocomplete="off" class="pro-dt" id="sim-time" inputmode="numeric" maxlength="5" placeholder="HH:MM" type="text" value="08:00"/>
</div>
</div>
<div class="sim-field">
<label>Notes (n° de vol, siège enfant, langue…)</label>
<input id="sim-notes" placeholder="Ex : Vol AF1234, siège bébé 18 mois" type="text"/>
</div>
<div class="sim-nav">
<button class="sim-nav-back" onclick="simGoTo(1)">← Retour</button>
<button class="sim-nav-next" onclick="simGoStep2()">Voir le récapitulatif →</button>
</div>
</div>
<!-- ── ÉTAPE 3 : Récapitulatif & envoi ── -->
<div class="sim-panel" id="sim-panel-3">
<div class="sim-panel-title">✅ Récapitulatif de votre réservation</div>
<p class="sim-panel-sub">Vérifiez vos informations puis validez pour envoyer votre demande.</p>
<div class="sim-summary" id="sim-summary">
<!-- filled by JS -->
</div>
<!-- formulaire de réservation en ligne hidden form -->
<form action="https://api.web3forms.com/submit" id="sim-form" method="POST" style="display:none">
<input id="fspark-depart" name="depart" type="hidden"/>
<input id="fspark-destination" name="destination" type="hidden"/>
<input id="fspark-distance" name="distance_km" type="hidden"/>
<input id="fspark-duree" name="duree" type="hidden"/>
<input id="fspark-prix" name="prix_estime" type="hidden"/>
<input id="fspark-nom" name="nom" type="hidden"/>
<input id="fspark-prenom" name="prenom" type="hidden"/>
<input id="fspark-email" name="email" type="hidden"/>
<input id="fspark-telephone" name="telephone" type="hidden"/>
<input id="fspark-passagers" name="passagers" type="hidden"/>
<input id="fspark-bagages" name="bagages" type="hidden"/>
<input id="fspark-date" name="date" type="hidden"/>
<input id="fspark-heure" name="heure" type="hidden"/>
<input id="fspark-notes" name="notes" type="hidden"/>
<input name="access_key" type="hidden" value="e74a4dde-4957-45e3-a419-2b3284da88e7"/>
<input name="subject" type="hidden" value="Nouveau devis de Taxi Marne-la-Vall\u00E9e"/>
<input name="_gotcha" style="display:none" tabindex="-1" type="text"/>
</form>
<div class="sim-nav">
<button class="sim-nav-back" onclick="simGoTo(2)">← Modifier</button>
<button class="sim-nav-submit" id="sim-submit-btn" onclick="simSubmit()">
📨 Confirmer ma réservation
</button>
</div>
</div>
<!-- ── SUCCESS ── -->
<div class="sim-success" id="sim-success">
<span class="checkmark">✅</span>
<h3>Demande envoyée avec succès !</h3>
<p>Merci pour votre réservation. Nous vous recontactons très rapidement.<br/>En cas d'urgence, appelez le <strong>+33 7 50 53 56 58</strong>.</p>
<div style="display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap">
<a class="btn btn-gold" href="tel:+33750535658">📞 Appeler maintenant</a>
<a aria-label="Réserver un taxi par WhatsApp" class="btn btn-wa" href="https://wa.me/33750535658?text=Bonjour%2C%20je%20souhaite%20r%C3%A9server%20un%20taxi" rel="nofollow noopener">💬 WhatsApp</a>
</div>
</div>
</div><!-- /sim-card -->
</div>
</section>
<!-- ═══ -->
<section class="intl-section">
<div class="container">
<div class="section-header">
<span class="eyebrow" style="color:var(--gold)">Clientèle internationale</span>
<h2 style="color:var(--cream)">Your Taxi from Disneyland & Val d'Europe</h2>
<p style="color:rgba(248,245,239,.65)">We welcome international guests daily. English spoken, multilingual service, meet & greet at CDG airport.</p>
</div>
<div class="intl-grid">
<div class="intl-card"><div class="flag">🇬🇧🇺🇸</div><h3>English Guests</h3><p>Airport transfers CDG / Orly to Disneyland. Meet & greet with name board. Free flight tracking.</p><span class="price-tag">CDG → Disney from €100</span></div>
<div class="intl-card"><div class="flag">🇩🇪🇦🇹🇨🇭</div><h3>Deutschsprachige Gäste</h3><p>Flughafentransfer CDG / Orly nach Disneyland. Kindersitze kostenlos. 24/7 verfügbar.</p><span class="price-tag">CDG → Disney ab €100</span></div>
<div class="intl-card"><div class="flag">🇪🇸🇲🇽🇦🇷</div><h3>Clientes hispanohablantes</h3><p>Traslados CDG / Orly a Disneyland París. Sillas de bebé gratuitas. 24h/24.</p><span class="price-tag">CDG → Disneyland desde €100</span></div>
<div class="intl-card"><div class="flag">🇮🇹</div><h3>Ospiti italiani</h3><p>Trasferimenti aeroporto CDG / Orly verso Disneyland. Seggiolini gratuiti. 24h/24.</p><span class="price-tag">CDG → Disneyland da €100</span></div>
<div class="intl-card"><div class="flag">🛎️</div><h3>Hotels & Concierges</h3><p>Direct billing available. Reliable, punctual partner for your guests 24/7.</p><span class="price-tag">Contact us for rates</span></div>
<div class="intl-card"><div class="flag">🏰</div><h3>Disney Hotel Guests</h3><p>Newport Bay, Sequoia Lodge, Cheyenne, Santa Fe — pickup at your hotel entrance.</p><span class="price-tag">All hotels served</span></div>
</div>
<div style="text-align:center;margin-top:2.5rem">
<a class="btn btn-wa" href="https://wa.me/33750535658?text=Hello%2C%20I%20would%20like%20to%20book%20a%20taxi" rel="nofollow noopener noreferrer">💬 Book via WhatsApp (English)</a>
</div>
</div>
</section>
<!-- ═══ -->
<section class="services-section" id="services">
<div class="container">
<div class="section-header">
<span class="eyebrow">Nos services</span>
<h2>Plus qu'un simple taxi local</h2>
<p>De la course Disneyland au transfert intercontinental, un seul numéro pour tous vos déplacements.</p>
</div>
<div class="services-grid">
<div class="service-card"><div class="sc-icon">🏰</div><h3>Taxi à Val d'Europe · Disneyland</h3><p>Transferts vers le parc, les hôtels Disney, Disney Village et la gare TGV Chessy. Tarif indicatif 30 € au taximètre depuis le Val d'Europe.</p><a aria-label="En savoir plus sur Taxi Disneyland" href="/services/disneyland/">En savoir plus →</a></div>
<div class="service-card" style="border-color:var(--gold)"><div class="sc-icon">♿</div><h3>Taxi TPMR · Fauteuil roulant</h3><p>Véhicule à rampe d'accès et arrimage 4 points : vous restez dans votre fauteuil, manuel ou électrique. Disneyland, hôtels Disney, aéroports CDG et Orly — sans supplément fauteuil.</p><a href="/services/taxi-tpmr/" style="color:var(--gold-dark);font-weight:700">Découvrir le taxi TPMR →</a></div>
<div class="service-card" style="border-color:var(--gold)"><div class="sc-icon">📲</div><h3>Réserver en ligne · Application</h3><p>Estimez votre prix et réservez en quelques secondes : simulateur, appli Android gratuite, WhatsApp. Sans acompte, tarif au taximètre.</p><a href="/services/reserver-en-ligne/" style="color:var(--gold-dark);font-weight:700">Réserver en ligne →</a></div>
<div class="service-card"><div class="sc-icon">🌿</div><h3>Villages Nature Paris</h3><p>Transfert vers le resort Center Parcs (Villeneuve-le-Comte / Bailly-Romainvilliers) depuis aéroports, gare Chessy et Disneyland. Van 7 places.</p><a href="/services/taxi-villages-nature/" style="color:var(--gold-dark);font-weight:700">Voir le transfert →</a></div>
<div class="service-card" style="border-color:var(--gold)"><div class="sc-icon">🏨</div><h3>Hôtels Disney & Val d'Europe</h3><p>Tous les hôtels officiels Disney (Newport Bay, Sequoia, Cheyenne…), hôtels partenaires et hôtels Val d'Europe. Prise en charge à l'entrée.</p><a href="/hotels-disneyland-val-d-europe/" style="color:var(--gold-dark);font-weight:700">Voir tous les hôtels →</a></div>
<div class="service-card"><div class="sc-icon">✈️</div><h3>Aéroports parisiens</h3><p>CDG, Orly, Beauvais, Le Bourget. Suivi de vol gratuit, disponibilité 24h/24 pour vos vols matinaux.</p><a aria-label="En savoir plus sur Taxi Aéroport CDG" href="/services/aeroport-cdg/">En savoir plus →</a></div>
<div class="service-card"><div class="sc-icon">🇪🇺</div><h3>Longue distance Europe</h3><p>Bruxelles, Amsterdam, Luxembourg, Genève, Francfort. Devis immédiat, Mercedes premium confort.</p><a aria-label="En savoir plus sur Taxi Longue distance" href="/services/longue-distance/">En savoir plus →</a></div>
<div class="service-card"><div class="sc-icon">🚚</div><h3>Livraison express longue distance <span style="background:#FFCB05;color:#0B1B2B;font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .45rem;border-radius:999px;vertical-align:middle">Nouveau</span></h3><p>Véhicule dédié vers toute la France et l'Europe : pièces AOG, pharma, luxe, IT, événementiel, bagages. Sans rupture de charge, 24h/24. Tarif calculé en ligne.</p><a aria-label="En savoir plus sur la livraison express longue distance" href="/services/livraison-express/">En savoir plus →</a></div>
<div class="service-card svc-extra"><div class="sc-icon">📦</div><h3>Colis express urgent</h3><p>Documents, plis confidentiels et colis vers Paris, aéroports, France et Europe. 24h/24.</p><a aria-label="En savoir plus sur Livraison colis express" href="/services/livraison-colis/">En savoir plus →</a></div>
<div class="service-card"><div class="sc-icon">🗼</div><h3>Paris — Tour Eiffel, Louvre, Champs-Élysées</h3><p>Depuis Disneyland, taxi direct vers tous les monuments parisiens : Tour Eiffel (110 €), Louvre (104 €), Champs-Élysées (110 €), Montmartre, Le Marais. Journée complète possible.</p><a aria-label="En savoir plus sur Taxi Paris depuis Disneyland" href="/services/paris/">En savoir plus →</a></div>
<div class="service-card"><div class="sc-icon">🚆</div><h3>Gares de Paris & Chessy TGV</h3><p>Gare de Lyon (100 €), Gare du Nord (127 €), Gare de l'Est (127 €), Montparnasse (115 €), Saint-Lazare (110 €). Gare TGV Chessy à 5 min (30 €). 24h/24.</p><a aria-label="En savoir plus sur Taxi Gares Paris depuis Disneyland" href="/services/gares-paris/">En savoir plus →</a></div>
<div class="service-card svc-extra"><div class="sc-icon">🏛️</div><h3>Versailles & tourisme</h3><p>Château de Versailles, Parc Astérix, Fontainebleau. Attente sur place. Tarif au taximètre, journée possible.</p><a aria-label="En savoir plus sur Taxi Versailles et tourisme" href="/services/versailles/">En savoir plus →</a></div>
<div class="service-card svc-extra"><div class="sc-icon">👔</div><h3>Transport professionnel</h3><p>Mise à disposition, roadshows, séminaires, transferts exécutifs. Facturation entreprise disponible.</p><a href="https://wa.me/33750535658?text=Bonjour%2C%20je%20souhaite%20un%20devis%20pour%20un%20transport%20professionnel%20%28mise%20%C3%A0%20disposition%2C%20roadshow%2C%20s%C3%A9minaire%29." rel="nofollow noopener">Demander un devis →</a></div>
<div class="service-card svc-extra"><div class="sc-icon">🛍️</div><h3>La Vallée Village & Val d'Europe</h3><p>Centre commercial Val d'Europe, La Vallée Village outlet (110+ marques luxe). Transport bagages inclus depuis tous les hôtels Disney.</p><a aria-label="En savoir plus sur La Vallée Village et Val d'Europe" href="/hotels-disneyland-val-d-europe/#tarifs-hotels">En savoir plus →</a></div>
<div class="service-card svc-extra"><div class="sc-icon">🏥</div><h3>Transport médical assis</h3><p>Courses vers l'hôpital de Jossigny, consultations, rendez-vous médicaux. Patients assis uniquement.</p><a href="https://wa.me/33750535658?text=Bonjour%2C%20je%20souhaite%20r%C3%A9server%20un%20transport%20m%C3%A9dical%20assis%20%28h%C3%B4pital%20de%20Jossigny%20ou%20rendez-vous%20m%C3%A9dical%29." rel="nofollow noopener">Réserver →</a></div>
</div>
<div class="services-more-wrap">
<button class="services-more-btn" onclick="this.parentElement.previousElementSibling.classList.add('show-extras');this.style.display='none'" type="button">Voir tous les services (5 de plus) →</button>
</div>
</div>
</section>
<!-- ═══ Carte interactive zone ═══ -->
<section aria-label="Carte de notre zone d'intervention" class="map-section">
<div class="container">
<div class="section-header">
<span class="eyebrow">Vue d'ensemble</span>
<h2>Notre zone de service</h2>
<p>Depuis Marne-la-Vallée, accès rapide à tous les points d'intérêt d'Île-de-France.</p>
</div>
<div aria-label="Carte d'Île-de-France avec les destinations depuis Marne-la-Vallée" class="zone-map" role="img">
<svg class="zone-svg" font-family="DM Sans,sans-serif" preserveaspectratio="xMidYMid meet" viewbox="0 0 900 600" xmlns="http://www.w3.org/2000/svg">
<defs>
<lineargradient id="zmBg" x1="0" x2="0" y1="0" y2="1">
<stop offset="0%" stop-color="#F8FAFC"></stop>
<stop offset="100%" stop-color="#E6EEF7"></stop>
</lineargradient>
<pattern height="50" id="zmGrid" patternunits="userSpaceOnUse" width="50">
<path d="M 50 0 L 0 0 0 50" fill="none" opacity="0.4" stroke="#CDD5E0" stroke-width="0.5"></path>
</pattern>
<filter height="200%" id="zmShadow" width="200%" x="-50%" y="-50%">
<fedropshadow dx="0" dy="2" flood-color="#003C7E" flood-opacity="0.25" stddeviation="3"></fedropshadow>
</filter>
<radialgradient cx="50%" cy="50%" id="hubGrad" r="50%">
<stop offset="0%" stop-color="#FFCB05" stop-opacity="0.35"></stop>
<stop offset="100%" stop-color="#FFCB05" stop-opacity="0"></stop>
</radialgradient>
</defs>
<!-- Fond carte -->
<rect fill="url(#zmBg)" height="600" width="900"></rect>
<rect fill="url(#zmGrid)" height="600" width="900"></rect>
<!-- Île-de-France contour stylisé -->
<path d="M 80 180 Q 150 120, 250 130 Q 380 100, 480 110 Q 600 130, 720 180 Q 820 240, 820 320 Q 820 420, 720 470 Q 600 510, 500 500 Q 380 510, 280 480 Q 160 450, 100 380 Q 60 280, 80 180 Z" fill="#F0F4F9" opacity="0.6" stroke="#CDD5E0" stroke-width="1.5"></path>
<!-- Forêts (zones vertes très discrètes) -->
<ellipse cx="180" cy="450" fill="#A8C5AC" opacity="0.2" rx="80" ry="40"></ellipse>
<ellipse cx="780" cy="380" fill="#A8C5AC" opacity="0.2" rx="60" ry="35"></ellipse>
<ellipse cx="500" cy="170" fill="#A8C5AC" opacity="0.2" rx="70" ry="40"></ellipse>
<!-- Seine (rivière sinueuse, ouest vers est-sud) -->
<path d="M 50 280 Q 150 260, 240 290 Q 340 320, 410 340 Q 480 360, 540 380 Q 600 400, 680 430 L 730 460" fill="none" opacity="0.55" stroke="#7DA8C7" stroke-linecap="round" stroke-width="5"></path>
<text fill="#7DA8C7" font-size="11" font-style="italic" font-weight="500" opacity="0.7" x="100" y="270">La Seine</text>
<!-- Marne (rivière, depuis l'est rejoint Seine) -->
<path d="M 850 290 Q 780 300, 720 320 Q 650 340, 600 360 Q 540 380, 480 370" fill="none" opacity="0.5" stroke="#7DA8C7" stroke-linecap="round" stroke-width="4"></path>
<text fill="#7DA8C7" font-size="11" font-style="italic" font-weight="500" opacity="0.7" x="700" y="305">La Marne</text>
<!-- Autoroutes (lignes oranges/jaunes) -->
<g fill="none" opacity="0.55" stroke="#FFCB05" stroke-linecap="round" stroke-width="3.5">
<!-- A1 nord (vers CDG) -->
<path d="M 400 350 Q 410 250, 420 150" stroke-dasharray="0"></path>
<!-- A4 est (vers MLV/Strasbourg) -->
<path d="M 400 350 Q 530 340, 660 340" stroke-dasharray="0"></path>
<!-- A6 sud (vers Orly) -->
<path d="M 400 350 Q 380 430, 360 510" stroke-dasharray="0"></path>
<!-- A13 ouest (vers Versailles) -->
<path d="M 400 350 Q 290 380, 180 430" stroke-dasharray="0"></path>
<!-- A104 (Francilienne) -->
<path d="M 480 180 Q 620 230, 700 350 Q 640 470, 500 500" opacity="0.4" stroke-dasharray="6 4" stroke-width="2"></path>
</g>
<!-- Labels routes -->
<g fill="#9C7E26" font-size="10" font-weight="700" opacity="0.65">
<text transform="rotate(-12 430 210)" x="430" y="210">A1</text>
<text transform="rotate(-3 540 328)" x="540" y="328">A4</text>
<text transform="rotate(85 375 475)" x="375" y="475">A6</text>
<text transform="rotate(20 260 395)" x="260" y="395">A13</text>
</g>
<!-- PARIS (zone urbaine grise stylisée) -->
<g>
<ellipse cx="400" cy="350" fill="#5A6A7D" opacity="0.18" rx="65" ry="42"></ellipse>
<ellipse cx="400" cy="350" fill="#5A6A7D" opacity="0.25" rx="42" ry="28"></ellipse>
<text fill="#1A2A3F" font-size="15" font-style="italic" font-weight="800" opacity="0.85" text-anchor="middle" x="400" y="355">PARIS</text>
</g>
<!-- HUB Marne-la-Vallée (cœur de la carte) -->
<g>
<circle cx="660" cy="340" fill="url(#hubGrad)" r="70"></circle>
<circle cx="660" cy="340" fill="#003C7E" filter="url(#zmShadow)" r="38"></circle>
<circle cx="660" cy="340" fill="none" r="38" stroke="#FFCB05" stroke-width="2"></circle>
<text fill="#FFCB05" font-size="11" font-weight="800" text-anchor="middle" x="660" y="335">MARNE</text>
<text fill="#FFCB05" font-size="9" font-weight="700" text-anchor="middle" x="660" y="350">la-Vallée</text>
<!-- Petit indicateur "vous êtes ici" -->
<text fill="#003C7E" font-size="9" font-weight="700" opacity="0.8" text-anchor="middle" x="660" y="295">📍 Notre base</text>
</g>
<!-- ═══ POIs avec pins illustrés et étiquettes ═══ -->
<!-- DISNEYLAND PARIS (très proche, sud-est de MLV) -->
<g>
<circle cx="720" cy="370" fill="#FFCB05" filter="url(#zmShadow)" r="11"></circle>
<text font-size="13" text-anchor="middle" x="720" y="375">🏰</text>
<g transform="translate(740 372)">
<rect fill="#FFFFFF" height="36" rx="6" stroke="#E1E6ED" stroke-width="1" width="124" x="0" y="-14"></rect>
<text fill="#003C7E" font-size="11" font-weight="800" x="8" y="0">Disneyland Paris</text>
<text fill="#5A6A7D" font-size="9.5" font-weight="500" x="8" y="14">5 min · à partir de 30 €</text>
</g>
</g>
<!-- CDG ROISSY (nord-est) -->
<g>
<circle cx="500" cy="170" fill="#FFCB05" filter="url(#zmShadow)" r="11"></circle>
<text font-size="13" text-anchor="middle" x="500" y="175">✈️</text>
<g transform="translate(520 172)">
<rect fill="#FFFFFF" height="36" rx="6" stroke="#E1E6ED" stroke-width="1" width="108" x="0" y="-14"></rect>
<text fill="#003C7E" font-size="11" font-weight="800" x="8" y="0">CDG Roissy</text>
<text fill="#5A6A7D" font-size="9.5" font-weight="500" x="8" y="14">45 min · 104 €</text>
</g>
</g>
<!-- PARC ASTÉRIX (nord) -->
<g>
<circle cx="420" cy="105" fill="#FFCB05" filter="url(#zmShadow)" r="10"></circle>
<text font-size="12" text-anchor="middle" x="420" y="110">🎢</text>
<g transform="translate(440 107)">
<rect fill="#FFFFFF" height="36" rx="6" stroke="#E1E6ED" stroke-width="1" width="108" x="0" y="-14"></rect>
<text fill="#003C7E" font-size="11" font-weight="800" x="8" y="0">Parc Astérix</text>
<text fill="#5A6A7D" font-size="9.5" font-weight="500" x="8" y="14">1h · 188 €</text>
</g>
</g>
<!-- PARIS centre (Tour Eiffel) -->
<g>
<circle cx="380" cy="340" fill="#FFCB05" filter="url(#zmShadow)" r="10"></circle>
<text font-size="11" text-anchor="middle" x="380" y="345">🗼</text>
<g transform="translate(220 345)">
<rect fill="#FFFFFF" height="36" rx="6" stroke="#E1E6ED" stroke-width="1" width="118" x="0" y="-14"></rect>
<text fill="#003C7E" font-size="11" font-weight="800" x="8" y="0">Paris centre</text>
<text fill="#5A6A7D" font-size="9.5" font-weight="500" x="8" y="14">50 min · 110 €</text>
</g>
</g>
<!-- ORLY (sud) -->
<g>
<circle cx="370" cy="510" fill="#FFCB05" filter="url(#zmShadow)" r="11"></circle>
<text font-size="13" text-anchor="middle" x="370" y="515">✈️</text>
<g transform="translate(390 512)">
<rect fill="#FFFFFF" height="36" rx="6" stroke="#E1E6ED" stroke-width="1" width="108" x="0" y="-14"></rect>
<text fill="#003C7E" font-size="11" font-weight="800" x="8" y="0">Paris-Orly</text>
<text fill="#5A6A7D" font-size="9.5" font-weight="500" x="8" y="14">55 min · 135 €</text>
</g>
</g>
<!-- VERSAILLES (sud-ouest) -->
<g>
<circle cx="180" cy="430" fill="#FFCB05" filter="url(#zmShadow)" r="10"></circle>
<text font-size="11" text-anchor="middle" x="180" y="435">🏛️</text>
<g transform="translate(40 460)">
<rect fill="#FFFFFF" height="36" rx="6" stroke="#E1E6ED" stroke-width="1" width="108" x="0" y="-14"></rect>
<text fill="#003C7E" font-size="11" font-weight="800" x="8" y="0">Versailles</text>
<text fill="#5A6A7D" font-size="9.5" font-weight="500" x="8" y="14">1h15 · 148 €</text>
</g>
</g>
<!-- VAL D'EUROPE (juste à côté de MLV) -->
<g>
<circle cx="710" cy="320" fill="#003C7E" r="8"></circle>
<g transform="translate(640 270)">
<rect fill="#FFFFFF" height="36" rx="6" stroke="#E1E6ED" stroke-width="1" width="118" x="0" y="-14"></rect>
<text fill="#003C7E" font-size="11" font-weight="800" x="8" y="0">Val d'Europe</text>
<text fill="#5A6A7D" font-size="9.5" font-weight="500" x="8" y="14">10 min · 30 €</text>
</g>
</g>
<!-- CHESSY TGV (juste à côté de MLV) -->
<g>
<circle cx="675" cy="295" fill="#003C7E" r="7"></circle>
<text font-size="9" text-anchor="middle" x="675" y="300">🚆</text>
<g transform="translate(710 220)">
<rect fill="#FFFFFF" height="36" rx="6" stroke="#E1E6ED" stroke-width="1" width="118" x="0" y="-14"></rect>
<text fill="#003C7E" font-size="11" font-weight="800" x="8" y="0">Chessy TGV</text>
<text fill="#5A6A7D" font-size="9.5" font-weight="500" x="8" y="14">5 min · 30 €</text>
</g>
</g>
<!-- BRUXELLES indicateur (hors carte, longue distance) -->
<g opacity="0.85">
<path d="M 720 200 L 830 100" opacity="0.5" stroke="#003C7E" stroke-dasharray="3 3" stroke-width="1.5"></path>
<g transform="translate(795 80)">
<rect fill="#FFFFFF" height="36" rx="6" stroke="#E1E6ED" stroke-width="1" width="100" x="0" y="-14"></rect>
<text fill="#003C7E" font-size="11" font-weight="800" x="8" y="0">→ Bruxelles</text>
<text fill="#5A6A7D" font-size="9.5" font-weight="500" x="8" y="14">~3h · devis</text>
</g>
</g>
<!-- Rose des vents (coin haut gauche) -->
<g opacity="0.55" transform="translate(70 90)">
<circle fill="#FFFFFF" r="22" stroke="#003C7E" stroke-width="1"></circle>
<path d="M 0 -18 L 4 0 L 0 4 L -4 0 Z" fill="#003C7E"></path>
<path d="M 0 18 L 4 0 L 0 -4 L -4 0 Z" fill="#CDD5E0"></path>
<text fill="#003C7E" font-size="10" font-weight="800" text-anchor="middle" y="-25">N</text>
</g>
<!-- Légende échelle (coin bas droit) -->
<g opacity="0.65" transform="translate(740 555)">
<line stroke="#003C7E" stroke-width="2" x1="0" x2="80" y1="0" y2="0"></line>
<line stroke="#003C7E" stroke-width="2" x1="0" x2="0" y1="-4" y2="4"></line>
<line stroke="#003C7E" stroke-width="2" x1="40" x2="40" y1="-4" y2="4"></line>
<line stroke="#003C7E" stroke-width="2" x1="80" x2="80" y1="-4" y2="4"></line>
<text fill="#003C7E" font-size="9" font-weight="700" text-anchor="middle" x="40" y="20">10 km</text>
</g>
</svg>
</div>
<p class="zone-map-note">Tarifs indicatifs au taximètre · Suivi de vol gratuit pour les aéroports · Devis immédiat pour longue distance</p>
</div>
</section>
<!-- ═══ -->
<section class="villes-section" id="villes">
<div class="container">
<div class="section-header">
<span class="eyebrow">Zone d'intervention</span>
<h2>48 communes desservies 24h/24</h2>
<p>Cliquez sur votre commune pour les tarifs détaillés depuis chez vous.</p>
</div>
<details class="zone-group" open="">
<summary><span class="zg-title">⭐ Val d'Europe — Secteur principal</span><span class="zg-count">10 communes</span></summary>
<div class="cities-grid">
<a class="city-link" href="/villes/taxi-a-serris/"><span>Serris — <strong>Val d'Europe</strong></span><span class="cp">77700</span></a>
<a class="city-link" href="/villes/taxi-a-chessy/"><span>Chessy — Disneyland</span><span class="cp">77700</span></a>
<a class="city-link" href="/villes/taxi-a-bailly-romainvilliers/"><span>Bailly-Romainvilliers</span><span class="cp">77700</span></a>
<a class="city-link" href="/villes/taxi-a-magny-le-hongre/"><span>Magny-le-Hongre</span><span class="cp">77700</span></a>
<a class="city-link" href="/villes/taxi-a-coupvray/"><span>Coupvray</span><span class="cp">77700</span></a>
<a class="city-link" href="/villes/taxi-a-esbly/"><span>Esbly</span><span class="cp">77450</span></a>
<a class="city-link" href="/villes/taxi-a-montry/"><span>Montry</span><span class="cp">77450</span></a>
<a class="city-link" href="/villes/taxi-a-saint-germain-sur-morin/"><span>Saint-Germain-sur-Morin</span><span class="cp">77860</span></a>
<a class="city-link" href="/villes/taxi-a-villeneuve-saint-denis/"><span>Villeneuve-Saint-Denis</span><span class="cp">77174</span></a>
<a class="city-link" href="/villes/taxi-a-villeneuve-le-comte/"><span>Villeneuve-le-Comte</span><span class="cp">77174</span></a>
</div>
</details>
<details class="zone-group">
<summary><span class="zg-title">🆕 Pays de Meaux — Nord Seine-et-Marne</span><span class="zg-count">1 ville + bassin</span></summary>
<div class="cities-grid">
<a class="city-link" href="/villes/taxi-a-meaux/"><span>Meaux — <strong>sous-préfecture</strong></span><span class="cp">77100</span></a>
</div>
<p style="padding:.4rem .2rem 0;font-size:.82rem;color:var(--text-soft)">Dessert aussi Nanteuil-lès-Meaux, Mareuil-lès-Meaux, Villenoy, Crégy-lès-Meaux, Trilport et tout le Pays de Meaux.</p>
</details>
<details class="zone-group">
<summary><span class="zg-title">Val de Bussy</span><span class="zg-count">12 communes</span></summary>
<div class="cities-grid">
<a class="city-link" href="/villes/taxi-a-bussy-saint-georges/"><span>Bussy-Saint-Georges</span><span class="cp">77600</span></a>
<a class="city-link" href="/villes/taxi-a-bussy-saint-martin/"><span>Bussy-Saint-Martin</span><span class="cp">77600</span></a>
<a class="city-link" href="/villes/taxi-a-chanteloup-en-brie/"><span>Chanteloup-en-Brie</span><span class="cp">77600</span></a>
<a class="city-link" href="/villes/taxi-a-collegien/"><span>Collégien</span><span class="cp">77090</span></a>
<a class="city-link" href="/villes/taxi-a-conches-sur-gondoire/"><span>Conches-sur-Gondoire</span><span class="cp">77600</span></a>
<a class="city-link" href="/villes/taxi-a-ferrieres-en-brie/"><span>Ferrières-en-Brie</span><span class="cp">77164</span></a>
<a class="city-link" href="/villes/taxi-a-guermantes/"><span>Guermantes</span><span class="cp">77600</span></a>
<a class="city-link" href="/villes/taxi-a-jossigny/"><span>Jossigny</span><span class="cp">77600</span></a>
<a class="city-link" href="/villes/taxi-a-lagny-sur-marne/"><span>Lagny-sur-Marne</span><span class="cp">77400</span></a>
<a class="city-link" href="/villes/taxi-a-montevrain/"><span>Montévrain</span><span class="cp">77144</span></a>
<a class="city-link" href="/villes/taxi-a-saint-thibault-des-vignes/"><span>Saint-Thibault-des-Vignes</span><span class="cp">77400</span></a>
<a class="city-link" href="/villes/taxi-a-gouvernes/"><span>Gouvernes</span><span class="cp">77400</span></a>
</div>
</details>
<details class="zone-group">
<summary><span class="zg-title">Val Maubuée</span><span class="zg-count">6 communes</span></summary>
<div class="cities-grid">
<a class="city-link" href="/villes/taxi-a-champs-sur-marne/"><span>Champs-sur-Marne</span><span class="cp">77420</span></a>
<a class="city-link" href="/villes/taxi-a-croissy-beaubourg/"><span>Croissy-Beaubourg</span><span class="cp">77183</span></a>
<a class="city-link" href="/villes/taxi-a-lognes/"><span>Lognes</span><span class="cp">77185</span></a>
<a class="city-link" href="/villes/taxi-a-noisiel/"><span>Noisiel</span><span class="cp">77186</span></a>
<a class="city-link" href="/villes/taxi-a-torcy/"><span>Torcy</span><span class="cp">77200</span></a>
<a class="city-link" href="/villes/taxi-a-emerainville/"><span>Émerainville</span><span class="cp">77184</span></a>
</div>
</details>
<details class="zone-group">
<summary><span class="zg-title">Bords de Marne</span><span class="zg-count">7 communes</span></summary>
<div class="cities-grid">
<a class="city-link" href="/villes/taxi-a-annet-sur-marne/"><span>Annet-sur-Marne</span><span class="cp">77410</span></a>
<a class="city-link" href="/villes/taxi-a-carnetin/"><span>Carnetin</span><span class="cp">77400</span></a>
<a class="city-link" href="/villes/taxi-a-chalifert/"><span>Chalifert</span><span class="cp">77144</span></a>
<a class="city-link" href="/villes/taxi-a-dampmart/"><span>Dampmart</span><span class="cp">77400</span></a>
<a class="city-link" href="/villes/taxi-a-pomponne/"><span>Pomponne</span><span class="cp">77400</span></a>
<a class="city-link" href="/villes/taxi-a-thorigny-sur-marne/"><span>Thorigny-sur-Marne</span><span class="cp">77400</span></a>
<a class="city-link" href="/villes/taxi-a-vaires-sur-marne/"><span>Vaires-sur-Marne</span><span class="cp">77360</span></a>
</div>
</details>
<details class="zone-group">
<summary><span class="zg-title">Marne & Chantereine / Plaine de France / Sud</span><span class="zg-count">9 communes</span></summary>
<div class="cities-grid">
<a class="city-link" href="/villes/taxi-a-brou-sur-chantereine/"><span>Brou-sur-Chantereine</span><span class="cp">77177</span></a>
<a class="city-link" href="/villes/taxi-a-chelles/"><span>Chelles</span><span class="cp">77500</span></a>
<a class="city-link" href="/villes/taxi-a-courtry/"><span>Courtry</span><span class="cp">77181</span></a>
<a class="city-link" href="/villes/taxi-a-claye-souilly/"><span>Claye-Souilly</span><span class="cp">77410</span></a>
<a class="city-link" href="/villes/taxi-a-mitry-mory/"><span>Mitry-Mory</span><span class="cp">77290</span></a>
<a class="city-link" href="/villes/taxi-a-villeparisis/"><span>Villeparisis</span><span class="cp">77270</span></a>
<a class="city-link" href="/villes/taxi-a-ozoir-la-ferriere/"><span>Ozoir-la-Ferrière</span><span class="cp">77330</span></a>
<a class="city-link" href="/villes/taxi-a-pontault-combault/"><span>Pontault-Combault</span><span class="cp">77340</span></a>
<a class="city-link" href="/villes/taxi-a-roissy-en-brie/"><span>Roissy-en-Brie</span><span class="cp">77680</span></a>
</div>
</details>
<p style="text-align:center;margin-top:2rem;color:var(--text-soft);font-size:.88rem">Votre commune absente ? Nous desservons <strong>Paris, toute l'Île-de-France, la France et l'Europe</strong>. <a href="tel:+33750535658" style="color:var(--gold-dark);font-weight:700">Appelez le 07 50 53 56 58</a>.</p>
</div>
</section>
<!-- ═══ Comparatif Taxi vs VTC ═══ -->
<section aria-label="Pourquoi choisir un taxi plutôt qu'un VTC" class="compare-section">
<div class="container">
<div class="section-header">
<span class="eyebrow">Taxi ou VTC ?</span>
<h2>Le vrai taxi a des avantages que les apps n'ont pas</h2>
<p>Comparatif transparent entre notre service taxi officiel et les applications VTC (Uber, Bolt, Heetch).</p>
</div>
<div class="compare-table" role="table">
<div class="compare-head" role="row">
<div class="cc-feature" role="columnheader">Critère</div>
<div class="cc-us cc-best" role="columnheader">
<div class="cc-brand">Taxi Marne-la-Vallée</div>
<div class="cc-tag">Recommandé</div>
</div>
<div class="cc-vtc" role="columnheader">
<div class="cc-brand">VTC / Uber / Bolt</div>
</div>
</div>
<div class="compare-row" role="row">
<div class="cc-feature" role="cell">Tarif réglementé</div>
<div class="cc-us" role="cell"><span class="cc-yes">✓</span><span class="cc-detail">Tarif encadré par la Préfecture · jamais de surge pricing</span></div>
<div class="cc-vtc" role="cell"><span class="cc-no">✗</span><span class="cc-detail">Prix × 2 ou × 3 en heure de pointe</span></div>
</div>
<div class="compare-row" role="row">
<div class="cc-feature" role="cell">Voie de bus autorisée</div>
<div class="cc-us" role="cell"><span class="cc-yes">✓</span><span class="cc-detail">Trajets plus rapides aux heures de pointe</span></div>
<div class="cc-vtc" role="cell"><span class="cc-no">✗</span><span class="cc-detail">Bloqués dans le trafic</span></div>
</div>
<div class="compare-row" role="row">
<div class="cc-feature" role="cell">Tarification</div>
<div class="cc-us" role="cell"><span class="cc-yes">✓</span><span class="cc-detail">Compteur réglementé · estimation indicative donnée à l'avance</span></div>
<div class="cc-vtc" role="cell"><span class="cc-no">✗</span><span class="cc-detail">Prix variable selon demande (surge ×2 ou ×3)</span></div>
</div>
<div class="compare-row" role="row">
<div class="cc-feature" role="cell">Chauffeur agréé Préfecture</div>
<div class="cc-us" role="cell"><span class="cc-yes">✓</span><span class="cc-detail">Carte professionnelle obligatoire</span></div>
<div class="cc-vtc" role="cell"><span class="cc-partial">~</span><span class="cc-detail">Statut indépendant variable</span></div>
</div>
<div class="compare-row" role="row">
<div class="cc-feature" role="cell">Connaissance du terrain</div>
<div class="cc-us" role="cell"><span class="cc-yes">✓</span><span class="cc-detail">Examen taxi local · années d'expérience</span></div>
<div class="cc-vtc" role="cell"><span class="cc-partial">~</span><span class="cc-detail">Dépend du GPS</span></div>
</div>
<div class="compare-row" role="row">
<div class="cc-feature" role="cell">Sièges enfants gratuits</div>
<div class="cc-us" role="cell"><span class="cc-yes">✓</span><span class="cc-detail">Bébé · auto · rehausseur fournis</span></div>
<div class="cc-vtc" role="cell"><span class="cc-no">✗</span><span class="cc-detail">À apporter soi-même</span></div>
</div>
<div class="compare-row" role="row">
<div class="cc-feature" role="cell">Paiement à bord</div>
<div class="cc-us" role="cell"><span class="cc-yes">✓</span><span class="cc-detail">Espèces ou carte bancaire · reçu fourni</span></div>
<div class="cc-vtc" role="cell"><span class="cc-no">✗</span><span class="cc-detail">Carte uniquement, prélèvement auto</span></div>
</div>
<div class="compare-row" role="row">
<div class="cc-feature" role="cell">Suivi de vol gratuit</div>
<div class="cc-us" role="cell"><span class="cc-yes">✓</span><span class="cc-detail">Attente offerte si vol retardé</span></div>
<div class="cc-vtc" role="cell"><span class="cc-no">✗</span><span class="cc-detail">Annulation auto si retard > 5 min</span></div>
</div>
</div>
<p class="compare-note">Le tarif d'un taxi officiel est <strong>encadré par la Préfecture</strong>. À distance égale et en heure de pointe, un taxi est souvent moins cher qu'un VTC en surge pricing.</p>
</div>
<p style="text-align:center;margin-top:1.5rem"><a href="/blog/taxi-ou-uber-prix-comparatif/" style="color:var(--gold-dark);font-weight:700">📊 Lire le comparatif complet Taxi vs Uber : prix, surge, voie de bus →</a></p>
</section>
<!-- ═══ -->
<section class="faq-section">
<div class="container-narrow">
<div class="section-header">
<span class="eyebrow">FAQ</span>
<h2>Questions fréquentes</h2>
</div>
<details class="faq-item" open="">
<summary>Quel est le tarif du taxi à Val d'Europe vers Disneyland Paris ?</summary>
<div class="answer">Notre service est basé à <strong>Serris</strong>, à proximité du Val d'Europe, avec <strong>plus de 30 chauffeurs professionnels</strong> agréés préfecture 77. Le tarif de prise en charge est <strong>à partir de 30 €</strong>, applicable depuis Chessy, Serris, Bailly-Romainvilliers, Magny-le-Hongre et tout le secteur Val d'Europe. Service 24h/24, sièges enfants gratuits, suivi de vol inclus. Le compteur homologué (2,63 €/km) fait foi.</div>
</details>
<details class="faq-item">
<summary>Combien coûte un taxi de l'aéroport CDG à Disneyland Paris ?</summary>
<div class="answer"><span class="tarif-aeroport">Tarif indicatif : <strong>104 €</strong></span> depuis Roissy-Charles-de-Gaulle vers Disneyland Paris et les hôtels Disney, bagages inclus et suivi de vol gratuit. Le trajet dure environ <strong>45 minutes</strong> depuis le Terminal 2, hors heures de pointe. Il s'agit d'une estimation : le tarif final est celui du taximètre homologué.</div>
</details>
<details class="faq-item">
<summary>Combien coûte un taxi d'Orly à Disneyland Paris ?</summary>
<div class="answer"><span class="tarif-aeroport">Tarif indicatif : <strong>135 €</strong></span> depuis Paris-Orly (Orly 1, 2, 3 et 4) vers Disneyland Paris, Chessy ou Val d'Europe. Comptez environ <strong>1 h de trajet</strong> selon le trafic sur l'A86 et la Francilienne. Suivi de vol gratuit, accueil avec pancarte nominative. Tarif indicatif au taximètre homologué.</div>
</details>
<details class="faq-item">
<summary>Combien coûte un taxi de Beauvais à Disneyland Paris ?</summary>
<div class="answer"><span class="tarif-aeroport">Tarif indicatif : <strong>288 €</strong></span> depuis Beauvais-Tillé (BVA) vers Disneyland Paris, soit environ <strong>1 h 45 de route</strong> pour 135 km. La prise en charge à Beauvais se fait <strong>uniquement sur réservation préalable</strong>, l'aéroport étant hors de notre zone de stationnement. Idéal après un vol Ryanair ou Wizz Air tardif, quand la navette officielle ne circule plus.</div>
</details>
<details class="faq-item">
<summary>Combien de temps dure le trajet CDG → Disneyland le matin ?</summary>
<div class="answer">En heure creuse, comptez <strong>40 à 45 minutes</strong> par la A104 (Francilienne). Aux heures de pointe du matin (7 h - 9 h 30), prévoyez plutôt <strong>55 à 75 minutes</strong>. Nos chauffeurs sont autorisés à emprunter la <strong>voie réservée aux taxis</strong> sur l'A1 et sur certains axes franciliens, ce qui fait gagner un temps réel par rapport à un VTC les jours de forte circulation.</div>
</details>
<details class="faq-item">
<summary>Y a-t-il un supplément la nuit, le dimanche ou les jours fériés ?</summary>
<div class="answer">Il n'y a <strong>aucun supplément commercial de notre part</strong>. Le taximètre bascule automatiquement sur le <strong>tarif de nuit, dimanche et jours fériés fixé par arrêté préfectoral</strong> (Seine-et-Marne, préfecture 77), identique pour tous les taxis du département. Contrairement aux VTC, <strong>il n'y a jamais de tarification dynamique</strong> : pas de surge x2 ou x3 un soir de feu d'artifice ou de départ en vacances.</div>
</details>
<details class="faq-item">
<summary>Que se passe-t-il si mon vol est retardé de 2 ou 3 heures ?</summary>
<div class="answer">Rien à faire de votre côté : le <strong>suivi de vol est gratuit et automatique</strong>. Nous surveillons votre numéro de vol en temps réel et le chauffeur ajuste son heure d'arrivée sur l'atterrissage réel. <strong>Aucun frais d'attente n'est facturé pour un retard avion</strong>. En cas de vol dérouté ou annulé, un simple message WhatsApp au <strong>07 50 53 56 58</strong> suffit pour replanifier ou annuler sans frais.</div>
</details>
<details class="faq-item">
<summary>Comment fonctionne le simulateur de prix ?</summary>
<div class="answer">Notre simulateur calcule automatiquement la distance via Google Maps et applique notre grille tarifaire : <strong>à partir de 30 €</strong>, puis selon la distance, arrondi à la dizaine supérieure. C'est un <strong>prix indicatif</strong> — le compteur homologué fait foi. Aucune inscription ni carte bancaire n'est demandée pour obtenir une estimation.</div>
</details>
<details class="faq-item">
<summary>Les bagages et sièges enfants sont-ils inclus ?</summary>
<div class="answer">Oui, <strong>bagages et sièges enfants sont gratuits</strong>, sans supplément. Siège bébé (0-13 kg), siège auto (9-18 kg) et rehausseur (15-36 kg) sont disponibles. Indiquez simplement l'âge de vos enfants à la réservation pour que le chauffeur embarque le bon équipement. Poussettes, valises Disney et sacs de golf sont acceptés.</div>
</details>
<details class="faq-item">
<summary>Puis-je voyager avec un bébé de moins d'un an ?</summary>
<div class="answer">Oui. Nous fournissons gratuitement un <strong>siège bébé homologué groupe 0+ (0 à 13 kg)</strong>, dos à la route, installé par le chauffeur avant votre arrivée. Précisez l'âge et le poids de l'enfant lors de la réservation, au moins quelques heures à l'avance. Vous pouvez aussi utiliser votre propre coque : le chauffeur vous aide à la fixer.</div>
</details>
<details class="faq-item">
<summary>Combien de passagers et de valises entrent dans un taxi 7 places ?</summary>
<div class="answer">Notre <strong>Mercedes Classe V</strong> accueille <strong>5 à 7 passagers</strong> avec <strong>7 valises grande taille</strong>, climatisation 3 zones et Wi-Fi à bord. Pour 1 à 4 passagers avec 3 à 4 valises, la <strong>Peugeot 508</strong> berline suffit. Au-delà de 7 personnes, nous envoyons plusieurs véhicules coordonnés qui arrivent ensemble — pratique pour les groupes et séminaires au Val d'Europe.</div>
</details>
<details class="faq-item">
<summary>Comment puis-je payer ? Acceptez-vous la carte bancaire ?</summary>
<div class="answer">Le paiement se fait <strong>à bord, en fin de course</strong> : <strong>espèces ou carte bancaire</strong> (Visa, Mastercard, sans contact). Un <strong>reçu est systématiquement fourni</strong>, et une facture détaillée est disponible sur demande pour vos notes de frais ou votre entreprise. Aucun paiement en ligne n'est exigé au moment de la réservation.</div>
</details>
<details class="faq-item">
<summary>Puis-je payer en dollars, livres sterling ou autre devise ?</summary>
<div class="answer">Les courses sont réglées <strong>en euros</strong>, monnaie légale en France. Si vous arrivez de l'étranger sans euros, le plus simple est de <strong>payer par carte bancaire</strong> dans le véhicule : votre banque applique alors son propre taux de change, généralement bien plus avantageux que les bureaux de change des aéroports. Les cartes étrangères Visa et Mastercard sont acceptées sans supplément.</div>
</details>
<details class="faq-item">
<summary>Faut-il verser un acompte ? Puis-je annuler ma réservation ?</summary>
<div class="answer"><strong>Aucun acompte n'est demandé</strong> et <strong>l'annulation est libre et gratuite</strong>. Vous ne payez qu'à l'arrivée, une fois la course effectuée. Prévenez-nous par téléphone ou WhatsApp dès que possible en cas de changement de programme, afin que nous puissions réaffecter le chauffeur.</div>
</details>
<details class="faq-item">
<summary>Où le chauffeur m'attend-il à l'aéroport CDG ou Orly ?</summary>
<div class="answer">Nous proposons un <strong>accueil meet & greet gratuit</strong> : le chauffeur vous attend <strong>dans le hall d'arrivée, à la sortie de la zone bagages, avec une pancarte à votre nom</strong>. Vous recevez son prénom et son numéro par SMS ou WhatsApp dès qu'il est sur place. Aucun frais de parking ni de stationnement ne vous est refacturé.</div>
</details>
<details class="faq-item">
<summary>Combien de temps à l'avance faut-il réserver ?</summary>
<div class="answer">Pour un départ depuis Marne-la-Vallée ou Val d'Europe, une <strong>réservation le jour même</strong> est généralement possible, y compris en pleine nuit. Pour un transfert aéroport tôt le matin, un véhicule 7 places ou un trajet longue distance, réservez <strong>la veille</strong> si possible. La réservation programmée accepte les courses jusqu'à <strong>7 jours à l'avance</strong>.</div>
</details>
<details class="faq-item">
<summary>Taxi ou Uber / VTC pour Disneyland : quelle différence ?</summary>
<div class="answer">Trois différences concrètes. <strong>1)</strong> Le taxi applique un <strong>tarif réglementé par la préfecture</strong> : pas de tarification dynamique, donc pas de prix multiplié un soir de forte demande. <strong>2)</strong> Le taxi est autorisé sur les <strong>voies réservées</strong> des autoroutes franciliennes, ce qui réduit réellement le temps de trajet aux heures de pointe. <strong>3)</strong> Le <strong>stationnement en station officielle</strong> à la gare de Chessy et aux aéroports permet une prise en charge immédiate, sans point de rendez-vous à négocier.</div>
</details>
<details class="faq-item">
<summary>Taxi, RER A ou navette Magical Shuttle : que choisir ?</summary>
<div class="answer">Le <strong>RER A</strong> est le plus économique depuis Paris (~10 €) mais impose changements, escaliers et valises, et s'arrête vers minuit. La <strong>navette Magical Shuttle</strong> dessert CDG et Orly à prix modéré, mais avec horaires fixes, arrêts multiples dans plusieurs hôtels et attente possible. Le <strong>taxi</strong> est porte-à-porte, disponible 24h/24, sans changement ni attente — le choix pertinent <strong>avec des enfants, des bagages lourds, un vol de nuit ou à partir de 3 personnes</strong>, où l'écart de prix par passager devient faible.</div>
</details>
<details class="faq-item">
<summary>Desservez-vous les hôtels Disney (Newport Bay, Sequoia Lodge…) ?</summary>
<div class="answer">Oui, nous desservons <strong>tous les hôtels du resort et partenaires</strong> : Disneyland Hotel, Disney Hotel New York — The Art of Marvel, Newport Bay Club, Sequoia Lodge, Hotel Cheyenne, Hotel Santa Fe, Davy Crockett Ranch, ainsi que Explorers, Dream Castle, Magic Circus, B&B, Radisson Blu, Marriott's Village d'Île-de-France et les hôtels du Val d'Europe. Dépose directement devant l'entrée de l'hôtel.</div>
</details>
<details class="faq-item">
<summary>Proposez-vous un taxi accessible PMR ou fauteuil roulant ?</summary>
<div class="answer">Oui. Notre <strong>Mercedes Classe V est accessible PMR</strong> avec accès surbaissé et espace suffisant pour un fauteuil pliant. Le chauffeur assiste au transfert et au chargement du fauteuil. Merci de <strong>préciser le type de fauteuil (pliant ou électrique) à la réservation</strong> afin que nous affections le véhicule adapté. Nous assurons également des transports médicaux vers les établissements de Marne-la-Vallée.</div>
</details>
<details class="faq-item">
<summary>Le pourboire est-il obligatoire en taxi en France ?</summary>
<div class="answer">Non, <strong>le pourboire n'est jamais obligatoire en France</strong> : le prix affiché au taximètre est le prix complet, service compris. Il reste un geste apprécié mais totalement libre — en pratique, les clients arrondissent souvent à l'euro supérieur ou laissent 5 à 10 % lorsqu'ils sont satisfaits, notamment en cas d'aide pour des bagages lourds.</div>
</details>
<details class="faq-item">
<summary>Do you speak English? How to book an airport transfer?</summary>
<div class="answer">Yes, our drivers speak English. Call or WhatsApp <strong>+33 7 50 53 56 58</strong>, 24/7. Free <strong>meet & greet at CDG, Orly and Beauvais</strong> with a name board in the arrivals hall, and free flight tracking if your plane is delayed. Payment by cash or card in the vehicle, <strong>no deposit required</strong>, free cancellation. Indicative fares: CDG 104 €, Orly 135 €, Beauvais 288 €.</div>
</details>
<details class="faq-item">
<summary>Proposez-vous des trajets longue distance depuis Marne-la-Vallée ?</summary>
<div class="answer">Oui : <strong>Bruxelles, Amsterdam, Luxembourg, Genève, Francfort, Londres</strong> et toute la France (Lyon, Lille, Reims, Strasbourg…). Véhicule berline ou 7 places, chauffeur unique sur tout le trajet, pauses incluses. <strong>Devis immédiat par téléphone ou WhatsApp</strong> au 07 50 53 56 58.</div>
</details>
</div>
</section>
<!-- ═══ -->
<section class="avis-section">
<div class="container">
<div class="section-header">
<span class="eyebrow">Avis clients</span>
<h2>Ce que disent nos passagers</h2>
<p>247 avis vérifiés · Note moyenne 4,9/5 sur Google</p>
</div>
<div class="avis-grid">
<div class="avis-card">
<div class="avis-stars">★★★★★</div>
<p class="avis-text">« Chauffeur très ponctuel pour notre transfert à 4h du matin vers CDG. Véhicule impeccable, climatisation parfaite. Je recommande sans hésiter pour les vols tôt le matin. »</p>
<div class="avis-footer">
<div class="avis-avatar">SL</div>
<div class="avis-meta">
<span class="avis-name">Sophie L.</span>
<span class="avis-ville">Lagny-sur-Marne</span>
</div>
<div class="avis-source">
<svg fill="currentColor" viewbox="0 0 24 24"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"></path><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"></path><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l3.66-2.84z" fill="#FBBC05"></path><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"></path></svg>
Google
</div>
</div>
</div>
<div class="avis-card">
<div class="avis-stars">★★★★★</div>
<p class="avis-text">« Excellent service pour notre famille de 5 avec beaucoup de bagages. Arrivée à Disneyland Paris en 20 minutes. Sièges enfants installés à l'avance, très professionnel. »</p>
<div class="avis-footer">
<div class="avis-avatar">FM</div>
<div class="avis-meta">
<span class="avis-name">Famille Martin</span>
<span class="avis-ville">Bussy-Saint-Georges</span>
</div>
<div class="avis-source">
<svg fill="currentColor" viewbox="0 0 24 24"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"></path><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"></path><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l3.66-2.84z" fill="#FBBC05"></path><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"></path></svg>
Google
</div>
</div>
</div>
<div class="avis-card">
<div class="avis-stars">★★★★★</div>
<p class="avis-text">« Trajet Torcy → Orly impeccable. Le chauffeur a suivi mon vol en retard et était là à mon arrivée sans supplément. Compteur homologué, reçu fourni. Merci ! »</p>
<div class="avis-footer">
<div class="avis-avatar">KD</div>
<div class="avis-meta">
<span class="avis-name">Karim D.</span>
<span class="avis-ville">Torcy</span>
</div>
<div class="avis-source">
<svg fill="currentColor" viewbox="0 0 24 24"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"></path><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"></path><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l3.66-2.84z" fill="#FBBC05"></path><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"></path></svg>
Google
</div>
</div>
</div>
<div class="avis-card">
<div class="avis-stars">★★★★★</div>
<p class="avis-text">« Nous avons utilisé ce taxi pour aller à Versailles depuis Chessy. Chauffeur courtois, voiture propre, tarif raisonnable au compteur. Très bonne expérience, on rappellera ! »</p>
<div class="avis-footer">
<div class="avis-avatar">AB</div>
<div class="avis-meta">
<span class="avis-name">Anne-Claire B.</span>
<span class="avis-ville">Chessy</span>
</div>
<div class="avis-source">
<svg fill="currentColor" viewbox="0 0 24 24"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"></path><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"></path><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l3.66-2.84z" fill="#FBBC05"></path><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"></path></svg>
Google
</div>
</div>
</div>
<div class="avis-card">
<div class="avis-stars">★★★★★</div>
<p class="avis-text">« Perfect transfer from CDG to our hotel near Disneyland. Driver was waiting with a sign, helped with all our luggage. Very clean Mercedes, very professional. Will book again! »</p>
<div class="avis-footer">
<div class="avis-avatar">JW</div>
<div class="avis-meta">
<span class="avis-name">James W.</span>
<span class="avis-ville">United Kingdom</span>
</div>
<div class="avis-source">
<svg fill="currentColor" viewbox="0 0 24 24"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"></path><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"></path><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l3.66-2.84z" fill="#FBBC05"></path><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"></path></svg>
Google
</div>
</div>
</div>
<div class="avis-card">
<div class="avis-stars">★★★★★</div>
<p class="avis-text">« Réservation via WhatsApp confirmée en 2 minutes. Départ Noisiel à 5h30, taxi à l'heure pile. Trajet fluide, chauffeur discret et agréable. Je passe toujours par ce service. »</p>
<div class="avis-footer">
<div class="avis-avatar">NR</div>
<div class="avis-meta">
<span class="avis-name">Nathalie R.</span>
<span class="avis-ville">Noisiel</span>
</div>
<div class="avis-source">
<svg fill="currentColor" viewbox="0 0 24 24"><path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"></path><path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"></path><path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l3.66-2.84z" fill="#FBBC05"></path><path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"></path></svg>
Google
</div>
</div>
</div>
</div>
<div class="avis-global">
<div class="avis-global-score">4,9 / 5</div>
<span class="avis-global-stars">★★★★★</span>
<div class="avis-global-count">Basé sur <strong>247 avis Google vérifiés</strong> · Taxi Marne-la-Vallée — Val d'Europe</div>
</div>
</div>
</section>
<!-- ═══ -->
<section class="cta-band" id="contact">
<div class="container">
<h2>Prêt pour votre prochain trajet ?</h2>
<p>Taxi Marne-la-Vallée · Réservation immédiate 24h/24 · No deposit required</p>
<a class="cta-phone" href="tel:+33750535658">+33 7 50 53 56 58</a>
<div class="cta-buttons">
<a class="btn btn-gold" href="tel:+33750535658">📞 Appeler</a>
<a aria-label="Réserver un taxi par WhatsApp" class="btn btn-wa" href="https://wa.me/33750535658?text=Bonjour%2C%20je%20souhaite%20r%C3%A9server%20un%20taxi" rel="nofollow noopener noreferrer">💬 WhatsApp</a>
<a class="btn btn-ghost" href="#simulateur" onclick="if(window.innerWidth<900){msimOpen();return false;}">🧮 Simulateur de prix</a>
<a class="btn btn-ghost" href="mailto:contact@taximarnelavallee.com">✉️ Email</a>
</div>
</div>
</section>
<!-- ═══ -->
</main>
<footer class="site-footer">
<div class="footer-grid">
<div>
<h3>Taxi Marne-la-Vallée</h3>
<p style="margin-bottom:1rem;line-height:1.75">Service de taxi premium 24h/24 à Val d'Europe et Marne-la-Vallée — plus de 30 chauffeurs professionnels basés à Serris. Disneyland Paris, aéroports parisiens, longue distance France & Europe depuis 2015.</p>
<p>
<strong style="color:#C9A84C">📞 <a href="tel:+33750535658" style="color:#C9A84C">+33 7 50 53 56 58</a></strong><br/>
<a href="mailto:contact@taximarnelavallee.com">contact@taximarnelavallee.com</a>
</p>
<div style="margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(136,153,170,.15)">
<p style="font-size:.72rem;color:#7A8A9A;text-transform:uppercase;letter-spacing:.13em;font-weight:700;margin-bottom:.7rem">📱 Application mobile</p>
<div style="display:flex;flex-wrap:wrap;gap:.5rem">
<a href="https://play.google.com/store/apps/details?id=com.taximarnelavallee.app&hl=fr" rel="noopener noreferrer" style="display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:#0A1628;padding:.5rem .9rem;border-radius:10px;font-weight:700;font-size:.75rem;text-decoration:none;transition:transform .15s" target="_blank">
<span style="font-size:1.1rem;line-height:1">▶</span>
<span style="line-height:1.1"><span style="font-size:.58rem;color:#5A6A7A;display:block;text-transform:uppercase;letter-spacing:.05em;font-weight:600">Sur</span><strong style="color:#0A1628">Google Play</strong></span>
</a>
<div style="display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(248,245,239,.5);padding:.5rem .9rem;border-radius:10px;font-weight:700;font-size:.75rem">
<span style="font-size:1.1rem;line-height:1">🍎</span>
<span style="line-height:1.1"><span style="font-size:.58rem;display:block;text-transform:uppercase;letter-spacing:.05em;font-weight:600">Bientôt</span><strong style="color:rgba(248,245,239,.7)">App Store</strong></span>
</div>
</div>
</div>
</div>
<div>
<h3>Services</h3>
<ul>
<li><a href="/#tarifs">Transfert aéroports</a></li>
<li><a href="/services/reserver-en-ligne/">Réserver en ligne · Appli</a></li>
<li><a href="/services/disneyland/">Disneyland Paris</a></li>
<li><a href="/services/taxi-tpmr/">Taxi TPMR — fauteuil roulant</a></li>
<li><a href="/services/taxi-villages-nature/">Villages Nature Paris</a></li>
<li><a href="/hotels-disneyland-val-d-europe/">Hôtels Disney</a></li>
<li><a href="/services/longue-distance/">Longue distance Europe</a></li>
<li><a href="/services/livraison-express/">Livraison express France & Europe</a></li>
<li><a href="/services/livraison-colis/">Colis express local</a></li>
<li><a href="/services/parc-asterix/">Parc Astérix</a></li>
<li><a href="/services/paris/">Paris — Tour Eiffel, Louvre</a></li>
<li><a href="/services/gares-paris/">Gares de Paris & Chessy TGV</a></li>
<li><a href="/services/versailles/">Château de Versailles</a></li>
</ul>
</div>
<div>
<h3>Aéroports</h3>
<ul>
<li><a href="/services/aeroport-cdg/">Roissy CDG</a></li>
<li><a href="/villes/taxi-a-roissy-cdg/">Taxi à Roissy CDG</a></li>
<li><a href="/services/aeroport-orly/">Paris-Orly</a></li>
<li><a href="/services/aeroport-beauvais/">Beauvais-Tillé</a></li>
<li><a href="/villes/taxi-a-beauvais/">Taxi à Beauvais (BVA)</a></li>
<li><a href="/services/aeroport-le-bourget/">Le Bourget</a></li>
</ul>
</div>
<div>
<h3>Villes</h3>
<ul>
<li><a href="/villes/taxi-a-serris/">Serris – Val d'Europe</a></li>
<li><a href="/villes/taxi-a-chessy/">Chessy</a></li>
<li><a href="/villes/taxi-a-bussy-saint-georges/">Bussy-Saint-Georges</a></li>
<li><a href="/villes/taxi-a-lagny-sur-marne/">Lagny-sur-Marne</a></li>
<li><a href="/villes/taxi-a-torcy/">Torcy</a></li>
<li><a href="/villes/taxi-a-noisiel/">Noisiel</a></li>
<li><a href="/villes/taxi-a-chelles/">Chelles</a></li>
<li><a href="/#villes">Voir toutes les villes →</a></li>
</ul>
</div>
</div>
<details class="footer-villes">
<summary>Toutes les communes desservies — Taxi Marne-la-Vallée</summary>
<div class="footer-villes-list">
<a href="/villes/taxi-a-annet-sur-marne/">Annet-sur-Marne</a>
<a href="/villes/taxi-a-bailly-romainvilliers/">Bailly-Romainvilliers</a>
<a href="/villes/taxi-a-brou-sur-chantereine/">Brou-sur-Chantereine</a>
<a href="/villes/taxi-a-bussy-saint-georges/">Bussy-Saint-Georges</a>
<a href="/villes/taxi-a-bussy-saint-martin/">Bussy-Saint-Martin</a>
<a href="/villes/taxi-a-carnetin/">Carnetin</a>
<a href="/villes/taxi-a-chalifert/">Chalifert</a>
<a href="/villes/taxi-a-champs-sur-marne/">Champs-sur-Marne</a>
<a href="/villes/taxi-a-chanteloup-en-brie/">Chanteloup-en-Brie</a>
<a href="/villes/taxi-a-chelles/">Chelles</a>
<a href="/villes/taxi-a-chessy/">Chessy</a>
<a href="/villes/taxi-a-claye-souilly/">Claye-Souilly</a>
<a href="/villes/taxi-a-collegien/">Collégien</a>
<a href="/villes/taxi-a-conches-sur-gondoire/">Conches-sur-Gondoire</a>
<a href="/villes/taxi-a-coupvray/">Coupvray</a>
<a href="/villes/taxi-a-courtry/">Courtry</a>
<a href="/villes/taxi-a-croissy-beaubourg/">Croissy-Beaubourg</a>
<a href="/villes/taxi-a-dampmart/">Dampmart</a>
<a href="/villes/taxi-a-emerainville/">Émerainville</a>
<a href="/villes/taxi-a-esbly/">Esbly</a>
<a href="/villes/taxi-a-ferrieres-en-brie/">Ferrières-en-Brie</a>
<a href="/villes/taxi-a-guermantes/">Guermantes</a>
<a href="/villes/taxi-a-jablines/">Jablines</a>
<a href="/villes/taxi-a-jossigny/">Jossigny</a>
<a href="/villes/taxi-a-lagny-sur-marne/">Lagny-sur-Marne</a>
<a href="/villes/taxi-a-lognes/">Lognes</a>
<a href="/villes/taxi-a-magny-le-hongre/">Magny-le-Hongre</a>
<a href="/villes/taxi-a-meaux/">Meaux</a>
<a href="/villes/taxi-a-mitry-mory/">Mitry-Mory</a>
<a href="/villes/taxi-a-montevrain/">Montévrain</a>
<a href="/villes/taxi-a-montry/">Montry</a>
<a href="/villes/taxi-a-noisiel/">Noisiel</a>
<a href="/villes/taxi-a-ozoir-la-ferriere/">Ozoir-la-Ferrière</a>
<a href="/villes/taxi-a-pomponne/">Pomponne</a>
<a href="/villes/taxi-a-pontault-combault/">Pontault-Combault</a>
<a href="/villes/taxi-a-pontcarre/">Pontcarré</a>
<a href="/villes/taxi-a-roissy-en-brie/">Roissy-en-Brie</a>
<a href="/villes/taxi-a-saint-germain-sur-morin/">Saint-Germain-sur-Morin</a>
<a href="/villes/taxi-a-saint-thibault-des-vignes/">Saint-Thibault-des-Vignes</a>
<a href="/villes/taxi-a-serris/">Serris — Taxi à Val d'Europe</a>
<a href="/villes/taxi-a-thorigny-sur-marne/">Thorigny-sur-Marne</a>
<a href="/villes/taxi-a-torcy/">Torcy</a>
<a href="/villes/taxi-a-vaires-sur-marne/">Vaires-sur-Marne</a>
<a href="/villes/taxi-a-villeneuve-le-comte/">Villeneuve-le-Comte</a>
<a href="/villes/taxi-a-villeneuve-saint-denis/">Villeneuve-Saint-Denis</a>
<a href="/villes/taxi-a-villeparisis/">Villeparisis</a>
</div>
</details>
<div class="social-follow" style="text-align:center;padding:2rem 1rem 1.5rem;border-top:1px solid rgba(255,203,5,0.18);margin-top:2rem">
<p style="margin:0 0 1.25rem !important;color:#FFFFFF !important;font-weight:700;font-size:1.05rem;letter-spacing:0.5px;text-transform:uppercase">📱 Suivez-nous</p>
<div style="display:flex;gap:1.5rem;justify-content:center;align-items:center;flex-wrap:wrap">
<a aria-label="Facebook Taxi Marne-la-Vallée" href="https://www.facebook.com/taximlv" onmouseout="this.style.transform='translateY(0)';this.style.boxShadow='0 4px 14px rgba(255,203,5,0.35)'" onmouseover="this.style.transform='translateY(-2px)';this.style.boxShadow='0 8px 22px rgba(255,203,5,0.55)'" rel="noopener" style="background:#FFCB05 !important;color:#003C7E !important;text-decoration:none !important;padding:0.85rem 1.6rem;border-radius:28px;font-size:0.95rem;font-weight:700;display:inline-flex;align-items:center;gap:0.55rem;box-shadow:0 4px 14px rgba(255,203,5,0.35);transition:transform 0.2s, box-shadow 0.2s;" target="_blank">
<svg fill="currentColor" height="20" viewbox="0 0 24 24" width="20"><path d="M9.198 21.5h4v-8.01h3.604l.396-3.98h-4V7.5a1 1 0 0 1 1-1h3v-4h-3a5 5 0 0 0-5 5v2.01h-2l-.396 3.98h2.396v8.01Z"></path></svg>
Facebook
</a>
<a aria-label="X (Twitter) Taxi Marne-la-Vallée" href="https://x.com/taximlv" onmouseout="this.style.transform='translateY(0)';this.style.boxShadow='0 4px 14px rgba(255,203,5,0.35)'" onmouseover="this.style.transform='translateY(-2px)';this.style.boxShadow='0 8px 22px rgba(255,203,5,0.55)'" rel="noopener" style="background:#FFCB05 !important;color:#003C7E !important;text-decoration:none !important;padding:0.85rem 1.6rem;border-radius:28px;font-size:0.95rem;font-weight:700;display:inline-flex;align-items:center;gap:0.55rem;box-shadow:0 4px 14px rgba(255,203,5,0.35);transition:transform 0.2s, box-shadow 0.2s;" target="_blank">
<svg fill="currentColor" height="18" viewbox="0 0 24 24" width="18"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg>
X (Twitter)
</a>
<a aria-label="TikTok Taxi Marne-la-Vallée" href="https://www.tiktok.com/@centraletaximlv" onmouseout="this.style.transform='translateY(0)';this.style.boxShadow='0 4px 14px rgba(255,203,5,0.35)'" onmouseover="this.style.transform='translateY(-2px)';this.style.boxShadow='0 8px 22px rgba(255,203,5,0.55)'" rel="noopener" style="background:#FFCB05 !important;color:#003C7E !important;text-decoration:none !important;padding:0.85rem 1.6rem;border-radius:28px;font-size:0.95rem;font-weight:700;display:inline-flex;align-items:center;gap:0.55rem;box-shadow:0 4px 14px rgba(255,203,5,0.35);transition:transform 0.2s, box-shadow 0.2s;" target="_blank">
<svg fill="currentColor" height="18" viewbox="0 0 24 24" width="18"><path d="M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74 2.89 2.89 0 0 1 2.31-4.64 2.93 2.93 0 0 1 .88.13V9.4a6.84 6.84 0 0 0-1-.05A6.33 6.33 0 0 0 5.8 20.1a6.34 6.34 0 0 0 10.86-4.43V8.86a8.16 8.16 0 0 0 4.77 1.52V6.93a4.85 4.85 0 0 1-1.84-.24z"></path></svg>
TikTok
</a>
</div>
</div>
<div class="footer-copy">
© 2026 Taxi à Val d'Europe & Marne-la-Vallée · <a href="/about/">À propos</a> · <a href="/blog/">Blog</a> ·
<a href="tel:+33750535658">+33 7 50 53 56 58</a> ·
<a href="mailto:contact@taximarnelavallee.com">contact@taximarnelavallee.com</a>
<div class="footer-legal-links">
<a href="/about/">À propos & équipe</a>
<a href="/legal/mentions-legales.html">Mentions légales</a>
<a href="/legal/politique-confidentialite.html">Politique de confidentialité</a>
<a href="/legal/cgu.html">CGU / Conditions générales</a>
<a href="/legal/cookies.html">Politique des cookies</a>
<a href="/legal/suppression-donnees.html">Supprimer mes données</a>
</div>
</div>
</footer>
<!-- ═══ -->
<div class="sticky-call">
<a class="call" href="tel:+33750535658">📞 Appeler maintenant</a>
<a class="wa" href="https://wa.me/33750535658" rel="nofollow noopener noreferrer">💬 WhatsApp</a>
</div>
<!-- MOBILE APP NAV (remplace sticky-call sur mobile) -->
<style>
/* ── BANNIÈRE MOBILE — JAUNE TAXI (visibilité max) + BLEU MARINE (confiance/contraste) ── */
nav.mobile-app-nav{
background:#FFCB05 !important;
border-top:1px solid #E0B400 !important;
box-shadow:0 -4px 22px rgba(0,0,0,.16) !important;
align-items:stretch !important;
min-height:60px !important; height:auto !important;
padding:6px 0 0 !important;
}
nav.mobile-app-nav a{
display:flex !important; flex-direction:column !important;
align-items:center !important; justify-content:center !important;
gap:3px !important; background:transparent !important; background-image:none !important;
color:#003C7E !important; font-size:11px !important; font-weight:800 !important;
letter-spacing:.01em !important; box-shadow:none !important; text-decoration:none !important;
}
nav.mobile-app-nav .nav-call, nav.mobile-app-nav .nav-wa{ flex:1 1 0 !important; background:transparent !important; background-image:none !important; color:#003C7E !important; box-shadow:none !important; }
nav.mobile-app-nav .nav-call svg, nav.mobile-app-nav .nav-wa svg{ width:24px; height:24px; display:block; color:#003C7E !important; }
nav.mobile-app-nav .nav-call span:last-child,
nav.mobile-app-nav .nav-wa span:last-child{ color:#003C7E !important; font-weight:800 !important; }
/* Bouton central simulateur — bleu marine pour ressortir sur le jaune (action principale) */
nav.mobile-app-nav .nav-sim{
flex:1.05 1 0 !important; justify-content:flex-end !important;
padding-bottom:6px !important; gap:4px !important; overflow:visible !important;
}
nav.mobile-app-nav .nav-sim .nav-sim-bubble{
width:54px !important; height:54px !important; margin-top:-22px !important;
border-radius:50% !important; background:#003C7E !important;
color:#fff !important; display:flex !important; align-items:center !important; justify-content:center !important;
box-shadow:0 6px 16px rgba(0,0,0,.28), 0 0 0 4px #FFCB05 !important;
border:none !important; animation:none !important;
}
nav.mobile-app-nav .nav-sim .nav-sim-bubble::after{ display:none !important; }
nav.mobile-app-nav .nav-sim .nav-sim-bubble svg{ width:27px !important; height:27px !important; color:#fff !important; }
nav.mobile-app-nav .nav-sim span:last-child{
color:#003C7E !important; font-weight:800 !important; font-size:10.5px !important;
letter-spacing:.03em !important; animation:none !important;
}
/* Overlay simulateur mobile : quand fermé, totalement hors écran (ne dépasse plus sous la bannière) */
.msim-sheet:not(.open){ transform:translateY(100vh) !important; }
</style>
<nav aria-label="Navigation mobile" class="mobile-app-nav">
<a aria-label="Appeler" class="nav-call" href="tel:+33750535658">
<svg aria-hidden="true" viewbox="0 0 24 24"><path d="M6.62 10.79c1.44 2.83 3.76 5.15 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.07 21 3 13.93 3 5c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.24 1.02l-2.21 2.18z" fill="currentColor"></path></svg>
<span>Appeler</span>
</a>
<a aria-label="Simulateur de prix" class="nav-sim" href="#simulateur" onclick="if(window.innerWidth<900){msimOpen();return false;}">
<div class="nav-sim-bubble">
<svg aria-hidden="true" viewbox="0 0 24 24"><path d="M7 2c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2H7zm0 2h10v4H7V4zm0 6h2v2H7v-2zm4 0h2v2h-2v-2zm4 0h2v6h-2v-6zm-8 4h2v2H7v-2zm4 0h2v2h-2v-2z" fill="currentColor"></path></svg>
</div>
<span>SIMULATEUR</span>
</a>
<a aria-label="Réserver un taxi par WhatsApp" class="nav-wa" href="https://wa.me/33750535658?text=Bonjour%2C%20je%20souhaite%20r%C3%A9server%20un%20taxi" rel="nofollow noopener">
<svg aria-hidden="true" viewbox="0 0 24 24"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51l-.57-.01c-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884" fill="currentColor"></path></svg>
<span>WhatsApp</span>
</a>
</nav>
<script>
/* Fix barre nav mobile — optimisé (debounce + rAF) */
(function(){
if(window.innerWidth > 899) return;
var nav = document.querySelector('.mobile-app-nav');
if(!nav) return;
var scheduled = false;
function fixNavFrame(){
scheduled = false;
if(!window.visualViewport) return;
var extra = Math.max(0, window.innerHeight - window.visualViewport.height - window.visualViewport.offsetTop);
nav.style.paddingBottom = extra > 8 ? extra + 'px' : 'env(safe-area-inset-bottom, 16px)';
}
function fixNav(){
if(scheduled) return;
scheduled = true;
requestAnimationFrame(fixNavFrame);
}
if(window.visualViewport){
window.visualViewport.addEventListener('resize', fixNav, {passive:true});
}
window.addEventListener('resize', fixNav, {passive:true});
/* Un seul appel initial, après que le layout soit stable */
if('requestIdleCallback' in window){
requestIdleCallback(fixNav, {timeout: 1000});
} else {
setTimeout(fixNav, 300);
}
})();
</script>
<!-- ═══ AUTOCOMPLÉTION ADRESSES (Photon / OpenStreetMap — mondial, gratuit, sans clé) ═══
Affiche adresse + code postal + ville + pays. Couvre la France ET l'international
(Bruxelles, Genève, Londres…). Remplace Google Places ; Google reste utilisé pour la distance. -->
<style>
.pac-container{display:none !important;} /* masque tout dropdown Google Places résiduel (anti-cache) — on utilise Photon */
.photon-list{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid #E1E6ED;border-radius:12px;box-shadow:0 14px 34px rgba(0,60,126,.16);z-index:100001;max-height:300px;overflow-y:auto;text-align:left}
.photon-item{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem .9rem;cursor:pointer;border-bottom:1px solid #f1f4f8}
.photon-item:last-child{border-bottom:none}
.photon-item:hover,.photon-item.active{background:#F4F8FF}
.photon-pin{color:#003C7E;flex-shrink:0;margin-top:2px}
.photon-main{font-size:.92rem;font-weight:600;color:#1A2A3F;line-height:1.3}
.photon-sub{font-size:.8rem;color:#5E7080;margin-top:1px;line-height:1.3}
.photon-foot{padding:.45rem .9rem;font-size:.66rem;color:#9aa7b4;border-top:1px solid #f1f4f8;background:#fafbfc}
</style>
<script>
(function(){
"use strict";
function buildLabel(p){
var main = p.housenumber ? (p.housenumber + ' ' + (p.street || p.name || '')) : (p.name || p.street || '');
var loc = ((p.postcode ? p.postcode + ' ' : '') + (p.city || '')).trim();
return [main, loc, p.country].filter(Boolean).join(', ');
}
function mainText(p){
return (p.housenumber ? (p.housenumber + ' ' + (p.street || p.name || '')) : (p.name || p.street || p.city || '')).trim();
}
function subText(p){
var loc = ((p.postcode ? p.postcode + ' ' : '') + (p.city || '')).trim();
return [loc, p.country].filter(Boolean).join(' · ');
}
function setup(input){
if(!input || input.dataset.photonReady) return;
input.dataset.photonReady = '1';
input.setAttribute('autocomplete','off');
var wrap = input.parentNode;
if(getComputedStyle(wrap).position === 'static') wrap.style.position = 'relative';
var box = document.createElement('div');
box.className = 'photon-list';
box.style.display = 'none';
wrap.appendChild(box);
var results = [], active = -1, timer = null;
function close(){ box.style.display = 'none'; box.innerHTML = ''; results = []; active = -1; }
function render(features){
box.innerHTML = '';
results = features || [];
if(!results.length){ close(); return; }
results.forEach(function(f, idx){
var p = f.properties;
var el = document.createElement('div');
el.className = 'photon-item';
el.innerHTML = '<svg class="photon-pin" width="16" height="16" viewBox="0 0 24 24"><path fill="currentColor" d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z"/></svg>'
+ '<div><div class="photon-main"></div><div class="photon-sub"></div></div>';
el.querySelector('.photon-main').textContent = mainText(p);
el.querySelector('.photon-sub').textContent = subText(p);
el.addEventListener('mousedown', function(e){ e.preventDefault(); choose(idx); });
box.appendChild(el);
});
var foot = document.createElement('div');
foot.className = 'photon-foot';
foot.textContent = 'Données © OpenStreetMap';
box.appendChild(foot);
box.style.display = 'block';
}
function choose(idx){
var f = results[idx]; if(!f) return;
var p = f.properties;
input.value = buildLabel(p);
if(f.geometry && f.geometry.coordinates){
input.dataset.lat = f.geometry.coordinates[1];
input.dataset.lng = f.geometry.coordinates[0];
}
close();
// NB : on ne redéclenche PAS 'input' (cela effacerait les coords et rouvrirait la liste).
input.dispatchEvent(new Event('change', {bubbles:true}));
input.dispatchEvent(new Event('blur'));
}
function search(q){
fetch('https://photon.komoot.io/api/?q=' + encodeURIComponent(q) + '&lang=fr&limit=6')
.then(function(r){ return r.json(); })
.then(function(j){ if(input.value.trim() === q) render(j.features); })
.catch(function(){ close(); });
}
input.addEventListener('input', function(){
delete input.dataset.lat; delete input.dataset.lng;
var q = input.value.trim();
clearTimeout(timer);
if(q.length < 3){ close(); return; }
timer = setTimeout(function(){ search(q); }, 250);
});
input.addEventListener('keydown', function(e){
if(box.style.display === 'none') return;
var els = box.querySelectorAll('.photon-item');
if(e.key === 'ArrowDown'){ e.preventDefault(); active = Math.min(active + 1, els.length - 1); }
else if(e.key === 'ArrowUp'){ e.preventDefault(); active = Math.max(active - 1, 0); }
else if(e.key === 'Enter'){ if(active >= 0){ e.preventDefault(); choose(active); } return; }
else if(e.key === 'Escape'){ close(); return; }
else return;
els.forEach(function(el, i){ el.classList.toggle('active', i === active); });
if(els[active]) els[active].scrollIntoView({block:'nearest'});
});
input.addEventListener('blur', function(){ setTimeout(close, 150); });
}
function setupAll(){
['hero-from','hero-to','sim-from','sim-to','ms-from','ms-to'].forEach(function(id){
setup(document.getElementById(id));
});
}
if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', setupAll);
else setupAll();
})();
</script>
<!-- ═══ DATE & HEURE — SAISIE CLAVIER + ICÔNE CALENDRIER MENSUEL (date) ═══ -->
<style>
.dt-input-wrap{ position:relative; display:block; width:100%; flex:1 1 auto; }
.dt-input-wrap > input.pro-dt{ padding-right:2.7rem !important; }
.dt-cal-btn{ position:absolute; right:.35rem; top:50%; transform:translateY(-50%); width:2rem; height:2rem; display:flex; align-items:center; justify-content:center; background:transparent; border:0; padding:0; cursor:pointer; color:#003C7E; z-index:2; }
.dt-cal-btn:hover{ color:#B38F00; }
.dt-cal-btn svg{ width:1.35rem; height:1.35rem; display:block; }
/* Calendrier personnalisé (intégré, traduisible, aux couleurs du site) */
.dt-cal-pop{ position:absolute; top:calc(100% + 6px); left:0; z-index:100002; background:#fff; border:1px solid #E1E6ED; border-radius:12px; box-shadow:0 16px 38px rgba(0,60,126,.20); padding:.7rem; width:290px; max-width:92vw; }
.dt-cal-pop.up{ top:auto; bottom:calc(100% + 6px); }
.dt-cal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.55rem; gap:.4rem; }
.dt-cal-title{ font-weight:700; color:#003C7E; text-transform:capitalize; font-size:.95rem; }
.dt-cal-nav{ width:2rem; height:2rem; border:0; background:#EEF2F7; border-radius:8px; color:#003C7E; font-size:1.2rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.dt-cal-nav:hover{ background:#003C7E; color:#fff; }
.dt-cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.dt-cal-wd{ text-align:center; font-size:.66rem; font-weight:700; color:#8a9bb0; text-transform:uppercase; padding:.3rem 0; }
.dt-cal-day{ border:0; background:transparent; border-radius:8px; padding:.5rem 0; font-size:.85rem; color:#1A2A3F; cursor:pointer; }
.dt-cal-day:hover:not(:disabled){ background:#FFF3C4; }
.dt-cal-day.today{ box-shadow:inset 0 0 0 1.5px #FFCB05; }
.dt-cal-day.selected{ background:#003C7E !important; color:#fff; font-weight:700; }
.dt-cal-day:disabled{ color:#ccd4de; cursor:default; }
.dt-cal-empty{ visibility:hidden; }
</style>
<script>
(function(){
"use strict";
function pad(n){ return (n<10?'0':'')+n; }
function isoToFr(iso){ var p=(iso||'').split('-'); return p.length===3 ? p[2]+'/'+p[1]+'/'+p[0] : ''; }
function frToIso(fr){ var m=(fr||'').match(/^(\d{2})\/(\d{2})\/(\d{4})$/); return m ? m[3]+'-'+m[2]+'-'+m[1] : ''; }
// Langue de la page (attribut <html lang>) pour localiser le calendrier natif
function getTransLang(){
return (document.documentElement.lang || 'fr').slice(0,2);
}
function formatTime(v){
v = v.replace(/[^0-9]/g,'').slice(0,4);
if(v.length>=3) v = v.slice(0,2)+':'+v.slice(2);
return v;
}
function formatDate(v){
v = v.replace(/[^0-9]/g,'').slice(0,8);
var out = v.slice(0,2);
if(v.length>=3) out += '/'+v.slice(2,4);
if(v.length>=5) out += '/'+v.slice(4,8);
return out;
}
function bind(ids, fmt){
ids.forEach(function(id){
var el = document.getElementById(id); if(!el) return;
el.addEventListener('input', function(){
var atEnd = el.selectionStart === el.value.length;
var formatted = fmt(el.value);
if(formatted !== el.value){
el.value = formatted;
if(atEnd){ try{ el.setSelectionRange(el.value.length, el.value.length); }catch(e){} }
}
});
});
}
// Ajoute une icône calendrier qui ouvre le calendrier mensuel natif (saisie manuelle conservée)
function addCalendar(input){
if(!input || input.dataset.calReady) return; input.dataset.calReady='1';
var holder = document.createElement('span'); holder.className='dt-input-wrap';
input.parentNode.insertBefore(holder, input); holder.appendChild(input);
var btn = document.createElement('button'); btn.type='button'; btn.className='dt-cal-btn';
btn.setAttribute('aria-label','Ouvrir le calendrier');
btn.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V9h14v11zM5 7V6h14v1z"/></svg>';
holder.appendChild(btn);
var pop=null, view=null;
var today=new Date(); today.setHours(0,0,0,0);
function langOf(){ var l=getTransLang(); try{ Intl.DateTimeFormat(l); return l; }catch(e){ return 'fr'; } }
function selectedDate(){
var iso=frToIso((input.value||'').trim());
if(iso){ var p=iso.split('-'); var d=new Date(+p[0],+p[1]-1,+p[2]); d.setHours(0,0,0,0); return d; }
return null;
}
function close(){ if(pop){ pop.remove(); pop=null; document.removeEventListener('mousedown',onDoc,true); } }
function onDoc(e){ if(pop && !pop.contains(e.target) && e.target!==btn && !btn.contains(e.target)) close(); }
function render(){
var L=langOf();
var first=new Date(view.getFullYear(), view.getMonth(), 1);
var startDow=(first.getDay()+6)%7; /* lundi = 0 */
var daysInMonth=new Date(view.getFullYear(), view.getMonth()+1, 0).getDate();
var sel=selectedDate();
var title=new Intl.DateTimeFormat(L,{month:'long',year:'numeric'}).format(first);
var wd='';
for(var i=0;i<7;i++){ wd+='<span class="dt-cal-wd">'+new Intl.DateTimeFormat(L,{weekday:'short'}).format(new Date(2024,0,1+i))+'</span>'; }
var cells='';
for(var e=0;e<startDow;e++){ cells+='<span class="dt-cal-day dt-cal-empty"></span>'; }
for(var d=1; d<=daysInMonth; d++){
var date=new Date(view.getFullYear(), view.getMonth(), d); date.setHours(0,0,0,0);
var dis=date<today;
var cls='dt-cal-day';
if(date.getTime()===today.getTime()) cls+=' today';
if(sel && date.getTime()===sel.getTime()) cls+=' selected';
cells+='<button type="button" class="'+cls+'" data-d="'+d+'"'+(dis?' disabled':'')+'>'+d+'</button>';
}
pop.innerHTML='<div class="dt-cal-head"><button type="button" class="dt-cal-nav" data-dir="-1" aria-label="Mois précédent">‹</button><span class="dt-cal-title">'+title+'</span><button type="button" class="dt-cal-nav" data-dir="1" aria-label="Mois suivant">›</button></div><div class="dt-cal-grid">'+wd+cells+'</div>';
}
function open(){
if(pop){ close(); return; }
var sel=selectedDate();
view = sel ? new Date(sel.getFullYear(), sel.getMonth(), 1) : new Date(today.getFullYear(), today.getMonth(), 1);
pop=document.createElement('div'); pop.className='dt-cal-pop';
holder.appendChild(pop);
render();
var r=pop.getBoundingClientRect();
if(r.bottom > window.innerHeight - 8) pop.classList.add('up');
pop.addEventListener('click', function(ev){
var nav=ev.target.closest('.dt-cal-nav');
if(nav){ view.setMonth(view.getMonth() + (parseInt(nav.getAttribute('data-dir'),10))); render(); return; }
var day=ev.target.closest('.dt-cal-day');
if(day && !day.disabled && day.getAttribute('data-d')){
var d=parseInt(day.getAttribute('data-d'),10);
input.value = pad(d)+'/'+pad(view.getMonth()+1)+'/'+view.getFullYear();
input.dispatchEvent(new Event('input',{bubbles:true}));
input.dispatchEvent(new Event('change',{bubbles:true}));
close();
}
});
setTimeout(function(){ document.addEventListener('mousedown', onDoc, true); }, 0);
}
btn.addEventListener('click', function(e){ e.preventDefault(); e.stopPropagation(); open(); });
}
function run(){
bind(['hero-time','sim-time','ms-time'], formatTime);
bind(['hero-date','sim-date','ms-date'], formatDate);
['hero-date','sim-date','ms-date'].forEach(function(id){ addCalendar(document.getElementById(id)); });
}
if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', run);
else run();
})();
</script>
<!-- ═══ -->
<!-- ═══════════════════════════════════════════════════════════════
★ JAVASCRIPT PRINCIPAL
- Google Maps autocomplete UNIFORME (hero + simulateur)
- Calculateur de prix (règles correctes)
- Simulateur 3 étapes
- Envoi formulaire de réservation en ligne centralisé
════════════════════════════════════════════════════════════════ -->
<!-- simulateur.js chargé en lazy-load -->
<script>
function switchFleetImg(btn, filename, alt, imgId) {
var img = document.getElementById(imgId);
if (!img) return;
var baseName = filename.replace('_optimized.webp', '');
img.src = '/images/' + baseName + '_600.webp';
img.srcset = '/images/' + baseName + '_400.webp 400w, /images/' + baseName + '_600.webp 600w, /images/' + baseName + '_800.webp 800w';
img.alt = alt;
btn.closest('.fleet-img-tabs').querySelectorAll('.fit').forEach(function(b){ b.classList.remove('active') });
btn.classList.add('active');
}
</script>
<!-- ═══ -->
<a aria-label="Contacter par WhatsApp" class="wa-float" href="https://wa.me/33750535658?text=Bonjour%2C%20je%20souhaite%20r%C3%A9server%20un%20taxi" rel="nofollow noopener noreferrer" target="_blank">
<svg fill="#fff" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z"></path>
<path d="M12 0C5.373 0 0 5.373 0 12c0 2.126.556 4.121 1.527 5.852L.057 23.516a.5.5 0 0 0 .611.61l5.76-1.513A11.945 11.945 0 0 0 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.9 0-3.7-.51-5.25-1.396l-.37-.218-3.87 1.016 1.03-3.77-.236-.383A9.955 9.955 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z"></path>
</svg>
<span class="wa-label">WhatsApp<small>Réponse rapide 24h/24</small></span>
</a>
<script defer="" src="https://cdn.jsdelivr.net/npm/intl-tel-input@24.3.5/build/js/intlTelInput.min.js"></script>
<script>
// intlTelInput initialisé uniquement au focus (évite 244 éléments DOM + TBT)
function initIti(el, storeKey) {
if (el._itiInit) return;
el._itiInit = true;
if (!document.getElementById("iti-css")) {
var l = document.createElement("link");
l.id = "iti-css";
l.rel = "stylesheet";
l.href = "https://cdn.jsdelivr.net/npm/intl-tel-input@24.3.5/build/css/intlTelInput.min.css";
document.head.appendChild(l);
}
window[storeKey] = window.intlTelInput(el, {
initialCountry: "fr",
countryOrder: ["fr","gb","es","de","it","be","ch","nl","pt","ie"],
separateDialCode: true,
autoPlaceholder: "off",
utilsScript: "https://cdn.jsdelivr.net/npm/intl-tel-input@24.3.5/build/js/utils.js"
});
el.placeholder = "Ex: 06 12 34 56 78";
el.addEventListener("countrychange", function(){
el.value = "";
el.placeholder = "Ex: " + window[storeKey].getSelectedCountryData().dialCode + "...";
});
}
document.addEventListener("DOMContentLoaded", function() {
var tel = document.querySelector("#sim-phone");
if (tel) tel.addEventListener("focus", function(){ initIti(tel, "simPhoneIti"); }, { once: true, passive: true });
var mtel = document.querySelector("#ms-phone");
if (mtel) mtel.addEventListener("focus", function(){ initIti(mtel, "msPhoneIti"); }, { once: true, passive: true });
});
</script>
<!-- ════ MINI SIMULATEUR MOBILE ════ -->
<style>
/* ── SIMULATEUR : alignement sur les couleurs du site (bleu marine #003C7E + jaune #FFCB05) ── */
/* En-têtes en bleu marine de marque (au lieu du presque-noir) */
.msim-header{ background:#003C7E !important; }
.msim-header h3, .msim-header p, .msim-close{ color:#fff !important; }
/* Bouton principal "Calculer" = jaune de marque, texte bleu marine (CTA qui ressort) */
.msim-btn-calc, #sim-calc-btn{ background:#FFCB05 !important; color:#003C7E !important; }
/* Boutons navigation/envoi = bleu marine de marque (au lieu du bronze) */
.msim-next, .msim-next-dark, #sim-next-1, .sim-nav-next{ background:#003C7E !important; color:#fff !important; }
/* On ne touche pas au bouton WhatsApp (vert) ni au bouton Retour */
.msim-back{ background:#EEF2F7 !important; color:#003C7E !important; }
/* Pastilles d'étapes : active = jaune de marque, validée = bleu marine */
.msp-dot.active{ background:#FFCB05 !important; color:#003C7E !important; border-color:#FFCB05 !important; }
.msp-dot.done{ background:#003C7E !important; color:#fff !important; border-color:#003C7E !important; }
</style>
<div class="msim-overlay" id="msimOverlay" onclick="msimClose()"></div>
<div class="msim-sheet" id="calculateur">
<!-- Header -->
<div class="msim-header">
<div class="msim-header-left">
<div>
<h3>🧮 Simulateur de prix</h3>
<p>Obtenez votre devis en 3 étapes</p>
</div>
</div>
<button aria-label="Fermer" class="msim-close" onclick="msimClose()">✕</button>
</div>
<!-- Progress -->
<div class="msim-progress">
<div class="msp-item">
<div class="msp-dot active" id="msp1">1</div>
<div class="msp-label active" id="mspl1">Trajet</div>
</div>
<div class="msp-line" id="mspline1"></div>
<div class="msp-item">
<div class="msp-dot" id="msp2">2</div>
<div class="msp-label" id="mspl2">Voyage</div>
</div>
<div class="msp-line" id="mspline2"></div>
<div class="msp-item">
<div class="msp-dot" id="msp3">3</div>
<div class="msp-label" id="mspl3">Contact</div>
</div>
</div>
<div class="msim-body">
<!-- ÉTAPE 1 : Trajet + Prix -->
<div class="msim-panel active" id="msp-panel-1">
<div class="msim-field">
<label>📍 Adresse de départ *</label>
<div class="mf-wrap">
<span class="mf-ic">📍</span>
<input autocomplete="off" id="ms-from" placeholder="Ex: Serris, Val d'Europe…" type="text"/>
</div>
</div>
<div class="msim-field">
<label>🏁 Destination *</label>
<div class="mf-wrap">
<span class="mf-ic">🏁</span>
<input autocomplete="off" id="ms-to" placeholder="Ex: CDG Terminal 2E…" type="text"/>
</div>
</div>
<button class="msim-btn-calc" id="ms-calc-btn" onclick="msCalcPrice()">
🧮 Calculer mon prix
</button>
<div class="msim-spin" id="ms-spin"><div class="ms-spinner"></div><span>Calcul via Google Maps…</span></div>
<div class="msim-error" id="ms-error"></div>
<div class="msim-result" id="ms-result">
<div class="mr-label">Estimation de prix</div>
<div class="mr-price" id="ms-price-val">—</div>
<div class="mr-route" id="ms-route-val"></div>
<div class="mr-note">2,63€/km · arrondi à la dizaine · taximètre homologué fait foi</div>
</div>
<div class="msim-nav">
<button class="msim-next" disabled="" id="ms-next-1" onclick="msGoTo(2)">
Continuer →
</button>
</div>
</div>
<!-- ÉTAPE 2 : Passagers + Bagages + Véhicule -->
<div class="msim-panel" id="msp-panel-2">
<div class="msim-row2">
<div class="msim-field">
<label>👥 Passagers</label>
<div class="mf-wrap">
<span class="mf-ic">👥</span>
<select id="ms-pax" onchange="msUpdateVehicle()">
<option value="1">1 passager</option>
<option value="2">2 passagers</option>
<option value="3">3 passagers</option>
<option value="4">4 passagers</option>
<option value="5">5 passagers</option>
<option value="6">6 passagers</option>
<option value="7">7 passagers</option>
</select>
</div>
</div>
<div class="msim-field">
<label>🧳 Bagages</label>
<div class="mf-wrap">
<span class="mf-ic">🧳</span>
<select id="ms-bags" onchange="msUpdateVehicle()">
<option value="0">Aucun</option>
<option value="1">1 valise</option>
<option value="2">2 valises</option>
<option value="3">3 valises</option>
<option value="4">4+ valises</option>
</select>
</div>
</div>
</div>
<div class="msim-row2">
<div class="msim-field">
<label>📅 Date</label>
<div class="mf-wrap">
<span class="mf-ic">📅</span>
<input autocomplete="off" class="pro-dt" id="ms-date" inputmode="numeric" maxlength="10" placeholder="JJ/MM/AAAA" type="text"/>
</div>
</div>
<div class="msim-field">
<label>⏰ Heure</label>
<div class="mf-wrap">
<span class="mf-ic">⏰</span>
<input autocomplete="off" class="pro-dt" id="ms-time" inputmode="numeric" maxlength="5" placeholder="HH:MM" type="text" value="08:00"/>
</div>
</div>
</div>
<!-- Véhicule recommandé -->
<div class="msim-vehicle" id="ms-vehicle">
<div class="mv-icon" id="ms-v-icon">🚗</div>
<div>
<div class="mv-name" id="ms-v-name">Peugeot 508 Hybride</div>
<div class="mv-detail" id="ms-v-detail">1 à 4 passagers · 3 valises</div>
<span class="mv-badge" id="ms-v-badge">Recommandé</span>
</div>
</div>
<div class="msim-nav">
<button class="msim-back" onclick="msGoTo(1)">← Retour</button>
<button class="msim-next" onclick="msGoTo(3)">Continuer →</button>
</div>
</div>
<!-- ÉTAPE 3 : Coordonnées + Envoi -->
<div class="msim-panel" id="msp-panel-3">
<div class="msim-contact-title">
ℹ️ Vos coordonnées pour recevoir la confirmation et que nous puissions vous rappeler.
</div>
<!-- Résumé mini -->
<div class="msim-summary-mini" id="ms-summary-mini"></div>
<div class="msim-row2">
<div class="msim-field">
<label>Prénom *</label>
<div class="mf-wrap">
<span class="mf-ic">👤</span>
<input autocomplete="given-name" id="ms-firstname" placeholder="Jean" type="text"/>
</div>
</div>
<div class="msim-field">
<label>Nom *</label>
<div class="mf-wrap">
<span class="mf-ic">👤</span>
<input autocomplete="family-name" id="ms-lastname" placeholder="Dupont" type="text"/>
</div>
</div>
</div>
<div class="msim-field">
<label>📞 Téléphone *</label>
<div class="mf-wrap">
<span class="mf-ic">📞</span>
<input autocomplete="tel" id="ms-phone" type="tel"/>
</div>
</div>
<div class="msim-field">
<label>✉️ Email *</label>
<div class="mf-wrap">
<span class="mf-ic">✉️</span>
<input autocomplete="email" id="ms-email" placeholder="jean@email.com" type="email"/>
</div>
</div>
<div class="msim-field">
<label>💬 Notes (n° de vol, siège enfant…)</label>
<div class="mf-wrap">
<span class="mf-ic">💬</span>
<input id="ms-notes" placeholder="Ex: Vol AF1234, bébé 18 mois…" type="text"/>
</div>
</div>
<div class="msim-nav" style="flex-direction:column;gap:.5rem">
<button class="msim-next msim-next-dark" id="ms-submit-btn" onclick="msSubmit()">
📨 Envoyer ma demande de devis
</button>
<button class="msim-next" id="ms-wa-btn" onclick="msSendWA()" style="background:var(--wa);color:#fff">
💬 Devis par WhatsApp
</button>
<button class="msim-back" onclick="msGoTo(2)" style="width:100%;text-align:center">← Retour</button>
</div>
</div>
<!-- SUCCÈS -->
<div class="msim-success" id="ms-success">
<span class="ms-check">✅</span>
<h4>Demande envoyée !</h4>
<p>Nous vous recontactons très rapidement.<br/>En urgence, appelez-nous directement.</p>
<div class="ms-btns">
<a class="ms-call" href="tel:+33750535658">📞 Appeler</a>
<a class="ms-wa" href="https://wa.me/33750535658" rel="nofollow noopener" target="_blank">💬 WhatsApp</a>
</div>
</div>
</div>
</div>
<!-- ════ FIN MINI SIMULATEUR ════ -->
<!-- msim-mobile.js chargé en lazy-load -->
<script>
/* Lazy-load simulateur + mini-simulateur : réduit TBT initial */
(function(){
var loaded=false, pendingCalls=[];
function loadSims(cb){
if(loaded){if(typeof cb==='function')cb();return;}
loaded=true;
var scripts=['/assets/js/simulateur.js?v=photon1','/assets/js/msim-mobile.v2.js?v=photon1'];
var loadedCount=0;
scripts.forEach(function(src){
var s=document.createElement('script');
s.src=src;
s.onload=function(){
loadedCount++;
if(loadedCount===scripts.length){
/* Rejouer les appels en attente */
pendingCalls.forEach(function(call){try{call();}catch(e){}});
pendingCalls=[];
if(typeof cb==='function')cb();
}
};
document.body.appendChild(s);
});
}
/* Stubs : remplacés par les vraies fonctions après chargement */
var fnNames=['msimOpen','msimClose','msGoTo','msCalcPrice','msUpdateVehicle','msSubmit','msSendWA','simGoTo','simGoStep2','simSubmit','simCalc','bcCalcPrice','bcSendWA','switchFleetImg'];
fnNames.forEach(function(fn){
window[fn]=function(){
var args=Array.prototype.slice.call(arguments);
pendingCalls.push(function(){
if(typeof window[fn]==='function' && window[fn].toString().indexOf('pendingCalls')===-1){
window[fn].apply(null, args);
}
});
loadSims();
};
});
/* Déclencheurs : 1ère interaction OU 2s après load */
if('requestIdleCallback' in window){
if(document.readyState==='complete'){requestIdleCallback(loadSims,{timeout:4000});}
else{window.addEventListener('load',function(){requestIdleCallback(loadSims,{timeout:4000});});}
} else {
if(document.readyState==='complete'){setTimeout(loadSims,3500);}
else{window.addEventListener('load',function(){setTimeout(loadSims,3500);});}
}
['scroll','mousemove','touchstart','keydown','click','focusin'].forEach(function(e){
window.addEventListener(e,function(){loadSims();},{once:true,passive:true});
});
})();
</script>
<script>
/* Pré-remplissage du simulateur depuis paramètres URL (AI Mode agentique) */
(function() {
if (!window.location.search) return;
var params = new URLSearchParams(window.location.search);
if (params.get("action") !== "reserve") return;
document.addEventListener("DOMContentLoaded", function() {
setTimeout(function() {
var mapField = {
"pickup": ["from","depart","origine","pickup","start"],
"drop": ["to","destination","arrivee","dropoff","end"],
"date": ["date","journey-date","trip-date"],
"time": ["time","journey-time","trip-time"],
"passengers": ["passengers","party-size","persons"],
"luggage": ["luggage","bags","valises"]
};
function setVal(names, value) {
for (var i = 0; i < names.length; i++) {
var el = document.querySelector("input[name='"+names[i]+"'],input[id='"+names[i]+"'],select[name='"+names[i]+"']");
if (el && value) { el.value = value; el.dispatchEvent(new Event("change", {bubbles:true})); return true; }
}
return false;
}
setVal(mapField.pickup, params.get("pickup"));
setVal(mapField.drop, params.get("dropoff") || params.get("drop"));
setVal(mapField.date, params.get("date"));
setVal(mapField.time, params.get("time"));
setVal(mapField.passengers, params.get("passengers"));
setVal(mapField.luggage, params.get("luggage"));
/* Ouvrir le simulateur s'il existe */
var simBtn = document.querySelector("a[href='#simulateur'],button[data-open='simulateur']");
if (simBtn) simBtn.click();
/* Scroll vers le simulateur */
var sim = document.getElementById("simulateur");
if (sim) sim.scrollIntoView({behavior: "smooth"});
}, 600);
});
})();
</script>
<script>(function(){var s=document.getElementById('langSwitch');if(!s)return;var b=s.querySelector('.lang-btn');
b.addEventListener('click',function(e){e.stopPropagation();var o=s.classList.toggle('open');b.setAttribute('aria-expanded',o?'true':'false');});
document.addEventListener('click',function(e){if(!s.contains(e.target)){s.classList.remove('open');b.setAttribute('aria-expanded','false');}});
document.addEventListener('keydown',function(e){if(e.key==='Escape'){s.classList.remove('open');b.setAttribute('aria-expanded','false');}});})();</script>
<script>(function(){var d=0,E=["scroll","mousemove","touchstart","click","keydown"];function g(){if(d)return;d=1;E.forEach(function(t){window.removeEventListener(t,g)});var s=document.createElement("script");s.src="/chatbot-taxi.min.js?v=202608012222";s.defer=!0;document.head.appendChild(s)}E.forEach(function(t){window.addEventListener(t,g,{passive:!0,once:!0})});if(document.readyState==="complete"){setTimeout(g,2500)}else{window.addEventListener("load",function(){setTimeout(g,2500)})}})();</script>
</body>
</html>