{"product_id":"vevolora-glacierflow-x1-desk-turbo-fan","title":"GlacierFlow X1 100-Speed Rechargeable Desk Fan","description":"\u003csection id=\"vv-glacierflow-detail\" class=\"vv-glacierflow-detail\" aria-label=\"Vevolora GlacierFlow X1 product details\"\u003e\n  \u003cstyle\u003e\n    #vv-glacierflow-detail,\n    #vv-glacierflow-detail * {\n      box-sizing: border-box;\n    }\n\n    #vv-glacierflow-detail {\n      --vv-ink: #17191d;\n      --vv-muted: #5b626b;\n      --vv-paper: #ffffff;\n      --vv-soft: #f3f6f6;\n      --vv-line: #dce2e3;\n      --vv-night: #15171a;\n      --vv-night-soft: #24282d;\n      --vv-aqua: #24cedb;\n      --vv-coral: #ff5679;\n      --vv-lime: #c7ec64;\n      --vv-radius: 8px;\n      width: 100%;\n      margin: 0 auto;\n      overflow: hidden;\n      color: var(--vv-ink);\n      background: var(--vv-soft);\n      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n      font-size: 16px;\n      line-height: 1.5;\n    }\n\n    #vv-glacierflow-detail img,\n    #vv-glacierflow-detail video {\n      display: block;\n      max-width: 100%;\n    }\n\n    #vv-glacierflow-detail img {\n      width: 100%;\n      height: auto;\n    }\n\n    #vv-glacierflow-detail h2,\n    #vv-glacierflow-detail h3,\n    #vv-glacierflow-detail p,\n    #vv-glacierflow-detail figure,\n    #vv-glacierflow-detail ul {\n      margin: 0;\n    }\n\n    #vv-glacierflow-detail button {\n      font: inherit;\n    }\n\n    #vv-glacierflow-detail .vv-wrap {\n      width: min(1180px, calc(100% - 32px));\n      margin: 0 auto;\n    }\n\n    #vv-glacierflow-detail .vv-band {\n      padding: 64px 0;\n      border-top: 1px solid var(--vv-line);\n    }\n\n    #vv-glacierflow-detail .vv-band-dark {\n      color: #f8faf9;\n      background: var(--vv-night);\n      border-top: 0;\n    }\n\n    #vv-glacierflow-detail .vv-kicker {\n      margin-bottom: 12px;\n      color: #197d85;\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: .1em;\n      text-transform: uppercase;\n    }\n\n    #vv-glacierflow-detail .vv-band-dark .vv-kicker {\n      color: var(--vv-aqua);\n    }\n\n    #vv-glacierflow-detail .vv-section-title {\n      max-width: 780px;\n      font-size: 36px;\n      line-height: 1.12;\n      font-weight: 850;\n      letter-spacing: 0;\n    }\n\n    #vv-glacierflow-detail .vv-section-lede {\n      max-width: 660px;\n      color: var(--vv-muted);\n      font-size: 16px;\n    }\n\n    #vv-glacierflow-detail .vv-band-dark .vv-section-lede {\n      color: #cbd1d4;\n    }\n\n    #vv-glacierflow-detail .vv-section-head {\n      display: grid;\n      grid-template-columns: minmax(0, .75fr) minmax(280px, .45fr);\n      gap: 32px;\n      align-items: end;\n      margin-bottom: 32px;\n    }\n\n    \/* The video experience intentionally appears before every other detail block. *\/\n    #vv-glacierflow-detail .vv-video-stage {\n      padding: 50px 0 56px;\n      color: #f8faf9;\n      background: var(--vv-night);\n    }\n\n    #vv-glacierflow-detail .vv-video-topline {\n      display: flex;\n      align-items: end;\n      justify-content: space-between;\n      gap: 24px;\n      margin-bottom: 26px;\n    }\n\n    #vv-glacierflow-detail .vv-video-title {\n      max-width: 760px;\n      font-size: 38px;\n      line-height: 1.08;\n      font-weight: 860;\n      letter-spacing: 0;\n    }\n\n    #vv-glacierflow-detail .vv-video-subtitle {\n      max-width: 640px;\n      margin-top: 12px;\n      color: #cbd1d4;\n    }\n\n    #vv-glacierflow-detail .vv-rail-controls {\n      display: flex;\n      flex: 0 0 auto;\n      gap: 8px;\n    }\n\n    #vv-glacierflow-detail .vv-rail-button {\n      display: grid;\n      width: 42px;\n      height: 42px;\n      place-items: center;\n      border: 1px solid #4b5259;\n      border-radius: 50%;\n      color: #fff;\n      background: transparent;\n      cursor: pointer;\n      transition: border-color .2s ease, background-color .2s ease;\n    }\n\n    #vv-glacierflow-detail .vv-rail-button:hover,\n    #vv-glacierflow-detail .vv-rail-button:focus-visible {\n      border-color: var(--vv-aqua);\n      background: #252c30;\n      outline: none;\n    }\n\n    #vv-glacierflow-detail .vv-rail-button span {\n      font-size: 24px;\n      line-height: 1;\n      transform: translateY(-1px);\n    }\n\n    #vv-glacierflow-detail .vv-video-rail {\n      display: grid;\n      grid-auto-flow: column;\n      grid-auto-columns: minmax(230px, 282px);\n      gap: 14px;\n      overflow-x: auto;\n      overscroll-behavior-inline: contain;\n      padding: 0 0 14px;\n      scroll-behavior: smooth;\n      scroll-snap-type: inline mandatory;\n      scrollbar-color: #5a626a #25292d;\n      scrollbar-width: thin;\n    }\n\n    #vv-glacierflow-detail .vv-video-card {\n      position: relative;\n      overflow: hidden;\n      min-width: 0;\n      border: 1px solid #343a40;\n      border-radius: var(--vv-radius);\n      background: #0d0f11;\n      scroll-snap-align: start;\n    }\n\n    #vv-glacierflow-detail .vv-video-card video {\n      width: 100%;\n      aspect-ratio: 9 \/ 16;\n      object-fit: cover;\n      background: #090a0b;\n    }\n\n    #vv-glacierflow-detail .vv-video-label {\n      min-height: 76px;\n      padding: 14px 15px 16px;\n      border-top: 1px solid #343a40;\n    }\n\n    #vv-glacierflow-detail .vv-video-label b {\n      display: block;\n      margin-bottom: 4px;\n      color: #fff;\n      font-size: 15px;\n    }\n\n    #vv-glacierflow-detail .vv-video-label span {\n      display: block;\n      color: #aeb6ba;\n      font-size: 13px;\n    }\n\n    #vv-glacierflow-detail .vv-video-note {\n      margin-top: 14px;\n      color: #90999e;\n      font-size: 12px;\n    }\n\n    #vv-glacierflow-detail .vv-hero {\n      display: grid;\n      grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr);\n      gap: 44px;\n      align-items: center;\n      min-height: 600px;\n      padding: 58px 0;\n    }\n\n    #vv-glacierflow-detail .vv-title {\n      max-width: 690px;\n      font-size: 48px;\n      line-height: 1.04;\n      font-weight: 880;\n      letter-spacing: 0;\n    }\n\n    #vv-glacierflow-detail .vv-lede {\n      max-width: 620px;\n      margin-top: 18px;\n      color: #40464d;\n      font-size: 18px;\n    }\n\n    #vv-glacierflow-detail .vv-proof {\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 10px;\n      margin-top: 28px;\n    }\n\n    #vv-glacierflow-detail .vv-proof span {\n      display: flex;\n      min-height: 76px;\n      align-items: center;\n      padding: 14px 16px;\n      border: 1px solid var(--vv-line);\n      border-radius: var(--vv-radius);\n      background: rgba(255, 255, 255, .82);\n      font-size: 14px;\n      font-weight: 760;\n    }\n\n    #vv-glacierflow-detail .vv-media,\n    #vv-glacierflow-detail .vv-hero-media,\n    #vv-glacierflow-detail .vv-variant-card,\n    #vv-glacierflow-detail .vv-feature,\n    #vv-glacierflow-detail .vv-box-item {\n      overflow: hidden;\n      border: 1px solid rgba(0, 0, 0, .08);\n      border-radius: var(--vv-radius);\n      background: var(--vv-paper);\n    }\n\n    #vv-glacierflow-detail .vv-hero-media {\n      display: grid;\n      min-height: 520px;\n      place-items: center;\n      padding: 18px;\n    }\n\n    #vv-glacierflow-detail .vv-hero-media img {\n      max-height: 560px;\n      object-fit: contain;\n    }\n\n    #vv-glacierflow-detail .vv-feature-grid {\n      display: grid;\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n      gap: 12px;\n    }\n\n    #vv-glacierflow-detail .vv-feature {\n      min-height: 176px;\n      padding: 22px;\n    }\n\n    #vv-glacierflow-detail .vv-feature-mark {\n      display: grid;\n      width: 38px;\n      height: 38px;\n      margin-bottom: 20px;\n      place-items: center;\n      border-radius: 50%;\n      color: #12383b;\n      background: #c9f1f3;\n      font-size: 13px;\n      font-weight: 850;\n    }\n\n    #vv-glacierflow-detail .vv-feature:nth-child(2) .vv-feature-mark {\n      color: #5a1b2c;\n      background: #ffd2dc;\n    }\n\n    #vv-glacierflow-detail .vv-feature:nth-child(3) .vv-feature-mark {\n      color: #394517;\n      background: #e5f5ba;\n    }\n\n    #vv-glacierflow-detail .vv-feature b {\n      display: block;\n      margin-bottom: 8px;\n      font-size: 18px;\n      line-height: 1.2;\n    }\n\n    #vv-glacierflow-detail .vv-feature p {\n      color: var(--vv-muted);\n      font-size: 15px;\n    }\n\n    #vv-glacierflow-detail .vv-split {\n      display: grid;\n      grid-template-columns: minmax(340px, .98fr) minmax(0, 1.02fr);\n      gap: 36px;\n      align-items: center;\n    }\n\n    #vv-glacierflow-detail .vv-copy-stack {\n      display: grid;\n      gap: 17px;\n    }\n\n    #vv-glacierflow-detail .vv-check {\n      display: grid;\n      grid-template-columns: 18px 1fr;\n      gap: 12px;\n      color: #d3d9dc;\n    }\n\n    #vv-glacierflow-detail .vv-check::before {\n      content: \"\";\n      width: 10px;\n      height: 10px;\n      margin-top: 7px;\n      border-radius: 50%;\n      background: var(--vv-aqua);\n    }\n\n    #vv-glacierflow-detail .vv-gallery {\n      display: grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 14px;\n    }\n\n    #vv-glacierflow-detail .vv-gallery figcaption {\n      padding: 14px 16px 17px;\n      color: var(--vv-muted);\n      font-size: 14px;\n    }\n\n    #vv-glacierflow-detail .vv-gallery strong {\n      display: block;\n      margin-bottom: 4px;\n      color: var(--vv-ink);\n      font-size: 15px;\n    }\n\n    #vv-glacierflow-detail .vv-box-grid {\n      display: grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n    }\n\n    #vv-glacierflow-detail .vv-box-item {\n      position: relative;\n      min-height: 132px;\n      padding: 22px 22px 20px 58px;\n    }\n\n    #vv-glacierflow-detail .vv-box-number {\n      position: absolute;\n      top: 22px;\n      left: 20px;\n      color: #167b83;\n      font-size: 12px;\n      font-weight: 850;\n    }\n\n    #vv-glacierflow-detail .vv-box-item b {\n      display: block;\n      margin-bottom: 5px;\n      font-size: 16px;\n    }\n\n    #vv-glacierflow-detail .vv-box-item p {\n      color: var(--vv-muted);\n      font-size: 14px;\n    }\n\n    #vv-glacierflow-detail .vv-variant-grid {\n      display: grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 14px;\n    }\n\n    #vv-glacierflow-detail .vv-variant-card {\n      display: grid;\n      grid-template-rows: 1fr auto;\n      min-height: 100%;\n    }\n\n    #vv-glacierflow-detail .vv-variant-card img {\n      aspect-ratio: 1 \/ 1;\n      object-fit: contain;\n      padding: 12px;\n      background: #fff;\n    }\n\n    #vv-glacierflow-detail .vv-variant-card figcaption {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 12px;\n      min-height: 52px;\n      padding: 12px 14px;\n      border-top: 1px solid var(--vv-line);\n      font-size: 14px;\n      font-weight: 780;\n    }\n\n    #vv-glacierflow-detail .vv-swatch {\n      flex: 0 0 auto;\n      width: 20px;\n      height: 20px;\n      border: 1px solid rgba(0, 0, 0, .22);\n      border-radius: 50%;\n      background: var(--swatch);\n    }\n\n    #vv-glacierflow-detail .vv-specs {\n      display: grid;\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n      overflow: hidden;\n      border: 1px solid var(--vv-line);\n      border-radius: var(--vv-radius);\n      background: #fff;\n    }\n\n    #vv-glacierflow-detail .vv-spec {\n      min-height: 112px;\n      padding: 18px;\n      border-right: 1px solid var(--vv-line);\n      border-bottom: 1px solid var(--vv-line);\n    }\n\n    #vv-glacierflow-detail .vv-spec:nth-child(4n) {\n      border-right: 0;\n    }\n\n    #vv-glacierflow-detail .vv-spec b {\n      display: block;\n      margin-bottom: 6px;\n      color: var(--vv-muted);\n      font-size: 12px;\n      letter-spacing: .08em;\n      text-transform: uppercase;\n    }\n\n    #vv-glacierflow-detail .vv-spec span {\n      display: block;\n      font-size: 17px;\n      font-weight: 760;\n    }\n\n    #vv-glacierflow-detail .vv-note {\n      margin-top: 18px;\n      color: var(--vv-muted);\n      font-size: 13px;\n    }\n\n    #vv-glacierflow-detail .vv-care {\n      display: grid;\n      grid-template-columns: minmax(0, .75fr) minmax(300px, .45fr);\n      gap: 32px;\n      align-items: start;\n    }\n\n    #vv-glacierflow-detail .vv-care-list {\n      display: grid;\n      gap: 12px;\n      color: #d4d9dc;\n      font-size: 15px;\n    }\n\n    #vv-glacierflow-detail .vv-care-list span {\n      padding-bottom: 12px;\n      border-bottom: 1px solid rgba(255, 255, 255, .14);\n    }\n\n    @media (max-width: 920px) {\n      #vv-glacierflow-detail .vv-hero,\n      #vv-glacierflow-detail .vv-section-head,\n      #vv-glacierflow-detail .vv-split,\n      #vv-glacierflow-detail .vv-care {\n        grid-template-columns: 1fr;\n      }\n\n      #vv-glacierflow-detail .vv-title {\n        font-size: 39px;\n      }\n\n      #vv-glacierflow-detail .vv-feature-grid,\n      #vv-glacierflow-detail .vv-specs {\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n      }\n\n      #vv-glacierflow-detail .vv-gallery,\n      #vv-glacierflow-detail .vv-box-grid,\n      #vv-glacierflow-detail .vv-variant-grid {\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n      }\n\n      #vv-glacierflow-detail .vv-spec:nth-child(2n) {\n        border-right: 0;\n      }\n    }\n\n    @media (max-width: 620px) {\n      #vv-glacierflow-detail .vv-wrap {\n        width: min(100% - 24px, 1180px);\n      }\n\n      #vv-glacierflow-detail .vv-band {\n        padding: 44px 0;\n      }\n\n      #vv-glacierflow-detail .vv-video-stage {\n        padding: 38px 0 44px;\n      }\n\n      #vv-glacierflow-detail .vv-video-topline {\n        align-items: center;\n      }\n\n      #vv-glacierflow-detail .vv-video-title {\n        font-size: 30px;\n      }\n\n      #vv-glacierflow-detail .vv-video-subtitle {\n        font-size: 14px;\n      }\n\n      #vv-glacierflow-detail .vv-video-rail {\n        grid-auto-columns: minmax(216px, 76vw);\n      }\n\n      #vv-glacierflow-detail .vv-rail-controls {\n        display: none;\n      }\n\n      #vv-glacierflow-detail .vv-hero {\n        min-height: 0;\n        padding: 40px 0;\n        gap: 24px;\n      }\n\n      #vv-glacierflow-detail .vv-hero-media {\n        min-height: 0;\n      }\n\n      #vv-glacierflow-detail .vv-title {\n        font-size: 32px;\n      }\n\n      #vv-glacierflow-detail .vv-lede {\n        font-size: 16px;\n      }\n\n      #vv-glacierflow-detail .vv-section-title {\n        font-size: 27px;\n      }\n\n      #vv-glacierflow-detail .vv-proof,\n      #vv-glacierflow-detail .vv-feature-grid,\n      #vv-glacierflow-detail .vv-gallery,\n      #vv-glacierflow-detail .vv-box-grid,\n      #vv-glacierflow-detail .vv-variant-grid,\n      #vv-glacierflow-detail .vv-specs {\n        grid-template-columns: 1fr;\n      }\n\n      #vv-glacierflow-detail .vv-spec,\n      #vv-glacierflow-detail .vv-spec:nth-child(2n),\n      #vv-glacierflow-detail .vv-spec:nth-child(4n) {\n        border-right: 0;\n      }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n      #vv-glacierflow-detail .vv-video-rail {\n        scroll-behavior: auto;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"vv-video-stage\" aria-labelledby=\"vv-video-heading\"\u003e\n    \u003cdiv class=\"vv-wrap\"\u003e\n      \u003cdiv class=\"vv-video-topline\"\u003e\n        \u003cdiv\u003e\n          \u003cp class=\"vv-kicker\"\u003eReal-life demos\u003c\/p\u003e\n          \u003ch2 id=\"vv-video-heading\" class=\"vv-video-title\"\u003eSee the airflow where people actually use it.\u003c\/h2\u003e\n          \u003cp class=\"vv-video-subtitle\"\u003eSwipe through five product demonstrations from the source product's video gallery. Tap play to hear the original demonstration audio.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"vv-rail-controls\" aria-label=\"Video carousel controls\"\u003e\n          \u003cbutton class=\"vv-rail-button\" type=\"button\" data-vv-direction=\"previous\" aria-label=\"Previous video\"\u003e\u003cspan aria-hidden=\"true\"\u003e‹\u003c\/span\u003e\u003c\/button\u003e\n          \u003cbutton class=\"vv-rail-button\" type=\"button\" data-vv-direction=\"next\" aria-label=\"Next video\"\u003e\u003cspan aria-hidden=\"true\"\u003e›\u003c\/span\u003e\u003c\/button\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"vv-video-rail\" tabindex=\"0\" aria-label=\"Five product demonstration videos\"\u003e\n        \u003cfigure class=\"vv-video-card\"\u003e\n          \u003cvideo controls playsinline preload=\"metadata\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/poster-01-7603752905518206221_feccaa6a-c383-49c2-9df2-ae6e5b5c6a75.jpg?v=1784355523\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/vp\/2b909523962547278475f41f69510049\/2b909523962547278475f41f69510049.HD-1080p-2.5Mbps-89255132.mp4\" aria-label=\"Desk and sleep setting product demonstration\"\u003e\u003c\/video\u003e\n          \u003cfigcaption class=\"vv-video-label\"\u003e\u003cb\u003eDesk-to-bedside comfort\u003c\/b\u003e\u003cspan\u003eCompact placement and close-range airflow.\u003c\/span\u003e\u003c\/figcaption\u003e\n        \u003c\/figure\u003e\n        \u003cfigure class=\"vv-video-card\"\u003e\n          \u003cvideo controls playsinline preload=\"metadata\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/poster-02-7634607400401521933_9610cd5c-4b10-4fb1-a613-a8544ebb0cc8.jpg?v=1784355523\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/vp\/dc31d51cc50a41a097cc7c85dff6ec4d\/dc31d51cc50a41a097cc7c85dff6ec4d.HD-1080p-2.5Mbps-89255133.mp4\" aria-label=\"Vanity counter product demonstration\"\u003e\u003c\/video\u003e\n          \u003cfigcaption class=\"vv-video-label\"\u003e\u003cb\u003eVanity-ready cooling\u003c\/b\u003e\u003cspan\u003eA small footprint for getting-ready spaces.\u003c\/span\u003e\u003c\/figcaption\u003e\n        \u003c\/figure\u003e\n        \u003cfigure class=\"vv-video-card\"\u003e\n          \u003cvideo controls playsinline preload=\"metadata\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/poster-03-7552424292382756127_75cc6018-f0c9-441a-9f83-19591e15ee24.jpg?v=1784355522\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/vp\/4b292e98667d456ab187b2f31ec23357\/4b292e98667d456ab187b2f31ec23357.HD-720p-1.6Mbps-89255134.mp4\" aria-label=\"Bedside fan sound demonstration\"\u003e\u003c\/video\u003e\n          \u003cfigcaption class=\"vv-video-label\"\u003e\u003cb\u003eHear it in real time\u003c\/b\u003e\u003cspan\u003eA bedside demonstration of the fan's operating sound.\u003c\/span\u003e\u003c\/figcaption\u003e\n        \u003c\/figure\u003e\n        \u003cfigure class=\"vv-video-card\"\u003e\n          \u003cvideo controls playsinline preload=\"metadata\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/poster-04-7633431810411646238_3e99a665-bf3b-405b-986f-c625a98bb8ce.jpg?v=1784355523\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/vp\/adc1eb323dfb47df9f0defa9e4cb7bcd\/adc1eb323dfb47df9f0defa9e4cb7bcd.HD-1080p-2.5Mbps-89255135.mp4\" aria-label=\"Portable fan airflow demonstration\"\u003e\u003c\/video\u003e\n          \u003cfigcaption class=\"vv-video-label\"\u003e\u003cb\u003eSmall body, focused breeze\u003c\/b\u003e\u003cspan\u003eSee the turbine-style airflow at close range.\u003c\/span\u003e\u003c\/figcaption\u003e\n        \u003c\/figure\u003e\n        \u003cfigure class=\"vv-video-card\"\u003e\n          \u003cvideo controls playsinline preload=\"metadata\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/poster-05-7626493009156115725_758231f2-6c5b-4a13-af9d-e1903c65c94b.jpg?v=1784355523\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/vp\/200ae3b46dba4846ad78877c3acabf95\/200ae3b46dba4846ad78877c3acabf95.HD-1080p-2.5Mbps-89255136.mp4\" aria-label=\"Travel and night use product demonstration\"\u003e\u003c\/video\u003e\n          \u003cfigcaption class=\"vv-video-label\"\u003e\u003cb\u003ePackable personal cooling\u003c\/b\u003e\u003cspan\u003eA travel and nightstand use demonstration.\u003c\/span\u003e\u003c\/figcaption\u003e\n        \u003c\/figure\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"vv-video-note\"\u003eCreator demonstrations are shown for product context and do not imply a Vevolora endorsement. Results and runtime vary by setting and environment.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"vv-wrap vv-hero\"\u003e\n    \u003cdiv\u003e\n      \u003cp class=\"vv-kicker\"\u003eVevolora GlacierFlow X1\u003c\/p\u003e\n      \u003ch2 class=\"vv-title\"\u003eWhen the room is fine but you are still overheating.\u003c\/h2\u003e\n      \u003cp class=\"vv-lede\"\u003ePut precise personal airflow where you need it: beside your laptop, next to your bed, on the vanity, or packed for a warm-weather trip.\u003c\/p\u003e\n      \u003cdiv class=\"vv-proof\" aria-label=\"Key product highlights\"\u003e\n        \u003cspan\u003e100-speed digital control instead of just low, medium, and high\u003c\/span\u003e\n        \u003cspan\u003e4000 mAh rechargeable battery with visible power status\u003c\/span\u003e\n        \u003cspan\u003eLow-noise close-range airflow for work and rest\u003c\/span\u003e\n        \u003cspan\u003e105 deg adjustable tilt for desk or wall placement\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cfigure class=\"vv-hero-media\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/10-glacierflow-purple-variant_15257949-4719-49b9-af93-4c8c3de1b6c4.png?v=1784355523\" alt=\"Purple Vevolora GlacierFlow X1 rechargeable desk fan\"\u003e\n    \u003c\/figure\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"vv-band vv-band-dark\"\u003e\n    \u003cdiv class=\"vv-wrap vv-split\"\u003e\n      \u003cfigure class=\"vv-media\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/02-glacierflow-cool-air-circulation_47537303-1731-4f15-b4b3-3b2679f0d404.jpg?v=1784355523\" alt=\"Vevolora GlacierFlow X1 focused cool air circulation\"\u003e\n      \u003c\/figure\u003e\n      \u003cdiv class=\"vv-copy-stack\"\u003e\n        \u003cp class=\"vv-kicker\"\u003eYour breeze, down to the number\u003c\/p\u003e\n        \u003ch2 class=\"vv-section-title\"\u003eStop choosing between too weak and way too much.\u003c\/h2\u003e\n        \u003cp class=\"vv-check\"\u003eLong-press to fine tune airflow from level 1 to 100, or tap through quick checkpoints at 0, 25, 50, 75, and 100.\u003c\/p\u003e\n        \u003cp class=\"vv-check\"\u003eThe LED screen keeps speed and battery status visible, so there is less guessing at your desk or bedside.\u003c\/p\u003e\n        \u003cp class=\"vv-check\"\u003eMemory control helps return to your preferred setting after use.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"vv-band\"\u003e\n    \u003cdiv class=\"vv-wrap\"\u003e\n      \u003cdiv class=\"vv-section-head\"\u003e\n        \u003cdiv\u003e\n          \u003cp class=\"vv-kicker\"\u003eBuilt around real routines\u003c\/p\u003e\n          \u003ch2 class=\"vv-section-title\"\u003eA compact cooling fix for the places that trap heat.\u003c\/h2\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"vv-section-lede\"\u003eKeep it close while working, getting ready, reading, gaming, or winding down. It is made for personal cooling, without taking over the room.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"vv-feature-grid\"\u003e\n        \u003cdiv class=\"vv-feature\"\u003e\n\u003cspan class=\"vv-feature-mark\"\u003e100\u003c\/span\u003e\u003cb\u003e100 speed levels\u003c\/b\u003e\u003cp\u003eMake small adjustments until the breeze feels right for the moment.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-feature\"\u003e\n\u003cspan class=\"vv-feature-mark\"\u003e4K\u003c\/span\u003e\u003cb\u003e4000 mAh battery\u003c\/b\u003e\u003cp\u003eRechargeable power supports about 3-10 hours depending on speed.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-feature\"\u003e\n\u003cspan class=\"vv-feature-mark\"\u003e105\u003c\/span\u003e\u003cb\u003e105 deg tilt\u003c\/b\u003e\u003cp\u003eAim airflow toward your face, hands, bed, vanity, or workspace.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-feature\"\u003e\n\u003cspan class=\"vv-feature-mark\"\u003eUSB\u003c\/span\u003e\u003cb\u003eUSB charging\u003c\/b\u003e\u003cp\u003eRecharge in about 3.5 hours and keep it plugged in for desk use.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"vv-band\"\u003e\n    \u003cdiv class=\"vv-wrap vv-gallery\"\u003e\n      \u003cfigure class=\"vv-media\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/07-glacierflow-battery-display_875d0ae5-3b59-45d0-9aef-ceb990c94359.jpg?v=1784355523\" alt=\"Vevolora GlacierFlow X1 battery and speed display\"\u003e\n        \u003cfigcaption\u003e\u003cstrong\u003eKnow what is left.\u003c\/strong\u003eThe display makes speed and remaining power easy to check.\u003c\/figcaption\u003e\n      \u003c\/figure\u003e\n      \u003cfigure class=\"vv-media\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/04-glacierflow-table-wall-use_d38545f9-1bd5-43bd-b740-e604069b6527.jpg?v=1784355523\" alt=\"Vevolora GlacierFlow X1 desk and wall placement options\"\u003e\n        \u003cfigcaption\u003e\u003cstrong\u003eDesk or wall ready.\u003c\/strong\u003eMove it between your workstation, bedside, and utility spaces.\u003c\/figcaption\u003e\n      \u003c\/figure\u003e\n      \u003cfigure class=\"vv-media\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/06-glacierflow-low-noise-night_99d6bfaf-5272-43a3-a552-af005cbc814d.jpg?v=1784355523\" alt=\"Vevolora GlacierFlow X1 low-noise bedside use\"\u003e\n        \u003cfigcaption\u003e\u003cstrong\u003eClose-range comfort.\u003c\/strong\u003eDesigned for personal airflow when noisy cooling would feel distracting.\u003c\/figcaption\u003e\n      \u003c\/figure\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"vv-band vv-band-dark\"\u003e\n    \u003cdiv class=\"vv-wrap vv-split\"\u003e\n      \u003cdiv class=\"vv-copy-stack\"\u003e\n        \u003cp class=\"vv-kicker\"\u003eFocused turbine airflow\u003c\/p\u003e\n        \u003ch2 class=\"vv-section-title\"\u003eFeel the breeze without giving up half your desk.\u003c\/h2\u003e\n        \u003cp class=\"vv-check\"\u003eFour-blade circulating ducts and a turbine-style structure concentrate personal airflow forward.\u003c\/p\u003e\n        \u003cp class=\"vv-check\"\u003eThe compact body moves easily between rooms, nightstands, workspaces, and covered outdoor tables.\u003c\/p\u003e\n        \u003cp class=\"vv-check\"\u003eUse it close by for personal comfort; it is not intended to replace whole-room air conditioning.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cfigure class=\"vv-media\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/03-glacierflow-airflow-power_173d79ee-1f0a-4ac0-b682-99d1975dfcc8.jpg?v=1784355523\" alt=\"Vevolora GlacierFlow X1 concentrated airflow visual\"\u003e\n      \u003c\/figure\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"vv-band\"\u003e\n    \u003cdiv class=\"vv-wrap\"\u003e\n      \u003cdiv class=\"vv-section-head\"\u003e\n        \u003cdiv\u003e\n          \u003cp class=\"vv-kicker\"\u003eWhat is in the box\u003c\/p\u003e\n          \u003ch2 class=\"vv-section-title\"\u003eEverything needed to get your personal breeze started.\u003c\/h2\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"vv-section-lede\"\u003ePackage contents should be confirmed with the fulfillment supplier before launch, as accessories can vary by production batch.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"vv-box-grid\"\u003e\n        \u003cdiv class=\"vv-box-item\"\u003e\n\u003cspan class=\"vv-box-number\"\u003e01\u003c\/span\u003e\u003cb\u003eRechargeable fan unit\u003c\/b\u003e\u003cp\u003eOne ZH27 fan in the color or style selected at checkout.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-box-item\"\u003e\n\u003cspan class=\"vv-box-number\"\u003e02\u003c\/span\u003e\u003cb\u003eIntegrated battery\u003c\/b\u003e\u003cp\u003eOne built-in 4000 mAh rechargeable battery.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-box-item\"\u003e\n\u003cspan class=\"vv-box-number\"\u003e03\u003c\/span\u003e\u003cb\u003eCharging cable\u003c\/b\u003e\u003cp\u003eUSB charging cable for compatible powered USB connections.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"vv-band\"\u003e\n    \u003cdiv class=\"vv-wrap\"\u003e\n      \u003cdiv class=\"vv-section-head\"\u003e\n        \u003cdiv\u003e\n          \u003cp class=\"vv-kicker\"\u003eChoose your finish\u003c\/p\u003e\n          \u003ch2 class=\"vv-section-title\"\u003eAll nine original color and style options, each shown clearly.\u003c\/h2\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"vv-section-lede\"\u003eThe source product's complete option set is preserved. Product imagery has been checked and old brand marks removed where they appeared.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"vv-variant-grid\"\u003e\n        \u003cfigure class=\"vv-variant-card\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/10-glacierflow-purple-variant_15257949-4719-49b9-af93-4c8c3de1b6c4.png?v=1784355523\" alt=\"Purple Vevolora GlacierFlow X1 desk fan\"\u003e\u003cfigcaption\u003ePurple \u003cspan class=\"vv-swatch\" style=\"--swatch:#8c55df\"\u003e\u003c\/span\u003e\u003c\/figcaption\u003e\u003c\/figure\u003e\n        \u003cfigure class=\"vv-variant-card\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/11-glacierflow-pink-variant_454b6463-04d6-4bb4-ab17-c132e2e7899d.png?v=1784355523\" alt=\"Pink Vevolora GlacierFlow X1 desk fan\"\u003e\u003cfigcaption\u003ePink \u003cspan class=\"vv-swatch\" style=\"--swatch:#f2528d\"\u003e\u003c\/span\u003e\u003c\/figcaption\u003e\u003c\/figure\u003e\n        \u003cfigure class=\"vv-variant-card\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/12-glacierflow-white-variant_387c1822-6009-41c1-88ba-fb051c33cfac.png?v=1784355523\" alt=\"White Vevolora GlacierFlow X1 desk fan\"\u003e\u003cfigcaption\u003eWhite \u003cspan class=\"vv-swatch\" style=\"--swatch:#f4f0e4\"\u003e\u003c\/span\u003e\u003c\/figcaption\u003e\u003c\/figure\u003e\n        \u003cfigure class=\"vv-variant-card\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/13-glacierflow-black-airflow-variant_4c8017e7-30be-4c36-b755-e7ebc7182037.png?v=1784355523\" alt=\"Black Vevolora GlacierFlow X1 desk fan\"\u003e\u003cfigcaption\u003eBlack \u003cspan class=\"vv-swatch\" style=\"--swatch:#1f2227\"\u003e\u003c\/span\u003e\u003c\/figcaption\u003e\u003c\/figure\u003e\n        \u003cfigure class=\"vv-variant-card\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/14-glacierflow-black-elite-variant_7c12a2ac-f937-4019-bf20-e8d9dcd9245e.png?v=1784355523\" alt=\"Black-Elite Vevolora GlacierFlow X1 desk fan\"\u003e\u003cfigcaption\u003eBlack-Elite \u003cspan class=\"vv-swatch\" style=\"--swatch:#111319\"\u003e\u003c\/span\u003e\u003c\/figcaption\u003e\u003c\/figure\u003e\n        \u003cfigure class=\"vv-variant-card\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/15-glacierflow-white-elite-variant_1b8b9521-e6f0-4a52-9436-969b644b889a.png?v=1784355523\" alt=\"White-Elite Vevolora GlacierFlow X1 desk fan\"\u003e\u003cfigcaption\u003eWhite-Elite \u003cspan class=\"vv-swatch\" style=\"--swatch:#efe8d7\"\u003e\u003c\/span\u003e\u003c\/figcaption\u003e\u003c\/figure\u003e\n        \u003cfigure class=\"vv-variant-card\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/16-glacierflow-pro-white-variant_039a9db2-ec98-4112-8f3d-80e7b2ee78dd.png?v=1784355523\" alt=\"Pro White Vevolora GlacierFlow X1 desk fan\"\u003e\u003cfigcaption\u003e(Pro)White \u003cspan class=\"vv-swatch\" style=\"--swatch:#f3efe4\"\u003e\u003c\/span\u003e\u003c\/figcaption\u003e\u003c\/figure\u003e\n        \u003cfigure class=\"vv-variant-card\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/17-glacierflow-pro-black-variant_5e397985-b27c-4e3d-b9e9-47d91c4cd32b.png?v=1784355523\" alt=\"Pro Black Vevolora GlacierFlow X1 desk fan\"\u003e\u003cfigcaption\u003e(Pro)Black \u003cspan class=\"vv-swatch\" style=\"--swatch:#15171b\"\u003e\u003c\/span\u003e\u003c\/figcaption\u003e\u003c\/figure\u003e\n        \u003cfigure class=\"vv-variant-card\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/18-glacierflow-beige-variant_9458e746-d5fa-4a44-b24d-644ebb0e1386.png?v=1784355523\" alt=\"Beige Vevolora GlacierFlow X1 desk fan\"\u003e\u003cfigcaption\u003eBeige \u003cspan class=\"vv-swatch\" style=\"--swatch:#edca62\"\u003e\u003c\/span\u003e\u003c\/figcaption\u003e\u003c\/figure\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"vv-band\"\u003e\n    \u003cdiv class=\"vv-wrap\"\u003e\n      \u003cdiv class=\"vv-section-head\"\u003e\n        \u003cdiv\u003e\n          \u003cp class=\"vv-kicker\"\u003eStraightforward specs\u003c\/p\u003e\n          \u003ch2 class=\"vv-section-title\"\u003eThe details shoppers check before adding to cart.\u003c\/h2\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"vv-section-lede\"\u003eSpecifications follow the linked product page and source visuals. The source did not provide shipping weight, package dimensions, or a size option.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"vv-specs\"\u003e\n        \u003cdiv class=\"vv-spec\"\u003e\n\u003cb\u003eModel\u003c\/b\u003e\u003cspan\u003eZH27\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-spec\"\u003e\n\u003cb\u003eBattery\u003c\/b\u003e\u003cspan\u003e4000 mAh\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-spec\"\u003e\n\u003cb\u003eSpeed range\u003c\/b\u003e\u003cspan\u003e1-100 levels\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-spec\"\u003e\n\u003cb\u003eCharging time\u003c\/b\u003e\u003cspan\u003eAbout 3.5 hours\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-spec\"\u003e\n\u003cb\u003eRuntime\u003c\/b\u003e\u003cspan\u003eAbout 3-10 hours\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-spec\"\u003e\n\u003cb\u003eAngle\u003c\/b\u003e\u003cspan\u003e105 deg adjustable\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-spec\"\u003e\n\u003cb\u003eDisplay\u003c\/b\u003e\u003cspan\u003eLED digital screen\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-spec\"\u003e\n\u003cb\u003eBattery included\u003c\/b\u003e\u003cspan\u003eYes\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"vv-note\"\u003eRuntime varies with speed setting, battery condition, ambient temperature, and charging source. High-speed use will reduce runtime.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"vv-band vv-band-dark\"\u003e\n    \u003cdiv class=\"vv-wrap vv-care\"\u003e\n      \u003cdiv\u003e\n        \u003cp class=\"vv-kicker\"\u003eUse and care\u003c\/p\u003e\n        \u003ch2 class=\"vv-section-title\"\u003eA few simple rules for a fan that goes everywhere.\u003c\/h2\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"vv-care-list\"\u003e\n        \u003cspan\u003ePlace on a stable flat surface or properly supported wall-hanging position.\u003c\/span\u003e\n        \u003cspan\u003eKeep away from water, flame, high heat, and direct contact with the grille while running.\u003c\/span\u003e\n        \u003cspan\u003eNever insert fingers or objects into the fan; stop using the unit if it is damaged.\u003c\/span\u003e\n        \u003cspan\u003eKeep away from small children unless supervised by an adult.\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (() =\u003e {\n      const root = document.getElementById(\"vv-glacierflow-detail\");\n      if (!root || root.dataset.vvReady === \"true\") return;\n      root.dataset.vvReady = \"true\";\n\n      const rail = root.querySelector(\".vv-video-rail\");\n      const videos = Array.from(root.querySelectorAll(\"video\"));\n      const buttons = root.querySelectorAll(\"[data-vv-direction]\");\n\n      videos.forEach((video) =\u003e {\n        video.addEventListener(\"play\", () =\u003e {\n          videos.forEach((other) =\u003e {\n            if (other !== video \u0026\u0026 !other.paused) other.pause();\n          });\n        });\n      });\n\n      buttons.forEach((button) =\u003e {\n        button.addEventListener(\"click\", () =\u003e {\n          const card = rail.querySelector(\".vv-video-card\");\n          const distance = card ? card.getBoundingClientRect().width + 14 : rail.clientWidth * .8;\n          rail.scrollBy({\n            left: button.dataset.vvDirection === \"next\" ? distance : -distance,\n            behavior: \"smooth\",\n          });\n        });\n      });\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e\n\n\u003c!-- VEVOLORA_CONTRAST_FIX_START 2026-07-18 --\u003e\n\u003cstyle data-vevolora-contrast-fix=\"2026-07-18\"\u003e\n  #vv-glacierflow-detail :is(.vv-band-dark,.vs-dark,.vv-black,.vv-day-night,.vv-video-stage,.vs-video-stage,[class*=\"dark\"],[class*=\"night\"],[class*=\"black\"],[class*=\"video-stage\"] ) :is(h1,h2,h3,h4,h5,h6),\n  #vv-glacierflow-detail :is(.vv-band-dark,.vs-dark,.vv-black,.vv-day-night,.vv-video-stage,.vs-video-stage,[class*=\"dark\"],[class*=\"night\"],[class*=\"black\"],[class*=\"video-stage\"] ) :is(h1,h2,h3,h4,h5,h6) * {\n    color:#f8fbff !important;\n    -webkit-text-fill-color:#f8fbff !important;\n  }\n  #vv-glacierflow-detail .vv-contrast-bright,\n  #vv-glacierflow-detail .vv-contrast-bright * {\n    color:#f8fbff !important;\n    -webkit-text-fill-color:#f8fbff !important;\n  }\n  #vv-glacierflow-detail .vv-contrast-soft,\n  #vv-glacierflow-detail .vv-contrast-soft * {\n    color:#dce8f4 !important;\n    -webkit-text-fill-color:#dce8f4 !important;\n  }\n  #vv-glacierflow-detail .vv-contrast-accent,\n  #vv-glacierflow-detail .vv-contrast-accent * {\n    color:#8fe9ff !important;\n    -webkit-text-fill-color:#8fe9ff !important;\n  }\n\u003c\/style\u003e\n\u003cscript data-vevolora-contrast-fix=\"2026-07-18\"\u003e\n(() =\u003e {\n  const root = document.getElementById(\"vv-glacierflow-detail\");\n  if (!root) return;\n  const parseColor = value =\u003e {\n    const match = String(value || '').match(\/rgba?\\(\\s*([\\d.]+)[, ]+\\s*([\\d.]+)[, ]+\\s*([\\d.]+)(?:\\s*[,\/]\\s*([\\d.]+))?\\s*\\)\/i);\n    return match ? [+match[1], +match[2], +match[3], match[4] === undefined ? 1 : +match[4]] : null;\n  };\n  const luminance = rgb =\u003e {\n    const linear = rgb.slice(0, 3).map(value =\u003e {\n      value \/= 255;\n      return value \u003c= .04045 ? value \/ 12.92 : Math.pow((value + .055) \/ 1.055, 2.4);\n    });\n    return .2126 * linear[0] + .7152 * linear[1] + .0722 * linear[2];\n  };\n  const contrast = (a, b) =\u003e {\n    const high = Math.max(luminance(a), luminance(b));\n    const low = Math.min(luminance(a), luminance(b));\n    return (high + .05) \/ (low + .05);\n  };\n  const surface = element =\u003e {\n    for (let node = element; node; node = node.parentElement) {\n      const color = parseColor(getComputedStyle(node).backgroundColor);\n      if (color \u0026\u0026 color[3] \u003e .08) return color;\n      if (node === root) break;\n    }\n    return parseColor(getComputedStyle(document.body).backgroundColor) || [255, 255, 255, 1];\n  };\n  const scan = () =\u003e {\n    root.querySelectorAll('h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,small,label,strong,b,em,a,button,[class*=\"title\"],[class*=\"heading\"],[class*=\"kicker\"],[class*=\"eyebrow\"],[class*=\"subtitle\"],[class*=\"copy\"]').forEach(element =\u003e {\n      if (!element.textContent.trim() || element.closest('[hidden],[aria-hidden=\"true\"]')) return;\n      const background = surface(element);\n      if (luminance(background) \u003e= .24) return;\n      const foreground = parseColor(getComputedStyle(element).color);\n      if (!foreground || contrast(foreground, background) \u003e= 4.5) return;\n      const identity = `${element.tagName} ${element.className}`.toLowerCase();\n      const accent = \/\\ba\\b|kicker|eyebrow\/.test(identity);\n      const strong = \/^h[1-6]\\b\/.test(identity) || \/title|heading|strong|button\/.test(identity);\n      element.classList.add(accent ? 'vv-contrast-accent' : strong ? 'vv-contrast-bright' : 'vv-contrast-soft');\n    });\n  };\n  scan();\n  requestAnimationFrame(scan);\n  window.addEventListener('load', scan, { once:true });\n  setTimeout(scan, 500);\n})();\n\u003c\/script\u003e\n\u003c!-- VEVOLORA_CONTRAST_FIX_END --\u003e\n","brand":"Vevolora","offers":[{"title":"Purple","offer_id":55770156302504,"sku":"VV-GFX1-PUR","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Pink","offer_id":55770156335272,"sku":"VV-GFX1-PNK","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White","offer_id":55770156368040,"sku":"VV-GFX1-WHT","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black","offer_id":55770156400808,"sku":"VV-GFX1-BLK","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Black-Elite","offer_id":55770156433576,"sku":"VV-GFX1-BEL","price":39.99,"currency_code":"USD","in_stock":true},{"title":"White-Elite","offer_id":55770156466344,"sku":"VV-GFX1-WEL","price":39.99,"currency_code":"USD","in_stock":true},{"title":"(Pro)White","offer_id":55770156499112,"sku":"VV-GFX1-PWH","price":39.99,"currency_code":"USD","in_stock":true},{"title":"(Pro)Black","offer_id":55770156531880,"sku":"VV-GFX1-PBK","price":39.99,"currency_code":"USD","in_stock":true},{"title":"Beige","offer_id":55770156564648,"sku":"VV-GFX1-BEI","price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0756\/0232\/9768\/files\/01-glacierflow-purple-front_f52cb6b6-07fe-4cb8-9d21-f1aef8318383.jpg?v=1784514341","url":"https:\/\/mimonera.shop\/products\/vevolora-glacierflow-x1-desk-turbo-fan","provider":"mimonera","version":"1.0","type":"link"}