{"id":14797,"date":"2026-08-21T16:51:58","date_gmt":"2026-08-21T14:51:58","guid":{"rendered":"https:\/\/www.mrvin.com\/controllo-targa\/"},"modified":"2026-08-21T16:51:58","modified_gmt":"2026-08-21T14:51:58","slug":"controllo-targa","status":"publish","type":"page","link":"https:\/\/www.mrvin.com\/it\/controllo-targa\/","title":{"rendered":"Controllo targa: cosa dice davvero una targa italiana"},"content":{"rendered":"<style>\n.mrvin-pg{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;color:var(--navy-80);line-height:1.6;font-size:16px;max-width:1140px;margin:0 auto;padding:28px 24px 8px;--navy:#04243F;--navy-80:rgba(4,36,63,.80);--navy-60:rgba(4,36,63,.60);--navy-12:rgba(4,36,63,.12);--blue:#2563EB;--blue-dark:#1D4ED8;--ink:#04243F;--sub:rgba(4,36,63,.60);--line:rgba(4,36,63,.08);--surf:#F8FAFC}\n.mrvin-pg *,.mrvin-pg *::before,.mrvin-pg *::after{box-sizing:border-box}\n.mrvin-pg a{color:var(--blue);text-decoration:none}\n.mrvin-pg-section{padding:74px 0}\n.mrvin-pg-head{text-align:center;max-width:680px;margin:0 auto 50px}\n.mrvin-pg-label{font-size:14.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--blue);margin:0 0 12px}\n.mrvin-pg-title{font-family:inherit;font-size:clamp(28px,4vw,42px);color:var(--ink);line-height:1.15;letter-spacing:-.5px;margin:0 0 16px;font-weight:700}\n.mrvin-pg-sub{font-size:17px;color:var(--sub);line-height:1.6;margin:0}\n.mrvin-pg-prose{max-width:760px;margin:0 auto;font-size:17px;color:var(--navy-80)}\n.mrvin-pg-prose p{margin:0 0 18px}\n.mrvin-pg-hero{position:relative;overflow:hidden;border-radius:28px;padding:64px 56px;background:linear-gradient(115deg,#EDF3FF 0%,#F7FAFF 46%,#FFFFFF 100%)}\n.mrvin-pg-hero-in{position:relative;z-index:1;max-width:660px}\n.mrvin-pg-hero-logo{display:block;width:124px;height:auto;margin:0 0 26px}\n.mrvin-pg-hero .mrvin-pg-label{display:flex;align-items:center;gap:11px;color:var(--blue)}\n.mrvin-pg-hero .mrvin-pg-label::before{content:'';flex:0 0 auto;width:26px;height:3px;border-radius:2px;background:#00D800}\n.mrvin-pg-hero h1{font-family:inherit;font-size:clamp(32px,4.6vw,52px);line-height:1.1;letter-spacing:-1px;color:var(--ink);margin:0 0 18px;font-weight:700}\n.mrvin-pg-lead{font-size:clamp(16px,1.8vw,19px);color:rgba(4,36,63,.70);max-width:600px;margin:0 0 28px;line-height:1.55}\n.mrvin-pg-art{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}\n.mrvin-pg-art-dial{position:absolute;right:-58px;top:50%;width:min(408px,46%);aspect-ratio:1;transform:translateY(-50%)}\n.mrvin-pg-art-ring{position:absolute;border-radius:50%;border:1px solid #000dc7;opacity:0;animation:mvpg-ring 1.1s cubic-bezier(.22,1,.36,1) both}\n.mrvin-pg-art-ring:nth-child(1){inset:0;--o:.13}\n.mrvin-pg-art-ring:nth-child(2){inset:15%;--o:.16;animation-delay:.1s}\n.mrvin-pg-art-ring:nth-child(3){inset:30%;--o:.2;border-style:dashed;animation-delay:.2s}\n.mrvin-pg-art-ring:nth-child(4){inset:45%;--o:.22;animation-delay:.3s}\n.mrvin-pg-art-sweep{position:absolute;inset:0;border-radius:50%;opacity:0;background:conic-gradient(from -19.07deg,#000dc700 0deg,#000dc72e 11.44deg,#00d8005d 26.70deg,#00d80000 38.14deg);-webkit-mask-image:linear-gradient(90deg,#0000,#000 25%,#000 75%,#0000);mask-image:linear-gradient(90deg,#0000,#000 25%,#000 75%,#0000);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 50%;mask-position:50% 50%;-webkit-mask-size:400% 100%;mask-size:400% 100%;animation:mvpg-spin 4.7s .5s both,mvpg-veil 5.7s .5s both,mvpg-close .6s 5.15s cubic-bezier(.4,0,.25,1) both}\n.mrvin-pg-art-blip{position:absolute;width:11px;height:11px;margin:-5.5px;border-radius:50%;background:#00c800;opacity:0;animation:mvpg-blip 2.2s cubic-bezier(.34,1.56,.64,1) both}\n.mrvin-pg-art-blip:nth-child(6){left:69%;top:31%;animation-delay:1.72s}\n.mrvin-pg-art-blip:nth-child(7){left:78%;top:62%;animation-delay:2.36s}\n.mrvin-pg-art-blip:nth-child(8){left:34%;top:72%;animation-delay:3.33s}\n.mrvin-pg-art-blip:nth-child(9){left:24%;top:38%;animation-delay:.68s}\n.mrvin-pg-art-vee{position:absolute;left:50%;top:50%;width:53%;height:53%;transform:translate(-50%,-100%);opacity:0;animation:mvpg-vee .32s 5.65s ease both}\n.mrvin-pg-art-arm{position:absolute;bottom:0;left:50%;width:17.714%;height:100%;margin-left:-8.857%;transform-origin:50% 100%;animation:1.1s 5.65s cubic-bezier(.22,1,.36,1) both}\n.mrvin-pg-art-arm--l{animation-name:mvpg-arm-l;background:linear-gradient(to top,rgba(0,13,199,.80),rgba(0,13,199,.80) 70%,rgba(0,13,199,0))}\n.mrvin-pg-art-arm--r{animation-name:mvpg-arm-r;background:linear-gradient(to top,#00D800,#00D800 70%,#00D80000)}\n@keyframes mvpg-ring{from{opacity:0;transform:scale(.9)}to{opacity:var(--o);transform:none}}\n@keyframes mvpg-close{to{-webkit-mask-size:11% 100%;mask-size:11% 100%}}\n@keyframes mvpg-veil{0%{opacity:0;animation-timing-function:ease}8.77%{opacity:1}90.35%{opacity:1;animation-timing-function:ease-in}100%{opacity:0}}\n@keyframes mvpg-spin{0%{transform:rotate(270deg);animation-timing-function:linear}68.09%{transform:rotate(610deg);animation-timing-function:cubic-bezier(.25,.362,.55,1)}100%{transform:rotate(720deg)}}\n@keyframes mvpg-blip{0%{opacity:0;transform:scale(.3)}14%{opacity:.85;transform:scale(1)}46%{opacity:.4}100%{opacity:.32;transform:none}}\n@keyframes mvpg-vee{to{opacity:.15}}\n@keyframes mvpg-arm-l{from{transform:skewX(6deg)}to{transform:skewX(19.07deg)}}\n@keyframes mvpg-arm-r{from{transform:skewX(-6deg)}to{transform:skewX(-19.07deg)}}\n@media(prefers-reduced-motion:reduce){.mrvin-pg-art-sweep{display:none}.mrvin-pg-art-ring{animation-duration:.01s!important}.mrvin-pg-art-blip{animation:none;opacity:.32}.mrvin-pg-art-vee{animation:none;opacity:.15}.mrvin-pg-art-arm{animation:none}.mrvin-pg-art-arm--l{transform:skewX(19.07deg)}.mrvin-pg-art-arm--r{transform:skewX(-19.07deg)}}\n.mrvin-pg-vin{max-width:520px;margin:0}\n.mrvin-pg-vin-under{margin-top:30px}\n.mrvin-pg-vin .mrvin-search-box{background:#FFF;border-radius:16px;box-shadow:0 10px 30px rgba(4,36,63,.10),0 0 0 1px var(--line);padding:8px}\n.mrvin-pg-vin .mrvin-search-row{display:flex;gap:6px;align-items:center;margin:0}\n.mrvin-pg-vin .mrvin-search-input,.mrvin-pg-vin .mrvin-search-input:focus{flex:1;min-width:0;width:100%;border:0;outline:none;background:transparent;font-family:inherit;font-size:16px;padding:14px 18px;color:var(--ink);border-radius:12px;text-align:left}\n.mrvin-pg-vin .mrvin-search-input::placeholder{color:#94A3B8}\n.mrvin-pg-vin .mrvin-search-btn{flex:0 0 auto;background:var(--blue);color:#fff;border:0;border-radius:12px;padding:14px 28px;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;transition:.2s;line-height:1.2}\n.mrvin-pg-vin .mrvin-search-btn:hover{background:var(--blue-dark);transform:translateY(-1px)}\n.mrvin-pg-vin-hint{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:12.5px;color:var(--sub);margin:12px 0 0}\n.mrvin-pg-vin-copy{display:inline-flex;align-items:center;gap:7px;position:relative;background:#EEF3FA;border:1px solid var(--line);border-radius:6px;padding:4px 9px;font-family:inherit;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--sub);cursor:pointer;transition:background .18s,border-color .18s,color .18s}\n.mrvin-pg-vin-copy:hover{background:#E3ECF8;border-color:var(--navy-12);color:var(--ink)}\n.mrvin-pg-vin-copy code{background:none;padding:0;font:inherit;letter-spacing:inherit;color:inherit}\n.mrvin-pg-vin-copy svg{flex:0 0 auto;width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.65}\n.mrvin-pg-vin-copy:hover svg{opacity:1}\n.mrvin-pg-vin-copy-ok{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#0F6E56;color:#FFF;opacity:0;pointer-events:none;transition:opacity .15s;-webkit-user-select:none;user-select:none}\n.mrvin-pg-vin-copy.is-copied .mrvin-pg-vin-copy-ok{opacity:1}\n.mrvin-pg-scope{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:20px 0 0}\n.mrvin-pg-scope-label{font-size:14px;font-weight:700;color:var(--ink);opacity:.62;line-height:1}\n.mrvin-pg-scope-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}\n.mrvin-pg-scope-item{display:inline-flex;align-items:center;gap:8px;padding:6px 15px 6px 6px;border-radius:999px;background:#FFF;border:1px solid rgba(0,59,121,.08);box-shadow:0 2px 8px rgba(7,29,64,.06);font-size:14px;font-weight:700;color:var(--ink);line-height:1;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease}\n.mrvin-pg-scope-item:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(7,29,64,.10)}\n.mrvin-pg-scope-ic{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;flex-shrink:0}\n.mrvin-pg-scope-ic svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}\n.mrvin-pg-scope-ic--car{background:rgba(4,133,244,.08);color:#0485F4}\n.mrvin-pg-scope-ic--moto{background:rgba(123,97,255,.08);color:#7B61FF}\n.mrvin-pg-scope-ic--van{background:rgba(11,164,160,.08);color:#0BA4A0}\n.mrvin-pg-scope-ic--truck{background:rgba(240,135,31,.08);color:#F0871F}\n@media(max-width:600px){.mrvin-pg-scope{gap:10px}.mrvin-pg-scope-list{gap:7px}.mrvin-pg-scope-item{padding:4px;gap:0;border-radius:50%}.mrvin-pg-scope-item:hover{transform:none}.mrvin-pg-scope-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.mrvin-pg-scope-ic{width:34px;height:34px}.mrvin-pg-scope-ic svg{width:20px;height:20px}}\n.mrvin-pg a.mrvin-pg-btn,.mrvin-pg a.mrvin-pg-btn:link,.mrvin-pg a.mrvin-pg-btn:visited{display:inline-block;background:var(--blue);color:#FFF;text-decoration:none;border:none;border-radius:12px;padding:15px 32px;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 10px 26px rgba(37,99,235,.36)}\n.mrvin-pg a.mrvin-pg-btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(37,99,235,.44);background:var(--blue-dark);color:#FFF}\n.mrvin-pg-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}\n.mrvin-pg-chip{background:#FFF;border:1px solid var(--line);border-radius:14px;padding:13px 18px}\n.mrvin-pg-chip b{display:block;font-size:20px;color:var(--ink);font-weight:700;line-height:1.15}\n.mrvin-pg-chip span{font-size:12.5px;color:var(--sub)}\n.mrvin-pg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}\n.mrvin-pg-card{background:#FFF;border:1px solid var(--line);border-radius:16px;padding:28px 26px;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .25s}\n.mrvin-pg-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(4,36,63,.10);border-color:var(--navy-12)}\n.mrvin-pg-ico{width:60px;height:60px;border-radius:50%;background:#DBEAFE;display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:background .35s,transform .35s}\n.mrvin-pg-ico svg{width:26px!important;height:26px!important;display:block;fill:none!important;stroke:var(--blue);stroke-width:1.7;transition:stroke .35s}\n.mrvin-pg-card:hover .mrvin-pg-ico{background:var(--blue);transform:translateY(-2px)}\n.mrvin-pg-card:hover .mrvin-pg-ico svg{stroke:#FFF}\n.mrvin-pg-card h3{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 8px;line-height:1.3}\n.mrvin-pg-card p{font-size:14px;color:var(--sub);margin:0;line-height:1.6}\n.mrvin-pg-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;position:relative;max-width:920px;margin:0 auto}\n.mrvin-pg-steps::before{content:'';position:absolute;top:34px;left:calc(16.67% + 34px);right:calc(16.67% + 34px);height:2px;background:var(--line);transform:scaleX(0);transform-origin:left center;transition:transform .8s cubic-bezier(.22,1,.36,1) .3s}\n.mrvin-pg-steps.in-view::before{transform:scaleX(1)}\n.mrvin-pg-step{text-align:center}\n.mrvin-pg-step-wrap{position:relative;display:inline-block}\n.mrvin-pg-step-ic{width:68px;height:68px;border-radius:50%;background:#DBEAFE;display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px;position:relative;z-index:1;transition:transform .4s,box-shadow .4s,background .4s}\n.mrvin-pg-step-ic svg{width:28px!important;height:28px!important;display:block;fill:none!important;stroke:var(--blue);stroke-width:1.7}\n.mrvin-pg-step:hover .mrvin-pg-step-ic{transform:translateY(-3px);box-shadow:0 8px 20px rgba(37,99,235,.2);background:var(--blue)}\n.mrvin-pg-step:hover .mrvin-pg-step-ic svg{stroke:#FFF}\n.mrvin-pg-step-badge{position:absolute;top:-2px;right:calc(50% - 42px);width:24px;height:24px;border-radius:50%;background:var(--blue);color:#FFF;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 2px 6px rgba(37,99,235,.3)}\n.mrvin-pg-step h3{font-size:18px;font-weight:700;color:var(--ink);margin:0 0 8px}\n.mrvin-pg-step p{font-size:14px;color:var(--sub);line-height:1.6;max-width:280px;margin:0 auto}\n.mrvin-pg-cta{position:relative;overflow:hidden;background:linear-gradient(140deg,#04243F 0%,#063256 58%,#0a3a63 100%);border-radius:28px;padding:60px 40px;color:#E0E7FF;text-align:center}\n.mrvin-pg-cta .mrvin-pg-label{color:#93C5FD}\n.mrvin-pg-cta .mrvin-pg-title{color:#FFF}\n.mrvin-pg-cta .mrvin-pg-sub{color:#C7D2FE;margin-bottom:28px}\n.mrvin-pg-info{background:var(--surf);border:1px solid var(--line);border-radius:16px;padding:28px}\n.mrvin-pg-info h2{font-size:16px;font-weight:700;color:var(--ink);margin:0 0 14px;text-transform:none;letter-spacing:0;line-height:1.3}\n.mrvin-pg-info-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}\n.mrvin-pg-info-row:last-child{margin-bottom:0}\n.mrvin-pg-info-ic{width:38px;height:38px;border-radius:10px;background:#DBEAFE;display:flex;align-items:center;justify-content:center;flex-shrink:0}\n.mrvin-pg-info-ic svg{width:18px!important;height:18px!important;fill:none!important;stroke:var(--blue);stroke-width:1.8}\n.mrvin-pg-info-row b{display:block;font-size:14px;color:var(--ink);font-weight:700;margin-bottom:2px}\n.mrvin-pg-info-row span,.mrvin-pg-info-row a{font-size:14px;color:var(--sub);line-height:1.5}\n.mrvin-pg-info-row a{color:var(--blue)}\n.mrvin-pg-two{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;align-items:start;max-width:980px;margin:0 auto}\n.mrvin-pg-code{background:#04243F;border-radius:16px;padding:22px 24px;overflow-x:auto;font-family:'DM Mono',ui-monospace,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.75;color:#C7D2FE;max-width:760px;margin:0 auto;box-shadow:0 14px 40px rgba(4,36,63,.18)}\n.mrvin-pg-code .mut{color:rgba(199,210,254,.55)}\n.mrvin-pg-code .ky{color:#FFEB30}\n.mrvin-pg-code .st{color:#10B981}\n.mrvin-pg-form{background:#FFF;border-radius:18px;padding:30px;border:1px solid var(--line);box-shadow:0 14px 40px rgba(4,36,63,.08)}\n.mrvin-pg-cta .mrvin-pg-form{max-width:600px;margin:36px auto 0;text-align:left;border:none;box-shadow:0 24px 60px rgba(4,36,63,.30)}\n.mrvin-pg-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}\n.mrvin-pg-field{margin-bottom:16px}\n.mrvin-pg-field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px}\n.mrvin-pg .mrvin-pg-field input,.mrvin-pg .mrvin-pg-field select,.mrvin-pg .mrvin-pg-field textarea{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px!important;font-size:15px;line-height:1.45!important;height:auto!important;min-height:48px;font-family:inherit;color:var(--ink);background-color:#FFF;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none;transition:border-color .15s,box-shadow .15s}\n.mrvin-pg .mrvin-pg-field input:focus,.mrvin-pg .mrvin-pg-field select:focus,.mrvin-pg .mrvin-pg-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.15)}\n.mrvin-pg .mrvin-pg-field select{padding-right:42px!important;cursor:pointer;background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%2304243F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:right 15px center;background-size:12px 8px}\n.mrvin-pg .mrvin-pg-field textarea{min-height:120px!important;resize:vertical}\n.mrvin-pg-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}\n.mrvin-pg-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--sub);margin-bottom:20px}\n.mrvin-pg-consent input{width:auto;margin-top:3px;flex-shrink:0}\n.mrvin-pg-submit{width:100%;background:var(--blue);color:#FFF;border:none;border-radius:12px;padding:15px;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,transform .15s}\n.mrvin-pg-submit:hover{background:var(--blue-dark);transform:translateY(-1px)}\n.mrvin-pg-submit:disabled{opacity:.6;cursor:default;transform:none}\n.mrvin-pg-msg{font-size:14px;margin-top:14px;text-align:center}\n.mrvin-pg-msg.err{color:#DC2626}\n.mrvin-pg-thanks{display:none;text-align:center;padding:24px 10px}\n.mrvin-pg-thanks .tick{width:56px;height:56px;border-radius:50%;background:#DCFCE7;color:#16A34A;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}\n.mrvin-pg-thanks h3{font-size:20px;color:var(--ink);margin:0 0 8px;font-weight:700}\n.mrvin-pg-thanks p{color:var(--sub);margin:0}\n.mrvin-pg-form.sent .mrvin-pg-form-inner{display:none}\n.mrvin-pg-form.sent .mrvin-pg-thanks{display:block}\n.mrvin-pg-soon{max-width:620px;margin:0 auto;text-align:center;background:var(--surf);border:1px solid var(--line);border-radius:24px;padding:56px 36px}\n.mrvin-pg-soon-ic{width:72px;height:72px;border-radius:50%;background:#DBEAFE;display:flex;align-items:center;justify-content:center;margin:0 auto 22px}\n.mrvin-pg-soon-ic svg{width:32px!important;height:32px!important;fill:none!important;stroke:var(--blue);stroke-width:1.6}\n.mrvin-pg-soon h2{font-family:inherit;font-size:28px;color:var(--ink);font-weight:700;margin:0 0 12px}\n.mrvin-pg-soon p{color:var(--sub);font-size:16px;margin:0 0 26px}\n#mrvin-pg-form-anchor{scroll-margin-top:90px}\n@media (prefers-reduced-motion:no-preference){\n  .mrvin-pg [data-fade]{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}\n  .mrvin-pg [data-fade].in-view{opacity:1;transform:none}\n  .mrvin-pg-step{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}\n  .mrvin-pg-steps.in-view .mrvin-pg-step:nth-child(1){opacity:1;transform:none;transition-delay:.1s}\n  .mrvin-pg-steps.in-view .mrvin-pg-step:nth-child(2){opacity:1;transform:none;transition-delay:.32s}\n  .mrvin-pg-steps.in-view .mrvin-pg-step:nth-child(3){opacity:1;transform:none;transition-delay:.54s}\n}\n@media(max-width:1024px){.mrvin-pg{padding:22px 20px 8px}.mrvin-pg-grid{gap:18px}.mrvin-pg-hero{padding:60px 40px}.mrvin-pg-art-dial{right:-110px;width:min(360px,60%)}}\n@media(max-width:860px){.mrvin-pg-art{opacity:.5}.mrvin-pg-art-dial{right:-130px;width:320px}}\n@media(max-width:860px){.mrvin-pg-grid{grid-template-columns:repeat(2,1fr)}.mrvin-pg-steps{grid-template-columns:1fr;max-width:420px;gap:34px}.mrvin-pg-steps::before{display:none}.mrvin-pg-two{grid-template-columns:1fr;gap:22px}}\n@media(max-width:600px){.mrvin-pg{padding:16px 16px 8px}.mrvin-pg-section{padding:52px 0}.mrvin-pg-head{margin-bottom:36px}.mrvin-pg-grid{grid-template-columns:1fr}.mrvin-pg-hero{padding:46px 24px;border-radius:22px}.mrvin-pg-hero-logo{width:104px;margin-bottom:20px}.mrvin-pg-vin .mrvin-search-row{flex-direction:column;gap:6px;align-items:stretch}.mrvin-pg-vin .mrvin-search-btn{width:100%;padding:14px}.mrvin-pg-stats{gap:10px}.mrvin-pg-chip{flex:1 1 calc(50% - 5px)}.mrvin-pg-cta{padding:48px 22px;border-radius:22px}.mrvin-pg-form{padding:24px}.mrvin-pg-row{grid-template-columns:1fr;gap:0}}\n@media(max-width:380px){.mrvin-pg-hero h1{font-size:27px}}\n<\/style>\n<noscript><style>.mrvin-pg [data-fade],.mrvin-pg-step{opacity:1!important;transform:none!important}<\/style><\/noscript><style>\n.hero-section[data-type=\"type-1\"]{display:none!important}\n.entry-header .page-title{display:none!important}\n.mrvin-plate-lp{font-family:inherit;color:var(--ink)}\n.mrvin-plate-lp .mrvin-plate-lead{font-size:17px;line-height:1.65;color:var(--sub);max-width:62ch;margin:14px 0 26px}\n.mrvin-plate-lp .mrvin-plate-box{margin:0 0 10px;max-width:560px}\n\/* The home page search component. Its CSS lives inside the style block of the\n   mrvin_hero shortcode in snippet 6, NOT in mrvin_country_assets(), so every reuser\n   ships a scoped copy: the blog rail does, the answers and compare CTAs do, and so\n   does this. Copied from home_page_sections.php and scoped to the cluster so it can\n   never reach a hero if one ever renders on the same page. *\/\n.mrvin-plate-lp .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 #E2E8F0;padding:8px;transition:box-shadow .3s}\n.mrvin-plate-lp .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 #2563EB}\n.mrvin-plate-lp .mrvin-search-tabs{display:flex;gap:4px;padding:4px 8px 8px}\n.mrvin-plate-lp .mrvin-search-tab{padding:7px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;outline:none;background:transparent;color:#94A3B8;font-family:inherit;transition:all .2s;line-height:1}\n.mrvin-plate-lp .mrvin-search-tab.active{background:#DBEAFE;color:#2563EB}\n.mrvin-plate-lp .mrvin-search-tab:hover:not(.active){color:#475569}\n.mrvin-plate-lp .mrvin-search-row{display:flex;gap:6px;align-items:center;margin:0}\n.mrvin-plate-lp .mrvin-search-box input.mrvin-search-input,.mrvin-plate-lp .mrvin-search-box input.mrvin-search-input:focus,.mrvin-plate-lp .mrvin-search-box input.mrvin-search-input:hover,.mrvin-plate-lp .mrvin-search-box input.mrvin-search-input:active{flex:1;min-width:0;width:100%;border:none!important;outline:none!important;box-shadow:none!important;-webkit-box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important;background:transparent!important;background-color:transparent!important;border-color:transparent!important;font-size:16px;font-family:inherit;padding:14px 18px;color:#0B1120;border-radius:12px;margin:0;height:auto;line-height:normal}\n.mrvin-plate-lp .mrvin-search-box input.mrvin-search-input::placeholder{color:#94A3B8}\n.mrvin-plate-lp .mrvin-search-btn{background:var(--blue);color:#FFF;border:none;border-radius:12px;padding:14px 32px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .2s;line-height:1.2;flex-shrink:0}\n.mrvin-plate-lp .mrvin-search-btn:hover{background:var(--blue-dark);transform:translateY(-1px)}\n\/* Locked country badge. Same 54px block as the home page tile so the row keeps its\n   proportions, but it is a span, not a button: nothing to open, nothing to change. *\/\n.mrvin-plate-lp .mrvin-plate-flag{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;height:54px;border-radius:10px;background:#003399;color:#FFF;padding:6px 4px;gap:2px;line-height:1;cursor:default;user-select:none}\n.mrvin-plate-lp .mrvin-plate-flag-stars{display:block;width:22px;height:22px}\n.mrvin-plate-lp .mrvin-plate-flag-code{font-size:13px;font-weight:700;letter-spacing:.3px;color:#FFF;font-family:inherit}\n.mrvin-plate-lp .mrvin-plate-eg{font-size:13px;color:var(--sub);margin:12px 0 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-left:2px}\n.mrvin-plate-lp .mrvin-plate-eg code{font-family:\"DM Mono\",monospace;font-size:13px;background:var(--surf);border:1px solid var(--line);border-radius:6px;padding:2px 7px}\n\/* SECTION RHYTHM. The first cut of these pages ran three identical four-across card\n   grids one after another, which is the slab every generated landing page produces.\n   Two things break it: the sections alternate onto a tinted panel so the eye gets a\n   boundary, and the middle section is a different SHAPE entirely (see -nots below)\n   rather than a third row of the same box. *\/\n.mrvin-plate-lp .mrvin-plate-sec{margin:56px 0 0;text-align:center}\n.mrvin-plate-lp .mrvin-plate-sec--band{background:var(--surf);border:1px solid var(--line);border-radius:22px;padding:44px 34px}\n.mrvin-plate-lp .mrvin-plate-sec h2{font-size:29px;font-weight:700;letter-spacing:-.022em;margin:0 auto 12px;line-height:1.22;max-width:640px;text-wrap:balance}\n.mrvin-plate-lp .mrvin-plate-sec > p{font-size:16.5px;line-height:1.65;color:var(--sub);max-width:66ch;margin:0 auto 30px;text-wrap:pretty}\n\/* Cards go two across, not four. At four the copy wrapped into thin ragged columns\n   where one card ran six lines and its neighbour ran three. Stretch keeps the bottoms\n   level so the row reads as a row. *\/\n.mrvin-plate-lp .mrvin-plate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:0;align-items:stretch;text-align:left}\n.mrvin-plate-lp .mrvin-plate-sec--band .mrvin-plate-grid{max-width:900px;margin:0 auto}\n.mrvin-plate-lp .mrvin-plate-card{background:#FFF;border:1px solid var(--line);border-radius:18px;padding:22px 24px;display:flex;flex-direction:column;gap:7px}\n.mrvin-plate-lp .mrvin-plate-sec--band .mrvin-plate-card{background:#FFF}\n.mrvin-plate-lp .mrvin-plate-card h3{font-size:16.5px;font-weight:600;margin:0;letter-spacing:-.015em;color:var(--ink)}\n.mrvin-plate-lp .mrvin-plate-card p{font-size:15px;line-height:1.62;color:var(--sub);margin:0}\n\/* THE LIMITS LIST. Deliberately not a card grid: this is the section that says what we\n   cannot do, and giving it the same silhouette as the two selling sections is what made\n   the page read as generated. A ruled list with a struck marker reads as a caveat. *\/\n.mrvin-plate-lp .mrvin-plate-nots{list-style:none;padding:0;margin:0 auto;max-width:820px;text-align:left;display:grid;gap:0}\n.mrvin-plate-lp .mrvin-plate-nots li{display:grid;grid-template-columns:26px 1fr;gap:3px 15px;padding:22px 2px;border-top:1px solid var(--line)}\n.mrvin-plate-lp .mrvin-plate-nots li:last-child{border-bottom:1px solid var(--line)}\n.mrvin-plate-lp .mrvin-plate-nots-mark{grid-row:span 2;width:24px;height:24px;border-radius:50%;background:rgba(4,36,63,.07);color:rgba(4,36,63,.5);display:flex;align-items:center;justify-content:center;margin-top:1px}\n.mrvin-plate-lp .mrvin-plate-nots-mark svg{width:12px;height:12px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round}\n.mrvin-plate-lp .mrvin-plate-nots b{font-size:16.5px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}\n.mrvin-plate-lp .mrvin-plate-nots span{font-size:15px;line-height:1.62;color:var(--sub)}\n.mrvin-plate-lp .mrvin-plate-prose{max-width:70ch;margin:0 auto;text-align:left}\n.mrvin-plate-lp .mrvin-plate-prose p{font-size:16.5px;line-height:1.72;color:var(--ink);margin:0 0 15px}\n.mrvin-plate-lp .mrvin-plate-steps{list-style:none;counter-reset:s;padding:0;margin:0 auto;max-width:640px;display:grid;gap:14px;text-align:left}\n.mrvin-plate-lp .mrvin-plate-steps li{counter-increment:s;position:relative;padding:2px 0 0 44px;min-height:32px}\n.mrvin-plate-lp .mrvin-plate-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:10px;background:var(--blue);color:#FFF;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center}\n.mrvin-plate-lp .mrvin-plate-steps b{display:block;font-size:16px;font-weight:600;margin:4px 0 3px;letter-spacing:-.015em}\n.mrvin-plate-lp .mrvin-plate-steps span{display:block;font-size:15px;line-height:1.6;color:var(--sub)}\n.mrvin-plate-lp .mrvin-plate-doc{width:100%;max-width:720px;border-collapse:collapse;margin:0 auto;font-size:15px;text-align:left}\n.mrvin-plate-lp .mrvin-plate-doc td{border-top:1px solid var(--line);padding:11px 12px;vertical-align:top;line-height:1.55}\n.mrvin-plate-lp .mrvin-plate-doc td:first-child{width:104px;font-family:\"DM Mono\",monospace;font-weight:500;color:var(--blue);white-space:nowrap}\n.mrvin-plate-lp .mrvin-plate-note{background:rgba(4,36,63,.035);border-radius:16px;padding:18px 20px;margin:26px auto 0;font-size:15px;line-height:1.65;color:var(--sub);max-width:70ch;text-align:left}\n.mrvin-plate-lp .mrvin-plate-faq{margin:0 auto;max-width:760px;display:grid;gap:10px;text-align:left}\n.mrvin-plate-lp .mrvin-plate-faq details{background:#FFF;border:1px solid var(--line);border-radius:16px;padding:0 18px}\n.mrvin-plate-lp .mrvin-plate-faq summary{cursor:pointer;list-style:none;padding:15px 0;font-size:16px;font-weight:600;letter-spacing:-.015em}\n.mrvin-plate-lp .mrvin-plate-faq summary::-webkit-details-marker{display:none}\n.mrvin-plate-lp .mrvin-plate-faq p{font-size:15px;line-height:1.65;color:var(--sub);margin:0 0 15px;max-width:66ch}\n.mrvin-plate-lp .mrvin-plate-cta{background:var(--surf);border:1px solid var(--line);border-radius:22px;padding:34px 30px;margin:64px 0 8px;display:flex;gap:26px;align-items:center;flex-wrap:wrap;text-align:left}\n.mrvin-plate-lp .mrvin-plate-cta img{flex:0 0 auto;border-radius:14px}\n.mrvin-plate-lp .mrvin-plate-cta-body{flex:1 1 320px;min-width:0}\n.mrvin-plate-lp .mrvin-plate-cta h2{font-size:22px;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}\n.mrvin-plate-lp .mrvin-plate-cta p{font-size:15.5px;line-height:1.6;color:var(--sub);margin:0 0 14px}\n@media(max-width:640px){\n.mrvin-plate-lp .mrvin-plate-sec{margin:40px 0 0}\n.mrvin-plate-lp .mrvin-plate-sec--band{padding:32px 18px;border-radius:18px}\n.mrvin-plate-lp .mrvin-plate-sec h2{font-size:23px;max-width:none}\n.mrvin-plate-lp .mrvin-plate-doc td:first-child{width:74px}\n.mrvin-plate-lp .mrvin-search-row{flex-wrap:wrap}\n.mrvin-plate-lp .mrvin-search-box input.mrvin-search-input{flex:1 1 auto;font-size:16px;padding:12px 14px}\n.mrvin-plate-lp .mrvin-search-btn{width:100%;padding:14px;font-size:15px;border-radius:10px}\n}<\/style><div class=\"mrvin-pg mrvin-plate-lp\">\n\n  <header class=\"mrvin-pg-hero\">\n    <svg class=\"mrvin-pg-hero-logo\" viewBox=\"0 0 1906.43 520.1\" role=\"img\" aria-label=\"MrVIN\"><g fill=\"#000DC7\" transform=\"translate(28.0,492.1) scale(0.663000,-0.663000)\"><path transform=\"translate(0,0)\" d=\"M207 0V488H211L427 185L644 488H648V0H768V700H661L429 374H427L196 700H87V0Z\"\/><path transform=\"translate(855,0)\" d=\"M173 0V248C173 328 224 381 291 381C306 381 320 379 329 377V492H309C242 492 194 452 175 423H173V482H64V0Z\"\/><path transform=\"translate(1200,0)\" d=\"M388 0 630 700H506L326 150H323L144 700H16L258 0Z\"\/><path transform=\"translate(1846,0)\" d=\"M207 0V700H87V0Z\"\/><path transform=\"translate(2140,0)\" d=\"M206 0V481H210L545 0H651V700H531V219H528L192 700H87V0Z\"\/><polygon fill=\"#00D800\" points=\"1830.0,700.0 1706.0,700.0 1458.0,0.0 1588.0,0.0\"\/><\/g><\/svg>    <p class=\"mrvin-pg-eyebrow\">Controllo targa<\/p>\n    <h1>Controllo targa: cosa dice davvero una targa italiana<\/h1>\n    <p class=\"mrvin-plate-lead\">Inserisci la targa e ti diciamo di quale auto si tratta: marca, modello, anno e le ultime cifre del numero di telaio, quante bastano per confrontarla con il libretto. Non costa nulla e non serve registrarsi. Pi\u00f9 sotto trovi anche quello che una targa non pu\u00f2 dirti, perch\u00e9 \u00e8 la parte che quasi nessuno scrive.<\/p>\n    <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            <div class=\"mrvin-plate-box\">\n      <div class=\"mrvin-search-box\">\n        <div class=\"mrvin-search-tabs\">\n          <button class=\"mrvin-search-tab\" type=\"button\" data-mode=\"vin\">VIN<\/button>\n          <button class=\"mrvin-search-tab active\" type=\"button\" data-mode=\"plate\">Targa<\/button>\n        <\/div>\n        <form class=\"mrvin-search-row\" action=\"https:\/\/www.mrvin.com\/it\/product\/\" method=\"GET\">\n                    <span class=\"mrvin-plate-flag\" title=\"Targa italiana\">\n            <svg class=\"mrvin-plate-flag-stars\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg>\n            <span class=\"mrvin-plate-flag-code\">IT<\/span>\n          <\/span>\n          <input type=\"hidden\" name=\"country_iso\" value=\"IT\">\n          <input type=\"text\" class=\"mrvin-search-input\" name=\"plate\"\n            placeholder=\"Inserisci la targa\"\n            aria-label=\"Targa o numero di telaio\"\n            maxlength=\"15\" autocomplete=\"off\"\n            data-ph-vin=\"Inserisci il numero di telaio\"\n            data-ph-plate=\"Inserisci la targa\">\n          <button type=\"submit\" class=\"mrvin-search-btn\">Controlla<\/button>\n        <\/form>\n      <\/div>\n      <p class=\"mrvin-plate-eg\"><span>Esempio:<\/span><code>AB 123 CD<\/code><span>senza registrazione<\/span><\/p>\n    <\/div>\n        <div class=\"mrvin-pg-art\" aria-hidden=\"true\"><div class=\"mrvin-pg-art-dial\"><span class=\"mrvin-pg-art-ring\"><\/span><span class=\"mrvin-pg-art-ring\"><\/span><span class=\"mrvin-pg-art-ring\"><\/span><span class=\"mrvin-pg-art-ring\"><\/span><div class=\"mrvin-pg-art-sweep\"><\/div><span class=\"mrvin-pg-art-blip\"><\/span><span class=\"mrvin-pg-art-blip\"><\/span><span class=\"mrvin-pg-art-blip\"><\/span><span class=\"mrvin-pg-art-blip\"><\/span><div class=\"mrvin-pg-art-vee\"><span class=\"mrvin-pg-art-arm mrvin-pg-art-arm--l\"><\/span><span class=\"mrvin-pg-art-arm mrvin-pg-art-arm--r\"><\/span><\/div><\/div><\/div>  <\/header>\n\n  <section class=\"mrvin-plate-sec mrvin-plate-sec--band\">\n    <h2>Cosa ottieni subito, senza pagare<\/h2>\n    <p>La targa viene risolta nel numero di telaio del veicolo. Da l\u00ec leggiamo l&#039;identit\u00e0 dell&#039;auto.<\/p>\n    <div class=\"mrvin-plate-grid\">\n              <div class=\"mrvin-plate-card\">\n          <h3>Le ultime cifre del telaio<\/h3>\n          <p>Vedi le ultime cinque del numero di telaio. Bastano per il confronto che conta: se non coincidono con il libretto, quella non \u00e8 la vettura dell&#039;annuncio. Il numero completo arriva con il report.<\/p>\n        <\/div>\n              <div class=\"mrvin-plate-card\">\n          <h3>Marca, modello e anno<\/h3>\n          <p>Come risultano dall&#039;immatricolazione, non come li racconta l&#039;annuncio.<\/p>\n        <\/div>\n              <div class=\"mrvin-plate-card\">\n          <h3>Richiami di sicurezza aperti<\/h3>\n          <p>Se il costruttore ha richiamato quel modello e la campagna risulta ancora aperta, lo vedi prima di pagare qualsiasi cosa.<\/p>\n        <\/div>\n              <div class=\"mrvin-plate-card\">\n          <h3>Nessuna registrazione<\/h3>\n          <p>Non chiediamo email n\u00e9 account per la ricerca. Una targa gi\u00e0 risolta resta valida per 90 giorni, quindi ricontrollarla non costa niente.<\/p>\n        <\/div>\n          <\/div>\n  <\/section>\n\n  <section class=\"mrvin-plate-sec\">\n    <h2>Cosa non possiamo dirti, e perch\u00e9<\/h2>\n    <p>Quattro cose che vengono cercate insieme alla targa e che qui non troverai. Le scriviamo perch\u00e9 scoprirlo dopo aver pagato \u00e8 la ragione pi\u00f9 comune per cui la gente si arrabbia.<\/p>\n    <ul class=\"mrvin-plate-nots\">\n              <li>\n          <span class=\"mrvin-plate-nots-mark\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" focusable=\"false\"><path d=\"M6 6l12 12M18 6L6 18\"\/><\/svg><\/span>\n          <b>Il nome del proprietario<\/b>\n          <span>Sono dati personali. In Italia si consultano al PRA con una richiesta motivata, non con una casella di ricerca. Chi te li promette online per pochi euro o non li ha, o non dovrebbe averli.<\/span>\n        <\/li>\n              <li>\n          <span class=\"mrvin-plate-nots-mark\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" focusable=\"false\"><path d=\"M6 6l12 12M18 6L6 18\"\/><\/svg><\/span>\n          <b>La visura PRA<\/b>\n          <span>La visura \u00e8 un documento del Pubblico Registro Automobilistico e riporta trascrizioni, fermi e gravami. Non la rilasciamo e non la sostituiamo.<\/span>\n        <\/li>\n              <li>\n          <span class=\"mrvin-plate-nots-mark\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" focusable=\"false\"><path d=\"M6 6l12 12M18 6L6 18\"\/><\/svg><\/span>\n          <b>Lo storico delle revisioni<\/b>\n          <span>Il nostro report non attinge al registro italiano delle revisioni. La data dell&#039;ultima revisione la trovi gratis sul portale dell&#039;automobilista.<\/span>\n        <\/li>\n              <li>\n          <span class=\"mrvin-plate-nots-mark\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" focusable=\"false\"><path d=\"M6 6l12 12M18 6L6 18\"\/><\/svg><\/span>\n          <b>Fermi amministrativi e multe<\/b>\n          <span>Il fermo risulta dalla visura. Le sanzioni non stanno in nessun registro consultabile per targa, da nessuna parte.<\/span>\n        <\/li>\n          <\/ul>\n  <\/section>\n\n  <section class=\"mrvin-plate-sec mrvin-plate-prose\">\n    <h2>Perch\u00e9 in Italia la targa funziona<\/h2>\n          <p>Dalla riforma del 1994 la targa italiana \u00e8 legata al veicolo, non pi\u00f9 alla provincia e non al proprietario. Non cambia quando l&#039;auto viene venduta e non viene riassegnata a un&#039;altra vettura. \u00c8 per questo che una targa arriva in modo affidabile al numero di telaio giusto.<\/p>\n          <p>Non \u00e8 cos\u00ec ovunque. Nel Regno Unito una targa personalizzata pu\u00f2 essere tolta da un&#039;auto e messa su un&#039;altra, e una ricerca per targa pu\u00f2 restituire il veicolo sbagliato: capita abbastanza spesso da richiedere un controllo apposta. In Italia, per le targhe emesse dopo il 1994, il problema non esiste.<\/p>\n          <p>Le vecchie targhe provinciali seguivano un&#039;altra logica e possono non risolversi. Se ti trovi davanti una di quelle, usa direttamente il numero di telaio.<\/p>\n      <\/section>\n\n  <section class=\"mrvin-plate-sec\">\n    <h2>Come si fa<\/h2>\n    <ol class=\"mrvin-plate-steps\">\n              <li>\n          <b>Prendi la targa<\/b>\n          <span>Il formato attuale \u00e8 due lettere, tre cifre, due lettere, per esempio AB 123 CD. Gli spazi non contano.<\/span>\n        <\/li>\n              <li>\n          <b>Inseriscila qui sopra<\/b>\n          <span>Il paese \u00e8 gi\u00e0 impostato sull&#039;Italia. Se l&#039;auto \u00e8 immatricolata altrove, cambia paese oppure usa direttamente il numero di telaio.<\/span>\n        <\/li>\n              <li>\n          <b>Confrontala con l&#039;annuncio<\/b>\n          <span>Se marca, modello o anno non corrispondono a quello che ti hanno detto, fermati qui. \u00c8 la cosa pi\u00f9 utile che questa pagina possa fare per te, ed \u00e8 gratis.<\/span>\n        <\/li>\n          <\/ol>\n  <\/section>\n\n  <section class=\"mrvin-plate-sec\">\n    <h2>Dove sta il numero di telaio sul libretto<\/h2>\n    <p>Sulla carta di circolazione i campi hanno una lettera, uguale in tutta l&#039;Unione Europea. Servono questi.<\/p>\n    <table class=\"mrvin-plate-doc\">\n      <tbody>\n              <tr>\n          <td>E<\/td>\n          <td>Numero di telaio, cio\u00e8 il VIN. \u00c8 il campo che conta.<\/td>\n        <\/tr>\n              <tr>\n          <td>A<\/td>\n          <td>Targa.<\/td>\n        <\/tr>\n              <tr>\n          <td>B<\/td>\n          <td>Data della prima immatricolazione.<\/td>\n        <\/tr>\n              <tr>\n          <td>D.1 e D.3<\/td>\n          <td>Marca e denominazione commerciale del modello.<\/td>\n        <\/tr>\n              <tr>\n          <td>P.1 e P.2<\/td>\n          <td>Cilindrata e potenza.<\/td>\n        <\/tr>\n            <\/tbody>\n    <\/table>\n    <p class=\"mrvin-plate-note\">Sul veicolo il numero di telaio \u00e8 punzonato sulla scocca e riportato su una targhetta, spesso alla base del parabrezza o sul montante della portiera. Se quello punzonato e quello del libretto non coincidono, non serve nessun report: vai via.<\/p>\n  <\/section>\n\n  <section class=\"mrvin-plate-sec mrvin-plate-sec--band\">\n    <h2>Quando conviene il report completo<\/h2>\n    <p>L&#039;identit\u00e0 del veicolo \u00e8 gratis. Il resto \u00e8 quello per cui si paga, e parte da EUR 19,90.<\/p>\n    <div class=\"mrvin-plate-grid\">\n              <div class=\"mrvin-plate-card\">\n          <h3>Il chilometraggio nel tempo<\/h3>\n          <p>Ogni lettura del contachilometri che troviamo, con la sua data. Una manomissione non si vede da un numero, si vede da una sequenza che a un certo punto torna indietro.<\/p>\n        <\/div>\n              <div class=\"mrvin-plate-card\">\n          <h3>Danni e sinistri registrati<\/h3>\n          <p>Perizie e riparazioni che risultano dalle banche dati europee, con l&#039;entit\u00e0 del danno quando \u00e8 disponibile.<\/p>\n        <\/div>\n              <div class=\"mrvin-plate-card\">\n          <h3>Dati tecnici e allestimento<\/h3>\n          <p>Cilindrata, potenza, cambio, alimentazione e l&#039;equipaggiamento di serie di quel telaio.<\/p>\n        <\/div>\n              <div class=\"mrvin-plate-card\">\n          <h3>Valutazione di mercato<\/h3>\n          <p>Che cosa vale oggi un esemplare come quello, corretta per i danni che abbiamo trovato.<\/p>\n        <\/div>\n          <\/div>\n    <p class=\"mrvin-plate-note\">Una precisazione onesta: il report si basa su registri e fonti europee. Su un&#039;auto immatricolata in Italia e rimasta sempre in Italia i dati possono essere pochi. Il valore pi\u00f9 alto lo d\u00e0 su un&#039;auto importata, che \u00e8 poi il caso in cui rischi di pi\u00f9.<\/p>\n  <\/section>\n\n  <section class=\"mrvin-plate-sec\">\n    <h2>Domande frequenti<\/h2>\n    <div class=\"mrvin-plate-faq\">\n              <details>\n          <summary>Il controllo targa \u00e8 davvero gratuito?<\/summary>\n          <p>S\u00ec per l&#039;identificazione: marca, modello, anno, richiami aperti e le ultime cinque cifre del telaio. Il numero di telaio completo e la storia del veicolo sono nel report, che parte da EUR 19,90.<\/p>\n        <\/details>\n              <details>\n          <summary>Posso sapere chi \u00e8 il proprietario dell&#039;auto?<\/summary>\n          <p>No, e nessuno dovrebbe potertelo dire per pochi euro. Sono dati personali e si richiedono al PRA.<\/p>\n        <\/details>\n              <details>\n          <summary>Funziona con le targhe straniere?<\/summary>\n          <p>La ricerca per targa \u00e8 attiva per Italia, Francia, Spagna, Lettonia e Regno Unito. Per gli altri paesi serve il numero di telaio, che trovi sul libretto al campo E.<\/p>\n        <\/details>\n              <details>\n          <summary>Che differenza c&#039;\u00e8 con una visura?<\/summary>\n          <p>La visura \u00e8 un atto del PRA e riguarda la situazione giuridica del veicolo: chi lo possiede, se ha fermi o gravami. Noi guardiamo la storia del veicolo: chilometraggio, danni, dati tecnici. Sono due documenti diversi e spesso servono entrambi.<\/p>\n        <\/details>\n              <details>\n          <summary>Ogni quanto si aggiorna il dato?<\/summary>\n          <p>Una targa risolta resta valida per 90 giorni. L&#039;identit\u00e0 di un veicolo non cambia, quindi non c&#039;\u00e8 nulla da aggiornare pi\u00f9 spesso.<\/p>\n        <\/details>\n          <\/div>\n  <\/section>\n\n  <section class=\"mrvin-plate-cta\">\n    <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mrvin.com\/wp-content\/uploads\/blog\/vin-check-bear.webp\"\n         alt=\"MrVIN, l&#039;orso che controlla un report veicolo\"\n         width=\"200\" height=\"85\" loading=\"lazy\">\n    <div class=\"mrvin-plate-cta-body\">\n      <h2>Controlla la targa prima di andare a vederla<\/h2>\n      <p>L&#039;identificazione \u00e8 gratis e ci mette pochi secondi. Se i dati non tornano, hai risparmiato un viaggio.<\/p>\n          <div class=\"mrvin-plate-box\">\n      <div class=\"mrvin-search-box\">\n        <div class=\"mrvin-search-tabs\">\n          <button class=\"mrvin-search-tab\" type=\"button\" data-mode=\"vin\">VIN<\/button>\n          <button class=\"mrvin-search-tab active\" type=\"button\" data-mode=\"plate\">Targa<\/button>\n        <\/div>\n        <form class=\"mrvin-search-row\" action=\"https:\/\/www.mrvin.com\/it\/product\/\" method=\"GET\">\n                    <span class=\"mrvin-plate-flag\" title=\"Targa italiana\">\n            <svg class=\"mrvin-plate-flag-stars\" aria-hidden=\"true\" focusable=\"false\"><use href=\"#mrvin-eu-stars\"><\/use><\/svg>\n            <span class=\"mrvin-plate-flag-code\">IT<\/span>\n          <\/span>\n          <input type=\"hidden\" name=\"country_iso\" value=\"IT\">\n          <input type=\"text\" class=\"mrvin-search-input\" name=\"plate\"\n            placeholder=\"Inserisci la targa\"\n            aria-label=\"Targa o numero di telaio\"\n            maxlength=\"15\" autocomplete=\"off\"\n            data-ph-vin=\"Inserisci il numero di telaio\"\n            data-ph-plate=\"Inserisci la targa\">\n          <button type=\"submit\" class=\"mrvin-search-btn\">Controlla<\/button>\n        <\/form>\n      <\/div>\n      <p class=\"mrvin-plate-eg\"><span>Esempio:<\/span><code>AB 123 CD<\/code><span>senza registrazione<\/span><\/p>\n    <\/div>\n        <\/div>\n  <\/section>\n\n<\/div>\n    <script>\n(function(){\n  var ROOT = document.querySelector('.mrvin-plate-lp'); 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            flag  = box.querySelector('.mrvin-plate-flag'),\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 ? 15 : 32;\n        \/\/ The country badge belongs to the plate, not to the VIN: a VIN identifies the\n        \/\/ vehicle on its own and carries no country. The hidden country_iso can stay,\n        \/\/ the funnel ignores it in VIN mode.\n        if (flag) flag.style.display = plate ? '' : 'none';\n        \/\/ The button label does not change between modes here, so nothing to rewrite.\n      });\n    });\n  });\n  \/* Autosubmit a complete VIN only. A plate is never long enough to be unambiguous,\n     and on this page the plate tab is the one that starts active. *\/\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, sent = false;\n    function vinMode(){\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      if (timer) { clearTimeout(timer); timer = null; }\n      if (sent || !vinMode() || !VIN_RE.test((input.value||'').trim())) return;\n      timer = setTimeout(function(){\n        timer = null;\n        if (sent || !vinMode() || !VIN_RE.test((input.value||'').trim())) return;\n        sent = true;\n        if (typeof form.requestSubmit === 'function') form.requestSubmit(); else form.submit();\n      }, 1000);\n    });\n  });\n})();\n<\/script>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-14797","page","type-page","status-publish","hentry"],"blocksy_meta":[],"yoast_head":"<title>Controllo targa gratis: di che auto si tratta, marca, modello e anno<\/title>\n<meta name=\"description\" content=\"Inserisci la targa e leggi subito marca, modello, anno e le ultime cifre del telaio, senza registrarti. Diciamo anche che cosa una targa non pu\u00f2 dirti. Report completo da EUR 19,90.\" \/>\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\/controllo-targa\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Controllo targa gratis: di che auto si tratta, marca, modello e anno\" \/>\n<meta property=\"og:description\" content=\"Inserisci la targa e leggi subito marca, modello, anno e le ultime cifre del telaio, senza registrarti. Diciamo anche che cosa una targa non pu\u00f2 dirti. Report completo da EUR 19,90.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mrvin.com\/it\/controllo-targa\/\" \/>\n<meta property=\"og:site_name\" content=\"MrVIN\" \/>\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\\\/controllo-targa\\\/\",\"url\":\"https:\\\/\\\/www.mrvin.com\\\/it\\\/controllo-targa\\\/\",\"name\":\"Controllo targa gratis: di che auto si tratta, marca, modello e anno\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/#website\"},\"datePublished\":\"2026-08-21T14:51:58+00:00\",\"description\":\"Inserisci la targa e leggi subito marca, modello, anno e le ultime cifre del telaio, senza registrarti. Diciamo anche che cosa una targa non pu\u00f2 dirti. Report completo da EUR 19,90.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/it\\\/controllo-targa\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mrvin.com\\\/it\\\/controllo-targa\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mrvin.com\\\/it\\\/controllo-targa\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mrvin.com\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Controllo targa: cosa dice davvero una targa italiana\"}]},{\"@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":"Controllo targa gratis: di che auto si tratta, marca, modello e anno","description":"Inserisci la targa e leggi subito marca, modello, anno e le ultime cifre del telaio, senza registrarti. Diciamo anche che cosa una targa non pu\u00f2 dirti. Report completo da EUR 19,90.","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\/controllo-targa\/","og_locale":"it_IT","og_type":"article","og_title":"Controllo targa gratis: di che auto si tratta, marca, modello e anno","og_description":"Inserisci la targa e leggi subito marca, modello, anno e le ultime cifre del telaio, senza registrarti. Diciamo anche che cosa una targa non pu\u00f2 dirti. Report completo da EUR 19,90.","og_url":"https:\/\/www.mrvin.com\/it\/controllo-targa\/","og_site_name":"MrVIN","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\/controllo-targa\/","url":"https:\/\/www.mrvin.com\/it\/controllo-targa\/","name":"Controllo targa gratis: di che auto si tratta, marca, modello e anno","isPartOf":{"@id":"https:\/\/www.mrvin.com\/#website"},"datePublished":"2026-08-21T14:51:58+00:00","description":"Inserisci la targa e leggi subito marca, modello, anno e le ultime cifre del telaio, senza registrarti. Diciamo anche che cosa una targa non pu\u00f2 dirti. Report completo da EUR 19,90.","breadcrumb":{"@id":"https:\/\/www.mrvin.com\/it\/controllo-targa\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mrvin.com\/it\/controllo-targa\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.mrvin.com\/it\/controllo-targa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mrvin.com\/it\/"},{"@type":"ListItem","position":2,"name":"Controllo targa: cosa dice davvero una targa italiana"}]},{"@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\/14797","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"}],"author":[{"embeddable":true,"href":"https:\/\/www.mrvin.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mrvin.com\/it\/wp-json\/wp\/v2\/comments?post=14797"}],"version-history":[{"count":0,"href":"https:\/\/www.mrvin.com\/it\/wp-json\/wp\/v2\/pages\/14797\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mrvin.com\/it\/wp-json\/wp\/v2\/media?parent=14797"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}