{"id":35593,"date":"2026-06-02T01:02:00","date_gmt":"2026-06-01T23:02:00","guid":{"rendered":"https:\/\/adblprotect.com\/?page_id=35593"},"modified":"2026-07-09T19:54:33","modified_gmt":"2026-07-09T17:54:33","slug":"approved","status":"publish","type":"page","link":"https:\/\/adblprotect.com\/pl\/approved\/","title":{"rendered":"approved &#8211; CERTYFIKOWANI INSTALATORZY FOLII PPF"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"35593\" class=\"elementor elementor-35593\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section-with-custom-width elementor-section elementor-top-section elementor-element elementor-element-aphero01 elementor-section-boxed elementor-section-height-default elementor-section-height-default sc_fly_static\" data-id=\"aphero01\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-extended\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-aphero01c sc_content_align_inherit sc_layouts_column_icons_position_left sc_fly_static\" data-id=\"aphero01c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-aphero01w sc_fly_static elementor-widget elementor-widget-html\" data-id=\"aphero01w\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"ap-landing ap-v2\">\n<script>\n(function(){\n  \/\/ noindex\/nofollow for staging\n  if(!document.querySelector('meta[name=\"robots\"][data-apv2]')){\n    var m=document.createElement('meta');m.name='robots';m.content='noindex,nofollow,noarchive,nosnippet';m.setAttribute('data-apv2','1');document.head.appendChild(m);\n  }\n  \/\/ hide breadcrumbs\/page-title bar\n  ['.sc_layouts_title','.sc_layouts_title_caption','.breadcrumbs','.page-header'].forEach(function(s){document.querySelectorAll(s).forEach(function(el){el.style.display='none'});});\n})();\n<\/script>\n<style>\nbody.page-id-35593 .ap-hero-inner > div:first-child{position:relative}\nbody.page-id-35593 .ap-hero-inner > div:first-child > .ap-eyebrow:first-child{margin-top:8px}\n@media (min-width:1280px){body.page-id-35593 .ap-hero-inner{padding-top:180px!important}}\nbody.page-id-35593 + .following-section{margin-top:0!important}\n\n\/* === ADBL APPROVED v2 - DARK EDITORIAL === *\/\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Oswald:wght@500;600;700;800&family=Roboto:wght@400;500;700&family=Roboto+Mono:wght@400;500;600;700&display=swap');\n\n\/* === DARK FIX P1: theme detailx header\/footer\/wrappers (siostrzane do .ap-landing) === *\/\nhtml, body.page-id-35593,\nbody.page-id-35593 header.top_panel,\nbody.page-id-35593 header.top_panel_custom_25857,\nbody.page-id-35593 footer.footer_wrap,\nbody.page-id-35593 footer.footer_custom_26561,\nbody.page-id-35593 .page_wrap,\nbody.page-id-35593 .page_content_wrap,\nbody.page-id-35593 .content_wrap,\nbody.page-id-35593 .copyright_wrap,\nbody.page-id-35593 .footer_custom_inner,\nbody.page-id-35593 .elementor-location-header,\nbody.page-id-35593 .elementor-location-footer{background:#050506!important;background-color:#050506!important;background-image:none!important}\nbody.page-id-35593 footer.footer_wrap,\nbody.page-id-35593 footer.footer_wrap *{color:#d6d6d8!important}\nbody.page-id-35593 footer.footer_wrap a{color:#ff6600!important}\nbody.page-id-35593 header.top_panel,\nbody.page-id-35593 header.top_panel *{background-color:transparent!important}\nbody.page-id-35593 header.top_panel{background:transparent!important;background-color:transparent!important;position:absolute!important;top:0;left:0;right:0;z-index:100;border-bottom:0!important}\nbody.page-id-35593 header.top_panel::before,body.page-id-35593 header.top_panel::after{background:transparent!important;display:none!important}\nbody.page-id-35593 .page_content_wrap{padding-top:0!important;margin-top:0!important}\nbody.page-id-35593 .top_panel_inner,body.page-id-35593 .top_panel_middle{background:transparent!important;background-color:transparent!important}\n\n\/* FIX SZYBKA WYCENA button - restore native orange #FF5A00 *\/\nbody.page-id-35593 header.top_panel a.sc_button.color_style_dark,\nbody.page-id-35593 header.top_panel a[href*=\"szybka-wycena\"]{background-color:#ff5a00!important;color:#000!important;border-color:#ff5a00!important}\nbody.page-id-35593 header.top_panel a.sc_button.color_style_dark:hover,\nbody.page-id-35593 header.top_panel a[href*=\"szybka-wycena\"]:hover{background-color:#e85100!important}\n\n\/* FIX pusty 3-ci rz\u0105d Elementor w headerze (page-title bar bez tre\u015bci) *\/\nbody.page-id-35593 header.top_panel .elementor-element-f026a5a,\nbody.page-id-35593 header.top_panel .elementor-element-09fc6c2,\nbody.page-id-35593 header.top_panel .elementor-element-62cfb03{display:none!important}\n\n\/* === DARK FIX P0: body + wrappery theme detailx === *\/\nhtml:has(.ap-landing.ap-v2),\nbody.page-id-35593,\nbody.page-id-35593,\nbody:has(.ap-landing.ap-v2){background:#050506!important}\n\nbody.page-id-35593 .page_content_wrap,\nbody.page-id-35593 .page_content_wrap,\nbody:has(.ap-landing.ap-v2) .page_content_wrap{background:transparent!important;padding-top:0!important;padding-bottom:0!important}\n\nbody.page-id-35593 #page_preloader,\nbody.page-id-35593 #page_preloader,\nbody:has(.ap-landing.ap-v2) #page_preloader{display:none!important}\n\nbody.page-id-35593 .content,\nbody.page-id-35593 article.post_item_single,\nbody.page-id-35593 .entry-content,\nbody.page-id-35593 .post_content,\nbody.page-id-35593 .content,\nbody.page-id-35593 article.post_item_single,\nbody.page-id-35593 .entry-content,\nbody.page-id-35593 .post_content,\nbody:has(.ap-landing.ap-v2) .content,\nbody:has(.ap-landing.ap-v2) article.post_item_single,\nbody:has(.ap-landing.ap-v2) .entry-content,\nbody:has(.ap-landing.ap-v2) .post_content{background:transparent!important}\n\nbody:has(.ap-landing.ap-v2) .elementor-section,\nbody:has(.ap-landing.ap-v2) .elementor-container,\nbody:has(.ap-landing.ap-v2) .elementor-column,\nbody:has(.ap-landing.ap-v2) .elementor-widget-wrap,\nbody:has(.ap-landing.ap-v2) .elementor-widget-html,\nbody:has(.ap-landing.ap-v2) .elementor-widget-html > *{background:transparent!important}\nbody:has(.ap-landing.ap-v2) .sc_layouts_title,\nbody:has(.ap-landing.ap-v2) .sc_layouts_title_caption,\nbody:has(.ap-landing.ap-v2) .sc_layouts_title_outer,\nbody:has(.ap-landing.ap-v2) .breadcrumbs,\nbody:has(.ap-landing.ap-v2) .page-header{display:none!important}\nbody:has(.ap-landing.ap-v2) .elementor-widget-heading h2,\nbody:has(.ap-landing.ap-v2) .elementor-widget-heading h3,\nbody:has(.ap-landing.ap-v2) .elementor-widget-text-editor p,\nbody:has(.ap-landing.ap-v2) .elementor-widget-text-editor li{color:#e8e8ec!important}\nbody:has(.ap-landing.ap-v2) .elementor-widget-text-editor p strong{color:#fff!important}\n\n\/* Tokens v2 *\/\n.ap-v2{--bg:#050506;--bg-2:#0e0e10;--bg-3:#1a1a1c;--line:#1e1e22;--line-2:#2e2e34;--fg:#fff;--fg-mute:#cfcfd4;--fg-mute-2:#7a7a82;--silver-bright:#e8e8ec;--silver:#c8ccd0;--orange:#ff6600;--orange-2:#ff8533;--r-sm:2px;--r-md:4px;--r-lg:8px;--display:\"Oswald\",\"Arial Narrow\",sans-serif;--body:\"Roboto\",system-ui,sans-serif;--mono:'Roboto Mono',monospace;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}\n.ap-v2 *{box-sizing:border-box}\n.ap-v2 .ap-wrap{max-width:1280px;margin:0 auto;padding:0 24px}\n@media (min-width:768px){.ap-v2 .ap-wrap{padding:0 40px}}\n@media (min-width:1280px){.ap-v2 .ap-wrap{padding:0 64px}}\n\n\/* === HERO - full-bleed (100vw) + softer gradient === *\/\n.ap-v2 .ap-hero{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);min-height:760px;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line);z-index:5}\n.ap-v2 .ap-hero-cover{position:absolute;inset:0;width:100%;background-image:url('https:\/\/adblprotect.com\/wp-content\/uploads\/2026\/05\/adbl-protect-realizacja-folii-ppf-4-szeroki-kadr-studio-1.jpg');background-size:cover;background-position:center center;background-repeat:no-repeat;filter:saturate(.95)}\n.ap-v2 .ap-hero-cover::after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,6,.94) 0%,rgba(5,5,6,.82) 22%,rgba(5,5,6,.55) 48%,rgba(5,5,6,.18) 75%,rgba(5,5,6,0) 100%),linear-gradient(180deg,rgba(5,5,6,.5) 0%,rgba(5,5,6,.05) 25%,rgba(5,5,6,.05) 70%,rgba(5,5,6,.45) 100%)}@media (max-width:780px){.ap-hero-cover::after{background:linear-gradient(180deg,rgba(5,5,6,.7) 0%,rgba(5,5,6,.45) 50%,rgba(5,5,6,.85) 100%)}}\n.ap-v2 .ap-hero-inner{text-shadow:0 2px 22px rgba(0,0,0,.6),0 1px 4px rgba(0,0,0,.5)}\n\n\/* === BRUTE-FORCE no spacing pomi\u0119dzy header a hero (priorytety wy\u017csze ni\u017c theme) === *\/\nbody.page-id-35593 .page_content_wrap,\nbody.page-id-35593 .content_wrap,\nbody.page-id-35593 .content,\nbody.page-id-35593 article.post_item_single,\nbody.page-id-35593 .entry-content,\nbody.page-id-35593 .post_content,\nbody.page-id-35593 .elementor,\nbody.page-id-35593 .elementor-37612{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}\nbody.page-id-35593 .elementor-element[data-id=\"aphero01\"]{margin:0!important;padding:0!important;width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;overflow:hidden}\nbody.page-id-35593 .elementor-element[data-id=\"aphero01\"] > .elementor-container,\nbody.page-id-35593 .elementor-element[data-id=\"aphero01\"] .elementor-column,\nbody.page-id-35593 .elementor-element[data-id=\"aphero01\"] .elementor-widget-wrap,\nbody.page-id-35593 .elementor-element[data-id=\"aphero01\"] .elementor-widget-html,\nbody.page-id-35593 .elementor-element[data-id=\"aphero01\"] .elementor-widget-container{margin:0!important;padding:0!important;width:100%!important;max-width:none!important}\n.ap-v2 .ap-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;padding:170px 24px 88px;align-items:center;max-width:1280px;margin:0 auto}\n@media (min-width:768px){.ap-v2 .ap-hero-inner{padding-left:40px;padding-right:40px}}\n@media (min-width:1280px){.ap-v2 .ap-hero-inner{padding-left:64px;padding-right:64px}}\n@media (max-width:980px){.ap-v2 .ap-hero-inner{grid-template-columns:1fr;gap:32px;padding:120px 24px 64px}}\n.ap-v2 .ap-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--silver-bright);margin-bottom:18px;position:relative;z-index:3}\n.ap-v2 .ap-eyebrow::before{content:\"\";width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(255,102,0,.18)}\n.ap-v2 .ap-h1{font-family:var(--display);font-size:clamp(46px,7vw,86px);font-weight:800;line-height:.94;letter-spacing:-.02em;text-transform:uppercase;color:var(--silver-bright);margin:0;text-shadow:0 4px 16px rgba(0,0,0,.4)}\n.ap-v2 .ap-h1 em{font-style:normal;color:var(--orange)}\n.ap-v2 .ap-h1-dot{color:var(--orange)}\n.ap-v2 .ap-hero-sub{font-size:17px;line-height:1.7;color:var(--fg-mute);max-width:540px;margin:20px 0 24px;font-weight:400}\n.ap-v2 .ap-hero-sub strong{color:var(--silver-bright);font-weight:600}\n.ap-v2 .ap-hero-bullets{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}\n.ap-v2 .ap-hero-bullets span{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--silver-bright);background:rgba(232,232,236,.06);border:1px solid var(--line-2);padding:8px 12px;backdrop-filter:blur(8px)}\n.ap-v2 .ap-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line-2);background:rgba(5,5,6,.55);backdrop-filter:blur(12px);overflow:hidden}\n@media (max-width:580px){.ap-v2 .ap-hero-stats{grid-template-columns:1fr}}\n.ap-v2 .ap-hero-stat{padding:24px 20px;border-right:1px solid var(--line-2);position:relative}\n.ap-v2 .ap-hero-stat:last-child{border-right:0}\n@media (max-width:580px){.ap-v2 .ap-hero-stat{border-right:0;border-bottom:1px solid var(--line-2)}.ap-v2 .ap-hero-stat:last-child{border-bottom:0}}\n.ap-v2 .ap-hero-stat::before{content:\"\";position:absolute;left:0;top:0;width:24px;height:2px;background:var(--orange)}\n.ap-v2 .ap-hero-stat-l{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-mute-2);font-weight:500;margin-bottom:6px}\n.ap-v2 .ap-hero-stat-v{font-family:var(--display);font-size:32px;font-weight:800;color:var(--silver-bright);letter-spacing:-.01em;line-height:1}\n.ap-v2 .ap-hero-stat-s{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-mute);font-weight:500;margin-top:4px}\n\n\/* Hero paths - 2 \u015bcie\u017cki *\/\n.ap-v2 .ap-hero-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}\n@media (max-width:580px){.ap-v2 .ap-hero-paths{grid-template-columns:1fr}}\n.ap-v2 .ap-path{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;background:rgba(5,5,6,.55);border:1px solid var(--line-2);backdrop-filter:blur(12px);text-decoration:none;transition:all .18s ease;position:relative}\n.ap-v2 .ap-path::before{content:\"\";position:absolute;left:0;top:0;width:32px;height:2px;background:var(--orange)}\n.ap-v2 .ap-path:hover{border-color:var(--orange);background:rgba(5,5,6,.75)}\n.ap-v2 .ap-path-l{font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);font-weight:700}\n.ap-v2 .ap-path-h{font-family:var(--display);font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:-.005em;color:var(--silver-bright);line-height:1.1;margin-top:2px}\n.ap-v2 .ap-path-s{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-mute);font-weight:500;margin-top:6px}\n\n\/* === MAP OVERRIDES (dark theme) === *\/\nbody:has(.ap-landing.ap-v2) .as-map-widget{--as-orange:#ff6600;--as-dark:#0e0e10;--as-white:#e8e8ec;--as-voiv:#3a3a40;font-family:\"Oswald\",\"Arial Narrow\",sans-serif;color:#e8e8ec}\nbody:has(.ap-landing.ap-v2) .as-map-widget .as-stage{filter:none}\nbody:has(.ap-landing.ap-v2) .as-map-widget .as-svg{filter:drop-shadow(0 12px 28px rgba(0,0,0,.6))}\nbody:has(.ap-landing.ap-v2) .as-map-widget .as-country-fill{fill:#0e0e10}\nbody:has(.ap-landing.ap-v2) .as-map-widget .as-voiv-border{stroke:#3a3a40;opacity:.9}\nbody:has(.ap-landing.ap-v2) .as-map-widget .as-pin{fill:#e8e8ec;stroke:#ff6600}\nbody:has(.ap-landing.ap-v2) .as-map-widget .as-marker:hover .as-pin{fill:#ff6600;stroke:#e8e8ec}\n\n\/* === TABLE OVERRIDES (dark theme) === *\/\nbody:has(.ap-landing.ap-v2) .as-region-table{--rt-orange:#ff6600;--rt-ink:#e8e8ec;--rt-ink-2:#a8a8b0;--rt-faint:#7a7a82;--rt-card:#0e0e10;--rt-bg:transparent;--rt-line:#1e1e22;background:transparent!important;box-shadow:none!important;border-radius:0!important;max-width:1280px!important;padding:48px 24px 56px!important;font-family:\"Roboto\",sans-serif}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-title{color:#e8e8ec!important;font-family:\"Oswald\",\"Arial Narrow\",sans-serif!important;text-transform:uppercase;letter-spacing:-.005em}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-subtitle{color:#a8a8b0!important}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-head h3,\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-head h2{color:#e8e8ec!important;font-family:\"Oswald\",\"Arial Narrow\",sans-serif!important;text-transform:uppercase;letter-spacing:-.005em}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-chip{background:#0e0e10;border-color:#1e1e22;color:#e8e8ec;border-radius:2px;font-family:'Roboto Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-chip:hover{border-color:#ff6600;background:rgba(255,102,0,.08)}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-chip[aria-pressed=\"true\"]{background:#ff6600;border-color:#ff6600;color:#0e0e10}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-group{background:#0e0e10;border-color:#1e1e22;border-radius:2px;box-shadow:none}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-acc:hover{background:rgba(255,102,0,.04)}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-acc-name{color:#e8e8ec;font-family:\"Oswald\",\"Arial Narrow\",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.02em}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-acc-count{background:rgba(255,102,0,.12);color:#ff6600}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-studio{border-top-color:#1e1e22}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-name{color:#e8e8ec;font-family:\"Oswald\",\"Arial Narrow\",sans-serif;font-weight:700;text-transform:uppercase}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-meta{color:#a8a8b0}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-badge,\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-badge-inst{font-family:'Roboto Mono',monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;border-radius:2px}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-tel{background:transparent;color:#e8e8ec;border-color:#1e1e22;border-radius:2px;font-family:'Roboto Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-tel:hover{border-color:#ff6600;color:#ff6600;background:rgba(255,102,0,.06)}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-mail{background:transparent!important;color:#ff6600!important;border:1.5px solid #ff6600!important;border-radius:2px;font-family:'Roboto Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}\nbody:has(.ap-landing.ap-v2) .as-region-table .as-rt-mail:hover{background:#ff6600!important;color:#0e0e10!important;border-color:#ff6600!important}\n\n\/* Original headings\/text on page \u2192 wyciszone, ale czytelne *\/\nbody:has(.ap-landing.ap-v2) h1.elementor-heading-title,\nbody:has(.ap-landing.ap-v2) h2.elementor-heading-title,\nbody:has(.ap-landing.ap-v2) h3.elementor-heading-title{font-family:\"Oswald\",\"Arial Narrow\",sans-serif!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:-.005em!important;color:#e8e8ec!important}\n<\/style>\n\n<section class=\"ap-hero\">\n<div class=\"ap-hero-cover\"><\/div>\n<div class=\"ap-hero-inner\">\n<div class=\"ap-hero-content\">\n<span class=\"ap-eyebrow\">ADBL Approved \u00b7 Sie\u0107 certyfikowanych studi\u00f3w i dystrybutor\u00f3w<\/span>\n<h1 class=\"ap-h1\">Znajd\u017a studio lub <em>dystrybutora<\/em><span class=\"ap-h1-dot\">.<\/span><\/h1>\n<p class=\"ap-hero-sub\">ADBL Protect to folia PPF <strong>zaprojektowana w Polsce, wyprodukowana w Korei<\/strong>. Masz trzy \u015bcie\u017cki: <strong>oklej auto<\/strong> u zweryfikowanego partnera w sieci Approved (pe\u0142na 10-letnia gwarancja producenta) lub <strong>kup foli\u0119<\/strong> w najlepszych warunkach bezpo\u015brednio u naszych dystrybutor\u00f3w. Prowadzisz studio albo firm\u0119? <strong>Do\u0142\u0105cz do sieci<\/strong> jako instalator lub dystrybutor.<\/p>\n<div class=\"ap-hero-bullets\">\n<span>23 studi\u00f3w<\/span><span>Zaprojektowane w Polsce<\/span><span>Wyprodukowane w Korei<\/span><span>10 lat gwarancji<\/span>\n<\/div>\n<div class=\"ap-hero-paths\">\n<a class=\"ap-path\" href=\"#mapa\">\n<span class=\"ap-path-l\">\u015acie\u017cka A<\/span>\n<span class=\"ap-path-h\">Oklej auto u partnera<\/span>\n<span class=\"ap-path-s\">Studio ADBL Approved \u00b7 10 lat gwarancji<\/span>\n<\/a>\n<a class=\"ap-path\" href=\"#mapa\">\n<span class=\"ap-path-l\">\u015acie\u017cka B<\/span>\n<span class=\"ap-path-h\">Kup foli\u0119 u dystrybutora<\/span>\n<span class=\"ap-path-s\">Ceny dystrybutorskie \u00b7 bez po\u015brednik\u00f3w<\/span>\n<\/a>\n<a class=\"ap-path ap-path-c\" href=\"https:\/\/adblprotect.com\/pl\/zostan-instalatorem\/\">\n<span class=\"ap-path-l\">\u015acie\u017cka C<\/span>\n<span class=\"ap-path-h\">Zosta\u0144 instalatorem lub dystrybutorem<\/span>\n<span class=\"ap-path-s\">Program ADBL Approved \u00b7 dla firm<\/span>\n<\/a>\n<\/div>\n<\/div>\n<div class=\"ap-hero-stats\">\n<div class=\"ap-hero-stat\"><div class=\"ap-hero-stat-l\">Studia w sieci<\/div><div class=\"ap-hero-stat-v\">23<\/div><div class=\"ap-hero-stat-s\">akredytowanych<\/div><\/div>\n<div class=\"ap-hero-stat\"><div class=\"ap-hero-stat-l\">Gwarancja<\/div><div class=\"ap-hero-stat-v\">10<\/div><div class=\"ap-hero-stat-s\">lat producenta<\/div><\/div>\n<div class=\"ap-hero-stat\"><div class=\"ap-hero-stat-l\">Pochodzenie folii<\/div><div class=\"ap-hero-stat-v\">PL\u2192KR<\/div><div class=\"ap-hero-stat-s\">Zaprojektowane w Polsce \u00b7 wyprodukowane w Korei<\/div><\/div>\n<\/div>\n<\/div>\n<\/section>\n\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-sfnaj01 elementor-section-full_width elementor-section-height-default elementor-section-height-default sc_fly_static\" data-id=\"sfnaj01\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-sfnaj02 sc_content_align_inherit sc_layouts_column_icons_position_left sc_fly_static\" data-id=\"sfnaj02\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-sfnaj03 sc_fly_static elementor-widget elementor-widget-html\" data-id=\"sfnaj03\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style id=\"sf-najblizsze-css\">#sf-najblizsze{background:#0b0b0c;color:#f4f2ee;padding:clamp(48px,6vw,84px) 20px;font-family:Roboto,system-ui,sans-serif}\n#sf-najblizsze .sfn-wrap{max-width:1140px;margin:0 auto}\n#sf-najblizsze .sfn-k{font-family:Oswald,\"Arial Narrow\",sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:13px;color:#ff5a00}\n#sf-najblizsze h2{font-family:Oswald,\"Arial Narrow\",sans-serif;text-transform:uppercase;font-weight:700;font-size:clamp(30px,4vw,52px);line-height:1.02;margin:12px 0 12px;color:#fff}\n#sf-najblizsze h2 em{font-style:normal;color:#ff5a00}\n#sf-najblizsze .sfn-p{margin:0 0 22px;color:rgba(244,242,238,.72);font-size:16px;max-width:60ch}\n#sf-najblizsze .sfn-ctl{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}\n#sf-najblizsze .sfn-loc{display:inline-flex;align-items:center;gap:10px;background:#ff5a00;color:#0b0b0c;border:0;padding:15px 22px;font-family:Oswald,\"Arial Narrow\",sans-serif;font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}\n#sf-najblizsze .sfn-loc:hover{background:#fff}\n#sf-najblizsze .sfn-woj{min-width:240px;background:#121214;color:#f4f2ee;border:1px solid rgba(255,255,255,.24);padding:14px 16px;font-size:15px;border-radius:0}\n#sf-najblizsze .sfn-stan{margin:14px 0 0;font-size:13px;color:rgba(244,242,238,.6);min-height:1.2em}\n#sf-najblizsze .sfn-lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}\n#sf-najblizsze .sfn-card{background:#121214;border:1px solid rgba(255,255,255,.12);border-top:3px solid #ff5a00;padding:20px}\n#sf-najblizsze .sfn-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}\n#sf-najblizsze .sfn-card h3{font-family:Oswald,\"Arial Narrow\",sans-serif;font-weight:600;font-size:19px;line-height:1.15;margin:0;color:#fff;text-transform:uppercase}\n#sf-najblizsze .sfn-km{font-family:Oswald,\"Arial Narrow\",sans-serif;font-weight:600;font-size:18px;white-space:nowrap;text-align:right;color:#fff}\n#sf-najblizsze .sfn-km small{display:block;font-family:Roboto,sans-serif;font-weight:400;font-size:10px;color:rgba(244,242,238,.55)}\n#sf-najblizsze .sfn-adr{margin:8px 0 16px;font-size:14px;color:rgba(244,242,238,.7)}\n#sf-najblizsze .sfn-acts{display:flex;flex-wrap:wrap;gap:8px}\n#sf-najblizsze .sfn-btn{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid rgba(255,255,255,.3);color:#f4f2ee;text-decoration:none;font-family:Oswald,\"Arial Narrow\",sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:.08em}\n#sf-najblizsze .sfn-btn.sfn-main{background:#ff5a00;border-color:#ff5a00;color:#0b0b0c}\n#sf-najblizsze .sfn-btn:hover{border-color:#ff5a00}\n.as-rt-btn.sfw-btn{background:#ff5a00!important;border-color:#ff5a00!important;color:#0b0b0c!important}\n@media (max-width:900px){#sf-najblizsze .sfn-lista{grid-template-columns:minmax(0,1fr)}}\n\/* sf-poprawki *\/#sf-najblizsze .select_container{display:block;position:relative;min-width:240px;margin:0;padding:0;border:0;background:none}#sf-najblizsze .select_container:before,#sf-najblizsze .select_container:after{display:none!important}#sf-najblizsze .select_container select.sfn-woj{opacity:1!important;visibility:visible!important;position:static!important;display:block!important;width:100%!important;height:auto!important;min-height:53px;-webkit-appearance:menulist!important;appearance:auto!important;background:#121214!important;color:#f4f2ee!important}#sf-najblizsze .sfn-card h3{-webkit-hyphens:manual!important;hyphens:manual!important;overflow-wrap:normal;word-break:normal}#sf-najblizsze .sfn-loc:focus{outline:2px solid #fff;outline-offset:2px}<\/style>\n<section id=\"sf-najblizsze\" aria-labelledby=\"sfn-h\"><div class=\"sfn-wrap\"><span class=\"sfn-k\">Znajd\u017a studio<\/span>\n<h2 id=\"sfn-h\">Najbli\u017csze studio <em>ADBL Approved<\/em><\/h2>\n<p class=\"sfn-p\">Kliknij \u201eZlokalizuj mnie\u201d albo wybierz wojew\u00f3dztwo. Poka\u017cemy trzy najbli\u017csze studia i odleg\u0142o\u015b\u0107 do nich, a jednym klikni\u0119ciem wy\u015blesz zapytanie o wycen\u0119 oklejania.<\/p>\n<div class=\"sfn-ctl\"><button type=\"button\" class=\"sfn-loc\">Zlokalizuj mnie<\/button><select class=\"sfn-woj\" aria-label=\"Wojew\u00f3dztwo\"><option value=\"\">albo wybierz wojew\u00f3dztwo<\/option><\/select><\/div>\n<p class=\"sfn-stan\" aria-live=\"polite\"><\/p><div class=\"sfn-lista\"><\/div><\/div><\/section><script src=\"https:\/\/adblprotect.com\/wp-content\/uploads\/sf-approved.js?v=20261014a\" defer><\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9cea64c elementor-section-boxed elementor-section-height-default elementor-section-height-default sc_fly_static\" data-id=\"9cea64c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-extended\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0c2be72 sc_content_align_inherit sc_layouts_column_icons_position_left sc_fly_static\" data-id=\"0c2be72\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fa17da7 sc_fly_static elementor-widget elementor-widget-html\" data-id=\"fa17da7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"as-map-widget\" id=\"mapa\" style=\"scroll-margin-top:130px\" data-as-map=\"approved-studios\">\n    <style>\n        .as-map-widget {\n            --as-orange: #ff6600;\n            --as-dark: #1a1a1a;\n            --as-white: #ffffff;\n            --as-voiv: #2c2c2c;\n            font-family: inherit;\n        }\n\n        .as-map-widget * {\n            box-sizing: border-box;\n        }\n\n        .as-map-widget .as-stage {\n            position: relative;\n            width: 100%;\n            max-width: 700px;\n            margin: 0 auto;\n        }\n\n        .as-map-widget .as-svg {\n            width: 100%;\n            height: auto;\n            display: block;\n            filter: drop-shadow(0 15px 35px rgba(0, 0, 0, 0.30));\n            user-select: none;\n            -webkit-tap-highlight-color: transparent;\n        }\n\n        .as-map-widget .as-country-outline {\n            fill: none;\n            stroke: var(--as-orange);\n            stroke-width: 7;\n            stroke-linejoin: round;\n            stroke-linecap: round;\n            vector-effect: non-scaling-stroke;\n            pointer-events: none;\n        }\n\n        .as-map-widget .as-country-fill {\n            fill: url(#asLandGradient);\n            stroke: none;\n            pointer-events: none;\n        }\n\n        .as-map-widget .as-voiv-border {\n            fill: none;\n            stroke: var(--as-voiv);\n            stroke-width: 1.1;\n            stroke-linejoin: round;\n            stroke-linecap: round;\n            vector-effect: non-scaling-stroke;\n            opacity: .75;\n            pointer-events: none;\n        }\n\n        .as-map-widget .as-marker {\n            cursor: pointer;\n        }\n\n        .as-map-widget .as-hit {\n            fill: transparent;\n            stroke: transparent;\n            pointer-events: all;\n        }\n\n        .as-map-widget .as-pin {\n            fill: var(--as-white);\n            stroke: var(--as-orange);\n            stroke-width: 1.7;\n            transition: transform .18s, fill .18s, stroke .18s;\n            transform-box: fill-box;\n            transform-origin: center;\n        }\n\n        .as-map-widget .as-marker:hover .as-pin {\n            fill: var(--as-orange);\n            stroke: var(--as-white);\n            transform: scale(1.06);\n        }\n\n        .as-map-widget .as-pulse {\n            fill: none;\n            stroke: var(--as-orange);\n            stroke-width: 2.2;\n            opacity: .28;\n            transform-box: fill-box;\n            transform-origin: center;\n            animation: asMapPulse 4.8s ease-out infinite;\n            pointer-events: none;\n        }\n\n        @keyframes asMapPulse {\n            0% {\n                transform: scale(1);\n                opacity: .28;\n            }\n\n            55% {\n                transform: scale(2.55);\n                opacity: .10;\n            }\n\n            100% {\n                transform: scale(2.85);\n                opacity: 0;\n            }\n        }\n\n        @media (min-width: 769px) {\n            .as-map-widget .as-pulse {\n                stroke-width: 2.6;\n                opacity: .34;\n            }\n        }\n\n        .as-map-widget .as-count {\n            font-weight: 900;\n            fill: var(--as-orange);\n            text-anchor: middle;\n            dominant-baseline: middle;\n            pointer-events: none;\n        }\n\n        .as-map-widget .as-voiv-anim {\n            opacity: 0;\n            transform: translate(var(--dx, 0px), var(--dy, 0px)) scale(0.972);\n            filter: blur(var(--blur, 1.6px));\n            transform-box: fill-box;\n            transform-origin: center;\n            animation: asVoivAssemble 2400ms cubic-bezier(.18, .92, .18, 1) forwards;\n            animation-delay: var(--delay, 0ms);\n            will-change: transform, opacity, filter;\n        }\n\n        @keyframes asVoivAssemble {\n            55% {\n                opacity: 1;\n            }\n\n            to {\n                opacity: 1;\n                transform: translate(0px, 0px) scale(1);\n                filter: blur(0px);\n            }\n        }\n\n        @media (prefers-reduced-motion: reduce) {\n            .as-map-widget .as-pulse {\n                animation: none;\n                display: none;\n            }\n\n            .as-map-widget .as-pin {\n                transition: none;\n            }\n\n            .as-map-widget .as-voiv-anim {\n                opacity: 1;\n                transform: none;\n                filter: none;\n                animation: none;\n            }\n        }\n    <\/style>\n\n    <div class=\"as-stage\">\n        <svg class=\"as-svg\" viewBox=\"0 0 620 600\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Mapa Polski\">\n            <defs>\n                <linearGradient id=\"asLandGradient\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n                    <stop offset=\"0%\" stop-color=\"#3a3a3a\"><\/stop>\n                    <stop offset=\"70%\" stop-color=\"#1a1a1a\"><\/stop>\n                    <stop offset=\"100%\" stop-color=\"#0b0b0b\"><\/stop>\n                <\/linearGradient>\n            <\/defs>\n\n            <g class=\"as-fallback\">\n                <path class=\"as-country-outline\" d=\"\n          M515.4,590.0 L491.6,583.3 L455.5,556.7 L427.0,551.0 L412.7,559.6 L380.4,551.0 L344.2,578.6 L340.0,559.1\n          L329.0,547.2 L319.5,542.5 L313.8,552.0 L294.8,550.1 L270.1,508.2 L253.9,504.4 L247.2,495.9 L227.3,494.0\n          L220.1,483.0 L228.7,476.4 L228.2,469.2 L210.2,475.0 L185.4,461.6 L191.6,473.5 L170.2,492.1 L144.1,460.2\n          L153.6,446.0 L150.3,442.6 L143.6,439.8 L129.3,450.2 L122.7,431.2 L98.0,435.0 L92.7,417.4 L82.8,408.4\n          L76.1,417.9 L59.0,417.9 L66.1,398.4 L56.1,398.9 L52.8,391.8 L66.1,366.1 L57.6,356.6 L60.4,345.2\n          L50.9,334.7 L51.9,320.4 L42.3,307.1 L50.9,273.9 L41.4,260.5 L43.3,246.3 L28.1,231.1 L31.9,222.5\n          L17.6,209.2 L34.7,167.4 L23.3,145.5 L26.2,120.8 L33.3,119.3 L41.9,127.0 L57.6,92.2 L67.5,85.1\n          L114.1,74.7 L128.4,66.1 L136.0,69.0 L137.4,59.9 L145.5,58.5 L158.8,38.5 L176.9,36.6 L207.3,17.6\n          L214.4,19.0 L205.4,30.9 L226.3,16.7 L253.0,10.0 L295.3,31.4 L288.1,36.6 L269.6,20.9 L286.7,52.3\n          L299.5,59.4 L336.6,53.7 L318.6,62.3 L319.5,67.0 L341.4,60.4 L351.8,49.0 L449.8,63.2 L523.9,54.7\n          L561.0,76.6 L568.1,130.3 L593.8,192.1 L591.9,251.0 L581.9,268.6 L563.4,273.9 L577.7,291.9 L572.0,319.5\n          L574.8,349.0 L602.4,390.8 L588.1,397.5 L598.6,414.6 L595.7,432.6 L582.4,437.4 L591.0,450.7 L590.0,466.9\n          L562.9,478.8 L521.6,523.0 L529.2,554.3 L514.0,558.1 L515.4,590.0 Z\n        \"><\/path>\n                <path class=\"as-country-fill\" d=\"\n          M515.4,590.0 L491.6,583.3 L455.5,556.7 L427.0,551.0 L412.7,559.6 L380.4,551.0 L344.2,578.6 L340.0,559.1\n          L329.0,547.2 L319.5,542.5 L313.8,552.0 L294.8,550.1 L270.1,508.2 L253.9,504.4 L247.2,495.9 L227.3,494.0\n          L220.1,483.0 L228.7,476.4 L228.2,469.2 L210.2,475.0 L185.4,461.6 L191.6,473.5 L170.2,492.1 L144.1,460.2\n          L153.6,446.0 L150.3,442.6 L143.6,439.8 L129.3,450.2 L122.7,431.2 L98.0,435.0 L92.7,417.4 L82.8,408.4\n          L76.1,417.9 L59.0,417.9 L66.1,398.4 L56.1,398.9 L52.8,391.8 L66.1,366.1 L57.6,356.6 L60.4,345.2\n          L50.9,334.7 L51.9,320.4 L42.3,307.1 L50.9,273.9 L41.4,260.5 L43.3,246.3 L28.1,231.1 L31.9,222.5\n          L17.6,209.2 L34.7,167.4 L23.3,145.5 L26.2,120.8 L33.3,119.3 L41.9,127.0 L57.6,92.2 L67.5,85.1\n          L114.1,74.7 L128.4,66.1 L136.0,69.0 L137.4,59.9 L145.5,58.5 L158.8,38.5 L176.9,36.6 L207.3,17.6\n          L214.4,19.0 L205.4,30.9 L226.3,16.7 L253.0,10.0 L295.3,31.4 L288.1,36.6 L269.6,20.9 L286.7,52.3\n          L299.5,59.4 L336.6,53.7 L318.6,62.3 L319.5,67.0 L341.4,60.4 L351.8,49.0 L449.8,63.2 L523.9,54.7\n          L561.0,76.6 L568.1,130.3 L593.8,192.1 L591.9,251.0 L581.9,268.6 L563.4,273.9 L577.7,291.9 L572.0,319.5\n          L574.8,349.0 L602.4,390.8 L588.1,397.5 L598.6,414.6 L595.7,432.6 L582.4,437.4 L591.0,450.7 L590.0,466.9\n          L562.9,478.8 L521.6,523.0 L529.2,554.3 L514.0,558.1 L515.4,590.0 Z\n        \"><\/path>\n            <\/g>\n\n            <g class=\"as-outline-layer\"><\/g>\n            <g class=\"as-land-layer\"><\/g>\n            <g class=\"as-borders-layer\"><\/g>\n            <g class=\"as-markers-layer\"><\/g>\n        <\/svg>\n    <\/div>\n\n    <script>\n        (function() {\n            var root = document.querySelector('.as-map-widget[data-as-map=\"approved-studios\"]');\n            if (!root || root.dataset.asInited === \"1\") return;\n            root.dataset.asInited = \"1\";\n\n            var DESKTOP_VISUAL_MULT = 2.0;\n            var DESKTOP_HIT_MULT = 2.6;\n            var MOBILE_VISUAL_MULT = 3.0;\n            var MOBILE_HIT_MULT = 3.8;\n\n            function isMobile() {\n                return window.matchMedia && window.matchMedia(\"(max-width: 768px)\").matches;\n            }\n\n            function multipliers() {\n                var mobile = isMobile();\n                return mobile ? {\n                    v: MOBILE_VISUAL_MULT,\n                    h: MOBILE_HIT_MULT\n                } : {\n                    v: DESKTOP_VISUAL_MULT,\n                    h: DESKTOP_HIT_MULT\n                };\n            }\n\n            \/\/ SEO tytu\u0142 bez plusika\n            function seoTitle(city) {\n                return \"Oklejanie foli\u0105 PPF \" + city;\n            }\n\n            var TRACKING_CONFIG = {\n                gtmEnabled: true,\n                metaPixelEnabled: true,\n                ga4Enabled: false,\n                googleAdsEnabled: false,\n                googleAdsSendTo: \"AW-XXXXXXX\/XXXXXXXXXXX\"\n            };\n\n            function trackEvent(eventName, params) {\n                params = params || {};\n                params.page_path = location.pathname;\n\n                if (TRACKING_CONFIG.gtmEnabled && window.dataLayer && typeof window.dataLayer.push === \"function\") {\n                    window.dataLayer.push(Object.assign({\n                        event: eventName\n                    }, params));\n                }\n                if (TRACKING_CONFIG.metaPixelEnabled && typeof window.fbq === \"function\") {\n                    window.fbq(\"trackCustom\", eventName, params);\n                }\n                if (TRACKING_CONFIG.ga4Enabled && typeof window.gtag === \"function\") {\n                    window.gtag(\"event\", eventName, params);\n                }\n                if (TRACKING_CONFIG.googleAdsEnabled && typeof window.gtag === \"function\" && TRACKING_CONFIG.googleAdsSendTo) {\n                    if (eventName === \"studio_call_click\") {\n                        window.gtag(\"event\", \"conversion\", Object.assign({\n                            send_to: TRACKING_CONFIG.googleAdsSendTo\n                        }, params));\n                    }\n                }\n            }\n\n            \/\/ Portal modala do BODY\n            var portalId = \"as-portal-\" + Math.random().toString(16).slice(2);\n            var styleId = \"as-portal-style-\" + portalId;\n\n            if (!document.getElementById(styleId)) {\n                var st = document.createElement(\"style\");\n                st.id = styleId;\n                st.textContent = `\n          [data-as-portal=\"${portalId}\"]{ all:initial; }\n          [data-as-portal=\"${portalId}\"], [data-as-portal=\"${portalId}\"] *{ box-sizing:border-box; font-family:inherit; }\n\n          [data-as-portal=\"${portalId}\"].as-overlay{\n            position:fixed; inset:0;\n            background:rgba(0,0,0,0.58);\n            z-index:99998;\n            display:none;\n            backdrop-filter:blur(2px);\n            -webkit-tap-highlight-color: transparent;\n          }\n          [data-as-portal=\"${portalId}\"].as-modal{\n            position:fixed;\n            left:50%; top:50%;\n            transform:translate(-50%,-50%);\n            width:min(440px, calc(100vw - 28px));\n            max-height:calc(100vh - 28px);\n            background:#fff;\n            border-radius:12px;\n            z-index:99999;\n            display:none;\n            overflow:hidden;\n            box-shadow:0 20px 40px rgba(0,0,0,0.5);\n          }\n          [data-as-portal=\"${portalId}\"].as-modal .as-header{\n            background:#1a1a1a;\n            color:#fff;\n            padding:12px 14px;\n            font-weight:800;\n            border-bottom:4px solid #ff6600;\n            display:flex;\n            align-items:center;\n            justify-content:space-between;\n            gap:10px;\n          }\n          [data-as-portal=\"${portalId}\"].as-modal .as-close{\n            cursor:pointer;\n            color:#ff6600;\n            font-size:22px;\n            border:none;\n            background:none;\n            line-height:1;\n            padding:0;\n          }\n          [data-as-portal=\"${portalId}\"].as-modal .as-body{\n            padding:12px 14px;\n            font-size:14px;\n            color:#333;\n            line-height:1.35;\n            overflow:auto;\n            -webkit-overflow-scrolling:touch;\n            max-height:calc(100vh - 28px - 56px);\n          }\n\n          [data-as-portal=\"${portalId}\"] .as-list{ display:flex; flex-direction:column; gap:10px; }\n          [data-as-portal=\"${portalId}\"] .as-item{ border-top:1px solid #eee; padding-top:10px; }\n          [data-as-portal=\"${portalId}\"] .as-item:first-child{ border-top:none; padding-top:0; }\n          [data-as-portal=\"${portalId}\"] .as-name{ font-weight:900; margin-bottom:4px; }\n\n          [data-as-portal=\"${portalId}\"] .as-actions{\n            margin-top:10px;\n            display:flex;\n            gap:10px;\n            flex-wrap:wrap;\n          }\n          [data-as-portal=\"${portalId}\"] .as-call-btn{\n            display:inline-flex;\n            align-items:center;\n            justify-content:center;\n            padding:10px 14px;\n            border-radius:10px;\n            background:#ff6600;\n            color:#fff;\n            text-decoration:none;\n            font-weight:900;\n            border:0;\n            cursor:pointer;\n            line-height:1;\n            min-height:40px;\n          }\n          [data-as-portal=\"${portalId}\"] .as-call-btn:active{ transform:scale(0.99); }\n          [data-as-portal=\"${portalId}\"] .as-mail-btn{ display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; border-radius:10px; background:#fff; color:#ff6600; text-decoration:none; font-weight:900; border:1px solid #ff6600; cursor:pointer; line-height:1; min-height:40px; }\n          [data-as-portal=\"${portalId}\"] .as-mail-btn:hover{ background:#ff6600; color:#fff; }\n          [data-as-portal=\"${portalId}\"] .as-mail-btn:active{ transform:scale(0.99); }\n          [data-as-portal=\"${portalId}\"] .as-dist{ display:inline-block; font-size:10px; font-weight:900; letter-spacing:.5px; color:#fff; background:#ff6600; border-radius:5px; padding:2px 7px; margin-left:6px; vertical-align:middle; }\n          [data-as-portal=\"${portalId}\"] .as-inst{ display:inline-block; font-size:10px; font-weight:900; letter-spacing:.5px; color:#555; background:#eee; border:1px solid #ddd; border-radius:5px; padding:2px 7px; margin-left:6px; vertical-align:middle; }\n          [data-as-portal=\"${portalId}\"] .as-note{ font-size:12px; font-weight:700; color:#ff6600; margin:4px 0 2px; }\n\n          [data-as-portal=\"${portalId}\"].is-open{ display:block; }\n        `;\n                document.head.appendChild(st);\n            }\n\n            var overlay = document.createElement(\"div\");\n            overlay.className = \"as-overlay\";\n            overlay.setAttribute(\"data-as-portal\", portalId);\n\n            var modal = document.createElement(\"div\");\n            modal.className = \"as-modal\";\n            modal.setAttribute(\"data-as-portal\", portalId);\n            modal.innerHTML = `\n        <div class=\"as-header\">\n          <span class=\"as-title\">Oklejanie foli\u0105 PPF<\/span>\n          <button type=\"button\" class=\"as-close\" aria-label=\"Zamknij\">\u00d7<\/button>\n        <\/div>\n        <div class=\"as-body\"><\/div>\n      `;\n\n            document.body.appendChild(overlay);\n            document.body.appendChild(modal);\n\n            var titleEl = modal.querySelector(\".as-title\");\n            var bodyEl = modal.querySelector(\".as-body\");\n            var closeBtn = modal.querySelector(\".as-close\");\n\n            function openModal() {\n                overlay.classList.add(\"is-open\");\n                modal.classList.add(\"is-open\");\n                try {\n                    closeBtn.focus();\n                } catch (e) {}\n            }\n\n            function closeModal() {\n                overlay.classList.remove(\"is-open\");\n                modal.classList.remove(\"is-open\");\n            }\n            overlay.addEventListener(\"click\", closeModal);\n            closeBtn.addEventListener(\"click\", closeModal);\n            document.addEventListener(\"keydown\", function(e) {\n                if (e.key === \"Escape\" && modal.classList.contains(\"is-open\")) closeModal();\n            });\n\n            function telHref(t) {\n                return (t || \"\").replace(\/[^\\d+]\/g, \"\");\n            }\n\n            function shuffleArray(arr) {\n                var a = arr.slice();\n                for (var i = a.length - 1; i > 0; i--) {\n                    var j = Math.floor(Math.random() * (i + 1));\n                    var tmp = a[i];\n                    a[i] = a[j];\n                    a[j] = tmp;\n                }\n                return a;\n            }\n\n            var studios = {\n                artofdetail: {\n                    name: \"Art of Detail Car Spa\",\n                    addr: \"\u0141azy 23J, 21-400 \u0141uk\u00f3w\",\n                    tel: \"+48 793 036 665\",\n                    region: \"lubelskie\",\n                    email: \"Carspalukow@gmail.com\",\n                    distributor: false\n                },\n                ice: {\n                    name: \"ICE Detailing Warszawa\",\n                    addr: \"Przec\u0142awska 5, 03-879 Warszawa\",\n                    tel: \"+48 509 080 278\",\n                    region: \"mazowieckie\",\n                    email: \"biuro@ice-detailing.pl\",\n                    distributor: false\n                },\n                elegancko: {\n                    name: \"ELEGANCKO Detailing\",\n                    addr: \"3 Maja 9, 05-800 Pruszk\u00f3w\",\n                    tel: \"+48 730 111 911\",\n                    region: \"mazowieckie\",\n                    email: \"biuro@elegancko-detailing.pl\",\n                    distributor: false\n                },\n                grodzki: {\n                    name: \"Renowacja Sk\u00f3r Andrzej Grodzki\",\n                    addr: \"Boles\u0142awa Chrobrego 39, 05-230 Koby\u0142ka\",\n                    tel: \"+48 514 929 399\",\n                    region: \"mazowieckie\",\n                    email: \"kontakt.renowacja.skory@gmail.com\",\n                    distributor: false\n                },\n                toyota: {\n                    name: \"Toyota Nowakowski Bielany\",\n                    addr: \"Czekoladowa 10, 55-040 Bielany Wroc\u0142awskie\",\n                    tel: \"+48 71 799 60 60\",\n                    region: \"dolno\u015bl\u0105skie\",\n                    email: \"recepcja@toyotanowakowski.pl\",\n                    note: \"Tylko dla klient\u00f3w salonu\",\n                    distributor: false\n                },\n                anatomia: {\n                    name: \"Anatomia Detailingu\",\n                    addr: \"ul. Ofiar D\u0105bia 2d, 31-566 Krak\u00f3w\",\n                    tel: \"+48 784 489 899\",\n                    region: \"ma\u0142opolskie\",\n                    email: \"biuro@anatomiadetailingu.pl\",\n                    distributor: false\n                },\n                omega: {\n                    name: \"Omega Auto Spa & Detailing\",\n                    addr: \"Przew\u00f3z 34B, 30-716 Krak\u00f3w\",\n                    tel: \"+48 784 784 749\",\n                    region: \"ma\u0142opolskie\",\n                    email: \"myjniaomega@gmail.com\",\n                    distributor: false\n                },\n                autoclean: {\n                    name: \"AutoClean Detailing Krak\u00f3w\",\n                    addr: \"ul. Zakopia\u0144ska 62, 30-418 Krak\u00f3w\",\n                    tel: \"+48 796 550 962\",\n                    region: \"ma\u0142opolskie\",\n                    email: \"detailing@autoclean.pl\",\n                    distributor: false\n                },\n                procar: {\n                    name: \"Pro Car Detailing Krak\u00f3w\",\n                    addr: \"ul. Romanowicza 19a, 30-702 Krak\u00f3w\",\n                    tel: \"+48 503 046 494\",\n                    region: \"ma\u0142opolskie\",\n                    email: \"kontakt@procardetailing.pl\",\n                    distributor: false\n                },\n                blackdiamond: {\n                    name: \"Black Diamond Detailing\",\n                    addr: \"al. Bojownik\u00f3w o Wolno\u015b\u0107 i Demokracj\u0119 50, 41-506 Chorz\u00f3w\",\n                    tel: \"+48 885 044 002\",\n                    region: \"\u015bl\u0105skie\",\n                    email: \"kontakt@detailing-slask.pl\",\n                    distributor: false\n                },\n                mechtal: {\n                    name: \"Mechtal Garage\",\n                    addr: \"P\u0142k. Franciszka Niepok\u00f3lczyckiego 41, 41-813 Zabrze\",\n                    tel: \"+48 513 297 592\",\n                    region: \"\u015bl\u0105skie\",\n                    email: \"Kontakt@mechtal-garage.pl\",\n                    distributor: false\n                },\n                klasse: {\n                    name: \"Detailing Klasse Cz\u0119stochowa\",\n                    addr: \"Makuszy\u0144skiego 92A, 42-209 Cz\u0119stochowa\",\n                    tel: \"+48 502 521 909\",\n                    region: \"\u015bl\u0105skie\",\n                    email: \"detailingklasse42200@gmail.com\",\n                    distributor: false\n                },\n                zorro: {\n                    name: \"Zorro Customs\",\n                    addr: \"ul. Hallera 6\/8, 61-001 Pozna\u0144\",\n                    tel: \"+48 536 597 947\",\n                    region: \"wielkopolskie\",\n                    email: \"kontakt@zorrocustoms.pl\",\n                    distributor: true\n                },\n                venom: {\n                    name: \"Venom Car Studio\",\n                    addr: \"ul. Szlachecka 7, 09-410 Nowe Gulczewo\",\n                    tel: \"+48 723 330 440\",\n                    region: \"mazowieckie\",\n                    email: \"venomcarstudio@gmail.com\",\n                    distributor: false\n                },\n                motomy: {\n                    name: \"MotoMy Krak\u00f3w\",\n                    addr: \"ul. p\u0142k. Stanis\u0142awa D\u0105bka 10, 30-832 Krak\u00f3w\",\n                    tel: \"+48 500 360 305\",\n                    region: \"ma\u0142opolskie\",\n                    email: \"Biuro@motomy.pl\",\n                    installer: false,\n                    distributor: true\n                },\n                cherry: {\n                    name: \"Cherry Car Autodetailing\",\n                    addr: \"ul. Warszawska 7, 21-500 Styrzyniec\",\n                    tel: \"+48 514 514 117\",\n                    region: \"lubelskie\",\n                    email: \"cherrycar.detailing@wp.pl\",\n                    distributor: false\n                },\n                prime: {\n                    name: \"PRIME Auto Spa\",\n                    addr: \"al. Kra\u015bnicka 217b, 20-718 Lublin\",\n                    tel: \"+48 720 898 020\",\n                    region: \"lubelskie\",\n                    email: \"biuro@primeautospa.pl\",\n                    distributor: true\n                },\n                folia: {\n                    name: \"Folia-Samochodowa.pl\",\n                    addr: \"ul. Piotra Brzezi\u0144skiego 39, 30-198 Krak\u00f3w\",\n                    tel: \"+48 732 082 998\",\n                    region: \"ma\u0142opolskie\",\n                    email: \"info@folia-samochodowa.pl\",\n                    installer: false,\n                    reseller: true\n                },\n                stage: {\n                    name: \"Stage. Studio Detailingu\",\n                    addr: \"ul. Bielska 819, 43-392 Mi\u0119dzyrzecze G\u00f3rne\",\n                    tel: \"+48 786 901 650\",\n                    region: \"\u015bl\u0105skie\",\n                    email: \"stagedetail@gmail.com\",\n                    distributor: false\n                },\n                gdp: {\n                    name: \"GDP Garage Auto Detailing\",\n                    addr: \"ul. Berberysowa 2, 20-136 Lublin\",\n                    tel: \"+48 790 312 899\",\n                    region: \"lubelskie\",\n                    email: \"gdpgaragedetailing@gmail.com\",\n                    distributor: false\n                },\n                wrapmaniak: {\n                    name: \"WrapManiak\",\n                    addr: \"ul. Pucka 10B, 84-240 Reda\",\n                    tel: \"+48 669 036 735\",\n                    region: \"pomorskie\",\n                    email: \"wrapmaniak20@gmail.com\",\n                    distributor: false\n                },\n                wrapport: {\n                    name: \"Wrap Port\",\n                    addr: \"Lubowidzka 41C, 80-174 Gda\u0144sk\",\n                    tel: \"+48 789 112 750\",\n                    region: \"pomorskie\",\n                    email: \"adbl@wrapport.pl\",\n                    distributor: true\n                },\n                kw: {\n                    name: \"KW Carprotect\",\n                    addr: \"ul. Przemys\u0142owa 2, 55-120 Oborniki \u015al\u0105skie\",\n                    tel: \"+48 882 349 688\",\n                    region: \"dolno\u015bl\u0105skie\",\n                    email: \"Wozniak_krzysztof@yahoo.com\",\n                    distributor: false\n                }\n            };\n\n            var markers = [{\n                    id: \"warsaw_cluster\",\n                    kind: \"cluster\",\n                    city: \"Warszawa\",\n                    title: \"Warszawa i okolice\",\n                    items: [\"ice\", \"elegancko\", \"grodzki\", \"venom\"],\n                    lat: 52.2297,\n                    lon: 21.0122,\n                    fallback: {\n                        x: 420.3,\n                        y: 268.8\n                    },\n                    r: 10\n                },\n                {\n                    id: \"toyota\",\n                    kind: \"single\",\n                    city: \"Wroc\u0142aw\",\n                    key: \"toyota\",\n                    lat: 50.9708,\n                    lon: 16.9896,\n                    fallback: {\n                        x: 184.7,\n                        y: 388.4\n                    },\n                    r: 6\n                },\n                {\n                    id: \"blackdiamond\",\n                    kind: \"single\",\n                    city: \"Chorz\u00f3w\",\n                    key: \"blackdiamond\",\n                    lat: 50.2974,\n                    lon: 18.9542,\n                    fallback: {\n                        x: 299.1,\n                        y: 461.8\n                    },\n                    r: 6\n                },\n                {\n                    id: \"mechtal\",\n                    kind: \"single\",\n                    city: \"Zabrze\",\n                    key: \"mechtal\",\n                    lat: 50.3786166,\n                    lon: 18.8127902,\n                    fallback: {\n                        x: 290.8,\n                        y: 454.0\n                    },\n                    r: 6\n                },\n                {\n                    id: \"klasse\",\n                    kind: \"single\",\n                    city: \"Cz\u0119stochowa\",\n                    key: \"klasse\",\n                    lat: 50.8118,\n                    lon: 19.1203,\n                    fallback: {\n                        x: 310.6,\n                        y: 410.2\n                    },\n                    r: 6\n                },\n                {\n                    id: \"procar_cluster\",\n                    kind: \"cluster\",\n                    city: \"Krak\u00f3w\",\n                    title: \"Krak\u00f3w i okolice\",\n                    items: [\"procar\", \"motomy\", \"folia\", \"anatomia\", \"omega\", \"autoclean\"],\n                    lat: 50.0647,\n                    lon: 19.9450,\n                    fallback: {\n                        x: 358.1,\n                        y: 484.7\n                    },\n                    r: 8\n                },\n                {\n                    id: \"zorro\",\n                    kind: \"single\",\n                    city: \"Pozna\u0144\",\n                    key: \"zorro\",\n                    lat: 52.410833,\n                    lon: 16.938333,\n                    fallback: {\n                        x: 182.0,\n                        y: 257.3\n                    },\n                    r: 6\n                },\n                {\n                    id: \"cherry\",\n                    kind: \"single\",\n                    city: \"Styrzyniec\",\n                    key: \"cherry\",\n                    lat: 52.0346451,\n                    lon: 23.0201657,\n                    fallback: {\n                        x: 538.1,\n                        y: 290.4\n                    },\n                    r: 6\n                },\n                {\n                    id: \"lublin_cluster\",\n                    kind: \"cluster\",\n                    city: \"Lublin\",\n                    title: \"Lublin\",\n                    items: [\"prime\", \"gdp\", \"cherry\", \"artofdetail\"],\n                    lat: 51.2464536,\n                    lon: 22.5684463,\n                    fallback: {\n                        x: 511.6,\n                        y: 366.8\n                    },\n                    r: 8\n                },\n                {\n                    id: \"stage\",\n                    kind: \"single\",\n                    city: \"Mi\u0119dzyrzecze G\u00f3rne\",\n                    key: \"stage\",\n                    lat: 49.8306503,\n                    lon: 18.9628489,\n                    fallback: {\n                        x: 300.8,\n                        y: 504.7\n                    },\n                    r: 6\n                },\n                {\n                    id: \"kw\",\n                    kind: \"single\",\n                    city: \"Oborniki \u015al\u0105skie\",\n                    key: \"kw\",\n                    lat: 51.2839144,\n                    lon: 16.9187680,\n                    fallback: {\n                        x: 180.9,\n                        y: 363.1\n                    },\n                    r: 6\n                },\n                {\n                    id: \"wrapmaniak\",\n                    kind: \"single\",\n                    city: \"Reda\",\n                    key: \"wrapmaniak\",\n                    lat: 54.6210145,\n                    lon: 18.3217089,\n                    fallback: {\n                        x: 263.1,\n                        y: 25.7\n                    },\n                    r: 6\n                },\n                {\n                    id: \"wrapport\",\n                    kind: \"single\",\n                    city: \"Gda\u0144sk\",\n                    key: \"wrapport\",\n                    lat: 54.3302208,\n                    lon: 18.5368447,\n                    fallback: {\n                        x: 275.7,\n                        y: 54.9\n                    },\n                    r: 6\n                }\n            ];\n\n            function renderList(city, keys) {\n                var randomized = shuffleArray(keys);\n\n                bodyEl.innerHTML =\n                    \"<div class='as-list'>\" +\n                    randomized.map(function(k) {\n                        var s = studios[k];\n                        var tel = telHref(s.tel);\n                        var mailTo = s.email ? s.email : \"adrian.ogierman@adbl.eu\";\n                        var mailHref = \"mailto:\" + mailTo + \"?subject=\" + encodeURIComponent(\"Przekierowanie z ADBL Approved - wycena dla klienta\") + (s.email ? \"&bcc=\" + encodeURIComponent(\"adrian.ogierman@adbl.eu\") : \"\");\n                        return (\n                            \"<div class='as-item'>\" +\n                            \"<div class='as-name'>\" + s.name + (s.installer !== false ? \" <span class='as-inst'>INSTALATOR<\/span>\" : \"\") + (s.distributor ? \" <span class='as-dist'>DYSTRYBUTOR<\/span>\" : \"\") + (s.reseller ? \" <span class='as-dist'>RESELLER<\/span>\" : \"\") + \"<\/div>\" +\n                            (s.note ? \"<div class='as-note'>\" + s.note + \"<\/div>\" : \"\") +\n                            \"<div><strong>Adres:<\/strong><br>\" + s.addr + \"<\/div>\" +\n                            \"<div><strong>Telefon:<\/strong><br>\" + tel + \"<\/div>\" +\n                            \"<div class='as-actions'>\" +\n                            \"<a class='as-call-btn' data-action='call' data-studio='\" + k + \"' data-city='\" + city + \"' href='tel:\" + tel + \"'>Zadzwo\u0144<\/a>\" +\n                            \"<a class='as-mail-btn' data-action='email' data-studio='\" + k + \"' data-city='\" + city + \"' href='\" + mailHref + \"'>Wy\u015blij email<\/a>\" +\n                            \"<\/div>\" +\n                            \"<\/div>\"\n                        );\n                    }).join(\"\") +\n                    \"<\/div>\";\n            }\n\n            bodyEl.addEventListener(\"click\", function(e) {\n                var a = e.target && e.target.closest ? e.target.closest(\"[data-action]\") : null;\n                if (!a) return;\n\n                var studio = a.getAttribute(\"data-studio\") || \"\";\n                var city = a.getAttribute(\"data-city\") || \"\";\n                trackEvent(a.getAttribute(\"data-action\") === \"email\" ? \"studio_email_click\" : \"studio_call_click\", {\n                    studio: studio,\n                    city: city\n                });\n            });\n\n            var svg = root.querySelector(\"svg.as-svg\");\n            var fallback = svg.querySelector(\".as-fallback\");\n            var outlineLayer = svg.querySelector(\".as-outline-layer\");\n            var landLayer = svg.querySelector(\".as-land-layer\");\n            var bordersLayer = svg.querySelector(\".as-borders-layer\");\n            var markersLayer = svg.querySelector(\".as-markers-layer\");\n\n            var NS = \"http:\/\/www.w3.org\/2000\/svg\";\n\n            function el(tag, attrs) {\n                var n = document.createElementNS(NS, tag);\n                if (attrs) {\n                    Object.keys(attrs).forEach(function(k) {\n                        n.setAttribute(k, attrs[k]);\n                    });\n                }\n                return n;\n            }\n\n            function clear(node) {\n                while (node.firstChild) node.removeChild(node.firstChild);\n            }\n\n            function renderMarkers(project) {\n                clear(markersLayer);\n                var mlt = multipliers();\n\n                markers.forEach(function(m) {\n                    var x, y;\n                    if (project) {\n                        var p = project(m.lon, m.lat);\n                        x = p[0];\n                        y = p[1];\n                    } else {\n                        x = m.fallback.x;\n                        y = m.fallback.y;\n                    }\n\n                    var visualR = m.r * mlt.v;\n                    var hitR = m.r * mlt.h;\n\n                    var g = el(\"g\", {\n                        class: \"as-marker\",\n                        \"data-id\": m.id\n                    });\n\n                    g.appendChild(el(\"circle\", {\n                        class: \"as-hit\",\n                        cx: x,\n                        cy: y,\n                        r: hitR\n                    }));\n                    g.appendChild(el(\"circle\", {\n                        class: \"as-pulse\",\n                        cx: x,\n                        cy: y,\n                        r: visualR\n                    }));\n                    g.appendChild(el(\"circle\", {\n                        class: \"as-pin\",\n                        cx: x,\n                        cy: y,\n                        r: visualR\n                    }));\n\n                    if (m.kind === \"cluster\") {\n                        var t = el(\"text\", {\n                            class: \"as-count\",\n                            x: x,\n                            y: y\n                        });\n                        t.setAttribute(\"font-size\", String(Math.max(12, Math.round(visualR * 0.9))));\n                        t.textContent = String((m.items || []).length);\n                        g.appendChild(t);\n                    }\n\n                    g.addEventListener(\"click\", function() {\n                        trackEvent(\"studio_pin_click\", {\n                            marker_id: m.id,\n                            city: m.city || \"\",\n                            kind: m.kind\n                        });\n\n                        var city = m.city || \"Miasto\";\n                        titleEl.textContent = seoTitle(city);\n\n                        if (m.kind === \"cluster\") {\n                            renderList(city, m.items || []);\n                        } else {\n                            renderList(city, [m.key]);\n                        }\n                        openModal();\n                    });\n\n                    g.addEventListener(\"touchstart\", function() {}, {\n                        passive: true\n                    });\n                    markersLayer.appendChild(g);\n                });\n            }\n\n            renderMarkers(null);\n\n            var vb = svg.viewBox.baseVal;\n            var W = vb.width,\n                H = vb.height;\n            var RAD = Math.PI \/ 180;\n\n            function mercatorRaw(lon, lat) {\n                var x = lon * RAD;\n                var y = Math.log(Math.tan(Math.PI \/ 4 + (lat * RAD) \/ 2));\n                return [x, -y];\n            }\n\n            function forEachCoord(geo, cb) {\n                if (!geo) return;\n                if (geo.type === \"FeatureCollection\") {\n                    geo.features.forEach(function(f) {\n                        forEachCoord(f.geometry, cb);\n                    });\n                    return;\n                }\n                if (geo.type === \"Feature\") {\n                    forEachCoord(geo.geometry, cb);\n                    return;\n                }\n                if (geo.type === \"Polygon\") {\n                    geo.coordinates.forEach(function(r) {\n                        r.forEach(cb);\n                    });\n                    return;\n                }\n                if (geo.type === \"MultiPolygon\") {\n                    geo.coordinates.forEach(function(p) {\n                        p.forEach(function(r) {\n                            r.forEach(cb);\n                        });\n                    });\n                    return;\n                }\n            }\n\n            function makeProjection(geojson) {\n                var minX = Infinity,\n                    minY = Infinity,\n                    maxX = -Infinity,\n                    maxY = -Infinity;\n                forEachCoord(geojson, function(c) {\n                    var p = mercatorRaw(c[0], c[1]);\n                    if (!isFinite(p[0]) || !isFinite(p[1])) return;\n                    minX = Math.min(minX, p[0]);\n                    minY = Math.min(minY, p[1]);\n                    maxX = Math.max(maxX, p[0]);\n                    maxY = Math.max(maxY, p[1]);\n                });\n                var spanX = maxX - minX,\n                    spanY = maxY - minY;\n                var scale = Math.min((W - 28) \/ spanX, (H - 28) \/ spanY);\n                var tx = (W - spanX * scale) \/ 2 - minX * scale;\n                var ty = (H - spanY * scale) \/ 2 - minY * scale;\n\n                return function project(lon, lat) {\n                    var p = mercatorRaw(lon, lat);\n                    return [p[0] * scale + tx, p[1] * scale + ty];\n                };\n            }\n\n            function ringToPath(ring, project) {\n                if (!ring || !ring.length) return \"\";\n                var d = \"\";\n                for (var i = 0; i < ring.length; i++) {\n                    var pt = project(ring[i][0], ring[i][1]);\n                    d += (i === 0 ? \"M\" : \"L\") + pt[0].toFixed(2) + \",\" + pt[1].toFixed(2) + \" \";\n                }\n                return d + \"Z \";\n            }\n\n            function geomToPath(geom, project) {\n                if (!geom) return \"\";\n                if (geom.type === \"Polygon\") {\n                    return geom.coordinates.map(function(r) {\n                        return ringToPath(r, project);\n                    }).join(\"\");\n                }\n                if (geom.type === \"MultiPolygon\") {\n                    return geom.coordinates.map(function(p) {\n                        return p.map(function(r) {\n                            return ringToPath(r, project);\n                        }).join(\"\");\n                    }).join(\"\");\n                }\n                return \"\";\n            }\n\n            function geomBoundsProjected(geom, project) {\n                var minx = Infinity,\n                    miny = Infinity,\n                    maxx = -Infinity,\n                    maxy = -Infinity;\n                if (!geom) return null;\n\n                function touchCoord(c) {\n                    var pt = project(c[0], c[1]);\n                    if (!isFinite(pt[0]) || !isFinite(pt[1])) return;\n                    minx = Math.min(minx, pt[0]);\n                    miny = Math.min(miny, pt[1]);\n                    maxx = Math.max(maxx, pt[0]);\n                    maxy = Math.max(maxy, pt[1]);\n                }\n\n                if (geom.type === \"Polygon\") {\n                    geom.coordinates.forEach(function(r) {\n                        r.forEach(touchCoord);\n                    });\n                } else if (geom.type === \"MultiPolygon\") {\n                    geom.coordinates.forEach(function(p) {\n                        p.forEach(function(r) {\n                            r.forEach(touchCoord);\n                        });\n                    });\n                } else {\n                    return null;\n                }\n\n                if (!isFinite(minx)) return null;\n                return {\n                    minx: minx,\n                    miny: miny,\n                    maxx: maxx,\n                    maxy: maxy\n                };\n            }\n\n            function fetchFirst(urls) {\n                var i = 0;\n\n                function next() {\n                    if (i >= urls.length) return Promise.reject(new Error(\"GeoJSON fetch failed\"));\n                    var url = urls[i++];\n                    return fetch(url, {\n                        cache: \"force-cache\"\n                    }).then(function(res) {\n                        if (!res.ok) throw new Error(\"HTTP \" + res.status);\n                        return res.json();\n                    }).catch(function() {\n                        return next();\n                    });\n                }\n                return next();\n            }\n\n            var VOIV_URLS = [\n                \"https:\/\/raw.githubusercontent.com\/andilabs\/polska-wojewodztwa-geojson\/master\/polska-wojewodztwa.geojson\",\n                \"https:\/\/raw.githubusercontent.com\/andilabs\/polska-wojewodztwa-geojson\/main\/polska-wojewodztwa.geojson\"\n            ];\n\n            fetchFirst(VOIV_URLS).then(function(geo) {\n                var project = makeProjection(geo);\n\n                if (fallback) fallback.style.display = \"none\";\n                clear(outlineLayer);\n                clear(landLayer);\n                clear(bordersLayer);\n\n                var features = (geo.features || []).slice();\n                var centers = [];\n\n                features.forEach(function(f) {\n                    var b = geomBoundsProjected(f.geometry, project);\n                    if (!b) return;\n                    centers.push({\n                        x: (b.minx + b.maxx) \/ 2,\n                        y: (b.miny + b.maxy) \/ 2\n                    });\n                });\n\n                var cx = 0,\n                    cy = 0;\n                if (centers.length) {\n                    centers.forEach(function(p) {\n                        cx += p.x;\n                        cy += p.y;\n                    });\n                    cx \/= centers.length;\n                    cy \/= centers.length;\n                } else {\n                    cx = W \/ 2;\n                    cy = H \/ 2;\n                }\n\n                var enriched = features.map(function(f) {\n                    var b = geomBoundsProjected(f.geometry, project);\n                    var fx = b ? (b.minx + b.maxx) \/ 2 : cx;\n                    var fy = b ? (b.miny + b.maxy) \/ 2 : cy;\n                    var dx = fx - cx;\n                    var dy = fy - cy;\n                    var dist = Math.sqrt(dx * dx + dy * dy) || 1;\n                    return {\n                        f: f,\n                        fx: fx,\n                        fy: fy,\n                        dist: dist\n                    };\n                });\n\n                enriched.sort(function(a, b) {\n                    return a.dist - b.dist;\n                });\n\n                enriched.forEach(function(item, idx) {\n                    var f = item.f;\n                    var d = geomToPath(f.geometry, project);\n                    if (!d) return;\n\n                    outlineLayer.appendChild(el(\"path\", {\n                        class: \"as-country-outline\",\n                        d: d\n                    }));\n\n                    var vx = (item.fx - cx) \/ item.dist;\n                    var vy = (item.fy - cy) \/ item.dist;\n\n                    var spread = Math.min(34, 10 + item.dist * 0.08);\n                    var jitterX = (Math.random() * 6 - 3);\n                    var jitterY = (Math.random() * 6 - 3);\n\n                    var startDx = (vx * spread + jitterX).toFixed(1) + \"px\";\n                    var startDy = (vy * spread + jitterY).toFixed(1) + \"px\";\n\n                    var delay = (idx * 70) + \"ms\";\n\n                    var land = el(\"path\", {\n                        class: \"as-country-fill as-voiv-anim\",\n                        d: d\n                    });\n                    land.style.setProperty(\"--dx\", startDx);\n                    land.style.setProperty(\"--dy\", startDy);\n                    land.style.setProperty(\"--delay\", delay);\n                    land.style.setProperty(\"--blur\", \"1.6px\");\n                    landLayer.appendChild(land);\n\n                    var border = el(\"path\", {\n                        class: \"as-voiv-border as-voiv-anim\",\n                        d: d\n                    });\n                    border.style.setProperty(\"--dx\", startDx);\n                    border.style.setProperty(\"--dy\", startDy);\n                    border.style.setProperty(\"--delay\", delay);\n                    border.style.setProperty(\"--blur\", \"0.9px\");\n                    bordersLayer.appendChild(border);\n                });\n\n                requestAnimationFrame(function() {});\n                renderMarkers(project);\n            }).catch(function() {});\n\n            var lastMobile = isMobile();\n            window.addEventListener(\"resize\", function() {\n                var nowMobile = isMobile();\n                if (nowMobile !== lastMobile) {\n                    lastMobile = nowMobile;\n                    renderMarkers(null);\n                }\n            });\n\n        })();\n    <\/script>\n<\/div>\n\n<div class=\"as-region-table\" data-as-rt=\"approved-studios\">\n  <style>\n    .as-region-table{--rt-orange:#ff6600;--rt-ink:#16181d;--rt-ink-2:#5b616e;--rt-faint:#8a909c;--rt-card:#ffffff;--rt-bg:#f4f5f7;--rt-line:#e7e9ee;font-family:inherit;color:var(--rt-ink);max-width:940px;margin:34px auto 0;padding:26px 20px 30px;background:var(--rt-bg);border-radius:22px;box-shadow:0 24px 60px -28px rgba(10,12,20,.55)}\n    .as-region-table *{box-sizing:border-box}\n    .as-region-table .as-rt-head{text-align:center;margin:0 0 20px}\n    .as-region-table .as-rt-title{font-size:clamp(21px,3.4vw,28px);font-weight:800;letter-spacing:-.01em;margin:0 0 6px;color:var(--rt-ink)}\n    .as-region-table .as-rt-subtitle{font-size:14px;color:var(--rt-ink-2);margin:0}\n    .as-region-table .as-rt-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 20px}\n    .as-region-table .as-rt-chip{font-family:inherit;font-size:13px;font-weight:700;color:var(--rt-ink);background:var(--rt-card);border:1px solid var(--rt-line);border-radius:999px;padding:9px 15px;cursor:pointer;line-height:1;transition:.15s;-webkit-tap-highlight-color:transparent}\n    .as-region-table .as-rt-chip .as-rt-cc{color:var(--rt-faint);font-weight:700;margin-left:6px}\n    .as-region-table .as-rt-chip:hover{border-color:var(--rt-orange)}\n    .as-region-table .as-rt-chip[aria-pressed=\"true\"]{background:var(--rt-orange);border-color:var(--rt-orange);color:#fff}\n    .as-region-table .as-rt-chip[aria-pressed=\"true\"] .as-rt-cc{color:rgba(255,255,255,.8)}\n    .as-region-table .as-rt-chip:focus-visible{outline:2px solid var(--rt-orange);outline-offset:2px}\n    .as-region-table .as-rt-groups{display:flex;flex-direction:column;gap:14px}\n    .as-region-table .as-rt-group{background:var(--rt-card);border:1px solid var(--rt-line);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(10,12,20,.04)}\n    .as-region-table .as-rt-group[hidden]{display:none}\n    .as-region-table .as-rt-acc{font-family:inherit;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:0;color:var(--rt-ink);padding:16px 18px;cursor:pointer;text-align:left;line-height:1.2;-webkit-tap-highlight-color:transparent}\n    .as-region-table .as-rt-acc:hover{background:#fafbfc}\n    .as-region-table .as-rt-acc:focus-visible{outline:2px solid var(--rt-orange);outline-offset:-3px}\n    .as-region-table .as-rt-acc-name{font-size:16px;font-weight:800;text-transform:capitalize}\n    .as-region-table .as-rt-acc-right{display:flex;align-items:center;gap:12px;flex-shrink:0}\n    .as-region-table .as-rt-acc-count{font-size:12px;font-weight:800;color:var(--rt-orange);background:rgba(255,102,0,.12);border-radius:999px;padding:4px 10px;min-width:26px;text-align:center}\n    .as-region-table .as-rt-chev{width:11px;height:11px;border-right:2px solid var(--rt-faint);border-bottom:2px solid var(--rt-faint);transform:rotate(45deg);transition:transform .2s;margin-top:-4px}\n    .as-region-table .as-rt-acc[aria-expanded=\"false\"] .as-rt-chev{transform:rotate(-45deg);margin-top:2px}\n    .as-region-table .as-rt-acc[aria-expanded=\"false\"]+.as-rt-pw{display:none}\n    .as-region-table .as-rt-list{list-style:none;margin:0;padding:0}\n    .as-region-table .as-rt-studio{display:grid;grid-template-columns:1fr auto;gap:8px 18px;align-items:center;padding:16px 18px;border-top:1px solid var(--rt-line)}\n    .as-region-table .as-rt-nl{display:flex;align-items:center;flex-wrap:wrap;gap:9px}\n    .as-region-table .as-rt-name{font-size:15.5px;font-weight:800}\n    .as-region-table .as-rt-badge{font-size:10px;font-weight:800;letter-spacing:.5px;color:#fff;background:var(--rt-orange);border-radius:5px;padding:3px 8px;line-height:1}\n    .as-region-table .as-rt-badge-inst{font-size:10px;font-weight:800;letter-spacing:.5px;color:#5b616e;background:#eef0f3;border:1px solid #e0e3e9;border-radius:5px;padding:2px 7px;line-height:1}\n    .as-region-table .as-rt-meta{font-size:13px;color:var(--rt-ink-2);margin-top:4px;line-height:1.45}\n    .as-region-table .as-rt-note{font-size:12px;color:var(--rt-orange);margin-top:5px;font-weight:700}\n    .as-region-table .as-rt-acts{display:flex;gap:8px;flex-shrink:0}\n    .as-region-table .as-rt-btn{display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:13px;font-weight:800;border-radius:10px;padding:10px 14px;text-decoration:none;white-space:nowrap;cursor:pointer;transition:.15s;border:1px solid var(--rt-line)}\n    .as-region-table .as-rt-tel{color:var(--rt-ink);background:#fff}\n    .as-region-table .as-rt-tel:hover{border-color:var(--rt-orange);color:var(--rt-orange)}\n    .as-region-table .as-rt-mail{color:#fff;background:var(--rt-orange);border-color:var(--rt-orange)}\n    .as-region-table .as-rt-mail:hover{background:#e65c00;border-color:#e65c00}\n    .as-region-table .as-rt-btn:focus-visible{outline:2px solid var(--rt-orange);outline-offset:2px}\n    .as-region-table .as-rt-ico{width:14px;height:14px;flex-shrink:0;fill:currentColor}\n    .as-region-table .as-rt-empty{text-align:center;color:var(--rt-ink-2);font-size:14px;padding:30px 16px;border:1px dashed var(--rt-line);border-radius:16px;background:var(--rt-card)}\n    .as-region-table .as-rt-empty[hidden]{display:none}\n    @media (max-width:620px){.as-region-table{padding:20px 12px 24px}.as-region-table .as-rt-studio{grid-template-columns:1fr;gap:12px}.as-region-table .as-rt-acts{width:100%}.as-region-table .as-rt-btn{flex:1;justify-content:center}}\n    @media (prefers-reduced-motion:reduce){.as-region-table .as-rt-chip,.as-region-table .as-rt-btn,.as-region-table .as-rt-chev{transition:none}}\n  <\/style>\n  <div class=\"as-rt-head\">\n    <h2 class=\"as-rt-title\">Wszystkie studia ADBL Approved<\/h2>\n    <p class=\"as-rt-subtitle\">Wybierz wojew\u00f3dztwo, aby zobaczy\u0107 list\u0119 studi\u00f3w<\/p>\n  <\/div>\n  <div class=\"as-rt-filters\" role=\"group\" aria-label=\"Filtr wojew\u00f3dztw\"><\/div>\n  <div class=\"as-rt-groups\"><\/div>\n  <div class=\"as-rt-empty\" hidden>Brak studi\u00f3w dla wybranego wojew\u00f3dztwa.<\/div>\n  <script>\n    (function(){\n      var root=document.querySelector('.as-region-table[data-as-rt=\"approved-studios\"]');\n      if(!root||root.dataset.asRtInited===\"1\")return;root.dataset.asRtInited=\"1\";\n      var CC=\"adrian.ogierman@adbl.eu\";\n      var SUBJ=\"Przekierowanie z ADBL Approved - wycena dla klienta\";\n      var DATA=[{name:\"Art of Detail Car Spa\",region:\"lubelskie\",city:\"\u0141uk\u00f3w\",addr:\"\u0141azy 23J, 21-400 \u0141uk\u00f3w\",tel:\"+48 793 036 665\",email:\"Carspalukow@gmail.com\",distributor:!1},\n        {name:\"ICE Detailing Warszawa\",region:\"mazowieckie\",city:\"Warszawa\",addr:\"Przec\u0142awska 5, 03-879 Warszawa\",tel:\"+48 509 080 278\",email:\"biuro@ice-detailing.pl\",distributor:false},\n        {name:\"ELEGANCKO Detailing\",region:\"mazowieckie\",city:\"Pruszk\u00f3w\",addr:\"3 Maja 9, 05-800 Pruszk\u00f3w\",tel:\"+48 730 111 911\",email:\"biuro@elegancko-detailing.pl\",distributor:false},\n        {name:\"Renowacja Sk\u00f3r Andrzej Grodzki\",region:\"mazowieckie\",city:\"Koby\u0142ka\",addr:\"Boles\u0142awa Chrobrego 39, 05-230 Koby\u0142ka\",tel:\"+48 514 929 399\",email:\"kontakt.renowacja.skory@gmail.com\",distributor:false},\n        {name:\"Venom Car Studio\",region:\"mazowieckie\",city:\"Nowe Gulczewo\",addr:\"ul. Szlachecka 7, 09-410 Nowe Gulczewo\",tel:\"+48 723 330 440\",email:\"venomcarstudio@gmail.com\",distributor:false},\n        {name:\"Toyota Nowakowski Bielany\",region:\"dolno\u015bl\u0105skie\",city:\"Bielany Wroc\u0142awskie\",addr:\"Czekoladowa 10, 55-040 Bielany Wroc\u0142awskie\",tel:\"+48 71 799 60 60\",email:\"recepcja@toyotanowakowski.pl\",note:\"Tylko dla klient\u00f3w salonu\",distributor:false},\n        {name:\"KW Carprotect\",region:\"dolno\u015bl\u0105skie\",city:\"Oborniki \u015al\u0105skie\",addr:\"ul. Przemys\u0142owa 2, 55-120 Oborniki \u015al\u0105skie\",tel:\"+48 882 349 688\",email:\"Wozniak_krzysztof@yahoo.com\",distributor:false},\n        {name:\"Pro Car Detailing Krak\u00f3w\",region:\"ma\u0142opolskie\",city:\"Krak\u00f3w\",addr:\"ul. Romanowicza 19a, 30-702 Krak\u00f3w\",tel:\"+48 503 046 494\",email:\"kontakt@procardetailing.pl\",distributor:false},\n        {name:\"Anatomia Detailingu\",region:\"ma\u0142opolskie\",city:\"Krak\u00f3w\",addr:\"ul. Ofiar D\u0105bia 2d, 31-566 Krak\u00f3w\",tel:\"+48 784 489 899\",email:\"biuro@anatomiadetailingu.pl\",distributor:false},\n        {name:\"Omega Auto Spa & Detailing\",region:\"ma\u0142opolskie\",city:\"Krak\u00f3w\",addr:\"Przew\u00f3z 34B, 30-716 Krak\u00f3w\",tel:\"+48 784 784 749\",email:\"myjniaomega@gmail.com\",distributor:false},\n        {name:\"AutoClean Detailing Krak\u00f3w\",region:\"ma\u0142opolskie\",city:\"Krak\u00f3w\",addr:\"ul. Zakopia\u0144ska 62, 30-418 Krak\u00f3w\",tel:\"+48 796 550 962\",email:\"detailing@autoclean.pl\",distributor:false},\n        {name:\"MotoMy Krak\u00f3w\",region:\"ma\u0142opolskie\",city:\"Krak\u00f3w\",addr:\"ul. p\u0142k. Stanis\u0142awa D\u0105bka 10, 30-832 Krak\u00f3w\",tel:\"+48 500 360 305\",email:\"Biuro@motomy.pl\",installer:false,distributor:true},\n        {name:\"Folia-Samochodowa.pl\",region:\"ma\u0142opolskie\",city:\"Krak\u00f3w\",addr:\"ul. Piotra Brzezi\u0144skiego 39, 30-198 Krak\u00f3w\",tel:\"+48 732 082 998\",email:\"info@folia-samochodowa.pl\",installer:false,reseller:true},\n        {name:\"Detailing Klasse Cz\u0119stochowa\",region:\"\u015bl\u0105skie\",city:\"Cz\u0119stochowa\",addr:\"Makuszy\u0144skiego 92A, 42-209 Cz\u0119stochowa\",tel:\"+48 502 521 909\",email:\"detailingklasse42200@gmail.com\",distributor:false},\n        {name:\"Black Diamond Detailing\",region:\"\u015bl\u0105skie\",city:\"Chorz\u00f3w\",addr:\"al. Bojownik\u00f3w o Wolno\u015b\u0107 i Demokracj\u0119 50, 41-506 Chorz\u00f3w\",tel:\"+48 885 044 002\",email:\"kontakt@detailing-slask.pl\",distributor:false},\n        {name:\"Mechtal Garage\",region:\"\u015bl\u0105skie\",city:\"Zabrze\",addr:\"P\u0142k. Franciszka Niepok\u00f3lczyckiego 41, 41-813 Zabrze\",tel:\"+48 513 297 592\",email:\"Kontakt@mechtal-garage.pl\",distributor:false},\n        {name:\"Stage. Studio Detailingu\",region:\"\u015bl\u0105skie\",city:\"Mi\u0119dzyrzecze G\u00f3rne\",addr:\"ul. Bielska 819, 43-392 Mi\u0119dzyrzecze G\u00f3rne\",tel:\"+48 786 901 650\",email:\"stagedetail@gmail.com\",distributor:false},\n        {name:\"Zorro Customs\",region:\"wielkopolskie\",city:\"Pozna\u0144\",addr:\"ul. Hallera 6\/8, 61-001 Pozna\u0144\",tel:\"+48 536 597 947\",email:\"kontakt@zorrocustoms.pl\",distributor:true},\n        {name:\"Cherry Car Autodetailing\",region:\"lubelskie\",city:\"Styrzyniec\",addr:\"ul. Warszawska 7, 21-500 Styrzyniec\",tel:\"+48 514 514 117\",email:\"cherrycar.detailing@wp.pl\",distributor:false},\n        {name:\"PRIME Auto Spa\",region:\"lubelskie\",city:\"Lublin\",addr:\"al. Kra\u015bnicka 217b, 20-718 Lublin\",tel:\"+48 720 898 020\",email:\"biuro@primeautospa.pl\",distributor:true},\n        {name:\"GDP Garage Auto Detailing\",region:\"lubelskie\",city:\"Lublin\",addr:\"ul. Berberysowa 2, 20-136 Lublin\",tel:\"+48 790 312 899\",email:\"gdpgaragedetailing@gmail.com\",distributor:false},\n        {name:\"WrapManiak\",region:\"pomorskie\",city:\"Reda\",addr:\"ul. Pucka 10B, 84-240 Reda\",tel:\"+48 669 036 735\",email:\"wrapmaniak20@gmail.com\",distributor:false},\n        {name:\"Wrap Port\",region:\"pomorskie\",city:\"Gda\u0144sk\",addr:\"Lubowidzka 41C, 80-174 Gda\u0144sk\",tel:\"+48 789 112 750\",email:\"adbl@wrapport.pl\",distributor:true}\n      ];\n      var filtersEl=root.querySelector(\".as-rt-filters\"),groupsEl=root.querySelector(\".as-rt-groups\"),emptyEl=root.querySelector(\".as-rt-empty\");\n      var ALL=\"__all__\",active=ALL;\n      function telHref(t){return(t||\"\").replace(\/[^\\d+]\/g,\"\")}\n      function mailHref(s){var to=s.email?s.email:CC;var q=\"subject=\"+encodeURIComponent(SUBJ);if(s.email)q+=\"&bcc=\"+encodeURIComponent(CC);return \"mailto:\"+to+\"?\"+q}\n      function track(s,ev){try{window.dataLayer=window.dataLayer||[];window.dataLayer.push({event:ev,studio:s.name,region:s.region,source:\"approved_table\"});}catch(e){}}\n      var SVGNS=\"http:\/\/www.w3.org\/2000\/svg\";\n      function el(t,c,x){var n=document.createElement(t);if(c)n.className=c;if(x!=null)n.textContent=x;return n}\n      function ico(d){var s=document.createElementNS(SVGNS,\"svg\");s.setAttribute(\"class\",\"as-rt-ico\");s.setAttribute(\"viewBox\",\"0 0 24 24\");s.setAttribute(\"aria-hidden\",\"true\");var p=document.createElementNS(SVGNS,\"path\");p.setAttribute(\"d\",d);s.appendChild(p);return s}\n      var D_TEL=\"M20 15.5a1 1 0 0 0-1-1l-3.3-.4a1 1 0 0 0-.9.3l-1.5 1.5a13 13 0 0 1-5.7-5.7l1.5-1.5a1 1 0 0 0 .3-.9L8.5 5a1 1 0 0 0-1-.9H4.6A1.1 1.1 0 0 0 3.5 5.3 16.5 16.5 0 0 0 18.7 20.5a1.1 1.1 0 0 0 1.2-1.1z\";\n      var D_MAIL=\"M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm9 7L4 7v1l8 5 8-5V7l-8 5z\";\n      var gmap={};DATA.forEach(function(s){(gmap[s.region]=gmap[s.region]||[]).push(s)});\n      var regions=Object.keys(gmap).sort(function(a,b){var d=gmap[b].length-gmap[a].length;return d!==0?d:a.localeCompare(b,\"pl\")});\n      function chip(label,val,cnt){var b=el(\"button\",\"as-rt-chip\");b.type=\"button\";b.setAttribute(\"aria-pressed\",val===active?\"true\":\"false\");b.dataset.region=val;b.appendChild(document.createTextNode(label));if(cnt!=null)b.appendChild(el(\"span\",\"as-rt-cc\",\"(\"+cnt+\")\"));return b}\n      filtersEl.appendChild(chip(\"Wszystkie\",ALL,DATA.length));\n      regions.forEach(function(r){filtersEl.appendChild(chip(r,r,gmap[r].length))});\n      regions.forEach(function(region){\n        var studios=gmap[region];\n        var g=el(\"div\",\"as-rt-group\");g.dataset.region=region;\n        var aid=\"as-rt-a-\"+region.replace(\/[^a-z]\/gi,\"\"),pid=\"as-rt-p-\"+region.replace(\/[^a-z]\/gi,\"\");\n        var acc=el(\"button\",\"as-rt-acc\");acc.type=\"button\";acc.id=aid;acc.setAttribute(\"aria-expanded\",\"true\");acc.setAttribute(\"aria-controls\",pid);\n        acc.appendChild(el(\"span\",\"as-rt-acc-name\",region));\n        var ar=el(\"span\",\"as-rt-acc-right\");ar.appendChild(el(\"span\",\"as-rt-acc-count\",String(studios.length)));var ch=el(\"span\",\"as-rt-chev\");ch.setAttribute(\"aria-hidden\",\"true\");ar.appendChild(ch);acc.appendChild(ar);\n        var pw=el(\"div\",\"as-rt-pw\");pw.id=pid;pw.setAttribute(\"role\",\"region\");pw.setAttribute(\"aria-labelledby\",aid);\n        var ul=el(\"ul\",\"as-rt-list\");\n        studios.forEach(function(s){\n          var li=el(\"li\",\"as-rt-studio\");\n          var c1=el(\"div\");var nl=el(\"div\",\"as-rt-nl\");nl.appendChild(el(\"span\",\"as-rt-name\",s.name));if(s.installer!==false)nl.appendChild(el(\"span\",\"as-rt-badge-inst\",\"INSTALATOR\"));if(s.distributor)nl.appendChild(el(\"span\",\"as-rt-badge\",\"DYSTRYBUTOR\"));if(s.reseller)nl.appendChild(el(\"span\",\"as-rt-badge\",\"RESELLER\"));c1.appendChild(nl);\n          c1.appendChild(el(\"div\",\"as-rt-meta\",s.city+\" \u00b7 \"+s.addr+(s.tel?\" \u00b7 \"+s.tel:\"\")));if(s.note)c1.appendChild(el(\"div\",\"as-rt-note\",s.note));\n          var acts=el(\"div\",\"as-rt-acts\");\n          var tel=el(\"a\",\"as-rt-btn as-rt-tel\");tel.href=\"tel:\"+telHref(s.tel);tel.setAttribute(\"aria-label\",\"Zadzwo\u0144: \"+s.name);tel.appendChild(ico(D_TEL));tel.appendChild(document.createTextNode(\"Zadzwo\u0144\"));\n          tel.addEventListener(\"click\",function(){track(s,\"studio_call_click\")});\n          var mail=el(\"a\",\"as-rt-btn as-rt-mail\");mail.href=mailHref(s);mail.setAttribute(\"aria-label\",\"Wy\u015blij email: \"+s.name);mail.appendChild(ico(D_MAIL));mail.appendChild(document.createTextNode(\"Wy\u015blij email\"));\n          mail.addEventListener(\"click\",function(){track(s,\"studio_email_click\")});\n          acts.appendChild(tel);acts.appendChild(mail);\n          li.appendChild(c1);li.appendChild(acts);ul.appendChild(li);\n        });\n        pw.appendChild(ul);g.appendChild(acc);g.appendChild(pw);groupsEl.appendChild(g);\n        function toggle(){acc.setAttribute(\"aria-expanded\",acc.getAttribute(\"aria-expanded\")===\"true\"?\"false\":\"true\")}\n        acc.addEventListener(\"click\",toggle);\n        acc.addEventListener(\"keydown\",function(e){if(e.key===\"Enter\"||e.key===\" \"||e.key===\"Spacebar\"){e.preventDefault();toggle()}});\n      });\n      function apply(){var any=false;groupsEl.querySelectorAll(\".as-rt-group\").forEach(function(g){var show=active===ALL||g.dataset.region===active;g.hidden=!show;if(show){any=true;if(active!==ALL){var a=g.querySelector(\".as-rt-acc\");if(a)a.setAttribute(\"aria-expanded\",\"true\")}}});emptyEl.hidden=any}\n      filtersEl.addEventListener(\"click\",function(e){var c=e.target&&e.target.closest?e.target.closest(\".as-rt-chip\"):null;if(!c)return;active=c.dataset.region;filtersEl.querySelectorAll(\".as-rt-chip\").forEach(function(x){x.setAttribute(\"aria-pressed\",x===c?\"true\":\"false\")});apply()});\n      apply();\n    })();\n  <\/script>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4572e16 elementor-widget-mobile__width-inherit sc_fly_static elementor-widget elementor-widget-text-editor\" data-id=\"4572e16\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Kliknij w lokalizacj\u0119, aby wy\u015bwietli\u0107 list\u0119 studi\u00f3w detailingowych ADBL Approved.\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section-with-custom-width elementor-section elementor-top-section elementor-element elementor-element-apmore01 elementor-section-boxed elementor-section-height-default elementor-section-height-default sc_fly_static\" data-id=\"apmore01\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-extended\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-apmore01c sc_content_align_inherit sc_layouts_column_icons_position_left sc_fly_static\" data-id=\"apmore01c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-apmore01w sc_fly_static elementor-widget elementor-widget-html\" data-id=\"apmore01w\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"ap-landing ap-v2\">\n<style>\n.ap-v2 .ap-more{padding:48px 0 64px;background:var(--bg);border-bottom:1px solid var(--line)}\n.ap-v2 .ap-more-banner{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:center;padding:48px 56px;background:#0e0e10;border:1px solid #ff6600;position:relative;overflow:hidden;border-radius:0}\n@media (max-width:980px){.ap-v2 .ap-more-banner{grid-template-columns:1fr;gap:28px;padding:40px 28px}}\n.ap-v2 .ap-more-banner::before{content:\"\";position:absolute;left:0;top:0;width:48px;height:2px;background:#ff6600}\n.ap-v2 .ap-more-text{position:relative;z-index:2}\n.ap-v2 .ap-more-eye{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#ff6600;display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}\n.ap-v2 .ap-more-eye::before{content:\"\";width:8px;height:8px;border-radius:50%;background:#ff6600}\n.ap-v2 .ap-more-h{font-family:var(--display);font-size:clamp(28px,3.5vw,42px);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:1;color:#e8e8ec;margin:0 0 14px}\n.ap-v2 .ap-more-h em{font-style:normal;color:#ff6600}\n.ap-v2 .ap-more-p{font-size:14.5px;line-height:1.65;color:#cfcfd4;margin:0;font-weight:400;max-width:560px}\n.ap-v2 .ap-more-cta{display:inline-flex;align-items:center;gap:14px;text-decoration:none;background:transparent;color:#ff6600;border:1.5px solid #ff6600;padding:20px 30px;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;transition:all .2s ease;position:relative;z-index:2;justify-self:end;white-space:nowrap}\n@media (max-width:980px){.ap-v2 .ap-more-cta{justify-self:start}}\n.ap-v2 .ap-more-cta:hover{background:#ff6600;color:#050506;border-color:#ff6600}\n.ap-v2 .ap-more-cta-arr{width:22px;height:22px;transition:transform .2s ease;flex-shrink:0}\n.ap-v2 .ap-more-cta:hover .ap-more-cta-arr{transform:translateX(6px)}\n<\/style>\n\n<section class=\"ap-more\">\n<div class=\"ap-wrap\">\n<div class=\"ap-more-banner\">\n<div class=\"ap-more-text\">\n<span class=\"ap-more-eye\">Folia PPF \u00b7 ADBL Protect<\/span>\n<h2 class=\"ap-more-h\">Chcesz dowiedzie\u0107 si\u0119 wi\u0119cej<br>o <em>naszej folii<\/em>?<\/h2>\n<p class=\"ap-more-p\">Specyfikacja techniczna, parametry 4-warstwowej folii korea\u0144skiej produkcji, samoregeneracja, hydrofobowo\u015b\u0107, anti-yellowing oraz pe\u0142ny katalog 3 wyko\u0144cze\u0144 Shield Gloss \/ Satin \/ Matte.<\/p>\n<\/div>\n<a class=\"ap-more-cta\" href=\"https:\/\/adblprotect.com\/pl\/\">\n<span>Poznaj foli\u0119 ADBL Protect<\/span>\n<svg class=\"ap-more-cta-arr\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5 12h14M13 6l6 6-6 6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n<\/a>\n<\/div>\n<\/div>\n<\/section>\n\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section-with-custom-width elementor-section elementor-top-section elementor-element elementor-element-apwhy01 elementor-section-boxed elementor-section-height-default elementor-section-height-default sc_fly_static\" data-id=\"apwhy01\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-extended\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-apwhy01c sc_content_align_inherit sc_layouts_column_icons_position_left sc_fly_static\" data-id=\"apwhy01c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-apwhy01w sc_fly_static elementor-widget elementor-widget-html\" data-id=\"apwhy01w\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"ap-landing ap-v2\">\n<style>\n\/* === DLACZEGO WARTO + CTA === *\/\n.ap-v2 .ap-section{position:relative;padding:88px 0;border-bottom:1px solid var(--line);background:var(--bg)}\n.ap-v2 .ap-section-head{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:start;margin-bottom:48px}\n@media (max-width:780px){.ap-v2 .ap-section-head{grid-template-columns:1fr;gap:18px}}\n.ap-v2 .ap-section-num{font-family:var(--display);font-size:clamp(72px,9vw,140px);line-height:.82;color:var(--bg-3);font-weight:800;letter-spacing:-.03em;margin:0;padding-bottom:8px;display:inline-block;min-width:140px;border-bottom:2px solid var(--silver);position:relative}\n.ap-v2 .ap-section-num::after{content:\"\";position:absolute;left:0;bottom:-2px;width:30px;height:2px;background:var(--orange)}\n.ap-v2 .ap-section-meta h2{font-family:var(--display);font-size:clamp(28px,3.5vw,42px);font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:1;margin:14px 0 18px;color:var(--silver-bright)}\n.ap-v2 .ap-section-meta h2 em{font-style:normal;color:var(--orange)}\n.ap-v2 .ap-section-meta p{font-size:15.5px;color:var(--fg-mute);line-height:1.7;max-width:760px;margin:0;font-weight:400}\n\n.ap-v2 .ap-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}\n@media (max-width:1024px){.ap-v2 .ap-why-grid{grid-template-columns:1fr 1fr}}\n@media (max-width:580px){.ap-v2 .ap-why-grid{grid-template-columns:1fr}}\n.ap-v2 .ap-why{position:relative;padding:30px 26px 32px;background:var(--bg-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:14px;transition:border-color .2s ease}\n.ap-v2 .ap-why::before{content:\"\";position:absolute;left:0;top:0;width:32px;height:2px;background:var(--orange)}\n.ap-v2 .ap-why:hover{border-color:var(--line-2)}\n.ap-v2 .ap-why-num{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.22em;color:var(--orange);text-transform:uppercase}\n.ap-v2 .ap-why-h{font-family:var(--display);font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:1.05;color:var(--silver-bright);margin:0}\n.ap-v2 .ap-why-h em{font-style:normal;color:var(--orange)}\n.ap-v2 .ap-why-p{font-size:13.5px;color:var(--fg-mute);line-height:1.65;margin:0;font-weight:400}\n.ap-v2 .ap-why-tag{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--silver);margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}\n\n\/* Proces - 4 steps z po\u0142\u0105czeniem lini\u0105 *\/\n.ap-v2 .ap-process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}\n@media (max-width:1024px){.ap-v2 .ap-process{grid-template-columns:1fr 1fr}}\n@media (max-width:580px){.ap-v2 .ap-process{grid-template-columns:1fr}}\n.ap-v2 .ap-step{position:relative;padding:30px 26px 32px;background:var(--bg-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:12px;transition:border-color .2s ease}\n.ap-v2 .ap-step::before{content:\"\";position:absolute;left:0;top:0;width:32px;height:2px;background:var(--orange)}\n.ap-v2 .ap-step:hover{border-color:var(--line-2)}\n.ap-v2 .ap-step-num{font-family:var(--display);font-size:48px;font-weight:800;color:var(--bg-3);letter-spacing:-.02em;line-height:.9}\n.ap-v2 .ap-step-h{font-family:var(--display);font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:1.05;color:var(--silver-bright);margin:0}\n.ap-v2 .ap-step-p{font-size:13.5px;color:var(--fg-mute);line-height:1.65;margin:0;font-weight:400}\n.ap-v2 .ap-step-tag{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}\n\n\/* Sample Box sekcja *\/\n.ap-v2 .ap-samplebox{background:linear-gradient(135deg,var(--bg-2) 0%,var(--bg) 100%);position:relative}\n.ap-v2 .ap-samplebox::before{content:\"\";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--orange),transparent)}\n.ap-v2 .ap-sb-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:center}\n@media (max-width:980px){.ap-v2 .ap-sb-grid{grid-template-columns:1fr;gap:32px}}\n.ap-v2 .ap-sb-info{display:flex;flex-direction:column;gap:18px}\n.ap-v2 .ap-sb-h{font-family:var(--display);font-size:clamp(34px,4.5vw,52px);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;color:var(--silver-bright);margin:0}\n.ap-v2 .ap-sb-h em{font-style:normal;color:var(--orange)}\n.ap-v2 .ap-sb-p{font-size:15.5px;color:var(--fg-mute);line-height:1.7;margin:0;font-weight:400}\n.ap-v2 .ap-sb-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:var(--bg);overflow:hidden;margin-top:8px}\n@media (max-width:580px){.ap-v2 .ap-sb-feats{grid-template-columns:1fr}}\n.ap-v2 .ap-sb-feat{padding:18px 18px;border-right:1px solid var(--line);position:relative;display:flex;flex-direction:column;gap:4px}\n.ap-v2 .ap-sb-feat:last-child{border-right:0}\n@media (max-width:580px){.ap-v2 .ap-sb-feat{border-right:0;border-bottom:1px solid var(--line)}.ap-v2 .ap-sb-feat:last-child{border-bottom:0}}\n.ap-v2 .ap-sb-feat-l{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-mute-2);font-weight:500}\n.ap-v2 .ap-sb-feat-v{font-family:var(--display);font-size:17px;font-weight:700;color:var(--silver-bright);letter-spacing:-.005em}\n.ap-v2 .ap-sb-cta{display:flex;flex-direction:column;gap:8px;padding:32px 28px;background:transparent;color:var(--orange);text-decoration:none;border:1.5px solid var(--orange);position:relative;transition:all .18s ease;overflow:hidden}\n.ap-v2 .ap-sb-cta::before{content:\"\";position:absolute;left:0;top:0;width:48px;height:2px;background:var(--orange)}\n.ap-v2 .ap-sb-cta:hover{background:var(--orange);color:var(--bg);border-color:var(--orange)}\n.ap-v2 .ap-sb-cta-l{font-family:var(--display);font-size:24px;font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:1.1;color:inherit}\n.ap-v2 .ap-sb-cta-s{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute-2)}\n.ap-v2 .ap-sb-cta:hover .ap-sb-cta-s{color:rgba(5,5,6,.7)}\n.ap-v2 .ap-sb-cta-arr{width:24px;height:24px;position:absolute;right:28px;top:50%;transform:translateY(-50%);color:inherit}\n.ap-v2 .ap-sb-cta:hover .ap-sb-cta-arr{transform:translate(6px,-50%)}\n\n\/* CTA *\/\n.ap-v2 .ap-cta{position:relative;padding:96px 0;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line)}\n.ap-v2 .ap-cta::before{content:\"\";position:absolute;inset:0;background-image:linear-gradient(rgba(232,232,236,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(232,232,236,.025) 1px,transparent 1px);background-size:64px 64px}\n.ap-v2 .ap-cta::after{content:\"\";position:absolute;left:30%;top:-200px;width:700px;height:700px;background:radial-gradient(circle,rgba(255,102,0,.06),transparent 60%);pointer-events:none}\n.ap-v2 .ap-cta-inner{position:relative;text-align:center;max-width:760px;margin:0 auto;padding:0 24px}\n.ap-v2 .ap-cta .ap-eyebrow{justify-content:center;display:inline-flex;margin-bottom:16px}\n.ap-v2 .ap-cta h2{font-family:var(--display);font-size:clamp(34px,5vw,56px);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:1;color:var(--silver-bright);margin:0 0 18px}\n.ap-v2 .ap-cta h2 em{font-style:normal;color:var(--orange)}\n.ap-v2 .ap-cta p{font-size:15.5px;color:var(--fg-mute);line-height:1.7;margin:0 0 32px;font-weight:400}\n.ap-v2 .ap-cta-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}\n.ap-v2 .ap-cta-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:18px 28px;border-radius:var(--r-sm);text-decoration:none;transition:all .18s ease;position:relative;white-space:nowrap}\n.ap-v2 .ap-cta-btn-primary{background:transparent;color:var(--orange);border:1.5px solid var(--orange)}\n.ap-v2 .ap-cta-btn-primary:hover{background:var(--orange);color:var(--bg);border-color:var(--orange)}\n.ap-v2 .ap-cta-btn-ghost{background:transparent;color:var(--silver-bright);border:1px solid var(--line-2)}\n.ap-v2 .ap-cta-btn-ghost:hover{border-color:var(--silver-bright);background:rgba(232,232,236,.04)}\n<\/style>\n\n<section class=\"ap-section\" id=\"dlaczego\">\n<div class=\"ap-wrap\">\n<header class=\"ap-section-head\">\n<h3 class=\"ap-section-num\">02<\/h3>\n<div class=\"ap-section-meta\">\n<span class=\"ap-eyebrow\">Program Approved \u00b7 Korzy\u015bci<\/span>\n<h2>Dlaczego <em>tylko Approved<\/em><\/h2>\n<p>Program ADBL Approved \u0142\u0105czy foli\u0119 PPF korea\u0144skiej produkcji z akredytowanymi przez producenta instalatorami. Jako klient otrzymujesz najlepszy materia\u0142, najwy\u017csz\u0105 jako\u015b\u0107 aplikacji i pe\u0142n\u0105 10-letni\u0105 gwarancj\u0119 producenta.<\/p>\n<\/div>\n<\/header>\n<div class=\"ap-why-grid\">\n<article class=\"ap-why\">\n<span class=\"ap-why-num\">01<\/span>\n<h3 class=\"ap-why-h\">Materia\u0142<em>.<\/em><\/h3>\n<p class=\"ap-why-p\">4-warstwowa folia PPF wyprodukowana w Korei. Samoregeneracja drobnych rys od ciep\u0142a s\u0142onecznego, anti-yellowing top coat, 1000 h test xenonowy.<\/p>\n<div class=\"ap-why-tag\">Zaprojektowane w Polsce \u00b7 wyprodukowane w Korei \u00b7 200-210 \u03bcm<\/div>\n<\/article>\n<article class=\"ap-why\">\n<span class=\"ap-why-num\">02<\/span>\n<h3 class=\"ap-why-h\">Aplikacja<em>.<\/em><\/h3>\n<p class=\"ap-why-p\">Studia Approved to instalatorzy, kt\u00f3rych prace sprawdzili\u015bmy przed nadaniem statusu: na indywidualnym szkoleniu weryfikuj\u0105cym w Get Fun Center albo podczas wizyty naszego opiekuna handlowego w studiu.<\/p>\n<div class=\"ap-why-tag\">Weryfikacja prac przed statusem<\/div>\n<\/article>\n<article class=\"ap-why\">\n<span class=\"ap-why-num\">03<\/span>\n<h3 class=\"ap-why-h\">Gwarancja<em>.<\/em><\/h3>\n<p class=\"ap-why-p\">10 lat gwarancji producenta po aplikacji w studiu Approved i rejestracji gwarancji. Obejmuje rozwarstwienie, p\u0119cherze i \u017c\u00f3\u0142kni\u0119cie folii.<\/p>\n<div class=\"ap-why-tag\">10 lat \u00b7 tylko pro studio<\/div>\n<\/article>\n<article class=\"ap-why\">\n<span class=\"ap-why-num\">04<\/span>\n<h3 class=\"ap-why-h\">Wsparcie<em>.<\/em><\/h3>\n<p class=\"ap-why-p\">Studio ma bezpo\u015bredni kontakt z opiekunem handlowym ADBL Protect, preferencyjne warunki zakupu i wsparcie techniczne.<\/p>\n<div class=\"ap-why-tag\">Opiekun handlowy \u00b7 Producent<\/div>\n<\/article>\n<\/div>\n<\/div>\n<\/section>\n\n\n<section class=\"ap-section\" id=\"proces\">\n<div class=\"ap-wrap\">\n<header class=\"ap-section-head\">\n<h3 class=\"ap-section-num\">03<\/h3>\n<div class=\"ap-section-meta\">\n<span class=\"ap-eyebrow\">Weryfikacja \u00b7 Sie\u0107 Approved<\/span>\n<h2>Proces, kt\u00f3ry <em>musi spe\u0142ni\u0107<\/em> studio<\/h2>\n<p>Studio nie wchodzi do sieci Approved z dnia na dzie\u0144. Status nadajemy dopiero po sprawdzeniu jako\u015bci jego prac.<\/p>\n<\/div>\n<\/header>\n<div class=\"ap-process\">\n<article class=\"ap-step\">\n<span class=\"ap-step-num\">01<\/span>\n<h3 class=\"ap-step-h\">Zg\u0142oszenie<\/h3>\n<p class=\"ap-step-p\">Studio wysy\u0142a zapytanie B2B przez formularz albo dzwoni do nas.<\/p>\n<div class=\"ap-step-tag\">Formularz B2B \u00b7 Telefon<\/div>\n<\/article>\n<article class=\"ap-step\">\n<span class=\"ap-step-num\">02<\/span>\n<h3 class=\"ap-step-h\">Szkolenie albo wizyta<\/h3>\n<p class=\"ap-step-p\">Indywidualne szkolenie weryfikuj\u0105ce prace studia w Get Fun Center w Nowym Koniku pod Warszaw\u0105 albo wizyta naszego opiekuna handlowego w studiu.<\/p>\n<div class=\"ap-step-tag\">Get Fun Center \u00b7 Opiekun handlowy<\/div>\n<\/article>\n<article class=\"ap-step\">\n<span class=\"ap-step-num\">03<\/span>\n<h3 class=\"ap-step-h\">Weryfikacja jako\u015bci<\/h3>\n<p class=\"ap-step-p\">Przegl\u0105d pierwszych aplikacji wykonanych przez studio.<\/p>\n<div class=\"ap-step-tag\">Kontrola jako\u015bci<\/div>\n<\/article>\n<article class=\"ap-step\">\n<span class=\"ap-step-num\">04<\/span>\n<h3 class=\"ap-step-h\">Wpis na map\u0119<\/h3>\n<p class=\"ap-step-p\">Studio pojawia si\u0119 na mapie ADBL Approved na tej stronie, a klienci mog\u0105 je wybra\u0107 w szybkiej wycenie.<\/p>\n<div class=\"ap-step-tag\">Mapa Approved \u00b7 Szybka wycena<\/div>\n<\/article>\n<\/div>\n<\/div>\n<\/section>\n\n\n<section class=\"ap-cta\">\n<div class=\"ap-cta-inner\">\n<span class=\"ap-eyebrow\">Nie znalaz\u0142e\u015b studia?<\/span>\n<h2>Skontaktuj si\u0119 z <em>ADBL Protect<\/em><\/h2>\n<p>Pomo\u017cemy znale\u017a\u0107 najbli\u017cszego instalatora lub skierujemy do dystrybutora ADBL Protect w Twojej okolicy. Je\u015bli prowadzisz studio detailingu i chcesz do\u0142\u0105czy\u0107 do sieci Approved - napisz do nas.<\/p>\n<div class=\"ap-cta-btns\">\n<a class=\"ap-cta-btn ap-cta-btn-primary\" href=\"mailto:adrian.ogierman@adbl.eu?subject=Zapytanie%20-%20ADBL%20Protect%20Approved\">Napisz do nas<\/a>\n<a class=\"ap-cta-btn ap-cta-btn-ghost\" href=\"https:\/\/shop.adblprotect.com\/produkt\/adbl-sample-box\/\" target=\"_blank\" rel=\"noopener\">Zam\u00f3w Sample Box<\/a>\n<\/div>\n<\/div>\n<\/section>\n\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>zam\u00f3w wycen\u0119 oklejenia samochodu u naszych partner\u00f3w Znajd\u017a studio ADBL Approved w Twojej okolicy i oklej auto foli\u0105 PPF, kt\u00f3ra realnie chroni lakier. System ADBL Protect to autorska technologia, produkcja&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_theme","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-35593","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/adblprotect.com\/pl\/wp-json\/wp\/v2\/pages\/35593","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adblprotect.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/adblprotect.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/adblprotect.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adblprotect.com\/pl\/wp-json\/wp\/v2\/comments?post=35593"}],"version-history":[{"count":171,"href":"https:\/\/adblprotect.com\/pl\/wp-json\/wp\/v2\/pages\/35593\/revisions"}],"predecessor-version":[{"id":37569,"href":"https:\/\/adblprotect.com\/pl\/wp-json\/wp\/v2\/pages\/35593\/revisions\/37569"}],"wp:attachment":[{"href":"https:\/\/adblprotect.com\/pl\/wp-json\/wp\/v2\/media?parent=35593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}