{"product_id":"eu-f20-mate-hs","title":"EU-F20 Mate HS","description":"\u003c!-- Fafrees F20 Mate HS \/ F20 Mate Upgrade | Treść produktu Shopify | Polski --\u003e\n\u003cdiv class=\"f20m2-page\"\u003e\n\n  \u003c!-- =====================================================\n       FEATURE SHOWCASE · IMAGE + VIDEO MOSAIC\n  ====================================================== --\u003e\n  \u003csection class=\"f20m2-features f20m2-feature-showcase\"\u003e\n    \u003cdiv class=\"f20m2-showcase-wrap\"\u003e\n      \u003cdiv class=\"f20m2-showcase-heading\"\u003e\n        \u003cspan\u003ePOZNAJ FUNKCJE\u003c\/span\u003e\n        \u003ch2\u003eStabilność, moc i bezpieczeństwo na co dzień\u003c\/h2\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv id=\"f20m2FeatureCards\" class=\"f20m2-showcase-grid\"\u003e\n\n        \u003c!-- 01 · Intro \/ product --\u003e\n        \u003carticle class=\"f20m2-showcase-card f20m2-showcase-card--intro\"\u003e\n          \u003cdiv class=\"f20m2-showcase-intro-copy\"\u003e\n            \u003cp\u003e\n              \u003cstrong\u003eFafrees F20 Mate HS\u003c\/strong\u003e łączy stabilność trzech kół,\n              szerokie opony i europejską homologację L2e-P, zapewniając praktyczną i bezpieczną jazdę.\n            \u003c\/p\u003e\n          \u003c\/div\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-triciclo-electrico-homologacion-l2e-p.jpg?v=1786935303\" alt=\"Elektryczny trójkołowiec Fafrees F20 Mate HS z europejską homologacją L2e-P.\" loading=\"lazy\" decoding=\"async\"\u003e\n        \u003c\/article\u003e\n\n        \u003c!-- 02 · Video --\u003e\n        \u003carticle class=\"f20m2-showcase-card f20m2-showcase-card--video f20m2-showcase-card--portrait\"\u003e\n          \u003cdiv class=\"f20m2-showcase-media\"\u003e\n            \u003cimg class=\"f20m2-showcase-poster\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-motor-trasero-transmision-en-marcha.jpg?v=1786952687\" alt=\"Tylny silnik i układ napędowy Fafrees F20 Mate HS podczas jazdy.\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cvideo class=\"f20m2-feature-video\" autoplay muted loop playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-motor-trasero-transmision-en-marcha.jpg?v=1786952687\" aria-label=\"Tylny silnik i układ napędowy Fafrees F20 Mate HS podczas jazdy\"\u003e\n              \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/a6995a197309437a9db6834372e44636.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"f20m2-showcase-overlay\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"f20m2-showcase-copy\"\u003e\n            \u003ch3\u003eSilnik i układ napędowy\u003c\/h3\u003e\n            \u003cp\u003eTylny układ napędowy F20 Mate HS pokazany podczas jazdy.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003c!-- 03 · Video --\u003e\n        \u003carticle class=\"f20m2-showcase-card f20m2-showcase-card--video f20m2-showcase-card--portrait\"\u003e\n          \u003cdiv class=\"f20m2-showcase-media\"\u003e\n            \u003cimg class=\"f20m2-showcase-poster\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-luces-traseras-intermitentes-seguridad.jpg?v=1786952211\" alt=\"Tylne światła i kierunkowskazy Fafrees F20 Mate HS.\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cvideo class=\"f20m2-feature-video\" autoplay muted loop playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-luces-traseras-intermitentes-seguridad.jpg?v=1786952211\" aria-label=\"Tylne światła i kierunkowskazy Fafrees F20 Mate HS\"\u003e\n              \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/bd11c53af9ca4c16ba2520de7af5579c.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"f20m2-showcase-overlay\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"f20m2-showcase-copy\"\u003e\n            \u003ch3\u003eBezpieczeństwo z tyłu\u003c\/h3\u003e\n            \u003cp\u003eTylne światła i kierunkowskazy poprawiają widoczność podczas codziennych przejazdów.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003c!-- 04 · Video --\u003e\n        \u003carticle class=\"f20m2-showcase-card f20m2-showcase-card--video f20m2-showcase-card--portrait\"\u003e\n          \u003cdiv class=\"f20m2-showcase-media\"\u003e\n            \u003cimg class=\"f20m2-showcase-poster\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-maneta-freno-control-detalle.jpg?v=1786952812\" alt=\"Detal klamki hamulca i elementów sterujących Fafrees F20 Mate HS.\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cvideo class=\"f20m2-feature-video\" autoplay muted loop playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-maneta-freno-control-detalle.jpg?v=1786952812\" aria-label=\"Detal klamki hamulca i elementów sterujących Fafrees F20 Mate HS\"\u003e\n              \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/616de11b03eb4c20bf5a9d821767b0ef.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"f20m2-showcase-overlay\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"f20m2-showcase-copy\"\u003e\n            \u003ch3\u003eKontrola hamowania\u003c\/h3\u003e\n            \u003cp\u003eŁatwo dostępne elementy sterujące i klamka hamulca zapewniają wygodną oraz intuicyjną obsługę.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003c!-- 05 · Video --\u003e\n        \u003carticle class=\"f20m2-showcase-card f20m2-showcase-card--video f20m2-showcase-card--portrait\"\u003e\n          \u003cdiv class=\"f20m2-showcase-media\"\u003e\n            \u003cimg class=\"f20m2-showcase-poster\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-faro-suspension-delantera-conduccion.jpg?v=1786952570\" alt=\"Oświetlenie przednie i amortyzacja Fafrees F20 Mate HS podczas jazdy.\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cvideo class=\"f20m2-feature-video\" autoplay muted loop playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-faro-suspension-delantera-conduccion.jpg?v=1786952570\" aria-label=\"Oświetlenie przednie i amortyzacja Fafrees F20 Mate HS podczas jazdy\"\u003e\n              \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/427b7233cf5948268ad837fc4d3ecca0.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"f20m2-showcase-overlay\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"f20m2-showcase-copy\"\u003e\n            \u003ch3\u003eOświetlenie przednie i amortyzacja\u003c\/h3\u003e\n            \u003cp\u003ePrzednie oświetlenie i amortyzacja zwiększają widoczność oraz komfort jazdy po nierównych nawierzchniach.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003c!-- 06 · Wide video --\u003e\n        \u003carticle class=\"f20m2-showcase-card f20m2-showcase-card--video f20m2-showcase-card--wide\"\u003e\n          \u003cdiv class=\"f20m2-showcase-media\"\u003e\n            \u003cimg class=\"f20m2-showcase-poster\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-motor-trasero-sistema-transmision.jpg?v=1786952402\" alt=\"Tylny silnik i układ napędowy Fafrees F20 Mate HS.\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003cvideo class=\"f20m2-feature-video\" autoplay muted loop playsinline preload=\"none\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-motor-trasero-sistema-transmision.jpg?v=1786952402\" aria-label=\"Tylny silnik i układ napędowy Fafrees F20 Mate HS\"\u003e\n              \u003csource data-src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/b58f6e9dfbf54edea824dfe93c060bd0.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"f20m2-showcase-overlay\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"f20m2-showcase-copy\"\u003e\n            \u003ch3\u003eUkład napędowy\u003c\/h3\u003e\n            \u003cp\u003eSzczegółowy widok tylnego silnika i układu napędowego F20 Mate HS podczas pracy.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"f20m2-scrollbar\" aria-hidden=\"true\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\n  \u003c!-- =====================================================\n       DETAIL CAROUSEL\n  ====================================================== --\u003e\n  \u003csection class=\"f20m2-detail-slider-section\"\u003e\n    \u003cdiv class=\"f20m2-detail-slider-wrap\"\u003e\n\n      \u003cdiv class=\"f20m2-detail-slider-head\"\u003e\n        \u003ch2\u003eWięcej szczegółów\u003c\/h2\u003e\n        \u003cdiv class=\"f20m2-detail-slider-nav\"\u003e\n          \u003cbutton class=\"f20m2-detail-nav f20m2-detail-prev\" type=\"button\" aria-label=\"Poprzedni\"\u003e‹\u003c\/button\u003e\n          \u003cbutton class=\"f20m2-detail-nav f20m2-detail-next\" type=\"button\" aria-label=\"Następny\"\u003e›\u003c\/button\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"f20m2-detail-swipe-hint\" aria-hidden=\"true\"\u003e\n        \u003cspan\u003ePrzesuń, aby zobaczyć więcej\u003c\/span\u003e\n        \u003cspan class=\"f20m2-detail-swipe-arrow\"\u003e→\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"f20m2-detail-carousel\"\u003e\n        \u003cdiv class=\"f20m2-detail-track\" tabindex=\"0\"\u003e\n\n          \u003carticle class=\"f20m2-detail-card\"\u003e\n            \u003cdiv class=\"f20m2-detail-card-media\"\u003e\n              \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-sistema-iluminacion-seguridad.jpg?v=1786951554\" alt=\"System oświetlenia i bezpieczeństwa Fafrees F20 Mate HS ze światłami i kierunkowskazami.\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"f20m2-detail-card-copy\"\u003e\n              \u003ch3\u003eHomologacja europejska L2e-P\u003c\/h3\u003e\n              \u003cp\u003eWyposażenie zgodne z homologacją L2e-P obejmuje komponenty z oznaczeniem E-Mark, oświetlenie, kierunkowskazy, klakson i lusterka.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/article\u003e\n\n          \u003carticle class=\"f20m2-detail-card\"\u003e\n            \u003cdiv class=\"f20m2-detail-card-media\"\u003e\n              \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-bateria-extraible-detalle.jpg?v=1786951570\" alt=\"Wyjmowany akumulator elektrycznego trójkołowca Fafrees F20 Mate HS.\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"f20m2-detail-card-copy\"\u003e\n              \u003ch3\u003eUlepszony wyjmowany akumulator\u003c\/h3\u003e\n              \u003cp\u003eAkumulator 48 V dostępny w wersjach 21 Ah i 23,45 Ah, z deklarowanym zasięgiem do 85 km lub 90 km w zależności od wersji i warunków jazdy.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/article\u003e\n\n          \u003carticle class=\"f20m2-detail-card\"\u003e\n            \u003cdiv class=\"f20m2-detail-card-media\"\u003e\n              \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-neumatico-reforzado-freno-disco.jpg?v=1786951583\" alt=\"Wzmocniona opona i hamulec tarczowy Fafrees F20 Mate HS.\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"f20m2-detail-card-copy\"\u003e\n              \u003ch3\u003eOpony 20 × 3,0”\u003c\/h3\u003e\n              \u003cp\u003eOpony Chaoyang 30 TPI zapewniają większą powierzchnię styku i lepszą przyczepność na asfalcie, żwirze oraz nierównych nawierzchniach.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/article\u003e\n\n          \u003carticle class=\"f20m2-detail-card\"\u003e\n            \u003cdiv class=\"f20m2-detail-card-media\"\u003e\n              \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-pantalla-lcd-niveles-asistencia.jpg?v=1786951598\" alt=\"Wyświetlacz LCD Fafrees F20 Mate HS z poziomami wspomagania.\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"f20m2-detail-card-copy\"\u003e\n              \u003ch3\u003eKolorowy wyświetlacz LCD IPS\u003c\/h3\u003e\n              \u003cp\u003eWyświetlacz 3,5” pokazuje prędkość, poziom akumulatora, przebieg i poziom wspomagania, a także oferuje tryb prowadzenia roweru.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/article\u003e\n\n          \u003carticle class=\"f20m2-detail-card\"\u003e\n            \u003cdiv class=\"f20m2-detail-card-media\"\u003e\n              \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-cuadro-bajo-40cm-plegable.png?v=1786951614\" alt=\"Fafrees F20 Mate HS z niską ramą 40 cm i składaną konstrukcją.\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"f20m2-detail-card-copy\"\u003e\n              \u003ch3\u003eNiska i składana rama\u003c\/h3\u003e\n              \u003cp\u003eNiski przekrok ułatwia wsiadanie i zsiadanie, a składana rama i kierownica pomagają oszczędzić miejsce podczas przechowywania.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/article\u003e\n\n          \u003carticle class=\"f20m2-detail-card\"\u003e\n            \u003cdiv class=\"f20m2-detail-card-media\"\u003e\n              \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-capacidad-carga-180kg.jpg?v=1786951633\" alt=\"Fafrees F20 Mate HS o łącznej ładowności do 180 kg.\" loading=\"lazy\" decoding=\"async\"\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"f20m2-detail-card-copy\"\u003e\n              \u003ch3\u003eŁączna ładowność do 180 kg\u003c\/h3\u003e\n              \u003cp\u003eWzmocniona konstrukcja wytrzymuje obciążenie do 180 kg i pozwala korzystać z bagażnika oraz koszy na zakupy, bagaż i codzienne potrzeby.\u003c\/p\u003e\n            \u003c\/div\u003e\n          \u003c\/article\u003e\n\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\n  \u003c!-- =====================================================\n       SIZE\n  ====================================================== --\u003e\n  \u003csection class=\"f20m2-size\"\u003e\n    \u003cdiv class=\"f20m2-container\"\u003e\n      \u003ch2\u003eGeometria i wymiary\u003c\/h2\u003e\n\n      \u003cdiv class=\"f20m2-size-grid\"\u003e\n        \u003cdiv class=\"f20m2-size-image\"\u003e\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-dimensiones-medidas-triciclo-electrico.webp?v=1786953738\" alt=\"Wymiary elektrycznego trójkołowca Fafrees F20 Mate HS.\" loading=\"lazy\" decoding=\"async\"\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"f20m2-measures\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eA. Maksymalna wysokość siodełka\u003c\/span\u003e\u003cstrong\u003e106 cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eB. Minimalna wysokość siodełka\u003c\/span\u003e\u003cstrong\u003e82 cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eC. Wysokość przekroku\u003c\/span\u003e\u003cstrong\u003e40 cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eD. Rozmiar ramy\u003c\/span\u003e\u003cstrong\u003e43 cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eE. Maksymalna wysokość kierownicy\u003c\/span\u003e\u003cstrong\u003e116 cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eF. Minimalna wysokość kierownicy\u003c\/span\u003e\u003cstrong\u003e109 cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eG. Wysokość osi suportu\u003c\/span\u003e\u003cstrong\u003e20 cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eH. Długość górnej rury\u003c\/span\u003e\u003cstrong\u003e68 cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eI. Rozstaw osi\u003c\/span\u003e\u003cstrong\u003e118 cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eJ. Długość całkowita\u003c\/span\u003e\u003cstrong\u003e174 cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eSzerokość całkowita\u003c\/span\u003e\u003cstrong\u003e74 cm\u003c\/strong\u003e\n\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003eWymiary po złożeniu\u003c\/span\u003e\u003cstrong\u003e100 × 74 × 82 cm\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\n  \u003c!-- =====================================================\n       SPECIFICATIONS\n  ====================================================== --\u003e\n  \u003csection class=\"f20m2-specs\"\u003e\n    \u003cdiv class=\"f20m2-container\"\u003e\n      \u003ch2\u003eDane techniczne\u003c\/h2\u003e\n\n      \u003cdiv class=\"f20m2-spec-grid\"\u003e\n\n        \u003c!-- GENERAL --\u003e\n        \u003cdiv class=\"f20m2-spec-column is-open\"\u003e\n          \u003cbutton class=\"f20m2-spec-title\" type=\"button\" aria-expanded=\"true\"\u003e\n            Ogólne \u003cspan\u003e\u003c\/span\u003e\n          \u003c\/button\u003e\n          \u003cul\u003e\n            \u003cli\u003e\n\u003cb\u003eZasięg\u003c\/b\u003e\u003cem\u003e65–85 km \/ 70–90 km\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003ePrędkość\u003c\/b\u003e\u003cem\u003eMaks. 30 km\/h\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eWspomaganie pedałowania\u003c\/b\u003e\u003cem\u003e5 poziomów\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eElementy składane\u003c\/b\u003e\u003cem\u003eKierownica i rama\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eMasa\u003c\/b\u003e\u003cem\u003e43 kg\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eMaksymalne obciążenie\u003c\/b\u003e\u003cem\u003e180 kg\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eZalecany wzrost użytkownika\u003c\/b\u003e\u003cem\u003e160–200 cm\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eStopień ochrony\u003c\/b\u003e\u003cem\u003eIPX5\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eHomologacja\u003c\/b\u003e\u003cem\u003eHomologacja typu UE (L2e-P) + E-Mark\u003c\/em\u003e\n\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- ELECTRONICS --\u003e\n        \u003cdiv class=\"f20m2-spec-column\"\u003e\n          \u003cbutton class=\"f20m2-spec-title\" type=\"button\" aria-expanded=\"false\"\u003e\n            Układ elektryczny \u003cspan\u003e\u003c\/span\u003e\n          \u003c\/button\u003e\n          \u003cul\u003e\n            \u003cli\u003e\n\u003cb\u003eSilnik\u003c\/b\u003e\u003cem\u003eTylny, 48 V, 500 W (moc znamionowa)\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eMoc szczytowa\u003c\/b\u003e\u003cem\u003e750 W\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eMaksymalny moment obrotowy\u003c\/b\u003e\u003cem\u003e65 N·m\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eAkumulator\u003c\/b\u003e\u003cem\u003e48 V 21 Ah \/ 23,45 Ah · 1008 Wh \/ 1125,6 Wh\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eTyp akumulatora\u003c\/b\u003e\u003cem\u003eLitowo-jonowy, wyjmowany\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eMasa akumulatora\u003c\/b\u003e\u003cem\u003e5,3 kg\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eŁadowarka\u003c\/b\u003e\u003cem\u003eWyjście 54,6 V \/ 3 A\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eCzas ładowania\u003c\/b\u003e\u003cem\u003eok. 7–8 godzin\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eWyświetlacz\u003c\/b\u003e\u003cem\u003eKolorowy LCD IPS 3,5”, IP65\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eCzujnik\u003c\/b\u003e\u003cem\u003eCzujnik kadencji\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eOświetlenie\u003c\/b\u003e\u003cem\u003ePrzednie, tylne i kierunkowskazy\u003c\/em\u003e\n\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- COMPONENTS --\u003e\n        \u003cdiv class=\"f20m2-spec-column\"\u003e\n          \u003cbutton class=\"f20m2-spec-title\" type=\"button\" aria-expanded=\"false\"\u003e\n            Komponenty \u003cspan\u003e\u003c\/span\u003e\n          \u003c\/button\u003e\n          \u003cul\u003e\n            \u003cli\u003e\n\u003cb\u003eRama\u003c\/b\u003e\u003cem\u003eStop aluminium 6061\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eKierownica\u003c\/b\u003e\u003cem\u003eAluminium 31,8 mm \/ 660 mm\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eWidelec\u003c\/b\u003e\u003cem\u003eAmortyzowany, 35 mm, z blokadą\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eHamulce\u003c\/b\u003e\u003cem\u003eHydrauliczne hamulce tarczowe\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eTarcze hamulcowe\u003c\/b\u003e\u003cem\u003e180 mm, 6 śrub\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eNapęd\u003c\/b\u003e\u003cem\u003eJednobiegowy\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eTylna zębatka\u003c\/b\u003e\u003cem\u003e16T\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eZębatka przednia\u003c\/b\u003e\u003cem\u003e36T\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eŁańcuch\u003c\/b\u003e\u003cem\u003e80L + 46L\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eKoła\u003c\/b\u003e\u003cem\u003e20”, aluminiowe obręcze dwukomorowe, 36 szprych\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eOpony\u003c\/b\u003e\u003cem\u003eChaoyang 20 × 3,0”, 30 TPI, z ochroną antyprzebiciową\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eDętki\u003c\/b\u003e\u003cem\u003eGuma butylowa, wentyl Schradera\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eKorby\u003c\/b\u003e\u003cem\u003e165 mm\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003ePedały\u003c\/b\u003e\u003cem\u003e9\/16”\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eSiodełko\u003c\/b\u003e\u003cem\u003eWyściełane siodełko\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eSztyca siodełka\u003c\/b\u003e\u003cem\u003eØ27,2 mm, 400 mm, amortyzacja 15 mm\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eTylny bagażnik\u003c\/b\u003e\u003cem\u003eW zestawie\u003c\/em\u003e\n\u003c\/li\u003e\n            \u003cli\u003e\n\u003cb\u003eBłotniki\u003c\/b\u003e\u003cem\u003eW zestawie\u003c\/em\u003e\n\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\n  \u003c!-- =====================================================\n       DESCUBRE MÁS · RESPONSIVE STATIC IMAGE\n  ====================================================== --\u003e\n  \u003csection class=\"f20m2-gallery-section\"\u003e\n    \u003cdiv class=\"f20m2-container\"\u003e\n      \u003ch2\u003eZobacz więcej\u003c\/h2\u003e\n\n      \u003cdiv class=\"f20m2-gallery-static\"\u003e\n        \u003cpicture\u003e\n          \u003csource media=\"(max-width: 768px)\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-movilidad-diaria-escenas-reales.jpg?v=1786951678\"\u003e\n          \u003cimg class=\"f20m2-gallery-static-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/fafrees-eu-f20-mate-hs-escenas-uso-real-ciudad-parque.jpg?v=1786951698\" alt=\"Fafrees F20 Mate HS podczas codziennego użytkowania w mieście i parku.\" loading=\"lazy\" decoding=\"async\"\u003e\u003c\/picture\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\u003c\/div\u003e\n\u003cstyle\u003e\n\n\n\/* =====================================================\n   BASE\n====================================================== *\/\n\n.f20m2-page,\n.f20m2-page * {\n  box-sizing: border-box;\n}\n\n.f20m2-page {\n  width: 100%;\n  margin: 0;\n  padding: 0;\n  color: #171717;\n  background: #fff;\n  font-family: inherit;\n}\n\n.f20m2-container {\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  padding-left: 16px;\n  padding-right: 16px;\n}\n\n\n\/* =====================================================\n   HERO\n====================================================== *\/\n\n.f20m2-hero {\n  display: block;\n  min-height: clamp(440px, 43vw, 570px);\n  background: #f4f4f4;\n  overflow: hidden;\n}\n\n.f20m2-hero-media {\n  width: 100%;\n  height: clamp(440px, 43vw, 570px);\n  min-width: 0;\n  min-height: 0;\n  overflow: hidden;\n  background: #ececec;\n}\n\n.f20m2-hero-media iframe {\n  display: block;\n  width: 100%;\n  height: 100%;\n  min-height: 0;\n\n  border: 0;\n  background: #000;\n}\n\n.f20m2-hero-copy {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n\n  padding:\n    38px\n    clamp(28px, 4vw, 60px);\n}\n\n.f20m2-eyebrow {\n  display: block;\n\n  margin: 0 0 12px;\n\n  color: #666;\n\n  font-size: 13px;\n  line-height: 1.4;\n  font-weight: 650;\n\n  letter-spacing: .08em;\n  text-transform: uppercase;\n}\n\n.f20m2-hero-copy h2 {\n  margin: 0 0 18px;\n\n  font-size:\n    clamp(36px, 4vw, 58px);\n\n  line-height: 1.05;\n  font-weight: 750;\n}\n\n.f20m2-hero-copy \u003e p {\n  max-width: 600px;\n\n  margin: 0;\n\n  color: #3c3c3c;\n\n  font-size: 16px;\n  line-height: 1.75;\n}\n\n.f20m2-hero-specs {\n  display: grid;\n\n  grid-template-columns:\n    repeat(2, minmax(0, 1fr));\n\n  gap: 10px;\n\n  margin-top: 26px;\n}\n\n.f20m2-hero-specs div {\n  min-width: 0;\n\n  padding: 13px 14px;\n\n  background:\n    rgba(255,255,255,.72);\n\n  border:\n    1px solid rgba(0,0,0,.06);\n\n  border-radius: 8px;\n}\n\n.f20m2-hero-specs strong,\n.f20m2-hero-specs span {\n  display: block;\n}\n\n.f20m2-hero-specs strong {\n  font-size: 17px;\n  line-height: 1.25;\n}\n\n.f20m2-hero-specs span {\n  margin-top: 3px;\n\n  color: #666;\n\n  font-size: 12px;\n  line-height: 1.4;\n}\n\n\n\/* =====================================================\n   SHARED HEADINGS\n====================================================== *\/\n\n.f20m2-size h2,\n.f20m2-specs h2,\n.f20m2-gallery-section h2 {\n  margin: 0 0 14px;\n\n  font-size: 30px;\n  line-height: 1.2;\n  font-weight: 720;\n}\n\n.f20m2-divider {\n  width: 54px;\n  height: 3px;\n\n  margin-bottom: 28px;\n\n  background: #f5a400;\n}\n\n\n\n\n\/* =====================================================\n   DETAIL CAROUSEL\n====================================================== *\/\n\n.f20m2-detail-slider-section {\n  padding: 8px 0 46px;\n  background: transparent;\n  overflow: hidden;\n}\n\n.f20m2-detail-slider-wrap {\n  width: 100%;\n  max-width: none;\n  margin: 0;\n  padding: 0;\n}\n\n.f20m2-detail-slider-head {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 20px;\n  margin-bottom: 22px;\n}\n\n.f20m2-detail-slider-head h2 {\n  margin: 0;\n  color: #08140d;\n  font-size: clamp(30px, 2.3vw, 44px);\n  line-height: 1.06;\n  font-weight: 760;\n}\n\n.f20m2-detail-slider-nav {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  flex: 0 0 auto;\n}\n\n.f20m2-detail-nav {\n  width: 48px;\n  height: 48px;\n  border: 1px solid rgba(16,27,20,.12);\n  border-radius: 999px;\n  background: rgba(255,255,255,.88);\n  color: #10221a;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  font: inherit;\n  font-size: 28px;\n  line-height: 1;\n  cursor: pointer;\n  transition: transform .18s ease, background .18s ease, border-color .18s ease, opacity .18s ease;\n}\n\n.f20m2-detail-nav:hover {\n  background: #fff;\n  border-color: rgba(16,27,20,.22);\n}\n\n.f20m2-detail-nav:active {\n  transform: scale(.96);\n}\n\n.f20m2-detail-nav[disabled] {\n  opacity: .38;\n  cursor: default;\n}\n\n.f20m2-detail-carousel {\n  position: relative;\n}\n\n.f20m2-detail-track {\n  display: flex;\n  gap: 22px;\n  width: 100%;\n  overflow-x: auto;\n  overflow-y: hidden;\n  padding: 2px 2px 6px;\n  scroll-snap-type: x proximity;\n  scrollbar-width: none;\n  -webkit-overflow-scrolling: touch;\n  scroll-behavior: smooth;\n  overscroll-behavior-x: contain;\n  touch-action: pan-y pinch-zoom;\n  cursor: grab;\n}\n\n.f20m2-detail-track.is-dragging {\n  cursor: grabbing;\n  scroll-snap-type: none;\n  scroll-behavior: auto;\n}\n\n.f20m2-detail-track.is-touch-dragging {\n  scroll-snap-type: none;\n  scroll-behavior: auto;\n}\n\n.f20m2-detail-track::-webkit-scrollbar {\n  display: none;\n}\n\n.f20m2-detail-swipe-hint {\n  display: none;\n}\n\n.f20m2-detail-card img {\n  pointer-events: none;\n  user-select: none;\n  -webkit-user-select: none;\n  -webkit-user-drag: none;\n}\n\n.f20m2-detail-card {\n  flex: 0 0 min(23.6%, 378px);\n  min-width: 280px;\n  scroll-snap-align: start;\n}\n\n.f20m2-detail-card-media {\n  overflow: hidden;\n  border-radius: 22px;\n  background: #dde3df;\n}\n\n.f20m2-detail-card-media img {\n  display: block;\n  width: 100%;\n  aspect-ratio: 1 \/ 1;\n  object-fit: cover;\n  object-position: center;\n}\n\n.f20m2-detail-card-copy {\n  padding: 14px 4px 0;\n}\n\n.f20m2-detail-card-copy h3 {\n  margin: 0 0 8px;\n  color: #101010;\n  font-size: 17px;\n  line-height: 1.32;\n  font-weight: 720;\n}\n\n.f20m2-detail-card-copy p {\n  margin: 0;\n  color: #5d625f;\n  font-size: 13px;\n  line-height: 1.58;\n}\n\n\n\/* =====================================================\n   FEATURE SHOWCASE · Fafrees-style mosaic\n====================================================== *\/\n\n.f20m2-feature-showcase {\n  padding: 58px 0 64px;\n  background: #eef3f0;\n  overflow: hidden;\n}\n\n.f20m2-showcase-wrap {\n  width: 100%;\n  max-width: 1560px;\n  margin: 0 auto;\n  padding: 0 22px;\n}\n\n.f20m2-showcase-heading {\n  margin: 0 0 24px;\n}\n\n.f20m2-showcase-heading \u003e span {\n  display: block;\n  margin-bottom: 8px;\n  color: #6d7771;\n  font-size: 12px;\n  line-height: 1.3;\n  font-weight: 700;\n  letter-spacing: .12em;\n}\n\n.f20m2-showcase-heading h2 {\n  max-width: 760px;\n  margin: 0;\n  color: #111;\n  font-size: clamp(28px, 2.6vw, 42px);\n  line-height: 1.12;\n  font-weight: 720;\n}\n\n.f20m2-showcase-grid {\n  display: grid;\n  grid-template-columns: repeat(12, minmax(0, 1fr));\n  grid-auto-flow: dense;\n  gap: 20px;\n}\n\n.f20m2-showcase-card {\n  position: relative;\n  min-width: 0;\n  min-height: 0;\n  overflow: hidden;\n  border-radius: 22px;\n  background: #dfe4e1;\n  isolation: isolate;\n  transform: translateZ(0);\n}\n\n.f20m2-showcase-card--intro {\n  grid-column: span 6;\n  height: clamp(470px, 39vw, 610px);\n  background: #fff;\n}\n\n.f20m2-showcase-card--portrait {\n  grid-column: span 3;\n  height: clamp(470px, 39vw, 610px);\n}\n\n.f20m2-showcase-card--wide {\n  grid-column: span 6;\n  height: clamp(360px, 31vw, 470px);\n}\n\n.f20m2-showcase-grid \u003e .f20m2-showcase-card:nth-child(4),\n.f20m2-showcase-grid \u003e .f20m2-showcase-card:nth-child(5) {\n  height: clamp(360px, 31vw, 470px);\n}\n\n.f20m2-showcase-media,\n.f20m2-showcase-media \u003e img,\n.f20m2-showcase-media \u003e iframe,\n.f20m2-showcase-media \u003e video {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n}\n\n.f20m2-showcase-media {\n  z-index: 0;\n  overflow: hidden;\n  background: #dfe4e1;\n}\n\n.f20m2-showcase-media \u003e img {\n  display: block;\n  object-fit: cover;\n  object-position: center;\n  transition: transform .7s cubic-bezier(.2,.65,.3,1), opacity .35s ease;\n}\n\n.f20m2-showcase-card:hover .f20m2-showcase-media \u003e img {\n  transform: scale(1.025);\n}\n\n\/* Keep the poster visible while the native MP4 is loading. *\/\n.f20m2-showcase-poster {\n  z-index: 1;\n}\n\n.f20m2-feature-video {\n  z-index: 2;\n  display: block;\n  border: 0;\n  pointer-events: none;\n  opacity: 1;\n  background: #1d211f;\n  transition: opacity .35s ease;\n}\n\n.f20m2-showcase-card.is-video-ready .f20m2-feature-video {\n  opacity: 1;\n}\n\n.f20m2-showcase-card.is-video-ready .f20m2-showcase-poster {\n  opacity: 0;\n}\n\n.f20m2-showcase-media \u003e video.f20m2-feature-video {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  max-width: 100%;\n  max-height: 100%;\n  object-fit: cover;\n  object-position: center;\n  transform: none;\n}\n\n.f20m2-showcase-overlay {\n  position: absolute;\n  z-index: 3;\n  inset: 0;\n  pointer-events: none;\n  background:\n    linear-gradient(\n      180deg,\n      rgba(7,10,8,.62) 0%,\n      rgba(7,10,8,.22) 32%,\n      rgba(7,10,8,.02) 62%,\n      rgba(7,10,8,.18) 100%\n    );\n}\n\n.f20m2-showcase-copy {\n  position: absolute;\n  z-index: 4;\n  top: 0;\n  left: 0;\n  width: 100%;\n  padding: 34px 32px;\n  color: #fff;\n  text-shadow: 0 1px 14px rgba(0,0,0,.22);\n}\n\n.f20m2-showcase-copy h3 {\n  max-width: 520px;\n  margin: 0 0 10px;\n  color: #fff;\n  font-size: clamp(21px, 1.65vw, 30px);\n  line-height: 1.13;\n  font-weight: 720;\n}\n\n.f20m2-showcase-copy p {\n  max-width: 560px;\n  margin: 0;\n  color: rgba(255,255,255,.96);\n  font-size: clamp(13px, 1vw, 16px);\n  line-height: 1.5;\n  font-weight: 520;\n}\n\n.f20m2-showcase-card--intro .f20m2-showcase-intro-copy {\n  position: absolute;\n  z-index: 3;\n  top: 0;\n  left: 0;\n  width: 100%;\n  padding: 34px 38px 0;\n}\n\n.f20m2-showcase-intro-copy p {\n  max-width: 720px;\n  margin: 0;\n  color: #a5aaa7;\n  font-size: clamp(20px, 1.8vw, 30px);\n  line-height: 1.35;\n  font-weight: 500;\n}\n\n.f20m2-showcase-intro-copy strong {\n  color: #121212;\n  font-weight: 650;\n}\n\n.f20m2-showcase-card--intro \u003e img {\n  position: absolute;\n  z-index: 1;\n  left: 4%;\n  right: 4%;\n  bottom: 3%;\n  width: 92%;\n  height: 76%;\n  object-fit: contain;\n  object-position: center bottom;\n}\n\n.f20m2-scrollbar {\n  display: none;\n}\n\n\/* =====================================================\n   SIZE\n====================================================== *\/\n\n.f20m2-size {\n  padding: 48px 0;\n  background: #fff;\n}\n\n.f20m2-size h2 {\n  margin-bottom: 28px;\n  text-align: center;\n}\n\n.f20m2-size-grid {\n  display: grid;\n\n  grid-template-columns:\n    minmax(0, 1.2fr)\n    minmax(320px, .8fr);\n\n  gap: 34px;\n\n  align-items: center;\n}\n\n.f20m2-size-image {\n  min-width: 0;\n}\n\n.f20m2-size-image img {\n  display: block;\n\n  width: 100%;\n  height: auto;\n\n  background: #fff;\n}\n\n.f20m2-measures {\n  min-width: 0;\n\n  padding: 10px 24px;\n\n  background: #fff;\n\n  border-radius: 8px;\n\n  box-shadow:\n    0 2px 12px rgba(0,0,0,.08);\n}\n\n.f20m2-measures div {\n  display: flex;\n\n  justify-content: space-between;\n  align-items: flex-start;\n\n  gap: 20px;\n\n  padding: 12px 0;\n\n  border-bottom:\n    1px solid #ececec;\n\n  font-size: 13px;\n  line-height: 1.45;\n}\n\n.f20m2-measures div:last-child {\n  border-bottom: 0;\n}\n\n.f20m2-measures span {\n  min-width: 0;\n  color: #454545;\n}\n\n.f20m2-measures strong {\n  flex: 0 0 auto;\n\n  text-align: right;\n  white-space: nowrap;\n}\n\n\n\/* =====================================================\n   SPECIFICATIONS\n====================================================== *\/\n\n.f20m2-specs {\n  padding: 54px 0;\n  background: #f8f8f8;\n}\n\n.f20m2-specs h2 {\n  margin-bottom: 30px;\n  text-align: center;\n}\n\n.f20m2-spec-grid {\n  display: grid;\n\n  grid-template-columns:\n    repeat(3, minmax(0, 1fr));\n\n  gap: 28px;\n}\n\n.f20m2-spec-column {\n  min-width: 0;\n}\n\n.f20m2-spec-title {\n  width: 100%;\n\n  margin: 0;\n  padding: 0 0 13px;\n\n  border: 0;\n  border-bottom: 2px solid #111;\n\n  background: none;\n\n  color: #111;\n\n  text-align: left;\n\n  font: inherit;\n  font-size: 20px;\n  font-weight: 720;\n\n  cursor: default;\n}\n\n.f20m2-spec-title span {\n  display: none;\n}\n\n.f20m2-spec-column ul {\n  list-style: none;\n\n  margin: 0;\n  padding: 10px 0;\n}\n\n.f20m2-spec-column li {\n  display: flex;\n\n  justify-content: space-between;\n  align-items: flex-start;\n\n  gap: 16px;\n\n  padding: 11px 0;\n\n  border-bottom:\n    1px solid #e4e4e4;\n\n  font-size: 13px;\n  line-height: 1.45;\n}\n\n.f20m2-spec-column b {\n  min-width: 0;\n  font-weight: 650;\n}\n\n.f20m2-spec-column em {\n  max-width: 58%;\n\n  color: #454545;\n\n  font-style: normal;\n  text-align: right;\n\n  overflow-wrap: anywhere;\n}\n\n\n\/* =====================================================\n   GALLERY\n====================================================== *\/\n\n.f20m2-gallery-section {\n  padding: 50px 0 70px;\n  background: #fff;\n}\n\n.f20m2-gallery-section h2 {\n  margin-bottom: 24px;\n  text-align: center;\n}\n\n.f20m2-gallery {\n  width: 100%;\n}\n\n.f20m2-main {\n  position: relative;\n\n  width: 100%;\n  height: clamp(420px, 46vw, 650px);\n\n  overflow: hidden;\n\n  background: #f7f7f7;\n}\n\n.f20m2-main-image {\n  display: block;\n\n  width: 100%;\n  height: 100%;\n\n  object-fit: contain;\n  object-position: center;\n\n  background: #f7f7f7;\n\n  transition: opacity .18s ease;\n}\n\n\n\/* Gallery arrows *\/\n\n.f20m2-arrow {\n  position: absolute;\n\n  z-index: 4;\n\n  top: 50%;\n\n  width: 40px;\n  height: 40px;\n\n  padding: 0;\n\n  transform:\n    translateY(-50%);\n\n  border: 0;\n  border-radius: 50%;\n\n  background:\n    rgba(0,0,0,.52);\n\n  color: #fff;\n\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  font-size: 29px;\n  line-height: 1;\n\n  cursor: pointer;\n\n  transition:\n    background .18s ease,\n    transform .18s ease;\n}\n\n.f20m2-arrow:hover {\n  background:\n    rgba(0,0,0,.72);\n}\n\n.f20m2-arrow:active {\n  transform:\n    translateY(-50%)\n    scale(.94);\n}\n\n.f20m2-prev {\n  left: 16px;\n}\n\n.f20m2-next {\n  right: 16px;\n}\n\n\n\/* Thumbnails *\/\n\n.f20m2-thumbs {\n  display: grid;\n\n  grid-template-columns:\n    repeat(6, minmax(0, 1fr));\n\n  gap: 6px;\n\n  margin-top: 6px;\n}\n\n.f20m2-thumb {\n  position: relative;\n\n  width: 100%;\n\n  margin: 0;\n  padding: 0;\n\n  overflow: hidden;\n\n  border: 2px solid transparent;\n\n  background: none;\n\n  opacity: .5;\n\n  cursor: pointer;\n\n  transition:\n    opacity .18s ease,\n    border-color .18s ease;\n}\n\n.f20m2-thumb:hover {\n  opacity: .8;\n}\n\n.f20m2-thumb.is-active {\n  opacity: 1;\n  border-color: #171717;\n}\n\n.f20m2-thumb img {\n  display: block;\n\n  width: 100%;\n  height: 108px;\n\n  object-fit: cover;\n  object-position: center;\n\n  background: #f6f6f6;\n\n  pointer-events: none;\n}\n\n\n\/* Static responsive Zobacz więcej image *\/\n.f20m2-gallery-static,\n.f20m2-gallery-static picture {\n  display: block;\n  width: 100%;\n}\n\n.f20m2-gallery-static-image {\n  display: block;\n  width: 100%;\n  height: auto;\n  object-fit: contain;\n  object-position: center;\n  background: #f4f7f5;\n}\n\n\n\/* =====================================================\n   FOCUS\n====================================================== *\/\n\n.f20m2-arrow:focus-visible,\n.f20m2-thumb:focus-visible,\n.f20m2-spec-title:focus-visible,\n.f20m2-detail-nav:focus-visible,\n.f20m2-detail-track:focus-visible {\n  outline: 2px solid #f5a400;\n  outline-offset: 2px;\n}\n\n\n\/* =====================================================\n   TABLET\n====================================================== *\/\n\n@media (max-width: 1024px) {\n\n  .f20m2-detail-slider-wrap {\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n  .f20m2-detail-card {\n    flex-basis: min(31%, 360px);\n    min-width: 260px;\n  }\n\n  .f20m2-hero {\n    min-height: 430px;\n  }\n\n  .f20m2-hero-media {\n    height: 430px;\n  }\n\n\n  .f20m2-showcase-wrap {\n    padding-left: 16px;\n    padding-right: 16px;\n  }\n\n  .f20m2-showcase-grid {\n    grid-template-columns: repeat(6, minmax(0, 1fr));\n    gap: 14px;\n  }\n\n  .f20m2-showcase-card--intro,\n  .f20m2-showcase-card--wide {\n    grid-column: span 6;\n  }\n\n  .f20m2-showcase-card--portrait {\n    grid-column: span 3;\n  }\n\n  .f20m2-showcase-card--intro {\n    height: 500px;\n  }\n\n  .f20m2-showcase-card--portrait,\n  .f20m2-showcase-grid \u003e .f20m2-showcase-card:nth-child(4),\n  .f20m2-showcase-grid \u003e .f20m2-showcase-card:nth-child(5) {\n    height: 460px;\n  }\n\n  .f20m2-showcase-card--wide {\n    height: 430px;\n  }\n\n  .f20m2-showcase-copy {\n    padding: 27px 25px;\n  }\n\n  .f20m2-size-grid {\n    grid-template-columns: 1fr;\n  }\n\n\n  .f20m2-size-image {\n    max-width: 900px;\n    margin: 0 auto;\n  }\n\n\n  .f20m2-spec-grid {\n    gap: 18px;\n  }\n\n}\n\n\n\/* =====================================================\n   MOBILE\n====================================================== *\/\n\n@media (max-width: 768px) {\n\n\n  \/* -----------------\n     Hero\n  ------------------ *\/\n\n  .f20m2-hero {\n    display: block;\n\n    min-height: 0;\n\n    overflow: visible;\n  }\n\n\n  .f20m2-hero-media {\n    width: 100%;\n    height: auto;\n    aspect-ratio: 4 \/ 3;\n  }\n\n\n  .f20m2-hero-media iframe {\n    width: 100%;\n    height: 100%;\n\n    border: 0;\n    background: #000;\n  }\n\n\n  .f20m2-hero-copy {\n    padding:\n      27px\n      18px\n      32px;\n  }\n\n\n  .f20m2-eyebrow {\n    margin-bottom: 9px;\n\n    font-size: 11px;\n  }\n\n\n  .f20m2-hero-copy h2 {\n    margin-bottom: 12px;\n\n    font-size: 32px;\n    line-height: 1.08;\n  }\n\n\n  .f20m2-hero-copy \u003e p {\n    font-size: 14px;\n    line-height: 1.7;\n  }\n\n\n  .f20m2-hero-specs {\n    gap: 8px;\n\n    margin-top: 20px;\n  }\n\n\n  .f20m2-hero-specs div {\n    padding: 11px 12px;\n  }\n\n\n  .f20m2-hero-specs strong {\n    font-size: 15px;\n  }\n\n\n  .f20m2-hero-specs span {\n    font-size: 11px;\n  }\n\n\n\n\n\n  \/* -----------------\n     Detail carousel\n  ------------------ *\/\n\n  .f20m2-detail-slider-section {\n    padding: 2px 16px 28px;\n  }\n\n  .f20m2-detail-slider-wrap {\n    padding: 0;\n  }\n\n  .f20m2-detail-slider-head {\n    margin-bottom: 16px;\n  }\n\n  .f20m2-detail-slider-head h2 {\n    font-size: 30px;\n  }\n\n  .f20m2-detail-slider-nav {\n    display: flex;\n    gap: 8px;\n  }\n\n  .f20m2-detail-nav {\n    width: 36px;\n    height: 36px;\n    font-size: 23px;\n    background: rgba(255,255,255,.96);\n  }\n\n  .f20m2-detail-swipe-hint {\n    display: flex;\n    align-items: center;\n    gap: 7px;\n    margin: -5px 0 13px;\n    color: #747a76;\n    font-size: 12px;\n    line-height: 1.3;\n    font-weight: 600;\n  }\n\n  .f20m2-detail-swipe-arrow {\n    display: inline-block;\n    color: #151b18;\n    font-size: 17px;\n    line-height: 1;\n    animation: f20m2DetailSwipe 1.6s ease-in-out infinite;\n  }\n\n  .f20m2-detail-track {\n    gap: 14px;\n    padding: 0 46px 6px 0;\n    overflow-x: auto !important;\n    overflow-y: hidden !important;\n    scroll-snap-type: x mandatory;\n    -webkit-overflow-scrolling: touch;\n    overscroll-behavior-inline: contain;\n    touch-action: pan-y pinch-zoom;\n  }\n\n  .f20m2-detail-card {\n    flex: 0 0 74vw;\n    min-width: 74vw;\n    scroll-snap-align: start;\n    scroll-snap-stop: normal;\n  }\n\n  .f20m2-detail-card-media {\n    border-radius: 18px;\n  }\n\n  .f20m2-detail-card-copy {\n    padding-top: 12px;\n  }\n\n  .f20m2-detail-card-copy h3 {\n    font-size: 16px;\n    line-height: 1.35;\n  }\n\n  .f20m2-detail-card-copy p {\n    font-size: 13px;\n    line-height: 1.56;\n  }\n\n\n  \/* -----------------\n     Feature showcase\n  ------------------ *\/\n\n  .f20m2-feature-showcase {\n    padding: 38px 0 42px;\n    overflow: hidden;\n  }\n\n  .f20m2-showcase-wrap {\n    padding: 0;\n  }\n\n  .f20m2-showcase-heading {\n    margin-bottom: 18px;\n    padding: 0 16px;\n  }\n\n  .f20m2-showcase-heading \u003e span {\n    margin-bottom: 7px;\n    font-size: 10px;\n  }\n\n  .f20m2-showcase-heading h2 {\n    font-size: 26px;\n    line-height: 1.16;\n  }\n\n  .f20m2-showcase-grid {\n    display: flex;\n    gap: 12px;\n    overflow-x: auto;\n    overflow-y: hidden;\n    padding: 0 16px 14px;\n    scroll-snap-type: x mandatory;\n    overscroll-behavior-inline: contain;\n    scrollbar-width: none;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .f20m2-showcase-grid::-webkit-scrollbar {\n    display: none;\n  }\n\n  .f20m2-showcase-card,\n  .f20m2-showcase-card--intro,\n  .f20m2-showcase-card--portrait,\n  .f20m2-showcase-card--wide,\n  .f20m2-showcase-grid \u003e .f20m2-showcase-card:nth-child(4),\n  .f20m2-showcase-grid \u003e .f20m2-showcase-card:nth-child(5) {\n    flex: 0 0 min(84vw, 360px);\n    width: min(84vw, 360px);\n    height: min(112vw, 480px);\n    grid-column: auto;\n    border-radius: 18px;\n    scroll-snap-align: start;\n    scroll-snap-stop: always;\n  }\n\n  .f20m2-showcase-card--intro {\n    height: min(102vw, 440px);\n  }\n\n  .f20m2-showcase-card--wide {\n    flex-basis: min(90vw, 410px);\n    width: min(90vw, 410px);\n  }\n\n  .f20m2-showcase-copy {\n    padding: 24px 22px;\n  }\n\n  .f20m2-showcase-copy h3 {\n    margin-bottom: 8px;\n    font-size: 22px;\n    line-height: 1.16;\n  }\n\n  .f20m2-showcase-copy p {\n    font-size: 13px;\n    line-height: 1.48;\n  }\n\n  .f20m2-showcase-card--intro .f20m2-showcase-intro-copy {\n    padding: 24px 22px 0;\n  }\n\n  .f20m2-showcase-intro-copy p {\n    font-size: 20px;\n    line-height: 1.34;\n  }\n\n  .f20m2-showcase-card--intro \u003e img {\n    left: 3%;\n    right: 3%;\n    bottom: 1%;\n    width: 94%;\n    height: 75%;\n  }\n\n  \/* Keep mobile smooth: native MP4 videos are loaded only near the viewport. *\/\n  .f20m2-feature-video {\n    will-change: opacity;\n  }\n\n  .f20m2-scrollbar {\n    position: relative;\n    display: block;\n    height: 4px;\n    margin: 2px 16px 0;\n    overflow: hidden;\n    border-radius: 999px;\n    background: rgba(19,30,24,.12);\n  }\n\n  .f20m2-scrollbar span {\n    position: absolute;\n    left: 0;\n    top: 0;\n    display: block;\n    width: 22%;\n    height: 100%;\n    border-radius: 999px;\n    background: #202825;\n    will-change: left, width;\n  }\n\n\n  \/* -----------------\n     Size\n  ------------------ *\/\n\n  .f20m2-size {\n    padding: 36px 0;\n  }\n\n\n  .f20m2-size h2,\n  .f20m2-specs h2,\n  .f20m2-gallery-section h2 {\n    font-size: 25px;\n  }\n\n\n  .f20m2-size h2 {\n    margin-bottom: 20px;\n  }\n\n\n  .f20m2-size-grid {\n    gap: 18px;\n  }\n\n\n  .f20m2-size-image img {\n    width: 100%;\n    height: auto;\n  }\n\n\n  .f20m2-measures {\n    padding: 5px 16px;\n  }\n\n\n  .f20m2-measures div {\n    gap: 12px;\n\n    padding: 11px 0;\n\n    font-size: 12px;\n  }\n\n\n  .f20m2-measures strong {\n    white-space: normal;\n  }\n\n\n\n  \/* -----------------\n     Specifications\n  ------------------ *\/\n\n  .f20m2-specs {\n    padding: 36px 0;\n  }\n\n\n  .f20m2-specs h2 {\n    margin-bottom: 22px;\n  }\n\n\n  .f20m2-spec-grid {\n    display: block;\n  }\n\n\n  .f20m2-spec-column {\n    margin-bottom: 10px;\n\n    overflow: hidden;\n\n    border:\n      1px solid #e5e5e5;\n\n    border-radius: 8px;\n\n    background: #fff;\n  }\n\n\n  .f20m2-spec-title {\n    display: flex;\n\n    align-items: center;\n    justify-content: space-between;\n\n    width: 100%;\n\n    padding: 16px;\n\n    border-bottom: 0;\n\n    font-size: 17px;\n\n    cursor: pointer;\n  }\n\n\n  .f20m2-spec-title span {\n    position: relative;\n\n    display: block;\n\n    width: 18px;\n    height: 18px;\n\n    flex:\n      0 0\n      18px;\n  }\n\n\n  .f20m2-spec-title span::before,\n  .f20m2-spec-title span::after {\n    content: \"\";\n\n    position: absolute;\n\n    left: 50%;\n    top: 50%;\n\n    width: 14px;\n    height: 2px;\n\n    background: #111;\n\n    transform:\n      translate(-50%, -50%);\n\n    transition:\n      transform .18s ease;\n  }\n\n\n  .f20m2-spec-title span::after {\n    transform:\n      translate(-50%, -50%)\n      rotate(90deg);\n  }\n\n\n  .f20m2-spec-title[aria-expanded=\"true\"]\n  span::after {\n    transform:\n      translate(-50%, -50%)\n      rotate(0deg);\n  }\n\n\n  .f20m2-spec-column ul {\n    display: none;\n\n    padding:\n      0\n      16px\n      12px;\n  }\n\n\n  .f20m2-spec-column.is-open ul {\n    display: block;\n  }\n\n\n  .f20m2-spec-column li {\n    gap: 12px;\n\n    font-size: 12px;\n  }\n\n\n  .f20m2-spec-column em {\n    max-width: 56%;\n  }\n\n\n\n  \/* -----------------\n     Gallery\n  ------------------ *\/\n\n  .f20m2-gallery-section {\n    padding: 36px 0 44px;\n  }\n\n\n  .f20m2-gallery-section .f20m2-container {\n    padding: 0;\n  }\n\n\n  .f20m2-gallery-section h2 {\n    margin-bottom: 16px;\n\n    padding:\n      0\n      16px;\n  }\n\n\n  \/*\n    Fixed mobile image area prevents\n    vertical page jumping when switching\n    between landscape and portrait images.\n  *\/\n  .f20m2-main {\n    width: 100%;\n\n    height: 75vw;\n    max-height: 430px;\n    min-height: 280px;\n\n    background: #f7f7f7;\n  }\n\n\n  .f20m2-main-image {\n    width: 100%;\n    height: 100%;\n\n    object-fit: contain;\n  }\n\n\n  .f20m2-arrow {\n    width: 34px;\n    height: 34px;\n\n    font-size: 26px;\n\n    background:\n      rgba(0,0,0,.46);\n  }\n\n\n  .f20m2-prev {\n    left: 8px;\n  }\n\n\n  .f20m2-next {\n    right: 8px;\n  }\n\n\n  .f20m2-thumbs {\n    display: flex;\n\n    gap: 8px;\n\n    overflow-x: auto;\n    overflow-y: hidden;\n\n    margin-top: 0;\n\n    padding:\n      8px\n      8px\n      2px;\n\n    scroll-snap-type:\n      x proximity;\n\n    overscroll-behavior-inline:\n      contain;\n\n    scrollbar-width: none;\n\n    -webkit-overflow-scrolling:\n      touch;\n\n    scroll-behavior: smooth;\n  }\n\n\n  .f20m2-thumbs::-webkit-scrollbar {\n    display: none;\n  }\n\n\n  .f20m2-thumb {\n    flex:\n      0 0\n      27%;\n\n    scroll-snap-align: center;\n  }\n\n\n  .f20m2-thumb img {\n    height: 78px;\n  }\n\n}\n\n\n\/* =====================================================\n   SMALL MOBILE\n====================================================== *\/\n\n@media (max-width: 420px) {\n\n  .f20m2-detail-slider-head h2 {\n    font-size: 26px;\n  }\n\n  .f20m2-detail-card {\n    flex-basis: 74vw;\n    min-width: 74vw;\n  }\n\n  .f20m2-hero-copy {\n    padding-left: 15px;\n    padding-right: 15px;\n  }\n\n\n  .f20m2-hero-copy h2 {\n    font-size: 29px;\n  }\n\n\n  .f20m2-hero-specs {\n    grid-template-columns:\n      repeat(2, minmax(0,1fr));\n  }\n\n\n  .f20m2-measures {\n    padding:\n      4px\n      13px;\n  }\n\n\n  .f20m2-main {\n    min-height: 260px;\n  }\n\n\n  .f20m2-thumb {\n    flex-basis: 30%;\n  }\n\n}\n\n\n@keyframes f20m2DetailSwipe {\n\n  0%,\n  100% {\n    transform: translateX(0);\n    opacity: .62;\n  }\n\n  50% {\n    transform: translateX(5px);\n    opacity: 1;\n  }\n\n}\n\n\n\/* =====================================================\n   REDUCED MOTION\n====================================================== *\/\n\n@media (prefers-reduced-motion: reduce) {\n\n  .f20m2-detail-swipe-arrow {\n    animation: none !important;\n  }\n\n  .f20m2-page *,\n  .f20m2-page *::before,\n  .f20m2-page *::after {\n    scroll-behavior: auto !important;\n    transition-duration: .01ms !important;\n    animation-duration: .01ms !important;\n  }\n\n}\n\n\n\n\/* =====================================================\n   F20 MATE HS · OVERRIDES \/ INTERACTION FIXES\n====================================================== *\/\n\n\/* Native horizontal swiping must remain enabled on mobile. *\/\n.f20m2-detail-track,\n.f20m2-showcase-grid,\n.f20m2-thumbs {\n  touch-action: auto !important;\n}\n\n\/* Lazy native Shopify MP4: keep poster visible until video is ready. *\/\n.f20m2-showcase-card .f20m2-feature-video {\n  opacity: 0;\n}\n\n.f20m2-showcase-card.is-video-ready .f20m2-feature-video {\n  opacity: 1;\n}\n\n.f20m2-showcase-card.is-video-ready .f20m2-showcase-poster {\n  opacity: 0;\n}\n\n.f20m2-showcase-media \u003e video.f20m2-feature-video {\n  position: absolute;\n  z-index: 2;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  max-width: 100%;\n  max-height: 100%;\n  border: 0;\n  pointer-events: none;\n  object-fit: cover;\n  object-position: center;\n  background: #1d211f;\n}\n\n\/* Make gallery obviously swipeable on touch devices. *\/\n.f20m2-main {\n  touch-action: pan-y;\n  user-select: none;\n  -webkit-user-select: none;\n}\n\n.f20m2-main-image {\n  -webkit-user-drag: none;\n  user-select: none;\n}\n\n\/* Keep carousel controls visible and usable. *\/\n.f20m2-detail-nav {\n  z-index: 3;\n}\n\n@media (max-width: 768px) {\n  .f20m2-showcase-grid {\n    padding-right: 46px;\n  }\n\n  .f20m2-detail-track {\n    scroll-snap-type: x mandatory;\n  }\n\n}\n\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function () {\n  \"use strict\";\n\n  function initF20MatePage(page) {\n    if (!page || page.dataset.f20m2Ready === \"true\") return;\n    page.dataset.f20m2Ready = \"true\";\n\n    \/* ---------------------------------------------\n       1. Lazy-load native Shopify MP4 videos\n    ---------------------------------------------- *\/\n    var videoCards = Array.prototype.slice.call(\n      page.querySelectorAll(\".f20m2-showcase-card--video\")\n    );\n\n    function loadVideoCard(card) {\n      if (!card || card.dataset.videoLoaded === \"true\") return;\n\n      var video = card.querySelector(\"video.f20m2-feature-video\");\n      var source = video ? video.querySelector(\"source[data-src]\") : null;\n      if (!video || !source) return;\n\n      card.dataset.videoLoaded = \"true\";\n\n      video.addEventListener(\"canplay\", function () {\n        card.classList.add(\"is-video-ready\");\n\n        var playPromise = video.play();\n        if (playPromise \u0026\u0026 typeof playPromise.catch === \"function\") {\n          playPromise.catch(function () {});\n        }\n      }, { once: true });\n\n      source.src = source.dataset.src;\n      video.load();\n    }\n\n    if (\"IntersectionObserver\" in window) {\n      var videoObserver = new IntersectionObserver(function (entries) {\n        entries.forEach(function (entry) {\n          if (entry.isIntersecting) {\n            loadVideoCard(entry.target);\n            videoObserver.unobserve(entry.target);\n          }\n        });\n      }, {\n        rootMargin: \"320px 0px\"\n      });\n\n      videoCards.forEach(function (card) {\n        videoObserver.observe(card);\n      });\n    } else {\n      videoCards.forEach(loadVideoCard);\n    }\n\n\n    \/* ---------------------------------------------\n       2. Feature showcase progress bar\n    ---------------------------------------------- *\/\n    var showcase = page.querySelector(\".f20m2-showcase-grid\");\n    var showcaseBar = page.querySelector(\".f20m2-scrollbar span\");\n\n    function updateShowcaseBar() {\n      if (!showcase || !showcaseBar) return;\n\n      var maxScroll = Math.max(0, showcase.scrollWidth - showcase.clientWidth);\n      var viewportRatio = showcase.scrollWidth\n        ? Math.min(1, showcase.clientWidth \/ showcase.scrollWidth)\n        : 1;\n\n      var thumbWidth = Math.max(16, viewportRatio * 100);\n      var progress = maxScroll\n        ? Math.min(1, Math.max(0, showcase.scrollLeft \/ maxScroll))\n        : 0;\n\n      showcaseBar.style.width = thumbWidth + \"%\";\n      showcaseBar.style.left = (progress * (100 - thumbWidth)) + \"%\";\n    }\n\n    if (showcase) {\n      showcase.addEventListener(\"scroll\", updateShowcaseBar, { passive: true });\n      window.addEventListener(\"resize\", updateShowcaseBar);\n      requestAnimationFrame(updateShowcaseBar);\n    }\n\n\n    \/* ---------------------------------------------\n       3. Detail carousel arrows + desktop drag\n    ---------------------------------------------- *\/\n    var detailTrack = page.querySelector(\".f20m2-detail-track\");\n    var detailPrev = page.querySelector(\".f20m2-detail-prev\");\n    var detailNext = page.querySelector(\".f20m2-detail-next\");\n\n    function detailStep() {\n      if (!detailTrack) return 320;\n\n      var card = detailTrack.querySelector(\".f20m2-detail-card\");\n      if (!card) return Math.max(280, detailTrack.clientWidth * 0.75);\n\n      var styles = window.getComputedStyle(detailTrack);\n      var gap = parseFloat(styles.columnGap || styles.gap || \"0\") || 0;\n\n      return card.getBoundingClientRect().width + gap;\n    }\n\n    function updateDetailButtons() {\n      if (!detailTrack) return;\n\n      var max = Math.max(0, detailTrack.scrollWidth - detailTrack.clientWidth - 2);\n\n      if (detailPrev) detailPrev.disabled = detailTrack.scrollLeft \u003c= 2;\n      if (detailNext) detailNext.disabled = detailTrack.scrollLeft \u003e= max;\n    }\n\n    if (detailPrev \u0026\u0026 detailTrack) {\n      detailPrev.addEventListener(\"click\", function () {\n        detailTrack.scrollBy({\n          left: -detailStep(),\n          behavior: \"smooth\"\n        });\n      });\n    }\n\n    if (detailNext \u0026\u0026 detailTrack) {\n      detailNext.addEventListener(\"click\", function () {\n        detailTrack.scrollBy({\n          left: detailStep(),\n          behavior: \"smooth\"\n        });\n      });\n    }\n\n    if (detailTrack) {\n      detailTrack.addEventListener(\"scroll\", updateDetailButtons, { passive: true });\n      window.addEventListener(\"resize\", updateDetailButtons);\n      requestAnimationFrame(updateDetailButtons);\n\n      var dragging = false;\n      var dragStartX = 0;\n      var dragStartScroll = 0;\n\n      detailTrack.addEventListener(\"pointerdown\", function (e) {\n        if (e.pointerType !== \"mouse\" || e.button !== 0) return;\n\n        dragging = true;\n        dragStartX = e.clientX;\n        dragStartScroll = detailTrack.scrollLeft;\n        detailTrack.classList.add(\"is-dragging\");\n        detailTrack.setPointerCapture(e.pointerId);\n      });\n\n      detailTrack.addEventListener(\"pointermove\", function (e) {\n        if (!dragging) return;\n        e.preventDefault();\n        detailTrack.scrollLeft = dragStartScroll - (e.clientX - dragStartX);\n      });\n\n      function endDrag(e) {\n        if (!dragging) return;\n        dragging = false;\n        detailTrack.classList.remove(\"is-dragging\");\n\n        try {\n          detailTrack.releasePointerCapture(e.pointerId);\n        } catch (err) {}\n      }\n\n      detailTrack.addEventListener(\"pointerup\", endDrag);\n      detailTrack.addEventListener(\"pointercancel\", endDrag);\n      detailTrack.addEventListener(\"pointerleave\", function (e) {\n        if (dragging \u0026\u0026 e.buttons === 0) endDrag(e);\n      });\n    }\n\n\n    \/* ---------------------------------------------\n       4. Mobile specification accordion\n    ---------------------------------------------- *\/\n    var specColumns = Array.prototype.slice.call(\n      page.querySelectorAll(\".f20m2-spec-column\")\n    );\n\n    function syncSpecState() {\n      var isMobile = window.matchMedia(\"(max-width: 768px)\").matches;\n\n      specColumns.forEach(function (column, index) {\n        var button = column.querySelector(\".f20m2-spec-title\");\n        if (!button) return;\n\n        if (!isMobile) {\n          column.classList.add(\"is-open\");\n          button.setAttribute(\"aria-expanded\", \"true\");\n        } else if (!column.dataset.mobileStateInitialized) {\n          var open = index === 0;\n          column.classList.toggle(\"is-open\", open);\n          button.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\n          column.dataset.mobileStateInitialized = \"true\";\n        }\n      });\n    }\n\n    specColumns.forEach(function (column) {\n      var button = column.querySelector(\".f20m2-spec-title\");\n      if (!button) return;\n\n      button.addEventListener(\"click\", function () {\n        if (!window.matchMedia(\"(max-width: 768px)\").matches) return;\n\n        var willOpen = !column.classList.contains(\"is-open\");\n\n        specColumns.forEach(function (other) {\n          var otherButton = other.querySelector(\".f20m2-spec-title\");\n          other.classList.remove(\"is-open\");\n          if (otherButton) otherButton.setAttribute(\"aria-expanded\", \"false\");\n        });\n\n        if (willOpen) {\n          column.classList.add(\"is-open\");\n          button.setAttribute(\"aria-expanded\", \"true\");\n        }\n      });\n    });\n\n    syncSpecState();\n    window.addEventListener(\"resize\", syncSpecState);\n\n\n    \/* ---------------------------------------------\n       5. Zobacz więcej — statyczny obraz responsywny\n       No JavaScript required.\n    ---------------------------------------------- *\/\n  }\n\n\n  function boot() {\n    document.querySelectorAll(\".f20m2-page\").forEach(initF20MatePage);\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", boot);\n  } else {\n    boot();\n  }\n})();\n\u003c\/script\u003e\n\n","brand":"Velomenu","offers":[{"title":"Grafitowa czerń \/ 21 Ah","offer_id":44000904773750,"sku":null,"price":7889.99,"currency_code":"PLN","in_stock":true},{"title":"Grafitowa czerń \/ 23.45 Ah","offer_id":44000904806518,"sku":null,"price":8468.99,"currency_code":"PLN","in_stock":true},{"title":"Mglisty niebieski \/ 21 Ah","offer_id":44000904839286,"sku":null,"price":7889.99,"currency_code":"PLN","in_stock":true},{"title":"Mglisty niebieski \/ 23.45 Ah","offer_id":44000904872054,"sku":null,"price":8468.99,"currency_code":"PLN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0688\/2086\/1046\/files\/DM_20260817035600_002.webp?v=1786955292","url":"https:\/\/velomenu.pl\/products\/eu-f20-mate-hs","provider":"Velomenu","version":"1.0","type":"link"}