{"id":43215,"date":"2026-11-02T13:25:15","date_gmt":"2026-11-02T11:25:15","guid":{"rendered":"https:\/\/www.mrvin.com\/?page_id=43215"},"modified":"2026-11-02T13:40:02","modified_gmt":"2026-11-02T11:40:02","slug":"numero-telaio-libretto","status":"publish","type":"page","link":"https:\/\/www.mrvin.com\/it\/blog\/numero-telaio-libretto\/","title":{"rendered":"Dove trovare il numero di telaio (VIN) su auto e libretto, e come leggerlo"},"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-where-to-find-vin-number\">\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=\"Indice\">\n\t\t\t\t<p class=\"toc-h\">In questo articolo<\/p>\n\t\t\t\t<ol>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#papers\">Il numero di telaio sul libretto<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#car\">Il numero di telaio sull&#039;auto<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#match\">I numeri di telaio corrispondono tutti?<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#read\">Come leggere i 17 caratteri del VIN<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#catch\">Due cose che ingannano spesso<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#tells\">Cosa pu\u00f2 dirti un VIN e cosa no<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#seller\">Quando il venditore non ti d\u00e0 il VIN<\/a><\/li>\n\t\t\t\t\t\t\t\t\t\t\t<li><a href=\"#faq\">Domande frequenti<\/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\">Trovato? Guarda cosa risulta<\/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>Verifica un&#039;auto ora<span class=\"sc-geo\">Risultato in meno di un minuto<\/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\">Guida<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"badge\">VIN<\/span>\n\t\t\t\t\t\t\t\t<span class=\"date\">2 Novembre 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\">8 min di lettura<\/span>\n\t\t\t<\/div>\n\n\t\t\t<h1>Dove trovare il numero di telaio (VIN) su auto e libretto, e come leggerlo<\/h1>\n\n\t\t\t<p class=\"dek\">Sul libretto pi\u00f9 recente il numero di telaio \u00e8 nella casella E. Sull&#039;auto compare in pi\u00f9 punti, e la cosa utile \u00e8 controllare che siano tutti uguali.<\/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\">Ricerca sulla storia del veicolo<\/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=\"Condividi su 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=\"Condividi su 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=\"Condividi su 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=\"Copia il link\"><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\t\t<picture>\n\t\t\t<source media=\"(prefers-reduced-motion: reduce)\" srcset=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/where-to-find-vin\/vin-hero-poster.webp\">\n\t\t\t<img fetchpriority=\"high\" decoding=\"async\" class=\"cover\" src=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/where-to-find-vin\/vin-hero.webp\" width=\"1200\" height=\"600\" alt=\"L&#039;orso di MrVIN che legge il numero di telaio con una lente d&#039;ingrandimento alla base del parabrezza di un&#039;auto\">\n\t\t<\/picture>\n\t\t\t\t\t<p class=\"cover-cap\">Il numero di telaio \u00e8 sull&#039;auto e sui suoi documenti. Leggi entrambi.<\/p>\n\n\t\t\t<p class=\"lead\">La maggior parte delle persone cerca il numero di telaio perch\u00e9 un assicuratore o un ricambista lo ha chiesto.<\/p>\n\t\t\t<p>Trovarlo richiede un minuto. Se stai per comprare l&#039;auto, per\u00f2, dove l&#039;hai trovato conta quanto ci\u00f2 che c&#039;\u00e8 scritto.<\/p>\n\n\t\t\t<div class=\"tldr\">\n\t\t\t\t<p class=\"eyebrow\">In breve<\/p>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>Sul libretto pi\u00f9 recente il numero di telaio \u00e8 nella casella E. Le norme UE usano quel codice in ogni stato membro.<\/li>\n\t\t\t\t\t<li>Sull&#039;auto, parti dalla targhetta alla base del parabrezza, poi dal montante della portiera, poi dal numero punzonato sulla scocca.<\/li>\n\t\t\t\t\t<li>Un VIN ha 17 caratteri e non contiene mai le lettere I, O o Q.<\/li>\n\t\t\t\t\t<li>Ogni copia del VIN deve essere identica. Se una \u00e8 diversa, fai controllare tutto dalla Motorizzazione prima di pagare.<\/li>\n\t\t\t\t\t<li>Il VIN ti dice che auto \u00e8. Un rapporto sulla storia del veicolo ti dice cosa le \u00e8 successo.<\/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\">17<\/span><span class=\"slbl\">caratteri in un VIN standard<\/span><\/div>\n\t\t\t\t\t<div><span class=\"snum\">E<\/span><span class=\"slbl\">la casella che lo contiene sui documenti di immatricolazione UE<\/span><\/div>\n\t\t\t\t\t<div><span class=\"snum\">3<\/span><span class=\"slbl\">copie da confrontare prima di comprare: documenti, parabrezza e scocca<\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<p class=\"jumpline\">Vai subito a: <a href=\"#papers\">sul libretto<\/a>, <a href=\"#car\">sull'auto<\/a>, <a href=\"#match\">se coincidono<\/a> e <a href=\"#vincheck\">controlla un VIN<\/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;orso di MrVIN che controlla il rapporto sulla storia di un veicolo\" loading=\"lazy\">\n\t\t\t\t<div class=\"pv-body\">\n\t\t\t\t\t<p class=\"pv-h\">Trovato? Guarda cosa risulta<\/p>\n\t\t\t\t\t<p>Inserisci i 17 caratteri, oppure fotografa il VIN con il telefono e lo leggiamo noi per te.<\/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\":\"Austria\",\"ph\":\"W-1234 AB\"},{\"iso\":\"BE\",\"plate\":\"B\",\"name\":\"Belgio\",\"ph\":\"1-ABC-123\"},{\"iso\":\"BG\",\"plate\":\"BG\",\"name\":\"Bulgaria\",\"ph\":\"A 1234 BC\"},{\"iso\":\"CY\",\"plate\":\"CY\",\"name\":\"Cipro\",\"ph\":\"ABC 123\"},{\"iso\":\"CZ\",\"plate\":\"CZ\",\"name\":\"Cechia\",\"ph\":\"1A2 3456\"},{\"iso\":\"DE\",\"plate\":\"D\",\"name\":\"Germania\",\"ph\":\"B-AB 1234\"},{\"iso\":\"DK\",\"plate\":\"DK\",\"name\":\"Danimarca\",\"ph\":\"AB 12 345\"},{\"iso\":\"EE\",\"plate\":\"EST\",\"name\":\"Estonia\",\"ph\":\"123 ABC\"},{\"iso\":\"ES\",\"plate\":\"E\",\"name\":\"Spagna\",\"ph\":\"1234 ABC\"},{\"iso\":\"FI\",\"plate\":\"FIN\",\"name\":\"Finlandia\",\"ph\":\"ABC-123\"},{\"iso\":\"FR\",\"plate\":\"F\",\"name\":\"Francia\",\"ph\":\"AB-123-CD\"},{\"iso\":\"GB\",\"plate\":\"GB\",\"name\":\"Regno Unito\",\"ph\":\"AB12 CDE\"},{\"iso\":\"GR\",\"plate\":\"GR\",\"name\":\"Grecia\",\"ph\":\"ABC 1234\"},{\"iso\":\"HU\",\"plate\":\"H\",\"name\":\"Ungheria\",\"ph\":\"ABC-123\"},{\"iso\":\"IE\",\"plate\":\"IRL\",\"name\":\"Irlanda\",\"ph\":\"12 D 1234\"},{\"iso\":\"IT\",\"plate\":\"I\",\"name\":\"Italia\",\"ph\":\"AB 123 CD\"},{\"iso\":\"LT\",\"plate\":\"LT\",\"name\":\"Lituania\",\"ph\":\"ABC 123\"},{\"iso\":\"LU\",\"plate\":\"L\",\"name\":\"Lussemburgo\",\"ph\":\"AB 1234\"},{\"iso\":\"LV\",\"plate\":\"LV\",\"name\":\"Lettonia\",\"ph\":\"AB-1234\"},{\"iso\":\"MT\",\"plate\":\"M\",\"name\":\"Malta\",\"ph\":\"ABC 123\"},{\"iso\":\"NL\",\"plate\":\"NL\",\"name\":\"Paesi Bassi\",\"ph\":\"12-AB-34\"},{\"iso\":\"PL\",\"plate\":\"PL\",\"name\":\"Polonia\",\"ph\":\"WA 12345\"},{\"iso\":\"PT\",\"plate\":\"P\",\"name\":\"Portogallo\",\"ph\":\"12-AB-34\"},{\"iso\":\"RO\",\"plate\":\"RO\",\"name\":\"Romania\",\"ph\":\"B 12 ABC\"},{\"iso\":\"SE\",\"plate\":\"S\",\"name\":\"Svezia\",\"ph\":\"ABC 123\"},{\"iso\":\"SI\",\"plate\":\"SLO\",\"name\":\"Slovenia\",\"ph\":\"LJ AB-123\"},{\"iso\":\"SK\",\"plate\":\"SK\",\"name\":\"Slovacchia\",\"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\":\"Seleziona il paese\",\"pick\":\"Seleziona prima un paese\",\"genericPh\":\"Inserisci il numero di targa\",\"plateUnsupported\":\"La ricerca tramite targa non \\u00e8 ancora disponibile in %country%. Ti preghiamo di utilizzare il numero di telaio (VIN) per ottenere un rapporto pi\\u00f9 accurato. \",\"plateUnsupportedOk\":\"OK\",\"vinErrEmpty\":\"Inserisci il numero di telaio.\",\"vinErrLength\":\"Il VIN deve essere composto esattamente da 17 caratteri.\",\"vinErrChars\":\"Un numero di telaio non pu\\u00f2 contenere le lettere I, O o Q.\",\"vinErrInvalid\":\"Questo numero di telaio non mi sembra corretto. Ti prego di ricontrollarlo. \",\"vinErrBypass\":\"Sei sicuro che sia giusto? Cerca lo stesso. \",\"vinOk\":\"Il numero di telaio sembra a posto\",\"plateErrEmpty\":\"Inserisci una targa.\",\"plateErrLength\":\"Quella targa sembra troppo corta o troppo lunga.\",\"plateErrGb\":\"Quella non sembra una targa del Regno Unito: di solito sono del tipo 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\":\"Sei sicuro che sia giusto? Cerca lo stesso. \",\"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\/it\/product\/\" method=\"GET\">\n\t\t\t\t<div class=\"mrvin-country\" data-default-iso=\"IT\">\n  <button type=\"button\" class=\"mrvin-country-tile is-empty\" aria-haspopup=\"listbox\" aria-expanded=\"false\" aria-label=\"Seleziona il paese\">\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=\"Ricerca per paese\" aria-label=\"Ricerca per paese\" 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=\"austria 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\">Austria<\/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=\"belgio 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\">Belgio<\/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=\"bulgaria 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\">Bulgaria<\/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=\"cipro 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\">Cipro<\/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=\"cechia 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\">Cechia<\/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=\"germania 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\">Germania<\/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=\"danimarca 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\">Danimarca<\/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=\"estonia 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\">Estonia<\/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=\"spagna 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\">Spagna<\/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=\"finlandia 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\">Finlandia<\/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=\"francia 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\">Francia<\/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=\"regno unito 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\">Regno Unito<\/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=\"grecia 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\">Grecia<\/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=\"ungheria 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\">Ungheria<\/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=\"irlanda 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\">Irlanda<\/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=\"italia 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\">Italia<\/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=\"lituania 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\">Lituania<\/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=\"lussemburgo 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\">Lussemburgo<\/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=\"lettonia 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\">Lettonia<\/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=\"malta 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\">Malta<\/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=\"paesi bassi 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\">Paesi Bassi<\/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=\"polonia 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\">Polonia<\/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=\"portogallo 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\">Portogallo<\/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=\"romania 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\">Romania<\/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=\"svezia 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\">Svezia<\/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=\"slovenia 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\">Slovenia<\/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=\"slovacchia 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\">Slovacchia<\/span>\n          <span class=\"mrvin-country-option-code\">SK<\/span>\n        <\/button>\n            <p class=\"mrvin-country-empty\" role=\"status\">Nessun paese corrisponde<\/p>\n    <\/div>\n  <\/div>\n  <p class=\"mrvin-country-error\" role=\"alert\" aria-live=\"polite\">Seleziona prima un paese<\/p>\n<\/div>\n        \t\t\t\t<input type=\"text\" class=\"mrvin-search-input\" name=\"plate\"\n\t\t\t\t\tplaceholder=\"Inserisci la targa\"\n\t\t\t\t\taria-label=\"VIN o targa\"\n\t\t\t\t\tmaxlength=\"15\" autocomplete=\"off\"\n\t\t\t\t\tdata-ph-vin=\"Inserisci il VIN di 17 caratteri\"\n\t\t\t\t\tdata-ph-plate=\"Inserisci la targa\"\n\t\t\t\t\tdata-btn-vin=\"Controlla il VIN\"\n\t\t\t\t\tdata-btn-plate=\"Controlla la targa\">\n\t\t\t\t<button type=\"submit\" class=\"mrvin-search-btn\"><span>Controlla la targa<\/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\">Esempio: <code>WBA3A5G59DNP26082<\/code><span class=\"sep\"><\/span>Anteprima gratuita inclusa<\/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>Oltre 30 paesi<\/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>Risultato in meno di un minuto<\/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>Rapporto PDF completo<\/span><\/li>\n\t\t\t<\/ul>\n\t\t<\/div>\n\t\t\n\t\t\t<h2 id=\"papers\">Il numero di telaio sul libretto<\/h2>\n\n\t\t\t<p>Cerca la lettera E sul libretto.<\/p>\n\t\t\t<p>Le norme UE assegnano a ogni campo del documento di immatricolazione un codice fisso, e il codice E \u00e8 il numero di telaio del veicolo. Il nome e la grafica del documento cambiano da un paese all&#039;altro, ma il codice resta lo stesso.<\/p>\n\n\t\t\t<figure class=\"anim\">\n\t\t\t\t\t\t<picture>\n\t\t\t<source media=\"(prefers-reduced-motion: reduce)\" srcset=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/where-to-find-vin\/vin-box-e-poster.webp\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/where-to-find-vin\/vin-box-e.webp\" width=\"1000\" height=\"600\" alt=\"Un documento di immatricolazione con la casella E evidenziata e un VIN che si compila\" loading=\"lazy\">\n\t\t<\/picture>\n\t\t\t\t\t\t<figcaption>La casella E contiene il numero di telaio, qualunque paese UE abbia emesso il documento.<\/figcaption>\n\t\t\t<\/figure>\n\n\t\t\t<p>Il numero di telaio ha nomi diversi, ed \u00e8 per questo che cercarlo pu\u00f2 far girare a vuoto. Ecco come si chiama sui documenti che ti capiter\u00e0 pi\u00f9 spesso di vedere.<\/p>\n\n\t\t\t<div class=\"vin-docs\">\n\t\t\t\t<table>\n\t\t\t\t\t<thead><tr>\n\t\t\t\t\t\t<th>Paese<\/th>\n\t\t\t\t\t\t<th>Documento<\/th>\n\t\t\t\t\t\t<th>Come si chiama il VIN<\/th>\n\t\t\t\t\t<\/tr><\/thead>\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr><td>Polonia<\/td><td>Dow\u00f3d rejestracyjny<\/td><td>Numer VIN, numer nadwozia<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr><td>Germania<\/td><td>Zulassungsbescheinigung Teil I (Fahrzeugschein)<\/td><td>FIN, Fahrgestellnummer<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr><td>Francia<\/td><td>Certificat d&#039;immatriculation (carte grise)<\/td><td>Num\u00e9ro VIN, num\u00e9ro de s\u00e9rie<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr><td>Italia<\/td><td>Documento unico (libretto)<\/td><td>Numero di telaio<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr><td>Spagna<\/td><td>Permiso de circulaci\u00f3n, ficha t\u00e9cnica<\/td><td>N\u00famero de bastidor<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr><td>Paesi Bassi<\/td><td>Kentekencard<\/td><td>Chassisnummer<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr><td>Romania<\/td><td>Certificat de \u00eenmatriculare (talon)<\/td><td>Serie de \u0219asiu<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr><td>Cechia<\/td><td>Osv\u011bd\u010den\u00ed o registraci vozidla (mal\u00fd technick\u00fd pr\u016fkaz)<\/td><td>VIN k\u00f3d<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr><td>Ungheria<\/td><td>Forgalmi enged\u00e9ly<\/td><td>Alv\u00e1zsz\u00e1m<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr><td>Lettonia<\/td><td>Re\u0123istr\u0101cijas apliec\u012bba<\/td><td>VIN kods<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr><td>Regno Unito<\/td><td>V5C libretto<\/td><td>VIN\/Chassis\/Frame No<\/td><\/tr>\n\t\t\t\t\t\t\t\t\t\t\t<\/tbody>\n\t\t\t\t<\/table>\n\t\t\t<\/div>\n\n\t\t\t<p>Nei Paesi Bassi il VIN si trova sul retro della carta di immatricolazione.<\/p>\n\t\t\t<p>In Romania non confondere il numero con la serie CIV. La carta d&#039;identit\u00e0 del veicolo (CIV) \u00e8 un documento separato, con un proprio numero.<\/p>\n\t\t\t<p>I documenti pi\u00f9 vecchi possono avere un layout diverso e alcuni non hanno la casella E, quindi leggi l&#039;etichetta oltre alla lettera.<\/p>\n\n\t\t\t<h2 id=\"car\">Il numero di telaio sull&#039;auto<\/h2>\n\n\t\t\t<p>Le norme UE prevedono che il VIN sia punzonato sul telaio o sulla scocca, sul lato destro dell&#039;auto guardando in avanti, in un punto visibile e raggiungibile. Le case automobilistiche lo ripetono altrove, quindi hai pi\u00f9 posti da controllare.<\/p>\n\n\t\t\t<figure class=\"anim\">\n\t\t\t\t\t\t<picture>\n\t\t\t<source media=\"(prefers-reduced-motion: reduce)\" srcset=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/where-to-find-vin\/car-places-poster.webp\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/where-to-find-vin\/car-places.webp\" width=\"1000\" height=\"667\" alt=\"L&#039;orso di MrVIN che indica un&#039;auto con quattro segnalini numerati dove si trova il VIN\" loading=\"lazy\">\n\t\t<\/picture>\n\t\t\t\t\t\t<figcaption>I quattro punti da guardare, numerati come nell&#039;elenco qui sotto.<\/figcaption>\n\t\t\t<\/figure>\n\n\t\t\t<ol>\n\t\t\t\t<li><b>La base del parabrezza.<\/b> Una piccola targhetta dietro il vetro, in un angolo in basso e spesso dal lato guida. Si legge da fuori, quindi \u00e8 il controllo pi\u00f9 rapido. Molte auto ce l'hanno, ma \u00e8 un'abitudine delle case costruttrici e nessuna norma UE la impone.<\/li>\n\t\t\t\t<li><b>Il montante della portiera.<\/b> Apri la portiera del guidatore e cerca sul montante o sulla cornice una targhetta o un adesivo. Alcune case mettono questa targhetta nel vano motore.<\/li>\n\t\t\t\t<li><b>Punzonato sulla scocca.<\/b> \u00c8 il numero che richiedono le norme, e il pi\u00f9 difficile da alterare. Di solito \u00e8 nel vano motore, oppure sotto uno sportello nel pianale vicino a un sedile anteriore. Il libretto di uso e manutenzione indica dove.<\/li>\n\t\t\t\t<li><b>Il libretto di manutenzione.<\/b> Libretti di manutenzione e documenti assicurativi di solito riportano il VIN. Sono solo carta, quindi usali come controllo incrociato.<\/li>\n\t\t\t<\/ol>\n\n\t\t\t<h2 id=\"match\">I numeri di telaio corrispondono tutti?<\/h2>\n\n\t\t\t<p>La maggior parte delle guide si ferma a dove guardare. Se stai comprando, il passo successivo conta di pi\u00f9: confronta il VIN sui documenti, sulla targhetta del parabrezza e sulla scocca, carattere per carattere, prima che passi del denaro.<\/p>\n\t\t\t<p>Il motivo \u00e8 semplice. Un controllo VIN descrive il numero che hai digitato. Non pu\u00f2 dirti se quel numero appartiene all&#039;auto che hai davanti. A un&#039;auto rubata si pu\u00f2 dare l&#039;identit\u00e0 di una regolare, e allora un rapporto pulito su quel VIN non dimostra niente.<\/p>\n\t\t\t<p class=\"pullquote\">Un rapporto sulla storia descrive il numero che hai digitato. Solo tu puoi verificare che quel numero appartenga all&#039;auto.<\/p>\n\n\t\t\t<figure class=\"anim\">\n\t\t\t\t\t\t<picture>\n\t\t\t<source media=\"(prefers-reduced-motion: reduce)\" srcset=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/where-to-find-vin\/vin-match-poster.webp\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/where-to-find-vin\/vin-match.webp\" width=\"1000\" height=\"600\" alt=\"Lo stesso VIN confrontato in tre punti, prima uguale, poi con un carattere diverso\" loading=\"lazy\">\n\t\t<\/picture>\n\t\t\t\t\t\t<figcaption>Primo confronto: tutti e tre coincidono. Secondo confronto: un carattere \u00e8 diverso, e basta questo per fermarsi.<\/figcaption>\n\t\t\t<\/figure>\n\n\t\t\t<p>Alcune differenze hanno una spiegazione innocente, come un errore di battitura su un documento. Altre no, e dalla sola parola del venditore non puoi capire quale sia il caso.<\/p>\n\t\t\t<p>Un&#039;auto il cui numero non corrisponde ai documenti pu\u00f2 vedersi rifiutare l&#039;immatricolazione, e una volta pagato il problema \u00e8 tuo.<\/p>\n\t\t\t<p>Quindi non pagare finch\u00e9 la Motorizzazione non ha controllato. Se pensi che l&#039;auto possa essere rubata, avvisa la polizia.<\/p>\n\t\t\t<p>Guarda anche le targhette e il numero punzonato. Una targhetta allentata, graffiata o incollata di nuovo merita una domanda, cos\u00ec come i caratteri che appaiono irregolari o si trovano sotto vernice fresca.<\/p>\n\t\t\t<p>Un adesivo mancante sulla portiera non dimostra nulla da solo. Pu\u00f2 significare che la portiera o il montante sono stati riparati o sostituiti: vale la pena chiederlo e confrontarlo con i dati sui danni dell&#039;auto.<\/p>\n\n\t\t\t<h2 id=\"read\">Come leggere i 17 caratteri del VIN<\/h2>\n\n\t\t\t<p>Ogni VIN si divide negli stessi tre gruppi.<\/p>\n\n\t\t\t<figure class=\"anim\">\n\t\t\t\t\t\t<picture>\n\t\t\t<source media=\"(prefers-reduced-motion: reduce)\" srcset=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/where-to-find-vin\/vin-17-chars-poster.webp\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/where-to-find-vin\/vin-17-chars.webp\" width=\"1000\" height=\"467\" alt=\"Un VIN di 17 caratteri diviso in gruppi da 3, 6 e 8\" loading=\"lazy\">\n\t\t<\/picture>\n\t\t\t\t\t<\/figure>\n\n\t\t\t<ul>\n\t\t\t\t<li><b>I primi 3: il costruttore.<\/b> Indicano chi ha costruito l'auto.<\/li>\n\t\t\t\t<li><b>I 6 successivi: la descrizione.<\/b> Il costruttore li usa per descrivere il veicolo. Le posizioni che non gli servono possono contenere un carattere di riempimento, ed \u00e8 per questo che i VIN europei di Volkswagen iniziano con WVWZZZ.<\/li>\n\t\t\t\t<li><b>Gli ultimi 8: questa auto.<\/b> Identificano il singolo veicolo, e gli ultimi 4 sono cifre.<\/li>\n\t\t\t<\/ul>\n\n\t\t\t<p>Le lettere I, O e Q non vengono mai usate, perch\u00e9 si confondono troppo facilmente con 1 e 0. Se ti sembra di leggere una O, \u00e8 uno 0.<\/p>\n\t\t\t<p>Prova con il tuo VIN. Quello che digiti qui resta su questa pagina.<\/p>\n\n\t\t\t\t\t\t<div class=\"vt\" id=\"mrvin-blog-vt\" data-bad=\"Un VIN non contiene mai I, O o Q. Guarda di nuovo quella lettera.\">\n\t\t\t\t<input type=\"text\" placeholder=\"Digita un VIN per dividerlo in gruppi\" aria-label=\"Digita un VIN per dividerlo in gruppi\" maxlength=\"20\" autocomplete=\"off\" spellcheck=\"false\" autocapitalize=\"characters\">\n\t\t\t\t<div class=\"vt-groups\">\n\t\t\t\t\t<div class=\"vt-group vt-g1\"><span class=\"chars\"><\/span><span class=\"name\">Il costruttore<\/span><\/div>\n\t\t\t\t\t<div class=\"vt-group vt-g2\"><span class=\"chars\"><\/span><span class=\"name\">La descrizione<\/span><\/div>\n\t\t\t\t\t<div class=\"vt-group vt-g3\"><span class=\"chars\"><\/span><span class=\"name\">Questa auto<\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<p class=\"vt-msg\" aria-live=\"polite\"><\/p>\n\t\t\t<\/div>\n\n\t\t\t<h2 id=\"catch\">Due cose che ingannano spesso<\/h2>\n\n\t\t\t<p><b>Il 10\u00b0 carattere non \u00e8 sempre l'anno.<\/b> Spesso si legge che lo sia. Deriva dalle norme nordamericane, e le norme UE non lo definiscono. Volkswagen lo usa davvero per l'anno modello, mentre molte BMW europee hanno semplicemente uno 0 in quella posizione. Per l'et\u00e0 dell'auto, fai riferimento alla data della prima immatricolazione sul libretto, e ricorda che un'auto pu\u00f2 essere costruita mesi prima di essere immatricolata.<\/p>\n\t\t\t<p><b>Il 9\u00b0 carattere non \u00e8 sempre una cifra di controllo.<\/b> In Nord America viene calcolato a partire dagli altri caratteri, cos\u00ec uno strumento pu\u00f2 individuare un errore di battitura. Nell'UE ha iniziato a essere richiesto solo a luglio 2022, a partire dai nuovi tipi di veicolo. Quando abbiamo applicato la formula nordamericana a una settimana di VIN europei dai nostri archivi, quasi la met\u00e0 non l'ha superata, ed erano auto vere con storie vere. Un controllo che dichiara non valido un VIN per questo motivo sbaglia.<\/p>\n\n\t\t\t<h2 id=\"tells\">Cosa pu\u00f2 dirti un VIN e cosa no<\/h2>\n\n\t\t\t<p>Una volta decodificato, un VIN ti dice che auto \u00e8: il costruttore, il modello e spesso il motore. Puoi provarlo gratis con il nostro <a href=\"https:\/\/www.mrvin.com\/it\/vin-decoder\/\">decodificatore VIN<\/a>.<\/p>\n\t\t\t<p>Non ti dice cosa \u00e8 successo dopo. Letture del contachilometri, dati sui danni e periodi trascorsi in altri paesi stanno in archivi separati, e un rapporto sulla storia li riunisce.<\/p>\n\n\t\t\t<h2 id=\"seller\">Quando il venditore non ti d\u00e0 il VIN<\/h2>\n\n\t\t\t<p>Un VIN non \u00e8 un segreto. Su molte auto si legge attraverso il parabrezza.<\/p>\n\t\t\t<p>Chiedi al venditore una foto della casella E del libretto. Pu\u00f2 coprire nome e indirizzo, perch\u00e9 ti serve solo quella riga.<\/p>\n\t\t\t<p>Un venditore che continua a non volerlo condividere merita una domanda prima di andare a vedere l&#039;auto.<\/p>\n\t\t\t<p>Se l&#039;annuncio mostra solo una targa, forse puoi partire da quella. In alcuni paesi il nostro campo di ricerca accetta una targa oltre a un VIN.<\/p>\n\t\t\t<p>Stai ancora confrontando auto? Puoi <a href=\"https:\/\/www.mrvin.com\/it\/no-vin\/\">acquistare i rapporti adesso<\/a> e usarli quando avrai i VIN.<\/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\">Prima di incontrare il venditore<\/p>\n\t\t\t\t\t\t<p class=\"promo-h\">Controlla la storia dell&#039;auto in meno di un minuto<\/p>\n\t\t\t\t\t\t<p class=\"promo-sub\">Dati di danni, chilometri, aste e importazione in oltre 30 paesi, in un unico rapporto.<\/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>Oltre 30 paesi<\/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>Meno di un minuto<\/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>Rapporto PDF completo<\/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>Controlla 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\/it\/sample-report\/\"><span>Non sei ancora sicuro? Guarda prima com&#039;\u00e8 fatto un rapporto completo<\/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>Domande frequenti<\/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\">Il numero di telaio \u00e8 uguale al VIN?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">Sulla quasi totalit\u00e0 delle auto vendute in Europa, s\u00ec. Numero di telaio, numero di chassis e FIN indicano gli stessi 17 caratteri. Le auto molto vecchie e alcune importazioni dal Giappone possono avere un numero pi\u00f9 corto, e i controlli sulla storia di solito non riescono a coprirle.<\/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\">Quanti caratteri ha un VIN?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">17, composti da lettere e cifre. Le lettere I, O e Q non vengono mai usate.<\/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\">\u00c8 sicuro condividere il mio VIN?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">In genere s\u00ec. Acquirenti, assicuratori e officine lo chiedono tutti, e su molte auto si legge attraverso il parabrezza. La Corte di giustizia dell&#039;UE ha stabilito che un VIN non \u00e8 di per s\u00e9 un dato personale, anche se pu\u00f2 diventarlo per chi \u00e8 in grado di collegarlo a una persona. Il vero rischio \u00e8 la clonazione, cio\u00e8 quando un VIN reale viene copiato su un&#039;altra auto, quindi evita di pubblicare online una foto nitida dei tuoi documenti.<\/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\">Qualcuno pu\u00f2 risalire al proprietario dal VIN?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">Non tramite MrVIN. I nostri rapporti possono mostrare quando un&#039;auto ha cambiato proprietario e se il proprietario era un privato o un&#039;azienda, dove risulta. Non indicano nessun nome.<\/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\">Perch\u00e9 il mio VIN ha cos\u00ec tante Z?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">La Z \u00e8 un carattere di riempimento comune per le posizioni che il costruttore non usa. I VIN europei di Volkswagen, per esempio, hanno ZZZ nelle posizioni dalla 4 alla 6.<\/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\">E se il controllo del VIN non trova niente?<\/p>\n\t\t\t\t\t\t<p class=\"faq-a\">Controlla prima i caratteri. Leggere uno 0 come la lettera O o un 1 come la lettera I \u00e8 l&#039;errore pi\u00f9 comune. Se sono corretti, l&#039;auto potrebbe semplicemente avere pochi dati registrati, e anche questo \u00e8 utile saperlo.<\/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>Fonti<\/h2>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>Direttiva 1999\/37\/CE del Consiglio relativa ai documenti di immatricolazione dei veicoli, allegato I<\/li>\n\t\t\t\t\t<li>Regolamento di esecuzione (UE) 2021\/535 della Commissione, allegato II, numero di identificazione del veicolo<\/li>\n\t\t\t\t\t<li>Corte di giustizia dell&#039;UE, causa C-319\/22, Gesamtverband Autoteile-Handel, 9 novembre 2023<\/li>\n\t\t\t\t\t<li>RDW, dati sulla carta di immatricolazione olandese<\/li>\n\t\t\t\t\t<li>ADAC, il documento di immatricolazione tedesco spiegato<\/li>\n\t\t\t\t\t<li>GOV.UK, numero di identificazione del veicolo<\/li>\n\t\t\t\t\t<li>RAC, cos&#039;\u00e8 la clonazione delle auto e come riconoscerla da acquirenti<\/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\">Leggi il prossimo articolo<\/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\/it\/blog\/importare-auto-dagli-usa\/\">\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\">Importare un&#039;auto dagli USA: cosa devi sapere in Italia<\/span>\n\t\t\t\t\t\t\t<span class=\"rn-dek\">Dazio, IVA, nazionalizzazione e immatricolazione. E perch\u00e9 in Italia la parte pi\u00f9 difficile sono i documenti tecnici.<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rn-more\">Leggi la guida &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\/it\/blog\/property-history-report\/\">\n\t\t\t\t\t\t<span class=\"rn-img\" style=\"background-image:url('https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/property-history\/property-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\">La tua auto ha un rapporto sulla storia. Anche la casa che stai per comprare.<\/span>\n\t\t\t\t\t\t\t<span class=\"rn-dek\">Un controllo del VIN ti dice quello che il venditore di un&#039;auto non ha detto. Anche una casa lascia una traccia scritta, e in Lettonia, Polonia e Slovenia quasi tutta si trova in registri pubblici. Ecco cosa consultare prima di firmare, e quando un rapporto dettagliato ti risparmia il lavoro.<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"rn-more\">Leggi la guida &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\">Trovato? Guarda cosa risulta<\/span>\n\t\t\t\t<button type=\"button\" aria-label=\"Chiudi\">&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>Verifica un&#039;auto ora<\/span><\/a>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t<script>\n\t\t(function () {\n\t\t  var tool = document.getElementById('mrvin-blog-vt');\n\t\t  if (!tool) return;\n\t\t  var input = tool.querySelector('input');\n\t\t  var groups = tool.querySelectorAll('.chars');\n\t\t  var message = tool.querySelector('.vt-msg');\n\t\t  input.addEventListener('input', function () {\n\t\t    var vin = input.value.toUpperCase().replace(\/[^A-Z0-9]\/g, '').slice(0, 17);\n\t\t    input.value = vin;\n\t\t    groups[0].textContent = vin.slice(0, 3);\n\t\t    groups[1].textContent = vin.slice(3, 9);\n\t\t    groups[2].textContent = vin.slice(9);\n\t\t    var hasBannedLetter = \/[IOQ]\/.test(vin);\n\t\t    message.className = hasBannedLetter ? 'vt-msg bad' : 'vt-msg';\n\t\t    \/\/ The count is digits only, so it needs no translated sentence\n\t\t    message.textContent = hasBannedLetter ? tool.getAttribute('data-bad') : (vin.length ? vin.length + ' \/ 17' : '');\n\t\t  });\n\t\t})();\n\t\t<\/script>\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 = \"where-to-find-vin-number\";\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\":\"tempo di lettura\",\"copied\":\"Copiato\",\"chart1\":{\"inCountry\":\"Venduta all'interno del paese\",\"crossBorder\":\"Venduta in un altro Paese UE\",\"ofCars\":\"% delle auto\"},\"chart2\":{\"before\":\"Prima del database\",\"after\":\"2024 (con Car-Pass)\",\"cases\":\"casi\"},\"rank\":{\"unit\":\"controlli\"},\"calc\":{\"perYear\":\"km \/ anno\",\"typicalFor\":\"Tipico per l'et\u00e0\",\"thisCar\":\"Questa auto\",\"difference\":\"Differenza\",\"about\":\"circa il tipico\",\"pctBelow\":\"% sotto il tipico\",\"pctAbove\":\"% sopra il tipico\",\"rangeLegend\":\"Intervallo tipico per l'et\u00e0\",\"noteValue\":\"Se il chilometraggio reale \u00e8 pi\u00f9 vicino a {expected} km, i {hidden} km mancanti potrebbero gonfiare il prezzo richiesto di {price} di circa {est} (circa il 4% del valore ogni 10.000 km).\",\"noteHidden\":\"Sono circa {hidden} km sotto la media. Aggiungi un prezzo richiesto sopra per stimare il valore in gioco.\",\"tiers\":{\"veryLow\":{\"label\":\"Chilometraggio molto basso\",\"color\":\"#A32D2D\",\"msg\":\"Questo \u00e8 molto al di sotto di quanto percorre normalmente un'auto di questa et\u00e0. Esistono auto con un chilometraggio realmente basso, ma questo \u00e8 esattamente lo schema che crea la frode del contachilometri. Insisti per avere una storia del chilometraggio registrata prima di fidarti del contachilometri.\"},\"below\":{\"label\":\"Sotto il tipico\",\"color\":\"#854F0B\",\"msg\":\"Leggermente sotto la media. Spesso \u00e8 legittimo, ma vale la pena verificarlo confrontando il libretto dei tagliandi timbrato e le letture registrate.\"},\"normal\":{\"label\":\"Sembra normale\",\"color\":\"#0F6E56\",\"msg\":\"Nell'intervallo normale per la sua et\u00e0 e il suo utilizzo. Nulla di insolito solo dal chilometraggio, anche se un controllo completo della storia resta comunque consigliabile.\"},\"above\":{\"label\":\"Sopra il tipico\",\"color\":\"#854F0B\",\"msg\":\"Sopra la media per la sua et\u00e0. Non \u00e8 di per s\u00e9 un segnale di frode, ma aspettati pi\u00f9 usura e usalo per negoziare un prezzo pi\u00f9 basso.\"},\"veryHigh\":{\"label\":\"Chilometraggio molto alto\",\"color\":\"#A32D2D\",\"msg\":\"Molto alto per la sua et\u00e0. Probabilmente un'ex auto aziendale, un taxi o un'auto per lunghi pendolarismi. Metti in conto un'usura maggiore e controlla attentamente lo storico della manutenzione.\"}}}}, HOME=\"https:\\\/\\\/www.mrvin.com\\\/it\\\/\", 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":1063,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-43215","page","type-page","status-publish","hentry"],"blocksy_meta":[],"yoast_head":"<title>Numero di telaio: dove trovarlo su libretto e auto | MrVIN<\/title>\n<meta name=\"description\" content=\"Sul libretto il numero di telaio (VIN) \u00e8 nella casella E. Ecco dove si trova sull&#039;auto, come leggere i 17 caratteri e perch\u00e9 ogni copia deve coincidere.\" \/>\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\/it\/blog\/numero-telaio-libretto\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Numero di telaio: dove trovarlo su libretto e auto | MrVIN\" \/>\n<meta property=\"og:description\" content=\"Sul libretto il numero di telaio (VIN) \u00e8 nella casella E. Ecco dove si trova sull&#039;auto, come leggere i 17 caratteri e perch\u00e9 ogni copia deve coincidere.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mrvin.com\/it\/blog\/numero-telaio-libretto\/\" \/>\n<meta property=\"og:site_name\" content=\"MrVIN\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-02T11:40:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/logo\/social\/mrvin-social-preview-it.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-it.png\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/it\\\/blog\\\/numero-telaio-libretto\\\/\",\"url\":\"https:\\\/\\\/www.mrvin.com\\\/it\\\/blog\\\/numero-telaio-libretto\\\/\",\"name\":\"Numero di telaio: dove trovarlo su libretto e auto | MrVIN\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/#website\"},\"datePublished\":\"2026-11-02T11:25:15+00:00\",\"dateModified\":\"2026-11-02T11:40:02+00:00\",\"description\":\"Sul libretto il numero di telaio (VIN) \u00e8 nella casella E. Ecco dove si trova sull'auto, come leggere i 17 caratteri e perch\u00e9 ogni copia deve coincidere.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/it\\\/blog\\\/numero-telaio-libretto\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mrvin.com\\\/it\\\/blog\\\/numero-telaio-libretto\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/it\\\/blog\\\/numero-telaio-libretto\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mrvin.com\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mrvin.com\\\/it\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Dove trovare il numero di telaio (VIN) su auto e libretto, e come leggerlo\"}]},{\"@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\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@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":"Numero di telaio: dove trovarlo su libretto e auto | MrVIN","description":"Sul libretto il numero di telaio (VIN) \u00e8 nella casella E. Ecco dove si trova sull'auto, come leggere i 17 caratteri e perch\u00e9 ogni copia deve coincidere.","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\/it\/blog\/numero-telaio-libretto\/","og_locale":"it_IT","og_type":"article","og_title":"Numero di telaio: dove trovarlo su libretto e auto | MrVIN","og_description":"Sul libretto il numero di telaio (VIN) \u00e8 nella casella E. Ecco dove si trova sull'auto, come leggere i 17 caratteri e perch\u00e9 ogni copia deve coincidere.","og_url":"https:\/\/www.mrvin.com\/it\/blog\/numero-telaio-libretto\/","og_site_name":"MrVIN","article_modified_time":"2026-11-02T11:40:02+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.mrvin.com\/wp-content\/uploads\/logo\/social\/mrvin-social-preview-it.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.mrvin.com\/wp-content\/uploads\/logo\/social\/mrvin-social-preview-it.png","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mrvin.com\/it\/blog\/numero-telaio-libretto\/","url":"https:\/\/www.mrvin.com\/it\/blog\/numero-telaio-libretto\/","name":"Numero di telaio: dove trovarlo su libretto e auto | MrVIN","isPartOf":{"@id":"https:\/\/www.mrvin.com\/#website"},"datePublished":"2026-11-02T11:25:15+00:00","dateModified":"2026-11-02T11:40:02+00:00","description":"Sul libretto il numero di telaio (VIN) \u00e8 nella casella E. Ecco dove si trova sull'auto, come leggere i 17 caratteri e perch\u00e9 ogni copia deve coincidere.","breadcrumb":{"@id":"https:\/\/www.mrvin.com\/it\/blog\/numero-telaio-libretto\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mrvin.com\/it\/blog\/numero-telaio-libretto\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.mrvin.com\/it\/blog\/numero-telaio-libretto\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mrvin.com\/it\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mrvin.com\/it\/blog\/"},{"@type":"ListItem","position":3,"name":"Dove trovare il numero di telaio (VIN) su auto e libretto, e come leggerlo"}]},{"@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\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@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\/it\/wp-json\/wp\/v2\/pages\/43215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mrvin.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mrvin.com\/it\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mrvin.com\/it\/wp-json\/wp\/v2\/comments?post=43215"}],"version-history":[{"count":1,"href":"https:\/\/www.mrvin.com\/it\/wp-json\/wp\/v2\/pages\/43215\/revisions"}],"predecessor-version":[{"id":43216,"href":"https:\/\/www.mrvin.com\/it\/wp-json\/wp\/v2\/pages\/43215\/revisions\/43216"}],"up":[{"embeddable":true,"href":"https:\/\/www.mrvin.com\/it\/wp-json\/wp\/v2\/pages\/1063"}],"wp:attachment":[{"href":"https:\/\/www.mrvin.com\/it\/wp-json\/wp\/v2\/media?parent=43215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}