(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)}/* Valeur a renseigner par le client avant mise en ligne */ .dmd-aremplir{background:rgba(201,162,38,.22);border-bottom:1px dashed var(--dmd-or);padding:0 3px}/* -------------------------------------------------------------------------- 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');

Private hire transfer from Strasbourg to Colmar

VTC Colmar — Private Driver, Airport and Train Station Transfers

Are you looking for a Colmar VTC that is reliable, elegant and available at all times? Drive Me Driver provides you with a top-of-the-range private chauffeur service for all your trips in the Haut-Rhin. Whether you need a transfer to a cross-border airport, a connection to the train station, or a spacious vehicle to visit Alsace, we guarantee you a tailor-made service. Enjoy transparent pricing with a fixed price known in advance and a 24-hour booking service.

What our passengers think of our VTC service in Colmar

EXCELLENT
Google star 1Google star 2Google star 3Google star 4Google star 5
Basée sur 34 avis
Publié sur Google Google
Cecilia Cortez profile picture
Cecilia Cortez
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex vérifie que la source originale de l'avis est Google.
Je recommande vivement cette entreprise. J’ai fait appel à leurs services pour aller chercher ma famille à l’aéroport de Francfort et tout s’est déroulé parfaitement. Le jeune homme était très aimable, ponctuel et professionnel. Le prix est justifié et le service très confortable. Je n’hésiterai pas à refaire appel à eux.
Publié sur Google Google
Marie Tocny profile picture
Marie Tocny
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex vérifie que la source originale de l'avis est Google.
J ai pris cette société de taxi , pour ma mère 82ans qui revenait des Antilles , après avoir fait 8h d avion plus 3h de train de paris, je souhaitais un accompagnement en taxi pour elle de la gare de Strasbourg a neuhof, pour soulager sa fatigue Son chauffeur a été d’une gentillesse incomparable, à tres bien pris soin , je l’en remercie infiniment, un merci également au monsieur du standard que j’ai dérangé à deux reprises pour des renseignements et qui m’a gentiment fourni les explications .coordonnées que je vais garder pour les prochains déplacements. Merci à votre équipe
Publié sur Google Google
sabrina revel profile picture
sabrina revel
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex vérifie que la source originale de l'avis est Google.
Prise en charge parfaite, respect des horaires et chauffeur très sympathique.
Publié sur Google Google
Melanie Ducos profile picture
Melanie Ducos
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex vérifie que la source originale de l'avis est Google.
Un chauffeur extraordinaire, adorable, ponctuel, calme et serviable.
Publié sur Google Google
Martine profile picture
Martine
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex vérifie que la source originale de l'avis est Google.
Suite à une annulation de train , toute l’équipe de Drive me driver a été d’une très grande aide, en mettant dans un délai très restrain un taxi à disposition afin de se rendre à l’aéroport de Strasbourg. Ma mère, étant d’un certaine âge, était stressée par ces circonstances mais l’ empathie du chauffeur et sa bienveillance l’ a complètement rassuré et lui a permis de prendre son vol à l’heure. Un grand merci à toute l’équipe. En vous souhaitant à tous de très belles fêtes de fin d’année M. Philipps
Publié sur Google Google
Zannol Loïc profile picture
Zannol Loïc
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex vérifie que la source originale de l'avis est Google.
Très grand service de qualité 👌😊
Publié sur Google Google
Anne Delpied profile picture
Anne Delpied
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex vérifie que la source originale de l'avis est Google.
Très satisfaite des trajets avec Drive me Driver. Ponctualité, prix des courses et amabilité des chauffeurs !
Publié sur Google Google
Emma Garnier profile picture
Emma Garnier
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex vérifie que la source originale de l'avis est Google.
Très ponctuel et professionnel mais aussi aimable. Je recommande !
Publié sur Google Google
Breton Loic profile picture
Breton Loic
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex vérifie que la source originale de l'avis est Google.
Première fois que je passer par se service , très content , je le recommande fortement

Our train station and airport transfers from Colmar

For your departures and arrivals, we provide direct, comfortable and stress-free connections. Your driver greets you with a name sign at the exit of your terminal or on the station platform, takes care of your luggage and tracks your flight or train in real time.

  • Colmar train station: Direct transfer to your hotel, home, or historic city center.
  • Basel-Mulhouse Airport (EuroAirport): Get to your terminal quickly and without worrying about long-term parking.
  • Strasbourg-Entzheim Airport: A seamless connection from Colmar for all your domestic and European flights.
  • International airports: Tailor-made pick-up to Zurich, Frankfurt, Stuttgart or Baden-Baden.

Solutions for businesses and professionals (B2B)

The demands of the business world require impeccable punctuality and a serene working environment. We support managers, employees and delegations during their business trips to Colmar and throughout the Haut-Rhin.

  • Professional Affiliations: Transfers to the business parks, the Prefecture, or the Exhibition Centre (Colmar Expo) for your trade fairs and congresses.
  • Availability: Book a driver for a few hours or the whole day. Ideal for holding your business meetings without parking constraints.
  • Company seminars: We manage the logistics of transporting your teams or distinguished guests to wine estates and reception venues.

Tourism & Tours: Discover the treasures of Alsace

Capital of Alsace Wines, Colmar is the ideal starting point to explore the heritage of the region. Let yourself be guided through exceptional landscapes without worrying about the route.

We offer you a privatized tourist experience to visit the favorite villages of the French such as Riquewihr, Eguisheim, Kaysersberg or Ribeauvillé. Visit the Château du Haut-Koenigsbourg or taste the local grands crus in complete safety.

For a pre-planned excursion, discover in detail our sightseeing tour on the Wine Route.

Our fleet: Mercedes vans and sedans for absolute comfort

To guarantee you a prestigious, silent and secure travel experience, we have chosen a fleet of exclusively top-of-the-range vehicles.

  • Mercedes-Benz Van (V-Class): The perfect solution for families, small groups and excess luggage. Capable of accommodating up to 7 passengers in lounge-like comfort, it is the preferred choice for your airport transfers.
  • Premium Sedans: A refined and discreet space, ideal for business travellers or couples, equipped with Wi-Fi, chargers for your devices and refreshments on board.

On request when you book, we provide you with free car seats adapted to the age of your children


Book a ride

FAQ: Your questions about booking a VTC in Colmar

The main difference is our guaranteed fixed price from the moment of booking, unlike the random meter of a taxi. In addition, our private chauffeur service operates exclusively by reservation with a top-of-the-range fleet, including sedans and a Mercedes van.

Yes, our VTC service is available 24/ 7 upon prior reservation. Whether you have an early departure at Colmar train station or a late arrival at Basel-Mulhouse airport , we provide your transfer at any time.

No, thanks to our fixed price policy, the amount calculated at the time of your booking remains unchanged, even in case of heavy traffic between Colmar and Strasbourg. This gives you complete control over your budget.

Your driver tracks the arrival of your flight at the airport or your train at the station in real time. In the event of a delay in your transport, it adapts its arrival time to accommodate you without charging waiting fees.

Absolutely. Our fleet has a Mercedes V-Class Van that can comfortably carry up to 7 passengers with their luggage. It is the ideal solution for a family airport transfer or a sightseeing tour.

Yes, the safety of your children is our priority. On request when you order, we can install baby seats or booster seats adapted to their age free of charge.

You can pay for your ride securely online at checkout. We also accept payments on board our vehicles by credit card (Visa, MasterCard, Amex) or cash.

Absolutely. We support managers and employees with a chauffeur-driven vehicle service for a few hours or the whole day, thus facilitating the sequence of your business meetings.

Our VTC Blog: News and mobility advice

Ready to order your ride from Colmar?

Enjoy the comfort of a Mercedes Van, the expertise of a local private driver, and the guarantee of a fixed price at no extra charge.


Book a ride

What other destinations do we fly to?

Drive me Driver offers its services to the various airports in the Grand Est, Germany and Switzerland:

Transfer to Baden Baden Airport
Transfer to Strasbourg Entzheim Airport
– Transfer to Stuttgart Airport
Transfer to Frankfurt Airport
Transfer to Basel-Mulhouse Airport
Transfer to Zurich Airport
Transfer to Strasbourg Entzheim Airport

We also suggest you visit the most beautiful places in our region:

Europa Park VTC driver
Private Driver Colmar
Chauffeur Chauffeur Ribeauvillé
Chauffeur VTC Obernai
Chauffeur VTC Kaysersberg
Riquewhir VTC driver
VTC driver Eguisheim