{"title":"Winter Wear","description":"\u003cp\u003eStay warm without sacrificing style. Our Winter Wear collection brings together SoftHaven™'s best wearable comfort pieces — from ultra-soft thermal leggings to cozy blanket hoodies, fluffy slippers and cloud-like socks. Designed for South African winters, built for all-day comfort.\u003c\/p\u003e","products":[{"product_id":"softhaven™-the-cloud-sock","title":"SoftHaven™ The Cloud Sock","description":"\u003cstyle\u003e\n    .sfhc-section {\n      --rust: #d4806a;\n      --rust-dark: #bd6b57;\n      --cream: #faf0eb;\n      --peach: #f2c4b0;\n      --charcoal: #2c2c2c;\n      --grey: #5c5c5c;\n\n      --accent: #d4806a;\n      --accent-dark: #bd6b57;\n      --accent-rgb: 212, 128, 106;\n      --bg-one: #faf0eb;\n      --bg-two: #f2c4b0;\n      --sock-one: #ffd3df;\n      --sock-two: #b9a3d8;\n      --cuff-one: #fff8fb;\n      --cuff-two: #eeeeee;\n\n      width: 100%;\n      position: relative;\n      overflow: hidden;\n      padding: 64px 18px;\n      border-radius: 32px;\n      background:\n        radial-gradient(circle at 8% 10%, rgba(var(--accent-rgb), 0.22), transparent 32%),\n        radial-gradient(circle at 92% 4%, rgba(255,255,255,0.82), transparent 28%),\n        linear-gradient(135deg, var(--bg-one), var(--bg-two));\n      color: var(--charcoal);\n      font-family: inherit;\n      transition: background 0.45s ease;\n    }\n\n    .sfhc-section * {\n      box-sizing: border-box;\n      max-width: 100%;\n    }\n\n    .sfhc-wrap {\n      max-width: 1180px;\n      margin: 0 auto;\n      width: 100%;\n    }\n\n    .sfhc-hero {\n      display: grid;\n      grid-template-columns: 1.05fr 0.95fr;\n      gap: 44px;\n      align-items: center;\n    }\n\n    .sfhc-badge {\n      display: inline-flex;\n      padding: 10px 15px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.72);\n      border: 1px solid rgba(255,255,255,0.86);\n      font-size: 14px;\n      font-weight: 800;\n      margin-bottom: 18px;\n    }\n\n    .sfhc-title {\n      margin: 0 0 14px;\n      font-size: clamp(38px, 6vw, 74px);\n      line-height: 0.96;\n      letter-spacing: -2px;\n      font-weight: 950;\n      color: var(--charcoal);\n    }\n\n    .sfhc-title span {\n      display: block;\n      color: var(--accent);\n      transition: color 0.35s ease;\n    }\n\n    .sfhc-subtitle {\n      font-size: clamp(20px, 2.4vw, 28px);\n      font-weight: 900;\n      margin-bottom: 16px;\n    }\n\n    .sfhc-text {\n      color: var(--grey);\n      font-size: 17px;\n      line-height: 1.75;\n      margin: 0 0 24px;\n    }\n\n    .sfhc-actions {\n      display: flex;\n      flex-wrap: wrap;\n      align-items: center;\n      gap: 14px;\n    }\n\n    .sfhc-btn {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      min-height: 52px;\n      padding: 16px 28px;\n      border-radius: 999px;\n      border: none;\n      background: var(--accent);\n      color: #fff;\n      font-size: 16px;\n      font-weight: 950;\n      cursor: pointer;\n      text-decoration: none;\n      box-shadow: 0 18px 38px rgba(var(--accent-rgb), 0.34);\n      transition: 0.22s ease;\n    }\n\n    .sfhc-btn:hover {\n      transform: translateY(-2px);\n      background: var(--accent-dark);\n    }\n\n    .sfhc-note {\n      color: var(--grey);\n      font-size: 14px;\n      font-weight: 700;\n      line-height: 1.45;\n    }\n\n    .sfhc-trust-row {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 9px;\n      margin-top: 22px;\n    }\n\n    .sfhc-trust-row span {\n      padding: 9px 12px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.66);\n      border: 1px solid rgba(255,255,255,0.82);\n      font-size: 13px;\n      font-weight: 800;\n    }\n\n    .sfhc-product-card {\n      width: 100%;\n      max-width: 520px;\n      justify-self: end;\n      padding: 24px;\n      border-radius: 34px;\n      background: rgba(255,255,255,0.68);\n      border: 1px solid rgba(255,255,255,0.88);\n      box-shadow: 0 32px 80px rgba(112,67,54,0.18);\n      backdrop-filter: blur(16px);\n    }\n\n    .sfhc-visual {\n      position: relative;\n      width: 100%;\n      min-height: 360px;\n      border-radius: 28px;\n      overflow: hidden;\n      background:\n        radial-gradient(circle at 50% 18%, rgba(255,255,255,0.94), transparent 30%),\n        linear-gradient(145deg, rgba(255,255,255,0.72), rgba(var(--accent-rgb), 0.32));\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      transition: background 0.45s ease;\n    }\n\n    .sfhc-socks {\n      position: relative;\n      width: 330px;\n      height: 245px;\n      animation: sfhcBreathe 4.5s ease-in-out infinite;\n      filter: drop-shadow(0 28px 45px rgba(112,67,54,0.26));\n    }\n\n    .sfhc-sock {\n      position: absolute;\n      width: 92px;\n      height: 215px;\n      border-radius: 42px 42px 35px 35px;\n      background:\n        radial-gradient(circle at 35% 22%, rgba(255,255,255,0.32), transparent 25%),\n        linear-gradient(160deg, var(--sock-one-local, var(--sock-one)), var(--sock-two-local, var(--sock-two)));\n      box-shadow:\n        inset 0 0 22px rgba(255,255,255,0.18),\n        0 20px 40px rgba(112,67,54,0.16);\n      transition: background 0.4s ease, transform 0.4s ease;\n    }\n\n    .sfhc-sock.left {\n      left: 56px;\n      top: 22px;\n      transform: rotate(-12deg);\n      opacity: 0.95;\n    }\n\n    .sfhc-sock.middle {\n      left: 50%;\n      top: 3px;\n      transform: translateX(-50%);\n      z-index: 2;\n    }\n\n    .sfhc-sock.right {\n      right: 56px;\n      top: 22px;\n      transform: rotate(12deg);\n      opacity: 0.95;\n    }\n\n    .sfhc-sock::before {\n      content: \"\";\n      position: absolute;\n      top: -4px;\n      left: 7px;\n      right: 7px;\n      height: 54px;\n      border-radius: 30px 30px 22px 22px;\n      background:\n        radial-gradient(circle at 30% 30%, rgba(255,255,255,0.9), transparent 28%),\n        linear-gradient(145deg, var(--cuff-one-local, var(--cuff-one)), var(--cuff-two-local, var(--cuff-two)));\n      box-shadow: inset 0 -8px 16px rgba(112,67,54,0.08);\n      transition: background 0.4s ease;\n    }\n\n    .sfhc-sock::after {\n      content: \"\";\n      position: absolute;\n      bottom: 10px;\n      left: 13px;\n      right: 13px;\n      height: 12px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.28);\n    }\n\n    .sfhc-grip {\n      position: absolute;\n      left: 50%;\n      bottom: 34px;\n      width: 54px;\n      height: 8px;\n      transform: translateX(-50%);\n      border-radius: 999px;\n      background: rgba(44,44,44,0.18);\n      box-shadow:\n        0 15px 0 rgba(44,44,44,0.12),\n        0 30px 0 rgba(44,44,44,0.09);\n    }\n\n    .sfhc-fluff {\n      position: absolute;\n      width: 16px;\n      height: 16px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.78);\n      filter: blur(1px);\n      animation: sfhcFluff 5s ease-in-out infinite;\n    }\n\n    .sfhc-fluff.f1 { left: 24%; top: 21%; animation-delay: 0s; }\n    .sfhc-fluff.f2 { left: 50%; top: 12%; animation-delay: 1s; }\n    .sfhc-fluff.f3 { right: 24%; top: 21%; animation-delay: 2s; }\n\n    .sfhc-warmth {\n      position: absolute;\n      bottom: 34px;\n      width: 14px;\n      height: 82px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.55);\n      filter: blur(8px);\n      pointer-events: none;\n      animation: sfhcSteam 4.5s ease-in-out infinite;\n    }\n\n    .sfhc-warmth.one { left: 23%; animation-delay: 0s; }\n    .sfhc-warmth.two { left: 50%; animation-delay: 1s; }\n    .sfhc-warmth.three { right: 23%; animation-delay: 2s; }\n\n    .sfhc-colour-title {\n      margin-top: 18px;\n      text-align: center;\n      font-size: 15px;\n      font-weight: 900;\n    }\n\n    .sfhc-colours {\n      display: flex;\n      justify-content: center;\n      gap: 11px;\n      margin-top: 13px;\n      flex-wrap: wrap;\n    }\n\n    .sfhc-colour {\n      width: 42px;\n      height: 42px;\n      border-radius: 999px;\n      border: 3px solid #fff;\n      box-shadow: 0 8px 18px rgba(44,44,44,0.15);\n      cursor: pointer;\n      transition: 0.2s ease;\n      appearance: none;\n      padding: 0;\n    }\n\n    .sfhc-colour.is-active {\n      box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.24), 0 8px 18px rgba(44,44,44,0.14);\n      transform: scale(1.08);\n    }\n\n    .sfhc-pink { background: #f5a9bd; }\n    .sfhc-lavender { background: #b9a3d8; }\n    .sfhc-grey { background: #9b9b9b; }\n    .sfhc-pack { background: linear-gradient(135deg, #f5a9bd 0%, #f5a9bd 33%, #b9a3d8 33%, #b9a3d8 66%, #9b9b9b 66%, #9b9b9b 100%); }\n\n    .sfhc-selected {\n      text-align: center;\n      margin-top: 12px;\n      color: var(--grey);\n      font-size: 14px;\n      font-weight: 800;\n    }\n\n    .sfhc-heading {\n      max-width: 760px;\n      margin: 58px auto 24px;\n      text-align: center;\n    }\n\n    .sfhc-heading h2 {\n      margin: 0 0 10px;\n      font-size: clamp(28px, 4vw, 42px);\n      line-height: 1.08;\n      font-weight: 950;\n    }\n\n    .sfhc-heading p {\n      margin: 0;\n      color: var(--grey);\n      font-size: 16px;\n      line-height: 1.65;\n    }\n\n    .sfhc-benefits {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 18px;\n    }\n\n    .sfhc-benefit {\n      position: relative;\n      overflow: hidden;\n      padding: 24px;\n      border-radius: 26px;\n      background: rgba(255,255,255,0.68);\n      border: 1px solid rgba(255,255,255,0.86);\n      box-shadow: 0 18px 42px rgba(112,67,54,0.11);\n      cursor: pointer;\n      min-height: 188px;\n      transition: transform 0.22s ease, box-shadow 0.22s ease;\n    }\n\n    .sfhc-benefit:hover,\n    .sfhc-benefit.is-tapped {\n      transform: translateY(-5px) scale(1.01);\n      box-shadow: 0 25px 55px rgba(112,67,54,0.17);\n    }\n\n    .sfhc-icon {\n      width: 50px;\n      height: 50px;\n      border-radius: 17px;\n      background: var(--accent);\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: #fff;\n      font-size: 23px;\n      margin-bottom: 16px;\n      transition: background 0.35s ease;\n    }\n\n    .sfhc-benefit h3 {\n      margin: 0 0 8px;\n      font-size: 18px;\n      font-weight: 950;\n    }\n\n    .sfhc-benefit p {\n      margin: 0;\n      color: var(--grey);\n      font-size: 15px;\n      line-height: 1.6;\n    }\n\n    .sfhc-effect-layer {\n      position: absolute;\n      inset: 0;\n      pointer-events: none;\n      overflow: hidden;\n    }\n\n    .sfhc-particle {\n      position: absolute;\n      left: var(--x);\n      bottom: 14px;\n      font-size: var(--size);\n      opacity: 0;\n      animation: sfhcParticle 1.15s ease-out forwards;\n    }\n\n    .sfhc-particle.steam {\n      width: 14px;\n      height: 54px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.74);\n      filter: blur(7px);\n    }\n\n    .sfhc-split {\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 18px;\n      margin-top: 28px;\n    }\n\n    .sfhc-panel,\n    .sfhc-size-guide {\n      padding: 30px;\n      border-radius: 30px;\n      background: rgba(255,255,255,0.66);\n      border: 1px solid rgba(255,255,255,0.86);\n      box-shadow: 0 22px 55px rgba(112,67,54,0.12);\n    }\n\n    .sfhc-panel h3,\n    .sfhc-size-guide h3 {\n      margin: 0 0 16px;\n      font-size: 24px;\n      font-weight: 950;\n    }\n\n    .sfhc-size-guide {\n      margin-top: 28px;\n    }\n\n    .sfhc-size-guide p {\n      margin: 0 0 18px;\n      color: var(--grey);\n      font-size: 15px;\n      line-height: 1.55;\n      font-weight: 700;\n    }\n\n    .sfhc-list {\n      display: grid;\n      gap: 13px;\n      margin: 0;\n      padding: 0;\n      list-style: none;\n    }\n\n    .sfhc-list li {\n      display: flex;\n      gap: 10px;\n      align-items: flex-start;\n      color: var(--grey);\n      font-size: 15px;\n      line-height: 1.55;\n      font-weight: 650;\n    }\n\n    .sfhc-list strong {\n      color: var(--charcoal);\n    }\n\n    .sfhc-check {\n      flex: 0 0 auto;\n      width: 24px;\n      height: 24px;\n      border-radius: 999px;\n      background: var(--accent);\n      color: #fff;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 13px;\n      font-weight: 950;\n      margin-top: 1px;\n      transition: background 0.35s ease;\n    }\n\n    .sfhc-included-grid {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 12px;\n      margin-top: 16px;\n    }\n\n    .sfhc-included-item {\n      padding: 18px;\n      border-radius: 22px;\n      background: rgba(255,255,255,0.62);\n      border: 1px solid rgba(255,255,255,0.85);\n      text-align: center;\n      font-weight: 900;\n      color: var(--charcoal);\n      box-shadow: 0 12px 28px rgba(112,67,54,0.08);\n      cursor: pointer;\n      appearance: none;\n      transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;\n    }\n\n    .sfhc-included-item:hover,\n    .sfhc-included-item.is-active {\n      transform: translateY(-4px);\n      background: rgba(255,255,255,0.78);\n      box-shadow: 0 18px 38px rgba(var(--accent-rgb),0.18);\n    }\n\n    .sfhc-included-item span {\n      display: block;\n      font-size: 28px;\n      margin-bottom: 8px;\n    }\n\n    .sfhc-story {\n      margin-top: 34px;\n      padding: 36px;\n      border-radius: 34px;\n      background: rgba(255,255,255,0.7);\n      border: 1px solid rgba(255,255,255,0.88);\n      box-shadow: 0 26px 68px rgba(112,67,54,0.14);\n      text-align: center;\n    }\n\n    .sfhc-story h2 {\n      margin: 0 0 12px;\n      font-size: clamp(27px, 4vw, 42px);\n      font-weight: 950;\n    }\n\n    .sfhc-story p {\n      max-width: 820px;\n      margin: 0 auto 22px;\n      color: var(--grey);\n      font-size: 17px;\n      line-height: 1.75;\n    }\n\n    @keyframes sfhcBreathe {\n      0%, 100% { transform: scale(1); }\n      50% { transform: scale(1.025); }\n    }\n\n    @keyframes sfhcSteam {\n      0% { opacity: 0; transform: translateY(20px) scaleX(1); }\n      35% { opacity: 0.62; }\n      100% { opacity: 0; transform: translateY(-115px) scaleX(2.2); }\n    }\n\n    @keyframes sfhcFluff {\n      0%, 100% { transform: translateY(0) scale(1); opacity: 0.7; }\n      50% { transform: translateY(-12px) scale(1.2); opacity: 1; }\n    }\n\n    @keyframes sfhcParticle {\n      0% { opacity: 0; transform: translateY(20px) scale(0.8); }\n      18% { opacity: 1; }\n      100% { opacity: 0; transform: translateY(-105px) scale(1.35); }\n    }\n\n    @media (max-width: 990px) {\n      .sfhc-hero {\n        grid-template-columns: 1fr;\n      }\n\n      .sfhc-product-card {\n        justify-self: center;\n        max-width: 620px;\n      }\n\n      .sfhc-benefits {\n        grid-template-columns: repeat(2, 1fr);\n      }\n    }\n\n    @media (max-width: 700px) {\n      .sfhc-section {\n        padding: 44px 14px;\n        border-radius: 24px;\n      }\n\n      .sfhc-title {\n        font-size: clamp(36px, 11vw, 48px);\n        letter-spacing: -1.3px;\n      }\n\n      .sfhc-text {\n        font-size: 15.5px;\n      }\n\n      .sfhc-actions {\n        align-items: stretch;\n      }\n\n      .sfhc-btn {\n        width: 100%;\n        padding: 15px 18px;\n      }\n\n      .sfhc-product-card {\n        padding: 18px;\n        border-radius: 28px;\n      }\n\n      .sfhc-visual {\n        min-height: 320px;\n        border-radius: 24px;\n      }\n\n      .sfhc-socks {\n        width: 270px;\n        height: 220px;\n      }\n\n      .sfhc-sock {\n        width: 76px;\n        height: 195px;\n      }\n\n      .sfhc-sock.left {\n        left: 44px;\n      }\n\n      .sfhc-sock.right {\n        right: 44px;\n      }\n\n      .sfhc-benefits,\n      .sfhc-split,\n      .sfhc-included-grid {\n        grid-template-columns: 1fr;\n      }\n\n      .sfhc-benefit {\n        min-height: auto;\n        padding: 20px;\n      }\n\n      .sfhc-panel,\n      .sfhc-story,\n      .sfhc-size-guide {\n        padding: 24px 18px;\n      }\n    }\n  \u003c\/style\u003e\n\u003csection class=\"sfhc-section\" id=\"sfhc-cloud-sock\"\u003e\n\u003cdiv class=\"sfhc-wrap\"\u003e\n\u003cdiv class=\"sfhc-hero\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"sfhc-badge\"\u003e🇿🇦 3 cosy pairs for cold SA winters\u003c\/div\u003e\n\u003ch1 class=\"sfhc-title\"\u003eSoftHaven™ \u003cspan\u003eThe Cloud Sock\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cdiv class=\"sfhc-subtitle\"\u003eCold Feet Are a Thing of the Past. ☁️\u003c\/div\u003e\n\u003cp class=\"sfhc-text\"\u003eYou know that freezing-floor feeling on a winter morning? The Cloud Sock was made to fix exactly that. Slip them on and feel instant warmth, fluffy softness and cosy comfort — like walking on warm clouds all day long.\u003c\/p\u003e\n\u003cdiv class=\"sfhc-actions\"\u003e\n\u003cbutton type=\"button\" class=\"sfhc-btn\" data-sfhc-scroll=\"\"\u003e Get My 3-Pack Cloud Socks \u003c\/button\u003e\n\u003cdiv class=\"sfhc-note\"\u003e3 pairs per pack · Pink, Lavender \u0026amp; Grey · One size fits most · Machine washable\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-trust-row\"\u003e\n\u003cspan\u003e☁️ Warm cloud feel\u003c\/span\u003e \u003cspan\u003e🔥 Thick fleece lining\u003c\/span\u003e \u003cspan\u003e🚶♀️ Non-slip grip\u003c\/span\u003e \u003cspan\u003e🧺 Machine washable\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-product-card\"\u003e\n\u003cdiv class=\"sfhc-visual\"\u003e\n\u003cspan class=\"sfhc-warmth one\"\u003e\u003c\/span\u003e \u003cspan class=\"sfhc-warmth two\"\u003e\u003c\/span\u003e \u003cspan class=\"sfhc-warmth three\"\u003e\u003c\/span\u003e \u003cspan class=\"sfhc-fluff f1\"\u003e\u003c\/span\u003e \u003cspan class=\"sfhc-fluff f2\"\u003e\u003c\/span\u003e \u003cspan class=\"sfhc-fluff f3\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"sfhc-socks\"\u003e\n\u003cdiv class=\"sfhc-sock left\"\u003e\n\u003cspan class=\"sfhc-grip\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-sock middle\"\u003e\n\u003cspan class=\"sfhc-grip\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-sock right\"\u003e\n\u003cspan class=\"sfhc-grip\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-colour-title\"\u003eTap a colour to preview the vibe\u003c\/div\u003e\n\u003cdiv class=\"sfhc-colours\"\u003e\n\u003cbutton type=\"button\" class=\"sfhc-colour sfhc-pack\" data-colour=\"pack\" aria-label=\"3 Pack\"\u003e\u003c\/button\u003e \u003cbutton type=\"button\" class=\"sfhc-colour sfhc-pink\" data-colour=\"pink\" aria-label=\"Pink\"\u003e\u003c\/button\u003e \u003cbutton type=\"button\" class=\"sfhc-colour sfhc-lavender\" data-colour=\"lavender\" aria-label=\"Lavender\"\u003e\u003c\/button\u003e \u003cbutton type=\"button\" class=\"sfhc-colour sfhc-grey\" data-colour=\"grey\" aria-label=\"Grey\"\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-selected\" data-selected-text=\"\"\u003eSelected vibe: 3-Pack Mix\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-heading\"\u003e\n\u003ch2\u003eTap a Benefit to Feel the Effect\u003c\/h2\u003e\n\u003cp\u003eEach benefit is interactive, helping customers feel the warmth, grip and cloud-soft comfort.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefits\"\u003e\n\u003cdiv class=\"sfhc-benefit\" data-effect=\"steam\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e☁️\u003c\/div\u003e\n\u003ch3\u003eInstant Foot Warmth\u003c\/h3\u003e\n\u003cp\u003eThick fleece lining helps warm your feet from the first second you slip them on.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefit\" data-effect=\"cloud\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🦥\u003c\/div\u003e\n\u003ch3\u003eImpossibly Soft\u003c\/h3\u003e\n\u003cp\u003eThe fluffy fur cuff feels like a gentle hug around your ankle.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefit\" data-effect=\"comfort\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🤸\u003c\/div\u003e\n\u003ch3\u003eAll-Day Comfort\u003c\/h3\u003e\n\u003cp\u003eNo bunching, no slipping and no tight elastic cutting into your skin.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefit\" data-effect=\"grip\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🚶♀️\u003c\/div\u003e\n\u003ch3\u003eNon-Slip Grip\u003c\/h3\u003e\n\u003cp\u003eMove around the house with more confidence on tiles or wooden floors.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefit\" data-effect=\"pair\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🌟\u003c\/div\u003e\n\u003ch3\u003ePairs Perfectly\u003c\/h3\u003e\n\u003cp\u003eWear them with slippers, under blankets or on their own for cosy home comfort.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefit\" data-effect=\"winter\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🇿🇦\u003c\/div\u003e\n\u003ch3\u003eSA Winter Essential\u003c\/h3\u003e\n\u003cp\u003eWarm enough for cold Joburg, Cape Town and Bloemfontein winter nights.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-split\"\u003e\n\u003cdiv class=\"sfhc-panel\"\u003e\n\u003ch3\u003eWhy You’ll Love Them\u003c\/h3\u003e\n\u003cul class=\"sfhc-list\"\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eWarm feet fast:\u003c\/strong\u003e perfect for icy floors, cold mornings and chilly evenings.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eCloud-soft comfort:\u003c\/strong\u003e fluffy, cosy and gentle enough to wear for hours.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eBetter grip at home:\u003c\/strong\u003e non-slip grip helps you move around more confidently.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003e3 pairs included:\u003c\/strong\u003e more cosy options for lounging, sleeping and winter mornings.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-panel\"\u003e\n\u003ch3\u003ePerfect For\u003c\/h3\u003e\n\u003cul class=\"sfhc-list\"\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eCold floors\u003c\/strong\u003e when stepping out of bed feels like punishment.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eMovie nights\u003c\/strong\u003e under blankets with warm, happy feet.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eHome lounging\u003c\/strong\u003e while making coffee, studying, cleaning or relaxing.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eGifting\u003c\/strong\u003e for anyone who always complains about cold feet.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-size-guide\"\u003e\n\u003ch3\u003eWhat’s Included 🧶\u003c\/h3\u003e\n\u003cp\u003eEach pack includes 3 cosy pairs in Pink, Lavender and Grey. One size fits most, unisex and machine washable.\u003c\/p\u003e\n\u003cdiv class=\"sfhc-included-grid\"\u003e\n\u003cbutton type=\"button\" class=\"sfhc-included-item\" data-colour=\"pink\"\u003e \u003cspan\u003e🌸\u003c\/span\u003e Pink Pair \u003c\/button\u003e \u003cbutton type=\"button\" class=\"sfhc-included-item\" data-colour=\"lavender\"\u003e \u003cspan\u003e💜\u003c\/span\u003e Lavender Pair \u003c\/button\u003e \u003cbutton type=\"button\" class=\"sfhc-included-item\" data-colour=\"grey\"\u003e \u003cspan\u003e🪨\u003c\/span\u003e Grey Pair \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-story\"\u003e\n\u003ch2\u003eYour Winter Morning, Reimagined ☀️\u003c\/h2\u003e\n\u003cp\u003eIt is 6am. The alarm goes off. You dread putting your feet on that cold floor. But this time, you reach for The Cloud Sock first. Warm. Soft. Instant. You walk to the kitchen, make your coffee and your feet are still in heaven. That is the SoftHaven difference.\u003c\/p\u003e\n\u003cbutton type=\"button\" class=\"sfhc-btn\" data-sfhc-scroll=\"\"\u003e Warm Feet. Happy Life. ☁️ \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n    (function () {\n      var script = document.currentScript;\n      var section = script ? script.closest(\".sfhc-section\") : document.getElementById(\"sfhc-cloud-sock\");\n      if (!section) return;\n\n      var selectedText = section.querySelector(\"[data-selected-text]\");\n      var socks = section.querySelectorAll(\".sfhc-sock\");\n\n      var colourData = {\n        pack: {\n          name: \"3-Pack Mix\",\n          accent: \"#d4806a\",\n          accentDark: \"#bd6b57\",\n          accentRgb: \"212, 128, 106\",\n          bgOne: \"#faf0eb\",\n          bgTwo: \"#f2c4b0\",\n          sockOne: \"#ffd3df\",\n          sockTwo: \"#b9a3d8\",\n          cuffOne: \"#fff8fb\",\n          cuffTwo: \"#eeeeee\"\n        },\n        pink: {\n          name: \"Pink Pair\",\n          accent: \"#d97896\",\n          accentDark: \"#be5f7d\",\n          accentRgb: \"217, 120, 150\",\n          bgOne: \"#fff3f6\",\n          bgTwo: \"#f5b5c7\",\n          sockOne: \"#ffd3df\",\n          sockTwo: \"#f5a9bd\",\n          cuffOne: \"#fff8fb\",\n          cuffTwo: \"#ffd9e5\"\n        },\n        lavender: {\n          name: \"Lavender Pair\",\n          accent: \"#9b7cc7\",\n          accentDark: \"#765aa1\",\n          accentRgb: \"155, 124, 199\",\n          bgOne: \"#f7f1ff\",\n          bgTwo: \"#d7c3f1\",\n          sockOne: \"#cdb6eb\",\n          sockTwo: \"#9271c1\",\n          cuffOne: \"#fff7ff\",\n          cuffTwo: \"#e2d0f5\"\n        },\n        grey: {\n          name: \"Grey Pair\",\n          accent: \"#8f8f8f\",\n          accentDark: \"#5c5c5c\",\n          accentRgb: \"143, 143, 143\",\n          bgOne: \"#fafafa\",\n          bgTwo: \"#d6d6d6\",\n          sockOne: \"#b8b8b8\",\n          sockTwo: \"#6f6f6f\",\n          cuffOne: \"#ffffff\",\n          cuffTwo: \"#dddddd\"\n        }\n      };\n\n      function paintSock(sock, data) {\n        if (!sock || !data) return;\n        sock.style.setProperty(\"--sock-one-local\", data.sockOne);\n        sock.style.setProperty(\"--sock-two-local\", data.sockTwo);\n        sock.style.setProperty(\"--cuff-one-local\", data.cuffOne);\n        sock.style.setProperty(\"--cuff-two-local\", data.cuffTwo);\n      }\n\n      function setColour(colour) {\n        var data = colourData[colour];\n        if (!data) return;\n\n        section.style.setProperty(\"--accent\", data.accent);\n        section.style.setProperty(\"--accent-dark\", data.accentDark);\n        section.style.setProperty(\"--accent-rgb\", data.accentRgb);\n        section.style.setProperty(\"--bg-one\", data.bgOne);\n        section.style.setProperty(\"--bg-two\", data.bgTwo);\n        section.style.setProperty(\"--sock-one\", data.sockOne);\n        section.style.setProperty(\"--sock-two\", data.sockTwo);\n        section.style.setProperty(\"--cuff-one\", data.cuffOne);\n        section.style.setProperty(\"--cuff-two\", data.cuffTwo);\n\n        if (colour === \"pack\") {\n          paintSock(socks[0], colourData.pink);\n          paintSock(socks[1], colourData.lavender);\n          paintSock(socks[2], colourData.grey);\n        } else {\n          socks.forEach(function (sock) {\n            paintSock(sock, data);\n          });\n        }\n\n        section.querySelectorAll(\"[data-colour]\").forEach(function (btn) {\n          btn.classList.toggle(\"is-active\", btn.getAttribute(\"data-colour\") === colour);\n        });\n\n        if (selectedText) {\n          selectedText.textContent = \"Selected vibe: \" + data.name;\n        }\n      }\n\n      function createEffect(card, type) {\n        var layer = card.querySelector(\".sfhc-effect-layer\");\n        if (!layer) return;\n\n        layer.innerHTML = \"\";\n        card.classList.add(\"is-tapped\");\n\n        setTimeout(function () {\n          card.classList.remove(\"is-tapped\");\n        }, 450);\n\n        var symbols = {\n          steam: [\"\", \"\", \"\", \"\", \"\"],\n          cloud: [\"☁️\", \"♡\", \"☁️\", \"♡\", \"☁️\"],\n          comfort: [\"✨\", \"🦥\", \"♡\", \"✨\", \"🦥\"],\n          grip: [\"👣\", \"✓\", \"👣\", \"✨\", \"✓\"],\n          pair: [\"🌟\", \"🧦\", \"♡\", \"🌟\", \"🧦\"],\n          winter: [\"❄️\", \"🔥\", \"🇿🇦\", \"❄️\", \"🔥\"]\n        };\n\n        var selected = symbols[type] || [\"✨\", \"✨\", \"✨\"];\n\n        selected.forEach(function (symbol, index) {\n          var particle = document.createElement(\"span\");\n          particle.className = \"sfhc-particle\";\n\n          if (type === \"steam\") {\n            particle.classList.add(\"steam\");\n          } else {\n            particle.textContent = symbol;\n          }\n\n          particle.style.setProperty(\"--x\", 18 + index * 15 + \"%\");\n          particle.style.setProperty(\"--size\", 18 + index * 2 + \"px\");\n          particle.style.animationDelay = index * 0.08 + \"s\";\n\n          layer.appendChild(particle);\n        });\n\n        setTimeout(function () {\n          layer.innerHTML = \"\";\n        }, 1500);\n      }\n\n      section.addEventListener(\"click\", function (event) {\n        var colourButton = event.target.closest(\"[data-colour]\");\n        if (colourButton \u0026\u0026 section.contains(colourButton)) {\n          event.preventDefault();\n          setColour(colourButton.getAttribute(\"data-colour\"));\n          return;\n        }\n\n        var benefitCard = event.target.closest(\".sfhc-benefit\");\n        if (benefitCard \u0026\u0026 section.contains(benefitCard)) {\n          createEffect(benefitCard, benefitCard.getAttribute(\"data-effect\"));\n          return;\n        }\n\n        var scrollButton = event.target.closest(\"[data-sfhc-scroll]\");\n        if (scrollButton \u0026\u0026 section.contains(scrollButton)) {\n          var productForm =\n            document.querySelector(\".product-form\") ||\n            document.querySelector('form[action*=\"\/cart\/add\"]') ||\n            document.querySelector('[id*=\"ProductSubmitButton\"]');\n\n          if (productForm) {\n            productForm.scrollIntoView({\n              behavior: \"smooth\",\n              block: \"center\"\n            });\n          }\n        }\n      });\n\n      setColour(\"pack\");\n    })();\n  \u003c\/script\u003e\u003c\/section\u003e","brand":"SoftHaven","offers":[{"title":"Default Title","offer_id":46777764741257,"sku":null,"price":299.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0765\/3539\/8537\/files\/cloud-sock-no-bubble.png?v=1779284230"},{"product_id":"softhaven™-the-plush-step","title":"SoftHaven™ The Plush Step","description":"\u003cstyle\u003e\n    .sfhc-section {\n      --rust: #d4806a;\n      --rust-dark: #bd6b57;\n      --cream: #faf0eb;\n      --peach: #f2c4b0;\n      --charcoal: #2c2c2c;\n      --grey: #5c5c5c;\n\n      --accent: #c88a55;\n      --accent-dark: #9f6636;\n      --accent-rgb: 200, 138, 85;\n      --bg-one: #fff6ee;\n      --bg-two: #eec59d;\n      --slipper-one: #e7b47c;\n      --slipper-two: #b97942;\n      --fur-one: #fff2df;\n      --fur-two: #f3cfa5;\n\n      width: 100%;\n      position: relative;\n      overflow: hidden;\n      padding: 64px 18px;\n      border-radius: 32px;\n      background:\n        radial-gradient(circle at 8% 10%, rgba(var(--accent-rgb), 0.22), transparent 32%),\n        radial-gradient(circle at 92% 4%, rgba(255,255,255,0.82), transparent 28%),\n        linear-gradient(135deg, var(--bg-one), var(--bg-two));\n      color: var(--charcoal);\n      font-family: inherit;\n      transition: background 0.45s ease;\n    }\n\n    .sfhc-section * {\n      box-sizing: border-box;\n      max-width: 100%;\n    }\n\n    .sfhc-wrap {\n      max-width: 1180px;\n      margin: 0 auto;\n      width: 100%;\n    }\n\n    .sfhc-hero {\n      display: grid;\n      grid-template-columns: 1.05fr 0.95fr;\n      gap: 44px;\n      align-items: center;\n    }\n\n    .sfhc-badge {\n      display: inline-flex;\n      padding: 10px 15px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.72);\n      border: 1px solid rgba(255,255,255,0.86);\n      font-size: 14px;\n      font-weight: 800;\n      margin-bottom: 18px;\n    }\n\n    .sfhc-title {\n      margin: 0 0 14px;\n      font-size: clamp(38px, 6vw, 74px);\n      line-height: 0.96;\n      letter-spacing: -2px;\n      font-weight: 950;\n      color: var(--charcoal);\n    }\n\n    .sfhc-title span {\n      display: block;\n      color: var(--accent);\n      transition: color 0.35s ease;\n    }\n\n    .sfhc-subtitle {\n      font-size: clamp(20px, 2.4vw, 28px);\n      font-weight: 900;\n      margin-bottom: 16px;\n    }\n\n    .sfhc-text {\n      color: var(--grey);\n      font-size: 17px;\n      line-height: 1.75;\n      margin: 0 0 24px;\n    }\n\n    .sfhc-actions {\n      display: flex;\n      flex-wrap: wrap;\n      align-items: center;\n      gap: 14px;\n    }\n\n    .sfhc-btn {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      min-height: 52px;\n      padding: 16px 28px;\n      border-radius: 999px;\n      border: none;\n      background: var(--accent);\n      color: #fff;\n      font-size: 16px;\n      font-weight: 950;\n      cursor: pointer;\n      text-decoration: none;\n      box-shadow: 0 18px 38px rgba(var(--accent-rgb), 0.34);\n      transition: 0.22s ease;\n    }\n\n    .sfhc-btn:hover {\n      transform: translateY(-2px);\n      background: var(--accent-dark);\n    }\n\n    .sfhc-note {\n      color: var(--grey);\n      font-size: 14px;\n      font-weight: 700;\n      line-height: 1.45;\n    }\n\n    .sfhc-trust-row {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 9px;\n      margin-top: 22px;\n    }\n\n    .sfhc-trust-row span {\n      padding: 9px 12px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.66);\n      border: 1px solid rgba(255,255,255,0.82);\n      font-size: 13px;\n      font-weight: 800;\n    }\n\n    .sfhc-product-card {\n      width: 100%;\n      max-width: 520px;\n      justify-self: end;\n      padding: 24px;\n      border-radius: 34px;\n      background: rgba(255,255,255,0.68);\n      border: 1px solid rgba(255,255,255,0.88);\n      box-shadow: 0 32px 80px rgba(112,67,54,0.18);\n      backdrop-filter: blur(16px);\n    }\n\n    .sfhc-visual {\n      position: relative;\n      width: 100%;\n      min-height: 360px;\n      border-radius: 28px;\n      overflow: hidden;\n      background:\n        radial-gradient(circle at 50% 18%, rgba(255,255,255,0.94), transparent 30%),\n        linear-gradient(145deg, rgba(255,255,255,0.72), rgba(var(--accent-rgb), 0.32));\n      display: flex;\n      align-items: center;\n      justify-content: center;\n    }\n\n    .sfhc-slippers {\n      position: relative;\n      width: 310px;\n      height: 230px;\n      animation: sfhcBreathe 4.5s ease-in-out infinite;\n      filter: drop-shadow(0 28px 45px rgba(112,67,54,0.26));\n    }\n\n    .sfhc-slipper {\n      position: absolute;\n      width: 130px;\n      height: 205px;\n      border-radius: 70px 70px 48px 48px;\n      background:\n        radial-gradient(circle at 35% 20%, rgba(255,255,255,0.32), transparent 26%),\n        linear-gradient(145deg, var(--slipper-one), var(--slipper-two));\n      box-shadow:\n        inset 0 0 22px rgba(255,255,255,0.18),\n        0 20px 40px rgba(112,67,54,0.18);\n    }\n\n    .sfhc-slipper.left {\n      left: 42px;\n      top: 10px;\n      transform: rotate(-10deg);\n    }\n\n    .sfhc-slipper.right {\n      right: 42px;\n      top: 10px;\n      transform: rotate(10deg);\n    }\n\n    .sfhc-slipper::before {\n      content: \"\";\n      position: absolute;\n      top: 18px;\n      left: 15px;\n      right: 15px;\n      height: 74px;\n      border-radius: 48px 48px 30px 30px;\n      background:\n        radial-gradient(circle at 30% 30%, rgba(255,255,255,0.9), transparent 28%),\n        linear-gradient(145deg, var(--fur-one), var(--fur-two));\n      box-shadow: inset 0 -8px 16px rgba(112,67,54,0.08);\n    }\n\n    .sfhc-slipper::after {\n      content: \"\";\n      position: absolute;\n      bottom: 18px;\n      left: 22px;\n      right: 22px;\n      height: 14px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.28);\n    }\n\n    .sfhc-fluff {\n      position: absolute;\n      width: 16px;\n      height: 16px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.78);\n      filter: blur(1px);\n      animation: sfhcFluff 5s ease-in-out infinite;\n    }\n\n    .sfhc-fluff.f1 { left: 26%; top: 22%; animation-delay: 0s; }\n    .sfhc-fluff.f2 { left: 48%; top: 14%; animation-delay: 1s; }\n    .sfhc-fluff.f3 { right: 24%; top: 25%; animation-delay: 2s; }\n\n    .sfhc-warmth {\n      position: absolute;\n      bottom: 34px;\n      width: 14px;\n      height: 82px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.55);\n      filter: blur(8px);\n      pointer-events: none;\n      animation: sfhcSteam 4.5s ease-in-out infinite;\n    }\n\n    .sfhc-warmth.one { left: 23%; animation-delay: 0s; }\n    .sfhc-warmth.two { left: 50%; animation-delay: 1s; }\n    .sfhc-warmth.three { right: 23%; animation-delay: 2s; }\n\n    .sfhc-colour-title {\n      margin-top: 18px;\n      text-align: center;\n      font-size: 15px;\n      font-weight: 900;\n    }\n\n    .sfhc-colours {\n      display: flex;\n      justify-content: center;\n      gap: 11px;\n      margin-top: 13px;\n      flex-wrap: wrap;\n    }\n\n    .sfhc-colour {\n      width: 42px;\n      height: 42px;\n      border-radius: 999px;\n      border: 3px solid #fff;\n      box-shadow: 0 8px 18px rgba(44,44,44,0.15);\n      cursor: pointer;\n      transition: 0.2s ease;\n      appearance: none;\n      padding: 0;\n    }\n\n    .sfhc-colour.is-active {\n      box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.24), 0 8px 18px rgba(44,44,44,0.14);\n      transform: scale(1.08);\n    }\n\n    .sfhc-black { background: #111111; }\n    .sfhc-grey { background: #9b9b9b; }\n    .sfhc-lavender { background: #b9a3d8; }\n    .sfhc-brown { background: #7b4b30; }\n    .sfhc-caramel { background: #c88a55; }\n    .sfhc-pink { background: #f5a9bd; }\n\n    .sfhc-selected {\n      text-align: center;\n      margin-top: 12px;\n      color: var(--grey);\n      font-size: 14px;\n      font-weight: 800;\n    }\n\n    .sfhc-heading {\n      max-width: 760px;\n      margin: 58px auto 24px;\n      text-align: center;\n    }\n\n    .sfhc-heading h2 {\n      margin: 0 0 10px;\n      font-size: clamp(28px, 4vw, 42px);\n      line-height: 1.08;\n      font-weight: 950;\n    }\n\n    .sfhc-heading p {\n      margin: 0;\n      color: var(--grey);\n      font-size: 16px;\n      line-height: 1.65;\n    }\n\n    .sfhc-benefits {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 18px;\n    }\n\n    .sfhc-benefit {\n      position: relative;\n      overflow: hidden;\n      padding: 24px;\n      border-radius: 26px;\n      background: rgba(255,255,255,0.68);\n      border: 1px solid rgba(255,255,255,0.86);\n      box-shadow: 0 18px 42px rgba(112,67,54,0.11);\n      cursor: pointer;\n      min-height: 188px;\n    }\n\n    .sfhc-benefit:hover {\n      transform: translateY(-5px);\n      box-shadow: 0 25px 55px rgba(112,67,54,0.17);\n    }\n\n    .sfhc-benefit.is-tapped {\n      transform: translateY(-5px) scale(1.01);\n    }\n\n    .sfhc-icon {\n      width: 50px;\n      height: 50px;\n      border-radius: 17px;\n      background: var(--accent);\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: #fff;\n      font-size: 23px;\n      margin-bottom: 16px;\n    }\n\n    .sfhc-benefit h3 {\n      margin: 0 0 8px;\n      font-size: 18px;\n      font-weight: 950;\n    }\n\n    .sfhc-benefit p {\n      margin: 0;\n      color: var(--grey);\n      font-size: 15px;\n      line-height: 1.6;\n    }\n\n    .sfhc-effect-layer {\n      position: absolute;\n      inset: 0;\n      pointer-events: none;\n      overflow: hidden;\n    }\n\n    .sfhc-particle {\n      position: absolute;\n      left: var(--x);\n      bottom: 14px;\n      font-size: var(--size);\n      opacity: 0;\n      animation: sfhcParticle 1.15s ease-out forwards;\n    }\n\n    .sfhc-particle.steam {\n      width: 14px;\n      height: 54px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.74);\n      filter: blur(7px);\n    }\n\n    .sfhc-split {\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 18px;\n      margin-top: 28px;\n    }\n\n    .sfhc-panel {\n      padding: 30px;\n      border-radius: 30px;\n      background: rgba(255,255,255,0.66);\n      border: 1px solid rgba(255,255,255,0.86);\n      box-shadow: 0 22px 55px rgba(112,67,54,0.12);\n    }\n\n    .sfhc-panel h3 {\n      margin: 0 0 16px;\n      font-size: 24px;\n      font-weight: 950;\n    }\n\n    .sfhc-list {\n      display: grid;\n      gap: 13px;\n      margin: 0;\n      padding: 0;\n      list-style: none;\n    }\n\n    .sfhc-list li {\n      display: flex;\n      gap: 10px;\n      align-items: flex-start;\n      color: var(--grey);\n      font-size: 15px;\n      line-height: 1.55;\n      font-weight: 650;\n    }\n\n    .sfhc-list strong {\n      color: var(--charcoal);\n    }\n\n    .sfhc-check {\n      flex: 0 0 auto;\n      width: 24px;\n      height: 24px;\n      border-radius: 999px;\n      background: var(--accent);\n      color: #fff;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 13px;\n      font-weight: 950;\n      margin-top: 1px;\n    }\n\n    .sfhc-size-guide {\n      margin-top: 28px;\n      padding: 30px;\n      border-radius: 30px;\n      background: rgba(255,255,255,0.66);\n      border: 1px solid rgba(255,255,255,0.86);\n      box-shadow: 0 22px 55px rgba(112,67,54,0.12);\n      overflow-x: auto;\n    }\n\n    .sfhc-size-guide h3 {\n      margin: 0 0 8px;\n      font-size: 24px;\n      font-weight: 950;\n    }\n\n    .sfhc-size-guide p {\n      margin: 0 0 18px;\n      color: var(--grey);\n      font-size: 15px;\n      line-height: 1.55;\n      font-weight: 700;\n    }\n\n    .sfhc-size-table {\n      width: 100%;\n      border-collapse: collapse;\n      min-width: 520px;\n      overflow: hidden;\n      border-radius: 18px;\n    }\n\n    .sfhc-size-table th,\n    .sfhc-size-table td {\n      padding: 13px 14px;\n      text-align: left;\n      border-bottom: 1px solid rgba(44,44,44,0.08);\n      font-size: 14px;\n    }\n\n    .sfhc-size-table th {\n      background: rgba(var(--accent-rgb), 0.14);\n      color: var(--charcoal);\n      font-weight: 950;\n    }\n\n    .sfhc-size-table td {\n      background: rgba(255,255,255,0.56);\n      color: var(--grey);\n      font-weight: 700;\n    }\n\n    .sfhc-story {\n      margin-top: 34px;\n      padding: 36px;\n      border-radius: 34px;\n      background: rgba(255,255,255,0.7);\n      border: 1px solid rgba(255,255,255,0.88);\n      box-shadow: 0 26px 68px rgba(112,67,54,0.14);\n      text-align: center;\n    }\n\n    .sfhc-story h2 {\n      margin: 0 0 12px;\n      font-size: clamp(27px, 4vw, 42px);\n      font-weight: 950;\n    }\n\n    .sfhc-story p {\n      max-width: 820px;\n      margin: 0 auto 22px;\n      color: var(--grey);\n      font-size: 17px;\n      line-height: 1.75;\n    }\n\n    @keyframes sfhcBreathe {\n      0%, 100% { transform: scale(1); }\n      50% { transform: scale(1.025); }\n    }\n\n    @keyframes sfhcSteam {\n      0% { opacity: 0; transform: translateY(20px) scaleX(1); }\n      35% { opacity: 0.62; }\n      100% { opacity: 0; transform: translateY(-115px) scaleX(2.2); }\n    }\n\n    @keyframes sfhcFluff {\n      0%, 100% { transform: translateY(0) scale(1); opacity: 0.7; }\n      50% { transform: translateY(-12px) scale(1.2); opacity: 1; }\n    }\n\n    @keyframes sfhcParticle {\n      0% { opacity: 0; transform: translateY(20px) scale(0.8); }\n      18% { opacity: 1; }\n      100% { opacity: 0; transform: translateY(-105px) scale(1.35); }\n    }\n\n    @media (max-width: 990px) {\n      .sfhc-hero {\n        grid-template-columns: 1fr;\n      }\n\n      .sfhc-product-card {\n        justify-self: center;\n        max-width: 620px;\n      }\n\n      .sfhc-benefits {\n        grid-template-columns: repeat(2, 1fr);\n      }\n    }\n\n    @media (max-width: 700px) {\n      .sfhc-section {\n        padding: 44px 14px;\n        border-radius: 24px;\n      }\n\n      .sfhc-title {\n        font-size: clamp(36px, 11vw, 48px);\n        letter-spacing: -1.3px;\n      }\n\n      .sfhc-text {\n        font-size: 15.5px;\n      }\n\n      .sfhc-actions {\n        align-items: stretch;\n      }\n\n      .sfhc-btn {\n        width: 100%;\n        padding: 15px 18px;\n      }\n\n      .sfhc-product-card {\n        padding: 18px;\n        border-radius: 28px;\n      }\n\n      .sfhc-visual {\n        min-height: 320px;\n        border-radius: 24px;\n      }\n\n      .sfhc-slippers {\n        width: 260px;\n        height: 210px;\n      }\n\n      .sfhc-slipper {\n        width: 112px;\n        height: 185px;\n      }\n\n      .sfhc-slipper.left {\n        left: 34px;\n      }\n\n      .sfhc-slipper.right {\n        right: 34px;\n      }\n\n      .sfhc-benefits,\n      .sfhc-split {\n        grid-template-columns: 1fr;\n      }\n\n      .sfhc-benefit {\n        min-height: auto;\n        padding: 20px;\n      }\n\n      .sfhc-panel,\n      .sfhc-story,\n      .sfhc-size-guide {\n        padding: 24px 18px;\n      }\n    }\n  \u003c\/style\u003e\n\u003csection id=\"sfhc-plush-step\" class=\"sfhc-section\"\u003e\n\u003cdiv class=\"sfhc-wrap\"\u003e\n\u003cdiv class=\"sfhc-hero\"\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ch1 class=\"sfhc-title\"\u003eSoftHaven™ \u003cspan\u003eThe Plush Step\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cdiv class=\"sfhc-subtitle\"\u003eEvery Step Feels Like a Hug. 🥰\u003c\/div\u003e\n\u003cp class=\"sfhc-text\"\u003eAfter a long day on your feet, cold floors should be the last thing you feel. SoftHaven™ The Plush Step wraps your feet in cloud-like cushioning, fluffy warmth and effortless slip-on comfort from the very first step.\u003c\/p\u003e\n\u003cdiv class=\"sfhc-actions\"\u003e\n\u003cbutton data-sfhc-scroll=\"\" class=\"sfhc-btn\" type=\"button\"\u003e Choose Your Size \u0026amp; Colour \u003c\/button\u003e\n\u003cdiv class=\"sfhc-note\"\u003ePlush sole · Fluffy lining · Black, Grey, Lavender, Brown, Caramel \u0026amp; Pink\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-trust-row\"\u003e\n\u003cspan\u003e☁️ Cloud-like cushioning\u003c\/span\u003e \u003cspan\u003e🔥 Instant warmth\u003c\/span\u003e \u003cspan\u003e🚶♀️ Easy slip-on comfort\u003c\/span\u003e \u003cspan\u003e⭐ True-to-size fit\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-product-card\"\u003e\n\u003cdiv class=\"sfhc-visual\"\u003e\n\u003cspan class=\"sfhc-warmth one\"\u003e\u003c\/span\u003e \u003cspan class=\"sfhc-warmth two\"\u003e\u003c\/span\u003e \u003cspan class=\"sfhc-warmth three\"\u003e\u003c\/span\u003e \u003cspan class=\"sfhc-fluff f1\"\u003e\u003c\/span\u003e \u003cspan class=\"sfhc-fluff f2\"\u003e\u003c\/span\u003e \u003cspan class=\"sfhc-fluff f3\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"sfhc-slippers\"\u003e\n\u003cdiv class=\"sfhc-slipper left\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-slipper right\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-colour-title\"\u003eTap a colour to preview the vibe\u003c\/div\u003e\n\u003cdiv class=\"sfhc-colours\"\u003e\n\u003cbutton aria-label=\"Black\" data-colour=\"black\" class=\"sfhc-colour sfhc-black\" type=\"button\"\u003e\u003c\/button\u003e \u003cbutton aria-label=\"Grey\" data-colour=\"grey\" class=\"sfhc-colour sfhc-grey\" type=\"button\"\u003e\u003c\/button\u003e \u003cbutton aria-label=\"Lavender\" data-colour=\"lavender\" class=\"sfhc-colour sfhc-lavender\" type=\"button\"\u003e\u003c\/button\u003e \u003cbutton aria-label=\"Brown\" data-colour=\"brown\" class=\"sfhc-colour sfhc-brown\" type=\"button\"\u003e\u003c\/button\u003e \u003cbutton aria-label=\"Caramel\" data-colour=\"caramel\" class=\"sfhc-colour sfhc-caramel\" type=\"button\"\u003e\u003c\/button\u003e \u003cbutton aria-label=\"Pink\" data-colour=\"pink\" class=\"sfhc-colour sfhc-pink\" type=\"button\"\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv data-selected-text=\"\" class=\"sfhc-selected\"\u003eSelected vibe: Caramel\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-heading\"\u003e\n\u003ch2\u003eTap a Benefit to Feel the Effect\u003c\/h2\u003e\n\u003cp\u003eEach benefit is interactive, helping customers feel the softness, warmth and comfort story.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefits\"\u003e\n\u003cdiv data-effect=\"cloud\" class=\"sfhc-benefit\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e☁️\u003c\/div\u003e\n\u003ch3\u003eCloud-Like Cushioning\u003c\/h3\u003e\n\u003cp\u003eThick plush cushioning absorbs every step so your feet feel supported, soft and rested.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv data-effect=\"steam\" class=\"sfhc-benefit\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🔥\u003c\/div\u003e\n\u003ch3\u003eInstant Warmth\u003c\/h3\u003e\n\u003cp\u003eFluffy lining wraps your feet in cosy heat the moment you slip them on.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv data-effect=\"comfort\" class=\"sfhc-benefit\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🤸\u003c\/div\u003e\n\u003ch3\u003eAll-Day Comfort\u003c\/h3\u003e\n\u003cp\u003eWide, easy fit with no pinching, no pressure points and no uncomfortable tightness.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv data-effect=\"step\" class=\"sfhc-benefit\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🚶♀️\u003c\/div\u003e\n\u003ch3\u003eSlip-On Freedom\u003c\/h3\u003e\n\u003cp\u003eNo laces, no fuss. Just slide in and enjoy warmth from bedroom to kitchen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv data-effect=\"clean\" class=\"sfhc-benefit\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🧹\u003c\/div\u003e\n\u003ch3\u003eEasy To Clean\u003c\/h3\u003e\n\u003cp\u003eThe wipe-clean exterior helps keep them looking fresh throughout winter.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv data-effect=\"winter\" class=\"sfhc-benefit\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🇿🇦\u003c\/div\u003e\n\u003ch3\u003eSA Winter Approved\u003c\/h3\u003e\n\u003cp\u003eWarm enough for chilly Highveld mornings, cold tiles and winter nights at home.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-split\"\u003e\n\u003cdiv class=\"sfhc-panel\"\u003e\n\u003ch3\u003eWhy You’ll Love Them\u003c\/h3\u003e\n\u003cul class=\"sfhc-list\"\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eFeels like a foot hug:\u003c\/strong\u003e soft plush comfort that makes every step feel better.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eWarm from the first step:\u003c\/strong\u003e perfect for cold floors, early mornings and winter nights.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eEasy everyday wear:\u003c\/strong\u003e slide them on when you wake up, after work or before bed.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eGift-friendly comfort:\u003c\/strong\u003e practical, cosy and easy to love for anyone who hates cold feet.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-panel\"\u003e\n\u003ch3\u003ePerfect For\u003c\/h3\u003e\n\u003cul class=\"sfhc-list\"\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eCold winter mornings\u003c\/strong\u003e when tiles feel freezing under your feet.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eAfter work comfort\u003c\/strong\u003e when your feet need softness and relief.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eHome lounging\u003c\/strong\u003e while making coffee, cleaning, cooking or relaxing.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eThoughtful gifting\u003c\/strong\u003e for moms, sisters, partners or anyone who loves cosy comfort.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-size-guide\"\u003e\n\u003ch3\u003eSize Guide UK 📏\u003c\/h3\u003e\n\u003cp\u003e93% of customers say these fit true to size. Choose your usual UK size for a comfortable fit.\u003c\/p\u003e\n\u003ctable class=\"sfhc-size-table\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eUK Size\u003c\/th\u003e\n\u003cth\u003eRecommended Fit\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e3.5-4\u003c\/td\u003e\n\u003ctd\u003eSmall\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e4.5-5\u003c\/td\u003e\n\u003ctd\u003eMedium\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e5.5-6\u003c\/td\u003e\n\u003ctd\u003eLarge\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e6.5-7\u003c\/td\u003e\n\u003ctd\u003eX-Large\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e8.5-9\u003c\/td\u003e\n\u003ctd\u003eXX-Large\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-story\"\u003e\n\u003ch2\u003eYour Morning, Transformed ☀️\u003c\/h2\u003e\n\u003cp\u003ePicture this: it is a cold winter morning in Pretoria. You get out of bed, slip on The Plush Step and suddenly the cold floor does not exist anymore. You walk to the kitchen, make your coffee and your feet are still warm. That is the SoftHaven difference.\u003c\/p\u003e\n\u003cbutton data-sfhc-scroll=\"\" class=\"sfhc-btn\" type=\"button\"\u003e Give My Feet The Plush Step \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n    (function () {\n      var section = document.getElementById(\"sfhc-plush-step\");\n      if (!section) return;\n\n      var selectedText = section.querySelector(\"[data-selected-text]\");\n\n      var colourData = {\n        black: {\n          name: \"Black\",\n          accent: \"#2c2c2c\",\n          accentDark: \"#111111\",\n          accentRgb: \"44, 44, 44\",\n          bgOne: \"#f7f2ef\",\n          bgTwo: \"#d8d1cd\",\n          slipperOne: \"#444444\",\n          slipperTwo: \"#111111\",\n          furOne: \"#f4f4f4\",\n          furTwo: \"#cfcfcf\"\n        },\n        grey: {\n          name: \"Grey\",\n          accent: \"#8f8f8f\",\n          accentDark: \"#5c5c5c\",\n          accentRgb: \"143, 143, 143\",\n          bgOne: \"#fafafa\",\n          bgTwo: \"#d6d6d6\",\n          slipperOne: \"#b8b8b8\",\n          slipperTwo: \"#6f6f6f\",\n          furOne: \"#ffffff\",\n          furTwo: \"#dddddd\"\n        },\n        lavender: {\n          name: \"Lavender\",\n          accent: \"#9b7cc7\",\n          accentDark: \"#765aa1\",\n          accentRgb: \"155, 124, 199\",\n          bgOne: \"#f7f1ff\",\n          bgTwo: \"#d7c3f1\",\n          slipperOne: \"#cdb6eb\",\n          slipperTwo: \"#9271c1\",\n          furOne: \"#fff7ff\",\n          furTwo: \"#e2d0f5\"\n        },\n        brown: {\n          name: \"Brown\",\n          accent: \"#7b4b30\",\n          accentDark: \"#5c3420\",\n          accentRgb: \"123, 75, 48\",\n          bgOne: \"#fff4ea\",\n          bgTwo: \"#c99b76\",\n          slipperOne: \"#9a6540\",\n          slipperTwo: \"#6a3f26\",\n          furOne: \"#fff0da\",\n          furTwo: \"#d6a978\"\n        },\n        caramel: {\n          name: \"Caramel\",\n          accent: \"#c88a55\",\n          accentDark: \"#9f6636\",\n          accentRgb: \"200, 138, 85\",\n          bgOne: \"#fff6ee\",\n          bgTwo: \"#eec59d\",\n          slipperOne: \"#e7b47c\",\n          slipperTwo: \"#b97942\",\n          furOne: \"#fff2df\",\n          furTwo: \"#f3cfa5\"\n        },\n        pink: {\n          name: \"Pink\",\n          accent: \"#d97896\",\n          accentDark: \"#be5f7d\",\n          accentRgb: \"217, 120, 150\",\n          bgOne: \"#fff3f6\",\n          bgTwo: \"#f5b5c7\",\n          slipperOne: \"#ffd3df\",\n          slipperTwo: \"#f5a9bd\",\n          furOne: \"#fff8fb\",\n          furTwo: \"#ffd9e5\"\n        }\n      };\n\n      function setColour(colour) {\n        var data = colourData[colour];\n        if (!data) return;\n\n        section.style.setProperty(\"--accent\", data.accent);\n        section.style.setProperty(\"--accent-dark\", data.accentDark);\n        section.style.setProperty(\"--accent-rgb\", data.accentRgb);\n        section.style.setProperty(\"--bg-one\", data.bgOne);\n        section.style.setProperty(\"--bg-two\", data.bgTwo);\n        section.style.setProperty(\"--slipper-one\", data.slipperOne);\n        section.style.setProperty(\"--slipper-two\", data.slipperTwo);\n        section.style.setProperty(\"--fur-one\", data.furOne);\n        section.style.setProperty(\"--fur-two\", data.furTwo);\n\n        section.querySelectorAll(\"[data-colour]\").forEach(function (btn) {\n          btn.classList.toggle(\"is-active\", btn.getAttribute(\"data-colour\") === colour);\n        });\n\n        if (selectedText) {\n          selectedText.textContent = \"Selected vibe: \" + data.name;\n        }\n      }\n\n      section.querySelectorAll(\"[data-colour]\").forEach(function (button) {\n        button.addEventListener(\"click\", function () {\n          setColour(button.getAttribute(\"data-colour\"));\n        });\n      });\n\n      function createEffect(card, type) {\n        var layer = card.querySelector(\".sfhc-effect-layer\");\n        if (!layer) return;\n\n        layer.innerHTML = \"\";\n        card.classList.add(\"is-tapped\");\n\n        setTimeout(function () {\n          card.classList.remove(\"is-tapped\");\n        }, 450);\n\n        var symbols = {\n          cloud: [\"☁️\", \"♡\", \"☁️\", \"♡\", \"☁️\"],\n          steam: [\"\", \"\", \"\", \"\", \"\"],\n          comfort: [\"✨\", \"🦥\", \"♡\", \"✨\", \"🦥\"],\n          step: [\"👣\", \"↗\", \"👣\", \"✨\", \"↗\"],\n          clean: [\"✨\", \"🧹\", \"✨\", \"♡\", \"🧹\"],\n          winter: [\"❄️\", \"🔥\", \"🇿🇦\", \"❄️\", \"🔥\"]\n        };\n\n        var selected = symbols[type] || [\"✨\", \"✨\", \"✨\"];\n\n        selected.forEach(function (symbol, index) {\n          var particle = document.createElement(\"span\");\n          particle.className = \"sfhc-particle\";\n\n          if (type === \"steam\") {\n            particle.classList.add(\"steam\");\n          } else {\n            particle.textContent = symbol;\n          }\n\n          particle.style.setProperty(\"--x\", 18 + index * 15 + \"%\");\n          particle.style.setProperty(\"--size\", 18 + index * 2 + \"px\");\n          particle.style.animationDelay = index * 0.08 + \"s\";\n\n          layer.appendChild(particle);\n        });\n\n        setTimeout(function () {\n          layer.innerHTML = \"\";\n        }, 1500);\n      }\n\n      section.querySelectorAll(\".sfhc-benefit\").forEach(function (card) {\n        card.addEventListener(\"click\", function () {\n          createEffect(card, card.getAttribute(\"data-effect\"));\n        });\n      });\n\n      section.querySelectorAll(\"[data-sfhc-scroll]\").forEach(function (button) {\n        button.addEventListener(\"click\", function () {\n          var productForm =\n            document.querySelector(\".product-form\") ||\n            document.querySelector('form[action*=\"\/cart\/add\"]') ||\n            document.querySelector('[id*=\"ProductSubmitButton\"]');\n\n          if (productForm) {\n            productForm.scrollIntoView({\n              behavior: \"smooth\",\n              block: \"center\"\n            });\n          }\n        });\n      });\n\n      setColour(\"caramel\");\n    })();\n  \u003c\/script\u003e\u003c\/section\u003e","brand":"SoftHaven","offers":[{"title":"Pink \/ 3.5-4","offer_id":46777764872329,"sku":"SSH-SLIP-PNK-35","price":299.0,"currency_code":"ZAR","in_stock":true},{"title":"Pink \/ 4.5-5","offer_id":46777764905097,"sku":"SSH-SLIP-PNK-45","price":319.0,"currency_code":"ZAR","in_stock":true},{"title":"Pink \/ 5.5-6","offer_id":46777764937865,"sku":"SSH-SLIP-PNK-55","price":339.0,"currency_code":"ZAR","in_stock":true},{"title":"Pink \/ 6.5-7","offer_id":46777764970633,"sku":"SSH-SLIP-PNK-65","price":359.0,"currency_code":"ZAR","in_stock":true},{"title":"Pink \/ 8.5-9","offer_id":46777765003401,"sku":"SSH-SLIP-PNK-85","price":379.0,"currency_code":"ZAR","in_stock":true},{"title":"Brown \/ 3.5-4","offer_id":46777765036169,"sku":"SSH-SLIP-BRN-35","price":299.0,"currency_code":"ZAR","in_stock":true},{"title":"Brown \/ 4.5-5","offer_id":46777765068937,"sku":"SSH-SLIP-BRN-45","price":319.0,"currency_code":"ZAR","in_stock":true},{"title":"Brown \/ 5.5-6","offer_id":46777765101705,"sku":"SSH-SLIP-BRN-55","price":339.0,"currency_code":"ZAR","in_stock":true},{"title":"Brown \/ 6.5-7","offer_id":46777765134473,"sku":"SSH-SLIP-BRN-65","price":359.0,"currency_code":"ZAR","in_stock":true},{"title":"Brown \/ 8.5-9","offer_id":46777765167241,"sku":"SSH-SLIP-BRN-85","price":379.0,"currency_code":"ZAR","in_stock":true},{"title":"Gray \/ 3.5-4","offer_id":46777765200009,"sku":"SSH-SLIP-GRY-35","price":299.0,"currency_code":"ZAR","in_stock":true},{"title":"Gray \/ 4.5-5","offer_id":46777765232777,"sku":"SSH-SLIP-GRY-45","price":319.0,"currency_code":"ZAR","in_stock":true},{"title":"Gray \/ 5.5-6","offer_id":46777765265545,"sku":"SSH-SLIP-GRY-55","price":339.0,"currency_code":"ZAR","in_stock":true},{"title":"Gray \/ 6.5-7","offer_id":46777765298313,"sku":"SSH-SLIP-GRY-65","price":359.0,"currency_code":"ZAR","in_stock":true},{"title":"Gray \/ 8.5-9","offer_id":46777765331081,"sku":"SSH-SLIP-GRY-85","price":379.0,"currency_code":"ZAR","in_stock":true},{"title":"Bronze \/ 3.5-4","offer_id":46777765363849,"sku":"SSH-SLIP-BRZ-35","price":299.0,"currency_code":"ZAR","in_stock":true},{"title":"Bronze \/ 4.5-5","offer_id":46777765396617,"sku":"SSH-SLIP-BRZ-45","price":319.0,"currency_code":"ZAR","in_stock":true},{"title":"Bronze \/ 5.5-6","offer_id":46777765429385,"sku":"SSH-SLIP-BRZ-55","price":339.0,"currency_code":"ZAR","in_stock":true},{"title":"Bronze \/ 6.5-7","offer_id":46777765462153,"sku":"SSH-SLIP-BRZ-65","price":359.0,"currency_code":"ZAR","in_stock":true},{"title":"Bronze \/ 8.5-9","offer_id":46777765494921,"sku":"SSH-SLIP-BRZ-85","price":379.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ 3.5-4","offer_id":46777765527689,"sku":"SSH-SLIP-BLK-35","price":299.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ 4.5-5","offer_id":46777765560457,"sku":"SSH-SLIP-BLK-45","price":319.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ 5.5-6","offer_id":46777765593225,"sku":"SSH-SLIP-BLK-55","price":339.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ 6.5-7","offer_id":46777765625993,"sku":"SSH-SLIP-BLK-65","price":359.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ 8.5-9","offer_id":46777765658761,"sku":"SSH-SLIP-BLK-85","price":379.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0765\/3539\/8537\/files\/warm-plush-slippers.png?v=1779279652"},{"product_id":"softhaven™-the-second-skin","title":"SoftHaven™ The Second Skin","description":"\u003cstyle\u003e\n    .sfhc-section {\n      --rust: #d4806a;\n      --rust-dark: #bd6b57;\n      --cream: #faf0eb;\n      --peach: #f2c4b0;\n      --charcoal: #2c2c2c;\n      --grey: #5c5c5c;\n\n      --accent: #8b1e2d;\n      --accent-dark: #651521;\n      --accent-rgb: 139, 30, 45;\n      --bg-one: #fff1f2;\n      --bg-two: #e8a0a8;\n      --legging-one: #a43a49;\n      --legging-two: #651521;\n\n      width: 100%;\n      position: relative;\n      overflow: hidden;\n      padding: 64px 18px;\n      border-radius: 32px;\n      background:\n        radial-gradient(circle at 8% 10%, rgba(var(--accent-rgb), 0.22), transparent 32%),\n        radial-gradient(circle at 92% 4%, rgba(255,255,255,0.82), transparent 28%),\n        linear-gradient(135deg, var(--bg-one), var(--bg-two));\n      color: var(--charcoal);\n      font-family: inherit;\n      transition: background 0.45s ease;\n    }\n\n    .sfhc-section * {\n      box-sizing: border-box;\n      max-width: 100%;\n    }\n\n    .sfhc-wrap {\n      max-width: 1180px;\n      margin: 0 auto;\n      width: 100%;\n    }\n\n    .sfhc-hero {\n      display: grid;\n      grid-template-columns: 1.05fr 0.95fr;\n      gap: 44px;\n      align-items: center;\n    }\n\n    .sfhc-badge {\n      display: inline-flex;\n      padding: 10px 15px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.72);\n      border: 1px solid rgba(255,255,255,0.86);\n      font-size: 14px;\n      font-weight: 800;\n      margin-bottom: 18px;\n    }\n\n    .sfhc-title {\n      margin: 0 0 14px;\n      font-size: clamp(38px, 6vw, 74px);\n      line-height: 0.96;\n      letter-spacing: -2px;\n      font-weight: 950;\n      color: var(--charcoal);\n    }\n\n    .sfhc-title span {\n      display: block;\n      color: var(--accent);\n      transition: color 0.35s ease;\n    }\n\n    .sfhc-subtitle {\n      font-size: clamp(20px, 2.4vw, 28px);\n      font-weight: 900;\n      margin-bottom: 16px;\n    }\n\n    .sfhc-text {\n      color: var(--grey);\n      font-size: 17px;\n      line-height: 1.75;\n      margin: 0 0 24px;\n    }\n\n    .sfhc-actions {\n      display: flex;\n      flex-wrap: wrap;\n      align-items: center;\n      gap: 14px;\n    }\n\n    .sfhc-btn {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      min-height: 52px;\n      padding: 16px 28px;\n      border-radius: 999px;\n      border: none;\n      background: var(--accent);\n      color: #fff;\n      font-size: 16px;\n      font-weight: 950;\n      cursor: pointer;\n      text-decoration: none;\n      box-shadow: 0 18px 38px rgba(var(--accent-rgb), 0.34);\n      transition: 0.22s ease;\n    }\n\n    .sfhc-btn:hover {\n      transform: translateY(-2px);\n      background: var(--accent-dark);\n    }\n\n    .sfhc-note {\n      color: var(--grey);\n      font-size: 14px;\n      font-weight: 700;\n      line-height: 1.45;\n    }\n\n    .sfhc-trust-row {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 9px;\n      margin-top: 22px;\n    }\n\n    .sfhc-trust-row span {\n      padding: 9px 12px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.66);\n      border: 1px solid rgba(255,255,255,0.82);\n      font-size: 13px;\n      font-weight: 800;\n    }\n\n    .sfhc-product-card {\n      width: 100%;\n      max-width: 520px;\n      justify-self: end;\n      padding: 24px;\n      border-radius: 34px;\n      background: rgba(255,255,255,0.68);\n      border: 1px solid rgba(255,255,255,0.88);\n      box-shadow: 0 32px 80px rgba(112,67,54,0.18);\n      backdrop-filter: blur(16px);\n    }\n\n    .sfhc-visual {\n      position: relative;\n      width: 100%;\n      min-height: 360px;\n      border-radius: 28px;\n      overflow: hidden;\n      background:\n        radial-gradient(circle at 50% 18%, rgba(255,255,255,0.94), transparent 30%),\n        linear-gradient(145deg, rgba(255,255,255,0.72), rgba(var(--accent-rgb), 0.32));\n      display: flex;\n      align-items: center;\n      justify-content: center;\n    }\n\n    .sfhc-leggings {\n      position: relative;\n      width: 220px;\n      height: 310px;\n      animation: sfhcBreathe 4.5s ease-in-out infinite;\n      filter: drop-shadow(0 28px 45px rgba(112,67,54,0.28));\n    }\n\n    .sfhc-waist {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      width: 150px;\n      height: 58px;\n      transform: translateX(-50%);\n      border-radius: 30px 30px 18px 18px;\n      background:\n        linear-gradient(145deg, rgba(255,255,255,0.22), transparent),\n        linear-gradient(145deg, var(--legging-one), var(--legging-two));\n      box-shadow: inset 0 0 18px rgba(255,255,255,0.18);\n    }\n\n    .sfhc-waist::after {\n      content: \"\";\n      position: absolute;\n      left: 18px;\n      right: 18px;\n      bottom: 11px;\n      height: 5px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.28);\n    }\n\n    .sfhc-leg {\n      position: absolute;\n      top: 48px;\n      width: 78px;\n      height: 252px;\n      background:\n        radial-gradient(circle at 30% 20%, rgba(255,255,255,0.20), transparent 22%),\n        linear-gradient(160deg, var(--legging-one), var(--legging-two));\n      box-shadow: inset 0 0 20px rgba(255,255,255,0.12);\n    }\n\n    .sfhc-leg.left {\n      left: 32px;\n      border-radius: 34px 18px 38px 38px;\n      transform: rotate(3deg);\n    }\n\n    .sfhc-leg.right {\n      right: 32px;\n      border-radius: 18px 34px 38px 38px;\n      transform: rotate(-3deg);\n    }\n\n    .sfhc-leg::after {\n      content: \"\";\n      position: absolute;\n      bottom: 8px;\n      left: 12px;\n      right: 12px;\n      height: 6px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.22);\n    }\n\n    .sfhc-warmth {\n      position: absolute;\n      bottom: 34px;\n      width: 14px;\n      height: 82px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.55);\n      filter: blur(8px);\n      pointer-events: none;\n      animation: sfhcSteam 4.5s ease-in-out infinite;\n    }\n\n    .sfhc-warmth.one { left: 23%; animation-delay: 0s; }\n    .sfhc-warmth.two { left: 50%; animation-delay: 1s; }\n    .sfhc-warmth.three { right: 23%; animation-delay: 2s; }\n\n    .sfhc-colour-title {\n      margin-top: 18px;\n      text-align: center;\n      font-size: 15px;\n      font-weight: 900;\n    }\n\n    .sfhc-colours {\n      display: flex;\n      justify-content: center;\n      gap: 11px;\n      margin-top: 13px;\n      flex-wrap: wrap;\n    }\n\n    .sfhc-colour {\n      width: 42px;\n      height: 42px;\n      border-radius: 999px;\n      border: 3px solid #fff;\n      box-shadow: 0 8px 18px rgba(44,44,44,0.15);\n      cursor: pointer;\n      transition: 0.2s ease;\n      appearance: none;\n      padding: 0;\n    }\n\n    .sfhc-colour.is-active {\n      box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.24), 0 8px 18px rgba(44,44,44,0.14);\n      transform: scale(1.08);\n    }\n\n    .sfhc-black { background: #111111; }\n    .sfhc-grey { background: #9b9b9b; }\n    .sfhc-navy { background: #17213f; }\n    .sfhc-burgundy { background: #8b1e2d; }\n\n    .sfhc-selected {\n      text-align: center;\n      margin-top: 12px;\n      color: var(--grey);\n      font-size: 14px;\n      font-weight: 800;\n    }\n\n    .sfhc-heading {\n      max-width: 760px;\n      margin: 58px auto 24px;\n      text-align: center;\n    }\n\n    .sfhc-heading h2 {\n      margin: 0 0 10px;\n      font-size: clamp(28px, 4vw, 42px);\n      line-height: 1.08;\n      font-weight: 950;\n    }\n\n    .sfhc-heading p {\n      margin: 0;\n      color: var(--grey);\n      font-size: 16px;\n      line-height: 1.65;\n    }\n\n    .sfhc-benefits {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 18px;\n    }\n\n    .sfhc-benefit {\n      position: relative;\n      overflow: hidden;\n      padding: 24px;\n      border-radius: 26px;\n      background: rgba(255,255,255,0.68);\n      border: 1px solid rgba(255,255,255,0.86);\n      box-shadow: 0 18px 42px rgba(112,67,54,0.11);\n      cursor: pointer;\n      min-height: 188px;\n    }\n\n    .sfhc-benefit:hover {\n      transform: translateY(-5px);\n      box-shadow: 0 25px 55px rgba(112,67,54,0.17);\n    }\n\n    .sfhc-benefit.is-tapped {\n      transform: translateY(-5px) scale(1.01);\n    }\n\n    .sfhc-icon {\n      width: 50px;\n      height: 50px;\n      border-radius: 17px;\n      background: var(--accent);\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: #fff;\n      font-size: 23px;\n      margin-bottom: 16px;\n    }\n\n    .sfhc-benefit h3 {\n      margin: 0 0 8px;\n      font-size: 18px;\n      font-weight: 950;\n    }\n\n    .sfhc-benefit p {\n      margin: 0;\n      color: var(--grey);\n      font-size: 15px;\n      line-height: 1.6;\n    }\n\n    .sfhc-effect-layer {\n      position: absolute;\n      inset: 0;\n      pointer-events: none;\n      overflow: hidden;\n    }\n\n    .sfhc-particle {\n      position: absolute;\n      left: var(--x);\n      bottom: 14px;\n      font-size: var(--size);\n      opacity: 0;\n      animation: sfhcParticle 1.15s ease-out forwards;\n    }\n\n    .sfhc-particle.steam {\n      width: 14px;\n      height: 54px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.74);\n      filter: blur(7px);\n    }\n\n    .sfhc-split {\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 18px;\n      margin-top: 28px;\n    }\n\n    .sfhc-panel {\n      padding: 30px;\n      border-radius: 30px;\n      background: rgba(255,255,255,0.66);\n      border: 1px solid rgba(255,255,255,0.86);\n      box-shadow: 0 22px 55px rgba(112,67,54,0.12);\n    }\n\n    .sfhc-panel h3 {\n      margin: 0 0 16px;\n      font-size: 24px;\n      font-weight: 950;\n    }\n\n    .sfhc-list {\n      display: grid;\n      gap: 13px;\n      margin: 0;\n      padding: 0;\n      list-style: none;\n    }\n\n    .sfhc-list li {\n      display: flex;\n      gap: 10px;\n      align-items: flex-start;\n      color: var(--grey);\n      font-size: 15px;\n      line-height: 1.55;\n      font-weight: 650;\n    }\n\n    .sfhc-list strong {\n      color: var(--charcoal);\n    }\n\n    .sfhc-check {\n      flex: 0 0 auto;\n      width: 24px;\n      height: 24px;\n      border-radius: 999px;\n      background: var(--accent);\n      color: #fff;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 13px;\n      font-weight: 950;\n      margin-top: 1px;\n    }\n\n    .sfhc-size-guide {\n      margin-top: 28px;\n      padding: 30px;\n      border-radius: 30px;\n      background: rgba(255,255,255,0.66);\n      border: 1px solid rgba(255,255,255,0.86);\n      box-shadow: 0 22px 55px rgba(112,67,54,0.12);\n      overflow-x: auto;\n    }\n\n    .sfhc-size-guide h3 {\n      margin: 0 0 8px;\n      font-size: 24px;\n      font-weight: 950;\n    }\n\n    .sfhc-size-guide p {\n      margin: 0 0 18px;\n      color: var(--grey);\n      font-size: 15px;\n      line-height: 1.55;\n      font-weight: 700;\n    }\n\n    .sfhc-size-table {\n      width: 100%;\n      border-collapse: collapse;\n      min-width: 620px;\n      overflow: hidden;\n      border-radius: 18px;\n    }\n\n    .sfhc-size-table th,\n    .sfhc-size-table td {\n      padding: 13px 14px;\n      text-align: left;\n      border-bottom: 1px solid rgba(44,44,44,0.08);\n      font-size: 14px;\n    }\n\n    .sfhc-size-table th {\n      background: rgba(var(--accent-rgb), 0.14);\n      color: var(--charcoal);\n      font-weight: 950;\n    }\n\n    .sfhc-size-table td {\n      background: rgba(255,255,255,0.56);\n      color: var(--grey);\n      font-weight: 700;\n    }\n\n    .sfhc-story {\n      margin-top: 34px;\n      padding: 36px;\n      border-radius: 34px;\n      background: rgba(255,255,255,0.7);\n      border: 1px solid rgba(255,255,255,0.88);\n      box-shadow: 0 26px 68px rgba(112,67,54,0.14);\n      text-align: center;\n    }\n\n    .sfhc-story h2 {\n      margin: 0 0 12px;\n      font-size: clamp(27px, 4vw, 42px);\n      font-weight: 950;\n    }\n\n    .sfhc-story p {\n      max-width: 820px;\n      margin: 0 auto 22px;\n      color: var(--grey);\n      font-size: 17px;\n      line-height: 1.75;\n    }\n\n    @keyframes sfhcBreathe {\n      0%, 100% { transform: scale(1); }\n      50% { transform: scale(1.025); }\n    }\n\n    @keyframes sfhcSteam {\n      0% { opacity: 0; transform: translateY(20px) scaleX(1); }\n      35% { opacity: 0.62; }\n      100% { opacity: 0; transform: translateY(-115px) scaleX(2.2); }\n    }\n\n    @keyframes sfhcParticle {\n      0% { opacity: 0; transform: translateY(20px) scale(0.8); }\n      18% { opacity: 1; }\n      100% { opacity: 0; transform: translateY(-105px) scale(1.35); }\n    }\n\n    @media (max-width: 990px) {\n      .sfhc-hero {\n        grid-template-columns: 1fr;\n      }\n\n      .sfhc-product-card {\n        justify-self: center;\n        max-width: 620px;\n      }\n\n      .sfhc-benefits {\n        grid-template-columns: repeat(2, 1fr);\n      }\n    }\n\n    @media (max-width: 700px) {\n      .sfhc-section {\n        padding: 44px 14px;\n        border-radius: 24px;\n      }\n\n      .sfhc-title {\n        font-size: clamp(36px, 11vw, 48px);\n        letter-spacing: -1.3px;\n      }\n\n      .sfhc-text {\n        font-size: 15.5px;\n      }\n\n      .sfhc-actions {\n        align-items: stretch;\n      }\n\n      .sfhc-btn {\n        width: 100%;\n        padding: 15px 18px;\n      }\n\n      .sfhc-product-card {\n        padding: 18px;\n        border-radius: 28px;\n      }\n\n      .sfhc-visual {\n        min-height: 320px;\n        border-radius: 24px;\n      }\n\n      .sfhc-leggings {\n        width: 190px;\n        height: 280px;\n      }\n\n      .sfhc-waist {\n        width: 132px;\n        height: 52px;\n      }\n\n      .sfhc-leg {\n        top: 43px;\n        width: 68px;\n        height: 228px;\n      }\n\n      .sfhc-leg.left {\n        left: 29px;\n      }\n\n      .sfhc-leg.right {\n        right: 29px;\n      }\n\n      .sfhc-benefits,\n      .sfhc-split {\n        grid-template-columns: 1fr;\n      }\n\n      .sfhc-benefit {\n        min-height: auto;\n        padding: 20px;\n      }\n\n      .sfhc-panel,\n      .sfhc-story,\n      .sfhc-size-guide {\n        padding: 24px 18px;\n      }\n    }\n  \u003c\/style\u003e\n\u003csection class=\"sfhc-section\" id=\"sfhc-second-skin\"\u003e\n\u003cdiv class=\"sfhc-wrap\"\u003e\n\u003cdiv class=\"sfhc-hero\"\u003e\n\u003cdiv\u003e\n\u003cbr\u003e\n\u003ch1 class=\"sfhc-title\"\u003eSoftHaven™ \u003cspan\u003eThe Second Skin\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cdiv class=\"sfhc-subtitle\"\u003eFeel Warm From the Inside Out. 🔥\u003c\/div\u003e\n\u003cp class=\"sfhc-text\"\u003eCold legs are a thing of the past. SoftHaven™ The Second Skin is the high-waisted thermal legging that fits so perfectly and feels so warm, you’ll forget you’re even wearing them.\u003c\/p\u003e\n\u003cdiv class=\"sfhc-actions\"\u003e\n\u003cbutton type=\"button\" class=\"sfhc-btn\" data-sfhc-scroll=\"\"\u003e Choose Your Size \u0026amp; Colour \u003c\/button\u003e\n\u003cdiv class=\"sfhc-note\"\u003eHigh-waisted · Thermal feel · Black, Grey, Navy \u0026amp; Burgundy\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-trust-row\"\u003e\n\u003cspan\u003e🔥 Thermal warmth\u003c\/span\u003e \u003cspan\u003e🤸 Four-way stretch\u003c\/span\u003e \u003cspan\u003e⌛ Sculpting high waist\u003c\/span\u003e \u003cspan\u003e⭐ True-to-size fit\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-product-card\"\u003e\n\u003cdiv class=\"sfhc-visual\"\u003e\n\u003cspan class=\"sfhc-warmth one\"\u003e\u003c\/span\u003e \u003cspan class=\"sfhc-warmth two\"\u003e\u003c\/span\u003e \u003cspan class=\"sfhc-warmth three\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"sfhc-leggings\"\u003e\n\u003cdiv class=\"sfhc-waist\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-leg left\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-leg right\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-colour-title\"\u003eTap a colour to preview the vibe\u003c\/div\u003e\n\u003cdiv class=\"sfhc-colours\"\u003e\n\u003cbutton type=\"button\" class=\"sfhc-colour sfhc-black\" data-colour=\"black\" aria-label=\"Black\"\u003e\u003c\/button\u003e \u003cbutton type=\"button\" class=\"sfhc-colour sfhc-grey\" data-colour=\"grey\" aria-label=\"Grey\"\u003e\u003c\/button\u003e \u003cbutton type=\"button\" class=\"sfhc-colour sfhc-navy\" data-colour=\"navy\" aria-label=\"Navy\"\u003e\u003c\/button\u003e \u003cbutton type=\"button\" class=\"sfhc-colour sfhc-burgundy\" data-colour=\"burgundy\" aria-label=\"Burgundy\"\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-selected\" data-selected-text=\"\"\u003eSelected vibe: Burgundy\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-heading\"\u003e\n\u003ch2\u003eTap a Benefit to Feel the Effect\u003c\/h2\u003e\n\u003cp\u003eEach benefit is interactive, helping customers feel the warmth, stretch and comfort story.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefits\"\u003e\n\u003cdiv class=\"sfhc-benefit\" data-effect=\"steam\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🌡️\u003c\/div\u003e\n\u003ch3\u003eAll-Day Warmth\u003c\/h3\u003e\n\u003cp\u003eThermal-style lining helps keep your legs warm from morning to night.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefit\" data-effect=\"move\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🤸\u003c\/div\u003e\n\u003ch3\u003eMove Freely\u003c\/h3\u003e\n\u003cp\u003eFour-way stretch moves with your body, not against it.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefit\" data-effect=\"sculpt\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e⌛\u003c\/div\u003e\n\u003ch3\u003eSculpting Fit\u003c\/h3\u003e\n\u003cp\u003eThe high waist smooths and shapes for a confident winter silhouette.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefit\" data-effect=\"comfort\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e🧘\u003c\/div\u003e\n\u003ch3\u003eZero Discomfort\u003c\/h3\u003e\n\u003cp\u003eNo pinching, no rolling down and no adjusting all day.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefit\" data-effect=\"style\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e💃\u003c\/div\u003e\n\u003ch3\u003eWear Anywhere\u003c\/h3\u003e\n\u003cp\u003eStylish enough for errands, cosy enough for the couch.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-benefit\" data-effect=\"snow\"\u003e\n\u003cdiv class=\"sfhc-effect-layer\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"sfhc-icon\"\u003e❄️\u003c\/div\u003e\n\u003ch3\u003eSA Winter Ready\u003c\/h3\u003e\n\u003cp\u003eBuilt for Joburg, Cape Town and Bloemfontein cold.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-split\"\u003e\n\u003cdiv class=\"sfhc-panel\"\u003e\n\u003ch3\u003eWhy You’ll Love It\u003c\/h3\u003e\n\u003cul class=\"sfhc-list\"\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eSecond-skin feel:\u003c\/strong\u003e soft, slim and comfortable without feeling restrictive.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eHigh-waisted support:\u003c\/strong\u003e smooths the waist and gives a flattering shape.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eWinter comfort:\u003c\/strong\u003e made for cold days when normal leggings are not enough.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eEasy styling:\u003c\/strong\u003e pair with hoodies, jerseys, coats, boots or sneakers.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-panel\"\u003e\n\u003ch3\u003ePerfect For\u003c\/h3\u003e\n\u003cul class=\"sfhc-list\"\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eCold morning errands\u003c\/strong\u003e when you still want to look put together.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eLounging at home\u003c\/strong\u003e without freezing your legs.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eLight workouts or yoga\u003c\/strong\u003e thanks to flexible stretch.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eWinter layering\u003c\/strong\u003e under oversized tops, jackets and coats.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-size-guide\"\u003e\n\u003ch3\u003eSize Guide 📏\u003c\/h3\u003e\n\u003cp\u003e93% of customers say these fit true to size. Choose your usual size for a slim, sculpted fit.\u003c\/p\u003e\n\u003ctable class=\"sfhc-size-table\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eSize\u003c\/th\u003e\n\u003cth\u003eWaist\u003c\/th\u003e\n\u003cth\u003eHips\u003c\/th\u003e\n\u003cth\u003eHeight\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eS\u003c\/td\u003e\n\u003ctd\u003e66-70cm\u003c\/td\u003e\n\u003ctd\u003e91-95cm\u003c\/td\u003e\n\u003ctd\u003e165-170cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eM\u003c\/td\u003e\n\u003ctd\u003e70-74cm\u003c\/td\u003e\n\u003ctd\u003e95-99cm\u003c\/td\u003e\n\u003ctd\u003e170-175cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eL\u003c\/td\u003e\n\u003ctd\u003e75-81cm\u003c\/td\u003e\n\u003ctd\u003e100-106cm\u003c\/td\u003e\n\u003ctd\u003e175-180cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eXL\u003c\/td\u003e\n\u003ctd\u003e81-87cm\u003c\/td\u003e\n\u003ctd\u003e106-112cm\u003c\/td\u003e\n\u003ctd\u003e175-180cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eXXL\u003c\/td\u003e\n\u003ctd\u003e87-93cm\u003c\/td\u003e\n\u003ctd\u003e112-118cm\u003c\/td\u003e\n\u003ctd\u003e180-185cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sfhc-story\"\u003e\n\u003ch2\u003eYour Warmest, Most Flattering Winter Starts Here 🇿🇦\u003c\/h2\u003e\n\u003cp\u003eImagine stepping out on a freezing morning without that icy-leg feeling. The Second Skin keeps you warm, smooth and comfortable — from errands to lounging, from chilly nights to winter mornings.\u003c\/p\u003e\n\u003cbutton type=\"button\" class=\"sfhc-btn\" data-sfhc-scroll=\"\"\u003e Choose My Size \u0026amp; Colour \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n    (function () {\n      var section = document.getElementById(\"sfhc-second-skin\");\n      if (!section) return;\n\n      var selectedText = section.querySelector(\"[data-selected-text]\");\n\n      var colourData = {\n        black: {\n          name: \"Black\",\n          accent: \"#2c2c2c\",\n          accentDark: \"#111111\",\n          accentRgb: \"44, 44, 44\",\n          bgOne: \"#f7f2ef\",\n          bgTwo: \"#d8d1cd\",\n          leggingOne: \"#444444\",\n          leggingTwo: \"#111111\"\n        },\n        grey: {\n          name: \"Grey\",\n          accent: \"#8f8f8f\",\n          accentDark: \"#5c5c5c\",\n          accentRgb: \"143, 143, 143\",\n          bgOne: \"#fafafa\",\n          bgTwo: \"#d6d6d6\",\n          leggingOne: \"#b8b8b8\",\n          leggingTwo: \"#6f6f6f\"\n        },\n        navy: {\n          name: \"Navy\",\n          accent: \"#17213f\",\n          accentDark: \"#0d1428\",\n          accentRgb: \"23, 33, 63\",\n          bgOne: \"#f3f5ff\",\n          bgTwo: \"#c8d3ef\",\n          leggingOne: \"#2c3b69\",\n          leggingTwo: \"#111a35\"\n        },\n        burgundy: {\n          name: \"Burgundy\",\n          accent: \"#8b1e2d\",\n          accentDark: \"#651521\",\n          accentRgb: \"139, 30, 45\",\n          bgOne: \"#fff1f2\",\n          bgTwo: \"#e8a0a8\",\n          leggingOne: \"#a43a49\",\n          leggingTwo: \"#651521\"\n        }\n      };\n\n      function setColour(colour) {\n        var data = colourData[colour];\n        if (!data) return;\n\n        section.style.setProperty(\"--accent\", data.accent);\n        section.style.setProperty(\"--accent-dark\", data.accentDark);\n        section.style.setProperty(\"--accent-rgb\", data.accentRgb);\n        section.style.setProperty(\"--bg-one\", data.bgOne);\n        section.style.setProperty(\"--bg-two\", data.bgTwo);\n        section.style.setProperty(\"--legging-one\", data.leggingOne);\n        section.style.setProperty(\"--legging-two\", data.leggingTwo);\n\n        section.querySelectorAll(\"[data-colour]\").forEach(function (btn) {\n          btn.classList.toggle(\"is-active\", btn.getAttribute(\"data-colour\") === colour);\n        });\n\n        if (selectedText) {\n          selectedText.textContent = \"Selected vibe: \" + data.name;\n        }\n      }\n\n      section.querySelectorAll(\"[data-colour]\").forEach(function (button) {\n        button.addEventListener(\"click\", function () {\n          setColour(button.getAttribute(\"data-colour\"));\n        });\n      });\n\n      function createEffect(card, type) {\n        var layer = card.querySelector(\".sfhc-effect-layer\");\n        if (!layer) return;\n\n        layer.innerHTML = \"\";\n        card.classList.add(\"is-tapped\");\n\n        setTimeout(function () {\n          card.classList.remove(\"is-tapped\");\n        }, 450);\n\n        var symbols = {\n          steam: [\"\", \"\", \"\", \"\", \"\"],\n          move: [\"↗\", \"↖\", \"↗\", \"✨\", \"↖\"],\n          sculpt: [\"⌛\", \"✨\", \"⌛\", \"♡\", \"✨\"],\n          comfort: [\"🧘\", \"♡\", \"✨\", \"♡\", \"🧘\"],\n          style: [\"💃\", \"✨\", \"♡\", \"💃\", \"✨\"],\n          snow: [\"❄️\", \"❄️\", \"✨\", \"❄️\", \"❄️\"]\n        };\n\n        var selected = symbols[type] || [\"✨\", \"✨\", \"✨\"];\n\n        selected.forEach(function (symbol, index) {\n          var particle = document.createElement(\"span\");\n          particle.className = \"sfhc-particle\";\n\n          if (type === \"steam\") {\n            particle.classList.add(\"steam\");\n          } else {\n            particle.textContent = symbol;\n          }\n\n          particle.style.setProperty(\"--x\", 18 + index * 15 + \"%\");\n          particle.style.setProperty(\"--size\", 18 + index * 2 + \"px\");\n          particle.style.animationDelay = index * 0.08 + \"s\";\n\n          layer.appendChild(particle);\n        });\n\n        setTimeout(function () {\n          layer.innerHTML = \"\";\n        }, 1500);\n      }\n\n      section.querySelectorAll(\".sfhc-benefit\").forEach(function (card) {\n        card.addEventListener(\"click\", function () {\n          createEffect(card, card.getAttribute(\"data-effect\"));\n        });\n      });\n\n      section.querySelectorAll(\"[data-sfhc-scroll]\").forEach(function (button) {\n        button.addEventListener(\"click\", function () {\n          var productForm =\n            document.querySelector(\".product-form\") ||\n            document.querySelector('form[action*=\"\/cart\/add\"]') ||\n            document.querySelector('[id*=\"ProductSubmitButton\"]');\n\n          if (productForm) {\n            productForm.scrollIntoView({\n              behavior: \"smooth\",\n              block: \"center\"\n            });\n          }\n        });\n      });\n\n      setColour(\"burgundy\");\n    })();\n  \u003c\/script\u003e\u003c\/section\u003e","brand":"SoftHaven","offers":[{"title":"Black \/ S","offer_id":46777765724297,"sku":"SSH-LEG-BLK-S","price":299.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ M","offer_id":46777765757065,"sku":"SSH-LEG-BLK-M","price":339.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ L","offer_id":46777765789833,"sku":"SSH-LEG-BLK-L","price":379.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ XL","offer_id":46777765822601,"sku":"SSH-LEG-BLK-XL","price":419.0,"currency_code":"ZAR","in_stock":true},{"title":"Black \/ 2XL","offer_id":46777765855369,"sku":"SSH-LEG-BLK-2XL","price":459.0,"currency_code":"ZAR","in_stock":true},{"title":"Navy \/ S","offer_id":46777765888137,"sku":"SSH-LEG-NVY-S","price":339.0,"currency_code":"ZAR","in_stock":true},{"title":"Navy \/ M","offer_id":46777765920905,"sku":"SSH-LEG-NVY-M","price":339.0,"currency_code":"ZAR","in_stock":true},{"title":"Navy \/ L","offer_id":46777765953673,"sku":"SSH-LEG-NVY-L","price":379.0,"currency_code":"ZAR","in_stock":true},{"title":"Navy \/ XL","offer_id":46777765986441,"sku":"SSH-LEG-NVY-XL","price":419.0,"currency_code":"ZAR","in_stock":true},{"title":"Navy \/ 2XL","offer_id":46777766019209,"sku":"SSH-LEG-NVY-2XL","price":459.0,"currency_code":"ZAR","in_stock":true},{"title":"Gray \/ S","offer_id":46777766051977,"sku":"SSH-LEG-GRY-S","price":339.0,"currency_code":"ZAR","in_stock":true},{"title":"Gray \/ M","offer_id":46777766084745,"sku":"SSH-LEG-GRY-M","price":339.0,"currency_code":"ZAR","in_stock":true},{"title":"Gray \/ L","offer_id":46777766117513,"sku":"SSH-LEG-GRY-L","price":379.0,"currency_code":"ZAR","in_stock":true},{"title":"Gray \/ XL","offer_id":46777766150281,"sku":"SSH-LEG-GRY-XL","price":419.0,"currency_code":"ZAR","in_stock":true},{"title":"Gray \/ 2XL","offer_id":46777766183049,"sku":"SSH-LEG-GRY-2XL","price":459.0,"currency_code":"ZAR","in_stock":true},{"title":"Burgundy \/ S","offer_id":46777766215817,"sku":"SSH-LEG-BRG-S","price":299.0,"currency_code":"ZAR","in_stock":true},{"title":"Burgundy \/ M","offer_id":46777766248585,"sku":"SSH-LEG-BRG-M","price":339.0,"currency_code":"ZAR","in_stock":true},{"title":"Burgundy \/ L","offer_id":46777766281353,"sku":"SSH-LEG-BRG-L","price":379.0,"currency_code":"ZAR","in_stock":true},{"title":"Burgundy \/ XL","offer_id":46777766314121,"sku":"SSH-LEG-BRG-XL","price":419.0,"currency_code":"ZAR","in_stock":true},{"title":"Burgundy \/ 2XL","offer_id":46777766346889,"sku":"SSH-LEG-BRG-2XL","price":459.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0765\/3539\/8537\/files\/second-skin-black.png?v=1779287295"},{"product_id":"softhaven™-the-cloud-hoodie","title":"SoftHaven™ The Cloud Hoodie","description":"\u003csection class=\"sfhc-section\" id=\"sfhc-cloud-hoodie\"\u003e\n  \u003cstyle\u003e\n    .sfhc-section {\n      --rust: #d4806a;\n      --rust-dark: #bd6b57;\n      --cream: #faf0eb;\n      --peach: #f2c4b0;\n      --charcoal: #2c2c2c;\n      --grey: #5c5c5c;\n\n      --accent: #d4806a;\n      --accent-dark: #bd6b57;\n      --accent-rgb: 212, 128, 106;\n      --bg-one: #faf0eb;\n      --bg-two: #f2c4b0;\n      --hoodie-one: #e5a18a;\n      --hoodie-two: #d4806a;\n\n      width: 100%;\n      position: relative;\n      overflow: hidden;\n      padding: 64px 18px;\n      border-radius: 32px;\n      background:\n        radial-gradient(circle at 8% 10%, rgba(var(--accent-rgb), 0.22), transparent 32%),\n        radial-gradient(circle at 92% 4%, rgba(255,255,255,0.82), transparent 28%),\n        linear-gradient(135deg, var(--bg-one), var(--bg-two));\n      color: var(--charcoal);\n      font-family: inherit;\n      transition: background 0.45s ease;\n    }\n\n    .sfhc-section * {\n      box-sizing: border-box;\n      max-width: 100%;\n    }\n\n    .sfhc-wrap {\n      max-width: 1180px;\n      margin: 0 auto;\n      width: 100%;\n    }\n\n    .sfhc-hero {\n      display: grid;\n      grid-template-columns: 1.05fr 0.95fr;\n      gap: 44px;\n      align-items: center;\n    }\n\n    .sfhc-badge {\n      display: inline-flex;\n      padding: 10px 15px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.72);\n      border: 1px solid rgba(255,255,255,0.86);\n      font-size: 14px;\n      font-weight: 800;\n      margin-bottom: 18px;\n    }\n\n    .sfhc-title {\n      margin: 0 0 14px;\n      font-size: clamp(38px, 6vw, 74px);\n      line-height: 0.96;\n      letter-spacing: -2px;\n      font-weight: 950;\n      color: var(--charcoal);\n    }\n\n    .sfhc-title span {\n      display: block;\n      color: var(--accent);\n      transition: color 0.35s ease;\n    }\n\n    .sfhc-subtitle {\n      font-size: clamp(20px, 2.4vw, 28px);\n      font-weight: 900;\n      margin-bottom: 16px;\n    }\n\n    .sfhc-text {\n      color: var(--grey);\n      font-size: 17px;\n      line-height: 1.75;\n      margin: 0 0 24px;\n    }\n\n    .sfhc-actions {\n      display: flex;\n      flex-wrap: wrap;\n      align-items: center;\n      gap: 14px;\n    }\n\n    .sfhc-btn {\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      min-height: 52px;\n      padding: 16px 28px;\n      border-radius: 999px;\n      border: none;\n      background: var(--accent);\n      color: #fff;\n      font-size: 16px;\n      font-weight: 950;\n      cursor: pointer;\n      text-decoration: none;\n      box-shadow: 0 18px 38px rgba(var(--accent-rgb), 0.34);\n      transition: 0.22s ease;\n    }\n\n    .sfhc-btn:hover {\n      transform: translateY(-2px);\n      background: var(--accent-dark);\n    }\n\n    .sfhc-note {\n      color: var(--grey);\n      font-size: 14px;\n      font-weight: 700;\n      line-height: 1.45;\n    }\n\n    .sfhc-trust-row {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 9px;\n      margin-top: 22px;\n    }\n\n    .sfhc-trust-row span {\n      padding: 9px 12px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.66);\n      border: 1px solid rgba(255,255,255,0.82);\n      font-size: 13px;\n      font-weight: 800;\n    }\n\n    .sfhc-product-card {\n      width: 100%;\n      max-width: 520px;\n      justify-self: end;\n      padding: 24px;\n      border-radius: 34px;\n      background: rgba(255,255,255,0.68);\n      border: 1px solid rgba(255,255,255,0.88);\n      box-shadow: 0 32px 80px rgba(112,67,54,0.18);\n      backdrop-filter: blur(16px);\n    }\n\n    .sfhc-visual {\n      position: relative;\n      width: 100%;\n      min-height: 360px;\n      border-radius: 28px;\n      overflow: hidden;\n      background:\n        radial-gradient(circle at 50% 18%, rgba(255,255,255,0.94), transparent 30%),\n        linear-gradient(145deg, rgba(255,255,255,0.72), rgba(var(--accent-rgb), 0.32));\n      display: flex;\n      align-items: center;\n      justify-content: center;\n    }\n\n    .sfhc-hoodie {\n      position: relative;\n      width: 250px;\n      height: 310px;\n      border-radius: 95px 95px 48px 48px;\n      background:\n        radial-gradient(circle at 35% 25%, rgba(255,255,255,0.66), transparent 18%),\n        linear-gradient(145deg, var(--hoodie-one), var(--hoodie-two));\n      box-shadow: 0 28px 60px rgba(112,67,54,0.28);\n      animation: sfhcBreathe 4.5s ease-in-out infinite;\n      transition: background 0.4s ease;\n    }\n\n    .sfhc-hoodie::before {\n      content: \"\";\n      position: absolute;\n      top: 24px;\n      left: 50%;\n      width: 125px;\n      height: 92px;\n      transform: translateX(-50%);\n      border-radius: 70px 70px 38px 38px;\n      background: rgba(255,255,255,0.38);\n    }\n\n    .sfhc-hoodie::after {\n      content: \"\";\n      position: absolute;\n      bottom: 45px;\n      left: 50%;\n      width: 150px;\n      height: 68px;\n      transform: translateX(-50%);\n      border-radius: 26px;\n      background: rgba(255,255,255,0.34);\n    }\n\n    .sfhc-warmth {\n      position: absolute;\n      bottom: 34px;\n      width: 14px;\n      height: 82px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.55);\n      filter: blur(8px);\n      pointer-events: none;\n      animation: sfhcSteam 4.5s ease-in-out infinite;\n    }\n\n    .sfhc-warmth.one { left: 23%; animation-delay: 0s; }\n    .sfhc-warmth.two { left: 50%; animation-delay: 1s; }\n    .sfhc-warmth.three { right: 23%; animation-delay: 2s; }\n\n    .sfhc-colour-title {\n      margin-top: 18px;\n      text-align: center;\n      font-size: 15px;\n      font-weight: 900;\n    }\n\n    .sfhc-colours {\n      display: flex;\n      justify-content: center;\n      gap: 11px;\n      margin-top: 13px;\n      flex-wrap: wrap;\n    }\n\n    .sfhc-colour {\n      width: 42px;\n      height: 42px;\n      border-radius: 999px;\n      border: 3px solid #fff;\n      box-shadow: 0 8px 18px rgba(44,44,44,0.15);\n      cursor: pointer;\n      transition: 0.2s ease;\n      appearance: none;\n      padding: 0;\n    }\n\n    .sfhc-colour.is-active {\n      box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.24), 0 8px 18px rgba(44,44,44,0.14);\n      transform: scale(1.08);\n    }\n\n    .sfhc-black { background: #111111; }\n    .sfhc-sky { background: #a8dff2; }\n    .sfhc-navy { background: #17213f; }\n    .sfhc-pink { background: #f5a9bd; }\n\n    .sfhc-selected {\n      text-align: center;\n      margin-top: 12px;\n      color: var(--grey);\n      font-size: 14px;\n      font-weight: 800;\n    }\n\n    .sfhc-heading {\n      max-width: 760px;\n      margin: 58px auto 24px;\n      text-align: center;\n    }\n\n    .sfhc-heading h2 {\n      margin: 0 0 10px;\n      font-size: clamp(28px, 4vw, 42px);\n      line-height: 1.08;\n      font-weight: 950;\n    }\n\n    .sfhc-heading p {\n      margin: 0;\n      color: var(--grey);\n      font-size: 16px;\n      line-height: 1.65;\n    }\n\n    .sfhc-benefits {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 18px;\n    }\n\n    .sfhc-benefit {\n      position: relative;\n      overflow: hidden;\n      padding: 24px;\n      border-radius: 26px;\n      background: rgba(255,255,255,0.68);\n      border: 1px solid rgba(255,255,255,0.86);\n      box-shadow: 0 18px 42px rgba(112,67,54,0.11);\n      cursor: pointer;\n      min-height: 188px;\n    }\n\n    .sfhc-benefit:hover {\n      transform: translateY(-5px);\n      box-shadow: 0 25px 55px rgba(112,67,54,0.17);\n    }\n\n    .sfhc-benefit.is-tapped {\n      transform: translateY(-5px) scale(1.01);\n    }\n\n    .sfhc-icon {\n      width: 50px;\n      height: 50px;\n      border-radius: 17px;\n      background: var(--accent);\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: #fff;\n      font-size: 23px;\n      margin-bottom: 16px;\n    }\n\n    .sfhc-benefit h3 {\n      margin: 0 0 8px;\n      font-size: 18px;\n      font-weight: 950;\n    }\n\n    .sfhc-benefit p {\n      margin: 0;\n      color: var(--grey);\n      font-size: 15px;\n      line-height: 1.6;\n    }\n\n    .sfhc-effect-layer {\n      position: absolute;\n      inset: 0;\n      pointer-events: none;\n      overflow: hidden;\n    }\n\n    .sfhc-particle {\n      position: absolute;\n      left: var(--x);\n      bottom: 14px;\n      font-size: var(--size);\n      opacity: 0;\n      animation: sfhcParticle 1.15s ease-out forwards;\n    }\n\n    .sfhc-particle.steam {\n      width: 14px;\n      height: 54px;\n      border-radius: 999px;\n      background: rgba(255,255,255,0.74);\n      filter: blur(7px);\n    }\n\n    .sfhc-split {\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 18px;\n      margin-top: 28px;\n    }\n\n    .sfhc-panel {\n      padding: 30px;\n      border-radius: 30px;\n      background: rgba(255,255,255,0.66);\n      border: 1px solid rgba(255,255,255,0.86);\n      box-shadow: 0 22px 55px rgba(112,67,54,0.12);\n    }\n\n    .sfhc-panel h3 {\n      margin: 0 0 16px;\n      font-size: 24px;\n      font-weight: 950;\n    }\n\n    .sfhc-list {\n      display: grid;\n      gap: 13px;\n      margin: 0;\n      padding: 0;\n      list-style: none;\n    }\n\n    .sfhc-list li {\n      display: flex;\n      gap: 10px;\n      align-items: flex-start;\n      color: var(--grey);\n      font-size: 15px;\n      line-height: 1.55;\n      font-weight: 650;\n    }\n\n    .sfhc-list strong {\n      color: var(--charcoal);\n    }\n\n    .sfhc-check {\n      flex: 0 0 auto;\n      width: 24px;\n      height: 24px;\n      border-radius: 999px;\n      background: var(--accent);\n      color: #fff;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 13px;\n      font-weight: 950;\n      margin-top: 1px;\n    }\n\n    .sfhc-story {\n      margin-top: 34px;\n      padding: 36px;\n      border-radius: 34px;\n      background: rgba(255,255,255,0.7);\n      border: 1px solid rgba(255,255,255,0.88);\n      box-shadow: 0 26px 68px rgba(112,67,54,0.14);\n      text-align: center;\n    }\n\n    .sfhc-story h2 {\n      margin: 0 0 12px;\n      font-size: clamp(27px, 4vw, 42px);\n      font-weight: 950;\n    }\n\n    .sfhc-story p {\n      max-width: 820px;\n      margin: 0 auto 22px;\n      color: var(--grey);\n      font-size: 17px;\n      line-height: 1.75;\n    }\n\n    @keyframes sfhcBreathe {\n      0%, 100% { transform: scale(1); }\n      50% { transform: scale(1.025); }\n    }\n\n    @keyframes sfhcSteam {\n      0% { opacity: 0; transform: translateY(20px) scaleX(1); }\n      35% { opacity: 0.62; }\n      100% { opacity: 0; transform: translateY(-115px) scaleX(2.2); }\n    }\n\n    @keyframes sfhcParticle {\n      0% { opacity: 0; transform: translateY(20px) scale(0.8); }\n      18% { opacity: 1; }\n      100% { opacity: 0; transform: translateY(-105px) scale(1.35); }\n    }\n\n    @media (max-width: 990px) {\n      .sfhc-hero {\n        grid-template-columns: 1fr;\n      }\n\n      .sfhc-product-card {\n        justify-self: center;\n        max-width: 620px;\n      }\n\n      .sfhc-benefits {\n        grid-template-columns: repeat(2, 1fr);\n      }\n    }\n\n    @media (max-width: 700px) {\n      .sfhc-section {\n        padding: 44px 14px;\n        border-radius: 24px;\n      }\n\n      .sfhc-title {\n        font-size: clamp(36px, 11vw, 48px);\n        letter-spacing: -1.3px;\n      }\n\n      .sfhc-text {\n        font-size: 15.5px;\n      }\n\n      .sfhc-actions {\n        align-items: stretch;\n      }\n\n      .sfhc-btn {\n        width: 100%;\n        padding: 15px 18px;\n      }\n\n      .sfhc-product-card {\n        padding: 18px;\n        border-radius: 28px;\n      }\n\n      .sfhc-visual {\n        min-height: 320px;\n        border-radius: 24px;\n      }\n\n      .sfhc-hoodie {\n        width: 210px;\n        height: 265px;\n      }\n\n      .sfhc-benefits,\n      .sfhc-split {\n        grid-template-columns: 1fr;\n      }\n\n      .sfhc-benefit {\n        min-height: auto;\n        padding: 20px;\n      }\n\n      .sfhc-panel,\n      .sfhc-story {\n        padding: 24px 18px;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"sfhc-wrap\"\u003e\n    \u003cdiv class=\"sfhc-hero\"\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"sfhc-badge\"\u003e🇿🇦 Made for South African winters\u003c\/div\u003e\n\n        \u003ch1 class=\"sfhc-title\"\u003e\n          SoftHaven™\n          \u003cspan\u003eThe Cloud Hoodie\u003c\/span\u003e\n        \u003c\/h1\u003e\n\n        \u003cdiv class=\"sfhc-subtitle\"\u003eNever Feel Cold Again. ❄️\u003c\/div\u003e\n\n        \u003cp class=\"sfhc-text\"\u003e\n          South African winters hit different. The Cloud Hoodie wraps you in oversized warmth,\n          skin-soft comfort and effortless winter style — so you can stay cosy without wearing five layers.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"sfhc-actions\"\u003e\n          \u003cbutton type=\"button\" class=\"sfhc-btn\" data-sfhc-scroll\u003e\n            Choose Your Colour \u0026amp; Stay Warm\n          \u003c\/button\u003e\n\n          \u003cdiv class=\"sfhc-note\"\u003e\n            One size fits most · Unisex · Black, Sky Blue, Navy \u0026amp; Pink\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sfhc-trust-row\"\u003e\n          \u003cspan\u003e☁️ Cloud-soft feel\u003c\/span\u003e\n          \u003cspan\u003e🔥 Winter warmth\u003c\/span\u003e\n          \u003cspan\u003e🤲 Deep front pocket\u003c\/span\u003e\n          \u003cspan\u003e🎁 Gift-ready comfort\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sfhc-product-card\"\u003e\n        \u003cdiv class=\"sfhc-visual\"\u003e\n          \u003cspan class=\"sfhc-warmth one\"\u003e\u003c\/span\u003e\n          \u003cspan class=\"sfhc-warmth two\"\u003e\u003c\/span\u003e\n          \u003cspan class=\"sfhc-warmth three\"\u003e\u003c\/span\u003e\n          \u003cdiv class=\"sfhc-hoodie\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sfhc-colour-title\"\u003eTap a colour to preview the vibe\u003c\/div\u003e\n\n        \u003cdiv class=\"sfhc-colours\"\u003e\n          \u003cbutton type=\"button\" class=\"sfhc-colour sfhc-black\" data-colour=\"black\" aria-label=\"Black\"\u003e\u003c\/button\u003e\n          \u003cbutton type=\"button\" class=\"sfhc-colour sfhc-sky\" data-colour=\"sky\" aria-label=\"Sky Blue\"\u003e\u003c\/button\u003e\n          \u003cbutton type=\"button\" class=\"sfhc-colour sfhc-navy\" data-colour=\"navy\" aria-label=\"Navy\"\u003e\u003c\/button\u003e\n          \u003cbutton type=\"button\" class=\"sfhc-colour sfhc-pink\" data-colour=\"pink\" aria-label=\"Pink\"\u003e\u003c\/button\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sfhc-selected\" data-selected-text\u003e\n          Selected vibe: SoftHaven Terracotta\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"sfhc-heading\"\u003e\n      \u003ch2\u003eTap a Benefit to Feel the Effect\u003c\/h2\u003e\n      \u003cp\u003eEach benefit is interactive, so customers can experience the comfort story.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"sfhc-benefits\"\u003e\n      \u003cdiv class=\"sfhc-benefit\" data-effect=\"steam\"\u003e\n        \u003cdiv class=\"sfhc-effect-layer\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"sfhc-icon\"\u003e🌡️\u003c\/div\u003e\n        \u003ch3\u003eInstant Full-Body Warmth\u003c\/h3\u003e\n        \u003cp\u003eTap here and feel the warmth. Slip it on and feel wrapped from your shoulders down.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sfhc-benefit\" data-effect=\"cloud\"\u003e\n        \u003cdiv class=\"sfhc-effect-layer\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"sfhc-icon\"\u003e🧸\u003c\/div\u003e\n        \u003ch3\u003eSkin-Soft Comfort\u003c\/h3\u003e\n        \u003cp\u003eSoft, cosy and gentle enough to make you want to live in it all winter.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sfhc-benefit\" data-effect=\"zzz\"\u003e\n        \u003cdiv class=\"sfhc-effect-layer\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"sfhc-icon\"\u003e😴\u003c\/div\u003e\n        \u003ch3\u003eDeep Relaxation\u003c\/h3\u003e\n        \u003cp\u003eThe oversized warmth helps you unwind, relax and feel calm after a long day.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sfhc-benefit\" data-effect=\"move\"\u003e\n        \u003cdiv class=\"sfhc-effect-layer\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"sfhc-icon\"\u003e🛋️\u003c\/div\u003e\n        \u003ch3\u003eMove Freely\u003c\/h3\u003e\n        \u003cp\u003eWalk, cook, study, scroll and lounge without dragging a blanket around.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sfhc-benefit\" data-effect=\"hands\"\u003e\n        \u003cdiv class=\"sfhc-effect-layer\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"sfhc-icon\"\u003e🤲\u003c\/div\u003e\n        \u003ch3\u003eWarm Hands Always\u003c\/h3\u003e\n        \u003cp\u003eThe deep front pocket keeps your hands warm and your essentials close.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sfhc-benefit\" data-effect=\"save\"\u003e\n        \u003cdiv class=\"sfhc-effect-layer\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"sfhc-icon\"\u003e💸\u003c\/div\u003e\n        \u003ch3\u003eUse Less Heater Time\u003c\/h3\u003e\n        \u003cp\u003eStay warm without needing to turn up the heater every time the cold hits.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"sfhc-split\"\u003e\n      \u003cdiv class=\"sfhc-panel\"\u003e\n        \u003ch3\u003eWhy You’ll Love It\u003c\/h3\u003e\n        \u003cul class=\"sfhc-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eOversized comfort:\u003c\/strong\u003e made for lounging, relaxing and staying warm without feeling restricted.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eOne-piece warmth:\u003c\/strong\u003e hoodie, blanket and pocket comfort combined into one cosy essential.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eEveryday use:\u003c\/strong\u003e perfect for home, study sessions, movie nights and cold Sunday mornings.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003ePremium look:\u003c\/strong\u003e soft colours, clean fit and a cosy aesthetic that still looks cute.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sfhc-panel\"\u003e\n        \u003ch3\u003ePerfect For\u003c\/h3\u003e\n        \u003cul class=\"sfhc-list\"\u003e\n          \u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eCold Jozi mornings\u003c\/strong\u003e when getting out of bed feels impossible.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eStudents\u003c\/strong\u003e who need warmth while studying late.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eMovie nights\u003c\/strong\u003e when you want comfort without dragging a blanket around.\u003c\/span\u003e\n\u003c\/li\u003e\n          \u003cli\u003e\n\u003cspan class=\"sfhc-check\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eGifting\u003c\/strong\u003e because everyone loves something warm, soft and useful.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"sfhc-story\"\u003e\n      \u003ch2\u003eYour Winter, Transformed ☁️\u003c\/h2\u003e\n      \u003cp\u003e\n        Picture this: it is a cold Sunday morning in Jozi. You reach for The Cloud Hoodie,\n        wrap yourself up, make a warm drink and settle in. No shivering. No uncomfortable layers.\n        Just pure, effortless comfort.\n      \u003c\/p\u003e\n\n      \u003cbutton type=\"button\" class=\"sfhc-btn\" data-sfhc-scroll\u003e\n        Get Yours Before The Cold Hits\n      \u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function () {\n      var section = document.getElementById(\"sfhc-cloud-hoodie\");\n      if (!section) return;\n\n      var selectedText = section.querySelector(\"[data-selected-text]\");\n\n      var colourData = {\n        black: {\n          name: \"Black\",\n          accent: \"#2c2c2c\",\n          accentDark: \"#111111\",\n          accentRgb: \"44, 44, 44\",\n          bgOne: \"#f7f2ef\",\n          bgTwo: \"#d8d1cd\",\n          hoodieOne: \"#444444\",\n          hoodieTwo: \"#111111\"\n        },\n        sky: {\n          name: \"Sky Blue\",\n          accent: \"#6eb8d4\",\n          accentDark: \"#4b9fbd\",\n          accentRgb: \"110, 184, 212\",\n          bgOne: \"#f7fbff\",\n          bgTwo: \"#bdeeff\",\n          hoodieOne: \"#d6f4ff\",\n          hoodieTwo: \"#8ed8ff\"\n        },\n        navy: {\n          name: \"Navy\",\n          accent: \"#17213f\",\n          accentDark: \"#0d1428\",\n          accentRgb: \"23, 33, 63\",\n          bgOne: \"#f3f5ff\",\n          bgTwo: \"#c8d3ef\",\n          hoodieOne: \"#2c3b69\",\n          hoodieTwo: \"#111a35\"\n        },\n        pink: {\n          name: \"Pink\",\n          accent: \"#d97896\",\n          accentDark: \"#be5f7d\",\n          accentRgb: \"217, 120, 150\",\n          bgOne: \"#fff3f6\",\n          bgTwo: \"#f5b5c7\",\n          hoodieOne: \"#ffd3df\",\n          hoodieTwo: \"#f5a9bd\"\n        }\n      };\n\n      function setColour(colour) {\n        var data = colourData[colour];\n        if (!data) return;\n\n        section.style.setProperty(\"--accent\", data.accent);\n        section.style.setProperty(\"--accent-dark\", data.accentDark);\n        section.style.setProperty(\"--accent-rgb\", data.accentRgb);\n        section.style.setProperty(\"--bg-one\", data.bgOne);\n        section.style.setProperty(\"--bg-two\", data.bgTwo);\n        section.style.setProperty(\"--hoodie-one\", data.hoodieOne);\n        section.style.setProperty(\"--hoodie-two\", data.hoodieTwo);\n\n        section.querySelectorAll(\"[data-colour]\").forEach(function (btn) {\n          btn.classList.toggle(\"is-active\", btn.getAttribute(\"data-colour\") === colour);\n        });\n\n        if (selectedText) {\n          selectedText.textContent = \"Selected vibe: \" + data.name;\n        }\n      }\n\n      section.querySelectorAll(\"[data-colour]\").forEach(function (button) {\n        button.addEventListener(\"click\", function () {\n          setColour(button.getAttribute(\"data-colour\"));\n        });\n      });\n\n      function createEffect(card, type) {\n        var layer = card.querySelector(\".sfhc-effect-layer\");\n        if (!layer) return;\n\n        layer.innerHTML = \"\";\n        card.classList.add(\"is-tapped\");\n\n        setTimeout(function () {\n          card.classList.remove(\"is-tapped\");\n        }, 450);\n\n        var symbols = {\n          steam: [\"\", \"\", \"\", \"\", \"\"],\n          cloud: [\"☁️\", \"♡\", \"☁️\", \"♡\", \"☁️\"],\n          zzz: [\"zZ\", \"Zz\", \"zZ\", \"✨\", \"Zz\"],\n          move: [\"↗\", \"↖\", \"↗\", \"✨\", \"↖\"],\n          hands: [\"🔥\", \"🤲\", \"🔥\", \"✨\", \"🔥\"],\n          save: [\"R\", \"💸\", \"R\", \"✨\", \"💸\"]\n        };\n\n        var selected = symbols[type] || [\"✨\", \"✨\", \"✨\"];\n\n        selected.forEach(function (symbol, index) {\n          var particle = document.createElement(\"span\");\n          particle.className = \"sfhc-particle\";\n\n          if (type === \"steam\") {\n            particle.classList.add(\"steam\");\n          } else {\n            particle.textContent = symbol;\n          }\n\n          particle.style.setProperty(\"--x\", 18 + index * 15 + \"%\");\n          particle.style.setProperty(\"--size\", 18 + index * 2 + \"px\");\n          particle.style.animationDelay = index * 0.08 + \"s\";\n\n          layer.appendChild(particle);\n        });\n\n        setTimeout(function () {\n          layer.innerHTML = \"\";\n        }, 1500);\n      }\n\n      section.querySelectorAll(\".sfhc-benefit\").forEach(function (card) {\n        card.addEventListener(\"click\", function () {\n          createEffect(card, card.getAttribute(\"data-effect\"));\n        });\n      });\n\n      section.querySelectorAll(\"[data-sfhc-scroll]\").forEach(function (button) {\n        button.addEventListener(\"click\", function () {\n          var productForm =\n            document.querySelector(\".product-form\") ||\n            document.querySelector('form[action*=\"\/cart\/add\"]') ||\n            document.querySelector('[id*=\"ProductSubmitButton\"]');\n\n          if (productForm) {\n            productForm.scrollIntoView({\n              behavior: \"smooth\",\n              block: \"center\"\n            });\n          }\n        });\n      });\n\n      setColour(\"pink\");\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e","brand":"SoftHaven","offers":[{"title":"Black","offer_id":46777766412425,"sku":"SSH-HOOD-BLK","price":799.0,"currency_code":"ZAR","in_stock":true},{"title":"Blue","offer_id":46777766445193,"sku":"SSH-HOOD-BLU","price":799.0,"currency_code":"ZAR","in_stock":true},{"title":"Navy","offer_id":46777766477961,"sku":"SSH-HOOD-NVY","price":799.0,"currency_code":"ZAR","in_stock":true},{"title":"Pink","offer_id":46777766510729,"sku":"SSH-HOOD-PNK","price":799.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0765\/3539\/8537\/files\/hoodie-blanket-black-sa-lifestyle.png?v=1779279656"}],"url":"https:\/\/www.softhaven.co.za\/collections\/winter-wear.oembed","provider":"SoftHaven","version":"1.0","type":"link"}