/* ── STYLES (lib/layout.js) ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --or:#F97316;--or2:#D96010;--or-glow:rgba(249,115,22,.18);--or-pale:rgba(249,115,22,.08);--or-border:rgba(249,115,22,.28);
  --dk:#080809;--dk2:#0e0e10;--dk3:#141418;--dk4:#1a1a1f;--dk5:#222228;
  --bd:rgba(255,255,255,.06);--bd2:rgba(255,255,255,.12);
  --tx:#F0EFEA;--tx2:#9999A0;/* --tx3 etait #555558 : 2,47:1 sur les puces de marque, 2,59:1 dans le
     pied de page, 2,69:1 sur la note de prix — Lighthouse les signalait
     tous le 26/10/2026. #8A8A90 monte a 5,4:1 sur le fond le plus clair
     du site (#141418) en restant un gris attenue. */
  --tx3:#8A8A90;
  --gr:#22c55e;--gr-pale:rgba(34,197,94,.1);--gr-bd:rgba(34,197,94,.25);
  --r:10px;--rl:16px;--rxl:22px;
}
html{scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;background:var(--dk);color:var(--tx);overflow-x:hidden;font-size:16px;line-height:1.6}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 59px,rgba(255,255,255,.012) 60px),
             repeating-linear-gradient(90deg,transparent,transparent 59px,rgba(255,255,255,.012) 60px)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* NAV */
.nav{position:sticky;top:0;z-index:100;background:rgba(8,8,9,.92);backdrop-filter:blur(20px);border-bottom:1px solid var(--bd)}
.nav-i{max-width:1400px;margin:0 auto;padding:0 24px;display:flex;align-items:center;height:64px;position:relative}
.nav-logo{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:20px;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:10px;margin-right:16px;flex-shrink:0}
.nav-logo-dot{width:8px;height:8px;border-radius:50%;background:var(--or);box-shadow:0 0 8px var(--or)}
.nav-links{display:flex;align-items:center;gap:0;list-style:none;flex-wrap:nowrap;flex-shrink:0}
/* LE MENU MOBILE.
   Jusqu'au 25/10/2026, la regle media de 768 px
   masquait le menu sur telephone SANS RIEN METTRE A LA PLACE : un visiteur
   sur mobile n'avait aucun acces a la recherche, au sur-mesure ni a la FAQ.

   ⚠ LE la liste EST VOLONTAIREMENT HORS DU l element details, pilote par le selecteur
   de voisinage [open] suivi du tilde. Place DEDANS, son affichage dependrait de la
   facon dont le navigateur masque le contenu d'un l element details ferme — un
   mecanisme interne qui a change dans les versions recentes de Chrome et
   qu'une regle display ne surcharge pas toujours. Ici, rien a surcharger.

   Aucun JavaScript : le navigateur gere l'ouverture, et le menu marche
   meme si un script echoue. */
/* LA PRESENTATION DETAILLEE, REPLIEE.
   Mesure du 25/10/2026 sur 375 px : la fiche faisait 8 986 px de haut, soit
   onze ecrans de telephone, et ce seul bloc en occupait 1 371. Il contient
   le texte editorial et la FAQ — utiles au referencement, mais ils
   repoussaient les fichiers lies et les offres tout en bas.
   Le texte RESTE dans le code source : Google lit le contenu d un element
   details ferme, il n est pas masque au sens du referencement. */
.prose-repli>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;min-height:44px}
.prose-repli>summary::-webkit-details-marker{display:none}
.prose-repli>summary::after{content:"+";margin-left:auto;font-size:26px;color:var(--or);line-height:1}
.prose-repli[open]>summary::after{content:"−"}
.nav-burger{display:none}
.nav-burger>summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;justify-content:center;gap:5px;
  width:42px;height:38px;padding:9px 10px;border:1px solid var(--bd);border-radius:8px}
.nav-burger>summary::-webkit-details-marker{display:none}
.nav-burger>summary span{display:block;height:2px;background:var(--tx2);border-radius:2px;transition:background .15s}
.nav-burger>summary:hover span,.nav-burger[open]>summary span{background:var(--or)}
.nav-links li{flex-shrink:0}
.nav-links a{font-size:13px;font-weight:600;color:var(--tx2);padding:8px 10px;border-radius:6px;transition:color .15s,background .15s;white-space:nowrap}
.nav-links a:hover{color:var(--tx);background:var(--bd)}
.nav-cta{margin-left:10px;background:var(--or);color:#180c02;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:13px;padding:10px 18px;border-radius:8px;transition:background .15s,transform .15s;white-space:nowrap;flex-shrink:0}
.nav-cta:hover{background:var(--or2);transform:translateY(-1px)}

/* LAYOUT */
main{position:relative;z-index:1;padding:48px 24px 72px}
.wrap{max-width:1240px;margin:0 auto}
/* .eyebrow a ete retire le 26/10/2026 : 34 sur-titres en capitales
   espacees poses au-dessus des titres, que le titre disait deja. */
.eyebrow::after{content:'';flex-shrink:0;width:40px;height:1px;background:var(--or-border)}
h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(34px,5vw,56px);text-transform:uppercase;letter-spacing:-.01em;line-height:1;color:var(--tx)}
h1 span{color:var(--or)}
h2{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(20px,3vw,34px);text-transform:uppercase;color:var(--tx);margin:44px 0 16px}
.lede{margin-top:12px;color:var(--tx2);font-size:16px;max-width:560px;line-height:1.7}
.lede a{color:var(--or);font-weight:600}
.crumbs{font-size:13px;font-weight:600;color:var(--tx3);margin-bottom:18px}
.crumbs a:hover{color:var(--tx2)}

/* CARDS (liste fichiers) */
.list{list-style:none;display:grid;gap:12px;padding:0}
.card{display:block;background:var(--dk3);border-radius:var(--rl);padding:20px 24px;transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--or-border);transform:translateY(-3px)}
.card-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.card-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:20px;text-transform:uppercase;letter-spacing:.01em;color:var(--tx);line-height:1.15}
.card-title .ver{color:var(--or)}
.price-tag{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:26px;color:var(--or);white-space:nowrap;line-height:1}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.tag{font-size:13px;font-weight:700;color:var(--tx2);background:var(--dk4);padding:3px 10px;border-radius:20px;transition:border-color .15s}
.card:hover .tag{border-color:var(--bd2)}
.tag.mono{font-family:ui-monospace,Menlo,Consolas,monospace;text-transform:none;letter-spacing:.02em;color:var(--or);background:var(--or-pale);border-color:var(--or-border)}
a.tag:hover{color:var(--tx);border-color:var(--or-border)}

/* CHIPS (marques / ECU) */
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.chip{display:inline-flex;align-items:baseline;gap:7px;background:var(--dk3);border-radius:var(--r);padding:12px 18px;transition:border-color .2s,transform .2s}
.chip:hover{border-color:var(--or-border);transform:translateY(-2px)}
.chip b{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;color:var(--tx)}
.chip{font-size:13px;color:var(--tx3);font-weight:600}

/* FICHE PRODUIT */
/* Desktop : fiche technique (col 1) + buybox (col 2, sur 2 rangées) + blocs
   complémentaires sous la fiche technique — ils comblent le vide laissé par la
   buybox, plus longue.
   Mobile : l'ordre du DOM s'applique, donc fiche technique → BUYBOX → extras.
   Le prix et le bouton restent ainsi près du haut de page ; les mettre après les
   extras repoussait l'achat à 2,3 écrans de défilement. */
.grid.detail{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}
.grid.detail > .spec-panel{grid-column:1;grid-row:1}
.grid.detail > .buybox{grid-column:2;grid-row:1 / span 3}
/* Les autres versions du meme calculateur : juste sous la fiche technique,
   dans le vide qui s'y trouvait. Elles vivaient tout en bas de page, apres
   huit blocs — un acheteur qui cherche le Stage 1 du fichier qu'il regarde ne
   descendait jamais jusque la. */
.grid.detail > .versions-panel{grid-column:1;grid-row:2}
.grid.detail > .extras-panel{grid-column:1;grid-row:3}
/* Une fiche sans autre version n'a pas de rangee 2 : sans cette regle, la
   place reservee resterait vide et creuserait un trou sous le tableau. */
.grid.detail.sans-versions > .buybox{grid-row:1 / span 2}
.grid.detail.sans-versions > .extras-panel{grid-row:2}
.versions-panel .list{margin:0}
.versions-panel .card{padding:11px 14px}
.versions-panel .card + .card{margin-top:8px}
.panel{background:var(--dk3);border-radius:var(--rl);padding:28px}
.buybox{background:var(--dk3);border:1.5px solid var(--or-border);position:sticky;top:84px;overflow:hidden}
.product-merchant-img{margin:-8px -8px 14px;border-radius:12px;overflow:hidden;background:var(--dk5)}
.product-merchant-img img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.buybox::before{content:'';position:absolute;top:-60px;right:-60px;width:240px;height:240px;background:radial-gradient(circle,var(--or-glow),transparent 70%);pointer-events:none}
.price{position:relative}
.price small{display:block;font-size:13px;font-weight:800;color:var(--or);margin-bottom:6px}
.price{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:52px;line-height:.95;color:var(--tx)}
.btn{position:relative;display:block;width:100%;text-align:center;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:20px;text-transform:uppercase;letter-spacing:.07em;background:var(--or);color:#180c02;padding:18px 28px;border:none;border-radius:var(--r);cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:var(--or2);transform:translateY(-2px);box-shadow:0 10px 40px rgba(249,115,22,.45)}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.express-checkout-wrap{margin-top:16px;position:relative}
.express-checkout{min-height:48px}
.pay-divider{display:flex;align-items:center;gap:12px;margin:14px 0 0;font-size:13px;font-weight:700;color:var(--tx3)}
.pay-divider::before,.pay-divider::after{content:'';flex:1;height:1px;background:var(--bd)}
.note{position:relative;font-size:13px;color:var(--tx3);margin-top:14px;line-height:1.6}
.spec{width:100%;border-collapse:collapse}
.spec th{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);text-align:left;padding:12px 16px 12px 0;border-bottom:1px solid var(--bd);white-space:nowrap;vertical-align:top;width:1%}
.spec td{font-size:16px;color:var(--tx);padding:12px 0;border-bottom:1px solid var(--bd)}
.spec tr:last-child th,.spec tr:last-child td{border-bottom:none}
.spec td.mono{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--or);font-size:16px}
.power-gain{color:var(--or);font-weight:700;margin-left:4px}
.power-gain-only{font-size:16px;font-weight:700;color:var(--or)}
.power-note{display:block;margin-top:6px;font-size:13px;color:var(--tx3);line-height:1.4}
.power-badge{display:inline-block;margin-left:8px;padding:2px 8px;font-size:13px;font-weight:700;color:var(--or);border:1px solid var(--or-border);border-radius:4px;background:rgba(212,160,23,.08)}
.power-family{color:var(--tx2);font-size:13px;margin-left:4px}
.power-fallback{margin-top:8px}
.buybox-power{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--or-border);border-radius:8px;background:rgba(212,160,23,.06)}
.buybox-power-val{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:700;color:var(--tx);letter-spacing:.02em}
.buybox-power-gain{font-size:16px;font-weight:700;color:var(--or)}


/* RECHERCHE */
form.search{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
.searchbar{grid-column:1/-1;display:flex;gap:10px}
.searchbar input{flex:1}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3)}
input:not([type]),input[type=text],input[type=search]{background:var(--dk3);border:1px solid var(--bd);border-radius:var(--r);color:var(--tx);padding:14px 16px;font-size:16px;font-family:'Barlow',sans-serif;outline:none;transition:border-color .2s}
input:not([type]):focus,input[type=text]:focus,input[type=search]:focus{border-color:var(--or)}
input::placeholder{color:var(--tx3)}
form.search .btn{width:auto;padding:14px 32px;font-size:16px}
.filtres{grid-column:1/-1;background:var(--dk3);border-radius:var(--rl);margin-top:4px}
.filtres>summary{list-style:none;cursor:pointer;padding:14px 18px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2);user-select:none}
.filtres>summary::-webkit-details-marker{display:none}
.filtres>summary::before{content:'+';font-size:16px;line-height:1;color:var(--or);font-weight:900}
.filtres[open]>summary::before{content:'2'}
.filtres>summary:hover{color:var(--or)}
.filtres-actifs{margin-left:auto;background:var(--or);color:#fff;border-radius:20px;padding:2px 9px;font-size:13px;letter-spacing:.04em}
.filtres-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 18px 18px}
.filtres-grille input{width:100%;box-sizing:border-box;padding:11px 13px;font-size:16px}
@media(max-width:768px){.filtres-grille{grid-template-columns:1fr 1fr}}
/* Le bouton au pied du panneau de filtres. Sans lui, un visiteur qui avait
   rempli marque + modele + annee devait remonter jusqu'a la barre de
   recherche pour lancer : la touche Entree fonctionnait, mais rien ne le
   disait. Le bouton rend l'action visible la ou elle se decide. */
.filtres-pied{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:0 18px 18px}
.filtres-pied .btn{width:auto;padding:11px 26px;margin:0}
/* « Reinitialiser » reste en retrait : c'est une sortie de secours, pas
   l'action principale. Il ne doit jamais attirer l'oeil plus que Rechercher. */
.filtres-reinit{display:inline-block;padding:11px 20px;font-size:13px;text-decoration:none}
@media(max-width:768px){.filtres-pied .btn{width:100%}}
@media(max-width:480px){.filtres-grille{grid-template-columns:1fr}}
.empty{color:var(--tx3);padding:28px 0;font-size:16px}

/* LEGAL */
.legal{max-width:820px}
.legal h2{margin:40px 0 12px;font-size:20px}
.legal p,.legal li{font-size:16px;color:var(--tx2);line-height:1.8;margin-bottom:12px}
.legal ul{padding-left:20px;margin-bottom:12px}
.legal strong{color:var(--tx)}

/* FOOTER */
footer{position:relative;z-index:1;background:var(--dk2);border-top:1px solid var(--bd);padding:56px 24px 32px}
.footer-i{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}
.footer-brand h3{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:26px;text-transform:uppercase;letter-spacing:.04em;color:var(--tx);margin-bottom:10px}
.footer-brand h3 span{color:var(--or)}
.footer-brand p{font-size:13px;color:var(--tx2);max-width:280px;line-height:1.7}
.footer-col h4{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:800;color:var(--or);margin-bottom:16px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col ul li a{font-size:13px;color:var(--tx2);transition:color .15s}
.footer-col ul li a:hover{color:var(--tx)}
.footer-bottom{max-width:1240px;margin:40px auto 0;padding-top:24px;border-top:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:13px;color:var(--tx3);line-height:1.6}
.footer-bottom a{color:var(--tx3)}
.footer-bottom a:hover{color:var(--or)}

/* NAV lang switch */
.nav-lang{display:flex;gap:2px;margin-left:10px;padding-left:12px;border-left:1px solid var(--bd);flex-shrink:0}
/* --tx2 et non --tx3 : sur le fond du bandeau (#080809), --tx3 (#555558) ne
   donne que 2,6:1, en dessous des 4,5:1 exiges pour du texte de 12 px.
   Lighthouse le signalait sur les sept liens de langue (26/10/2026).
   --tx2 (#9999A0) monte a environ 7:1. */
.nav-lang a{font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--tx2);padding:6px 8px;border-radius:6px;transition:color .15s}
.nav-lang a.on{color:var(--or)}
.nav-lang a:hover{color:var(--tx)}
/* Devise : meme traitement visuel que la langue, mais en liste depliante —
   dix-sept codes en ligne ne tiendraient pas dans l'en-tete. */
.nav-cur{position:relative;margin-left:8px;flex-shrink:0}
.nav-cur>summary{list-style:none;cursor:pointer;font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--tx2);padding:6px 8px;border-radius:6px}
.nav-cur>summary::-webkit-details-marker{display:none}
.nav-cur>summary::after{content:"▾";margin-left:4px;font-size:13px}
.nav-cur[open]>summary,.nav-cur>summary:hover{color:var(--or)}
.nav-cur-list{position:absolute;right:0;top:calc(100% + 4px);z-index:60;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--bg2,#111);border-radius:8px;padding:6px;min-width:190px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.nav-cur-list a{font-size:13px;font-weight:700;color:var(--tx3);padding:6px 6px;border-radius:5px;text-align:center}
.nav-cur-list a.on{color:var(--or);background:rgba(255,255,255,.06)}
.nav-cur-list a:hover{color:var(--tx);background:rgba(255,255,255,.08)}

/* HOME centrée */
.home{max-width:840px;margin:0 auto;text-align:center}
.home .eyebrow{justify-content:center}
.home .eyebrow::after{display:none}
/* LE PREMIER ECRAN A ENFIN UNE CHOSE DOMINANTE.
   Mesure du 26/10/2026 : le plus gros element faisait 56 px, soit 3,9 %
   de la largeur a 1440. Les pages qui tiennent leur premier ecran sont
   autour de 8 %. On ne touche QUE le titre d'accueil : les fiches produit
   portent des titres longs (« EDC16C35 0281011964 — BMW E90 Damos ») qui
   doivent rester sur deux lignes. */
.home h1{font-size:clamp(40px,7.4vw,104px);letter-spacing:-.02em}
.home .lede{font-size:20px;margin-left:auto;margin-right:auto;max-width:620px}
.home form.search{max-width:640px;margin-left:auto;margin-right:auto}
.home h2{margin-top:42px}
.home-wide{max-width:1240px;margin:0 auto}

/* Démo WinOLS (accueil + fiche) */
.demo-video-section{margin:48px auto 0;padding:36px 28px;background:var(--dk3);border-radius:var(--rxl);max-width:1240px}
.demo-video-inner{display:grid;grid-template-columns:1fr min(480px,44vw);gap:32px;align-items:center;text-align:left}
.demo-video-copy .eyebrow{justify-content:flex-start}
.demo-video-copy .eyebrow::after{display:block}
.demo-video-copy h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(26px,3.5vw,34px);text-transform:uppercase;margin:0 0 12px;line-height:1.05}
.demo-video-copy .lede{margin:0 0 16px;max-width:none}
.demo-video-bullets{margin:0 0 18px;padding:0 0 0 18px;color:var(--tx2);font-size:16px;line-height:1.65}
.demo-video-bullets li{margin-bottom:6px}
.demo-video-yt-link{display:inline-block;font-size:13px;font-weight:700;color:var(--or)}
.demo-video-yt-link:hover{color:var(--or2)}
.demo-video-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--rl);overflow:hidden;border:1px solid var(--or-border);background:var(--dk5);box-shadow:0 12px 40px rgba(0,0,0,.35)}
.demo-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.demo-video-poster{display:flex;align-items:center;justify-content:center;position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--rl);border:1.5px dashed var(--or-border);background:var(--dk4);text-decoration:none;transition:border-color .2s,transform .2s}
.demo-video-poster:hover{border-color:var(--or);transform:translateY(-2px)}
.demo-video-poster-play{width:64px;height:64px;border-radius:50%;background:var(--or);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 8px 28px rgba(249,115,22,.4)}
.demo-video-poster-label{position:absolute;bottom:14px;left:16px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:13px;color:var(--tx3)}
.demo-video-compact{display:inline-block;margin-top:12px;font-size:13px;font-weight:700;color:var(--or)}
.demo-video-compact:hover{color:var(--or2)}
@media(max-width:900px){
  .demo-video-inner{grid-template-columns:1fr;gap:24px}
  .demo-video-media{order:-1}
}
.home-catalog{margin-top:44px;padding-top:36px;border-top:1px solid var(--bd)}
.home-catalog h2{text-align:left;margin-top:40px;margin-bottom:0}
.home-catalog h2:first-child{margin-top:0}
.home-catalog .chips{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(118px,1fr));
  gap:8px;
  margin-top:14px;
}
.home-catalog .chip{
  justify-content:space-between;
  width:100%;
  min-height:auto;
  padding:9px 12px;
  align-items:center;
  gap:5px;
}
.home-catalog .chip b{font-size:16px}
.home-catalog .chip{font-size:13px}
@media(max-width:560px){
  .home-catalog .chips{grid-template-columns:repeat(3,1fr);gap:7px}
  .home-catalog .chip{padding:8px 10px}
  .home-catalog .chip b{font-size:13px}
}
.home-search{margin-top:32px;margin-bottom:8px}
.home-search .searchbar input{font-size:16px;padding:18px 20px;border-color:var(--or-border);background:var(--dk4)}
.home-search .searchbar input:focus{border-color:var(--or);box-shadow:0 0 0 3px var(--or-glow)}
.home-search .btn{width:auto;padding:18px 40px;font-size:16px;flex-shrink:0}

/* STATS */
.hero-stats{display:flex;flex-wrap:wrap;gap:36px;justify-content:center;margin-top:36px;padding-top:32px;border-top:1px solid var(--bd)}
.hero-stat-num{font-family:'Barlow Condensed',sans-serif;font-size:42px;font-weight:900;color:var(--or);line-height:1}
.hero-stat-label{font-size:13px;color:var(--tx2);margin-top:4px;letter-spacing:.05em}

/* HOME PILLS */
.home-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}
.home-pill{font-size:13px;font-weight:700;color:var(--or);background:var(--or-pale);border:1px solid var(--or-border);padding:7px 14px;border-radius:20px}
a.home-pill-link{text-decoration:none;transition:background .15s,border-color .15s}
a.home-pill-link:hover{background:rgba(249,115,22,.18);border-color:var(--or)}

/* ENTERPRISE TRUST */
.enterprise-bar{background:var(--dk3);border-bottom:1px solid var(--bd);padding:8px 16px;text-align:center;font-size:13px;font-weight:600;color:var(--tx2);letter-spacing:.02em;line-height:1.5}
.ent-item{white-space:nowrap;display:inline-flex;align-items:center;gap:7px}

.ent-sep{margin:0 8px;color:var(--tx3);opacity:.6}
.trust-badges-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.trust-badge{font-size:13px;font-weight:700;color:var(--tx2);background:var(--dk4);padding:6px 10px;border-radius:6px}
.trust-fiche-link{font-size:13px;font-weight:700;color:var(--or);margin-left:4px;white-space:nowrap}
.trust-fiche-link:hover{text-decoration:underline}
.qa-box{margin-top:14px;padding:14px;background:var(--dk5);border-radius:var(--r)}
.qa-title{font-size:13px;font-weight:800;color:var(--or);margin:0 0 8px}
.qa-list{list-style:none;margin:0;padding:0}
.qa-list li{font-size:13px;color:var(--tx2);padding:3px 0 3px 18px;position:relative;line-height:1.45}
.qa-list li::before{content:'✓';position:absolute;left:0;color:var(--gr);font-weight:700}
.qa-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;color:var(--or)}
.qa-link:hover{text-decoration:underline}
.footer-trust{padding:20px 0 0;border-top:1px solid var(--bd);margin-top:28px;grid-column:1/-1}
@media(max-width:900px){
  .enterprise-bar{font-size:13px;padding:8px 10px}
  .ent-item{margin:2px 0}
  .ent-sep{display:none}
}

/* SOCIAL BLOCK */
.social-block{margin-top:52px;text-align:center;background:var(--dk3);border:1.5px solid var(--or-border);border-radius:var(--rxl);padding:40px 32px;position:relative;overflow:hidden}
.social-block::before{content:'';position:absolute;top:-60px;left:50%;transform:translateX(-50%);width:400px;height:200px;background:radial-gradient(circle,var(--or-glow),transparent 70%);pointer-events:none}
.social-block-head{position:relative;z-index:1;margin-bottom:28px}
.social-block-head h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(26px,4vw,34px);text-transform:uppercase;color:var(--tx);margin:10px 0 8px}
.social-block-head p{font-size:16px;color:var(--tx2);max-width:520px;margin:0 auto}
.social-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;text-align:left}
.social-card{display:flex;flex-direction:column;gap:6px;background:var(--dk5);border-radius:var(--rl);padding:18px 16px;transition:border-color .2s,transform .2s}
.social-card:hover{border-color:var(--or-border);transform:translateY(-3px)}
.social-card.featured{border-color:var(--or-border);background:var(--or-pale)}
.social-card-top{display:flex;align-items:center;gap:10px}
.social-card-top svg{width:18px;height:18px;flex-shrink:0;color:var(--or)}
.social-card-name{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;color:var(--tx);letter-spacing:.04em}
.social-card-desc{font-size:13px;color:var(--tx2);line-height:1.5}
.social-card-email{font-size:13px;color:var(--or);font-weight:600;word-break:break-all}

/* PRICING */
.pricing-section{margin-top:48px;text-align:left}
.pricing-section .section-head{text-align:center;margin-bottom:28px}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pricing-card{background:var(--dk3);border-radius:var(--rl);padding:24px 20px;transition:border-color .2s,transform .2s}
.pricing-card:hover{border-color:var(--or-border);transform:translateY(-3px)}
.pricing-card.featured{border-color:var(--or-border);background:var(--dk3)}
.pricing-tag{font-size:13px;font-weight:800;color:var(--or);margin-bottom:8px}
.pricing-name{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:20px;text-transform:uppercase;color:var(--tx);margin-bottom:8px;line-height:1.15}
.pricing-amount{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:34px;color:var(--or);line-height:1}
.pricing-desc{font-size:13px;color:var(--tx2);line-height:1.65;margin-top:10px}
.pricing-note{margin-top:18px;text-align:center;font-size:13px;color:var(--tx3);line-height:1.6}

/* CROSS SELL */
.cross-block{margin-top:48px;text-align:left}
.cross-block .section-head{text-align:center;margin-bottom:24px}
.cross-block h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(26px,3.5vw,34px);text-transform:uppercase;margin:8px 0 0}
.cross-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cross-card{display:block;background:var(--dk3);border-radius:var(--rl);padding:24px;transition:border-color .2s,transform .2s;position:relative;overflow:hidden}
.cross-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--or2),var(--or),transparent)}
.cross-card:hover{border-color:var(--or-border);transform:translateY(-3px)}
.cross-tag{font-size:13px;font-weight:800;color:var(--or);margin-bottom:8px}
.cross-name{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:20px;text-transform:uppercase;color:var(--tx);margin-bottom:8px;line-height:1.15}
.cross-desc{font-size:13px;color:var(--tx2);line-height:1.65;margin-bottom:14px}
.cross-link{font-size:13px;font-weight:700;color:var(--or);letter-spacing:.04em}

/* ABOUT */
.about-block{margin-top:56px;text-align:left;background:var(--dk3);border:1.5px solid var(--or-border);border-radius:var(--rxl);padding:44px 48px;position:relative;overflow:hidden}
.about-block::before{content:'';position:absolute;top:-80px;right:-80px;width:320px;height:320px;background:radial-gradient(circle,var(--or-glow),transparent 70%);pointer-events:none}
/* Une seule colonne : la photo d'illustration a été retirée (rendu « généré »
   peu crédible auprès d'un public technique). Le texte est borné en largeur
   pour rester lisible, et les 4 chiffres en dessous portent le visuel. */
.about-inner{position:relative;z-index:1;display:block;max-width:74ch}
.about-copy .eyebrow{margin-bottom:14px}
.about-copy h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(26px,4vw,42px);text-transform:uppercase;line-height:1.05;margin:0 0 14px}
.about-copy h2 span{color:var(--or)}
.about-copy p{font-size:16px;color:var(--tx2);line-height:1.75;margin-bottom:12px}
.about-ctas{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:18px}
.about-cta{color:var(--or);font-weight:700;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:16px;text-decoration:none}
.about-cta:hover{text-decoration:underline}
.about-cta--muted{color:var(--tx2)}
.about-cta--muted:hover{color:var(--or)}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative;z-index:1;margin-top:30px}
.about-stat{background:var(--dk5);border-radius:var(--r);padding:18px 20px;text-align:center}
.about-loc{display:inline-flex;align-items:center;gap:9px;margin:8px 0 2px;padding:9px 15px;background:var(--or-pale);border:1px solid var(--or-border);border-radius:999px;color:var(--tx);font-size:13px;font-weight:600;line-height:1.35}
.about-loc svg{width:16px;height:16px;flex:none}
.loc-block{margin-top:28px;background:var(--dk3);border-radius:var(--rxl);padding:40px 48px;position:relative;overflow:hidden}
.loc-inner{display:grid;grid-template-columns:0.9fr 1.1fr;gap:38px;align-items:center}
.loc-copy .eyebrow{margin-bottom:14px}
.loc-copy h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(26px,3.2vw,34px);text-transform:uppercase;line-height:1.08;margin:0 0 14px}
.loc-copy p{font-size:16px;color:var(--tx2);line-height:1.75;margin-bottom:14px}
.loc-map{margin:0}
.loc-map-frame{border:1.5px solid var(--or-border);border-radius:var(--rl);overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.45);background:var(--dk3)}
.loc-map-img{display:block;width:100%;height:auto}
.loc-map figcaption{margin-top:10px;font-size:13px;color:var(--tx3);text-align:center;letter-spacing:.04em}
.about-stat b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:34px;font-weight:900;color:var(--or);line-height:1}
.about-stat span{font-size:13px;color:var(--tx2);margin-top:4px;display:block}

/* VALUE GRID */
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px;text-align:left}
.value-card{background:var(--dk3);border-radius:var(--rl);padding:22px 20px;transition:border-color .2s}
.value-card:hover{border-color:var(--or-border)}
.value-icon{font-size:26px;margin-bottom:10px}
.value-card h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;color:var(--tx);margin-bottom:6px}
.value-card p{font-size:13px;color:var(--tx2);line-height:1.65;margin:0}

/* TESTIMONIALS */
.section-head{margin-bottom:28px}
.testi-section{margin-top:56px;text-align:left}
.testi-section .section-head{text-align:center}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.testi-card{background:var(--dk3);border-radius:var(--rl);padding:24px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s}
.testi-card:hover{border-color:var(--or-border)}
.testi-stars{color:var(--or);font-size:16px;letter-spacing:2px}
.testi-text{font-size:13px;color:var(--tx2);line-height:1.7;font-style:italic;flex:1;margin:0}
.testi-author{display:flex;align-items:center;gap:10px}
.testi-avatar{width:36px;height:36px;border-radius:50%;background:var(--or-pale);border:1px solid var(--or-border);display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:16px;color:var(--or);flex-shrink:0}
.testi-name{font-size:13px;font-weight:700;color:var(--tx)}
.testi-info{font-size:13px;color:var(--tx2)}
.testi-vehicle{font-size:13px;color:var(--or);margin-top:2px;font-weight:600}

/* CONTACT */
.contact-section{margin:56px -24px 0;background:var(--dk2);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.contact-inner{max-width:1240px;margin:0 auto;padding:52px 24px;display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.contact-text{flex:1;min-width:240px;text-align:left}
.contact-badge{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--gr);background:var(--gr-pale);border:1px solid var(--gr-bd);padding:5px 14px;border-radius:40px;margin-bottom:16px}
.contact-text h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(26px,4vw,42px);font-weight:900;text-transform:uppercase;color:var(--tx);line-height:1.05;margin-bottom:10px}
.contact-text p{font-size:16px;color:var(--tx2);max-width:480px;margin:0}
.contact-ctas{flex-shrink:0;display:flex;flex-direction:column;gap:12px;align-items:stretch;min-width:260px}
.btn-wa{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;background:var(--gr);color:#05240f;padding:18px 36px;border-radius:var(--r);transition:background .15s,transform .15s}
.btn-wa:hover{background:#1ab854;transform:translateY(-2px)}
.btn-wa svg{width:20px;height:20px;flex-shrink:0}
.btn-email{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:transparent;color:var(--tx);padding:16px 32px;border-radius:var(--r);border:1px solid var(--or-border);transition:background .15s,border-color .15s,transform .15s}
.btn-email:hover{background:var(--or-pale);border-color:var(--or);transform:translateY(-2px)}
.btn-email svg{width:18px;height:18px;flex-shrink:0;color:var(--or)}

/* FOOTER SOCIALS */
.footer-socials{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.footer-social{width:36px;height:36px;border-radius:8px;background:var(--dk4);display:grid;place-items:center;transition:border-color .15s,background .15s}
.footer-social:hover{border-color:var(--or-border);background:var(--or-pale)}
.footer-social svg{width:16px;height:16px;color:var(--tx2)}

/* Ligne meta carte (moteur · années) */
.card-meta{font-size:13px;color:var(--tx2);margin-top:6px;font-weight:500}

/* Encadré légal off-road */
.offroad{margin-top:24px;background:var(--or-pale);border:1px solid var(--or-border);border-radius:var(--rl);padding:18px 22px}
.offroad h3{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.04em;color:var(--or);margin-bottom:8px}
.offroad p{font-size:13px;color:var(--tx2);line-height:1.7;margin:0}
.card .off-badge{display:inline-block;margin-top:10px;font-size:13px;font-weight:800;color:var(--or);background:var(--or-pale);border:1px solid var(--or-border);border-radius:20px;padding:3px 10px}

/* Bloc description / contenu fiche */
.prose{margin-top:14px}
.prose p{color:var(--tx2);font-size:16px;line-height:1.8;margin-bottom:10px}
.prose ul{list-style:none;display:grid;gap:8px;margin-top:6px}
.prose ul li{position:relative;padding-left:18px;color:var(--tx2);font-size:16px;line-height:1.6}
.prose ul li::before{content:'';position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--or)}

/* Aide compatibilité (fiche) */
.match-note{margin-top:18px;padding:14px 16px;border-radius:12px;background:var(--bg2)}
.match-note strong{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.03em;color:var(--tx);margin-bottom:6px}
.match-note p{font-size:13px;color:var(--tx2);line-height:1.7;margin:0}

/* Pagination */
.pg{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:34px}
.pg-i{background:var(--dk3);min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border-radius:9px;color:var(--tx2);font-weight:700;font-size:16px;text-decoration:none;transition:.15s}
.pg-i:hover{border-color:var(--or);color:var(--tx)}
.pg-cur{background:var(--or);border-color:var(--or);color:#141414}
.pg-e{display:inline-flex;align-items:flex-end;color:var(--tx3);padding:0 2px}

:focus-visible{outline:2px solid var(--or);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}
@media(max-width:900px){.grid.detail{grid-template-columns:1fr}.grid.detail>.spec-panel,.grid.detail>.buybox,.grid.detail>.versions-panel,.grid.detail>.extras-panel,.grid.detail.sans-versions>.buybox,.grid.detail.sans-versions>.extras-panel{grid-column:1;grid-row:auto}.buybox{position:static}.about-inner{grid-template-columns:1fr}.about-stats{grid-template-columns:repeat(2,1fr)}.loc-inner{grid-template-columns:1fr}.value-grid{grid-template-columns:repeat(2,1fr)}.social-grid{grid-template-columns:repeat(3,1fr)}.cross-grid{grid-template-columns:1fr}.pricing-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1200px){.nav-links a{font-size:13px;padding:8px 7px}.nav-cta{font-size:13px;padding:9px 14px}.nav-logo{font-size:20px}}
@media(max-width:768px){.nav-burger{display:block;order:3;flex-shrink:0}.nav-logo{order:1;margin-right:auto}.nav-cur{order:2}.nav-cta{order:4}.nav-lang{order:5}.nav-links{display:none;order:6}.nav-lang a,.nav-cur>summary{min-height:44px;display:flex;align-items:center;padding:6px 10px}.nav-lang{gap:0;flex-wrap:wrap}
.nav-burger[open] ~ .nav-links{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:100%;left:0;right:0;
  background:var(--dk2);border-top:1px solid var(--bd);border-bottom:1px solid var(--or-border);padding:8px 16px 14px;z-index:200;
  box-shadow:0 14px 30px rgba(0,0,0,.5)}
.nav-burger[open] ~ .nav-links a{display:block;font-size:16px;padding:13px 4px;border-bottom:1px solid var(--bd)}
.nav-burger[open] ~ .nav-links li:last-child a{border-bottom:0}
.footer-i{grid-template-columns:1fr;gap:32px}form.search{grid-template-columns:1fr 1fr}.about-block{padding:32px 24px}.loc-block{padding:28px 22px}.contact-inner{flex-direction:column;align-items:flex-start}.contact-ctas{width:100%}}
@media(max-width:560px){form.search{grid-template-columns:1fr}.card-top{flex-direction:column;gap:6px}.value-grid{grid-template-columns:1fr}.social-grid{grid-template-columns:1fr}.about-stats{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr}}
.promo-bar{position:sticky;top:64px;z-index:90;background:var(--dk4);border-bottom:1px solid var(--or-border);padding:10px 20px;text-align:center;font-size:13px;color:var(--tx2);display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}
.promo-bar a{margin-left:6px;color:var(--or);font-weight:700;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.05em}
.promo-sep{color:var(--tx3);opacity:.6}
.tier-filters{display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1;margin-top:4px}
.tier-chip{font-size:13px;font-weight:700;color:var(--tx2);background:var(--dk4);border-radius:20px;padding:8px 14px;cursor:pointer;transition:.15s}
.tier-chip:hover,.tier-chip.on{color:var(--or);border-color:var(--or-border);background:var(--or-pale)}
.suggest-wrap{position:relative}
.suggest-box{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:120;background:var(--dk3);border:1px solid var(--or-border);border-radius:var(--r);box-shadow:0 12px 40px rgba(0,0,0,.45);overflow:hidden;max-height:280px;overflow-y:auto}
.suggest-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px 14px;border:none;background:transparent;color:var(--tx);font-size:16px;cursor:pointer;border-bottom:1px solid var(--bd)}
.suggest-item:hover{background:var(--dk5)}
.suggest-type{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--or);min-width:52px}
.price-has-promo .price-old{display:block;font-size:20px;color:var(--tx3);text-decoration:line-through;font-weight:600;margin-bottom:4px}
.chip.on{border-color:var(--or-border);background:var(--or-pale)}
.trust-buy{margin:12px 0 0;padding:12px 14px;background:var(--dk5);border-radius:var(--r);list-style:none}
.trust-buy li{font-size:13px;color:var(--tx2);padding:4px 0 4px 20px;position:relative;line-height:1.45}
.trust-buy li::before{content:'✓';position:absolute;left:0;color:var(--gr);font-weight:700}
.social-proof{font-size:13px;color:var(--gr);font-weight:700;margin-bottom:8px}
.upsell-box{margin-top:22px;padding:20px;background:var(--dk3);border:1px solid var(--or-border);border-radius:var(--rl)}
.upsell-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.upsell-card{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--dk5);border-radius:var(--r);transition:border-color .15s}
.upsell-card:hover{border-color:var(--or-border)}
.upsell-name{font-weight:600;font-size:13px;color:var(--tx)}
.upsell-price{font-family:'Barlow Condensed',sans-serif;font-weight:800;color:var(--or)}
.no-results-cta{margin-top:22px;padding:28px 24px;background:var(--dk3);border:1px solid var(--or-border);border-radius:var(--rl);text-align:center}
.ref-editorial{margin:0 0 18px;padding:16px 18px;background:var(--dk3);border-radius:var(--r);font-size:16px;color:var(--tx2);line-height:1.7}
.ref-buy-hero{display:grid;grid-template-columns:1fr minmax(260px,340px);gap:20px;align-items:stretch;margin:0 0 24px;padding:24px 26px;background:linear-gradient(135deg,var(--dk3),rgba(249,115,22,.08));border:1.5px solid var(--or-border);border-radius:var(--rl)}
.ref-buy-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(20px,3.2vw,34px);text-transform:uppercase;line-height:1.05;margin:8px 0 10px;color:var(--tx)}
.ref-buy-meta{font-size:16px;color:var(--tx2);line-height:1.6;margin:0}
.ref-buy-from{color:var(--or);font-weight:800}
.ref-buy-sep{margin:0 8px;color:var(--tx3)}
.ref-buy-note{font-size:13px;color:var(--tx3);margin:10px 0 0;line-height:1.5}
.ref-buy-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;background:var(--dk4);border-radius:var(--r);padding:18px 20px}
.ref-buy-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ref-buy-ver{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:20px;text-transform:uppercase;color:var(--or)}
.ref-buy-veh{font-size:13px;color:var(--tx2);margin-top:4px;line-height:1.4}
.ref-buy-sw{font-size:13px;color:var(--tx3);margin-top:6px}
.ref-buy-price{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:26px;color:var(--or);white-space:nowrap;line-height:1}
.ref-buy-btn{width:100%;text-align:center;margin-top:0}
@media(max-width:820px){
  .ref-buy-hero{grid-template-columns:1fr}
}
.custom-map-cta{margin-top:16px;text-align:center}
.custom-map-cta a{color:var(--or);font-weight:700;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:16px}
.rev-page{padding:8px 0 40px}
.rev-hero{text-align:center;max-width:640px;margin:0 auto 28px}
.rev-hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:clamp(34px,6vw,52px);text-transform:uppercase;line-height:1;margin-top:12px}
.rev-stats{display:flex;flex-wrap:wrap;gap:28px 40px;justify-content:center;margin-bottom:32px}
.rev-stat-num{font-family:'Barlow Condensed',sans-serif;font-size:34px;font-weight:900;color:var(--or);line-height:1}
.rev-stat-label{font-size:13px;color:var(--tx2);margin-top:4px;text-align:center}
.rev-wall{column-count:3;column-gap:16px;max-width:1080px;margin:0 auto}
.rev-card{display:block;width:100%;margin:0 0 16px;break-inside:avoid;border-radius:var(--rl);overflow:hidden;cursor:pointer;padding:0;background:var(--dk3);box-shadow:inset 0 3px 0 var(--gr);transition:border-color .2s,transform .2s}
.rev-card:hover{border-color:var(--or-border);transform:translateY(-3px)}
.rev-card img{width:100%;height:auto;display:block}
.rev-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}
.btn-ghost{display:inline-flex;align-items:center;padding:14px 24px;border-radius:var(--r);color:var(--tx2);font-weight:600;font-size:16px;transition:border-color .15s,background .15s}
.btn-ghost:hover{border-color:var(--or-border);background:var(--or-pale);color:var(--tx)}
.rev-lb{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.92)}
.rev-lb[hidden]{display:none!important}
.rev-lb img{max-width:92vw;max-height:88vh;border-radius:12px}
.rev-lb-close{position:absolute;top:18px;right:22px;width:42px;height:42px;border-radius:50%;border:none;background:rgba(255,255,255,.12);color:#fff;font-size:26px;cursor:pointer}
.rev-strip{margin-top:16px;padding:16px 18px;background:var(--dk5);border-radius:var(--r)}
.rev-strip--compact{margin-top:12px;padding:14px 16px}
.rev-strip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rev-strip-title{font-size:16px;font-weight:700;color:var(--tx)}
.rev-strip-note{font-size:13px;color:var(--tx2);margin:4px 0 0;line-height:1.45}
.rev-strip-link{font-size:13px;font-weight:700;color:var(--or);white-space:nowrap}
.rev-strip-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.rev-strip-thumbs a{background:var(--dk3);flex:0 0 auto;display:block;border-radius:10px;overflow:hidden;transition:border-color .15s,transform .15s}
.rev-strip-thumbs a:hover{border-color:var(--or-border);transform:translateY(-2px)}
.rev-strip-thumbs img{display:block;width:110px;height:auto;max-height:150px;object-fit:cover;object-position:top center}
.rev-strip--compact .rev-strip-thumbs img{width:96px;max-height:130px}
.rev-strip--fill .rev-strip-thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;overflow:visible;padding-bottom:0;width:100%}
.rev-strip--fill.rev-strip--n4 .rev-strip-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}
.rev-strip--fill .rev-strip-thumbs a{flex:unset;min-width:0;width:100%}
.rev-strip--fill .rev-strip-thumbs img{width:100%;height:168px;max-height:168px}
.rev-strip--fill.rev-strip--compact .rev-strip-thumbs img{height:140px;max-height:140px}
@media(max-width:880px){.rev-wall{column-count:2}}
@media(max-width:900px){.rev-strip--fill .rev-strip-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.rev-wall{column-count:1}.rev-strip-thumbs img{width:88px;max-height:120px}.rev-strip--compact .rev-strip-thumbs img{width:80px;max-height:108px}.rev-strip--fill .rev-strip-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}.rev-strip--fill .rev-strip-thumbs img{height:140px;max-height:140px}}
@media(max-width:560px){.upsell-grid{grid-template-columns:1fr}}
/* La ligne de preuve du premier ecran : du texte, pas des pastilles
   encadrees. Les chiffres portent, les boites ne portaient rien. */
.home-faits{margin:22px 0 6px;font-size:16px;color:var(--tx2);line-height:1.9}
.home-faits b{color:var(--tx);font-weight:700}
.home-liens{margin:0;font-size:16px}
.home-liens a{color:var(--or);font-weight:600}
.home-liens a:hover{text-decoration:underline}
.home-sep{margin:0 10px;color:var(--tx3)}
@media(max-width:560px){.home-faits,.home-liens{font-size:16px}.home-sep{margin:0 7px}}
/* Aligne l'icone SVG sur la ligne de texte ; voir lib/icons.js. */
.ic{display:inline-block;vertical-align:-0.14em;flex:none}

/* ── CONVERSION_STYLES (lib/conversion.js) ── */
.cv-guarantee{display:flex;gap:10px;align-items:flex-start;background:var(--gr-pale,rgba(34,197,94,.08));border:1px solid var(--gr-bd,rgba(34,197,94,.35));border-radius:10px;padding:11px 14px;margin:14px 0 0}
.cv-guarantee-ico{color:var(--gr,#22c55e);font-size:20px;line-height:1.2;flex-shrink:0}
.cv-guarantee b{display:block;font-size:13px;color:var(--tx)}
.cv-guarantee small{font-size:13px;color:var(--tx2);line-height:1.45}
.cv-anchor{display:flex;gap:9px;align-items:flex-start;background:var(--or-pale,rgba(249,115,22,.08));border:1px solid var(--or-border,rgba(249,115,22,.28));border-radius:10px;padding:10px 13px;margin:12px 0 0}
.cv-anchor span{font-size:16px;line-height:1.3;flex-shrink:0}
.cv-anchor p{margin:0;font-size:13px;color:var(--tx2);line-height:1.5}
.cv-anchor b{color:var(--tx);font-weight:800}
.cv-how{margin:14px 0 0;padding:13px 15px;border-radius:10px;background:var(--dk4)}
.cv-how>b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:13px;color:var(--tx);margin-bottom:9px}
.cv-how ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.cv-how li{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--tx2);line-height:1.45}
.cv-how li span{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--or);color:#180c02;font-weight:800;font-size:13px;display:grid;place-items:center;margin-top:1px}
.cv-countdown{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0;padding:9px 13px;border:1px solid var(--or-border,rgba(249,115,22,.28));border-radius:10px;background:var(--or-pale,rgba(249,115,22,.08));font-size:13px;color:var(--tx2)}
.cv-countdown b{font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:900;color:var(--or);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.cv-cred{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;padding:11px 15px;border-radius:10px;background:var(--dk3);font-size:13px;font-weight:600;color:var(--tx2)}
.cv-cred span{white-space:nowrap}
.cv-localprice{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:8px 0 0}
.cv-localprice b{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:800;color:var(--tx2)}
.cv-localprice small{font-size:13px;color:var(--tx3)}
.cv-presale{margin:14px 0 0;padding:13px 15px;border:1px solid var(--gr-bd,rgba(34,197,94,.30));border-radius:10px;background:var(--gr-pale,rgba(34,197,94,.07))}
.cv-presale b{display:block;font-size:13px;color:var(--tx);margin-bottom:5px}
.cv-presale p{margin:0 0 10px;font-size:13px;color:var(--tx2);line-height:1.5}
.cv-presale p b{color:var(--tx)}
/* Les tarifs sur-mesure, visibles : sans eux le visiteur imagine un devis à
   300 € et n'ose pas demander. Voir « 55 € » à côté d'un fichier à 39,90 €
   rend l'écart acceptable pour être sûr d'avoir le bon fichier. */
.cv-presale-prices{margin:-4px 0 10px!important;font-size:13px!important;color:var(--or)!important;font-weight:700}
.cv-presale{margin-top:22px}
.cv-presale b{font-size:16px}
.cv-presale p{font-size:13px}
/* Le bloc vit dans le panneau « fiche technique », plus large que la buybox :
   on borne le formulaire pour qu'il ne s'étire pas sur toute la largeur. */
.cv-presale-form{display:flex;flex-direction:column;gap:9px;max-width:420px}
.cv-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cv-presale-file span{display:block;font-size:13px;color:var(--tx3);margin-bottom:3px}
.cv-presale-form input[type=file]{width:100%;font-size:13px;color:var(--tx2)}
.cv-presale-form input[type=email]{width:100%;padding:9px 11px;border-radius:8px;border:1px solid var(--bd2);background:var(--dk);color:var(--tx);font-size:13px}
.cv-presale-form input[type=email]:focus{outline:none;border-color:var(--gr,#22c55e)}
.cv-presale-consent{display:flex;gap:7px;align-items:flex-start;font-size:13px;color:var(--tx2);line-height:1.4}
.cv-presale-consent input{margin-top:2px;flex:none}
.cv-presale-form button{padding:11px;border:none;border-radius:8px;background:var(--gr,#22c55e);color:#06210f;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer}
.cv-presale-form button:disabled{opacity:.6;cursor:default}
.cv-presale-fast{margin:0;font-size:13px;color:var(--tx3)}
.cv-presale-msg{margin:0;font-size:13px;line-height:1.45}
.cv-presale-msg.ok{color:var(--gr,#22c55e);font-weight:700}
.cv-presale-msg.err{color:#ef4444}
.cv-ask{margin:12px 0 0;padding:11px 13px;border:1px dashed var(--or-border,rgba(249,115,22,.35));border-radius:10px;background:rgba(249,115,22,.05)}
.cv-ask>b{display:block;font-size:13px;color:var(--tx);margin-bottom:8px}
.cv-ask-row{display:flex;gap:8px;flex-wrap:wrap}
.cv-ask-row button{flex:1 1 auto;padding:9px 12px;border:none;border-radius:8px;background:var(--or);color:#180c02;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:13px;cursor:pointer;white-space:nowrap}
.cv-ask-row a{flex:0 0 auto;padding:9px 12px;border:1px solid var(--gr-bd,rgba(34,197,94,.4));border-radius:8px;color:var(--gr,#22c55e);font-weight:800;font-size:13px;text-decoration:none}
.cv-ask-row a:hover{background:var(--gr-pale,rgba(34,197,94,.1))}
.cv-ask small{display:block;margin-top:7px;font-size:13px;color:var(--tx3);line-height:1.4}
.cv-presale-wa{display:inline-block;margin-top:9px;font-size:13px;font-weight:700;color:var(--tx2);text-decoration:none}
.cv-presale-wa:hover{color:var(--gr,#22c55e)}
.cv-pay{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:14px}
.cv-pay small{font-size:13px;color:var(--tx3)}
.cv-pay span{font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--tx2);background:var(--dk4);border-radius:6px;padding:4px 9px}
.cv-compat{margin-top:18px;border-top:1px solid var(--bd);padding-top:16px}
.cv-compat h3{margin:0 0 4px;font-family:'Barlow Condensed',sans-serif;font-size:16px;text-transform:uppercase;color:var(--or)}
.cv-compat p{margin:0 0 10px;font-size:13px;color:var(--tx2)}
.cv-compat-row{display:flex;gap:8px}
.cv-compat-row input{flex:1;background:var(--dk4);border:1px solid var(--bd);border-radius:8px;color:var(--tx);padding:11px 12px;font-size:13px;font-family:monospace;outline:none;min-width:0}
.cv-compat-row input:focus{border-color:var(--or)}
.cv-compat-row button{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;background:var(--or);color:#fff;border:none;border-radius:8px;padding:0 16px;cursor:pointer}
.cv-compat-res{display:none;margin-top:10px;font-size:13px;line-height:1.6;padding:11px 13px;border-radius:9px}
.cv-compat-res.ok{display:block;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.4);color:var(--tx)}
.cv-compat-res.warn{display:block;background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.4);color:var(--tx)}
.cv-compat-res a{display:inline-block;margin-top:8px;background:#25D366;color:#fff;font-weight:800;font-size:13px;padding:9px 14px;border-radius:8px;text-decoration:none}
.cv-bundle{margin:14px 0 0;background:var(--or-pale);border:1.5px solid var(--or-border);border-radius:12px;padding:14px}
.cv-bundle-tag{display:inline-block;font-size:13px;font-weight:900;color:#fff;background:var(--or);border-radius:5px;padding:3px 8px;margin-bottom:7px}
.cv-bundle p{margin:0 0 10px;font-size:13px;color:var(--tx2);line-height:1.5}
.cv-bundle button{width:100%;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.04em;background:var(--dk3);color:var(--or);border:1.5px solid var(--or);border-radius:9px;padding:12px;cursor:pointer;transition:background .15s}
.cv-bundle button:hover{background:var(--or);color:#fff}
.cv-bundle small{display:block;text-align:center;margin-top:6px;font-size:13px;color:var(--tx3)}
.cv-bundle small s{color:var(--tx3)}
.cv-proof{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--tx2);background:var(--dk4);border-radius:20px;padding:7px 14px;margin-top:12px}

/* ── RX_STYLES (lib/sales.js) ── */
.rx-offer{margin:22px 0;padding:22px;background:linear-gradient(160deg,var(--dk3),var(--dk2));border:1.5px solid var(--or-border);border-radius:var(--rxl)}
    .rx-offer h2{font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;font-size:20px;line-height:1.1;margin:0 0 8px;color:var(--or)}
    .rx-offer .rx-lede{color:var(--tx2);font-size:16px;line-height:1.6;margin:0 0 16px}
    .rx-offer .rx-lede b{color:var(--tx)}
    .rx-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
    /* L'appel a l'action principal est un LIEN depuis qu'il mene a
       /sur-mesure. Sans la classe rx-cta (pas de backtick ici : ce
       commentaire vit DANS un template literal) il tombait sous la regle
       suivante et s'affichait en vert WhatsApp : deux boutons verts cote
       a cote, le formulaire deguise en messagerie. */
    .rx-actions button,.rx-actions .rx-cta{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:10px;padding:13px 22px;background:linear-gradient(180deg,#ff8c38,var(--or));color:#180c02;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.03em;text-decoration:none;cursor:pointer;transition:transform .15s}
    .rx-actions button:hover,.rx-actions .rx-cta:hover{transform:translateY(-1px)}
    .rx-actions a:not(.rx-cta){display:inline-flex;align-items:center;gap:7px;padding:13px 20px;border-radius:10px;background:#25D366;color:#04310f;text-decoration:none;font-weight:800;font-size:16px}
    .rx-actions a:not(.rx-cta):hover{filter:brightness(1.06)}
    .rx-offer .rx-prices{margin:16px 0 0;color:var(--or);font-size:16px;font-weight:700}
    .rx-offer .rx-delay{margin:3px 0 0;color:var(--tx3);font-size:13px}
    @media(max-width:560px){.rx-actions{flex-direction:column;align-items:stretch}.rx-actions button,.rx-actions a{text-align:center;justify-content:center}}
    @media(prefers-reduced-motion:reduce){.rx-actions button:hover,.rx-actions .rx-cta:hover{transform:none}}

/* ── IMMO_CROSS_STYLES (lib/immo-cross.js) ── */
.immo-cross{margin:26px 0}
    .immo-cross-i{display:flex;align-items:center;gap:20px;background:var(--dk3);border-left:3px solid var(--or);border-radius:var(--r);padding:20px 22px}
    .immo-cross-i h2{margin:0 0 6px;font-size:20px}
    .immo-cross-prix{color:var(--or)}
    .immo-cross-i p{margin:0;color:var(--tx2);font-size:16px;line-height:1.6}
    .immo-cross-i a{flex:none;background:var(--or);color:#fff;font-weight:800;padding:13px 22px;border-radius:var(--r);text-decoration:none;white-space:nowrap}
    .immo-cross-i a:hover{background:var(--or2,#D96010)}
    @media(max-width:640px){.immo-cross-i{flex-direction:column;align-items:flex-start}.immo-cross-i a{width:100%;text-align:center}}

/* ── NOTER_STYLES (functions/noter.js) ── */
.av-form{display:flex;flex-direction:column;gap:16px;max-width:520px;margin-top:22px}
.av-notes{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.av-notes legend{color:var(--tx2);font-weight:700;font-size:16px;margin-bottom:8px}
.av-opt{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:20px;color:var(--or);letter-spacing:2px}
.av-opt input{accent-color:var(--or);flex:none}
.av-f{display:flex;flex-direction:column;gap:6px;font-size:16px}
.av-f>span{color:var(--tx2);font-weight:600}
.av-f textarea,.av-f input{background:var(--dk4);border:1.5px solid var(--bd2);border-radius:var(--r);padding:12px 14px;color:var(--tx);font:inherit;font-size:16px}
.av-f textarea:focus,.av-f input:focus{border-color:var(--or);outline:none}

/* ── WA_STYLES (lib/whatsapp-widget.js) ── */
#dp-wa-btn{position:fixed;bottom:94px;right:24px;z-index:159;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:#25D366;color:#fff;box-shadow:0 6px 24px rgba(37,211,102,.45);display:grid;place-items:center;transition:transform .15s,background .15s;text-decoration:none}
#dp-wa-btn:hover{background:#1ebe5b;transform:scale(1.05)}
#dp-wa-btn svg{width:30px;height:30px;fill:#fff}
#dp-wa-nudge{position:fixed;bottom:160px;right:24px;z-index:159;width:min(320px,calc(100vw - 32px));background:var(--dk3);border:1.5px solid rgba(37,211,102,.5);border-radius:14px;box-shadow:0 14px 44px rgba(0,0,0,.5);padding:16px;display:none}
#dp-wa-nudge.show{display:block;animation:dp-wa-pop .25s ease-out}
@keyframes dp-wa-pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.dp-wa-nudge-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.dp-wa-nudge-avatar{width:38px;height:38px;border-radius:50%;background:#25D366;display:grid;place-items:center;flex-shrink:0}
.dp-wa-nudge-avatar svg{width:22px;height:22px;fill:#fff}
.dp-wa-nudge-name{font-weight:800;font-size:16px;color:var(--tx)}
.dp-wa-nudge-status{font-size:13px;color:#25D366;font-weight:700}
.dp-wa-nudge-txt{font-size:13px;line-height:1.6;color:var(--tx2);margin:0 0 12px}
.dp-wa-nudge-cta{display:block;text-align:center;background:#25D366;color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.05em;padding:12px;border-radius:9px;text-decoration:none;transition:background .15s}
.dp-wa-nudge-cta:hover{background:#1ebe5b;color:#fff}
#dp-wa-nudge-close{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--tx3);font-size:20px;cursor:pointer;line-height:1;padding:2px}
#dp-wa-nudge-close:hover{color:var(--tx)}
@media(max-width:560px){#dp-wa-btn{right:16px;bottom:84px}#dp-wa-nudge{right:16px;bottom:150px}}

/* LA RELANCE WHATSAPP SUR TELEPHONE : UN TIROIR, PAS UNE VIGNETTE.
   Sur mobile, le contact WhatsApp convertit bien mieux que le formulaire —
   l'appli est deja ouverte sur le telephone, le numero est pre-rempli, et la
   conversation continue apres la visite. On lui donne donc toute la largeur,
   en bas de l'ecran, la ou le pouce arrive sans deplacer la main.

   LA CARTE ENTIERE EST CLIQUABLE, pas seulement le bouton : sur un ecran
   tactile, viser une zone de 12 px de haut est une occasion perdue.

   CE QU'ON NE FAIT PAS : recouvrir tout l'ecran. Google declasse les pages
   mobiles dont une fenetre masque le contenu a l'arrivee — c'est la regle
   des « interstitiels intrusifs ». Un tiroir bas laisse la page lisible et
   n'entre pas dans ce cadre. */
@media(max-width:600px){
  #dp-wa-nudge{left:10px;right:10px;bottom:10px;width:auto;
    border-radius:18px;padding:16px 14px 14px;border-width:2px;
    box-shadow:0 -10px 50px rgba(0,0,0,.6);cursor:pointer}
  .dp-wa-nudge-txt{font-size:16px;margin-bottom:14px}
  .dp-wa-nudge-name{font-size:16px}
  .dp-wa-nudge-cta{font-size:16px;padding:16px;min-height:56px;
    display:flex;align-items:center;justify-content:center}
  #dp-wa-nudge-close{top:6px;right:8px;font-size:26px;padding:6px 10px}
  /* La bulle flottante remonte : le tiroir occupe le bas. */
  #dp-wa-nudge.show ~ #dp-wa-btn,#dp-wa-btn{bottom:84px}
}

/* ── MOBILE_STYLES (lib/mobile.js) ── */
@media(max-width:600px){

  /* ── LA BARRE DE NAVIGATION ─────────────────────────────────────────
     Le defaut le plus visible. « .nav-links{flex-wrap:nowrap} » alignait
     de force huit entrees de menu, sept langues et un bouton d'appel sur
     une barre de 64 px. Sur 390 px de large, tout se chevauchait.

     On passe sur DEUX RANGEES : le logo et le bouton d'achat en haut,
     toujours visibles ; le menu et les langues en dessous, sur une bande
     qui defile horizontalement. Pas de menu burger : il demanderait du
     JavaScript, donc un etat a gerer, donc une facon de plus de casser.
     Une bande qui defile se comprend sans explication et ne tombe jamais
     en panne. */
  .nav-i{height:auto;padding:8px 14px;flex-wrap:wrap;row-gap:6px}
  .nav-logo{order:1;font-size:16px}
  .nav-cta{order:2;margin-left:auto;font-size:13px;padding:9px 14px}
  .nav-links{order:3;width:100%;overflow-x:auto;overflow-y:hidden;
    scrollbar-width:none;-ms-overflow-style:none;
    -webkit-overflow-scrolling:touch;padding-bottom:2px}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a{padding:10px 9px;font-size:13px;white-space:nowrap}
  .nav-lang{order:4;margin-left:0;padding-left:0;border-left:none;
    width:100%;overflow-x:auto;scrollbar-width:none;justify-content:flex-start;gap:0}
  .nav-lang::-webkit-scrollbar{display:none}
  .nav-lang a{padding:8px 9px;white-space:nowrap}

  /* ── MARGES ──────────────────────────────────────────────────────────
     24 px de marge laterale sur un ecran de 390, c'est 12 % de la largeur
     perdue de chaque cote. On descend a 14. */
  .wrap,.nav-i,section,main{padding-left:14px;padding-right:14px}
  .wrap>*{max-width:100%}

  /* ── TITRES ──────────────────────────────────────────────────────────
     « clamp(34px,5vw,56px) » : a 390 px, 5vw ne vaut que 19 px, donc le
     titre reste bloque a son minimum de 34 px et deborde sur trois lignes.
     On redescend, et on autorise la cesure : un mot comme
     « TELECHARGEMENT » ne rentre pas autrement. */
  h1{font-size:clamp(26px,7.5vw,34px);line-height:1.05;overflow-wrap:break-word}
  h2{font-size:clamp(20px,5.5vw,26px);overflow-wrap:break-word}
  .lede{font-size:16px;line-height:1.55}
  .eyebrow{font-size:13px}

  /* ── CIBLES TACTILES ─────────────────────────────────────────────────
     Un doigt fait environ 9 mm, soit 44 px. En dessous, on tape a cote.
     Les boutons de la boutique descendaient a 30 px de haut. */
  .btn,.btn-ghost,button,.chip,.tag{min-height:44px;display:inline-flex;
    align-items:center;justify-content:center}
  .chip,.tag{min-height:36px}
  input,select,textarea{font-size:16px}
  /* 16 px exactement : en dessous, iOS zoome tout seul au moment de la
     saisie et l'utilisateur se retrouve avec une page decalee. */

  /* ── LA GRILLE DE LA FICHE, REMISE A PLAT SANS CONDITION ─────────────
     La fiche produit place ses panneaux sur une grille a lignes explicites
     (« grid-row: 1 / span 3 » pour la boite d'achat, etc.). Sur telephone il
     n'y a qu'une colonne : ces lignes n'ont plus de sens et font se
     CHEVAUCHER les panneaux.

     Une remise a plat existait deja, mais elle enumerait les panneaux un par
     un. Le jour ou une regle plus specifique est ajoutee — c'est arrive avec
     « .grid.detail.sans-versions > .buybox » — elle l'emporte, et la fiche
     se superpose sur telephone sans que rien ne le signale. Constate sur
     photo : le bloc d'avis passait par-dessus la liste des garanties.

     D'ou le « !important » ici, qui n'est pas une facilite : c'est un filet.
     Sur un ecran d'une seule colonne, AUCUNE position de grille ne doit
     survivre, quelle que soit la regle qui l'a posee. */
  .grid.detail>*{grid-column:1!important;grid-row:auto!important}

  /* ── FICHE PRODUIT ───────────────────────────────────────────────────
     Le tableau technique a des valeurs longues — « CRD3-651-WMA4ID41 » ou
     un numero de calibration de 40 caracteres — qui elargissaient la page
     entiere. On casse dans la cellule plutot que dans la mise en page. */
  .spec th,.spec td{padding:10px 0;font-size:13px;overflow-wrap:anywhere}
  .spec th{width:42%}
  .panel{padding:16px 14px}
  .buybox{position:static}
  .versions-panel .card{padding:12px}

  /* Fiches uniquement : achat avant le tableau, textes et PC inchangés. */
  .grid.detail{display:flex;flex-direction:column}
  .grid.detail>*{width:100%;min-width:0}
  .grid.detail>.buybox{order:-1}
  .grid.detail .product-merchant-img{float:right;width:82px;
    margin:0 0 14px 16px}
  .grid.detail .buybox>.price{padding-top:12px;min-height:94px}
  .grid.detail .buybox>.cv-anchor,.grid.detail .buybox>#buy{clear:both}
  .grid.detail .cv-ask-row{display:flex;flex-direction:column;gap:10px}
  .grid.detail .cv-ask-row>a{order:-1;display:flex;align-items:center;
    justify-content:center;width:100%;min-height:50px;padding:12px 16px;
    background:#25d366;color:#082b16;border:1px solid #25d366;
    border-radius:8px;font-size:16px;font-weight:800;text-decoration:none}
  .grid.detail .cv-ask-row>button{width:100%}

  /* ── RESULTATS DE RECHERCHE ──────────────────────────────────────────
     Les references materielles debordaient de la carte. */
  .card{padding:14px}
  .card-title{font-size:16px;line-height:1.25;overflow-wrap:anywhere}
  .price-tag{font-size:16px;white-space:nowrap}
  .tag{font-size:13px;padding:5px 9px;overflow-wrap:anywhere}

  /* ── FILTRES ─────────────────────────────────────────────────────────
     Une colonne : deux champs cote a cote sur 390 px laissent 170 px par
     champ, ou « Reference materielle » ne tient pas. */
  .filtres-grille{grid-template-columns:1fr;gap:10px;padding:0 14px 14px}
  .filtres-pied{flex-direction:column-reverse;gap:8px;padding:0 14px 14px}
  .filtres-pied .btn,.filtres-reinit{width:100%}
  .searchbar{flex-direction:column;gap:8px}
  .searchbar input,.searchbar .btn{width:100%}

  /* ── PIED DE PAGE ────────────────────────────────────────────────────
     Quatre colonnes sur 390 px donnaient 90 px chacune. */
  .footer-cols{grid-template-columns:1fr!important;gap:22px}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center}

  /* ── TOUT CE QUI POURRAIT ELARGIR LA PAGE ────────────────────────────
     Une seule ligne trop large fait defiler la page entiere de cote, et
     c'est le defaut mobile qui se remarque le plus. On contient au lieu
     de deborder. */
  img,video,iframe,table,pre{max-width:100%;height:auto}
  pre,table{overflow-x:auto;display:block}
  body{overflow-x:hidden}
}

/* LA FENETRE « -15 % » N'EST PAS TRAITEE ICI.
   Ses regles vivent dans lib/welcome-offer.js, avec le reste de son style.
   Ce composant injecte un  dans le CORPS de la page : il passe donc
   apres cette feuille externe et l'emporte sur elle. Les regles ecrites ici
   paraissaient correctes mais n'avaient aucun effet a l'ecran. */