:root{--vs-bg:#0f172a;--vs-accent:#f97316;--vs-accent2:#fb923c;--vs-text:#1e293b;--vs-muted:#64748b;--vs-line:#e2e8f0;--vs-card:#fff;--vs-r:14px}
.vs-hero,.vs-catalogue,.vs-cats,.vs-single,.vs-contact,.vs-deposer{font-family:inherit;color:var(--vs-text);box-sizing:border-box}
.vs-hero *,.vs-catalogue *,.vs-cats *,.vs-single *,.vs-contact *,.vs-deposer *{box-sizing:border-box}
.vs-h2{margin:2.2rem 0 1rem}

/* Boutons / champs */
.vs-btn{display:inline-block;background:var(--vs-accent);color:#fff!important;border:0;border-radius:999px;padding:.75rem 1.5rem;font-weight:700;cursor:pointer;text-decoration:none;transition:transform .15s,background .15s}
.vs-btn:hover{background:var(--vs-accent2);transform:translateY(-2px)}
.vs-search input,.vs-search select,.vs-filters input,.vs-filters select,.vs-contact input,.vs-contact textarea,.vs-deposer input,.vs-deposer select,.vs-deposer textarea{width:100%;padding:.7rem .9rem;border:1px solid var(--vs-line);border-radius:10px;font:inherit;background:#fff;color:var(--vs-text)}

/* Hero */
.vs-hero{position:relative;overflow:hidden;border-radius:0 0 var(--vs-r) var(--vs-r);margin-bottom:2rem;min-height:520px;background:var(--vs-bg);color:#fff;width:100%}
.vs-hero__slides{position:absolute;inset:0}
.vs-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s;background-size:cover;background-position:center;display:flex;align-items:center}
.vs-slide.is-active{opacity:1;visibility:visible}
.vs-c-voiture{background-color:#1e3a8a;background-image:linear-gradient(135deg,#0f172a,#1d4ed8)}
.vs-c-moto,.vs-c-scooter{background-color:#7f1d1d;background-image:linear-gradient(135deg,#1c1917,#b91c1c)}
.vs-c-camping-car,.vs-c-caravane{background-color:#14532d;background-image:linear-gradient(135deg,#052e16,#16a34a)}
.vs-c-velo-electrique{background-color:#134e4a;background-image:linear-gradient(135deg,#042f2e,#0d9488)}
.vs-c-utilitaire{background-color:#44403c;background-image:linear-gradient(135deg,#1c1917,#78716c)}
.vs-slide__inner{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem 6rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.vs-slide__text{max-width:560px;transform:translateY(20px);opacity:0;transition:all .8s .2s}
.vs-slide.is-active .vs-slide__text{transform:none;opacity:1}
.vs-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;font-weight:700;background:rgba(255,255,255,.15);padding:.3rem .8rem;border-radius:999px}
.vs-slide h2{font-size:clamp(2rem,5vw,3.6rem);line-height:1.1;margin:1rem 0;color:#fff}
.vs-slide p{font-size:1.15rem;opacity:.9;margin:0 0 1.5rem}
.vs-slide__art{flex:1;max-width:520px;color:rgba(255,255,255,.92);transform:translateX(120px);opacity:0}
.vs-slide.is-active .vs-slide__art{animation:vs-drive 1.4s cubic-bezier(.2,.8,.2,1) .2s forwards}
.vs-slide__art svg{width:100%;height:auto;filter:drop-shadow(0 20px 25px rgba(0,0,0,.35))}
@keyframes vs-drive{from{transform:translateX(160px);opacity:0}to{transform:none;opacity:1}}
.vs-nav{position:absolute;top:42%;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:1.8rem;cursor:pointer;line-height:1}
.vs-nav:hover{background:rgba(255,255,255,.4)}
.vs-nav--prev{left:14px}.vs-nav--next{right:14px}
.vs-dots{position:absolute;z-index:3;left:0;right:0;bottom:92px;display:flex;justify-content:center;gap:8px}
.vs-dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.4);padding:0;cursor:pointer}
.vs-dots button.is-active{background:var(--vs-accent);width:28px;border-radius:6px}
.vs-search{position:absolute;z-index:4;left:50%;bottom:20px;transform:translateX(-50%);width:min(960px,94%);display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:.6rem;background:#fff;padding:.7rem;border-radius:999px;box-shadow:0 15px 40px rgba(0,0,0,.3)}
.vs-search input,.vs-search select{border:0;background:#f1f5f9;border-radius:999px}

/* Catégories */
.vs-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem}
.vs-cat{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.2rem .6rem;border:1px solid var(--vs-line);border-radius:var(--vs-r);background:var(--vs-card);text-decoration:none;color:var(--vs-text);font-weight:600;transition:all .2s}
.vs-cat svg{width:90px;height:auto;color:var(--vs-accent)}
.vs-cat:hover{transform:translateY(-4px);box-shadow:0 10px 25px rgba(15,23,42,.12);border-color:var(--vs-accent)}

/* Catalogue */
.vs-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;margin-bottom:1.2rem}
.vs-count{color:var(--vs-muted);margin:.5rem 0 1rem}
.vs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem}
.vs-card{background:var(--vs-card);border:1px solid var(--vs-line);border-radius:var(--vs-r);overflow:hidden;transition:all .2s}
.vs-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,23,42,.14)}
.vs-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden}
.vs-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.vs-card:hover img{transform:scale(1.06)}
.vs-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:rgba(255,255,255,.9);padding:1.5rem}
.vs-ph svg{width:80%;height:auto}
.vs-badge{position:absolute;top:10px;left:10px;padding:.25rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;color:#fff;background:var(--vs-accent)}
.vs-badge--location{background:#0ea5e9}
.vs-card__body{padding:1rem 1.1rem 1.2rem}
.vs-card__body h3{margin:0 0 .3rem;font-size:1.1rem}
.vs-card__body h3 a{color:inherit;text-decoration:none}
.vs-card__meta{color:var(--vs-muted);font-size:.9rem;margin:0 0 .6rem}
.vs-card__price{margin:0;display:flex;flex-direction:column;gap:.1rem}
.vs-card__price strong{font-size:1.25rem;color:var(--vs-accent)}
.vs-card__price span{font-size:.9rem;color:#0369a1;font-weight:600}
.vs-pager{margin-top:1.5rem;display:flex;gap:.4rem;flex-wrap:wrap}
.vs-pager .page-numbers{padding:.4rem .8rem;border:1px solid var(--vs-line);border-radius:8px;text-decoration:none;color:var(--vs-text)}
.vs-pager .current{background:var(--vs-accent);color:#fff;border-color:var(--vs-accent)}
.vs-empty{padding:2rem;text-align:center;color:var(--vs-muted)}

/* Fiche */
.vs-single__ph{border-radius:var(--vs-r);padding:2rem;color:#fff;margin-bottom:1rem;display:flex;justify-content:center}
.vs-single__ph svg{max-width:340px;width:100%;height:auto}
.vs-single__price{display:flex;flex-wrap:wrap;gap:1rem;align-items:baseline;margin:1rem 0}
.vs-single__price strong{font-size:2rem;color:var(--vs-accent)}
.vs-single__price span{font-weight:600;color:#0369a1}
.vs-specs{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem}
.vs-specs li{display:flex;flex-direction:column;background:#f8fafc;border:1px solid var(--vs-line);border-radius:10px;padding:.6rem .9rem}
.vs-specs span{font-size:.78rem;color:var(--vs-muted)}
.vs-contact{margin-top:2rem;padding:1.5rem;background:#f8fafc;border:1px solid var(--vs-line);border-radius:var(--vs-r)}
.vs-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem;margin-bottom:.7rem}
.vs-contact textarea,.vs-deposer textarea{margin-bottom:.9rem}
.vs-notice{background:#dcfce7;color:#166534;padding:.8rem 1rem;border-radius:10px}
.vs-notice--err{background:#fee2e2;color:#991b1b}

@media(max-width:760px){
  .vs-hero{min-height:620px}
  .vs-slide__inner{flex-direction:column;padding:2rem 1.2rem 15rem;align-items:flex-start}
  .vs-slide__art{max-width:260px}
  .vs-search{grid-template-columns:1fr;border-radius:18px;bottom:12px}
  .vs-search input,.vs-search select{border-radius:12px}
  .vs-dots{bottom:230px}
  .vs-nav{display:none}
}
@media(prefers-reduced-motion:reduce){.vs-slide,.vs-slide__text,.vs-slide__art{transition:none!important;animation:none!important;transform:none!important;opacity:1}}

/* Location entre particuliers + covoiturage */
.vs-c-covoiturage{background-color:#581c87;background-image:linear-gradient(135deg,#2e1065,#9333ea)}
.vs-badge--part{left:auto;right:10px;background:#7c3aed}
.vs-owner{display:inline-block;background:#f3e8ff;color:#6b21a8;border-radius:999px;padding:.25rem .8rem;font-size:.85rem;font-weight:700;margin:.5rem 0 0}
.vs-terms{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.3rem}
.vs-unavail{background:#fef3c7;color:#92400e;border-radius:10px;padding:.6rem .9rem;font-size:.9rem}
.vs-estimate{font-weight:700;color:var(--vs-accent);min-height:1.4em;margin:.2rem 0 .6rem}
.vs-contact label{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;color:var(--vs-muted)}
.vs-checks label{display:inline-flex;flex-direction:row;align-items:center;gap:.35rem;margin-right:1rem;font-size:.95rem;color:var(--vs-text)}
.vs-checks input,.vs-contact p>label input[type=checkbox]{width:auto}
.vs-btn--ghost{background:transparent;color:var(--vs-text)!important;border:2px solid var(--vs-text)}
.vs-btn--ghost:hover{background:var(--vs-text);color:#fff!important}
.vs-note{font-size:.9rem;color:var(--vs-muted);margin:.5rem 0 1rem}
.vs-trips{display:grid;gap:1rem}
.vs-trip{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--vs-card);border:1px solid var(--vs-line);border-radius:var(--vs-r);padding:1rem 1.3rem;transition:all .2s}
.vs-trip:hover{box-shadow:0 12px 28px rgba(15,23,42,.12);transform:translateY(-2px)}
.vs-trip__main{display:flex;flex-direction:column;gap:.3rem;color:inherit;text-decoration:none;flex:1;min-width:0}
.vs-trip__when{font-size:.85rem;color:var(--vs-muted);font-weight:600;text-transform:capitalize}
.vs-trip__route{display:flex;align-items:center;gap:.7rem;font-size:1.15rem}
.vs-trip__route--big{font-size:1.6rem;margin:0 0 .5rem}
.vs-trip__line{flex:0 1 80px;min-width:30px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--vs-accent),#9333ea);position:relative}
.vs-trip__line::after{content:"";position:absolute;right:-1px;top:-4px;border-left:9px solid #9333ea;border-top:5.5px solid transparent;border-bottom:5.5px solid transparent}
.vs-trip__who{font-size:.9rem;color:var(--vs-muted)}
.vs-trip__side{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;white-space:nowrap}
.vs-trip__price{font-size:1.3rem;font-weight:800;color:var(--vs-accent)}
.vs-trip__price small{font-size:.75rem;color:var(--vs-muted);font-weight:500}
.vs-trip__seats{font-size:.85rem;color:#0369a1;font-weight:600}
.vs-covoit .vs-filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:center}
@media(max-width:560px){.vs-trip{flex-direction:column;align-items:flex-start}.vs-trip__side{align-items:flex-start}}

/* Comptes, paiement */
.vs-loginbox{background:#f8fafc;border:1px dashed var(--vs-line);border-radius:var(--vs-r);padding:1.2rem;text-align:center;margin:.6rem 0}
.vs-loginbox p{margin:0 0 .8rem}
.vs-auth{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem}
.vs-card-form{background:#fff;border:1px solid var(--vs-line);border-radius:var(--vs-r);padding:1.4rem;display:grid;gap:.7rem;align-content:start}
.vs-card-form h3{margin:0 0 .3rem}
.vs-card-form input{width:100%;padding:.7rem .9rem;border:1px solid var(--vs-line);border-radius:10px;font:inherit}
.vs-check{display:flex;gap:.5rem;align-items:flex-start;font-size:.9rem}
.vs-check input{width:auto;margin-top:.25rem}
.vs-account h4{margin:2rem 0 .6rem;padding-bottom:.4rem;border-bottom:2px solid var(--vs-line)}
.vs-acc-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.8rem}
.vs-acc-head h3{margin:0}
.vs-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--vs-line);border-radius:12px;padding:.9rem 1.1rem;margin-bottom:.6rem}
.vs-row .vs-meta{display:block;font-size:.85rem;color:var(--vs-muted)}
.vs-row__side{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end}
.vs-inline{display:inline}
.vs-btn--sm{padding:.4rem 1rem;font-size:.9rem}
.vs-tag{display:inline-block;background:#e2e8f0;color:#334155;border-radius:999px;padding:.2rem .7rem;font-size:.78rem;font-weight:700}
.vs-tag--payee,.vs-tag--acceptee{background:#dcfce7;color:#166534}
.vs-tag--a_payer{background:#fef3c7;color:#92400e}
.vs-tag--refusee,.vs-tag--expiree{background:#fee2e2;color:#991b1b}
.vs-paybox{background:#f8fafc;border:1px solid var(--vs-line);border-radius:var(--vs-r);padding:1rem 1.3rem;margin-top:1rem}
.vs-paybox h4{margin-top:0;border:0}

/* Galerie, vidéo, badges */
.vs-gallery{margin:0 0 1.2rem}
.vs-gallery__main{display:block;width:100%;padding:0;border:0;background:#0f172a;border-radius:var(--vs-r);overflow:hidden;cursor:zoom-in;aspect-ratio:16/10}
.vs-gallery__main img{width:100%;height:100%;object-fit:cover;display:block}
.vs-gallery__thumbs{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin:.6rem 0 0;padding:0}
.vs-gallery__thumbs button{display:block;width:100%;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;aspect-ratio:4/3;background:#e2e8f0;opacity:.75;transition:all .15s}
.vs-gallery__thumbs button:hover,.vs-gallery__thumbs button.is-active{opacity:1;border-color:var(--vs-accent)}
.vs-gallery__thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.vs-video{position:relative;aspect-ratio:16/9;border-radius:var(--vs-r);overflow:hidden;background:#000;margin:0 0 1.2rem}
.vs-video iframe,.vs-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.vs-badges-br{position:absolute;right:10px;bottom:10px;display:flex;gap:.3rem}
.vs-badges-br .vs-badge{position:static;background:rgba(15,23,42,.8)}
.vs-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(2,6,23,.92);display:flex;align-items:center;justify-content:center;padding:1rem}
.vs-lightbox[hidden]{display:none}
.vs-lightbox img{max-width:100%;max-height:100%;border-radius:8px}
.vs-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:1.8rem;width:48px;height:48px;border-radius:50%;cursor:pointer}
.vs-lightbox .vs-lb-x{top:14px;right:14px}.vs-lightbox .vs-lb-p{left:14px;top:50%}.vs-lightbox .vs-lb-n{right:14px;top:50%}
.vs-form-grid--media{grid-template-columns:1fr}
.vs-deposer label{display:grid;gap:.3rem;font-size:.9rem;color:var(--vs-muted)}
.vs-edit-thumbs{list-style:none;display:flex;flex-wrap:wrap;gap:.8rem;padding:0;margin:0 0 1rem}
.vs-edit-thumbs li{width:140px;font-size:.8rem}
.vs-edit-thumbs img{width:140px;height:105px;object-fit:cover;border-radius:10px;display:block}
.vs-card:focus-within{box-shadow:0 0 0 3px rgba(249,115,22,.4)}
.vs-filters select[name=vs_tri]{min-width:140px}
@media(max-width:560px){.vs-gallery__thumbs{grid-template-columns:repeat(5,1fr);gap:.3rem}}

/* ---------- Hero animé : route, montagnes, véhicules en mouvement ---------- */
.vs-hero--road{min-height:640px;color:#fff;background:linear-gradient(180deg,#0b1437 0%,#1e3a8a 38%,#f97316 78%,#fdba74 100%);display:flex;align-items:flex-start;border-radius:0}
.vs-sun{position:absolute;right:12%;bottom:210px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#fff7ed 0 35%,#fdba74 60%,rgba(253,186,116,0) 72%);animation:vs-pulse 6s ease-in-out infinite}
.vs-clouds i{position:absolute;height:26px;border-radius:999px;background:rgba(255,255,255,.18);animation:vs-cloud linear infinite}
.vs-clouds i::before{content:"";position:absolute;left:18%;top:-14px;width:44%;height:26px;border-radius:999px;background:inherit}
.vs-clouds i:nth-child(1){top:14%;width:150px;animation-duration:70s;animation-delay:-20s}
.vs-clouds i:nth-child(2){top:30%;width:110px;animation-duration:95s;animation-delay:-60s}
.vs-clouds i:nth-child(3){top:8%;width:190px;animation-duration:120s;animation-delay:-90s}
.vs-mtn{position:absolute;left:0;bottom:104px;width:200%;display:flex;animation:vs-scroll linear infinite}
.vs-mtn svg{width:50%;height:100%;display:block}
.vs-mtn--far{height:230px;fill:#2b4a99;opacity:.85;animation-duration:140s}
.vs-mtn--near{height:170px;fill:#14213d;bottom:96px;animation-duration:80s}
.vs-hero__content{position:relative;z-index:3;width:100%;max-width:1200px;margin:0 auto;padding:3.5rem 2rem 15rem}
.vs-hero--road h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.1;margin:1rem 0;color:#fff;max-width:760px;text-shadow:0 4px 24px rgba(0,0,0,.35)}
.vs-hero--road p{font-size:1.15rem;opacity:.95;margin:0 0 1.2rem;max-width:560px}
.vs-rotator{display:inline-block;color:#fdba74;transition:opacity .35s,transform .35s}
.vs-rotator.is-out{opacity:0;transform:translateY(10px)}
.vs-hero__cta{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.4rem}
.vs-btn--glass{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(4px)}
.vs-btn--glass:hover{background:rgba(255,255,255,.3)}
.vs-hero--road .vs-search{position:static;transform:none;width:min(900px,100%);margin:0}
.vs-road{position:absolute;left:0;right:0;bottom:0;height:150px;z-index:2;overflow:hidden;background:linear-gradient(180deg,#1f2937 0 70%,#111827)}
.vs-road::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:#0f172a}
.vs-road__line{position:absolute;left:0;right:0;top:62%;height:5px;background:repeating-linear-gradient(90deg,#fde68a 0 46px,transparent 46px 92px);animation:vs-line .7s linear infinite}
.vs-road__lane{position:absolute;left:0;right:0}
.vs-road__lane--back{top:2px;height:80px}
.vs-road__lane--front{bottom:2px;height:100px}
.vs-veh{position:absolute;bottom:0;left:0;will-change:transform}
.vs-veh--front{width:230px;animation:vs-drive-r 21s linear infinite;animation-delay:var(--d)}
.vs-veh--back{width:140px;animation:vs-drive-l 26s linear infinite;animation-delay:var(--d);bottom:6px;opacity:.92}
.vs-veh__svg{display:block;width:100%;height:auto;overflow:visible}
.vs-veh--back .vs-veh__svg{transform:scaleX(-1)}
.vs-bob{animation:vs-bob .5s ease-in-out infinite alternate}
.vs-veh--back .vs-bob{animation-duration:.6s}
.vs-wh{animation:vs-spin .55s linear infinite}
@keyframes vs-drive-r{from{transform:translateX(-300px)}to{transform:translateX(calc(100vw + 100px))}}
@keyframes vs-drive-l{from{transform:translateX(calc(100vw + 100px))}to{transform:translateX(-300px)}}
@keyframes vs-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes vs-line{from{background-position:0 0}to{background-position:-92px 0}}
@keyframes vs-spin{to{transform:rotate(360deg)}}
@keyframes vs-bob{from{transform:translateY(0)}to{transform:translateY(-1.6px)}}
@keyframes vs-cloud{from{transform:translateX(-260px)}to{transform:translateX(calc(100vw + 260px))}}
@keyframes vs-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media(max-width:760px){
  .vs-hero--road{min-height:700px}
  .vs-hero__content{padding:2rem 1.2rem 14rem}
  .vs-hero--road .vs-search{grid-template-columns:1fr;border-radius:18px}
  .vs-veh--front{width:150px}
  .vs-veh--back{width:96px}
  .vs-road{height:120px}
  .vs-sun{right:6%;width:80px;height:80px;bottom:170px}
}
@media(prefers-reduced-motion:reduce){
  .vs-hero--road *{animation:none!important;transition:none!important}
  .vs-veh{transform:translateX(var(--x))!important;left:0}
  .vs-veh--front{left:var(--x);transform:none!important}
  .vs-veh--back{left:var(--x);transform:none!important}
}

/* ---------- Annonces Premium ---------- */
.vs-premium{position:relative;background:linear-gradient(135deg,#fffbeb,#fff7ed);border:1px solid #fcd34d;border-radius:20px;padding:1.4rem 1.4rem 1.6rem;margin:2rem 0 2.4rem;box-shadow:0 24px 60px rgba(180,83,9,.18);z-index:4}
.vs-premium__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.vs-premium__head h2{margin:0;font-size:clamp(1.3rem,2.6vw,1.8rem);color:#92400e}
.vs-premium__head h2 span{color:#f59e0b}
.vs-premium__head a{color:#b45309;font-weight:700;text-decoration:none}
.vs-grid--premium{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.vs-card--premium{border:2px solid #f59e0b;box-shadow:0 10px 28px rgba(245,158,11,.28);position:relative}
.vs-card--premium::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);background-size:250% 100%;animation:vs-shine 4.5s ease-in-out infinite}
.vs-premium-tag{position:absolute;left:10px;bottom:10px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#451a03;font-weight:800;font-size:.75rem;padding:.25rem .7rem;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
@keyframes vs-shine{0%{background-position:150% 0}60%,100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.vs-card--premium::after{animation:none;display:none}}

/* ---------- Partenaires : leasing et assurance ---------- */
.vs-partners{display:grid;grid-template-columns:1.2fr 1.4fr;gap:1.6rem;align-items:center;background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;border-radius:22px;padding:1.8rem;margin:0 0 2rem;box-shadow:0 20px 50px rgba(15,23,42,.25)}
.vs-partners__kicker{display:inline-block;background:rgba(255,255,255,.14);border-radius:999px;padding:.2rem .8rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.vs-partners h2{color:#fff;margin:.6rem 0 .4rem;font-size:clamp(1.3rem,2.6vw,1.9rem)}
.vs-partners p{margin:0;opacity:.9}
.vs-partners__cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.vs-partner{display:flex;flex-direction:column;gap:.35rem;background:#fff;color:#1e293b;border-radius:16px;padding:1.1rem 1.2rem;text-decoration:none;transition:transform .15s,box-shadow .15s}
.vs-partner:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.3)}
.vs-partner__ico{font-size:1.8rem}
.vs-partner strong{font-size:1.2rem;color:#0f172a}
.vs-partner span:not(.vs-partner__ico){font-size:.9rem;color:#64748b}
.vs-partner em{font-style:normal;font-weight:700;color:#ea580c;margin-top:.3rem}
.vs-partner--assur em{color:#0369a1}
@media(max-width:800px){.vs-partners,.vs-partners__cards{grid-template-columns:1fr}}
.vs-finance{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;padding:1rem 1.2rem;margin:1.5rem 0}
.vs-finance strong{display:block;color:#1e3a8a}
.vs-finance span small{color:#64748b}
.vs-finance__btns{display:flex;gap:.5rem;flex-wrap:wrap}
.vs-leasing__tabs{display:flex;gap:.5rem;margin-bottom:1.2rem}
.vs-leasing__tabs a{padding:.55rem 1.3rem;border-radius:999px;border:2px solid #e2e8f0;font-weight:700;text-decoration:none;color:#1e293b}
.vs-leasing__tabs a.is-active{background:#0f172a;border-color:#0f172a;color:#fff}
.vs-leasing__calc{background:#f8fafc;border:1px solid var(--vs-line);border-radius:var(--vs-r);padding:1.2rem 1.4rem;margin-bottom:1.4rem}
.vs-leasing__calc h3,.vs-leasing__form h3{margin-top:0}
.vs-leasing__calc label{display:grid;gap:.3rem;font-size:.9rem;color:var(--vs-muted)}
.vs-leasing__calc input,.vs-leasing__calc select{padding:.65rem .8rem;border:1px solid var(--vs-line);border-radius:10px;font:inherit}
.vs-leasing__result{font-size:1.2rem;margin:.8rem 0 .3rem}
.vs-leasing__result strong{font-size:1.8rem;color:#ea580c}

/* ---------- Formulaire d'assurance détaillé ---------- */
.vs-ins__sec{border:1px solid var(--vs-line);border-radius:var(--vs-r);padding:1rem 1.2rem 1.2rem;margin:0 0 1.2rem;background:#fff}
.vs-ins__sec legend{padding:0 .6rem;font-weight:800;color:#0f172a}
.vs-ins label{display:grid;gap:.3rem;font-size:.9rem;color:var(--vs-muted)}
.vs-ins label.vs-check{display:flex}
.vs-ins input[type=text],.vs-ins input[type=date],.vs-ins input[type=email],.vs-ins input[type=tel],.vs-ins input[type=number],.vs-ins select,.vs-ins textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--vs-line);border-radius:10px;font:inherit;color:var(--vs-text);background:#fff}
.vs-ins .vs-checks{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:0 0 .8rem}
.vs-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.vs-drop__zone{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;text-align:center;border:2px dashed #94a3b8;border-radius:var(--vs-r);padding:1.6rem 1rem;cursor:pointer;background:#f8fafc;color:#334155!important;transition:all .15s}
.vs-drop__zone:hover,.vs-drop__zone.is-over,.vs-drop input:focus-visible+.vs-drop__zone{border-color:var(--vs-accent);background:#fff7ed}
.vs-drop__zone strong{color:#0f172a}
.vs-drop__list{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.4rem}
.vs-drop__list li{display:flex;justify-content:space-between;align-items:center;gap:.6rem;background:#f1f5f9;border-radius:10px;padding:.4rem .8rem;font-size:.9rem}
.vs-drop__list button{border:0;background:#cbd5e1;border-radius:50%;width:26px;height:26px;cursor:pointer;line-height:1}
.vs-drop__err{margin:.5rem 0 0;color:#b91c1c;font-size:.9rem}
.vs-lang{display:inline-flex;gap:.1rem;border:1px solid var(--vs-line,#e2e8f0);border-radius:999px;padding:.15rem;font-size:.8rem;font-weight:700}
.vs-lang a{padding:.2rem .6rem;border-radius:999px;text-decoration:none;color:inherit}
.vs-lang a.is-active{background:#0f172a;color:#fff}
.vs-single__total{font-weight:700;color:#475569;font-size:.95rem}
