{"product_id":"f20-mate","title":"Fafrees F20 Mate – Triciclo Eléctrico Plegable","description":"\u003c!-- Fafrees F20 Mate | Shopify Product Content | Spanish --\u003e\n\u003cdiv class=\"f20m-page\"\u003e\n\n  \u003c!-- =====================================================\n       HERO\n  ====================================================== --\u003e\n  \u003csection class=\"f20m-hero\"\u003e\n\n    \u003cdiv class=\"f20m-hero-media\"\u003e\n      \u003cvideo autoplay muted loop playsinline preload=\"metadata\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-cesta-trasera-portada..jpg?v=1786694062\" aria-label=\"Fafrees F20 Mate triciclo eléctrico en uso\"\u003e\n        \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/172868150e9f446a96fd58e9c5be93fb.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"f20m-hero-copy\"\u003e\n\n      \u003cspan class=\"f20m-eyebrow\"\u003e\n        Triciclo eléctrico plegable\n      \u003c\/span\u003e\n\n      \u003ch2\u003eFafrees F20 Mate\u003c\/h2\u003e\n\n      \u003cp\u003e\n        Un triciclo eléctrico de tres ruedas pensado para ofrecer más estabilidad,\n        comodidad y capacidad de carga en los desplazamientos diarios. Equipa motor\n        de 250 W, batería extraíble de 48 V 20 Ah y neumáticos anchos de 20 × 3,0\".\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"f20m-hero-specs\" aria-label=\"Especificaciones principales\"\u003e\n\n        \u003cdiv\u003e\n          \u003cstrong\u003e250 W\u003c\/strong\u003e\n          \u003cspan\u003eMotor\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003cstrong\u003e65 N·m\u003c\/strong\u003e\n          \u003cspan\u003ePar máximo\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003cstrong\u003e48 V 20 Ah\u003c\/strong\u003e\n          \u003cspan\u003eBatería\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003cstrong\u003e60–80 km\u003c\/strong\u003e\n          \u003cspan\u003eAutonomía\u003c\/span\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n  \u003c!-- =====================================================\n       FEATURES\n  ====================================================== --\u003e\n  \u003csection class=\"f20m-features\"\u003e\n\n    \u003cdiv class=\"f20m-container\"\u003e\n\n      \u003ch2\u003eDescubre la Fafrees F20 Mate\u003c\/h2\u003e\n\n      \u003cdiv class=\"f20m-divider\"\u003e\u003c\/div\u003e\n\n\n      \u003cdiv id=\"f20mFeatureCards\" class=\"f20m-card-track\"\u003e\n\n\n        \u003c!-- 01 --\u003e\n        \u003carticle class=\"f20m-card\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-cesta-trasera-portada..jpg?v=1786694062\" alt=\"Vista del triciclo eléctrico Fafrees F20 Mate mostrando su estructura de tres ruedas.\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003ch3\u003eEstabilidad sobre tres ruedas\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Tres ruedas para una conducción más estable y segura en los desplazamientos diarios.\n          \u003c\/p\u003e\n\n        \u003c\/article\u003e\n\n\n        \u003c!-- 02 --\u003e\n        \u003carticle class=\"f20m-card\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-motor-transmision..png?v=1786695974\" alt=\"Motor y sistema de transmisión trasera del triciclo eléctrico Fafrees F20 Mate.\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003ch3\u003eMotor de 250 W + diferencial trasero\u003c\/h3\u003e\n\n          \u003cp\u003e\n            65 N·m de par y diferencial trasero para una entrega suave y giros más naturales.\n          \u003c\/p\u003e\n\n        \u003c\/article\u003e\n\n\n        \u003c!-- 03 --\u003e\n        \u003carticle class=\"f20m-card\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-bateria-extraible..jpg?v=1786696778\" alt=\"Batería extraíble de 48 V 20 Ah del triciclo eléctrico Fafrees F20 Mate.\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003ch3\u003eBatería de 48 V 20 Ah\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Batería extraíble de 960 Wh con una autonomía indicada de 60–80 km.\n          \u003c\/p\u003e\n\n        \u003c\/article\u003e\n\n\n        \u003c!-- 04 --\u003e\n        \u003carticle class=\"f20m-card\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-frenos-hidraulicos..png?v=1786695882\" alt=\"Frenos hidráulicos de disco del triciclo eléctrico Fafrees F20 Mate.\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003ch3\u003eFrenos hidráulicos de 180 mm\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Frenada progresiva y mayor control para afrontar cada trayecto con confianza.\n          \u003c\/p\u003e\n\n        \u003c\/article\u003e\n\n\n        \u003c!-- 05 --\u003e\n        \u003carticle class=\"f20m-card\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-faro-sillin-suspension..jpg?v=1786695900\" alt=\"Sillín y sistema de suspensión del triciclo eléctrico Fafrees F20 Mate.\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003ch3\u003eDoble suspensión\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Horquilla delantera y tija con suspensión para absorber mejor las irregularidades.\n          \u003c\/p\u003e\n\n        \u003c\/article\u003e\n\n\n        \u003c!-- 06 --\u003e\n        \u003carticle class=\"f20m-card\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-neumaticos-anchos-freno-disco.jpg?v=1786696407\" alt=\"Neumático ancho de 20 por 3 pulgadas del triciclo eléctrico Fafrees F20 Mate.\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003ch3\u003eNeumáticos de 20 × 3,0\"\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Neumáticos anchos para ofrecer más agarre y comodidad sobre distintos tipos de terreno.\n          \u003c\/p\u003e\n\n        \u003c\/article\u003e\n\n\n        \u003c!-- 07 --\u003e\n        \u003carticle class=\"f20m-card\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-pantalla-lcd-manillar..jpg?v=1786696425\" alt=\"Pantalla LCD IPS instalada en el manillar del triciclo eléctrico Fafrees F20 Mate.\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003ch3\u003ePantalla IPS de 3,5\"\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Consulta velocidad, batería, kilometraje y nivel de asistencia de forma sencilla.\n          \u003c\/p\u003e\n\n        \u003c\/article\u003e\n\n\n        \u003c!-- 08 --\u003e\n        \u003carticle class=\"f20m-card\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-plegable-gris..webp?v=1786694026\" alt=\"Fafrees F20 Mate gris plegado para facilitar el almacenamiento.\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003ch3\u003ePlegable y fácil de guardar\u003c\/h3\u003e\n\n          \u003cp\u003e\n            El cuadro y el manillar plegables ayudan a reducir el espacio necesario para guardarlo.\n          \u003c\/p\u003e\n\n        \u003c\/article\u003e\n\n\n        \u003c!-- 09 --\u003e\n        \u003carticle class=\"f20m-card\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-capacidad-carga-cestas..jpg?v=1786696469\" alt=\"Fafrees F20 Mate mostrando sus zonas de carga y cesta trasera.\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003ch3\u003eHasta 180 kg de carga total\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Gran capacidad de carga para compras, equipaje y desplazamientos cotidianos.\n          \u003c\/p\u003e\n\n        \u003c\/article\u003e\n\n\n        \u003c!-- 10 --\u003e\n        \u003carticle class=\"f20m-card\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-luces-delantera-trasera.jpg?v=1786696484\" alt=\"Luces delantera y trasera del triciclo eléctrico Fafrees F20 Mate.\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003ch3\u003eIluminación delantera y trasera\u003c\/h3\u003e\n\n          \u003cp\u003e\n            Luces y reflectores integrados para mejorar la visibilidad durante el trayecto.\n          \u003c\/p\u003e\n\n        \u003c\/article\u003e\n\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- Mobile progress --\u003e\n      \u003cdiv class=\"f20m-scrollbar\" aria-hidden=\"true\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n  \u003c!-- =====================================================\n       SIZE\n  ====================================================== --\u003e\n  \u003csection class=\"f20m-size\"\u003e\n\n    \u003cdiv class=\"f20m-container\"\u003e\n\n      \u003ch2\u003eGeometría y medidas\u003c\/h2\u003e\n\n\n      \u003cdiv class=\"f20m-size-grid\"\u003e\n\n\n        \u003cdiv class=\"f20m-size-image\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-dimensiones-medidas.jpg?v=1786697341\" alt=\"Dimensiones y medidas del triciclo eléctrico Fafrees F20 Mate.\" loading=\"lazy\" decoding=\"async\"\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"f20m-measures\"\u003e\n\n\n          \u003cdiv\u003e\n            \u003cspan\u003eA. Altura máxima del sillín\u003c\/span\u003e\n            \u003cstrong\u003e106 cm\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n\n          \u003cdiv\u003e\n            \u003cspan\u003eB. Altura mínima del sillín\u003c\/span\u003e\n            \u003cstrong\u003e82 cm\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n\n          \u003cdiv\u003e\n            \u003cspan\u003eC. Altura de paso\u003c\/span\u003e\n            \u003cstrong\u003e40 cm\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n\n          \u003cdiv\u003e\n            \u003cspan\u003eD. Tamaño del cuadro\u003c\/span\u003e\n            \u003cstrong\u003e43 cm\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n\n          \u003cdiv\u003e\n            \u003cspan\u003eE. Altura máxima del manillar\u003c\/span\u003e\n            \u003cstrong\u003e116 cm\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n\n          \u003cdiv\u003e\n            \u003cspan\u003eF. Altura mínima del manillar\u003c\/span\u003e\n            \u003cstrong\u003e109 cm\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n\n          \u003cdiv\u003e\n            \u003cspan\u003eG. Altura del eje de pedalier\u003c\/span\u003e\n            \u003cstrong\u003e20 cm\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n\n          \u003cdiv\u003e\n            \u003cspan\u003eH. Longitud del tubo superior\u003c\/span\u003e\n            \u003cstrong\u003e68 cm\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n\n          \u003cdiv\u003e\n            \u003cspan\u003eI. Distancia entre ejes\u003c\/span\u003e\n            \u003cstrong\u003e118 cm\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n\n          \u003cdiv\u003e\n            \u003cspan\u003eJ. Longitud total\u003c\/span\u003e\n            \u003cstrong\u003e174 cm\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n\n          \u003cdiv\u003e\n            \u003cspan\u003eAnchura total\u003c\/span\u003e\n            \u003cstrong\u003e74 cm\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n\n          \u003cdiv\u003e\n            \u003cspan\u003eTamaño plegado\u003c\/span\u003e\n            \u003cstrong\u003e100 × 74 × 82 cm\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n  \u003c!-- =====================================================\n       SPECIFICATIONS\n  ====================================================== --\u003e\n  \u003csection class=\"f20m-specs\"\u003e\n\n    \u003cdiv class=\"f20m-container\"\u003e\n\n      \u003ch2\u003eEspecificaciones técnicas\u003c\/h2\u003e\n\n\n      \u003cdiv class=\"f20m-spec-grid\"\u003e\n\n\n        \u003c!-- GENERAL --\u003e\n        \u003cdiv class=\"f20m-spec-column is-open\"\u003e\n\n          \u003cbutton class=\"f20m-spec-title\" type=\"button\" aria-expanded=\"true\"\u003e\n            General\n            \u003cspan aria-hidden=\"true\"\u003e\u003c\/span\u003e\n          \u003c\/button\u003e\n\n\n          \u003cul\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eAutonomía\u003c\/b\u003e\n              \u003cem\u003e60–80 km\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eVelocidad\u003c\/b\u003e\n              \u003cem\u003eMáx. 25 km\/h\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eAsistencia al pedaleo\u003c\/b\u003e\n              \u003cem\u003e5 niveles\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003ePartes plegables\u003c\/b\u003e\n              \u003cem\u003eManillar y cuadro\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003ePeso\u003c\/b\u003e\n              \u003cem\u003e40 kg\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eCarga máxima\u003c\/b\u003e\n              \u003cem\u003e180 kg\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eAltura recomendada\u003c\/b\u003e\n              \u003cem\u003e160–200 cm\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eResistencia al agua\u003c\/b\u003e\n              \u003cem\u003eIPX5\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eCertificaciones\u003c\/b\u003e\n              \u003cem\u003eEN15194 + CE + E-Mark\u003c\/em\u003e\n            \u003c\/li\u003e\n\n          \u003c\/ul\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- ELECTRONICS --\u003e\n        \u003cdiv class=\"f20m-spec-column\"\u003e\n\n          \u003cbutton class=\"f20m-spec-title\" type=\"button\" aria-expanded=\"true\"\u003e\n            Electrónica\n            \u003cspan aria-hidden=\"true\"\u003e\u003c\/span\u003e\n          \u003c\/button\u003e\n\n\n          \u003cul\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eMotor\u003c\/b\u003e\n              \u003cem\u003eTrasero, 48 V, 250 W sostenidos\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003ePotencia pico indicada\u003c\/b\u003e\n              \u003cem\u003e750 W\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003ePar máximo\u003c\/b\u003e\n              \u003cem\u003e65 N·m\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eBatería\u003c\/b\u003e\n              \u003cem\u003e48 V 20 Ah \/ 960 Wh\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eTipo de batería\u003c\/b\u003e\n              \u003cem\u003eLitio extraíble\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003ePeso de la batería\u003c\/b\u003e\n              \u003cem\u003e4,5 kg\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eCargador\u003c\/b\u003e\n              \u003cem\u003eSalida 54,6 V \/ 3 A\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eTiempo de carga\u003c\/b\u003e\n              \u003cem\u003eAprox. 7 horas\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003ePantalla\u003c\/b\u003e\n              \u003cem\u003eLCD IPS color 3,5\", IP65\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eSensor\u003c\/b\u003e\n              \u003cem\u003eSensor de cadencia\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eLuces\u003c\/b\u003e\n              \u003cem\u003eDelantera y trasera con luz de freno\u003c\/em\u003e\n            \u003c\/li\u003e\n\n          \u003c\/ul\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- COMPONENTS --\u003e\n        \u003cdiv class=\"f20m-spec-column\"\u003e\n\n          \u003cbutton class=\"f20m-spec-title\" type=\"button\" aria-expanded=\"true\"\u003e\n            Componentes\n            \u003cspan aria-hidden=\"true\"\u003e\u003c\/span\u003e\n          \u003c\/button\u003e\n\n\n          \u003cul\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eCuadro\u003c\/b\u003e\n              \u003cem\u003eAleación de aluminio 6061\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eManillar\u003c\/b\u003e\n              \u003cem\u003eAluminio 31,8 mm \/ 660 mm\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eHorquilla\u003c\/b\u003e\n              \u003cem\u003eSuspensión, 35 mm, bloqueable\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eFrenos\u003c\/b\u003e\n              \u003cem\u003eDisco hidráulico\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eRotores\u003c\/b\u003e\n              \u003cem\u003e180 mm, 6 tornillos\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eTransmisión\u003c\/b\u003e\n              \u003cem\u003eUna velocidad\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003ePiñón\u003c\/b\u003e\n              \u003cem\u003e16T\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003ePlato\u003c\/b\u003e\n              \u003cem\u003e36T\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eRuedas\u003c\/b\u003e\n              \u003cem\u003e20\", doble pared de aluminio\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eNeumáticos\u003c\/b\u003e\n              \u003cem\u003e20 × 3,0\", resistentes a pinchazos\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eCámaras\u003c\/b\u003e\n              \u003cem\u003eCaucho butílico, válvula Schrader\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eBielas\u003c\/b\u003e\n              \u003cem\u003e165 mm\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003ePedales\u003c\/b\u003e\n              \u003cem\u003e9\/16\"\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eSillín\u003c\/b\u003e\n              \u003cem\u003eEspuma confort\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eTija\u003c\/b\u003e\n              \u003cem\u003eSuspensión, Ø27,2 mm, 15 mm de recorrido\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003ePortaequipajes trasero\u003c\/b\u003e\n              \u003cem\u003eIncluido\u003c\/em\u003e\n            \u003c\/li\u003e\n\n            \u003cli\u003e\n              \u003cb\u003eGuardabarros\u003c\/b\u003e\n              \u003cem\u003eIncluidos\u003c\/em\u003e\n            \u003c\/li\u003e\n\n          \u003c\/ul\u003e\n\n        \u003c\/div\u003e\n\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n  \u003c!-- =====================================================\n       GALLERY\n  ====================================================== --\u003e\n  \u003csection class=\"f20m-gallery-section\"\u003e\n\n    \u003cdiv class=\"f20m-container\"\u003e\n\n      \u003ch2\u003eDescubre más\u003c\/h2\u003e\n\n\n      \u003cdiv class=\"f20m-gallery\"\u003e\n\n\n        \u003c!-- Main image area --\u003e\n        \u003cdiv class=\"f20m-main\"\u003e\n\n          \u003cimg class=\"f20m-main-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-uso-urbano..webp?v=1786693673\" alt=\"Fafrees F20 Mate en uso urbano.\" loading=\"lazy\" decoding=\"async\"\u003e\n\n\n          \u003cbutton class=\"f20m-arrow f20m-prev\" type=\"button\" aria-label=\"Imagen anterior\"\u003e\n            ‹\n          \u003c\/button\u003e\n\n\n          \u003cbutton class=\"f20m-arrow f20m-next\" type=\"button\" aria-label=\"Imagen siguiente\"\u003e\n            ›\n          \u003c\/button\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- Thumbnails --\u003e\n        \u003cdiv class=\"f20m-thumbs\"\u003e\n\n\n          \u003c!-- 01 --\u003e\n          \u003cbutton class=\"f20m-thumb is-active\" type=\"button\" aria-label=\"Mostrar imagen 1\" aria-current=\"true\" data-full=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-uso-urbano..webp?v=1786693673\" data-alt=\"Fafrees F20 Mate en uso urbano.\"\u003e\n\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-uso-urbano..webp?v=1786693673\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003c\/button\u003e\n\n\n          \u003c!-- 02 --\u003e\n          \u003cbutton class=\"f20m-thumb\" type=\"button\" aria-label=\"Mostrar imagen 2\" aria-current=\"false\" data-full=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-azul-uso-real-exterior..webp?v=1786699011\" data-alt=\"Vista lateral real del triciclo eléctrico Fafrees F20 Mate azul en exterior.\"\u003e\n\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-azul-uso-real-exterior..webp?v=1786699011\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003c\/button\u003e\n\n\n          \u003c!-- 03 --\u003e\n          \u003cbutton class=\"f20m-thumb\" type=\"button\" aria-label=\"Mostrar imagen 3\" aria-current=\"false\" data-full=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-azul-vista-frontal-exterior..webp?v=1786699035\" data-alt=\"Vista frontal del triciclo eléctrico Fafrees F20 Mate azul de tres ruedas.\"\u003e\n\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-azul-vista-frontal-exterior..webp?v=1786699035\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003c\/button\u003e\n\n\n          \u003c!-- 04 --\u003e\n          \u003cbutton class=\"f20m-thumb\" type=\"button\" aria-label=\"Mostrar imagen 4\" aria-current=\"false\" data-full=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-doble-cesta-exterior..webp?v=1786699061\" data-alt=\"Fafrees F20 Mate equipado con cesta delantera y cesta trasera en exterior.\"\u003e\n\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-doble-cesta-exterior..webp?v=1786699061\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003c\/button\u003e\n\n\n          \u003c!-- 05 --\u003e\n          \u003cbutton class=\"f20m-thumb\" type=\"button\" aria-label=\"Mostrar imagen 5\" aria-current=\"false\" data-full=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-cesta-trasera-carga.jpg?v=1786699638\" data-alt=\"Zona de carga y cesta trasera del triciclo eléctrico Fafrees F20 Mate.\"\u003e\n\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-cesta-trasera-carga.jpg?v=1786699638\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003c\/button\u003e\n\n\n          \u003c!-- 06 --\u003e\n          \u003cbutton class=\"f20m-thumb\" type=\"button\" aria-label=\"Mostrar imagen 6\" aria-current=\"false\" data-full=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-cesta-delantera-trasera..webp?v=1786699076\" data-alt=\"Fafrees F20 Mate con cesta delantera y trasera para transporte de carga.\"\u003e\n\n            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-cesta-delantera-trasera..webp?v=1786699076\" alt=\"\" loading=\"lazy\" decoding=\"async\"\u003e\n\n          \u003c\/button\u003e\n\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\u003c\/div\u003e\n\n\n\n\u003cstyle\u003e\n\n\/* =====================================================\n   BASE\n====================================================== *\/\n\n.f20m-page,\n.f20m-page * {\n  box-sizing: border-box;\n}\n\n.f20m-page {\n  width: 100%;\n  margin: 0;\n  padding: 0;\n  color: #171717;\n  background: #fff;\n  font-family: inherit;\n}\n\n.f20m-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.f20m-hero {\n  display: grid;\n  grid-template-columns:\n    minmax(0, 1.35fr)\n    minmax(340px, .65fr);\n\n  min-height: clamp(440px, 43vw, 570px);\n  background: #f4f4f4;\n  overflow: hidden;\n}\n\n.f20m-hero-media {\n  min-width: 0;\n  min-height: 0;\n  overflow: hidden;\n  background: #ececec;\n}\n\n.f20m-hero-media video {\n  display: block;\n  width: 100%;\n  height: 100%;\n  min-height: 0;\n\n  object-fit: cover;\n  object-position: center;\n}\n\n.f20m-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.f20m-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.f20m-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.f20m-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.f20m-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.f20m-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.f20m-hero-specs strong,\n.f20m-hero-specs span {\n  display: block;\n}\n\n.f20m-hero-specs strong {\n  font-size: 17px;\n  line-height: 1.25;\n}\n\n.f20m-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.f20m-features h2,\n.f20m-size h2,\n.f20m-specs h2,\n.f20m-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.f20m-divider {\n  width: 54px;\n  height: 3px;\n\n  margin-bottom: 28px;\n\n  background: #f5a400;\n}\n\n\n\/* =====================================================\n   FEATURES\n====================================================== *\/\n\n.f20m-features {\n  padding: 54px 0;\n  background: #fff;\n}\n\n.f20m-card-track {\n  display: grid;\n\n  grid-template-columns:\n    repeat(4, minmax(0, 1fr));\n\n  gap: 20px;\n}\n\n.f20m-card {\n  min-width: 0;\n\n  display: flex;\n  flex-direction: column;\n\n  overflow: hidden;\n\n  background: #fff;\n\n  border-radius: 8px;\n\n  box-shadow:\n    0 2px 14px rgba(0,0,0,.11);\n}\n\n.f20m-card img {\n  display: block;\n\n  width: 100%;\n\n  aspect-ratio: 4 \/ 3;\n\n  object-fit: cover;\n  object-position: center;\n\n  background: #f6f6f6;\n}\n\n.f20m-card h3 {\n  margin:\n    18px\n    17px\n    8px;\n\n  font-size: 18px;\n  line-height: 1.35;\n  font-weight: 700;\n}\n\n.f20m-card p {\n  margin:\n    0\n    17px\n    22px;\n\n  color: #444;\n\n  font-size: 14px;\n  line-height: 1.65;\n}\n\n\n\/*\n  10 cards:\n  center the final two cards on desktop.\n*\/\n.f20m-card:nth-child(9) {\n  grid-column: 2;\n}\n\n.f20m-card:nth-child(10) {\n  grid-column: 3;\n}\n\n\n.f20m-scrollbar {\n  display: none;\n}\n\n\n\/* =====================================================\n   SIZE\n====================================================== *\/\n\n.f20m-size {\n  padding: 48px 0;\n  background: #fff;\n}\n\n.f20m-size h2 {\n  margin-bottom: 28px;\n  text-align: center;\n}\n\n.f20m-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.f20m-size-image {\n  min-width: 0;\n}\n\n.f20m-size-image img {\n  display: block;\n\n  width: 100%;\n  height: auto;\n\n  background: #fff;\n}\n\n.f20m-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.f20m-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.f20m-measures div:last-child {\n  border-bottom: 0;\n}\n\n.f20m-measures span {\n  min-width: 0;\n  color: #454545;\n}\n\n.f20m-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.f20m-specs {\n  padding: 54px 0;\n  background: #f8f8f8;\n}\n\n.f20m-specs h2 {\n  margin-bottom: 30px;\n  text-align: center;\n}\n\n.f20m-spec-grid {\n  display: grid;\n\n  grid-template-columns:\n    repeat(3, minmax(0, 1fr));\n\n  gap: 28px;\n}\n\n.f20m-spec-column {\n  min-width: 0;\n}\n\n.f20m-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.f20m-spec-title span {\n  display: none;\n}\n\n.f20m-spec-column ul {\n  list-style: none;\n\n  margin: 0;\n  padding: 10px 0;\n}\n\n.f20m-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.f20m-spec-column b {\n  min-width: 0;\n  font-weight: 650;\n}\n\n.f20m-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.f20m-gallery-section {\n  padding: 50px 0 70px;\n  background: #fff;\n}\n\n.f20m-gallery-section h2 {\n  margin-bottom: 24px;\n  text-align: center;\n}\n\n.f20m-gallery {\n  width: 100%;\n}\n\n.f20m-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.f20m-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.f20m-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.f20m-arrow:hover {\n  background:\n    rgba(0,0,0,.72);\n}\n\n.f20m-arrow:active {\n  transform:\n    translateY(-50%)\n    scale(.94);\n}\n\n.f20m-prev {\n  left: 16px;\n}\n\n.f20m-next {\n  right: 16px;\n}\n\n\n\/* Thumbnails *\/\n\n.f20m-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.f20m-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.f20m-thumb:hover {\n  opacity: .8;\n}\n\n.f20m-thumb.is-active {\n  opacity: 1;\n  border-color: #171717;\n}\n\n.f20m-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\/* =====================================================\n   FOCUS\n====================================================== *\/\n\n.f20m-arrow:focus-visible,\n.f20m-thumb:focus-visible,\n.f20m-spec-title: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  .f20m-hero {\n    grid-template-columns:\n      minmax(0, 1fr)\n      minmax(300px, 1fr);\n\n    min-height: 430px;\n  }\n\n\n  .f20m-card-track {\n    grid-template-columns:\n      repeat(2, minmax(0, 1fr));\n  }\n\n\n  .f20m-card:nth-child(9),\n  .f20m-card:nth-child(10) {\n    grid-column: auto;\n  }\n\n\n  .f20m-size-grid {\n    grid-template-columns: 1fr;\n  }\n\n\n  .f20m-size-image {\n    max-width: 900px;\n    margin: 0 auto;\n  }\n\n\n  .f20m-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  .f20m-hero {\n    display: block;\n\n    min-height: 0;\n\n    overflow: visible;\n  }\n\n\n  .f20m-hero-media {\n    width: 100%;\n\n    aspect-ratio: 4 \/ 3;\n  }\n\n\n  .f20m-hero-media video {\n    width: 100%;\n    height: 100%;\n\n    object-fit: cover;\n    object-position: center;\n  }\n\n\n  .f20m-hero-copy {\n    padding:\n      27px\n      18px\n      32px;\n  }\n\n\n  .f20m-eyebrow {\n    margin-bottom: 9px;\n\n    font-size: 11px;\n  }\n\n\n  .f20m-hero-copy h2 {\n    margin-bottom: 12px;\n\n    font-size: 32px;\n    line-height: 1.08;\n  }\n\n\n  .f20m-hero-copy \u003e p {\n    font-size: 14px;\n    line-height: 1.7;\n  }\n\n\n  .f20m-hero-specs {\n    gap: 8px;\n\n    margin-top: 20px;\n  }\n\n\n  .f20m-hero-specs div {\n    padding: 11px 12px;\n  }\n\n\n  .f20m-hero-specs strong {\n    font-size: 15px;\n  }\n\n\n  .f20m-hero-specs span {\n    font-size: 11px;\n  }\n\n\n\n  \/* -----------------\n     Features\n  ------------------ *\/\n\n  .f20m-features {\n    padding: 36px 0;\n\n    overflow: hidden;\n  }\n\n\n  .f20m-features .f20m-container {\n    padding: 0;\n  }\n\n\n  .f20m-features h2 {\n    padding: 0 16px;\n\n    font-size: 24px;\n  }\n\n\n  .f20m-divider {\n    margin-left: 16px;\n    margin-bottom: 20px;\n  }\n\n\n  .f20m-card-track {\n    display: flex;\n\n    gap: 14px;\n\n    overflow-x: auto;\n    overflow-y: hidden;\n\n    padding:\n      0\n      16px\n      16px;\n\n    scroll-snap-type:\n      x mandatory;\n\n    overscroll-behavior-inline:\n      contain;\n\n    scrollbar-width: none;\n\n    -webkit-overflow-scrolling:\n      touch;\n  }\n\n\n  .f20m-card-track::-webkit-scrollbar {\n    display: none;\n  }\n\n\n  .f20m-card {\n    flex:\n      0 0\n      min(82vw, 340px);\n\n    scroll-snap-align: start;\n    scroll-snap-stop: always;\n\n    grid-column: auto !important;\n  }\n\n\n  .f20m-card img {\n    aspect-ratio: 1 \/ 1;\n\n    object-fit: cover;\n  }\n\n\n  .f20m-card h3 {\n    margin:\n      15px\n      14px\n      7px;\n\n    font-size: 17px;\n  }\n\n\n  .f20m-card p {\n    margin:\n      0\n      14px\n      18px;\n\n    font-size: 13px;\n    line-height: 1.6;\n  }\n\n\n  \/* Dynamic mobile progress bar *\/\n\n  .f20m-scrollbar {\n    position: relative;\n\n    display: block;\n\n    height: 5px;\n\n    margin:\n      3px\n      16px\n      0;\n\n    overflow: hidden;\n\n    border-radius: 999px;\n\n    background: #e9e9e9;\n  }\n\n\n  .f20m-scrollbar span {\n    position: absolute;\n\n    left: 0;\n    top: 0;\n\n    display: block;\n\n    width: 22%;\n    height: 100%;\n\n    border-radius: 999px;\n\n    background: #f5a400;\n\n    transform: translate3d(0,0,0);\n\n    will-change:\n      transform,\n      width;\n  }\n\n\n\n  \/* -----------------\n     Size\n  ------------------ *\/\n\n  .f20m-size {\n    padding: 36px 0;\n  }\n\n\n  .f20m-size h2,\n  .f20m-specs h2,\n  .f20m-gallery-section h2 {\n    font-size: 25px;\n  }\n\n\n  .f20m-size h2 {\n    margin-bottom: 20px;\n  }\n\n\n  .f20m-size-grid {\n    gap: 18px;\n  }\n\n\n  .f20m-size-image img {\n    width: 100%;\n    height: auto;\n  }\n\n\n  .f20m-measures {\n    padding: 5px 16px;\n  }\n\n\n  .f20m-measures div {\n    gap: 12px;\n\n    padding: 11px 0;\n\n    font-size: 12px;\n  }\n\n\n  .f20m-measures strong {\n    white-space: normal;\n  }\n\n\n\n  \/* -----------------\n     Specifications\n  ------------------ *\/\n\n  .f20m-specs {\n    padding: 36px 0;\n  }\n\n\n  .f20m-specs h2 {\n    margin-bottom: 22px;\n  }\n\n\n  .f20m-spec-grid {\n    display: block;\n  }\n\n\n  .f20m-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  .f20m-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  .f20m-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  .f20m-spec-title span::before,\n  .f20m-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  .f20m-spec-title span::after {\n    transform:\n      translate(-50%, -50%)\n      rotate(90deg);\n  }\n\n\n  .f20m-spec-title[aria-expanded=\"true\"]\n  span::after {\n    transform:\n      translate(-50%, -50%)\n      rotate(0deg);\n  }\n\n\n  .f20m-spec-column ul {\n    display: none;\n\n    padding:\n      0\n      16px\n      12px;\n  }\n\n\n  .f20m-spec-column.is-open ul {\n    display: block;\n  }\n\n\n  .f20m-spec-column li {\n    gap: 12px;\n\n    font-size: 12px;\n  }\n\n\n  .f20m-spec-column em {\n    max-width: 56%;\n  }\n\n\n\n  \/* -----------------\n     Gallery\n  ------------------ *\/\n\n  .f20m-gallery-section {\n    padding: 36px 0 44px;\n  }\n\n\n  .f20m-gallery-section .f20m-container {\n    padding: 0;\n  }\n\n\n  .f20m-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  .f20m-main {\n    width: 100%;\n\n    height: 75vw;\n    max-height: 430px;\n    min-height: 280px;\n\n    background: #f7f7f7;\n  }\n\n\n  .f20m-main-image {\n    width: 100%;\n    height: 100%;\n\n    object-fit: contain;\n  }\n\n\n  .f20m-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  .f20m-prev {\n    left: 8px;\n  }\n\n\n  .f20m-next {\n    right: 8px;\n  }\n\n\n  .f20m-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  .f20m-thumbs::-webkit-scrollbar {\n    display: none;\n  }\n\n\n  .f20m-thumb {\n    flex:\n      0 0\n      27%;\n\n    scroll-snap-align: center;\n  }\n\n\n  .f20m-thumb img {\n    height: 78px;\n  }\n\n}\n\n\n\/* =====================================================\n   SMALL MOBILE\n====================================================== *\/\n\n@media (max-width: 420px) {\n\n  .f20m-hero-copy {\n    padding-left: 15px;\n    padding-right: 15px;\n  }\n\n\n  .f20m-hero-copy h2 {\n    font-size: 29px;\n  }\n\n\n  .f20m-hero-specs {\n    grid-template-columns:\n      repeat(2, minmax(0,1fr));\n  }\n\n\n  .f20m-card {\n    flex-basis: 84vw;\n  }\n\n\n  .f20m-measures {\n    padding:\n      4px\n      13px;\n  }\n\n\n  .f20m-main {\n    min-height: 260px;\n  }\n\n\n  .f20m-thumb {\n    flex-basis: 30%;\n  }\n\n}\n\n\n\/* =====================================================\n   REDUCED MOTION\n====================================================== *\/\n\n@media (prefers-reduced-motion: reduce) {\n\n  .f20m-page *,\n  .f20m-page *::before,\n  .f20m-page *::after {\n    scroll-behavior: auto !important;\n    transition-duration: .01ms !important;\n    animation-duration: .01ms !important;\n  }\n\n}\n\n\u003c\/style\u003e\n\n\n\n\u003cscript\u003e\n(function () {\n\n  function initF20MatePage() {\n\n    var pages =\n      document.querySelectorAll('.f20m-page');\n\n\n    pages.forEach(function (page) {\n\n\n      if (\n        page.getAttribute(\n          'data-f20m-initialized'\n        ) === 'true'\n      ) {\n        return;\n      }\n\n\n      page.setAttribute(\n        'data-f20m-initialized',\n        'true'\n      );\n\n\n      \/* =================================================\n         FEATURE CARDS MOBILE PROGRESS\n      ================================================== *\/\n\n      var cardTrack =\n        page.querySelector(\n          '.f20m-card-track'\n        );\n\n\n      var scrollbar =\n        page.querySelector(\n          '.f20m-scrollbar'\n        );\n\n\n      var scrollbarIndicator =\n        page.querySelector(\n          '.f20m-scrollbar span'\n        );\n\n\n      var featureRAF = null;\n\n\n      function updateFeatureScrollbar() {\n\n\n        if (\n          !cardTrack ||\n          !scrollbar ||\n          !scrollbarIndicator\n        ) {\n          return;\n        }\n\n\n        if (featureRAF) {\n          cancelAnimationFrame(featureRAF);\n        }\n\n\n        featureRAF =\n          requestAnimationFrame(\n            function () {\n\n\n              var clientWidth =\n                cardTrack.clientWidth;\n\n\n              var scrollWidth =\n                cardTrack.scrollWidth;\n\n\n              var maxScroll =\n                scrollWidth -\n                clientWidth;\n\n\n              if (\n                scrollWidth \u003c= 0 ||\n                clientWidth \u003c= 0\n              ) {\n                return;\n              }\n\n\n              \/*\n                Indicator width is based\n                on visible percentage.\n              *\/\n              var visibleRatio =\n                Math.min(\n                  1,\n                  clientWidth \/\n                  scrollWidth\n                );\n\n\n              var indicatorWidth =\n                Math.max(\n                  18,\n                  visibleRatio * 100\n                );\n\n\n              scrollbarIndicator.style.width =\n                indicatorWidth + '%';\n\n\n              if (maxScroll \u003c= 0) {\n\n                scrollbarIndicator.style.transform =\n                  'translate3d(0,0,0)';\n\n                return;\n              }\n\n\n              var progress =\n                Math.max(\n                  0,\n                  Math.min(\n                    1,\n                    cardTrack.scrollLeft \/\n                    maxScroll\n                  )\n                );\n\n\n              var availableMovement =\n                scrollbar.clientWidth -\n                scrollbarIndicator.offsetWidth;\n\n\n              var movement =\n                progress *\n                availableMovement;\n\n\n              scrollbarIndicator.style.transform =\n                'translate3d(' +\n                movement +\n                'px,0,0)';\n\n            }\n          );\n\n      }\n\n\n      if (cardTrack) {\n\n        cardTrack.addEventListener(\n          'scroll',\n          updateFeatureScrollbar,\n          { passive: true }\n        );\n\n\n        if (\n          typeof ResizeObserver !==\n          'undefined'\n        ) {\n\n          var featureObserver =\n            new ResizeObserver(\n              updateFeatureScrollbar\n            );\n\n\n          featureObserver.observe(\n            cardTrack\n          );\n\n        } else {\n\n          window.addEventListener(\n            'resize',\n            updateFeatureScrollbar\n          );\n\n        }\n\n\n        updateFeatureScrollbar();\n\n      }\n\n\n\n      \/* =================================================\n         SPECIFICATION ACCORDIONS\n      ================================================== *\/\n\n      var specColumns =\n        Array.prototype.slice.call(\n          page.querySelectorAll(\n            '.f20m-spec-column'\n          )\n        );\n\n\n      var specButtons =\n        Array.prototype.slice.call(\n          page.querySelectorAll(\n            '.f20m-spec-title'\n          )\n        );\n\n\n      function syncSpecState() {\n\n\n        if (window.innerWidth \u003e 768) {\n\n\n          specColumns.forEach(\n            function (column) {\n\n\n              var button =\n                column.querySelector(\n                  '.f20m-spec-title'\n                );\n\n\n              if (button) {\n\n                button.setAttribute(\n                  'aria-expanded',\n                  'true'\n                );\n\n              }\n\n            }\n          );\n\n\n          return;\n\n        }\n\n\n        \/*\n          On mobile:\n          keep only one section open.\n        *\/\n        var hasOpen =\n          specColumns.some(\n            function (column) {\n\n              return column.classList.contains(\n                'is-open'\n              );\n\n            }\n          );\n\n\n        if (\n          !hasOpen \u0026\u0026\n          specColumns[0]\n        ) {\n\n          specColumns[0].classList.add(\n            'is-open'\n          );\n\n        }\n\n\n        specColumns.forEach(\n          function (column) {\n\n\n            var button =\n              column.querySelector(\n                '.f20m-spec-title'\n              );\n\n\n            if (!button) {\n              return;\n            }\n\n\n            var open =\n              column.classList.contains(\n                'is-open'\n              );\n\n\n            button.setAttribute(\n              'aria-expanded',\n              open ? 'true' : 'false'\n            );\n\n          }\n        );\n\n      }\n\n\n      specButtons.forEach(\n        function (button) {\n\n\n          button.addEventListener(\n            'click',\n            function () {\n\n\n              if (\n                window.innerWidth \u003e 768\n              ) {\n                return;\n              }\n\n\n              var currentColumn =\n                button.closest(\n                  '.f20m-spec-column'\n                );\n\n\n              if (!currentColumn) {\n                return;\n              }\n\n\n              var isOpen =\n                currentColumn\n                  .classList\n                  .contains('is-open');\n\n\n              specColumns.forEach(\n                function (column) {\n\n                  column.classList.remove(\n                    'is-open'\n                  );\n\n\n                  var columnButton =\n                    column.querySelector(\n                      '.f20m-spec-title'\n                    );\n\n\n                  if (columnButton) {\n\n                    columnButton.setAttribute(\n                      'aria-expanded',\n                      'false'\n                    );\n\n                  }\n\n                }\n              );\n\n\n              if (!isOpen) {\n\n                currentColumn\n                  .classList\n                  .add('is-open');\n\n\n                button.setAttribute(\n                  'aria-expanded',\n                  'true'\n                );\n\n              }\n\n            }\n          );\n\n        }\n      );\n\n\n      var specResizeTimer = null;\n\n\n      window.addEventListener(\n        'resize',\n        function () {\n\n\n          clearTimeout(\n            specResizeTimer\n          );\n\n\n          specResizeTimer =\n            setTimeout(\n              syncSpecState,\n              100\n            );\n\n        }\n      );\n\n\n      syncSpecState();\n\n\n\n      \/* =================================================\n         GALLERY\n      ================================================== *\/\n\n      var gallery =\n        page.querySelector(\n          '.f20m-gallery'\n        );\n\n\n      var mainArea =\n        page.querySelector(\n          '.f20m-main'\n        );\n\n\n      var mainImage =\n        page.querySelector(\n          '.f20m-main-image'\n        );\n\n\n      var thumbs =\n        Array.prototype.slice.call(\n          page.querySelectorAll(\n            '.f20m-thumb'\n          )\n        );\n\n\n      var previousButton =\n        page.querySelector(\n          '.f20m-prev'\n        );\n\n\n      var nextButton =\n        page.querySelector(\n          '.f20m-next'\n        );\n\n\n      if (\n        !gallery ||\n        !mainImage ||\n        !thumbs.length\n      ) {\n        return;\n      }\n\n\n      var currentIndex =\n        thumbs.findIndex(\n          function (thumb) {\n\n            return thumb\n              .classList\n              .contains(\n                'is-active'\n              );\n\n          }\n        );\n\n\n      if (currentIndex \u003c 0) {\n        currentIndex = 0;\n      }\n\n\n      var imageRequest = 0;\n\n\n\n      function normalizeIndex(index) {\n\n\n        if (index \u003c 0) {\n          return thumbs.length - 1;\n        }\n\n\n        if (\n          index \u003e= thumbs.length\n        ) {\n          return 0;\n        }\n\n\n        return index;\n\n      }\n\n\n\n      function updateActiveThumb(\n        activeIndex\n      ) {\n\n\n        thumbs.forEach(\n          function (thumb, index) {\n\n\n            var isActive =\n              index === activeIndex;\n\n\n            thumb.classList.toggle(\n              'is-active',\n              isActive\n            );\n\n\n            thumb.setAttribute(\n              'aria-current',\n              isActive\n                ? 'true'\n                : 'false'\n            );\n\n          }\n        );\n\n      }\n\n\n\n      function scrollThumbIntoView(\n        thumb\n      ) {\n\n\n        if (\n          !thumb ||\n          window.innerWidth \u003e 768\n        ) {\n          return;\n        }\n\n\n        var thumbContainer =\n          page.querySelector(\n            '.f20m-thumbs'\n          );\n\n\n        if (!thumbContainer) {\n          return;\n        }\n\n\n        var targetScroll =\n          thumb.offsetLeft -\n          (\n            thumbContainer.clientWidth \/\n            2\n          ) +\n          (\n            thumb.offsetWidth \/\n            2\n          );\n\n\n        thumbContainer.scrollTo({\n          left: targetScroll,\n          behavior: 'smooth'\n        });\n\n      }\n\n\n\n      function showImage(index) {\n\n\n        var nextIndex =\n          normalizeIndex(index);\n\n\n        var activeThumb =\n          thumbs[nextIndex];\n\n\n        if (!activeThumb) {\n          return;\n        }\n\n\n        var newImageUrl =\n          activeThumb.getAttribute(\n            'data-full'\n          );\n\n\n        var newImageAlt =\n          activeThumb.getAttribute(\n            'data-alt'\n          ) || '';\n\n\n        if (!newImageUrl) {\n          return;\n        }\n\n\n        currentIndex =\n          nextIndex;\n\n\n        updateActiveThumb(\n          currentIndex\n        );\n\n\n        scrollThumbIntoView(\n          activeThumb\n        );\n\n\n        \/*\n          If same image, only update alt.\n        *\/\n        if (\n          mainImage.getAttribute('src') ===\n          newImageUrl\n        ) {\n\n          mainImage.setAttribute(\n            'alt',\n            newImageAlt\n          );\n\n          return;\n\n        }\n\n\n        imageRequest += 1;\n\n\n        var thisRequest =\n          imageRequest;\n\n\n        var preload =\n          new Image();\n\n\n        preload.onload =\n        preload.onerror =\n          function () {\n\n\n            \/*\n              Ignore old request if user\n              has already selected another image.\n            *\/\n            if (\n              thisRequest !==\n              imageRequest\n            ) {\n              return;\n            }\n\n\n            mainImage.style.opacity =\n              '0';\n\n\n            window.setTimeout(\n              function () {\n\n\n                if (\n                  thisRequest !==\n                  imageRequest\n                ) {\n                  return;\n                }\n\n\n                mainImage.setAttribute(\n                  'src',\n                  newImageUrl\n                );\n\n\n                mainImage.setAttribute(\n                  'alt',\n                  newImageAlt\n                );\n\n\n                requestAnimationFrame(\n                  function () {\n\n                    mainImage.style.opacity =\n                      '1';\n\n                  }\n                );\n\n\n              },\n              90\n            );\n\n          };\n\n\n        preload.src =\n          newImageUrl;\n\n      }\n\n\n\n      thumbs.forEach(\n        function (thumb, index) {\n\n\n          thumb.addEventListener(\n            'click',\n            function (event) {\n\n\n              event.preventDefault();\n\n\n              showImage(index);\n\n            }\n          );\n\n        }\n      );\n\n\n\n      if (previousButton) {\n\n        previousButton.addEventListener(\n          'click',\n          function (event) {\n\n\n            event.preventDefault();\n\n\n            showImage(\n              currentIndex - 1\n            );\n\n          }\n        );\n\n      }\n\n\n\n      if (nextButton) {\n\n        nextButton.addEventListener(\n          'click',\n          function (event) {\n\n\n            event.preventDefault();\n\n\n            showImage(\n              currentIndex + 1\n            );\n\n          }\n        );\n\n      }\n\n\n\n      \/* Keyboard controls *\/\n\n      if (mainArea) {\n\n\n        mainArea.setAttribute(\n          'tabindex',\n          '0'\n        );\n\n\n        mainArea.addEventListener(\n          'keydown',\n          function (event) {\n\n\n            if (\n              event.key ===\n              'ArrowLeft'\n            ) {\n\n              event.preventDefault();\n\n              showImage(\n                currentIndex - 1\n              );\n\n            }\n\n\n            if (\n              event.key ===\n              'ArrowRight'\n            ) {\n\n              event.preventDefault();\n\n              showImage(\n                currentIndex + 1\n              );\n\n            }\n\n          }\n        );\n\n      }\n\n\n\n      \/* Mobile swipe - MAIN IMAGE ONLY *\/\n\n      var touchStartX = 0;\n      var touchStartY = 0;\n\n\n      if (mainArea) {\n\n\n        mainArea.addEventListener(\n          'touchstart',\n          function (event) {\n\n\n            if (\n              !event.changedTouches ||\n              !event.changedTouches[0]\n            ) {\n              return;\n            }\n\n\n            touchStartX =\n              event.changedTouches[0]\n                .clientX;\n\n\n            touchStartY =\n              event.changedTouches[0]\n                .clientY;\n\n\n          },\n          { passive: true }\n        );\n\n\n        mainArea.addEventListener(\n          'touchend',\n          function (event) {\n\n\n            if (\n              !event.changedTouches ||\n              !event.changedTouches[0]\n            ) {\n              return;\n            }\n\n\n            var touchEndX =\n              event.changedTouches[0]\n                .clientX;\n\n\n            var touchEndY =\n              event.changedTouches[0]\n                .clientY;\n\n\n            var deltaX =\n              touchEndX -\n              touchStartX;\n\n\n            var deltaY =\n              touchEndY -\n              touchStartY;\n\n\n            \/*\n              Don't hijack normal\n              vertical page scrolling.\n            *\/\n            if (\n              Math.abs(deltaX) \u003c\n              Math.abs(deltaY)\n            ) {\n              return;\n            }\n\n\n            if (\n              Math.abs(deltaX) \u003c 45\n            ) {\n              return;\n            }\n\n\n            if (deltaX \u003e 0) {\n\n              showImage(\n                currentIndex - 1\n              );\n\n            } else {\n\n              showImage(\n                currentIndex + 1\n              );\n\n            }\n\n\n          },\n          { passive: true }\n        );\n\n      }\n\n\n\n      updateActiveThumb(\n        currentIndex\n      );\n\n    });\n\n  }\n\n\n\n  if (\n    document.readyState ===\n    'loading'\n  ) {\n\n    document.addEventListener(\n      'DOMContentLoaded',\n      initF20MatePage\n    );\n\n  } else {\n\n    initF20MatePage();\n\n  }\n\n\n\n  \/*\n    Shopify theme editor support\n  *\/\n  document.addEventListener(\n    'shopify:section:load',\n    initF20MatePage\n  );\n\n})();\n\u003c\/script\u003e","brand":"Velomenu","offers":[{"title":"Negro Gunmetal","offer_id":54212085940497,"sku":null,"price":1519.99,"currency_code":"EUR","in_stock":true},{"title":"Azul Haze","offer_id":54212085973265,"sku":null,"price":1519.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0974\/5704\/5777\/files\/eu-f20-mate-triciclo-electrico-azul-vista-lateral.jpg?v=1786693658","url":"https:\/\/velomenu.es\/products\/f20-mate","provider":"Velomenu","version":"1.0","type":"link"}