{"product_id":"vevolora-riviera-flat-top-uv400-sunglasses","title":"vevolora Riviera Flat-Top UV400 Sunglasses","description":"\u003cdiv id=\"vv-riviera-sunglasses\"\u003e\n  \u003cstyle\u003e\n    #vv-riviera-sunglasses {\n      --vv-ink: #141414;\n      --vv-paper: #ffffff;\n      --vv-mist: #f3f5f6;\n      --vv-line: #d7dcdf;\n      --vv-coral: #ed594c;\n      --vv-cyan: #1b869a;\n      --vv-gold: #d5a11e;\n      color: var(--vv-ink);\n      background: var(--vv-paper);\n      font-family: Arial, Helvetica, sans-serif;\n      font-size: 16px;\n      line-height: 1.55;\n      letter-spacing: 0;\n      overflow: hidden;\n      width: 100%;\n    }\n    #vv-riviera-sunglasses *,\n    #vv-riviera-sunglasses *::before,\n    #vv-riviera-sunglasses *::after { box-sizing: border-box; }\n    #vv-riviera-sunglasses img,\n    #vv-riviera-sunglasses video { display: block; max-width: 100%; }\n    #vv-riviera-sunglasses button { font: inherit; letter-spacing: 0; }\n    #vv-riviera-sunglasses .vv-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }\n    #vv-riviera-sunglasses .vv-kicker {\n      color: var(--vv-coral);\n      font-size: 12px;\n      font-weight: 800;\n      letter-spacing: .12em;\n      margin: 0 0 10px;\n      text-transform: uppercase;\n    }\n    #vv-riviera-sunglasses h2,\n    #vv-riviera-sunglasses h3,\n    #vv-riviera-sunglasses p { margin-top: 0; }\n    #vv-riviera-sunglasses h2 {\n      font-family: Georgia, \"Times New Roman\", serif;\n      font-size: clamp(32px, 5vw, 66px);\n      font-weight: 400;\n      line-height: 1.02;\n      margin-bottom: 18px;\n    }\n    #vv-riviera-sunglasses h3 { font-size: 20px; line-height: 1.2; margin-bottom: 8px; }\n    #vv-riviera-sunglasses .vv-lede { color: #495157; font-size: 18px; max-width: 660px; }\n\n    #vv-riviera-sunglasses .vv-video-stage {\n      background: var(--vv-ink);\n      color: #fff;\n      padding: 62px 0 54px;\n    }\n    #vv-riviera-sunglasses .vv-video-head {\n      align-items: end;\n      display: flex;\n      gap: 28px;\n      justify-content: space-between;\n      margin-bottom: 28px;\n    }\n    #vv-riviera-sunglasses .vv-video-head h2 { font-size: clamp(34px, 5vw, 58px); margin-bottom: 0; max-width: 720px; }\n    #vv-riviera-sunglasses .vv-video-head .vv-kicker { color: #71d8e7; }\n    #vv-riviera-sunglasses .vv-video-nav { display: flex; flex: 0 0 auto; gap: 8px; }\n    #vv-riviera-sunglasses .vv-icon-button {\n      align-items: center;\n      background: transparent;\n      border: 1px solid rgba(255,255,255,.5);\n      border-radius: 50%;\n      color: #fff;\n      cursor: pointer;\n      display: inline-flex;\n      font-size: 30px;\n      height: 44px;\n      justify-content: center;\n      line-height: 1;\n      padding: 0 0 3px;\n      transition: background-color .2s ease, color .2s ease;\n      width: 44px;\n    }\n    #vv-riviera-sunglasses .vv-icon-button:hover,\n    #vv-riviera-sunglasses .vv-icon-button:focus-visible { background: #fff; color: var(--vv-ink); outline: none; }\n    #vv-riviera-sunglasses .vv-video-rail {\n      display: grid;\n      gap: 14px;\n      grid-auto-columns: minmax(250px, 29%);\n      grid-auto-flow: column;\n      list-style: none;\n      margin: 0;\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: rgba(255,255,255,.45) transparent;\n    }\n    #vv-riviera-sunglasses .vv-video-card {\n      background: #242424;\n      border: 1px solid rgba(255,255,255,.18);\n      border-radius: 8px;\n      min-width: 0;\n      overflow: hidden;\n      scroll-snap-align: start;\n    }\n    #vv-riviera-sunglasses .vv-video-card[aria-current=\"true\"] { border-color: #71d8e7; }\n    #vv-riviera-sunglasses .vv-video-card video { aspect-ratio: 9 \/ 16; background: #050505; object-fit: cover; width: 100%; }\n    #vv-riviera-sunglasses .vv-video-meta { align-items: center; display: flex; justify-content: space-between; min-height: 56px; padding: 12px 14px; }\n    #vv-riviera-sunglasses .vv-video-meta strong { font-size: 13px; text-transform: uppercase; }\n    #vv-riviera-sunglasses .vv-video-meta span { color: #aeb6ba; font-size: 12px; }\n\n    #vv-riviera-sunglasses .vv-hook { background: #f5db4b; padding: 42px 0; }\n    #vv-riviera-sunglasses .vv-hook-grid { align-items: center; display: grid; gap: 32px; grid-template-columns: 1.35fr 1fr; }\n    #vv-riviera-sunglasses .vv-hook h2 { font-size: clamp(36px, 5vw, 62px); margin: 0; }\n    #vv-riviera-sunglasses .vv-hook-list { display: grid; gap: 0; list-style: none; margin: 0; padding: 0; }\n    #vv-riviera-sunglasses .vv-hook-list li { border-top: 1px solid rgba(20,20,20,.35); font-weight: 800; padding: 12px 0; }\n    #vv-riviera-sunglasses .vv-hook-list li:last-child { border-bottom: 1px solid rgba(20,20,20,.35); }\n\n    #vv-riviera-sunglasses .vv-editorial { padding: 76px 0; }\n    #vv-riviera-sunglasses .vv-editorial-grid { align-items: center; display: grid; gap: clamp(34px, 6vw, 86px); grid-template-columns: 1.02fr .98fr; }\n    #vv-riviera-sunglasses .vv-image-frame { background: var(--vv-mist); border-radius: 8px; overflow: hidden; }\n    #vv-riviera-sunglasses .vv-image-frame img { aspect-ratio: 3 \/ 4; object-fit: cover; width: 100%; }\n    #vv-riviera-sunglasses .vv-feature-list { display: grid; gap: 18px; margin-top: 34px; }\n    #vv-riviera-sunglasses .vv-feature { border-top: 1px solid var(--vv-line); padding-top: 18px; }\n    #vv-riviera-sunglasses .vv-feature p { color: #586168; margin-bottom: 0; }\n\n    #vv-riviera-sunglasses .vv-colors { background: var(--vv-mist); padding: 72px 0 78px; }\n    #vv-riviera-sunglasses .vv-colors-head { align-items: end; display: flex; gap: 28px; justify-content: space-between; margin-bottom: 30px; }\n    #vv-riviera-sunglasses .vv-colors-head h2 { margin-bottom: 0; }\n    #vv-riviera-sunglasses .vv-colors-head p { color: #586168; margin: 0; max-width: 430px; }\n    #vv-riviera-sunglasses .vv-color-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }\n    #vv-riviera-sunglasses .vv-color-item { background: #fff; border: 1px solid var(--vv-line); border-radius: 8px; overflow: hidden; }\n    #vv-riviera-sunglasses .vv-color-item img { aspect-ratio: 3 \/ 4; object-fit: cover; width: 100%; }\n    #vv-riviera-sunglasses .vv-color-name { align-items: center; display: flex; font-weight: 800; gap: 9px; padding: 14px; }\n    #vv-riviera-sunglasses .vv-swatch { border: 1px solid rgba(0,0,0,.2); border-radius: 50%; flex: 0 0 16px; height: 16px; width: 16px; }\n    #vv-riviera-sunglasses .vv-swatch-one { background: #d7b692; }\n    #vv-riviera-sunglasses .vv-swatch-two { background: #e9e8e3; }\n    #vv-riviera-sunglasses .vv-swatch-three { background: #bb7a36; }\n    #vv-riviera-sunglasses .vv-swatch-blue { background: #315d94; }\n\n    #vv-riviera-sunglasses .vv-uv { background: var(--vv-cyan); color: #fff; padding: 78px 0; }\n    #vv-riviera-sunglasses .vv-uv-grid { align-items: start; display: grid; gap: 54px; grid-template-columns: .9fr 1.1fr; }\n    #vv-riviera-sunglasses .vv-uv h2 { margin-bottom: 14px; }\n    #vv-riviera-sunglasses .vv-uv .vv-kicker { color: #f5db4b; }\n    #vv-riviera-sunglasses .vv-uv p { color: #e2f7fa; }\n    #vv-riviera-sunglasses .vv-stat-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }\n    #vv-riviera-sunglasses .vv-stat { border: 1px solid rgba(255,255,255,.45); border-radius: 8px; min-height: 150px; padding: 20px; }\n    #vv-riviera-sunglasses .vv-stat strong { display: block; font-family: Georgia, \"Times New Roman\", serif; font-size: 36px; font-weight: 400; line-height: 1; margin-bottom: 14px; }\n    #vv-riviera-sunglasses .vv-stat span { color: #e2f7fa; font-size: 14px; }\n\n    #vv-riviera-sunglasses .vv-fit { padding: 76px 0; }\n    #vv-riviera-sunglasses .vv-fit-grid { align-items: center; display: grid; gap: clamp(34px, 6vw, 84px); grid-template-columns: .95fr 1.05fr; }\n    #vv-riviera-sunglasses .vv-fit img { border: 1px solid var(--vv-line); border-radius: 8px; width: 100%; }\n    #vv-riviera-sunglasses .vv-specs { border-top: 1px solid var(--vv-line); margin: 28px 0 0; }\n    #vv-riviera-sunglasses .vv-spec-row { border-bottom: 1px solid var(--vv-line); display: grid; gap: 20px; grid-template-columns: 1fr auto; padding: 13px 0; }\n    #vv-riviera-sunglasses .vv-spec-row dt { color: #596168; }\n    #vv-riviera-sunglasses .vv-spec-row dd { font-weight: 800; margin: 0; text-align: right; }\n\n    #vv-riviera-sunglasses .vv-contents { background: var(--vv-ink); color: #fff; padding: 68px 0; }\n    #vv-riviera-sunglasses .vv-contents-grid { display: grid; gap: 50px; grid-template-columns: .9fr 1.1fr; }\n    #vv-riviera-sunglasses .vv-contents h2 { margin-bottom: 0; }\n    #vv-riviera-sunglasses .vv-package-line { align-items: center; border-bottom: 1px solid rgba(255,255,255,.25); border-top: 1px solid rgba(255,255,255,.25); display: flex; gap: 18px; justify-content: space-between; padding: 24px 0; }\n    #vv-riviera-sunglasses .vv-package-line strong { font-size: 22px; }\n    #vv-riviera-sunglasses .vv-package-line span { color: #aeb6ba; }\n    #vv-riviera-sunglasses .vv-note { color: #aeb6ba; font-size: 13px; margin: 16px 0 0; }\n\n    #vv-riviera-sunglasses .vv-faq { padding: 72px 0 82px; }\n    #vv-riviera-sunglasses .vv-faq-grid { display: grid; gap: 54px; grid-template-columns: .78fr 1.22fr; }\n    #vv-riviera-sunglasses .vv-faq details { border-top: 1px solid var(--vv-line); }\n    #vv-riviera-sunglasses .vv-faq details:last-child { border-bottom: 1px solid var(--vv-line); }\n    #vv-riviera-sunglasses .vv-faq summary { cursor: pointer; font-weight: 800; list-style: none; padding: 19px 36px 19px 0; position: relative; }\n    #vv-riviera-sunglasses .vv-faq summary::-webkit-details-marker { display: none; }\n    #vv-riviera-sunglasses .vv-faq summary::after { content: \"+\"; font-size: 24px; font-weight: 400; position: absolute; right: 4px; top: 13px; }\n    #vv-riviera-sunglasses .vv-faq details[open] summary::after { content: \"−\"; }\n    #vv-riviera-sunglasses .vv-faq details p { color: #586168; padding: 0 36px 18px 0; }\n\n    @media (max-width: 840px) {\n      #vv-riviera-sunglasses .vv-video-rail { grid-auto-columns: minmax(240px, 68%); }\n      #vv-riviera-sunglasses .vv-hook-grid,\n      #vv-riviera-sunglasses .vv-editorial-grid,\n      #vv-riviera-sunglasses .vv-uv-grid,\n      #vv-riviera-sunglasses .vv-fit-grid,\n      #vv-riviera-sunglasses .vv-contents-grid,\n      #vv-riviera-sunglasses .vv-faq-grid { grid-template-columns: 1fr; }\n      #vv-riviera-sunglasses .vv-color-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n      #vv-riviera-sunglasses .vv-colors-head { align-items: start; flex-direction: column; }\n    }\n    @media (max-width: 560px) {\n      #vv-riviera-sunglasses .vv-shell { width: min(100% - 28px, 1180px); }\n      #vv-riviera-sunglasses .vv-video-stage { padding: 46px 0 40px; }\n      #vv-riviera-sunglasses .vv-video-head { align-items: start; flex-direction: column; }\n      #vv-riviera-sunglasses .vv-video-nav { align-self: flex-end; }\n      #vv-riviera-sunglasses .vv-video-rail { grid-auto-columns: 82%; }\n      #vv-riviera-sunglasses .vv-hook,\n      #vv-riviera-sunglasses .vv-editorial,\n      #vv-riviera-sunglasses .vv-colors,\n      #vv-riviera-sunglasses .vv-uv,\n      #vv-riviera-sunglasses .vv-fit,\n      #vv-riviera-sunglasses .vv-contents,\n      #vv-riviera-sunglasses .vv-faq { padding-bottom: 52px; padding-top: 52px; }\n      #vv-riviera-sunglasses .vv-stat-grid { grid-template-columns: 1fr; }\n      #vv-riviera-sunglasses .vv-stat { min-height: 0; }\n      #vv-riviera-sunglasses .vv-color-name { font-size: 14px; }\n    }\n    @media (prefers-reduced-motion: reduce) {\n      #vv-riviera-sunglasses .vv-video-rail { scroll-behavior: auto; }\n      #vv-riviera-sunglasses .vv-icon-button { transition: none; }\n    }\n  \u003c\/style\u003e\n\n  \u003csection class=\"vv-video-stage\" aria-labelledby=\"vv-motion-title\"\u003e\n    \u003cdiv class=\"vv-shell\"\u003e\n      \u003cdiv class=\"vv-video-head\"\u003e\n        \u003cdiv\u003e\n          \u003cp class=\"vv-kicker\"\u003eSeen in motion\u003c\/p\u003e\n          \u003ch2 id=\"vv-motion-title\"\u003eFive looks. One statement frame.\u003c\/h2\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"vv-video-nav\" aria-label=\"Video carousel controls\"\u003e\n          \u003cbutton class=\"vv-icon-button\" type=\"button\" data-vv-prev aria-label=\"Previous video\" title=\"Previous video\"\u003e‹\u003c\/button\u003e\n          \u003cbutton class=\"vv-icon-button\" type=\"button\" data-vv-next aria-label=\"Next video\" title=\"Next video\"\u003e›\u003c\/button\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003col class=\"vv-video-rail\" data-vv-rail aria-label=\"Product videos\"\u003e\n        \u003cli class=\"vv-video-card\" aria-current=\"true\"\u003e\n          \u003cvideo controls muted playsinline preload=\"metadata\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/related-video-01-poster.jpg?v=1784356465\"\u003e\u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/vp\/89c3e4f443314438b830a70f5260d034\/89c3e4f443314438b830a70f5260d034.SD-480p-0.9Mbps-89255895.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n          \u003cdiv class=\"vv-video-meta\"\u003e\n\u003cstrong\u003eMirror finish\u003c\/strong\u003e\u003cspan\u003eLook 01\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003c\/li\u003e\n        \u003cli class=\"vv-video-card\"\u003e\n          \u003cvideo controls muted playsinline preload=\"metadata\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/related-video-02-poster.jpg?v=1784356465\"\u003e\u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/vp\/d18c4f2f76dd45e78f4cbe43fdf27e6a\/d18c4f2f76dd45e78f4cbe43fdf27e6a.SD-480p-0.9Mbps-89255896.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n          \u003cdiv class=\"vv-video-meta\"\u003e\n\u003cstrong\u003eIn real light\u003c\/strong\u003e\u003cspan\u003eLook 02\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003c\/li\u003e\n        \u003cli class=\"vv-video-card\"\u003e\n          \u003cvideo controls muted playsinline preload=\"metadata\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/related-video-03-poster.jpg?v=1784356465\"\u003e\u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/vp\/97be9e0ff93f458c84dd1fbf9c008943\/97be9e0ff93f458c84dd1fbf9c008943.SD-480p-0.9Mbps-89255897.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n          \u003cdiv class=\"vv-video-meta\"\u003e\n\u003cstrong\u003eEveryday styling\u003c\/strong\u003e\u003cspan\u003eLook 03\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003c\/li\u003e\n        \u003cli class=\"vv-video-card\"\u003e\n          \u003cvideo controls muted playsinline preload=\"metadata\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/related-video-04-poster.jpg?v=1784356465\"\u003e\u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/vp\/165fd0b630434a1da56f1b5835600f88\/165fd0b630434a1da56f1b5835600f88.SD-480p-0.9Mbps-89255898.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n          \u003cdiv class=\"vv-video-meta\"\u003e\n\u003cstrong\u003eUnisex attitude\u003c\/strong\u003e\u003cspan\u003eLook 04\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003c\/li\u003e\n        \u003cli class=\"vv-video-card\"\u003e\n          \u003cvideo controls muted playsinline preload=\"metadata\" poster=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/related-video-05-poster.jpg?v=1784356465\"\u003e\u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/vp\/f2bbe6e8eb824885a9a59f0ef1d3756b\/f2bbe6e8eb824885a9a59f0ef1d3756b.SD-480p-0.9Mbps-89255899.mp4\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\n          \u003cdiv class=\"vv-video-meta\"\u003e\n\u003cstrong\u003eClose-up view\u003c\/strong\u003e\u003cspan\u003eLook 05\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003c\/li\u003e\n      \u003c\/ol\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"vv-hook\" aria-label=\"Product hook\"\u003e\n    \u003cdiv class=\"vv-shell vv-hook-grid\"\u003e\n      \u003ch2\u003eOne frame.\u003cbr\u003eInstant polish.\u003c\/h2\u003e\n      \u003cul class=\"vv-hook-list\"\u003e\n        \u003cli\u003eBold flat-top silhouette\u003c\/li\u003e\n        \u003cli\u003eUV400 lens protection\u003c\/li\u003e\n        \u003cli\u003eLightweight 0.99 oz feel\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"vv-editorial\" aria-labelledby=\"vv-editorial-title\"\u003e\n    \u003cdiv class=\"vv-shell vv-editorial-grid\"\u003e\n      \u003cdiv class=\"vv-image-frame\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/05-vevolora-tortoise-angle.jpg?v=1784356465\" alt=\"Vevolora flat-top tortoise sunglasses in a three-quarter view\" loading=\"lazy\" width=\"1350\" height=\"1800\"\u003e\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cp class=\"vv-kicker\"\u003eVevolora Riviera\u003c\/p\u003e\n        \u003ch2 id=\"vv-editorial-title\"\u003eThe finishing touch that does the most.\u003c\/h2\u003e\n        \u003cp class=\"vv-lede\"\u003eA strong brow line, mirrored tint, and light PC frame turn an easy outfit into a deliberate look, from road trips to rooftop afternoons.\u003c\/p\u003e\n        \u003cdiv class=\"vv-feature-list\"\u003e\n          \u003cdiv class=\"vv-feature\"\u003e\n\u003ch3\u003eStatement shape\u003c\/h3\u003e\n\u003cp\u003eThe crisp flat top adds structure while the open one-piece lens profile keeps the look modern.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"vv-feature\"\u003e\n\u003ch3\u003eBuilt for bright days\u003c\/h3\u003e\n\u003cp\u003eUV400 lenses help shield your eyes from UVA and UVB rays during everyday outdoor wear.\u003c\/p\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"vv-feature\"\u003e\n\u003ch3\u003eEasy all-day feel\u003c\/h3\u003e\n\u003cp\u003eLightweight PC construction keeps the oversized silhouette comfortable without a heavy frame feel.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"vv-colors\" aria-labelledby=\"vv-colors-title\"\u003e\n    \u003cdiv class=\"vv-shell\"\u003e\n      \u003cdiv class=\"vv-colors-head\"\u003e\n        \u003cdiv\u003e\n\u003cp class=\"vv-kicker\"\u003eFour original colorways\u003c\/p\u003e\n\u003ch2 id=\"vv-colors-title\"\u003ePick your energy.\u003c\/h2\u003e\n\u003c\/div\u003e\n        \u003cp\u003eEvery source color is preserved and shown with its own product image. Select the matching color above before adding to cart.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"vv-color-grid\"\u003e\n        \u003carticle class=\"vv-color-item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/01-vevolora-multicolor1.jpg?v=1784356465\" alt=\"Multicolor1 tortoise frame with soft mirrored lenses\" loading=\"lazy\" width=\"1350\" height=\"1800\"\u003e\u003cdiv class=\"vv-color-name\"\u003e\n\u003cspan class=\"vv-swatch vv-swatch-one\"\u003e\u003c\/span\u003eMulticolor1\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"vv-color-item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/02-vevolora-multicolor2.jpg?v=1784356465\" alt=\"Multicolor2 white and red frame with mirrored lenses\" loading=\"lazy\" width=\"1350\" height=\"1800\"\u003e\u003cdiv class=\"vv-color-name\"\u003e\n\u003cspan class=\"vv-swatch vv-swatch-two\"\u003e\u003c\/span\u003eMulticolor2\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"vv-color-item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/03-vevolora-multicolor3.jpg?v=1784356465\" alt=\"Multicolor3 tortoise frame with amber mirrored lenses\" loading=\"lazy\" width=\"1350\" height=\"1800\"\u003e\u003cdiv class=\"vv-color-name\"\u003e\n\u003cspan class=\"vv-swatch vv-swatch-three\"\u003e\u003c\/span\u003eMulticolor3\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"vv-color-item\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/04-vevolora-blue.jpg?v=1784356465\" alt=\"Blue and red frame with amber mirrored lenses\" loading=\"lazy\" width=\"1350\" height=\"1800\"\u003e\u003cdiv class=\"vv-color-name\"\u003e\n\u003cspan class=\"vv-swatch vv-swatch-blue\"\u003e\u003c\/span\u003eBlue\u003c\/div\u003e\u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"vv-uv\" aria-labelledby=\"vv-uv-title\"\u003e\n    \u003cdiv class=\"vv-shell vv-uv-grid\"\u003e\n      \u003cdiv\u003e\n\u003cp class=\"vv-kicker\"\u003eProtection meets presence\u003c\/p\u003e\n\u003ch2 id=\"vv-uv-title\"\u003eUV400 for the days that run bright.\u003c\/h2\u003e\n\u003cp\u003eDesigned for outdoor style with high-definition tinted lenses that help reduce harsh brightness and glare.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"vv-stat-grid\"\u003e\n        \u003cdiv class=\"vv-stat\"\u003e\n\u003cstrong\u003eUV400\u003c\/strong\u003e\u003cspan\u003eLens protection rating listed by the source product.\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-stat\"\u003e\n\u003cstrong\u003e28 g\u003c\/strong\u003e\u003cspan\u003eApproximately 0.99 oz for a lightweight feel.\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-stat\"\u003e\n\u003cstrong\u003ePC\u003c\/strong\u003e\u003cspan\u003eDurable polycarbonate frame and lens material.\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"vv-stat\"\u003e\n\u003cstrong\u003eAll season\u003c\/strong\u003e\u003cspan\u003eMade for travel, errands, festivals, and daily outdoor wear.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"vv-fit\" aria-labelledby=\"vv-fit-title\"\u003e\n    \u003cdiv class=\"vv-shell vv-fit-grid\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0807\/4851\/1477\/files\/06-vevolora-fit-dimensions.jpg?v=1784356465\" alt=\"Vevolora flat-top sunglasses measurements\" loading=\"lazy\" width=\"1350\" height=\"1800\"\u003e\n      \u003cdiv\u003e\n        \u003cp class=\"vv-kicker\"\u003eOne-size fit guide\u003c\/p\u003e\n        \u003ch2 id=\"vv-fit-title\"\u003eKnow the fit before it lands.\u003c\/h2\u003e\n        \u003cp class=\"vv-lede\"\u003eThe wide flat-top profile is designed as a fashion fit across a range of face shapes. Compare the dimensions below with a pair you already love.\u003c\/p\u003e\n        \u003cdl class=\"vv-specs\"\u003e\n          \u003cdiv class=\"vv-spec-row\"\u003e\n\u003cdt\u003eOverall frame width\u003c\/dt\u003e\n\u003cdd\u003e5.7 in \/ 14.4 cm\u003c\/dd\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"vv-spec-row\"\u003e\n\u003cdt\u003eLens height\u003c\/dt\u003e\n\u003cdd\u003e1.9 in \/ 4.8 cm\u003c\/dd\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"vv-spec-row\"\u003e\n\u003cdt\u003eBridge width\u003c\/dt\u003e\n\u003cdd\u003e0.7 in \/ 1.8 cm\u003c\/dd\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"vv-spec-row\"\u003e\n\u003cdt\u003eTemple length\u003c\/dt\u003e\n\u003cdd\u003e5.5 in \/ 14 cm\u003c\/dd\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"vv-spec-row\"\u003e\n\u003cdt\u003eApproximate weight\u003c\/dt\u003e\n\u003cdd\u003e0.99 oz \/ 28 g\u003c\/dd\u003e\n\u003c\/div\u003e\n        \u003c\/dl\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"vv-contents\" aria-labelledby=\"vv-contents-title\"\u003e\n    \u003cdiv class=\"vv-shell vv-contents-grid\"\u003e\n      \u003cdiv\u003e\n\u003cp class=\"vv-kicker\"\u003eIn the package\u003c\/p\u003e\n\u003ch2 id=\"vv-contents-title\"\u003eExactly what arrives.\u003c\/h2\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cdiv class=\"vv-package-line\"\u003e\n\u003cstrong\u003eFlat-top UV400 sunglasses\u003c\/strong\u003e\u003cspan\u003eQuantity: 1\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"vv-note\"\u003eProtective case, pouch, and cleaning cloth are not listed as included by the source product.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"vv-faq\" aria-labelledby=\"vv-faq-title\"\u003e\n    \u003cdiv class=\"vv-shell vv-faq-grid\"\u003e\n      \u003cdiv\u003e\n\u003cp class=\"vv-kicker\"\u003eGood to know\u003c\/p\u003e\n\u003ch2 id=\"vv-faq-title\"\u003eCare and details.\u003c\/h2\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cdetails\u003e\u003csummary\u003eAre these prescription sunglasses?\u003c\/summary\u003e\u003cp\u003eNo. The source lists this style as non-optically worked fashion sunglasses.\u003c\/p\u003e\u003c\/details\u003e\n        \u003cdetails\u003e\u003csummary\u003eHow should I clean the mirrored lenses?\u003c\/summary\u003e\u003cp\u003eRinse away dust first, then use a clean microfiber cloth with gentle lens cleaner. Avoid paper towels, abrasive cleaners, and placing the lenses face down.\u003c\/p\u003e\u003c\/details\u003e\n        \u003cdetails\u003e\u003csummary\u003eWill the actual color look exactly like my screen?\u003c\/summary\u003e\u003cp\u003eLens reflections and frame color can shift slightly with lighting, camera angle, and display settings. Use the individual color images as the closest reference.\u003c\/p\u003e\u003c\/details\u003e\n        \u003cdetails\u003e\u003csummary\u003eIs the fit adjustable?\u003c\/summary\u003e\u003cp\u003eThe source does not list an adjustable frame. Check the measurements against a well-fitting pair before ordering.\u003c\/p\u003e\u003c\/details\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cscript\u003e\n    (() =\u003e {\n      const root = document.getElementById('vv-riviera-sunglasses');\n      if (!root || root.dataset.vvReady === 'true') return;\n      root.dataset.vvReady = 'true';\n      const rail = root.querySelector('[data-vv-rail]');\n      const cards = Array.from(root.querySelectorAll('.vv-video-card'));\n      const videos = cards.map((card) =\u003e card.querySelector('video'));\n      let activeIndex = 0;\n      let userInteracted = false;\n      let settleTimer;\n\n      const setActive = (index, play) =\u003e {\n        activeIndex = Math.max(0, Math.min(cards.length - 1, index));\n        cards.forEach((card, cardIndex) =\u003e card.setAttribute('aria-current', cardIndex === activeIndex ? 'true' : 'false'));\n        videos.forEach((video, videoIndex) =\u003e {\n          if (videoIndex !== activeIndex) video.pause();\n        });\n        if (play \u0026\u0026 userInteracted) videos[activeIndex].play().catch(() =\u003e {});\n      };\n\n      const goTo = (index) =\u003e {\n        const targetIndex = (index + cards.length) % cards.length;\n        setActive(targetIndex, false);\n        const targetLeft = cards[targetIndex].offsetLeft - cards[0].offsetLeft;\n        rail.scrollTo({ left: targetLeft, behavior: 'smooth' });\n        window.setTimeout(() =\u003e setActive(targetIndex, true), 420);\n      };\n\n      root.querySelector('[data-vv-prev]').addEventListener('click', () =\u003e { userInteracted = true; goTo(activeIndex - 1); });\n      root.querySelector('[data-vv-next]').addEventListener('click', () =\u003e { userInteracted = true; goTo(activeIndex + 1); });\n      rail.addEventListener('pointerdown', () =\u003e { userInteracted = true; }, { passive: true });\n      rail.addEventListener('scroll', () =\u003e {\n        window.clearTimeout(settleTimer);\n        settleTimer = window.setTimeout(() =\u003e {\n          const railLeft = rail.getBoundingClientRect().left;\n          let nearestIndex = 0;\n          let nearestDistance = Infinity;\n          cards.forEach((card, index) =\u003e {\n            const distance = Math.abs(card.getBoundingClientRect().left - railLeft);\n            if (distance \u003c nearestDistance) { nearestDistance = distance; nearestIndex = index; }\n          });\n          setActive(nearestIndex, true);\n        }, 140);\n      }, { passive: true });\n      videos.forEach((video, index) =\u003e video.addEventListener('play', () =\u003e { userInteracted = true; setActive(index, false); }));\n    })();\n  \u003c\/script\u003e\n\u003c\/div\u003e\n\n\u003c!-- VEVOLORA_CONTRAST_FIX_START 2026-07-18 --\u003e\n\u003cstyle data-vevolora-contrast-fix=\"2026-07-18\"\u003e\n  #vv-riviera-sunglasses :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-riviera-sunglasses :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-riviera-sunglasses .vv-contrast-bright,\n  #vv-riviera-sunglasses .vv-contrast-bright * {\n    color:#f8fbff !important;\n    -webkit-text-fill-color:#f8fbff !important;\n  }\n  #vv-riviera-sunglasses .vv-contrast-soft,\n  #vv-riviera-sunglasses .vv-contrast-soft * {\n    color:#dce8f4 !important;\n    -webkit-text-fill-color:#dce8f4 !important;\n  }\n  #vv-riviera-sunglasses .vv-contrast-accent,\n  #vv-riviera-sunglasses .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-riviera-sunglasses\");\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":"Multicolor1","offer_id":55770156171432,"sku":"VV-RIV-MC1-OS","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Multicolor2","offer_id":55770156204200,"sku":"VV-RIV-MC2-OS","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Multicolor3","offer_id":55770156236968,"sku":"VV-RIV-MC3-OS","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Blue","offer_id":55770156269736,"sku":"VV-RIV-BLU-OS","price":29.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0756\/0232\/9768\/files\/01-vevolora-multicolor1_a27f157b-916e-46b8-9dcd-d779ceb7c371.jpg?v=1784514339","url":"https:\/\/mimonera.shop\/products\/vevolora-riviera-flat-top-uv400-sunglasses","provider":"mimonera","version":"1.0","type":"link"}