{"id":35885,"date":"2026-10-20T11:45:44","date_gmt":"2026-10-20T09:45:44","guid":{"rendered":"https:\/\/www.mrvin.com\/?page_id=35885"},"modified":"2026-10-20T11:47:00","modified_gmt":"2026-10-20T09:47:00","slug":"property-history-report","status":"publish","type":"page","link":"https:\/\/www.mrvin.com\/fr\/blog\/property-history-report\/","title":{"rendered":"Votre voiture a un rapport d&rsquo;historique. Le logement que vous allez acheter aussi."},"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 img.avatar{display:block;background:none;object-fit:cover}\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\/* business article (how-businesses-use-vin-checks): segment links, the photo of\n   Gustavs, the VAT line under the price tiles, and the \/business\/ enquiry form\n   (business_pages.php mrvin_biz_form, styled by its own .mvb sheet) fitted into\n   the article column *\/\n.mrvin-blog-post .seg-link{margin:-6px 0 0;font-size:16px}\n.mrvin-blog-post .seg-link a{color:var(--blue2);font-weight:600}\n.mrvin-blog-post figure.photo{margin:26px 0 30px}\n.mrvin-blog-post figure.photo img{width:100%;height:auto;border-radius:18px;border:1px solid var(--border);display:block;margin:0 0 12px;background:var(--tint)}\n.mrvin-blog-post figure.photo figcaption{text-align:center;margin:0}\n.mrvin-blog-how-businesses-use-vin-checks img.cover{margin-bottom:36px}\n.mrvin-blog-post figure.anim{margin:30px 0}\n.mrvin-blog-post figure.anim img{width:100%;height:auto;display:block;border-radius:16px;border:1px solid var(--border)}\n.mrvin-blog-post figure.anim figcaption{text-align:center;margin-top:10px}\n.mrvin-blog-post .vin-docs{margin:20px 0 24px}\n.mrvin-blog-post .vin-docs thead th,.mrvin-blog-post .vin-docs thead th:nth-child(2),.mrvin-blog-post .vin-docs thead th:last-child{background:var(--surface2);color:var(--ink);font-weight:600;text-align:left}\n.mrvin-blog-post .vin-docs tbody td,.mrvin-blog-post .vin-docs tbody td:nth-child(2),.mrvin-blog-post .vin-docs tbody td:last-child{text-align:left;color:var(--body);background:none;font-weight:400;vertical-align:top}\n.mrvin-blog-post .vin-docs tbody td:first-child{font-weight:600;color:var(--ink)}\n.mrvin-blog-post .vin-docs tbody td:last-child{font-weight:600;color:var(--blue)}\n.mrvin-blog-post .vt{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:22px 24px;margin:26px 0 34px}\n.mrvin-blog-post .vt input{width:100%;font-family:'DM Mono',monospace;font-weight:500;font-size:19px;letter-spacing:.04em;color:var(--ink);background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:12px 14px;outline:none}\n.mrvin-blog-post .vt input:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(37,99,235,.15)}\n.mrvin-blog-post .vt-groups{display:grid;grid-template-columns:3fr 6fr 8fr;gap:8px;margin-top:14px}\n.mrvin-blog-post .vt-group{border-radius:10px;padding:10px 10px 8px;min-width:0}\n.mrvin-blog-post .vt-group .chars{display:block;font-family:'DM Mono',monospace;font-weight:500;font-size:17px;color:var(--ink);min-height:26px;word-break:break-all}\n.mrvin-blog-post .vt-group .name{display:block;font-size:12.5px;line-height:1.3;color:var(--muted);margin-top:4px}\n.mrvin-blog-post .vt-g1{background:#DCE7FF}\n.mrvin-blog-post .vt-g2{background:#DDF3E6}\n.mrvin-blog-post .vt-g3{background:#FFF3D1}\n.mrvin-blog-post .vt-msg{font-size:14px;color:var(--muted);margin:12px 0 0;min-height:21px}\n.mrvin-blog-post .vt-msg.bad{color:#C0362C;font-weight:600}\n@media(max-width:640px){\n\t.mrvin-blog-post .vt-groups{grid-template-columns:1fr}\n\t\/* each row stacks, so the column readers came for is never scrolled out of view *\/\n\t.mrvin-blog-post .vin-docs table,.mrvin-blog-post .vin-docs tbody,.mrvin-blog-post .vin-docs tr,.mrvin-blog-post .vin-docs td{display:block;width:100%}\n\t.mrvin-blog-post .vin-docs thead{display:none}\n\t.mrvin-blog-post .vin-docs tr{padding:10px 14px;border-bottom:1px solid var(--border)}\n\t.mrvin-blog-post .vin-docs tr:last-child{border-bottom:0}\n\t.mrvin-blog-post .vin-docs tbody td{padding:0;border-top:0!important}\n}\n.mrvin-blog-post .tldr .vat-note{margin:14px 0 0;font-size:12.5px;color:var(--muted)}\n.mrvin-blog-post .tldr + .seg-link{margin:-14px 0 0}\n.mrvin-blog-post .mvb-embed{border-radius:22px;margin:52px 0 0;overflow:hidden}\n.mrvin-blog-post .mvb-embed .mvb-section{padding:40px 0}\n.mrvin-blog-post .mvb-embed .mvb-wrap{padding:0 20px}\n.mrvin-blog-post .mvb-embed .mvb-head{margin-bottom:28px}\n.mrvin-blog-post .mvb-embed .mvb-h2{margin:14px auto 0;font-size:30px;text-align:center}\n.mrvin-blog-post .mvb-embed + .promo-alt{margin:16px 0 42px}\n.mrvin-blog-post .mvb-embed + .promo-alt a{display:inline-flex;align-items:center;gap:7px}\n.mrvin-blog-post .mvb-embed + .promo-alt svg{width:15px;height:15px;flex:0 0 15px}\n@media(max-width:600px){.mrvin-blog-post .mvb-embed .mvb-wrap{padding:0 12px}.mrvin-blog-post .mvb-embed .mvb-h2{font-size:26px}}\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\/* damage case cards and the four photo cover (worst-car-damage-cases); facts reuse .car-spec *\/\n.mrvin-blog-post .cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:18px;overflow:hidden;margin:0 0 14px}\n.mrvin-blog-post .cover-grid img{width:100%;height:auto;aspect-ratio:4\/3;object-fit:cover;display:block;background:var(--tint)}\n.mrvin-blog-post .dcase{background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;margin:28px 0}\n.mrvin-blog-post .dcase-photos{display:grid;grid-template-columns:1fr;gap:3px;background:var(--surface2)}\n.mrvin-blog-post .dcase-photos.two{grid-template-columns:1fr 1fr}\n.mrvin-blog-post .dcase-photos img{width:100%;height:auto;aspect-ratio:16\/10;object-fit:cover;display:block;background:var(--tint)}\n.mrvin-blog-post .dcase-photos.two img{aspect-ratio:4\/3}\n.mrvin-blog-post .dcase-body{padding:22px 26px}\n.mrvin-blog-post .dcase h3{font-family:var(--sans);font-weight:700;color:var(--ink);font-size:23px;line-height:1.25;margin:0 0 6px}\n.mrvin-blog-post .dcase .car-spec{margin:0 0 12px}\n.mrvin-blog-post .dcase-why{margin:0}\n@media(max-width:600px){.mrvin-blog-post .dcase-body{padding:18px}.mrvin-blog-post .dcase h3{font-size:21px}}\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\/* The card heading is a <p class=\"pv-h\">, like .promo-h: an h3 straight after the article h1 skipped a level\n   (heading-order-skip, 2026-10-21). The h3 selector stays for any card still built the old way. *\/\n.mrvin-blog-post .promo-vin h3,.mrvin-blog-post .promo-vin .pv-h{font-family:var(--sans);font-weight:700;color:var(--ink);font-size:23px;margin:0 0 6px;line-height:1.3}\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 .pcard-ad{display:inline-block;vertical-align:2px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);border:1px solid var(--border);border-radius:4px;padding:1px 6px;margin-left:8px;white-space:nowrap}\n.mrvin-blog-post .pcard-disc{font-size:12.5px;line-height:1.6;color:var(--faint);margin:14px 0 0}\n.mrvin-blog-post .pcard-frame{width:100%;height:900px;border:0;border-radius:8px;display:block;background:#fff}\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\/* ---------- mileage rollback study: report style mileage charts ----------\n   Drawn the way a MrVIN report draws a mileage history, so the reader\n   recognises the picture when they run their own check. *\/\n.mrvin-blog-post .rc{background:var(--surface2);border:1px solid var(--border);border-radius:14px;padding:18px;margin:14px 0 30px}\n.mrvin-blog-post .rc-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;flex-wrap:wrap}\n.mrvin-blog-post .rc-title{font-size:15px;font-weight:700;color:var(--ink);margin:0}\n.mrvin-blog-post .rc-count{font-size:12px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}\n.mrvin-blog-post .rc svg{width:100%;height:auto;display:block;overflow:visible}\n.mrvin-blog-post .rc-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;list-style:none;padding:0}\n.mrvin-blog-post .rc-legend li{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted);line-height:1.3}\n.mrvin-blog-post .rc-sw{flex-shrink:0;display:inline-block}\n.mrvin-blog-post .rc-sw.line{width:20px;height:3px;border-radius:2px;background:var(--blue2)}\n.mrvin-blog-post .rc-sw.origin{width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--faint)}\n.mrvin-blog-post .rc-sw.drop{width:10px;height:10px;border-radius:50%;background:var(--red)}\n.mrvin-blog-post .rc-sw.blue{width:12px;height:12px;border-radius:3px;background:var(--blue2)}\n.mrvin-blog-post .rc-sw.grey{width:12px;height:12px;border-radius:3px;background:var(--faint)}\n.mrvin-blog-post .rc-note{font-size:12.5px;line-height:1.45;color:var(--muted);margin:8px 0 0}\n.mrvin-blog-post .rc-flag{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:12px;font-size:15px;line-height:1.5;color:var(--body);border:1px solid rgba(226,75,74,.3);background:rgba(226,75,74,.06);margin:14px 0 0}\n.mrvin-blog-post .rc-flag+.rc-flag{margin-top:8px}\n.mrvin-blog-post .rc-flag svg{width:17px;height:17px;flex-shrink:0;margin-top:3px;fill:none;stroke:var(--red)}\n.mrvin-blog-post .rc-flag strong{color:#7F1D1D;font-weight:700}\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\/* US import series: step timeline, cost table, country navigation (2026-10) *\/\n.mrvin-blog-post ol.journey12{list-style:none;counter-reset:j;padding:0;margin:22px 0}\n.mrvin-blog-post ol.journey12>li{counter-increment:j;position:relative;padding:0 0 22px 40px;border-left:2px solid var(--border);margin:0 0 0 19px}\n.mrvin-blog-post ol.journey12>li:last-child{border-left-color:transparent;padding-bottom:4px}\n.mrvin-blog-post ol.journey12>li::before{content:counter(j);position:absolute;left:-20px;top:-2px;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;font-size:16px;line-height:38px;text-align:center}\n.mrvin-blog-post ol.journey12>li.key::before{background:var(--green)}\n.mrvin-blog-post ol.journey12 h3{margin:4px 0 6px;font-size:19px;color:var(--ink)}\n.mrvin-blog-post ol.journey12 .when{display:inline-block;font-size:12.5px;font-weight:600;color:var(--blue2);background:var(--tint);border-radius:20px;padding:2px 10px;margin-bottom:6px}\n.mrvin-blog-post ol.journey12 p{margin:0 0 8px;font-size:16.5px;line-height:1.65}\n.mrvin-blog-post ol.journey12 ul{margin:0 0 6px;padding-left:20px;font-size:16px}\n.mrvin-blog-post ol.journey12 ul li{margin:2px 0}\n.mrvin-blog-post table.cost{font-size:16px;margin:18px 0 8px}\n.mrvin-blog-post table.cost td{padding:11px 16px;border-bottom:1px solid var(--border)!important}\n.mrvin-blog-post table.cost tr:last-child td{border-bottom:0!important}\n.mrvin-blog-post table.cost td:last-child{text-align:right;white-space:nowrap;font-weight:600;color:var(--ink)}\n.mrvin-blog-post table.cost tr.sum td{border-top:2px solid var(--ink)!important;font-weight:700;color:var(--ink)}\n.mrvin-blog-post table.cost tr.alt td{color:var(--blue2)}\n.mrvin-blog-post .tablenote{font-size:14px;color:var(--muted);margin:0 0 22px}\n.mrvin-blog-post table.uscmp{font-size:14.5px;margin:22px 0 8px}\n.mrvin-blog-post table.uscmp thead th{background:var(--surface2);color:var(--muted);font-weight:600;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:12px 14px;text-align:left;vertical-align:bottom}\n.mrvin-blog-post table.uscmp tbody td{padding:12px 14px;text-align:left;color:var(--body);background:none;font-weight:400;vertical-align:top;line-height:1.45}\n.mrvin-blog-post table.uscmp tbody td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}\n.mrvin-blog-post table.uscmp tbody td:nth-child(2){white-space:nowrap}\n.mrvin-blog-post table.usnum thead th:not(:first-child),.mrvin-blog-post table.usnum tbody td:not(:first-child){text-align:right;white-space:nowrap}\n.mrvin-blog-post table.usnum tbody td:first-child{white-space:normal}\n.mrvin-blog-post table.usnum tbody td:last-child{color:var(--blue2);font-weight:500}\n.mrvin-blog-post .tbl-scroll>table.uscmp{width:100%}\n@media (max-width:640px){.mrvin-blog-post .tbl-scroll>table.uscmp{min-width:600px}.mrvin-blog-post .tbl-scroll>table.usnum{min-width:0}}\n.mrvin-blog-post .usnav{background:var(--surface2);border:1px solid var(--border);border-radius:18px;padding:26px 26px 20px;margin:52px 0 0}\n.mrvin-blog-post .usnav h2{margin:0 0 8px;font-size:25px;text-align:left;max-width:none}\n.mrvin-blog-post .usnav-sub{color:var(--muted);font-size:15.5px;line-height:1.55;margin:0 0 18px}\n.mrvin-blog-post .usnav-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}\n.mrvin-blog-post .usnav-grid li{margin:0;padding:0}\n.mrvin-blog-post .usnav-grid a,.mrvin-blog-post .usnav-grid .cur{display:flex;flex-direction:column;gap:3px;height:100%;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:11px 14px;text-decoration:none;transition:border-color .15s,transform .15s}\n.mrvin-blog-post .usnav-grid a:hover{border-color:var(--blue2);transform:translateY(-1px);text-decoration:none}\n.mrvin-blog-post .usnav-grid .cur{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}\n.mrvin-blog-post .usnav-c{color:var(--ink);font-weight:600;font-size:15.5px}\n.mrvin-blog-post .usnav-t{color:var(--muted);font-size:13px;line-height:1.4}\n.mrvin-blog-post .usnav-hub{margin:16px 0 0;font-size:15px;font-weight:500}\n.mrvin-blog-post .sources .src-note{font-size:13.5px;color:var(--faint);margin:14px 0 0}\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-property-history-report\">\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=\"#does\">Ce que fait vraiment un rapport d&#039;historique<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#what\">Ce qu&#039;il faut regarder dans l&#039;historique d&#039;un bien<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#latvia\">Lettonie : v\u00e9rifiez les dettes autant que l&#039;acte<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#poland\">Pologne : le registre foncier et hypoth\u00e9caire est ouvert \u00e0 tous<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#slovenia\">Slov\u00e9nie : deux registres et une carte publique des prix<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#report\">Pourquoi un rapport d\u00e9taill\u00e9 aide<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#other\">D&#039;autres v\u00e9rifications d&#039;historique qui valent une minute<\/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\">Vous achetez aussi une voiture ?<\/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 une voiture maintenant<span class=\"sc-geo\">R\u00e9sultat 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<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"badge\">Immobilier<\/span>\n\t\t\t\t\t\t\t\t<span class=\"date\">20 octobre 2026<\/span>\n\t\t\t\t<span class=\"dot\">&middot;<\/span>\n\t\t\t\t<span class=\"meta-extra\" id=\"mrvin-blog-readtime\">6 min de lecture<\/span>\n\t\t\t<\/div>\n\n\t\t\t<h1>Votre voiture a un rapport d&#039;historique. Le logement que vous allez acheter aussi.<\/h1>\n\n\t\t\t<p class=\"dek\">Une v\u00e9rification par num\u00e9ro de ch\u00e2ssis vous apprend ce que le vendeur d&#039;une voiture n&#039;a pas mentionn\u00e9. Un logement laisse lui aussi une trace \u00e9crite, et en Lettonie, en Pologne et en Slov\u00e9nie, l&#039;essentiel se trouve dans des registres publics. Voici ce qu&#039;il faut consulter avant de signer, et quand un rapport d\u00e9taill\u00e9 vous \u00e9vite les d\u00e9marches.<\/p>\n\n\t\t\t\t\t<div class=\"byline\">\n\t\t\t<img decoding=\"async\" class=\"avatar\" src=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/anna-avatar.webp\" width=\"42\" height=\"42\" alt=\"\">\t\t\t<div>\n\t\t\t\t<div class=\"name\">Anna<\/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\/property-history\/property-cover.webp\" width=\"1456\" height=\"720\" alt=\"L&#039;ours MrVIN tenant une loupe devant un immeuble, \u00e0 c\u00f4t\u00e9 d&#039;une voiture bleue gar\u00e9e\">\n\t\t\t<p class=\"cover-cap\">L&#039;historique d&#039;un logement est consign\u00e9. Il suffit de savoir \u00e0 quel registre le demander.<\/p>\n\n\t\t\t<p class=\"lead\">Nous passons nos journ\u00e9es \u00e0 retrouver l&#039;historique des voitures : les relev\u00e9s de kilom\u00e9trage, les dossiers de dommages, les photos d&#039;ench\u00e8res que le vendeur esp\u00e9rait voir passer inaper\u00e7ues. L&#039;id\u00e9e est simple. Le vendeur en sait plus que vous, et les registres officiels comblent cet \u00e9cart.<\/p>\n\t\t\t<p>Il en va de m\u00eame pour le plus gros achat que la plupart des gens feront jamais. Un appartement peut para\u00eetre impeccable lors d&#039;une visite et pourtant porter une hypoth\u00e8que, une saisie judiciaire ou une pile de factures de gestion impay\u00e9es. Rien de tout cela n&#039;appara\u00eet sur les photos de l&#039;annonce.<\/p>\n\n\t\t\t<div class=\"tldr\">\n\t\t\t\t<p class=\"eyebrow\">L&#039;essentiel<\/p>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>Chaque bien immobilier en Lettonie, en Pologne et en Slov\u00e9nie figure dans un registre foncier qui indique qui en est propri\u00e9taire et ce qui le gr\u00e8ve.<\/li>\n\t\t\t\t\t<li>En Lettonie, l&#039;acheteur d&#039;un appartement vendu apr\u00e8s le 31 d\u00e9cembre 2025 peut \u00eatre tenu responsable des factures impay\u00e9es du vendeur (gestion de l&#039;immeuble, charges, fonds de r\u00e9paration) sur une p\u00e9riode pouvant aller jusqu&#039;\u00e0 trois ans.<\/li>\n\t\t\t\t\t<li>En Pologne, toute personne peut consulter gratuitement en ligne un registre foncier et hypoth\u00e9caire si elle en conna\u00eet le num\u00e9ro.<\/li>\n\t\t\t\t\t<li>La Pologne et la Slov\u00e9nie publient les prix auxquels les biens voisins se sont r\u00e9ellement vendus, ce qui est un meilleur rep\u00e8re que les prix demand\u00e9s.<\/li>\n\t\t\t\t\t<li>Un rapport immobilier d\u00e9taill\u00e9 rassemble ces donn\u00e9es au m\u00eame endroit, ce qui aide surtout quand vous achetez dans un pays dont vous ne connaissez pas les registres.<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t<div class=\"summary-stats\">\n\t\t\t\t\t<div><span class=\"snum\">3 ans<\/span><span class=\"slbl\">de factures d&#039;appartement impay\u00e9es qu&#039;un acheteur letton peut reprendre<\/span><\/div>\n\t\t\t\t\t<div><span class=\"snum\">Gratuit<\/span><span class=\"slbl\">pour consulter en ligne un registre foncier polonais avec son num\u00e9ro<\/span><\/div>\n\t\t\t\t\t<div><span class=\"snum\">2007<\/span><span class=\"slbl\">l&#039;ann\u00e9e o\u00f9 commencent les relev\u00e9s publics des prix de vente en Slov\u00e9nie<\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<p class=\"jumpline\">Aller directement : <a href=\"#what\">ce qu'il faut regarder<\/a> et <a href=\"#vincheck\">v\u00e9rifier une voiture maintenant<\/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\/vin-check-bear.webp\" width=\"1584\" height=\"672\" alt=\"L&#039;ours MrVIN consultant un rapport d&#039;historique de v\u00e9hicule\" loading=\"lazy\">\n\t\t\t\t<div class=\"pv-body\">\n\t\t\t\t\t<p class=\"pv-h\">Vous achetez aussi une voiture ?<\/p>\n\t\t\t\t\t<p>Consultez les dommages, le kilom\u00e9trage et les ench\u00e8res enregistr\u00e9s derri\u00e8re n&#039;importe quelle voiture \u00e0 partir de son VIN. \u00c7a prend moins d&#039;une minute.<\/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\",\"GB\",\"IT\",\"LV\",\"PL\"];\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=\"does\">Ce que fait vraiment un rapport d&#039;historique<\/h2>\n\n\t\t\t<p>Un rapport d&#039;historique ne vous dit pas s&#039;il faut acheter. Il vous dit ce qui est consign\u00e9, pour que vous posiez les bonnes questions tant que vous avez encore une marge de n\u00e9gociation.<\/p>\n\t\t\t<p>Pour une voiture, la cl\u00e9 est le VIN \u00e0 17 caract\u00e8res. Pour un bien immobilier, c&#039;est un num\u00e9ro de registre : le num\u00e9ro cadastral en Lettonie, le num\u00e9ro du registre foncier et hypoth\u00e9caire en Pologne, et le num\u00e9ro de parcelle ou de b\u00e2timent en Slov\u00e9nie.<\/p>\n\t\t\t<p>Demandez-le au vendeur ou \u00e0 l&#039;agent avant la visite. Un vendeur qui refuse de le communiquer vous en dit d\u00e9j\u00e0 long.<\/p>\n\n\t\t\t<h2 id=\"what\">Ce qu&#039;il faut regarder dans l&#039;historique d&#039;un bien<\/h2>\n\n\t\t\t<p>Quel que soit le pays, voici les \u00e9l\u00e9ments qui comptent avant de signer :<\/p>\n\t\t\t<ul>\n\t\t\t\t<li><b>La propri\u00e9t\u00e9.<\/b> Qui est le propri\u00e9taire inscrit, et si cette personne est bien celle qui vous vend le bien. Les copropri\u00e9taires indivis, les h\u00e9ritiers et les soci\u00e9t\u00e9s doivent tous donner leur accord \u00e0 une vente.<\/li>\n\t\t\t\t<li><b>Les hypoth\u00e8ques et les charges.<\/b> Les pr\u00eats garantis par le bien, et leur montant. Une hypoth\u00e8que qui n'est pas lev\u00e9e \u00e0 la signature de la vente reste attach\u00e9e au bien.<\/li>\n\t\t\t\t<li><b>Les restrictions.<\/b> Les saisies judiciaires, les interdictions de vendre, les mentions d'insolvabilit\u00e9 et les servitudes de passage qui limitent ce que vous pourrez faire du bien.<\/li>\n\t\t\t\t<li><b>Le b\u00e2timent lui-m\u00eame.<\/b> La surface, le terrain et les donn\u00e9es du b\u00e2timent issues du cadastre, pour les comparer avec l'annonce.<\/li>\n\t\t\t\t<li><b>Le prix de vente de biens similaires.<\/b> Les prix r\u00e9els des ventes \u00e0 proximit\u00e9. Les prix demand\u00e9s ne disent que ce que les vendeurs esp\u00e8rent obtenir.<\/li>\n\t\t\t\t<li><b>Les factures impay\u00e9es.<\/b> Les dettes envers le gestionnaire de l'immeuble, les fournisseurs de services et le fonds de r\u00e9paration, qui en Lettonie peuvent d\u00e9sormais vous \u00eatre transmises.<\/li>\n\t\t\t<\/ul>\n\n\t\t\t<h2 id=\"latvia\">Lettonie : v\u00e9rifiez les dettes autant que l&#039;acte<\/h2>\n\n\t\t\t<p>Le registre foncier letton (Zemesgr\u0101mata) consigne le propri\u00e9taire et le fondement juridique de la propri\u00e9t\u00e9, les hypoth\u00e8ques et les gages, les servitudes de passage, les mentions d&#039;insolvabilit\u00e9 et les restrictions de vente. Seul ce qui figure au registre a force juridique.<\/p>\n\t\t\t<p>Vous pouvez le consulter gratuitement par num\u00e9ro cadastral ou par adresse. La consultation de la fiche compl\u00e8te d&#039;un bien co\u00fbte un petit montant.<\/p>\n\t\t\t<p>Le Service national du foncier tient le cadastre sur kadastrs.lv, avec des donn\u00e9es sur les terrains, les b\u00e2timents et la propri\u00e9t\u00e9. Depuis octobre 2025, il propose aussi, aux utilisateurs connect\u00e9s, une carte des charges et de la propri\u00e9t\u00e9 des b\u00e2timents.<\/p>\n\t\t\t<p>Le changement le plus important pour les acheteurs date du 1er janvier 2026. Selon les modifications de la loi sur la propri\u00e9t\u00e9 des appartements, lorsqu&#039;un appartement est vendu de gr\u00e9 \u00e0 gr\u00e9 apr\u00e8s le 31 d\u00e9cembre 2025, le nouveau propri\u00e9taire r\u00e9pond des frais de gestion de l&#039;immeuble, des factures de services, des cotisations au fonds de r\u00e9paration et des redevances d&#039;usage du terrain que le vendeur n&#039;a pas pay\u00e9s, ainsi que des int\u00e9r\u00eats de retard.<\/p>\n\t\t\t<p>La limite est de trois ans : l&#039;acheteur r\u00e9pond des dettes n\u00e9es au cours des trois ann\u00e9es pr\u00e9c\u00e9dant le changement de propri\u00e9taire. Tout ce qui est plus ancien reste \u00e0 la charge du vendeur.<\/p>\n\t\t\t<p>Ces dettes n&#039;apparaissent pas au registre foncier. Avant de signer, demandez au gestionnaire de l&#039;immeuble un relev\u00e9 de ce qui est d\u00fb pour l&#039;appartement. La loi vous permet de r\u00e9cup\u00e9rer ensuite l&#039;argent aupr\u00e8s du vendeur, sauf si votre contrat en dispose autrement, mais c&#039;est alors \u00e0 vous de le r\u00e9clamer.<\/p>\n\t\t\t<p class=\"pullquote\">Une fiche propre au registre foncier ne signifie pas un appartement sans dettes. En Lettonie, les factures impay\u00e9es suivent d\u00e9sormais les cl\u00e9s.<\/p>\n\n\t\t\t<h2 id=\"poland\">Pologne : le registre foncier et hypoth\u00e9caire est ouvert \u00e0 tous<\/h2>\n\n\t\t\t<p>En Pologne, le registre foncier et hypoth\u00e9caire d&#039;un bien (ksi\u0119ga wieczysta) peut \u00eatre consult\u00e9 gratuitement en ligne sur le site du minist\u00e8re de la Justice, ekw.ms.gov.pl, \u00e0 condition d&#039;avoir le num\u00e9ro du registre. La consultation en ligne est donn\u00e9e \u00e0 titre d&#039;information uniquement.<\/p>\n\t\t\t<p>Une copie officielle command\u00e9e en ligne co\u00fbte 30 PLN pour un extrait simple, ou 75 PLN pour un extrait complet qui comprend l&#039;historique du registre.<\/p>\n\t\t\t<p>Le registre comporte quatre sections : la description du bien, le propri\u00e9taire, les autres droits et restrictions comme les servitudes et les saisies, et les hypoth\u00e8ques. Lisez attentivement les deux derni\u00e8res. C&#039;est l\u00e0 qu&#039;apparaissent un pr\u00eat garanti par l&#039;appartement ou une saisie d&#039;huissier.<\/p>\n\t\t\t<p>Depuis f\u00e9vrier 2026, le registre des prix de l&#039;immobilier en Pologne (Rejestr Cen Nieruchomo\u015bci) est gratuit sur geoportal.gov.pl. Cliquez sur un point de la carte et vous voyez \u00e0 quel prix des terrains, des b\u00e2timents et des appartements voisins ont \u00e9t\u00e9 vendus.<\/p>\n\t\t\t<p>Les prix demand\u00e9s sur les sites d&#039;annonces vous disent ce que les vendeurs esp\u00e8rent. Le registre des prix vous dit ce que les acheteurs ont r\u00e9ellement pay\u00e9.<\/p>\n\n\t\t\t<h2 id=\"slovenia\">Slov\u00e9nie : deux registres et une carte publique des prix<\/h2>\n\n\t\t\t<p>Le registre foncier slov\u00e8ne (zemlji\u0161ka knjiga) indique les propri\u00e9taires, les hypoth\u00e8ques et les servitudes. Vous pouvez le consulter en ligne via le portail e-Sodstvo des tribunaux, par commune cadastrale et par num\u00e9ro de parcelle ou de b\u00e2timent. L&#039;acc\u00e8s est gratuit, mais il faut d&#039;abord vous inscrire.<\/p>\n\t\t\t<p>L&#039;Autorit\u00e9 de l&#039;arpentage et de la cartographie (GURS) tient le cadastre immobilier et les relev\u00e9s publics des ventes de biens, qui remontent \u00e0 2007.<\/p>\n\t\t\t<p>Son outil de consultation des prix affiche les ventes de l&#039;ann\u00e9e en cours et de l&#039;ann\u00e9e pr\u00e9c\u00e9dente, avec le prix, le mois de la vente, le type de bien, la surface et l&#039;ann\u00e9e de construction. Les adresses exactes sont masqu\u00e9es, mais chaque vente appara\u00eet sous forme de point sur la carte quand vous zoomez.<\/p>\n\n\t\t\t<h2 id=\"report\">Pourquoi un rapport d\u00e9taill\u00e9 aide<\/h2>\n\n\t\t\t<p>Tous les registres ci-dessus sont publics, mais les utiliser demande du travail. Chaque pays a ses propres portails, sa propre langue et ses propres num\u00e9ros de r\u00e9f\u00e9rence. Certains font payer chaque consultation, d&#039;autres exigent une inscription pr\u00e9alable, et aucun n&#039;explique ce que les mentions signifient pour votre achat.<\/p>\n\t\t\t<p>C&#039;est cet \u00e9cart que comble un rapport immobilier d\u00e9taill\u00e9, de la m\u00eame fa\u00e7on qu&#039;un rapport MrVIN rassemble dans un seul document les donn\u00e9es d&#039;une voiture issues de nombreux pays.<\/p>\n\t\t\t<p><a href=\"https:\/\/vericity.ai\/\" target=\"_blank\" rel=\"noopener\">Vericity.ai<\/a> \u00e9labore des rapports immobiliers d\u00e9taill\u00e9s pour les biens situ\u00e9s en Lettonie, en Pologne et en Slov\u00e9nie. Si vous achetez dans l'un de ces pays, et surtout si vous n'y vivez pas, c'est une d\u00e9marche sens\u00e9e avant de verser un acompte.<\/p>\n\t\t\t<p>Un rapport ne remplace ni un notaire ni un avocat. Il vous indique quelles questions leur poser.<\/p>\n\n\t\t\t<h2 id=\"other\">D&#039;autres v\u00e9rifications d&#039;historique qui valent une minute<\/h2>\n\n\t\t\t<ul>\n\t\t\t\t<li><b>L'entreprise que vous payez.<\/b> Si un acompte va \u00e0 un promoteur, \u00e0 un constructeur, \u00e0 une agence ou \u00e0 un concessionnaire, consultez d'abord le registre des entreprises. Le registre des entreprises de Lettonie, le KRS et le CEIDG en Pologne, et l'AJPES en Slov\u00e9nie permettent tous de consulter gratuitement le statut d'une soci\u00e9t\u00e9 et ses dirigeants.<\/li>\n\t\t\t\t<li><b>Un fourgon ou un camping-car.<\/b> Ils portent un VIN \u00e0 17 caract\u00e8res comme n'importe quelle voiture, vous pouvez donc v\u00e9rifier leur historique de dommages et de kilom\u00e9trage de la m\u00eame fa\u00e7on.<\/li>\n\t\t\t<\/ul>\n\n\t\t\t<p class=\"endnote\">Un rapport d&#039;historique ne trouvera pas ce qui n&#039;a jamais \u00e9t\u00e9 consign\u00e9. Une facture que personne n&#039;a r\u00e9clam\u00e9e ou une r\u00e9paration pay\u00e9e en liquide ne laisse aucune trace. Ce qu&#039;un rapport vous montre, c&#039;est tout ce qui a \u00e9t\u00e9 enregistr\u00e9, alors que votre argent est encore dans votre poche.<\/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 pour la voiture<\/p>\n\t\t\t\t\t\t<p class=\"promo-h\">Consultez l&#039;historique de la voiture en moins d&#039;une minute<\/p>\n\t\t\t\t\t\t<p class=\"promo-sub\">Dommages, kilom\u00e9trage, ench\u00e8res et importation dans plus de 30 pays, en un seul rapport.<\/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>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\/sample-report\/\"><span>Pas encore d\u00e9cid\u00e9 ? 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\">Qu&#039;est-ce qu&#039;un rapport d&#039;historique immobilier ?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">Une synth\u00e8se de ce que les registres officiels d\u00e9tiennent sur un bien : le propri\u00e9taire, les hypoth\u00e8ques et autres charges, les restrictions comme les saisies judiciaires, les donn\u00e9es sur le terrain et le b\u00e2timent, et souvent le prix des biens voisins vendus r\u00e9cemment. Il fonctionne comme un rapport d&#039;historique de v\u00e9hicule, avec un num\u00e9ro de registre \u00e0 la place du VIN.<\/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\">Comment v\u00e9rifier qui est propri\u00e9taire d&#039;un bien en Lettonie ?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">Recherchez dans le registre foncier (Zemesgr\u0101mata) par num\u00e9ro cadastral ou par adresse. La recherche est gratuite, et la consultation de la fiche compl\u00e8te co\u00fbte un petit montant. Elle indique le propri\u00e9taire, les hypoth\u00e8ques et les restrictions, mais pas les factures d&#039;immeuble impay\u00e9es : demandez-les s\u00e9par\u00e9ment au gestionnaire.<\/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\">Tout le monde peut-il consulter un registre foncier et hypoth\u00e9caire polonais ?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">Oui. Si vous connaissez le num\u00e9ro du registre, vous pouvez le lire gratuitement sur ekw.ms.gov.pl. Une copie officielle command\u00e9e en ligne co\u00fbte 30 PLN pour un extrait simple ou 75 PLN pour un extrait complet.<\/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\">O\u00f9 voir \u00e0 quel prix les biens se sont vendus en Pologne et en Slov\u00e9nie ?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">En Pologne, le registre des prix de l&#039;immobilier sur geoportal.gov.pl est gratuit depuis f\u00e9vrier 2026. En Slov\u00e9nie, l&#039;outil de consultation des prix de l&#039;Autorit\u00e9 de l&#039;arpentage et de la cartographie affiche les ventes de l&#039;ann\u00e9e en cours et de l&#039;ann\u00e9e pr\u00e9c\u00e9dente, avec le prix, la surface et l&#039;ann\u00e9e de construction.<\/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\">Une v\u00e9rification par VIN m&#039;apprend-elle quelque chose sur un bien immobilier ?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">Non. Une v\u00e9rification par VIN ne concerne que les v\u00e9hicules. Pour un logement, utilisez le registre foncier du pays o\u00f9 il se trouve, ou un rapport immobilier d\u00e9taill\u00e9.<\/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>Sources<\/h2>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>Modifications de la loi lettone sur la propri\u00e9t\u00e9 des appartements, article 13.1 et disposition transitoire 13, likumi.lv<\/li>\n\t\t\t\t\t<li>LV port\u0101ls, explication du principe selon lequel la dette suit l&#039;appartement, 2025<\/li>\n\t\t\t\t\t<li>Portail europ\u00e9en e-Justice, registres fonciers de la Lettonie, de la Pologne et de la Slov\u00e9nie<\/li>\n\t\t\t\t\t<li>gov.pl, extraits et certificats d&#039;un registre foncier et hypoth\u00e9caire, frais<\/li>\n\t\t\t\t\t<li>geoportal.gov.pl, Rejestr Cen Nieruchomo\u015bci<\/li>\n\t\t\t\t\t<li>gov.si, Trg nepremi\u010dnin, relev\u00e9s du march\u00e9 immobilier slov\u00e8ne<\/li>\n\t\t\t\t\t<li>LSM, carte kadastrs.lv des charges et de la propri\u00e9t\u00e9 des b\u00e2timents, 9 octobre 2025<\/li>\n\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\/numero-vin-carte-grise\/\">\n\t\t\t\t\t\t<span class=\"rn-img\" style=\"background-image:url('https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/where-to-find-vin\/vin-hero-poster.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\">O\u00f9 trouver le num\u00e9ro VIN sur votre voiture et votre carte grise, et comment le lire<\/span>\n\t\t\t\t\t\t\t<span class=\"rn-dek\">Sur une carte grise r\u00e9cente, le num\u00e9ro VIN figure dans la case E. Sur la voiture, il appara\u00eet \u00e0 plusieurs endroits, et le plus utile est de v\u00e9rifier qu&#039;ils concordent tous.<\/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\/importer-voiture-des-etats-unis\/\">\n\t\t\t\t\t\t<span class=\"rn-img\" style=\"background-image:url('https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/usimport\/us-import-cover.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\">Importer une voiture des \u00c9tats-Unis : ce qu&#039;il faut savoir en France<\/span>\n\t\t\t\t\t\t\t<span class=\"rn-dek\">Douane, TVA, malus, r\u00e9ception \u00e0 titre isol\u00e9 et carte grise. Et pourquoi l&#039;homologation co\u00fbte souvent plus cher que pr\u00e9vu.<\/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\n\t\t<div class=\"mbar\">\n\t\t\t<div class=\"mbar-top\">\n\t\t\t\t<span class=\"mbar-h\">Vous achetez aussi une voiture ?<\/span>\n\t\t\t\t<button type=\"button\" aria-label=\"Fermer\">&times;<\/button>\n\t\t\t<\/div>\n\t\t\t<div class=\"mbar-row\">\n\t\t\t\t<a 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\"><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>V\u00e9rifier une voiture maintenant<\/span><\/a>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t<script>\n(function(){\n  var ROOT = document.querySelector('.mrvin-blog-post'); if(!ROOT) return;\n  ROOT.querySelectorAll('.mrvin-search-tabs').forEach(function(tabs){\n    tabs.querySelectorAll('.mrvin-search-tab').forEach(function(tab){\n      tab.addEventListener('click', function(){\n        tabs.querySelectorAll('.mrvin-search-tab').forEach(function(t){ t.classList.remove('active'); });\n        tab.classList.add('active');\n        var box   = tab.closest('.mrvin-search-box'),\n            input = box.querySelector('.mrvin-search-input'),\n            btn   = box.querySelector('.mrvin-search-btn span') || box.querySelector('.mrvin-search-btn'),\n            hint  = box.parentNode.querySelector('.mrvin-search-hint'),\n            plate = tab.getAttribute('data-mode') === 'plate';\n        input.placeholder = input.getAttribute(plate ? 'data-ph-plate' : 'data-ph-vin');\n        input.name        = plate ? 'plate' : 'vin';\n        input.maxLength   = plate ? 10 : 32;\n        btn.textContent   = input.getAttribute(plate ? 'data-btn-plate' : 'data-btn-vin');\n        if (hint) hint.style.display = plate ? 'none' : '';\n      });\n    });\n  });\n\n  \/* Auto-submit once a full, valid VIN is typed, so nobody has to find Enter.\n     VIN mode only: a plate is never long enough to be unambiguous. *\/\n  var VIN_RE = \/^[A-HJ-NPR-Z0-9]{17}$\/i;\n  ROOT.querySelectorAll('.mrvin-search-box').forEach(function(box){\n    var input = box.querySelector('.mrvin-search-input'),\n        form  = box.querySelector('.mrvin-search-row');\n    if (!input || !form) return;\n    var timer = null, submitted = false;\n    function cancel(){ if (timer) { clearTimeout(timer); timer = null; } }\n    function isVinMode(){\n  \/\/ A pasted VIN must never be submitted as a plate. Installed once per page: several snippets\n  \/\/ render a plate box (home page sections, the v2 landing page, the blog rail) and any of them\n  \/\/ may be the one on screen, so each ships this and the flag keeps the duplicates harmless.\n  \/\/\n  \/\/ The plate field caps its length, so pasting a 17-character VIN used to leave a TRUNCATED\n  \/\/ fragment behind: it looks like a plate, submits like a plate, and buys a metered registry call\n  \/\/ that cannot match. Every plate lookup of 14-15 characters on record was this, and not one\n  \/\/ resolved. `paste` is where it is catchable, because the clipboard text is readable in full\n  \/\/ BEFORE maxlength truncates it, so the VIN is kept whole and the customer lands in the mode\n  \/\/ they actually wanted. 17 alphanumerics is the VIN's own definition and the longest plate ever\n  \/\/ to resolve is 8, so this cannot misfire on a real registration.\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 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      var box = input.closest('.mrvin-search-box, .mrvin-cta, .mrvin-sticky-wrap, form') || document;\n      var vinTab = box.querySelector('[data-mode=\"vin\"]');\n      if (vinTab) vinTab.click();                          \/\/ flips name\/placeholder\/maxlength\/button\n      input.value = raw;\n      input.dispatchEvent(new Event('input', { bubbles: true }));\n    }, false);\n  }\n\n      var t = box.querySelector('.mrvin-search-tab[data-mode=\"vin\"]');\n      return !t || t.classList.contains('active');\n    }\n    input.addEventListener('input', function(){\n      cancel();\n      if (submitted || !isVinMode() || !VIN_RE.test((input.value||'').trim())) return;\n      timer = setTimeout(function(){\n        timer = null;\n        if (submitted || !isVinMode() || !VIN_RE.test((input.value||'').trim())) return;\n        submitted = true;\n        if (typeof form.requestSubmit === 'function') form.requestSubmit(); else form.submit();\n      }, 1000);\n    });\n    box.querySelectorAll('.mrvin-search-tab').forEach(function(t){ t.addEventListener('click', cancel); });\n    form.addEventListener('submit', function(){ submitted = true; cancel(); });\n  });\n})();\n<\/script>\n\t\t<script>\n(function(){\n  var ROOT = document.querySelector('.mrvin-blog-post'); if(!ROOT) return;\n  var ARTICLE = \"property-history-report\";\n\n  function push(event, extra){\n    try {\n      window.dataLayer = window.dataLayer || [];\n      var p = { event: event, vin_article: ARTICLE };\n      for (var k in extra) if (Object.prototype.hasOwnProperty.call(extra, k)) p[k] = extra[k];\n      window.dataLayer.push(p);\n    } catch(e){}\n  }\n\n  ROOT.addEventListener('click', function(e){\n    var t = e.target.closest && e.target.closest('[data-go]'); if(!t) return;\n    var card = document.getElementById(t.getAttribute('data-go')); if(!card) return;\n    e.preventDefault();\n    push('vin_entry_click', { vin_entry: t.closest('.side-cta') ? 'rail'\n                                       : t.closest('.mbar')     ? 'mobile_bar'\n                                       : t.closest('.jumpline') ? 'summary'\n                                       : t.closest('.promo')    ? 'end_cta' : 'link' });\n    card.scrollIntoView({behavior:'smooth', block:'center'});\n    var input = card.querySelector('.mrvin-search-input');\n    if(input) setTimeout(function(){ input.focus({preventScroll:true}); }, 520);\n  });\n\n  var form = ROOT.querySelector('#vincheck .mrvin-search-row');\n  if (form) form.addEventListener('submit', function(){\n    var v = form.querySelector('.mrvin-search-input');\n    push('vin_submit', { vin_mode: v && v.name === 'plate' ? 'plate' : 'vin',\n                         vin_length: v && v.value ? v.value.trim().length : 0 });\n  });\n\n  var card = document.getElementById('vincheck');\n  if (card && 'IntersectionObserver' in window) {\n    var timer = null;\n    var io = new IntersectionObserver(function(es){\n      if (es[0].isIntersecting) { timer = setTimeout(function(){ io.disconnect(); push('vin_card_view'); }, 1000); }\n      else if (timer) { clearTimeout(timer); timer = null; }\n    }, { threshold: 0.5 });\n    io.observe(card);\n  }\n\n  \/* Mobile bar: appears once the summary is behind you, retreats at the closing\n     CTA so it never covers it. IntersectionObserver rather than scroll maths,\n     so it works whichever element actually scrolls. *\/\n  var bar = ROOT.querySelector('.mbar');\n  if (bar && 'IntersectionObserver' in window) {\n    var dismissed = false, past = false, atEnd = false;\n    function sync(){ bar.classList.toggle('on', past && !atEnd && !dismissed); }\n    var x = bar.querySelector('button');\n    if (x) x.addEventListener('click', function(){ dismissed = true; sync(); });\n    var trig = ROOT.querySelector('.mbar-trigger');\n    if (trig) new IntersectionObserver(function(es){\n      past = es[0].isIntersecting || es[0].boundingClientRect.top < 0; sync();\n    }, {threshold:0}).observe(trig);\n    \/* .mbar-end marks a closing CTA that is not a .promo-xl (the business article\n       ends on the enquiry form). *\/\n    var endPromo = ROOT.querySelector('.promo-xl, .mbar-end');\n    if (endPromo) new IntersectionObserver(function(es){\n      atEnd = es[0].isIntersecting || es[0].boundingClientRect.top < 0; sync();\n    }, {rootMargin:'0px 0px -10% 0px'}).observe(endPromo);\n  }\n})();\n<\/script>\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-35885","page","type-page","status-publish","hentry"],"blocksy_meta":[],"yoast_head":"<title>Historique d&#039;un bien : v\u00e9rifier avant d&#039;acheter | MrVIN<\/title>\n<meta name=\"description\" content=\"Un appartement en Lettonie, en Pologne ou en Slov\u00e9nie ? V\u00e9rifiez d&#039;abord : propri\u00e9taire, hypoth\u00e8ques, saisies, impay\u00e9s et prix des logements vendus \u00e0 proximit\u00e9.\" \/>\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\/property-history-report\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Historique d&#039;un bien : v\u00e9rifier avant d&#039;acheter | MrVIN\" \/>\n<meta property=\"og:description\" content=\"Un appartement en Lettonie, en Pologne ou en Slov\u00e9nie ? V\u00e9rifiez d&#039;abord : propri\u00e9taire, hypoth\u00e8ques, saisies, impay\u00e9s et prix des logements vendus \u00e0 proximit\u00e9.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mrvin.com\/fr\/blog\/property-history-report\/\" \/>\n<meta property=\"og:site_name\" content=\"MrVIN\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-20T09:47:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/logo\/social\/mrvin-social-preview-fr.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\/social\/mrvin-social-preview-fr.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\\\/property-history-report\\\/\",\"url\":\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/blog\\\/property-history-report\\\/\",\"name\":\"Historique d'un bien : v\u00e9rifier avant d'acheter | MrVIN\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/#website\"},\"datePublished\":\"2026-10-20T09:45:44+00:00\",\"dateModified\":\"2026-10-20T09:47:00+00:00\",\"description\":\"Un appartement en Lettonie, en Pologne ou en Slov\u00e9nie ? V\u00e9rifiez d'abord : propri\u00e9taire, hypoth\u00e8ques, saisies, impay\u00e9s et prix des logements vendus \u00e0 proximit\u00e9.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/blog\\\/property-history-report\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/blog\\\/property-history-report\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/fr\\\/blog\\\/property-history-report\\\/#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\":\"Votre voiture a un rapport d&#8217;historique. Le logement que vous allez acheter aussi.\"}]},{\"@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.tiktok.com\\\/@mrvin_com\",\"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 Hirsa 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":"Historique d'un bien : v\u00e9rifier avant d'acheter | MrVIN","description":"Un appartement en Lettonie, en Pologne ou en Slov\u00e9nie ? V\u00e9rifiez d'abord : propri\u00e9taire, hypoth\u00e8ques, saisies, impay\u00e9s et prix des logements vendus \u00e0 proximit\u00e9.","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\/property-history-report\/","og_locale":"fr_FR","og_type":"article","og_title":"Historique d'un bien : v\u00e9rifier avant d'acheter | MrVIN","og_description":"Un appartement en Lettonie, en Pologne ou en Slov\u00e9nie ? V\u00e9rifiez d'abord : propri\u00e9taire, hypoth\u00e8ques, saisies, impay\u00e9s et prix des logements vendus \u00e0 proximit\u00e9.","og_url":"https:\/\/www.mrvin.com\/fr\/blog\/property-history-report\/","og_site_name":"MrVIN","article_modified_time":"2026-10-20T09:47:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.mrvin.com\/wp-content\/uploads\/logo\/social\/mrvin-social-preview-fr.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.mrvin.com\/wp-content\/uploads\/logo\/social\/mrvin-social-preview-fr.png","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mrvin.com\/fr\/blog\/property-history-report\/","url":"https:\/\/www.mrvin.com\/fr\/blog\/property-history-report\/","name":"Historique d'un bien : v\u00e9rifier avant d'acheter | MrVIN","isPartOf":{"@id":"https:\/\/www.mrvin.com\/#website"},"datePublished":"2026-10-20T09:45:44+00:00","dateModified":"2026-10-20T09:47:00+00:00","description":"Un appartement en Lettonie, en Pologne ou en Slov\u00e9nie ? V\u00e9rifiez d'abord : propri\u00e9taire, hypoth\u00e8ques, saisies, impay\u00e9s et prix des logements vendus \u00e0 proximit\u00e9.","breadcrumb":{"@id":"https:\/\/www.mrvin.com\/fr\/blog\/property-history-report\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mrvin.com\/fr\/blog\/property-history-report\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.mrvin.com\/fr\/blog\/property-history-report\/#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":"Votre voiture a un rapport d&#8217;historique. Le logement que vous allez acheter aussi."}]},{"@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.tiktok.com\/@mrvin_com","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 Hirsa 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\/35885","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=35885"}],"version-history":[{"count":1,"href":"https:\/\/www.mrvin.com\/fr\/wp-json\/wp\/v2\/pages\/35885\/revisions"}],"predecessor-version":[{"id":35886,"href":"https:\/\/www.mrvin.com\/fr\/wp-json\/wp\/v2\/pages\/35885\/revisions\/35886"}],"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=35885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}