{"title":"Home page","description":null,"products":[{"product_id":"cozyvibes™-relief-wrap","title":"CozyVibes™ Relief Wrap","description":"\u003csection class=\"cv-relief-wrap\"\u003e\n  \u003cstyle\u003e\n    .cv-relief-wrap {\n      --pink: #e96a9f;\n      --pink-dark: #b83e73;\n      --blush: #fff3f7;\n      --ink: #2b1c25;\n      --muted: #775d6a;\n      --card: rgba(255,255,255,.76);\n      font-family: inherit;\n      color: var(--ink);\n      overflow: hidden;\n      background:\n        radial-gradient(circle at 10% 8%, #ffd5e6 0, transparent 27%),\n        radial-gradient(circle at 92% 25%, #fbd3e2 0, transparent 25%),\n        linear-gradient(135deg, #fffafa 0%, #fff1f6 55%, #fefaff 100%);\n      border-radius: 24px;\n      padding: clamp(24px, 5vw, 72px) clamp(18px, 5vw, 70px);\n      position: relative;\n    }\n\n    .cv-relief-wrap * { box-sizing: border-box; }\n\n    .cv-container {\n      max-width: 1120px;\n      margin: auto;\n      position: relative;\n      z-index: 1;\n    }\n\n    .cv-eyebrow {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      color: var(--pink-dark);\n      background: #fff;\n      border: 1px solid #f8c5d8;\n      border-radius: 99px;\n      padding: 8px 14px;\n      font-weight: 700;\n      font-size: 12px;\n      letter-spacing: .08em;\n      text-transform: uppercase;\n      box-shadow: 0 8px 25px rgba(184, 62, 115, .08);\n    }\n\n    .cv-pulse {\n      width: 9px;\n      height: 9px;\n      border-radius: 50%;\n      background: var(--pink);\n      box-shadow: 0 0 0 0 rgba(233,106,159,.6);\n      animation: cv-pulse 2s infinite;\n    }\n\n    .cv-hero {\n      text-align: center;\n      max-width: 850px;\n      margin: 0 auto 58px;\n      animation: cv-rise .8s ease both;\n    }\n\n    .cv-hero h2 {\n      font-size: clamp(38px, 6vw, 72px);\n      line-height: .98;\n      letter-spacing: -.055em;\n      margin: 22px 0 20px;\n      font-weight: 800;\n    }\n\n    .cv-gradient-text {\n      background: linear-gradient(100deg, var(--pink-dark), var(--pink), #ef9abb);\n      -webkit-background-clip: text;\n      background-clip: text;\n      color: transparent;\n    }\n\n    .cv-hero p {\n      max-width: 670px;\n      margin: auto;\n      color: var(--muted);\n      font-size: clamp(16px, 2vw, 19px);\n      line-height: 1.65;\n    }\n\n    .cv-trust-row {\n      display: flex;\n      justify-content: center;\n      flex-wrap: wrap;\n      gap: 10px 22px;\n      margin-top: 28px;\n      font-size: 14px;\n      font-weight: 650;\n      color: #5d3d4c;\n    }\n\n    .cv-trust-row span { display: inline-flex; align-items: center; gap: 7px; }\n\n    .cv-benefits {\n      display: grid;\n      grid-template-columns: repeat(4, 1fr);\n      gap: 14px;\n      margin: 0 0 68px;\n    }\n\n    .cv-benefit {\n      background: var(--card);\n      border: 1px solid rgba(233,106,159,.17);\n      padding: 25px 20px;\n      border-radius: 18px;\n      text-align: center;\n      box-shadow: 0 15px 45px rgba(109, 44, 75, .07);\n      transition: transform .35s ease, box-shadow .35s ease;\n      animation: cv-rise .7s ease both;\n    }\n\n    .cv-benefit:nth-child(2) { animation-delay: .08s; }\n    .cv-benefit:nth-child(3) { animation-delay: .16s; }\n    .cv-benefit:nth-child(4) { animation-delay: .24s; }\n\n    .cv-benefit:hover {\n      transform: translateY(-7px);\n      box-shadow: 0 22px 50px rgba(184, 62, 115, .16);\n    }\n\n    .cv-icon {\n      display: grid;\n      place-items: center;\n      width: 52px;\n      height: 52px;\n      border-radius: 16px;\n      margin: 0 auto 15px;\n      font-size: 26px;\n      background: linear-gradient(145deg, #ffe9f1, #fff);\n    }\n\n    .cv-benefit strong { display: block; font-size: 15px; margin-bottom: 7px; }\n    .cv-benefit p { color: var(--muted); font-size: 13px; line-height: 1.5; margin: 0; }\n\n    .cv-story {\n      display: grid;\n      grid-template-columns: 1fr 1.05fr;\n      align-items: center;\n      gap: clamp(28px, 6vw, 80px);\n      margin: 0 0 75px;\n    }\n\n    .cv-visual {\n      position: relative;\n      min-height: 420px;\n      border-radius: 28px;\n      background: linear-gradient(145deg, #f8a8c5, #d94d87 65%, #b72f69);\n      overflow: hidden;\n      box-shadow: 0 30px 60px rgba(174, 40, 98, .28);\n    }\n\n    .cv-visual::before,\n    .cv-visual::after {\n      content: \"\";\n      position: absolute;\n      border-radius: 50%;\n      background: rgba(255,255,255,.18);\n      filter: blur(2px);\n    }\n\n    .cv-visual::before { width: 340px; height: 340px; top: -120px; left: -90px; }\n    .cv-visual::after { width: 270px; height: 270px; right: -100px; bottom: -110px; }\n\n    .cv-wrap-demo {\n      position: absolute;\n      left: 50%;\n      top: 49%;\n      transform: translate(-50%, -50%) rotate(-8deg);\n      width: 75%;\n      height: 170px;\n      border-radius: 80px;\n      background: linear-gradient(135deg, #fff6f9, #f8c4d6 65%, #ef8bae);\n      box-shadow: 0 20px 35px rgba(92, 13, 48, .26), inset 0 2px 6px rgba(255,255,255,.9);\n      animation: cv-float 4s ease-in-out infinite;\n    }\n\n    .cv-wrap-demo::before {\n      content: \"CozyVibes™\";\n      position: absolute;\n      left: 50%;\n      top: 50%;\n      transform: translate(-50%, -50%);\n      color: var(--pink-dark);\n      font-weight: 800;\n      letter-spacing: -.04em;\n      font-size: clamp(22px, 3vw, 34px);\n      white-space: nowrap;\n    }\n\n    .cv-heat {\n      position: absolute;\n      left: 50%;\n      top: 50%;\n      width: 96px;\n      height: 96px;\n      border-radius: 50%;\n      transform: translate(-50%, -50%);\n      background: rgba(255, 109, 154, .45);\n      filter: blur(18px);\n      animation: cv-glow 2.5s ease-in-out infinite;\n    }\n\n    .cv-story-content h3,\n    .cv-heat-content h3 {\n      font-size: clamp(30px, 4vw, 49px);\n      line-height: 1.04;\n      letter-spacing: -.045em;\n      margin: 0 0 20px;\n    }\n\n    .cv-story-content \u003e p,\n    .cv-heat-content \u003e p {\n      color: var(--muted);\n      font-size: 16px;\n      line-height: 1.7;\n      margin-bottom: 25px;\n    }\n\n    .cv-checks { display: grid; gap: 13px; }\n\n    .cv-check {\n      display: flex;\n      align-items: flex-start;\n      gap: 11px;\n      font-size: 15px;\n      font-weight: 600;\n    }\n\n    .cv-check b {\n      display: grid;\n      place-items: center;\n      flex: 0 0 23px;\n      height: 23px;\n      border-radius: 50%;\n      color: white;\n      background: linear-gradient(135deg, var(--pink), var(--pink-dark));\n      font-size: 13px;\n    }\n\n    .cv-heat-section {\n      border-radius: 28px;\n      padding: clamp(28px, 5vw, 60px);\n      background: #2b1722;\n      color: white;\n      position: relative;\n      overflow: hidden;\n      margin-bottom: 70px;\n    }\n\n    .cv-heat-section::before {\n      content: \"\";\n      position: absolute;\n      width: 600px;\n      height: 600px;\n      right: -250px;\n      top: -300px;\n      border-radius: 50%;\n      background: radial-gradient(circle, rgba(239,116,161,.48), transparent 68%);\n    }\n\n    .cv-heat-grid {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      align-items: center;\n      gap: 45px;\n      position: relative;\n      z-index: 1;\n    }\n\n    .cv-heat-content \u003e p { color: #decbd3; }\n\n    .cv-levels { display: grid; gap: 12px; }\n\n    .cv-level {\n      display: grid;\n      grid-template-columns: 42px 1fr;\n      gap: 14px;\n      align-items: center;\n      padding: 16px;\n      border: 1px solid rgba(255,255,255,.14);\n      background: rgba(255,255,255,.07);\n      border-radius: 14px;\n      transition: background .3s ease, transform .3s ease;\n    }\n\n    .cv-level:hover { background: rgba(255,255,255,.13); transform: translateX(6px); }\n\n    .cv-level-number {\n      display: grid;\n      place-items: center;\n      width: 42px;\n      height: 42px;\n      border-radius: 12px;\n      background: linear-gradient(135deg, #ffb0cf, #dc4e89);\n      font-weight: 800;\n    }\n\n    .cv-level strong { display: block; font-size: 15px; }\n    .cv-level span { color: #d9bfc9; font-size: 13px; }\n\n    .cv-specs {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 14px;\n      margin-bottom: 65px;\n    }\n\n    .cv-spec {\n      padding: 23px 18px;\n      border-radius: 18px;\n      border: 1px solid #f5d3e1;\n      background: #fff;\n    }\n\n    .cv-spec span { display: block; font-size: 25px; margin-bottom: 9px; }\n    .cv-spec strong { font-size: 14px; display: block; }\n    .cv-spec p { margin: 6px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }\n\n    .cv-cta {\n      text-align: center;\n      padding: clamp(34px, 6vw, 72px) 20px;\n      background: linear-gradient(135deg, #ffe8f0, #fbc3d8);\n      border-radius: 28px;\n    }\n\n    .cv-cta h3 {\n      font-size: clamp(31px, 5vw, 56px);\n      line-height: 1.02;\n      letter-spacing: -.05em;\n      margin: 0 0 14px;\n    }\n\n    .cv-cta p {\n      color: #704458;\n      font-size: 16px;\n      max-width: 580px;\n      line-height: 1.65;\n      margin: 0 auto 27px;\n    }\n\n    .cv-button {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      gap: 10px;\n      padding: 17px 27px;\n      color: #fff !important;\n      text-decoration: none !important;\n      font-size: 16px;\n      font-weight: 800;\n      border-radius: 99px;\n      background: linear-gradient(135deg, var(--pink), var(--pink-dark));\n      box-shadow: 0 14px 28px rgba(184,62,115,.28);\n      transition: transform .25s ease, box-shadow .25s ease;\n    }\n\n    .cv-button:hover {\n      transform: translateY(-3px) scale(1.02);\n      box-shadow: 0 20px 35px rgba(184,62,115,.36);\n    }\n\n    .cv-small-print {\n      margin-top: 17px;\n      font-size: 12px;\n      color: #81566a;\n    }\n\n    @keyframes cv-pulse {\n      70% { box-shadow: 0 0 0 8px rgba(233,106,159,0); }\n      100% { box-shadow: 0 0 0 0 rgba(233,106,159,0); }\n    }\n\n    @keyframes cv-rise {\n      from { opacity: 0; transform: translateY(20px); }\n      to { opacity: 1; transform: translateY(0); }\n    }\n\n    @keyframes cv-float {\n      0%, 100% { transform: translate(-50%, -50%) rotate(-8deg) translateY(0); }\n      50% { transform: translate(-50%, -50%) rotate(-8deg) translateY(-13px); }\n    }\n\n    @keyframes cv-glow {\n      0%, 100% { opacity: .4; transform: translate(-50%, -50%) scale(.85); }\n      50% { opacity: 1; transform: translate(-50%, -50%) scale(1.25); }\n    }\n\n    @media (max-width: 760px) {\n      .cv-benefits { grid-template-columns: repeat(2, 1fr); }\n      .cv-story, .cv-heat-grid { grid-template-columns: 1fr; }\n      .cv-visual { min-height: 320px; order: 2; }\n      .cv-specs { grid-template-columns: repeat(2, 1fr); }\n    }\n\n    @media (max-width: 420px) {\n      .cv-benefits, .cv-specs { grid-template-columns: 1fr; }\n      .cv-benefit { padding: 20px; }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n      .cv-relief-wrap *, .cv-relief-wrap *::before, .cv-relief-wrap *::after {\n        animation-duration: .01ms !important;\n        animation-iteration-count: 1 !important;\n        transition-duration: .01ms !important;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"cv-container\"\u003e\n    \u003cdiv class=\"cv-hero\"\u003e\n      \u003cdiv class=\"cv-eyebrow\"\u003e\n\u003cspan class=\"cv-pulse\"\u003e\u003c\/span\u003e Comfort, on your terms\u003c\/div\u003e\n      \u003ch2\u003eFinally. Real relief.\u003cbr\u003e\u003cspan class=\"cv-gradient-text\"\u003eRight where you need it.\u003c\/span\u003e\n\u003c\/h2\u003e\n      \u003cp\u003eCozyVibes™ Relief Wrap delivers gentle, targeted warmth to your lower abdomen and back—so cramps and tension don’t get to decide how your day goes.\u003c\/p\u003e\n\n      \u003cdiv class=\"cv-trust-row\"\u003e\n        \u003cspan\u003e✓ Wireless comfort\u003c\/span\u003e\n        \u003cspan\u003e✓ Adjustable fit\u003c\/span\u003e\n        \u003cspan\u003e✓ 3 heat settings\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"cv-benefits\"\u003e\n      \u003cdiv class=\"cv-benefit\"\u003e\n        \u003cdiv class=\"cv-icon\"\u003e✨\u003c\/div\u003e\n        \u003cstrong\u003eSoothing warmth\u003c\/strong\u003e\n        \u003cp\u003eComforting heat when you need a moment to reset.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"cv-benefit\"\u003e\n        \u003cdiv class=\"cv-icon\"\u003e♡\u003c\/div\u003e\n        \u003cstrong\u003eMade to move with you\u003c\/strong\u003e\n        \u003cp\u003eGo from couch to coffee run without cords holding you back.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"cv-benefit\"\u003e\n        \u003cdiv class=\"cv-icon\"\u003e🌸\u003c\/div\u003e\n        \u003cstrong\u003eComfort that feels personal\u003c\/strong\u003e\n        \u003cp\u003eChoose the heat level that feels best for your body.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"cv-benefit\"\u003e\n        \u003cdiv class=\"cv-icon\"\u003e⚡\u003c\/div\u003e\n        \u003cstrong\u003eSimple, instant ease\u003c\/strong\u003e\n        \u003cp\u003eWrap, switch on, breathe out, and take your day back.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"cv-story\"\u003e\n      \u003cdiv class=\"cv-visual\"\u003e\n        \u003cdiv class=\"cv-heat\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"cv-wrap-demo\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"cv-story-content\"\u003e\n        \u003cdiv class=\"cv-eyebrow\"\u003eA warm hug, whenever\u003c\/div\u003e\n        \u003ch3\u003eMore comfort.\u003cbr\u003e\u003cspan class=\"cv-gradient-text\"\u003eMore you.\u003c\/span\u003e\n\u003c\/h3\u003e\n        \u003cp\u003ePeriod discomfort can make everything feel harder. The CozyVibes™ Relief Wrap brings soft, wearable warmth directly to the areas that need it—helping you create a little calm in the middle of a busy day.\u003c\/p\u003e\n\n        \u003cdiv class=\"cv-checks\"\u003e\n          \u003cdiv class=\"cv-check\"\u003e\n\u003cb\u003e✓\u003c\/b\u003e\u003cspan\u003eDesigned to support a cozy, relaxed feeling during cramps and muscle tension.\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"cv-check\"\u003e\n\u003cb\u003e✓\u003c\/b\u003e\u003cspan\u003eWear it while working, resting, travelling, or getting things done at home.\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"cv-check\"\u003e\n\u003cb\u003e✓\u003c\/b\u003e\u003cspan\u003eSoft, skin-friendly material made for close-to-body comfort.\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"cv-heat-section\"\u003e\n      \u003cdiv class=\"cv-heat-grid\"\u003e\n        \u003cdiv class=\"cv-heat-content\"\u003e\n          \u003cdiv class=\"cv-eyebrow\"\u003eYour warmth. Your way.\u003c\/div\u003e\n          \u003ch3\u003eThree levels of cozy.\u003c\/h3\u003e\n          \u003cp\u003eChoose a gentle touch or turn up the comfort. With a simple LED display, your preferred warmth is always just a tap away.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"cv-levels\"\u003e\n          \u003cdiv class=\"cv-level\"\u003e\n            \u003cdiv class=\"cv-level-number\"\u003e1\u003c\/div\u003e\n            \u003cdiv\u003e\n\u003cstrong\u003eGentle Warmth\u003c\/strong\u003e\u003cspan\u003eFor everyday comfort and light cramps.\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"cv-level\"\u003e\n            \u003cdiv class=\"cv-level-number\"\u003e2\u003c\/div\u003e\n            \u003cdiv\u003e\n\u003cstrong\u003eTherapeutic Heat\u003c\/strong\u003e\u003cspan\u003eFor a deeper, more comforting warmth.\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"cv-level\"\u003e\n            \u003cdiv class=\"cv-level-number\"\u003e3\u003c\/div\u003e\n            \u003cdiv\u003e\n\u003cstrong\u003eIntense Relief\u003c\/strong\u003e\u003cspan\u003eFor the moments you need extra coziness.\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"cv-specs\"\u003e\n      \u003cdiv class=\"cv-spec\"\u003e\n\u003cspan\u003e🔋\u003c\/span\u003e\u003cstrong\u003eWireless \u0026amp; rechargeable\u003c\/strong\u003e\u003cp\u003eUSB charging included for easy, cable-free comfort.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"cv-spec\"\u003e\n\u003cspan\u003e〰️\u003c\/span\u003e\u003cstrong\u003eFlexible adjustable belt\u003c\/strong\u003e\u003cp\u003eComfortably fits waists from 60–110 cm.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"cv-spec\"\u003e\n\u003cspan\u003e✦\u003c\/span\u003e\u003cstrong\u003eEasy LED controls\u003c\/strong\u003e\u003cp\u003eClearly select your preferred heat level.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"cv-spec\"\u003e\n\u003cspan\u003e🛡️\u003c\/span\u003e\u003cstrong\u003eAuto shut-off\u003c\/strong\u003e\u003cp\u003eBuilt-in safety support for added peace of mind.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"cv-spec\"\u003e\n\u003cspan\u003e☁️\u003c\/span\u003e\u003cstrong\u003eSoft \u0026amp; skin-friendly\u003c\/strong\u003e\u003cp\u003eComfortable against your body, every time.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"cv-spec\"\u003e\n\u003cspan\u003e🪶\u003c\/span\u003e\u003cstrong\u003eLightweight design\u003c\/strong\u003e\u003cp\u003eApproximately 350g—easy to wear and take anywhere.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"cv-cta\"\u003e\n      \u003ch3\u003eYour comfort is \u003cspan class=\"cv-gradient-text\"\u003enot a luxury.\u003c\/span\u003e\n\u003c\/h3\u003e\n      \u003cp\u003eGive yourself the cozy support you deserve. CozyVibes™ Relief Wrap is ready whenever your body asks for a little more care.\u003c\/p\u003e\n\n      \u003c!-- Change #add-to-cart to your product button or product URL if needed --\u003e\n      \u003ca class=\"cv-button\" href=\"#add-to-cart\"\u003eGet My CozyVibes™ Relief Wrap \u003cspan\u003e→\u003c\/span\u003e\u003c\/a\u003e\n      \u003cdiv class=\"cv-small-print\"\u003eA beautiful little ritual for the days you need it most.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e","brand":"My Store","offers":[{"title":"Default Title","offer_id":46804117029025,"sku":null,"price":0.0,"currency_code":"ZAR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0744\/5433\/5649\/files\/cozyvibes-hero-shot-with-box.png?v=1785662845"}],"url":"https:\/\/cozyvibes.co.za\/collections\/frontpage.oembed","provider":"My Store","version":"1.0","type":"link"}