{"id":813,"date":"2026-08-31T16:21:21","date_gmt":"2026-08-31T16:21:21","guid":{"rendered":"https:\/\/ads-diagnostic.pro\/?page_id=813"},"modified":"2026-09-14T14:10:01","modified_gmt":"2026-09-14T14:10:01","slug":"free-eobd2-test","status":"publish","type":"page","link":"https:\/\/ads-diagnostic.pro\/it\/free-eobd2-test\/","title":{"rendered":"Free eobd2 test"},"content":{"rendered":"<style>.kb-row-layout-id813_1f5595-90 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id813_1f5595-90 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id813_1f5595-90 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id813_1f5595-90 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id813_1f5595-90 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id813_1f5595-90 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id813_1f5595-90 alignfull wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column813_f3786f-db > .kt-inside-inner-col,.kadence-column813_f3786f-db > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column813_f3786f-db > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column813_f3786f-db > .kt-inside-inner-col{flex-direction:column;}.kadence-column813_f3786f-db > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column813_f3786f-db > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column813_f3786f-db{position:relative;}@media all and (max-width: 1024px){.kadence-column813_f3786f-db > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column813_f3786f-db > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column813_f3786f-db\"><div class=\"kt-inside-inner-col\">\n<style data-wp-block-html=\"css\">\n\/* ADS Diagnostic \u2014 free OBD test page (page id 813)\n   Enqueue in the theme or paste into Customizer > Additional CSS.\n   Tokens resolve from app.css; the fallbacks keep this file standalone. *\/\n\n.page-id-813 {\n  --accent:       var(--ads-blue, #0287C6);\n  --accent-dark:  var(--ads-blue-dark, #0B5FA5);\n  --accent-deep:  var(--ads-navy, #053879);\n  --accent-green: var(--ads-green, #03826E);\n  --accent-faint: var(--ads-tint, #E9F5FB);\n\n  --ink:         var(--ads-ink, #0E0E12);\n  --body:        var(--ads-slate, #4B5563);\n  \/* one step lighter than --body and still 5.8:1 on white, so secondary copy\n     never drops below AA the way the old #7c8496 did (3.6:1) *\/\n  --muted:       #5B6675;\n  --white:       #FFFFFF;\n  --canvas:      var(--ads-surface, #F5F8FA);\n  --border:      var(--ads-border, #CFE1EA);\n  --star:        var(--ads-star, #F59E0B);\n\n  --r-sm:  6px;\n  --r-md:  var(--ads-radius, 10px);\n  --r-lg:  var(--ads-radius-lg, 14px);\n  --r-2xl: 22px;\n\n  --sh-sm: 0 1px 4px rgba(2, 14, 35, 0.05), 0 1px 2px rgba(2, 14, 35, 0.04);\n  --sh-xl: 0 30px 72px rgba(2, 14, 35, 0.42);\n\n  --grad:     var(--ads-gradient, linear-gradient(95deg, #9C208D 0%, #0287C6 50%, #03826E 100%));\n  --grad-cta: var(--ads-gradient-cta, linear-gradient(100deg, #9C208D 0%, #0B5FA5 100%));\n  --grad-hero: var(--ads-hero-gradient, linear-gradient(125deg, #3E1155 0%, #0A2E6E 30%, #053879 52%, #03557F 76%, #02708A 100%));\n}\n\n\/* Safety net: the theme normally sets this globally, but the page must not\n   depend on it. *\/\n.page-id-813 .hero, .page-id-813 .hero *,\n.page-id-813 .section, .page-id-813 .section *,\n.page-id-813 .sticky-cta, .page-id-813 .sticky-cta * { box-sizing: border-box; }\n\n\/* \u2500\u2500 Layout shell \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n   Sections break out of a constrained container so their backgrounds run\n   edge to edge; .wrap puts the content back on the grid. If the row is\n   already full width the margins resolve to ~0. Note 100vw counts the\n   scrollbar, so setting the Kadence row itself to Full Width is cleaner. *\/\n.page-id-813 .hero,\n.page-id-813 .section {\n  position: relative;\n  overflow: hidden;\n  margin-left: calc(50% - 50vw);\n  margin-right: calc(50% - 50vw);\n}\n\n.page-id-813 .wrap {\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  padding: 0 40px;\n}\n\n.page-id-813 .section          { padding: 88px 0; background: var(--white); }\n.page-id-813 .section--canvas  { background: var(--canvas); }\n.page-id-813 .section--dark    { background: var(--accent-deep); }\n\n.page-id-813 .section__head {\n  display: grid;\n  gap: 12px;\n  margin-bottom: 48px;\n}\n\n.page-id-813 .section__head--center {\n  text-align: center;\n  justify-items: center;\n  max-width: 640px;\n  margin-inline: auto;\n}\n\n\/* \u2500\u2500 Typography \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .hero h1 {\n  margin: 0;\n  font-size: clamp(30px, 3.8vw, 48px);\n  font-weight: 900;\n  line-height: 1.08;\n  letter-spacing: -0.02em;\n  color: var(--white);\n}\n\n:where(.page-id-813 .section) h2 {\n  margin: 0;\n  font-size: clamp(26px, 3.4vw, 40px);\n  font-weight: 900;\n  line-height: 1.12;\n  letter-spacing: -0.015em;\n  color: var(--ink);\n}\n\n:where(.page-id-813 .section) h3 {\n  margin: 0;\n  font-size: 17px;\n  font-weight: 800;\n  line-height: 1.35;\n  color: var(--ink);\n}\n\n\/* Eyebrow: the ADS treatment (uppercase, heavy, tracked) rather than mono. *\/\n.page-id-813 .overline {\n  font-size: 11.5px;\n  font-weight: 800;\n  letter-spacing: 0.14em;\n  text-transform: uppercase;\n  line-height: 1;\n  color: var(--accent-dark);\n}\n\n.page-id-813 .lead {\n  margin: 0;\n  font-size: 16.5px;\n  line-height: 1.68;\n  color: var(--body);\n}\n\n.page-id-813 .hero__bullet a,\n.page-id-813 .serial__note a,\n.page-id-813 .serial__sub a,\n.page-id-813 .serial__help a,\n.page-id-813 .step p a,\n.page-id-813 .trust__link,\n.page-id-813 .section__head .lead a {\n  font-weight: 700;\n  text-decoration: none;\n  color: var(--accent-dark);\n}\n\n.page-id-813 .hero__bullet a:hover,\n.page-id-813 .serial__note a:hover,\n.page-id-813 .serial__sub a:hover,\n.page-id-813 .serial__help a:hover,\n.page-id-813 .step p a:hover,\n.page-id-813 .trust__link:hover,\n.page-id-813 .section__head .lead a:hover { text-decoration: underline; }\n\n\/* Links inside the dark hero need the light end of the palette. *\/\n.page-id-813 .hero__bullet a { color: #A9E4FA; }\n.page-id-813 .hero__bullet a:hover { color: var(--white); }\n\n\/* \u2500\u2500 Buttons \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 9px;\n  min-height: 48px;\n  padding: 0 26px;\n  border: 1px solid transparent;\n  border-radius: var(--r-md);\n  font-family: inherit;\n  font-size: 13px;\n  font-weight: 800;\n  letter-spacing: 0.1em;\n  text-transform: uppercase;\n  line-height: 1;\n  text-align: center;\n  text-decoration: none;\n  cursor: pointer;\n  transition: background-position 280ms ease, background 140ms ease,\n              border-color 140ms ease, box-shadow 200ms ease, transform 80ms ease;\n}\n\n.page-id-813 .btn:active { transform: translateY(1px); }\n\n\/* Primary: the brand gradient, same CTA the hero serial form uses.\n   White on #9C208D is 7.0:1 and on #0B5FA5 is 6.6:1. *\/\n.page-id-813 .btn--primary {\n  background: var(--grad-cta);\n  background-size: 180% 100%;\n  background-position: 0% 50%;\n  color: var(--white);\n  box-shadow: 0 10px 26px rgba(156, 32, 141, 0.26);\n}\n\n.page-id-813 .btn--primary:hover {\n  background-position: 100% 50%;\n  color: var(--white);\n  box-shadow: 0 14px 32px rgba(156, 32, 141, 0.34);\n}\n\n.page-id-813 .btn--outline {\n  background: var(--white);\n  color: var(--ink);\n  border-color: var(--border);\n  box-shadow: var(--sh-sm);\n}\n\n.page-id-813 .btn--outline:hover {\n  border-color: var(--accent);\n  color: var(--accent-dark);\n  background: var(--accent-faint);\n}\n\n.page-id-813 .btn--outline-on-dark {\n  background: rgba(255, 255, 255, 0.06);\n  color: var(--white);\n  border-color: rgba(255, 255, 255, 0.34);\n  box-shadow: none;\n}\n\n.page-id-813 .btn--outline-on-dark:hover {\n  background: rgba(255, 255, 255, 0.14);\n  border-color: var(--white);\n  color: var(--white);\n}\n\n.page-id-813 .btn:focus-visible {\n  outline: 3px solid rgba(2, 135, 198, 0.6);\n  outline-offset: 2px;\n}\n\n.page-id-813 .btn--lg   { min-height: 54px; padding: 0 32px; font-size: 13.5px; }\n.page-id-813 .btn--full { width: 100%; }\n\n\/* \u2500\u2500 Hero \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .hero {\n  padding: 72px 0 88px;\n  background: var(--grad-hero);\n}\n\n.page-id-813 .hero .wrap { max-width: 1600px; }\n\n.page-id-813 .hero__grid {\n  position: relative;\n  display: grid;\n  grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);\n  gap: 64px;\n  align-items: start;\n}\n\n.page-id-813 .hero__copy     { display: grid; gap: 26px; align-content: start; }\n.page-id-813 .hero__headline { display: grid; gap: 16px; }\n\n.page-id-813 .hero .overline { color: #8FD8F7; }\n.page-id-813 .hero .lead     { color: rgba(255, 255, 255, 0.85); max-width: 620px; }\n\n.page-id-813 .hero__bullets {\n  display: grid;\n  gap: 0;\n  border: 1px solid rgba(255, 255, 255, 0.16);\n  border-radius: var(--r-lg);\n  overflow: hidden;\n  background: rgba(255, 255, 255, 0.06);\n}\n\n.page-id-813 .hero__bullet {\n  display: flex;\n  align-items: flex-start;\n  gap: 13px;\n  padding: 14px 18px;\n  border-bottom: 1px solid rgba(255, 255, 255, 0.12);\n  font-size: 14px;\n  font-weight: 500;\n  line-height: 1.55;\n  color: rgba(255, 255, 255, 0.85);\n  transition: background 120ms ease;\n}\n\n.page-id-813 .hero__bullet:last-child { border-bottom: 0; }\n.page-id-813 .hero__bullet:hover      { background: rgba(255, 255, 255, 0.05); }\n.page-id-813 .hero__bullet-text       { flex: 1; min-width: 0; }\n\n.page-id-813 .hero__bullet-tick {\n  width: 22px;\n  height: 22px;\n  border-radius: 50%;\n  background: var(--grad);\n  color: var(--white);\n  display: grid;\n  place-items: center;\n  flex-shrink: 0;\n  margin-top: 1px;\n  font-size: 11.5px;\n  font-weight: 800;\n  line-height: 1;\n}\n\n.page-id-813 .hero__actions {\n  display: flex;\n  gap: 12px;\n  flex-wrap: wrap;\n  align-items: center;\n}\n\n.page-id-813 .hero__trust {\n  display: grid;\n  gap: 14px;\n  padding-top: 22px;\n  border-top: 1px solid rgba(255, 255, 255, 0.15);\n}\n\n.page-id-813 .hero__trust-row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px 20px;\n}\n\n.page-id-813 .hero__trust-item {\n  display: flex;\n  align-items: center;\n  gap: 9px;\n  font-size: 12.5px;\n  font-weight: 600;\n  color: rgba(255, 255, 255, 0.86);\n}\n\n.page-id-813 .hero__trust-icon {\n  width: 28px;\n  height: 28px;\n  border-radius: 8px;\n  background: rgba(255, 255, 255, 0.10);\n  display: grid;\n  place-items: center;\n  flex-shrink: 0;\n}\n\n\/* Brand hues, lightened for the dark field: each clears 4.5:1 on its chip. *\/\n.page-id-813 .hero__trust-icon--green   { color: #5FD6BE; }\n.page-id-813 .hero__trust-icon--blue    { color: #7FD3F5; }\n.page-id-813 .hero__trust-icon--magenta { color: #E9A6DF; }\n\n.page-id-813 .hero__stars-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n\n.page-id-813 .hero__stars     { display: flex; gap: 2px; color: var(--star); }\n.page-id-813 .hero__stars svg { display: block; }\n\n.page-id-813 .hero__stars-label {\n  margin: 0;\n  font-size: 13px;\n  font-weight: 600;\n  color: rgba(255, 255, 255, 0.86);\n}\n\n\/* \u2500\u2500 Serial card: the one conversion unit on the page \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .serial {\n  position: relative;\n  overflow: hidden;\n  background: var(--white);\n  border: 1px solid var(--border);\n  border-radius: var(--r-lg);\n  box-shadow: var(--sh-xl);\n}\n\n.page-id-813 .serial__inner {\n  padding: 30px;\n  display: grid;\n  gap: 20px;\n}\n\n.page-id-813 .serial__head { display: grid; gap: 9px; justify-items: start; }\n\n.page-id-813 .serial__step {\n  font-size: 11px;\n  font-weight: 800;\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n  line-height: 1;\n  color: var(--accent-dark);\n}\n\n.page-id-813 .serial__title {\n  font-size: 23px;\n  font-weight: 800;\n  line-height: 1.15;\n  letter-spacing: 0.01em;\n  text-transform: uppercase;\n  color: var(--ink);\n}\n\n.page-id-813 .serial__sub {\n  margin: 0;\n  font-size: 14px;\n  line-height: 1.55;\n  color: var(--body);\n}\n\n\/* Loader doubles as a skeleton so the card does not jump when the form\n   is transplanted in. *\/\n.page-id-813 .serial__loader { display: grid; gap: 10px; }\n\n.page-id-813 .serial__loader svg {\n  animation: ads-obd-spin 0.8s linear infinite;\n  flex-shrink: 0;\n}\n\n.page-id-813 .serial__loader-text {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  font-size: 12.5px;\n  color: var(--muted);\n}\n\n.page-id-813 .serial__skeleton {\n  display: block;\n  border-radius: var(--r-md);\n  background: linear-gradient(90deg, #F5F8FA 0%, #E3EDF4 50%, #F5F8FA 100%);\n  background-size: 220% 100%;\n  animation: ads-obd-skeleton 1.3s ease-in-out infinite;\n}\n\n.page-id-813 .serial__skeleton--line   { height: 13px; width: 46%; border-radius: 4px; }\n.page-id-813 .serial__skeleton--input  { height: 50px; border: 1px solid var(--border); }\n.page-id-813 .serial__skeleton--button { height: 54px; margin-top: 6px; }\n\n.page-id-813 .serial__notes { display: grid; gap: 8px; }\n\n.page-id-813 .serial__note {\n  display: flex;\n  align-items: flex-start;\n  gap: 11px;\n  padding: 13px;\n  background: var(--canvas);\n  border: 1px solid var(--border);\n  border-radius: var(--r-md);\n}\n\n.page-id-813 .serial__note-icon {\n  flex-shrink: 0;\n  width: 18px;\n  height: 18px;\n  display: grid;\n  place-items: center;\n  color: var(--accent-green);\n}\n\n.page-id-813 .serial__note-icon svg { width: 16px; height: 16px; }\n.page-id-813 .serial__note-body     { display: grid; gap: 3px; }\n\n.page-id-813 .serial__note strong {\n  font-size: 12px;\n  font-weight: 800;\n  letter-spacing: 0.05em;\n  text-transform: uppercase;\n  color: var(--ink);\n}\n\n.page-id-813 .serial__note-body > span {\n  font-size: 12.5px;\n  line-height: 1.45;\n  color: var(--body);\n}\n\n.page-id-813 .serial__help {\n  display: flex;\n  align-items: flex-start;\n  gap: 8px;\n  margin: 0;\n  font-size: 12.5px;\n  font-weight: 500;\n  line-height: 1.5;\n  color: var(--muted);\n}\n\n.page-id-813 .serial__help svg  { color: var(--accent-dark); flex-shrink: 0; margin-top: 2px; }\n.page-id-813 .serial__help span { flex: 1; min-width: 0; }\n\n\/* \u2500\u2500 Seam: the CF7 form is moved into the card by JS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n   Strip the plugin wrapper's own spacing so the form reads as part of the\n   card rather than a block dropped inside it. *\/\n.page-id-813 .serial #ads-obd-slot { display: block; }\n\n.page-id-813 .serial .wpcf7,\n.page-id-813 .serial .wpcf7 form {\n  margin: 0 !important;\n  padding: 0 !important;\n  background: none !important;\n  border: 0 !important;\n  box-shadow: none !important;\n}\n\n.page-id-813 .serial .wpcf7 .screen-reader-response { display: none; }\n\n\/* \u2500\u2500 Feature cards \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .features__grid {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 20px;\n}\n\n.page-id-813 .features__card {\n  background: var(--white);\n  padding: 32px 26px;\n  display: grid;\n  gap: 14px;\n  align-content: start;\n  border: 1px solid var(--border);\n  border-radius: var(--r-lg);\n  box-shadow: var(--sh-sm);\n  transition: border-color 160ms ease, box-shadow 220ms ease, transform 220ms ease;\n}\n\n.page-id-813 .features__card:hover {\n  border-color: var(--accent);\n  box-shadow: 0 14px 34px rgba(2, 14, 35, 0.10);\n  transform: translateY(-3px);\n}\n\n.page-id-813 .features__icon {\n  width: 44px;\n  height: 44px;\n  border-radius: var(--r-md);\n  display: grid;\n  place-items: center;\n  color: var(--white);\n  background: var(--grad);\n}\n\n.page-id-813 .features__icon svg { width: 20px; height: 20px; }\n\n.page-id-813 .features__title {\n  font-size: 16px;\n  font-weight: 800;\n  line-height: 1.35;\n  color: var(--ink);\n}\n\n.page-id-813 .features__desc {\n  margin: 0;\n  font-size: 14px;\n  line-height: 1.6;\n  color: var(--body);\n}\n\n\/* \u2500\u2500 Requirement cards \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .req__grid {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 20px;\n}\n\n.page-id-813 .req__card {\n  background: var(--white);\n  padding: 28px 24px;\n  display: grid;\n  gap: 12px;\n  align-content: start;\n  border: 1px solid var(--border);\n  border-radius: var(--r-lg);\n  box-shadow: var(--sh-sm);\n  transition: border-color 160ms ease, box-shadow 220ms ease;\n}\n\n.page-id-813 .req__card:hover {\n  border-color: var(--accent);\n  box-shadow: 0 10px 26px rgba(2, 14, 35, 0.09);\n}\n\n.page-id-813 .req__num {\n  width: 36px;\n  height: 36px;\n  border-radius: var(--r-sm);\n  background: var(--accent-faint);\n  color: var(--accent-dark);\n  display: grid;\n  place-items: center;\n  font-size: 13px;\n  font-weight: 800;\n  letter-spacing: 0.04em;\n}\n\n.page-id-813 .req__title {\n  font-size: 15px;\n  font-weight: 800;\n  line-height: 1.3;\n  color: var(--ink);\n}\n\n.page-id-813 .req__text {\n  margin: 0;\n  font-size: 14px;\n  line-height: 1.55;\n  color: var(--body);\n}\n\n\/* \u2500\u2500 Process steps \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .steps__row {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  position: relative;\n}\n\n.page-id-813 .steps__row::before {\n  content: \"\";\n  position: absolute;\n  top: 19px;\n  left: calc(12.5% + 16px);\n  right: calc(12.5% + 16px);\n  height: 1px;\n  background: var(--border);\n}\n\n.page-id-813 .step {\n  padding: 0 16px 24px;\n  text-align: center;\n  position: relative;\n}\n\n.page-id-813 .step__circle {\n  width: 40px;\n  height: 40px;\n  border-radius: 50%;\n  border: 1px solid var(--border);\n  background: var(--white);\n  display: grid;\n  place-items: center;\n  margin: 0 auto 20px;\n  font-size: 13px;\n  font-weight: 800;\n  color: var(--ink);\n  position: relative;\n  z-index: 1;\n  transition: border-color 140ms ease, background 140ms ease, color 140ms ease;\n}\n\n.page-id-813 .step__circle--final svg { width: 16px; height: 16px; }\n\n.page-id-813 .step:hover .step__circle {\n  border-color: var(--accent);\n  background: var(--accent-faint);\n  color: var(--accent-dark);\n}\n\n.page-id-813 .step h3 { font-size: 15px; margin-bottom: 8px; }\n\n.page-id-813 .step p {\n  margin: 0;\n  font-size: 13.5px;\n  line-height: 1.55;\n  color: var(--body);\n}\n\n\/* \u2500\u2500 Mid-page CTA band \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .cta-band {\n  background: var(--grad-hero);\n  border-radius: var(--r-2xl);\n  padding: 52px 56px;\n  display: grid;\n  grid-template-columns: 1fr auto;\n  gap: 40px;\n  align-items: center;\n}\n\n.page-id-813 .cta-band__copy { display: grid; gap: 12px; }\n\n.page-id-813 .cta-band__actions {\n  display: flex;\n  gap: 12px;\n  flex-wrap: wrap;\n  flex-shrink: 0;\n  align-items: center;\n}\n\n.page-id-813 .cta-band h2 { font-size: clamp(23px, 2.8vw, 34px); color: var(--white); }\n\n.page-id-813 .cta-band .lead {\n  font-size: 15.5px;\n  max-width: 470px;\n  color: rgba(255, 255, 255, 0.85);\n}\n\n\/* \u2500\u2500 Trust blocks \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .trust__grid {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 1px;\n  background: var(--border);\n  border: 1px solid var(--border);\n  border-radius: var(--r-lg);\n  overflow: hidden;\n}\n\n.page-id-813 .trust__block {\n  background: var(--white);\n  padding: 34px 30px;\n  display: grid;\n  gap: 14px;\n  align-content: start;\n}\n\n.page-id-813 .trust__icon {\n  width: 40px;\n  height: 40px;\n  border: 1px solid var(--border);\n  border-radius: var(--r-md);\n  display: grid;\n  place-items: center;\n  color: var(--accent-dark);\n  background: var(--accent-faint);\n}\n\n.page-id-813 .trust__block h3 { font-size: 16px; }\n\n.page-id-813 .trust__block p {\n  margin: 0;\n  font-size: 14px;\n  line-height: 1.6;\n  color: var(--body);\n}\n\n\/* \u2500\u2500 Contact options \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .contact__options {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 20px;\n  max-width: 800px;\n  margin: 0 auto;\n}\n\n.page-id-813 .contact__option {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 8px;\n  padding: 30px 22px;\n  background: var(--white);\n  border: 1px solid var(--border);\n  border-radius: var(--r-lg);\n  box-shadow: var(--sh-sm);\n  text-decoration: none;\n  color: var(--ink);\n  transition: border-color 160ms ease, box-shadow 220ms ease, transform 220ms ease;\n}\n\n.page-id-813 .contact__option:hover {\n  border-color: var(--accent);\n  box-shadow: 0 14px 34px rgba(2, 14, 35, 0.12);\n  transform: translateY(-3px);\n}\n\n.page-id-813 .contact__option:focus-visible {\n  outline: 3px solid var(--accent);\n  outline-offset: 3px;\n}\n\n.page-id-813 .contact__icon {\n  display: grid;\n  place-items: center;\n  width: 52px;\n  height: 52px;\n  margin-bottom: 6px;\n  border-radius: var(--r-lg);\n  background: var(--ch-tint, var(--canvas));\n  color: var(--ch, var(--accent-dark));\n}\n\n.page-id-813 .contact__icon svg { width: 26px; height: 26px; }\n\n\/* channel hues are for recognition only; each clears 4.5:1 on its tint *\/\n.page-id-813 .contact__option--whatsapp { --ch: #128C7E; --ch-tint: #E6F5F2; }\n.page-id-813 .contact__option--telegram { --ch: #0088CC; --ch-tint: #E4F3FB; }\n.page-id-813 .contact__option--email    { --ch: #9C208D; --ch-tint: #F7E9F5; }\n\n.page-id-813 .contact__label {\n  font-size: 15px;\n  font-weight: 800;\n  color: var(--ink);\n}\n\n.page-id-813 .contact__hint {\n  font-size: 12.5px;\n  font-weight: 600;\n  color: var(--muted);\n  overflow-wrap: anywhere;\n}\n\n\/* \u2500\u2500 FAQ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .faq__list {\n  max-width: 800px;\n  margin: 0 auto;\n  border: 1px solid var(--border);\n  border-radius: var(--r-lg);\n  overflow: hidden;\n  background: var(--white);\n  box-shadow: var(--sh-sm);\n}\n\n.page-id-813 .faq__item { border-bottom: 1px solid var(--border); }\n.page-id-813 .faq__item:last-child { border-bottom: 0; }\n\n.page-id-813 .faq__btn {\n  display: flex;\n  width: 100%;\n  align-items: center;\n  justify-content: space-between;\n  gap: 16px;\n  padding: 20px 24px;\n  background: none;\n  border: 0;\n  cursor: pointer;\n  text-align: left;\n  font-family: inherit;\n  font-size: 15px;\n  font-weight: 700;\n  line-height: 1.45;\n  color: var(--ink);\n  transition: color 120ms ease, background 120ms ease;\n}\n\n.page-id-813 .faq__btn:hover { background: var(--canvas); color: var(--accent-dark); }\n\n.page-id-813 .faq__btn:focus-visible {\n  outline: 3px solid rgba(2, 135, 198, 0.6);\n  outline-offset: -3px;\n}\n\n.page-id-813 .faq__item.is-open .faq__btn { color: var(--accent-dark); }\n\n.page-id-813 .faq__icon {\n  width: 18px;\n  height: 18px;\n  flex-shrink: 0;\n  color: var(--muted);\n  transition: transform 220ms ease, color 130ms ease;\n}\n\n.page-id-813 .faq__item.is-open .faq__icon { transform: rotate(45deg); color: var(--accent); }\n\n.page-id-813 .faq__panel {\n  display: none;\n  padding: 0 24px 22px;\n  font-size: 14px;\n  line-height: 1.7;\n  color: var(--body);\n}\n\n.page-id-813 .faq__panel p { margin: 0; }\n.page-id-813 .faq__item.is-open .faq__panel { display: block; }\n\n\/* \u2500\u2500 Closing block \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .final__block {\n  text-align: center;\n  padding: 20px 0;\n}\n\n.page-id-813 .final__block h2 { margin-bottom: 14px; color: var(--white); }\n\n.page-id-813 .final__block .lead {\n  max-width: 560px;\n  margin: 0 auto 32px;\n  color: rgba(255, 255, 255, 0.85);\n}\n\n.page-id-813 .final__actions {\n  display: flex;\n  gap: 12px;\n  justify-content: center;\n  flex-wrap: wrap;\n}\n\n\/* \u2500\u2500 Mobile sticky CTA \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.page-id-813 .sticky-cta {\n  display: none;\n  position: fixed;\n  bottom: 0; left: 0; right: 0;\n  z-index: 80;\n  padding: 12px 16px;\n  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));\n  background: rgba(255, 255, 255, 0.97);\n  border-top: 1px solid var(--border);\n  backdrop-filter: blur(12px);\n  box-shadow: 0 -4px 20px rgba(2, 14, 35, 0.10);\n}\n\n\/* \u2500\u2500 Breakpoints \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n@media (max-width: 1040px) {\n  .page-id-813 .hero__grid      { grid-template-columns: 1fr; gap: 40px; }\n  .page-id-813 .hero .lead      { max-width: none; }\n  .page-id-813 .features__grid  { grid-template-columns: repeat(2, 1fr); }\n  .page-id-813 .req__grid       { grid-template-columns: repeat(2, 1fr); }\n  .page-id-813 .trust__grid     { grid-template-columns: 1fr; }\n  .page-id-813 .cta-band        { grid-template-columns: 1fr; padding: 40px; gap: 24px; }\n  .page-id-813 .cta-band .lead  { max-width: none; }\n}\n\n@media (max-width: 720px) {\n  .page-id-813 .wrap               { padding: 0 20px; }\n  .page-id-813 .section            { padding: 60px 0; }\n  .page-id-813 .hero               { padding: 48px 0 60px; }\n  .page-id-813 .hero__grid         { gap: 32px; }\n  .page-id-813 .section__head      { margin-bottom: 34px; }\n  .page-id-813 .steps__row         { grid-template-columns: 1fr 1fr; }\n  .page-id-813 .steps__row::before { display: none; }\n  .page-id-813 .features__grid     { grid-template-columns: 1fr; }\n  .page-id-813 .features__card     {\n    grid-template-columns: auto 1fr;\n    column-gap: 16px;\n    row-gap: 4px;\n    align-items: center;\n    padding: 22px 20px;\n  }\n  .page-id-813 .features__icon     { grid-row: 1 \/ span 2; width: 40px; height: 40px; }\n  .page-id-813 .features__title    { align-self: end; }\n  .page-id-813 .features__desc     { align-self: start; grid-column: 2; }\n  .page-id-813 .req__grid          { grid-template-columns: 1fr; }\n  .page-id-813 .contact__options   { grid-template-columns: 1fr; max-width: 380px; }\n  .page-id-813 .hero__actions      { flex-direction: column; align-items: stretch; }\n  .page-id-813 .hero__actions .btn { width: 100%; }\n  .page-id-813 .cta-band           { padding: 32px 24px; }\n  .page-id-813 .cta-band__actions  { flex-direction: column; align-items: stretch; }\n  .page-id-813 .cta-band__actions .btn,\n  .page-id-813 .final__actions .btn { width: 100%; }\n  .page-id-813 .final__actions     { flex-direction: column; align-items: stretch; }\n  .page-id-813 .serial__inner      { padding: 22px; }\n  .page-id-813 .faq__btn           { padding: 18px 18px; font-size: 14.5px; }\n  .page-id-813 .faq__panel         { padding: 0 18px 20px; }\n  \/* the sticky bar covers the page foot, so give the body room to clear it *\/\n  .page-id-813 .sticky-cta         { display: block; }\n  .page-id-813                     { padding-bottom: 76px; }\n}\n\n@media (max-width: 420px) {\n  .page-id-813 .steps__row      { grid-template-columns: 1fr; }\n  .page-id-813 .step            { padding: 0 0 22px; }\n  .page-id-813 .serial__inner   { padding: 18px; }\n  .page-id-813 .hero__bullet    { padding: 13px 14px; }\n}\n\n\/* \u2500\u2500 Motion \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n@keyframes ads-obd-spin { to { transform: rotate(360deg); } }\n@keyframes ads-obd-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }\n@keyframes ads-obd-skeleton { from { background-position: 160% 0; } to { background-position: -60% 0; } }\n\n.page-id-813 .hero__copy > * { animation: ads-obd-up 0.44s ease both; }\n.page-id-813 .hero__copy > *:nth-child(1) { animation-delay: 0.04s; }\n.page-id-813 .hero__copy > *:nth-child(2) { animation-delay: 0.10s; }\n.page-id-813 .hero__copy > *:nth-child(3) { animation-delay: 0.17s; }\n.page-id-813 .hero__copy > *:nth-child(4) { animation-delay: 0.23s; }\n.page-id-813 .hero__copy > *:nth-child(5) { animation-delay: 0.29s; }\n.page-id-813 .hero__copy > *:nth-child(6) { animation-delay: 0.35s; }\n.page-id-813 .serial { animation: ads-obd-up 0.44s 0.12s ease both; }\n\n.page-id-813.js-reveal .reveal {\n  opacity: 0;\n  transform: translateY(16px);\n  transition: opacity 0.5s ease, transform 0.5s ease;\n  will-change: opacity, transform;\n}\n\n.page-id-813.js-reveal .reveal.is-visible {\n  opacity: 1;\n  transform: none;\n  will-change: auto;\n}\n\n.page-id-813.js-reveal .reveal--stagger.is-visible > * { animation: ads-obd-up 0.5s ease both; }\n.page-id-813.js-reveal .reveal--stagger.is-visible > *:nth-child(1) { animation-delay: 0.00s; }\n.page-id-813.js-reveal .reveal--stagger.is-visible > *:nth-child(2) { animation-delay: 0.06s; }\n.page-id-813.js-reveal .reveal--stagger.is-visible > *:nth-child(3) { animation-delay: 0.12s; }\n.page-id-813.js-reveal .reveal--stagger.is-visible > *:nth-child(4) { animation-delay: 0.18s; }\n\n@media (prefers-reduced-motion: reduce) {\n  .page-id-813 .hero__copy > *,\n  .page-id-813 .serial,\n  .page-id-813 .reveal,\n  .page-id-813 .reveal--stagger.is-visible > * {\n    animation: none !important;\n    transition: none !important;\n    opacity: 1 !important;\n    transform: none !important;\n  }\n  .page-id-813 .serial__skeleton { animation: none !important; }\n  .page-id-813 .features__card:hover,\n  .page-id-813 .contact__option:hover { transform: none; }\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\njQuery(function ($) {\n\n      var $slot   = $('#ads-obd-slot');\n      var $loader = $('#ads-obd-loader');\n      var maxWait = 8000;\n      var interval = 80;\n      var elapsed  = 0;\n\n      function transplant() {\n        var $source = $('.wpcf7').first();\n\n        if ($source.length) {\n          $loader.remove();\n          $slot.append($source);\n          return;\n        }\n\n        elapsed += interval;\n        if (elapsed < maxWait) {\n          setTimeout(transplant, interval);\n        } else {\n          $loader.html('Request form unavailable. Please reload the page to try again.');\n        }\n      }\n\n      transplant();\n\n      $(document).on('click', '.faq__btn', function () {\n        var $item  = $(this).closest('.faq__item');\n        var isOpen = $item.toggleClass('is-open').hasClass('is-open');\n        $(this).attr('aria-expanded', String(isOpen));\n      });\n\n      var $sticky = $('#sticky-cta');\n      var $card   = $('#serial-section');\n\n      if (window.IntersectionObserver) {\n        if ($sticky.length) {\n          if ($card.length) {\n            new IntersectionObserver(function (entries) {\n              var vis = entries[0].isIntersecting;\n              $sticky.attr('aria-hidden', String(vis)).css('display', vis ? 'none' : 'block');\n            }, { threshold: 0.1 }).observe($card[0]);\n          }\n        }\n      }\n\n      var $reveals = $('.reveal');\n      if (window.IntersectionObserver) {\n        if ($reveals.length) {\n          $('body').addClass('js-reveal');\n\n          var observer = new IntersectionObserver(function (entries, obs) {\n            entries.forEach(function (entry) {\n              if (entry.isIntersecting) {\n                entry.target.classList.add('is-visible');\n                obs.unobserve(entry.target);\n              }\n            });\n          }, { threshold: 0.12, rootMargin: '0px 0px -8% 0px' });\n\n          $reveals.each(function () { observer.observe(this); });\n\n          setTimeout(function () { $reveals.addClass('is-visible'); }, 3000);\n        }\n      }\n\n    });\n<\/script>\n\n<section class=\"hero\" aria-labelledby=\"page-title\">\n  <div class=\"wrap\">\n    <div class=\"hero__grid\">\n\n      <div class=\"hero__copy\">\n        <span class=\"overline\">Free compatibility test<\/span>\n\n        <div class=\"hero__headline\">\n          <h1 id=\"page-title\">Not sure your device is compatible? Order a free OBD test.<\/h1>\n          <p class=\"lead\">Before you flash your OBD with Ads Pro, make sure the hardware can run it. Work through the four steps below, then request your free OBD test and we will confirm it works.<\/p>\n        <\/div>\n\n        <div class=\"hero__bullets\" role=\"list\" aria-label=\"Ads Pro setup steps\">\n          <div class=\"hero__bullet\" role=\"listitem\">\n            <span class=\"hero__bullet-tick\" aria-hidden=\"true\">1<\/span>\n            <span class=\"hero__bullet-text\">Your OBD must be flashed with the Ads Pro boot files. Without this step it will not be compatible with Ads Pro software.<\/span>\n          <\/div>\n          <div class=\"hero__bullet\" role=\"listitem\">\n            <span class=\"hero__bullet-tick\" aria-hidden=\"true\">2<\/span>\n            <span class=\"hero__bullet-text\"><a href=\"https:\/\/ads-diagnostic.pro\/product\/boot-from-ads\/\">Download the official Ads Pro boot files<\/a> and the detailed flashing guides.<\/span>\n          <\/div>\n          <div class=\"hero__bullet\" role=\"listitem\">\n            <span class=\"hero__bullet-tick\" aria-hidden=\"true\">3<\/span>\n            <span class=\"hero__bullet-text\">Follow the step by step instructions in the guide carefully so you do not damage your OBD.<\/span>\n          <\/div>\n          <div class=\"hero__bullet\" role=\"listitem\">\n            <span class=\"hero__bullet-tick\" aria-hidden=\"true\">4<\/span>\n            <span class=\"hero__bullet-text\">Once flashing is complete, <a href=\"#serial-section\">request your free Ads Pro test<\/a> using the form on this page.<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"hero__actions\">\n          <a class=\"btn btn--primary btn--lg\" href=\"#serial-section\">Get my free OBD test<\/a>\n          <a class=\"btn btn--outline btn--outline-on-dark btn--lg\" href=\"https:\/\/ads-diagnostic.pro\/product-category\/ads-subscriptions\/\">Buy a subscription<\/a>\n        <\/div>\n\n        <div class=\"hero__trust\">\n          <div class=\"hero__trust-row\">\n            <span class=\"hero__trust-item\">\n              <span class=\"hero__trust-icon hero__trust-icon--green\" aria-hidden=\"true\">\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"><\/path><\/svg>\n              <\/span>\n              No payment details needed\n            <\/span>\n            <span class=\"hero__trust-item\">\n              <span class=\"hero__trust-icon hero__trust-icon--blue\" aria-hidden=\"true\">\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"1\" y=\"4\" width=\"22\" height=\"16\" rx=\"2\" ry=\"2\"><\/rect><line x1=\"1\" y1=\"10\" x2=\"23\" y2=\"10\"><\/line><\/svg>\n              <\/span>\n              Credit card &amp; PayPal at checkout\n            <\/span>\n            <span class=\"hero__trust-item\">\n              <span class=\"hero__trust-icon hero__trust-icon--magenta\" aria-hidden=\"true\">\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"><\/path><polyline points=\"22,6 12,13 2,6\"><\/polyline><\/svg>\n              <\/span>\n              Delivered by email\n            <\/span>\n          <\/div>\n\n          <div class=\"hero__stars-row\">\n            <div class=\"hero__stars\" aria-label=\"Rated 5 out of 5 stars\">\n              <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"><\/path><\/svg>\n              <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"><\/path><\/svg>\n              <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"><\/path><\/svg>\n              <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"><\/path><\/svg>\n              <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"><\/path><\/svg>\n            <\/div>\n            <p class=\"hero__stars-label\">Trusted by 200,000+ customers worldwide<\/p>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <aside class=\"serial\" id=\"serial-section\" aria-labelledby=\"serial-heading\">\n        <div class=\"serial__inner\">\n          <div class=\"serial__head\">\n            <span class=\"serial__step\">Step 1: request your test<\/span>\n            <div class=\"serial__title\" id=\"serial-heading\">Order your free OBD test<\/div>\n            <p class=\"serial__sub\">Your OBD must already be flashed with the Ads Pro boot files. Enter your 12-digit serial number and email, and we will send your free test account.<\/p>\n          <\/div>\n\n          <div id=\"ads-obd-slot\">\n            <div id=\"ads-obd-loader\" class=\"serial__loader\" role=\"status\" aria-live=\"polite\">\n              <span class=\"serial__skeleton serial__skeleton--line\" aria-hidden=\"true\"><\/span>\n              <span class=\"serial__skeleton serial__skeleton--input\" aria-hidden=\"true\"><\/span>\n              <span class=\"serial__skeleton serial__skeleton--line\" aria-hidden=\"true\"><\/span>\n              <span class=\"serial__skeleton serial__skeleton--input\" aria-hidden=\"true\"><\/span>\n              <span class=\"serial__skeleton serial__skeleton--button\" aria-hidden=\"true\"><\/span>\n              <span class=\"serial__loader-text\">\n                <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M21 12a9 9 0 1 1-6.219-8.56\"><\/path><\/svg>\n                Loading the request form&hellip;\n              <\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"serial__notes\">\n            <div class=\"serial__note\">\n              <span class=\"serial__note-icon\" aria-hidden=\"true\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 2 3 6v6c0 5 3.8 9.2 9 10 5.2-.8 9-5 9-10V6l-9-4z\"><\/path><polyline points=\"9 12 11.5 14.5 16 10\"><\/polyline><\/svg>\n              <\/span>\n              <span class=\"serial__note-body\">\n                <strong>Need flashing files?<\/strong>\n                <span><a href=\"https:\/\/ads-diagnostic.pro\/product\/boot-from-ads\/\">Download the official Ads Pro boot files<\/a> and follow the flashing guide first.<\/span>\n              <\/span>\n            <\/div>\n            <div class=\"serial__note\">\n              <span class=\"serial__note-icon\" aria-hidden=\"true\">\n                <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M6.18 15.64a2.18 2.18 0 0 1-2.18-2.18V10.36a2.18 2.18 0 1 1 4.36 0v3.1a2.18 2.18 0 0 1-2.18 2.18zm11.64 0a2.18 2.18 0 0 1-2.18-2.18V10.36a2.18 2.18 0 1 1 4.36 0v3.1a2.18 2.18 0 0 1-2.18 2.18zM3.5 9.18h17v8.18A2.64 2.64 0 0 1 17.86 20H6.14A2.64 2.64 0 0 1 3.5 17.36V9.18zM6.68 4.1l-1.4-1.4a.45.45 0 0 1 .64-.64l1.54 1.54A7.36 7.36 0 0 1 12 2.5a7.36 7.36 0 0 1 4.54 1.1l1.54-1.54a.45.45 0 1 1 .64.64l-1.4 1.4A6.41 6.41 0 0 1 19 8.27H5A6.41 6.41 0 0 1 6.68 4.1zM9.5 6a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5zm5 0a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z\"><\/path><\/svg>\n              <\/span>\n              <span class=\"serial__note-body\">\n                <strong>Android only<\/strong>\n                <span>Android 7&ndash;13 and Android&nbsp;14 32-bit. Not available on iOS.<\/span>\n              <\/span>\n            <\/div>\n          <\/div>\n\n          <p class=\"serial__help\">\n            <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"><\/path><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"><\/line><\/svg>\n            <span>Questions? <a href=\"#faq\">Read the test FAQ<\/a> or <a href=\"#contact\">contact support<\/a>.<\/span>\n          <\/p>\n        <\/div>\n      <\/aside>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section section--canvas\" id=\"ads-features\" aria-label=\"Key benefits\">\n  <div class=\"wrap\">\n    <div class=\"features__grid reveal reveal--stagger\">\n      <article class=\"features__card\">\n        <div class=\"features__icon\" aria-hidden=\"true\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"><\/rect><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"><\/path><\/svg>\n        <\/div>\n        <h3 class=\"features__title\">Secure licensing<\/h3>\n        <p class=\"features__desc\">Every subscription is locked to your device serial number, so access cannot be shared or leaked. It stays yours alone.<\/p>\n      <\/article>\n      <article class=\"features__card\">\n        <div class=\"features__icon\" aria-hidden=\"true\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polygon points=\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\"><\/polygon><\/svg>\n        <\/div>\n        <h3 class=\"features__title\">Instant activation<\/h3>\n        <p class=\"features__desc\">The moment your payment clears, your subscription goes live automatically. No manual approval and no waiting around.<\/p>\n      <\/article>\n      <article class=\"features__card\">\n        <div class=\"features__icon\" aria-hidden=\"true\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"23 4 23 10 17 10\"><\/polyline><polyline points=\"1 20 1 14 7 14\"><\/polyline><path d=\"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15\"><\/path><\/svg>\n        <\/div>\n        <h3 class=\"features__title\">All updates included<\/h3>\n        <p class=\"features__desc\">We refresh the software database regularly, so the newest vehicle coverage and fixes reach you at no added cost.<\/p>\n      <\/article>\n      <article class=\"features__card\">\n        <div class=\"features__icon\" aria-hidden=\"true\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"><\/line><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"><\/path><\/svg>\n        <\/div>\n        <h3 class=\"features__title\">Worldwide coverage<\/h3>\n        <p class=\"features__desc\">Customers in 50+ countries rely on us, with several payment options and a multilingual interface to match.<\/p>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section\" aria-labelledby=\"req-title\">\n  <div class=\"wrap\">\n    <div class=\"section__head section__head--center reveal\">\n      <span class=\"overline\">Before you flash<\/span>\n      <h2 id=\"req-title\">Compatibility requirements<\/h2>\n      <p class=\"lead\">Ads Pro is upfront about what is needed. Confirm your setup before flashing your OBD, and see the <a href=\"#faq\">test FAQ<\/a> for scanner and activation details.<\/p>\n    <\/div>\n    <div class=\"req__grid reveal reveal--stagger\">\n      <article class=\"req__card\">\n        <span class=\"req__num\">01<\/span>\n        <h3 class=\"req__title\">Flashed OBD required<\/h3>\n        <p class=\"req__text\">Your OBD must be flashed with the official Ads Pro boot files to be compatible.<\/p>\n      <\/article>\n      <article class=\"req__card\">\n        <span class=\"req__num\">02<\/span>\n        <h3 class=\"req__title\">Android only<\/h3>\n        <p class=\"req__text\">Supports Android 7&ndash;13 and Android 14 32-bit. Not available on iOS or Windows.<\/p>\n      <\/article>\n      <article class=\"req__card\">\n        <span class=\"req__num\">03<\/span>\n        <h3 class=\"req__title\">12-digit serial<\/h3>\n        <p class=\"req__text\">Serial numbers must be 12 numeric digits, with no letters and no spaces.<\/p>\n      <\/article>\n      <article class=\"req__card\">\n        <span class=\"req__num\">04<\/span>\n        <h3 class=\"req__title\">Follow the guide<\/h3>\n        <p class=\"req__text\">Work through the flashing guide carefully so you do not damage your OBD.<\/p>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section section--canvas\" aria-labelledby=\"process-title\">\n  <div class=\"wrap\">\n    <div class=\"section__head section__head--center reveal\">\n      <span class=\"overline\">How it works<\/span>\n      <h2 id=\"process-title\">Four steps to your free test<\/h2>\n      <p class=\"lead\">From serial check to your free Ads Pro test account. Four steps, no payment details.<\/p>\n    <\/div>\n    <div class=\"steps__row reveal reveal--stagger\" role=\"list\">\n      <article class=\"step\" role=\"listitem\">\n        <div class=\"step__circle\" aria-hidden=\"true\">1<\/div>\n        <h3>Check your serial<\/h3>\n        <p>Confirm your 12-digit OBD serial number before you flash anything.<\/p>\n      <\/article>\n      <article class=\"step\" role=\"listitem\">\n        <div class=\"step__circle\" aria-hidden=\"true\">2<\/div>\n        <h3>Download boot files<\/h3>\n        <p>Get the <a href=\"https:\/\/ads-diagnostic.pro\/product\/boot-from-ads\/\">official Ads Pro boot files<\/a> and the detailed flashing guide.<\/p>\n      <\/article>\n      <article class=\"step\" role=\"listitem\">\n        <div class=\"step__circle\" aria-hidden=\"true\">3<\/div>\n        <h3>Flash your OBD<\/h3>\n        <p>Follow the step by step instructions carefully so you do not damage your OBD.<\/p>\n      <\/article>\n      <article class=\"step\" role=\"listitem\">\n        <div class=\"step__circle step__circle--final\" aria-hidden=\"true\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"><\/path><polyline points=\"22,6 12,13 2,6\"><\/polyline><\/svg>\n        <\/div>\n        <h3>Request your free test<\/h3>\n        <p>Once flashing is complete, <a href=\"#serial-section\">request your free Ads Pro test<\/a> through the form on this page.<\/p>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section\" aria-labelledby=\"trial-title\">\n  <div class=\"wrap\">\n    <div class=\"cta-band reveal\">\n      <div class=\"cta-band__copy\">\n        <h2 id=\"trial-title\">Not ready to commit?<br>Test your scanner first.<\/h2>\n        <p class=\"lead\">Request your free Ads Pro test account and confirm your flashed OBD works before you buy full access.<\/p>\n      <\/div>\n      <div class=\"cta-band__actions\">\n        <a class=\"btn btn--primary btn--lg\" href=\"#serial-section\">Get my free OBD test<\/a>\n        <a class=\"btn btn--outline btn--outline-on-dark btn--lg\" href=\"https:\/\/ads-diagnostic.pro\/product-category\/ads-subscriptions\/\">Buy a subscription<\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section section--canvas\" aria-labelledby=\"trust-title\">\n  <div class=\"wrap\">\n    <div class=\"section__head section__head--center reveal\">\n      <span class=\"overline\">Why Ads Pro<\/span>\n      <h2 id=\"trust-title\">What you can count on<\/h2>\n      <p class=\"lead\">Confirmed policies. No invented claims.<\/p>\n    <\/div>\n    <div class=\"trust__grid reveal reveal--stagger\">\n      <div class=\"trust__block\">\n        <div class=\"trust__icon\" aria-hidden=\"true\">\n          <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"1\" y=\"4\" width=\"22\" height=\"16\" rx=\"2\" ry=\"2\"><\/rect><line x1=\"1\" y1=\"10\" x2=\"23\" y2=\"10\"><\/line><\/svg>\n        <\/div>\n        <h3>Secure payment<\/h3>\n        <p>Credit card and PayPal accepted. Your payment details go straight through secure systems, and Ads Pro never stores your financial information.<\/p>\n      <\/div>\n      <div class=\"trust__block\">\n        <div class=\"trust__icon\" aria-hidden=\"true\">\n          <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"><\/path><polyline points=\"22,6 12,13 2,6\"><\/polyline><\/svg>\n        <\/div>\n        <h3>Email delivery<\/h3>\n        <p>Order confirmation is sent immediately after purchase. A follow-up email delivers your login credentials and step by step setup instructions.<\/p>\n      <\/div>\n      <div class=\"trust__block\">\n        <div class=\"trust__icon\" aria-hidden=\"true\">\n          <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"><\/path><polyline points=\"14 2 14 8 20 8\"><\/polyline><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"><\/line><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"><\/line><\/svg>\n        <\/div>\n        <h3>Clear terms<\/h3>\n        <p>Terms and conditions are linked before checkout, so the refund rules for digital goods are visible up front. <a class=\"trust__link\" href=\"https:\/\/ads-diagnostic.pro\/terms-and-conditions\/\">Read the terms<\/a><\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section\" id=\"faq\" aria-labelledby=\"faq-title\">\n  <div class=\"wrap\">\n    <div class=\"section__head section__head--center reveal\">\n      <span class=\"overline\">Test FAQ<\/span>\n      <h2 id=\"faq-title\">Free test &amp; scanner questions<\/h2>\n      <p class=\"lead\">Everything about the test version, supported scanners, and how activation works.<\/p>\n    <\/div>\n    <div class=\"faq__list reveal\">\n      <article class=\"faq__item\">\n        <button class=\"faq__btn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-1-panel\">\n          <span>Which scanners must be flashed for Ads Pro?<\/span>\n          <svg class=\"faq__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"><\/line><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><\/svg>\n        <\/button>\n        <div class=\"faq__panel\" id=\"faq-1-panel\" role=\"region\">\n          <p>For Launch EasyDiag 2.0, EasyDiag 3.0, EasyDiag Plus, Golo 3, Golo 4, Golo 5 (Vpecker), M-Diag Lite, M-Diag Pro, M-Diag Mini, M-Diag Plus, DBScar (older versions), DBScar 3, DBScar 5, DBScar 7, HD3 Module, SmartLink C, SmartLink B, eDiag, eDiag Mini, eDiag Plus, and ThinkDiag 2 (Kingbolen) scanners, you will need to flash the scanner via STlink or Jlink programmers if it has not been flashed for boot before.<\/p>\n        <\/div>\n      <\/article>\n      <article class=\"faq__item\">\n        <button class=\"faq__btn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-2-panel\">\n          <span>My serial number has letters in it. Can I activate?<\/span>\n          <svg class=\"faq__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"><\/line><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><\/svg>\n        <\/button>\n        <div class=\"faq__panel\" id=\"faq-2-panel\" role=\"region\">\n          <p>Activation is available for scanners with numbers in the serial number only. Activation for scanners with letters is not possible.<\/p>\n        <\/div>\n      <\/article>\n      <article class=\"faq__item\">\n        <button class=\"faq__btn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-3-panel\">\n          <span>My scanner has never been activated in Ads Pro. What do I need?<\/span>\n          <svg class=\"faq__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"><\/line><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><\/svg>\n        <\/button>\n        <div class=\"faq__panel\" id=\"faq-3-panel\" role=\"region\">\n          <p>For scanners that have no previously activated brands, an official brand or EOBD is required.<\/p>\n        <\/div>\n      <\/article>\n      <article class=\"faq__item\">\n        <button class=\"faq__btn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-4-panel\">\n          <span>How do I get a test version?<\/span>\n          <svg class=\"faq__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"><\/line><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><\/svg>\n        <\/button>\n        <div class=\"faq__panel\" id=\"faq-4-panel\" role=\"region\">\n          <p>To activate the test version you need the scanner number and an email address for communication. The application and your account access (login and password) are sent to your email, so check the spam folder because it sometimes lands there. Without confirmation, the test version will not be sent.<\/p>\n        <\/div>\n      <\/article>\n      <article class=\"faq__item\">\n        <button class=\"faq__btn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-5-panel\">\n          <span>What is included in the test version?<\/span>\n          <svg class=\"faq__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"><\/line><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><\/svg>\n        <\/button>\n        <div class=\"faq__panel\" id=\"faq-5-panel\" role=\"region\">\n          <p>For verification you will be sent EOBD2. In the \"brand you will connect to\" field, specify the brand so we can check that car's support for EOBD2 protocols. This module is enough to confirm the scanner works before you purchase brands.<\/p>\n        <\/div>\n      <\/article>\n      <article class=\"faq__item\">\n        <button class=\"faq__btn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-6-panel\">\n          <span>How do I check the test version?<\/span>\n          <svg class=\"faq__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"><\/line><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><\/svg>\n        <\/button>\n        <div class=\"faq__panel\" id=\"faq-6-panel\" role=\"region\">\n          <p>After signing in to the application you can download the necessary files and modules and check functionality. The validity period and stamp download is 1 day after the data is sent.<\/p>\n        <\/div>\n      <\/article>\n      <article class=\"faq__item\">\n        <button class=\"faq__btn\" type=\"button\" aria-expanded=\"false\" aria-controls=\"faq-7-panel\">\n          <span>Can I re-order the test version?<\/span>\n          <svg class=\"faq__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"><\/line><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><\/svg>\n        <\/button>\n        <div class=\"faq__panel\" id=\"faq-7-panel\" role=\"region\">\n          <p>If you have previously ordered a test stamp, including on a third-party resource, activation of the test stamp will be denied.<\/p>\n        <\/div>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section section--canvas\" id=\"contact\" aria-labelledby=\"contact-title\">\n  <div class=\"wrap\">\n    <div class=\"section__head section__head--center reveal\">\n      <span class=\"overline\">Need a hand?<\/span>\n      <h2 id=\"contact-title\">Get help with your OBD test<\/h2>\n      <p class=\"lead\">Stuck on flashing, the serial check, or the test request? Message us on whichever app you already use and our support team will help you out.<\/p>\n    <\/div>\n    <div class=\"contact__options reveal reveal--stagger\">\n      <a class=\"contact__option contact__option--whatsapp\" href=\"https:\/\/wa.me\/31647604324\" target=\"_blank\" rel=\"noopener\">\n        <span class=\"contact__icon\" aria-hidden=\"true\">\n          <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413Z\"><\/path><\/svg>\n        <\/span>\n        <span class=\"contact__label\">WhatsApp<\/span>\n        <span class=\"contact__hint\">+31 6 47604324<\/span>\n      <\/a>\n      <a class=\"contact__option contact__option--telegram\" href=\"https:\/\/t.me\/Diagnosticsupport\" target=\"_blank\" rel=\"noopener\">\n        <span class=\"contact__icon\" aria-hidden=\"true\">\n          <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z\"><\/path><\/svg>\n        <\/span>\n        <span class=\"contact__label\">Telegram<\/span>\n        <span class=\"contact__hint\">@Diagnosticsupport<\/span>\n      <\/a>\n      <a class=\"contact__option contact__option--email\" href=\"mailto:x.eudiagnostic@gmail.com\">\n        <span class=\"contact__icon\" aria-hidden=\"true\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\"><\/rect><polyline points=\"2.5 6.5 12 13 21.5 6.5\"><\/polyline><\/svg>\n        <\/span>\n        <span class=\"contact__label\">Email<\/span>\n        <span class=\"contact__hint\">x.eudiagnostic@gmail.com<\/span>\n      <\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section section--dark\" aria-labelledby=\"final-title\">\n  <div class=\"wrap\">\n    <div class=\"final__block reveal\">\n      <h2 id=\"final-title\">Flash, test, and activate Ads Pro today<\/h2>\n      <p class=\"lead\">Flash your OBD with the Ads Pro boot files, request your free test account, then buy your subscription. Secure payment by credit card or PayPal.<\/p>\n      <div class=\"final__actions\">\n        <a class=\"btn btn--primary btn--lg\" href=\"#serial-section\">Get my free OBD test<\/a>\n        <a class=\"btn btn--outline btn--outline-on-dark btn--lg\" href=\"https:\/\/ads-diagnostic.pro\/product-category\/ads-subscriptions\/\">Buy a subscription<\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<div class=\"sticky-cta\" id=\"sticky-cta\" aria-hidden=\"true\">\n  <a class=\"btn btn--primary btn--full\" href=\"#serial-section\">Get my free OBD test<\/a>\n<\/div>\n<\/div><\/div>\n\n<\/div><\/div>\n\n\n<div class=\"wp-block-contact-form-7-contact-form-selector\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f814-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"814\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/it\/wp-json\/wp\/v2\/pages\/813#wpcf7-f814-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"814\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.7\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f814-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<style>\n.page-id-813 .adsf {\n --accent: var(--ads-blue, #0287C6);\n --accent-dark: var(--ads-blue-dark, #0B5FA5);\n --accent-faint: var(--ads-tint, #E9F5FB);\n --ink: var(--ads-ink, #0E0E12);\n --body: var(--ads-slate, #4B5563);\n --muted: #5B6675;\n --white: #FFFFFF;\n --canvas: var(--ads-surface, #F5F8FA);\n --border: var(--ads-border, #CFE1EA);\n --red: #B91C1C;\n --r-md: var(--ads-radius, 10px);\n --grad-cta: var(--ads-gradient-cta, linear-gradient(100deg, #9C208D 0%, #0B5FA5 100%));\n\n color: var(--ink);\n max-width: 920px;\n margin: 0 auto;\n}\n\n.page-id-813 .adsf *,\n.page-id-813 .adsf *::before,\n.page-id-813 .adsf *::after { box-sizing: border-box; }\n\n\/* \u2500\u2500 Field grid \u2500\u2500 *\/\n.page-id-813 .adsf__grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 18px 20px;\n}\n\n\/* Field group: just label + control stacked. No card chrome. *\/\n.page-id-813 .adsf__card {\n display: flex;\n flex-direction: column;\n gap: 8px;\n background: none;\n border: 0;\n border-radius: 0;\n box-shadow: none;\n padding: 0;\n margin: 0;\n min-width: 0;\n}\n\n.page-id-813 .adsf__full { grid-column: 1 \/ -1; }\n\n\/* Conditional fields start hidden; .is-open reveals them *\/\n.page-id-813 .adsf__cond { display: none; }\n.page-id-813 .adsf__cond.is-open { display: flex; }\n\n\/* \u2500\u2500 Labels \u2500\u2500\n Reserve two lines and sit the text on the bottom of that band. A grid row\n is as tall as its tallest card, so without this a label that wraps\n (\"Which software did you use it with before?\") pushes its own control down\n while the control beside it stays at the top of the row. With it, both\n controls in a row start on the same line. The acceptance label is excluded:\n it is a checkbox row, not a field label. *\/\n.page-id-813 .adsf__card > label:not(.adsf__gdpr),\n.page-id-813 .adsf__label {\n display: flex;\n align-items: flex-end;\n min-height: 2.7em;\n font-size: 13px;\n font-weight: 600;\n line-height: 1.35;\n color: var(--ink);\n}\n\n\/* CF7 wraps every control in a span; it has to fill the column so the control\n inside lines up with its neighbour. *\/\n.page-id-813 .adsf .wpcf7-form-control-wrap { display: block; width: 100%; }\n\n\/* \u2500\u2500 Inputs \/ selects (target the elements CF7 renders) \u2500\u2500\n Filled field, single hairline border. No nested\/outer card border. *\/\n.page-id-813 .adsf input[type=\"text\"],\n.page-id-813 .adsf input[type=\"email\"],\n.page-id-813 .adsf select {\n width: 100%;\n height: 50px;\n padding: 0 16px;\n border: 1px solid var(--border);\n border-radius: var(--r-md);\n background: var(--canvas);\n color: var(--ink);\n font-family: inherit;\n font-size: 14px;\n font-weight: 500;\n outline: none;\n transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.page-id-813 .adsf select {\n background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'\/%3E%3C\/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 14px center;\n padding-right: 40px;\n cursor: pointer;\n}\n\n.page-id-813 .adsf input[type=\"text\"]:focus,\n.page-id-813 .adsf input[type=\"email\"]:focus,\n.page-id-813 .adsf select:focus {\n border-color: var(--accent);\n box-shadow: 0 0 0 3px rgba(2, 135, 198, 0.2);\n background: var(--white);\n}\n\n.page-id-813 .adsf input::placeholder { color: var(--muted); font-weight: 400; }\n\n\/* \u2500\u2500 Yes \/ No radio pills \u2500\u2500 *\/\n.page-id-813 .adsf__radio .wpcf7-radio { display: flex; gap: 10px; flex-wrap: wrap; }\n.page-id-813 .adsf__radio .wpcf7-list-item { margin: 0; }\n\n\/* 50px to match the field height, so a pill row and an input row sit level *\/\n.page-id-813 .adsf__radio .wpcf7-list-item label {\n display: inline-flex;\n align-items: center;\n gap: 9px;\n height: 50px;\n padding: 0 20px;\n border: 1px solid var(--border);\n border-radius: var(--r-md);\n background: var(--canvas);\n font-size: 14px;\n font-weight: 600;\n color: var(--body);\n cursor: pointer;\n transition: border-color 140ms ease, background 140ms ease, color 140ms ease;\n}\n\n.page-id-813 .adsf__radio .wpcf7-list-item label:hover {\n border-color: var(--accent);\n background: var(--accent-faint);\n color: var(--ink);\n}\n\n\/* Selected state, so the answer reads at a glance and not just from the dot.\n Browsers without :has() simply keep the resting style. *\/\n.page-id-813 .adsf__radio .wpcf7-list-item label:has(input:checked) {\n border-color: var(--accent);\n background: var(--accent-faint);\n color: var(--accent-dark);\n}\n\n.page-id-813 .adsf__radio input[type=\"radio\"] {\n accent-color: var(--accent);\n width: 16px;\n height: 16px;\n cursor: pointer;\n}\n\n\/* \u2500\u2500 GDPR acceptance \u2500\u2500 *\/\n.page-id-813 .adsf__gdpr {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n font-size: 13px;\n font-weight: 500;\n line-height: 1.5;\n color: var(--body);\n cursor: pointer;\n}\n\n.page-id-813 .adsf__gdpr input[type=\"checkbox\"] {\n accent-color: var(--accent);\n width: 18px;\n height: 18px;\n margin-top: 1px;\n cursor: pointer;\n flex-shrink: 0;\n}\n\n\/* \u2500\u2500 Actions row (footer: gdpr + submit + social) \u2500\u2500 *\/\n.page-id-813 .adsf__actions {\n gap: 16px;\n margin-top: 6px;\n padding-top: 22px;\n border-top: 1px solid var(--border);\n}\n\n.page-id-813 .adsf .adsf__btn,\n.page-id-813 .adsf input[type=\"submit\"] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 52px;\n padding: 0 32px;\n background: var(--grad-cta);\n background-size: 180% 100%;\n background-position: 0% 50%;\n color: var(--white);\n border: none;\n border-radius: var(--r-md);\n font-family: inherit;\n font-size: 13.5px;\n font-weight: 800;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n line-height: 1;\n cursor: pointer;\n transition: background-position 280ms ease, box-shadow 200ms ease, transform 80ms ease;\n box-shadow: 0 10px 26px rgba(156, 32, 141, 0.26);\n width: fit-content;\n}\n\n.page-id-813 .adsf input[type=\"submit\"]:hover {\n background-position: 100% 50%;\n box-shadow: 0 14px 32px rgba(156, 32, 141, 0.34);\n}\n\n.page-id-813 .adsf input[type=\"submit\"]:active { transform: translateY(1px); }\n\n.page-id-813 .adsf input[type=\"submit\"]:focus-visible {\n outline: 3px solid rgba(2, 135, 198, 0.6);\n outline-offset: 2px;\n}\n\n.page-id-813 .adsf input[type=\"submit\"]:disabled { opacity: 0.6; cursor: default; }\n\n\/* CF7 ships the spinner as an always-rendered inline-block with 24px of side\n margin. Inside this column that reserved a dead row between the button and\n the confirm line, so it only takes space while the form is actually posting. *\/\n.page-id-813 .adsf .wpcf7-spinner { display: none; margin: 0; }\n.page-id-813 .wpcf7-form.submitting .adsf .wpcf7-spinner { display: block; margin: 0; }\n\n\/* \u2500\u2500 \"confirm via\" social row \u2500\u2500 *\/\n.page-id-813 .adsf__social {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n margin-top: 4px;\n}\n\n.page-id-813 .adsf__social > span { font-size: 13px; color: var(--body); font-weight: 500; }\n\n\/* WhatsApp green, darkened: white on the brand #25D366 is 1.98:1 and\n unreadable. #0F7A6C keeps the cue and clears AA at 5.2:1. *\/\n.page-id-813 .adsf__social a {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 9px 16px;\n border-radius: var(--r-md);\n background: #0F7A6C;\n color: var(--white);\n text-decoration: none;\n font-size: 13px;\n font-weight: 700;\n transition: filter 130ms ease, transform 80ms ease;\n}\n\n.page-id-813 .adsf__social a:hover { filter: brightness(0.93); color: var(--white); }\n.page-id-813 .adsf__social a:active { transform: translateY(1px); }\n.page-id-813 .adsf__social a svg { width: 18px; height: 18px; flex-shrink: 0; }\n\n\/* \u2500\u2500 CF7 system messages \u2500\u2500 *\/\n.page-id-813 .adsf .wpcf7-not-valid-tip {\n color: var(--red);\n font-size: 12px;\n font-weight: 600;\n line-height: 1.4;\n margin-top: 4px;\n}\n\n.page-id-813 .adsf .wpcf7-not-valid { border-color: var(--red) !important; }\n\n.page-id-813 .adsf .wpcf7-response-output {\n grid-column: 1 \/ -1;\n border-radius: var(--r-md) !important;\n border-width: 1px !important;\n padding: 12px 16px !important;\n font-size: 13.5px;\n line-height: 1.5;\n margin: 8px 0 0 !important;\n}\n\n\/* \u2500\u2500 Responsive \u2500\u2500 *\/\n@media (max-width: 720px) {\n .page-id-813 .adsf__grid { grid-template-columns: 1fr; }\n \/* one column: labels never share a row, so the reserved band is dead space *\/\n .page-id-813 .adsf__card > label:not(.adsf__gdpr),\n .page-id-813 .adsf__label { min-height: 0; }\n .page-id-813 .adsf .adsf__btn,\n .page-id-813 .adsf input[type=\"submit\"] { width: 100%; }\n .page-id-813 .adsf__social a { width: 100%; justify-content: center; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .page-id-813 .adsf input[type=\"submit\"],\n .page-id-813 .adsf__social a { transition: none !important; }\n}\n<\/style>\n<div class=\"adsf\">\n\t<div class=\"adsf__grid\">\n\t\t<div class=\"adsf__card\">\n\t\t\t<p><label>Scanner serial number (SN)*<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"serial\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Serial number of the scanner\" value=\"\" type=\"text\" name=\"serial\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"adsf__card\">\n\t\t\t<p><label>Email*<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Your email for communication\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"adsf__card\">\n\t\t\t<p><label>The brand you will connect to<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"brand\"><select class=\"wpcf7-form-control wpcf7-select wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" name=\"brand\"><option value=\"\">Please choose an option<\/option><option value=\"EOBD2\">EOBD2<\/option><option value=\"DEMO\">DEMO<\/option><option value=\"ABARTH\">ABARTH<\/option><option value=\"ACURA\">ACURA<\/option><option value=\"ALFA ROMEO\">ALFA ROMEO<\/option><option value=\"ASTON MARTIN\">ASTON MARTIN<\/option><option value=\"AUDI\">AUDI<\/option><option value=\"BAIC\">BAIC<\/option><option value=\"BENZ\">BENZ<\/option><option value=\"BMW\">BMW<\/option><option value=\"BUGATTI\">BUGATTI<\/option><option value=\"BUICK\">BUICK<\/option><option value=\"CADILLAC\">CADILLAC<\/option><option value=\"CHANGAN\">CHANGAN<\/option><option value=\"CHERY\">CHERY<\/option><option value=\"CHEVROLET\">CHEVROLET<\/option><option value=\"CHRYSLER\">CHRYSLER<\/option><option value=\"CITROEN\">CITROEN<\/option><option value=\"DACIA\">DACIA<\/option><option value=\"DAEWOO\">DAEWOO<\/option><option value=\"DAIHATSU\">DAIHATSU<\/option><option value=\"DODGE\">DODGE<\/option><option value=\"DS\">DS<\/option><option value=\"FERRARI\">FERRARI<\/option><option value=\"FIAT\">FIAT<\/option><option value=\"FORD\">FORD<\/option><option value=\"GEELY\">GEELY<\/option><option value=\"GMC\">GMC<\/option><option value=\"GREAT WALL\">GREAT WALL<\/option><option value=\"HAFEI\">HAFEI<\/option><option value=\"HAIMA\">HAIMA<\/option><option value=\"HINO\">HINO<\/option><option value=\"HOLDEN\">HOLDEN<\/option><option value=\"HONDA\">HONDA<\/option><option value=\"HUMMER\">HUMMER<\/option><option value=\"HYUNDAI\">HYUNDAI<\/option><option value=\"INFINITI\">INFINITI<\/option><option value=\"ISUZU\">ISUZU<\/option><option value=\"IVECO\">IVECO<\/option><option value=\"JAC\">JAC<\/option><option value=\"JAGUAR\">JAGUAR<\/option><option value=\"JEEP\">JEEP<\/option><option value=\"KIA\">KIA<\/option><option value=\"LADA\">LADA<\/option><option value=\"LAMBORGHINI\">LAMBORGHINI<\/option><option value=\"LANCIA\">LANCIA<\/option><option value=\"LANDROVER\">LANDROVER<\/option><option value=\"LEXUS\">LEXUS<\/option><option value=\"LINCOLN\">LINCOLN<\/option><option value=\"LOTUS\">LOTUS<\/option><option value=\"MASERATI\">MASERATI<\/option><option value=\"MAYBACH\">MAYBACH<\/option><option value=\"MAZDA\">MAZDA<\/option><option value=\"MERCEDES\">MERCEDES<\/option><option value=\"MG\">MG<\/option><option value=\"MINI\">MINI<\/option><option value=\"MITSUBISHI\">MITSUBISHI<\/option><option value=\"NISSAN\">NISSAN<\/option><option value=\"OPEL\">OPEL<\/option><option value=\"PEUGEOT\">PEUGEOT<\/option><option value=\"PORSCHE\">PORSCHE<\/option><option value=\"PROTON\">PROTON<\/option><option value=\"RENAULT\">RENAULT<\/option><option value=\"ROLLS ROYCE\">ROLLS ROYCE<\/option><option value=\"ROVER\">ROVER<\/option><option value=\"SAAB\">SAAB<\/option><option value=\"SATURN\">SATURN<\/option><option value=\"SCION\">SCION<\/option><option value=\"SEAT\">SEAT<\/option><option value=\"SKODA\">SKODA<\/option><option value=\"SMART\">SMART<\/option><option value=\"SSANGYONG\">SSANGYONG<\/option><option value=\"SUBARU\">SUBARU<\/option><option value=\"SUZUKI\">SUZUKI<\/option><option value=\"TESLA\">TESLA<\/option><option value=\"TOYOTA\">TOYOTA<\/option><option value=\"VAUXHALL\">VAUXHALL<\/option><option value=\"VOLVO\">VOLVO<\/option><option value=\"VW\">VW<\/option><option value=\"ZOTYE\">ZOTYE<\/option><\/select><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"adsf__card\">\n\t\t\t<p><label>Scanner*<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"scanner\"><select class=\"wpcf7-form-control wpcf7-select wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" name=\"scanner\"><option value=\"\">Please choose an option<\/option><option value=\"Easydiag\">Easydiag<\/option><option value=\"Easydiag 2.0\">Easydiag 2.0<\/option><option value=\"Easydiag 3.0\">Easydiag 3.0<\/option><option value=\"DBScar 1(I)\">DBScar 1(I)<\/option><option value=\"DBScar 2(II)\">DBScar 2(II)<\/option><option value=\"DBScar 3(III)\">DBScar 3(III)<\/option><option value=\"DBScar 4(IV)\">DBScar 4(IV)<\/option><option value=\"DBScar 5(V)\">DBScar 5(V)<\/option><option value=\"DBScar 7(VII)\">DBScar 7(VII)<\/option><option value=\"DIAGUN 3(III)\">DIAGUN 3(III)<\/option><option value=\"DIAGUN 4(IV)\">DIAGUN 4(IV)<\/option><option value=\"Golo Easydiag\">Golo Easydiag<\/option><option value=\"Golo 3.0\">Golo 3.0<\/option><option value=\"Golo CarCare1\">Golo CarCare1<\/option><option value=\"Golo CarCare3\">Golo CarCare3<\/option><option value=\"X431 PAD 2(II)\">X431 PAD 2(II)<\/option><option value=\"X431 PAD 3(III)\">X431 PAD 3(III)<\/option><option value=\"X431 PAD 5(V)\">X431 PAD 5(V)<\/option><option value=\"X431 PAD 7(VII)\">X431 PAD 7(VII)<\/option><option value=\"X431 PRO 3\">X431 PRO 3<\/option><option value=\"X431 PRO 5\">X431 PRO 5<\/option><option value=\"X431 PRO IMMO PRO\">X431 PRO IMMO PRO<\/option><option value=\"X431 PRO V5.0 + X-PROG3\">X431 PRO V5.0 + X-PROG3<\/option><option value=\"X431 PRO GT\">X431 PRO GT<\/option><option value=\"X431 PRO Lite\">X431 PRO Lite<\/option><option value=\"X431 PRO Lite 2.0\">X431 PRO Lite 2.0<\/option><option value=\"X431 PRO Lite 3.0\">X431 PRO Lite 3.0<\/option><option value=\"X431 HD BOX 1(I)\">X431 HD BOX 1(I)<\/option><option value=\"X431 HD BOX 2(II)\">X431 HD BOX 2(II)<\/option><option value=\"X431 HD BOX 3(III)\">X431 HD BOX 3(III)<\/option><option value=\"CRP329\">CRP329<\/option><option value=\"CRP339\">CRP339<\/option><option value=\"CRP919\">CRP919<\/option><option value=\"iDiag\">iDiag<\/option><option value=\"iCarScan\">iCarScan<\/option><option value=\"Smartlink\">Smartlink<\/option><option value=\"Mucar BT200\">Mucar BT200<\/option><option value=\"Thinkdiag Mini\">Thinkdiag Mini<\/option><option value=\"Thinkdiag 2\">Thinkdiag 2<\/option><option value=\"Thinkcar Pro\">Thinkcar Pro<\/option><option value=\"Thinksafe\">Thinksafe<\/option><\/select><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\n <!-- Used this OBD before? Yes \/ No -->\n\t\t<div class=\"adsf__card adsf__radio\" data-used-before>\n\t\t\t<p><label class=\"adsf__label\">Did you use this OBD before?*<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"used-before\"><span class=\"wpcf7-form-control wpcf7-radio\"><span class=\"wpcf7-list-item first\"><label><input type=\"radio\" name=\"used-before\" value=\"Yes\" \/><span class=\"wpcf7-list-item-label\">Yes<\/span><\/label><\/span><span class=\"wpcf7-list-item last\"><label><input type=\"radio\" name=\"used-before\" value=\"No\" checked=\"checked\" \/><span class=\"wpcf7-list-item-label\">No<\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\n <!-- Conditional: which software, shown only when \"Yes\" -->\n\t\t<div class=\"adsf__card adsf__cond\" data-cond=\"used-brand\">\n\t\t\t<p><label class=\"adsf__label\">Which software did you use it with before?<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"used-brand\"><select class=\"wpcf7-form-control wpcf7-select\" aria-invalid=\"false\" name=\"used-brand\"><option value=\"\">&#8212;Please choose an option&#8212;<\/option><option value=\"Launch\">Launch<\/option><option value=\"Ads Pro\">Ads Pro<\/option><option value=\"Diagzone\">Diagzone<\/option><option value=\"Xpro5\">Xpro5<\/option><option value=\"lvs.pro\">lvs.pro<\/option><option value=\"thinkdiag\">thinkdiag<\/option><option value=\"Other\">Other<\/option><\/select><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\n <!-- Conditional: free text, shown only when \"Other\" -->\n\t\t<div class=\"adsf__card adsf__cond\" data-cond=\"used-brand-other\">\n\t\t\t<p><label class=\"adsf__label\">Please specify the software<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"used-brand-other\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" aria-invalid=\"false\" placeholder=\"Type the software name\" value=\"\" type=\"text\" name=\"used-brand-other\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"adsf__card adsf__full\">\n\t\t\t<p><label>Reason for request<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"reason\"><select class=\"wpcf7-form-control wpcf7-select wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" name=\"reason\"><option value=\"Need to confirm compatibility with my OBD hardware\">Need to confirm compatibility with my OBD hardware<\/option><option value=\"Want to test Ads Pro before purchase\">Want to test Ads Pro before purchase<\/option><option value=\"Just flashed my OBD and want to check if it works\">Just flashed my OBD and want to check if it works<\/option><option value=\"Just curious, want to try Ads Pro for learning\">Just curious, want to try Ads Pro for learning<\/option><\/select><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"adsf__card adsf__full adsf__actions\">\n\t\t\t<p><label class=\"adsf__gdpr\"><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"gdpr\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"gdpr\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">I agree that you process my data to arrange a trial.<\/span><\/label><\/span><\/span><\/span><br \/>\n<\/label>\n\t\t\t<\/p>\n\t\t\t<p><div class=\"cf7-cf-turnstile\" style=\"margin-top: 0px; margin-bottom: -15px;\"> <div id=\"cf-turnstile-cf7-2075703403\" class=\"cf-turnstile\" data-sitekey=\"0x4AAAAAADcZZ0mR7D4sgJXL\" data-theme=\"light\" data-language=\"auto\" data-size=\"normal\" data-retry=\"auto\" data-retry-interval=\"1000\" data-refresh-expired=\"auto\" data-refresh-timeout=\"auto\" data-action=\"contact-form-7\" data-callback=\"turnstileCF7Callback\" data-appearance=\"always\"><\/div> <script data-cfasync=\"false\">(window.cfturnstileQueue=window.cfturnstileQueue||[]).push(\"-cf7-2075703403\");if(window.cfturnstileRender)window.cfturnstileRender();<\/script> <br class=\"cf-turnstile-br cf-turnstile-br-cf7-2075703403\"> <style>#cf-turnstile-cf7-2075703403 { margin-left: -15px; }<\/style> <script>document.addEventListener(\"DOMContentLoaded\",function(){document.querySelectorAll('.wpcf7-form').forEach(function(e){e.addEventListener('submit',function(){if(document.getElementById('cf-turnstile-cf7-2075703403')){setTimeout(function(){turnstile.reset('#cf-turnstile-cf7-2075703403');},1000)}})})});<\/script> <\/div><br\/><input class=\"wpcf7-form-control wpcf7-submit has-spinner adsf__btn\" type=\"submit\" value=\"Send\" \/>\n\t\t\t<\/p>\n\t\t\t<div class=\"adsf__social\">\n\t\t\t\t<p><span>After sending, confirm via<\/span><br \/>\n<a href=\"https:\/\/wa.me\/31647604324\" target=\"_blank\" rel=\"noopener\" aria-label=\"WhatsApp\"><br \/>\n<svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\">\n            <path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413Z\"><\/path>\n          <\/svg><br \/>\n<span>WhatsApp<\/span><br \/>\n<\/a>\n\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"page-url\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"user-agent\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"user-ip\" \/>\n<\/div>\n<p><script>\n (function () {\n var syncFn = null; \/\/ exposed so post-submit reset can re-collapse fields\n\n \/\/ Scope to the form wrapper. Re-run safe if injected\/moved by jQuery.\n function initAdsForm() {\n var root = document.querySelector('.page-id-813 .adsf') || document.querySelector('.adsf');\n if (!root) return;\n if (root.dataset.adsInit === '1') { if (syncFn) syncFn(); return; }\n root.dataset.adsInit = '1';\n\n \/\/ Keyboard hints only. These change nothing about validation or what is\n \/\/ submitted; they just put the right keypad in front of the visitor.\n var serialInp = root.querySelector('input[name=\"serial\"]');\n if (serialInp) {\n serialInp.setAttribute('inputmode', 'numeric');\n serialInp.setAttribute('autocomplete', 'off');\n serialInp.setAttribute('spellcheck', 'false');\n }\n var emailInp = root.querySelector('input[name=\"your-email\"]');\n if (emailInp) emailInp.setAttribute('autocomplete', 'email');\n\n \/\/ \u2500\u2500 Conditional fields: used-before \u2192 used-brand \u2192 used-brand-other \u2500\u2500\n var brandCard = root.querySelector('[data-cond=\"used-brand\"]');\n var otherCard = root.querySelector('[data-cond=\"used-brand-other\"]');\n var brandSel = root.querySelector('select[name=\"used-brand\"]');\n var otherInp = root.querySelector('input[name=\"used-brand-other\"]');\n\n function usedBeforeVal() {\n var c = root.querySelector('input[name=\"used-before\"]:checked');\n return c ? c.value : '';\n }\n\n \/\/ Fully reset one field: clear its value, drop any CF7 error tip\/state,\n \/\/ and (for the hidden side) make sure it can't be submitted with stale data.\n function resetField(el, card) {\n if (!el) return;\n if (el.value !== '') el.value = '';\n if (el.selectedIndex !== undefined) el.selectedIndex = 0; \/\/ selects \u2192 blank option\n \/\/ Clear CF7 validation artifacts on this field's wrapper.\n if (card) {\n card.querySelectorAll('.wpcf7-not-valid-tip').forEach(function (t) { t.remove(); });\n card.querySelectorAll('.wpcf7-not-valid').forEach(function (n) {\n n.classList.remove('wpcf7-not-valid');\n n.removeAttribute('aria-invalid');\n });\n }\n }\n\n function sync() {\n var yes = usedBeforeVal() === 'Yes';\n\n \/\/ Level 1: brand select visible only when \"Yes\".\n if (brandCard) brandCard.classList.toggle('is-open', yes);\n if (!yes) resetField(brandSel, brandCard); \/\/ hidden \u2192 wipe brand\n\n \/\/ Level 2: \"other\" text visible only when Yes AND brand === Other.\n var other = yes && brandSel && brandSel.value.toLowerCase() === 'other';\n if (otherCard) otherCard.classList.toggle('is-open', other);\n if (!other) resetField(otherInp, otherCard); \/\/ hidden \u2192 wipe text\n }\n\n syncFn = sync; \/\/ allow re-sync after CF7 resets the form post-submit\n\n root.addEventListener('change', function (e) {\n if (e.target.name === 'used-before' || e.target.name === 'used-brand') sync();\n });\n sync(); \/\/ set initial state (default is \"No\" \u2192 both conditionals hidden & empty)\n }\n\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', initAdsForm);\n } else {\n initAdsForm();\n }\n \/\/ CF7 re-inits after AJAX submit; re-run to keep the conditionals wired.\n document.addEventListener('wpcf7mailsent', initAdsForm);\n })();\n<\/script>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Free compatibility test Not sure your device is compatible? Order a free OBD test. Before you flash your OBD with Ads Pro, make sure the hardware can run it. Work through the four steps below, then request your free OBD test and we will confirm it works. 1 Your OBD must be flashed with the&#8230;<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","iawp_total_views":1,"footnotes":""},"class_list":["post-813","page","type-page","status-publish","hentry"],"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"adsdiagnostic","author_link":"https:\/\/ads-diagnostic.pro\/it\/author\/adsdiagnostic\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/ads-diagnostic.pro\/it\/wp-json\/wp\/v2\/pages\/813","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ads-diagnostic.pro\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ads-diagnostic.pro\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ads-diagnostic.pro\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ads-diagnostic.pro\/it\/wp-json\/wp\/v2\/comments?post=813"}],"version-history":[{"count":8,"href":"https:\/\/ads-diagnostic.pro\/it\/wp-json\/wp\/v2\/pages\/813\/revisions"}],"predecessor-version":[{"id":861,"href":"https:\/\/ads-diagnostic.pro\/it\/wp-json\/wp\/v2\/pages\/813\/revisions\/861"}],"wp:attachment":[{"href":"https:\/\/ads-diagnostic.pro\/it\/wp-json\/wp\/v2\/media?parent=813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}