/* ============================================================
   NS AUTO — Nouvelle expérience "Véhicules"
   Fichier séparé pour ne rien casser dans css/style.css.
   Réutilise les variables de couleur définies dans style.css (:root).
   ============================================================ */

/* Header permanent (foncé) pour les pages sans hero sombre (catalogue, fiche) */
.header-solid{
  background:rgba(10,10,10,0.92) !important;
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  padding:14px 40px !important;
}

/* ===== Boutons noir/blanc pour pages claires (cohérents avec le style NS Auto) ===== */
.btn-dark{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 28px; font-size:12px;
  letter-spacing:0.14em; text-transform:uppercase; font-weight:500; cursor:pointer; border:1px solid var(--black);
  background:var(--black); color:#fff; transition:all .3s ease; text-decoration:none;
}
.btn-dark:hover{ background:#000; opacity:.88; }
.btn-outline-dark{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 28px; font-size:12px;
  letter-spacing:0.14em; text-transform:uppercase; font-weight:500; cursor:pointer; border:1px solid var(--black);
  background:transparent; color:var(--black); transition:all .3s ease; text-decoration:none;
}
.btn-outline-dark:hover{ background:var(--black); color:#fff; }

/* ===== Carte véhicule v2 ===== */
.v2-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:32px;
}
.v2-card{
  display:block; text-decoration:none; color:inherit;
  transition:transform .35s ease;
  opacity:0; transform:translateY(24px);
}
.v2-card.in-view{ opacity:1; transform:translateY(0); transition:opacity .5s ease, transform .5s ease; transition-delay:calc(var(--rd,0) * .06s); }
.v2-card:hover{ transform:translateY(-4px); }
.v2-photo{
  position:relative; width:100%; aspect-ratio:4/3; overflow:hidden; background:var(--mist);
}
.v2-photo img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .5s ease;
}
.v2-card:hover .v2-photo img{ transform:scale(1.035); }
.v2-fav{
  position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%;
  background:rgba(255,255,255,0.85); backdrop-filter:blur(4px); border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; z-index:2; transition:background .25s ease;
}
.v2-fav svg{ width:16px; height:16px; fill:none; stroke:var(--black); stroke-width:1.8; transition:all .25s ease; }
.v2-fav:hover{ background:#fff; }
.v2-fav.active svg{ fill:#e8433f; stroke:#e8433f; }
.v2-sold{
  position:absolute; top:14px; left:14px; background:var(--black); color:#fff;
  font-size:10px; letter-spacing:0.1em; text-transform:uppercase; padding:5px 11px; font-weight:600; z-index:1;
}
.v2-arrow{
  position:absolute; bottom:14px; right:14px; color:#fff; font-size:18px; opacity:0;
  transform:translateX(-6px); transition:opacity .3s ease, transform .3s ease;
  text-shadow:0 1px 4px rgba(0,0,0,.4);
}
.v2-card:hover .v2-arrow{ opacity:1; transform:translateX(0); }
.v2-body{ padding-top:16px; }
.v2-title{ font-family:'Oswald',sans-serif; font-size:16px; text-transform:none; letter-spacing:0; margin-bottom:4px; }
.v2-price{ font-family:'Oswald',sans-serif; font-size:17px; font-weight:600; margin-bottom:6px; }
.v2-meta{ font-size:13px; color:var(--graphite); margin:0; }

@media(max-width:900px){
  .v2-grid{ grid-template-columns:1fr 1fr; gap:20px; }
}
@media(max-width:560px){
  .v2-grid{ grid-template-columns:1fr; gap:22px; }
}

/* ===== Aperçu véhicules (accueil) ===== */
.v2-preview-footer{ text-align:center; margin-top:44px; }
.v2-see-all{
  font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.08em; text-transform:uppercase;
  border-bottom:1px solid var(--black); padding-bottom:3px; transition:opacity .2s ease;
}
.v2-see-all:hover{ opacity:.6; }

/* ===== Page catalogue ===== */
.cat-wrap{ max-width:1320px; margin:0 auto; padding:130px 32px 100px; }
.cat-head{ margin-bottom:6px; }
.cat-head h1{ font-family:'Oswald',sans-serif; font-size:34px; }
.cat-sub{ color:var(--graphite); font-size:14px; margin-bottom:36px; }

.cat-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 0; border-top:1px solid var(--line-dark,#e2e2e2); border-bottom:1px solid var(--line-dark,#e2e2e2);
  margin-bottom:32px; flex-wrap:wrap;
}
.cat-count{ font-size:13px; color:var(--graphite); }
.cat-toolbar-actions{ display:flex; align-items:center; gap:14px; }
.cat-sort select, .cat-filter-btn{
  font-family:'Inter',sans-serif; font-size:13px; border:1px solid var(--line-dark,#ddd); background:#fff;
  padding:9px 14px; cursor:pointer; color:var(--black);
}
.cat-filter-btn{ display:none; }

.cat-layout{ display:grid; grid-template-columns:240px 1fr; gap:48px; align-items:start; }

.cat-filters{ position:sticky; top:110px; }
.cat-filter-group{ margin-bottom:26px; }
.cat-filter-group h4{
  font-family:'Oswald',sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:0.08em;
  margin-bottom:12px; color:var(--graphite);
}
.cat-filter-group select, .cat-filter-group input[type="number"]{
  width:100%; font-family:'Inter',sans-serif; font-size:13px; padding:8px 10px; border:1px solid var(--line-dark,#ddd);
  background:#fff; color:var(--black); margin-bottom:8px;
}
.cat-range-row{ display:flex; gap:8px; }
.cat-filter-reset{ font-size:12px; color:var(--graphite); text-decoration:underline; cursor:pointer; background:none; border:none; padding:0; }

.cat-empty{ padding:70px 20px; text-align:center; color:var(--graphite); grid-column:1/-1; }

/* Drawer filtres mobile */
.cat-drawer-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:900; opacity:0; pointer-events:none; transition:opacity .3s ease;
}
.cat-drawer-overlay.open{ opacity:1; pointer-events:auto; }
.cat-drawer{
  position:fixed; top:0; right:0; bottom:0; width:86%; max-width:340px; background:#fff; z-index:901;
  transform:translateX(100%); transition:transform .35s ease; overflow-y:auto; padding:24px;
}
.cat-drawer.open{ transform:translateX(0); }
.cat-drawer-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.cat-drawer-close{ background:none; border:none; font-size:22px; cursor:pointer; }
.cat-drawer-apply{ position:sticky; bottom:0; background:#fff; padding-top:16px; margin-top:12px; }

@media(max-width:900px){
  .cat-wrap{ padding-top:110px; }
  .cat-layout{ grid-template-columns:1fr; }
  .cat-filters{ display:none; }
  .cat-filter-btn{ display:inline-block; }
}

/* ============================================================
   FICHE VÉHICULE IMMERSIVE
   ============================================================ */
.vd-breadcrumb{ font-size:12px; color:var(--graphite); margin-bottom:18px; }
.vd-breadcrumb a{ color:var(--graphite); }
.vd-breadcrumb a:hover{ color:var(--black); }

.vd-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:28px; flex-wrap:wrap; }
.vd-top h1{ font-family:'Oswald',sans-serif; font-size:30px; margin-bottom:4px; }
.vd-top-tagline{ color:var(--graphite); font-size:14px; margin-bottom:10px; }
.vd-top-meta{ color:var(--graphite); font-size:14px; display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.vd-top-meta span{ display:flex; align-items:center; gap:6px; }
.vd-top-meta svg{ width:15px; height:15px; stroke:var(--graphite); fill:none; stroke-width:1.6; }
.vd-top-actions{ display:flex; gap:10px; }
.vd-icon-btn{
  display:flex; align-items:center; gap:6px; font-size:13px; border:1px solid var(--line-dark,#ddd);
  padding:9px 14px; background:#fff; cursor:pointer; color:var(--black);
}
.vd-icon-btn svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8; }
.vd-icon-btn.active svg{ fill:#e8433f; stroke:#e8433f; }

.vd-hero{ display:grid; grid-template-columns:68% 1fr; gap:40px; align-items:start; margin-bottom:60px; }

/* Galerie */
.vd-gallery-main{ position:relative; width:100%; aspect-ratio:16/10; background:var(--mist); overflow:hidden; cursor:zoom-in; }
.vd-gallery-main img{ width:100%; height:100%; object-fit:cover; display:block; transition:opacity .25s ease; }
.vd-gallery-nav{
  position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.85); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:18px; z-index:2;
}
.vd-gallery-nav.prev{ left:14px; }
.vd-gallery-nav.next{ right:14px; }
.vd-gallery-counter{
  position:absolute; bottom:14px; right:14px; background:rgba(0,0,0,.6); color:#fff; font-size:12px;
  padding:4px 10px; border-radius:20px; z-index:2;
}
.vd-360-btn{
  position:absolute; bottom:14px; left:14px; background:rgba(255,255,255,.9); border:none; cursor:pointer;
  font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:0.06em; padding:6px 12px; z-index:2;
}
.vd-thumbs{ display:flex; gap:8px; margin-top:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.vd-thumb{ width:84px; height:60px; object-fit:cover; flex:0 0 auto; cursor:pointer; opacity:.6; transition:opacity .2s ease, outline .2s ease; position:relative; }
.vd-thumb.active{ opacity:1; outline:2px solid var(--black); outline-offset:-2px; }
.vd-thumb-more{ position:relative; flex:0 0 auto; cursor:pointer; }
.vd-thumb-more img{ width:84px; height:60px; object-fit:cover; opacity:.5; }
.vd-thumb-more span{
  position:absolute; inset:0; background:rgba(10,10,10,.55); color:#fff; font-size:11px;
  display:flex; align-items:center; justify-content:center; text-align:center; line-height:1.2; padding:4px;
}

/* Lightbox plein écran */
.vd-lightbox{
  position:fixed; inset:0; background:rgba(10,10,10,.97); z-index:950; display:none;
  align-items:center; justify-content:center; flex-direction:column;
}
.vd-lightbox.open{ display:flex; }
.vd-lightbox img{ max-width:92vw; max-height:82vh; object-fit:contain; }
.vd-lightbox-close{ position:absolute; top:20px; right:24px; color:#fff; font-size:28px; background:none; border:none; cursor:pointer; }
.vd-lightbox .vd-gallery-nav{ position:fixed; top:50%; background:rgba(255,255,255,.15); color:#fff; }
.vd-lightbox .vd-gallery-nav:hover{ background:rgba(255,255,255,.3); }

/* Carte prix */
.vd-price-card{ border:1px solid var(--line-dark,#e2e2e2); padding:28px; position:sticky; top:110px; }
.vd-price-card .vd-price{ font-family:'Oswald',sans-serif; font-size:30px; font-weight:600; }
.vd-price-monthly{ font-size:13px; color:var(--graphite); margin-top:2px; }
.vd-price-card .btn-dark, .vd-price-card .btn-outline-dark{ width:100%; margin-top:12px; text-align:center; display:flex; }
.vd-price-checks{ list-style:none; padding:0; margin:22px 0 0; }
.vd-price-checks li{ font-size:13px; color:var(--graphite); margin-bottom:12px; display:flex; gap:10px; align-items:center; }
.vd-price-checks svg{ width:17px; height:17px; stroke:var(--black); fill:none; stroke-width:1.6; flex:0 0 auto; }

/* 4 blocs infos essentielles (sobre, sans quadrillage) */
.vd-specs4{ display:flex; justify-content:space-between; gap:20px; padding:32px 0; border-top:1px solid var(--line-dark,#e2e2e2); border-bottom:1px solid var(--line-dark,#e2e2e2); margin-bottom:64px; }
.vd-spec4-item{ text-align:center; flex:1; }
.vd-spec4-item svg{ width:24px; height:24px; stroke:var(--black); fill:none; stroke-width:1.5; margin-bottom:8px; }
.vd-spec4-value{ font-family:'Oswald',sans-serif; font-size:17px; font-weight:600; }
.vd-spec4-label{ font-size:12px; color:var(--graphite); margin-top:2px; }
@media(max-width:700px){ .vd-specs4{ flex-wrap:wrap; } .vd-spec4-item{ flex:0 0 45%; } }

/* Présentation + Reprise, côte à côte (comme la référence) */
.vd-lower-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:64px; align-items:stretch; }
.vd-emotion-card{ }
.vd-emotion-card img{ width:100%; aspect-ratio:16/10; object-fit:cover; margin-bottom:18px; }
.vd-emotion-card h2{ font-family:'Oswald',sans-serif; font-size:20px; line-height:1.3; margin-bottom:10px; }
.vd-emotion-card p{ font-size:14px; line-height:1.65; color:var(--graphite); }
.vd-emotion-card .btn-video{
  display:inline-flex; align-items:center; gap:8px; margin-top:14px; font-size:13px; color:var(--black);
  border:none; background:none; padding:0; text-decoration:none;
}
.vd-emotion-card .btn-video svg{ width:22px; height:22px; stroke:var(--black); fill:none; stroke-width:1.5; }

.vd-tradein{ border:1px solid var(--line-dark,#e2e2e2); padding:34px; display:flex; flex-direction:column; justify-content:center; }
.vd-tradein h2{ font-family:'Oswald',sans-serif; font-size:20px; margin-bottom:10px; }
.vd-tradein p{ color:var(--graphite); font-size:14px; margin-bottom:20px; }
@media(max-width:800px){ .vd-lower-grid{ grid-template-columns:1fr; } }

/* Pourquoi cet exemplaire */
.vd-why{ background:var(--mist); padding:44px 40px; margin-bottom:64px; }
.vd-why h2{ font-family:'Oswald',sans-serif; font-size:20px; margin-bottom:22px; }
.vd-why-list{ list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:14px 30px; }
.vd-why-list li{ font-size:14px; display:flex; gap:10px; align-items:flex-start; }
.vd-why-list li::before{ content:'✓'; color:var(--black); font-weight:700; }
@media(max-width:600px){ .vd-why-list{ grid-template-columns:1fr; } }

/* Équipements / Caractéristiques */
.vd-block{ margin-bottom:56px; }
.vd-block h2{ font-family:'Oswald',sans-serif; font-size:20px; margin-bottom:20px; }
.vd-equip-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px 24px; }
.vd-equip-item{ font-size:14px; display:flex; gap:8px; align-items:center; }
.vd-equip-item::before{ content:'•'; }
@media(max-width:700px){ .vd-equip-grid{ grid-template-columns:1fr 1fr; } }
.vd-see-more{ margin-top:20px; font-size:13px; text-decoration:underline; background:none; border:none; cursor:pointer; color:var(--black); }

.vd-carac-groups{ display:none; margin-top:24px; }
.vd-carac-groups.open{ display:block; }
.vd-carac-group{ margin-bottom:20px; }
.vd-carac-group h4{ font-family:'Oswald',sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:10px; }
.vd-carac-group ul{ list-style:none; padding:0; columns:2; }
.vd-carac-group li{ font-size:13.5px; color:var(--graphite); margin-bottom:6px; break-inside:avoid; }

/* Modal équipements complets */
.vd-modal-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:960; display:none; align-items:center; justify-content:center; padding:20px; }
.vd-modal-overlay.open{ display:flex; }
.vd-modal{ background:#fff; max-width:620px; width:100%; max-height:80vh; overflow-y:auto; padding:32px; }
.vd-modal-close{ float:right; background:none; border:none; font-size:22px; cursor:pointer; }

/* ===== Schéma de voiture cliquable (état du véhicule) — image fournie + zones superposées ===== */
.car-diagram-wrap{ max-width:900px; margin:0 auto 20px; }
.car-diagram-panels{ display:flex; gap:24px; }
.car-diagram-panel{ flex:1; text-align:center; background:#fff; padding:10px 8px 4px; }
.car-diagram-media{ position:relative; }
.car-diagram-img{ width:100%; height:auto; display:block; }
.car-diagram-overlay{ position:absolute; inset:0; width:100%; height:100%; }
.car-diagram-panel-label{ font-family:'Oswald',sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--graphite); margin-top:6px; }
.car-zone{ fill:rgba(0,0,0,0.035); stroke:rgba(0,0,0,0.15); stroke-width:1.5; cursor:pointer; transition:fill .2s ease; }
.car-zone:hover{ fill:rgba(0,0,0,0.1); }
.car-zone.damaged{ fill:rgba(232,67,63,0.4); stroke:#c62828; stroke-width:2; }
.car-zone.damaged:hover{ fill:rgba(232,67,63,0.55); }
.car-diagram-legend{ display:flex; gap:20px; justify-content:center; margin-top:6px; font-size:12px; color:var(--graphite); }
.car-diagram-legend span{ display:inline-flex; align-items:center; gap:6px; }
.car-diagram-legend .dot{ width:10px; height:10px; border-radius:3px; display:inline-block; }
.car-diagram-legend .dot.ok{ background:rgba(0,0,0,0.1); }
.car-diagram-legend .dot.ko{ background:#e8433f; }
@media(max-width:560px){ .car-diagram-panels{ flex-direction:column; } }

/* ===== État du véhicule (une carte par défaut, comme la référence) ===== */
.vd-inspection-header{ display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:32px; flex-wrap:wrap; }
.vd-inspection-header h2{ font-family:'Oswald',sans-serif; font-size:26px; margin-bottom:6px; }
.vd-inspection-header .sub{ color:var(--graphite); font-size:14px; }
.vd-inspection-badge{
  display:flex; gap:14px; align-items:flex-start; background:var(--mist); padding:16px 20px; max-width:340px;
}
.vd-inspection-badge svg{ width:22px; height:22px; stroke:var(--black); fill:none; stroke-width:1.5; flex:0 0 auto; margin-top:2px; }
.vd-inspection-badge strong{ font-family:'Oswald',sans-serif; font-size:13.5px; display:block; margin-bottom:3px; }
.vd-inspection-badge span{ font-size:12.5px; color:var(--graphite); line-height:1.5; }

.vd-defect-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.vd-defect-card{ background:var(--mist); }
.vd-defect-card-head{ display:flex; gap:12px; align-items:flex-start; padding:18px 18px 14px; }
.vd-defect-card-head svg{ width:22px; height:22px; stroke:var(--black); fill:none; stroke-width:1.5; flex:0 0 auto; margin-top:2px; }
.vd-defect-card-head h3{ font-family:'Oswald',sans-serif; font-size:15px; text-transform:none; letter-spacing:0; margin-bottom:2px; }
.vd-defect-card-head .zone{ font-size:12.5px; color:var(--graphite); }
.vd-defect-main-photo{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; background:#e6e6e6; }
.vd-defect-thumbs{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#fff; }
.vd-defect-thumbs img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.vd-defect-body{ padding:16px 18px 20px; }
.vd-defect-body .lbl{ font-family:'Oswald',sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--graphite); margin-bottom:4px; }
.vd-defect-body .desc{ font-size:13.5px; margin-bottom:14px; }
.vd-gravite{ display:inline-flex; align-items:center; gap:7px; font-size:13px; }
.vd-gravite .dot{ width:9px; height:9px; border-radius:50%; }
.vd-gravite.leger .dot{ background:#3ecf6a; }
.vd-gravite.moyen .dot{ background:#f5a623; }
.vd-gravite.grave .dot{ background:#e8433f; }
@media(max-width:900px){ .vd-defect-grid{ grid-template-columns:1fr; } }


/* NS Auto Custom (fiche) */
.vd-custom{ background:var(--black); color:#fff; padding:54px 40px; margin-bottom:64px; }
.vd-custom h2{ font-family:'Oswald',sans-serif; font-size:24px; margin-bottom:10px; }
.vd-custom p{ color:var(--silver,#c9cbce); max-width:560px; margin-bottom:28px; font-size:14px; }
.vd-custom-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:28px; }
.vd-custom-item{ border:1px solid rgba(255,255,255,.2); padding:22px; text-align:center; font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:0.06em; text-transform:uppercase; }
.vd-custom .btn-outline-white{ border:1px solid #fff; color:#fff; background:transparent; padding:12px 24px; display:inline-block; font-size:13px; }
@media(max-width:700px){ .vd-custom-grid{ grid-template-columns:1fr; } }

/* Véhicules similaires */
.vd-similar h2{ font-family:'Oswald',sans-serif; font-size:22px; margin-bottom:26px; }

/* Barre sticky mobile */
.vd-mobile-bar{
  display:none; position:fixed; left:0; right:0; bottom:0; background:#fff; border-top:1px solid var(--line-dark,#e2e2e2);
  padding:12px 18px; z-index:500; align-items:center; justify-content:space-between; gap:14px;
}
.vd-mobile-bar .price{ font-family:'Oswald',sans-serif; font-size:16px; font-weight:600; }
.vd-mobile-bar .btn-dark{ padding:11px 18px; font-size:13px; }
@media(max-width:900px){
  .vd-hero{ grid-template-columns:1fr; }
  .vd-price-card{ position:static; }
  .vd-mobile-bar{ display:flex; }
  body.has-vd-mobile-bar{ padding-bottom:70px; }
}

/* Visualiseur 360° (préparation) */
.vehicle-360-viewer{ position:relative; width:100%; height:100%; touch-action:none; user-select:none; cursor:grab; }
.vehicle-360-viewer img{ width:100%; height:100%; object-fit:cover; pointer-events:none; }
.vehicle-360-viewer.dragging{ cursor:grabbing; }

/* ===== Catalogue concession — redesign 2026 ===== */
.catalog-hero{position:relative;height:305px;overflow:hidden;background:#080808;color:#fff;margin-top:0}
.catalog-hero-bg{position:absolute!important;inset:0!important;z-index:0!important;background-position:center 61%!important;animation:none!important;transform:none!important}
.catalog-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 36%,rgba(0,0,0,.15) 70%,rgba(0,0,0,.32) 100%)}
.catalog-hero-inner{position:relative;z-index:2;max-width:1500px;margin:0 auto;padding:112px 48px 30px}
.catalog-eyebrow{color:#d6d6d6!important;margin-bottom:10px}
.catalog-hero h1{font-family:'Oswald',sans-serif;font-size:58px;line-height:1;text-transform:uppercase;letter-spacing:-.02em;margin:0 0 14px}
.catalog-hero p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.82);margin:0}
.cat-wrap.catalog-redesign{max-width:1500px;padding:0 36px 90px}
.catalog-toolbar-top{margin:0 -36px 28px;padding:18px 36px;background:#fff;display:grid;grid-template-columns:240px minmax(320px,1fr) auto;border-top:0}
.cat-search-wrap{position:relative;max-width:620px;width:100%}
.cat-search-wrap input{width:100%;height:44px;border:1px solid #d9d9d9;padding:0 16px 0 43px;font:13px 'Inter',sans-serif;outline:none;background:#fff}
.cat-search-wrap input:focus{border-color:#111}
.cat-search-icon{position:absolute;left:15px;top:8px;font-size:23px;color:#111;line-height:1}
.catalog-redesign .cat-layout{grid-template-columns:250px minmax(0,1fr);gap:34px}
.catalog-redesign .cat-filters{background:#f6f6f6;padding:24px 20px;top:88px}
.catalog-redesign .cat-filter-group{margin-bottom:19px}
.catalog-redesign .cat-filter-group h4{color:#111;margin-bottom:8px}
.catalog-redesign .cat-filter-group select,.catalog-redesign .cat-filter-group input[type=number]{height:40px;margin:0;background:#fff;border-color:#d8d8d8}
.catalog-redesign .cat-filter-reset{margin-top:4px;color:#111}
.catalog-grid.v2-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}
.catalog-grid .v2-card{border:1px solid #e4e4e4;background:#fff;padding-bottom:15px}
.catalog-grid .v2-photo{aspect-ratio:16/10}
.catalog-grid .v2-body{padding:14px 14px 0}
.catalog-grid .v2-title{font-size:17px;margin-bottom:5px}
.catalog-grid .v2-price{font-size:20px;margin-top:10px}
.catalog-grid .v2-meta{font-size:12px;line-height:1.55}
@media(max-width:1100px){.catalog-grid.v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-toolbar-top{grid-template-columns:190px 1fr auto}}
@media(max-width:900px){.catalog-hero{height:245px}.catalog-hero-inner{padding:100px 24px 24px}.catalog-hero h1{font-size:42px}.catalog-hero p br{display:none}.cat-wrap.catalog-redesign{padding:0 18px 70px}.catalog-toolbar-top{margin:0 -18px 22px;padding:14px 18px;grid-template-columns:1fr auto}.catalog-toolbar-top .cat-count{grid-column:1/-1}.cat-search-wrap{max-width:none}.catalog-redesign .cat-layout{grid-template-columns:1fr}.catalog-grid.v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.catalog-hero{height:225px}.catalog-hero-inner{padding:92px 20px 20px}.catalog-hero h1{font-size:38px}.catalog-hero p{font-size:13px}.catalog-toolbar-top{grid-template-columns:1fr auto}.cat-search-wrap{grid-column:1/-1;grid-row:2}.catalog-toolbar-top .cat-toolbar-actions{grid-column:1/-1;justify-content:space-between}.catalog-grid.v2-grid{grid-template-columns:1fr;gap:18px}.catalog-grid .v2-photo{aspect-ratio:16/10}}

/* V38 — Faire une offre */
.btn-offer{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;border:1px solid #d91f2a;background:#d91f2a;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:.2s}.btn-offer:hover{background:#b91822;border-color:#b91822}.ns-offer-overlay{position:fixed;inset:0;z-index:1300;background:rgba(0,0,0,.7);backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px;opacity:0;pointer-events:none;transition:.25s}.ns-offer-overlay.open{opacity:1;pointer-events:auto}.ns-offer-modal{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;background:#f6f6f6;color:#111;border-radius:20px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.ns-offer-close{position:absolute;right:18px;top:18px;width:36px;height:36px;border:0;border-radius:50%;background:#111;color:#fff;font-size:23px}.ns-offer-modal>small{letter-spacing:.18em;color:#777}.ns-offer-modal h2{font:700 34px Oswald,sans-serif;margin:8px 0 4px}.ns-offer-car{color:#666;margin-bottom:22px}.ns-offer-prices{display:flex;justify-content:space-between;gap:15px;margin-bottom:16px}.ns-offer-prices span{display:flex;flex-direction:column;font-size:11px;color:#777}.ns-offer-prices b{font-size:18px;color:#111;margin-top:3px}.ns-offer-prices strong{font-size:26px;color:#d91f2a;margin-top:1px}.ns-offer-modal input[type=range]{width:100%;accent-color:#d91f2a}.ns-offer-field{margin-top:15px}.ns-offer-field label{display:block;font-size:11px;color:#777;margin-bottom:6px}.ns-offer-field>div{display:flex;border:1px solid #ccc;background:#fff}.ns-offer-field input{border:0!important;flex:1;padding:12px!important;font-size:20px!important;font-weight:700;background:transparent!important}.ns-offer-field span{padding:12px;font-weight:700}.ns-offer-feedback{margin:12px 0 18px;padding:10px 12px;border-radius:8px;background:#ececec;font-size:12px}.ns-offer-feedback.good{border-left:3px solid #555}.ns-offer-feedback.low{border-left:3px solid #d91f2a}.ns-offer-contact{border-top:1px solid #ddd;padding-top:18px;display:grid;gap:8px}.ns-offer-contact h3{font:600 20px Oswald,sans-serif;margin:0 0 4px}.ns-offer-contact>input{width:100%;border:1px solid #ccc;background:#fff;padding:12px;border-radius:7px}.ns-offer-contact>input.error{border-color:#d91f2a}.ns-offer-consent{display:flex;gap:8px;align-items:flex-start;font-size:10px;color:#666;margin-top:3px}.ns-offer-send{width:100%;min-height:50px;margin-top:15px;border:0;background:#d91f2a;color:#fff;font-weight:800;border-radius:8px}.ns-offer-send:disabled{background:#222}.ns-offer-legal{font-size:9px;color:#888;text-align:center;margin-top:10px;line-height:1.4}


/* ===== V39 — Essai, transparence, passeport, conseil ===== */
.vd-test-drive-btn{border:0;cursor:pointer;width:100%}.ns-drive-overlay{position:fixed;inset:0;z-index:1450;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px;opacity:0;pointer-events:none;transition:.25s}.ns-drive-overlay.open{opacity:1;pointer-events:auto}.ns-drive-modal{position:relative;width:min(550px,100%);background:#f5f5f5;border-radius:20px;padding:31px;color:#111;box-shadow:0 35px 100px rgba(0,0,0,.4)}.ns-drive-close{position:absolute;right:17px;top:17px;width:36px;height:36px;border:0;border-radius:50%;background:#111;color:#fff;font-size:24px;cursor:pointer}.ns-drive-modal>small{font-size:9px;letter-spacing:.18em;color:#d91f2a;font-weight:700}.ns-drive-modal h2{font:600 31px/1.05 'Oswald',sans-serif;text-transform:uppercase;margin:8px 45px 9px 0}.ns-drive-modal>p{font-size:13px;line-height:1.55;color:#666}.ns-drive-group{margin-top:20px}.ns-drive-group>label{display:block;font-size:11px;font-weight:600;margin-bottom:8px}.ns-drive-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ns-drive-choices button{min-height:45px;border:1px solid #d3d3d3;background:#fff;cursor:pointer;font-weight:600}.ns-drive-choices button.active{background:#111;color:#fff;border-color:#111;box-shadow:inset 0 -3px #d91f2a}.ns-drive-group input{width:100%;height:48px;border:1px solid #ccc;background:#fff;padding:0 13px;font:14px 'Inter',sans-serif}.ns-drive-group input.error{border-color:#d91f2a}.ns-drive-submit{width:100%;min-height:50px;margin-top:21px;border:0;background:#d91f2a;color:#fff;font-weight:800;cursor:pointer}.ns-drive-note{font-size:9px!important;text-align:center;margin-top:10px!important}.vd-transparency{display:grid;grid-template-columns:.75fr 1.25fr;gap:55px;background:#0d0e0f;color:#fff;padding:38px 42px;margin:0 0 34px}.vd-transparency small,.vd-passport-teaser small,.vd-team-advice small{font-size:9px;letter-spacing:.16em;color:#d91f2a;font-weight:700}.vd-transparency h2{font:600 27px 'Oswald',sans-serif;text-transform:uppercase;margin:6px 0 9px}.vd-transparency p{font-size:12px;line-height:1.6;color:#aeb2b5}.vd-transparency ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;list-style:none}.vd-transparency li{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5}.vd-transparency li span{color:#d91f2a;font-weight:800}.vd-passport-teaser{display:flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid #d9d9d9;padding:30px 34px;margin-bottom:34px;background:#f8f8f8}.vd-passport-teaser h2{font:600 25px 'Oswald',sans-serif;margin:5px 0}.vd-passport-teaser p{font-size:12.5px;color:#666;max-width:650px}.vd-passport-btn{border:1px solid #111;background:#111;color:#fff;padding:14px 18px;white-space:nowrap;font-weight:700;cursor:pointer}.vd-passport-overlay{position:fixed;inset:0;z-index:1500;background:rgba(0,0,0,.78);backdrop-filter:blur(9px);display:grid;place-items:center;padding:18px;opacity:0;pointer-events:none;transition:.25s}.vd-passport-overlay.open{opacity:1;pointer-events:auto}.vd-passport-modal{position:relative;width:min(760px,100%);max-height:92vh;overflow:auto;background:#f5f5f5;color:#111;border-radius:20px}.vd-passport-close{position:sticky;float:right;z-index:4;right:16px;top:16px;margin:16px;width:36px;height:36px;border:0;border-radius:50%;background:#fff;font-size:23px;box-shadow:0 4px 16px #0002;cursor:pointer}.vd-passport-cover{background:#111;color:#fff;padding:40px 40px 30px}.vd-passport-cover small{color:#d91f2a;letter-spacing:.15em}.vd-passport-cover h2{font:600 38px 'Oswald',sans-serif;text-transform:uppercase;margin:7px 0 2px}.vd-passport-cover p{color:#bbb}.vd-passport-rows{display:grid;grid-template-columns:1fr 1fr;padding:24px 40px;gap:1px;background:#ddd}.vd-passport-rows>div{display:flex;justify-content:space-between;gap:20px;background:#fff;padding:12px 14px}.vd-passport-rows span{font-size:10px;color:#777}.vd-passport-rows strong{font-size:12px;text-align:right}.vd-passport-block{padding:22px 40px;border-top:1px solid #ddd}.vd-passport-block h3{font:600 18px 'Oswald',sans-serif;margin-bottom:10px}.vd-passport-block p{font-size:12px;line-height:1.6;margin:5px 0}.vd-passport-chips{display:flex;gap:7px;flex-wrap:wrap}.vd-passport-chips span{background:#fff;border:1px solid #ddd;padding:7px 9px;font-size:10px}.vd-passport-foot{padding:18px 40px;background:#ececec;color:#777;font-size:9.5px;line-height:1.5}.vd-team-advice{display:grid;grid-template-columns:68px 1fr;gap:20px;align-items:start;border-left:3px solid #d91f2a;padding:24px 28px;margin:0 0 40px;background:#f3f3f3}.vd-team-avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font:600 18px 'Oswald',sans-serif}.vd-team-advice h2{font:600 20px 'Oswald',sans-serif;margin:4px 0 6px}.vd-team-advice p{font-size:12.5px;color:#666;line-height:1.65}
@media(max-width:700px){.ns-drive-choices{grid-template-columns:1fr}.vd-transparency{grid-template-columns:1fr;gap:22px;padding:28px 22px}.vd-transparency ul{grid-template-columns:1fr}.vd-passport-teaser{display:block;padding:25px 21px}.vd-passport-btn{margin-top:18px;width:100%}.vd-passport-cover{padding:32px 22px 25px}.vd-passport-rows{grid-template-columns:1fr;padding:18px 22px}.vd-passport-block,.vd-passport-foot{padding-left:22px;padding-right:22px}.vd-team-advice{grid-template-columns:48px 1fr;padding:22px 18px}.vd-team-avatar{width:44px;height:44px}}

.ns-choice-help{margin-top:22px;background:#111;color:#fff;padding:22px}.ns-choice-help small{color:#d91f2a;font-size:9px;letter-spacing:.14em;font-weight:700}.ns-choice-help h3{font:600 21px 'Oswald',sans-serif;margin:5px 0}.ns-choice-help>p{font-size:11px;color:#aaa;margin-bottom:14px}.ns-choice-line{display:grid;grid-template-columns:130px 1fr auto;gap:12px;align-items:center;border-top:1px solid #2e2e2e;padding:12px 0}.ns-choice-line b{font:500 13px 'Oswald',sans-serif}.ns-choice-line span{font-size:10.5px;line-height:1.5;color:#d0d0d0}.ns-choice-line a{font-size:10px;color:#fff}.ns-choice-contact{display:inline-block;margin-top:13px;color:#fff;border-bottom:1px solid #d91f2a;padding-bottom:3px;font-size:11px}@media(max-width:600px){.ns-choice-line{grid-template-columns:1fr}.ns-choice-line a{justify-self:start}}

/* ===== V40 — Question WhatsApp type messagerie d’annonce ===== */
.ns-wa-widget{position:fixed;right:24px;bottom:24px;z-index:1180;font-family:'Inter',sans-serif}.ns-wa-bubble{display:flex;align-items:center;gap:11px;min-height:58px;padding:8px 15px 8px 8px;border:0;border-radius:999px;background:#111;color:#fff;box-shadow:0 14px 42px rgba(0,0,0,.28);cursor:pointer;transition:transform .2s,box-shadow .2s}.ns-wa-bubble:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(0,0,0,.34)}.ns-wa-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#25d366;flex:0 0 auto}.ns-wa-icon svg{width:24px;height:24px;fill:#fff}.ns-wa-bubble strong,.ns-wa-bubble small{display:block;text-align:left}.ns-wa-bubble strong{font-size:12px;line-height:1.25}.ns-wa-bubble small{font-size:9px;color:#bfc2c4;margin-top:2px}.ns-wa-panel{position:absolute;right:0;bottom:72px;width:min(390px,calc(100vw - 28px));background:#f7f7f7;color:#111;border:1px solid #dedede;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.30);padding:22px;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:.2s}.ns-wa-widget.open .ns-wa-panel{opacity:1;visibility:visible;transform:none}.ns-wa-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.ns-wa-head small{display:block;color:#d91f2a;font-size:8px;font-weight:800;letter-spacing:.16em;margin-bottom:5px}.ns-wa-head h3{font:600 21px/1.12 'Oswald',sans-serif;text-transform:uppercase;margin:0}.ns-wa-close{width:31px;height:31px;border:0;border-radius:50%;background:#111;color:#fff;font-size:21px;line-height:1;cursor:pointer;flex:0 0 auto}.ns-wa-intro{font-size:11.5px;line-height:1.55;color:#666;margin:13px 0 14px}.ns-wa-quick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}.ns-wa-quick button{border:1px solid #d5d5d5;border-radius:999px;background:#fff;padding:7px 10px;font-size:9.5px;font-weight:700;cursor:pointer;transition:.16s}.ns-wa-quick button:hover,.ns-wa-quick button.active{border-color:#d91f2a;color:#d91f2a;background:#fff}.ns-wa-label{display:block;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px}.ns-wa-panel textarea{display:block;width:100%;resize:vertical;min-height:94px;max-height:180px;border:1px solid #ccc;border-radius:9px;background:#fff;padding:11px 12px;font:12px/1.5 'Inter',sans-serif;outline:none}.ns-wa-panel textarea:focus{border-color:#111}.ns-wa-panel textarea.error{border-color:#d91f2a;box-shadow:0 0 0 2px rgba(217,31,42,.08)}.ns-wa-send{width:100%;min-height:46px;margin-top:11px;border:0;border-radius:8px;background:#25d366;color:#071b0e;padding:0 14px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;cursor:pointer}.ns-wa-send:hover{filter:brightness(.96)}.ns-wa-note{font-size:8.5px;line-height:1.45;color:#888;text-align:center;margin:8px 8px 0}.ns-wa-widget.open .ns-wa-bubble{box-shadow:0 8px 25px rgba(0,0,0,.2)}
@media(max-width:900px){.ns-wa-widget{right:12px;bottom:82px}.ns-wa-bubble{min-height:50px;padding:6px}.ns-wa-bubble>span:last-child{display:none}.ns-wa-icon{width:40px;height:40px}.ns-wa-panel{right:0;bottom:60px;width:min(372px,calc(100vw - 24px));padding:19px}.ns-wa-head h3{font-size:19px}}
