/* ── 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:#555558;
  --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:1240px;margin:0 auto;padding:0 24px;display:flex;align-items:center;height:64px}
.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}
.nav-links li{flex-shrink:0}
.nav-links a{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;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:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.05em;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{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--or);margin-bottom:12px}
.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(22px,3vw,30px);text-transform:uppercase;color:var(--tx);margin:44px 0 16px}
.lede{margin-top:12px;color:var(--tx2);font-size:15px;max-width:560px;line-height:1.7}
.lede a{color:var(--or);font-weight:600}
.crumbs{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;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:1px solid var(--bd);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:21px;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:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tx2);background:var(--dk4);border:1px solid var(--bd);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:1px solid var(--bd);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:17px;text-transform:uppercase;color:var(--tx)}
.chip{font-size:12px;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:1px solid var(--bd);border-radius:var(--rl);padding:28px}
.buybox{background:linear-gradient(135deg,var(--dk3),var(--dk4));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;border:1px solid var(--bd);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:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;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:18px;text-transform:uppercase;letter-spacing:.07em;background:var(--or);color:#fff;padding:18px 28px;border:none;border-radius:var(--r);cursor:pointer;box-shadow:0 6px 32px rgba(249,115,22,.35);transition:background .15s,transform .15s,box-shadow .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:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3)}
.pay-divider::before,.pay-divider::after{content:'';flex:1;height:1px;background:var(--bd)}
.note{position:relative;font-size:12px;color:var(--tx3);margin-top:14px;line-height:1.6}
.spec{width:100%;border-collapse:collapse}
.spec th{font-size:11px;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:14px;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:14px}
.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:12px;color:var(--tx3);line-height:1.4}
.power-badge{display:inline-block;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;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:22px;font-weight:700;color:var(--tx);letter-spacing:.02em}
.buybox-power-gain{font-size:15px;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:10px;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:15px;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:1px solid var(--bd);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:11px;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:10px;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:14px}
@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:14px}

/* LEGAL */
.legal{max-width:820px}
.legal h2{margin:40px 0 12px;font-size:22px}
.legal p,.legal li{font-size:14px;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:24px;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;text-transform:uppercase;letter-spacing:.12em;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:11px;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}
.nav-lang a{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--tx3);padding:6px 8px;border-radius:6px;transition:color .15s}
.nav-lang a.on{color:var(--or)}
.nav-lang a:hover{color:var(--tx)}

/* HOME centrée */
.home{max-width:840px;margin:0 auto;text-align:center}
.home .eyebrow{justify-content:center}
.home .eyebrow::after{display:none}
.home .lede{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:1px solid var(--bd);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,36px);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:14px;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:linear-gradient(135deg,var(--dk4),var(--dk5));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:22px;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;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3)}
.demo-video-compact{display:inline-block;margin-top:12px;font-size:12px;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:14px}
.home-catalog .chip{font-size:11px}
@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:17px;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:17px;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:12px;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:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;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:10.5px;font-weight:600;color:var(--tx2);letter-spacing:.02em;line-height:1.5}
.ent-item{white-space:nowrap}
.ent-ico{margin-right:4px}
.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:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--tx2);background:var(--dk4);border:1px solid var(--bd);padding:6px 10px;border-radius:6px}
.trust-fiche-link{font-size:11px;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:1px solid var(--bd);border-radius:var(--r)}
.qa-title{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--or);margin:0 0 8px}
.qa-list{list-style:none;margin:0;padding:0}
.qa-list li{font-size:11.5px;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:11px;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:9.5px;padding:8px 10px}
  .ent-item{display:inline-block;margin:2px 0}
  .ent-sep{display:none}
}

/* SOCIAL BLOCK */
.social-block{margin-top:52px;text-align:center;background:linear-gradient(135deg,var(--dk3),var(--dk4));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(24px,4vw,36px);text-transform:uppercase;color:var(--tx);margin:10px 0 8px}
.social-block-head p{font-size:14px;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:1px solid var(--bd);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:15px;text-transform:uppercase;color:var(--tx);letter-spacing:.04em}
.social-card-desc{font-size:12px;color:var(--tx2);line-height:1.5}
.social-card-email{font-size:12px;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:1px solid var(--bd);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:linear-gradient(135deg,var(--dk3),rgba(249,115,22,.06))}
.pricing-tag{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;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:32px;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:12px;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(24px,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:1px solid var(--bd);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:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--or);margin-bottom:8px}
.cross-name{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:18px;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:12px;font-weight:700;color:var(--or);letter-spacing:.04em}

/* ABOUT */
.about-block{margin-top:56px;text-align:left;background:linear-gradient(135deg,var(--dk3),var(--dk4));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(28px,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:14px;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:14px;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:1px solid var(--bd);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:13.5px;font-weight:600;line-height:1.35}
.about-loc svg{width:16px;height:16px;flex:none}
.loc-block{margin-top:28px;background:linear-gradient(135deg,var(--dk3),var(--dk4));border:1.5px solid var(--bd2);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(24px,3.2vw,34px);text-transform:uppercase;line-height:1.08;margin:0 0 14px}
.loc-copy p{font-size:14px;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:linear-gradient(135deg,var(--dk3),var(--dk4))}
.loc-map-img{display:block;width:100%;height:auto}
.loc-map figcaption{margin-top:10px;font-size:12px;color:var(--tx3);text-align:center;letter-spacing:.04em}
.about-stat b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:900;color:var(--or);line-height:1}
.about-stat span{font-size:11px;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:1px solid var(--bd);border-radius:var(--rl);padding:22px 20px;transition:border-color .2s}
.value-card:hover{border-color:var(--or-border)}
.value-icon{font-size:24px;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:1px solid var(--bd);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:15px;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:14px;color:var(--or);flex-shrink:0}
.testi-name{font-size:13px;font-weight:700;color:var(--tx)}
.testi-info{font-size:11px;color:var(--tx2)}
.testi-vehicle{font-size:11px;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:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;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,40px);font-weight:900;text-transform:uppercase;color:var(--tx);line-height:1.05;margin-bottom:10px}
.contact-text p{font-size:14px;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:17px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;background:var(--gr);color:#fff;padding:18px 36px;border-radius:var(--r);box-shadow:0 6px 32px rgba(34,197,94,.22);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);border:1px solid var(--bd);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:12.5px;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:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;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:14px;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:14px;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:1px solid var(--bd);border-radius:12px;background:var(--bg2)}
.match-note strong{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:15px;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{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border:1px solid var(--bd);border-radius:9px;color:var(--tx2);font-weight:700;font-size:14px;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:1100px){.nav-links a{font-size:10px;padding:8px 7px;letter-spacing:.04em}.nav-cta{font-size:12px;padding:9px 14px}.nav-logo{font-size:18px}}
@media(max-width:768px){.nav-links{display:none}.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:linear-gradient(90deg,var(--dk4),rgba(249,115,22,.1));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:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tx2);background:var(--dk4);border:1px solid var(--bd);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:14px;cursor:pointer;border-bottom:1px solid var(--bd)}
.suggest-item:hover{background:var(--dk5)}
.suggest-type{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--or);min-width:52px}
.price-has-promo .price-old{display:block;font-size:22px;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);border:1px solid var(--bd);list-style:none}
.trust-buy li{font-size:12px;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:12px;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:1px solid var(--bd);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:linear-gradient(135deg,var(--dk3),var(--dk4));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:1px solid var(--bd);border-radius:var(--r);font-size:14px;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(22px,3.2vw,32px);text-transform:uppercase;line-height:1.05;margin:8px 0 10px;color:var(--tx)}
.ref-buy-meta{font-size:14px;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:12px;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:1px solid var(--bd);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:12px;color:var(--tx3);margin-top:6px}
.ref-buy-price{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:28px;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:14px}
.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(32px,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:36px;font-weight:900;color:var(--or);line-height:1}
.rev-stat-label{font-size:12px;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:1px solid var(--bd);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:1px solid var(--bd);border-radius:var(--r);color:var(--tx2);font-weight:600;font-size:14px;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:24px;cursor:pointer}
.rev-strip{margin-top:16px;padding:16px 18px;background:var(--dk5);border:1px solid var(--bd);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:14px;font-weight:700;color:var(--tx)}
.rev-strip-note{font-size:12px;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{flex:0 0 auto;display:block;border-radius:10px;border:1px solid var(--bd);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}}

/* ── 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:18px;line-height:1.2;flex-shrink:0}
.cv-guarantee b{display:block;font-size:13.5px;color:var(--tx)}
.cv-guarantee small{font-size:12px;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:1px solid var(--bd);border-radius:10px;background:var(--dk4)}
.cv-how>b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.04em;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:12.5px;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:12px;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:12.5px;color:var(--tx2)}
.cv-countdown b{font-family:'Barlow Condensed',sans-serif;font-size:17px;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:1px solid var(--bd);border-radius:10px;background:var(--dk3);font-size:12.5px;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:18px;font-weight:800;color:var(--tx2)}
.cv-localprice small{font-size:11.5px;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:13.5px;color:var(--tx);margin-bottom:5px}
.cv-presale p{margin:0 0 10px;font-size:12.5px;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:12px!important;color:var(--or)!important;font-weight:700}
.cv-presale{margin-top:22px}
.cv-presale b{font-size:15px}
.cv-presale p{font-size:13.5px}
/* 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:11.5px;color:var(--tx3);margin-bottom:3px}
.cv-presale-form input[type=file]{width:100%;font-size:12px;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:11.5px;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:15px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer}
.cv-presale-form button:disabled{opacity:.6;cursor:default}
.cv-presale-fast{margin:0;font-size:11.5px;color:var(--tx3)}
.cv-presale-msg{margin:0;font-size:12.5px;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:13.5px;text-transform:uppercase;letter-spacing:.03em;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:11.5px;color:var(--tx3);line-height:1.4}
.cv-presale-wa{display:inline-block;margin-top:9px;font-size:12px;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:11px;color:var(--tx3)}
.cv-pay span{font-size:10.5px;font-weight:800;letter-spacing:.04em;color:var(--tx2);background:var(--dk4);border:1px solid var(--bd);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:17px;text-transform:uppercase;color:var(--or)}
.cv-compat p{margin:0 0 10px;font-size:12.5px;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:14px;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:12.5px;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:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--or);border-radius:5px;padding:3px 8px;margin-bottom:7px}
.cv-bundle p{margin:0 0 10px;font-size:12.5px;color:var(--tx2);line-height:1.5}
.cv-bundle button{width:100%;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:15px;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:11.5px;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:1px solid var(--bd);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:1.35rem;line-height:1.1;margin:0 0 8px;color:var(--or)}
    .rx-offer .rx-lede{color:var(--tx2);font-size:.95rem;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}
    .rx-actions button{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:1rem;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;transition:transform .15s}
    .rx-actions button:hover{transform:translateY(-1px)}
    .rx-actions a{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:.95rem}
    .rx-actions a:hover{filter:brightness(1.06)}
    .rx-offer .rx-prices{margin:16px 0 0;color:var(--or);font-size:.9rem;font-weight:700}
    .rx-offer .rx-delay{margin:3px 0 0;color:var(--tx3);font-size:.8rem}
    @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{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:1px solid var(--bd2);border-left:3px solid var(--or);border-radius:var(--r);padding:20px 22px}
    .immo-cross-i h2{margin:0 0 6px;font-size:19px}
    .immo-cross-prix{color:var(--or)}
    .immo-cross-i p{margin:0;color:var(--tx2);font-size:14px;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:14px;margin-bottom:8px}
.av-opt{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:21px;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:14px}
.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:15px}
.av-f textarea:focus,.av-f input:focus{border-color:var(--or);outline:none}

/* ── CHAT_STYLES (lib/chat-widget.js) ── */
#dp-chat-btn{position:fixed;bottom:24px;right:24px;z-index:160;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:var(--or);color:#fff;box-shadow:0 6px 28px rgba(249,115,22,.45);display:grid;place-items:center;transition:transform .15s,background .15s}
#dp-chat-btn:hover{background:var(--or2);transform:scale(1.05)}
#dp-chat-btn svg{width:26px;height:26px}
#dp-chat-panel{position:fixed;bottom:94px;right:24px;z-index:160;width:min(400px,calc(100vw - 32px));height:min(560px,calc(100vh - 120px));background:var(--dk3);border:1.5px solid var(--or-border);border-radius:var(--rxl);box-shadow:0 16px 50px rgba(0,0,0,.55);display:none;flex-direction:column;overflow:hidden}
#dp-chat-panel.open{display:flex}
.dp-chat-head{padding:16px 18px;border-bottom:1px solid var(--bd);background:linear-gradient(135deg,var(--dk3),var(--dk4));flex-shrink:0}
.dp-chat-head-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dp-chat-title{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:18px;text-transform:uppercase;color:var(--tx)}
.dp-chat-badge{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gr);background:var(--gr-pale);border:1px solid var(--gr-bd);padding:3px 10px;border-radius:20px;white-space:nowrap}
.dp-chat-sub{font-size:12px;color:var(--tx2);margin-top:4px}
#dp-chat-close{background:none;border:none;color:var(--tx3);font-size:22px;cursor:pointer;line-height:1;padding:4px;flex-shrink:0}
#dp-chat-close:hover{color:var(--tx)}
.dp-chat-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.dp-chat-msg{max-width:94%;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.65;word-break:break-word;white-space:pre-wrap}
.dp-chat-msg.bot{align-self:flex-start;background:var(--dk5);border:1px solid var(--bd);color:var(--tx2)}
.dp-chat-msg.user{align-self:flex-end;background:var(--or-pale);border:1px solid var(--or-border);color:var(--tx)}
.dp-chat-msg.typing{opacity:.7;font-style:italic}
.dp-chat-search-btn{display:inline-block;margin-top:10px;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.06em;background:var(--or);color:#fff;padding:12px 20px;border-radius:8px;text-decoration:none;transition:background .15s,transform .15s}
.dp-chat-search-btn:hover{background:var(--or2);transform:translateY(-1px);color:#fff}
.dp-chat-quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px;flex-shrink:0;max-height:96px;overflow-y:auto}
.dp-chat-quick button{font-size:10px;font-weight:700;color:var(--or);background:var(--or-pale);border:1px solid var(--or-border);border-radius:20px;padding:6px 11px;cursor:pointer;transition:background .15s;line-height:1.3}
.dp-chat-quick button:hover{background:rgba(249,115,22,.18)}
.dp-chat-quick button[data-key="find_vehicle"]{background:var(--or);color:#fff;border-color:var(--or)}
.dp-chat-quick button[data-key="find_vehicle"]:hover{background:var(--or2)}
.dp-chat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.dp-chat-chip{font-size:11px;font-weight:700;color:var(--tx);background:var(--dk4);border:1px solid var(--bd);border-radius:18px;padding:7px 12px;cursor:pointer;transition:border-color .15s,background .15s;line-height:1.2}
.dp-chat-chip:hover{border-color:var(--or);background:var(--or-pale);color:var(--or)}
.dp-chat-chip small{font-weight:600;color:var(--tx3);margin-left:4px}
.dp-chat-chip.back{font-size:10px;color:var(--tx3);border-style:dashed}
.dp-chat-samples{margin-top:8px;font-size:12px;color:var(--tx3);line-height:1.5}
.dp-chat-foot{padding:12px 14px;border-top:1px solid var(--bd);display:flex;gap:8px;flex-shrink:0;background:var(--dk4)}
#dp-chat-input{flex:1;background:var(--dk3);border:1px solid var(--bd);border-radius:var(--r);color:var(--tx);padding:12px 14px;font-size:14px;font-family:'Barlow',sans-serif;outline:none;resize:none;min-height:44px;max-height:100px}
#dp-chat-input:focus{border-color:var(--or)}
#dp-chat-send{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.06em;background:var(--or);color:#fff;border:none;border-radius:var(--r);padding:0 18px;cursor:pointer;flex-shrink:0}
#dp-chat-send:disabled{opacity:.5;cursor:wait}
@media(max-width:560px){#dp-chat-panel{bottom:88px;right:16px;left:16px;width:auto;height:min(72vh,560px)}#dp-chat-btn{right:16px;bottom:16px}}

/* ── 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:14px;color:var(--tx)}
.dp-wa-nudge-status{font-size:11px;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:15px;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:14.5px;margin-bottom:14px}
  .dp-wa-nudge-name{font-size:15px}
  .dp-wa-nudge-cta{font-size:17px;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:17px}
  .nav-cta{order:2;margin-left:auto;font-size:12px;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:11.5px;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(19px,5.5vw,24px);overflow-wrap:break-word}
  .lede{font-size:14.5px;line-height:1.55}
  .eyebrow{font-size:10.5px}

  /* ── 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}

  /* ── RESULTATS DE RECHERCHE ──────────────────────────────────────────
     Les references materielles debordaient de la carte. */
  .card{padding:14px}
  .card-title{font-size:15px;line-height:1.25;overflow-wrap:anywhere}
  .price-tag{font-size:17px;white-space:nowrap}
  .tag{font-size:10.5px;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. */