/*
Theme Name: Meulan Motos
Author: Meulan Motos
Version: 0.4.2
*/
:root{--red:#df0716;--ink:#111214;--muted:#6d6e71;--paper:#f5f5f3;--line:#dededb}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#fff;color:var(--ink)}a{text-decoration:none;color:inherit}.mm-container,.wrap{width:min(1180px,92%);margin:auto}header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line)}.nav{min-height:76px;display:flex;align-items:center;gap:26px}.logo{font-weight:950;font-size:22px}.logo b{color:var(--red)}nav{margin-left:auto;display:flex;gap:22px;font-weight:800;font-size:13px}.phone{background:var(--red);color:#fff;padding:14px 18px;font-weight:900}footer{background:#111;color:#bbb;padding:28px 0;font-size:13px}
.qj-page{width:100%;max-width:none;margin:0;background:#fff}.qj-back{width:min(1240px,94%);margin:14px auto 0;display:block;font-weight:900;font-size:12px}.qj-hero{position:relative;min-height:520px;background:linear-gradient(to bottom,#df0716 0,#df0716 323px,#fff 323px,#fff 100%);overflow:hidden}.qj-stage{position:relative;width:min(1240px,96%);margin:auto;min-height:520px;overflow:visible}.qj-backdrop{position:absolute;left:calc(50% - 51vw);top:0;width:42vw;height:323px;overflow:hidden;z-index:0}.qj-backdrop:before{content:"";position:absolute;inset:0;background-image:var(--qj-bg);background-repeat:no-repeat;background-position:var(--qj-bg-x,left) var(--qj-bg-y,30%);background-size:var(--qj-bg-size,auto 200%);opacity:.30;filter:grayscale(1) contrast(1.06) brightness(.46);mix-blend-mode:multiply}.qj-model-word{position:absolute;left:50%;top:58px;transform:translateX(-50%);width:40%;z-index:6;color:#fff;font-size:42px;font-weight:1000;font-style:italic;text-align:center}.qj-model-word small{display:block;font-size:.36em;letter-spacing:.12em;margin-top:12px}.qj-model-logo{position:absolute;left:50%;top:40px;width:40%;height:76px;transform:translateX(-50%);z-index:14;display:flex;justify-content:center;align-items:center}.qj-model-logo img{max-width:100%;max-height:100%;object-fit:contain;object-position:center}.qj-bike{position:absolute;left:10%;top:118px;width:64%;height:390px;display:flex;align-items:center;justify-content:center;overflow:visible;z-index:12}.qj-bike>img{width:100%;height:100%;object-fit:contain;object-position:center;transform:scale(1.4);transform-origin:center;max-width:none;filter:drop-shadow(0 18px 14px rgba(0,0,0,.23))}.qj-bike-360{cursor:grab;touch-action:pan-y;user-select:none}.qj-bike-360.dragging{cursor:grabbing}.qj-bike-360 img{pointer-events:none;-webkit-user-drag:none}.qj-360-hint{position:absolute;left:50%;bottom:-3px;transform:translateX(-50%);color:#e30616;font-size:8px;font-weight:800;letter-spacing:.08em;white-space:nowrap}.qj-panel{position:absolute;right:7.5%;top:34px;width:22.5%;max-width:280px;min-width:245px;background:#fff;padding:20px 18px 15px;box-shadow:0 4px 13px rgba(0,0,0,.13);z-index:30}.qj-new{position:absolute;right:0;top:0;background:#df101d;color:#fff;font-size:10px;font-weight:950;letter-spacing:.12em;padding:8px 13px}.qj-panel h1{font-size:23px;line-height:1.05;margin:0 0 11px;letter-spacing:-.025em}.qj-highlights{font-size:10px;line-height:1.3;max-height:145px;overflow-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:#df0716 #ededed}.qj-highlights div{margin:4px 0}.qj-highlights::-webkit-scrollbar{width:7px}.qj-highlights::-webkit-scrollbar-track{background:#ededed}.qj-highlights::-webkit-scrollbar-thumb{background:#df0716;border-radius:8px}.qj-price-col{border-top:1px solid #eee;padding-top:12px;margin-top:11px;text-align:center}.qj-price{font-size:29px;color:#d71920;font-weight:950;margin:0 0 6px}.qj-price-note{font-size:8px;line-height:1.25;color:#d71920}.qj-actions{display:flex;flex-direction:column;gap:5px;margin-top:10px}.qj-actions a{padding:5px 4px;border-bottom:1px solid #e30616;color:#e30616;font-size:8.4px;font-weight:900}.qj-arrows{position:absolute;left:12%;bottom:30px;width:60%;display:flex;justify-content:space-between;z-index:40;pointer-events:none}.qj-arrow{width:31px;height:31px;border:1px solid #d71920;color:#d71920;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:18px;cursor:pointer;pointer-events:auto}.qj-stats{width:min(760px,84%);margin:16px auto 28px;display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.qj-stat{min-height:92px;padding:10px 12px;border-right:1px solid #e30616}.qj-stat:last-child{border:0}.qj-stat strong{display:block;font-size:30px;line-height:1;font-weight:950}.qj-stat b{display:block;font-size:11px;margin:5px 0}.qj-stat span{font-size:9px;text-transform:uppercase}.qj-tech-button{display:block;width:max-content;margin:0 auto 32px;background:#df101d;color:#fff;padding:10px 20px;font-size:9px;font-weight:950;letter-spacing:.16em}.tech{width:min(1180px,92%);margin:0 auto 50px;background:#fff;padding:38px;border:1px solid var(--line)}.tech h2{font-size:40px;margin:0 0 26px}.tech-group{margin:28px 0}.tech-group h3{font-size:22px;margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid #111}.specs{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid #111}.spec{display:grid;grid-template-columns:1fr 1.25fr;gap:20px;padding:16px 8px;border-bottom:1px solid var(--line)}.spec:nth-child(odd){border-right:1px solid var(--line);padding-right:22px}.spec:nth-child(even){padding-left:22px}.spec dt{font-weight:900}.spec dd{margin:0;color:#4d4e50}
.qj-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.86);display:none;align-items:center;justify-content:center;padding:28px}.qj-lightbox.open{display:flex}.qj-lightbox-dialog{position:relative;width:min(1500px,96vw);height:min(900px,92vh);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.qj-lightbox-img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.qj-lightbox-close,.qj-lightbox-prev,.qj-lightbox-next{position:absolute;z-index:4;background:#fff;color:#e30616;cursor:pointer}.qj-lightbox-close{top:16px;right:18px;width:42px;height:42px;border:0;font-size:30px}.qj-lightbox-prev,.qj-lightbox-next{top:50%;width:50px;height:50px;transform:translateY(-50%);border:1px solid #e30616;border-radius:50%;font-size:28px}.qj-lightbox-prev{left:22px}.qj-lightbox-next{right:22px}.qj-lightbox-count{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);padding:7px 12px;background:rgba(255,255,255,.92);font-size:12px;font-weight:800}
@media(max-width:1050px){.qj-bike{width:66%;height:380px;top:118px}.qj-bike>img{transform:scale(1.10)}.qj-model-logo{width:28%;height:70px;top:52px}.qj-panel{right:3%;width:27%;min-width:235px}}
@media(max-width:850px){nav{display:none}.qj-hero{min-height:730px}.qj-stage{min-height:730px}.qj-backdrop{left:0;width:100%;height:323px}.qj-backdrop:before{background-size:auto 145%;background-position:left center}.qj-bike{left:-2%;top:110px;width:72%;height:340px}.qj-panel{right:3%;top:36px;width:33%;max-width:285px;min-width:235px}.qj-arrows{left:4%;width:68%;bottom:300px}.specs{grid-template-columns:1fr}.spec:nth-child(odd){border-right:0;padding-right:8px}.spec:nth-child(even){padding-left:8px}}
@media(max-width:620px){.qj-stage{min-height:820px}.qj-bike{left:-7%;top:100px;width:108%;height:315px}.qj-panel{top:380px;left:50%;right:auto;width:88%;max-width:380px;transform:translateX(-50%)}.qj-arrows{left:4%;width:92%;bottom:430px}.qj-stats{grid-template-columns:1fr 1fr;width:94%}.qj-stat:nth-child(2){border-right:0}.qj-stat:nth-child(-n+2){border-bottom:1px solid #eee}.qj-model-logo{width:58%}.qj-lightbox{padding:10px}.qj-lightbox-dialog{width:100%;height:88vh}}

/* ========================================================================== 
   V4 — CATALOGUE MOTOS
   ========================================================================== */
.mm-catalog{background:#f5f5f3;min-height:70vh}.mm-catalog-head{background:#111;color:#fff;padding:58px 0 52px}.mm-catalog-head .mm-container{max-width:1240px}.mm-eyebrow{display:block;color:#e30616;font-size:11px;font-weight:950;letter-spacing:.18em;margin-bottom:10px}.mm-catalog-head h1{font-size:clamp(42px,6vw,74px);line-height:.95;margin:0 0 15px;letter-spacing:-.05em}.mm-catalog-head p{max-width:690px;margin:0;color:#c8c8c8;font-size:14px;line-height:1.6}.mm-catalog-body{padding:42px 0 70px}.mm-catalog-body .mm-container{max-width:1240px}.mm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.mm-card{background:#fff;border:1px solid #e2e2df;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.mm-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(0,0,0,.09)}.mm-card-media{position:relative;height:285px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f1f2f0,#fff);overflow:hidden}.mm-card-media img{width:100%;height:100%;object-fit:contain;padding:22px;transition:transform .22s ease}.mm-card:hover .mm-card-media img{transform:scale(1.035)}.mm-card-placeholder{font-size:18px;font-weight:950;color:#bbb;letter-spacing:.08em}.mm-card-360{position:absolute;right:13px;top:13px;background:#e30616;color:#fff;font-size:10px;font-weight:950;letter-spacing:.08em;padding:8px 10px}.mm-card-body{padding:20px 20px 18px}.mm-card-meta{display:flex;justify-content:space-between;gap:10px;color:#858585;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.mm-card-body h2{margin:9px 0 13px;font-size:25px;line-height:1.05;letter-spacing:-.035em}.mm-card-specs{display:flex;gap:8px;flex-wrap:wrap;min-height:28px}.mm-card-specs span{background:#f3f3f1;padding:6px 8px;font-size:10px;font-weight:800;color:#4d4d4d}.mm-card-footer{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:17px;padding-top:15px;border-top:1px solid #ececea}.mm-card-footer strong{font-size:23px;color:#e30616;white-space:nowrap}.mm-card-link{font-size:9px;font-weight:950;letter-spacing:.06em;border-bottom:1px solid #e30616;color:#e30616;padding-bottom:3px}.mm-pagination{margin-top:34px}.mm-pagination .nav-links{display:flex;gap:7px;justify-content:center}.mm-pagination .page-numbers{min-width:36px;height:36px;display:grid;place-items:center;background:#fff;border:1px solid #ddd;font-weight:800;font-size:12px}.mm-pagination .current{background:#111;color:#fff;border-color:#111}@media(max-width:950px){.mm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mm-card-media{height:260px}}@media(max-width:620px){.mm-catalog-head{padding:38px 0}.mm-catalog-body{padding-top:22px}.mm-grid{grid-template-columns:1fr}.mm-card-media{height:260px}.mm-card-footer strong{font-size:21px}}


/* ==========================================================================
   V8 — Sélecteur de coloris QJMOTOR
   ========================================================================== */
.qj-colors{
  margin:12px 0 0;
  padding-top:10px;
  border-top:1px solid #eee;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.qj-colors-label{
  display:block;
  width:100%;
  margin-bottom:2px;
  font-size:10px;
  font-weight:950;
  letter-spacing:.06em;
}
.qj-dot.qj-color-choice{
  appearance:none;
  -webkit-appearance:none;
  display:inline-block;
  width:28px;
  height:28px;
  flex:0 0 28px;
  padding:0;
  margin:0;
  border:3px solid #fff;
  border-radius:50%;
  outline:1px solid #aaa;
  box-shadow:0 1px 4px rgba(0,0,0,.12);
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, outline-color .15s ease;
}
.qj-dot.qj-color-choice:hover{transform:scale(1.10)}
.qj-dot.qj-color-choice.active{
  outline:3px solid #111;
  outline-offset:2px;
  box-shadow:0 0 0 2px #fff,0 2px 7px rgba(0,0,0,.18);
  transform:scale(1.05);
}
.qj-dot.rouge{background:#d71920}
.qj-dot.noir{background:#070707}
.qj-dot.bleu{background:#2159a6}
.qj-dot.gris{background:#777b7f}
.qj-dot.blanc{background:#fff}
.qj-dot.vert{background:#178447}
.qj-dot.jaune{background:#f1cc16}
.qj-dot.orange{background:#f28a16}
.qj-dot.bleunoir{background:linear-gradient(135deg,#2159a6 0 50%,#070707 50% 100%)}
.qj-dot.blancrouge{background:linear-gradient(135deg,#fff 0 50%,#d71920 50% 100%)}
.qj-dot.noirjaune{background:linear-gradient(135deg,#070707 0 50%,#f1cc16 50% 100%)}
@media(max-width:620px){
  .qj-dot.qj-color-choice{width:32px;height:32px;flex-basis:32px}
}


/* V9 — le panneau produit et les coloris restent cliquables au-dessus de la zone 360 */
.qj-panel{z-index:30!important;}
.qj-colors{position:relative;z-index:35;}
.qj-dot.qj-color-choice{position:relative;z-index:36;pointer-events:auto!important;}

/* ========================================================================== */
/* V14 — MOTO PRINCIPALE AU PREMIER PLAN                                    */
/* La moto passe visuellement devant les éléments de la fiche produit.       */
/* Les commandes et pastilles restent cliquables au-dessus de la moto.       */
/* ========================================================================== */
.qj-page,
.qj-hero,
.qj-stage{
  overflow:visible!important;
}

.qj-backdrop{
  z-index:1!important;
}

.qj-model-logo,
.qj-model-word{
  z-index:90!important;
}

.qj-panel{
  z-index:100!important;
}

.qj-bike{
  position:absolute!important;
  z-index:9999!important;
  overflow:visible!important;
}

.qj-bike > img{
  position:relative!important;
  z-index:10000!important;
}

/* Les contrôles doivent rester accessibles même lorsque la moto les recouvre. */
.qj-colors,
.qj-color-choice,
.qj-actions,
.qj-arrows,
.qj-arrow{
  position:relative!important;
  z-index:11000!important;
}

/* Le menu du site reste au-dessus de la moto pendant le scroll. */
header{
  z-index:20000!important;
}


/* ========================================================================== */
/* V15 — zone de drag séparée + flèches centrées verticalement               */
/* ========================================================================== */

/* La moto reste au-dessus visuellement, mais ne capture plus les clics. */
.qj-bike{
  pointer-events:none!important;
}
.qj-bike > img,
.qj-bike .qj-360-hint{
  pointer-events:none!important;
}

/* Surface dédiée au drag : elle s'arrête avant l'encart produit. */
.qj-drag-zone{
  position:absolute;
  left:10%;
  top:118px;
  width:57%;
  height:390px;
  z-index:10050;
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
  background:transparent;
}
.qj-drag-zone:active{cursor:grabbing}
.qj-drag-zone:focus{outline:none}

/* L'encart et ses coloris restent toujours cliquables. */
.qj-panel{
  pointer-events:auto!important;
}
.qj-colors,
.qj-color-choice,
.qj-actions{
  pointer-events:auto!important;
  z-index:12000!important;
}

/* Flèches : au milieu vertical de la moto, de chaque côté. */
.qj-arrows{
  position:absolute!important;
  left:7%!important;
  top:313px!important; /* 118px + moitié des 390px de hauteur moto */
  bottom:auto!important;
  width:70%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  z-index:13000!important;
  pointer-events:none!important;
}
.qj-arrow{
  position:relative!important;
  z-index:13001!important;
  width:38px!important;
  height:38px!important;
  font-size:23px!important;
  pointer-events:auto!important;
}

@media(max-width:1050px){
  .qj-drag-zone{left:7%;top:118px;width:58%;height:380px}
  .qj-arrows{left:4%!important;top:308px!important;width:68%!important}
}

@media(max-width:850px){
  .qj-drag-zone{left:0;top:110px;width:66%;height:340px}
  .qj-arrows{left:1%!important;top:280px!important;width:69%!important}
}

@media(max-width:620px){
  /* Sur mobile l'encart est sous la moto : toute la largeur du visuel peut servir au drag. */
  .qj-drag-zone{left:0;top:100px;width:100%;height:315px}
  .qj-arrows{left:3%!important;top:258px!important;width:94%!important}
  .qj-arrow{width:40px!important;height:40px!important;font-size:24px!important}
}


/* ========================================================================== */
/* V16 — suppression du badge rouge + flèches au niveau des pneus            */
/* ========================================================================== */
.qj-new{display:none!important;}

/* Les flèches suivent désormais l'emprise de la moto pour se placer
   au niveau de chaque pneu, aux extrémités du visuel. */
.qj-arrows{
  position:absolute!important;
  left:10%!important;
  top:280px!important;
  width:64%!important;
  height:390px!important;
  bottom:auto!important;
  transform:none!important;
  display:block!important;
  z-index:13000!important;
  pointer-events:none!important;
}
.qj-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:13001!important;
  width:38px!important;
  height:38px!important;
  font-size:23px!important;
  pointer-events:auto!important;
}
.qj-prev{left:50px!important;}
.qj-next{right:-28px!important;}

@media(max-width:1050px){
  .qj-arrows{left:7%!important;top:118px!important;width:66%!important;height:380px!important}
  .qj-prev{left:-22px!important}
  .qj-next{right:-22px!important}
}

@media(max-width:850px){
  .qj-arrows{left:0%!important;top:110px!important;width:72%!important;height:340px!important}
  .qj-prev{left:-8px!important}
  .qj-next{right:-8px!important}
}

@media(max-width:620px){
  .qj-arrows{left:-7%!important;top:100px!important;width:108%!important;height:315px!important}
  .qj-arrow{width:40px!important;height:40px!important;font-size:24px!important}
  .qj-prev{left:6px!important}
  .qj-next{right:6px!important}
}


/* ========================================================================== */
/* V18 — ajuste la flèche droite plus à gauche                                */
/* ========================================================================== */
.qj-next{right:8%!important;}

@media(max-width:1050px){
  .qj-next{right:31%!important;}
}

@media(max-width:850px){
  .qj-next{right:35%!important;}
}

@media(max-width:620px){
  .qj-next{right:4%!important;}
}


/* ========================================================================== */
/* V19 — visite technique immersive au scroll                                */
/* ========================================================================== */
.qj-tech-story{width:min(1320px,94%);margin:40px auto 90px;padding-top:25px;background:#fff}
.qj-tech-story-head{max-width:720px;margin:0 auto 45px;text-align:center}
.qj-tech-story-head>span{font-size:11px;font-weight:950;letter-spacing:.18em;color:#d71920}
.qj-tech-story-head h2{font-size:clamp(34px,4vw,58px);line-height:.98;margin:10px 0 16px;letter-spacing:-.045em}
.qj-tech-story-head p{margin:0;color:#666;font-size:14px;line-height:1.6}
.qj-tech-story-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:60px;align-items:start}
.qj-tech-story-visual{position:sticky;top:95px;height:calc(100vh - 120px);min-height:600px;display:flex;align-items:center;justify-content:center}
.qj-tech-story-frame{position:relative;width:100%;height:min(720px,78vh);overflow:hidden;background:#f7f7f5;border:1px solid #ececea}
.qj-tech-story-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:center center;will-change:transform;transition:transform .75s cubic-bezier(.2,.75,.2,1)}
.qj-tech-story-marker{position:absolute;left:50%;top:50%;width:24px;height:24px;border:2px solid #d71920;border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .25s;pointer-events:none}
.qj-tech-story-marker:before,.qj-tech-story-marker:after{content:"";position:absolute;background:#d71920;left:50%;top:50%;transform:translate(-50%,-50%)}
.qj-tech-story-marker:before{width:34px;height:1px}.qj-tech-story-marker:after{width:1px;height:34px}
.qj-tech-story-frame.is-zoomed .qj-tech-story-marker{opacity:.85}
.qj-tech-story-steps{padding:5vh 0 20vh}
.qj-tech-story-step{min-height:72vh;display:flex;flex-direction:column;justify-content:center;padding:30px 0 30px 34px;border-left:2px solid #e7e7e7;opacity:.28;transition:opacity .35s,border-color .35s,transform .35s}
.qj-tech-story-step.active{opacity:1;border-left-color:#d71920;transform:translateX(8px)}
.qj-tech-story-index{font-size:12px;font-weight:950;letter-spacing:.15em;color:#d71920;margin-bottom:10px}
.qj-tech-story-step h3{font-size:32px;line-height:1.05;margin:0 0 12px;letter-spacing:-.03em}
.qj-tech-story-step p{font-size:15px;line-height:1.65;color:#555;margin:0;max-width:390px}
@media(max-width:900px){.qj-tech-story-layout{grid-template-columns:1fr;gap:20px}.qj-tech-story-visual{top:70px;height:55vh;min-height:380px;z-index:2;background:#fff}.qj-tech-story-frame{height:52vh}.qj-tech-story-steps{padding:0}.qj-tech-story-step{min-height:55vh;padding-left:24px}.qj-tech-story-step h3{font-size:27px}}
@media(max-width:620px){.qj-tech-story{width:94%;margin-top:25px}.qj-tech-story-head{margin-bottom:20px}.qj-tech-story-visual{height:43vh;min-height:310px}.qj-tech-story-frame{height:40vh}.qj-tech-story-step{min-height:48vh}}


/* ========================================================================== */
/* V20 — visite technique narrative multi-vues + trait pointillé             */
/* ========================================================================== */
.qj-tech-story-head p{max-width:760px;margin:0 auto;color:#666;font-size:14px;line-height:1.6}
.qj-tech-story-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,.5fr);gap:56px}
.qj-tech-story-visual{top:84px;height:calc(100vh - 102px);min-height:640px}
.qj-tech-story-frame{height:min(760px,80vh);background:linear-gradient(180deg,#fafaf8 0,#f3f3f1 100%);border:1px solid #ececea}
.qj-tech-story-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:translate(0,0) scale(1);transform-origin:center center;will-change:transform,opacity;transition:transform .85s cubic-bezier(.2,.75,.2,1),opacity .4s ease}
.qj-tech-story-image.active{opacity:1;z-index:1}
.qj-tech-story-image.next{z-index:0}
.qj-tech-story-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}
.qj-tech-story-line line{stroke:#d71920;stroke-width:2;stroke-dasharray:7 7;opacity:.92}
.qj-tech-story-marker{position:absolute;width:22px;height:22px;border:2px solid #d71920;border-radius:50%;transform:translate(-50%,-50%);opacity:.96;background:rgba(255,255,255,.58);backdrop-filter:blur(2px);pointer-events:none;z-index:3}
.qj-tech-story-marker:before,.qj-tech-story-marker:after{display:none}
.qj-tech-story-callout{position:absolute;z-index:4;max-width:290px;min-width:220px;background:rgba(255,255,255,.96);border:1px solid #e8d4d7;box-shadow:0 18px 45px rgba(0,0,0,.10);padding:16px 18px;pointer-events:none}
.qj-tech-story-callout-kicker{display:block;font-size:10px;font-weight:950;letter-spacing:.16em;color:#d71920;text-transform:uppercase;margin-bottom:8px}
.qj-tech-story-callout strong{display:block;font-size:22px;line-height:1.06;letter-spacing:-.03em;margin-bottom:10px}
.qj-tech-story-callout p{margin:0;font-size:13px;line-height:1.6;color:#555}
.qj-tech-story-step{min-height:82vh;padding:35px 0 35px 36px}
.qj-tech-story-step.active{transform:translateX(10px)}
.qj-tech-story-step h3{font-size:36px}
.qj-tech-story-step p{font-size:15px;line-height:1.68;max-width:410px}
@media(max-width:900px){
  .qj-tech-story-layout{grid-template-columns:1fr;gap:22px}
  .qj-tech-story-visual{top:72px;height:58vh;min-height:400px}
  .qj-tech-story-frame{height:54vh}
  .qj-tech-story-callout{max-width:min(62vw,280px);min-width:190px;padding:12px 14px}
  .qj-tech-story-callout strong{font-size:18px}
  .qj-tech-story-step{min-height:58vh;padding-left:24px}
  .qj-tech-story-step h3{font-size:28px}
}
@media(max-width:620px){
  .qj-tech-story-visual{height:46vh;min-height:320px}
  .qj-tech-story-frame{height:42vh}
  .qj-tech-story-callout{display:none}
  .qj-tech-story-line{display:none}
  .qj-tech-story-marker{width:18px;height:18px}
  .qj-tech-story-step{min-height:48vh;padding-left:18px}
}


/* ========================================================================== */
/* V21 — séquence explicite photo 5 > photo 4 > photo 3                      */
/* ========================================================================== */
.qj-tech-story-image{transition:transform 1s cubic-bezier(.2,.75,.2,1),opacity .55s ease}
.qj-tech-story-line line{stroke-width:2.4;stroke-dasharray:8 8}
.qj-tech-story-callout{border-left:4px solid #d71920}
.qj-tech-story-step{min-height:88vh}

/* ========================================================================== */
/* V22 — présentation dynamique cinématique pilotée au scroll                */
/* ========================================================================== */
.qj-cine{position:relative;height:440vh;background:#070707;color:#fff;margin:55px 0 90px;overflow:clip}
.qj-cine-sticky{position:sticky;top:0;height:100vh;min-height:720px;overflow:hidden;background:radial-gradient(circle at 48% 45%,#1a1a1a 0,#0a0a0a 42%,#050505 72%)}
.qj-cine-copy{position:absolute;left:5vw;top:7vh;z-index:20;max-width:440px;pointer-events:none}
.qj-cine-copy>span{font-size:11px;font-weight:950;letter-spacing:.22em;color:#ef233c}
.qj-cine-copy h2{font-size:clamp(42px,5vw,76px);line-height:.92;letter-spacing:-.055em;margin:10px 0 16px}
.qj-cine-copy p{max-width:400px;margin:0;color:#bdbdbd;font-size:14px;line-height:1.65}
.qj-cine-stage{position:absolute;inset:0;overflow:hidden}
.qj-cine-img{position:absolute;left:50%;top:51%;width:min(84vw,1450px);height:78vh;object-fit:contain;object-position:center center;transform-origin:center center;opacity:0;will-change:transform,opacity;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.qj-cine-side{opacity:1}
.qj-cine-glow{position:absolute;left:50%;top:37%;width:150px;height:150px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(239,35,60,.32) 0,rgba(239,35,60,.12) 38%,rgba(239,35,60,0) 72%);opacity:0;z-index:8;pointer-events:none}
.qj-cine-dot{position:absolute;left:50%;top:37%;width:18px;height:18px;border-radius:50%;border:2px solid #fff;background:#ef233c;box-shadow:0 0 0 8px rgba(239,35,60,.18);opacity:0;z-index:10;pointer-events:none}
.qj-cine-line{position:absolute;inset:0;width:100%;height:100%;z-index:9;pointer-events:none}
.qj-cine-line path{fill:none;stroke:#ef233c;stroke-width:2;stroke-dasharray:9 9;stroke-linecap:round;opacity:0}
.qj-cine-card{position:absolute;right:7vw;top:31vh;width:min(340px,27vw);z-index:12;background:rgba(255,255,255,.96);color:#111;padding:24px 26px 26px;border-left:4px solid #ef233c;box-shadow:0 20px 70px rgba(0,0,0,.38);opacity:0;transform:translate3d(40px,0,0);will-change:transform,opacity}
.qj-cine-card>span{display:block;color:#ef233c;font-size:10px;font-weight:950;letter-spacing:.18em;margin-bottom:10px}
.qj-cine-card h3{font-size:30px;line-height:1;margin:0 0 14px;letter-spacing:-.04em}
.qj-cine-card p{font-size:14px;line-height:1.75;margin:0;color:#444}
.qj-cine-progress{position:absolute;left:5vw;right:5vw;bottom:4vh;height:2px;background:rgba(255,255,255,.17);z-index:30}
.qj-cine-progress i{display:block;width:0;height:100%;background:#ef233c}
@media(max-width:900px){
  .qj-cine{height:380vh}.qj-cine-sticky{min-height:650px}.qj-cine-copy{left:6vw;top:5vh;max-width:70vw}.qj-cine-copy h2{font-size:48px}.qj-cine-img{width:110vw;height:66vh;top:55%}.qj-cine-card{right:5vw;top:auto;bottom:9vh;width:44vw;padding:18px 20px}
}
@media(max-width:620px){
  .qj-cine{height:340vh}.qj-cine-copy{max-width:88vw}.qj-cine-copy h2{font-size:38px}.qj-cine-copy p{font-size:12px}.qj-cine-img{width:135vw;height:58vh;top:57%}.qj-cine-card{left:5vw;right:5vw;width:auto;bottom:7vh;top:auto}.qj-cine-line,.qj-cine-dot,.qj-cine-glow{display:none}
}


/* ========================================================================== */
/* V23 — correction de la séquence cinématique 3 images                       */
/* ========================================================================== */
.qj-cine-sticky{background:radial-gradient(circle at 55% 52%,#181818 0,#090909 45%,#040404 78%)}
.qj-cine-stage{position:absolute;inset:0;overflow:hidden}
.qj-cine-img{
  position:absolute;
  left:50%;
  top:58%;
  width:min(76vw,1320px);
  height:min(72vh,820px);
  object-fit:contain;
  object-position:center center;
  transform:translate(-50%,-50%) scale(1);
  transform-origin:center center;
  opacity:0;
  will-change:transform,opacity;
  transition:opacity .32s linear;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.42));
}
.qj-cine-copy{max-width:460px}
.qj-cine-card{right:6vw;top:28vh;width:min(360px,28vw)}
.qj-cine-progress{bottom:5vh}
.qj-cine-dot{width:20px;height:20px;box-shadow:0 0 0 10px rgba(239,35,60,.16)}
.qj-cine-glow{width:190px;height:190px}
@media(max-width:900px){
  .qj-cine-img{width:108vw;height:62vh;top:60%}
  .qj-cine-card{right:5vw;top:auto;bottom:10vh;width:min(44vw,360px)}
}
@media(max-width:620px){
  .qj-cine-img{width:138vw;height:56vh;top:61%}
  .qj-cine-card{left:5vw;right:5vw;width:auto;bottom:8vh;top:auto}
}


/* ========================================================================== */
/* V24 — séquence corrigée avec les 3 photos exactes                          */
/* ========================================================================== */
.qj-cine{height:460vh}
.qj-cine-sticky{background:radial-gradient(circle at 52% 56%, #181818 0, #090909 44%, #030303 78%)}
.qj-cine-copy{left:4.8vw; top:7vh; max-width:460px}
.qj-cine-copy h2{max-width:420px}
.qj-cine-stage{position:absolute; inset:0; overflow:hidden}
.qj-cine-img{
  position:absolute;
  left:50%;
  top:58%;
  width:min(74vw,1260px);
  height:min(72vh,820px);
  object-fit:contain;
  object-position:center center;
  transform:translate(-50%,-50%) scale(1);
  transform-origin:center center;
  will-change:transform,opacity;
  transition:opacity .26s linear;
  filter:drop-shadow(0 28px 42px rgba(0,0,0,.44));
}
.qj-cine-dot{width:18px;height:18px;border:2px solid #fff;background:#ef233c;box-shadow:0 0 0 10px rgba(239,35,60,.16)}
.qj-cine-glow{width:190px;height:190px}
.qj-cine-card{right:6vw;top:28vh;width:min(360px,28vw)}
.qj-cine-card h3{font-size:32px}
.qj-cine-progress{bottom:5vh}
@media(max-width:900px){
  .qj-cine{height:400vh}
  .qj-cine-img{width:108vw;height:62vh;top:60%}
  .qj-cine-card{right:5vw;top:auto;bottom:9vh;width:min(45vw,360px)}
}
@media(max-width:620px){
  .qj-cine{height:360vh}
  .qj-cine-copy{max-width:88vw}
  .qj-cine-img{width:140vw;height:56vh;top:61%}
  .qj-cine-card{left:5vw;right:5vw;width:auto;bottom:8vh;top:auto}
}


/* ========================================================================== */
/* V26 — séquence cinématique multi-images                                    */
/* ========================================================================== */
.qj-cine{height:340vh!important}
.qj-cine-img.qj-cine-frame{
  left:50%!important;
  top:58%!important;
  width:min(72vw,1240px)!important;
  height:min(70vh,790px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:translate(-50%,-50%) scale(.94);
  opacity:0;
  will-change:transform,opacity;
  transition:none!important;
}
.qj-cine-frame.active{opacity:1}
@media(max-width:900px){.qj-cine{height:300vh!important}.qj-cine-img.qj-cine-frame{width:105vw!important;height:62vh!important;top:60%!important}}
@media(max-width:620px){.qj-cine{height:270vh!important}.qj-cine-img.qj-cine-frame{width:138vw!important;height:56vh!important;top:61%!important}}


/* ========================================================================== */
/* V27 — hotspots interactifs techniques                                      */
/* ========================================================================== */
.qj-hotspots{padding:88px clamp(18px,4vw,42px) 50px;background:radial-gradient(circle at 52% 24%, #171717 0, #0c0c0c 34%, #050505 75%);color:#fff}
.qj-hotspots-copy{max-width:520px;margin:0 auto 34px 0}
.qj-hotspots-copy span,.qj-hotspots-panel>span{display:block;font-size:13px;letter-spacing:.18em;font-weight:800;color:#ef233c;margin:0 0 14px}
.qj-hotspots-copy h2{font-size:clamp(38px,5vw,74px);line-height:.95;margin:0 0 18px;color:#fff}
.qj-hotspots-copy p{max-width:620px;color:rgba(255,255,255,.8);font-size:18px;line-height:1.55;margin:0}
.qj-hotspots-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.78fr);gap:26px;align-items:stretch;margin-top:30px}
.qj-hotspots-stage,.qj-hotspots-panel{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.08);border-radius:28px;box-shadow:0 28px 65px rgba(0,0,0,.36)}
.qj-hotspots-stage{padding:18px}
.qj-hotspots-media{position:relative;overflow:hidden;border-radius:24px;min-height:640px;background:radial-gradient(circle at 50% 65%, rgba(255,255,255,.08), rgba(255,255,255,.01) 38%, rgba(0,0,0,.01) 45%)}
.qj-hotspots-media::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 92%, rgba(255,255,255,.14), transparent 24%);pointer-events:none;z-index:1}
.qj-hotspots-media-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:transform .72s cubic-bezier(.22,.68,0,1);will-change:transform}
.qj-hotspots-media-inner img{width:min(96%,1120px);max-width:none;height:auto;object-fit:contain;filter:drop-shadow(0 38px 52px rgba(0,0,0,.45))}
.qj-hotspot-pin{position:absolute;z-index:3;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.75);background:rgba(239,35,60,.9);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 8px 24px rgba(239,35,60,.34);transition:transform .22s ease, box-shadow .22s ease, background .22s ease}
.qj-hotspot-pin::before{content:'';position:absolute;inset:-8px;border-radius:999px;border:1px solid rgba(255,255,255,.26);animation:mmPulse 2.2s infinite ease-out}
.qj-hotspot-pin span{position:relative;z-index:2;font-size:15px}
.qj-hotspot-pin:hover,.qj-hotspot-pin.is-active{transform:translate(-50%,-50%) scale(1.08);background:#fff;color:#111;box-shadow:0 10px 30px rgba(255,255,255,.24)}
.qj-hotspot-pin{transform:translate(-50%,-50%)}
.qj-hotspot-pin.is-active::after{content:'';position:absolute;inset:-16px;border-radius:999px;border:2px solid rgba(239,35,60,.32)}
.qj-hotspots-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 6px 4px}
.qj-hotspots-toolbar p{margin:0;color:rgba(255,255,255,.66);font-size:14px;line-height:1.45;max-width:560px}
.qj-hotspots-reset{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#111;color:#fff;font-weight:800;letter-spacing:.04em;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.qj-hotspots-reset:hover{background:#ef233c;border-color:#ef233c;transform:translateY(-1px)}
.qj-hotspots-panel{padding:28px 28px 26px;display:flex;flex-direction:column;justify-content:flex-start}
.qj-hotspots-panel h3{font-size:clamp(28px,2.6vw,42px);line-height:1.05;margin:0 0 14px;color:#fff}
.qj-hotspots-panel p{margin:0 0 18px;color:rgba(255,255,255,.82);font-size:17px;line-height:1.6}
.qj-hotspots-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.qj-hotspots-panel li{position:relative;padding:13px 14px 13px 40px;border-radius:16px;background:rgba(255,255,255,.055);color:#fff;font-weight:600;line-height:1.4}
.qj-hotspots-panel li::before{content:'✓';position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#ef233c;font-weight:900}
@keyframes mmPulse{0%{transform:scale(.8);opacity:.9}70%{transform:scale(1.35);opacity:0}100%{transform:scale(1.35);opacity:0}}
@media(max-width:1100px){.qj-hotspots-layout{grid-template-columns:1fr}.qj-hotspots-panel{order:2}.qj-hotspots-media{min-height:560px}}
@media(max-width:700px){.qj-hotspots{padding:70px 16px 34px}.qj-hotspots-copy h2{font-size:clamp(34px,10vw,54px)}.qj-hotspots-copy p{font-size:16px}.qj-hotspots-stage{padding:12px}.qj-hotspots-media{min-height:380px}.qj-hotspot-pin{width:38px;height:38px}.qj-hotspots-toolbar{flex-direction:column;align-items:flex-start}.qj-hotspots-toolbar p{max-width:none}.qj-hotspots-panel{padding:22px 18px}}

/* V28 — zones interactives sans scroll, ouverture détaillée par pastille */
.qj-hotspots-toolbar{justify-content:flex-start}
.qj-hotspots-toolbar p{max-width:none}
.qj-hotspot-open{margin-top:18px;display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ef233c;color:#fff;font-weight:900;letter-spacing:.05em;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.qj-hotspot-open:hover{transform:translateY(-1px);background:#fff;color:#111;border-color:#fff}
.qj-hotspot-modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.72);display:none;padding:32px 18px;align-items:center;justify-content:center}
.qj-hotspot-modal.open{display:flex}
.qj-hotspot-modal-dialog{position:relative;width:min(1180px,96vw);max-height:92vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:0;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.38)}
.qj-hotspot-modal-close{position:absolute;right:14px;top:14px;width:42px;height:42px;border-radius:999px;border:0;background:#111;color:#fff;font-size:24px;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:5}
.qj-hotspot-modal-media{background:linear-gradient(180deg,#151515,#050505);display:flex;align-items:center;justify-content:center;padding:30px}
.qj-hotspot-modal-media img{width:100%;max-width:720px;max-height:78vh;object-fit:contain;filter:drop-shadow(0 24px 38px rgba(0,0,0,.34))}
.qj-hotspot-modal-copy{padding:42px 34px 34px;overflow:auto}
.qj-hotspot-modal-copy>span{display:block;font-size:12px;font-weight:900;letter-spacing:.18em;color:#ef233c;margin-bottom:12px}
.qj-hotspot-modal-copy h3{font-size:clamp(30px,3vw,46px);line-height:1.02;margin:0 0 14px;color:#111}
.qj-hotspot-modal-copy p{margin:0 0 18px;color:#555;font-size:17px;line-height:1.6}
.qj-hotspot-modal-copy ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.qj-hotspot-modal-copy li{position:relative;padding:14px 14px 14px 40px;border-radius:16px;background:#f5f5f5;color:#111;font-weight:700;line-height:1.45}
.qj-hotspot-modal-copy li::before{content:'✓';position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#ef233c;font-weight:900}
@media(max-width:980px){.qj-hotspot-modal-dialog{grid-template-columns:1fr;max-height:94vh}.qj-hotspot-modal-media{padding:24px 20px 10px}.qj-hotspot-modal-media img{max-height:42vh}.qj-hotspot-modal-copy{padding:26px 20px 24px}}

/* ========================================================================== */
/* V29 — accueil constructeur + méga-menu modèles au survol                  */
/* ========================================================================== */
.mm-home-shell{width:min(1440px,92%);margin:0 auto}
.mm-site-header{position:sticky;top:0;z-index:5000;background:#fff;border-bottom:1px solid #e9e9e9}
.mm-header-inner{min-height:88px;display:flex;align-items:center;gap:34px}
.mm-brand-logo{font-size:26px;font-weight:1000;letter-spacing:-.045em;white-space:nowrap}.mm-brand-logo b{color:#df101d}.mm-brand-logo span{color:#090a0b}
.mm-main-nav{margin-left:auto;display:flex;align-items:stretch;gap:4px;height:88px}
.mm-nav-item{position:static;display:flex;align-items:stretch}
.mm-nav-link{display:flex;align-items:center;padding:0 18px;font-size:14px;font-weight:950;letter-spacing:.01em;color:#090a0b;transition:color .18s ease,background .18s ease}
.mm-nav-link:hover,.mm-nav-item:hover>.mm-nav-link{color:#df101d;background:#fafafa}
.mm-phone{margin-left:12px;background:#df101d;color:#fff;padding:18px 22px;font-size:14px;font-weight:950;letter-spacing:.04em;white-space:nowrap}
.mm-mega{position:absolute;left:0;right:0;top:88px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #e1e1e1;box-shadow:0 22px 52px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .2s ease,transform .2s ease,visibility .2s;pointer-events:none;z-index:4900}
.mm-has-mega:hover>.mm-mega,.mm-has-mega:focus-within>.mm-mega{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.mm-mega-inner{width:min(1500px,94%);margin:auto;padding:24px 0 28px}
.mm-mega-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ededed;padding-bottom:14px;margin-bottom:18px}.mm-mega-head strong{font-size:15px;letter-spacing:.08em}.mm-mega-head a{font-size:12px;color:#df101d;font-weight:900}
.mm-mega-models{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.mm-mega-model{min-width:0;padding:8px 8px 12px;border-radius:10px;transition:background .18s ease,transform .18s ease}.mm-mega-model:hover{background:#f5f5f5;transform:translateY(-2px)}
.mm-mega-img{height:118px;display:flex;align-items:center;justify-content:center;overflow:hidden}.mm-mega-img img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease}.mm-mega-model:hover .mm-mega-img img{transform:scale(1.08)}
.mm-mega-model span{display:block;font-size:14px;font-weight:950;margin-top:5px}.mm-mega-model small{display:block;font-size:10px;color:#999;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-top:3px}

.mm-home{background:#fff}
.mm-home-hero{min-height:690px;display:flex;align-items:center;overflow:hidden;background:#fff}
.mm-home-hero-inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr);align-items:center;gap:30px;padding:72px 0 64px}
.mm-home-copy{position:relative;z-index:3;max-width:780px}.mm-home-eyebrow{display:block;color:#df101d;font-size:13px;font-weight:950;letter-spacing:.18em;margin-bottom:18px}
.mm-home-copy h1{margin:0 0 24px;font-size:clamp(68px,7.2vw,118px);line-height:.82;letter-spacing:-.075em;font-weight:1000}.mm-home-copy h1 span{display:block}.mm-home-copy h1 .outline{color:transparent;-webkit-text-stroke:2px #111;text-stroke:2px #111}
.mm-home-copy p{max-width:720px;margin:0;color:#5c5d60;font-size:18px;line-height:1.58}
.mm-home-actions{display:flex;gap:12px;margin-top:34px}.mm-home-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 24px;font-size:13px;font-weight:950;letter-spacing:.02em}.mm-home-actions .primary{background:#df101d;color:#fff}.mm-home-actions .secondary{background:#111;color:#fff}
.mm-home-machine{position:relative;min-height:570px;display:flex;align-items:center;justify-content:center}.mm-home-machine img{position:relative;z-index:2;width:min(650px,100%);max-height:520px;object-fit:contain;filter:drop-shadow(0 28px 26px rgba(0,0,0,.16));transform:translateY(34px)}
.mm-home-word{position:absolute;right:-10px;top:38px;bottom:0;writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(120px,14vw,225px);font-weight:1000;letter-spacing:-.08em;color:#f0f0f0;line-height:.75;user-select:none;z-index:0}

.mm-home-featured{background:#f6f6f5;padding:72px 0 86px;border-top:1px solid #efefef}
.mm-home-section-head{display:grid;grid-template-columns:1fr auto;gap:10px 30px;align-items:end;margin-bottom:28px}.mm-home-section-head>span{grid-column:1/-1;color:#df101d;font-size:12px;font-weight:950;letter-spacing:.18em}.mm-home-section-head h2{margin:0;font-size:clamp(34px,4vw,58px);letter-spacing:-.05em;line-height:.98}.mm-home-section-head>a{font-size:12px;font-weight:950;color:#df101d;padding-bottom:4px;border-bottom:1px solid #df101d}
.mm-hover-showroom{display:flex;gap:10px;height:430px;overflow:hidden}
.mm-hover-model{position:relative;flex:1 1 0;min-width:0;background:#fff;border:1px solid #e7e7e7;overflow:hidden;transition:flex .36s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,transform .25s ease}
.mm-hover-model:hover,.mm-hover-model.is-active{flex:2.35 1 0;box-shadow:0 20px 46px rgba(0,0,0,.12);transform:translateY(-3px);z-index:2}
.mm-hover-model-bg{position:absolute;inset:0;background:linear-gradient(180deg,#fff 0,#f5f5f5 70%,#ededed 100%)}
.mm-hover-model::after{content:"";position:absolute;left:10%;right:10%;bottom:86px;height:22px;border-radius:50%;background:rgba(0,0,0,.12);filter:blur(18px);opacity:.35;transition:opacity .25s ease,transform .25s ease}
.mm-hover-model:hover::after,.mm-hover-model.is-active::after{opacity:.65;transform:scaleX(1.2)}
.mm-hover-model-media{position:absolute;left:0;right:0;top:10px;height:300px;display:flex;align-items:center;justify-content:center;padding:18px}.mm-hover-model-media img{width:100%;height:100%;object-fit:contain;transition:transform .38s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 14px 16px rgba(0,0,0,.14))}.mm-hover-model:hover .mm-hover-model-media img,.mm-hover-model.is-active .mm-hover-model-media img{transform:scale(1.18) translateY(-5px)}
.mm-hover-model-info{position:absolute;left:18px;right:18px;bottom:18px;z-index:3}.mm-hover-model-info small{display:block;min-height:14px;color:#8f8f8f;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;opacity:.6;transition:opacity .22s ease}.mm-hover-model-info strong{display:block;font-size:18px;line-height:1.05;font-weight:1000;letter-spacing:-.03em}.mm-hover-model-info span{display:block;color:#df101d;font-size:19px;font-weight:1000;margin-top:7px;opacity:0;transform:translateY(6px);transition:opacity .22s ease,transform .22s ease}.mm-hover-model:hover .mm-hover-model-info span,.mm-hover-model.is-active .mm-hover-model-info span{opacity:1;transform:translateY(0)}

@media(max-width:1180px){.mm-main-nav{gap:0}.mm-nav-link{padding:0 10px;font-size:12px}.mm-phone{padding:16px 14px}.mm-mega-models{grid-template-columns:repeat(5,minmax(0,1fr))}.mm-home-hero-inner{grid-template-columns:1fr .86fr}.mm-home-copy h1{font-size:clamp(64px,8vw,96px)}}
@media(max-width:900px){.mm-main-nav{display:none}.mm-header-inner{min-height:74px}.mm-phone{margin-left:auto}.mm-mega{display:none}.mm-home-hero-inner{grid-template-columns:1fr;padding-top:54px}.mm-home-copy{max-width:none}.mm-home-machine{min-height:380px}.mm-home-machine img{max-height:360px;transform:none}.mm-home-word{font-size:120px;right:5%}.mm-hover-showroom{display:grid;grid-template-columns:repeat(2,1fr);height:auto}.mm-hover-model,.mm-hover-model:hover,.mm-hover-model.is-active{height:330px;transform:none}.mm-hover-model-media{height:235px}.mm-hover-model:hover .mm-hover-model-media img,.mm-hover-model.is-active .mm-hover-model-media img{transform:scale(1.05)}.mm-home-section-head{grid-template-columns:1fr}.mm-home-section-head>a{width:max-content}}
@media(max-width:620px){.mm-home-shell{width:92%}.mm-brand-logo{font-size:22px}.mm-phone{font-size:11px;padding:14px 12px}.mm-home-hero{min-height:0}.mm-home-hero-inner{padding:42px 0 28px}.mm-home-copy h1{font-size:clamp(54px,17vw,80px)}.mm-home-copy h1 .outline{-webkit-text-stroke:1.2px #111}.mm-home-copy p{font-size:15px}.mm-home-actions{flex-direction:column}.mm-home-actions a{min-height:52px}.mm-home-machine{min-height:300px}.mm-home-machine img{max-height:290px}.mm-home-word{font-size:90px}.mm-home-featured{padding:52px 0}.mm-hover-showroom{grid-template-columns:1fr}.mm-hover-model{height:320px}.mm-hover-model-info strong{font-size:20px}}

/* V30 — méga-menu constructeurs : styles en vignettes puis modèles filtrés */
.mm-mega-catalog .mm-mega-inner{padding:18px 0 24px}
.mm-mega-categories{display:flex;gap:0;border-bottom:1px solid #ececec;overflow-x:auto;scrollbar-width:none}.mm-mega-categories::-webkit-scrollbar{display:none}
.mm-mega-category{appearance:none;border:0;background:transparent;min-width:220px;padding:8px 18px 14px;cursor:pointer;position:relative;text-align:left;color:#9b9b9b;transition:color .18s ease,background .18s ease}
.mm-mega-category::after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:3px;background:#df101d;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.mm-mega-category:hover,.mm-mega-category.is-active{color:#df101d;background:#fff}
.mm-mega-category.is-active::after{transform:scaleX(1)}
.mm-mega-category-media{display:block;height:90px;margin-bottom:6px;overflow:hidden;position:relative}
.mm-mega-category-media img{width:100%;height:100%;object-fit:contain;transition:transform .22s ease;filter:drop-shadow(0 8px 9px rgba(0,0,0,.09))}
.mm-mega-category:hover .mm-mega-category-media img,.mm-mega-category.is-active .mm-mega-category-media img{transform:scale(1.08)}
.mm-mega-category strong{display:block;font-size:15px;font-weight:1000;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.mm-mega-model-area{min-height:190px;padding-top:14px}
.mm-mega-model-panel{display:none;animation:mmMegaFade .18s ease}.mm-mega-model-panel.is-active{display:block}
.mm-mega-models{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.mm-mega-model{padding:6px 8px 10px;border-radius:8px;background:#fff;transition:background .18s ease,transform .18s ease}
.mm-mega-model:hover{background:#f6f6f6;transform:translateY(-2px)}
.mm-mega-img{height:108px}.mm-mega-model span{font-size:13px}.mm-mega-model small{font-size:11px;color:#df101d;font-weight:950;text-transform:none;letter-spacing:0}
@keyframes mmMegaFade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1180px){.mm-mega-category{min-width:180px}.mm-mega-category-media{height:78px}.mm-mega-models{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* ========================================================================== */
/* V31 — navigation constructeur comme l'ancien site                         */
/* ========================================================================== */
.mm-site-header{overflow:visible!important}
.mm-header-inner{overflow:visible!important}
.mm-main-nav{overflow:visible!important}
.mm-nav-item{position:static!important}
.mm-mega{top:88px!important;left:0!important;right:0!important;width:100%!important;margin:0!important;transform:translateY(0)!important}
.mm-has-mega:hover>.mm-mega,.mm-has-mega:focus-within>.mm-mega{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.mm-mega-inner{width:min(1700px,94%);padding:0 0 24px!important}
.mm-mega-categories{height:86px;align-items:stretch;background:#fff;border-bottom:1px solid #ececec}
.mm-mega-category{min-width:0!important;width:auto!important;padding:0 34px!important;display:flex;align-items:center;color:#9b9b9b!important;background:#fff!important}
.mm-mega-category::after{left:0!important;right:0!important;height:2px!important}
.mm-mega-category:hover,.mm-mega-category.is-active{color:#d81921!important}
.mm-mega-category strong{font-size:20px!important;letter-spacing:.01em!important}
.mm-mega-category-media{display:none!important}
.mm-mega-model-area{min-height:250px;padding-top:24px!important}
.mm-mega-models{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:26px!important}
.mm-mega-model{padding:0!important;background:transparent!important;border-radius:0!important;text-align:left}
.mm-mega-model:hover{background:transparent!important;transform:none!important}
.mm-mega-img{height:170px!important;display:flex;align-items:center;justify-content:center;overflow:visible!important}
.mm-mega-img img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.12));transition:transform .22s ease!important}
.mm-mega-model:hover .mm-mega-img img{transform:scale(1.08)!important}
.mm-mega-model span{font-size:18px!important;font-weight:950!important;margin-top:10px!important;color:#202020}
.mm-mega-model small{display:none!important}
.mm-mega-empty{padding:42px 0;font-weight:800;color:#777}

.mm-brand-page{background:#fff;min-height:70vh}
.mm-brand-catalog{padding:34px 0 72px}
.mm-brand-page-head{margin-bottom:20px}.mm-brand-page-head span{display:block;color:#d81921;font-size:12px;font-weight:950;letter-spacing:.16em;margin-bottom:8px}.mm-brand-page-head h1{margin:0;font-size:42px;letter-spacing:-.04em}
.mm-brand-tabs{display:flex;gap:0;border-bottom:1px solid #e7e7e7;margin-top:22px}
.mm-brand-tab{appearance:none;border:0;background:#fff;padding:20px 34px 24px 0;margin-right:64px;position:relative;font-size:21px;font-weight:950;color:#9a9a9a;text-transform:uppercase;cursor:pointer}
.mm-brand-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#d81921;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.mm-brand-tab:hover,.mm-brand-tab.is-active{color:#d81921}.mm-brand-tab.is-active::after{transform:scaleX(1)}
.mm-brand-panel{display:none;padding-top:38px}.mm-brand-panel.is-active{display:block}
.mm-brand-models{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px}
.mm-brand-model{display:block;color:#222}.mm-brand-model-img{height:190px;display:flex;align-items:center;justify-content:center}.mm-brand-model-img img{width:100%;height:100%;object-fit:contain;transition:transform .22s ease;filter:drop-shadow(0 16px 16px rgba(0,0,0,.1))}.mm-brand-model:hover .mm-brand-model-img img{transform:scale(1.08)}.mm-brand-model strong{display:block;margin-top:14px;font-size:20px;font-weight:950}
.mm-brand-empty{padding:50px 0;color:#777}

@media(max-width:1300px){.mm-mega-models,.mm-brand-models{grid-template-columns:repeat(5,minmax(0,1fr))!important}.mm-mega-category strong{font-size:17px!important}.mm-brand-tab{font-size:18px;margin-right:40px}.mm-mega-img{height:145px!important}.mm-brand-model-img{height:165px}}


/* V33 — modèles du méga-menu sur une seule ligne */
.mm-mega-model-panel{overflow:hidden}
.mm-mega-models{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:22px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 2px 14px!important;
  scrollbar-width:thin;
  scroll-snap-type:x proximity;
}
.mm-mega-model{
  flex:0 0 220px!important;
  min-width:220px!important;
  scroll-snap-align:start;
}
.mm-mega-img{height:150px!important}
@media(max-width:1300px){.mm-mega-model{flex-basis:205px!important;min-width:205px!important}}
@media(max-width:900px){.mm-mega-model{flex-basis:180px!important;min-width:180px!important}.mm-mega-img{height:125px!important}}


/* V33 — Occasions */
.mm-occasion-archive{padding:70px 34px 90px}.mm-occasion-head span,.mm-occasion-info>span{color:#d71920;font-weight:900;letter-spacing:.15em}.mm-occasion-head h1{font-size:clamp(48px,7vw,92px);margin:8px 0 10px}.mm-occasion-head p{font-size:19px;color:#666}.mm-occasion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:44px}.mm-occasion-card{display:block;background:#fff;border:1px solid #eee;text-decoration:none;color:#111;transition:transform .2s ease,box-shadow .2s ease}.mm-occasion-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(0,0,0,.08)}.mm-occasion-image{height:280px;display:flex;align-items:center;justify-content:center;background:#fafafa;overflow:hidden}.mm-occasion-image img{width:100%;height:100%;object-fit:contain}.mm-occasion-body{padding:20px}.mm-occasion-body h2{margin:0 0 8px;font-size:24px}.mm-occasion-body p{color:#777}.mm-occasion-body strong{font-size:26px;color:#d71920}.mm-occasion-single{padding:42px 34px 90px}.mm-occasion-single-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.75fr);gap:40px;align-items:start}.mm-occasion-single-img{background:#f7f7f7;min-height:560px;display:flex;align-items:center;justify-content:center}.mm-occasion-single-img img{max-width:100%;max-height:680px;object-fit:contain}.mm-occasion-info{padding:28px 0}.mm-occasion-info h1{font-size:48px;line-height:1;margin:10px 0 28px}.mm-occasion-info>div:not(.mm-occasion-price){display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding:13px 0}.mm-occasion-info>div strong{font-weight:800}.mm-occasion-price{font-size:42px;font-weight:950;color:#d71920;margin:28px 0 18px}.mm-occasion-call{display:inline-block;background:#d71920;color:#fff;text-decoration:none;font-weight:900;padding:16px 22px}@media(max-width:900px){.mm-occasion-grid{grid-template-columns:1fr 1fr}.mm-occasion-single-grid{grid-template-columns:1fr}}@media(max-width:600px){.mm-occasion-grid{grid-template-columns:1fr}}

/* V34 — tous les modèles visibles sur une seule ligne, sans scroll horizontal */
@media (min-width: 901px){
  .mm-mega-model-panel{overflow:visible!important}
  .mm-mega-models{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:18px!important;
    overflow:visible!important;
    padding:2px 0 12px!important;
    width:100%!important;
  }
  .mm-mega-model{
    flex:1 1 0!important;
    min-width:0!important;
    max-width:none!important;
    scroll-snap-align:unset!important;
  }
  .mm-mega-img{height:145px!important}
  .mm-mega-model span{font-size:17px!important;white-space:nowrap!important}

  .mm-brand-models{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:24px!important;
    width:100%!important;
  }
  .mm-brand-model{
    flex:1 1 0!important;
    min-width:0!important;
  }
  .mm-brand-model-img{height:175px!important}
  .mm-brand-model strong{font-size:18px!important;white-space:nowrap!important}
}

@media (min-width: 901px) and (max-width: 1300px){
  .mm-mega-img{height:120px!important}
  .mm-mega-model span{font-size:15px!important}
  .mm-brand-model-img{height:145px!important}
  .mm-brand-model strong{font-size:16px!important}
}

/* V35 — catégories plus compactes + suppression de la bande blanche basse */
@media (min-width: 901px){
  .mm-mega-inner{
    padding-bottom:0!important;
  }
  .mm-mega-categories{
    height:58px!important;
  }
  .mm-mega-category{
    padding:0 22px!important;
  }
  .mm-mega-category strong{
    font-size:15px!important;
    line-height:1!important;
  }
  .mm-mega-model-area{
    min-height:0!important;
    padding-top:14px!important;
    padding-bottom:0!important;
  }
  .mm-mega-models{
    padding-bottom:6px!important;
  }
  .mm-mega-model{
    padding-bottom:0!important;
  }
  .mm-mega-img{
    height:132px!important;
  }
  .mm-mega-model span{
    margin-top:6px!important;
    font-size:16px!important;
    line-height:1.05!important;
  }
}

@media (min-width: 901px) and (max-width: 1300px){
  .mm-mega-categories{height:54px!important}
  .mm-mega-category{padding:0 18px!important}
  .mm-mega-category strong{font-size:14px!important}
  .mm-mega-img{height:112px!important}
  .mm-mega-model span{font-size:14px!important}
}

/* V36 — catégories centrées + harmonisation 360 SRK 921 RR */
@media (min-width: 901px){
  .mm-mega-categories{
    justify-content:center!important;
    gap:10px!important;
  }
  .mm-mega-category{
    flex:0 0 auto!important;
  }
}

/* La série rouge de la SRK 921 RR contient moins de marge dans les fichiers
   que la série noire : on réduit uniquement son rendu visuel. */
.qj-page[data-model="srk-921-rr"] .qj-bike[data-active-color="rouge"] > img{
  transform:scale(1.28)!important;
}
.qj-page[data-model="srk-921-rr"] .qj-bike[data-active-color="noir"] > img{
  transform:scale(1.40)!important;
}

@media(max-width:1050px){
  .qj-page[data-model="srk-921-rr"] .qj-bike[data-active-color="rouge"] > img{
    transform:scale(1.02)!important;
  }
  .qj-page[data-model="srk-921-rr"] .qj-bike[data-active-color="noir"] > img{
    transform:scale(1.10)!important;
  }
}

/* V37 — méga-menu: hauteur calée sur le contenu, sans grande bande blanche */
@media (min-width: 901px){
  .mm-mega,
  .mm-mega-catalog,
  .mm-mega-inner,
  .mm-mega-model-area,
  .mm-mega-model-panel,
  .mm-mega-models{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  .mm-mega-inner{
    padding-top:0!important;
    padding-bottom:12px!important;
  }

  .mm-mega-model-area{
    padding-top:14px!important;
    padding-bottom:0!important;
    margin:0!important;
  }

  .mm-mega-model-panel.is-active{
    display:block!important;
    margin:0!important;
    padding:0!important;
  }

  .mm-mega-models{
    margin:0!important;
    padding:0!important;
    align-items:flex-start!important;
  }

  .mm-mega-model{
    margin:0!important;
    padding:0!important;
  }
}

/* V38 — méga-menu légèrement transparent / effet verre */
@media (min-width: 901px){
  .mm-mega,
  .mm-mega-catalog{
    background:rgba(255,255,255,.90)!important;
    -webkit-backdrop-filter:blur(12px) saturate(115%);
    backdrop-filter:blur(12px) saturate(115%);
    border-top:1px solid rgba(220,220,220,.72)!important;
    border-bottom:1px solid rgba(210,210,210,.72)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.10)!important;
  }

  .mm-mega-inner,
  .mm-mega-categories,
  .mm-mega-model-area,
  .mm-mega-model-panel,
  .mm-mega-models{
    background:transparent!important;
  }

  .mm-mega-category{
    background:transparent!important;
  }

  .mm-mega-category:hover,
  .mm-mega-category.is-active{
    background:rgba(255,255,255,.42)!important;
  }

  .mm-mega-model,
  .mm-mega-model:hover{
    background:transparent!important;
  }
}

/* V39 — noms des modèles centrés dans le méga-menu */
@media (min-width: 901px){
  .mm-mega-model{
    text-align:center!important;
  }

  .mm-mega-model span{
    display:block!important;
    width:100%!important;
    text-align:center!important;
  }
}


/* V40 — présentation QJMOTOR sur la page de marque */
.mm-brand-intro{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:70px;
  margin:14px 0 72px;
  padding:54px 58px;
  overflow:hidden;
  background:#0d0d0f;
  color:#fff;
}
.mm-brand-intro:before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:5px;height:100%;
  background:#e3131b;
}
.mm-brand-intro-copy{position:relative;z-index:2;max-width:760px}
.mm-brand-intro-kicker{
  display:block;
  margin-bottom:18px;
  color:#e3131b;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.20em;
}
.mm-brand-intro h2{
  margin:0 0 24px;
  color:#fff;
  font-size:clamp(34px,4vw,62px);
  line-height:.96;
  letter-spacing:-.045em;
  font-weight:950;
}
.mm-brand-intro h2 em{
  color:transparent;
  -webkit-text-stroke:1.3px rgba(255,255,255,.72);
  font-style:normal;
}
.mm-brand-intro p{
  max-width:700px;
  margin:0 0 13px;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.75;
}
.mm-brand-intro-cta{
  display:inline-flex;
  align-items:center;
  gap:16px;
  margin-top:20px;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.26);
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  transition:.25s ease;
}
.mm-brand-intro-cta:hover{background:#e3131b;border-color:#e3131b;color:#fff}
.mm-brand-intro-cta span{font-size:18px;line-height:1}
.mm-brand-intro-visual{
  position:relative;
  z-index:1;
  min-height:330px;
  display:flex;
  align-items:flex-end;
}
.mm-brand-intro-word{
  position:absolute;
  right:-22px;
  top:-70px;
  color:rgba(255,255,255,.035);
  font-size:330px;
  line-height:1;
  font-weight:1000;
  letter-spacing:-.10em;
  user-select:none;
}
.mm-brand-stat-grid{
  position:relative;
  z-index:2;
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(255,255,255,.18);
  border-left:1px solid rgba(255,255,255,.18);
}
.mm-brand-stat{
  min-height:116px;
  padding:22px;
  border-right:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.025);
}
.mm-brand-stat strong{
  display:block;
  margin-bottom:7px;
  color:#fff;
  font-size:31px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.04em;
}
.mm-brand-stat span{
  color:rgba(255,255,255,.52);
  font-size:11px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}
#mm-brand-range{scroll-margin-top:125px}

@media(max-width:980px){
  .mm-brand-intro{grid-template-columns:1fr;gap:35px;padding:42px 34px;margin-bottom:50px}
  .mm-brand-intro-visual{min-height:0}
  .mm-brand-intro-word{font-size:220px;top:-60px}
}
@media(max-width:620px){
  .mm-brand-intro{padding:34px 22px;margin:5px 0 38px}
  .mm-brand-intro h2{font-size:38px}
  .mm-brand-stat-grid{grid-template-columns:1fr 1fr}
  .mm-brand-stat{min-height:96px;padding:17px}
  .mm-brand-stat strong{font-size:25px}
  .mm-brand-intro-word{display:none}
}


/* V41 — logo QJMOTOR + vidéo dans la présentation de marque */
.mm-brand-intro-visual{
  display:grid;
  grid-template-columns:1fr;
  align-content:start;
  gap:18px;
}
.mm-brand-intro-logo-card{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
  backdrop-filter:blur(3px);
}
.mm-brand-intro-logo{
  display:block;
  width:min(210px,58%);
  height:auto;
  object-fit:contain;
}
.mm-brand-intro-logo-card span{
  color:rgba(255,255,255,.55);
  font-size:11px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:right;
}
.mm-brand-intro-video-card{
  position:relative;
  z-index:2;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  overflow:hidden;
}
.mm-brand-intro-video-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px 12px;
}
.mm-brand-intro-video-head strong{
  color:#fff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.01em;
}
.mm-brand-intro-video-head span{
  color:rgba(255,255,255,.5);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:right;
}
.mm-brand-intro-video-shell{
  position:relative;
  aspect-ratio:16/9;
  background:#090909;
}
.mm-brand-intro-video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.mm-brand-intro-video-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 18px 16px;
  color:#fff;
  text-decoration:none;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.mm-brand-intro-video-link:hover{color:#e3131b}
@media(max-width:980px){
  .mm-brand-intro-logo-card{padding:16px 18px}
}
@media(max-width:620px){
  .mm-brand-intro-logo-card{flex-direction:column;align-items:flex-start}
  .mm-brand-intro-logo{width:180px;max-width:100%}
  .mm-brand-intro-logo-card span,.mm-brand-intro-video-head span{text-align:left}
  .mm-brand-intro-video-head{display:block}
  .mm-brand-intro-video-head span{display:block;margin-top:6px}
}


/* V42 — présentations constructeur KYMCO + Peugeot Motocycles */
.mm-brand-intro-kymco:before{background:#e31b23}
.mm-brand-intro-peugeot:before{background:#1f5b86}
.mm-brand-intro-kymco .mm-brand-intro-kicker{color:#e31b23}
.mm-brand-intro-peugeot .mm-brand-intro-kicker{color:#7aa8c9}
.mm-brand-wordmark-card{min-height:95px}
.mm-brand-wordmark{
  color:#fff;
  font-weight:1000;
  line-height:.9;
  letter-spacing:-.055em;
  white-space:nowrap;
}
.mm-brand-wordmark-kymco{
  color:#e31b23;
  font-size:clamp(42px,5vw,72px);
  font-style:italic;
  letter-spacing:-.07em;
}
.mm-brand-wordmark-peugeot{
  font-size:clamp(27px,3.4vw,47px);
  letter-spacing:.04em;
}
.mm-brand-wordmark-peugeot small{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.72);
  font-size:.36em;
  line-height:1;
  letter-spacing:.22em;
}
.mm-brand-media-card{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  min-height:150px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  color:#fff;
  text-decoration:none;
  overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.mm-brand-media-card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.055);
}
.mm-brand-media-image{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.mm-brand-media-image:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,0));
}
.mm-brand-media-image span{
  position:relative;
  z-index:1;
  font-size:84px;
  line-height:1;
  font-weight:1000;
  opacity:.9;
}
.mm-brand-media-kymco{background:#b80f17}
.mm-brand-media-peugeot{background:#183c59}
.mm-brand-media-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  padding:22px 24px;
}
.mm-brand-media-copy strong{
  font-size:18px;
  font-weight:900;
}
.mm-brand-media-copy span{
  color:rgba(255,255,255,.58);
  font-size:12px;
  line-height:1.5;
  font-weight:700;
  letter-spacing:.04em;
}
.mm-brand-intro-kymco .mm-brand-intro-cta:hover{background:#e31b23;border-color:#e31b23}
.mm-brand-intro-peugeot .mm-brand-intro-cta:hover{background:#1f5b86;border-color:#1f5b86}
@media(max-width:620px){
  .mm-brand-media-card{grid-template-columns:95px minmax(0,1fr);min-height:120px}
  .mm-brand-media-image span{font-size:58px}
  .mm-brand-media-copy{padding:17px 16px}
  .mm-brand-media-copy strong{font-size:15px}
  .mm-brand-wordmark-card{align-items:flex-start}
}


/* V43 — logos fournis pour KYMCO et Peugeot */
.mm-brand-logo-card{
  min-height:95px;
}
.mm-brand-logo-shell{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:72px;
  max-width:100%;
}
.mm-brand-logo-shell-kymco{
  padding:10px 14px;
  background:#ffffff;
  border-radius:6px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.mm-brand-logo-shell-peugeot{
  width:min(240px,62%);
  padding:8px 0;
}
.mm-brand-logo-asset{
  display:block;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
.mm-brand-logo-asset-kymco{
  width:min(300px,100%);
}
.mm-brand-logo-asset-peugeot{
  width:min(220px,100%);
  filter:brightness(0) invert(1);
}
@media(max-width:620px){
  .mm-brand-logo-shell-kymco{padding:8px 10px}
  .mm-brand-logo-shell-peugeot{width:190px;max-width:100%}
}


/* V44 — correction visuelle logos KYMCO / Peugeot */
.mm-brand-logo-card-kymco{
  background:linear-gradient(180deg,rgba(14,16,20,.98),rgba(7,9,13,.98));
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 16px 36px rgba(0,0,0,.28);
}
.mm-brand-logo-shell-kymco{
  padding:0;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  width:min(320px,92%);
}
.mm-brand-logo-asset-kymco{
  width:100%;
  max-height:110px;
  object-fit:contain;
  object-position:center center;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.25));
}
.mm-brand-logo-card-peugeot{
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
}
.mm-brand-logo-shell-peugeot-card{
  width:min(620px,100%);
  min-height:0;
  padding:0;
}
.mm-brand-logo-asset-peugeot-card{
  width:100%;
  height:auto;
  display:block;
  border:1px solid rgba(255,255,255,.08);
}
.mm-brand-logo-card-peugeot > span{display:none;}
@media(max-width:620px){
  .mm-brand-logo-shell-kymco{width:min(280px,100%)}
}


/* V45 — logo Peugeot fourni + affichage propre */
.mm-brand-logo-shell-peugeot-card{
  width:min(290px,70%)!important;
  background:#000!important;
  padding:14px 18px!important;
  border:1px solid rgba(255,255,255,.10);
}
.mm-brand-logo-asset-peugeot-card{
  width:100%!important;
  height:auto!important;
  border:0!important;
  object-fit:contain!important;
}


/* V50 — gamme/finition par coloris */
.qj-color-meta{display:flex;align-items:center;gap:9px;margin-top:9px;min-height:22px;flex-wrap:wrap}
.qj-color-current{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#111}
.qj-color-range{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;background:#111;color:#fff;font-size:10px;line-height:1;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.qj-color-range[hidden]{display:none!important}


/* V51 — gamme/finition sous les pastilles de coloris */
.qj-color-meta{
  flex:0 0 100%;
  width:100%;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  margin-top:2px;
  min-height:0;
}
.qj-color-current{
  display:block;
  width:100%;
  margin-top:2px;
}
.qj-color-range{
  display:inline-flex;
  margin-top:0;
}
.qj-color-range[hidden]{display:none!important}


/* V52 — gamme + supplément de prix par coloris */
.qj-color-meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-top:10px}
.qj-color-surcharge{font-size:12px;font-weight:850;letter-spacing:.04em;color:#d71920}
.qj-color-surcharge[hidden]{display:none!important}

/* ========================================================================== */
/* V54 — STYLES PRODUITS DÉDIÉS PAR MARQUE                                  */
/* ========================================================================== */
.qj-page.brand-peugeot,
.qj-page.brand-kymco{background:#f6f6f7}

.qj-page.brand-peugeot .qj-back,
.qj-page.brand-kymco .qj-back{width:min(1280px,94%);padding-left:2px;font-size:13px;letter-spacing:.05em}

/* ---------- PEUGEOT ---------- */
.qj-page.brand-peugeot .qj-back{color:#0f547d}
.qj-page.brand-peugeot .qj-hero{background:linear-gradient(180deg,#f4f6f8 0,#f4f6f8 100%)}
.qj-page.brand-peugeot .qj-stage{min-height:600px}
.qj-page.brand-peugeot .qj-stage::before{
  content:"";
  position:absolute;
  left:0;
  top:74px;
  width:min(560px,46%);
  height:380px;
  background:linear-gradient(180deg,#0f5d89 0%,#0b4567 100%);
  box-shadow:0 20px 34px rgba(10,43,64,.16);
  z-index:2;
}
.qj-page.brand-peugeot .qj-backdrop{
  left:0;
  top:74px;
  width:min(560px,46%);
  height:380px;
  z-index:3!important;
}
.qj-page.brand-peugeot .qj-backdrop:before{
  inset:0;
  opacity:.15;
  filter:grayscale(1) brightness(2.15) contrast(.8);
  mix-blend-mode:screen;
  background-position:center center;
  background-size:cover;
}
.qj-page.brand-peugeot .qj-model-logo{
  left:56px;
  top:100px;
  transform:none;
  width:min(500px,40%);
  height:120px;
  justify-content:flex-start;
  z-index:15!important;
}
.qj-page.brand-peugeot .qj-model-logo img{object-position:left center;filter:brightness(30)}
.qj-page.brand-peugeot .qj-model-word{
  left:56px;
  top:112px;
  transform:none;
  width:min(500px,40%);
  color:#fff;
  text-align:left;
}
.qj-page.brand-peugeot .qj-bike{
  left:0;
  top:156px;
  width:70%;
  height:425px;
}
.qj-page.brand-peugeot .qj-bike>img{
  transform:scale(1.08)!important;
  filter:drop-shadow(0 28px 28px rgba(15,53,82,.22));
}
.qj-page.brand-peugeot .qj-drag-zone{
  left:0;
  top:156px;
  width:62%;
  height:425px;
}
.qj-page.brand-peugeot .qj-arrows{
  left:2%!important;
  top:364px!important;
  width:58%!important;
}
.qj-page.brand-peugeot .qj-arrow{border-color:#0f547d;color:#0f547d;background:#fff}
.qj-page.brand-peugeot .qj-360-hint{color:#0f547d}
.qj-page.brand-peugeot .qj-panel{
  right:3.5%;
  top:96px;
  width:26%;
  max-width:356px;
  min-width:270px;
  padding:28px 26px 22px;
  border-top:7px solid #0f547d;
  box-shadow:0 22px 40px rgba(16,44,69,.14);
  border-radius:0;
}
.qj-page.brand-peugeot .qj-panel h1{font-size:28px;line-height:1.08;margin-bottom:14px;letter-spacing:-.035em}
.qj-page.brand-peugeot .qj-highlights{font-size:12px;max-height:inherit;color:#31495e;scrollbar-color:#0f547d #dce3e9}
.qj-page.brand-peugeot .qj-highlights::-webkit-scrollbar-thumb{background:#0f547d}
.qj-page.brand-peugeot .qj-price-col{border-top:1px solid #d4dde4;margin-top:18px;padding-top:18px}
.qj-page.brand-peugeot .qj-price{font-size:42px;color:#0f547d}
.qj-page.brand-peugeot .qj-price-note{font-size:11px;color:#5a6f80;line-height:1.35}
.qj-page.brand-peugeot .qj-actions{gap:10px;margin-top:16px}
.qj-page.brand-peugeot .qj-actions a{padding:11px 10px;border:1px solid #0f547d;border-bottom:1px solid #0f547d;color:#0f547d;font-size:12px;letter-spacing:.04em;background:#fff}
.qj-page.brand-peugeot .qj-actions a:first-child{background:#0f547d;color:#fff}
.qj-page.brand-peugeot .qj-actions a:hover{background:#0b4567;color:#fff;border-color:#0b4567}
.qj-page.brand-peugeot .qj-colors-label{color:#0f547d}
.qj-page.brand-peugeot .qj-dot{border-color:#d6dee4}
.qj-page.brand-peugeot .qj-dot.active{box-shadow:0 0 0 2px #0f547d inset,0 0 0 2px #0f547d}
.qj-page.brand-peugeot .qj-color-range{background:#0f547d;color:#fff}
.qj-page.brand-peugeot .qj-color-surcharge{color:#0f547d;border-color:#cbd8e1}
.qj-page.brand-peugeot .qj-stat{border-right-color:#8cb0c9}
.qj-page.brand-peugeot .qj-stat strong,
.qj-page.brand-peugeot .qj-stat b{color:#0f547d}
.qj-page.brand-peugeot .qj-tech-button{background:#0f547d}
.qj-page.brand-peugeot .qj-tech-button:hover{background:#0b4567}
.qj-page.brand-peugeot .qj-hotspots-copy span,
.qj-page.brand-peugeot .qj-hotspots-panel > span,
.qj-page.brand-peugeot .qj-hotspot-modal-copy > span{color:#0f547d}
.qj-page.brand-peugeot .qj-hotspot-pin{background:#0f547d;box-shadow:0 0 0 6px rgba(15,84,125,.12)}
.qj-page.brand-peugeot .qj-hotspot-pin.is-active{box-shadow:0 0 0 8px rgba(15,84,125,.2)}
.qj-page.brand-peugeot .qj-hotspot-open{background:#0f547d}
.qj-page.brand-peugeot .qj-hotspot-open:hover{background:#0b4567}
.qj-page.brand-peugeot .tech h2,
.qj-page.brand-peugeot .tech-group h3{color:#0f547d}
.qj-page.brand-peugeot .tech-group h3,
.qj-page.brand-peugeot .specs{border-color:#0f547d}

/* ---------- KYMCO ---------- */
.qj-page.brand-kymco .qj-back{color:#ca1a22}
.qj-page.brand-kymco .qj-hero{
  background:linear-gradient(180deg,#1f252d 0,#252d37 292px,#f6f6f7 292px,#f6f6f7 100%);
}
.qj-page.brand-kymco .qj-stage{min-height:590px}
.qj-page.brand-kymco .qj-stage::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:292px;
  background:
    linear-gradient(120deg,rgba(202,26,34,.12) 0 13%,transparent 13% 100%),
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.08),transparent 32%);
  z-index:2;
  pointer-events:none;
}
.qj-page.brand-kymco .qj-backdrop{
  left:2%;
  top:46px;
  width:42%;
  height:246px;
  z-index:3!important;
}
.qj-page.brand-kymco .qj-backdrop:before{
  opacity:.28;
  filter:grayscale(1) brightness(.78) contrast(1.1);
  mix-blend-mode:screen;
}
.qj-page.brand-kymco .qj-model-logo{
  left:54px;
  top:70px;
  transform:none;
  width:min(460px,37%);
  height:88px;
  justify-content:flex-start;
  z-index:15!important;
}
.qj-page.brand-kymco .qj-model-logo img{object-position:left center}
.qj-page.brand-kymco .qj-model-word{
  left:54px;
  top:84px;
  transform:none;
  width:min(450px,36%);
  color:#fff;
  text-align:left;
}
.qj-page.brand-kymco .qj-bike{left:4%;top:118px;width:67%;height:410px}
.qj-page.brand-kymco .qj-bike>img{transform:scale(1.15)!important;filter:drop-shadow(0 28px 24px rgba(0,0,0,.24))}
.qj-page.brand-kymco .qj-drag-zone{left:4%;top:118px;width:58%;height:410px}
.qj-page.brand-kymco .qj-arrows{left:3%!important;top:324px!important;width:60%!important}
.qj-page.brand-kymco .qj-arrow{border-color:#ca1a22;color:#ca1a22;background:#fff}
.qj-page.brand-kymco .qj-360-hint{color:#ca1a22}
.qj-page.brand-kymco .qj-panel{
  right:4%;
  top:52px;
  width:25.5%;
  max-width:340px;
  min-width:270px;
  padding:24px 24px 20px;
  border-top:7px solid #ca1a22;
  box-shadow:0 22px 40px rgba(16,18,22,.16);
  background:rgba(255,255,255,.98);
}
.qj-page.brand-kymco .qj-panel h1{font-size:28px;line-height:1.08}
.qj-page.brand-kymco .qj-highlights{font-size:12px;max-height:inherit;color:#4f5358;scrollbar-color:#ca1a22 #e8e8ea}
.qj-page.brand-kymco .qj-highlights::-webkit-scrollbar-thumb{background:#ca1a22}
.qj-page.brand-kymco .qj-price-col{border-top:1px solid #ddd;margin-top:16px;padding-top:16px}
.qj-page.brand-kymco .qj-price{font-size:40px;color:#ca1a22}
.qj-page.brand-kymco .qj-price-note{font-size:11px;color:#6a6f75;line-height:1.35}
.qj-page.brand-kymco .qj-actions{gap:9px;margin-top:15px}
.qj-page.brand-kymco .qj-actions a{padding:10px 10px;border:1px solid #ca1a22;border-bottom:1px solid #ca1a22;color:#ca1a22;font-size:12px;letter-spacing:.04em;background:#fff}
.qj-page.brand-kymco .qj-actions a:first-child{background:#ca1a22;color:#fff}
.qj-page.brand-kymco .qj-actions a:hover{background:#a8141b;color:#fff;border-color:#a8141b}
.qj-page.brand-kymco .qj-colors-label{color:#ca1a22}
.qj-page.brand-kymco .qj-dot{border-color:#d5d6d8}
.qj-page.brand-kymco .qj-dot.active{box-shadow:0 0 0 2px #ca1a22 inset,0 0 0 2px #ca1a22}
.qj-page.brand-kymco .qj-color-range{background:#1f252d;color:#fff}
.qj-page.brand-kymco .qj-color-surcharge{color:#ca1a22;border-color:#d8d8db}
.qj-page.brand-kymco .qj-stat{border-right-color:#d5a7aa}
.qj-page.brand-kymco .qj-stat strong,
.qj-page.brand-kymco .qj-stat b{color:#ca1a22}
.qj-page.brand-kymco .qj-tech-button{background:#ca1a22}
.qj-page.brand-kymco .qj-tech-button:hover{background:#a8141b}
.qj-page.brand-kymco .qj-hotspots-copy span,
.qj-page.brand-kymco .qj-hotspots-panel > span,
.qj-page.brand-kymco .qj-hotspot-modal-copy > span{color:#ca1a22}
.qj-page.brand-kymco .qj-hotspot-pin{background:#ca1a22;box-shadow:0 0 0 6px rgba(202,26,34,.14)}
.qj-page.brand-kymco .qj-hotspot-pin.is-active{box-shadow:0 0 0 8px rgba(202,26,34,.22)}
.qj-page.brand-kymco .qj-hotspot-open{background:#ca1a22}
.qj-page.brand-kymco .qj-hotspot-open:hover{background:#a8141b}
.qj-page.brand-kymco .tech h2,
.qj-page.brand-kymco .tech-group h3{color:#ca1a22}
.qj-page.brand-kymco .tech-group h3,
.qj-page.brand-kymco .specs{border-color:#ca1a22}

@media (max-width: 1180px){
  .qj-page.brand-peugeot .qj-model-logo,
  .qj-page.brand-kymco .qj-model-logo{width:34%}
  .qj-page.brand-peugeot .qj-panel,
  .qj-page.brand-kymco .qj-panel{width:28%;min-width:248px}
}

@media (max-width: 850px){
  .qj-page.brand-peugeot .qj-stage::before,
  .qj-page.brand-kymco .qj-stage::before{width:100%;left:0;top:0;height:300px}
  .qj-page.brand-peugeot .qj-backdrop,
  .qj-page.brand-kymco .qj-backdrop{width:100%;left:0;top:0;height:300px}
  .qj-page.brand-peugeot .qj-model-logo,
  .qj-page.brand-kymco .qj-model-logo,
  .qj-page.brand-peugeot .qj-model-word,
  .qj-page.brand-kymco .qj-model-word{left:24px;top:56px;width:70%}
  .qj-page.brand-peugeot .qj-panel,
  .qj-page.brand-kymco .qj-panel{top:390px;width:88%;max-width:420px;left:50%;right:auto;transform:translateX(-50%)}
  .qj-page.brand-peugeot .qj-bike,
  .qj-page.brand-kymco .qj-bike{left:0;width:100%;top:118px;height:315px}
  .qj-page.brand-peugeot .qj-drag-zone,
  .qj-page.brand-kymco .qj-drag-zone{left:0;top:118px;width:100%;height:315px}
  .qj-page.brand-peugeot .qj-arrows,
  .qj-page.brand-kymco .qj-arrows{left:2%!important;top:274px!important;width:96%!important}
}

/* ========================================================================== */
/* V55 — BRANDING HEADER QJMOTOR                                              */
/* ========================================================================== */
.mm-brand-logo-qjmotor{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:max-content;
  letter-spacing:-.04em;
}
.mm-brand-logo-qjmotor .mm-brand-meulan{color:#090a0b}
.mm-brand-logo-qjmotor .mm-brand-motos{color:#df101d}
.mm-brand-logo-qjmotor .mm-brand-x{
  display:inline-block;
  margin:0 13px 0 24px;
  color:#e30613;
  font-family:Arial Black,Arial,Helvetica,sans-serif;
  font-size:27px;
  line-height:1;
  font-weight:1000;
  font-style:italic;
  letter-spacing:-.08em;
  transform:skewX(-12deg) scaleX(1.12);
  transform-origin:center;
}
.mm-brand-logo-qjmotor .mm-brand-qjmotor-mark{
  display:block;
  width:auto;
  height:29px;
  max-width:118px;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:1180px){
  .mm-brand-logo-qjmotor{font-size:22px;gap:5px}
  .mm-brand-logo-qjmotor .mm-brand-x{font-size:24px;margin-left:18px;margin-right:10px}
  .mm-brand-logo-qjmotor .mm-brand-qjmotor-mark{height:25px;max-width:104px}
}
@media(max-width:760px){
  .mm-brand-logo-qjmotor .mm-brand-qjmotor-mark{height:22px;max-width:92px}
  .mm-brand-logo-qjmotor .mm-brand-x{font-size:21px;margin-left:12px;margin-right:8px}
}

/* ========================================================================== */
/* V57 — titre QJMOTOR sous MEULAN MOTOS                                    */
/* ========================================================================== */
/* La personnalisation QJMOTOR n'est plus dans le header principal. */
.mm-header .mm-brand-logo-qjmotor .mm-brand-x,
.mm-header .mm-brand-logo-qjmotor .mm-brand-qjmotor-mark{display:none!important}

.mm-brand-page-head-qj .mm-qj-page-title{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:42px;
  margin-top:18px;
  min-height:74px;
  line-height:1;
}
.mm-brand-page-head-qj .mm-qj-page-x{
  display:inline-block;
  color:#df0716;
  font-family:"Arial Black",Impact,Arial,Helvetica,sans-serif;
  font-size:64px;
  font-weight:1000;
  font-style:italic;
  line-height:.82;
  letter-spacing:-.12em;
  transform:skewX(-12deg) scaleX(1.10);
  transform-origin:center;
}
.mm-brand-page-head-qj .mm-qj-page-title img{
  display:block;
  width:auto;
  height:54px;
  max-width:330px;
  object-fit:contain;
  object-position:left center;
  image-rendering:auto;
}
@media(max-width:760px){
  .mm-brand-page-head-qj .mm-qj-page-title{gap:24px;min-height:56px;margin-top:12px}
  .mm-brand-page-head-qj .mm-qj-page-x{font-size:46px}
  .mm-brand-page-head-qj .mm-qj-page-title img{height:38px;max-width:230px}
}


/* ========================================================================== */
/* V58 — logo combiné X + QJMOTOR fourni pour le titre de page              */
/* ========================================================================== */
.mm-brand-page-head-qj .mm-qj-page-title{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-top:14px;
  min-height:72px;
}
.mm-brand-page-head-qj .mm-qj-page-x{display:none!important}
.mm-brand-page-head-qj .mm-qj-page-title > img:not(.mm-qj-page-combined-logo){display:none!important}
.mm-brand-page-head-qj .mm-qj-page-combined-logo{
  display:block;
  width:auto;
  height:72px;
  max-width:min(520px,92vw);
  object-fit:contain;
  object-position:left center;
}
@media(max-width:760px){
  .mm-brand-page-head-qj .mm-qj-page-title{min-height:52px;margin-top:10px}
  .mm-brand-page-head-qj .mm-qj-page-combined-logo{height:52px;max-width:88vw}
}


/* V59 — page QJMOTOR : retirer le kicker, remonter et agrandir le logo */
.mm-brand-page-head-qj{
  margin-bottom:10px;
}
.mm-brand-page-head-qj .mm-qj-page-title{
  margin-top:0;
  min-height:88px;
  align-items:flex-start;
}
.mm-brand-page-head-qj .mm-qj-page-combined-logo{
  height:88px;
  max-width:min(620px,96vw);
}
@media(max-width:760px){
  .mm-brand-page-head-qj{margin-bottom:8px}
  .mm-brand-page-head-qj .mm-qj-page-title{min-height:60px;margin-top:0}
  .mm-brand-page-head-qj .mm-qj-page-combined-logo{height:60px;max-width:92vw}
}


/* V60 — QJMOTOR logo x2 */
.mm-brand-page-head-qj .mm-qj-page-title{
  min-height:176px;
}
.mm-brand-page-head-qj .mm-qj-page-combined-logo{
  height:176px;
  max-width:min(1100px, 98vw);
}
@media(max-width:760px){
  .mm-brand-page-head-qj .mm-qj-page-title{min-height:92px;}
  .mm-brand-page-head-qj .mm-qj-page-combined-logo{height:92px;max-width:94vw;}
}


/* V61 — QJMOTOR : vrai SVG sans zone vide, logo réellement agrandi */
.mm-brand-page-head-qj{
  margin:0 0 16px!important;
  padding:0!important;
}
.mm-brand-page-head-qj .mm-qj-page-title{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:34px!important;
  margin:0!important;
  min-height:0!important;
  width:auto!important;
}
.mm-brand-page-head-qj .mm-qj-page-combined-logo{
  display:none!important;
}
.mm-brand-page-head-qj .mm-qj-page-x{
  display:block!important;
  flex:0 0 auto;
  color:#d80b24;
  font-family:"Arial Black",Impact,Arial,Helvetica,sans-serif;
  font-size:72px!important;
  font-weight:1000;
  font-style:italic;
  line-height:.8;
  letter-spacing:-.08em;
  transform:skewX(-10deg) scaleX(1.08);
  transform-origin:center;
}
.mm-brand-page-head-qj .mm-qj-page-logo{
  display:block!important;
  width:360px!important;
  height:auto!important;
  max-width:72vw!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media(max-width:760px){
  .mm-brand-page-head-qj .mm-qj-page-title{gap:20px!important}
  .mm-brand-page-head-qj .mm-qj-page-x{font-size:46px!important}
  .mm-brand-page-head-qj .mm-qj-page-logo{width:240px!important;max-width:70vw!important}
}


/* V62 — lecteur de son réel SRK 921 */
.qj-engine-sound{
  margin-top:15px;
  padding:13px 14px 12px;
  border:1px solid #e8e8e8;
  background:linear-gradient(135deg,#111 0%,#1c1c1e 100%);
  color:#fff;
  text-align:left;
  overflow:hidden;
}
.qj-engine-sound-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.qj-engine-sound-icon{
  width:25px;height:25px;border-radius:50%;display:grid;place-items:center;
  background:#df0716;color:#fff;font-size:9px;box-shadow:0 0 0 4px rgba(223,7,22,.14)
}
.qj-engine-sound-head div{display:flex;flex-direction:column;gap:2px}
.qj-engine-sound-head strong{font-size:10px;letter-spacing:.09em;line-height:1.15}
.qj-engine-sound-head small{font-size:8px;color:#aaa;letter-spacing:.04em}
.qj-engine-sound-button{
  width:100%;display:flex;align-items:center;justify-content:center;gap:9px;
  min-height:34px;border:1px solid #df0716;background:#df0716;color:#fff;
  font:900 9px/1 Arial,sans-serif;letter-spacing:.12em;cursor:pointer;transition:.2s ease
}
.qj-engine-sound-button:hover{background:#b90613;border-color:#b90613}
.qj-engine-sound-play{font-size:11px;min-width:12px;text-align:center}
.qj-engine-sound-progress{height:3px;margin-top:9px;background:rgba(255,255,255,.18);cursor:pointer;overflow:hidden}
.qj-engine-sound-progress span{display:block;width:0;height:100%;background:#df0716;transition:width .08s linear}
.qj-engine-sound.is-playing .qj-engine-sound-icon{animation:qjSoundPulse 1.2s ease-in-out infinite}
@keyframes qjSoundPulse{0%,100%{box-shadow:0 0 0 4px rgba(223,7,22,.14)}50%{box-shadow:0 0 0 8px rgba(223,7,22,.05)}}
@media(max-width:620px){
  .qj-engine-sound{margin-top:13px}
  .qj-engine-sound-button{min-height:38px}
}


/* V65 — lecteur son SRK 921 style sport */
.qj-engine-sound{
  margin-top:16px;
  padding:14px;
  border:1px solid rgba(223,7,22,.25);
  background:
    radial-gradient(circle at top right, rgba(223,7,22,.14), transparent 38%),
    linear-gradient(145deg,#07080b 0%,#12141b 52%,#090a0d 100%);
  color:#fff;
  text-align:left;
  overflow:hidden;
  position:relative;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04), 0 14px 28px rgba(0,0,0,.14);
}
.qj-engine-sound::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#ff2132 0%,#a10611 100%);
}
.qj-engine-sound::after{
  content:'';
  position:absolute;
  right:-32px;
  top:-32px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(223,7,22,.18) 0%, rgba(223,7,22,0) 68%);
  pointer-events:none;
}
.qj-engine-sound-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:10px;
}
.qj-engine-sound-chip,
.qj-engine-sound-state{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 10px;
  border-radius:999px;
  font:800 9px/1 Arial,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.qj-engine-sound-chip{
  color:#fff;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
}
.qj-engine-sound-state{
  color:#ffb7be;
  border:1px solid rgba(223,7,22,.26);
  background:rgba(223,7,22,.11);
}
.qj-engine-sound-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;position:relative;z-index:1}
.qj-engine-sound-icon{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(180deg,#ef1627 0%,#b20612 100%);color:#fff;font-size:14px;font-weight:900;
  box-shadow:0 10px 20px rgba(223,7,22,.2),0 0 0 4px rgba(223,7,22,.09)
}
.qj-engine-sound-head div{display:flex;flex-direction:column;gap:2px}
.qj-engine-sound-head strong{font-size:11px;letter-spacing:.12em;line-height:1.15}
.qj-engine-sound-head small{font-size:9px;color:#a8adb8;letter-spacing:.08em;text-transform:uppercase}
.qj-engine-sound-track{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:10px;align-items:center}
.qj-engine-sound-button{
  width:100%;display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,#161922 0%,#0f1218 100%);
  color:#fff;border-radius:12px;
  font:900 10px/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;
  cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.qj-engine-sound-button:hover{
  transform:translateY(-1px);
  border-color:rgba(223,7,22,.5);
  box-shadow:0 12px 22px rgba(0,0,0,.2), 0 0 0 1px rgba(223,7,22,.18) inset;
}
.qj-engine-sound-play{
  width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(180deg,#ef1627 0%,#b20612 100%);font-size:11px;line-height:1;
}
.qj-engine-sound-label{white-space:nowrap}
.qj-engine-sound-wave{
  height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  display:flex;align-items:flex-end;justify-content:center;gap:5px;padding:8px 10px;
}
.qj-engine-sound-wave span{
  width:6px;border-radius:999px;display:block;background:linear-gradient(180deg,#ff3041 0%,#7d0912 100%);
  height:24%;opacity:.66;transform-origin:bottom center;transition:height .16s ease,opacity .16s ease;
}
.qj-engine-sound-wave span:nth-child(2){height:45%}
.qj-engine-sound-wave span:nth-child(3){height:70%}
.qj-engine-sound-wave span:nth-child(4){height:50%}
.qj-engine-sound-wave span:nth-child(5){height:34%}
.qj-engine-sound-wave span:nth-child(6){height:58%}
.qj-engine-sound-progress-wrap{display:flex;align-items:center;gap:10px;margin-top:10px}
.qj-engine-sound-mini{font:800 8px/1 Arial,sans-serif;letter-spacing:.16em;color:#9ea4b0;white-space:nowrap}
.qj-engine-sound-progress{
  flex:1;height:6px;background:rgba(255,255,255,.1);cursor:pointer;overflow:hidden;border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)
}
.qj-engine-sound-progress span{
  display:block;width:0;height:100%;background:linear-gradient(90deg,#ff3041 0%,#d50816 55%,#ff6570 100%);
  transition:width .08s linear;border-radius:999px
}
.qj-engine-sound.is-playing .qj-engine-sound-state{color:#fff;background:#df0716;border-color:#df0716;box-shadow:0 0 0 4px rgba(223,7,22,.12)}
.qj-engine-sound.is-playing .qj-engine-sound-button{border-color:rgba(223,7,22,.5);background:linear-gradient(180deg,#1f0d10 0%,#13090b 100%)}
.qj-engine-sound.is-playing .qj-engine-sound-play{animation:qjEngineBlink .9s ease-in-out infinite}
.qj-engine-sound.is-playing .qj-engine-sound-wave span{animation:qjWaveBounce .9s ease-in-out infinite}
.qj-engine-sound.is-playing .qj-engine-sound-wave span:nth-child(2){animation-delay:.06s}
.qj-engine-sound.is-playing .qj-engine-sound-wave span:nth-child(3){animation-delay:.12s}
.qj-engine-sound.is-playing .qj-engine-sound-wave span:nth-child(4){animation-delay:.18s}
.qj-engine-sound.is-playing .qj-engine-sound-wave span:nth-child(5){animation-delay:.24s}
.qj-engine-sound.is-playing .qj-engine-sound-wave span:nth-child(6){animation-delay:.3s}
@keyframes qjEngineBlink{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes qjWaveBounce{0%,100%{height:24%;opacity:.62}50%{height:90%;opacity:1}}
@media(max-width:620px){
  .qj-engine-sound{margin-top:13px;padding:12px}
  .qj-engine-sound-topline{flex-wrap:wrap}
  .qj-engine-sound-track{grid-template-columns:1fr}
  .qj-engine-sound-wave{height:38px}
  .qj-engine-sound-button{min-height:42px}
}


/* V66 — SRK 921 : lecteur audio premium constructeur */
.qj-engine-sound-premium{
  position:relative;
  margin-top:18px;
  padding:18px;
  overflow:hidden;
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:
    radial-gradient(circle at 92% 12%,rgba(223,7,22,.16),transparent 28%),
    linear-gradient(155deg,#17191d 0%,#0d0f12 55%,#070809 100%);
  box-shadow:0 18px 38px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06);
}
.qj-engine-sound-premium::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:2px;
  background:linear-gradient(90deg,transparent 0%,#df0716 22%,#ff3343 50%,#df0716 78%,transparent 100%);
  opacity:.95;
}
.qj-engine-premium-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.qj-engine-premium-brand{display:flex;flex-direction:column;gap:3px}
.qj-engine-premium-kicker{
  color:#9a9ea7;
  font:800 8px/1 Arial,sans-serif;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.qj-engine-premium-brand strong{
  color:#fff;
  font-size:19px;
  line-height:1;
  letter-spacing:.03em;
  font-weight:950;
}
.qj-engine-sound-premium .qj-engine-sound-state{
  min-height:24px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:#b9bdc5;
  font:800 8px/22px Arial,sans-serif;
  letter-spacing:.16em;
}
.qj-engine-premium-button{
  width:100%;
  min-height:70px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 20px;
  align-items:center;
  gap:13px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:15px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  color:#fff;
  cursor:pointer;
  text-align:left;
  transition:.22s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.qj-engine-premium-button:hover{
  transform:translateY(-1px);
  border-color:rgba(223,7,22,.38);
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
}
.qj-engine-premium-play{
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#f01829,#b70512);
  box-shadow:0 9px 22px rgba(223,7,22,.27),inset 0 1px 0 rgba(255,255,255,.3);
}
.qj-engine-premium-play .qj-engine-sound-play{
  transform:translateX(1px);
  font-size:13px;
  line-height:1;
}
.qj-engine-premium-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.qj-engine-premium-copy strong{
  font-size:11px;
  font-weight:950;
  line-height:1.1;
  letter-spacing:.12em;
}
.qj-engine-premium-copy small{
  color:#9ea3ad;
  font-size:9px;
  line-height:1.25;
  letter-spacing:.04em;
}
.qj-engine-premium-arrow{
  color:#df0716;
  font-size:28px;
  font-weight:300;
  line-height:1;
  transform:translateY(-1px);
}
.qj-engine-premium-meter{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) 62px;
  align-items:center;
  gap:10px;
  margin-top:12px;
}
.qj-engine-sound-premium .qj-engine-sound-mini{
  color:#777d87;
  font:800 7px/1 Arial,sans-serif;
  letter-spacing:.14em;
  white-space:nowrap;
}
.qj-engine-sound-premium .qj-engine-sound-progress{
  height:3px;
  margin:0;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  box-shadow:none;
  cursor:pointer;
}
.qj-engine-sound-premium .qj-engine-sound-progress span{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#c70815,#ff2638);
  box-shadow:0 0 10px rgba(223,7,22,.5);
}
.qj-engine-premium-wave{
  height:20px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
}
.qj-engine-premium-wave i{
  display:block;
  width:2px;
  height:5px;
  border-radius:999px;
  background:#62666f;
  opacity:.75;
  transform-origin:center;
}
.qj-engine-premium-wave i:nth-child(2),
.qj-engine-premium-wave i:nth-child(7){height:8px}
.qj-engine-premium-wave i:nth-child(3),
.qj-engine-premium-wave i:nth-child(6){height:12px}
.qj-engine-premium-wave i:nth-child(4){height:17px}
.qj-engine-premium-wave i:nth-child(5){height:14px}
.qj-engine-sound-premium.is-playing .qj-engine-sound-state{
  color:#fff;
  border-color:rgba(223,7,22,.55);
  background:rgba(223,7,22,.18);
  box-shadow:0 0 16px rgba(223,7,22,.12);
}
.qj-engine-sound-premium.is-playing .qj-engine-premium-button{
  border-color:rgba(223,7,22,.24);
}
.qj-engine-sound-premium.is-playing .qj-engine-premium-play{
  box-shadow:0 10px 26px rgba(223,7,22,.38),0 0 0 6px rgba(223,7,22,.08),inset 0 1px 0 rgba(255,255,255,.3);
}
.qj-engine-sound-premium.is-playing .qj-engine-premium-wave i{
  background:#df0716;
  animation:qjPremiumWave .82s ease-in-out infinite alternate;
}
.qj-engine-sound-premium.is-playing .qj-engine-premium-wave i:nth-child(2){animation-delay:.08s}
.qj-engine-sound-premium.is-playing .qj-engine-premium-wave i:nth-child(3){animation-delay:.16s}
.qj-engine-sound-premium.is-playing .qj-engine-premium-wave i:nth-child(4){animation-delay:.24s}
.qj-engine-sound-premium.is-playing .qj-engine-premium-wave i:nth-child(5){animation-delay:.32s}
.qj-engine-sound-premium.is-playing .qj-engine-premium-wave i:nth-child(6){animation-delay:.4s}
.qj-engine-sound-premium.is-playing .qj-engine-premium-wave i:nth-child(7){animation-delay:.48s}
.qj-engine-sound-premium.is-playing .qj-engine-premium-wave i:nth-child(8){animation-delay:.56s}
@keyframes qjPremiumWave{from{transform:scaleY(.5);opacity:.45}to{transform:scaleY(1.35);opacity:1}}
@media(max-width:620px){
  .qj-engine-sound-premium{padding:15px;border-radius:15px}
  .qj-engine-premium-button{grid-template-columns:44px minmax(0,1fr) 16px;min-height:64px;gap:10px}
  .qj-engine-premium-play{width:42px;height:42px}
  .qj-engine-premium-meter{grid-template-columns:1fr 58px}
  .qj-engine-sound-premium .qj-engine-sound-mini{grid-column:1/-1}
}


/* V67 — navigation mobile constructeur */
.mm-mobile-menu-toggle,
.mm-mobile-menu{display:none}

@media(max-width:900px){
  .mm-site-header{z-index:30000!important}
  .mm-header-inner{min-height:76px!important;gap:12px!important}
  .mm-brand-logo{font-size:22px!important}
  .mm-phone{margin-left:auto!important;padding:14px 16px!important;font-size:11px!important}
  .mm-mobile-menu-toggle{
    flex:0 0 48px;
    width:48px;height:48px;
    display:flex!important;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    border:0;
    background:#111214;
    cursor:pointer;
    padding:0;
  }
  .mm-mobile-menu-toggle span{
    display:block;
    width:21px;height:2px;
    background:#fff;
    transition:transform .22s ease,opacity .22s ease;
  }
  .mm-mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mm-mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .mm-mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .mm-mobile-menu{
    display:block!important;
    position:fixed;
    inset:0;
    z-index:31000;
    visibility:hidden;
    pointer-events:none;
  }
  .mm-mobile-menu.is-open{visibility:visible;pointer-events:auto}
  .mm-mobile-menu-backdrop{
    position:absolute;inset:0;
    background:rgba(0,0,0,.48);
    opacity:0;
    transition:opacity .25s ease;
    backdrop-filter:blur(3px);
  }
  .mm-mobile-menu.is-open .mm-mobile-menu-backdrop{opacity:1}
  .mm-mobile-menu-panel{
    position:absolute;
    right:0;top:0;bottom:0;
    width:min(88vw,420px);
    background:#fff;
    padding:24px 22px calc(26px + env(safe-area-inset-bottom));
    transform:translateX(102%);
    transition:transform .28s cubic-bezier(.2,.75,.2,1);
    overflow-y:auto;
    box-shadow:-18px 0 45px rgba(0,0,0,.17);
  }
  .mm-mobile-menu.is-open .mm-mobile-menu-panel{transform:translateX(0)}
  .mm-mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:34px}
  .mm-mobile-brand{font-size:22px;font-weight:1000;letter-spacing:-.045em;white-space:nowrap}
  .mm-mobile-brand span{color:#101114}.mm-mobile-brand b{color:#df0716}
  .mm-mobile-menu-close{
    width:42px;height:42px;border:1px solid #e6e6e6;background:#fff;
    font-size:29px;line-height:1;display:grid;place-items:center;cursor:pointer
  }
  .mm-mobile-menu-kicker{
    margin:22px 0 8px;
    color:#df0716;
    font-size:10px;font-weight:950;letter-spacing:.2em
  }
  .mm-mobile-links{border-top:2px solid #111214}
  .mm-mobile-links a{
    min-height:68px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid #e7e7e7;
    color:#111214;
    font-size:24px;
    font-weight:1000;
    letter-spacing:-.035em;
  }
  .mm-mobile-links a strong{color:#df0716;font-size:26px;font-weight:400}
  .mm-mobile-links-secondary a{font-size:18px;min-height:60px}
  .mm-mobile-phone{
    margin-top:28px;
    min-height:76px;
    padding:15px 18px;
    background:#df0716;
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
  }
  .mm-mobile-phone small{font-size:9px;font-weight:900;letter-spacing:.16em}
  .mm-mobile-phone strong{font-size:21px;letter-spacing:.04em}
  body.mm-mobile-menu-open{overflow:hidden!important;touch-action:none}
}

@media(max-width:540px){
  .mm-home-shell.mm-header-inner{width:94%!important}
  .mm-brand-logo{font-size:19px!important}
  .mm-phone{padding:13px 12px!important;font-size:10px!important}
  .mm-mobile-menu-toggle{width:44px;height:44px;flex-basis:44px}
}
@media(max-width:390px){
  .mm-brand-logo{font-size:17px!important}
  .mm-phone{display:none!important}
  .mm-mobile-menu-toggle{margin-left:auto}
}

/* V68 — ajustements fiche produit mobile : flèches bas des pneus + respiration */
@media(max-width:620px){
  .qj-hero{min-height:900px!important;}
  .qj-stage{min-height:900px!important;}

  /* Flèches replacées au niveau du bas des pneus, sans coller aux bords */
  .qj-arrows{
    left:0!important;
    top:100px!important;
    width:100%!important;
    height:315px!important;
  }
  .qj-arrow{
    top:88%!important;
    transform:translateY(-50%)!important;
  }
  .qj-prev{left:18px!important;}
  .qj-next{right:18px!important;}

  /* Plus d'espace entre la moto et l'encart produit */
  .qj-panel{
    top:455px!important;
  }
}


/* ==========================================================================
   V69 — fiche technique en tableau + son juste au-dessus
   ========================================================================== */
.qj-sound-before-tech{
  width:min(1180px,92%);
  margin:10px auto 22px;
}
.qj-sound-before-tech .qj-engine-sound{
  margin:0;
}

.qj-tech-table-section{
  --tech-accent:#df0716;
  --tech-ink:#111216;
  --tech-muted:#666b73;
  --tech-line:#e7e8eb;
  width:min(1180px,92%);
  margin:0 auto 64px;
  padding:0;
  background:#fff;
  border:1px solid var(--tech-line);
  overflow:hidden;
  box-shadow:0 18px 45px rgba(16,18,24,.06);
}
.qj-page.brand-qjmotor .qj-tech-table-section{--tech-accent:#df0716}
.qj-page.brand-peugeot .qj-tech-table-section{--tech-accent:#0f547d}
.qj-page.brand-kymco .qj-tech-table-section{--tech-accent:#ca1a22}

.qj-tech-table-head{
  position:relative;
  padding:34px 38px 28px;
  border-bottom:1px solid var(--tech-line);
  background:
    linear-gradient(90deg,rgba(0,0,0,.025),transparent 42%),
    #fff;
}
.qj-tech-table-head::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:5px;
  background:var(--tech-accent);
}
.qj-tech-table-head>span{
  display:block;
  margin-bottom:9px;
  color:var(--tech-accent);
  font-size:11px;
  font-weight:950;
  letter-spacing:.18em;
}
.qj-tech-table-head h2{
  margin:0 0 8px;
  color:var(--tech-ink)!important;
  font-size:clamp(30px,3.6vw,48px);
  line-height:1;
  letter-spacing:-.04em;
}
.qj-tech-table-head p{
  margin:0;
  color:var(--tech-muted);
  font-size:13px;
}

.qj-tech-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.qj-tech-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  background:#fff;
}
.qj-tech-table tr:not(.qj-tech-table-group) th,
.qj-tech-table tr:not(.qj-tech-table-group) td{
  padding:15px 22px;
  border-bottom:1px solid var(--tech-line);
  vertical-align:middle;
  font-size:14px;
  line-height:1.35;
}
.qj-tech-table tr:not(.qj-tech-table-group) th{
  width:42%;
  color:#363a41;
  text-align:left;
  font-weight:800;
  background:#fafafa;
}
.qj-tech-table tr:not(.qj-tech-table-group) td{
  width:58%;
  color:#111216;
  font-weight:650;
  background:#fff;
}
.qj-tech-table tr:not(.qj-tech-table-group):hover th,
.qj-tech-table tr:not(.qj-tech-table-group):hover td{
  background:#f7f7f8;
}
.qj-tech-table-group th{
  padding:13px 22px;
  color:#fff;
  text-align:left;
  font-size:12px;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
  background:linear-gradient(90deg,var(--tech-accent),color-mix(in srgb, var(--tech-accent) 84%, #000));
  border:0;
}
.qj-tech-table tbody tr:last-child th,
.qj-tech-table tbody tr:last-child td{border-bottom:0}

/* fallback for older browsers without color-mix */
@supports not (background:color-mix(in srgb, red 50%, black)){
  .qj-tech-table-group th{background:var(--tech-accent)}
}

@media(max-width:700px){
  .qj-sound-before-tech{
    width:92%;
    margin:18px auto 18px;
  }
  .qj-tech-table-section{
    width:92%;
    margin-bottom:42px;
    box-shadow:none;
  }
  .qj-tech-table-head{
    padding:26px 20px 22px;
  }
  .qj-tech-table-head h2{
    font-size:31px;
  }
  .qj-tech-table tr:not(.qj-tech-table-group) th,
  .qj-tech-table tr:not(.qj-tech-table-group) td{
    padding:13px 14px;
    font-size:13px;
  }
  .qj-tech-table tr:not(.qj-tech-table-group) th{width:46%}
  .qj-tech-table tr:not(.qj-tech-table-group) td{width:54%}
  .qj-tech-table-group th{
    padding:12px 14px;
    font-size:11px;
  }
}


/* V70 — fond personnalisable de la vue agrandie */
.qj-lightbox.has-custom-bg .qj-lightbox-dialog{
  background:
    linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08)),
    var(--qj-lightbox-bg) center center / cover no-repeat!important;
}
.qj-lightbox.has-custom-bg .qj-lightbox-img{
  position:relative;
  z-index:2;
  filter:drop-shadow(0 24px 30px rgba(0,0,0,.42));
}
.qj-lightbox.has-custom-bg .qj-lightbox-close,
.qj-lightbox.has-custom-bg .qj-lightbox-prev,
.qj-lightbox.has-custom-bg .qj-lightbox-next{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);
}
.qj-lightbox.has-custom-bg .qj-lightbox-count{
  background:rgba(10,10,12,.72);
  color:#fff;
  backdrop-filter:blur(8px);
}


/* V71 — taille de la moto réglable depuis l'admin */
.qj-lightbox-dialog .qj-lightbox-img{
  width:var(--qj-lightbox-bike-size,100%)!important;
  height:var(--qj-lightbox-bike-size,100%)!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transition:width .22s ease,height .22s ease;
}
@media(max-width:620px){
  .qj-lightbox-dialog .qj-lightbox-img{
    max-width:96vw!important;
    max-height:82vh!important;
  }
}

/* V72 — fiches occasions administrables comme les motos */
.mm-occasion-media{min-width:0}.mm-occasion-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.mm-occasion-thumb{width:92px;height:70px;padding:4px;border:1px solid #e3e3e3;background:#fff;cursor:pointer;transition:.18s ease}.mm-occasion-thumb img{width:100%;height:100%;object-fit:contain}.mm-occasion-thumb:hover,.mm-occasion-thumb.is-active{border-color:#d71920;box-shadow:0 0 0 1px #d71920}.mm-occasion-description{margin:46px 0 0;padding:32px;border-top:4px solid #d71920;background:#f7f7f8}.mm-occasion-description>span{display:block;color:#d71920;font-size:11px;font-weight:950;letter-spacing:.16em;margin-bottom:12px}.mm-occasion-description p{font-size:15px;line-height:1.7;color:#474a50}.mm-occasion-call{letter-spacing:.04em}.mm-occasion-card .mm-occasion-image img{object-fit:contain;background:#f7f7f7}
@media(max-width:600px){.mm-occasion-single{padding-left:4%;padding-right:4%}.mm-occasion-single-img{min-height:300px}.mm-occasion-info h1{font-size:38px}.mm-occasion-thumb{width:72px;height:58px}.mm-occasion-description{padding:22px}}


/* ==========================================================================
   V73 — vue 360° pour les occasions
   ========================================================================== */
.mm-occasion-viewer{
  position:relative;
  min-width:0;
  background:#f7f7f7;
  overflow:hidden;
}
.mm-occasion-viewer.is-360{
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
}
.mm-occasion-viewer.is-360.is-dragging{cursor:grabbing}
.mm-occasion-viewer.is-360 .mm-occasion-single-img img{
  pointer-events:none;
  -webkit-user-drag:none;
}
.mm-occasion-360-hint{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  padding:7px 11px;
  border-radius:999px;
  background:rgba(15,15,17,.82);
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  white-space:nowrap;
  backdrop-filter:blur(5px);
}
.mm-occasion-360-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:8;
  width:44px;
  height:44px;
  border:1px solid rgba(215,25,32,.5);
  border-radius:50%;
  background:rgba(255,255,255,.93);
  color:#d71920;
  font-size:29px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  transition:.18s ease;
}
.mm-occasion-360-arrow:hover{
  background:#d71920;
  color:#fff;
  transform:translateY(-50%) scale(1.05);
}
.mm-occasion-360-arrow.prev{left:18px}
.mm-occasion-360-arrow.next{right:18px}

@media(max-width:600px){
  .mm-occasion-360-arrow{
    width:38px;
    height:38px;
    font-size:25px;
  }
  .mm-occasion-360-arrow.prev{left:10px}
  .mm-occasion-360-arrow.next{right:10px}
  .mm-occasion-360-hint{
    bottom:10px;
    font-size:8px;
    max-width:82%;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* ========================================================================== */
/* V74 — showroom constructeur en cartes                                      */
/* ========================================================================== */
.mm-brand-showroom{margin:58px 0 78px}
.mm-brand-showroom-head{margin-bottom:24px}
.mm-brand-showroom-head>span{display:block;color:#d71920;font-size:11px;font-weight:950;letter-spacing:.18em;margin-bottom:7px}
.mm-brand-showroom-head h2{margin:0;font-size:clamp(32px,4vw,54px);letter-spacing:-.045em}
.mm-brand-filterbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.mm-brand-filter{min-height:52px;padding:0 22px;border:1px solid #d9d9dc;background:#fff;color:#111;font:900 14px/1 Arial,sans-serif;letter-spacing:.02em;cursor:pointer}
.mm-brand-filter.is-active{background:#d71920;border-color:#d71920;color:#fff}
.mm-brand-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #ddd;border-left:1px solid #ddd}
.mm-brand-product-card{min-width:0;border-right:1px solid #ddd;border-bottom:1px solid #ddd;background:#fff}
.mm-brand-product-media{display:flex;height:380px;align-items:center;justify-content:center;padding:28px;background:#fff;overflow:hidden}
.mm-brand-product-media img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 18px rgba(0,0,0,.10));transition:transform .25s ease}
.mm-brand-product-card:hover .mm-brand-product-media img{transform:scale(1.035)}
.mm-brand-product-copy{padding:0 30px 30px}
.mm-brand-product-category{display:block;color:#d71920;font-size:11px;font-weight:950;letter-spacing:.14em;margin-bottom:10px}
.mm-brand-product-copy h3{margin:0;font-size:31px;line-height:1.05;letter-spacing:-.025em}
.mm-brand-product-price{margin-top:22px;font-size:31px;font-weight:950}
.mm-brand-product-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.mm-brand-product-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid #111;color:#111;font-size:12px;font-weight:950;text-decoration:none}
.mm-brand-product-actions a.is-primary{background:#d71920;border-color:#d71920;color:#fff}
.mm-brand-product-actions a:hover{background:#111;color:#fff}
.mm-brand-product-actions a.is-primary:hover{background:#b91219;border-color:#b91219}
.mm-brand-product-card[hidden]{display:none!important}
.mm-brand-intro-kymco ~ #mm-brand-range + .mm-brand-showroom .mm-brand-filter.is-active,
.mm-brand-intro-kymco ~ #mm-brand-range + .mm-brand-showroom .mm-brand-product-actions a.is-primary{background:#ca1a22;border-color:#ca1a22}
.mm-brand-intro-peugeot ~ #mm-brand-range + .mm-brand-showroom .mm-brand-filter.is-active,
.mm-brand-intro-peugeot ~ #mm-brand-range + .mm-brand-showroom .mm-brand-product-actions a.is-primary{background:#0f547d;border-color:#0f547d}
.mm-brand-intro-peugeot ~ #mm-brand-range + .mm-brand-showroom .mm-brand-product-category{color:#0f547d}
.mm-brand-intro-kymco ~ #mm-brand-range + .mm-brand-showroom .mm-brand-product-category{color:#ca1a22}
@media(max-width:820px){.mm-brand-card-grid{grid-template-columns:1fr}.mm-brand-product-media{height:300px}.mm-brand-product-copy{padding:0 20px 24px}.mm-brand-product-copy h3{font-size:28px}.mm-brand-product-actions{flex-direction:column}.mm-brand-product-actions a{width:100%}}

/* ========================================================================== */
/* V74 — téléphone + contactez-nous dans le header                            */
/* ========================================================================== */
.mm-contact-quick{margin-left:12px;display:flex;flex-direction:column;align-items:stretch;min-width:182px}
.mm-contact-quick .mm-phone{margin:0!important;text-align:center;padding:14px 18px 10px!important}
.mm-contact-link{display:block;background:#df101d;color:#fff;text-align:center;text-decoration:none;font-size:9px;font-weight:950;letter-spacing:.12em;padding:0 8px 10px}
.mm-contact-link:hover{color:#fff;text-decoration:underline}
@media(max-width:900px){.mm-contact-quick{margin-left:auto;min-width:154px}.mm-contact-quick .mm-phone{font-size:10px!important;padding:11px 10px 8px!important}.mm-contact-link{font-size:8px;padding-bottom:8px}}
@media(max-width:480px){.mm-contact-quick{min-width:128px}.mm-contact-quick .mm-phone{font-size:9px!important}.mm-contact-link{font-size:7px}}

/* ========================================================================== */
/* V74 — page contactez-nous                                                  */
/* ========================================================================== */
.mm-contact-page{background:#f5f5f5;padding-bottom:72px}
.mm-contact-hero{background:#101114;color:#fff;padding:76px 0 84px;position:relative;overflow:hidden}
.mm-contact-hero:after{content:'MEULAN';position:absolute;right:-1vw;bottom:-44px;font-size:150px;font-weight:1000;letter-spacing:-.07em;color:rgba(255,255,255,.035);pointer-events:none}
.mm-contact-hero span{display:block;color:#e3131b;font-size:12px;font-weight:950;letter-spacing:.2em;margin-bottom:18px}
.mm-contact-hero h1{margin:0;font-size:clamp(64px,10vw,132px);line-height:.82;letter-spacing:-.065em}
.mm-contact-hero p{max-width:720px;margin:32px 0 0;color:#c7c8cc;font-size:18px;line-height:1.65}
.mm-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:-36px;position:relative;z-index:2}
.mm-contact-card{background:#fff;padding:34px;border-top:5px solid #111;box-shadow:0 16px 42px rgba(0,0,0,.08)}
.mm-contact-card-main{border-top-color:#df101d}
.mm-contact-card>span{display:block;color:#df101d;font-size:10px;font-weight:950;letter-spacing:.18em;margin-bottom:10px}
.mm-contact-card h2{margin:0 0 18px;font-size:32px;letter-spacing:-.03em}
.mm-contact-card p{font-size:17px;line-height:1.6;color:#484b50}
.mm-contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.mm-contact-actions a{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #111;color:#111;text-decoration:none;font-size:12px;font-weight:950}
.mm-contact-actions a.primary{background:#df101d;border-color:#df101d;color:#fff}
.mm-hours>div{display:flex;justify-content:space-between;gap:24px;padding:15px 0;border-bottom:1px solid #ececef}
.mm-hours>div:last-child{border-bottom:0}.mm-hours b{font-size:13px}.mm-hours strong{text-align:right;font-size:13px;line-height:1.5}
.mm-contact-map{margin-top:24px;background:#fff;border:1px solid #e1e1e3;padding:10px}
.mm-contact-map iframe{display:block;width:100%;height:480px;border:0}
@media(max-width:760px){.mm-contact-hero{padding:54px 0 66px}.mm-contact-hero h1{font-size:62px}.mm-contact-hero p{font-size:15px}.mm-contact-grid{grid-template-columns:1fr;margin-top:-26px}.mm-contact-card{padding:25px}.mm-contact-map iframe{height:360px}}

/* Occasion 360 : zone de glisse fiable */
.mm-occasion-viewer.is-360{touch-action:pan-y!important;-webkit-user-select:none!important;user-select:none!important}
.mm-occasion-viewer.is-360 .mm-occasion-single-img{pointer-events:none}
.mm-occasion-viewer.is-360 .mm-occasion-360-arrow{pointer-events:auto}

/* ========================================================================== */
/* V75 — correction bloc téléphone / contactez-nous                         */
/* Un seul bloc rouge compact, sans retour à la ligne ni texte qui déborde.  */
/* ========================================================================== */
.mm-contact-quick{
  flex:0 0 auto!important;
  margin-left:12px!important;
  width:190px!important;
  min-width:190px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  background:#df101d!important;
  overflow:hidden!important;
}
.mm-contact-quick .mm-phone{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  margin:0!important;
  padding:14px 10px 9px!important;
  background:transparent!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:.07em!important;
  white-space:nowrap!important;
}
.mm-contact-quick .mm-contact-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  margin:0!important;
  padding:7px 10px 10px!important;
  background:transparent!important;
  border-top:1px solid rgba(255,255,255,.24)!important;
  color:#fff!important;
  font-size:9px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
.mm-contact-quick .mm-contact-link:hover{
  background:rgba(0,0,0,.08)!important;
  text-decoration:none!important;
}

@media(max-width:900px){
  .mm-contact-quick{
    margin-left:auto!important;
    width:154px!important;
    min-width:154px!important;
  }
  .mm-contact-quick .mm-phone{
    padding:11px 8px 8px!important;
    font-size:10px!important;
  }
  .mm-contact-quick .mm-contact-link{
    padding:6px 6px 8px!important;
    font-size:7.5px!important;
    letter-spacing:.10em!important;
  }
}
@media(max-width:480px){
  .mm-contact-quick{
    width:144px!important;
    min-width:144px!important;
  }
  .mm-contact-quick .mm-phone{font-size:9.5px!important}
  .mm-contact-quick .mm-contact-link{font-size:7px!important}
}

/* ========================================================================== */
/* V76 — fiche occasion dans l'esprit QJMOTOR + moteur 360 identique         */
/* ========================================================================== */
.mm-occasion-qj-page{background:#fff}
.mm-occasion-qj-hero{background:linear-gradient(to bottom,#df0716 0,#df0716 340px,#fff 340px,#fff 100%);min-height:620px}
.mm-occasion-qj-stage{min-height:620px}
.mm-occasion-qj-branding{position:absolute;left:4%;top:42px;z-index:10;color:#fff;display:flex;flex-direction:column;gap:3px}
.mm-occasion-qj-branding span{font-size:10px;font-weight:950;letter-spacing:.2em}
.mm-occasion-qj-branding strong{font-size:34px;line-height:1;letter-spacing:-.04em;font-style:italic}
.mm-occasion-qj-bike{left:2.5%!important;top:112px!important;width:68%!important;height:470px!important}
.mm-occasion-qj-bike>img{transform:scale(1.08)!important;max-width:100%!important;filter:drop-shadow(0 24px 22px rgba(0,0,0,.25))!important}
.mm-occasion-qj-drag{left:3%!important;top:112px!important;width:61%!important;height:470px!important}
.mm-occasion-qj-panel{right:3.5%!important;top:48px!important;width:28%!important;max-width:390px!important;min-width:300px!important;padding:26px 24px 22px!important;border-top:6px solid #111;box-shadow:0 20px 42px rgba(0,0,0,.18)!important}
.mm-occasion-qj-kicker{display:block;color:#df0716;font-size:11px;font-weight:950;letter-spacing:.18em;margin-bottom:8px}
.mm-occasion-qj-panel h1{font-size:34px!important;margin:0 0 18px!important}
.mm-occasion-qj-specs{border-top:1px solid #ececee}
.mm-occasion-qj-specs>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #ececee;font-size:12px}
.mm-occasion-qj-specs b{color:#555b63}.mm-occasion-qj-specs strong{text-align:right;color:#111}
.mm-occasion-qj-price{margin:20px 0 12px!important;font-size:38px!important;text-align:left!important}
.mm-occasion-qj-actions a{padding:11px 8px!important;border:1px solid #df0716!important;color:#df0716!important;font-size:10px!important}
.mm-occasion-qj-actions a:first-child{background:#df0716!important;color:#fff!important}
.mm-occasion-qj-arrows{left:1.5%!important;top:350px!important;width:65%!important}
.mm-occasion-qj-gallery{width:min(1180px,92%);margin:8px auto 34px;padding:22px 0;border-top:1px solid #ececee}
.mm-occasion-qj-gallery>span{display:block;color:#df0716;font-size:10px;font-weight:950;letter-spacing:.16em;margin-bottom:12px}
.mm-occasion-qj-gallery .mm-occasion-thumbs{margin-top:0}
.mm-occasion-qj-gallery .mm-occasion-thumb{width:110px;height:82px;border-radius:0}
.mm-occasion-qj-page .mm-occasion-description{width:min(1180px,92%);margin:0 auto 50px}

@media(max-width:900px){
  .mm-occasion-qj-hero{min-height:900px;background:linear-gradient(to bottom,#df0716 0,#df0716 330px,#fff 330px,#fff 100%)}
  .mm-occasion-qj-stage{min-height:900px}
  .mm-occasion-qj-branding{left:5%;top:26px}
  .mm-occasion-qj-branding strong{font-size:28px}
  .mm-occasion-qj-bike{left:0!important;top:86px!important;width:100%!important;height:420px!important}
  .mm-occasion-qj-bike>img{transform:scale(.96)!important}
  .mm-occasion-qj-drag{left:0!important;top:86px!important;width:100%!important;height:420px!important}
  .mm-occasion-qj-arrows{left:3%!important;top:310px!important;width:94%!important}
  .mm-occasion-qj-panel{left:50%!important;right:auto!important;top:510px!important;transform:translateX(-50%)!important;width:90%!important;max-width:560px!important;min-width:0!important}
}
@media(max-width:620px){
  .mm-occasion-qj-hero{min-height:890px;background:linear-gradient(to bottom,#df0716 0,#df0716 300px,#fff 300px,#fff 100%)}
  .mm-occasion-qj-bike{top:72px!important;height:370px!important}
  .mm-occasion-qj-bike>img{transform:scale(.93)!important}
  .mm-occasion-qj-drag{top:72px!important;height:370px!important}
  .mm-occasion-qj-arrows{top:275px!important;left:5%!important;width:90%!important}
  .mm-occasion-qj-panel{top:455px!important;width:92%!important;padding:22px 20px 18px!important}
  .mm-occasion-qj-panel h1{font-size:30px!important}
  .mm-occasion-qj-gallery .mm-occasion-thumb{width:82px;height:64px}
}


/* V77 — la durée affichée sous le lecteur correspond à la plage choisie en admin */
.qj-engine-sound-premium .qj-engine-sound-mini{
  font-variant-numeric:tabular-nums;
}


/* ==========================================================================
   V78 — correctif logo QJMOTOR page marque
   Le vieux sélecteur V58 masquait le nouveau SVG.
   ========================================================================== */
.mm-brand-page-head-qj .mm-qj-page-title{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:22px!important;
  margin:0 0 10px!important;
  min-height:86px!important;
}

.mm-brand-page-head-qj .mm-qj-page-title .mm-qj-page-x{
  display:block!important;
  flex:0 0 auto!important;
  color:#d80b24!important;
  font-family:"Arial Black",Impact,Arial,Helvetica,sans-serif!important;
  font-size:42px!important;
  font-weight:1000!important;
  font-style:italic!important;
  line-height:1!important;
  letter-spacing:-.06em!important;
  transform:skewX(-10deg) scaleX(1.04)!important;
}

/* Sélecteur volontairement plus spécifique que l'ancienne règle V58 */
.mm-brand-page-head-qj .mm-qj-page-title > img.mm-qj-page-logo{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:300px!important;
  height:100px!important;
  max-width:min(66vw,300px)!important;
  object-fit:contain!important;
  object-position:left center!important;
  margin:0!important;
}

@media(max-width:760px){
  .mm-brand-page-head-qj .mm-qj-page-title{
    gap:14px!important;
    min-height:66px!important;
    margin-bottom:8px!important;
  }
  .mm-brand-page-head-qj .mm-qj-page-title .mm-qj-page-x{
    font-size:30px!important;
  }
  .mm-brand-page-head-qj .mm-qj-page-title > img.mm-qj-page-logo{
    width:220px!important;
    height:68px!important;
    max-width:68vw!important;
  }
}


/* ==========================================================================
   V79 — vues détaillées sans pastilles
   ========================================================================== */
.qj-hotspots{display:none!important}

.qj-detail-gallery{
  width:min(1180px,92%);
  margin:54px auto 36px;
}
.qj-detail-gallery-head{
  max-width:760px;
  margin-bottom:28px;
}
.qj-detail-gallery-head>span{
  display:block;
  margin-bottom:10px;
  color:#df0716;
  font-size:11px;
  font-weight:950;
  letter-spacing:.18em;
}
.qj-detail-gallery-head h2{
  margin:0 0 12px;
  font-size:clamp(34px,4vw,56px);
  line-height:.96;
  letter-spacing:-.045em;
}
.qj-detail-gallery-head p{
  margin:0;
  color:#666;
  font-size:14px;
  line-height:1.55;
}

.qj-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.qj-detail-card{
  background:#101114;
  color:#fff;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
}
.qj-detail-image-button{
  position:relative;
  display:block;
  width:100%;
  height:360px;
  padding:0;
  border:0;
  background:#090a0c;
  overflow:hidden;
  cursor:pointer;
}
.qj-detail-image-button img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.qj-detail-image-button:hover img{transform:scale(1.025)}
.qj-detail-zoom{
  position:absolute;
  right:14px;
  bottom:14px;
  padding:8px 11px;
  background:rgba(0,0,0,.74);
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  backdrop-filter:blur(5px);
}
.qj-detail-card-copy{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:14px;
  padding:22px 22px 24px;
}
.qj-detail-number{
  color:#df0716;
  font-size:13px;
  font-weight:950;
  letter-spacing:.12em;
}
.qj-detail-card h3{
  margin:0 0 8px;
  font-size:24px;
  line-height:1;
}
.qj-detail-card p{
  margin:0 0 12px;
  color:#b7bbc1;
  font-size:13px;
  line-height:1.5;
}
.qj-detail-card ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:7px;
}
.qj-detail-card li{
  position:relative;
  padding-left:15px;
  color:#fff;
  font-size:12px;
}
.qj-detail-card li:before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:6px;
  height:2px;
  background:#df0716;
}

.qj-detail-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(8px);
}
.qj-detail-modal.open{display:flex}
.qj-detail-modal-dialog{
  position:relative;
  width:min(1100px,95vw);
  max-height:92vh;
  display:flex;
  flex-direction:column;
  background:#090a0c;
  box-shadow:0 24px 80px rgba(0,0,0,.5);
}
.qj-detail-modal-dialog img{
  display:block;
  width:100%;
  max-height:82vh;
  object-fit:contain;
}
.qj-detail-modal-close{
  position:absolute;
  z-index:3;
  right:12px;
  top:12px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#111;
  font-size:28px;
  cursor:pointer;
}
.qj-detail-modal-title{
  padding:12px 16px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.qj-page.brand-peugeot .qj-detail-gallery-head>span,
.qj-page.brand-peugeot .qj-detail-number{color:#0f547d}
.qj-page.brand-peugeot .qj-detail-card li:before{background:#0f547d}
.qj-page.brand-kymco .qj-detail-gallery-head>span,
.qj-page.brand-kymco .qj-detail-number{color:#ca1a22}
.qj-page.brand-kymco .qj-detail-card li:before{background:#ca1a22}

@media(max-width:760px){
  .qj-detail-gallery{margin-top:36px}
  .qj-detail-grid{grid-template-columns:1fr}
  .qj-detail-image-button{height:280px}
  .qj-detail-card-copy{grid-template-columns:40px 1fr;padding:18px}
  .qj-detail-card h3{font-size:21px}
}


/* ========================================================================== */
/* V80 — accueil épuré + bannière avis Google                                */
/* ========================================================================== */
.mm-home-clean .mm-home-featured{display:none!important}
.mm-google-reviews{
  padding:54px 0 62px;
  background:#0d0e11;
  color:#fff;
  overflow:hidden;
}
.mm-google-reviews-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:28px;
}
.mm-google-kicker{
  display:block;
  margin-bottom:8px;
  color:#e3131b;
  font-size:11px;
  font-weight:950;
  letter-spacing:.18em;
}
.mm-google-reviews h2{
  margin:0;
  color:#fff;
  font-size:clamp(30px,3vw,46px);
  line-height:1;
  letter-spacing:-.04em;
}
.mm-google-link{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
  color:#fff;
  font-size:10px;
  letter-spacing:.1em;
  white-space:nowrap;
}
.mm-google-stars{color:#f5b800;letter-spacing:.09em;font-size:16px}
.mm-google-track-wrap{overflow:hidden;margin-left:calc((100vw - min(1240px,92vw))/2 * -1);margin-right:calc((100vw - min(1240px,92vw))/2 * -1)}
.mm-google-track{
  display:flex;
  gap:16px;
  width:max-content;
  padding:2px 16px 4px;
  animation:mmGoogleMarquee 38s linear infinite;
}
.mm-google-track:hover{animation-play-state:paused}
.mm-google-review-card{
  width:min(380px,82vw);
  min-height:190px;
  padding:22px;
  background:linear-gradient(145deg,#17191e 0%,#111216 100%);
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 16px 40px rgba(0,0,0,.18);
}
.mm-google-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mm-google-badge{color:#aeb3bc;font-size:10px;font-weight:850;letter-spacing:.08em}
.mm-google-review-card p{margin:22px 0 24px;color:#f4f4f5;font-size:15px;line-height:1.55}
.mm-google-review-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.07);padding-top:14px}
.mm-google-review-card footer strong{font-size:12px}.mm-google-review-card footer span{color:#858b94;font-size:10px}
.mm-google-empty{display:flex;align-items:center;gap:18px;padding:22px 24px;background:#15171c;border:1px solid rgba(255,255,255,.07)}
.mm-google-empty .mm-google-stars{font-size:22px}.mm-google-empty div{display:flex;flex-direction:column;gap:4px}.mm-google-empty strong{font-size:14px}.mm-google-empty div span{color:#969ca5;font-size:12px}
@keyframes mmGoogleMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){
  .mm-google-reviews{padding:38px 0 46px}
  .mm-google-reviews-head{align-items:flex-start;flex-direction:column;gap:15px}
  .mm-google-link{align-items:flex-start}
  .mm-google-review-card{width:82vw;min-height:175px;padding:18px}
  .mm-google-track{animation-duration:30s}
}


/* ==========================================================================
   V83 — navigation directe par catégorie (Sport Racing, Sport Naked, etc.)
   ========================================================================== */
.mm-mega-category,
.mm-brand-filter{
  text-decoration:none!important;
}

.mm-mega-category:visited,
.mm-brand-filter:visited{
  color:inherit;
}

#modeles{
  scroll-margin-top:110px;
}


/* ==========================================================================
   V84 — correctif menu burger mobile
   ========================================================================== */
@media(max-width:900px){
  .mm-header-inner{
    position:relative!important;
  }

  .mm-mobile-menu-toggle{
    position:relative!important;
    z-index:30020!important;
    display:flex!important;
    flex:0 0 44px!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
  }

  .mm-mobile-menu-toggle span{
    display:block!important;
    pointer-events:none!important;
  }

  .mm-mobile-menu{
    position:fixed!important;
    inset:0!important;
    z-index:30010!important;
  }

  .mm-mobile-menu.is-open{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  .mm-mobile-menu-panel{
    z-index:2!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .mm-mobile-menu-backdrop{
    z-index:1!important;
  }

  html.mm-mobile-menu-open,
  body.mm-mobile-menu-open{
    overflow:hidden!important;
  }
}

/* V85 — source officielle sous caractéristiques */
.qj-tech-source{
  margin:14px 0 0;
  color:#7b7f85;
  font-size:11px;
  line-height:1.4;
}
.qj-tech-source a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}


/* ==========================================================================
   V86 — caractéristiques techniques intégrées au design global
   ========================================================================== */
.qj-tech-table-section{
  --tech-accent:#df0716;
  --tech-bg:#0f1013;
  --tech-panel:#17181c;
  --tech-panel-2:#1d1f24;
  --tech-line:rgba(255,255,255,.09);
  --tech-muted:#9da1a9;
  width:min(1180px,92%)!important;
  margin:58px auto 72px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
  box-shadow:none!important;
}

.qj-page.brand-qjmotor .qj-tech-table-section{--tech-accent:#df0716}
.qj-page.brand-peugeot .qj-tech-table-section{--tech-accent:#0f547d}
.qj-page.brand-kymco .qj-tech-table-section{--tech-accent:#ca1a22}

.qj-tech-table-head{
  position:relative!important;
  padding:0 0 24px!important;
  margin-bottom:18px!important;
  border:0!important;
  background:transparent!important;
}
.qj-tech-table-head::before{display:none!important}
.qj-tech-table-head>span{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0 0 10px!important;
  color:var(--tech-accent)!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.18em!important;
}
.qj-tech-table-head>span::before{
  content:"";
  width:28px;
  height:3px;
  background:var(--tech-accent);
}
.qj-tech-table-head h2{
  margin:0 0 10px!important;
  color:#111216!important;
  font-size:clamp(34px,4vw,56px)!important;
  line-height:.96!important;
  letter-spacing:-.045em!important;
}
.qj-tech-table-head p{
  margin:0!important;
  color:#6f737a!important;
  font-size:14px!important;
  line-height:1.5!important;
}

.qj-tech-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.qj-tech-card{
  position:relative;
  min-width:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 32%),
    var(--tech-panel);
  color:#fff;
  border:1px solid var(--tech-line);
  overflow:hidden;
  box-shadow:0 16px 40px rgba(7,8,10,.08);
}

.qj-tech-card::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,var(--tech-accent),transparent 75%);
}

.qj-tech-card-head{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:58px;
  padding:17px 20px 15px;
  background:var(--tech-bg);
  border-bottom:1px solid var(--tech-line);
}
.qj-tech-card-line{
  width:4px;
  height:26px;
  flex:0 0 auto;
  background:var(--tech-accent);
}
.qj-tech-card-head h3{
  margin:0!important;
  color:#fff!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}

.qj-tech-card-body{
  padding:4px 20px 8px;
}
.qj-tech-spec-row{
  display:grid;
  grid-template-columns:minmax(145px,.8fr) minmax(0,1.2fr);
  gap:22px;
  align-items:center;
  min-height:56px;
  padding:11px 0;
  border-bottom:1px solid var(--tech-line);
}
.qj-tech-spec-row:last-child{
  border-bottom:0;
}

.qj-tech-spec-label{
  color:var(--tech-muted);
  font-size:11px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.qj-tech-spec-value{
  color:#fff;
  font-size:13px;
  line-height:1.4;
  font-weight:760;
  text-align:right;
}

.qj-tech-card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.15);
  box-shadow:0 20px 48px rgba(7,8,10,.13);
}
.qj-tech-card{
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.qj-tech-source{
  margin:16px 2px 0!important;
  color:#858990!important;
  font-size:10px!important;
  text-align:right;
}
.qj-tech-source a{
  color:inherit!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

/* Les anciennes règles de tableau restent inoffensives, le tableau n'existe plus. */
.qj-tech-table,
.qj-tech-table-wrap{display:none!important}

@media(max-width:820px){
  .qj-tech-table-section{
    width:92%!important;
    margin:38px auto 48px!important;
  }
  .qj-tech-cards{
    grid-template-columns:1fr;
    gap:12px;
  }
  .qj-tech-table-head{
    padding-bottom:18px!important;
    margin-bottom:10px!important;
  }
  .qj-tech-table-head h2{
    font-size:36px!important;
  }
}

@media(max-width:560px){
  .qj-tech-card-head{
    min-height:52px;
    padding:14px 16px 13px;
  }
  .qj-tech-card-head h3{
    font-size:15px!important;
  }
  .qj-tech-card-body{
    padding:2px 16px 6px;
  }
  .qj-tech-spec-row{
    grid-template-columns:1fr;
    gap:5px;
    min-height:auto;
    padding:13px 0;
  }
  .qj-tech-spec-label{
    font-size:9.5px;
  }
  .qj-tech-spec-value{
    font-size:13px;
    text-align:left;
  }
  .qj-tech-source{
    text-align:left!important;
  }
}


/* ==========================================================================
   V89 — FREINS intégré visuellement dans PARTIE-CYCLE
   ========================================================================== */
.qj-tech-card-has-subsection{
  display:flex;
  flex-direction:column;
}

.qj-tech-subsection{
  margin-top:0;
  border-top:1px solid rgba(255,255,255,.13);
}

.qj-tech-subsection-head{
  min-height:58px;
  padding:17px 20px 15px;
  background:#0f1013;
  border-bottom:1px solid rgba(255,255,255,.09);
}

.qj-tech-subsection-head h3{
  margin:0!important;
  color:#fff!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}

.qj-tech-subsection-body{
  padding-top:4px;
}

/* évite une double bordure en fin de première section */
.qj-tech-card-has-subsection > .qj-tech-card-body{
  padding-bottom:8px;
}

@media(max-width:560px){
  .qj-tech-subsection-head{
    min-height:52px;
    padding:14px 16px 13px;
  }

  .qj-tech-subsection-head h3{
    font-size:15px!important;
  }
}


/* ==========================================================================
   V90 — catégories du méga-menu centrées sous le constructeur
   ========================================================================== */
@media(min-width:901px){
  .mm-mega-catalog .mm-mega-categories{
    width:max-content!important;
    max-width:100%!important;
    flex:0 0 auto!important;
  }

  .mm-mega-catalog .mm-mega-category{
    flex:0 0 auto!important;
  }
}


/* ==========================================================================
   V91 — style du menu "Nos modèles" aligné comme la maquette
   ========================================================================== */
.mm-brand-filterbar{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
  margin:28px 0 34px;
}

.mm-brand-filter{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:62px;
  padding:0 34px;
  border:1px solid #d7d7da;
  background:#fff;
  color:#111;
  font:900 15px/1 Arial,sans-serif;
  letter-spacing:.015em;
  text-transform:uppercase;
  white-space:nowrap;
  text-align:center;
  vertical-align:middle;
}

.mm-brand-filter.is-active{
  background:#d71920;
  border-color:#d71920;
  color:#fff;
}

@media(max-width:820px){
  .mm-brand-filterbar{
    gap:10px;
    margin:22px 0 26px;
  }
  .mm-brand-filter{
    min-height:52px;
    padding:0 20px;
    font-size:13px;
  }
}


/* ==========================================================================
   V92 — vues détaillées statiques : aucun hover, aucun clic
   ========================================================================== */
.qj-detail-image{
  display:block;
  width:100%;
  height:360px;
  background:#090a0c;
  overflow:hidden;
  cursor:default!important;
}

.qj-detail-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:none!important;
  transition:none!important;
  pointer-events:none!important;
}

.qj-detail-card,
.qj-detail-card:hover,
.qj-detail-image:hover,
.qj-detail-image:hover img{
  transform:none!important;
  box-shadow:none!important;
}

.qj-detail-zoom,
.qj-detail-modal{
  display:none!important;
}

@media(max-width:760px){
  .qj-detail-image{
    height:280px;
  }
}
