{"product_id":"selfvue","title":"SELFVUE - Wireless Selfie Screen","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n\/* =========================\n   SELFVUE — 3D PRODUCT SECTION\n   ========================= *\/\n\n.sv3d-wrap {\n  max-width: 760px;\n  margin: 0 auto;\n  font-family: inherit;\n  color: #111;\n  perspective: 1200px;\n}\n\n\/* HERO *\/\n.sv3d-hero {\n  position: relative;\n  overflow: hidden;\n  padding: 30px 24px;\n  border: 1px solid #e5e5e5;\n  border-radius: 22px;\n  background:\n    radial-gradient(circle at 85% 15%, rgba(0,0,0,.055), transparent 28%),\n    linear-gradient(145deg, #fff, #fafafa);\n  box-shadow:\n    0 15px 45px rgba(0,0,0,.06),\n    inset 0 1px 0 rgba(255,255,255,.9);\n  transform-style: preserve-3d;\n  transition:\n    transform .45s cubic-bezier(.2,.8,.2,1),\n    box-shadow .45s ease;\n  animation: svHeroFloat 5s ease-in-out infinite;\n}\n\n\/* subtle 3D light *\/\n.sv3d-hero::before {\n  content: \"\";\n  position: absolute;\n  width: 180px;\n  height: 180px;\n  right: -70px;\n  top: -80px;\n  border-radius: 50%;\n  background: rgba(0,0,0,.035);\n  filter: blur(3px);\n  transform: translateZ(30px);\n  pointer-events: none;\n}\n\n.sv3d-hero::after {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: -120%;\n  width: 70%;\n  height: 100%;\n  background: linear-gradient(\n    100deg,\n    transparent,\n    rgba(255,255,255,.65),\n    transparent\n  );\n  transform: skewX(-20deg);\n  animation: svShine 5.5s ease-in-out infinite;\n  pointer-events: none;\n}\n\n\/* Badge *\/\n.sv3d-badge {\n  position: relative;\n  z-index: 2;\n  display: inline-flex;\n  align-items: center;\n  gap: 7px;\n  padding: 6px 10px;\n  border: 1px solid #ddd;\n  border-radius: 999px;\n  background: rgba(255,255,255,.75);\n  backdrop-filter: blur(8px);\n  font-size: 9px;\n  font-weight: 800;\n  letter-spacing: .75px;\n  text-transform: uppercase;\n  color: #555;\n  margin-bottom: 14px;\n  box-shadow: 0 5px 15px rgba(0,0,0,.04);\n  transform: translateZ(35px);\n}\n\n.sv3d-dot {\n  width: 6px;\n  height: 6px;\n  border-radius: 50%;\n  background: #111;\n  box-shadow: 0 0 0 4px rgba(0,0,0,.07);\n  animation: svPulse 2s ease-in-out infinite;\n}\n\n\/* Heading *\/\n.sv3d-title {\n  position: relative;\n  z-index: 2;\n  margin: 0 0 9px;\n  font-size: 30px;\n  line-height: 1.08;\n  letter-spacing: -1.4px;\n  font-weight: 850;\n  transform: translateZ(45px);\n}\n\n.sv3d-title span {\n  display: inline-block;\n  color: #777;\n  transition: transform .4s ease;\n}\n\n.sv3d-hero:hover .sv3d-title span {\n  transform: translateX(5px);\n}\n\n.sv3d-description {\n  position: relative;\n  z-index: 2;\n  margin: 0;\n  max-width: 620px;\n  font-size: 13.5px;\n  line-height: 1.6;\n  color: #666;\n  transform: translateZ(30px);\n}\n\n\n\/* =========================\n   FEATURE CARDS\n   ========================= *\/\n\n.sv3d-features {\n  margin-top: 11px;\n  display: flex;\n  flex-direction: column;\n  gap: 9px;\n}\n\n.sv3d-feature {\n  position: relative;\n  display: flex;\n  align-items: center;\n  gap: 13px;\n  padding: 12px 15px;\n  border: 1px solid #e7e7e7;\n  border-radius: 15px;\n  background: linear-gradient(145deg,#fff,#f8f8f8);\n  box-shadow:\n    0 7px 20px rgba(0,0,0,.035),\n    inset 0 1px 0 #fff;\n  overflow: hidden;\n  transform-style: preserve-3d;\n  transition:\n    transform .35s cubic-bezier(.2,.8,.2,1),\n    box-shadow .35s ease,\n    border-color .35s ease;\n}\n\n\/* moving light *\/\n.sv3d-feature::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(\n    110deg,\n    transparent 25%,\n    rgba(255,255,255,.85) 50%,\n    transparent 75%\n  );\n  transform: translateX(-120%);\n  transition: transform .7s ease;\n}\n\n.sv3d-feature:hover::before {\n  transform: translateX(120%);\n}\n\n.sv3d-feature:hover {\n  transform:\n    translateY(-4px)\n    rotateX(2deg)\n    rotateY(-2deg)\n    translateZ(8px);\n  box-shadow:\n    0 15px 30px rgba(0,0,0,.09),\n    0 3px 8px rgba(0,0,0,.04);\n  border-color: #d5d5d5;\n}\n\n\/* stagger entrance *\/\n.sv3d-feature:nth-child(1) {\n  animation: svCardIn .7s .05s both;\n}\n.sv3d-feature:nth-child(2) {\n  animation: svCardIn .7s .15s both;\n}\n.sv3d-feature:nth-child(3) {\n  animation: svCardIn .7s .25s both;\n}\n.sv3d-feature:nth-child(4) {\n  animation: svCardIn .7s .35s both;\n}\n\n\/* Icon *\/\n.sv3d-icon {\n  position: relative;\n  z-index: 2;\n  width: 35px;\n  height: 35px;\n  min-width: 35px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 10px;\n  background: #111;\n  color: #fff;\n  box-shadow:\n    0 5px 12px rgba(0,0,0,.18),\n    inset 0 1px 0 rgba(255,255,255,.15);\n  transform:\n    translateZ(22px)\n    rotate(-2deg);\n  transition:\n    transform .35s cubic-bezier(.2,.8,.2,1),\n    box-shadow .35s ease;\n}\n\n.sv3d-feature:hover .sv3d-icon {\n  transform:\n    translateZ(32px)\n    rotate(0deg)\n    scale(1.08);\n  box-shadow:\n    0 9px 20px rgba(0,0,0,.25);\n}\n\n.sv3d-icon svg {\n  width: 17px;\n  height: 17px;\n  transition: transform .3s ease;\n}\n\n.sv3d-feature:hover .sv3d-icon svg {\n  transform: scale(1.12);\n}\n\n.sv3d-feature-content {\n  position: relative;\n  z-index: 2;\n  transform: translateZ(15px);\n}\n\n.sv3d-feature-title {\n  font-size: 13px;\n  font-weight: 800;\n  line-height: 1.2;\n}\n\n.sv3d-feature-text {\n  margin-top: 2px;\n  font-size: 11px;\n  line-height: 1.35;\n  color: #777;\n}\n\n\n\/* =========================\n   CTA\n   ========================= *\/\n\n.sv3d-cta {\n  position: relative;\n  overflow: hidden;\n  margin-top: 11px;\n  padding: 14px 17px;\n  border-radius: 16px;\n  background: #111;\n  color: #fff;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  box-shadow:\n    0 12px 25px rgba(0,0,0,.14),\n    inset 0 1px 0 rgba(255,255,255,.1);\n  transform-style: preserve-3d;\n  transition:\n    transform .35s ease,\n    box-shadow .35s ease;\n  animation: svCtaFloat 4s ease-in-out infinite;\n}\n\n.sv3d-cta:hover {\n  transform:\n    translateY(-3px)\n    rotateX(2deg)\n    translateZ(8px);\n  box-shadow:\n    0 18px 35px rgba(0,0,0,.22);\n}\n\n.sv3d-cta::before {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: -100%;\n  width: 55%;\n  height: 100%;\n  background: linear-gradient(\n    100deg,\n    transparent,\n    rgba(255,255,255,.18),\n    transparent\n  );\n  transform: skewX(-20deg);\n  animation: svCtaShine 4s ease-in-out infinite;\n}\n\n.sv3d-cta-content {\n  position: relative;\n  z-index: 2;\n  transform: translateZ(20px);\n}\n\n.sv3d-cta-title {\n  font-size: 12.5px;\n  font-weight: 800;\n}\n\n.sv3d-cta-sub {\n  margin-top: 2px;\n  font-size: 10.5px;\n  color: #aaa;\n}\n\n.sv3d-arrow {\n  position: relative;\n  z-index: 2;\n  display: flex;\n  transform: translateZ(25px);\n  transition: transform .3s ease;\n}\n\n.sv3d-cta:hover .sv3d-arrow {\n  transform: translateZ(30px) translateX(4px);\n}\n\n\n\/* =========================\n   ANIMATIONS\n   ========================= *\/\n\n@keyframes svHeroFloat {\n  0%,100% {\n    transform: translateY(0px) rotateX(0deg);\n  }\n  50% {\n    transform: translateY(-3px) rotateX(.5deg);\n  }\n}\n\n@keyframes svCardIn {\n  from {\n    opacity: 0;\n    transform:\n      translateY(15px)\n      rotateX(8deg);\n  }\n  to {\n    opacity: 1;\n    transform:\n      translateY(0)\n      rotateX(0);\n  }\n}\n\n@keyframes svShine {\n  0%,55% {\n    left: -120%;\n  }\n  75% {\n    left: 140%;\n  }\n  100% {\n    left: 140%;\n  }\n}\n\n@keyframes svCtaShine {\n  0%,55% {\n    left: -100%;\n  }\n  75% {\n    left: 140%;\n  }\n  100% {\n    left: 140%;\n  }\n}\n\n@keyframes svPulse {\n  0%,100% {\n    transform: scale(1);\n    opacity: 1;\n  }\n  50% {\n    transform: scale(1.35);\n    opacity: .7;\n  }\n}\n\n@keyframes svCtaFloat {\n  0%,100% {\n    transform: translateY(0);\n  }\n  50% {\n    transform: translateY(-2px);\n  }\n}\n\n\n\/* Mobile *\/\n@media (max-width: 600px) {\n\n  .sv3d-wrap {\n    width: 100%;\n  }\n\n  .sv3d-hero {\n    padding: 25px 19px;\n    border-radius: 19px;\n  }\n\n  .sv3d-title {\n    font-size: 27px;\n    letter-spacing: -1.2px;\n  }\n\n  .sv3d-description {\n    font-size: 13px;\n  }\n\n  .sv3d-feature {\n    padding: 11px 13px;\n    gap: 11px;\n  }\n\n  .sv3d-icon {\n    width: 33px;\n    height: 33px;\n    min-width: 33px;\n  }\n\n  .sv3d-feature-title {\n    font-size: 12.5px;\n  }\n\n  .sv3d-feature-text {\n    font-size: 10.5px;\n  }\n}\n\n\/* Respect reduced motion *\/\n@media (prefers-reduced-motion: reduce) {\n  .sv3d-hero,\n  .sv3d-feature,\n  .sv3d-cta,\n  .sv3d-dot,\n  .sv3d-hero::after,\n  .sv3d-cta::before {\n    animation: none !important;\n    transition: none !important;\n  }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"sv3d-wrap\"\u003e\n\u003c!-- HERO --\u003e\n\u003cdiv class=\"sv3d-hero\"\u003e\n\u003cdiv class=\"sv3d-badge\"\u003e\n\u003cspan class=\"sv3d-dot\"\u003e\u003c\/span\u003e Magnetic Camera Mirror\u003c\/div\u003e\n\u003ch2 class=\"sv3d-title\"\u003eYour best camera.\u003cbr\u003e\u003cspan\u003eNow you can see it.\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"sv3d-description\"\u003eSELFVUE™ lets you see yourself while using your phone's rear camera — so you can frame every selfie and video with confidence.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- FEATURES --\u003e\n\u003cdiv class=\"sv3d-features\"\u003e\n\u003c!-- 1 --\u003e\n\u003cdiv class=\"sv3d-feature\"\u003e\n\u003cdiv class=\"sv3d-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n          \u003crect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"3\"\u003e\u003c\/rect\u003e\n          \u003ccircle cx=\"12\" cy=\"12\" r=\"3\"\u003e\u003c\/circle\u003e\n          \u003cpath d=\"M8 5l1.2-2h5.6L16 5\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"sv3d-feature-content\"\u003e\n\u003cdiv class=\"sv3d-feature-title\"\u003eBetter Camera\u003c\/div\u003e\n\u003cdiv class=\"sv3d-feature-text\"\u003eUse your rear camera for sharper shots.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 2 --\u003e\n\u003cdiv class=\"sv3d-feature\"\u003e\n\u003cdiv class=\"sv3d-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n          \u003cpath d=\"M5 12h14\"\u003e\u003c\/path\u003e\n          \u003cpath d=\"M12 5l7 7-7 7\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"sv3d-feature-content\"\u003e\n\u003cdiv class=\"sv3d-feature-title\"\u003eMagnetic Fit\u003c\/div\u003e\n\u003cdiv class=\"sv3d-feature-text\"\u003eAttaches instantly and stays in place.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 3 --\u003e\n\u003cdiv class=\"sv3d-feature\"\u003e\n\u003cdiv class=\"sv3d-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n          \u003crect x=\"4\" y=\"3\" width=\"16\" height=\"18\" rx=\"3\"\u003e\u003c\/rect\u003e\n          \u003cpath d=\"M8 8h8M8 12h5\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"sv3d-feature-content\"\u003e\n\u003cdiv class=\"sv3d-feature-title\"\u003ePerfect Framing\u003c\/div\u003e\n\u003cdiv class=\"sv3d-feature-text\"\u003eSee yourself before you snap or record.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 4 --\u003e\n\u003cdiv class=\"sv3d-feature\"\u003e\n\u003cdiv class=\"sv3d-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n          \u003cpath d=\"M12 3l2 5 5 2-5 2-2 5-2-5-5-2 5-2 2-5z\"\u003e\u003c\/path\u003e\n        \u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"sv3d-feature-content\"\u003e\n\u003cdiv class=\"sv3d-feature-title\"\u003eSlim \u0026amp; Portable\u003c\/div\u003e\n\u003cdiv class=\"sv3d-feature-text\"\u003eCompact enough to take anywhere.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CTA --\u003e\n\u003cdiv class=\"sv3d-cta\"\u003e\n\u003cdiv class=\"sv3d-cta-content\"\u003e\n\u003cdiv class=\"sv3d-cta-title\"\u003eStop guessing your shot.\u003c\/div\u003e\n\u003cdiv class=\"sv3d-cta-sub\"\u003eSee it. Frame it. Capture it.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sv3d-arrow\"\u003e\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\n        \u003cpath d=\"M5 12h14\"\u003e\u003c\/path\u003e\n        \u003cpath d=\"M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\n      \u003c\/svg\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e```\u003c\/p\u003e","brand":"SELFVUE","offers":[{"title":"GREY \/ 4 Inches","offer_id":56141283885378,"sku":null,"price":59.0,"currency_code":"USD","in_stock":true},{"title":"GREY \/ 5 Inches PRO","offer_id":56147904528706,"sku":null,"price":79.0,"currency_code":"USD","in_stock":true},{"title":"WHITE \/ 4 Inches","offer_id":56141283918146,"sku":null,"price":59.0,"currency_code":"USD","in_stock":true},{"title":"WHITE \/ 5 Inches PRO","offer_id":56147904561474,"sku":null,"price":79.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1033\/2959\/5714\/files\/ChatGPT_Image_Sep_11_2026_10_01_28_PM.png?v=1789146344","url":"https:\/\/selfvue.co\/products\/selfvue","provider":"SELFVUE","version":"1.0","type":"link"}