{"id":29092,"date":"2026-07-17T11:24:01","date_gmt":"2026-07-17T03:24:01","guid":{"rendered":"https:\/\/www.elphguard.com\/?page_id=29092"},"modified":"2026-10-15T16:18:14","modified_gmt":"2026-10-15T08:18:14","slug":"home-page","status":"publish","type":"page","link":"https:\/\/elphguard.com\/fr\/","title":{"rendered":"Home Page"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"29092\" class=\"elementor elementor-29092\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7859835 e-con e-atomic-element e-flexbox-base e-e405a4a \" data-id=\"7859835\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"7859835\" data-e-type=\"e-flexbox\" data-id=\"7859835\">\n    \t\t<div class=\"elementor-element elementor-element-a10e001 elementor-widget elementor-widget-html\" data-id=\"a10e001\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"eg-hero\" aria-labelledby=\"eg-home-hero-title\">\n  <article class=\"eg-hero__slide\">\n    <img width=\"1983\" height=\"793\" src=\"\/wp-content\/uploads\/2026\/09\/banner-bed5-2.png\" class=\"eg-hero__image\" alt=\"Mobility rollator for care and distribution markets\" loading=\"eager\" fetchpriority=\"high\" decoding=\"async\" data-no-lazy=\"1\" draggable=\"false\" sizes=\"100vw\" srcset=\"\/wp-content\/uploads\/2026\/09\/banner-bed5-2.png 1983w, \/wp-content\/uploads\/2026\/09\/banner-bed5-2-400x160.png 400w, \/wp-content\/uploads\/2026\/09\/banner-bed5-2-1300x520.png 1300w, \/wp-content\/uploads\/2026\/09\/banner-bed5-2-768x307.png 768w, \/wp-content\/uploads\/2026\/09\/banner-bed5-2-1536x614.png 1536w\" \/>\n    <div class=\"eg-hero__shade\" aria-hidden=\"true\"><\/div>\n    <div class=\"eg-hero__content\">\n      <p class=\"eg-hero__eyebrow\">ELPH GUARD \u00b7 B2B MOBILITY SOLUTIONS<\/p>\n      <h1 class=\"eg-hero__title\" id=\"eg-home-hero-title\">Mobility aids supplier.<br>Built for your market.<\/h1>\n      <p class=\"eg-hero__description\">Rollator walkers, bathroom safety and daily living aids for importers, distributors and medical brands. Wholesale supply and private label options for your market.<\/p>\n      <div class=\"eg-hero__actions\">\n        <a class=\"eg-hero__button eg-hero__button--primary\" href=\"\/catalog\/\"><span>Explore products<\/span><span class=\"eg-hero__arrow\" aria-hidden=\"true\">\u2192<\/span><\/a>\n        <a class=\"eg-hero__button eg-hero__button--secondary\" href=\"\/contact-us\/\"><span>Discuss your project<\/span><span class=\"eg-hero__arrow\" aria-hidden=\"true\">\u2192<\/span><\/a>\n      <\/div>\n    <\/div>\n  <\/article>\n<\/section>\t\t\t\t<\/div>\n\t\t\n<\/div>\n<section class=\"elementor-element elementor-element-ded412e eg-home-section eg-home-range e-flex e-con-boxed e-con e-parent\" data-id=\"ded412e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-54d88fe elementor-widget elementor-widget-html\" data-id=\"54d88fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"eg-carousel\" aria-label=\"Product carousel\" aria-roledescription=\"carousel\">\n  <div class=\"eg-carousel__header\">\n    <h2 class=\"eg-carousel__heading\">Explore our range<\/h2>\n    <div class=\"eg-carousel__controls\" aria-label=\"Carousel controls\">\n    <button type=\"button\" data-dir=\"-1\" aria-label=\"Previous item\">\u2190<\/button>\n    <button type=\"button\" data-dir=\"1\" aria-label=\"Next item\">\u2192<\/button>\n    <\/div>\n  <\/div>\n  <div class=\"eg-carousel__viewport\">\n    <div class=\"eg-carousel__track\">\n      <div class=\"eg-carousel__group\">\n        <a class=\"eg-carousel__card\" href=\"\/product-category\/rollator-walkers\/\">\n          <img src=\"\/wp-content\/uploads\/2026\/09\/EG01-red-1-800x800.png\" srcset=\"\/wp-content\/uploads\/2026\/09\/EG01-red-1-300x300.png 300w, \/wp-content\/uploads\/2026\/09\/EG01-red-1-430x430.png 430w, \/wp-content\/uploads\/2026\/09\/EG01-red-1-700x700.png 700w, \/wp-content\/uploads\/2026\/09\/EG01-red-1-768x768.png 768w, \/wp-content\/uploads\/2026\/09\/EG01-red-1-800x800.png 800w, \/wp-content\/uploads\/2026\/09\/EG01-red-1.png 1200w\" sizes=\"(max-width: 639px) calc(100vw - 30px), (max-width: 1023px) 40vw, 23vw\" width=\"800\" height=\"800\" alt=\"ELPH Guard foldable rollator\" loading=\"eager\" fetchpriority=\"high\" decoding=\"async\" draggable=\"false\">\n          <span>Foldable rollator<\/span>\n        <\/a>\n        <a class=\"eg-carousel__card\" href=\"\/product-category\/bathroom-safety\/\">\n          <img src=\"\/wp-content\/uploads\/2026\/09\/EG-S01-Upscaled.png\" width=\"800\" height=\"600\" alt=\"ELPH Guard EG-S1\" loading=\"lazy\" decoding=\"async\" draggable=\"false\">\n          <span>Bathroom safety<\/span>\n        <\/a>\n        <a class=\"eg-carousel__card\" href=\"\/product-category\/stair-mobility\/\">\n          <img src=\"\/wp-content\/uploads\/2026\/09\/G-4-600x600-1.png\" width=\"800\" height=\"800\" alt=\"Stair Climbing Cane\" loading=\"lazy\" decoding=\"async\" draggable=\"false\">\n          <span>Stair mobility<\/span>\n        <\/a>\n       \n        <a class=\"eg-carousel__card\" href=\"\/product-category\/Daily-living-aids\/\">\n          <img src=\"\/wp-content\/uploads\/2026\/09\/bedside-table.png\" width=\"800\" height=\"600\" alt=\"Daily living aids\" loading=\"lazy\" decoding=\"async\" draggable=\"false\">\n          <span>Daily living aids<\/span>\n        <\/a>\n\n      <\/div>\n    <\/div>\n  <\/div>\n\n<\/section>\n\n<script>\n(() => {\n  \/* ===== \u5e38\u7528\u914d\u7f6e\uff1a\u53ea\u9700\u4fee\u6539\u8fd9\u91cc =====\n     visible*\uff1a\u663e\u793a\u5f20\u6570\uff0c\u652f\u6301 1\u201312 \u53ca\u5c0f\u6570\uff0c\u4f8b\u5982 3.5\u3002\n     breakpoint*\uff1a\u6a21\u5757\u81ea\u8eab\u5bbd\u5ea6\u65ad\u70b9\uff0c\u4e0d\u662f\u6d4f\u89c8\u5668\u5bbd\u5ea6\u3002\n     interval \/ duration\uff1a\u6beb\u79d2\u3002\n     \u4f18\u5148\u7ea7\uff1aHTML data \u5c5e\u6027 > \u5f53\u524d\u9875\u9762\u8bbe\u7f6e > DEFAULTS\u3002\n  *\/\n  const DEFAULTS = {\n    visibleMobile: 1.5,\n    visibleTablet: 2.5,\n    visibleDesktop: 4,\n    breakpointTablet: 640,\n    breakpointDesktop: 1024,\n    interval: 5000,\n    duration: 650,\n    dragDuration: 320,     \/\/ \u677e\u624b\u5438\u9644\u65f6\u957f\n    dragThreshold: 8      \/\/ \u5f00\u59cb\u8bc6\u522b\u62d6\u52a8\u7684\u8ddd\u79bb\uff08px\uff09\n  };\n\n  \/\/ \u540c\u4e00\u4efd JS \u7528\u4e8e\u591a\u4e2a\u9875\u9762\u65f6\uff0c\u53ef\u5728\u8fd9\u91cc\u5206\u522b\u914d\u7f6e\uff1b\u672a\u586b\u5199\u7684\u503c\u6cbf\u7528\u9ed8\u8ba4\u503c\u3002\n  const PAGE_OPTIONS = {\n    \/\/ '\/catalog\/': { visibleDesktop: 4.5, visibleTablet: 2.5, visibleMobile: 1.5 },\n    \/\/ '\/about-us\/': { visibleDesktop: 3.5, visibleTablet: 2.5, visibleMobile: 1.5 }\n  };\n  \/* ===== \u4ee5\u4e0b\u4e3a\u8f6e\u64ad\u903b\u8f91\uff0c\u901a\u5e38\u65e0\u9700\u4fee\u6539 ===== *\/\n\n  const pagePath = location.pathname.replace(\/\\\/+$\/, '') + '\/';\n  const pageOptions = PAGE_OPTIONS[pagePath] || {};\n  function getOptions(root) {\n    const read = (key, min, max = Infinity) => {\n      const candidates = [root.dataset[key], pageOptions[key], DEFAULTS[key]];\n      for (const candidate of candidates) {\n        if (candidate == null || String(candidate).trim() === '') continue;\n        const value = Number(candidate);\n        if (Number.isFinite(value) && value >= min && value <= max) return value;\n      }\n      return DEFAULTS[key];\n    };\n    const options = {\n      visibleMobile: read('visibleMobile', 1, 12),\n      visibleTablet: read('visibleTablet', 1, 12),\n      visibleDesktop: read('visibleDesktop', 1, 12),\n      breakpointTablet: read('breakpointTablet', 1),\n      breakpointDesktop: read('breakpointDesktop', 1),\n      interval: read('interval', 1000),\n      duration: read('duration', 150),\n      dragDuration: read('dragDuration', 100),\n      dragThreshold: read('dragThreshold', 4, 30)\n    };\n    options.breakpointDesktop = Math.max(options.breakpointTablet + 1, options.breakpointDesktop);\n    return options;\n  }\n  \/\/ \u77ed\u62d6\u52a8\u56de\u5230\u539f\u4f4d\uff1b\u660e\u663e\u6ed1\u52a8\u6216\u5feb\u901f\u8f7b\u626b\u524d\u8fdb\uff1b\u957f\u62d6\u52a8\u53ef\u8de8\u591a\u5f20\u3002\n  function snapTarget(start, position, step, velocity, reduced, cancelled) {\n    if (!step) return position;\n    if (cancelled) return Math.round(position \/ step) * step;\n    const distance = position - start;\n    const momentum = reduced ? 0 : Math.max(-step * 0.35,\n      Math.min(step * 0.35, velocity * 0.12));\n    const base = Math.round(start \/ step);\n    let target = Math.round((position + momentum) \/ step);\n    const deliberate = Math.abs(distance) > Math.min(step * 0.18, 80);\n    const flick = Math.abs(velocity) > 450 && Math.abs(distance) > 12;\n    if (target === base && (deliberate || flick)) target += Math.sign(distance);\n    return target * step;\n  }\n  if (window.EGCarousel) { window.EGCarousel.scan(); return; }\n  const instances = new Map();\n  function init(root) {\n    if (instances.has(root)) return;\n    const viewport = root.querySelector('.eg-carousel__viewport');\n    const track = root.querySelector('.eg-carousel__track');\n    const group = root.querySelector('.eg-carousel__group');\n    if (!viewport || !track || !group) return;\n    const originals = [...group.children];\n    if (!originals.length) return;\n    const abort = new AbortController();\n    const on = (el, type, fn, options = {}) =>\n      el.addEventListener(type, fn, { ...options, signal: abort.signal });\n    const reduced = matchMedia('(prefers-reduced-motion: reduce)');\n    const options = getOptions(root);\n    const { interval, duration } = options;\n    let hover = false, focused = false, visible = true;\n    let x = 0, cycle = 0, step = 0, measuredWidth = 0;\n    let measureRaf = 0, destroyed = false;\n    let animation = null, drag = null, blockClickUntil = 0, raf = 0;\n    let nextAt = performance.now() + interval;\n    const resetTimer = () => { nextAt = performance.now() + interval; };\n    function clone(node) {\n      const copy = node.cloneNode(true);\n      copy.setAttribute('aria-hidden', 'true');\n      [copy, ...copy.querySelectorAll('*')].forEach(el => {\n        el.removeAttribute('id');\n        if (el.matches('a,button,input,select,textarea,[tabindex]')) el.tabIndex = -1;\n      });\n      return copy;\n    }\n    \/\/ \u6309\u6700\u5927\u663e\u793a\u6570\u91cf\u51c6\u5907\u526f\u672c\uff0c\u4fee\u6539\u4e3a\u66f4\u591a\u5f20\u65f6\u4e5f\u4e0d\u4f1a\u51fa\u73b0\u5faa\u73af\u7a7a\u767d\u3002\n    const needed = Math.ceil(Math.max(options.visibleMobile,\n      options.visibleTablet, options.visibleDesktop)) + 1;\n    const repeats = Math.ceil(needed \/ originals.length);\n    for (let i = 1; i < repeats; i++) originals.forEach(el => group.append(clone(el)));\n    const before = clone(group), after = clone(group);\n    track.prepend(before);\n    track.append(after);\n    function paint() {\n      if (!cycle) return;\n      \/\/ \u53ea\u5f52\u4e00\u5316\u7ed8\u5236\u5750\u6807\uff0c\u624b\u52bf\u5185\u90e8\u4fdd\u7559\u8fde\u7eed\u5750\u6807\uff0c\u8de8\u5faa\u73af\u8fb9\u754c\u4e5f\u4e0d\u4f1a\u8df3\u52a8\u3002\n      const position = ((x % cycle) + cycle) % cycle;\n      track.style.transform = 'translate3d(' + (-cycle - position) + 'px,0,0)';\n    }\n    function measure() {\n      const width = root.clientWidth;\n      if (destroyed) return;\n      const index = step ? Math.round(x \/ step) : 0;\n      const count = width >= options.breakpointDesktop ? options.visibleDesktop\n        : width >= options.breakpointTablet ? options.visibleTablet\n        : options.visibleMobile;\n      viewport.style.setProperty('--eg-visible', String(count));\n      viewport.style.setProperty('--eg-gaps', String(Math.ceil(count) - 1));\n      \/\/ \u4f7f\u7528\u5c0f\u6570\u50cf\u7d20\uff0c\u907f\u514d\u6bcf\u6b21\u5207\u6362\u7684\u820d\u5165\u8bef\u5dee\u7d2f\u79ef\u3002\n      const nextStep = group.children[1].getBoundingClientRect().left -\n             group.children[0].getBoundingClientRect().left;\n      const nextCycle = group.getBoundingClientRect().width;\n      \/\/ CSS \u5c1a\u672a\u52a0\u8f7d\u65f6\uff0c\u5361\u7247\u53ef\u80fd\u7eb5\u5411\u6392\u5217\u3002\u65e0\u6548\u5c3a\u5bf8\u4e0d\u80fd\u7528\u4e8e\u5faa\u73af\u4f4d\u79fb\u3002\n      if (!(width > 0 && Number.isFinite(nextStep) && nextStep > 0 &&\n            Number.isFinite(nextCycle) && nextCycle >= nextStep)) {\n        clearDrag();\n        animation = null;\n        cycle = 0;\n        track.style.transform = '';\n        delete root.dataset.ready;\n        return;\n      }\n      \/\/ \u5916\u5c42\u5bbd\u5ea6\u672a\u53d8\uff0c\u4e5f\u8981\u68c0\u67e5\u5361\u7247\u6b65\u957f\u53ca\u6574\u7ec4\u5bbd\u5ea6\uff08\u5904\u7406\u5ef6\u8fdf\u52a0\u8f7d\u7684 CSS\uff09\u3002\n      \/\/ \u4ec5\u9ad8\u5ea6\u53d8\u5316\u4e0d\u6253\u65ad\u624b\u52bf\u6216\u52a8\u753b\uff1b\u5ffd\u7565\u6d6e\u70b9\u6d4b\u91cf\u7684\u5fae\u5c0f\u8bef\u5dee\u3002\n      if (Math.abs(width - measuredWidth) < 0.1 &&\n          Math.abs(nextStep - step) < 0.1 && Math.abs(nextCycle - cycle) < 0.1) return;\n      clearDrag();\n      measuredWidth = width;\n      step = nextStep;\n      cycle = nextCycle;\n      x = index * step;\n      animation = null;\n      root.dataset.ready = 'true';\n      paint();\n      resetTimer();\n    }\n    function scheduleMeasure() {\n      if (destroyed || measureRaf) return;\n      measureRaf = requestAnimationFrame(() => {\n        measureRaf = 0;\n        measure();\n      });\n    }\n    function animateTo(target, snap = false) {\n      if (reduced.matches || Math.abs(target - x) < 0.1) {\n        x = cycle ? ((target % cycle) + cycle) % cycle : target;\n        animation = null; paint(); resetTimer();\n      } else {\n        animation = { from: x, to: target, start: performance.now(),\n          duration: snap ? options.dragDuration : duration, snap };\n      }\n    }\n    function move(direction) {\n      if (!cycle || !step || animation || drag) return;\n      animateTo((Math.round(x \/ step) + direction) * step);\n      resetTimer();\n    }\n    on(root, 'click', event => {\n      const button = event.target.closest('button[data-dir]');\n      if (button) move(Number(button.dataset.dir));\n    });\n    on(root, 'pointerenter', e => {\n      if (e.pointerType === 'mouse') hover = true;\n    });\n    on(root, 'pointerleave', () => { hover = false; resetTimer(); });\n    on(root, 'focusin', e => {\n      focused = e.target.matches(':focus-visible');\n      const card = e.target.closest('.eg-carousel__card');\n      \/\/ \u6307\u9488\u70b9\u6309\u4e0d\u5f3a\u5236\u8df3\u5230\u5361\u7247\u5f00\u5934\uff0c\u4ec5\u4e3a\u952e\u76d8\u7126\u70b9\u8c03\u6574\u89c6\u91ce\u3002\n      if (card && group.contains(card) && card.matches(':focus-visible')) {\n        x = card.getBoundingClientRect().left - group.getBoundingClientRect().left;\n        animation = null;\n        paint();\n        viewport.scrollLeft = 0;\n      }\n    });\n    on(root, 'focusout', e => {\n      focused = !!(e.relatedTarget && root.contains(e.relatedTarget) &&\n        e.relatedTarget.matches(':focus-visible'));\n      resetTimer();\n    });\n    on(viewport, 'keydown', e => {\n      if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {\n        e.preventDefault();\n        move(e.key === 'ArrowRight' ? 1 : -1);\n      }\n    });\n    on(viewport, 'dragstart', e => e.preventDefault());\n    function clearDrag() {\n      const current = drag;\n      drag = null; \/\/ \u5148\u6e05\u7406\u72b6\u6001\uff0c\u518d\u91ca\u653e\u6355\u83b7\uff0c\u907f\u514d\u4e8b\u4ef6\u91cd\u5165\u3002\n      if (current?.active) blockClickUntil = performance.now() + 500;\n      if (current && viewport.hasPointerCapture(current.id)) {\n        viewport.releasePointerCapture(current.id);\n      }\n      viewport.classList.remove('is-dragging');\n      return current;\n    }\n    function finishDrag(cancelled = false) {\n      const current = clearDrag();\n      if (!current || !step) return;\n      const now = performance.now();\n      \/\/ \u53d6\u6700\u8fd1 80ms \u7684\u591a\u70b9\u901f\u5ea6\uff0c\u4e0d\u4f9d\u8d56\u6700\u540e\u4e00\u5e27\u7684\u5076\u7136\u6296\u52a8\u3002\n      const recent = current.samples.filter(sample => now - sample.time <= 80);\n      let velocity = 0;\n      if (!cancelled && recent.length >= 2) {\n        const first = recent[0], last = recent[recent.length - 1];\n        if (last.time > first.time && now - last.time < 80) {\n          velocity = (last.position - first.position) \/ (last.time - first.time) * 1000;\n        }\n      }\n      const target = snapTarget(current.startPosition, x, step,\n        velocity, reduced.matches, cancelled || !current.active);\n      animateTo(target, true);\n      resetTimer();\n    }\n    on(viewport, 'pointerdown', e => {\n      if (!e.isPrimary || e.button !== 0 || drag || !step || !cycle) return;\n      \/\/ \u4e0d preventDefault\uff1a\u4fdd\u7559\u8f7b\u89e6\u94fe\u63a5\u53ca\u539f\u751f\u7eb5\u5411\u6eda\u52a8\u3002\n      animation = null;\n      const now = performance.now();\n      drag = { id: e.pointerId, startX: e.clientX, startY: e.clientY,\n        startPosition: x, active: false,\n        samples: [{ position: x, time: now }] };\n      resetTimer();\n    });\n    on(window, 'pointerdown', e => {\n      \/\/ \u53cc\u6307\u7f29\u653e\u4ea4\u8fd8\u6d4f\u89c8\u5668\uff0c\u4e0d\u628a\u7b2c\u4e8c\u6839\u624b\u6307\u5f53\u4f5c\u62d6\u52a8\u3002\n      if (drag && e.pointerType === 'touch' && e.pointerId !== drag.id) finishDrag(true);\n    });\n    on(window, 'pointermove', e => {\n      if (!drag || e.pointerId !== drag.id) return;\n      const dx = e.clientX - drag.startX, dy = e.clientY - drag.startY;\n      if (!drag.active) {\n        const ax = Math.abs(dx), ay = Math.abs(dy);\n        if (Math.max(ax, ay) < options.dragThreshold) return;\n        if (ay > ax * 1.15) { finishDrag(true); return; }\n        \/\/ \u5bf9\u89d2\u7ebf\u5148\u7b49\u5f85\u65b9\u5411\u660e\u786e\uff0c\u907f\u514d\u7a0d\u5fae\u504f\u659c\u4fbf\u8bef\u5224\u3002\n        if (ax <= ay * 1.15 && Math.max(ax, ay) < 20) return;\n        if (ay > ax) { finishDrag(true); return; }\n        drag.active = true;\n        viewport.setPointerCapture(e.pointerId);\n        viewport.classList.add('is-dragging');\n      }\n      if (e.cancelable) e.preventDefault();\n      x = drag.startPosition - dx;\n      const now = performance.now();\n      drag.samples.push({ position: x, time: now });\n      drag.samples = drag.samples.filter(sample => now - sample.time <= 100);\n      \/\/ \u7ed8\u5236\u7edf\u4e00\u4ea4\u7ed9 requestAnimationFrame\uff0c\u907f\u514d\u9ad8\u9891 touchmove \u91cd\u590d\u7ed8\u5236\u3002\n    }, { passive: false });\n    on(window, 'pointerup', e => {\n      if (drag && e.pointerId === drag.id) finishDrag(false);\n    });\n    on(window, 'pointercancel', e => {\n      if (drag && e.pointerId === drag.id) finishDrag(true);\n    });\n    on(viewport, 'lostpointercapture', e => {\n      \/\/ \u5173\u952e\uff1a\u5361\u7247\u7684\u9690\u5f0f\u6355\u83b7\u8f6c\u4ea4\u7ed9 viewport \u65f6\u4e5f\u4f1a\u5192\u6ce1\u6b64\u4e8b\u4ef6\u3002\n      \/\/ \u53ea\u5904\u7406 viewport \u672c\u8eab\u771f\u6b63\u5931\u53bb\u6355\u83b7\uff0c\u4e0d\u80fd\u63d0\u524d\u7ec8\u6b62\u6b63\u5e38\u62d6\u52a8\u3002\n      if (drag && e.pointerId === drag.id && e.target === viewport &&\n          !viewport.hasPointerCapture(e.pointerId)) finishDrag(true);\n    });\n    on(viewport, 'click', e => {\n      \/\/ \u4ec5\u77ed\u65f6\u95f4\u62e6\u622a\u62d6\u52a8\u540e\u7684\u89e6\u6478\/\u9f20\u6807\u70b9\u51fb\uff0c\u952e\u76d8 Enter \u4e0d\u53d7\u5f71\u54cd\u3002\n      if (e.detail !== 0 && performance.now() < blockClickUntil) {\n        e.preventDefault();\n        e.stopPropagation();\n      }\n    }, { capture: true });\n    on(reduced, 'change', () => {\n      animation = null;\n      if (step) x = Math.round(x \/ step) * step;\n      paint(); resetTimer();\n    });\n    on(document, 'visibilitychange', () => {\n      if (document.hidden && drag) finishDrag(true);\n      resetTimer();\n    });\n    const resize = new ResizeObserver(scheduleMeasure);\n    [root, viewport, group, group.children[0]].forEach(el => resize.observe(el));\n    \/\/ \u8986\u76d6\u6837\u5f0f\u8868\u3001\u56fe\u7247\u665a\u52a0\u8f7d\uff0c\u4ee5\u53ca\u8fd4\u56de\u9875\u9762\u7b49\u9996\u6b21\u5bbd\u5ea6\u4e0d\u53d8\u7684\u573a\u666f\u3002\n    on(document, 'load', scheduleMeasure, { capture: true });\n    on(window, 'load', scheduleMeasure);\n    on(window, 'pageshow', scheduleMeasure);\n    on(window, 'resize', scheduleMeasure);\n    if (document.fonts) {\n      document.fonts.ready.then(scheduleMeasure);\n      on(document.fonts, 'loadingdone', scheduleMeasure);\n    }\n    const intersection = new IntersectionObserver(entries => {\n      visible = entries[0].isIntersecting;\n      resetTimer();\n    });\n    intersection.observe(root);\n    function tick(now) {\n      if (cycle && visible && !document.hidden) {\n        if (drag) {\n          if (drag.active) paint();\n        } else if (animation) {\n          const p = Math.min(1, (now - animation.start) \/ animation.duration);\n          \/\/ ease-in-out\uff1a\u6bcf\u6b21\u5e73\u6ed1\u542f\u52a8\u3001\u51cf\u901f\u505c\u6b62\u3002\n          const ease = animation.snap ? 1 - Math.pow(1 - p, 3)\n            : p < 0.5 ? 4 * p * p * p : 1 - Math.pow(-2 * p + 2, 3) \/ 2;\n          x = animation.from + (animation.to - animation.from) * ease;\n          paint();\n          if (p === 1) {\n            animation = null;\n            x = ((x % cycle) + cycle) % cycle;\n            nextAt = now + interval;\n          }\n        } else if (!reduced.matches && !hover && !focused && now >= nextAt) {\n          move(1);\n        }\n      }\n      raf = requestAnimationFrame(tick);\n    }\n    measure();\n    raf = requestAnimationFrame(tick);\n    instances.set(root, () => {\n      destroyed = true;\n      clearDrag();\n      abort.abort(); resize.disconnect(); intersection.disconnect();\n      cancelAnimationFrame(raf);\n      cancelAnimationFrame(measureRaf);\n      before.remove(); after.remove();\n      group.replaceChildren(...originals);\n      track.style.transform = '';\n      viewport.style.removeProperty('--eg-visible');\n      viewport.style.removeProperty('--eg-gaps');\n      delete root.dataset.ready;\n    });\n  }\n  function scan() {\n    instances.forEach((destroy, root) => {\n      if (!root.isConnected) { destroy(); instances.delete(root); }\n    });\n    document.querySelectorAll('.eg-carousel').forEach(init);\n  }\n  window.EGCarousel = { scan };\n  scan();\n  let queued = false;\n  new MutationObserver(() => {\n    if (queued) return;\n    queued = true;\n    queueMicrotask(() => { queued = false; scan(); });\n  }).observe(document.documentElement, { childList: true, subtree: true });\n})();\n\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-hmeab01 eg-home-section eg-home-about e-flex e-con-boxed e-con e-parent\" data-id=\"hmeab01\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-hmeab02 elementor-widget elementor-widget-html\" data-id=\"hmeab02\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"eg-home-about__content\"><h2>About ELPH Guard<\/h2>\n  <div class=\"eg-home-about__copy\">\n    \n    <p>ELPH Guard supplies rollators, walkers and homecare aids for importers, distributors and medical brands. Our range brings together different frame materials, wheel configurations and folding designs to support a variety of mobility needs and market positions.<\/p>\n    <p>From model selection and specification review to branding and packaging, we help buyers build a product range for their customers. Learn more about our company, manufacturing approach and available product documentation.<\/p>\n    <a href=\"\/about-us\/\">Learn more about us &rarr;<\/a>\n  <\/div>\n<\/div>\n<style>\n.eg-home-about__content{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,4vw,56px);align-items:start;padding:clamp(24px,3vw,44px);background:#f3f7f8;border-radius:6px;width:100%;box-sizing:border-box}\n.eg-home-about__content h2{margin:0 0 22px;color:#163a43;font-size:clamp(28px,2.5vw,36px);font-weight:600;line-height:1.25}\n.eg-home-about__image{margin:0;aspect-ratio:4\/3;width:100%;overflow:hidden;border-radius:5px}.eg-home-about__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}\n.eg-home-about__copy p{margin:0 0 18px;color:#60747e;font-size:16px;line-height:1.7}\n.eg-home-about__copy a{color:#0086a3;font-size:15px;font-weight:600;text-decoration:none;display:inline-block}\n.eg-home-about__copy a:hover{text-decoration:underline}\n@media(max-width:767px){.eg-home-about__content{grid-template-columns:1fr;gap:24px;padding:24px}.eg-home-about__content h2{margin-bottom:16px}.eg-home-about__copy p{font-size:15px;margin-bottom:14px}}\n<\/style>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-b5c7da4 eg-home-section eg-home-featured e-flex e-con-boxed e-con e-parent\" data-id=\"b5c7da4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-168c199 eg-home-title elementor-widget elementor-widget-heading\" data-id=\"168c199\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Featured products<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-58cf228 elementor-grid-mobile-3 elementor-grid-3 elementor-grid-tablet-2 elementor-widget elementor-widget-loop-grid\" data-id=\"58cf228\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;template_id&quot;:29416,&quot;row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:32,&quot;sizes&quot;:[]},&quot;columns_mobile&quot;:3,&quot;_skin&quot;:&quot;post&quot;,&quot;columns&quot;:&quot;3&quot;,&quot;columns_tablet&quot;:&quot;2&quot;,&quot;edit_handle_selector&quot;:&quot;[data-elementor-type=\\&quot;loop-item\\&quot;]&quot;,&quot;row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"loop-grid.post\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-loop-container elementor-grid\" role=\"list\">\n\t\t<style id=\"loop-29416\">.elementor-29416 .elementor-element.elementor-element-3c4a620{--display:flex;}.elementor-29416 .elementor-element.elementor-element-36c7ce5 img{width:100%;max-width:100%;height:300px;}.elementor-29416 .elementor-element.elementor-element-a591de8{--display:flex;}@media(max-width:1024px){.elementor-29416 .elementor-element.elementor-element-36c7ce5 img{height:260px;}}@media(max-width:768px){.elementor-29416 .elementor-element.elementor-element-36c7ce5 img{height:280px;object-fit:cover;}}<\/style>\t\t<div role=\"listitem\" data-elementor-type=\"loop-item\" data-elementor-id=\"29416\" class=\"elementor elementor-29416 e-loop-item e-loop-item-29464 post-29464 catalog_product type-catalog_product status-publish has-post-thumbnail hentry product_category-bathroom-safety\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-3c4a620 e-flex e-con-boxed e-con e-parent\" data-id=\"3c4a620\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-36c7ce5 elementor-widget elementor-widget-image\" data-id=\"36c7ce5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"\/fr\/catalog\/360-shower-chair-with-backarm\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"600\" src=\"\/wp-content\/uploads\/2026\/09\/EG-S02-grey.png\" class=\"attachment-large size-large wp-image-29548\" alt=\"EG-S02 swivel shower chair with backrest and armrests\" srcset=\"\/wp-content\/uploads\/2026\/09\/EG-S02-grey.png 600w, \/wp-content\/uploads\/2026\/09\/EG-S02-grey-300x300.png 300w, \/wp-content\/uploads\/2026\/09\/EG-S02-grey-150x150.png 150w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"wd-negative-gap elementor-element elementor-element-a591de8 e-flex e-con-boxed e-con e-parent\" data-id=\"a591de8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d467175 elementor-widget elementor-widget-heading\" data-id=\"d467175\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"\/fr\/catalog\/360-shower-chair-with-backarm\/\">360\u00b0 Swivel Shower Chair with Backrest &amp; Arms \u2013 EG-S02<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f3b6d21 eg-featured-highlights-widget color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"f3b6d21\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<div class=\"eg-featured-highlights\" aria-label=\"Product highlights\"><ul class=\"eg-featured-highlights__list eg-featured-highlights__list--29464\"><li>One-touch 360\u00b0 \/ 90\u00b0 rotation<\/li><li>136 kg weight capacity<\/li><li>Tool-free KD assembly<\/li><\/ul><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div role=\"listitem\" data-elementor-type=\"loop-item\" data-elementor-id=\"29416\" class=\"elementor elementor-29416 e-loop-item e-loop-item-29454 post-29454 catalog_product type-catalog_product status-publish has-post-thumbnail hentry product_category-stair-mobility\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-3c4a620 e-flex e-con-boxed e-con e-parent\" data-id=\"3c4a620\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-36c7ce5 elementor-widget elementor-widget-image\" data-id=\"36c7ce5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"\/fr\/catalog\/stair-climbing-assist-walker\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"600\" src=\"\/wp-content\/uploads\/2026\/09\/G-4-grey.png\" class=\"attachment-large size-large wp-image-29547\" alt=\"G4 adjustable stair-assist walker\" srcset=\"\/wp-content\/uploads\/2026\/09\/G-4-grey.png 600w, \/wp-content\/uploads\/2026\/09\/G-4-grey-300x300.png 300w, \/wp-content\/uploads\/2026\/09\/G-4-grey-150x150.png 150w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"wd-negative-gap elementor-element elementor-element-a591de8 e-flex e-con-boxed e-con e-parent\" data-id=\"a591de8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d467175 elementor-widget elementor-widget-heading\" data-id=\"d467175\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"\/fr\/catalog\/stair-climbing-assist-walker\/\">Stair Assist Walker \u2013 EG-G4<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f3b6d21 eg-featured-highlights-widget color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"f3b6d21\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<div class=\"eg-featured-highlights\" aria-label=\"Product highlights\"><ul class=\"eg-featured-highlights__list eg-featured-highlights__list--29454\"><li>One-touch stair mode<\/li><li>Wheel and pedal drive modes<\/li><li>Quick KD assembly<\/li><\/ul><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div role=\"listitem\" data-elementor-type=\"loop-item\" data-elementor-id=\"29416\" class=\"elementor elementor-29416 e-loop-item e-loop-item-29394 post-29394 catalog_product type-catalog_product status-publish has-post-thumbnail hentry product_category-rollator-walkers\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-3c4a620 e-flex e-con-boxed e-con e-parent\" data-id=\"3c4a620\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-36c7ce5 elementor-widget elementor-widget-image\" data-id=\"36c7ce5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"\/fr\/catalog\/compact-foldable-rollator-walkers-for-seniors-10-front-wheels-eg04\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"\/wp-content\/uploads\/2026\/09\/EG-04-red-800x800.png\" class=\"attachment-large size-large wp-image-29418\" alt=\"Red EG-04 folding rollator walker\" srcset=\"\/wp-content\/uploads\/2026\/09\/EG-04-red-800x800.png 800w, \/wp-content\/uploads\/2026\/09\/EG-04-red-300x300.png 300w, \/wp-content\/uploads\/2026\/09\/EG-04-red-150x150.png 150w, \/wp-content\/uploads\/2026\/09\/EG-04-red-768x768.png 768w, \/wp-content\/uploads\/2026\/09\/EG-04-red.png 1200w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"wd-negative-gap elementor-element elementor-element-a591de8 e-flex e-con-boxed e-con e-parent\" data-id=\"a591de8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d467175 elementor-widget elementor-widget-heading\" data-id=\"d467175\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"\/fr\/catalog\/compact-foldable-rollator-walkers-for-seniors-10-front-wheels-eg04\/\">Compact Foldable Rollator Walkers for Seniors, 10&#8243; Front Wheels &#8211; EG04<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f3b6d21 eg-featured-highlights-widget color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"f3b6d21\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<div class=\"eg-featured-highlights\" aria-label=\"Product highlights\"><ul class=\"eg-featured-highlights__list eg-featured-highlights__list--29394\"><li>Compact folding aluminum rollator<\/li><li>300 lb weight capacity<\/li><li>6-level handle height adjustment<\/li><\/ul><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-e1f8f98 eg-home-section eg-home-why e-flex e-con-boxed e-con e-parent\" data-id=\"e1f8f98\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2519534 eg-home-title elementor-widget elementor-widget-heading\" data-id=\"2519534\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Why choose ELPH Guard<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0dd9d35 elementor-widget elementor-widget-html\" data-id=\"0dd9d35\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"eg-why\">\r\n  <ul class=\"eg-why__list\" role=\"list\">\r\n    <li class=\"eg-why__item\">\r\n      <svg class=\"eg-why__icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" focusable=\"false\">\r\n        <path d=\"m5 9 11-5 11 5v14l-11 5-11-5Z\"\/>\r\n        <path d=\"m5 9 11 5 11-5M16 14v14M10.5 6.5l11 5V17\"\/>\r\n      <\/svg>\r\n      <div>\r\n        <h3 class=\"eg-why__title\">MOQ 500 PCS<\/h3>\r\n        <p class=\"eg-why__description\">Plan your product range with a clear minimum order quantity of 500 PCS.<\/p>\r\n      <\/div>\r\n    <\/li>\r\n    <li class=\"eg-why__item\">\r\n      <svg class=\"eg-why__icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" focusable=\"false\">\r\n        <path d=\"m16 3 11 4v9c0 6-5 10-11 13C10 26 5 22 5 16V7Z\"\/>\r\n        <path d=\"m10.5 16 3.5 3.5 7.5-8\"\/>\r\n      <\/svg>\r\n      <div>\r\n        <h3 class=\"eg-why__title\">1-year warranty<\/h3>\r\n        <p class=\"eg-why__description\">Order with a one-year warranty and direct factory support. Coverage follows the agreed warranty terms.<\/p>\r\n      <\/div>\r\n    <\/li>\r\n    <li class=\"eg-why__item\">\r\n      <svg class=\"eg-why__icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" focusable=\"false\">\r\n        <path d=\"M7 4v9m0 6v9M16 4v3m0 6v15M25 4v15m0 6v3\"\/>\r\n        <circle cx=\"7\" cy=\"16\" r=\"3\"\/><circle cx=\"16\" cy=\"10\" r=\"3\"\/><circle cx=\"25\" cy=\"22\" r=\"3\"\/>\r\n      <\/svg>\r\n      <div>\r\n        <h3 class=\"eg-why__title\">Tailored solutions<\/h3>\r\n        <p class=\"eg-why__description\">Match bags, backrests and wheels to your market, with help defining the right specification.<\/p>\r\n      <\/div>\r\n    <\/li>\r\n    <li class=\"eg-why__item\">\r\n      <svg class=\"eg-why__icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" focusable=\"false\">\r\n        <path d=\"M3 7h17v17H3ZM20 13h5l4 5v6h-3M20 24h-7M3 24h3M20 18h9\"\/>\r\n        <circle cx=\"9.5\" cy=\"24\" r=\"3.5\"\/><circle cx=\"23\" cy=\"24\" r=\"3.5\"\/>\r\n      <\/svg>\r\n      <div>\r\n        <h3 class=\"eg-why__title\">Delivery coordination<\/h3>\r\n        <p class=\"eg-why__description\">Keep your order moving with support for packaging requirements, shipment documents and delivery arrangements.<\/p>\r\n      <\/div>\r\n    <\/li>\r\n  <\/ul>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-eb4df03 eg-home-section eg-home-oem e-flex e-con-boxed e-con e-parent\" data-id=\"eb4df03\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e98e26a elementor-widget elementor-widget-html\" data-id=\"e98e26a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"eg-oem\" aria-label=\"OEM and ODM customization\">\r\n  <div class=\"eg-oem__pin\">\r\n\r\n    <header class=\"eg-oem__header\">\r\n      <h2 class=\"eg-oem__heading\">Made for your brand.<\/h2>\r\n\r\n      <div class=\"eg-oem__controls\">\r\n        <span class=\"eg-oem__count\" aria-hidden=\"true\">01 \/ 06<\/span>\r\n\r\n        <button\r\n          type=\"button\"\r\n          data-oem-prev\r\n          aria-label=\"Previous customization\"\r\n        >\u2190<\/button>\r\n\r\n        <button\r\n          type=\"button\"\r\n          data-oem-next\r\n          aria-label=\"Next customization\"\r\n        >\u2192<\/button>\r\n      <\/div>\r\n    <\/header>\r\n\r\n\r\n    <div\r\n      class=\"eg-oem__rail\"\r\n      tabindex=\"0\"\r\n      aria-label=\"Customization options\"\r\n    >\r\n\r\n      <!-- Overview -->\r\n      <div class=\"eg-oem__overview\">\r\n        <div class=\"eg-oem__stage\">\r\n\r\n          <img\r\n            data-oem-main\r\n            src=\"\/wp-content\/uploads\/2026\/09\/EG01-red-1.png\"\r\n            width=\"1200\"\r\n            height=\"1200\"\r\n            alt=\"ELPH Guard rollator with customizable backrest, bag and wheels\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n\r\n          <div\r\n            class=\"eg-oem__hotspots\"\r\n            aria-label=\"Choose a customizable part\"\r\n          >\r\n\r\n            <button\r\n              type=\"button\"\r\n              class=\"eg-oem__hotspot\"\r\n              data-part=\"backrest\"\r\n              aria-label=\"01 \u2014 Backrest customization\"\r\n            >01<\/button>\r\n\r\n            <button\r\n              type=\"button\"\r\n              class=\"eg-oem__hotspot\"\r\n              data-part=\"bag\"\r\n              aria-label=\"02 \u2014 Bag customization\"\r\n            >02<\/button>\r\n\r\n            <button\r\n              type=\"button\"\r\n              class=\"eg-oem__hotspot\"\r\n              data-part=\"wheels\"\r\n              aria-label=\"03 \u2014 Wheel customization\"\r\n            >03<\/button>\r\n\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"eg-oem__overview-copy\">\r\n          <h3>Your product. Your specification.<\/h3>\r\n\r\n          <p class=\"eg-oem__note\">\r\n            Available options depend on the model and agreed specification.\r\n          <\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n\r\n      <!-- 01 Backrest -->\r\n      <article\r\n        class=\"eg-oem__panel\"\r\n        data-part=\"backrest\"\r\n        tabindex=\"-1\"\r\n      >\r\n        <div class=\"eg-oem__detail\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/custom-Backrest.png\"\r\n            width=\"1200\"\r\n            height=\"1200\"\r\n            alt=\"Rollator backrest detail\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n        <\/div>\r\n\r\n        <div class=\"eg-oem__copy\">\r\n          <span class=\"eg-oem__eyebrow\">01 \/ BACKREST<\/span>\r\n\r\n          <h3>A backrest with your identity.<\/h3>\r\n\r\n          <p>\r\n            Coordinate colours and logo placement for a consistent look across your range.\r\n          <\/p>\r\n\r\n          <ul>\r\n            <li>Material and colour<\/li>\r\n            <li>Logo artwork and position<\/li>\r\n            <li>Finish and detailing<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n      <\/article>\r\n\r\n\r\n      <!-- 02 Bag -->\r\n      <article\r\n        class=\"eg-oem__panel\"\r\n        data-part=\"bag\"\r\n        tabindex=\"-1\"\r\n      >\r\n        <div class=\"eg-oem__detail\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/bag2x2.png\"\r\n            width=\"1200\"\r\n            height=\"1200\"\r\n            alt=\"Rollator storage bag detail\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n        <\/div>\r\n\r\n        <div class=\"eg-oem__copy\">\r\n          <span class=\"eg-oem__eyebrow\">02 \/ BAG<\/span>\r\n\r\n          <h3>Your branding. Practical storage.<\/h3>\r\n\r\n          <p>\r\n            Bring your brand to everyday essentials with a bag tailored to your product range.\r\n          <\/p>\r\n\r\n          <ul>\r\n            <li>Fabric and colour<\/li>\r\n            <li>Logo placement<\/li>\r\n            <li>Pockets and storage layout<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n      <\/article>\r\n\r\n\r\n      <!-- 03 Wheels -->\r\n      <article\r\n        class=\"eg-oem__panel\"\r\n        data-part=\"wheels\"\r\n        tabindex=\"-1\"\r\n      >\r\n        <div class=\"eg-oem__detail\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/2x2.png\"\r\n            width=\"1200\"\r\n            height=\"1200\"\r\n            alt=\"Rollator wheel detail\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n        <\/div>\r\n\r\n        <div class=\"eg-oem__copy\">\r\n          <span class=\"eg-oem__eyebrow\">03 \/ WHEELS<\/span>\r\n\r\n          <h3>Wheels for your market.<\/h3>\r\n\r\n          <p>\r\n            Find the right wheel specification for your target users and intended application.\r\n          <\/p>\r\n\r\n          <ul>\r\n            <li>Wheel diameter<\/li>\r\n            <li>Tread and material<\/li>\r\n            <li>Colour and appearance<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n      <\/article>\r\n\r\n\r\n      <!-- 04 Custom Development -->\r\n      <article\r\n        class=\"eg-oem__panel\"\r\n        data-part=\"custom\"\r\n        tabindex=\"-1\"\r\n      >\r\n        <div class=\"eg-oem__detail\">\r\n          <img\r\n            src=\"\/wp-content\/uploads\/2026\/09\/custom.png\"\r\n            width=\"1200\"\r\n            height=\"1200\"\r\n            alt=\"Custom product development\"\r\n            loading=\"lazy\"\r\n            decoding=\"async\"\r\n          >\r\n        <\/div>\r\n\r\n        <div class=\"eg-oem__copy\">\r\n          <span class=\"eg-oem__eyebrow\">\r\n            04 \/ CUSTOM DEVELOPMENT\r\n          <\/span>\r\n\r\n          <h3>Bring us your idea. We\u2019ll develop it.<\/h3>\r\n\r\n          <p>\r\n            From renderings and sketches to reference models, we can develop a product around your requirements and agreed specification.\r\n          <\/p>\r\n\r\n          <ul>\r\n            <li>Renderings and concept sketches<\/li>\r\n            <li>Reference samples and models<\/li>\r\n            <li>Product development to specification<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n      <\/article>\r\n\r\n\r\n      <!-- CTA -->\r\n      <a\r\n        class=\"eg-oem__cta\"\r\n        data-oem-link\r\n        href=\"\/about-us\/oem-odm-service\/\"\r\n      >\r\n        <span>Explore rollator OEM \/ ODM services<\/span>\r\n        <span aria-hidden=\"true\">\u2192<\/span>\r\n      <\/a>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n\r\n<script>(() => {\n  if (window.ELPHOEM) { window.ELPHOEM.scan(); return; }\n  const instances = new Map();\n  let serial = 0;\n  function init(root) {\n    if (instances.has(root)) return;\n    const rail = root.querySelector('.eg-oem__rail');\n    const panels = [...root.querySelectorAll('.eg-oem__panel')];\n    const buttons = [...root.querySelectorAll('.eg-oem__hotspot')];\n    const previous = root.querySelector('[data-oem-prev]');\n    const next = root.querySelector('[data-oem-next]');\n    const count = root.querySelector('.eg-oem__count');\n    if (!rail || !panels.length || !previous || !next || !count) return;\n    const slides = [...rail.children], abort = new AbortController();\n    const reduced = matchMedia('(prefers-reduced-motion: reduce)');\n    const on = (el, type, callback, options = {}) => el.addEventListener(type, callback, {...options, signal: abort.signal});\n    const prefix = 'eg-oem-manual-' + (++serial);\n    const points = {backrest:[48,15],bag:[44.5,51],wheels:[51,83]};\n    let mode, active = 0, mobileIndex = 0, frame = 0, resizeFrame = 0, drag = null, suppressClickUntil = 0;\n    const clamp = (i, length) => Math.max(0, Math.min(length - 1, i));\n    const left = slide => slide.offsetLeft - slides[0].offsetLeft;\n    root.style.removeProperty('height');\n    root.dataset.flow = 'manual';\n    const main = root.querySelector('[data-oem-main]');\n    if (main && root.dataset.productImage) main.src = root.dataset.productImage;\n    const pageLanguage = location.pathname.match(\/^\\\/(es|de|it|fr|zh)(?:\\\/|$)\/);\n    root.querySelectorAll('[data-oem-link]').forEach(a => a.href = (pageLanguage ? '\/' + pageLanguage[1] : '') + '\/about-us\/oem-odm-service\/');\n    panels.forEach((p, i) => { p.id = prefix + '-' + i; p.removeAttribute('role'); });\n    buttons.forEach(b => {\n      const point = points[b.dataset.part] || [50,50];\n      b.style.setProperty('--x', (b.dataset.x ?? point[0]) + '%');\n      b.style.setProperty('--y', (b.dataset.y ?? point[1]) + '%');\n      const panel = panels.find(p => p.dataset.part === b.dataset.part);\n      if (panel) b.setAttribute('aria-controls', panel.id);\n    });\n    function controls() {\n      const index = mode === 'desktop' ? active : mobileIndex;\n      const total = mode === 'desktop' ? panels.length : slides.length;\n      count.textContent = String(index + 1).padStart(2,'0') + ' \/ ' + String(total).padStart(2,'0');\n      previous.disabled = index === 0; next.disabled = index === total - 1;\n    }\n    function show(index, animate = true) {\n      const old = active; active = clamp(index, panels.length);\n      panels.forEach((p,i) => {\n        p.getAnimations?.().forEach(a => a.cancel());\n        p.classList.remove('is-exiting');\n        p.classList.toggle('is-active', i === active);\n        p.inert = mode === 'desktop' && i !== active;\n        if (mode === 'desktop') p.setAttribute('aria-hidden', String(i !== active));\n        else p.removeAttribute('aria-hidden');\n      });\n      buttons.forEach(b => {\n        const selected = panels[active].dataset.part === b.dataset.part;\n        b.classList.toggle('is-active', mode === 'desktop' && selected);\n        b.setAttribute('aria-pressed', String(mode === 'desktop' && selected));\n        b.removeAttribute('aria-selected'); b.removeAttribute('role'); b.tabIndex = 0;\n      });\n      if (mode === 'desktop' && old !== active && animate && !reduced.matches) {\n        panels[active].animate?.([{opacity:0,transform:`translateX(${active > old ? 24 : -24}px)`},{opacity:1,transform:'translateX(0)'}],{duration:220,easing:'ease-out'});\n      }\n      controls();\n    }\n    function go(index, smooth = true) {\n      if (mode === 'desktop') { show(index, smooth); return; }\n      mobileIndex = clamp(index, slides.length);\n      rail.scrollTo({left:left(slides[mobileIndex]),behavior:smooth && !reduced.matches ? 'smooth' : 'auto'});\n      if (mobileIndex > 0 && mobileIndex <= panels.length) active = mobileIndex - 1;\n      controls();\n    }\n    function read() {\n      frame = 0;\n      if (mode !== 'mobile' || drag) return;\n      mobileIndex = slides.reduce((best,s,i) => Math.abs(left(s)-rail.scrollLeft)<Math.abs(left(slides[best])-rail.scrollLeft)?i:best,0);\n      if (mobileIndex > 0 && mobileIndex <= panels.length) active = mobileIndex - 1;\n      controls();\n    }\n    function endDrag(cancel = false) {\n      if (!drag) return;\n      const d = drag; drag = null;\n      root.classList.remove('is-dragging');\n      panels.forEach(p => p.style.removeProperty('transform'));\n      if (rail.hasPointerCapture?.(d.id)) rail.releasePointerCapture(d.id);\n      if (!d.horizontal) return;\n      suppressClickUntil = performance.now() + 350;\n      if (mode === 'desktop') { if (!cancel && Math.abs(d.dx) >= 45) go(active + (d.dx < 0 ? 1 : -1)); }\n      else {\n        const nearest = slides.reduce((best,s,i) => Math.abs(left(s)-rail.scrollLeft)<Math.abs(left(slides[best])-rail.scrollLeft)?i:best,0);\n        go(nearest, !cancel);\n      }\n    }\n    function layout() {\n      resizeFrame = 0;\n      const nextMode = root.clientWidth >= (Number(root.dataset.mobileBreakpoint) || 600) ? 'desktop' : 'mobile';\n      const changed = nextMode !== mode;\n      if (drag) endDrag(true);\n      const first = !mode; mode = nextMode; root.dataset.mode = mode;\n      root.style.removeProperty('height');\n      show(active, false);\n      if (mode === 'desktop') rail.scrollLeft = 0;\n      else go(first ? 0 : changed ? active + 1 : mobileIndex, false);\n    }\n    buttons.forEach(b => on(b,'click',() => {\n      const i = panels.findIndex(p => p.dataset.part === b.dataset.part);\n      if (i >= 0) go(mode === 'desktop' ? i : i + 1);\n    }));\n    on(previous,'click',() => go((mode === 'desktop' ? active : mobileIndex)-1));\n    on(next,'click',() => go((mode === 'desktop' ? active : mobileIndex)+1));\n    on(rail,'keydown',e => {\n      if (e.target.closest('a,input,textarea,select')) return;\n      const index = mode === 'desktop' ? active : mobileIndex, total = mode === 'desktop' ? panels.length : slides.length;\n      const target = e.key === 'ArrowRight' ? index+1 : e.key === 'ArrowLeft' ? index-1 : e.key === 'Home' ? 0 : e.key === 'End' ? total-1 : null;\n      if (target !== null) { e.preventDefault(); go(target); }\n    });\n    on(rail,'pointerdown',e => {\n      if (!e.isPrimary || e.button !== 0 || e.target.closest('a,button,input,textarea,select')) return;\n      \/\/ Mobile touch is left entirely to native horizontal scrolling.\n      if (mode === 'mobile' && e.pointerType !== 'mouse') return;\n      endDrag(true);\n      drag = {id:e.pointerId,x:e.clientX,y:e.clientY,dx:0,left:rail.scrollLeft,horizontal:false};\n    });\n    on(window,'pointermove',e => {\n      if (!drag || drag.id !== e.pointerId) return;\n      const dx = e.clientX-drag.x, dy = e.clientY-drag.y;\n      if (!drag.horizontal) {\n        if (Math.abs(dy)>10 && Math.abs(dy)>Math.abs(dx)) { endDrag(true); return; }\n        if (Math.abs(dx)<10 || Math.abs(dx)<=Math.abs(dy)) return;\n        drag.horizontal = true; rail.setPointerCapture(e.pointerId); root.classList.add('is-dragging');\n      }\n      e.preventDefault(); drag.dx = dx;\n      if (mode === 'desktop') panels[active].style.transform = `translateX(${Math.max(-100,Math.min(100,dx*.35))}px)`;\n      else rail.scrollLeft = drag.left-dx;\n    },{passive:false});\n    on(window,'pointerup',e => {if (drag?.id === e.pointerId) endDrag();});\n    on(window,'pointercancel',() => endDrag(true));\n    on(rail,'lostpointercapture',() => endDrag(true));\n    on(rail,'dragstart',e => { if (e.target.closest('img')) e.preventDefault(); });\n    on(rail,'click',e => {if (performance.now()<suppressClickUntil) {e.preventDefault();e.stopImmediatePropagation();}}, {capture:true});\n    on(rail,'scroll',() => {if (!frame) frame=requestAnimationFrame(read);},{passive:true});\n    const observer = new ResizeObserver(() => {if (!resizeFrame) resizeFrame=requestAnimationFrame(layout);});\n    observer.observe(root); layout();\n    instances.set(root,() => {abort.abort();observer.disconnect();cancelAnimationFrame(frame);cancelAnimationFrame(resizeFrame);panels.forEach(p=>p.inert=false);});\n  }\n  function scan() {\n    instances.forEach((destroy,root) => {if (!root.isConnected) {destroy();instances.delete(root);}});\n    document.querySelectorAll('.eg-oem').forEach(init);\n  }\n  window.ELPHOEM = {scan}; scan();\n  if (window.elementorFrontend?.hooks) window.elementorFrontend.hooks.addAction('frontend\/element_ready\/html.default',scan);\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-4f11936 eg-home-section eg-home-news e-flex e-con-boxed e-con e-parent\" data-id=\"4f11936\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-96b9f3c eg-home-title elementor-widget elementor-widget-heading\" data-id=\"96b9f3c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">News<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d6f7f0d elementor-grid-3 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid\" data-id=\"d6f7f0d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;template_id&quot;:29419,&quot;row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:32,&quot;sizes&quot;:[]},&quot;_skin&quot;:&quot;post&quot;,&quot;columns&quot;:&quot;3&quot;,&quot;columns_tablet&quot;:&quot;2&quot;,&quot;columns_mobile&quot;:&quot;1&quot;,&quot;edit_handle_selector&quot;:&quot;[data-elementor-type=\\&quot;loop-item\\&quot;]&quot;,&quot;row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"loop-grid.post\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-loop-container elementor-grid\" role=\"list\">\n\t\t<style id=\"loop-29419\">.elementor-29419 .elementor-element.elementor-element-83e5df2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-29419 .elementor-element.elementor-element-5fdaa15 img{width:100%;}.elementor-29419 .elementor-element.elementor-element-5fdaa15{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-29419 .elementor-element.elementor-element-f19a001 .elementor-heading-title{font-size:14px;font-weight:400;color:#536975;}.elementor-29419 .elementor-element.elementor-element-f19a001{margin:16px 0px calc(var(--kit-widget-spacing, 0px) + 8px) 0px;}.elementor-29419 .elementor-element.elementor-element-f19a002 .elementor-heading-title{font-size:20px;font-weight:600;color:#17313c;}.elementor-29419 .elementor-element.elementor-element-f19a002{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}@media(min-width:769px){.elementor-29419 .elementor-element.elementor-element-83e5df2{--width:100%;}}<\/style>\t\t<div role=\"listitem\" data-elementor-type=\"loop-item\" data-elementor-id=\"29419\" class=\"elementor elementor-29419 e-loop-item e-loop-item-29619 post-29619 post type-post status-publish format-standard has-post-thumbnail hentry category-guides-insights\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-83e5df2 e-con-full e-flex e-con e-parent\" data-id=\"83e5df2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5fdaa15 elementor-widget elementor-widget-image\" data-id=\"5fdaa15\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"\/fr\/rollator-design-for-everyday-life\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"480\" src=\"\/wp-content\/uploads\/2026\/10\/rollator-design-frame-20261028-768x480.webp\" class=\"attachment-medium_large size-medium_large wp-image-29620\" alt=\"EG-02 product rendering with a red curved frame, black bag and backrest\" srcset=\"\/wp-content\/uploads\/2026\/10\/rollator-design-frame-20261028-768x480.webp 768w, \/wp-content\/uploads\/2026\/10\/rollator-design-frame-20261028-400x250.webp 400w, \/wp-content\/uploads\/2026\/10\/rollator-design-frame-20261028-18x12.webp 18w, \/wp-content\/uploads\/2026\/10\/rollator-design-frame-20261028.webp 1200w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f19a001 eg-news-date elementor-widget elementor-widget-heading\" data-id=\"f19a001\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Oct 28, 2026<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f19a002 eg-news-title elementor-widget elementor-widget-heading\" data-id=\"f19a002\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"\/fr\/rollator-design-for-everyday-life\/\">Beyond the Clinical Look: Rollator Design for Everyday Life<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div role=\"listitem\" data-elementor-type=\"loop-item\" data-elementor-id=\"29419\" class=\"elementor elementor-29419 e-loop-item e-loop-item-29618 post-29618 post type-post status-publish format-standard has-post-thumbnail hentry category-guides-insights\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-83e5df2 e-con-full e-flex e-con e-parent\" data-id=\"83e5df2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5fdaa15 elementor-widget elementor-widget-image\" data-id=\"5fdaa15\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"\/fr\/rollator-order-checklist\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"768\" src=\"\/wp-content\/uploads\/2026\/09\/EG-02-8-768x768.png\" class=\"attachment-medium_large size-medium_large wp-image-29375\" alt=\"What to confirm with your rollator supplier before ordering\" srcset=\"\/wp-content\/uploads\/2026\/09\/EG-02-8-768x768.png 768w, \/wp-content\/uploads\/2026\/09\/EG-02-8-300x300.png 300w, \/wp-content\/uploads\/2026\/09\/EG-02-8-800x800.png 800w, \/wp-content\/uploads\/2026\/09\/EG-02-8-150x150.png 150w, \/wp-content\/uploads\/2026\/09\/EG-02-8-430x430.png 430w, \/wp-content\/uploads\/2026\/09\/EG-02-8-700x700.png 700w, \/wp-content\/uploads\/2026\/09\/EG-02-8.png 1200w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f19a001 eg-news-date elementor-widget elementor-widget-heading\" data-id=\"f19a001\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Oct 27, 2026<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f19a002 eg-news-title elementor-widget elementor-widget-heading\" data-id=\"f19a002\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"\/fr\/rollator-order-checklist\/\">What to confirm with your rollator supplier before ordering<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div role=\"listitem\" data-elementor-type=\"loop-item\" data-elementor-id=\"29419\" class=\"elementor elementor-29419 e-loop-item e-loop-item-29598 post-29598 post type-post status-publish format-standard hentry category-guides-insights\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-83e5df2 e-con-full e-flex e-con e-parent\" data-id=\"83e5df2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f19a001 eg-news-date elementor-widget elementor-widget-heading\" data-id=\"f19a001\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Oct 21, 2026<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f19a002 eg-news-title elementor-widget elementor-widget-heading\" data-id=\"f19a002\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"\/fr\/carbon-fiber-vs-aluminum-rollators\/\">Carbon Fiber vs Aluminum Rollators: A Wholesale Buyer\u2019s Guide<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div role=\"listitem\" data-elementor-type=\"loop-item\" data-elementor-id=\"29419\" class=\"elementor elementor-29419 e-loop-item e-loop-item-29597 post-29597 post type-post status-publish format-standard hentry category-guides-insights\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-83e5df2 e-con-full e-flex e-con e-parent\" data-id=\"83e5df2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f19a001 eg-news-date elementor-widget elementor-widget-heading\" data-id=\"f19a001\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Oct 19, 2026<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f19a002 eg-news-title elementor-widget elementor-widget-heading\" data-id=\"f19a002\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"\/fr\/bathroom-safety-trends-2026\/\">Bathroom Safety Trends 2026: More Human, Less Clinical<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div role=\"listitem\" data-elementor-type=\"loop-item\" data-elementor-id=\"29419\" class=\"elementor elementor-29419 e-loop-item e-loop-item-29556 post-29556 post type-post status-publish format-standard hentry category-guides-insights\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-83e5df2 e-con-full e-flex e-con e-parent\" data-id=\"83e5df2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f19a001 eg-news-date elementor-widget elementor-widget-heading\" data-id=\"f19a001\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Oct 12, 2026<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f19a002 eg-news-title elementor-widget elementor-widget-heading\" data-id=\"f19a002\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"\/fr\/how-to-customize-rollator-walkers-for-your-market\/\">How to Customize Rollator Walkers for Your Market<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div role=\"listitem\" data-elementor-type=\"loop-item\" data-elementor-id=\"29419\" class=\"elementor elementor-29419 e-loop-item e-loop-item-29479 post-29479 post type-post status-publish format-standard hentry category-company-news\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-83e5df2 e-con-full e-flex e-con e-parent\" data-id=\"83e5df2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f19a001 eg-news-date elementor-widget elementor-widget-heading\" data-id=\"f19a001\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Sep 21, 2026<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f19a002 eg-news-title elementor-widget elementor-widget-heading\" data-id=\"f19a002\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"\/fr\/welcome-to-elph-guard-a-practical-b2b-partner-for-mobility-products\/\">Welcome to ELPH GUARD: A Practical B2B Partner for Mobility Products<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>ELPH GUARD \u00b7 B2B MOBILITY SOLUTIONS Mobility products.Built for your market. Rollators, walkers and daily-living support products for distributors and<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-29092","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/elphguard.com\/fr\/wp-json\/wp\/v2\/pages\/29092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elphguard.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elphguard.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elphguard.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elphguard.com\/fr\/wp-json\/wp\/v2\/comments?post=29092"}],"version-history":[{"count":0,"href":"https:\/\/elphguard.com\/fr\/wp-json\/wp\/v2\/pages\/29092\/revisions"}],"wp:attachment":[{"href":"https:\/\/elphguard.com\/fr\/wp-json\/wp\/v2\/media?parent=29092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}