(function(d){if(d.readyState!=='loading')return;var r=d.documentElement;r.className+=' dmd-js';setTimeout(function(){if(!r.hasAttribute('data-dmd-anim')){r.className=r.className.replace(/\bdmd-js\b/,'');}},2500);})(document); /* ========================================================================== Drive me Driver — Méga-menu Reproduit la maquette : barre blanche, 3 panneaux (Prestations / Circuits Alsace / Événements & Pro), colonne descriptive + liens sur deux colonnes + carte latérale. Charte : or #C9A226 · bleu nuit #061B2B · gris clair #F7F7F5 ========================================================================== */.dmd-mm{ --mm-or:#C9A226; --mm-nuit:#061B2B; --mm-gris:#F7F7F5; --mm-bord:#E6E8EA; --mm-doux:#6B7580; --mm-shell:1280px; --mm-h:84px; position:relative;z-index:900;background:#fff; font-family:'Roboto','Helvetica Neue',Helvetica,Arial,system-ui,sans-serif; border-bottom:1px solid var(--mm-bord); } .dmd-mm *,.dmd-mm *::before,.dmd-mm *::after{box-sizing:border-box} .dmd-mm--sticky{position:sticky;top:0} body.admin-bar .dmd-mm--sticky{top:32px} @media(max-width:782px){body.admin-bar .dmd-mm--sticky{top:46px}}.dmd-mm__shell{max-width:var(--mm-shell);margin:0 auto;padding:0 24px; display:flex;align-items:center;gap:20px;min-height:var(--mm-h)}/* ---------- Logo ---------- */ .dmd-mm__logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto} .dmd-mm__logo img{display:block;height:48px;width:auto} .dmd-mm__logo-txt{display:flex;flex-direction:column;line-height:1.15} .dmd-mm__logo-nom{font-size:17px;font-weight:700;letter-spacing:.16em;color:var(--mm-nuit); text-transform:uppercase;white-space:nowrap} .dmd-mm__logo-sous{font-size:10.5px;font-weight:500;letter-spacing:.12em;color:var(--mm-doux); text-transform:uppercase}/* ---------- Navigation ---------- */ .dmd-mm__nav{display:flex;align-items:center;gap:4px;margin-left:auto;list-style:none;margin-block:0;padding:0} .dmd-mm__item{position:static} .dmd-mm__lien{display:inline-flex;align-items:center;gap:7px;padding:12px 16px;border-radius:10px; font-size:15px;font-weight:700;color:var(--mm-nuit);text-decoration:none;background:none;border:0; font-family:inherit;cursor:pointer;line-height:1.25;transition:color .18s ease,background .18s ease} .dmd-mm__lien:hover,.dmd-mm__lien:focus-visible{color:var(--mm-or);background:var(--mm-gris)} .dmd-mm__item[data-ouvert="1"]>.dmd-mm__lien{color:var(--mm-or)} .dmd-mm__fleche{width:11px;height:11px;flex:0 0 auto;transition:transform .22s ease} .dmd-mm__item[data-ouvert="1"] .dmd-mm__fleche{transform:rotate(180deg)}/* ---------- Outils (langue, téléphone, CTA) ---------- */ .dmd-mm__outils{display:flex;align-items:center;gap:14px;flex:0 0 auto} .dmd-mm__langue{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--mm-r,50px); border:1px solid var(--mm-bord);font-size:13px;font-weight:600;color:var(--mm-nuit); text-decoration:none;text-transform:uppercase;letter-spacing:.04em;transition:border-color .18s ease} .dmd-mm__langue:hover{border-color:var(--mm-or);color:var(--mm-or)} .dmd-mm__langue svg{width:14px;height:14px} .dmd-mm__tel{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600; color:var(--mm-nuit);text-decoration:none;white-space:nowrap} .dmd-mm__tel:hover{color:var(--mm-or)} .dmd-mm__tel svg{width:15px;height:15px;color:var(--mm-or);flex:0 0 auto} .dmd-mm__cta{display:inline-flex;align-items:center;justify-content:center;background:var(--mm-or); color:#1B1B1B;font-size:14.5px;font-weight:700;padding:14px 26px;border-radius:50px; text-decoration:none;line-height:1.2;text-align:center; transition:background .18s ease,transform .18s ease,box-shadow .18s ease} .dmd-mm__cta:hover,.dmd-mm__cta:focus-visible{background:#D9B84C;color:#1B1B1B;transform:translateY(-1px); box-shadow:0 10px 22px rgba(201,162,38,.34)}/* ---------- Panneau ---------- */ .dmd-mm__panneau{position:absolute;left:0;right:0;top:100%;background:#fff; border-top:1px solid var(--mm-bord);box-shadow:0 26px 50px rgba(6,27,43,.13); opacity:0;visibility:hidden;transform:translateY(-8px); transition:opacity .22s ease,transform .22s ease,visibility .22s ease} .dmd-mm__item[data-ouvert="1"]>.dmd-mm__panneau{opacity:1;visibility:visible;transform:none}.dmd-mm__grille{max-width:var(--mm-shell);margin:0 auto;padding:34px 24px 38px; display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2.1fr) minmax(230px,1fr);gap:34px;align-items:start} .dmd-mm__grille--sans-carte{grid-template-columns:minmax(220px,1fr) minmax(0,2.6fr)}.dmd-mm__intro{padding-right:28px;border-right:1px solid var(--mm-bord);align-self:stretch} .dmd-mm__intro h3{margin:0 0 12px;font-size:19px;font-weight:700;color:var(--mm-nuit);line-height:1.25} .dmd-mm__intro p{margin:0;font-size:14px;line-height:1.6;color:var(--mm-doux)}.dmd-mm__eti{display:block;margin:0 0 16px;font-size:11px;font-weight:700;letter-spacing:.14em; text-transform:uppercase;color:var(--mm-doux)}.dmd-mm__liens{list-style:none;margin:0;padding:0; display:grid;grid-template-columns:1fr 1fr;gap:2px 30px} .dmd-mm__liens a{display:block;padding:8px 10px;margin-left:-10px;border-radius:8px; font-size:14.5px;font-weight:500;color:var(--mm-nuit);text-decoration:none;line-height:1.35; transition:color .16s ease,background .16s ease} .dmd-mm__liens a:hover,.dmd-mm__liens a:focus-visible{color:var(--mm-or);background:var(--mm-gris)} .dmd-mm__liens a[aria-current]{color:var(--mm-or);font-weight:700}/* Carte latérale */ .dmd-mm__carte{background:var(--mm-gris);border-radius:14px;padding:22px 24px} .dmd-mm__carte .dmd-mm__eti{margin-bottom:14px} .dmd-mm__carte ul{list-style:none;margin:0;padding:0;display:grid;gap:2px} .dmd-mm__carte a{display:block;padding:8px 0;font-size:14.5px;font-weight:500;color:var(--mm-nuit); text-decoration:none;line-height:1.35;transition:color .16s ease,padding-left .16s ease} .dmd-mm__carte a:hover,.dmd-mm__carte a:focus-visible{color:var(--mm-or);padding-left:5px}/* ---------- Burger ---------- */ .dmd-mm__burger{display:none;align-items:center;justify-content:center;width:46px;height:46px; margin-left:auto;background:none;border:1px solid var(--mm-bord);border-radius:10px;cursor:pointer; color:var(--mm-nuit);flex:0 0 auto} .dmd-mm__burger svg{width:22px;height:22px} .dmd-mm__burger[aria-expanded="true"]{background:var(--mm-gris);border-color:var(--mm-or);color:var(--mm-or)}/* ---------- Responsive ---------- */ @media(max-width:1180px){ .dmd-mm__lien{padding:12px 11px;font-size:14px} .dmd-mm__tel span{display:none} .dmd-mm__cta{padding:13px 20px;font-size:14px} } @media(max-width:1023px){ .dmd-mm__shell{min-height:70px;gap:12px;flex-wrap:wrap} .dmd-mm__logo img{height:40px} .dmd-mm__logo-nom{font-size:15px} .dmd-mm__burger{display:inline-flex}/* La nav devient un panneau déroulant plein écran */ .dmd-mm__nav{order:10;flex-basis:100%;margin-left:0;display:none;flex-direction:column; align-items:stretch;gap:0;padding:6px 0 18px;border-top:1px solid var(--mm-bord)} .dmd-mm[data-mobile="1"] .dmd-mm__nav{display:flex} .dmd-mm__item{border-bottom:1px solid var(--mm-bord)} .dmd-mm__lien{width:100%;justify-content:space-between;padding:16px 4px;border-radius:0;font-size:16px} .dmd-mm__lien:hover{background:none}/* Les panneaux deviennent des accordéons dans le flux */ .dmd-mm__panneau{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none; border-top:0;display:none} .dmd-mm__item[data-ouvert="1"]>.dmd-mm__panneau{display:block} .dmd-mm__grille,.dmd-mm__grille--sans-carte{grid-template-columns:1fr;gap:22px;padding:4px 4px 24px} .dmd-mm__intro{padding-right:0;border-right:0} .dmd-mm__intro h3{font-size:17px} .dmd-mm__liens{grid-template-columns:1fr;gap:0} .dmd-mm__liens a{padding:11px 10px}.dmd-mm__outils{order:11;flex-basis:100%;display:none;flex-wrap:wrap;gap:12px;padding-bottom:18px} .dmd-mm[data-mobile="1"] .dmd-mm__outils{display:flex} .dmd-mm__cta{flex:1 1 100%;padding:15px 24px;font-size:16px} } @media(max-width:420px){ .dmd-mm__logo-txt{display:none} .dmd-mm__shell{padding:0 16px} }@media (prefers-reduced-motion:reduce){ .dmd-mm *{transition:none!important} }/* ========================================================================== VARIANTE « CONTENEURS ELEMENTOR NATIFS » Aucun plugin requis : la barre et les panneaux sont des conteneurs, les liens des widgets Bouton. L'ouverture se fait au survol, en CSS pur. ========================================================================== */.dmd-mm--natif{position:relative}/* Elementor pose les classes sur l'enveloppe du widget : on neutralise l'apparence par défaut des boutons avant de les restyler. */ .dmd-mm--natif .elementor-button{ background:none;border:0;box-shadow:none;font-family:inherit;text-decoration:none; display:inline-flex;align-items:center;gap:7px;line-height:1.25; transition:color .18s ease,background .18s ease} .dmd-mm--natif .elementor-button:hover{background:none} .dmd-mm--natif .elementor-button-content-wrapper{align-items:center} .dmd-mm--natif .elementor-widget-button{width:auto}/* --- Barre --- */ .dmd-mm--natif .dmd-mm__shell{max-width:var(--mm-shell);margin:0 auto;width:100%}.dmd-mm--natif .dmd-mm__logo-nom .elementor-heading-title{ font-size:17px;font-weight:700;letter-spacing:.16em;color:var(--mm-nuit); text-transform:uppercase;white-space:nowrap;line-height:1.15} .dmd-mm--natif .dmd-mm__logo-sous .elementor-heading-title{ font-size:10.5px;font-weight:500;letter-spacing:.12em;color:var(--mm-doux); text-transform:uppercase;line-height:1.15} .dmd-mm--natif .dmd-mm__logo img{height:48px;width:auto}/* --- Déclencheur d'un panneau --- */ .dmd-mm--natif .dmd-mm__lien .elementor-button{ padding:12px 16px;border-radius:10px;font-size:15px;font-weight:700;color:var(--mm-nuit)} .dmd-mm--natif .dmd-mm__lien .elementor-button:hover{color:var(--mm-or);background:var(--mm-gris)} .dmd-mm--natif .dmd-mm__item:hover .dmd-mm__lien .elementor-button, .dmd-mm--natif .dmd-mm__item:focus-within .dmd-mm__lien .elementor-button{color:var(--mm-or)} .dmd-mm--natif .dmd-mm__lien .elementor-button-icon{transition:transform .22s ease;font-size:11px} .dmd-mm--natif .dmd-mm__item:hover .dmd-mm__lien .elementor-button-icon, .dmd-mm--natif .dmd-mm__item:focus-within .dmd-mm__lien .elementor-button-icon{transform:rotate(180deg)}/* --- Ouverture du panneau, sans script --- */ .dmd-mm--natif .dmd-mm__item{position:static} .dmd-mm--natif .dmd-mm__panneau{ position:absolute;left:0;right:0;top:100%;z-index:30;background:#fff; border-top:1px solid var(--mm-bord);box-shadow:0 26px 50px rgba(6,27,43,.13); opacity:0;visibility:hidden;transform:translateY(-8px); transition:opacity .22s ease,transform .22s ease,visibility .22s ease} .dmd-mm--natif .dmd-mm__item:hover .dmd-mm__panneau, .dmd-mm--natif .dmd-mm__item:focus-within .dmd-mm__panneau{ opacity:1;visibility:visible;transform:none}.dmd-mm--natif .dmd-mm__grille{max-width:var(--mm-shell);margin:0 auto;width:100%} .dmd-mm--natif .dmd-mm__intro h3.elementor-heading-title{ font-size:19px;font-weight:700;color:var(--mm-nuit);line-height:1.25;margin:0 0 12px} .dmd-mm--natif .dmd-mm__intro p{font-size:14px;line-height:1.6;color:var(--mm-doux);margin:0} .dmd-mm--natif .dmd-mm__eti .elementor-heading-title{ font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mm-doux)}/* --- Liens d'un panneau --- */ .dmd-mm--natif .dmd-mm__l .elementor-button{ padding:8px 10px;margin-left:-10px;border-radius:8px;font-size:14.5px;font-weight:500; color:var(--mm-nuit);display:block;text-align:left} .dmd-mm--natif .dmd-mm__l .elementor-button:hover{color:var(--mm-or);background:var(--mm-gris)} .dmd-mm--natif .dmd-mm__carte .dmd-mm__l .elementor-button{ padding:8px 0;margin-left:0;border-radius:0} .dmd-mm--natif .dmd-mm__carte .dmd-mm__l .elementor-button:hover{background:none;padding-left:5px}/* --- Outils --- */ .dmd-mm--natif .dmd-mm__langue .elementor-button{ padding:8px 14px;border:1px solid var(--mm-bord);border-radius:50px;font-size:13px; font-weight:600;color:var(--mm-nuit);text-transform:uppercase;letter-spacing:.04em} .dmd-mm--natif .dmd-mm__langue .elementor-button:hover{border-color:var(--mm-or);color:var(--mm-or)} .dmd-mm--natif .dmd-mm__tel .elementor-button{font-size:15px;font-weight:600;color:var(--mm-nuit)} .dmd-mm--natif .dmd-mm__tel .elementor-button:hover{color:var(--mm-or)} .dmd-mm--natif .dmd-mm__tel .elementor-button-icon{color:var(--mm-or)} .dmd-mm--natif .dmd-mm__cta .elementor-button{ background:var(--mm-or);color:#1B1B1B;font-size:14.5px;font-weight:700;padding:14px 26px; border-radius:50px;justify-content:center} .dmd-mm--natif .dmd-mm__cta .elementor-button:hover{ background:#D9B84C;color:#1B1B1B;box-shadow:0 10px 22px rgba(201,162,38,.34)}/* --- Repli mobile --- */ @media(max-width:1023px){ .dmd-mm--natif .dmd-mm__nav{display:none} .dmd-mm--natif[data-mobile="1"] .dmd-mm__nav{display:flex} .dmd-mm--natif .dmd-mm__item{border-bottom:1px solid var(--mm-bord)} .dmd-mm--natif .dmd-mm__lien .elementor-button{width:100%;justify-content:space-between; padding:16px 4px;border-radius:0;font-size:16px} .dmd-mm--natif .dmd-mm__panneau{position:static;opacity:1;visibility:visible;transform:none; box-shadow:none;border-top:0;display:none} .dmd-mm--natif .dmd-mm__item[data-ouvert="1"] .dmd-mm__panneau{display:block} .dmd-mm--natif .dmd-mm__item:hover .dmd-mm__panneau{display:none} .dmd-mm--natif .dmd-mm__item[data-ouvert="1"]:hover .dmd-mm__panneau{display:block} .dmd-mm--natif .dmd-mm__outils{display:none} .dmd-mm--natif[data-mobile="1"] .dmd-mm__outils{display:flex} .dmd-mm--natif .dmd-mm__burger{display:inline-flex} }/* Burger de la variante native */ .dmd-mm--natif .dmd-mm__burger{display:none;margin-left:auto} .dmd-mm--natif .dmd-mm__burger .elementor-button{ width:46px;height:46px;justify-content:center;padding:0;border:1px solid var(--mm-bord); border-radius:10px;font-size:20px;color:var(--mm-nuit)} .dmd-mm--natif[data-mobile="1"] .dmd-mm__burger .elementor-button{ background:var(--mm-gris);border-color:var(--mm-or);color:var(--mm-or)}/* ========================================================================== Drive me Driver — Design system de la maquette SXO Charte : or #C9A226 · bleu nuit #061B2B · gris clair #F7F7F5 Toutes les classes sont prefixees .dmd- pour ne jamais entrer en conflit avec Astra, Elementor ou WooCommerce. ========================================================================== */:root{ --dmd-or:#8A6A16; /* or fonce : titres, liens, icones sur fond clair */ --dmd-or-plein:#C9A226; /* or de charte : boutons, surfaces pleines */ --dmd-or-clair:#D9B84C; /* or clair : titres et details sur fond sombre */ --dmd-encre:#1B1B1B; --dmd-blanc:#FFFFFF; --dmd-noir:#061B2B; /* bleu nuit de charte */ --dmd-surface:#102D46; /* bleu marine intermediaire */ --dmd-bord:#2C4A66; --dmd-gris:#F7F7F5; /* gris clair de charte */ --dmd-gris-2:#E3E5E6; --dmd-texte-doux:#5A646E; --dmd-texte-sombre:#C3CDD6; --dmd-r:15px; --dmd-r-pill:50px; --dmd-police:'Roboto','Helvetica Neue',Helvetica,Arial,system-ui,sans-serif; }/* -------------------------------------------------------------------------- 1. Base — portee limitee aux blocs de la maquette -------------------------------------------------------------------------- */ .dmd{font-family:var(--dmd-police);font-weight:300;font-size:16px;line-height:1.6;color:var(--dmd-encre)} .dmd *,.dmd *::before,.dmd *::after{box-sizing:border-box} .dmd img{max-width:100%;display:block} .dmd p{margin:0 0 18px} .dmd p:last-child{margin-bottom:0} .dmd strong,.dmd b{font-weight:600} .dmd h1,.dmd h2,.dmd h3,.dmd h4{font-weight:600;margin:0} .dmd h1{font-size:clamp(30px,4.2vw,40px);line-height:1.1} .dmd h2{font-size:clamp(23px,2.6vw,25px);line-height:1.25;color:var(--dmd-surface)} .dmd h3{font-size:18px;line-height:1.32}/* Elementor enveloppe chaque widget : on neutralise les marges parasites */ .dmd .elementor-widget-container>:last-child{margin-bottom:0}/* -------------------------------------------------------------------------- 2. Surtitre et en-tete de section -------------------------------------------------------------------------- */ .dmd-surtitre{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:500; letter-spacing:.14em;text-transform:uppercase;color:var(--dmd-or);margin:0 0 16px} .dmd-surtitre::before{content:"";width:28px;height:1px;background:currentColor;flex:0 0 auto} .dmd-surtitre--clair{color:var(--dmd-or-clair)}.dmd-entete{max-width:44em} .dmd-entete p{font-size:17px;margin:0}/* -------------------------------------------------------------------------- 3. Boutons -------------------------------------------------------------------------- */ .dmd-btn{display:inline-block;font-family:var(--dmd-police);font-size:20px;font-weight:500; color:#1B1B1B;background:var(--dmd-or-plein);border:1px solid var(--dmd-or-plein); border-radius:var(--dmd-r);padding:15px 30px;text-decoration:none;cursor:pointer;text-align:center; transition:background .18s ease,transform .18s ease,color .18s ease,border-color .18s ease} .dmd-btn:hover,.dmd-btn:focus-visible{background:var(--dmd-or-clair);border-color:var(--dmd-or-clair); color:#1B1B1B;transform:translateY(-2px)} .dmd-btn--sm{font-size:15px;padding:11px 22px} .dmd-btn--bloc{width:100%} .dmd-btn--clair{background:transparent;color:var(--dmd-blanc);border-color:rgba(255,255,255,.45)} .dmd-btn--clair:hover,.dmd-btn--clair:focus-visible{background:var(--dmd-blanc);color:var(--dmd-noir);border-color:var(--dmd-blanc)} .dmd-btn--fonce{background:var(--dmd-surface);color:var(--dmd-blanc);border-color:var(--dmd-surface)} .dmd-btn--fonce:hover,.dmd-btn--fonce:focus-visible{background:var(--dmd-noir);border-color:var(--dmd-noir);color:var(--dmd-blanc)}/* Boutons natifs Elementor repris a la charte */ .dmd .elementor-button.dmd-btn{line-height:1.2}/* -------------------------------------------------------------------------- 4. Fils d'Ariane -------------------------------------------------------------------------- */ .dmd-fil{background:var(--dmd-noir);border-bottom:1px solid var(--dmd-bord)} .dmd-fil ol{list-style:none;margin:0;padding:11px 0;display:flex;flex-wrap:wrap;gap:8px; align-items:center;font-size:13px;color:var(--dmd-texte-sombre)} .dmd-fil a{color:inherit;text-decoration:none} .dmd-fil a:hover{color:var(--dmd-or-clair);text-decoration:underline} .dmd-fil li[aria-current]{color:var(--dmd-blanc);font-weight:500}/* -------------------------------------------------------------------------- 5. Hero -------------------------------------------------------------------------- */ .dmd-hero{position:relative;overflow:hidden} .dmd-hero .dmd-hero__voile{position:absolute;inset:0;z-index:1;pointer-events:none; background:linear-gradient(102deg,rgba(6,27,43,.72) 0%,rgba(6,27,43,.52) 42%,rgba(6,27,43,.20) 100%)} .dmd-hero>.e-con-inner,.dmd-hero>.elementor-container{position:relative;z-index:2} .dmd-hero h1{color:var(--dmd-blanc)} .dmd-hero .dmd-chapo{font-size:17px;color:#E7EBEF;max-width:40em} .dmd-hero .dmd-chapo strong{color:var(--dmd-or-clair)}.dmd-filet{display:flex;gap:26px;flex-wrap:wrap;padding-top:24px; border-top:1px solid rgba(255,255,255,.16);font-size:14px;color:var(--dmd-texte-sombre); list-style:none;margin:0} .dmd-filet li{display:flex;align-items:center;gap:9px} .dmd-filet li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dmd-or-clair);flex:0 0 auto}/* -------------------------------------------------------------------------- 6. Carte de demande de trajet + calculateur (formulaires) -------------------------------------------------------------------------- */ .dmd-carte{background:var(--dmd-blanc);color:var(--dmd-encre);border-radius:var(--dmd-r); padding:28px;box-shadow:0 30px 70px rgba(0,0,0,.45);border-top:4px solid var(--dmd-or-plein)} .dmd-carte__titre{font-size:20px;margin:0 0 4px;color:var(--dmd-encre)} .dmd-carte__st{font-size:13.5px;color:#66717B;margin:0 0 20px} .dmd-carte__fin{font-size:12.5px;color:#66717B;margin:14px 0 0;text-align:center}.dmd-champ{margin-bottom:14px} .dmd-champ:last-child{margin-bottom:0} .dmd-champ label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em; text-transform:uppercase;color:#66717B;margin-bottom:6px} .dmd-champ input,.dmd-champ select{width:100%;font-family:var(--dmd-police);font-size:15.5px; color:var(--dmd-encre);background:var(--dmd-gris);border:1px solid var(--dmd-gris-2); border-radius:8px;padding:12px 13px;line-height:1.3} .dmd-champ input:focus,.dmd-champ select:focus{background:var(--dmd-blanc); border-color:var(--dmd-or-plein);outline:none;box-shadow:0 0 0 3px rgba(201,162,38,.18)} .dmd-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}/* -------------------------------------------------------------------------- 7. Chaine du process (4 etapes reliees) -------------------------------------------------------------------------- */ .dmd-chaine{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin-top:8px} .dmd-chaine::before{content:"";position:absolute;left:12%;right:12%;top:30px;height:2px; background:linear-gradient(90deg,var(--dmd-or-plein),var(--dmd-or) 60%,var(--dmd-gris-2));z-index:0} .dmd-maillon{position:relative;z-index:1;text-align:center;padding:0 16px;text-decoration:none; display:block;color:inherit} .dmd-maillon__pt{width:60px;height:60px;border-radius:50%;background:var(--dmd-blanc); border:2px solid var(--dmd-gris-2);display:grid;place-items:center;margin:0 auto 16px; font-size:16px;font-weight:600;color:var(--dmd-or); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease} .dmd-maillon:hover .dmd-maillon__pt,.dmd-maillon:focus-visible .dmd-maillon__pt{ transform:translateY(-4px);border-color:var(--dmd-or-plein);background:var(--dmd-or-plein); color:#1B1B1B;box-shadow:0 14px 28px rgba(201,162,38,.32)} .dmd-maillon h3{font-size:16px;margin:0 0 6px} .dmd-maillon p{font-size:13.5px;color:var(--dmd-texte-doux);margin:0} .dmd-maillon__go{display:inline-block;margin-top:10px;font-size:13px;font-weight:500;color:var(--dmd-or); opacity:0;transform:translateY(-3px);transition:opacity .2s ease,transform .2s ease} .dmd-maillon:hover .dmd-maillon__go,.dmd-maillon:focus-visible .dmd-maillon__go{opacity:1;transform:none}/* -------------------------------------------------------------------------- 8. Blocs texte + photo -------------------------------------------------------------------------- */ .dmd-visuel{position:relative;border-radius:var(--dmd-r);overflow:hidden;background:var(--dmd-surface)} .dmd-visuel img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3} .dmd-cartouche{position:absolute;left:0;right:0;bottom:0;z-index:2; background:linear-gradient(0deg,rgba(6,27,43,.78),rgba(6,27,43,0)); color:var(--dmd-blanc);padding:44px 24px 20px;font-size:14.5px} .dmd-cartouche b{display:block;color:var(--dmd-or-clair);font-size:15.5px;margin-bottom:2px}.dmd-citation{border-left:3px solid var(--dmd-or-plein);background:var(--dmd-gris); border-radius:0 var(--dmd-r) var(--dmd-r) 0;padding:20px 24px;margin:24px 0 0; font-size:17px;font-weight:400;color:var(--dmd-encre)} .dmd-citation p:last-child{margin-bottom:0}.dmd-puces{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:9px} .dmd-puces li{font-size:13.5px;font-weight:500;border:1px solid var(--dmd-gris-2); background:var(--dmd-gris);border-radius:var(--dmd-r-pill);padding:7px 16px}/* Trois mini-cartes */ .dmd-mini{border:1px solid var(--dmd-gris-2);border-radius:var(--dmd-r);padding:22px;height:100%} .dmd-mini h3{font-size:15.5px;color:var(--dmd-or);margin:0 0 6px} .dmd-mini p{font-size:13.5px;color:var(--dmd-texte-doux);margin:0}/* -------------------------------------------------------------------------- 9. Signature metier — bloc sombre + calculateur -------------------------------------------------------------------------- */ .dmd-signature{background:var(--dmd-surface);color:var(--dmd-blanc)} .dmd-signature h2{color:var(--dmd-or-clair)} .dmd-signature p{color:var(--dmd-texte-sombre)} .dmd-liste{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:13px} .dmd-liste li{display:flex;gap:12px;font-size:15px;color:#DCE3E9;align-items:flex-start} .dmd-liste li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dmd-or-clair); margin-top:8px;flex:0 0 auto} .dmd-note{font-size:12.5px;color:var(--dmd-texte-sombre);margin-top:16px}.dmd-calc{background:var(--dmd-blanc);color:var(--dmd-encre);border-radius:var(--dmd-r);padding:30px; box-shadow:0 26px 60px rgba(0,0,0,.4)} .dmd-calc h3{font-size:17px;margin:0 0 20px} .dmd-calc input[type=range]{width:100%;padding:0;background:none;border:0;accent-color:var(--dmd-or-plein)} .dmd-calc__val{float:right;font-weight:600;color:var(--dmd-or);letter-spacing:0;text-transform:none} .dmd-calc__res{margin-top:22px;padding:22px;border-radius:var(--dmd-r);background:var(--dmd-gris); border:1px dashed var(--dmd-or-plein)} .dmd-calc__res small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.1em; text-transform:uppercase;color:#66717B;margin-bottom:6px} .dmd-calc__heure{font-size:40px;font-weight:600;color:var(--dmd-or);line-height:1; font-variant-numeric:tabular-nums;display:block} .dmd-calc__res p{font-size:14px;color:#4A5560;margin:14px 0 0} .dmd-calc__res p b{color:var(--dmd-encre)}/* -------------------------------------------------------------------------- 10. Equipements -------------------------------------------------------------------------- */ .dmd-equip{border:1px solid var(--dmd-gris-2);border-radius:var(--dmd-r);padding:24px; background:var(--dmd-blanc);text-align:center;height:100%} .dmd-equip__ic{width:46px;height:46px;border-radius:50%;background:var(--dmd-gris);color:var(--dmd-or); display:grid;place-items:center;margin:0 auto 14px;font-size:20px;font-weight:600;line-height:1} .dmd-equip h3{font-size:15.5px;margin:0 0 5px} .dmd-equip p{font-size:13px;color:var(--dmd-texte-doux);margin:0}/* -------------------------------------------------------------------------- 11. Preuve E-E-A-T -------------------------------------------------------------------------- */ .dmd-preuve{background:var(--dmd-noir);color:var(--dmd-blanc)} .dmd-preuve h2{color:var(--dmd-or-clair)} .dmd-preuve .dmd-entete p{color:var(--dmd-texte-sombre)} .dmd-carte-p{border:1px solid var(--dmd-bord);border-radius:var(--dmd-r);padding:26px; background:var(--dmd-surface);height:100%} .dmd-carte-p__gros{font-size:30px;font-weight:600;color:var(--dmd-or-clair);line-height:1; margin-bottom:10px;font-variant-numeric:tabular-nums;display:block} .dmd-carte-p h3{font-size:15.5px;margin:0 0 6px;color:var(--dmd-blanc)} .dmd-carte-p p{font-size:13.5px;color:var(--dmd-texte-sombre);margin:0} .dmd-signee{display:flex;align-items:center;gap:16px;margin-top:34px;padding-top:24px; border-top:1px solid var(--dmd-bord);font-size:14px;color:var(--dmd-texte-sombre);flex-wrap:wrap} .dmd-signee img{height:52px;width:auto} .dmd-signee a{color:var(--dmd-or-clair)}/* -------------------------------------------------------------------------- 12. Maillage interne — cartes lien -------------------------------------------------------------------------- */ .dmd-lien-carte{position:relative;display:flex;flex-direction:column;text-decoration:none; border:1px solid var(--dmd-gris-2);border-radius:var(--dmd-r);padding:24px;background:var(--dmd-blanc); overflow:hidden;height:100%;color:inherit;transition:transform .2s ease,box-shadow .2s ease} .dmd-lien-carte::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px; background:var(--dmd-or-plein);transform:scaleY(0);transform-origin:top;transition:transform .26s ease} .dmd-lien-carte:hover,.dmd-lien-carte:focus-visible{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.11)} .dmd-lien-carte:hover::before,.dmd-lien-carte:focus-visible::before{transform:scaleY(1)} .dmd-lien-carte__cat{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#66717B} .dmd-lien-carte h3{margin:9px 0 0;font-size:16.5px} .dmd-lien-carte__go{margin-top:16px;font-size:13.5px;font-weight:500;color:var(--dmd-or); display:flex;align-items:center;gap:7px}.dmd-sep{display:flex;align-items:center;gap:18px;margin:52px 0 28px} .dmd-sep span{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#66717B} .dmd-sep::after{content:"";height:1px;background:var(--dmd-gris-2);flex:1}/* -------------------------------------------------------------------------- 13. FAQ — accordeon Elementor remis a la charte -------------------------------------------------------------------------- */ .dmd-faq{background:var(--dmd-gris)} .dmd-faq .elementor-accordion .elementor-accordion-item{border:0;border-bottom:1px solid var(--dmd-gris-2)} .dmd-faq .elementor-accordion .elementor-accordion-item:first-child{border-top:1px solid var(--dmd-gris-2)} .dmd-faq .elementor-tab-title{padding:20px 44px 20px 0;font-size:17px;font-weight:500; color:var(--dmd-encre);background:none;position:relative} .dmd-faq .elementor-tab-title a,.dmd-faq .elementor-accordion-title{color:inherit} .dmd-faq .elementor-accordion-icon{position:absolute;right:6px;top:50%;transform:translateY(-50%); color:var(--dmd-or);width:auto} .dmd-faq .elementor-tab-content{padding:0 0 20px;border:0;font-size:15.5px;background:none} .dmd-faq .elementor-tab-content a{color:var(--dmd-or)}/* -------------------------------------------------------------------------- 14. Conversion finale -------------------------------------------------------------------------- */ .dmd-conv{position:relative;color:var(--dmd-blanc);overflow:hidden} .dmd-conv .dmd-conv__voile{position:absolute;inset:0;z-index:1;pointer-events:none; background:linear-gradient(95deg,rgba(6,27,43,.74),rgba(6,27,43,.34))} .dmd-conv>.e-con-inner,.dmd-conv>.elementor-container{position:relative;z-index:2} .dmd-conv h2{color:var(--dmd-blanc)} .dmd-conv p{color:var(--dmd-texte-sombre)}/* -------------------------------------------------------------------------- 15. Barre d'action mobile -------------------------------------------------------------------------- */ .dmd-barre-mobile{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90; background:var(--dmd-surface);border-top:1px solid var(--dmd-bord);padding:10px 12px;gap:10px} .dmd-barre-mobile a{flex:1;text-align:center;text-decoration:none;font-size:15px;font-weight:500; padding:13px 10px;border-radius:var(--dmd-r)} .dmd-barre-mobile .dmd-barre-mobile__tel{color:var(--dmd-blanc);border:1px solid var(--dmd-bord)} .dmd-barre-mobile .dmd-barre-mobile__res{background:var(--dmd-or-plein);color:#1B1B1B}/* -------------------------------------------------------------------------- 16. Revelation au defilement -------------------------------------------------------------------------- */ .dmd-rv{opacity:0;transform:translateY(20px); transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)} .dmd-rv.dmd-vu{opacity:1;transform:none}.dmd :focus-visible{outline:3px solid var(--dmd-or-plein);outline-offset:3px;border-radius:4px}@media (prefers-reduced-motion:reduce){ .dmd *{animation:none!important;transition:none!important} .dmd-rv{opacity:1;transform:none} }/* -------------------------------------------------------------------------- 17. Responsive -------------------------------------------------------------------------- */ @media(max-width:1060px){ .dmd-chaine{grid-template-columns:1fr 1fr;gap:32px} .dmd-chaine::before{display:none} } @media(max-width:767px){ .dmd-chaine{grid-template-columns:1fr} .dmd-duo{grid-template-columns:1fr} .dmd-btn{width:100%;font-size:17px;padding:14px 22px} .dmd-visuel img{aspect-ratio:3/2} .dmd-barre-mobile{display:flex} .dmd-calc__heure{font-size:34px} .dmd-carte{padding:22px} }/* -------------------------------------------------------------------------- 18. Ponts avec les widgets natifs Elementor Les cartes de la maquette sont des conteneurs Elementor : le lien « aller » est un widget Bouton dont la zone cliquable est étendue à toute la carte. -------------------------------------------------------------------------- */ .dmd-lien-carte .elementor-button, .dmd-maillon .elementor-button{ background:none;border:0;padding:0;box-shadow:none; font-family:var(--dmd-police);font-size:13.5px;font-weight:500;color:var(--dmd-or);fill:var(--dmd-or)} .dmd-lien-carte .elementor-button:hover, .dmd-maillon .elementor-button:hover{background:none;color:var(--dmd-or);transform:none} .dmd-lien-carte .elementor-button::after, .dmd-maillon .elementor-button::after{content:"";position:absolute;inset:0;z-index:1} .dmd-lien-carte .elementor-widget-button{margin-top:16px} .dmd-maillon .elementor-widget-button{margin-top:10px;opacity:0;transform:translateY(-3px); transition:opacity .2s ease,transform .2s ease} .dmd-maillon:hover .elementor-widget-button, .dmd-maillon:focus-within .elementor-widget-button{opacity:1;transform:none}/* Le conteneur « carte » se comporte comme un bloc cliquable */ .dmd-lien-carte,.dmd-maillon{position:relative} .dmd-lien-carte{transition:transform .2s ease,box-shadow .2s ease} .dmd-lien-carte:hover,.dmd-lien-carte:focus-within{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.11)} .dmd-lien-carte:hover::before,.dmd-lien-carte:focus-within::before{transform:scaleY(1)} .dmd-maillon:hover .dmd-maillon__pt,.dmd-maillon:focus-within .dmd-maillon__pt{ transform:translateY(-4px);border-color:var(--dmd-or-plein);background:var(--dmd-or-plein); color:#1B1B1B;box-shadow:0 14px 28px rgba(201,162,38,.32)}/* FAQ : le site utilise le widget Bascule (toggle) — on couvre les deux */ .dmd-faq .elementor-toggle .elementor-toggle-item{border-bottom:1px solid var(--dmd-gris-2)} .dmd-faq .elementor-toggle .elementor-toggle-item:first-child{border-top:1px solid var(--dmd-gris-2)} .dmd-faq .elementor-toggle .elementor-tab-title{padding:20px 44px 20px 0;font-size:17px;font-weight:500; color:var(--dmd-encre);background:none;border:0;position:relative} .dmd-faq .elementor-toggle .elementor-toggle-icon{position:absolute;right:6px;top:50%; transform:translateY(-50%);color:var(--dmd-or);width:auto} .dmd-faq .elementor-toggle .elementor-tab-content{padding:0 0 20px;border:0;background:none;font-size:15.5px} .dmd-faq .elementor-toggle .elementor-tab-content a{color:var(--dmd-or)}/* Image de fond des sections sombres : le voile est un pseudo-élément */ .dmd-fond-sombre{position:relative} .dmd-fond-sombre>.e-con-inner{position:relative;z-index:2} .dmd-fond-sombre::before{content:"";position:absolute;inset:0;z-index:1; background:linear-gradient(102deg,rgba(6,27,43,.80) 0%,rgba(6,27,43,.58) 42%,rgba(6,27,43,.26) 100%)} .dmd-fond-sombre--conv::before{ background:linear-gradient(95deg,rgba(6,27,43,.80),rgba(6,27,43,.40))}/* -------------------------------------------------------------------------- 19. Listes produites par le widget « Liste d'icônes » La classe est posée sur l'enveloppe du widget : on recable la mise en forme sur le
    et les
  • générés par Elementor. -------------------------------------------------------------------------- */ .dmd-filet,.dmd-liste,.dmd-puces{display:block}.dmd-filet .elementor-icon-list-items{display:flex;gap:26px;flex-wrap:wrap;margin:0;padding:0;list-style:none} .dmd-filet .elementor-icon-list-item{display:flex;align-items:center;gap:9px;font-size:14px; color:var(--dmd-texte-sombre);margin:0} .dmd-filet .elementor-icon-list-item::before{content:"";width:7px;height:7px;border-radius:50%; background:var(--dmd-or-clair);flex:0 0 auto} .dmd-filet .elementor-icon-list-icon{display:none}.dmd-liste .elementor-icon-list-items{display:grid;gap:13px;margin:0;padding:0;list-style:none} .dmd-liste .elementor-icon-list-item{display:flex;gap:12px;align-items:flex-start;font-size:15px; color:#DCE3E9;margin:0} .dmd-liste .elementor-icon-list-item::before{content:"";width:8px;height:8px;border-radius:50%; background:var(--dmd-or-clair);margin-top:8px;flex:0 0 auto} .dmd-liste .elementor-icon-list-icon{display:none}.dmd-puces .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none} .dmd-puces .elementor-icon-list-item{font-size:13.5px;font-weight:500;border:1px solid var(--dmd-gris-2); background:var(--dmd-gris);border-radius:var(--dmd-r-pill);padding:7px 16px;margin:0} .dmd-puces .elementor-icon-list-icon{display:none}/* Sur fond sombre, la liste de conversion reprend la même grammaire */ .dmd-conv .dmd-liste .elementor-icon-list-item{color:#DCE3E9}/* -------------------------------------------------------------------------- 20. Compatibilité avec les styles globaux Elementor et Astra Le kit Elementor impose une typographie aux titres. Les règles ci-dessous sont volontairement plus spécifiques pour que la maquette reste fidèle, sans toucher au reste du site. -------------------------------------------------------------------------- */ .dmd .elementor-widget-heading .elementor-heading-title{ font-family:var(--dmd-police);margin:0;color:inherit} .dmd .elementor-widget-heading h1.elementor-heading-title{ font-size:clamp(30px,4.2vw,40px);line-height:1.1;font-weight:600} .dmd .elementor-widget-heading h2.elementor-heading-title{ font-size:clamp(23px,2.6vw,25px);line-height:1.25;font-weight:600;color:var(--dmd-surface)} .dmd .elementor-widget-heading h3.elementor-heading-title{ font-size:18px;line-height:1.32;font-weight:600}.dmd-hero .elementor-widget-heading h1.elementor-heading-title{color:var(--dmd-blanc)} .dmd-signature .elementor-widget-heading h2.elementor-heading-title{color:var(--dmd-or-clair)} .dmd-preuve .elementor-widget-heading h2.elementor-heading-title{color:var(--dmd-or-clair)} .dmd-preuve .elementor-widget-heading h3.elementor-heading-title{color:var(--dmd-blanc)} .dmd-conv .elementor-widget-heading h2.elementor-heading-title{color:var(--dmd-blanc)}/* Surtitre : trait or + libellé */ .dmd .dmd-surtitre{display:inline-flex;align-items:center;gap:10px;width:auto;margin-bottom:16px} .dmd .dmd-surtitre .elementor-heading-title{font-size:12px;font-weight:500;letter-spacing:.14em; text-transform:uppercase;color:inherit;line-height:1.4}/* Pastille numérotée du process */ .dmd .dmd-maillon .dmd-maillon__pt{width:60px;height:60px;margin:0 auto 16px;flex:0 0 auto} .dmd .dmd-maillon .dmd-maillon__pt .elementor-heading-title{font-size:16px;font-weight:600; color:inherit;line-height:1}/* Pictogramme des équipements */ .dmd .dmd-equip .dmd-equip__ic{width:46px;height:46px;margin:0 auto 14px;flex:0 0 auto} .dmd .dmd-equip .dmd-equip__ic .elementor-heading-title{font-size:20px;color:inherit;line-height:1}/* Chiffres de la preuve */ .dmd .dmd-carte-p .dmd-carte-p__gros .elementor-heading-title{font-size:30px;font-weight:600; color:inherit;line-height:1} .dmd .dmd-lien-carte .dmd-lien-carte__cat .elementor-heading-title{font-size:11px;font-weight:600; letter-spacing:.1em;text-transform:uppercase;color:inherit} .dmd .dmd-sep .elementor-heading-title{font-size:12px;font-weight:600;letter-spacing:.1em; text-transform:uppercase;color:#66717B}/* Corps de texte */ .dmd .elementor-widget-text-editor{color:inherit} .dmd .dmd-chapo p{font-size:17px;margin-bottom:0} .dmd .dmd-entete .elementor-widget-text-editor p{font-size:17px;margin-bottom:0} .dmd .dmd-citation p{font-size:17px;font-weight:400;margin-bottom:0} .dmd .dmd-note p{font-size:12.5px;color:var(--dmd-texte-sombre);margin-bottom:0} .dmd .dmd-cartouche p{margin-bottom:0;font-size:14.5px} .dmd .dmd-mini p,.dmd .dmd-maillon p{font-size:13.5px;color:var(--dmd-texte-doux);margin-bottom:0} .dmd .dmd-equip p{font-size:13px;color:var(--dmd-texte-doux);margin-bottom:0} .dmd .dmd-carte-p p{font-size:13.5px;color:var(--dmd-texte-sombre);margin-bottom:0} .dmd .dmd-signee p{font-size:14px;color:var(--dmd-texte-sombre);margin-bottom:0} .dmd .dmd-signee .elementor-widget-image{width:auto;flex:0 0 auto} .dmd .dmd-signee img{height:52px;width:auto}/* Boutons : la classe est posée sur l'enveloppe du widget */ .dmd .dmd-btn{width:auto} .dmd .dmd-btn .elementor-button{display:inline-block;font-family:var(--dmd-police);font-size:20px; font-weight:500;color:#1B1B1B;background:var(--dmd-or-plein);border:1px solid var(--dmd-or-plein); border-radius:var(--dmd-r);padding:15px 30px;line-height:1.2; transition:background .18s ease,transform .18s ease,color .18s ease,border-color .18s ease} .dmd .dmd-btn .elementor-button:hover,.dmd .dmd-btn .elementor-button:focus-visible{ background:var(--dmd-or-clair);border-color:var(--dmd-or-clair);color:#1B1B1B;transform:translateY(-2px)} .dmd .dmd-btn--clair .elementor-button{background:transparent;color:var(--dmd-blanc); border-color:rgba(255,255,255,.45)} .dmd .dmd-btn--clair .elementor-button:hover,.dmd .dmd-btn--clair .elementor-button:focus-visible{ background:var(--dmd-blanc);color:var(--dmd-noir);border-color:var(--dmd-blanc)} .dmd .dmd-btn .elementor-button::after{content:none}@media(max-width:767px){ .dmd .dmd-btn,.dmd .dmd-btn .elementor-button{width:100%} .dmd .dmd-btn .elementor-button{font-size:17px;padding:14px 22px} }/* Mise en page propre au modele section/colonne d'Elementor */ /* Un widget occupe la largeur de sa colonne. Regle d'Elementor, reprise ici parce que l'optimisation CSS de LiteSpeed peut la retirer : un widget dont le contenu n'a pas de largeur propre se reduisait alors a rien. Les regles qui suivent peuvent la contredire au cas par cas, les boutons par exemple. */ .dmd :where(.elementor-widget-wrap)>:where(.elementor-element){width:100%} .dmd .elementor-widget-wrap{align-content:flex-start} .dmd-rangee>.elementor-container{align-items:inherit} .dmd-gap-60>.elementor-container{gap:60px} .dmd-gap-56>.elementor-container{gap:56px} .dmd-gap-52>.elementor-container{gap:52px} .dmd-gap-48>.elementor-container{gap:48px} .dmd-gap-18>.elementor-container{gap:18px} .dmd-gap-16>.elementor-container{gap:16px} .dmd-gap-0>.elementor-container{gap:0} .dmd-grille{margin-bottom:18px} .dmd-grille:last-child{margin-bottom:0} /* Les grilles de cartes passent en grille CSS : les cartes d'une meme rangee gardent ainsi la meme hauteur, quelle que soit la longueur du texte. */ .dmd .dmd-rangee+.dmd-grille{margin-top:26px} .dmd .dmd-grille>.elementor-container{display:grid;align-items:stretch} .dmd .dmd-grille>.elementor-container>.elementor-column{width:auto} .dmd .dmd-grille-2>.elementor-container{grid-template-columns:repeat(2,1fr)} .dmd .dmd-grille-3>.elementor-container{grid-template-columns:repeat(3,1fr)} .dmd .dmd-grille-4>.elementor-container{grid-template-columns:repeat(4,1fr)} @media(max-width:1060px){ .dmd .dmd-grille-3>.elementor-container, .dmd .dmd-grille-4>.elementor-container{grid-template-columns:repeat(2,1fr)} } @media(max-width:767px){ .dmd .dmd-grille>.elementor-container{grid-template-columns:1fr} }.dmd-signee .elementor-widget-image, .dmd-signee .elementor-widget-text-editor{width:auto} .dmd-signee .elementor-widget-image{margin-right:16px}/* Les cartes sont des colonnes : on leur rend leur boite */ .dmd-lien-carte>.elementor-widget-wrap, .dmd-mini>.elementor-widget-wrap, .dmd-equip>.elementor-widget-wrap, .dmd-carte-p>.elementor-widget-wrap{height:100%} .dmd-visuel>.elementor-widget-wrap{padding:0} .dmd-visuel .elementor-widget-image{width:100%} /* La chaine des quatre etapes : ce sont les colonnes Elementor qui portent la repartition, la classe ne sert plus qu'au filet dore decoratif. */ .dmd .elementor-section.dmd-chaine{display:block} .dmd .elementor-section.dmd-chaine>.elementor-container{position:relative;z-index:1} .dmd-maillon{text-align:center} .dmd-maillon .elementor-widget-button{margin:10px auto 0} .dmd-equip{text-align:center}/* -------------------------------------------------------------------- Priorite sur les styles globaux d'Astra et du kit Elementor. Limite aux couleurs que la maquette impose : ailleurs, les reglages du site continuent de s'appliquer normalement. -------------------------------------------------------------------- */ .dmd .dmd-chapo,.dmd .dmd-chapo p{color:#E7EBEF!important} /* Le cartouche pose sur la photo : texte clair, et la colonne visuel ne doit garder aucune marge interne sinon l'image ne remplit plus la carte. */ .dmd .dmd-cartouche,.dmd .dmd-cartouche p{color:#fff!important} /* La photo occupe toute la carte : sans cela le fond de la colonne apparait en bandes au-dessus et au-dessous de l'image. */ .dmd .dmd-visuel>.elementor-widget-wrap{padding:0!important;height:100%} .dmd .dmd-visuel .elementor-widget-image{height:100%;display:flex} .dmd .dmd-visuel .elementor-widget-image>.elementor-widget-container{width:100%;height:100%} .dmd .dmd-visuel img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;display:block} /* Le widget « liste d'icones » pose la couleur sur le libelle lui-meme : il faut donc viser ce libelle, sinon l'heritage ne passe pas. */ .dmd-hero .dmd-filet .elementor-icon-list-item, .dmd-hero .dmd-filet .elementor-icon-list-text, .dmd-signature .dmd-liste .elementor-icon-list-item, .dmd-signature .dmd-liste .elementor-icon-list-text, .dmd-conv .dmd-liste .elementor-icon-list-item, .dmd-conv .dmd-liste .elementor-icon-list-text{color:#E7EBEF!important} .dmd-signature .dmd-note p{color:#C3CDD6!important}.dmd .dmd-btn .elementor-button,.dmd a.dmd-btn,.dmd .dmd-btn>a{ color:#1B1B1B!important;background:var(--dmd-or-plein)!important; border-color:var(--dmd-or-plein)!important;text-decoration:none!important} .dmd .dmd-btn .elementor-button:hover,.dmd a.dmd-btn:hover{ background:var(--dmd-or-clair)!important;color:#1B1B1B!important} .dmd .dmd-btn--clair .elementor-button{ color:#fff!important;background:transparent!important; border-color:rgba(255,255,255,.45)!important} .dmd .dmd-btn--clair .elementor-button:hover{ background:#fff!important;color:var(--dmd-noir)!important}/* Le widget bouton d'Elementor porte la classe utilitaire : seul le lien interne doit recevoir le fond, la bordure et le rayon du bouton. */ .dmd .elementor-widget-button.dmd-btn{background:none!important;border:0!important; padding:0!important;box-shadow:none!important;border-radius:0!important} /* Boutons cote a cote comme sur la maquette, avec retour a la ligne aligne a gauche quand la colonne devient trop etroite (gap de 14px). */ .dmd .elementor-widget-wrap>.elementor-widget-button.dmd-btn{width:auto;flex:0 0 auto; margin:0 14px 12px 0} .dmd .dmd-btn .elementor-button{display:inline-flex;align-items:center; justify-content:center;white-space:nowrap}/* Une section imbriquee est un element de flex : sans largeur explicite elle se retrecit sur son contenu. Une colonne dont le contenu n'a pas de largeur propre, un iframe en 100 % par exemple, faisait alors s'effondrer la rangee. */ .dmd.elementor-section,.dmd .elementor-section{width:100%!important} .dmd.elementor-section>.elementor-container, .dmd .elementor-section>.elementor-container{width:100%}/* La colonne du module de reservation garde sa largeur : son contenu est un iframe, qui n'a pas de largeur propre pour resister au retrecissement du flex. C'est la colonne de texte qui absorbe la gouttiere. */ .dmd .dmd-col-resa{flex-shrink:0}/* Cadre du module de reservation : meme carte que la maquette, l'iframe occupe toute la surface. */ .dmd-resa{width:100%;background:#fff;border-radius:var(--dmd-r);overflow:hidden; border-top:3px solid var(--dmd-or-plein); box-shadow:0 24px 60px rgba(6,27,43,.28)} .dmd-resa iframe{display:block;width:100%;border:0;min-height:640px} @media(max-width:767px){.dmd-resa iframe{min-height:560px}}/* L'accordeon ne depend plus d'une police d'icones : le signe est dessine en CSS, il reste visible meme si Font Awesome n'est pas servi. */ .dmd .elementor-toggle-icon i{font-family:inherit!important;font-style:normal; font-weight:400;display:inline-block;width:1em;text-align:center} .dmd .elementor-toggle-icon i::before{content:"+";font-size:22px;line-height:1; color:var(--dmd-or)} .dmd .elementor-toggle-icon-opened i::before{content:"2"}/* Les liens « aller » des cartes restent discrets */ .dmd .dmd-lien-carte .elementor-button,.dmd .dmd-maillon .elementor-button{ color:var(--dmd-or)!important;background:none!important;border:0!important}/* Mega-menu : le theme ne doit pas recolorer les liens */ .dmd-mm .dmd-mm__lien,.dmd-mm .dmd-mm__liens a,.dmd-mm .dmd-mm__carte a, .dmd-mm .dmd-mm__tel,.dmd-mm .dmd-mm__langue{color:var(--mm-nuit)!important;text-decoration:none!important} .dmd-mm .dmd-mm__lien:hover,.dmd-mm .dmd-mm__liens a:hover, .dmd-mm .dmd-mm__carte a:hover,.dmd-mm .dmd-mm__tel:hover, .dmd-mm .dmd-mm__langue:hover{color:var(--mm-or)!important} .dmd-mm .dmd-mm__item[data-ouvert="1"]>.dmd-mm__lien{color:var(--mm-or)!important} .dmd-mm .dmd-mm__cta{color:#1B1B1B!important;background:var(--mm-or)!important; text-decoration:none!important} .dmd-mm .dmd-mm__cta:hover{background:#D9B84C!important;color:#1B1B1B!important} .dmd-mm .dmd-mm__lien{white-space:nowrap} .dmd-mm .dmd-mm__logo-nom{color:var(--mm-nuit)!important} .dmd-mm .dmd-mm__logo-sous{color:var(--mm-doux)!important} .dmd-mm a{box-shadow:none!important} /* Le theme remet les SVG a une largeur automatique : sans intrinseque, ils disparaissent. On rend donc leur taille explicite. */ .dmd-mm svg{flex:0 0 auto} .dmd-mm .dmd-mm__burger{width:46px!important;height:46px!important;padding:0!important; min-width:0!important;background:none!important;color:var(--mm-nuit)!important; border:1px solid var(--mm-bord)!important;border-radius:10px!important} .dmd-mm .dmd-mm__burger svg{width:22px!important;height:22px!important} .dmd-mm .dmd-mm__langue svg{width:14px!important;height:14px!important} .dmd-mm .dmd-mm__tel svg{width:15px!important;height:15px!important} .dmd-mm .dmd-mm__lien svg{width:14px!important;height:14px!important}/* Dans le panneau mobile, le numero reprend sa place a cote de l'icone */ @media(max-width:1023px){ .dmd-mm .dmd-mm__tel span{display:inline} }/* Marges laterales sur mobile : la maquette ne colle jamais au bord */ @media(max-width:767px){ .dmd.elementor-top-section>.elementor-container{padding-left:20px;padding-right:20px} .dmd .elementor-widget-wrap>.elementor-widget-button.dmd-btn{width:100%;margin-right:0} }/* Le voile laisse voir la photo */ .dmd-fond-sombre::before{ background:linear-gradient(102deg,rgba(6,27,43,.74) 0%,rgba(6,27,43,.48) 42%,rgba(6,27,43,.20) 100%)} /* La bande de conversion porte du texte sur toute sa largeur : le voile y reste soutenu des deux cotes, sinon la liste de droite devient illisible. */ .dmd-fond-sombre--conv::before{ background:linear-gradient(95deg,rgba(6,27,43,.90),rgba(6,27,43,.80))}/* Le mega-menu est desormais l'en-tete du site : rien a masquer, mais la zone d'en-tete ne doit imposer ni marge, ni fond, ni largeur au menu. C'est la barre elle-meme qui centre son contenu, sur 1280 px. */ .elementor-location-header{margin:0;padding:0;background:none} .elementor-location-header>.elementor-section, .elementor-location-header .dmd-entete{width:100%!important;max-width:none!important;margin:0} .elementor-location-header>.elementor-section>.elementor-container, .elementor-location-header .dmd-entete>.elementor-container{ width:100%!important;max-width:none!important;margin:0;padding:0} .dmd-entete .elementor-column, .dmd-entete .elementor-widget-wrap, .dmd-entete .elementor-widget-wrap>.elementor-element{width:100%} .dmd-entete .elementor-widget-wrap{padding:0} /* Les widgets qui ne portent qu'une feuille de style ou un script ne doivent occuper aucune place : sinon Elementor leur laisse sa marge habituelle. */ .dmd-ressources{display:none!important}.dmd-rv{opacity:1;transform:none} html.dmd-js .dmd-rv{opacity:0;transform:translateY(20px)} html.dmd-js .dmd-rv.dmd-vu{opacity:1;transform:none}
/*! * Drive me Driver — Interactions de la page d'accueil * 1. Calcul de l'heure de prise en charge (suivi de vol) * 2. Révélation des blocs au défilement */ (function () { 'use strict';/* --------------------------------------------------------------------- 1. Heure de prise en charge --------------------------------------------------------------------- */ function initCalc(bloc) { if (!bloc || bloc.dataset.dmdInit === '1') { return; } bloc.dataset.dmdInit = '1';var att = bloc.querySelector('[data-dmd="atterrissage"]'); var ret = bloc.querySelector('[data-dmd="retard"]'); var sor = bloc.querySelector('[data-dmd="sortie"]'); var vol = bloc.querySelector('[data-dmd="vol"]'); var res = bloc.querySelector('[data-dmd="resultat"]'); var valRetard = bloc.querySelector('[data-dmd="retard-val"]'); var rappelVol = bloc.querySelector('[data-dmd="rappel-vol"]');if (!att || !res) { return; }function calculer() { var parts = (att.value || '14:00').split(':'); var heures = parseInt(parts[0], 10); var minutes = parseInt(parts[1], 10); if (isNaN(heures) || isNaN(minutes)) { return; }var retard = ret ? parseInt(ret.value, 10) || 0 : 0; var sortie = sor ? parseInt(sor.value, 10) || 0 : 0; var total = heures * 60 + minutes + retard + sortie; total = ((total % 1440) + 1440) % 1440;var hh = String(Math.floor(total / 60)).padStart(2, '0'); var mm = String(total % 60).padStart(2, '0'); res.textContent = hh + ':' + mm;if (valRetard) { valRetard.textContent = retard + ' min'; } if (rappelVol) { var v = vol && vol.value ? vol.value.trim().toUpperCase() : ''; rappelVol.textContent = v || 'indiqué'; } }[att, ret, sor, vol].forEach(function (champ) { if (champ) { champ.addEventListener('input', calculer); } }); calculer(); }/* --------------------------------------------------------------------- 2. Révélation au défilement --------------------------------------------------------------------- */ function initReveal() { // Signale au garde-fou que l'animation est bien prise en charge. document.documentElement.setAttribute('data-dmd-anim', '1');var blocs = document.querySelectorAll('.dmd-rv:not(.dmd-vu)'); if (!blocs.length) { return; }var doux = window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (doux || !('IntersectionObserver' in window)) { blocs.forEach(function (el) { el.classList.add('dmd-vu'); }); return; }var io = new IntersectionObserver(function (entrees) { entrees.forEach(function (en) { if (!en.isIntersecting) { return; } en.target.classList.add('dmd-vu'); io.unobserve(en.target); }); }, { threshold: 0.1, rootMargin: '0px 0px -40px 0px' });blocs.forEach(function (el) { io.observe(el); }); }function demarrer() { document.querySelectorAll('[data-dmd-calc]').forEach(initCalc); initReveal(); }if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', demarrer); } else { demarrer(); }window.addEventListener('elementor/frontend/init', function () { if (!window.elementorFrontend || !elementorFrontend.hooks) { return; } elementorFrontend.hooks.addAction('frontend/element_ready/dmd_prise_en_charge.default', function ($scope) { var el = $scope && $scope[0] ? $scope[0].querySelector('[data-dmd-calc]') : null; if (el) { el.dataset.dmdInit = '0'; initCalc(el); } }); elementorFrontend.hooks.addAction('frontend/element_ready/global', function () { initReveal(); }); }); })();(function(){ var r=document.querySelector('.dmd-mm'); if(!r) return; var b=r.querySelector('.dmd-mm__burger'); if(b) b.addEventListener('click',function(){ var o=r.dataset.mobile==='1'; r.dataset.mobile=o?'0':'1'; b.setAttribute('aria-expanded',o?'false':'true'); }); var mq=window.matchMedia('(min-width:1024px)'), t=null; r.querySelectorAll('.dmd-mm__item').forEach(function(it){ var d=it.querySelector('.dmd-mm__lien'), p=it.querySelector('.dmd-mm__panneau'); if(!d||!p) return; function set(o){ it.dataset.ouvert=o?'1':'0'; if(d.hasAttribute('aria-expanded')) d.setAttribute('aria-expanded',o?'true':'false'); } it.addEventListener('mouseenter',function(){ if(!mq.matches) return; clearTimeout(t); t=setTimeout(function(){ r.querySelectorAll('.dmd-mm__item').forEach(function(x){ if(x!==it) x.dataset.ouvert='0'; }); set(true); },90); }); it.addEventListener('mouseleave',function(){ if(!mq.matches) return; clearTimeout(t); t=setTimeout(function(){ set(false); },180); }); if(d.tagName==='BUTTON') d.addEventListener('click',function(e){ e.preventDefault(); var o=it.dataset.ouvert==='1'; r.querySelectorAll('.dmd-mm__item').forEach(function(x){ x.dataset.ouvert='0'; }); set(!o); }); }); document.addEventListener('click',function(e){ if(r.contains(e.target)) return; r.querySelectorAll('.dmd-mm__item').forEach(function(x){ x.dataset.ouvert='0'; }); }); r.addEventListener('keydown',function(e){ if(e.key!=='Escape') return; r.querySelectorAll('.dmd-mm__item').forEach(function(x){ x.dataset.ouvert='0'; }); }); })();(function(){ function init(){ var c=document.getElementById('dmd-reservation'); if(!c) return; window.addEventListener('message',function(e){ if(e.source!==c.contentWindow) return; var d=e.data; if(!d||d.type!=='dmd:height') return; var h=parseInt(d.height,10); if(h>200&&h<6000) c.style.height=h+'px'; }); } if(document.readyState==='loading') document.addEventListener('DOMContentLoaded',init); else init(); })();document.body.classList.add('dmd-page');
/* ========================================================================== Maquette SXO — gabarit de page service, mise en page éditoriale à colonne latérale. Reprise fidèle de la maquette fournie, moins le ruban, l'en-tête, le méga-menu, le pied de page et la barre mobile : ceux du site restent en place et ne sont pas touchés.TOUT est porté par « .mq ». Aucune règle ne sort de ce conteneur, donc rien ne peut déborder sur l'en-tête, le menu, le pied de page ou WooCommerce. ========================================================================== */.mq{ --or-fonce:#8A6A16; --or-plein:#C9A227; --or-clair-v:#D9B84C; --or:var(--or-fonce); --or-2:var(--or-plein); --or-clair:var(--or-clair-v); --encre:#1B1B1B; --blanc:#FFFFFF; --noir:#071A2B; --surface:#102D46; --bord:#2C4A66; --gris:#F7F7F5; --gris-2:#E3E5E6; --gris-3:#66717B; --r:15px; --r-pill:50px; --shell:1240px; --police:'Roboto','Helvetica Neue',Helvetica,Arial,system-ui,sans-serif;font-family:var(--police);font-weight:300;font-size:16px;line-height:1.62; color:var(--encre);background:var(--blanc);-webkit-font-smoothing:antialiased; } .mq *,.mq *::before,.mq *::after{box-sizing:border-box} .mq img{max-width:100%;display:block} .mq a{color:inherit} .mq .shell{max-width:var(--shell);margin:0 auto;padding:0 24px} .mq h1,.mq h2,.mq h3,.mq h4{font-weight:600;margin:0} .mq h1{font-size:clamp(29px,3.9vw,40px);line-height:1.1} .mq h2{font-size:clamp(23px,2.6vw,25px);line-height:1.28;color:var(--surface)} .mq h3{font-size:20px;line-height:1.32} .mq p{margin:0 0 18px} .mq strong,.mq b{font-weight:600} .mq ul,.mq ol{margin:0;padding:0}/* boutons */ .mq .btn{display:inline-block;font-size:20px;font-weight:500;color:#1B1B1B;background:var(--or-2); border:1px solid var(--or-2);border-radius:var(--r);padding:15px 30px;text-decoration:none; cursor:pointer;font-family:var(--police);transition:background .18s,transform .18s,color .18s} .mq .btn:hover{background:var(--or-clair-v);border-color:var(--or-clair-v);transform:translateY(-2px);color:#1B1B1B} .mq .btn.sm{font-size:15px;padding:11px 22px} .mq .btn.ligne{background:transparent;color:var(--encre);border-color:var(--gris-3)} .mq .btn.ligne:hover{background:var(--surface);color:var(--blanc);border-color:var(--surface)} .mq .btn.noir{background:var(--surface);border-color:var(--surface);color:var(--blanc)} .mq .btn.noir:hover{background:var(--noir);border-color:var(--noir)}/* ---------- hero clair asymétrique ---------- */ .mq .hero{background:var(--gris);border-bottom:1px solid var(--gris-2);overflow:hidden} .mq .hero .in{max-width:var(--shell);margin:0 auto;display:grid;grid-template-columns:1fr 42%; gap:56px;align-items:center;padding-left:24px} .mq .hero .txt{padding:72px 0} .mq .hero .fil{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px; align-items:center;font-size:13px;color:#66717B} .mq .hero .fil a{text-decoration:none} .mq .hero .fil a:hover{color:var(--or);text-decoration:underline} .mq .hero h1{margin-bottom:20px} .mq .hero h1 em{font-style:normal;color:var(--or)} .mq .hero .chapo{font-size:17px;color:#4A5560;max-width:36em;margin-bottom:26px} .mq .hero .chapo strong{color:var(--encre)} .mq .hero .actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center} .mq .hero .tel{font-size:15px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--or-2); padding-bottom:2px} .mq .hero .photo{position:relative;align-self:stretch;min-height:420px} .mq .hero .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover; border-radius:var(--r) 0 0 var(--r)} .mq .hero .cachet{position:absolute;left:-38px;bottom:38px;background:var(--surface);color:var(--blanc); border-radius:var(--r);padding:18px 22px;max-width:250px;box-shadow:0 22px 44px rgba(0,0,0,.28)} .mq .hero .cachet b{display:block;color:var(--or-clair);font-size:26px;line-height:1;font-weight:600; margin-bottom:6px} .mq .hero .cachet span{font-size:13.5px;color:#C3CDD6}/* ---------- bande de réservation ---------- */ .mq .moteur{background:var(--surface);color:var(--blanc)} .mq .moteur .in{display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:start;padding:34px 0} .mq .moteur .titre{font-size:20px;font-weight:600;color:var(--or-clair);line-height:1.3;margin:0 0 10px} .mq .moteur p{font-size:14.5px;color:#C3CDD6;margin:0 0 14px} .mq .moteur .note{font-size:12.5px;color:#8E9CA9;margin:0} .mq .moteur .cadre{background:var(--blanc);border-radius:var(--r);overflow:hidden; box-shadow:0 26px 60px rgba(0,0,0,.34)} .mq .moteur iframe{display:block;width:100%;border:0;height:720px}/* ---------- corps éditorial ---------- */ .mq .corps{padding:72px 0 88px} .mq .corps .in{display:grid;grid-template-columns:250px 1fr;gap:64px;align-items:start} .mq .aside{position:sticky;top:110px} .mq .aside .lab{font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase; color:var(--gris-3);margin-bottom:14px} .mq .aside ol{list-style:none;margin:0 0 30px;padding:0;counter-reset:s} .mq .aside li{counter-increment:s} .mq .aside ol a{display:flex;gap:12px;padding:9px 12px;border-radius:8px;text-decoration:none; font-size:14.5px;color:#5A646E;border-left:2px solid transparent} .mq .aside ol a::before{content:counter(s,decimal-leading-zero);font-size:11.5px;font-weight:600; color:var(--gris-3);padding-top:3px} .mq .aside ol a:hover{background:var(--gris);color:var(--encre)} .mq .aside ol a.actif{color:var(--encre);font-weight:500;border-left-color:var(--or-2);background:var(--gris)} .mq .aside ol a.actif::before{color:var(--or)} .mq .aide{border:1px solid var(--gris-2);border-radius:var(--r);padding:20px;background:var(--gris)} .mq .aide h3{font-size:15.5px;margin-bottom:8px} .mq .aide p{font-size:13.5px;color:#5A646E;margin-bottom:14px} .mq .aide a{display:block;text-decoration:none;font-weight:500;font-size:15px;color:var(--encre); border-top:1px solid var(--gris-2);padding-top:11px;margin-top:11px} .mq .aide a:first-of-type{border-top:0;padding-top:0;margin-top:0} .mq .aide a:hover{color:var(--or)}.mq article>section{padding:0 0 64px;scroll-margin-top:130px} .mq article>section:last-child{padding-bottom:0} .mq .num{display:block;font-size:12px;font-weight:600;letter-spacing:.13em;color:var(--or); margin-bottom:10px} .mq article h2{margin-bottom:18px} .mq article h3{margin:34px 0 12px;font-size:19px} .mq article .lead{font-size:17.5px;color:#4A5560} .mq .regle{height:1px;background:var(--gris-2);margin:0 0 58px}/* faits clés */ .mq .faits{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--gris-2); border-radius:var(--r);overflow:hidden;margin:28px 0 0} .mq .faits div{padding:20px 22px;border-bottom:1px solid var(--gris-2)} .mq .faits div:nth-child(odd){border-right:1px solid var(--gris-2)} .mq .faits div:nth-last-child(-n+2){border-bottom:0} .mq .faits dt{font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase; color:var(--gris-3);margin-bottom:5px} .mq .faits dd{margin:0;font-size:16px;font-weight:500}/* photo pleine largeur */ .mq .bande{position:relative;margin:8px 0 44px;border-radius:var(--r);overflow:hidden} .mq .bande img{width:100%;height:100%;object-fit:cover;aspect-ratio:21/9} .mq .bande figcaption{position:absolute;left:0;right:0;bottom:0;padding:52px 24px 18px; background:linear-gradient(0deg,rgba(7,26,43,.72),rgba(0,0,0,0));color:var(--blanc);font-size:14px} .mq .bande figcaption b{color:var(--or-clair);font-weight:600}/* module d'orientation */ .mq .calc{border:1px solid var(--or-2);border-radius:var(--r); background:linear-gradient(180deg,rgba(201,162,39,.08),transparent);padding:26px;margin:30px 0} .mq .calc h3{margin:0 0 4px;font-size:18px} .mq .calc .st{font-size:14px;color:#5A646E;margin-bottom:20px} .mq .calc-ligne{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:end} .mq .champ label{display:block;font-size:11px;font-weight:600;letter-spacing:.09em; text-transform:uppercase;color:#66717B;margin-bottom:7px} .mq .champ select{width:100%;font-family:var(--police);font-size:15px;color:var(--encre); background:var(--blanc);border:1px solid var(--gris-2);border-radius:8px;padding:12px 13px} .mq .champ select:focus{border-color:var(--or-2);outline:none} .mq .sortie{margin-top:22px;padding:20px 22px;border-radius:var(--r);background:var(--blanc); border:1px dashed var(--or-2)} .mq .sortie small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.09em; text-transform:uppercase;color:#66717B;margin-bottom:6px} .mq .sortie .reco{font-size:20px;font-weight:600;color:var(--or);line-height:1.3;display:block} .mq .sortie p{font-size:14px;color:#4A5560;margin:10px 0 0}/* listes de contexte */ .mq .communes{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 0;padding:0;list-style:none} .mq .communes li{background:var(--gris);border:1px solid var(--gris-2);border-radius:var(--r-pill); padding:8px 17px;font-size:14.5px} .mq .communes li.fort{border-color:var(--or-2);font-weight:500} .mq .avantages{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px} .mq .avantages li{display:flex;gap:13px;font-size:15.5px;align-items:flex-start} .mq .avantages li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--or-2); margin-top:8px;flex:0 0 auto}/* preuve en bandeau */ .mq .preuve{border-top:1px solid var(--gris-2);border-bottom:1px solid var(--gris-2); background:var(--gris);padding:34px 0;margin:0 0 58px} .mq .preuve .in{display:grid;grid-template-columns:repeat(4,1fr);gap:24px} .mq .preuve b{display:block;font-size:24px;font-weight:600;color:var(--or-fonce);line-height:1; margin-bottom:6px} .mq .preuve span{font-size:13.5px;color:#5A646E}/* FAQ */ .mq .q{border-bottom:1px solid var(--gris-2)} .mq .q:first-of-type{border-top:1px solid var(--gris-2)} .mq .q button{width:100%;text-align:left;background:none;border:0;padding:19px 44px 19px 0; font-family:var(--police);font-size:17px;font-weight:500;color:var(--encre);cursor:pointer; position:relative} .mq .q button::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%); font-size:22px;color:var(--or);transition:transform .22s} .mq .q[data-open="1"] button::after{transform:translateY(-50%) rotate(45deg)} .mq .q .rep{max-height:0;overflow:hidden;transition:max-height .3s ease} .mq .q[data-open="1"] .rep{max-height:620px} .mq .q .rep p{padding:0 0 20px;margin:0;font-size:15.5px;color:#4A5560} .mq .q .rep a{color:var(--or)}/* maillage en listes */ .mq .liens{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:22px} .mq .liens a{display:flex;align-items:baseline;gap:12px;padding:13px 0; border-bottom:1px solid var(--gris-2);text-decoration:none;font-size:15.5px} .mq .liens a::before{content:"\2192";color:var(--or-2);font-size:14px} .mq .liens a:hover{color:var(--or)} .mq .sstitre{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase; color:var(--gris-3);margin:34px 0 4px}/* conversion claire */ .mq .conv{background:linear-gradient(120deg,#102D46,#163A58);color:var(--blanc)} .mq .conv .in{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center;padding:60px 0} .mq .conv h2{font-size:clamp(24px,2.8vw,29px);margin-bottom:12px;color:var(--blanc)} .mq .conv p{color:#C3CDD6;margin-bottom:0;max-width:34em} .mq .conv .actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end} .mq .conv .btn.noir{background:var(--or-2);border-color:var(--or-2);color:#1B1B1B} .mq .conv .btn.ligne{border-color:rgba(255,255,255,.45);color:var(--blanc)} .mq .conv .btn.ligne:hover{background:var(--blanc);color:var(--noir);border-color:var(--blanc)}.mq .rv{opacity:0;transform:translateY(18px); transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)} .mq .rv.vu{opacity:1;transform:none} .mq :focus-visible{outline:3px solid var(--or-2);outline-offset:3px;border-radius:4px} @media (prefers-reduced-motion:reduce){ .mq *{animation:none!important;transition:none!important} .mq .rv{opacity:1;transform:none} }@media(max-width:1080px){ .mq .hero .in{grid-template-columns:1fr;gap:0;padding:0 24px} .mq .hero .txt{padding:56px 0 32px} .mq .hero .photo{min-height:0;aspect-ratio:16/9;margin:0 -24px} .mq .hero .photo img{position:relative;border-radius:0} .mq .hero .cachet{left:24px;bottom:24px} .mq .moteur .in{grid-template-columns:1fr;gap:20px} .mq .corps .in{grid-template-columns:1fr;gap:34px} .mq .aside{position:static} .mq .aside ol{display:flex;gap:6px;overflow-x:auto;margin-bottom:20px; border-bottom:1px solid var(--gris-2)} .mq .aside ol a{white-space:nowrap;border-left:0;border-bottom:2px solid transparent; border-radius:8px 8px 0 0} .mq .aside ol a.actif{border-left:0;border-bottom-color:var(--or-2)} .mq .calc-ligne{grid-template-columns:1fr 1fr} .mq .conv .in{grid-template-columns:1fr;gap:26px;padding:48px 0} .mq .conv .actions{justify-content:flex-start} } @media(max-width:620px){ .mq .moteur .in,.mq .calc-ligne,.mq .faits,.mq .liens,.mq .preuve .in{grid-template-columns:1fr} .mq .faits div{border-right:0!important;border-bottom:1px solid var(--gris-2)!important} .mq .faits div:last-child{border-bottom:0!important} .mq .btn{width:100%;text-align:center;font-size:17px;padding:14px 22px} .mq .hero .actions{flex-direction:column;align-items:stretch} .mq .bande img{aspect-ratio:4/3} .mq .corps{padding:48px 0 64px} .mq .moteur iframe{height:780px} } @media(max-width:360px){.mq .shell{padding:0 16px}} /* ========================================================================== Maquette SXO — composants complémentaires Ajouts nécessaires aux pages services : tableaux de tarifs, étapes numérotées, cartes d'articles, itinéraires, bandeau de preuve à trois colonnes, bande de devis. Même portée que le gabarit : tout est sous « .mq ». ========================================================================== *//* ---------- bande de devis (pages sans module de réservation) ------------- */ .mq .moteur.devis .in{grid-template-columns:1.25fr .75fr;align-items:center;padding:30px 0} .mq .moteur.devis .actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end} .mq .moteur.devis .btn.noir{background:var(--or-2);border-color:var(--or-2);color:#1B1B1B} .mq .moteur.devis .btn.ligne{border-color:rgba(255,255,255,.45);color:var(--blanc)} .mq .moteur.devis .btn.ligne:hover{background:var(--blanc);color:var(--noir);border-color:var(--blanc)}/* ---------- tableau de tarifs -------------------------------------------- */ .mq .tableau{margin:26px 0 0;border:1px solid var(--gris-2);border-radius:var(--r);overflow:auto} .mq .tableau table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:520px} .mq .tableau th{background:var(--surface);color:var(--blanc);font-weight:600;font-size:12px; letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:14px 18px} .mq .tableau td{padding:15px 18px;border-top:1px solid var(--gris-2);vertical-align:top} .mq .tableau tbody tr:nth-child(even){background:var(--gris)} .mq .tableau td:last-child{font-weight:600;color:var(--or);white-space:nowrap} .mq .tableau a{color:var(--or);text-decoration:underline;text-underline-offset:2px} .mq .note-tableau{font-size:13px;color:#5A646E;margin:12px 0 0}/* ---------- étapes numérotées -------------------------------------------- */ .mq .etapes{list-style:none;counter-reset:e;margin:26px 0 0;padding:0;display:grid;gap:14px} .mq .etapes li{counter-increment:e;display:flex;gap:16px;align-items:flex-start; border:1px solid var(--gris-2);border-radius:var(--r);padding:18px 20px;background:var(--blanc)} .mq .etapes li::before{content:counter(e,decimal-leading-zero);font-size:13px;font-weight:600; letter-spacing:.06em;color:var(--or);background:var(--gris);border-radius:8px; padding:7px 10px;flex:0 0 auto} .mq .etapes li strong{display:block;margin-bottom:2px}/* ---------- cartes (articles, prestations) -------------------------------- */ .mq .cartes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px} .mq .cartes a{display:flex;flex-direction:column;gap:8px;text-decoration:none; border:1px solid var(--gris-2);border-radius:var(--r);padding:20px;background:var(--blanc); transition:border-color .18s,transform .18s,box-shadow .18s} .mq .cartes a:hover{border-color:var(--or-2);transform:translateY(-3px); box-shadow:0 18px 38px rgba(7,26,43,.09)} .mq .cartes .eti{font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase; color:var(--or)} .mq .cartes .tit{font-size:16.5px;font-weight:500;line-height:1.38;color:var(--encre)}/* ---------- itinéraire (circuits) ---------------------------------------- */ .mq .itineraire{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:22px 0 16px; padding:18px 20px;border-radius:var(--r);background:var(--gris);border:1px solid var(--gris-2); font-size:15px;font-weight:500} .mq .itineraire span{background:var(--blanc);border:1px solid var(--gris-2);border-radius:var(--r-pill); padding:6px 14px} .mq .itineraire i{font-style:normal;color:var(--or-2);font-weight:600}/* ---------- encart avis (widget conservé) --------------------------------- */ .mq .avis{border:1px dashed var(--gris-2);border-radius:var(--r);padding:26px;background:var(--gris)} .mq .avis .lab{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase; color:var(--gris-3);margin-bottom:8px}/* ---------- bandeau de preuve à trois colonnes ---------------------------- */ .mq .preuve.trois .in{grid-template-columns:repeat(3,1fr)}/* ---------- variantes utilitaires ---------------------------------------- */ .mq .duo{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:26px} .mq .duo .bloc{border:1px solid var(--gris-2);border-radius:var(--r);padding:22px} .mq .duo .bloc h3{margin:0 0 10px;font-size:18px} .mq .duo .bloc p:last-child{margin-bottom:0}@media(max-width:1080px){ .mq .cartes{grid-template-columns:1fr 1fr} .mq .moteur.devis .in{grid-template-columns:1fr} .mq .moteur.devis .actions{justify-content:flex-start} } @media(max-width:620px){ .mq .cartes,.mq .duo,.mq .preuve.trois .in{grid-template-columns:1fr} .mq .etapes li{flex-direction:column;gap:10px} }/* ---------- garde-fou anti-débordement horizontal ------------------------- */ /* Sans min-width:0, une colonne de grille prend la largeur de son contenu : le sommaire qui défile et les tableaux larges élargissaient alors la page entière sur mobile. */ .mq .corps .in > *{min-width:0} .mq .aside,.mq article{min-width:0} .mq .aside ol{-webkit-overflow-scrolling:touch} /* Les grilles à une colonne doivent pouvoir descendre sous la largeur minimale de leur contenu, sinon une puce contenant des espaces insécables élargit toute la section. */ .mq .avantages,.mq .etapes{grid-template-columns:minmax(0,1fr)} .mq .avantages li,.mq .communes li,.mq .etapes li,.mq .liens a,.mq .faits div, .mq .itineraire,.mq .cartes a{min-width:0;overflow-wrap:break-word} .mq .tableau{max-width:100%} .mq .itineraire span{min-width:0;overflow-wrap:break-word}/* ---------- puces : passage en flux normal -------------------------------- */ /* En display:flex, chaque lien d'une puce devenait un élément flexible posé sur la même ligne : le texte débordait dès qu'une puce contenait plusieurs liens. La puce redevient un bloc, la pastille passe en absolu. */ .mq .avantages li{display:block;position:relative;padding-left:22px} .mq .avantages li::before{position:absolute;left:0;top:10px;margin-top:0} .mq .etapes li{display:block;position:relative;padding-left:62px} .mq .etapes li::before{position:absolute;left:20px;top:18px}/* ---------- bande de titre précédant un widget WordPress ------------------ */ .mq .bande-titre{padding:56px 0 26px;background:var(--gris);border-top:1px solid var(--gris-2)} .mq .bande-titre h2{margin:0} .mq .bande-titre p{margin:12px 0 0;max-width:46em;color:#4A5560} .mq .bande-titre + .bande-titre{border-top:0}/* ---------- module de réservation ---------------------------------------- */ /* L'en-tête du site est collant : sans marge de défilement, le bouton « Estimer mon trajet » amenait le module sous le menu. */ .mq .moteur{scroll-margin-top:110px;position:relative} .mq .moteur .ancre{position:absolute;top:-110px;left:0;width:1px;height:1px} /* Hauteur portée aussi par l'attribut de l'iframe, au cas où la feuille de style serait différée. */ .mq .moteur iframe{min-height:600px}

VTC Strasbourg Bâle Mulhouse : profitez de notre service de chauffeur privé

Vous recherchez un chauffeur privé pour vos trajets ? Découvrez notre service de transport en VTC à l’aéroport de Bâle Mulhouse Fribourg. Nos chauffeurs sont à votre disposition 7j/7, de jour comme de nuit. Ils s’occupent de votre transfert et de celui des autres passagers vers ou depuis l’aéroport international franco-suisse, aussi appelé EuroAirport (codes BSL, MLH et EAP).

Drive me Driver propose de nombreux services de VTC à bord d’un véhicule haut de gamme. Profitez de nos offres pour vos trajets Strasbourg Aéroport Bâle Mulhouse Fribourg ou pour visiter l’Alsace. Le trajet représente environ 135 kilomètres par l’autoroute, soit une durée moyenne de 1h20 à 1h30 selon le trafic, avec un tarif fixe connu à l’avance et zéro supplément caché.

Chauffeur privé Drive me Driver à l’aéroport de Bâle-Mulhouse-Fribourg
1h20 à 1h30135 kilomètres entre Strasbourg et l’EuroAirport

Estimez votre trajet en quelques secondes

Indiquez votre adresse de départ, votre destination et votre horaire : le tarif s’affiche avant validation.

Prix fixe, connu à la réservation. Bagages compris, sans supplément.

01 — Prestations

Quels services de VTC sont disponibles depuis l'aéroport ?

Faites appel à notre service de VTC pour tous vos trajets depuis l’aéroport Bâle Mulhouse. Réservez un simple trajet vers Bâle, Mulhouse ou Fribourg-en-Brisgau, une mise à disposition à l’heure ou des visites dans le Grand Est. Nos chauffeurs privés vous offrent une course VIP à bord de véhicules de luxe, berline premium ou van pour les groupes.

L'accueil par votre chauffeur à l'aéroport Bâle Mulhouse Fribourg

Évitez tout le stress qu’implique un trajet dans une navette bondée. À votre arrivée à l’aéroport de Bâle Mulhouse, votre chauffeur privé vous attend dans le hall des arrivées, à la sortie de la zone bagages, avec une pancarte à votre nom.

Nous assurons le suivi de vos vols en temps réel. Si votre vol est retardé ou atterrit en avance, votre chauffeur adapte son horaire de prise en charge. Lorsque le retard ne vous est pas imputable, aucun frais supplémentaire ne vous est demandé.

La prise en charge de vos bagages est comprise dans le tarif, sans majoration. Vous n’avez ni parking à chercher, ni file de taxi à affronter. Vous avez besoin de vous rendre à Saint-Louis, Hésingue ou Blotzheim ? Aucun problème, nos chauffeurs VTC se déplacent dans tout le Grand Est, ainsi que vers le secteur suisse et allemand, de Bâle à Weil am Rhein.

Votre trajet en VTC vers l'aéroport Bâle Mulhouse Fribourg

Vous habitez dans la ville de Strasbourg ou à Colmar ? Vous ne trouvez pas de taxi disponible pour votre trajet à l’aéroport Bâle Mulhouse ? Préparez votre départ en vacances sereinement. Notre service VTC couvre toute la région Alsace, du centre-ville de Strasbourg à Sélestat, Mulhouse et le Haut-Rhin.

Réservez facilement et en toute sécurité votre chauffeur privé directement sur notre site. Indiquez votre adresse et votre point de prise en charge, votre horaire et votre numéro de vol : nous vous adressons une confirmation de réservation. Vous avez le choix de régler votre course en ligne ou directement dans le véhicule. Nos conditions générales de vente précisent les modalités de paiement et d’annulation.

02 — Sur mesure

Un service VTC sur mesure pour tous vos trajets

Chez Drive me Driver, nous avons à cœur de vous proposer des trajets sur mesure. Quelle que soit la raison de votre course : déplacement professionnel à Colmar, vacances en Alsace, départ depuis l’aéroport Bâle Mulhouse pour un weekend, nous vous proposons un service de chauffeur privé VIP.

Intérieur d’une berline haut de gamme Drive me Driver
Berline ou van · le véhicule est choisi à la réservation

Un chauffeur privé pour vos déplacements professionnels depuis l'aéroport

Vous devez vous rendre à Strasbourg ou à Colmar pour le travail ? Réservez un chauffeur VTC pour vos déplacements professionnels. Le chauffeur vous accueille dès votre sortie de l’aéroport Bâle Mulhouse. Afin de vous offrir la possibilité de travailler pendant votre course, vous avez accès au wifi à bord du véhicule.

Vous devez prendre l’avion à l’aéroport Bâle Mulhouse pour le travail ? Partez de votre domicile sereinement, à partir de Saint-Louis ou d’Hésingue. Nos chauffeurs VTC se déplacent dans tout le Grand Est, y compris pour les vols matinaux. Évitez le stress des transports en commun, préférez le calme de nos véhicules haut de gamme. Pour vos séminaires et vos événements d’entreprise, nous organisons également la mise à disposition d’un ou plusieurs véhicules avec chauffeur sur la journée.

Réservez un VTC pour vos vacances en France

Vous arrivez à l’aéroport Bâle Mulhouse pour quelques jours de vacances ? Laissez-nous vous faire découvrir la magnifique région du Grand Est. Nous avons mis en place un service VIP pour vos vacances en Alsace. Grâce à nos chauffeurs expérimentés, partez à la découverte de la route des vins d’Alsace. Ce circuit vous permet de visiter les plus beaux villages tout en profitant d’un trajet confortable, avec un arrêt à Ribeauvillé ou à Eguisheim.

L’aéroport Bâle Mulhouse se trouve à seulement 1h20 de Strasbourg. Venez passer quelques heures découvrir la capitale de Noël, et profitez de nos conseils pour vous déplacer sans stress pendant le marché de Noël. En famille, vous pouvez aussi prolonger le séjour par une journée à Europa-Park avec chauffeur privé. Il vous suffit de réserver votre course sur notre site afin de profiter d’un transport VTC. Ainsi, vous bénéficiez non seulement d’un trajet haut de gamme, mais également de prix fixes et attractifs. Retrouvez l’ensemble de nos circuits touristiques en Alsace pour composer votre programme.

03 — Nos engagements

Pourquoi réserver Drive me Driver pour vos trajets en VTC ?

Drive me Driver propose un service de VTC de qualité pour vous et vos passagers. Nos chauffeurs privés sont à l’écoute de vos besoins pour tous vos trajets. Réservez votre course près des communes alsaciennes de Saint-Louis et Hésingue dans des véhicules de luxe. Ponctualité, conduite fluide, courtoisie et sécurité : ce sont les engagements qui fondent la confiance de nos clients et la satisfaction que vous retrouvez dans nos avis.

Véhicule haut de gamme Drive me Driver
Un tarif fixe · communiqué avant le départ

Des tarifs VTC fixes et attractifs pour vos trajets

Vous désirez un transport VTC depuis l’aéroport Bâle Mulhouse Fribourg ? Il vous suffit de réaliser votre réservation directement sur notre site. La tarification indiquée est fixe : le prix est calculé selon la distance réelle, le type de véhicule et l’horaire, puis validé avant votre départ. Pas de majoration de dernière minute, pas de compteur qui tourne dans les bouchons. Chez Drive me Driver, nous pensons avant tout à vos besoins. Ainsi, vous avez le choix de régler votre course lors de la réservation ou directement dans le véhicule.

Un service de transport VIP depuis l'aéroport Bâle Mulhouse Fribourg

Nos chauffeurs privés sont disponibles la journée comme la nuit, 7j/7. Réservez vos trajets depuis l’aéroport Bâle Mulhouse Fribourg vers votre destination dans le Grand Est de la France. À bord de véhicules haut de gamme, propres et régulièrement entretenus, vous bénéficiez d’un trajet luxueux. De nombreux services sont disponibles durant votre course, comme le wifi à bord.

Réserver un VTC pour une journée ou quelques jours depuis notre site est très simple. Nos prix sont fixes et attractifs, vous n’avez pas de mauvaise surprise à la fin de votre course. Concernant les circuits depuis l’aéroport Bâle Mulhouse Fribourg, vous pouvez facilement obtenir un devis. Vous préférez nous avoir au téléphone ? N’hésitez pas à nous contacter pour tout renseignement.

Berline ou van : le véhicule adapté à votre groupe

Vous voyagez seul, en couple ou en groupe ? Nous adaptons le véhicule au nombre de passagers et au volume de bagages. La berline premium convient parfaitement à un trajet professionnel ou à un couple. Pour une famille, une équipe ou un retour de vacances chargé, notre van pouvant accueillir jusqu’à 7 passagers avec chauffeur VTC à Strasbourg offre l’espace nécessaire. C’est également la solution idéale pour les groupes qui se rendent à Europa-Park. Précisez simplement votre choix au moment de la réservation.

04 — Questions fréquentes

Questions fréquentes sur votre VTC Strasbourg Bâle Mulhouse

Le tarif est fixe et communiqué à l’avance, au moment de la réservation. Il dépend du type de véhicule choisi, berline ou van, de l’adresse de prise en charge et de l’horaire. Vous obtenez un devis immédiat en ligne et connaissez le prix de la course avant de confirmer, sans supplément ni majoration surprise à l’arrivée.

Réservez votre VTC en ligne en quelques minutes, ou par téléphone si vous préférez échanger avec notre équipe. Indiquez votre point de prise en charge, votre destination, votre horaire et votre numéro de vol. Vous recevez une confirmation, et votre réservation est garantie. Notre service de réservation est disponible 24h/24 et 7j/7.

Nous suivons vos vols en temps réel et votre chauffeur ajuste son horaire en conséquence, qu’il s’agisse d’un retard ou d’un atterrissage en avance. Si le retard ne vous est pas imputable, aucun frais supplémentaire ne vous est facturé. Vous n’avez rien à faire de votre côté : votre chauffeur vous attend.

Votre chauffeur vous attend dans le hall des arrivées, à la sortie de la zone bagages, avec une pancarte à votre nom. Il se charge de vos bagages et vous accompagne jusqu’au véhicule, sans que vous ayez à chercher un point de rendez-vous ou à patienter dans une file.

Nous assurons le transfert aéroport, le transfert gare, la mise à disposition avec chauffeur, les trajets longue distance et les circuits touristiques. Chaque course est réalisée par un chauffeur professionnel, dans une berline ou un van haut de gamme, avec wifi à bord.

Comptez environ 1h20 à 1h30 pour les 135 kilomètres qui séparent Strasbourg de l’EuroAirport, selon le trafic et le point de dépose exact. Depuis Colmar, la durée moyenne est d’environ 45 minutes. Nos chauffeurs planifient le départ en tenant compte du temps réel de circulation.

La berline premium accueille jusqu’à 4 passagers avec leurs bagages. Pour les groupes et les familles, notre van peut accueillir jusqu’à 7 passagers. Indiquez le nombre de voyageurs et de valises à la réservation : nous affectons le véhicule adapté, et la prise en charge des bagages reste incluse dans le tarif.

Nos clients citent le plus souvent la ponctualité, la qualité des véhicules et l’expérience de nos chauffeurs. C’est ce qui explique que notre service soit recommandé pour les trajets professionnels comme pour les départs en vacances. Consultez nos avis avant de réserver, puis jugez par vous-même.

05 — Autour de Strasbourg

Quelles sont les autres destinations que nous desservons ?

Drive me Driver propose ses services vers les différents aéroports du Grand Est, d’Allemagne et de Suisse
Depuis 2017D’expérience en Alsace
N° EVTC067170038Inscription au registre VTC
Berlines et vansJusqu’à 7 passagers, bagages compris

Réservez votre VTC pour l’aéroport de Bâle-Mulhouse

Indiquez votre vol, votre adresse et votre horaire : nous confirmons votre prise en charge, à un tarif fixe connu avant le départ.

/*! * Maquette SXO — interactions du gabarit de page service. * Tout est cherché sous « .mq » : rien n'est touché en dehors de la page. * 1. FAQ en accordéon * 2. Révélation des blocs au défilement * 3. Sommaire latéral qui suit la lecture */ (function () { 'use strict';var doux = window.matchMedia('(prefers-reduced-motion: reduce)').matches;// Une page peut contenir plusieurs blocs « .mq » : les widgets Elementor // intercalés (avis Google, articles de blog) coupent le bloc en morceaux. document.querySelectorAll('.mq').forEach(function (racine) { if (racine.dataset.mqInit === '1') { return; } racine.dataset.mqInit = '1';/* 1. FAQ ---------------------------------------------------------------- */ racine.querySelectorAll('.q button').forEach(function (b) { b.addEventListener('click', function () { var q = b.parentElement; var ouvert = q.dataset.open === '1'; q.dataset.open = ouvert ? '0' : '1'; b.setAttribute('aria-expanded', String(!ouvert)); }); });/* 2. Révélation --------------------------------------------------------- */ var blocs = racine.querySelectorAll('.rv'); if (doux || !('IntersectionObserver' in window)) { blocs.forEach(function (e) { e.classList.add('vu'); }); } else { var io = new IntersectionObserver(function (es) { es.forEach(function (en) { if (!en.isIntersecting) { return; } en.target.classList.add('vu'); io.unobserve(en.target); }); }, { threshold: 0.08, rootMargin: '0px 0px -40px 0px' }); blocs.forEach(function (e) { io.observe(e); }); }/* 3. Sommaire ----------------------------------------------------------- */ var liens = [].slice.call(racine.querySelectorAll('.aside a[href^="#"]')); var cibles = liens .map(function (a) { return document.querySelector(a.getAttribute('href')); }) .filter(Boolean);if ('IntersectionObserver' in window && cibles.length) { var io2 = new IntersectionObserver(function (es) { es.forEach(function (en) { if (!en.isIntersecting) { return; } liens.forEach(function (a) { a.classList.toggle('actif', a.getAttribute('href') === '#' + en.target.id); }); }); }, { rootMargin: '-40% 0px -55% 0px' }); cibles.forEach(function (c) { io2.observe(c); }); } }); })();
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "Quel est le prix d’un VTC Strasbourg Bâle ?", "acceptedAnswer": {"@type": "Answer", "text": "Le tarif est fixe et communiqué à l’avance, au moment de la réservation. Il dépend du type de véhicule choisi, berline ou van, de l’adresse de prise en charge et de l’horaire. Vous obtenez un devis immédiat en ligne et connaissez le prix de la course avant de confirmer, sans supplément ni majoration surprise à l’arrivée."}}, {"@type": "Question", "name": "Comment réserver un VTC à l’aéroport ?", "acceptedAnswer": {"@type": "Answer", "text": "Réservez votre VTC en ligne en quelques minutes, ou par téléphone si vous préférez échanger avec notre équipe. Indiquez votre point de prise en charge, votre destination, votre horaire et votre numéro de vol. Vous recevez une confirmation, et votre réservation est garantie. Notre service de réservation est disponible 24h/24 et 7j/7."}}, {"@type": "Question", "name": "Que se passe-t-il si mon vol est retardé ?", "acceptedAnswer": {"@type": "Answer", "text": "Nous suivons vos vols en temps réel et votre chauffeur ajuste son horaire en conséquence, qu’il s’agisse d’un retard ou d’un atterrissage en avance. Si le retard ne vous est pas imputable, aucun frais supplémentaire ne vous est facturé. Vous n’avez rien à faire de votre côté : votre chauffeur vous attend."}}, {"@type": "Question", "name": "Comment se passe l’accueil à l’aéroport ?", "acceptedAnswer": {"@type": "Answer", "text": "Votre chauffeur vous attend dans le hall des arrivées, à la sortie de la zone bagages, avec une pancarte à votre nom. Il se charge de vos bagages et vous accompagne jusqu’au véhicule, sans que vous ayez à chercher un point de rendez-vous ou à patienter dans une file."}}, {"@type": "Question", "name": "Quels services VTC sont disponibles ?", "acceptedAnswer": {"@type": "Answer", "text": "Nous assurons le transfert aéroport, le transfert gare, la mise à disposition avec chauffeur, les trajets longue distance et les circuits touristiques. Chaque course est réalisée par un chauffeur professionnel, dans une berline ou un van haut de gamme, avec wifi à bord."}}, {"@type": "Question", "name": "Quelle est la durée du trajet Strasbourg Bâle ?", "acceptedAnswer": {"@type": "Answer", "text": "Comptez environ 1h20 à 1h30 pour les 135 kilomètres qui séparent Strasbourg de l’EuroAirport, selon le trafic et le point de dépose exact. Depuis Colmar, la durée moyenne est d’environ 45 minutes. Nos chauffeurs planifient le départ en tenant compte du temps réel de circulation."}}, {"@type": "Question", "name": "Combien de passagers et de bagages pouvez-vous prendre ?", "acceptedAnswer": {"@type": "Answer", "text": "La berline premium accueille jusqu’à 4 passagers avec leurs bagages. Pour les groupes et les familles, notre van peut accueillir jusqu’à 7 passagers. Indiquez le nombre de voyageurs et de valises à la réservation : nous affectons le véhicule adapté, et la prise en charge des bagages reste incluse dans le tarif."}}, {"@type": "Question", "name": "Quels sont les avis sur les services VTC ?", "acceptedAnswer": {"@type": "Answer", "text": "Nos clients citent le plus souvent la ponctualité, la qualité des véhicules et l’expérience de nos chauffeurs. C’est ce qui explique que notre service soit recommandé pour les trajets professionnels comme pour les départs en vacances. Consultez nos avis avant de réserver, puis jugez par vous-même."}}]}