/* AUTO-BUSINESS 237 — style clair, inspiré des sites Apple, version automobile */
:root{
  --bg:#fff;--bg2:#f5f5f7;--bg3:#e8e8ed;--tx:#1d1d1f;--mut:#6e6e73;--mut2:#86868b;--line:#d2d2d7;
  --blue:#1f45d1;--blue2:#1736a8;--link:#0a5bd6;--wa:#25d366;--wa2:#1aa851;--ok:#1f9d55;--warn:#c2410c;
  --dark:#0a0a0c;--dark2:#161618;
  --disp:"Inter Tight","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pad:clamp(16px,4vw,40px);--max:1180px;--r:22px;--sh:0 1px 2px rgba(0,0,0,.04),0 8px 28px rgba(0,0,0,.06);
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{background:var(--bg);color:var(--tx);font:17px/1.47 var(--body);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
:focus-visible{outline:2px solid var(--link);outline-offset:3px;border-radius:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Typo façon Apple */
.eyebrow{font:600 .95rem/1.2 var(--disp);color:var(--blue);letter-spacing:-.01em;margin-bottom:.5rem}
.h-hero{font:700 clamp(2.8rem,7.4vw,5.6rem)/1.02 var(--disp);letter-spacing:-.035em}
.h1{font:700 clamp(2.4rem,5.6vw,4.2rem)/1.05 var(--disp);letter-spacing:-.03em}
.h2{font:700 clamp(1.9rem,4vw,3rem)/1.08 var(--disp);letter-spacing:-.025em}
.h3{font:600 clamp(1.3rem,2.2vw,1.7rem)/1.15 var(--disp);letter-spacing:-.02em}
.sub{font-size:clamp(1.1rem,1.8vw,1.45rem);line-height:1.35;color:var(--mut);letter-spacing:-.015em}
.grad{background:linear-gradient(92deg,var(--blue) 10%,#6c4bff 55%,#0a9bd6);-webkit-background-clip:text;background-clip:text;color:transparent}
.links{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin-top:1.1rem;font-size:1.1rem}
.lk{color:var(--link);display:inline-flex;align-items:center;gap:.15em}
.lk::after{content:"›";font-size:1.25em;line-height:1;transform:translateY(-.03em);transition:transform .2s}
.lk:hover{text-decoration:underline}.lk:hover::after{transform:translate(2px,-.03em)}
.price{font:600 1.05rem var(--disp);letter-spacing:-.01em}
.price.big{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:700;letter-spacing:-.03em}
.muted{color:var(--mut)}
.center{text-align:center}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;padding:0 1.25em;border-radius:980px;font-weight:500;font-size:1rem;transition:background .2s,transform .15s,box-shadow .2s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue2)}
.btn-wa{background:var(--wa);color:#fff}.btn-wa:hover{background:var(--wa2)}
.btn-wa svg{width:19px;height:19px;fill:currentColor}
.btn-line{border:1px solid var(--line);background:#fff}.btn-line:hover{border-color:var(--tx)}
.btn-dark{background:var(--tx);color:#fff}
.btn.lg{min-height:52px;font-size:1.06rem;padding:0 1.6em}
.btn.wide{width:100%}
.row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}

/* ===== Navigation globale ===== */
.gnav{position:sticky;top:0;z-index:80;background:rgba(251,251,253,.8);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.gnav-in{max-width:var(--max);margin:auto;padding:0 var(--pad);height:56px;display:flex;align-items:center;gap:1rem}
.logo{display:flex;align-items:center;gap:.55rem;font:700 1.02rem var(--disp);letter-spacing:-.01em;flex:none}
.logo img{width:34px;height:34px;border-radius:50%}
.logo small{display:block;font:500 .66rem var(--body);color:var(--mut);letter-spacing:.02em}
.gnav-links{display:flex;gap:1.9rem;margin:0 auto;font-size:.88rem;color:#333}
.gnav-links a{opacity:.85;transition:opacity .2s}
.gnav-links a:hover,.gnav-links a[aria-current]{opacity:1;color:var(--tx)}
.gnav-links a[aria-current]{font-weight:600}
.gnav-ico{display:flex;align-items:center;gap:.3rem;margin-left:auto}
.ico{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;transition:background .2s}
.ico:hover{background:rgba(0,0,0,.05)}
.ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.badge{position:absolute;top:3px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--blue);color:#fff;font:600 .68rem/18px var(--body);text-align:center}
.badge:empty,.badge[data-n="0"]{display:none}
.burger{display:none}
@media (min-width:861px){.gnav-ico{margin-left:0}}
@media (max-width:860px){
  .gnav-links{display:none}.burger{display:grid}
  .gnav-in{height:52px}
}
.menu{position:fixed;inset:52px 0 0;z-index:79;background:rgba(251,251,253,.97);backdrop-filter:blur(20px);padding:24px var(--pad);display:none;flex-direction:column;gap:.2rem}
.menu.open{display:flex;animation:fade .25s ease}
.menu a{font:600 1.9rem/1.5 var(--disp);letter-spacing:-.02em}
.menu .row{margin-top:1.5rem}
@keyframes fade{from{opacity:0;transform:translateY(-8px)}}

/* Sous-navigation de page */
.lnav{position:sticky;top:56px;z-index:70;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
@media (max-width:860px){.lnav{top:52px}}
.lnav-in{max-width:var(--max);margin:auto;padding:0 var(--pad);min-height:52px;display:flex;align-items:center;gap:1rem}
.lnav-t{font:600 1.25rem var(--disp);letter-spacing:-.02em;flex:none}
.chips{display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:none;padding:8px 2px;margin-left:auto;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 24px),transparent)}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:.35em;min-height:34px;padding:0 .95em;border-radius:980px;border:1px solid var(--line);background:#fff;font-size:.86rem;transition:.2s;white-space:nowrap}
.chip small{color:var(--mut2);font-size:.78em}
.chip:hover{border-color:var(--tx)}
.chip[aria-pressed=true]{background:var(--tx);border-color:var(--tx);color:#fff}
.chip[aria-pressed=true] small{color:#bbb}
@media (max-width:700px){.lnav-in{flex-wrap:wrap;gap:0;padding-top:6px}.lnav-t{font-size:1.05rem}.chips{margin-left:0;width:100%}}

/* ===== Sections ===== */
.sec{padding:clamp(70px,10vw,130px) 0}
.sec.alt{background:var(--bg2)}
.sec-head{max-width:760px;margin:0 auto clamp(36px,5vw,60px);text-align:center;padding:0 var(--pad)}
.sec-head .sub{margin-top:.9rem}
.sec-head .links{justify-content:center}

/* ===== Accueil : héros + carrousel 3D ===== */
.hero{padding:clamp(48px,7vw,90px) 0 0;text-align:center;background:linear-gradient(180deg,var(--bg2),#fff 85%);overflow:hidden}
.hero .sub{max-width:640px;margin:1rem auto 0;padding:0 var(--pad)}
.hero .links{justify-content:center}
.ring-stage{position:relative;height:clamp(330px,44vw,540px);perspective:1300px;perspective-origin:50% 30%;margin-top:clamp(10px,3vw,30px);touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.ring-stage:active{cursor:grabbing}
.ring{position:absolute;left:50%;top:46%;width:0;height:0;transform-style:preserve-3d;will-change:transform}
.ring-item{position:absolute;width:var(--w);height:var(--w);left:calc(var(--w) / -2);top:calc(var(--w) / -2);border-radius:26px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.05),0 22px 50px -18px rgba(20,30,80,.28);display:grid;place-items:center;padding:14%;transition:box-shadow .3s}
.ring-item img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.ring-item.front{box-shadow:0 2px 6px rgba(0,0,0,.05),0 30px 60px -16px rgba(31,69,209,.45);outline:2px solid rgba(31,69,209,.25)}
.ring-floor{position:absolute;left:50%;bottom:6%;width:min(860px,90%);height:80px;transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,rgba(20,30,80,.16),transparent 70%);filter:blur(6px)}
.ring-cap{position:relative;z-index:2;margin-top:-20px;padding-bottom:clamp(40px,6vw,70px);min-height:150px}
.ring-cap .cat{font:600 .8rem var(--body);color:var(--blue);text-transform:uppercase;letter-spacing:.06em}
.ring-cap h2{font:600 clamp(1.1rem,2vw,1.45rem)/1.25 var(--disp);letter-spacing:-.02em;max-width:620px;margin:.35rem auto .35rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:0 var(--pad)}
.ring-ctl{display:flex;justify-content:center;align-items:center;gap:.8rem;margin-top:.9rem}
.round{width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.06);display:grid;place-items:center;font-size:1.4rem;line-height:1;transition:background .2s}
.round:hover{background:rgba(0,0,0,.1)}

/* Tuiles des 3 services */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}
.tile{position:relative;overflow:hidden;border-radius:var(--r);background:var(--bg2);min-height:clamp(480px,52vw,620px);display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(40px,5vw,56px) 24px 0}
.tile.full{grid-column:1/-1}
.tile.dark{background:var(--dark);color:#f5f5f7}
.tile.dark .sub{color:#a1a1a6}
.tile.dark .lk{color:#2997ff}
.tile .sub{margin-top:.4rem}
.tile-media{margin-top:auto;width:100%;display:flex;justify-content:center;align-items:flex-end;gap:2%;padding-top:24px}
.tile-media img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.tile:hover .tile-media img{transform:translateY(-6px) scale(1.02)}
.tile-parts{padding-bottom:40px}
.tile-parts img{width:30%;max-width:240px;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:20px;padding:4%;box-shadow:var(--sh)}
.tile-parts img:nth-child(2){width:36%;max-width:290px;margin-bottom:24px}
.tile-photo{width:calc(100% + 48px);margin:0 -24px}
.tile-photo img{width:100%;height:clamp(240px,28vw,340px);object-fit:cover;-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%);mask-image:linear-gradient(180deg,transparent,#000 22%)}
@media (max-width:760px){.tiles{grid-template-columns:1fr;padding:10px 0}.tile{border-radius:0;min-height:520px}}

/* Outil : trouver ma pièce */
.finder{max-width:980px;margin:auto;padding:0 var(--pad)}
.step{margin-bottom:1.6rem}
.step-t{display:flex;align-items:baseline;gap:.6rem;font:600 1.1rem var(--disp);margin-bottom:.8rem}
.step-t span{color:var(--blue);font-size:.85rem}
.pills{display:flex;flex-wrap:wrap;gap:.55rem}
.pill{min-height:56px;padding:0 1.3rem;border-radius:16px;border:1.5px solid var(--line);background:#fff;font-weight:500;display:inline-flex;align-items:center;gap:.5rem;transition:.2s}
.pill small{color:var(--mut2)}
.pill:hover{border-color:#999}
.pill[aria-pressed=true]{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset;color:var(--blue)}
.pill[aria-pressed=true] small{color:var(--blue)}
@media (max-width:520px){.pill{min-height:48px;padding:0 1rem;font-size:.92rem}}
.finder-out{margin-top:2rem;padding:clamp(18px,3vw,28px);border-radius:var(--r);background:#fff;box-shadow:var(--sh)}
.finder-out header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:1rem}
.finder-out b{font:700 1.6rem var(--disp);letter-spacing:-.02em}

/* Étagères horizontales */
.shelf{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(200px,24%,260px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;scrollbar-width:thin}
.shelf>*{scroll-snap-align:start}
@media (max-width:600px){.shelf{grid-auto-columns:62%}}

/* Fiches produit (cartes) */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
@media (max-width:520px){.grid{grid-template-columns:1fr 1fr;gap:10px}}
.card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--sh);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(0,0,0,.04),0 18px 40px rgba(0,0,0,.1)}
.card-img{aspect-ratio:1;background:#fff;display:grid;place-items:center;padding:10%;border-bottom:1px solid #f0f0f2}
.card-img img{width:100%;height:100%;object-fit:contain}
.card-b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:.35rem;flex:1}
.card-cat{font-size:.72rem;font-weight:600;color:var(--blue);text-transform:uppercase;letter-spacing:.05em}
.card-n{font-size:.92rem;line-height:1.3;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.card-f{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-top:auto;padding-top:.4rem}
.add{width:36px;height:36px;border-radius:50%;background:var(--bg2);display:grid;place-items:center;font-size:1.3rem;line-height:1;flex:none;transition:.2s;position:relative;z-index:2}
.add:hover{background:var(--blue);color:#fff}
.add.done{background:var(--ok);color:#fff}
.tag{display:inline-flex;align-items:center;gap:.3em;font-size:.72rem;color:var(--ok);font-weight:500}
.tag svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.card a.cover{position:absolute;inset:0;z-index:1}
@media (max-width:520px){.card-b{padding:10px 11px 12px}.card-n{font-size:.84rem}.price{font-size:.95rem}}

/* ===== Page pièces ===== */
.page-hero{padding:clamp(40px,6vw,70px) 0 clamp(24px,3vw,36px);background:var(--bg2)}
.page-hero .sub{margin-top:.5rem}
.search{position:relative;margin-top:1.6rem;max-width:720px}
.search input{width:100%;height:56px;border-radius:14px;border:1px solid var(--line);background:#fff;padding:0 1rem 0 3rem;font-size:1.05rem;transition:border-color .2s,box-shadow .2s}
.search input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(31,69,209,.12)}
.search svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;stroke:var(--mut);fill:none;stroke-width:1.8}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1.4rem 0 1.4rem}
.filters .lbl{font-size:.85rem;color:var(--mut);margin-right:.2rem}
.filters select{height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;padding:0 .8rem;font-size:.88rem;margin-left:auto}
.count{font-size:.9rem;color:var(--mut);margin-bottom:1rem}
.more{display:flex;justify-content:center;margin-top:2rem}
.empty{padding:40px 20px;text-align:center;border-radius:var(--r);background:var(--bg2)}

/* ===== Fiche pièce ===== */
.crumb{font-size:.82rem;color:var(--mut);padding:18px 0}
.crumb a:hover{color:var(--link)}
.pd{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,64px);align-items:start;padding-bottom:60px}
.pd>*{min-width:0}
.gal-main{aspect-ratio:1;border-radius:var(--r);background:#fff;box-shadow:var(--sh);display:grid;place-items:center;padding:8%;position:relative;overflow:hidden;touch-action:pan-y}
.gal-main img{width:100%;height:100%;object-fit:contain;transition:opacity .25s}
.gal-thumbs{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding:2px}
.gal-thumbs button{flex:none;width:70px;height:70px;border-radius:12px;background:#fff;border:1.5px solid var(--line);padding:6px}
.gal-thumbs button[aria-current=true]{border-color:var(--blue)}
.gal-thumbs img{width:100%;height:100%;object-fit:contain}
.pd-info h1{font:700 clamp(1.5rem,2.6vw,2.1rem)/1.15 var(--disp);letter-spacing:-.025em;margin:.3rem 0 1rem;overflow-wrap:anywhere}
.pd-info .price.big{margin-bottom:1rem}
.facts{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem}
.fact{display:inline-flex;align-items:center;gap:.4em;padding:7px 12px;border-radius:10px;background:var(--bg2);font-size:.86rem}
.fact svg{width:16px;height:16px;stroke:var(--blue);fill:none;stroke-width:1.8}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:980px;height:52px}
.qty button{width:46px;height:100%;font-size:1.3rem}
.qty output{min-width:2ch;text-align:center;font-weight:600}
.pd-buy{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem}
.pd-buy .btn{flex:1;min-width:180px}
.ship{display:grid;gap:.6rem;padding:16px 18px;border-radius:16px;background:var(--bg2);font-size:.9rem;margin-bottom:1.6rem}
.ship div{display:flex;gap:.6rem;align-items:flex-start}
.ship svg{flex:none;width:20px;height:20px;stroke:var(--tx);fill:none;stroke-width:1.6;margin-top:1px}
.desc h2{font:600 1.15rem var(--disp);margin-bottom:.6rem}
.desc p{white-space:pre-line;color:#333;font-size:.95rem;line-height:1.6;overflow-wrap:anywhere}
.desc.clamp p{max-height:12em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
@media (max-width:860px){.pd{grid-template-columns:1fr}}

/* ===== Panier ===== */
.cart{position:fixed;inset:0;z-index:120;display:none}
.cart.open{display:block}
.cart-bg{position:absolute;inset:0;background:rgba(0,0,0,.35);animation:fade2 .25s}
.cart-p{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;display:flex;flex-direction:column;animation:slide .32s cubic-bezier(.2,.8,.2,1);box-shadow:-20px 0 60px rgba(0,0,0,.15)}
@keyframes slide{from{transform:translateX(100%)}}
@keyframes fade2{from{opacity:0}}
.cart-h{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #eee}
.cart-h h2{font:700 1.4rem var(--disp);letter-spacing:-.02em}
.cart-l{flex:1;overflow-y:auto;padding:8px 20px}
.ci{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f2}
.ci img{width:64px;height:64px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid #eee;padding:4px}
.ci p{font-size:.84rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ci .q{display:flex;align-items:center;gap:.3rem;margin-top:.35rem;font-size:.85rem}
.ci .q button{width:26px;height:26px;border-radius:50%;background:var(--bg2)}
.ci .rm{font-size:.78rem;color:var(--mut);text-decoration:underline;margin-left:.4rem}
.ci .pr{font-weight:600;font-size:.9rem;text-align:right;white-space:nowrap}
.cart-f{padding:16px 20px 20px;border-top:1px solid #eee;display:grid;gap:.7rem}
.cart-f .tot{display:flex;justify-content:space-between;font:700 1.3rem var(--disp)}
.cart-f input{height:46px;border-radius:12px;border:1px solid var(--line);padding:0 .9rem;width:100%}
.cart-f small{color:var(--mut);font-size:.78rem}
.cart-empty{padding:50px 10px;text-align:center;color:var(--mut)}

/* ===== Section zoom voitures (défilement) ===== */
.zoom{height:240vh;position:relative;background:#fff}
.zoom-st{position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center;overflow:hidden}
.zoom-media{position:relative;width:var(--zw,62%);height:var(--zh,58%);border-radius:var(--zr,28px);overflow:hidden;will-change:width,height}
.zoom-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zoom-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 40%,rgba(0,0,0,.65));opacity:var(--zo,0)}
.zoom-txt{position:absolute;left:0;right:0;bottom:9%;text-align:center;color:#fff;padding:0 var(--pad);opacity:var(--zo,0);transform:translateY(calc((1 - var(--zo,0)) * 30px))}
.zoom-txt .sub{color:rgba(255,255,255,.88)}
.zoom-txt .links{justify-content:center}
.zoom-txt .lk{color:#fff}
.zoom-top{position:absolute;top:12%;left:0;right:0;text-align:center;opacity:calc(1 - var(--zo,0) * 2);padding:0 var(--pad)}

/* Texte qui s'éclaire au défilement */
.reveal-txt{font:700 clamp(1.8rem,4.4vw,3.4rem)/1.15 var(--disp);letter-spacing:-.03em;max-width:980px;margin:auto;padding:0 var(--pad)}
.reveal-txt span{color:#d2d2d7;transition:color .35s}
.reveal-txt span.on{color:var(--tx)}
.reveal-txt span.on.b{color:var(--blue)}

/* Avantages */
.perks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.perk{background:#fff;border-radius:var(--r);padding:26px 22px;box-shadow:var(--sh)}
.perk svg{width:34px;height:34px;stroke:var(--blue);fill:none;stroke-width:1.6;margin-bottom:1rem}
.perk b{display:block;font:600 1.12rem var(--disp);letter-spacing:-.015em;margin-bottom:.3rem}
.perk p{font-size:.9rem;color:var(--mut)}
@media (max-width:900px){.perks{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.perks{grid-template-columns:1fr}}

/* Bloc moteur */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:center}
.split-img{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--bg2)}
.split-img img{width:100%;height:100%;object-fit:cover}
@media (max-width:800px){.split{grid-template-columns:1fr}}

/* ===== Voitures ===== */
.cars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.car{display:flex;flex-direction:column;text-align:center;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:transform .3s,box-shadow .3s}
.car:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(0,0,0,.04),0 20px 44px rgba(0,0,0,.12)}
.car-img{aspect-ratio:4/3;overflow:hidden;position:relative;display:block}
.car-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.car:hover .car-img img{transform:scale(1.04)}
.car-b{padding:22px 20px 26px;display:flex;flex-direction:column;align-items:center;gap:.3rem;flex:1}
.car-b .nick{font-size:.82rem;color:var(--mut)}
.car-b .h3{margin:.1rem 0 .2rem}
.dots{display:flex;justify-content:center;gap:6px;margin:.4rem 0 .6rem}
.dots i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}
.car-b ul{list-style:none;padding:0;font-size:.88rem;color:var(--mut);margin:.4rem 0 1rem;line-height:1.7}
.car-b .row{justify-content:center;margin-top:auto}
.sold{position:absolute;top:14px;left:14px;padding:6px 12px;border-radius:980px;background:var(--tx);color:#fff;font-size:.78rem;font-weight:600}
@media (max-width:900px){.cars{grid-template-columns:1fr;max-width:520px;margin:auto}}

.cmp{width:100%;border-collapse:collapse;font-size:.95rem;min-width:520px}
.cmp th,.cmp td{padding:14px 10px;border-bottom:1px solid var(--line);text-align:center}
.cmp th:first-child,.cmp td:first-child{text-align:left;color:var(--mut);font-weight:500;width:22%}
.cmp thead th{font:600 1.1rem var(--disp);border-bottom:0}
.cmp-wrap{overflow-x:auto}

/* Outil voiture */
.vfind{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,60px);align-items:start;max-width:var(--max);margin:auto;padding:0 var(--pad)}
.vfind input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--blue) var(--p,40%),var(--bg3) var(--p,40%))}
.vfind input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.25);cursor:pointer}
.vfind input[type=range]::-moz-range-thumb{width:28px;height:28px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.25)}
.range-l{display:flex;justify-content:space-between;color:var(--mut);font-size:.82rem;margin-top:.5rem}
.res-l{list-style:none;padding:0;display:grid;gap:10px;margin-bottom:1rem}
.res{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center;padding:12px;border-radius:16px;background:#fff;box-shadow:var(--sh)}
.res.top{box-shadow:0 0 0 2px var(--blue),var(--sh)}
.res img{width:84px;height:64px;object-fit:cover;border-radius:10px}
.res h4{display:flex;justify-content:space-between;font:600 1.05rem var(--disp)}
.res h4 span{color:var(--blue)}
.meter{height:5px;border-radius:5px;background:var(--bg3);margin:.45rem 0;overflow:hidden}
.meter i{display:block;height:100%;background:var(--blue);border-radius:5px;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.why{font-size:.78rem;color:var(--mut);display:flex;flex-wrap:wrap;gap:.1rem .7rem}
.why .y{color:var(--ok)}.why .n{color:var(--warn)}
.vfind-r{position:sticky;top:120px}
@media (max-width:900px){.vfind{grid-template-columns:1fr}.vfind-r{position:static}}

/* Fiche voiture */
.vd-hero{text-align:center;padding:clamp(40px,6vw,70px) 0 24px}
.tour{position:relative;max-width:1000px;margin:0 auto;aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;background:var(--bg2);touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none}
.tour img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s;pointer-events:none}
.tour img.on{opacity:1}
.tour-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:980px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);font-size:.82rem;white-space:nowrap}
.tour-hint svg{width:28px;height:12px;animation:sway 1.8s ease-in-out infinite}
@keyframes sway{50%{transform:translateX(5px)}}
.tour .round{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85)}
.tour .prev{left:14px}.tour .next{right:14px}
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-radius:var(--r);overflow:hidden;margin:28px auto 0;max-width:1000px}
.specs div{background:#fff;padding:20px;text-align:center}
.specs b{display:block;font:600 1.15rem var(--disp)}
.specs small{color:var(--mut);font-size:.82rem}
@media (max-width:700px){.specs{grid-template-columns:1fr 1fr}}
.photos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.photos button{aspect-ratio:4/3;border-radius:14px;overflow:hidden;padding:0}
.photos img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.photos button:hover img{transform:scale(1.05)}
@media (max-width:700px){.photos{grid-template-columns:1fr 1fr}}

/* Moteurs */
.compat{max-width:720px;margin:auto;padding:0 var(--pad)}
.compat select{width:100%;height:56px;border-radius:14px;border:1px solid var(--line);background:#fff;padding:0 1rem;font-size:1rem;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none' stroke='%236e6e73' stroke-width='2'%3E%3Cpath d='m1 1 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.verdict{margin-top:1rem;padding:20px;border-radius:16px;display:grid;gap:.7rem;animation:fade .3s}
.verdict.yes{background:#eaf7ef}.verdict.no{background:#fff3eb}
.verdict b{font:700 1.3rem var(--disp)}
.verdict.yes b{color:var(--ok)}.verdict.no b{color:var(--warn)}
.verdict p{font-size:.92rem;color:#444}

/* Lightbox */
.lb{width:100vw;height:100vh;max-width:none;max-height:none;border:0;padding:0;background:rgba(255,255,255,.97)}
.lb[open]{display:grid;place-items:center}
.lb::backdrop{background:rgba(0,0,0,.3)}
.lb img{max-width:min(92vw,1200px);max-height:80vh;object-fit:contain;border-radius:12px}
.lb .x{position:absolute;top:14px;right:16px;width:44px;height:44px;border-radius:50%;background:var(--bg2);font-size:1.6rem}
.lb .round{position:absolute;top:50%;transform:translateY(-50%)}
.lb .prev{left:12px}.lb .next{right:12px}
.lb .n{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:var(--mut);font-size:.85rem}

/* CTA + pied de page */
.cta{text-align:center}
.cta .row{justify-content:center;margin-top:1.6rem}
.foot{background:var(--bg2);font-size:.8rem;color:var(--mut);padding:36px 0 110px}
.foot-g{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.foot h3{font-size:.8rem;font-weight:600;color:var(--tx);margin-bottom:.6rem}
.foot li{list-style:none;margin-bottom:.45rem}
.foot ul{padding:0}
.foot a:hover{text-decoration:underline;color:var(--tx)}
.foot-b{padding-top:16px;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}
@media (max-width:760px){.foot-g{grid-template-columns:1fr 1fr}.foot-g>:first-child{grid-column:1/-1}}

/* Barre de contact mobile */
.dock{display:none}
@media (max-width:760px){
  .dock{display:grid;grid-template-columns:1fr 1.7fr;gap:8px;position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:60;padding:6px;border-radius:18px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(0,0,0,.15)}
  .dock a{display:grid;place-items:center;min-height:46px;border-radius:13px;font-weight:600;font-size:.95rem;background:var(--bg2)}
  .dock a.wa{background:var(--wa);color:#fff}
}

/* Notification */
.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);z-index:130;background:var(--tx);color:#fff;padding:12px 18px;border-radius:14px;font-size:.9rem;opacity:0;pointer-events:none;transition:.3s;display:flex;gap:.8rem;align-items:center;max-width:calc(100% - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast button{color:#7fb2ff;font-weight:600}

/* Apparition */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}

/* ===== V3 : version simple (accueil, location, réservation) ===== */
body{font-size:18px}
.home-hero{padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,44px);text-align:center;background:linear-gradient(180deg,var(--bg2),#fff)}
.home-hero .sub{margin-top:.8rem;font-weight:500;color:#424245}
.search.big{margin:1.6rem auto 0;display:flex;gap:8px;max-width:760px}
.search.big input{height:62px;font-size:1.08rem;border-radius:16px;border-width:2px}
.search.big .btn{height:62px;border-radius:16px;padding:0 1.6em;font-size:1.05rem;flex:none}
@media (max-width:520px){.search.big{flex-direction:column}.search.big svg{top:31px}.search.big .btn{width:100%}}
.svcs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:8px;padding-bottom:clamp(50px,7vw,80px)}
.svc{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);border:1px solid #ececf0;transition:transform .25s,box-shadow .25s}
.svc:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(0,0,0,.04),0 20px 44px rgba(0,0,0,.12)}
.svc-img{aspect-ratio:4/3;background:var(--bg2);overflow:hidden}
.svc-img img{width:100%;height:100%;object-fit:cover}
.svc-img.contain{background:#fff;padding:8%}.svc-img.contain img{object-fit:contain}
.svc-b{padding:18px 18px 20px;display:flex;flex-direction:column;gap:.5rem;flex:1}
.svc-b h2{font:700 1.45rem/1.15 var(--disp);letter-spacing:-.02em}
.svc-b p{color:var(--mut);font-size:.98rem;flex:1}
.svc-b .btn{align-self:flex-start;margin-top:.4rem}
@media (max-width:1000px){.svcs{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.svcs{grid-template-columns:1fr}.svc{flex-direction:row}.svc-img{width:38%;aspect-ratio:auto;flex:none}.svc-b{padding:14px}.svc-b h2{font-size:1.2rem}.svc-b p{font-size:.88rem}.svc-b .btn{min-height:40px;font-size:.9rem;padding:0 1em}}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:2rem}
.steps li{background:#fff;border-radius:var(--r);padding:24px;box-shadow:var(--sh)}
.steps b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;font:700 1.2rem var(--disp);margin-bottom:.8rem}
.steps h3{font:600 1.2rem var(--disp);margin-bottom:.3rem}
.steps p{color:var(--mut);font-size:.95rem}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.sec-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.6rem}
.nb-ph{position:absolute;left:12px;bottom:12px;padding:5px 10px;border-radius:980px;background:rgba(0,0,0,.65);color:#fff;font-size:.8rem}
.price.big-ish{font-size:1.5rem;font-weight:700;color:var(--blue);margin:.3rem 0}
.add{width:auto;height:38px;padding:0 .9rem;border-radius:980px;font-size:.88rem;font-weight:600;background:var(--blue);color:#fff}
.add:hover{background:var(--blue2)}
@media (max-width:520px){.card-f{flex-direction:column;align-items:stretch}.add{width:100%}}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.lcard{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);border:1px solid #ececf0}
.lcard-img{position:relative;aspect-ratio:4/3;padding:0;overflow:hidden;background:var(--bg2)}
.lcard-img img{width:100%;height:100%;object-fit:cover}
.lcard-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:.5rem;flex:1}
.lcard .nick{font-size:.82rem;color:var(--mut)}
.lprix{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:.3rem 0}
.lprix div{background:var(--bg2);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column}
.lprix small{font-size:.75rem;color:var(--mut)}
.lprix b{font:700 1.15rem var(--disp);color:var(--tx)}
.cond{font-size:.82rem;color:var(--warn);line-height:1.4;flex:1}
.notice{display:flex;gap:.6rem;align-items:flex-start;margin-top:1.2rem;padding:14px 16px;border-radius:14px;background:#fff3eb;color:#7c2d12;font-size:.95rem;max-width:760px}
.notice svg{flex:none;width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7}
.bk{width:min(480px,calc(100% - 24px));max-height:calc(100% - 24px);border:0;border-radius:24px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.bk::backdrop{background:rgba(0,0,0,.45)}
.bk .x{position:absolute;top:12px;right:12px}
.bk-head{display:flex;gap:14px;align-items:center;margin-bottom:1rem;padding-right:44px}
.bk-head img{width:96px;height:72px;object-fit:cover;border-radius:12px}
.bk-head h2{font:700 1.4rem/1.15 var(--disp)}
.bk-head .nick{font-size:.8rem;color:var(--mut)}
.bk-l{font-weight:600;margin:1rem 0 .5rem}
.bk-zone{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bk-zone .pill{flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-height:62px}
.bk input[type=date]{width:100%;height:52px;border-radius:12px;border:1px solid var(--line);padding:0 .9rem;font-size:1rem}
.bk .qty output{min-width:5.5ch}
.bk-tot{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:1.2rem 0 .4rem;padding-top:1rem;border-top:1px solid #eee}
.bk-tot span{color:var(--mut);font-size:.9rem}
.bk-tot b{font:700 1.6rem var(--disp)}
.bk .cond{margin-bottom:1rem}
.equip{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.equip li{display:flex;gap:.6rem;align-items:flex-start;background:var(--bg2);border-radius:12px;padding:12px 14px;font-size:.95rem}
.equip svg{flex:none;width:18px;height:18px;stroke:var(--ok);fill:none;stroke-width:2.2;margin-top:2px}
.specs b{font-size:1.02rem}
.bk{margin:auto}

/* Tableau des moteurs + badge Nouveau */
.codes-t{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;font-size:.92rem}
.codes-t th{background:var(--tx);color:#fff;text-align:left;padding:12px;font-weight:600;font-size:.85rem}
.codes-t td{padding:10px 12px;border-bottom:1px solid #eee;vertical-align:middle}
.codes-t tr:nth-child(even) td{background:#fafafc}
.codes-t .btn{min-height:38px;font-size:.85rem;padding:0 .9em}
@media (max-width:760px){
  .codes-t thead{display:none}
  .codes-t,.codes-t tbody,.codes-t tr,.codes-t td{display:block;width:100%}
  .codes-t tr{border-bottom:8px solid var(--bg2);padding:12px 14px}
  .codes-t td{border:0;padding:2px 0;background:none!important}
  .codes-t td:first-child b{font-size:1.15rem}
  .codes-t td:nth-child(2),.codes-t td:nth-child(3),.codes-t td:nth-child(4),.codes-t td:nth-child(6){display:inline;width:auto;color:var(--mut);font-size:.85rem}
  .codes-t td:nth-child(2)::after,.codes-t td:nth-child(3)::after,.codes-t td:nth-child(4)::after{content:" · "}
  .codes-t td:nth-child(5){margin-top:4px;font-weight:500}
  .codes-t td:last-child{margin-top:8px}
}
.new{font-style:normal;background:#e8f7ee;color:var(--ok);padding:2px 7px;border-radius:6px;margin-right:4px}
.card-img:has(img[src^="assets/"]){padding:0}.card-img img[src^="assets/"]{object-fit:cover}
.hero .search.big{text-align:left}
.ring-ctl{flex-wrap:wrap;padding:0 var(--pad)}
.ring-hint{margin-top:.8rem;font-size:.85rem;color:var(--mut2)}
@media (max-width:520px){.ring-ctl .btn{order:3;flex:1 1 40%}.ring-cap h2{font-size:1.05rem}}
.hero{padding-top:clamp(24px,3.5vw,48px)}
.hero .h-hero{font-size:clamp(2.6rem,6vw,4.6rem)}
.hero .sub{margin-top:.6rem}
.hero .search.big{margin-top:1.1rem}
.hero .search.big input,.hero .search.big .btn{height:56px}
.ring-stage{margin-top:0;height:clamp(290px,36vw,460px)}
.ring-cap{margin-top:-34px}

/* ===== Petites animations au toucher ===== */
.btn,.chip,.pill,.round,.add{position:relative;overflow:hidden;transition:transform .15s ease,background .2s,box-shadow .2s,color .2s}
.btn:active,.chip:active,.pill:active,.round:active,.add:active{transform:scale(.95)}
.rip{position:absolute;border-radius:50%;background:currentColor;opacity:.28;transform:scale(0);animation:rip .55s ease-out forwards;pointer-events:none}
@keyframes rip{to{transform:scale(1);opacity:0}}
.btn-blue:hover,.btn-wa:hover{box-shadow:0 8px 22px -8px currentColor}
.btn-blue:hover{box-shadow:0 10px 24px -10px rgba(31,69,209,.8)}
.btn-wa:hover{box-shadow:0 10px 24px -10px rgba(37,211,102,.9)}
.badge.bump{animation:bump .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes bump{30%{transform:scale(1.5)}}
.add.done{animation:pop .4s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop{40%{transform:scale(1.12)}}
.svc-img img,.lcard-img img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.svc:hover .svc-img img,.lcard:hover .lcard-img img{transform:scale(1.06)}
.lcard{transition:transform .25s,box-shadow .25s}
.lcard:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(0,0,0,.04),0 20px 44px rgba(0,0,0,.12)}
.ring-item{transition:box-shadow .3s,outline-color .3s}
.chip[aria-pressed=true],.pill[aria-pressed=true]{animation:pop .35s cubic-bezier(.3,1.6,.5,1)}

/* ===== Animations au toucher (v2) : onglets lumineux, cartes 3D, éclats ===== */
/* Onglets du menu : trait lumineux + éclat au clic */
.gnav-links a{position:relative;padding:6px 2px}
.gnav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),#6c4bff,#0a9bd6);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 10px rgba(80,110,255,.7)}
.gnav-links a:hover::after,.gnav-links a[aria-current]::after{transform:scaleX(1)}
.gnav-links a.flash{animation:navFlash .5s ease}
@keyframes navFlash{40%{color:var(--blue);text-shadow:0 0 14px rgba(31,69,209,.6)}}
.menu a{transition:color .2s,transform .2s}
.menu a:active,.menu a:hover{color:var(--blue);transform:translateX(8px)}
.ico:active{transform:scale(.9)}
/* Cartes et photos qui s'inclinent en 3D + reflet */
.tilt{position:relative;transform-style:preserve-3d;will-change:transform;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.tilt.on{transition:transform .08s linear,box-shadow .3s}
.tilt::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.42),rgba(255,255,255,0) 45%)}
.tilt.on::after{opacity:1}
.tilt.on{box-shadow:0 2px 4px rgba(0,0,0,.05),0 26px 50px -12px rgba(20,30,80,.28)}
/* Éclat de lumière qui traverse les catégories, filtres et boutons */
.shine::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:2;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-18deg);animation:shine .6s ease-out forwards}
@keyframes shine{to{left:130%}}
.chip,.pill{transition:transform .15s,background .25s,border-color .25s,box-shadow .25s,color .25s}
.chip:hover,.pill:hover{box-shadow:0 4px 14px -6px rgba(31,69,209,.45)}
.chip[aria-pressed=true]{box-shadow:0 6px 18px -8px rgba(0,0,0,.5)}
@media (prefers-reduced-motion:reduce){.tilt,.tilt.on{transform:none!important}.shine::before,.gnav-links a.flash{animation:none}}

/* ===== V4 : mise à prix, galerie 3D, vidéo, jour / nuit ===== */
.map{display:block;font:600 .72rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--warn)}
.deb{display:block;margin-top:.4rem;font:500 .9rem var(--body);color:var(--warn)}
.deb-badge{position:absolute;top:12px;right:12px;padding:5px 11px;border-radius:980px;background:linear-gradient(90deg,#ff7a18,#ff3d6e);color:#fff;font-size:.76rem;font-weight:600;box-shadow:0 6px 18px -6px rgba(255,61,110,.7);animation:debPulse 2.4s ease-in-out infinite}
@keyframes debPulse{50%{transform:scale(1.06)}}
.car-img{position:relative}

/* Galerie 3D (coverflow) */
.cf{position:relative;max-width:1100px;margin:0 auto;height:clamp(260px,46vw,520px);perspective:1400px;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:0}
.cf-track{position:absolute;inset:0;transform-style:preserve-3d}
.cf-i{position:absolute;left:50%;top:50%;width:min(68%,760px);aspect-ratio:4/3;margin:0;translate:-50% -50%;border-radius:22px;overflow:hidden;background:var(--bg2);cursor:pointer;
  transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .5s,box-shadow .4s;box-shadow:0 20px 50px -20px rgba(0,0,0,.5)}
.cf-i img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.cf-i.on{cursor:zoom-in;box-shadow:0 0 0 3px rgba(31,69,209,.0),0 40px 80px -24px rgba(20,30,80,.6)}
.cf-i.on::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
.cf .round{position:absolute;top:50%;transform:translateY(-50%);z-index:200;background:rgba(255,255,255,.9);box-shadow:0 6px 20px rgba(0,0,0,.2)}
.cf .prev{left:6px}.cf .next{right:6px}
.cf-n{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);z-index:200;padding:5px 12px;border-radius:980px;background:var(--tx);color:var(--bg);font-size:.8rem;font-weight:600}
.cf-hint{position:absolute;left:50%;top:-4px;transform:translateX(-50%);z-index:200;font-size:.78rem;color:var(--mut2);white-space:nowrap}
.cf-th{display:flex;gap:8px;overflow-x:auto;padding:22px 4px 8px;max-width:1100px;margin:0 auto;scrollbar-width:thin}
.cf-th button{flex:none;width:76px;height:58px;border-radius:12px;overflow:hidden;padding:0;opacity:.55;border:2px solid transparent;transition:opacity .25s,transform .25s,border-color .25s,box-shadow .25s}
.cf-th button img{width:100%;height:100%;object-fit:cover}
.cf-th button:hover{opacity:.9;transform:translateY(-2px)}
.cf-th button[aria-current=true]{opacity:1;border-color:var(--blue);box-shadow:0 6px 18px -6px rgba(31,69,209,.8);transform:translateY(-3px)}
@media (max-width:700px){.cf-i{width:80%}.cf .round{width:38px;height:38px}}

/* Vidéo */
.vid{position:relative;max-width:1000px;margin:0 auto;border-radius:24px;overflow:hidden;background:#000;box-shadow:0 40px 90px -30px rgba(20,30,80,.6)}
.vid::before{content:"";position:absolute;inset:-2px;border-radius:26px;padding:2px;background:linear-gradient(120deg,#1f45d1,#6c4bff,#0a9bd6,#1f45d1);background-size:300% 300%;animation:vidGlow 6s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}
@keyframes vidGlow{to{background-position:300% 0}}
.vid video{display:block;width:100%;aspect-ratio:16/9;background:#000}
.vid-badge{position:absolute;top:14px;left:14px;z-index:3;display:flex;align-items:center;gap:.4rem;padding:6px 12px;border-radius:980px;background:rgba(0,0,0,.6);color:#fff;font-size:.8rem;font-weight:600;backdrop-filter:blur(6px)}
.vid-badge i{width:8px;height:8px;border-radius:50%;background:#ff3b30;animation:recBlink 1.2s infinite}
@keyframes recBlink{50%{opacity:.2}}
.vid-snd{position:absolute;top:12px;right:12px;z-index:3;background:rgba(255,255,255,.92);color:#111;min-height:38px;font-size:.88rem}

/* Bouton jour / nuit */
.theme-btn .moon{display:none}
[data-theme=dark] .theme-btn .sun{display:none}
[data-theme=dark] .theme-btn .moon{display:block}
.theme-btn.spin svg{animation:themeSpin .55s cubic-bezier(.3,1.5,.5,1)}
@keyframes themeSpin{from{transform:rotate(-120deg) scale(.4);opacity:0}}
.theme-anim,.theme-anim *{transition:background-color .5s,color .5s,border-color .5s,box-shadow .5s!important}

/* ===== Thème nuit ===== */
[data-theme=dark]{color-scheme:dark;--bg:#0c0c0f;--bg2:#15151a;--bg3:#24242b;--tx:#f2f2f5;--mut:#a3a3ad;--mut2:#8b8b95;--line:#2c2c34;--link:#5b9cff;
  --sh:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.45)}
[data-theme=dark] body{background:var(--bg)}
[data-theme=dark] .gnav{background:rgba(14,14,18,.78);border-bottom-color:rgba(255,255,255,.08)}
[data-theme=dark] .gnav-links{color:#d6d6dc}
[data-theme=dark] .lnav{background:rgba(14,14,18,.85);border-bottom-color:rgba(255,255,255,.08)}
[data-theme=dark] .menu{background:rgba(12,12,15,.97)}
[data-theme=dark] .hero{background:linear-gradient(180deg,#15151a,#0c0c0f 85%)}
[data-theme=dark] .ring-floor{background:radial-gradient(50% 50% at 50% 50%,rgba(80,120,255,.3),transparent 70%)}
[data-theme=dark] .ring-item{box-shadow:0 2px 6px rgba(0,0,0,.4),0 22px 50px -14px rgba(0,0,0,.9)}
[data-theme=dark] .ring-item.front{outline-color:rgba(91,156,255,.5);box-shadow:0 30px 70px -10px rgba(60,100,255,.5)}
[data-theme=dark] .card,[data-theme=dark] .car,[data-theme=dark] .lcard,[data-theme=dark] .svc,[data-theme=dark] .perk,[data-theme=dark] .steps li,
[data-theme=dark] .finder-out,[data-theme=dark] .res,[data-theme=dark] .cart-p,[data-theme=dark] .bk,[data-theme=dark] .compat-box,[data-theme=dark] .specs div{background:#17171c;border-color:#26262d}
[data-theme=dark] .specs{background:#26262d}
[data-theme=dark] .card-img,[data-theme=dark] .gal-main,[data-theme=dark] .gal-thumbs button{background:#fff}
[data-theme=dark] .card-img{border-bottom-color:#26262d}
[data-theme=dark] .svc-img.contain{background:#fff}
[data-theme=dark] .search input,[data-theme=dark] select,[data-theme=dark] .compat select,[data-theme=dark] .bk input[type=date],[data-theme=dark] .cart-f input{background:#17171c;color:var(--tx);border-color:#2f2f37}
[data-theme=dark] .btn-line,[data-theme=dark] .chip,[data-theme=dark] .pill{background:#17171c;color:var(--tx);border-color:#34343c}
[data-theme=dark] .chip[aria-pressed=true]{background:#f2f2f5;color:#0c0c0f;border-color:#f2f2f5}
[data-theme=dark] .pill[aria-pressed=true]{background:rgba(31,69,209,.18);color:#9fb8ff;border-color:#5b7cff}
[data-theme=dark] .round{background:rgba(255,255,255,.1);color:#fff}
[data-theme=dark] .cf .round{background:rgba(30,30,36,.9)}
[data-theme=dark] .add:not(.done){background:var(--blue);color:#fff}
[data-theme=dark] .codes-t{background:#17171c}
[data-theme=dark] .codes-t th{background:#24242b}
[data-theme=dark] .codes-t td{border-bottom-color:#26262d}
[data-theme=dark] .codes-t tr:nth-child(even) td{background:#1b1b21}
[data-theme=dark] .notice{background:#2a1a10;color:#ffb98a}
[data-theme=dark] .verdict.yes{background:#10261a}[data-theme=dark] .verdict.no{background:#2a1a10}
[data-theme=dark] .verdict p{color:#cfcfd6}
[data-theme=dark] .desc p{color:#d6d6dc}
[data-theme=dark] .reveal-txt span{color:#34343c}
[data-theme=dark] .zoom{background:var(--bg)}
[data-theme=dark] .lb{background:rgba(10,10,12,.97)}
[data-theme=dark] .new{background:#10261a}
[data-theme=dark] .dock{background:rgba(20,20,24,.9)}
[data-theme=dark] .dock a:not(.wa){background:#24242b;color:var(--tx)}
[data-theme=dark] .toast{background:#f2f2f5;color:#0c0c0f}
[data-theme=dark] .logo img{background:#fff}
[data-theme=dark] .tilt::after{background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),rgba(120,150,255,.22),rgba(255,255,255,0) 45%)}
[data-theme=dark] .cf-n{background:#f2f2f5;color:#0c0c0f}
.cf{overflow:hidden;overflow:clip}.cf-n{bottom:10px}.cf-hint{top:8px}
@media (max-width:520px){.gnav-in{gap:.4rem}.logo{min-width:0;flex:1 1 auto}.logo>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem}.logo small{display:none}.gnav-ico{gap:0;flex:none}.ico{width:36px;height:36px}}
[data-theme=dark] .price.big-ish,[data-theme=dark] .ring-cap .price{color:#7ea6ff}[data-theme=dark] .eyebrow,[data-theme=dark] .card-cat,[data-theme=dark] .step-t span{color:#7ea6ff}

/* ===== V5 : Ma voiture, partage, offre, boutique, FR/EN ===== */
.garage{display:inline-flex;align-items:center;gap:.4rem;height:36px;padding:0 .8rem;border-radius:980px;border:1px solid var(--line);background:var(--bg);font-size:.82rem;font-weight:600;white-space:nowrap;max-width:190px;transition:.25s;position:relative;overflow:hidden}
.garage .g-lbl{overflow:hidden;text-overflow:ellipsis}
.garage:hover{border-color:var(--blue);box-shadow:0 4px 14px -6px rgba(31,69,209,.5)}
.garage.set{background:linear-gradient(90deg,rgba(31,69,209,.1),rgba(108,75,255,.1));border-color:rgba(31,69,209,.45);color:var(--blue)}
.garage.set .g-ico{animation:carBob 2.6s ease-in-out infinite}
@keyframes carBob{50%{transform:translateX(3px)}}
.lang-btn{font:700 .78rem var(--body);letter-spacing:.04em;border:1px solid var(--line)}
@media (max-width:860px){.hide-m{display:none!important}.garage{padding:0 .55rem}.garage .g-lbl{display:none}.garage.set::after{content:"";position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--ok)}}
.menu-opts{margin-top:.8rem!important}
.menu-opts .btn{min-height:42px;font-size:.92rem}
.open-st{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:.9rem;color:var(--warn)}
.open-st i{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor}
.open-st.open{color:var(--ok)}
.open-st.open i{animation:openPulse 1.8s infinite}
@keyframes openPulse{0%{box-shadow:0 0 0 0 rgba(31,157,85,.5)}100%{box-shadow:0 0 0 10px rgba(31,157,85,0)}}
.open-st.big{font-size:1.05rem;margin:.6rem 0}
.menu .open-st{margin-top:1rem}
/* Boutique */
.bq{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.bq-photos{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:clamp(320px,38vw,460px)}
.bq-photos button{padding:0;border-radius:18px;overflow:hidden;position:relative}
.bq-photos button:first-child{grid-row:1/3}
.bq-photos img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.bq-photos button:hover img{transform:scale(1.06)}
.gnote{display:inline-flex;align-items:center;gap:.5rem;padding:8px 14px;border-radius:14px;background:var(--bg);border:1px solid var(--line);margin:.4rem 0 1rem;transition:.25s}
.gnote:hover{border-color:#f5b301;box-shadow:0 6px 18px -8px rgba(245,179,1,.7)}
.gnote b{font:700 1.3rem var(--disp)}
.gnote .stars{color:#f5b301;letter-spacing:2px}
.gnote small{color:var(--mut)}
.bq-adr{color:var(--mut);margin-bottom:.6rem}
.bq-h{list-style:none;padding:0;margin:0 0 1.2rem;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;font-size:.88rem;max-width:440px}
.bq-h li{display:flex;justify-content:space-between;gap:.5rem;padding:3px 0;border-bottom:1px dashed var(--line);color:var(--mut)}
.bq-h li b{font-weight:600;color:var(--tx)}
.bq-h li.today{color:var(--blue)}.bq-h li.today b{color:var(--blue)}
.bq-map iframe{width:100%;height:320px;border:0;border-radius:var(--r);margin-top:24px}
@media (max-width:860px){.bq{grid-template-columns:1fr}.bq-h{grid-template-columns:1fr}}
/* Ma voiture : bandeau + badges */
.veh-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:1.2rem 0 0;padding:14px 18px;border-radius:18px;background:linear-gradient(100deg,rgba(31,69,209,.07),rgba(108,75,255,.07));border:1px dashed rgba(31,69,209,.35)}
.veh-bar.set{border-style:solid}
.veh-bar div{flex:1;min-width:180px;display:flex;flex-direction:column}
.veh-bar small{color:var(--mut);font-size:.85rem}
.vb-car{font-size:1.6rem}
.veh-bar.set .vb-car{animation:carBob 2.6s ease-in-out infinite}
.fit{display:inline-flex;align-items:center;gap:.3em;font-size:.74rem;font-weight:600;color:var(--blue);background:rgba(31,69,209,.08);padding:3px 8px;border-radius:8px;align-self:flex-start}
.fit svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.4}
.fitbox{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;padding:12px 14px;border-radius:14px;background:var(--bg2);font-size:.9rem;margin:-.2rem 0 1.2rem}
.fitbox .ok{display:inline-flex;align-items:center;gap:.35rem;color:var(--ok);font-weight:600}
.fitbox .ok svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4}
.fitbox.ok{background:rgba(31,157,85,.09)}
.fitbox .no{color:var(--warn)}.fitbox.no{background:rgba(194,65,12,.08)}
.garage-dlg .pills{gap:.4rem}.garage-dlg .pill{min-height:44px;padding:0 .9rem;font-size:.9rem}
/* Partage */
.share{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:980px;font-weight:500;transition:transform .15s,background .2s,box-shadow .2s;position:relative;overflow:hidden}
.share svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
.share-lg{min-height:52px;padding:0 1.3em;border:1px solid var(--line);background:var(--bg)}
.share-lg:hover{border-color:#25d366;color:#1aa851;box-shadow:0 8px 22px -10px rgba(37,211,102,.8)}
.share-ico{position:absolute;top:12px;right:12px;z-index:4;width:40px;height:40px;background:rgba(255,255,255,.92);color:#111;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.share-ico span,.share-ico2 span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.share-ico:hover{transform:scale(1.1) rotate(-8deg);background:#25d366;color:#fff}
.car{position:relative}
.car .deb-badge{top:auto;bottom:12px;right:12px}
.lc-act{flex-wrap:nowrap}.lc-act .btn{flex:1}
.share-ico2{flex:none;width:46px;height:46px;border:1px solid var(--line);background:var(--bg)}
.share-ico2:hover{border-color:#25d366;color:#1aa851}
/* Offre */
.btn-offre{background:linear-gradient(90deg,#ff7a18,#ff3d6e);color:#fff;box-shadow:0 8px 22px -10px rgba(255,61,110,.9)}
.btn-offre:hover{filter:brightness(1.06)}
.btn-offre.wide-sm{width:100%;margin-top:.6rem}
.of-val{font:700 2.3rem/1 var(--disp);letter-spacing:-.03em;background:linear-gradient(90deg,#ff7a18,#ff3d6e);-webkit-background-clip:text;background-clip:text;color:transparent}
.of-pct{font-size:.88rem;color:var(--ok);margin:.3rem 0 .8rem;font-weight:600}
.of-pct.low{color:var(--warn)}
#of-range{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:8px;background:linear-gradient(90deg,#ff7a18,#ff3d6e var(--p,50%),var(--bg3) var(--p,50%))}
#of-range::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.3);cursor:pointer}
#of-range::-moz-range-thumb{width:30px;height:30px;border:0;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.of-num{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.88rem;color:var(--mut);margin:1rem 0 .6rem}
.of-num input{width:9.5em;height:42px;border-radius:10px;border:1px solid var(--line);padding:0 .7rem;font-weight:600;background:var(--bg);color:var(--tx)}
.of-in{width:100%;height:46px;border-radius:12px;border:1px solid var(--line);padding:0 .9rem;margin-bottom:.9rem;background:var(--bg);color:var(--tx)}
[data-theme=dark] .garage,[data-theme=dark] .share-lg,[data-theme=dark] .share-ico2,[data-theme=dark] .gnote{background:#17171c;border-color:#34343c}
[data-theme=dark] .veh-bar{background:linear-gradient(100deg,rgba(91,124,255,.12),rgba(108,75,255,.12));border-color:rgba(91,124,255,.4)}
[data-theme=dark] .fit{color:#9fb8ff;background:rgba(91,124,255,.15)}
[data-theme=dark] .garage.set{color:#9fb8ff}

/* ===== V6 : tarif dégressif, vidéos, moteurs en stock ===== */
.degr{font-size:.86rem;color:#b45309;background:rgba(245,158,11,.1);border-radius:10px;padding:6px 10px;margin:.1rem 0}
.degr b{color:#92400e}
.degr.on{color:var(--ok);background:rgba(31,157,85,.1);font-weight:600}
.lcard{position:relative}
.vid-chip{position:absolute;top:12px;left:12px;z-index:3;padding:6px 12px;border-radius:980px;background:rgba(0,0,0,.72);color:#fff;font-size:.82rem;font-weight:600;backdrop-filter:blur(6px);animation:debPulse 2.4s ease-in-out infinite}
.vid-chip:hover{background:#ff3b30}
.vmodal{width:min(960px,calc(100% - 20px));border:0;border-radius:20px;padding:0;background:#000;overflow:hidden;margin:auto}
.vmodal::backdrop{background:rgba(0,0,0,.8)}
.vmodal video{display:block;width:100%;max-height:80vh;background:#000}
.vmodal .x{position:absolute;top:10px;right:10px;z-index:2;background:rgba(255,255,255,.9);color:#111}
.vm-t{position:absolute;top:16px;left:16px;z-index:2;color:#fff;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.mcard{display:flex;flex-direction:column;background:var(--bg);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);border:1px solid #ececf0}
.mcard-img{position:relative;aspect-ratio:4/3;padding:0;overflow:hidden;background:#111}
.mcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.mcard:hover .mcard-img img{transform:scale(1.06)}
.mcard-img .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);color:#111;display:grid;place-items:center;font-size:1.5rem;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .25s}
.mcard:hover .play{transform:translate(-50%,-50%) scale(1.1)}
.mcard-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:.4rem;flex:1}
.mcard-b .row{margin-top:auto;padding-top:.4rem}
.mstat{align-self:flex-start;font-size:.75rem;font-weight:700;color:var(--ok);background:rgba(31,157,85,.1);padding:3px 9px;border-radius:8px}
.mstat.cmd{color:#b45309;background:rgba(245,158,11,.12)}
[data-theme=dark] .mcard{background:#17171c;border-color:#26262d}
.gnav-links a{white-space:nowrap}@media (min-width:861px) and (max-width:1180px){.gnav-links{gap:1rem;font-size:.8rem}.garage .g-lbl{display:none}.garage{padding:0 .6rem}.logo small{display:none}}
@media (max-width:960px){.gnav-links{display:none}.burger{display:grid}.hide-m{display:none!important}.garage .g-lbl{display:none}}

/* ===== V7 : vitrines 3D des pages Voitures / Location / Moteurs ===== */
.ring-sec{text-align:center;overflow:clip;padding-top:6px}
.ring-wide{height:clamp(300px,34vw,450px);margin-top:0}
.ring-wide .ring{top:44%}
.ring-wide .ring-item{height:var(--h);top:calc(var(--h) / -2);padding:0;overflow:hidden;border-radius:22px;background:#dfe3ea}
.rw.bk .rw-l,.rw.bk::after{opacity:0}
.ring-wide .ring-item img{object-fit:cover}
.ring-wide .ring-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.6));pointer-events:none}
button.ring-item{border:0;font:inherit;cursor:pointer}
.rw-l{position:absolute;left:14px;right:14px;bottom:11px;z-index:1;color:#fff;font:600 .9rem/1.25 var(--body);text-align:left;text-shadow:0 1px 6px rgba(0,0,0,.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.rw-l b{display:block;font-weight:500;font-size:.8rem;opacity:.9}
.ring-wide + .ring-cap{margin-top:4px;min-height:190px}
.ring-cap .price small{font-size:.8rem;font-weight:500;color:var(--mut2)}
.ring-cap .muted{margin-top:.2rem}
[data-theme=dark] .ring-wide .ring-item{background:#1b1f27}
@media (max-width:600px){.ring-wide{height:clamp(250px,72vw,330px)}.rw-l{font-size:.8rem;left:11px;bottom:9px}}

/* V7b : vitrine des pièces plus grande sur téléphone (pièce bien visible avant d'appuyer) */
.hero{overflow-x:clip}
@media (max-width:600px){.ring-stage:not(.ring-wide){height:clamp(350px,104vw,420px)}.ring-stage:not(.ring-wide) .ring-item{padding:7%;border-radius:22px}.ring-stage:not(.ring-wide) .ring{top:50%}.ring-stage:not(.ring-wide) + .ring-cap{margin-top:8px}}

/* V7c : bandeau entrepôt (page Moteurs) */
.ent{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(18px,4vw,44px);align-items:center}
.ent-ph{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.ent-ph button{aspect-ratio:4/3;border:0;padding:0;border-radius:18px;overflow:hidden;cursor:zoom-in;background:#dfe3ea;transition:transform .3s}
.ent-ph button:hover{transform:translateY(-3px)}
.ent-ph img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:760px){.ent{grid-template-columns:1fr}}

/* Logo officiel du client (rond, net) : un peu plus grand */
.logo img{width:42px;height:42px;background:none!important}
.foot .logo img,footer .logo img{width:52px;height:52px}
@media (max-width:520px){.logo img{width:38px;height:38px}}

/* V8 (19/10) : retour en haut, vidéos des moteurs dans les cartes, photos d'illustration */
.to-top{position:fixed;right:18px;bottom:22px;z-index:55;width:50px;height:50px;border-radius:50%;border:0;background:var(--blue);color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(31,69,209,.55);cursor:pointer;opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;transition:opacity .3s,transform .3s}
.to-top.on{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--blue2)}
.to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:960px){.to-top{bottom:96px;right:14px;width:46px;height:46px}}
.mvid{margin:.8rem 0 .2rem;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:16/10}
.mvid video,.mcard-vid video{width:100%;height:100%;object-fit:contain;background:#000;display:block}
.mcard-vid{background:#000}
.is-illus{position:relative}
.is-illus::after{content:"Photo d'illustration";position:absolute;left:10px;bottom:10px;padding:.2rem .55rem;border-radius:99px;background:rgba(0,0,0,.55);color:#fff;font:500 .72rem var(--body);pointer-events:none}
.illus-note{font-size:.78rem;color:var(--mut2);margin-top:.2rem}

/* Facebook */
.fb-ico{width:18px;height:18px;fill:currentColor;flex:none}
.fb-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.6rem 1rem;border-radius:99px;background:#1877f2;color:#fff!important;font-weight:600;font-size:.92rem}
.fb-btn:hover{background:#0f63d6}
.btn .fb-ico{color:#1877f2}

/* TikTok */
.tt-ico{width:18px;height:18px;fill:currentColor;flex:none}
.tt-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:.6rem;padding:.6rem 1rem;border-radius:99px;background:#111;color:#fff!important;font-weight:600;font-size:.92rem}
.tt-btn:hover{background:#000}
.fb-btn{margin-right:.4rem}

.foot-kw{margin:14px 0 0;font-size:.82rem;opacity:.7}.foot-kw a{text-decoration:underline;text-underline-offset:3px}
