/* MobilityLine — corrections communes (chargées dans le <head> de toutes les pages, avant les styles de page)
   Remplace les feuilles injectées par ml.js après le chargement (ml-mobile, ml-bar, ml-i18n) : plus de décalage de mise en page. */

/* 1. Décors en position absolue : ils ne doivent jamais capter les touchers */
:is(.hero,.hero-ville,.hero-resa,.hero-legal,.cat-hero,.cta-final,.cta-final-block,.gallery-main,.reviews-overview,.article-hero-img,.article-quote,.article-image,.article-cta-box,.featured-img,.article-img,.newsletter-block,.help-block,.info-card,.testimonial-block,.form-side,.city-img,.steps-grid,.b2b-block,.timeline,.founder-block,.eco-block,.newsletter,.nav-link)::before,
:is(.hero,.hero-ville,.hero-resa,.hero-legal,.cat-hero,.cta-final,.cta-final-block,.gallery-main,.reviews-overview,.article-hero-img,.article-quote,.article-image,.article-cta-box,.featured-img,.article-img,.newsletter-block,.help-block,.info-card,.testimonial-block,.form-side,.city-img,.steps-grid,.b2b-block,.timeline,.founder-block,.eco-block,.newsletter,.nav-link)::after{pointer-events:none}
.hero-inner,.hero-right{position:relative;z-index:2}

/* 2. Contraste (accessibilité) : vert/teal plus sombre, même identité */
:root .section-tag,:root .brands-tag,:root .nl-tag,:root .breadcrumb a,:root .related-mini-cat,:root .related-section-tag,:root .article-content p>a,:root .ml-pillar a{color:#0B776D}
:root .trust-band .section-tag{color:#B4501A!important}
:root .ml-free-cancel{color:#0E7A4F!important}
:root .clear-btn,:root .mini-cta-btn{color:#B4501A}
:root .filter-row.active .filter-count{background:#0B776D}

/* 3. Sélecteur de langue (en-tête et menu mobile) */
body .topbar-lang{display:inline-flex!important}
.ml-lsw{display:inline-flex;gap:2px;align-items:center;margin:0 10px;font-weight:700;font-size:13px}
.ml-lsw span{padding:4px 7px;border-radius:6px;cursor:pointer;color:#0B3B5C;opacity:.7}
.ml-lsw span.active{background:rgba(31,182,168,.15);opacity:1}
.ml-nav-lang{display:none}
@media(max-width:860px){.ml-lsw{margin:0 6px}}
@media(max-width:600px){.topbar-right{gap:4px!important;flex-wrap:wrap}.topbar-lang{padding:3px 6px!important}.ml-lsw{margin:0 2px;font-size:11px;gap:0}.ml-lsw span{padding:3px 4px}}

/* 4. Lien « Voir l'offre » (accueil) et villes (destinations) devenus de vrais liens */
a.city-cta{text-decoration:none;box-sizing:border-box}
a.city-link{display:block;color:inherit;text-decoration:none}

/* 5. FAQ (accordéons) */
.faq-question{cursor:pointer}
.faq-item:not(.open)>.faq-answer{display:none!important}
.faq-item.open>.faq-answer{display:block!important;max-height:none!important;height:auto!important;opacity:1!important;visibility:visible!important;overflow:visible!important}

/* 6. Nos voitures : tri, vue liste, favoris */
.sort-select select{border:0;background:transparent;font:inherit;font-weight:800;color:inherit;cursor:pointer;padding:0 2px}
.cars-grid.ml-list{grid-template-columns:minmax(0,1fr)!important}
.cars-grid.ml-list .car-card{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr);align-items:stretch}
.cars-grid.ml-list .car-img{height:auto!important;min-height:150px}
.car-fav{cursor:pointer;z-index:3}
.car-fav.on svg{fill:#E11D48;stroke:#E11D48}
.view-btn{cursor:pointer}

/* 7. Recherche des destinations : le champ « Catégorie » n'a pas d'effet, il est retiré */
.search-bar-zone .search-box>.search-field:nth-of-type(4){display:none!important}

/* 8. Formulaires Contact / Solutions Pro (envoi par WhatsApp) */
form.ml-form{display:contents}
.ml-form-ok{margin-top:14px;padding:14px 16px;border-radius:12px;background:#ECFDF5;border:1px solid #10B981;color:#064E3B;font-size:14px;line-height:1.55}
.ml-form-ok a{color:#065F46;font-weight:800;text-decoration:underline}
.ml-form-ok .ml-wa-btn{display:inline-block;margin:8px 8px 0 0;padding:10px 14px;border-radius:10px;background:#25D366;color:#fff;text-decoration:none}
.ml-invalid{border-color:#DC2626!important;box-shadow:0 0 0 2px rgba(220,38,38,.15)!important}

/* 9. Fiche voiture : plein écran */
.gallery-zoom{cursor:pointer;z-index:3}
#ml-lb{position:fixed;inset:0;z-index:10000;background:rgba(5,15,25,.92);display:flex;align-items:center;justify-content:center;padding:16px;cursor:zoom-out}
#ml-lb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;background:#fff}
#ml-lb button{position:absolute;top:12px;inset-inline-end:12px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:26px;line-height:1;cursor:pointer}

@media (max-width:480px){.hero-right .row-two .search-row .ic{display:none}.hero-right .row-two .search-row{padding:12px 4px}}

/* 10. Barre de réservation mobile (ml-bar) */
#ml-bar{display:none}
@media (max-width:968px){
#ml-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:95;background:#fff;box-shadow:0 -6px 24px rgba(10,25,41,.14);padding:8px 12px calc(8px + env(safe-area-inset-bottom));font-family:inherit}
#ml-bar .mb-c{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:700;color:#0E7A4F;margin-bottom:6px}
#ml-bar .mb-r{display:flex;gap:8px;align-items:stretch}
#ml-bar .mb-b{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1FB6A8,#3DDB7B);color:#fff;border-radius:12px;font-weight:800;font-size:15px;text-decoration:none;padding:10px 8px;line-height:1.15;min-height:44px}
#ml-bar .mb-b small{font-size:11px;font-weight:600;opacity:.95}
#ml-bar .mb-i{width:52px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;text-decoration:none}
#ml-bar .mb-w{background:#25D366}#ml-bar .mb-p{background:#0A1929}
body.ml-hasbar{padding-bottom:96px!important}
body.ml-hasbar .wa-float{display:none!important}
body.ml-hasbar #ml-ck{bottom:96px!important}
}

/* 11. Réservation (mobile) : bouton WhatsApp flottant retiré, total collant en bas */
#ml-rbar{display:none}
@media (max-width:968px){
body:has(#resa-form) .wa-float{display:none!important}
body:has(#resa-form){padding-bottom:72px}
#ml-rbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95;align-items:center;justify-content:space-between;gap:10px;background:#0A1929;color:#fff;padding:10px 16px calc(10px + env(safe-area-inset-bottom));font-family:inherit;box-shadow:0 -6px 24px rgba(10,25,41,.18)}
#ml-rbar .rb-l{font-size:12px;opacity:.85;line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#ml-rbar .rb-t{font-size:18px;font-weight:800;white-space:nowrap}
#ml-rbar a{color:#7FE0B4;font-size:13px;font-weight:700;text-decoration:underline;white-space:nowrap;padding:12px 0}
body:has(#ml-rbar) #ml-ck{bottom:80px!important}
}
.ml-resa-fail{margin-top:14px;padding:14px 16px;border-radius:12px;background:#FFF7ED;border:1px solid #FB923C;color:#7C2D12;font-size:14px;line-height:1.55}
.ml-resa-fail a{font-weight:800;color:#7C2D12}
.ml-resa-fail .ml-wa-btn{display:inline-block;margin:8px 8px 0 0;padding:10px 14px;border-radius:10px;background:#25D366;color:#fff;text-decoration:none}

/* 12. Téléphone : débordements, menu, champs (ancien module ml-mobile de ml.js) */
@media (max-width:968px){
.article-main,.catalogue-main,.faq-main,.eco-block,.hero-ville-inner,.form-block,.b2b-block,.legal-layout,[class*="-layout"],[class*="-grid"],[class*="hero-inner"]{grid-template-columns:minmax(0,1fr)!important}
.article-main>*,.catalogue-main>*,.faq-main>*,.eco-block>*,.hero-ville-inner>*,.form-block>*,.b2b-block>*,.legal-layout>*,[class*="-layout"]>*,[class*="hero-inner"]>*{min-width:0!important;max-width:100%!important}
.article-main{padding-left:14px!important;padding-right:14px!important}.article-content{padding:22px 18px!important}
.article-content img,.article-content table,.legal-content table{max-width:100%!important}.article-content table{display:block;overflow-x:auto}
.founder-block,.testimonial-block,.id-row,.contact-block{grid-template-columns:minmax(0,1fr)!important}.founder-block>*,.testimonial-block>*,.id-row>*,.contact-block>*{min-width:0!important}
.search-box,.search-bar:has(.sb-cta){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important}.search-box>*,.search-bar:has(.sb-cta)>*{min-width:0!important}.search-box>:last-child,.search-bar:has(.sb-cta)>:last-child{grid-column:1/-1}
.search-bar:has(.search-btn){flex-wrap:wrap!important}.search-bar:has(.search-btn) input{flex:1 1 0!important;min-width:0!important;text-align:start!important}.search-bar .search-btn{flex:1 1 100%!important;max-width:100%!important}
.header .logo{min-width:0;flex-shrink:1;order:-1}.header .btn-wa{font-size:0!important;gap:0!important;padding:10px 12px!important}.header .btn-wa svg{width:20px;height:20px}
.footer-bottom{flex-wrap:wrap!important;justify-content:center!important;gap:12px!important}.footer-bottom-links,.footer-payment{flex-wrap:wrap!important;justify-content:center!important}
/* champs : 16 px minimum (évite le zoom automatique de l'iPhone) */
input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
/* destinations : « Nos autres destinations » en grille 2 colonnes, rien hors écran */
.other-cities{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.other-cities>*{min-width:0}
/* nos voitures : barre de résultats sur deux lignes */
.results-bar{flex-wrap:wrap;gap:10px}
.results-right{max-width:100%;flex-wrap:wrap}
/* recherche : champs date compacts (le calendrier s'ouvre au toucher du champ) */
#ml-dep::-webkit-calendar-picker-indicator,#ml-ret::-webkit-calendar-picker-indicator{display:none}
#ml-dep,#ml-ret{min-width:0}
/* contact : case de consentement en texte continu */
.form-rgpd-check{display:block!important}.form-rgpd-check input{margin-inline-end:8px;vertical-align:middle}
/* menu mobile : langues */
.header.ml-open .ml-nav-lang{display:flex;flex-wrap:wrap;gap:6px;padding:12px 6px 6px;border-top:1px solid #EEF2F6}
.ml-nav-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:44px;padding:0 12px;border-radius:10px;border:1px solid #DCE6EE;color:#0B3B5C;font-weight:800;font-size:14px;text-decoration:none}
.ml-nav-lang a.active{background:#0B3B5C;border-color:#0B3B5C;color:#fff}
}

/* 13. Arabe : nom du modèle (MG3+) affiché dans le bon sens dans le récapitulatif */
#sum-car,#ml-rbar .rb-c,.car-tile-name{unicode-bidi:plaintext}

/* 14. Prix indicatif en euros (ml.js, module ml-eur) : discret, couleur secondaire, ne remplace jamais le prix en DH */
.ml-eur{display:inline-block;margin-inline-start:.45em;font-size:11px;line-height:1.2;font-weight:600;font-style:normal;letter-spacing:0;text-transform:none;color:#5A6B7E;-webkit-text-fill-color:#5A6B7E;background:none;white-space:nowrap;vertical-align:baseline}
.ml-eur[hidden]{display:none}
html[dir=rtl] .ml-eur{margin-left:0;margin-right:.45em}
td .ml-eur,.article-content b .ml-eur,.ml-answer b .ml-eur{font-size:12px}
.price-row .ml-eur-main{display:block;margin:3px 0 0;font-size:13px}
.price-unit:has(.ml-eur-main){white-space:nowrap}
.car-price .ml-eur,.similar-price .ml-eur,.cat-price .ml-eur{vertical-align:1px}
.ml-eur.ml-eur-cell{display:block;margin:1px 0 0;font-size:11px}
.ml-eur-total{text-align:end;min-height:16px;margin-top:2px}
.ml-eur-total .ml-eur{margin:0;font-size:13px}
.hero-city-feat .ml-eur{color:inherit;-webkit-text-fill-color:currentColor;opacity:.8}
#ml-rbar .ml-eur{color:#B8C7D6;-webkit-text-fill-color:#B8C7D6;font-size:12px}
#ml-ow-note .ml-eur,#ow-note .ml-eur{font-size:inherit}
.ml-eur-note{margin:10px 0 0;font-size:11.5px;line-height:1.45;color:#5A6B7E;font-style:italic}
