{"product_id":"rippa-r15-eco-z-silnikiem-kubota","title":"Rippa R15 ECO z silnikiem Kubota","description":"\u003cstyle\u003e\n  .r15eco-desc{\n    --space-xs:10px; --space-sm:16px; --space-md:24px; --space-lg:40px; --space-xl:56px;\n    --radius:14px;\n\n    \/* blue theme matched to your comparison table *\/\n    --wrap-bg:#f4f9ff;\n    --border:#d3e4ff;\n    --chip:#eef5ff;\n    --fg:#123456;\n    --muted:#335;\n    --heading:#0056b3;\n\n    --pill-bg:#e8f3ff;\n    --pill-border:#c5dbff;\n    --pill-text:#114a8b;\n\n    --grad-a:#008cff;\n    --grad-b:#005dcd;\n\n    max-width: 1100px;\n    margin: 0 auto;\n    color: var(--fg);\n    line-height: 1.65;\n    font-size:16px;\n  }\n\n  \/* Language tabs (default: PL) *\/\n  .r15eco-desc .lang-tabs{\n    display:flex; justify-content:center; gap:10px;\n    margin: var(--space-lg) 0 var(--space-md);\n    flex-wrap:wrap;\n  }\n  .r15eco-desc .lang-tab{\n    border:1px solid var(--pill-border);\n    padding:8px 14px;\n    border-radius:999px;\n    background: var(--pill-bg);\n    color: var(--pill-text);\n    cursor:pointer;\n    font-weight:800;\n    transition: all 0.15s ease;\n  }\n  .r15eco-desc .lang-tab:hover{\n    transform: translateY(-1px);\n    box-shadow: 0 3px 6px rgba(0,0,0,0.08);\n  }\n  .r15eco-desc .lang-tab.active{\n    background: linear-gradient(135deg, var(--grad-a), var(--grad-b));\n    color:#fff;\n    border-color: var(--grad-b);\n    box-shadow: 0 0 0 1px rgba(0,93,205,0.15);\n  }\n  .r15eco-desc .pane{display:none;}\n  .r15eco-desc .pane.active{display:block;}\n\n  \/* Headings \u0026 lede *\/\n  .r15eco-desc h2{\n    text-align:center;\n    margin: var(--space-lg) 0 var(--space-sm);\n    font-size: clamp(1.35rem, 1.2vw + 1rem, 1.8rem);\n    color: var(--heading);\n    font-weight: 800;\n  }\n  .r15eco-desc .lede{\n    text-align:center;\n    margin: var(--space-sm) auto var(--space-lg);\n    max-width: 820px;\n    color: var(--muted);\n  }\n\n  \/* Fast facts tiles *\/\n  .r15eco-desc .facts{\n    display:grid; gap:14px; grid-template-columns: repeat(6, 1fr);\n  }\n  @media (max-width:1080px){ .r15eco-desc .facts{grid-template-columns: repeat(3, 1fr);} }\n  @media (max-width:640px){ .r15eco-desc .facts{grid-template-columns: repeat(2, 1fr);} }\n\n  .r15eco-desc .fact{\n    background: var(--chip);\n    border:1px solid var(--border);\n    border-radius: var(--radius);\n    padding:14px;\n    text-align:center;\n  }\n  .r15eco-desc .fact .k{ display:block; font-size:12px; color: var(--muted); opacity:0.9; margin-bottom:6px; }\n  .r15eco-desc .fact .v{ font-weight:900; font-size:15px; color: var(--fg); }\n\n  \/* Sections \u0026 cards *\/\n  .r15eco-desc section{margin: var(--space-xl) 0;}\n  .r15eco-desc .card{\n    background: #fff;\n    border:1px solid var(--border);\n    border-radius: var(--radius);\n    padding: var(--space-md);\n  }\n\n  \/* Included grid *\/\n  .r15eco-desc .included-grid{\n    display:grid; gap:12px; grid-template-columns: repeat(3, minmax(0, 1fr));\n    margin-top: 6px;\n  }\n  @media (max-width:900px){ .r15eco-desc .included-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n  @media (max-width:560px){ .r15eco-desc .included-grid{ grid-template-columns: 1fr; } }\n\n  .r15eco-desc .inc{\n    border:1px solid var(--border);\n    background: var(--wrap-bg);\n    border-radius: var(--radius);\n    padding: 12px;\n    display:flex; gap:10px; align-items:flex-start;\n  }\n  .r15eco-desc .inc .ico{\n    width:34px; height:34px; border-radius:10px;\n    background:#fff; border:1px solid var(--border);\n    display:grid; place-items:center;\n    flex: 0 0 auto;\n  }\n  .r15eco-desc .inc .t{ font-weight:900; font-size:14px; margin: 0 0 2px; color: var(--fg); }\n  .r15eco-desc .inc .d{ margin:0; font-size:13px; color: var(--muted); }\n\n  .r15eco-desc .note{\n    margin-top: 14px;\n    font-size: 13px;\n    color: #6b7890;\n  }\n\n  \/* CTA button (shiny + inviting, no HTML change needed) *\/\n  .r15eco-desc .cta{\n    margin-top: 14px;\n    text-align:center;\n  }\n  .r15eco-desc .cta a{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    gap:10px;\n    border:1px solid var(--grad-b);\n    background: linear-gradient(135deg, var(--grad-a), var(--grad-b));\n    padding:10px 16px;\n    border-radius: 999px;\n    font-weight:900;\n    text-decoration:none;\n    color:#fff;\n    position: relative;\n    box-shadow: 0 0 0 1px rgba(0,93,205,0.15);\n    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;\n    animation: ctaPulse 2.2s ease-in-out infinite;\n  }\n  .r15eco-desc .cta a::before{\n    content:\"\";\n    position:absolute;\n    inset: 0;\n    border-radius: 999px;\n    pointer-events:none;\n    background: linear-gradient(\n      120deg,\n      rgba(255,255,255,0.0) 0%,\n      rgba(255,255,255,0.35) 18%,\n      rgba(255,255,255,0.0) 36%\n    );\n    transform: translateX(-120%);\n    animation: ctaSheen 2.8s ease-in-out infinite;\n    mix-blend-mode: screen;\n  }\n  .r15eco-desc .cta a:hover{\n    transform: translateY(-1px);\n    box-shadow: 0 10px 18px rgba(0,0,0,0.12);\n    filter: brightness(1.02);\n    animation: none;\n  }\n  .r15eco-desc .cta a:hover::before{\n    animation: none;\n    transform: translateX(120%);\n    transition: transform 0.6s ease;\n  }\n  .r15eco-desc .cta a:focus{\n    outline: none;\n  }\n  .r15eco-desc .cta a:focus-visible{\n    box-shadow: 0 0 0 3px rgba(0,140,255,0.25), 0 10px 18px rgba(0,0,0,0.12);\n  }\n\n  @keyframes ctaPulse{\n    0%   { box-shadow: 0 0 0 1px rgba(0,93,205,0.15), 0 0 0 0 rgba(0,140,255,0.0); }\n    50%  { box-shadow: 0 0 0 1px rgba(0,93,205,0.15), 0 0 0 10px rgba(0,140,255,0.12); }\n    100% { box-shadow: 0 0 0 1px rgba(0,93,205,0.15), 0 0 0 0 rgba(0,140,255,0.0); }\n  }\n  @keyframes ctaSheen{\n    0%   { transform: translateX(-120%); opacity: 0.85; }\n    45%  { transform: translateX(120%); opacity: 0.85; }\n    100% { transform: translateX(120%); opacity: 0; }\n  }\n\n  \/* Chips for Best For *\/\n  .r15eco-desc .chips{ display:flex; flex-wrap:wrap; gap:10px; }\n  .r15eco-desc .chip{\n    border:1px dashed var(--pill-border);\n    background: var(--chip);\n    padding:8px 12px;\n    border-radius: 999px;\n    font-weight:800;\n    font-size:14px;\n    color: var(--fg);\n    white-space:nowrap;\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"r15eco-desc i18n\" data-model=\"r15-eco\"\u003e\n  \u003cdiv class=\"lang-tabs\" role=\"tablist\" aria-label=\"Language\"\u003e\n    \u003cbutton class=\"lang-tab active\" data-lang=\"pl\" aria-selected=\"true\"\u003e🇵🇱 PL\u003c\/button\u003e\n    \u003cbutton class=\"lang-tab\" data-lang=\"en\" aria-selected=\"false\"\u003e🇬🇧 EN\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ==================== PL (DEFAULT) ==================== --\u003e\n  \u003cdiv class=\"pane active\" data-lang=\"pl\"\u003e\n    \u003ch2\u003eR15 ECO - Minikoparka 1,5 t (zero tail swing)\u003c\/h2\u003e\n\n    \u003cp class=\"lede\"\u003e\n      R15 ECO to praktyczny balans w gamie Rippa. Jest wyraźnie stabilniejsza niż najmniejsze modele, nadal kompaktowa do pracy w ciasnych miejscach.\n      Zero tail swing i rozsuwane gąsienice pomagają w pracy przy ogrodzeniach, ścianach i na wąskich wjazdach.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"facts\" aria-label=\"Szybkie fakty\"\u003e\n      \u003cdiv class=\"fact\"\u003e\n\u003cspan class=\"k\"\u003eMasa robocza\u003c\/span\u003e\u003cspan class=\"v\"\u003e1 460 kg\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"fact\"\u003e\n\u003cspan class=\"k\"\u003eMaks. głębokość kopania\u003c\/span\u003e\u003cspan class=\"v\"\u003e1,81 m\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"fact\"\u003e\n\u003cspan class=\"k\"\u003eNajwęższa szerokość\u003c\/span\u003e\u003cspan class=\"v\"\u003e983 mm\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"fact\"\u003e\n\u003cspan class=\"k\"\u003eSilnik\u003c\/span\u003e\u003cspan class=\"v\"\u003eKubota D722\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"fact\"\u003e\n\u003cspan class=\"k\"\u003eŁyżka w zestawie\u003c\/span\u003e\u003cspan class=\"v\"\u003e40 cm zębata\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"fact\"\u003e\n\u003cspan class=\"k\"\u003eHydraulika\u003c\/span\u003e\u003cspan class=\"v\"\u003e21,6 l\/min, 18 MPa\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003csection id=\"included-pl\"\u003e\n      \u003ch2\u003eCo dostajesz w standardzie\u003c\/h2\u003e\n      \u003cdiv class=\"card\"\u003e\n        \u003cdiv class=\"included-grid\" role=\"list\"\u003e\n          \u003cdiv class=\"inc\" role=\"listitem\"\u003e\n            \u003cdiv class=\"ico\"\u003e🪣\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cp class=\"t\"\u003eŁyżka zębata 40 cm\u003c\/p\u003e\n              \u003cp class=\"d\"\u003ePodstawowa łyżka do kopania w zestawie.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"inc\" role=\"listitem\"\u003e\n            \u003cdiv class=\"ico\"\u003e🔧\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cp class=\"t\"\u003eHydrauliczne szybkozłącze\u003c\/p\u003e\n              \u003cp class=\"d\"\u003eSzybsza wymiana osprzętu bez wybijania sworzni.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"inc\" role=\"listitem\"\u003e\n            \u003cdiv class=\"ico\"\u003e🦾\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cp class=\"t\"\u003eHydrauliczny chwytak (thumb)\u003c\/p\u003e\n              \u003cp class=\"d\"\u003eDo chwytania kamieni, pni i materiału w przenoszeniu.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"inc\" role=\"listitem\"\u003e\n            \u003cdiv class=\"ico\"\u003e🛞\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cp class=\"t\"\u003eRozsuwane gąsienice, gumowe gąsienice\u003c\/p\u003e\n              \u003cp class=\"d\"\u003eWężej do wjazdu, szerzej do pracy i stabilności.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"inc\" role=\"listitem\"\u003e\n            \u003cdiv class=\"ico\"\u003e🕹️\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cp class=\"t\"\u003eSterowanie na joystickach (pilot)\u003c\/p\u003e\n              \u003cp class=\"d\"\u003ePłynniejsza i bardziej precyzyjna praca osprzętu.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"inc\" role=\"listitem\"\u003e\n            \u003cdiv class=\"ico\"\u003e💧\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cp class=\"t\"\u003e4 wyjścia hydrauliczne + chłodnica oleju\u003c\/p\u003e\n              \u003cp class=\"d\"\u003eGotowa instalacja pod osprzęt zasilany hydraulicznie.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cp class=\"note\"\u003e\n          Uwaga: R15 ECO to wersja z otwartą pozycją operatora. Kabina jest dostępna jako opcja. Jeśli potrzebujesz zamkniętej kabiny z klimatyzacją, zwykle lepiej pasuje R22 lub R32.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"cta\"\u003e\n          \u003ca href=\"#\" class=\"js-open-tech\" data-labels=\"Dane techniczne|Specyfikacja|Parametry techniczne|Specifications|Technical|Specs\"\u003e\n            Zobacz pełne dane techniczne\n          \u003c\/a\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection id=\"bestfor-pl\"\u003e\n      \u003ch2\u003eNajlepiej sprawdzi się do\u003c\/h2\u003e\n      \u003cdiv class=\"card\"\u003e\n        \u003cdiv class=\"chips\" role=\"list\"\u003e\n          \u003cspan class=\"chip\" role=\"listitem\"\u003ePrace wokół domów i posesji\u003c\/span\u003e\n          \u003cspan class=\"chip\" role=\"listitem\"\u003eMniejsze fundamenty, ławy, przyłącza\u003c\/span\u003e\n          \u003cspan class=\"chip\" role=\"listitem\"\u003eFirmy brukarskie i ogrodowe\u003c\/span\u003e\n          \u003cspan class=\"chip\" role=\"listitem\"\u003eUtrzymanie gospodarstw i terenów\u003c\/span\u003e\n          \u003cspan class=\"chip\" role=\"listitem\"\u003ePrace przy ogrodzeniach i murkach\u003c\/span\u003e\n          \u003cspan class=\"chip\" role=\"listitem\"\u003eMałe firmy budowlane i wynajem\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ==================== EN ==================== --\u003e\n  \u003cdiv class=\"pane\" data-lang=\"en\"\u003e\n    \u003ch2\u003eR15 ECO - 1.5 t Mini Excavator (zero tail swing)\u003c\/h2\u003e\n\n    \u003cp class=\"lede\"\u003e\n      The R15 ECO is the “sweet spot” in the Rippa line-up. More stable than the smallest minis, still compact for tight access work.\n      Zero tail swing and telescopic tracks make it easier to work close to fences, walls and boundaries.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"facts\" aria-label=\"Fast facts\"\u003e\n      \u003cdiv class=\"fact\"\u003e\n\u003cspan class=\"k\"\u003eOperating weight\u003c\/span\u003e\u003cspan class=\"v\"\u003e1,460 kg\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"fact\"\u003e\n\u003cspan class=\"k\"\u003eMax digging depth\u003c\/span\u003e\u003cspan class=\"v\"\u003e1.81 m\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"fact\"\u003e\n\u003cspan class=\"k\"\u003eNarrowest width\u003c\/span\u003e\u003cspan class=\"v\"\u003e983 mm\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"fact\"\u003e\n\u003cspan class=\"k\"\u003eEngine\u003c\/span\u003e\u003cspan class=\"v\"\u003eKubota D722\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"fact\"\u003e\n\u003cspan class=\"k\"\u003eBucket included\u003c\/span\u003e\u003cspan class=\"v\"\u003e40 cm toothed\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"fact\"\u003e\n\u003cspan class=\"k\"\u003eHydraulics\u003c\/span\u003e\u003cspan class=\"v\"\u003e21.6 L\/min, 18 MPa\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003csection id=\"included-en\"\u003e\n      \u003ch2\u003eWhat’s included as standard\u003c\/h2\u003e\n      \u003cdiv class=\"card\"\u003e\n        \u003cdiv class=\"included-grid\" role=\"list\"\u003e\n          \u003cdiv class=\"inc\" role=\"listitem\"\u003e\n            \u003cdiv class=\"ico\"\u003e🪣\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cp class=\"t\"\u003e40 cm toothed bucket\u003c\/p\u003e\n              \u003cp class=\"d\"\u003ePrimary digging bucket in the standard set.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"inc\" role=\"listitem\"\u003e\n            \u003cdiv class=\"ico\"\u003e🔧\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cp class=\"t\"\u003eHydraulic quick coupler\u003c\/p\u003e\n              \u003cp class=\"d\"\u003eFaster attachment changes without hammering out pins.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"inc\" role=\"listitem\"\u003e\n            \u003cdiv class=\"ico\"\u003e🦾\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cp class=\"t\"\u003eHydraulic thumb clamp\u003c\/p\u003e\n              \u003cp class=\"d\"\u003eFor grabbing and moving rocks, logs and debris.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"inc\" role=\"listitem\"\u003e\n            \u003cdiv class=\"ico\"\u003e🛞\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cp class=\"t\"\u003eTelescopic frame, rubber tracks\u003c\/p\u003e\n              \u003cp class=\"d\"\u003eNarrow for access, wider for work and stability.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"inc\" role=\"listitem\"\u003e\n            \u003cdiv class=\"ico\"\u003e🕹️\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cp class=\"t\"\u003eJoystick control (pilot feel)\u003c\/p\u003e\n              \u003cp class=\"d\"\u003eSmoother and more precise operation.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"inc\" role=\"listitem\"\u003e\n            \u003cdiv class=\"ico\"\u003e💧\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cp class=\"t\"\u003e4 auxiliary ports + oil cooler\u003c\/p\u003e\n              \u003cp class=\"d\"\u003eHydraulic-ready setup for powered tools.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cp class=\"note\"\u003e\n          Note: R15 ECO is an open-station machine. A cab is available as an option. For a fully enclosed cab with air conditioning, the R22 or R32 is usually the better match.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"cta\"\u003e\n          \u003ca href=\"#\" class=\"js-open-tech\" data-labels=\"Specifications|Technical|Tech specs|Dane techniczne|Specyfikacja|Parametry techniczne\"\u003e\n            View full specifications\n          \u003c\/a\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection id=\"bestfor-en\"\u003e\n      \u003ch2\u003eBest for\u003c\/h2\u003e\n      \u003cdiv class=\"card\"\u003e\n        \u003cdiv class=\"chips\" role=\"list\"\u003e\n          \u003cspan class=\"chip\" role=\"listitem\"\u003eAround houses and properties\u003c\/span\u003e\n          \u003cspan class=\"chip\" role=\"listitem\"\u003eSmall foundations and services\u003c\/span\u003e\n          \u003cspan class=\"chip\" role=\"listitem\"\u003eLandscaping and paving crews\u003c\/span\u003e\n          \u003cspan class=\"chip\" role=\"listitem\"\u003eFarm and property maintenance\u003c\/span\u003e\n          \u003cspan class=\"chip\" role=\"listitem\"\u003eFence lines and retaining edges\u003c\/span\u003e\n          \u003cspan class=\"chip\" role=\"listitem\"\u003eSmall contractors and rentals\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function(){\n      const root = document.querySelector('.r15eco-desc.i18n[data-model=\"r15-eco\"]');\n      if(!root) return;\n\n      \/\/ Language switch\n      const tabs = root.querySelectorAll('.lang-tab');\n      const panes = root.querySelectorAll('.pane');\n      let lang = 'pl';\n\n      function renderLang(){\n        panes.forEach(p =\u003e p.classList.toggle('active', p.getAttribute('data-lang') === lang));\n        tabs.forEach(t =\u003e {\n          const is = t.getAttribute('data-lang') === lang;\n          t.classList.toggle('active', is);\n          t.setAttribute('aria-selected', is ? 'true' : 'false');\n        });\n      }\n\n      tabs.forEach(t =\u003e t.addEventListener('click', () =\u003e {\n        lang = t.getAttribute('data-lang');\n        renderLang();\n      }));\n\n      \/\/ STRICT: click only an actual tab element in the product tablist (no scrolling fallbacks)\n      function clickTechTab(labels){\n        const labelList = labels.map(s =\u003e (s || '').trim().toLowerCase()).filter(Boolean);\n\n        \/\/ Candidate tablists: role=\"tablist\" outside this snippet, plus common theme wrappers (still strict to a container)\n        const candidates = [\n          ...Array.from(document.querySelectorAll('[role=\"tablist\"]')).filter(el =\u003e !root.contains(el)),\n          ...Array.from(document.querySelectorAll('.productView-tabs, .product-tabs, .tabs')).filter(el =\u003e !root.contains(el))\n        ];\n\n        \/\/ pick the best container by score (so we don't accidentally pick some unrelated tablist)\n        let best = null;\n        let bestScore = 0;\n\n        for(const c of candidates){\n          const txt = (c.innerText || c.textContent || '').toLowerCase();\n          if(!txt) continue;\n          const score = labelList.reduce((acc, lbl) =\u003e acc + (txt.includes(lbl) ? 1 : 0), 0);\n          if(score \u003e bestScore){\n            bestScore = score;\n            best = c;\n          }\n        }\n\n        if(!best) return false;\n\n        const clickable = Array.from(best.querySelectorAll('[role=\"tab\"], button, a'))\n          .filter(el =\u003e el \u0026\u0026 !root.contains(el));\n\n        for(const el of clickable){\n          const t = (el.innerText || el.textContent || '').trim().toLowerCase();\n          if(!t) continue;\n          if(labelList.some(lbl =\u003e t.includes(lbl))){\n            el.click();\n            best.scrollIntoView({behavior:'smooth', block:'start'});\n            return true;\n          }\n        }\n        return false;\n      }\n\n      root.querySelectorAll('.js-open-tech').forEach(link =\u003e {\n        link.addEventListener('click', (e) =\u003e {\n          e.preventDefault();\n          const raw = (link.getAttribute('data-labels') || '');\n          const labels = raw.split('|');\n          clickTechTab(labels);\n        });\n      });\n\n      renderLang();\n    })();\n  \u003c\/script\u003e\n\u003c\/div\u003e\n","brand":"Rippa","offers":[{"title":"Default Title","offer_id":60524013584718,"sku":null,"price":44599.0,"currency_code":"PLN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1066\/1570\/1838\/files\/rippa-r15-5-eco-mini-excavator-white-background.webp?v=1787657120","url":"https:\/\/sklep-rippa.pl\/products\/rippa-r15-eco-z-silnikiem-kubota","provider":"Mój sklep","version":"1.0","type":"link"}