{"id":16714,"date":"2026-08-27T09:00:00","date_gmt":"2026-08-27T07:00:00","guid":{"rendered":"https:\/\/www.mrvin.com\/blog\/leboncoin-buying-guide\/"},"modified":"2026-08-27T11:13:05","modified_gmt":"2026-08-27T09:13:05","slug":"acheter-voiture-leboncoin","status":"publish","type":"page","link":"https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-leboncoin\/","title":{"rendered":"Comment acheter une voiture sur leboncoin sans payer trop cher"},"content":{"rendered":"<style>\n\/* Google Fonts removed 2026-08-21: mrvin-fonts.php self-hosts these exact faces in wp_head, so this was a second request to Google whose only real effect was handing over the visitor IP (GDPR, LG Muenchen I, material in DE\/AT). *\/\nhtml{scroll-behavior:smooth}\n.mrvin-blog-post{--ink:#0B1120;--body:#3A4F66;--muted:#64748B;--faint:#94A3B8;--blue:#003399;--blue2:#2563EB;--tint:#DBEAFE;--bg:#FAFBFC;--surface:#FFFFFF;--surface2:#F8FAFC;--border:#E2E8F0;--green:#1D9E75;--red:#E24B4A;--yellow:#FFD21F;--sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--body);font-family:var(--sans);font-size:18px;line-height:1.78;-webkit-font-smoothing:antialiased}\n.mrvin-blog-post *,.mrvin-blog-post *::before,.mrvin-blog-post *::after{box-sizing:border-box}\n.mrvin-blog-post [id]{scroll-margin-top:92px}\n.mrvin-blog-post a{color:var(--blue2);text-decoration:none}\n.mrvin-blog-post a:hover{text-decoration:underline}\n.mrvin-blog-post p{margin:0 0 1.5rem}\n\/* layout: sticky ToC left + article *\/\n.mrvin-blog-post .layout{max-width:1040px;margin:0 auto;display:flex;gap:48px;align-items:flex-start;padding:96px 24px 0}\n.mrvin-blog-post .wrap{flex:1 1 auto;max-width:720px;min-width:0}\n.mrvin-blog-post .toc-side{flex:0 0 240px;position:sticky;top:92px;align-self:flex-start}\n.mrvin-blog-post .toc{border-left:3px solid var(--tint);padding:2px 0 2px 22px;margin:0}\n.mrvin-blog-post .toc-h{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:0 0 10px}\n.mrvin-blog-post .toc ol{margin:0;padding:0 0 0 18px;color:var(--muted);font-size:14.5px;line-height:1.7}\n.mrvin-blog-post .toc li{margin:0 0 9px;padding-left:4px}\n.mrvin-blog-post .toc a{color:var(--body);transition:color .15s,border-color .15s}\n.mrvin-blog-post .toc a:hover{color:var(--blue2)}\n.mrvin-blog-post .toc a.active{color:var(--blue);font-weight:500}\n\/* header *\/\n.mrvin-blog-post .badges{display:flex;gap:8px;align-items:center;margin:8px 0 18px;flex-wrap:wrap}\n.mrvin-blog-post .badge{background:var(--tint);color:var(--blue);font-size:12.5px;font-weight:500;padding:5px 13px;border-radius:20px;letter-spacing:.01em}\n.mrvin-blog-post .date{color:var(--faint);font-size:13.5px}\n.mrvin-blog-post .meta-extra{color:var(--faint);font-size:13.5px}\n.mrvin-blog-post .dot{color:var(--border);margin:0 5px}\n.mrvin-blog-post h1{font-family:var(--sans);color:var(--ink);font-weight:700;font-size:46px;line-height:1.12;letter-spacing:-.01em;margin:0 0 22px}\n.mrvin-blog-post .dek{font-size:21px;line-height:1.55;color:var(--muted);margin:0 0 26px}\n.mrvin-blog-post .byline{display:flex;align-items:center;gap:12px;margin-bottom:34px}\n.mrvin-blog-post .avatar{width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:15px;flex:0 0 auto}\n.mrvin-blog-post .byline .name{color:var(--ink);font-weight:500;font-size:15px;line-height:1.3}\n.mrvin-blog-post .byline .role{color:var(--faint);font-size:13px}\n.mrvin-blog-post .share{display:flex;gap:9px;align-items:center;margin-left:auto}\n.mrvin-blog-post .share a,.mrvin-blog-post .share button{width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:.15s}\n.mrvin-blog-post .share a:hover,.mrvin-blog-post .share button:hover{border-color:var(--blue2);color:var(--blue2)}\n.mrvin-blog-post .cover{width:100%;height:auto;border-radius:18px;border:1px solid var(--border);display:block;margin:0 0 14px;background:var(--tint)}\n.mrvin-blog-post .cover-cap{color:var(--faint);font-size:13px;text-align:center;margin:0 0 44px}\n\/* prose *\/\n.mrvin-blog-post .lead{font-size:21px;line-height:1.7;color:var(--ink);margin:0 0 30px}\n.mrvin-blog-post h2{font-family:inherit;font-weight:700;font-size:31px;line-height:1.22;color:var(--ink);margin:52px auto 26px;letter-spacing:-.022em;text-align:center;max-width:700px;text-wrap:balance}\n.mrvin-blog-post .pullquote{font-family:var(--sans);font-weight:500;font-size:27px;line-height:1.32;color:var(--blue);border-left:4px solid var(--blue);padding:6px 0 6px 26px;margin:38px 0;font-style:italic}\n\/* figure \/ charts *\/\n.mrvin-blog-post figure{margin:38px 0}\n.mrvin-blog-post .card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px 26px 22px}\n.mrvin-blog-post .card h3{font-family:var(--sans);font-weight:700;color:var(--ink);font-size:21px;margin:0 0 4px}\n.mrvin-blog-post .card .sub{color:var(--muted);font-size:14px;margin:0 0 20px}\n.mrvin-blog-post figcaption{color:var(--faint);font-size:13px;margin-top:14px}\n.mrvin-blog-post .chart-box{position:relative;width:100%}\n\/* stat strip *\/\n.mrvin-blog-post .stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:38px 0}\n.mrvin-blog-post .stat{background:var(--surface2);border-radius:14px;padding:22px 20px}\n.mrvin-blog-post .stat .num{font-family:var(--sans);font-weight:700;font-size:38px;line-height:1;color:var(--blue)}\n.mrvin-blog-post .stat .lbl{font-size:14.5px;color:var(--muted);margin-top:10px;line-height:1.45}\n\/* legend *\/\n.mrvin-blog-post .legend{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:14px;font-size:13px;color:var(--muted)}\n.mrvin-blog-post .legend span{display:flex;align-items:center;gap:7px}\n.mrvin-blog-post .swatch{width:12px;height:12px;border-radius:3px;display:inline-block}\n\/* comparison table (Blocksy borders every cell globally -> hard reset, then re-add) *\/\n.mrvin-blog-post table{width:100%;border-collapse:collapse;font-size:15.5px;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}\n.mrvin-blog-post table th,.mrvin-blog-post table td{border:0!important}\n\/* Translated headers are longer than the English ones, and `overflow:hidden`\n   above (which rounds the corners) was silently CLIPPING the last column on a\n   phone in de\/pl\/ro\/lv -- the \"with a history check\" column, which is the whole\n   point of the table. Let it scroll instead. Desktop is untouched. *\/\n@media (max-width:640px){\n\t.mrvin-blog-post .tbl-scroll{overflow-x:auto}\n\t.mrvin-blog-post .tbl-scroll>table{width:max-content;min-width:100%}\n}\n.mrvin-blog-post thead th{background:var(--blue);color:#fff;font-weight:500;text-align:left;padding:15px 18px;font-size:15px}\n.mrvin-blog-post thead th:last-child{background:var(--blue2);text-align:center}\n.mrvin-blog-post thead th:nth-child(2){text-align:center}\n.mrvin-blog-post tbody td{padding:14px 18px;border-top:1px solid var(--border)!important}\n.mrvin-blog-post tbody td:nth-child(2){text-align:center;color:#9A3636}\n.mrvin-blog-post tbody td:last-child{text-align:center;color:#0F6E56;background:var(--surface2);font-weight:500}\n.mrvin-blog-post .ic{font-weight:600;margin-right:5px}\n\/* progress bar + back to top *\/\n.mrvin-blog-post .progress{position:fixed;bottom:0;left:0;height:6px;width:0;background:var(--blue2);z-index:50;transition:width .08s linear;box-shadow:0 -1px 5px rgba(37,99,235,.4)}\n.mrvin-blog-post .totop{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border-radius:50%;background:var(--blue);color:#fff;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:40;box-shadow:0 4px 14px rgba(0,51,153,.3)}\n.mrvin-blog-post .totop.show{opacity:1;pointer-events:auto}\n.mrvin-blog-post .totop:hover{background:#00256e;transform:translateY(-2px)}\n\/* TL;DR \/ takeaway *\/\n.mrvin-blog-post .takeaway{border-left:4px solid var(--green);background:var(--surface2);border-radius:0 10px 10px 0;padding:16px 20px;margin:34px 0;font-size:16.5px;line-height:1.6;color:var(--ink)}\n.mrvin-blog-post .takeaway b{display:block;color:#0F6E56;font-weight:600;font-size:12px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px}\n.mrvin-blog-post .tldr{background:var(--surface2);border:1px solid var(--border);border-radius:16px;padding:24px 26px;margin:34px 0}\n.mrvin-blog-post .eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--blue2);margin:0 0 14px}\n.mrvin-blog-post .tldr ul{margin:0;padding:0;list-style:none}\n.mrvin-blog-post .tldr li{position:relative;padding:0 0 0 28px;margin:0 0 11px;font-size:16px;line-height:1.55;color:var(--ink)}\n.mrvin-blog-post .tldr li:last-child{margin-bottom:0}\n.mrvin-blog-post .tldr li:before{content:\"\\2713\";position:absolute;left:0;top:0;color:var(--green);font-weight:600}\n.mrvin-blog-post .summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px 18px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}\n.mrvin-blog-post .summary-stats .snum{display:block;font-family:var(--sans);font-weight:700;font-size:25px;line-height:1;color:var(--blue)}\n.mrvin-blog-post .summary-stats .slbl{display:block;font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.4}\n\/* reveal on scroll *\/\n.mrvin-blog-post .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}\n.mrvin-blog-post .reveal.in{opacity:1;transform:none}\n\/* read next (internal crawl mesh, foot of every article) *\/\n.mrvin-blog-post .readnext{margin:56px 0 0;padding-top:34px;border-top:1px solid var(--border)}\n.mrvin-blog-post .readnext .eyebrow{margin:0 0 16px}\n.mrvin-blog-post .readnext-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}\n.mrvin-blog-post a.readnext-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .25s}\n.mrvin-blog-post a.readnext-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(4,36,63,.12);border-color:var(--blue2);text-decoration:none}\n.mrvin-blog-post .rn-img{display:block;width:100%;aspect-ratio:16\/9;background:var(--tint) center\/cover no-repeat;border-bottom:1px solid var(--border)}\n.mrvin-blog-post .rn-body{display:flex;flex-direction:column;gap:7px;padding:16px 18px 18px}\n.mrvin-blog-post .rn-title{font-family:var(--sans);font-weight:700;font-size:19px;line-height:1.28;color:var(--ink)}\n.mrvin-blog-post .rn-dek{font-size:14px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}\n.mrvin-blog-post .rn-more{font-size:13.5px;font-weight:600;color:var(--blue2);margin-top:2px}\n@media(max-width:600px){.mrvin-blog-post .readnext-grid{grid-template-columns:1fr}}\n\/* ranked model cards (listicle articles) *\/\n.mrvin-blog-post .car{border-top:1px solid var(--border);padding-top:34px;margin:46px 0 0}\n.mrvin-blog-post .car-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 20px}\n.mrvin-blog-post .car-photos img{width:100%;height:auto;aspect-ratio:16\/9;object-fit:cover;border-radius:12px;border:1px solid var(--border);display:block;background:var(--tint)}\n.mrvin-blog-post .car-head{display:flex;align-items:baseline;gap:14px;margin:0 0 6px}\n.mrvin-blog-post .car-rank{font-family:var(--sans);font-weight:700;font-size:34px;line-height:1;color:#A9CBF0;flex:0 0 auto}\n\/* compact promo variant: keeps the bear beside the copy instead of wrapping above it *\/\n.mrvin-blog-post .promo-vin.pv-compact .pv-head img{min-width:0;max-width:300px;margin:0 auto}\n.mrvin-blog-post .car h2{margin:0;font-size:29px;text-align:left;max-width:none}\n.mrvin-blog-post .car-spec{display:flex;flex-wrap:wrap;align-items:center;gap:0;color:var(--faint);font-size:13.5px;margin:0 0 16px}\n.mrvin-blog-post .car-spec b{color:var(--blue);font-weight:600}\n.mrvin-blog-post .car-spec .sep{display:inline-block;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.55;vertical-align:middle;margin:0 10px}\n.mrvin-blog-post .car-faults{background:var(--surface2);border:1px solid var(--border);border-radius:14px;padding:20px 22px;margin:0 0 20px}\n.mrvin-blog-post .car-faults .eyebrow{color:#9A3636;margin:0 0 12px}\n.mrvin-blog-post .car-faults ul{margin:0;padding:0;list-style:none}\n.mrvin-blog-post .car-faults li{position:relative;padding:0 0 0 22px;margin:0 0 11px;font-size:15.5px;line-height:1.6;color:var(--body)}\n.mrvin-blog-post .car-faults li:last-child{margin-bottom:0}\n.mrvin-blog-post .car-faults li:before{content:\"\";position:absolute;left:2px;top:9px;width:7px;height:7px;border-radius:50%;background:#E24B4A}\n.mrvin-blog-post .car-faults li b{color:var(--ink);font-weight:600}\n.mrvin-blog-post .car-look{font-size:16px;line-height:1.65;margin:0 0 16px}\n.mrvin-blog-post .car-look b{color:var(--ink);font-weight:600}\n.mrvin-blog-post .car-take{border-left:4px solid var(--green);background:var(--surface2);border-radius:0 10px 10px 0;padding:13px 18px;margin:0 0 12px;font-size:16px;line-height:1.55;color:var(--ink)}\n.mrvin-blog-post .car-take b{color:#0F6E56;font-weight:600}\n.mrvin-blog-post .car-src{color:var(--faint);font-size:12.5px;margin:0}\n@media(max-width:600px){.mrvin-blog-post .car-photos{grid-template-columns:1fr}.mrvin-blog-post .car h2{font-size:25px}.mrvin-blog-post .car-rank{font-size:28px}}\n\/* mileage calculator *\/\n.mrvin-blog-post .calc{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px 26px;margin:36px 0}\n.mrvin-blog-post .calc h3{font-family:var(--sans);font-weight:700;color:var(--ink);font-size:21px;margin:0 0 4px}\n.mrvin-blog-post .calc .sub{color:var(--muted);font-size:14.5px;margin:0 0 18px;line-height:1.5}\n.mrvin-blog-post .calc-row{display:flex;gap:14px;flex-wrap:wrap}\n.mrvin-blog-post .calc-field{flex:1 1 150px}\n.mrvin-blog-post .calc-field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}\n.mrvin-blog-post .calc-field input,.mrvin-blog-post .calc-field select{width:100%;border:1px solid var(--border);border-radius:10px;padding:11px 13px;font-size:16px;font-family:var(--sans);color:var(--ink);background:var(--surface2)}\n.mrvin-blog-post .calc-field input:focus,.mrvin-blog-post .calc-field select:focus{outline:none;border-color:var(--blue2);background:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.15)}\n.mrvin-blog-post .calc-out{margin-top:20px;padding:20px 22px;border-radius:12px;background:var(--surface2);border:1px solid var(--border);display:none}\n.mrvin-blog-post .calc-out.show{display:block}\n.mrvin-blog-post .calc-verdict{font-weight:600;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px}\n.mrvin-blog-post .calc-num{font-family:var(--sans);font-weight:700;font-size:30px;line-height:1;display:block;margin-bottom:14px}\n.mrvin-blog-post .calc-bar{position:relative;height:16px;background:#fff;border:1px solid var(--border);border-radius:8px;margin:6px 0;overflow:hidden}\n.mrvin-blog-post .calc-bar-band{position:absolute;top:0;bottom:0;background:#9FE1CB}\n.mrvin-blog-post .calc-bar-mark{position:absolute;top:-3px;bottom:-3px;width:3px;border-radius:2px}\n.mrvin-blog-post .calc-bar-legend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin:8px 0 16px}\n.mrvin-blog-post .calc-bar-legend .sw{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:5px;vertical-align:-1px}\n.mrvin-blog-post .calc-metrics{display:flex;gap:22px;flex-wrap:wrap;margin:0 0 14px;padding-top:14px;border-top:1px solid var(--border)}\n.mrvin-blog-post .calc-metrics > div{font-size:13px;color:var(--muted)}\n.mrvin-blog-post .calc-metrics b{display:block;font-size:17px;color:var(--ink);font-weight:500;margin-top:3px}\n.mrvin-blog-post .calc-msg{margin:0;font-size:15px;line-height:1.6;color:var(--body)}\n.mrvin-blog-post .calc-src{font-size:12.5px;color:var(--faint);line-height:1.55;margin:14px 0 0}\n.mrvin-blog-post .calc-src a{color:var(--muted);text-decoration:underline}\n\/* inline VIN-check promo *\/\n.mrvin-blog-post .promo{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;background:var(--blue);border-radius:16px;padding:24px 28px;margin:42px 0;position:relative;overflow:hidden}\n.mrvin-blog-post .promo:before{content:\"\";position:absolute;right:-40px;top:-40px;width:170px;height:170px;border:28px solid rgba(255,255,255,.06);border-radius:50%}\n.mrvin-blog-post .promo-text{position:relative;flex:1 1 280px}\n.mrvin-blog-post .promo-h{font-family:var(--sans);font-weight:700;color:#fff;font-size:22px;margin:0 0 5px}\n.mrvin-blog-post .promo-sub{color:#B5D4F4;font-size:15px;margin:0;line-height:1.5}\n.mrvin-blog-post .promo-btn{position:relative;flex:0 0 auto;background:#fff;color:var(--blue);font-weight:500;font-size:15px;padding:13px 24px;border-radius:11px;white-space:nowrap;transition:.15s}\n.mrvin-blog-post .promo-btn:hover{background:var(--yellow);color:#0B1120;text-decoration:none}\n.mrvin-blog-post .promo-alt{text-align:center;font-size:14.5px;margin:-28px 0 42px}\n.mrvin-blog-post .promo-alt a{color:var(--blue);font-weight:500;text-decoration:none}\n.mrvin-blog-post .promo-alt a:hover{text-decoration:underline}\n\/* VIN-check card with bear illustration *\/\n.mrvin-blog-post .promo-vin{display:flex;flex-direction:column;gap:20px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px 26px;margin:42px 0}\n.mrvin-blog-post .pv-head{display:flex;align-items:center;gap:24px;flex-wrap:wrap}\n.mrvin-blog-post .pv-head img{flex:1 1 300px;width:auto;max-width:100%;height:auto}\n.mrvin-blog-post .promo-vin .pv-body{flex:1 1 300px;min-width:0}\n.mrvin-blog-post .promo-vin h3{font-family:var(--sans);font-weight:700;color:var(--ink);font-size:23px;margin:0 0 6px}\n.mrvin-blog-post .promo-vin p{color:var(--muted);font-size:15px;margin:0 0 16px;line-height:1.5}\n\/* VIN search box \u2014 mirrors the homepage hero input (.mrvin-search-*) *\/\n.mrvin-blog-post .mrvin-search-box{background:#FFF;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08),0 4px 8px rgba(0,0,0,.04),0 0 0 1px var(--border);padding:8px;transition:box-shadow .3s;max-width:480px}\n.mrvin-blog-post .promo-vin .mrvin-search-box{max-width:none}\n.mrvin-blog-post .mrvin-search-box:focus-within{box-shadow:0 10px 30px rgba(0,0,0,.08),0 4px 8px rgba(0,0,0,.04),0 0 0 2px var(--blue2)}\n.mrvin-blog-post .mrvin-search-row{display:flex;gap:6px;align-items:center;margin:0}\n.mrvin-blog-post .mrvin-search-input,.mrvin-blog-post .mrvin-search-input:focus{flex:1;min-width:0;width:100%;border:0;outline:none;background:transparent;font-size:16px;font-family:var(--sans);padding:14px 18px;color:var(--ink);border-radius:12px;text-align:left}\n.mrvin-blog-post .mrvin-search-input::placeholder{color:var(--faint)}\n.mrvin-blog-post .mrvin-search-btn{flex:0 0 auto;background:var(--blue2);color:#fff;border:0;border-radius:12px;padding:14px 28px;font-size:15px;font-weight:600;cursor:pointer;font-family:var(--sans);white-space:nowrap;transition:.2s;line-height:1.2}\n.mrvin-blog-post .mrvin-search-btn:hover{background:#1D4ED8;transform:translateY(-1px)}\n.mrvin-blog-post .mrvin-search-hint{font-size:12.5px;color:var(--faint);margin:0}\n.mrvin-blog-post .mrvin-search-hint code{background:#F1F5F9;padding:2px 8px;border-radius:4px;font-size:11.5px;font-family:inherit;font-weight:600;letter-spacing:.02em;color:var(--muted)}\n.mrvin-blog-post .mrvin-search-hint .sep{display:inline-block;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5;vertical-align:middle;margin:0 9px}\n@media(max-width:640px){.mrvin-blog-post h2{font-size:25px}.mrvin-blog-post .mrvin-search-row{flex-direction:column;gap:6px;align-items:stretch}.mrvin-blog-post .mrvin-search-btn{width:100%;padding:14px}}\n\/* endnote *\/\n.mrvin-blog-post .endnote{border-top:1px solid var(--border);margin-top:46px;padding-top:26px;font-size:17.5px;line-height:1.7;color:var(--body)}\n.mrvin-blog-post .endnote a{font-weight:500}\n\/* FAQ *\/\n.mrvin-blog-post .faq{margin:54px 0 0}\n.mrvin-blog-post .faq h2{margin-bottom:6px}\n.mrvin-blog-post .faq-item{border-top:1px solid var(--border);padding:20px 0}\n.mrvin-blog-post .faq-item:last-child{border-bottom:1px solid var(--border)}\n.mrvin-blog-post .faq-q{font-family:var(--sans);font-weight:700;font-size:20px;color:var(--ink);margin:0 0 8px}\n.mrvin-blog-post .faq-a{margin:0;font-size:16.5px;color:var(--body);line-height:1.7}\n\/* author bio *\/\n.mrvin-blog-post .author{display:flex;gap:16px;align-items:flex-start;background:var(--surface2);border-radius:16px;padding:22px 24px;margin:50px 0 0}\n.mrvin-blog-post .author .av{width:52px;height:52px;border-radius:50%;background:var(--blue);color:#fff;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:17px}\n.mrvin-blog-post .author .nm{color:var(--ink);font-weight:500;font-size:16px;margin:0 0 5px}\n.mrvin-blog-post .author p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.6}\n\/* sources *\/\n.mrvin-blog-post .sources{border-top:1px solid var(--border);margin-top:54px;padding-top:26px}\n.mrvin-blog-post .sources h2{font-size:22px;margin:0 auto 16px}\n.mrvin-blog-post .sources ul{list-style:none;padding:0;margin:0}\n.mrvin-blog-post .sources li{font-size:14.5px;color:var(--muted);padding:9px 0;border-bottom:1px solid var(--border);line-height:1.5}\n.mrvin-blog-post .sources li b{color:var(--ink);font-weight:500}\n\/* responsive *\/\n@media(max-width:940px){\n  .mrvin-blog-post .layout{display:block;padding:84px 20px 0}\n  .mrvin-blog-post .wrap{max-width:720px;margin:0 auto}\n  .mrvin-blog-post .toc-side{display:none}\n}\n@media(max-width:640px){\n  .mrvin-blog-post h1{font-size:34px}.mrvin-blog-post .lead{font-size:19px}.mrvin-blog-post .dek{font-size:18px}.mrvin-blog-post{font-size:17px}\n  .mrvin-blog-post .stats{grid-template-columns:1fr}.mrvin-blog-post .byline{flex-wrap:wrap}.mrvin-blog-post .share{margin-left:0}\n}\n\/* ==== used-car-cost-2026: partner cards, entry points, highlighted CTA ====\n   Everything below is emitted by that article alone, except the two rules\n   scoped under .mrvin-blog-used-car-cost-2026, which upgrade the summary\n   ticks and the Takeaway label for that article only. *\/\n.mrvin-blog-post .side-cta{margin-top:26px;border-left:3px solid var(--tint);padding:2px 0 2px 22px}\n.mrvin-blog-post .side-cta .sc-h{font-family:var(--sans);font-weight:700;font-size:16px;line-height:1.25;color:var(--ink);text-align:center;margin:0 0 12px}\n.mrvin-blog-post .side-cta .sc-h b{color:var(--blue);font-weight:400}\n.mrvin-blog-post .side-cta a{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--ink);background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:8px;text-decoration:none;transition:border-color .2s ease,background .2s ease}\n.mrvin-blog-post .side-cta a:hover{background:#fff;border-color:var(--blue2);text-decoration:none}\n.mrvin-blog-post .side-cta .sc-ic{flex:0 0 24px;height:24px;border-radius:7px;background:linear-gradient(140deg,#EDF4FE,#DBEAFE);border:1px solid #CBDDF8;color:var(--blue);display:flex;align-items:center;justify-content:center}\n.mrvin-blog-post .side-cta .sc-ic svg{width:14px;height:14px}\n.mrvin-blog-post .jumpline{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--border);font-size:14.5px;color:var(--muted)}\n.mrvin-blog-post .jumpline a{font-weight:600}\n.mrvin-blog-post .jumpline .sep{color:var(--faint);margin:0 8px}\n.mrvin-blog-post .mbar{position:fixed;left:0;right:0;bottom:0;z-index:9998;display:none;flex-direction:column;gap:8px;background:rgba(255,255,255,.97);border-top:1px solid var(--border);box-shadow:0 -6px 20px rgba(11,17,32,.08);padding:10px 12px;transform:translateY(110%);transition:transform .28s ease}\n.mrvin-blog-post .mbar.on{transform:translateY(0)}\n.mrvin-blog-post .mbar a{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;font-size:14px;font-weight:600;color:#fff;background:var(--blue);border-radius:10px;padding:11px 8px;text-decoration:none}\n.mrvin-blog-post .mbar a.alt{background:var(--surface2);color:var(--ink);border:1px solid var(--border)}\n.mrvin-blog-post .mbar a svg{width:16px;height:16px}\n.mrvin-blog-post .mbar-top{position:relative;display:flex;align-items:center;justify-content:center;gap:8px}\n.mrvin-blog-post .mbar-h{font-family:var(--sans);font-weight:700;font-size:17px;line-height:1.2;color:var(--ink);text-align:center}\n.mrvin-blog-post .mbar-h b{color:var(--blue);font-weight:400}\n.mrvin-blog-post .mbar-row{display:flex;gap:8px}\n.mrvin-blog-post .mbar button{position:absolute;right:0;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--faint);font-size:20px;line-height:1;cursor:pointer;padding:0 2px}\n@media (max-width:1000px){.mrvin-blog-post .mbar{display:flex}}\n.mrvin-blog-post .pcard{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:20px 22px;margin:38px 0;box-shadow:0 2px 10px rgba(11,17,32,.04);transition:box-shadow .2s ease,border-color .2s ease}\n.mrvin-blog-post .pcard:hover{box-shadow:0 10px 26px rgba(11,17,32,.09);border-color:#CBD8EA}\n.mrvin-blog-post .pcard-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}\n.mrvin-blog-post .pcard-ic{flex:0 0 44px;height:44px;border-radius:12px;background:linear-gradient(140deg,#EDF4FE,#DBEAFE);border:1px solid #CBDDF8;color:var(--blue);display:flex;align-items:center;justify-content:center}\n.mrvin-blog-post .pcard-ic svg{width:23px;height:23px}\n.mrvin-blog-post .pcard-body{flex:1 1 240px;min-width:0}\n.mrvin-blog-post .pcard-h{font-family:var(--sans);font-weight:700;font-size:20px;color:var(--ink);margin:0 0 3px;line-height:1.25}\n.mrvin-blog-post .pcard-sub{font-size:15px;color:var(--muted);margin:0;line-height:1.5}\n.mrvin-blog-post .pcard-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;background:var(--blue);color:#fff;border:0;border-radius:10px;font-family:var(--sans);font-size:15.5px;font-weight:600;padding:12px 20px;cursor:pointer;box-shadow:0 4px 12px rgba(0,51,153,.2);transition:background .2s ease,transform .18s ease,box-shadow .18s ease}\n.mrvin-blog-post .pcard-btn:hover{background:var(--blue2);transform:translateY(-1px);box-shadow:0 7px 18px rgba(37,99,235,.28)}\n.mrvin-blog-post .pcard-btn svg{width:16px;height:16px;transition:transform .18s ease}\n.mrvin-blog-post .pcard-btn:hover svg{transform:translateX(3px)}\n.mrvin-blog-post .pcard-slot{display:none;margin-top:18px;border-top:1px solid var(--border);padding-top:18px}\n.mrvin-blog-post .pcard.open .pcard-slot{display:block}\n.mrvin-blog-post .pcard.open .pcard-btn{display:none}\n\/* clickout slot: the Czech partners are links, not embedded widgets, so the\n   revealed slot holds a button-shaped anchor instead of an iframe *\/\n.mrvin-blog-post .pcard-slot a.pgo{display:flex;align-items:center;justify-content:center;gap:9px;font-size:15px;font-weight:600;color:#fff;background:var(--blue);border-radius:12px;padding:14px 18px;text-decoration:none;transition:background .2s ease}\n.mrvin-blog-post .pcard-slot a.pgo:hover{background:var(--blue2);text-decoration:none}\n.mrvin-blog-post .pcard-slot a.pgo svg{width:17px;height:17px;flex:0 0 17px}\n.mrvin-blog-post .partner-disc{border-top:1px solid var(--border);margin-top:30px;padding-top:18px;font-size:12.5px;line-height:1.65;color:var(--faint)}\n.mrvin-blog-post .partner-disc b{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}\n.mrvin-blog-post .pv-body .pv-eyebrow{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue2);margin:0 0 9px}\n.mrvin-blog-post .pv-body .pv-eyebrow svg{width:16px;height:16px;flex:0 0 16px}\n.mrvin-blog-post .promo-vin .mrvin-search-hint{margin:0}\n.mrvin-blog-post .promo-vin .pv-trust{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}\n.mrvin-blog-post .promo-vin .pv-trust li{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:5px 12px}\n.mrvin-blog-post .promo-vin .pv-trust svg{width:14px;height:14px;flex:0 0 14px;color:var(--green)}\n.mrvin-blog-post .mrvin-search-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px}\n.mrvin-blog-post .mrvin-search-btn svg{width:17px;height:17px;flex:0 0 17px;transition:transform .18s ease}\n.mrvin-blog-post .mrvin-search-btn:hover svg{transform:translateX(3px)}\n.mrvin-blog-post .promo.promo-xl{display:block;padding:0;border-radius:20px;margin:46px 0 0;background:linear-gradient(135deg,#002B80 0%,#003399 46%,#1D4ED8 100%);box-shadow:0 18px 44px rgba(0,51,153,.28)}\n.mrvin-blog-post .promo.promo-xl:before{right:-56px;top:-56px;width:210px;height:210px;border-width:34px}\n.mrvin-blog-post .promo.promo-xl:after{content:\"\";position:absolute;left:-70px;bottom:-96px;width:240px;height:240px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,210,31,.22) 0%,rgba(255,210,31,0) 68%)}\n.mrvin-blog-post .promo-xl .promo-inner{position:relative;z-index:1;padding:30px 32px 28px}\n.mrvin-blog-post .promo-xl .promo-main{display:flex;align-items:flex-start;gap:18px}\n.mrvin-blog-post .promo-ic{flex:0 0 52px;height:52px;border-radius:15px;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);display:flex;align-items:center;justify-content:center}\n.mrvin-blog-post .promo-ic svg{width:27px;height:27px}\n.mrvin-blog-post .promo-xl .promo-text{flex:1 1 auto;min-width:0}\n.mrvin-blog-post .promo-xl .promo-eyebrow{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--yellow);margin:0 0 7px}\n.mrvin-blog-post .promo-xl .promo-h{font-size:27px;line-height:1.2;margin:0 0 8px}\n.mrvin-blog-post .promo-xl .promo-sub{font-size:15.5px;max-width:54ch}\n.mrvin-blog-post .promo-xl .promo-trust{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:20px 0 0;padding:0}\n.mrvin-blog-post .promo-xl .promo-trust li{display:flex;align-items:center;gap:7px;font-size:13.5px;color:#DCEAFB;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.17);border-radius:999px;padding:6px 13px}\n.mrvin-blog-post .promo-xl .promo-trust svg{width:15px;height:15px;flex:0 0 15px;color:var(--yellow)}\n.mrvin-blog-post .promo-xl .promo-btn{display:inline-flex;align-items:center;gap:10px;margin:22px 0 0;background:var(--yellow);color:#0B1120;font-weight:700;font-size:16.5px;padding:15px 26px;border-radius:13px;box-shadow:0 8px 20px rgba(0,0,0,.22);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}\n.mrvin-blog-post .promo-xl .promo-btn:hover{background:#FFDD4D;color:#0B1120;transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.3);text-decoration:none}\n.mrvin-blog-post .promo-xl .promo-btn svg{width:19px;height:19px;flex:0 0 19px}\n.mrvin-blog-post .promo-xl .promo-btn .pb-arrow{width:17px;height:17px;flex:0 0 17px;transition:transform .18s ease}\n.mrvin-blog-post .promo-xl .promo-btn:hover .pb-arrow{transform:translateX(3px)}\n.mrvin-blog-post .promo-xl + .promo-alt{margin:16px 0 42px}\n.mrvin-blog-post .promo-xl + .promo-alt a{display:inline-flex;align-items:center;gap:7px}\n.mrvin-blog-post .promo-xl + .promo-alt svg{width:15px;height:15px;flex:0 0 15px}\n.mrvin-blog-post .src-links{display:block;margin-top:6px}\n.mrvin-blog-used-car-cost-2026 .tldr li{padding-left:33px}\n.mrvin-blog-used-car-cost-2026 .tldr li:before{content:\"\";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:7px;background:rgba(29,158,117,.11) url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231D9E75' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.6 4.6L19 7'\/%3E%3C\/svg%3E\") center\/13px 13px no-repeat}\n.mrvin-blog-used-car-cost-2026 .takeaway b{padding-left:21px;line-height:1.5;background:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%230F6E56' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.3 18h5.4'\/%3E%3Cpath d='M10.2 21h3.6'\/%3E%3Cpath d='M12 3a6 6 0 0 0-3.5 10.9c.6.5 1 1.2 1 2h5c0-.8.4-1.5 1-2A6 6 0 0 0 12 3Z'\/%3E%3C\/svg%3E\") left center\/14px 14px no-repeat}\n@media(max-width:600px){\n  .mrvin-blog-post .promo-xl .promo-inner{padding:26px 22px 24px}\n  .mrvin-blog-post .promo-xl .promo-main{gap:14px}\n  .mrvin-blog-post .promo-xl .promo-h{font-size:23px}\n  .mrvin-blog-post .promo-ic{flex:0 0 44px;height:44px;border-radius:13px}\n  .mrvin-blog-post .promo-ic svg{width:23px;height:23px}\n  .mrvin-blog-post .promo-xl .promo-btn{width:100%;justify-content:center}\n}\n@media(prefers-reduced-motion:reduce){\n  .mrvin-blog-post .promo-xl .promo-btn,.mrvin-blog-post .pcard-btn,.mrvin-blog-post .pcard-btn svg,.mrvin-blog-post .mrvin-search-btn svg{transition:none}\n  .mrvin-blog-post .promo-xl .promo-btn:hover,.mrvin-blog-post .pcard-btn:hover{transform:none}\n}\n\n\/* ---------- VIN \/ plate search box, as on the homepage hero ----------\n   The tabs, the country tile and the validation notes are the shared\n   component from snippet 6; these rules only re-scope its sizing to the\n   narrower article column. *\/\n\/* Rail CTA sub label. The rail in the country editions is a single line link,\n   so .sc-geo had no rule and the second line ran into the first. *\/\n.mrvin-blog-post .side-cta .sc-geo{display:block;font-size:11.5px;font-weight:400;color:var(--faint);line-height:1.35;margin-top:3px}\n\n.mrvin-blog-post .mrvin-search-tabs{display:flex;gap:4px;padding:2px 4px 8px}\n.mrvin-blog-post .mrvin-search-tab{padding:7px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:0;outline:none;background:transparent;color:var(--faint);font-family:var(--sans);transition:background .2s,color .2s;line-height:1}\n.mrvin-blog-post .mrvin-search-tab.active{background:var(--tint);color:var(--blue2)}\n.mrvin-blog-post .mrvin-search-tab:hover:not(.active){color:var(--body)}\n.mrvin-blog-post .mrvin-search-row .mrvin-country{align-self:stretch;display:none}\n.mrvin-blog-post .mrvin-search-row .mrvin-country.is-active{display:block}\n.mrvin-blog-post .mrvin-country-tile{height:100%;min-height:52px}\n\n\/* ---------- damage study: data tables ----------\n   .dtable is the plain two or three column figures table. It reuses the\n   base table styling and adds a bar that draws the share inline, so the\n   shape of a distribution is readable without a chart. *\/\n.mrvin-blog-post .dtable{margin:26px 0 0;font-size:15px}\n.mrvin-blog-post .dtable thead th{background:var(--surface2);color:var(--muted);font-weight:600;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;padding:12px 16px;text-align:right}\n.mrvin-blog-post .dtable thead th:first-child{text-align:left}\n.mrvin-blog-post .dtable tbody td{padding:11px 16px;text-align:right;color:var(--body);white-space:nowrap}\n.mrvin-blog-post .dtable tbody td:first-child{text-align:left;color:var(--ink);white-space:normal}\n.mrvin-blog-post .dtable tbody tr.hi td{background:#FFF8E6}\n.mrvin-blog-post .dtable tbody tr.hi td:first-child{font-weight:600}\n.mrvin-blog-post .dtable td .bar{display:block;height:5px;border-radius:3px;background:var(--border);margin-top:6px;min-width:64px}\n.mrvin-blog-post .dtable td .bar i{display:block;height:100%;border-radius:3px;background:#A9CBF0}\n.mrvin-blog-post .dtable tbody tr.hi td .bar i{background:var(--blue2)}\n.mrvin-blog-post .tnote{font-size:13px;color:var(--faint);margin:10px 2px 26px;line-height:1.5}\n.mrvin-blog-post .caveat{border-left:4px solid var(--faint);background:var(--surface2);border-radius:0 10px 10px 0;padding:14px 18px;margin:26px 0;font-size:15px;line-height:1.6;color:var(--muted)}\n.mrvin-blog-post .caveat b{color:var(--body)}\n\n\/* ---------- damage study: the two hand drawn figures ----------\n   Both are inline SVG rather than a chart library: the values never change\n   after publication, and inline SVG needs no Chart.js on a page that would\n   otherwise load none. *\/\n.mrvin-blog-post .zonefig svg{width:100%;height:auto;display:block}\n.mrvin-blog-post .chartfig{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px 18px 12px}\n.mrvin-blog-post .chartfig figcaption{padding:0 6px}\n.mrvin-blog-post .sev-legend{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:14px 0 0;padding:0;font-size:13px;color:var(--muted)}\n.mrvin-blog-post .sev-legend li{display:flex;align-items:center;gap:8px}\n.mrvin-blog-post .sev-legend i{width:12px;height:12px;border-radius:3px;flex:0 0 12px}\n.mrvin-blog-post .sev-legend .l1{background:var(--green)}\n.mrvin-blog-post .sev-legend .l2{background:var(--yellow)}\n.mrvin-blog-post .sev-legend .l3{background:var(--red)}\n.mrvin-blog-post .dtable tbody tr.s3 td:first-child{box-shadow:inset 3px 0 0 var(--red)}\n.mrvin-blog-post .dtable tbody tr.s2 td:first-child{box-shadow:inset 3px 0 0 var(--yellow)}\n.mrvin-blog-post .dtable tbody tr.s1 td:first-child{box-shadow:inset 3px 0 0 var(--green)}\n@media(max-width:600px){\n  .mrvin-blog-post .dtable{font-size:14px}\n  .mrvin-blog-post .dtable tbody td,.mrvin-blog-post .dtable thead th{padding:10px 12px}\n}\n@media(prefers-reduced-motion:reduce){.mrvin-blog-post .reveal{opacity:1!important;transform:none!important}html{scroll-behavior:auto}}\n<\/style>\n<noscript><style>.mrvin-blog-post .reveal{opacity:1!important;transform:none!important}<\/style><\/noscript>\t<div class=\"mrvin-blog-post mrvin-blog-leboncoin-buying-guide\">\n\t\t<div class=\"progress\" id=\"mrvin-blog-progress\"><\/div>\n\t\t<button class=\"totop\" id=\"mrvin-blog-totop\" type=\"button\" aria-label=\"Back to top\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 19V5\"\/><path d=\"M6 11l6-6 6 6\"\/><\/svg><\/button>\n\t\t<div class=\"layout\">\n\t\t\t\t\t<aside class=\"toc-side\">\n\t\t\t<nav class=\"toc\" aria-label=\"Table des mati\u00e8res\">\n\t\t\t\t<p class=\"toc-h\">Dans cet article<\/p>\n\t\t\t\t<ol>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#short\">L&#039;essentiel en bref<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#stock\">O\u00f9 se trouve l&#039;offre<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#pertinence\">Ce que classe la pertinence<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#timing\">Quand acheter<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#price\">Ce que la voiture devrait co\u00fbter<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#grise\">Le calcul de la carte grise<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#pro\">Le particulier qui est un pro<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#listing\">Lire une annonce<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#docs\">Ce que le vendeur doit vous remettre<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#histovec\">Histovec<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#scams\">Paiement et arnaques<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#checklist\">Avant de payer<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#faq\">Questions fr\u00e9quentes<\/a><\/li>\n\t\t\t\t\t\t\t\t\t<\/ol>\n\t\t\t<\/nav>\n\t\t\t<div class=\"side-cta\">\n\t\t\t\t<p class=\"sc-h\">Une annonce rep\u00e9r\u00e9e ? <b>V\u00e9rifiez-la d'abord<\/b><\/p>\n\t\t\t\t<a href=\"#vincheck\" data-go=\"vincheck\"><span class=\"sc-ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"10.5\" cy=\"10.5\" r=\"7\"\/><path d=\"m7.6 10.6 2.1 2.1 3.9-4.3\"\/><path d=\"m15.6 15.6 4.4 4.4\"\/><\/svg><\/span><span>V\u00e9rifier un VIN<span class=\"sc-geo\">Plus de 30 pays, en moins d&#039;une minute<\/span><\/span><\/a>\n\t\t\t<\/div>\n\t\t<\/aside>\n\n\t\t<article class=\"wrap content\">\n\n\t\t\t<div class=\"badges\">\n\t\t\t\t\t\t\t\t\t<span class=\"badge\">Guide d&#039;achat<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"badge\">France<\/span>\n\t\t\t\t\t\t\t\t<span class=\"date\">27 ao\u00fbt 2026<\/span>\n\t\t\t\t<span class=\"dot\"><\/span>\n\t\t\t\t<span class=\"meta-extra\" id=\"mrvin-blog-readtime\">11 min de lecture<\/span>\n\t\t\t<\/div>\n\n\t\t\t<h1>Comment acheter une voiture sur leboncoin sans payer trop cher<\/h1>\n\t\t\t<p class=\"dek\">leboncoin n&#039;est pas un site automobile. C&#039;est la plus grande plateforme d&#039;annonces g\u00e9n\u00e9ralistes de France, et l&#039;automobile en est devenue l&#039;une des plus grosses cat\u00e9gories presque par accident. Cela explique \u00e0 la fois son principal atout et son principal d\u00e9faut.<\/p>\n\n\t\t\t\t\t<div class=\"byline\">\n\t\t\t<div class=\"avatar\">MV<\/div>\n\t\t\t<div>\n\t\t\t\t<div class=\"name\">L&#039;\u00e9quipe MrVIN<\/div>\n\t\t\t\t<div class=\"role\">Recherche sur l&#039;historique des v\u00e9hicules<\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"share\">\n\t\t\t\t<a id=\"mrvin-blog-sh-x\" href=\"#\" target=\"_blank\" rel=\"noopener\" aria-label=\"Partager sur X\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\"\/><\/svg><\/a>\n\t\t\t\t<a id=\"mrvin-blog-sh-li\" href=\"#\" target=\"_blank\" rel=\"noopener\" aria-label=\"Partager sur LinkedIn\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M4.98 3.5C4.98 4.88 3.87 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1 4.98 2.12 4.98 3.5zM0 8h5v16H0zM7.5 8h4.78v2.2h.07c.67-1.2 2.3-2.46 4.73-2.46 5.06 0 6 3.33 6 7.66V24h-5v-6.78c0-1.62-.03-3.7-2.25-3.7-2.26 0-2.6 1.76-2.6 3.58V24h-5z\"\/><\/svg><\/a>\n\t\t\t\t<a id=\"mrvin-blog-sh-fb\" href=\"#\" target=\"_blank\" rel=\"noopener\" aria-label=\"Partager sur Facebook\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M24 12.07C24 5.4 18.63 0 12 0S0 5.4 0 12.07c0 6.02 4.39 11.01 10.13 11.93v-8.44H7.08v-3.49h3.05V9.41c0-3.02 1.79-4.69 4.53-4.69 1.31 0 2.68.24 2.68.24v2.97h-1.51c-1.49 0-1.95.93-1.95 1.88v2.26h3.32l-.53 3.49h-2.79v8.44C19.61 23.08 24 18.09 24 12.07z\"\/><\/svg><\/a>\n\t\t\t\t<button id=\"mrvin-blog-sh-copy\" type=\"button\" aria-label=\"Copier le lien\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9.5 14.5l5-5\"\/><path d=\"M11 6.5l.7-.7a3.5 3.5 0 015 5l-2.2 2.2\"\/><path d=\"M13 17.5l-.7.7a3.5 3.5 0 01-5-5l2.2-2.2\"\/><\/svg><\/button>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\n\t\t\t<img fetchpriority=\"high\" decoding=\"async\" class=\"cover\" src=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/listings\/leboncoin-hero.webp\" width=\"1024\" height=\"576\" alt=\"L&#039;ours MrVIN consulte un site fran\u00e7ais de petites annonces g\u00e9n\u00e9ralistes sur un \u00e9cran\">\n\t\t\t<p class=\"cover-cap\">Les voitures voisinent avec les canap\u00e9s et les v\u00e9los. C&#039;est toute l&#039;opportunit\u00e9, et tout le probl\u00e8me.<\/p>\n\n\t\t\t<p class=\"lead\">Nulle part ailleurs en France on ne trouve autant de vendeurs particuliers, et presque nulle part ailleurs les annonces ne varient autant en qualit\u00e9 et en niveau de d\u00e9tail.<\/p>\n\n\t\t\t<p>L&#039;essentiel du stock des professionnels se trouve ailleurs. La Centrale propose plus de 350\u00a0000 v\u00e9hicules et met surtout en avant les vendeurs professionnels, les garanties et les contr\u00f4les techniques r\u00e9cents. Pour la plupart des acheteurs, la bonne m\u00e9thode consiste \u00e0 consulter les deux sites, mais pour des raisons tr\u00e8s diff\u00e9rentes.<\/p>\n\n\t\t\t<p>Tout ce qui suit porte sur la partie que vous ma\u00eetrisez : qui vous contactez, ce que vous payez, et ce qu&#039;il vous reste comme recours si un probl\u00e8me appara\u00eet plus tard.<\/p>\n\n\t\t\t<h2 id=\"short\">L&#039;essentiel en bref<\/h2>\n\n\t\t\t<div class=\"tldr\">\n\t\t\t\t<p class=\"eyebrow\">Ce qu&#039;il faut retenir<\/p>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>Changez le tri. Par d\u00e9faut c&#039;est la pertinence, et la pertinence d\u00e9pend en partie de la popularit\u00e9.<\/li>\n\t\t\t\t\t<li>Comptez 5 \u00e0 15 pour cent de marge de n\u00e9gociation, surtout si l&#039;annonce est en ligne depuis plus d&#039;un mois.<\/li>\n\t\t\t\t\t<li>La cote Argus d\u00e9taill\u00e9e co\u00fbte de 8 EUR \u00e0 15 EUR et se rembourse souvent en une seule n\u00e9gociation.<\/li>\n\t\t\t\t\t<li>Le co\u00fbt de la carte grise d\u00e9pend de votre r\u00e9gion et est divis\u00e9 par deux au del\u00e0 de dix ans.<\/li>\n\t\t\t\t\t<li>Un particulier qui revend environ cinq voitures par an peut \u00eatre requalifi\u00e9 en professionnel.<\/li>\n\t\t\t\t\t<li>Histovec est gratuit et officiel, mais c&#039;est le vendeur qui g\u00e9n\u00e8re le rapport. Le demander fait partie du tri.<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t<p class=\"jumpline\">Aller directement \u00e0 : <a href=\"#vincheck\" data-go=\"vincheck\">v\u00e9rifier une voiture maintenant<\/a><span class=\"sep\"><\/span><a href=\"#grise\">ce que co\u00fbte la carte grise<\/a><\/p>\n\t\t\t<\/div>\n\n\t\t\t<div class=\"mbar-trigger\" aria-hidden=\"true\"><\/div>\n\n\t\t\t\t\t<div class=\"promo-vin pv-compact\" id=\"vincheck\">\n\t\t\t<div class=\"pv-head\">\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/listings\/cta-bear-audi.webp\" width=\"900\" height=\"270\" alt=\"L&#039;ours MrVIN inspecte un break Audi d&#039;occasion\" loading=\"lazy\">\n\t\t\t\t<div class=\"pv-body\">\n\t\t\t\t\t<h3>Avant de traverser la France<\/h3>\n\t\t\t\t\t<p>Le dossier fran\u00e7ais commence \u00e0 l&#039;immatriculation en France. Une v\u00e9rification transfrontali\u00e8re couvre tout ce qui pr\u00e9c\u00e8de, et c&#039;est l\u00e0 qu&#039;une voiture import\u00e9e garde son histoire.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<style>\n\/* Country tile \u2014 anchored on the left of the input on every viewport *\/\n.mrvin-country{position:relative;flex:0 0 auto;display:none}\n.mrvin-country.is-active{display:block}\n.mrvin-country-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;height:54px;border:none;border-radius:10px;background:#003399;color:#FFF;cursor:pointer;padding:6px 4px;gap:2px;font-family:inherit;line-height:1;transition:transform .15s ease,box-shadow .15s ease}\n.mrvin-country-tile:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,51,153,.25)}\n.mrvin-country-tile-stars{display:block;width:22px;height:22px}\n.mrvin-country-tile-code{font-size:13px;font-weight:700;letter-spacing:.3px;color:#FFF;font-family:'DM Sans',-apple-system,sans-serif}\n.mrvin-country-tile.is-empty .mrvin-country-tile-code{font-size:18px;color:#FFEB30}\n\n\/* Dropdown is portaled to <body> on open and positioned with position:fixed,\n   so no ancestor's overflow:hidden \/ transform creates a containing block\n   that clips it. JS sets top\/left from the tile's bounding rect. *\/\n.mrvin-country-dropdown{position:fixed;top:0;left:0;background:#FFF;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.16);padding:6px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease;z-index:99999;min-width:260px;max-height:340px;display:flex;flex-direction:column;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif}\n.mrvin-country-dropdown.is-open{opacity:1;visibility:visible;transform:translateY(0)}\n.mrvin-country-search-wrap{display:flex;align-items:center;gap:6px;margin:4px 4px 6px;padding:0 10px;border:1px solid #E2E8F0;border-radius:6px;background:#F8FAFC;flex:none;transition:border-color .15s ease,background .15s ease}\n.mrvin-country-search-wrap:focus-within{border-color:#2563EB;background:#FFF}\n.mrvin-country-search-icon{flex:none;width:12px;height:12px;background:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'\/><line x1='20' y1='20' x2='16.65' y2='16.65'\/><\/svg>\") center\/contain no-repeat;pointer-events:none}\n.mrvin-country-dropdown input.mrvin-country-search,.mrvin-country-dropdown input.mrvin-country-search:focus,.mrvin-country-dropdown input.mrvin-country-search:hover{flex:1 1 auto;min-width:0;width:100%;border:none!important;outline:none!important;background:transparent!important;background-color:transparent!important;box-shadow:none!important;-webkit-box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important;padding:6px 0!important;margin:0!important;height:auto!important;font-size:12px;font-family:inherit;color:#0B1120;line-height:normal}\n.mrvin-country-dropdown input.mrvin-country-search::placeholder{color:#94A3B8}\n.mrvin-country-options{flex:1;overflow-y:auto;padding:4px 2px}\n.mrvin-country-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;border:none;background:transparent;font-family:inherit;font-size:13px;color:#475569;cursor:pointer;text-align:left}\n.mrvin-country-option:hover{background:#F1F5F9}\n.mrvin-country-option.is-selected{background:#EFF6FF;color:#2563EB;font-weight:600}\n.mrvin-country-option.is-hidden{display:none}\n.mrvin-country-option-flag{flex:none;display:flex;align-items:center;justify-content:center;width:28px;height:20px;border-radius:3px;background:#003399}\n.mrvin-country-option-flag svg{width:14px;height:14px}\n.mrvin-country-option-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.mrvin-country-option-code{font-size:11px;font-weight:700;color:#94A3B8;letter-spacing:.3px}\n.mrvin-country-option.is-selected .mrvin-country-option-code{color:#2563EB}\n.mrvin-country-empty{padding:14px 12px;font-size:12px;color:#94A3B8;text-align:center;display:none}\n.mrvin-country-empty.is-visible{display:block}\n.mrvin-country-error{display:none;text-align:left;font-size:12px;color:#DC2626;margin:8px 4px 0}\n.mrvin-country-error.is-visible{display:block}\n.mrvin-vin-note{display:none;text-align:left;font-size:12px;color:#DC2626;margin:8px 4px 0}\n.mrvin-vin-note.is-visible{display:block}\n.mrvin-vin-note.is-ok{display:block;color:#0BA800}\n.mrvin-vin-bypass{display:none;margin:6px 4px 0;padding:0;background:none;border:none;color:#003399;font-size:12px;font-weight:600;text-decoration:underline;cursor:pointer;font-family:inherit}\n.mrvin-vin-bypass.is-visible{display:inline-block}\n.mrvin-search-input.mrvin-error,.mrvin-cta-input.mrvin-error{outline:2px solid #DC2626;outline-offset:1px}\n\n\/* Mobile: keep tile + input side-by-side, button breaks to its own row.\n   Overrides the row\u2192column flex switch in the existing form CSS. *\/\n@media(max-width:767px){\n  .mrvin-country-tile{width:48px;height:48px}\n  .mrvin-country-dropdown{min-width:0;width:calc(100vw - 24px);max-width:340px;max-height:60vh}\n  \/* 16px on any focusable text field: iOS Safari auto-zooms the page when a\n     focused input's font-size is below 16px *\/\n  .mrvin-country-dropdown input.mrvin-country-search{font-size:16px}\n  .mrvin-search-row,.mrvin-cta-row{flex-direction:row!important;flex-wrap:wrap;align-items:center}\n  .mrvin-search-row .mrvin-country,.mrvin-cta-row .mrvin-country{order:0}\n  .mrvin-search-box input.mrvin-search-input,.mrvin-cta .mrvin-cta-search-box input.mrvin-cta-input{flex:1 1 0;min-width:0;order:1;text-align:left}\n  .mrvin-search-btn,.mrvin-cta .mrvin-cta-btn{flex:0 0 100%;width:100%;order:2}\n}\n<\/style>\n<svg width=\"0\" height=\"0\" style=\"position:absolute\" aria-hidden=\"true\">\n  <symbol id=\"mrvin-eu-stars\" viewBox=\"0 0 24 24\">\n    <g fill=\"#FFEB30\">\n      <circle cx=\"12\" cy=\"5\" r=\"1.1\"\/>\n      <circle cx=\"15.5\" cy=\"5.94\" r=\"1.1\"\/>\n      <circle cx=\"18.06\" cy=\"8.5\" r=\"1.1\"\/>\n      <circle cx=\"19\" cy=\"12\" r=\"1.1\"\/>\n      <circle cx=\"18.06\" cy=\"15.5\" r=\"1.1\"\/>\n      <circle cx=\"15.5\" cy=\"18.06\" r=\"1.1\"\/>\n      <circle cx=\"12\" cy=\"19\" r=\"1.1\"\/>\n      <circle cx=\"8.5\" cy=\"18.06\" r=\"1.1\"\/>\n      <circle cx=\"5.94\" cy=\"15.5\" r=\"1.1\"\/>\n      <circle cx=\"5\" cy=\"12\" r=\"1.1\"\/>\n      <circle cx=\"5.94\" cy=\"8.5\" r=\"1.1\"\/>\n      <circle cx=\"8.5\" cy=\"5.94\" r=\"1.1\"\/>\n    <\/g>\n  <\/symbol>\n  <!-- Union Jack for GB plates. Post-Brexit UK plates keep the blue band but carry the national\n       flag and \"GB\" instead of the EU circle of stars. 3:2 viewBox so it letterboxes neatly inside\n       the same square slot the stars use (preserveAspectRatio defaults to meet). Diagonals are\n       drawn full-bleed and clipped by the viewport, white beneath red, then the St George cross\n       on top \u2014 the standard layer order. -->\n  <symbol id=\"mrvin-gb-flag\" viewBox=\"0 0 24 16\">\n    <rect width=\"24\" height=\"16\" fill=\"#012169\"\/>\n    <path d=\"M0 0 L24 16 M24 0 L0 16\" stroke=\"#FFF\" stroke-width=\"3.2\"\/>\n    <path d=\"M0 0 L24 16 M24 0 L0 16\" stroke=\"#C8102E\" stroke-width=\"1.8\"\/>\n    <path d=\"M12 0 V16 M0 8 H24\" stroke=\"#FFF\" stroke-width=\"5.2\"\/>\n    <path d=\"M12 0 V16 M0 8 H24\" stroke=\"#C8102E\" stroke-width=\"3.1\"\/>\n  <\/symbol>\n<\/svg>\n<script>\nwindow.mrvinCountries = [{\"iso\":\"AT\",\"plate\":\"A\",\"name\":\"Autriche\",\"ph\":\"W-1234 AB\"},{\"iso\":\"BE\",\"plate\":\"B\",\"name\":\"Belgique\",\"ph\":\"1-ABC-123\"},{\"iso\":\"BG\",\"plate\":\"BG\",\"name\":\"Bulgarie\",\"ph\":\"A 1234 BC\"},{\"iso\":\"CY\",\"plate\":\"CY\",\"name\":\"Chypre\",\"ph\":\"ABC 123\"},{\"iso\":\"CZ\",\"plate\":\"CZ\",\"name\":\"Tch\\u00e9coslovaquie\",\"ph\":\"1A2 3456\"},{\"iso\":\"DE\",\"plate\":\"D\",\"name\":\"Allemagne\",\"ph\":\"B-AB 1234\"},{\"iso\":\"DK\",\"plate\":\"DK\",\"name\":\"Danemark\",\"ph\":\"AB 12 345\"},{\"iso\":\"EE\",\"plate\":\"EST\",\"name\":\"Estonie\",\"ph\":\"123 ABC\"},{\"iso\":\"ES\",\"plate\":\"E\",\"name\":\"Espagne\",\"ph\":\"1234 ABC\"},{\"iso\":\"FI\",\"plate\":\"FIN\",\"name\":\"Finlande\",\"ph\":\"ABC-123\"},{\"iso\":\"FR\",\"plate\":\"F\",\"name\":\"France\",\"ph\":\"AB-123-CD\"},{\"iso\":\"GB\",\"plate\":\"GB\",\"name\":\"Royaume-Uni\",\"ph\":\"AB12 CDE\"},{\"iso\":\"GR\",\"plate\":\"GR\",\"name\":\"Gr\\u00e8ce\",\"ph\":\"ABC 1234\"},{\"iso\":\"HU\",\"plate\":\"H\",\"name\":\"Hongrie\",\"ph\":\"ABC-123\"},{\"iso\":\"IE\",\"plate\":\"IRL\",\"name\":\"Irlande\",\"ph\":\"12 D 1234\"},{\"iso\":\"IT\",\"plate\":\"I\",\"name\":\"Italie\",\"ph\":\"AB 123 CD\"},{\"iso\":\"LT\",\"plate\":\"LT\",\"name\":\"Lituanie\",\"ph\":\"ABC 123\"},{\"iso\":\"LU\",\"plate\":\"L\",\"name\":\"Luxembourg\",\"ph\":\"AB 1234\"},{\"iso\":\"LV\",\"plate\":\"LV\",\"name\":\"Lettonie\",\"ph\":\"AB-1234\"},{\"iso\":\"MT\",\"plate\":\"M\",\"name\":\"Malte\",\"ph\":\"ABC 123\"},{\"iso\":\"NL\",\"plate\":\"NL\",\"name\":\"Pays-Bas\",\"ph\":\"12-AB-34\"},{\"iso\":\"PL\",\"plate\":\"PL\",\"name\":\"Pologne\",\"ph\":\"WA 12345\"},{\"iso\":\"PT\",\"plate\":\"P\",\"name\":\"Portugal\",\"ph\":\"12-AB-34\"},{\"iso\":\"RO\",\"plate\":\"RO\",\"name\":\"Roumanie\",\"ph\":\"B 12 ABC\"},{\"iso\":\"SE\",\"plate\":\"S\",\"name\":\"Su\\u00e8de\",\"ph\":\"ABC 123\"},{\"iso\":\"SI\",\"plate\":\"SLO\",\"name\":\"Slov\\u00e9nie\",\"ph\":\"LJ AB-123\"},{\"iso\":\"SK\",\"plate\":\"SK\",\"name\":\"Slovaquie\",\"ph\":\"BA 123 AB\"}];\nwindow.mrvinPlateCountries = [\"ES\",\"FR\",\"IT\",\"LV\",\"PT\"];\nwindow.mrvinPlateIntentUrl = \"https:\\\/\\\/www.mrvin.com\\\/wp-admin\\\/admin-ajax.php\";\nwindow.mrvinCountryStrings = {\"select\":\"S\\u00e9lectionnez un pays\",\"pick\":\"Veuillez d'abord s\\u00e9lectionner un pays\",\"genericPh\":\"Veuillez saisir le num\\u00e9ro d'immatriculation\",\"plateUnsupported\":\"La recherche par plaque d'immatriculation n'est pas encore disponible \\u00e0 %country%. Veuillez utiliser le num\\u00e9ro d'identification du v\\u00e9hicule (VIN) pour obtenir un rapport plus pr\\u00e9cis. \",\"plateUnsupportedOk\":\"OK\",\"vinErrEmpty\":\"Veuillez saisir un num\\u00e9ro d'identification du v\\u00e9hicule (VIN).\",\"vinErrLength\":\"Un num\\u00e9ro d'identification du v\\u00e9hicule (VIN) doit comporter exactement 17 caract\\u00e8res.\",\"vinErrChars\":\"Un num\\u00e9ro d'identification du v\\u00e9hicule (VIN) ne peut pas contenir les lettres I, O ou Q.\",\"vinErrInvalid\":\"Ce num\\u00e9ro d'identification du v\\u00e9hicule (VIN) ne semble pas correct. Veuillez le v\\u00e9rifier \\u00e0 nouveau. \",\"vinErrBypass\":\"\\u00cates-vous s\\u00fbr que c'est correct ? Lancez quand m\\u00eame la recherche. \",\"vinOk\":\"Le num\\u00e9ro d'identification du v\\u00e9hicule (VIN) semble correct\",\"plateErrEmpty\":\"Veuillez saisir un num\\u00e9ro d'immatriculation.\",\"plateErrLength\":\"Cette plaque d'immatriculation semble trop courte ou trop longue.\",\"plateErrGb\":\"Cela ne ressemble pas \\u00e0 une plaque d'immatriculation britannique \\u2014 celles-ci se pr\\u00e9sentent g\\u00e9n\\u00e9ralement sous la forme AB12 CDE.\",\"plateErrBe\":\"This looks like a Belgian number plate. Belgian plates cannot be checked here. Please use the VIN for a more accurate report.\",\"plateErrBypass\":\"Vous \\u00eates s\\u00fbr que c'est correct ? Lancez quand m\\u00eame la recherche. \",\"plateSeriesPT\":\"Number-plate lookups in Portugal currently work only for plates in the 12-AB-34 format, issued between 2005 and 2020. For any other Portuguese plate, please use the VIN for an accurate report.\"};\n(function(){\n  var SS_KEY = 'mrvinPlateCountryIso';\n  var BY_ISO = {};\n  (window.mrvinCountries||[]).forEach(function(c){BY_ISO[c.iso]=c});\n\n  \/\/ Per-brand active plate countries (ISO-2) from the API. Picking a country NOT in this set\n  \/\/ shows a popup steering the user to the VIN instead of a doomed plate lookup.\n  var ACTIVE_PLATE = {};\n  (window.mrvinPlateCountries||[]).forEach(function(iso){ ACTIVE_PLATE[String(iso).toUpperCase()] = true; });\n  function isPlateCountryActive(iso){ return !!ACTIVE_PLATE[String(iso||'').toUpperCase()]; }\n\n  \/\/ Countries that are ACTIVE but resolve only some of their registration series. Portugal is the\n  \/\/ only one: its 2005-2020 series (12-AB-34) resolves, while the pre-1992, 1992-2005 and current\n  \/\/ post-March-2020 series are all refused on format upstream, unbilled and unanswerable.\n  \/\/\n  \/\/ This mirrors PlateNormalizer.CIVILIAN_FORMATS' PT entry on purpose. The SERVER is the authority\n  \/\/ \u2014 WebVehicleServiceImpl.getPlatePreview refuses the same shapes at the one door every plate\n  \/\/ lookup passes through, so editing or disabling this JS changes nothing about what gets called.\n  \/\/ Keeping a copy here is only so the visitor is told immediately, in their own language, instead\n  \/\/ of watching a search fail.\n  var SERIES_LIMITED = { PT: \/^[0-9]{2}[A-Z]{2}[0-9]{2}$\/ };\n  function seriesSupported(iso, raw){\n    var re = SERIES_LIMITED[String(iso||'').toUpperCase()];\n    if (!re) return true;\n    return re.test(String(raw||'').toUpperCase().replace(\/[^A-Z0-9]\/g, ''));\n  }\n  function seriesMessage(iso){\n    var s = window.mrvinCountryStrings || {};\n    return String(iso||'').toUpperCase() === 'PT' ? s.plateSeriesPT : null;\n  }\n\n  \/\/ Fire-and-forget demand tracking: which plate countries visitors try, and plate-mode entry.\n  \/\/ The server (vp_plate_intent) computes the enabled flag + upserts a counter. Never blocks UI.\n  function trackPlateIntent(key){\n    try {\n      var url = window.mrvinPlateIntentUrl;\n      if (!url || !key) return;\n      var fd = new FormData();\n      fd.append('action', 'vp_plate_intent');\n      fd.append('intent', key);\n      if (navigator.sendBeacon) navigator.sendBeacon(url, fd);\n      else fetch(url, { method: 'POST', body: fd, keepalive: true, credentials: 'same-origin' });\n    } catch (e) {}\n  }\n\n  \/\/ Funnel-top counter: fire once per real (validated) lookup submit, just before\n  \/\/ the GET navigation to \/checkout\/. Server (vp_search_event) bumps a daily counter\n  \/\/ by mode + AB variant. sendBeacon survives the navigation; never blocks it.\n  function trackSearchSubmit(mode){\n    try {\n      var url = window.mrvinPlateIntentUrl; \/\/ shared admin-ajax endpoint\n      if (!url) return;\n      var fd = new FormData();\n      fd.append('action', 'vp_search_event');\n      fd.append('mode', mode === 'plate' ? 'plate' : 'vin');\n      if (navigator.sendBeacon) navigator.sendBeacon(url, fd);\n      else fetch(url, { method: 'POST', body: fd, keepalive: true, credentials: 'same-origin' });\n    } catch (e) {}\n  }\n  \/\/ One delegated listener in the bubble phase, so it runs AFTER each box's own\n  \/\/ validation handler: e.defaultPrevented is true when validation blocked the\n  \/\/ submit, so we only count searches that actually navigate. Covers the hero,\n  \/\/ bottom-CTA and sticky forms (all carry .mrvin-search-row \/ .mrvin-cta-row).\n  document.addEventListener('submit', function(e){\n    var f = e.target;\n    if (!f || !f.classList || e.defaultPrevented) return;\n    if (!f.classList.contains('mrvin-search-row') && !f.classList.contains('mrvin-cta-row')) return;\n    var plate = f.querySelector('input[name=\"plate\"]');\n    trackSearchSubmit(plate ? 'plate' : 'vin');\n  }, false);\n\n  \/\/ Switch a search box to VIN mode by clicking its VIN tab \u2014 this fires the box's own mode\n  \/\/ handler (updates input name\/placeholder\/maxlength\/button + hides the country tile).\n  function selectVinMode(box){\n    var v = box && box.querySelector('[data-mode=\"vin\"]');\n    if (v) v.click();\n  }\n\n  \/\/ A pasted VIN must never be submitted as a plate.\n  \/\/\n  \/\/ The plate field caps its length, so pasting a 17-character VIN used to leave a TRUNCATED\n  \/\/ fragment sitting in the box, which looks like a plate, submits like a plate, and costs a\n  \/\/ metered registry call that cannot possibly match. Every plate lookup of 14-15 characters ever\n  \/\/ recorded was this, and not one resolved. Reacting on `paste` is what makes it fixable: the\n  \/\/ clipboard text is readable here in full, BEFORE maxlength truncates it, so the VIN can be kept\n  \/\/ whole instead of being repaired after the damage.\n  \/\/\n  \/\/ Delegated at the document rather than bound per box: there are three search boxes (hero CTA,\n  \/\/ section, sticky) each initialised in its own script block, and a future fourth would silently\n  \/\/ miss a per-box binding. The flag is because this snippet is not the only one that renders a\n  \/\/ plate box \u2014 the v2 landing page and the blog rail ship their own copy \u2014 so whichever loads\n  \/\/ first wins and the rest no-op. 17 alphanumerics is the VIN's own definition, so this cannot\n  \/\/ misfire on a real registration \u2014 the longest that has ever resolved is 8 characters.\n  if (!window.__mrvinPlatePasteGuard) {\n   window.__mrvinPlatePasteGuard = 1;\n   document.addEventListener('paste', function(e){\n    var input = e.target;\n    if (!input || input.tagName !== 'INPUT') return;\n      if (input.name !== 'plate' && input.name !== 'userPlate') return;  \/\/ funnel names it userPlate\n    var box = input.closest('.mrvin-search-box, .mrvin-cta, .mrvin-sticky-wrap, form');\n    if (!box) return;\n    var cb = e.clipboardData || window.clipboardData;\n    if (!cb) return;\n    var raw = String(cb.getData('text') || '').toUpperCase().replace(\/[^A-Z0-9]\/g, '');\n    if (raw.length !== 17) return;                      \/\/ not a VIN \u2014 let the paste through\n    e.preventDefault();\n    selectVinMode(box);                                 \/\/ flips name\/placeholder\/maxlength\/button\n    input.value = raw;\n    input.dispatchEvent(new Event('input', { bubbles: true }));\n   }, false);\n  }\n\n  \/\/ msgOverride lets a served country reuse this dialog to say something more specific \u2014 today\n  \/\/ only Portugal, whose plates resolve for one registration series and not the rest. The OK button\n  \/\/ switches the box to VIN mode either way, which is the whole point of showing it.\n  function showPlateUnsupported(iso, box, msgOverride){\n    if (document.getElementById('mrvin-plate-unsupported')) return; \/\/ already open\n    var c = BY_ISO[iso] || null;\n    var name = c ? c.name : iso;\n    var strings = window.mrvinCountryStrings || {};\n    var tmpl = msgOverride || strings.plateUnsupported\n      || 'Number-plate lookups aren\\'t supported in %country% yet. Please use the VIN for a more accurate report.';\n    var overlay = document.createElement('div');\n    overlay.id = 'mrvin-plate-unsupported';\n    overlay.setAttribute('role', 'dialog');\n    overlay.setAttribute('aria-modal', 'true');\n    overlay.style.cssText = 'position:fixed;inset:0;z-index:99999;background:rgba(0,12,40,.55);display:flex;align-items:center;justify-content:center;padding:20px';\n    var card = document.createElement('div');\n    card.style.cssText = 'max-width:420px;width:100%;background:#fff;border-radius:14px;padding:24px;box-shadow:0 18px 50px rgba(0,12,40,.35);font-family:inherit;text-align:center';\n    var p = document.createElement('p');\n    p.style.cssText = 'margin:0 0 18px;color:#0b1f3a;font-size:15px;line-height:1.5';\n    p.textContent = tmpl.replace('%country%', name);\n    var btn = document.createElement('button');\n    btn.type = 'button';\n    btn.textContent = strings.plateUnsupportedOk || 'OK';\n    btn.style.cssText = 'border:none;border-radius:10px;background:#003399;color:#fff;font-weight:700;font-size:14px;padding:10px 28px;cursor:pointer;font-family:inherit';\n    function close(){ if (overlay.parentNode) overlay.parentNode.removeChild(overlay); }\n    \/\/ OK confirms the suggestion: switch to VIN mode, then close.\n    btn.addEventListener('click', function(){ selectVinMode(box); close(); });\n    overlay.addEventListener('click', function(e){ if (e.target === overlay) close(); });\n    document.addEventListener('keydown', function onEsc(e){ if (e.key === 'Escape'){ close(); document.removeEventListener('keydown', onEsc); } });\n    card.appendChild(p); card.appendChild(btn); overlay.appendChild(card);\n    document.body.appendChild(overlay);\n    btn.focus();\n  }\n\n  function readStored(){\n    try { return sessionStorage.getItem(SS_KEY) || ''; }\n    catch(e){ return ''; }\n  }\n  function writeStored(iso){\n    try { iso ? sessionStorage.setItem(SS_KEY, iso) : sessionStorage.removeItem(SS_KEY); }\n    catch(e){ \/* private mode etc *\/ }\n  }\n  function isPlateMode(box){\n    var t = box && box.querySelector('[data-mode=\"plate\"]');\n    return !!(t && t.classList.contains('active'));\n  }\n  function findInput(scope){\n    return scope.querySelector('.mrvin-search-input,.mrvin-cta-input');\n  }\n  function findForm(scope){\n    return scope.querySelector('.mrvin-search-row,.mrvin-cta-row');\n  }\n  function findHiddenIso(form){\n    return form && form.querySelector('input[name=\"country_iso\"]');\n  }\n\n  \/\/ ---- VIN validation (mirrors vinscreener) ------------------------------------------------\n  \/\/ Exactly 17 chars after stripping separators. North-American VINs (first char 1-5) get full\n  \/\/ ISO check-digit validation; European \/ other VINs only need a valid 17-char charset (they\n  \/\/ don't carry a check digit). Returns {valid:true} or {valid:false, reason, error}.\n  var VIN_TRANSLIT = {A:1,B:2,C:3,D:4,E:5,F:6,G:7,H:8,J:1,K:2,L:3,M:4,N:5,P:7,R:9,S:2,T:3,U:4,V:5,W:6,X:7,Y:8,Z:9,'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9};\n  var VIN_WEIGHTS = [8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2];\n  function vinStr(k, fallback){ var s = window.mrvinCountryStrings || {}; return s[k] || fallback; }\n  function validateVin(raw){\n    var vin = String(raw || '').toUpperCase().replace(\/[^A-Z0-9]\/g, '');\n    if (vin.length !== 17) return { valid:false, reason:'length', error: vinStr('vinErrLength', 'A VIN must be exactly 17 characters.') };\n    if (\/[IOQ]\/.test(vin))  return { valid:false, reason:'chars',  error: vinStr('vinErrChars',  'A VIN cannot contain the letters I, O or Q.') };\n    if (!\/^[A-HJ-NPR-Z0-9]{17}$\/.test(vin)) return { valid:false, reason:'chars', error: vinStr('vinErrInvalid', 'This VIN doesn\\'t look right. Please double-check it.') };\n    \/\/ North-American check digit (position 9). EU \/ other VINs skip it.\n    if (\/^[1-5]\/.test(vin)) {\n      var sum = 0;\n      for (var i = 0; i < 17; i++) {\n        var val = VIN_TRANSLIT[vin.charAt(i)];\n        if (val === undefined) return { valid:false, reason:'chars', error: vinStr('vinErrInvalid', 'This VIN doesn\\'t look right. Please double-check it.') };\n        sum += val * VIN_WEIGHTS[i];\n      }\n      var rem = sum % 11, expected = rem === 10 ? 'X' : String(rem);\n      if (vin.charAt(8) !== expected) return { valid:false, reason:'check_digit', error: vinStr('vinErrInvalid', 'This VIN doesn\\'t look right. Please double-check it.') };\n    }\n    return { valid:true };\n  }\n\n  \/\/ Sanity-check a number plate. Deliberately LENIENT, and nothing here is authoritative \u2014 the\n  \/\/ caller offers a \"search anyway\" bypass exactly as the VIN path does.\n  \/\/\n  \/\/ We do NOT match the standard UK shapes (AA00AAA \/ A000AAA \/ AAA000A \/ dateless \/ NI). Cherished\n  \/\/ and personalised registrations legitimately take forms those patterns don't describe, and\n  \/\/ wrongly turning away a real customer's plate is far worse than passing a doomed lookup to the\n  \/\/ API \u2014 which costs nothing anyway, since the registry rejects a malformed term unbilled.\n  \/\/ So this only catches input that cannot be a registration at all: wrong length, or \u2014 for GB \u2014\n  \/\/ no digit anywhere. Every UK registration format issued to date contains at least one digit,\n  \/\/ which is what separates a typo like \"IIYUN\" from a genuine cherished plate.\n  function validatePlate(raw, iso){\n    var p = String(raw || '').toUpperCase().replace(\/[^A-Z0-9]\/g, '');\n    if (!p)                      return { valid:false, error: vinStr('plateErrEmpty',  'Please enter a number plate.') };\n    if (p.length < 2 || p.length > 8) return { valid:false, error: vinStr('plateErrLength', 'That number plate looks too short or too long.') };\n    if (String(iso || '').toUpperCase() === 'GB' && !\/[0-9]\/.test(p)) {\n      return { valid:false, error: vinStr('plateErrGb', 'That doesn\\'t look like a UK number plate \u2014 they normally look like AB12 CDE.') };\n    }\n    \/\/ Belgium's current series is 1-ABC-123, which compacts to the same 1+3+3 spelling a\n    \/\/ long-tail French FNI plate can take. Scoped to FR because that is the only market whose\n    \/\/ spelling collides; on IT and ES the shape means nothing, so a plain miss is already honest.\n    \/\/\n    \/\/ Belgium is not a plate market and is not one call away from becoming one: Belgian plates\n    \/\/ follow the OWNER, not the car, so the plate on a car for sale leaves with the seller and\n    \/\/ the registry is closed to us anyway. Measured 2026-08-24 over 30 days: 39 Belgian visitors\n    \/\/ typed exactly this shape into the French box and NOT ONE resolved; 0 for 31 across all\n    \/\/ traffic. Sending it costs a metered call and an ~8s wait to reach \"not found\".\n    \/\/\n    \/\/ Lenient like everything else here: the \"search anyway\" bypass still lets a genuine FNI\n    \/\/ holder through, which is why this is advice rather than a format verdict.\n    if (String(iso || '').toUpperCase() === 'FR' && \/^[0-9][A-Z]{3}[0-9]{3}$\/.test(p)) {\n      return { valid:false, error: vinStr('plateErrBe', 'This looks like a Belgian number plate. Belgian plates cannot be checked here. Please use the VIN for a more accurate report.') };\n    }\n    return { valid:true };\n  }\n\n  \/\/ Lazily build the per-box error note + \"search anyway\" bypass link (appended below the form).\n  function ensureVinUi(box){\n    if (box.__mrvinVinUi) return box.__mrvinVinUi;\n    var note = document.createElement('p');\n    note.className = 'mrvin-vin-note';\n    note.setAttribute('role', 'alert');\n    note.setAttribute('aria-live', 'polite');\n    var bypass = document.createElement('button');\n    bypass.type = 'button';\n    bypass.className = 'mrvin-vin-bypass';\n    bypass.textContent = vinStr('vinErrBypass', 'Are you sure it\\'s correct? Search anyway.');\n    bypass.addEventListener('click', function(){\n      var form = findForm(box);\n      \/\/ One button serves both modes; the submit handler only reads the flag for the mode it is\n      \/\/ in, so setting both is harmless and saves duplicating the whole note\/bypass UI.\n      box.__mrvinVinBypass = true;   \/\/ let the next submit through unvalidated\n      box.__mrvinPlateBypass = true;\n      clearVinError(box);\n      if (form) { if (typeof form.requestSubmit === 'function') form.requestSubmit(); else form.submit(); }\n    });\n    \/\/ Place the note + bypass directly below the search pill (before the example hint), so the\n    \/\/ box's own rounded\/padded layout is untouched.\n    var parent = box.parentNode;\n    if (parent) { parent.insertBefore(note, box.nextSibling); parent.insertBefore(bypass, note.nextSibling); }\n    else { box.appendChild(note); box.appendChild(bypass); }\n    box.__mrvinVinUi = { note: note, bypass: bypass };\n    return box.__mrvinVinUi;\n  }\n  function showVinError(box, msg){\n    var ui = ensureVinUi(box);\n    ui.note.textContent = msg;\n    ui.note.classList.remove('is-ok');\n    ui.note.classList.add('is-visible');\n    var inp = findInput(box); if (inp) inp.classList.add('mrvin-error');\n  }\n  \/\/ Live positive state: a complete valid VIN flips the note green while typing,\n  \/\/ so the visitor knows the search will go through before pressing the button.\n  function showVinOk(box){\n    var ui = ensureVinUi(box);\n    ui.note.textContent = vinStr('vinOk', 'VIN looks good');\n    ui.note.classList.remove('is-visible');\n    ui.note.classList.add('is-ok');\n  }\n  function showVinBypass(box){\n    var ui = ensureVinUi(box);\n    ui.bypass.textContent = vinStr('vinErrBypass', 'Are you sure it\\'s correct? Search anyway.');\n    ui.bypass.classList.add('is-visible');\n  }\n  \/\/ Same control, plate wording \u2014 the escape hatch for a cherished plate our heuristic rejects.\n  function showPlateBypass(box){\n    var ui = ensureVinUi(box);\n    ui.bypass.textContent = vinStr('plateErrBypass', 'Sure it\\'s correct? Search anyway.');\n    ui.bypass.classList.add('is-visible');\n  }\n  function clearVinError(box){\n    var ui = box.__mrvinVinUi; if (!ui) return;\n    ui.note.classList.remove('is-visible');\n    ui.note.classList.remove('is-ok');\n    ui.bypass.classList.remove('is-visible');\n    var inp = findInput(box); if (inp) inp.classList.remove('mrvin-error');\n  }\n\n  \/\/ Track the currently open instance so window-level scroll\/resize can re-anchor it.\n  var openInstance = null;\n\n  function setSelection(country, iso){\n    var c = BY_ISO[iso] || null;\n    var tile = country.querySelector('.mrvin-country-tile');\n    var code = tile.querySelector('.mrvin-country-tile-code');\n    var dd   = country.__mrvinDropdown || country.querySelector('.mrvin-country-dropdown');\n    if (dd) {\n      dd.querySelectorAll('.mrvin-country-option').forEach(function(o){\n        o.classList.toggle('is-selected', o.getAttribute('data-iso') === iso);\n      });\n    }\n    \/\/ Swap the badge flag: GB carries the Union Jack, everyone else the EU stars. The tile is\n    \/\/ rendered once server-side, so without this a visitor switching country keeps the previous\n    \/\/ country's flag. Falls back to the stars for the empty state.\n    var flagUse = tile.querySelector('.mrvin-country-tile-stars use');\n    if (flagUse) {\n      flagUse.setAttribute('href', iso === 'GB' ? '#mrvin-gb-flag' : '#mrvin-eu-stars');\n    }\n    if (c) {\n      tile.classList.remove('is-empty');\n      code.textContent = c.plate;\n      tile.setAttribute('aria-label', (window.mrvinCountryStrings.select || 'Select country') + ': ' + c.name);\n      country.dataset.iso = iso;\n    } else {\n      tile.classList.add('is-empty');\n      code.textContent = '\u2014';\n      tile.setAttribute('aria-label', window.mrvinCountryStrings.select || 'Select country');\n      country.dataset.iso = '';\n    }\n    \/\/ Sync placeholder + hidden form input + sessionStorage\n    var box = country.closest('.mrvin-search-box,.mrvin-cta-search-box');\n    if (box) {\n      var input = findInput(box);\n      var form  = findForm(box);\n      if (input && isPlateMode(box)) {\n        input.placeholder = c ? c.ph : (window.mrvinCountryStrings.genericPh || input.getAttribute('data-ph-plate') || '');\n      }\n      if (form) {\n        var hidden = findHiddenIso(form);\n        if (!hidden) {\n          hidden = document.createElement('input');\n          hidden.type = 'hidden';\n          hidden.name = 'country_iso';\n          form.appendChild(hidden);\n        }\n        hidden.value = iso || '';\n        hidden.disabled = !c || !isPlateMode(box);\n      }\n    }\n    writeStored(iso || '');\n    var err = country.querySelector('.mrvin-country-error');\n    if (err && c) err.classList.remove('is-visible');\n  }\n\n  function applyFilter(country, term){\n    var dd = country.__mrvinDropdown;\n    if (!dd) return;\n    var q = (term || '').trim().toLowerCase();\n    var visible = 0;\n    dd.querySelectorAll('.mrvin-country-option').forEach(function(opt){\n      var hay = opt.getAttribute('data-search') || '';\n      var match = !q || hay.indexOf(q) !== -1;\n      opt.classList.toggle('is-hidden', !match);\n      if (match) visible++;\n    });\n    var empty = dd.querySelector('.mrvin-country-empty');\n    if (empty) empty.classList.toggle('is-visible', visible === 0);\n  }\n\n  function positionDropdown(country){\n    var dd = country.__mrvinDropdown;\n    var tile = country.querySelector('.mrvin-country-tile');\n    if (!dd || !tile) return;\n    var r  = tile.getBoundingClientRect();\n    var vw = document.documentElement.clientWidth;\n    var vh = document.documentElement.clientHeight;\n    \/\/ Render off-screen once to measure width when first positioning.\n    var ddw = dd.offsetWidth || 260;\n    var ddh = dd.offsetHeight || 320;\n    var gap = 8;\n    var left = r.left;\n    if (left + ddw > vw - 8) left = Math.max(8, vw - ddw - 8);\n    var top = r.bottom + gap;\n    if (top + ddh > vh - 8) {\n      \/\/ Flip above the tile if there's no room below.\n      var above = r.top - gap - ddh;\n      if (above >= 8) top = above;\n      else top = Math.max(8, vh - ddh - 8);\n    }\n    dd.style.left = Math.round(left) + 'px';\n    dd.style.top  = Math.round(top)  + 'px';\n  }\n\n  function closeOpen(){\n    if (!openInstance) return;\n    var country = openInstance;\n    var dd = country.__mrvinDropdown;\n    var tile = country.querySelector('.mrvin-country-tile');\n    if (dd) {\n      dd.classList.remove('is-open');\n      dd.setAttribute('aria-hidden', 'true');\n    }\n    if (tile) tile.setAttribute('aria-expanded', 'false');\n    country.classList.remove('open');\n    openInstance = null;\n  }\n\n  function openCountry(country){\n    if (openInstance && openInstance !== country) closeOpen();\n    var dd = country.__mrvinDropdown;\n    var tile = country.querySelector('.mrvin-country-tile');\n    if (!dd || !tile) return;\n    \/\/ Reset filter every open\n    var search = dd.querySelector('.mrvin-country-search');\n    if (search) search.value = '';\n    applyFilter(country, '');\n    country.classList.add('open');\n    dd.classList.add('is-open');\n    dd.setAttribute('aria-hidden', 'false');\n    tile.setAttribute('aria-expanded', 'true');\n    positionDropdown(country);\n    openInstance = country;\n    \/\/ Defer focus until after the open transition starts (avoids iOS keyboard popping unexpectedly on tap).\n    if (search && window.matchMedia && !window.matchMedia('(max-width:767px)').matches) {\n      setTimeout(function(){ try { search.focus({preventScroll:true}); } catch(e){ search.focus(); } }, 60);\n    }\n  }\n\n  function initCountry(country){\n    if (country.__mrvinCountryInit) return;\n    country.__mrvinCountryInit = true;\n\n    var dd = country.querySelector('.mrvin-country-dropdown');\n    if (dd) {\n      \/\/ Portal the dropdown to <body> so no clipped\/transformed ancestor can hide it.\n      document.body.appendChild(dd);\n      country.__mrvinDropdown = dd;\n    }\n\n    var serverIso = country.dataset.defaultIso || '';\n    var stored    = readStored();\n    \/\/ A remembered choice wins only when it is actually usable in THIS market. Otherwise a visitor\n    \/\/ who once picked LV would land on \/en-gb\/ pre-set to a country with no GB data and get an\n    \/\/ \"unsupported\" popup on a page where GB works fine. The server default is language-derived,\n    \/\/ so it is already the right country for the market being viewed.\n    var initial   = (BY_ISO[stored] && isPlateCountryActive(stored)) ? stored\n                  : ((BY_ISO[serverIso] && serverIso) || (BY_ISO[stored] && stored) || '');\n    setSelection(country, initial);\n\n    var tile = country.querySelector('.mrvin-country-tile');\n\n    tile.addEventListener('click', function(e){\n      e.stopPropagation();\n      if (openInstance === country) closeOpen();\n      else openCountry(country);\n    });\n\n    if (dd) {\n      dd.addEventListener('click', function(e){ e.stopPropagation(); });\n\n      var search = dd.querySelector('.mrvin-country-search');\n      if (search) {\n        search.addEventListener('input', function(){ applyFilter(country, search.value); });\n        search.addEventListener('keydown', function(e){\n          if (e.key === 'Enter') {\n            e.preventDefault();\n            var first = dd.querySelector('.mrvin-country-option:not(.is-hidden)');\n            if (first) first.click();\n          } else if (e.key === 'Escape') {\n            e.preventDefault();\n            closeOpen();\n          }\n        });\n      }\n\n      dd.querySelectorAll('.mrvin-country-option').forEach(function(opt){\n        opt.addEventListener('click', function(){\n          var iso = opt.getAttribute('data-iso');\n          setSelection(country, iso);\n          closeOpen();\n          \/\/ Track which country the visitor tried (demand signal \u2014 incl. not-yet-enabled ones).\n          if (iso) trackPlateIntent(iso);\n          \/\/ Picking a country with no active plate data source \u2192 tell the user to use the VIN.\n          if (iso && !isPlateCountryActive(iso)) showPlateUnsupported(iso, country.closest('.mrvin-search-box,.mrvin-cta-search-box'));\n        });\n      });\n    }\n  }\n\n  function initBox(box){\n    var country = box.querySelector('.mrvin-country');\n    if (!country) return;\n    initCountry(country);\n    \/\/ Visibility tracks plate mode\n    var sync = function(){\n      var on = isPlateMode(box);\n      country.classList.toggle('is-active', on);\n      if (on && country.dataset.iso) {\n        var c = BY_ISO[country.dataset.iso];\n        var inp = findInput(box);\n        if (c && inp) inp.placeholder = c.ph;\n      }\n      var form = findForm(box);\n      var hidden = findHiddenIso(form);\n      if (hidden) hidden.disabled = !on || !country.dataset.iso;\n    };\n    sync();\n    box.querySelectorAll('[data-mode]').forEach(function(t){\n      t.addEventListener('click', function(){\n        setTimeout(sync, 0);\n        clearVinError(box);   \/\/ a VIN note (red or green) makes no sense in plate mode\n        \/\/ Track when a visitor switches to the licence-plate option.\n        if (t.getAttribute('data-mode') === 'plate') trackPlateIntent('__PLATE_MODE__');\n      });\n    });\n    \/\/ Form-submit guard: VIN mode validates the VIN; plate mode requires a supported country.\n    var form = findForm(box);\n    if (form) {\n      form.addEventListener('submit', function(e){\n        if (!isPlateMode(box)) {\n          \/\/ VIN mode \u2014 block the GET navigation unless the VIN is valid (or the user bypassed).\n          if (box.__mrvinVinBypass) { box.__mrvinVinBypass = false; return; }\n          var inp = findInput(box);\n          var raw = inp ? (inp.value || '').trim() : '';\n          if (!raw) { e.preventDefault(); showVinError(box, vinStr('vinErrEmpty', 'Please enter a VIN.')); return; }\n          var res = validateVin(raw);\n          if (!res.valid) {\n            e.preventDefault();\n            showVinError(box, res.error);\n            \/\/ Repeated identical failures \u2192 offer a manual bypass (mirrors vinscreener), so a\n            \/\/ genuinely-valid VIN that trips the check digit isn't permanently blocked.\n            var up = raw.toUpperCase();\n            if (up === box.__mrvinLastBad) { box.__mrvinBadStreak = (box.__mrvinBadStreak || 1) + 1; }\n            else { box.__mrvinBadStreak = 1; box.__mrvinLastBad = up; }\n            if (box.__mrvinBadStreak >= 2) showVinBypass(box);\n          }\n          return;\n        }\n        if (!country.dataset.iso) {\n          e.preventDefault();\n          var err = country.querySelector('.mrvin-country-error');\n          if (err) err.classList.add('is-visible');\n          openCountry(country);\n          return;\n        }\n        \/\/ Block submit for a country without an active plate data source; steer to the VIN.\n        if (!isPlateCountryActive(country.dataset.iso)) {\n          e.preventDefault();\n          showPlateUnsupported(country.dataset.iso, box);\n          return;\n        }\n        \/\/ A country we serve, but not for the series that was typed. Blocked like an inactive\n        \/\/ country rather than like a failed sanity check, and that difference is the point: this\n        \/\/ sits ABOVE the bypass below, so the \"search anyway\" link can never push a refused series\n        \/\/ through. The server would refuse it anyway, so a bypass here would spend a metered call\n        \/\/ to show the visitor a failure.\n        var sInp = findInput(box);\n        var sRaw = sInp ? (sInp.value || '').trim() : '';\n        if (sRaw && !seriesSupported(country.dataset.iso, sRaw)) {\n          e.preventDefault();\n          \/\/ Distinct from the plain country key, so the hub can show how much demand the\n          \/\/ restriction actually turns away rather than folding it into \"PT was requested\".\n          trackPlateIntent(String(country.dataset.iso || '').toUpperCase() + '_SERIES_UNSUPPORTED');\n          showPlateUnsupported(country.dataset.iso, box, seriesMessage(country.dataset.iso));\n          return;\n        }\n        \/\/ Plate sanity check. Mirrors the VIN path deliberately, bypass included: a cherished\n        \/\/ registration that our heuristic doesn't recognise must never be permanently blocked,\n        \/\/ so two identical rejections surface a \"search anyway\" link.\n        if (box.__mrvinPlateBypass) { box.__mrvinPlateBypass = false; return; }\n        var pInp = findInput(box);\n        var pRaw = pInp ? (pInp.value || '').trim() : '';\n        var pRes = validatePlate(pRaw, country.dataset.iso);\n        if (!pRes.valid) {\n          e.preventDefault();\n          showVinError(box, pRes.error);\n          var pUp = pRaw.toUpperCase();\n          if (pUp === box.__mrvinLastBadPlate) { box.__mrvinPlateStreak = (box.__mrvinPlateStreak || 1) + 1; }\n          else { box.__mrvinPlateStreak = 1; box.__mrvinLastBadPlate = pUp; }\n          if (box.__mrvinPlateStreak >= 2) showPlateBypass(box);\n        }\n      });\n    }\n    \/\/ On-the-fly input filter: plate mode keeps A-Z 0-9 space hyphen; VIN mode strips to\n    \/\/ A-Z 0-9 so spaces can never eat maxlength slots and silently truncate the VIN \u2014 the bug\n    \/\/ behind the missing order #749 (\"WDD 205066 1F 221\" was a 17-char VIN cut to 14).\n    var input = findInput(box);\n    if (input) {\n      input.addEventListener('input', function(){\n        if (isPlateMode(box)) {\n          var p = input.value.toUpperCase().replace(\/[^A-Z0-9 \\-]\/g, '');\n          if (p !== input.value) input.value = p;\n          \/\/ Editing after a rejection clears the note and restarts the streak, so the bypass link\n          \/\/ only appears when the visitor re-submits the SAME plate \u2014 i.e. they meant it.\n          clearVinError(box);\n          box.__mrvinPlateStreak = 0; box.__mrvinLastBadPlate = '';\n        } else {\n          var v = input.value.toUpperCase().replace(\/[^A-Z0-9]\/g, '');\n          if (v !== input.value) input.value = v;\n          clearVinError(box);\n          box.__mrvinBadStreak = 0; box.__mrvinLastBad = '';\n          \/\/ Live feedback rewards completion but never nags mid-typing: the\n          \/\/ note only turns green once the full 17 characters check out.\n          if (v.length === 17 && validateVin(v).valid) showVinOk(box);\n        }\n      });\n      \/\/ Early feedback: surface the specific problem when the visitor leaves a\n      \/\/ non-empty invalid VIN, instead of waiting for the search button.\n      input.addEventListener('blur', function(){\n        if (isPlateMode(box)) return;\n        var raw = (input.value || '').trim();\n        if (!raw) return;\n        var res = validateVin(raw);\n        if (!res.valid) showVinError(box, res.error);\n      });\n    }\n  }\n\n  function init(){\n    document.querySelectorAll('.mrvin-search-box,.mrvin-cta-search-box').forEach(initBox);\n    document.addEventListener('click', function(){ closeOpen(); });\n    document.addEventListener('keydown', function(e){\n      if (e.key === 'Escape') closeOpen();\n    });\n    \/\/ Re-anchor the portaled dropdown when the page scrolls or the viewport resizes.\n    var rafId = null;\n    function reanchor(){\n      if (!openInstance) return;\n      if (rafId) cancelAnimationFrame(rafId);\n      rafId = requestAnimationFrame(function(){\n        rafId = null;\n        if (openInstance) positionDropdown(openInstance);\n      });\n    }\n    window.addEventListener('scroll', reanchor, true);\n    window.addEventListener('resize', reanchor);\n  }\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n})();\n<\/script>\n        \t\t<div class=\"mrvin-search-box\">\n\t\t\t\t\t\t\t<div class=\"mrvin-search-tabs\">\n\t\t\t\t\t<button class=\"mrvin-search-tab\" type=\"button\" data-mode=\"vin\">VIN<\/button>\n\t\t\t\t\t<button class=\"mrvin-search-tab active\" type=\"button\" data-mode=\"plate\">Number plate<\/button>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<form class=\"mrvin-search-row\" action=\"https:\/\/www.mrvin.com\/fr\/product\/\" method=\"GET\">\n\t\t\t\t<div class=\"mrvin-country\" data-default-iso=\"FR\">\n  <button type=\"button\" class=\"mrvin-country-tile is-empty\" aria-haspopup=\"listbox\" aria-expanded=\"false\" aria-label=\"S\u00e9lectionnez un pays\">\n    <svg class=\"mrvin-country-tile-stars\" aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg>\n    <span class=\"mrvin-country-tile-code\">\u2014<\/span>\n  <\/button>\n  <div class=\"mrvin-country-dropdown\" role=\"listbox\" aria-hidden=\"true\">\n    <div class=\"mrvin-country-search-wrap\">\n      <span class=\"mrvin-country-search-icon\" aria-hidden=\"true\"><\/span>\n      <input type=\"text\" class=\"mrvin-country-search\" placeholder=\"Rechercher un pays\" aria-label=\"Rechercher un pays\" autocomplete=\"off\" spellcheck=\"false\">\n    <\/div>\n    <div class=\"mrvin-country-options\">\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"AT\"\n            data-search=\"autriche at a\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Autriche<\/span>\n          <span class=\"mrvin-country-option-code\">A<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"BE\"\n            data-search=\"belgique be b\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Belgique<\/span>\n          <span class=\"mrvin-country-option-code\">B<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"BG\"\n            data-search=\"bulgarie bg bg\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Bulgarie<\/span>\n          <span class=\"mrvin-country-option-code\">BG<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"CY\"\n            data-search=\"chypre cy cy\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Chypre<\/span>\n          <span class=\"mrvin-country-option-code\">CY<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"CZ\"\n            data-search=\"tch\u00e9coslovaquie cz cz\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Tch\u00e9coslovaquie<\/span>\n          <span class=\"mrvin-country-option-code\">CZ<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"DE\"\n            data-search=\"allemagne de d\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Allemagne<\/span>\n          <span class=\"mrvin-country-option-code\">D<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"DK\"\n            data-search=\"danemark dk dk\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Danemark<\/span>\n          <span class=\"mrvin-country-option-code\">DK<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"EE\"\n            data-search=\"estonie ee est\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Estonie<\/span>\n          <span class=\"mrvin-country-option-code\">EST<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"ES\"\n            data-search=\"espagne es e\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Espagne<\/span>\n          <span class=\"mrvin-country-option-code\">E<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"FI\"\n            data-search=\"finlande fi fin\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Finlande<\/span>\n          <span class=\"mrvin-country-option-code\">FIN<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"FR\"\n            data-search=\"france fr f\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">France<\/span>\n          <span class=\"mrvin-country-option-code\">F<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"GB\"\n            data-search=\"royaume-uni gb gb\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-gb-flag\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Royaume-Uni<\/span>\n          <span class=\"mrvin-country-option-code\">GB<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"GR\"\n            data-search=\"gr\u00e8ce gr gr\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Gr\u00e8ce<\/span>\n          <span class=\"mrvin-country-option-code\">GR<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"HU\"\n            data-search=\"hongrie hu h\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Hongrie<\/span>\n          <span class=\"mrvin-country-option-code\">H<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"IE\"\n            data-search=\"irlande ie irl\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Irlande<\/span>\n          <span class=\"mrvin-country-option-code\">IRL<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"IT\"\n            data-search=\"italie it i\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Italie<\/span>\n          <span class=\"mrvin-country-option-code\">I<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"LT\"\n            data-search=\"lituanie lt lt\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Lituanie<\/span>\n          <span class=\"mrvin-country-option-code\">LT<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"LU\"\n            data-search=\"luxembourg lu l\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Luxembourg<\/span>\n          <span class=\"mrvin-country-option-code\">L<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"LV\"\n            data-search=\"lettonie lv lv\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Lettonie<\/span>\n          <span class=\"mrvin-country-option-code\">LV<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"MT\"\n            data-search=\"malte mt m\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Malte<\/span>\n          <span class=\"mrvin-country-option-code\">M<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"NL\"\n            data-search=\"pays-bas nl nl\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Pays-Bas<\/span>\n          <span class=\"mrvin-country-option-code\">NL<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"PL\"\n            data-search=\"pologne pl pl\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Pologne<\/span>\n          <span class=\"mrvin-country-option-code\">PL<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"PT\"\n            data-search=\"portugal pt p\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Portugal<\/span>\n          <span class=\"mrvin-country-option-code\">P<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"RO\"\n            data-search=\"roumanie ro ro\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Roumanie<\/span>\n          <span class=\"mrvin-country-option-code\">RO<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"SE\"\n            data-search=\"su\u00e8de se s\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Su\u00e8de<\/span>\n          <span class=\"mrvin-country-option-code\">S<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"SI\"\n            data-search=\"slov\u00e9nie si slo\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Slov\u00e9nie<\/span>\n          <span class=\"mrvin-country-option-code\">SLO<\/span>\n        <\/button>\n              <button type=\"button\" class=\"mrvin-country-option\" role=\"option\"\n            data-iso=\"SK\"\n            data-search=\"slovaquie sk sk\">\n          <span class=\"mrvin-country-option-flag\"><svg aria-hidden=\"true\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg><\/span>\n          <span class=\"mrvin-country-option-name\">Slovaquie<\/span>\n          <span class=\"mrvin-country-option-code\">SK<\/span>\n        <\/button>\n            <p class=\"mrvin-country-empty\" role=\"status\">Aucun pays ne correspond<\/p>\n    <\/div>\n  <\/div>\n  <p class=\"mrvin-country-error\" role=\"alert\" aria-live=\"polite\">Veuillez d&#039;abord s\u00e9lectionner un pays<\/p>\n<\/div>\n        \t\t\t\t<input type=\"text\" class=\"mrvin-search-input\" name=\"plate\"\n\t\t\t\t\tplaceholder=\"Saisissez la plaque d&#039;immatriculation\"\n\t\t\t\t\taria-label=\"VIN ou plaque d&#039;immatriculation\"\n\t\t\t\t\tmaxlength=\"15\" autocomplete=\"off\"\n\t\t\t\t\tdata-ph-vin=\"Saisissez le VIN \u00e0 17 caract\u00e8res\"\n\t\t\t\t\tdata-ph-plate=\"Saisissez la plaque d&#039;immatriculation\"\n\t\t\t\t\tdata-btn-vin=\"V\u00e9rifier le VIN\"\n\t\t\t\t\tdata-btn-plate=\"V\u00e9rifier la plaque\">\n\t\t\t\t<button type=\"submit\" class=\"mrvin-search-btn\"><span>V\u00e9rifier la plaque<\/span><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M5 12h13\"\/><path d=\"m12.5 6.4 6 5.6-6 5.6\"\/><\/svg><\/button>\n\t\t\t<\/form>\n\t\t<\/div>\n\t\t\t\t\t<p class=\"mrvin-search-hint\" style=\"display:none\">Exemple : <code>WBA3A5G59DNP26082<\/code><span class=\"sep\"><\/span>Aper\u00e7u gratuit inclus<\/p>\n\t\t\t\t\t<ul class=\"pv-trust\">\n\t\t\t\t<li><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><path d=\"M3.5 12h17\"\/><path d=\"M12 3.5c2.3 2.4 3.4 5.3 3.4 8.5s-1.1 6.1-3.4 8.5c-2.3-2.4-3.4-5.3-3.4-8.5S9.7 5.9 12 3.5Z\"\/><\/svg><span>Plus de 30 pays<\/span><\/li>\n\t\t\t\t<li><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><path d=\"M12 7v5.3l3.4 2\"\/><\/svg><span>R\u00e9sultat en moins d&#039;une minute<\/span><\/li>\n\t\t\t\t<li><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M13.5 3.5h-6a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2V8.5Z\"\/><path d=\"M13.5 3.5V8.5h5\"\/><path d=\"M9 13.4h6M9 16.4h4\"\/><\/svg><span>Rapport PDF complet<\/span><\/li>\n\t\t\t<\/ul>\n\t\t<\/div>\n\t\t\n\t\t\t<h2 id=\"stock\">O\u00f9 se trouve vraiment l&#039;offre<\/h2>\n\n\t\t\t\t\t<div class=\"tbl-scroll\">\n\t\t\t<table class=\"dtable\">\n\t\t\t\t<thead><tr><th>O\u00f9<\/th><th>De quoi il s&#039;agit<\/th><th>Pourquoi y aller<\/th><\/tr><\/thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>leboncoin<\/td><td>Le plus grand vivier de vendeurs particuliers en France<\/td><td>Les meilleurs prix, le moins de cadre, le plus de travail<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>La Centrale<\/td><td>Plus de 350\u00a0000 annonces, tr\u00e8s orient\u00e9 professionnels<\/td><td>Stock de concessions, garanties et contr\u00f4les techniques r\u00e9cents<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>AutoScout24, L'Argus<\/td><td>Plateformes plus petites et mixtes<\/td><td>Utiles pour v\u00e9rifier une valeur et comparer des prix<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t<\/tbody>\n\t\t\t<\/table>\n\t\t<\/div>\n\t\t\n\t\t\t<p>Une bonne m\u00e9thode consiste \u00e0 estimer la voiture sur La Centrale et \u00e0 l&#039;acheter sur leboncoin. Les annonces de professionnels sont ce qui se rapproche le plus d&#039;un prix de march\u00e9 publi\u00e9, tandis que les particuliers fixent souvent leur prix en fonction de ce qu&#039;ils se souviennent avoir pay\u00e9.<\/p>\n\n\t\t\t<h2 id=\"pertinence\">Ce que classe vraiment la pertinence<\/h2>\n\n\t\t\t<p>Depuis fin 2024, leboncoin trie les r\u00e9sultats par pertinence par d\u00e9faut, sur ordinateur comme sur mobile. Avant de faire confiance \u00e0 la premi\u00e8re page, il vaut mieux savoir ce que recouvre ce mot.<\/p>\n\n\t\t\t<p>La pertinence int\u00e8gre d\u00e9sormais <b>l'engagement des acheteurs comme crit\u00e8re de classement<\/b>. Les annonces qui re\u00e7oivent le plus de clics, de messages et de mises en favori remontent. \u00c0 cela s'ajoutent les options payantes, et les professionnels disposent d'outils de remont\u00e9e automatis\u00e9s.<\/p>\n\n\t\t\t\t\t<div class=\"tbl-scroll\">\n\t\t\t<table class=\"dtable\">\n\t\t\t\t<thead><tr><th>Fonction<\/th><th>Ce qu&#039;elle fait<\/th><th>Ce qu&#039;elle dit de la voiture<\/th><\/tr><\/thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"hi\"><td>Pertinence, le tri par d\u00e9faut<\/td><td>M\u00e9lange correspondance et signaux d'engagement<\/td><td>Populaire, pas bonne<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Remont\u00e9e<\/td><td>Replace l'annonce dans l'ordre chronologique, puis l'effet retombe en quelques heures<\/td><td>Rien<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Mise en avant<\/td><td>Un encadr\u00e9 ou un logo color\u00e9 qui continue d'attirer l'oeil<\/td><td>Rien<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Supersmartbump<\/td><td>Outil de remont\u00e9e automatis\u00e9 vendu aux professionnels<\/td><td>Rien<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t<\/tbody>\n\t\t\t<\/table>\n\t\t<\/div>\n\t\t\n\t\t\t<p>Deux cons\u00e9quences. Les voitures bien photographi\u00e9es r\u00e9coltent des clics et remontent, qu&#039;elles soient de bonnes affaires ou non. Et de tr\u00e8s bonnes voitures avec de mauvaises photos et trois lignes de description disparaissent au fond des r\u00e9sultats.<\/p>\n\n\t\t\t<div class=\"takeaway\">\n\t\t\t\t<b>\u00c0 faire en premier<\/b>\n\t\t\t\tTriez par prix et par date, et prenez le temps de lire les annonces que tout le monde saute. Ces annonces mal pr\u00e9sent\u00e9es de particuliers sont souvent l\u00e0 o\u00f9 se cache la valeur.\t\t\t<\/div>\n\n\t\t\t<h2 id=\"timing\">Quand acheter, et quand \u00e9crire<\/h2>\n\n\t\t\t<p>Deux horloges m\u00e9ritent votre attention : le calendrier et l&#039;anciennet\u00e9 de l&#039;annonce.<\/p>\n\n\t\t\t\t\t<div class=\"tbl-scroll\">\n\t\t\t<table class=\"dtable\">\n\t\t\t\t<thead><tr><th>P\u00e9riode<\/th><th>Ce qui se passe<\/th><\/tr><\/thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"hi\"><td>Janvier et f\u00e9vrier<\/td><td>Demande plus faible, ventes plus lentes, vendeurs plus patients<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"hi\"><td>Fin d'\u00e9t\u00e9<\/td><td>La seconde fen\u00eatre calme, avant la reprise de l'automne<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Automne<\/td><td>La haute saison, et les prix les plus fermes<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t<\/tbody>\n\t\t\t<\/table>\n\t\t<\/div>\n\t\t\n\t\t\t<p>Reste l'annonce elle m\u00eame. <b>Une bonne r\u00e8gle consiste \u00e0 attendre trois \u00e0 quatre semaines apr\u00e8s la publication avant de prendre contact.<\/b> Si une voiture est en ligne depuis un mois sans partir, le vendeur a souvent d\u00e9j\u00e0 commenc\u00e9 \u00e0 revoir son prix, m\u00eame s'il n'a pas modifi\u00e9 l'annonce.<\/p>\n\n\t\t\t<p>Gardez le premier message simple. Demandez si la voiture est toujours disponible et si quelque chose a chang\u00e9 depuis la mise en ligne. Annoncer un prix d&#039;embl\u00e9e, c&#039;est donner une information avant que le vendeur n&#039;en ait donn\u00e9 aucune.<\/p>\n\n\t\t\t<h2 id=\"price\">Ce que la voiture devrait co\u00fbter<\/h2>\n\n\t\t\t<p>Avant de n\u00e9gocier, \u00e9tablissez ce que vaut r\u00e9ellement la voiture.<\/p>\n\n\t\t\t<p>La cote Argus simplifi\u00e9e est gratuite et donne d\u00e9j\u00e0 un bon ordre de grandeur, et une version d\u00e9taill\u00e9e existe pour quelques euros. Quelle que soit celle que vous utilisez, comparez le chiffre aux annonces similaires dans un rayon d&#039;environ 100 kilom\u00e8tres, car c&#039;est le march\u00e9 auquel le vendeur se compare lui aussi.<\/p>\n\n\t\t\t<p>Un rapport MrVIN prend la question par l&#039;autre bout. Il comprend une estimation de valeur en plus des relev\u00e9s de kilom\u00e9trage, des dommages enregistr\u00e9s et de l&#039;historique de financement, si bien que le chiffre et les raisons de le faire baisser arrivent dans le m\u00eame document. Un compteur trafiqu\u00e9 ou une r\u00e9paration non d\u00e9clar\u00e9e n&#039;est pas un crit\u00e8re d&#039;estimation. C&#039;est une remise.<\/p>\n\n\t\t\t<p><b>La marge de n\u00e9gociation r\u00e9aliste se situe entre 5 et 15 pour cent.<\/b> Plut\u00f4t 5 \u00e0 10 sur un v\u00e9hicule bien entretenu et correctement affich\u00e9, jusqu'\u00e0 15 quand la voiture demande des travaux ou que l'annonce tra\u00eene depuis longtemps.<\/p>\n\n\t\t\t<p>Le levier le plus fort face \u00e0 un particulier reste <b>le paiement imm\u00e9diat<\/b>. Le deuxi\u00e8me est un devis de r\u00e9paration \u00e9crit. Des pneus en limite, un embrayage en fin de vie ou une distribution \u00e0 faire sont des co\u00fbts chiffr\u00e9s. Les chiffres font bouger un prix comme les opinions n'y parviennent jamais.<\/p>\n\n\t\t\t<h2 id=\"grise\">Le calcul de la carte grise<\/h2>\n\n\t\t\t<p>Le co\u00fbt d&#039;immatriculation n&#039;est ni fixe ni n\u00e9gociable, il doit donc entrer dans vos calculs avant de faire une offre.<\/p>\n\n\t\t\t<p>La taxe r\u00e9gionale repose sur <b>la puissance fiscale, multipli\u00e9e par le tarif de votre r\u00e9gion, puis ajust\u00e9e par l'\u00e2ge du v\u00e9hicule<\/b>. Deux cons\u00e9quences importantes en d\u00e9coulent.<\/p>\n\n\t\t\t\t\t<div class=\"tbl-scroll\">\n\t\t\t<table class=\"dtable\">\n\t\t\t\t<thead><tr><th>R\u00e9gion<\/th><th>Tarif par CV<\/th><\/tr><\/thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Auvergne Rh\u00f4ne Alpes, Hauts de France<\/td><td>43 EUR<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"hi\"><td>\u00cele de France<\/td><td>68,95 EUR. Le taux r\u00e9gional est de 54,95 EUR, auquel s'ajoute une surtaxe de 14 EUR par CV depuis le 1er mars 2026, ramen\u00e9e \u00e0 12 EUR en 2027<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Bourgogne Franche Comt\u00e9, Bretagne, Centre Val de Loire, Grand Est, Normandie, Provence Alpes C\u00f4te d'Azur<\/td><td>60 EUR, le maximum l\u00e9gal<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t<\/tbody>\n\t\t\t<\/table>\n\t\t<\/div>\n\t\t\n\t\t\t<div class=\"takeaway\">\n\t\t\t\t<b>Le levier<\/b>\n\t\t\t\tAu del\u00e0 de dix ans, la taxe r\u00e9gionale est divis\u00e9e par deux. C&#039;est un argument discret en faveur de l&#039;exemplaire de onze ans plut\u00f4t que de celui de neuf ans.\t\t\t<\/div>\n\n\t\t\t<p><b>Le tarif d\u00e9pend de votre lieu de r\u00e9sidence, pas de l'endroit o\u00f9 se trouve la voiture.<\/b> Ce n'est donc pas une raison d'acheter dans une autre r\u00e9gion. C'est une raison de regarder la puissance fiscale de chaque voiture que vous envisagez, car la facture suit ce chiffre.<\/p>\n\n\t\t\t<p>C&#039;est cette proportionnalit\u00e9 qui rend l&#039;\u00cele de France si co\u00fbteuse. \u00c0 68,95 EUR par CV, une voiture de sept CV revient \u00e0 environ 483 EUR \u00e0 immatriculer, contre 301 EUR en Auvergne Rh\u00f4ne Alpes, pour la m\u00eame voiture.<\/p>\n\n\t\t\t<h2 id=\"pro\">Le particulier qui est en fait un professionnel<\/h2>\n\n\t\t\t<p>Beaucoup de marchands publient en tant que particuliers. En France, cette distinction compte plus que la plupart des acheteurs ne l&#039;imaginent.<\/p>\n\n\t\t\t<p>Entre particuliers, la <b>garantie l\u00e9gale de conformit\u00e9<\/b> ne s'applique pas. Le vendeur ne r\u00e9pond que des <b>vices cach\u00e9s<\/b>, et la plupart des annonces de particuliers tentent d'\u00e9carter m\u00eame cela avec une mention de vente en l'\u00e9tat.<\/p>\n\n\t\t\t<figure>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" class=\"cover\" src=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/listings\/leboncoin-same-driveway.webp\" width=\"1024\" height=\"576\" alt=\"Trois annonces de trois vendeurs diff\u00e9rents, toutes photographi\u00e9es devant la m\u00eame entr\u00e9e\" loading=\"lazy\">\n\t\t\t\t<figcaption>Trois vendeurs diff\u00e9rents. Le m\u00eame portail, la m\u00eame fissure dans le sol.<\/figcaption>\n\t\t\t<\/figure>\n\n\t\t\t<p>Voici ce que presque personne ne dit aux acheteurs. <b>Cette exclusion ne tient pas si le vendeur agit en r\u00e9alit\u00e9 comme un professionnel.<\/b> Un particulier qui revend environ cinq voitures par an peut \u00eatre requalifi\u00e9, et un professionnel est cens\u00e9 conna\u00eetre les vices de ce qu'il vend, ce qui neutralise la clause d'exclusion. La jurisprudence r\u00e9cente va plus loin et traite de la m\u00eame fa\u00e7on le particulier qui a lui m\u00eame r\u00e9alis\u00e9 les travaux \u00e0 l'origine du vice.<\/p>\n\n\t\t\t\t\t<div class=\"tbl-scroll\">\n\t\t\t<table class=\"dtable\">\n\t\t\t\t<thead><tr><th>Signal<\/th><th>Pourquoi cela compte<\/th><\/tr><\/thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"hi\"><td>Plusieurs voitures vendues depuis le m\u00eame compte ou le m\u00eame num\u00e9ro<\/td><td>Motif de requalification<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"hi\"><td>Des photos toujours prises au m\u00eame endroit<\/td><td>Un parc de vente plut\u00f4t qu'une all\u00e9e de maison<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"hi\"><td>Le m\u00eame d\u00e9cor sur des annonces de vendeurs diff\u00e9rents<\/td><td>Un seul marchand derri\u00e8re plusieurs comptes de particuliers<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Propose la livraison, le financement ou la reprise<\/td><td>Comportement typique de professionnel<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>\u00ab J'ai fait les r\u00e9parations moi m\u00eame \u00bb<\/td><td>Peut compter juridiquement plus tard<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t<\/tbody>\n\t\t\t<\/table>\n\t\t<\/div>\n\t\t\n\t\t\t<p>Le marchand d\u00e9guis\u00e9 n&#039;est pas seulement un risque. C&#039;est aussi une preuve.<\/p>\n\n\t\t\t<div class=\"caveat\">\n\t\t\t\t<b>\u00c0 faire avant de payer<\/b>\n\t\t\t\tFaites des captures de l&#039;annonce, conservez les messages et notez les autres v\u00e9hicules mis en vente. Si un d\u00e9faut s\u00e9rieux appara\u00eet plus tard, c&#039;est ce mat\u00e9riel qui transforme une vente entre particuliers sans recours en dossier. Vous disposez de deux ans \u00e0 compter de la d\u00e9couverte du vice pour agir, dans la limite de vingt ans apr\u00e8s la vente.\t\t\t<\/div>\n\n\t\t\t<h2 id=\"listing\">Lire une annonce fran\u00e7aise<\/h2>\n\n\t\t\t\t\t<div class=\"tbl-scroll\">\n\t\t\t<table class=\"dtable\">\n\t\t\t\t<thead><tr><th>Terme<\/th><th>Ce que cela veut dire<\/th><\/tr><\/thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Premi\u00e8re main<\/td><td>Un seul propri\u00e9taire depuis neuf. \u00c0 v\u00e9rifier sur la carte grise et Histovec<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Carnet d'entretien suivi<\/td><td>Carnet disponible. Demandez \u00e0 voir chaque page<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Distribution faite<\/td><td>Distribution remplac\u00e9e. Demandez la facture, pas la parole<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"hi\"><td>CT vierge<\/td><td>Contr\u00f4le technique pass\u00e9 sans d\u00e9faut relev\u00e9<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>CT avec contre visite<\/td><td>Points d\u00e9faillants \u00e0 repasser<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"hi\"><td>Vendu en l'\u00e9tat<\/td><td>Tentative de limiter la responsabilit\u00e9, pas toujours efficace<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>V\u00e9hicule accident\u00e9<\/td><td>Accident\u00e9. Au moins c'est annonc\u00e9<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"hi\"><td>VGE, VEI<\/td><td>Class\u00e9 gravement endommag\u00e9 ou \u00e9conomiquement irr\u00e9parable<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Non fumeur<\/td><td>Sans grande port\u00e9e, mais r\u00e9v\u00e9lateur du style de l'annonce<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t<\/tbody>\n\t\t\t<\/table>\n\t\t<\/div>\n\t\t\n\t\t\t<p><b>CT vierge est l'expression \u00e0 chercher<\/b>, parce que c'est la seule affirmation d'une annonce fran\u00e7aise qu'un tiers a r\u00e9ellement sign\u00e9e.<\/p>\n\n\t\t\t<h2 id=\"docs\">Ce que le vendeur doit vous remettre<\/h2>\n\n\t\t\t<p>La France est assez stricte sur les documents, et chacun d&#039;eux vous renseigne aussi sur le vendeur.<\/p>\n\n\t\t\t\t\t<div class=\"tbl-scroll\">\n\t\t\t<table class=\"dtable\">\n\t\t\t\t<thead><tr><th>Document<\/th><th>Exigence<\/th><\/tr><\/thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Contr\u00f4le technique<\/td><td>De moins de six mois, pour un v\u00e9hicule de plus de quatre ans<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Certificat de situation administrative<\/td><td>De moins de quinze jours. Atteste l'absence de gage et d'opposition<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Certificat de cession<\/td><td>Sign\u00e9 par les deux parties<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Carte grise<\/td><td>Barr\u00e9e, dat\u00e9e et sign\u00e9e, avec la vente d\u00e9clar\u00e9e sur l'ANTS<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t<\/tbody>\n\t\t\t<\/table>\n\t\t<\/div>\n\t\t\n\t\t\t<p>Un vendeur qui peine \u00e0 fournir ces documents vous indique souvent comment se passera la suite de la transaction.<\/p>\n\n\t\t\t<h2 id=\"histovec\">Histovec, et pourquoi il faut le demander<\/h2>\n\n\t\t\t<p>Histovec est le service gratuit d&#039;historique des v\u00e9hicules du minist\u00e8re de l&#039;Int\u00e9rieur. Il s&#039;appuie sur le fichier national d&#039;immatriculation et couvre les changements de propri\u00e9taire, les kilom\u00e9trages relev\u00e9s lors des contr\u00f4les techniques, les proc\u00e9dures pour v\u00e9hicule endommag\u00e9, les vols, les gages et les oppositions.<\/p>\n\n\t\t\t<p>Une limite importante s'impose. <b>Seul le propri\u00e9taire actuel peut g\u00e9n\u00e9rer le rapport et vous le transmettre.<\/b> Vous ne pouvez pas l'obtenir vous m\u00eame avec la seule plaque d'immatriculation.<\/p>\n\n\t\t\t<p>Histovec est donc plus qu&#039;un document. C&#039;est aussi un test de comportement. Un vendeur qui n&#039;a rien \u00e0 cacher envoie le lien en une ou deux minutes depuis son t\u00e9l\u00e9phone. Demandez le t\u00f4t, avant de passer un samedi sur la route.<\/p>\n\n\t\t\t<div class=\"caveat\">\n\t\t\t\t<b>L\u00e0 o\u00f9 il s&#039;arr\u00eate<\/b>\n\t\t\t\tHistovec conna\u00eet le chapitre fran\u00e7ais. Sur une voiture import\u00e9e, tout ce qui pr\u00e9c\u00e8de son immatriculation en France est hors du syst\u00e8me.\t\t\t<\/div>\n\n\t\t\t<h2 id=\"scams\">Paiement et arnaques<\/h2>\n\n\t\t\t<p>La fausse annonce classique suit toujours le m\u00eame sc\u00e9nario. Le prix est tr\u00e8s inf\u00e9rieur aux v\u00e9hicules comparables, le vendeur veut passer sur une messagerie, se dit \u00e0 l&#039;\u00e9tranger et demande un acompte pour r\u00e9server la voiture ou organiser le transport.<\/p>\n\n\t\t\t<figure>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" class=\"cover\" src=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/mobilede\/mobilede-videocall.webp\" width=\"1024\" height=\"576\" alt=\"L&#039;ours MrVIN en visioconf\u00e9rence avec un vendeur qui montre un garage vide\" loading=\"lazy\">\n\t\t\t\t<figcaption>Il n&#039;y a pas de voiture.<\/figcaption>\n\t\t\t<\/figure>\n\n\t\t\t<p>Deux v\u00e9rifications rapides en \u00e9liminent une grande partie. <b>Faites une recherche d'image invers\u00e9e<\/b> sur Google Images ou TinEye, car les jeux de photos vol\u00e9es sont le signe le plus fr\u00e9quent. Puis regardez le compte du vendeur plut\u00f4t que l'annonce : son anciennet\u00e9, ses autres publications, ses \u00e9valuations \u00e9ventuelles.<\/p>\n\n\t\t\t<p>Les arnaques au paiement existent aussi, dans les deux sens.<\/p>\n\n\t\t\t\t\t<div class=\"tbl-scroll\">\n\t\t\t<table class=\"dtable\">\n\t\t\t\t<thead><tr><th>Signal<\/th><th>Ce que cela veut dire<\/th><\/tr><\/thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"hi\"><td>Acompte avant toute visite<\/td><td>Vol, sans exception<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Ch\u00e8que de banque pr\u00e9sent\u00e9 au rendez vous<\/td><td>Un faux ch\u00e8que peut mettre jusqu'\u00e0 deux semaines \u00e0 \u00eatre d\u00e9tect\u00e9<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"hi\"><td>Ch\u00e8que d'un montant sup\u00e9rieur au prix, avec demande de remboursement<\/td><td>L'arnaque au trop per\u00e7u, un classique<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<tr class=\"\"><td>Pression pour conclure aujourd'hui<\/td><td>L'urgence fabriqu\u00e9e est toute la m\u00e9thode<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t<\/tbody>\n\t\t\t<\/table>\n\t\t<\/div>\n\t\t\n\t\t\t<p>Pour les montants importants, un service de s\u00e9questre conserve les fonds jusqu&#039;\u00e0 ce que les deux parties aient conclu la vente, pour un co\u00fbt g\u00e9n\u00e9ralement de 1,5 \u00e0 2 pour cent, le plus souvent partag\u00e9 entre acheteur et vendeur. Sur une voiture \u00e0 10\u00a0000 EUR, cela repr\u00e9sente de 150 EUR \u00e0 200 EUR pour \u00eatre tranquille.<\/p>\n\n\t\t\t<p>Si vous acceptez un ch\u00e8que de banque, demandez une copie \u00e0 l&#039;avance pour que votre banque puisse le v\u00e9rifier avant le rendez vous.<\/p>\n\n\t\t\t\t\t<h2 id=\"checklist\">Avant de payer<\/h2>\n\t\t<ol>\n\t\t\t\t\t\t\t<li>Triez par prix et par date plut\u00f4t que de vous fier \u00e0 la pertinence.<\/li>\n\t\t\t\t\t\t\t<li>Lisez les annonces mal pr\u00e9sent\u00e9es. C'est souvent l\u00e0 qu'est la valeur.<\/li>\n\t\t\t\t\t\t\t<li>Si votre calendrier est souple, achetez en janvier, en f\u00e9vrier ou en fin d'\u00e9t\u00e9.<\/li>\n\t\t\t\t\t\t\t<li>Attendez trois \u00e0 quatre semaines apr\u00e8s la publication avant d'\u00e9crire.<\/li>\n\t\t\t\t\t\t\t<li>Achetez la cote Argus d\u00e9taill\u00e9e et comparez aux annonces locales similaires.<\/li>\n\t\t\t\t\t\t\t<li>Regardez la puissance fiscale et calculez la carte grise avant de n\u00e9gocier.<\/li>\n\t\t\t\t\t\t\t<li>Demandez le lien Histovec t\u00f4t, et consid\u00e9rez un refus comme une r\u00e9ponse.<\/li>\n\t\t\t\t\t\t\t<li>V\u00e9rifiez que le contr\u00f4le technique a moins de six mois et le certificat de situation administrative moins de quinze jours.<\/li>\n\t\t\t\t\t\t\t<li>Conservez des captures de l'annonce et tous les \u00e9changes.<\/li>\n\t\t\t\t\t\t\t<li>Ne versez jamais d'acompte pour une voiture que vous n'avez pas vue.<\/li>\n\t\t\t\t\t<\/ol>\n\t\t\n\t\t\t<p class=\"endnote\">La pertinence d\u00e9cide de ce que vous voyez en premier. Le nombre de CV d\u00e9cide de ce que la voiture co\u00fbte une fois achet\u00e9e. Ni l&#039;un ni l&#039;autre ne dit quoi que ce soit sur la voiture, et c&#039;est pr\u00e9cis\u00e9ment ce qu&#039;il vous reste \u00e0 \u00e9tablir.<\/p>\n\n\t\t\t\t\t<div class=\"promo promo-xl\">\n\t\t\t<div class=\"promo-inner\">\n\t\t\t\t<div class=\"promo-main\">\n\t\t\t\t\t<span class=\"promo-ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"10.5\" cy=\"10.5\" r=\"7\"\/><path d=\"m7.6 10.6 2.1 2.1 3.9-4.3\"\/><path d=\"m15.6 15.6 4.4 4.4\"\/><\/svg><\/span>\n\t\t\t\t\t<div class=\"promo-text\">\n\t\t\t\t\t\t<p class=\"promo-eyebrow\">Avant de signer quoi que ce soit<\/p>\n\t\t\t\t\t\t<p class=\"promo-h\">Sachez ce que vous achetez<\/p>\n\t\t\t\t\t\t<p class=\"promo-sub\">Kilom\u00e9trage, dommages, financement et historique d&#039;import dans plus de 30 pays, en un rapport, en moins d&#039;une minute.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<ul class=\"promo-trust\">\n\t\t\t\t\t<li><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><path d=\"M3.5 12h17\"\/><path d=\"M12 3.5c2.3 2.4 3.4 5.3 3.4 8.5s-1.1 6.1-3.4 8.5c-2.3-2.4-3.4-5.3-3.4-8.5S9.7 5.9 12 3.5Z\"\/><\/svg><span>Plus de 30 pays<\/span><\/li>\n\t\t\t\t\t<li><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><path d=\"M12 7v5.3l3.4 2\"\/><\/svg><span>En moins d&#039;une minute<\/span><\/li>\n\t\t\t\t\t<li><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M13.5 3.5h-6a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2V8.5Z\"\/><path d=\"M13.5 3.5V8.5h5\"\/><path d=\"M9 13.4h6M9 16.4h4\"\/><\/svg><span>Rapport PDF complet<\/span><\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t<a class=\"promo-btn\" href=\"#vincheck\" data-go=\"vincheck\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M3.5 17v-4.1l1.7-4.2a2 2 0 0 1 1.9-1.2h9.8a2 2 0 0 1 1.9 1.2l1.7 4.2V17\"\/><path d=\"M4 12.9h16\"\/><circle cx=\"7.6\" cy=\"17\" r=\"1.7\"\/><circle cx=\"16.4\" cy=\"17\" r=\"1.7\"\/><\/svg><span>V\u00e9rifier un VIN<\/span><svg class=\"pb-arrow\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M5 12h13\"\/><path d=\"m12.5 6.4 6 5.6-6 5.6\"\/><\/svg><\/a>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<p class=\"promo-alt\"><a href=\"https:\/\/www.mrvin.com\/fr\/exemple-de-rapport-sur-un-vehicule\/\"><span>Encore h\u00e9sitant ? Voyez d&#039;abord \u00e0 quoi ressemble un rapport complet<\/span><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M5 12h13\"\/><path d=\"m12.5 6.4 6 5.6-6 5.6\"\/><\/svg><\/a><\/p>\n\t\t\n\t\t\t<section class=\"faq\" id=\"faq\">\n\t\t\t\t<h2>Questions fr\u00e9quentes<\/h2>\n\t\t\t\t\t\t\t\t\t<div class=\"faq-item\">\n\t\t\t\t\t\t<p class=\"faq-q\">Que classe r\u00e9ellement leboncoin quand il trie par pertinence ?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">La pertinence, plus l&#039;engagement des acheteurs. Les annonces qui r\u00e9coltent le plus de clics, de messages et de mises en favori remontent, et les vendeurs peuvent en plus payer pour la visibilit\u00e9 via la Remont\u00e9e, la Mise en avant et l&#039;outil Supersmartbump vendu aux professionnels. La pertinence vous dit qu&#039;une annonce est populaire, pas que la voiture est bonne. Triez plut\u00f4t par prix et par date.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"faq-item\">\n\t\t\t\t\t\t<p class=\"faq-q\">Combien co\u00fbte une carte grise, et peut-on la r\u00e9duire ?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">La taxe r\u00e9gionale correspond \u00e0 la puissance fiscale multipli\u00e9e par le taux de votre r\u00e9gion, ajust\u00e9e selon l&#039;\u00e2ge du v\u00e9hicule. Les taux vont de 43 euros par CV en Auvergne Rh\u00f4ne Alpes \u00e0 68,95 en \u00cele de France, et 60 est le maximum l\u00e9gal dans plusieurs r\u00e9gions. Le taux suit votre lieu de r\u00e9sidence, pas celui de la voiture. Les v\u00e9hicules de plus de dix ans b\u00e9n\u00e9ficient d&#039;une r\u00e9duction de 50 pour cent, ce qui est un argument discret en faveur de l&#039;exemplaire de onze ans.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"faq-item\">\n\t\t\t\t\t\t<p class=\"faq-q\">Puis-je obtenir moi-m\u00eame un rapport Histovec avant de contacter le vendeur ?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">Non. Seul le propri\u00e9taire actuel peut g\u00e9n\u00e9rer un rapport Histovec et vous en transmettre le lien, vous ne pouvez donc pas l&#039;obtenir \u00e0 partir de la seule immatriculation. Le demander devient ainsi autant un test de comportement qu&#039;une demande de document : un vendeur qui n&#039;a rien \u00e0 cacher envoie le lien en une minute depuis son t\u00e9l\u00e9phone. Demandez-le t\u00f4t, avant de passer un samedi sur la route.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"faq-item\">\n\t\t\t\t\t\t<p class=\"faq-q\">Vendu en l&#039;\u00e9tat signifie-t-il que je n&#039;ai aucun recours contre un particulier ?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">Pas forc\u00e9ment. Une vente entre particuliers ne comporte pas de garantie l\u00e9gale de conformit\u00e9 et le vendeur n&#039;est tenu que des vices cach\u00e9s, que la plupart des annonces de particuliers tentent d&#039;exclure. Cette exclusion ne tient pas si le vendeur agit en r\u00e9alit\u00e9 comme un professionnel. Quelqu&#039;un qui revend environ cinq voitures par an peut \u00eatre l\u00e9galement requalifi\u00e9 en professionnel, et un professionnel est r\u00e9put\u00e9 conna\u00eetre les d\u00e9fauts de ce qu&#039;il vend.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"faq-item\">\n\t\t\t\t\t\t<p class=\"faq-q\">Quels documents un vendeur fran\u00e7ais doit-il me remettre ?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">Un contr\u00f4le technique de moins de six mois pour un v\u00e9hicule de plus de quatre ans, un certificat de situation administrative de moins de quinze jours, un certificat de cession sign\u00e9 par les deux parties, et la carte grise barr\u00e9e, dat\u00e9e et sign\u00e9e, la vente \u00e9tant d\u00e9clar\u00e9e via l&#039;ANTS. Un vendeur qui peine \u00e0 fournir ces documents vous indique d\u00e9j\u00e0 comment se passera le reste de la transaction.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"faq-item\">\n\t\t\t\t\t\t<p class=\"faq-q\">Quelle marge de n\u00e9gociation sur leboncoin ?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">G\u00e9n\u00e9ralement de 5 \u00e0 15 pour cent. Plut\u00f4t 5 \u00e0 10 sur une voiture bien tarif\u00e9e et bien entretenue, et jusqu&#039;\u00e0 15 lorsqu&#039;elle demande des travaux ou que l&#039;annonce est en ligne depuis longtemps. Attendre trois \u00e0 quatre semaines apr\u00e8s la publication avant de prendre contact aide, car le vendeur a alors d\u00e9j\u00e0 commenc\u00e9 \u00e0 revoir son prix. Face \u00e0 un particulier, \u00eatre pr\u00eat \u00e0 payer imm\u00e9diatement reste souvent le levier le plus efficace.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/section>\n\n\t\t\t<section class=\"sources\">\n\t\t\t\t<h2>\u00c0 propos de ce guide<\/h2>\n\t\t\t\t<ul>\n\t\t\t\t\t<li><b>P\u00e9rim\u00e8tre<\/b> : les co\u00fbts d'estimation, les marges de n\u00e9gociation et les tendances saisonni\u00e8res sont indicatifs plut\u00f4t que fixes, et varient selon le v\u00e9hicule, la r\u00e9gion et le vendeur.<\/li>\n\t\t\t\t\t<li><b>Tarifs de carte grise<\/b> : les taux r\u00e9gionaux par CV \u00e9voluent, et la surtaxe d'\u00cele de France doit \u00eatre abaiss\u00e9e en 2027. V\u00e9rifiez le taux en vigueur dans votre propre r\u00e9gion avant de b\u00e2tir un budget, de m\u00eame que les obligations de contr\u00f4le technique et les r\u00e8gles de requalification d'un particulier en professionnel.<\/li>\n\t\t\t\t\t\t\t<li><b>Termes des annonces<\/b> : les mots locaux sont laiss\u00e9s exactement tels qu'ils apparaissent sur la plateforme, car un terme traduit ne peut pas \u00eatre recherch\u00e9. Les champs d\u00e9crivant l'\u00e9tat et l'historique sont en particulier des d\u00e9clarations du vendeur, pas des faits v\u00e9rifi\u00e9s.<\/li>\n\t\t<li><b>Marges de n\u00e9gociation et tendances saisonni\u00e8res<\/b> : ce sont des estimations habituelles, pas des r\u00e8gles. Elles bougent avec le mod\u00e8le, la saison, le vendeur et l'anciennet\u00e9 de l'annonce, et m\u00e9ritent d'\u00eatre vues comme un point de d\u00e9part plut\u00f4t que comme un objectif.<\/li>\n\t\t<li><b>Pourquoi le VIN compte ici<\/b> : le passage d'une fronti\u00e8re est l'endroit o\u00f9 la trace \u00e9crite d'une voiture dispara\u00eet g\u00e9n\u00e9ralement, ce que d\u00e9taille <a href=\"https:\/\/www.mrvin.com\/fr\/blog\/historique-voiture-importee\/\">comment v\u00e9rifier une voiture import\u00e9e<\/a>, et le volet kilom\u00e9trage <a href=\"https:\/\/www.mrvin.com\/fr\/blog\/fraude-compteur-voitures-occasion\/\">la fraude au compteur<\/a>. Si la voiture que vous regardez vient d'Allemagne, <a href=\"https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-en-allemagne\/\">le guide d'importation pour ce march\u00e9<\/a> explique ce que co\u00fbte d'en ramener une vous-m\u00eame.<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t<\/section>\n\n\t\t\t\t<section class=\"readnext\">\n\t\t\t<p class=\"eyebrow\">Lire la suite<\/p>\n\t\t\t<div class=\"readnext-grid\">\n\t\t\t\t\t\t\t\t\t<a class=\"readnext-card\" href=\"https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-en-allemagne\/\">\n\t\t\t\t\t\t<span class=\"rn-img\" style=\"background-image:url('https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/mobilede\/mobilede-hero.webp')\" aria-hidden=\"true\"><\/span>\n\t\t\t\t\t\t<span class=\"rn-body\">\n\t\t\t\t\t\t\t<span class=\"rn-title\">Comment acheter une voiture sur mobile.de et l&#039;importer en France<\/span>\n\t\t\t\t\t\t\t<span class=\"rn-dek\">mobile.de est la plus grande place de march\u00e9 de voitures d&#039;occasion en Europe et le stock allemand est moins cher que son \u00e9quivalent fran\u00e7ais, ce qui explique pourquoi tant d&#039;acheteurs fran\u00e7ais regardent de l&#039;autre c\u00f4t\u00e9 de la fronti\u00e8re. C&#039;est aussi l&#039;endroit o\u00f9 l&#039;on paie le plus facilement trop cher, et pour un acheteur fran\u00e7ais il y a un chiffre qui peut annuler toute l&#039;\u00e9conomie.<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rn-more\">Consultez le guide &rarr;<\/span>\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<a class=\"readnext-card\" href=\"https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-aux-encheres\/\">\n\t\t\t\t\t\t<span class=\"rn-img\" style=\"background-image:url('https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/auction\/auction-hero.webp')\" aria-hidden=\"true\"><\/span>\n\t\t\t\t\t\t<span class=\"rn-body\">\n\t\t\t\t\t\t\t<span class=\"rn-title\">Acheter une voiture aux ench\u00e8res en France<\/span>\n\t\t\t\t\t\t\t<span class=\"rn-dek\">La France est l&#039;un des rares march\u00e9s europ\u00e9ens o\u00f9 tout le monde peut ench\u00e9rir sans licence professionnelle, et l&#039;un des rares o\u00f9 une taxe \u00e0 l&#039;immatriculation peut co\u00fbter plus cher que la voiture.<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rn-more\">Consultez le guide &rarr;<\/span>\n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<\/article>\n\t\t\t\t<\/div>\n\t<\/div>\n\t<script>\n(function(){\n  var ROOT=document.querySelector('.mrvin-blog-post'); if(!ROOT) return;\n  var I18N={\"readMin\":\"temps de lecture\",\"copied\":\"Copi\u00e9\",\"chart1\":{\"inCountry\":\"Sold within a country\",\"crossBorder\":\"Sold across EU borders\",\"ofCars\":\"% of cars\"},\"chart2\":{\"before\":\"Before the database\",\"after\":\"2024 (with Car-Pass)\",\"cases\":\"cases\"},\"rank\":{\"unit\":\"checks\"},\"calc\":{\"perYear\":\"km \/ year\",\"typicalFor\":\"Typical for its age\",\"thisCar\":\"This car\",\"difference\":\"Difference\",\"about\":\"about typical\",\"pctBelow\":\"% below typical\",\"pctAbove\":\"% above typical\",\"rangeLegend\":\"Typical range for its age\",\"noteValue\":\"If the true mileage is closer to {expected} km, the missing {hidden} km could be inflating the {price} asking price by very roughly {est} (about 4% of value per 10,000 km).\",\"noteHidden\":\"That is around {hidden} km below typical. Add an asking price above to estimate the value at stake.\",\"tiers\":{\"veryLow\":{\"label\":\"Very low mileage\",\"color\":\"#A32D2D\",\"msg\":\"This is far below what a car of this age normally covers. Genuine low mileage cars exist, but this is exactly the pattern odometer fraud creates. Insist on a recorded mileage history before you trust the dial.\"},\"below\":{\"label\":\"Below typical\",\"color\":\"#854F0B\",\"msg\":\"A little below average. Often legitimate, but worth confirming against stamped service records and logged readings.\"},\"normal\":{\"label\":\"Looks normal\",\"color\":\"#0F6E56\",\"msg\":\"In the normal range for its age and use. Nothing unusual on mileage alone, though a full history check is still wise.\"},\"above\":{\"label\":\"Above typical\",\"color\":\"#854F0B\",\"msg\":\"Above average for its age. Not a fraud signal in itself, but expect more wear and use it to negotiate the price down.\"},\"veryHigh\":{\"label\":\"Very high mileage\",\"color\":\"#A32D2D\",\"msg\":\"Very high for its age. Likely a former fleet, taxi or long commute car. Budget for heavier wear and check the maintenance record closely.\"}}}}, HOME=\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/\", CDN=\"\/wp-content\/uploads\/vendor\/chart-4.4.1.umd.js\";\n  var SANS=\"-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif\";\n  var $=function(id){return document.getElementById(id);};\n\n  \/* reading progress bar *\/\n  var bar=$('mrvin-blog-progress');\n  function prog(){var h=document.documentElement,max=h.scrollHeight-h.clientHeight;if(bar)bar.style.width=(max>0?(h.scrollTop\/max)*100:0)+'%';}\n  document.addEventListener('scroll',prog,{passive:true});window.addEventListener('resize',prog);prog();\n\n  \/* estimated read time *\/\n  var art=ROOT.querySelector('article');\n  if(art){var rt=$('mrvin-blog-readtime');var w=(art.innerText.match(\/\\S+\/g)||[]).length;if(rt)rt.textContent=Math.max(1,Math.round(w\/225))+' '+I18N.readMin;}\n\n  \/* share buttons *\/\n  var url=encodeURIComponent(location.href),txt=encodeURIComponent(document.title.split('|')[0].trim());\n  if($('mrvin-blog-sh-x'))$('mrvin-blog-sh-x').href='https:\/\/twitter.com\/intent\/tweet?url='+url+'&text='+txt;\n  if($('mrvin-blog-sh-li'))$('mrvin-blog-sh-li').href='https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url='+url;\n  if($('mrvin-blog-sh-fb'))$('mrvin-blog-sh-fb').href='https:\/\/www.facebook.com\/sharer\/sharer.php?u='+url;\n  if($('mrvin-blog-sh-copy'))$('mrvin-blog-sh-copy').addEventListener('click',function(e){var b=e.currentTarget,o=b.innerHTML;try{navigator.clipboard.writeText(location.href);}catch(err){}b.textContent='\u2713';setTimeout(function(){b.innerHTML=o;},1200);});\n\n  \/* ToC scrollspy *\/\n  var links={};ROOT.querySelectorAll('.toc a').forEach(function(a){links[a.getAttribute('href').slice(1)]=a;});\n  if('IntersectionObserver' in window){\n    var spy=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){Object.keys(links).forEach(function(k){links[k].classList.remove('active');});if(links[e.target.id])links[e.target.id].classList.add('active');}});},{rootMargin:'-92px 0px -68% 0px',threshold:0});\n    Object.keys(links).forEach(function(id){var el=$(id);if(el)spy.observe(el);});\n  }\n\n  \/* back to top *\/\n  var top=$('mrvin-blog-totop');\n  if(top){window.addEventListener('scroll',function(){top.classList.toggle('show',window.scrollY>600);},{passive:true});top.addEventListener('click',function(){window.scrollTo({top:0,behavior:'smooth'});});}\n\n  \/* VIN-check card submit *\/\n  \/* VIN search box: auto-submit once a full 17-char VIN is typed (matches the homepage hero) *\/\n  (function(){\n    var box=ROOT.querySelector('.mrvin-search-box'); if(!box) return;\n    var input=box.querySelector('.mrvin-search-input'), form=box.querySelector('form'); if(!input||!form) return;\n    var VIN_RE=\/^[A-HJ-NPR-Z0-9]{17}$\/i, timer=null, submitted=false;\n    function cancel(){ if(timer){clearTimeout(timer);timer=null;} }\n    input.addEventListener('input',function(){\n      cancel(); if(submitted) return;\n      if(!VIN_RE.test((input.value||'').trim())) return;\n      timer=setTimeout(function(){ timer=null; if(submitted) return;\n        if(!VIN_RE.test((input.value||'').trim())) return;\n        submitted=true; if(typeof form.requestSubmit==='function') form.requestSubmit(); else form.submit();\n      },1000);\n    });\n    form.addEventListener('submit',function(){ submitted=true; cancel(); });\n  })();\n\n  \/* reveal on scroll *\/\n  var rev=ROOT.querySelectorAll('figure,.tldr,.calc,.takeaway,.promo,.promo-vin');\n  rev.forEach(function(el){el.classList.add('reveal');});\n  if('IntersectionObserver' in window){\n    var ro=new IntersectionObserver(function(es,o){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add('in');o.unobserve(e.target);}});},{threshold:0.12});\n    rev.forEach(function(el){ro.observe(el);});\n  } else { rev.forEach(function(el){el.classList.add('in');}); }\n\n  \/* mileage calculator *\/\n  var cY=$('mrvin-blog-calc-year'),cK=$('mrvin-blog-calc-km'),cU=$('mrvin-blog-calc-use'),cP=$('mrvin-blog-calc-price'),cO=$('mrvin-blog-calc-out');\n  function tier(r){var T=I18N.calc.tiers;if(r<0.5)return T.veryLow;if(r<0.8)return T.below;if(r<=1.4)return T.normal;if(r<=2.0)return T.above;return T.veryHigh;}\n  function fmt(n){return n.toLocaleString();}\n  function run(){\n    if(!cY||!cK||!cU||!cO)return;\n    var now=new Date().getFullYear(),y=parseInt(cY.value,10),km=parseInt(cK.value,10),bm=parseInt(cU.value,10);\n    if(!y||isNaN(km)||y<1950||y>now||km<0){cO.classList.remove('show');cO.innerHTML='';return;}\n    var age=Math.max(1,now-y),per=Math.round(km\/age),exp=bm*age,ratio=per\/bm,t=tier(ratio);\n    var gap=Math.round((km-exp)\/exp*100),gapTxt=Math.abs(gap)<5?I18N.calc.about:(Math.abs(gap)+(gap<0?I18N.calc.pctBelow:I18N.calc.pctAbove));\n    var bandLow=exp*0.8,bandHigh=exp*1.4,scaleMax=Math.max(km,bandHigh,exp)*1.15;\n    var bL=bandLow\/scaleMax*100,bW=(bandHigh-bandLow)\/scaleMax*100,mk=Math.min(100,km\/scaleMax*100);\n    var note='';\n    if(ratio<0.8){\n      var hidden=exp-km,price=parseInt(cP&&cP.value,10);\n      if(price&&price>0&&hidden>0){\n        var est=Math.round(price*0.04*(hidden\/10000)\/100)*100;if(est>price)est=price;\n        if(est>0)note=' '+I18N.calc.noteValue.replace('{expected}',fmt(exp)).replace('{hidden}',fmt(hidden)).replace('{price}','\u20ac'+fmt(price)).replace('{est}','\u20ac'+fmt(est));\n      } else if(hidden>0){\n        note=' '+I18N.calc.noteHidden.replace('{hidden}',fmt(hidden));\n      }\n    }\n    cO.innerHTML=\n      '<div class=\"calc-verdict\" style=\"color:'+t.color+'\">'+t.label+'<\/div>'+\n      '<span class=\"calc-num\" style=\"color:'+t.color+'\">'+fmt(per)+' '+I18N.calc.perYear+'<\/span>'+\n      '<div class=\"calc-bar\"><div class=\"calc-bar-band\" style=\"left:'+bL+'%;width:'+bW+'%\"><\/div><div class=\"calc-bar-mark\" style=\"left:'+mk+'%;background:'+t.color+'\"><\/div><\/div>'+\n      '<div class=\"calc-bar-legend\"><span><span class=\"sw\" style=\"background:#9FE1CB\"><\/span>'+I18N.calc.rangeLegend+'<\/span><span><span class=\"sw\" style=\"background:'+t.color+';width:3px;height:13px\"><\/span>'+I18N.calc.thisCar+'<\/span><\/div>'+\n      '<div class=\"calc-metrics\"><div>'+I18N.calc.typicalFor+'<b>'+fmt(exp)+' km<\/b><\/div><div>'+I18N.calc.thisCar+'<b>'+fmt(km)+' km<\/b><\/div><div>'+I18N.calc.difference+'<b>'+gapTxt+'<\/b><\/div><\/div>'+\n      '<p class=\"calc-msg\">'+t.msg+note+'<\/p>';\n    cO.classList.add('show');\n  }\n  [cY,cK,cU,cP].forEach(function(el){if(el)el.addEventListener('input',run);});\n\n  \/* charts (load Chart.js on demand, build when scrolled into view) *\/\n  var chartsBuilt=false;\n  function loadChart(cb){if(window.Chart){cb();return;}var s=document.createElement('script');s.src=CDN;s.onload=cb;s.onerror=function(){};document.head.appendChild(s);}\n  var rangeLabels={id:'rangeLabels',afterDatasetsDraw:function(c){var x=c.ctx,m=c.getDatasetMeta(0);m.data.forEach(function(b,i){var v=c.data.datasets[0].data[i];x.save();x.font=\"500 14px \"+SANS;x.fillStyle=\"#0B1120\";x.textBaseline=\"middle\";x.fillText(v[0]+' to '+v[1]+'%',b.x+10,b.y);x.restore();});}};\n  function chart1(){var el=$('mrvin-blog-chart1');if(!el)return;new Chart(el,{type:'bar',data:{labels:[I18N.chart1.inCountry,I18N.chart1.crossBorder],datasets:[{data:[[5,12],[30,50]],backgroundColor:['#85B7EB','#003399'],borderRadius:7,barThickness:48}]},options:{indexAxis:'y',responsive:true,maintainAspectRatio:false,animation:{duration:1100,easing:'easeOutQuart'},layout:{padding:{right:54}},plugins:{legend:{display:false},tooltip:{callbacks:{label:function(c){return c.raw[0]+' to '+c.raw[1]+I18N.chart1.ofCars;}}}},scales:{x:{min:0,max:55,ticks:{callback:function(v){return v+'%';},color:'#94A3B8',font:{family:SANS}},grid:{color:'#EEF2F6'},border:{display:false}},y:{ticks:{color:'#3A4F66',font:{size:14,family:SANS}},grid:{display:false},border:{display:false}}}},plugins:[rangeLabels]});}\n  var valueLabels={id:'valueLabels',afterDatasetsDraw:function(c){var x=c.ctx,m=c.getDatasetMeta(0),txt=['~80,000','1,411'];m.data.forEach(function(b,i){x.save();x.font=\"500 15px \"+SANS;x.fillStyle=i===0?'#9A3636':'#0F6E56';x.textAlign='center';x.fillText(txt[i],b.x,b.y-10);x.restore();});}};\n  function chart2(){var el=$('mrvin-blog-chart2');if(!el)return;new Chart(el,{type:'bar',data:{labels:[I18N.chart2.before,I18N.chart2.after],datasets:[{data:[80000,1411],backgroundColor:['#E24B4A','#1D9E75'],borderRadius:8,barThickness:96}]},options:{responsive:true,maintainAspectRatio:false,animation:{duration:1200,easing:'easeOutQuart'},layout:{padding:{top:24}},plugins:{legend:{display:false},tooltip:{callbacks:{label:function(c){return c.parsed.y.toLocaleString()+' '+I18N.chart2.cases;}}}},scales:{x:{ticks:{color:'#3A4F66',font:{size:14,family:SANS}},grid:{display:false},border:{display:false}},y:{beginAtZero:true,ticks:{callback:function(v){return v.toLocaleString();},color:'#94A3B8',font:{family:SANS}},grid:{color:'#EEF2F6'},border:{display:false}}}},plugins:[valueLabels]});}\n  \/* generic ranked horizontal bar charts: any <canvas class=\"mrvin-blog-rank\" data-chart='{\"labels\":[],\"data\":[],\"colors\":[]}'>\n     Labels are proper nouns (model names) so they stay untranslated; only the unit suffix comes from I18N. *\/\n  function rankCharts(){\n    ROOT.querySelectorAll('canvas.mrvin-blog-rank').forEach(function(el){\n      var cfg; try{ cfg=JSON.parse(el.getAttribute('data-chart')||'null'); }catch(e){ return; }\n      if(!cfg||!cfg.labels||!cfg.data) return;\n      var unit=(I18N.rank&&I18N.rank.unit)||'';\n      new Chart(el,{type:'bar',\n        data:{labels:cfg.labels,datasets:[{data:cfg.data,backgroundColor:cfg.colors||'#003399',borderRadius:6,barThickness:20}]},\n        options:{indexAxis:'y',responsive:true,maintainAspectRatio:false,\n          animation:{duration:1100,easing:'easeOutQuart'},\n          plugins:{legend:{display:false},tooltip:{callbacks:{label:function(c){return c.parsed.x.toLocaleString()+' '+unit;}}}},\n          scales:{x:{grid:{color:'#EEF2F6'},ticks:{color:'#94A3B8',font:{family:SANS}},border:{display:false}},\n            y:{grid:{display:false},ticks:{color:'#3A4F66',font:{size:12.5,family:SANS}},border:{display:false}}}}});\n    });\n  }\n  \/* generic line charts: any <canvas class=\"mrvin-blog-line\" data-chart='{\"labels\":[],\"series\":[{\"label\":\"\",\"color\":\"\",\"data\":[]}]}'>\n     Every label arrives already translated from PHP, so unlike chart1\/chart2 this\n     needs no I18N plumbing and no per-article keys in the shared context.\n     Per-series flags: fill, dash (dashed reference line), point (show markers),\n     tip:false (keep it out of the tooltip, e.g. a warranty floor). *\/\n  function lineCharts(){\n    ROOT.querySelectorAll('canvas.mrvin-blog-line').forEach(function(el){\n      var cfg; try{ cfg=JSON.parse(el.getAttribute('data-chart')||'null'); }catch(e){ return; }\n      if(!cfg||!cfg.labels||!cfg.series) return;\n      var sfx=cfg.suffix||'';\n      var ds=cfg.series.map(function(s){\n        return {label:s.label||'',data:s.data,_tip:s.tip!==false,\n          borderColor:s.color||'#003399',\n          backgroundColor:s.fill?(s.fillColor||'rgba(0,51,153,.09)'):'transparent',fill:!!s.fill,\n          borderDash:s.dash?[6,5]:undefined,tension:s.dash?0:.3,borderWidth:s.dash?1.5:3,\n          pointRadius:s.point?4:0,pointHoverRadius:s.dash?0:(s.point?6:5),\n          pointBackgroundColor:s.color||'#003399',pointBorderColor:'#fff',pointBorderWidth:2};\n      });\n      new Chart(el,{type:'line',data:{labels:cfg.labels,datasets:ds},\n        options:{responsive:true,maintainAspectRatio:false,\n          animation:{duration:1250,easing:'easeOutQuart'},\n          plugins:{legend:{display:false},tooltip:{\n            filter:function(c){return c.dataset._tip!==false;},\n            callbacks:{\n              title:function(items){var i=items[0].dataIndex,l=items[0].label;\n                if(0===i&&cfg.titleFirst)return cfg.titleFirst;\n                return cfg.titlePrefix?(cfg.titlePrefix+' '+l):l;},\n              label:function(c){return (c.dataset.label?c.dataset.label+': ':'')+c.parsed.y.toLocaleString()+sfx;}}}},\n          scales:{\n            x:{title:cfg.xTitle?{display:true,text:cfg.xTitle,color:'#94A3B8',font:{size:12,family:SANS}}:{display:false},\n              ticks:{color:'#3A4F66',font:{size:12.5,family:SANS}},grid:{display:false},border:{display:false}},\n            y:{min:cfg.yMin,max:cfg.yMax,beginAtZero:0===cfg.yMin,\n              ticks:{stepSize:cfg.yStep,callback:function(v){return v+sfx;},color:'#94A3B8',font:{family:SANS}},\n              grid:{color:'#EEF2F6'},border:{display:false}}}}});\n    });\n  }\n  function buildCharts(){if(chartsBuilt)return;chartsBuilt=true;chart1();chart2();rankCharts();lineCharts();}\n  var c1=$('mrvin-blog-chart1')||ROOT.querySelector('canvas.mrvin-blog-rank,canvas.mrvin-blog-line');\n  if(c1&&'IntersectionObserver' in window){\n    var co=new IntersectionObserver(function(es,o){es.forEach(function(e){if(e.isIntersecting){loadChart(buildCharts);o.disconnect();}});},{threshold:0.2});\n    co.observe(c1);\n  } else if(c1){ loadChart(buildCharts); }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":0,"featured_media":0,"parent":1054,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-16714","page","type-page","status-publish","hentry"],"blocksy_meta":[],"yoast_head":"<title>Acheter une voiture sur leboncoin : pertinence, carte grise et Histovec | MrVIN<\/title>\n<meta name=\"description\" content=\"La pertinence classe la popularit\u00e9 et le paiement, pas l&#039;\u00e9tat du v\u00e9hicule. Ce que dit vraiment une annonce fran\u00e7aise, ce que co\u00fbte la carte grise dans votre r\u00e9gion, et pourquoi un particulier peut \u00eatre requalifi\u00e9 en professionnel.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-leboncoin\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Acheter une voiture sur leboncoin : pertinence, carte grise et Histovec | MrVIN\" \/>\n<meta property=\"og:description\" content=\"La pertinence classe la popularit\u00e9 et le paiement, pas l&#039;\u00e9tat du v\u00e9hicule. Ce que dit vraiment une annonce fran\u00e7aise, ce que co\u00fbte la carte grise dans votre r\u00e9gion, et pourquoi un particulier peut \u00eatre requalifi\u00e9 en professionnel.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-leboncoin\/\" \/>\n<meta property=\"og:site_name\" content=\"MrVIN\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-27T09:13:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/logo\/mrvin-social-preview.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/logo\/mrvin-social-preview.png\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/blog\\\/acheter-voiture-leboncoin\\\/\",\"url\":\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/blog\\\/acheter-voiture-leboncoin\\\/\",\"name\":\"Acheter une voiture sur leboncoin : pertinence, carte grise et Histovec | MrVIN\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/#website\"},\"datePublished\":\"2026-08-27T07:00:00+00:00\",\"dateModified\":\"2026-08-27T09:13:05+00:00\",\"description\":\"La pertinence classe la popularit\u00e9 et le paiement, pas l'\u00e9tat du v\u00e9hicule. Ce que dit vraiment une annonce fran\u00e7aise, ce que co\u00fbte la carte grise dans votre r\u00e9gion, et pourquoi un particulier peut \u00eatre requalifi\u00e9 en professionnel.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/blog\\\/acheter-voiture-leboncoin\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/blog\\\/acheter-voiture-leboncoin\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/blog\\\/acheter-voiture-leboncoin\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Comment acheter une voiture sur leboncoin sans payer trop cher\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/#website\",\"url\":\"https:\\\/\\\/www.mrvin.com\\\/\",\"name\":\"MrVIN\",\"description\":\"Get instant vehicle history reports\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/#organization\"},\"alternateName\":[\"Mr VIN\",\"Mr. VIN\",\"MRVIN\",\"Mr.VIN\",\"MrVIN.com\"],\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/#organization\",\"name\":\"MrVIN\",\"url\":\"https:\\\/\\\/www.mrvin.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mrvin.com\\\/wp-content\\\/uploads\\\/email\\\/mrvin-logo-horizontal.png\",\"contentUrl\":\"https:\\\/\\\/www.mrvin.com\\\/wp-content\\\/uploads\\\/email\\\/mrvin-logo-horizontal.png\",\"width\":450,\"height\":123,\"caption\":\"MrVIN\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/mrvin\\\/\",\"https:\\\/\\\/www.instagram.com\\\/mrvin_com\\\/\",\"https:\\\/\\\/www.facebook.com\\\/people\\\/Mr-VIN\\\/61590451420892\\\/\",\"https:\\\/\\\/www.wikidata.org\\\/wiki\\\/Q141044861\",\"https:\\\/\\\/www.trustpilot.com\\\/review\\\/mrvin.com\",\"https:\\\/\\\/www.youtube.com\\\/@mrvin_com\",\"https:\\\/\\\/x.com\\\/mrvin_com\",\"https:\\\/\\\/www.crunchbase.com\\\/organization\\\/mrvin\"],\"alternateName\":[\"Mr VIN\",\"Mr. VIN\",\"MRVIN\",\"Mr.VIN\",\"MrVIN.com\"],\"identifier\":{\"@type\":\"PropertyValue\",\"propertyID\":\"Wikidata\",\"value\":\"Q141044861\"},\"legalName\":\"VERIFY SIA\",\"foundingDate\":\"2026-01-20\",\"vatID\":\"LV40203713379\",\"taxID\":\"40203713379\",\"email\":\"info@mrvin.com\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"Roberta Hir\u0161a 1\",\"addressLocality\":\"R\u012bga\",\"postalCode\":\"LV-1045\",\"addressCountry\":\"LV\"},\"areaServed\":\"Europe\",\"knowsAbout\":[\"Vehicle history reports\",\"Vehicle identification number\",\"Odometer fraud detection\",\"Used car inspection\"]}]}<\/script>","yoast_head_json":{"title":"Acheter une voiture sur leboncoin : pertinence, carte grise et Histovec | MrVIN","description":"La pertinence classe la popularit\u00e9 et le paiement, pas l'\u00e9tat du v\u00e9hicule. Ce que dit vraiment une annonce fran\u00e7aise, ce que co\u00fbte la carte grise dans votre r\u00e9gion, et pourquoi un particulier peut \u00eatre requalifi\u00e9 en professionnel.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-leboncoin\/","og_locale":"fr_FR","og_type":"article","og_title":"Acheter une voiture sur leboncoin : pertinence, carte grise et Histovec | MrVIN","og_description":"La pertinence classe la popularit\u00e9 et le paiement, pas l'\u00e9tat du v\u00e9hicule. Ce que dit vraiment une annonce fran\u00e7aise, ce que co\u00fbte la carte grise dans votre r\u00e9gion, et pourquoi un particulier peut \u00eatre requalifi\u00e9 en professionnel.","og_url":"https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-leboncoin\/","og_site_name":"MrVIN","article_modified_time":"2026-08-27T09:13:05+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.mrvin.com\/wp-content\/uploads\/logo\/mrvin-social-preview.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.mrvin.com\/wp-content\/uploads\/logo\/mrvin-social-preview.png","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-leboncoin\/","url":"https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-leboncoin\/","name":"Acheter une voiture sur leboncoin : pertinence, carte grise et Histovec | MrVIN","isPartOf":{"@id":"https:\/\/www.mrvin.com\/#website"},"datePublished":"2026-08-27T07:00:00+00:00","dateModified":"2026-08-27T09:13:05+00:00","description":"La pertinence classe la popularit\u00e9 et le paiement, pas l'\u00e9tat du v\u00e9hicule. Ce que dit vraiment une annonce fran\u00e7aise, ce que co\u00fbte la carte grise dans votre r\u00e9gion, et pourquoi un particulier peut \u00eatre requalifi\u00e9 en professionnel.","breadcrumb":{"@id":"https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-leboncoin\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-leboncoin\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.mrvin.com\/fr\/blog\/acheter-voiture-leboncoin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mrvin.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mrvin.com\/fr\/blog\/"},{"@type":"ListItem","position":3,"name":"Comment acheter une voiture sur leboncoin sans payer trop cher"}]},{"@type":"WebSite","@id":"https:\/\/www.mrvin.com\/#website","url":"https:\/\/www.mrvin.com\/","name":"MrVIN","description":"Get instant vehicle history reports","publisher":{"@id":"https:\/\/www.mrvin.com\/#organization"},"alternateName":["Mr VIN","Mr. VIN","MRVIN","Mr.VIN","MrVIN.com"],"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mrvin.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.mrvin.com\/#organization","name":"MrVIN","url":"https:\/\/www.mrvin.com\/","logo":{"@type":"ImageObject","@id":"https:\/\/www.mrvin.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.mrvin.com\/wp-content\/uploads\/email\/mrvin-logo-horizontal.png","contentUrl":"https:\/\/www.mrvin.com\/wp-content\/uploads\/email\/mrvin-logo-horizontal.png","width":450,"height":123,"caption":"MrVIN"},"image":{"@id":"https:\/\/www.mrvin.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/mrvin\/","https:\/\/www.instagram.com\/mrvin_com\/","https:\/\/www.facebook.com\/people\/Mr-VIN\/61590451420892\/","https:\/\/www.wikidata.org\/wiki\/Q141044861","https:\/\/www.trustpilot.com\/review\/mrvin.com","https:\/\/www.youtube.com\/@mrvin_com","https:\/\/x.com\/mrvin_com","https:\/\/www.crunchbase.com\/organization\/mrvin"],"alternateName":["Mr VIN","Mr. VIN","MRVIN","Mr.VIN","MrVIN.com"],"identifier":{"@type":"PropertyValue","propertyID":"Wikidata","value":"Q141044861"},"legalName":"VERIFY SIA","foundingDate":"2026-01-20","vatID":"LV40203713379","taxID":"40203713379","email":"info@mrvin.com","address":{"@type":"PostalAddress","streetAddress":"Roberta Hir\u0161a 1","addressLocality":"R\u012bga","postalCode":"LV-1045","addressCountry":"LV"},"areaServed":"Europe","knowsAbout":["Vehicle history reports","Vehicle identification number","Odometer fraud detection","Used car inspection"]}]}},"_links":{"self":[{"href":"https:\/\/www.mrvin.com\/fr\/wp-json\/wp\/v2\/pages\/16714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mrvin.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mrvin.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mrvin.com\/fr\/wp-json\/wp\/v2\/comments?post=16714"}],"version-history":[{"count":1,"href":"https:\/\/www.mrvin.com\/fr\/wp-json\/wp\/v2\/pages\/16714\/revisions"}],"predecessor-version":[{"id":16715,"href":"https:\/\/www.mrvin.com\/fr\/wp-json\/wp\/v2\/pages\/16714\/revisions\/16715"}],"up":[{"embeddable":true,"href":"https:\/\/www.mrvin.com\/fr\/wp-json\/wp\/v2\/pages\/1054"}],"wp:attachment":[{"href":"https:\/\/www.mrvin.com\/fr\/wp-json\/wp\/v2\/media?parent=16714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}