{"product_id":"sodwana-bay-bikini","title":"Sodwana Bay Bikini","description":"\u003csection id=\"lencois-landing\" style=\"overflow:hidden;\"\u003e\n\n  \u003cstyle\u003e\n    #lencois-landing {\n      background-color: #fff;\n      color: #333;\n      overflow-x: hidden;\n      font-family: inherit;\n    }\n\n    [data-lencois-animate] {\n      opacity: 1;\n      transform: none;\n      transition: opacity 0.8s ease, transform 0.8s ease;\n    }\n\n    [data-lencois-animate].lencois-visible {\n      opacity: 1;\n      transform: translateY(0);\n    }\n\n    .lencois-gradient-title {\n      background: linear-gradient(90deg, #ef5ca6, #d43b85, #8e3cc9);\n      background-size: 300% 300%;\n      animation: lencoisGradientMove 5s linear infinite;\n      -webkit-background-clip: text;\n      -webkit-text-fill-color: transparent;\n      display: inline-block;\n      font-weight: 800;\n      font-size: 2.1rem;\n    }\n\n    .lencois-benefit h4 {\n      background: linear-gradient(90deg, #ef5ca6, #d43b85, #8e3cc9);\n      background-size: 300% 300%;\n      animation: lencoisGradientMove 5s linear infinite;\n      -webkit-background-clip: text;\n      -webkit-text-fill-color: transparent;\n      margin-bottom: 1rem;\n      font-size: 1.3rem;\n      font-weight: 700;\n      text-align: center;\n    }\n\n    @keyframes lencoisGradientMove {\n      0% { background-position: 0% 50%; }\n      50% { background-position: 100% 50%; }\n      100% { background-position: 0% 50%; }\n    }\n\n    #lencois-landing .lencois-section-padding {\n      padding: 5rem 10%;\n    }\n\n    #lencois-landing h2, #lencois-landing h3 {\n      font-weight: 700;\n      text-align: center;\n      margin-bottom: 2rem;\n    }\n\n    .lencois-hero {\n      text-align: center;\n      padding: 8rem 10% 6rem;\n      background: linear-gradient(135deg, #ef5ca6 0%, #f78bc9 25%, #5ff4ab 75%, #8e3cc9 100%);\n      background-size: 250% 250%;\n      animation: lencoisGradientMove 4s ease-in-out infinite;\n      color: #fff;\n      border-radius: 0 0 50px 50px;\n    }\n\n    .lencois-hero h2 {\n      font-size: 2.8rem;\n      line-height: 1.3;\n      max-width: 850px;\n      margin: 0 auto 1.5rem;\n    }\n\n    .lencois-hero p {\n      font-size: 1.15rem;\n      max-width: 760px;\n      margin: 0 auto;\n      opacity: 0.95;\n    }\n\n    .lencois-benefits-grid {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n      gap: 3rem;\n    }\n\n    .lencois-benefit {\n      background: #fff;\n      border-radius: 25px;\n      box-shadow: 0 10px 25px rgba(0,0,0,0.08);\n      overflow: hidden;\n      text-align: center;\n      transition: transform 0.3s;\n    }\n\n    .lencois-benefit:hover {\n      transform: translateY(-6px);\n    }\n\n    .lencois-benefit img {\n      width: 100%;\n      height: 380px;\n      object-fit: cover;\n    }\n\n    .lencois-benefit-content {\n      padding: 2rem;\n    }\n\n    .lencois-benefit p {\n      color: #555;\n      line-height: 1.6;\n      text-align: center;\n    }\n\n    .lencois-gallery {\n      background: #fff;\n      text-align: center;\n      padding-top: 3rem;\n      padding-bottom: 5rem;\n    }\n\n    .lencois-gallery h3 {\n      font-size: 2rem;\n      margin-bottom: 2.5rem;\n    }\n\n    .lencois-gallery-images {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n      gap: 1.5rem;\n      padding: 0 10%;\n    }\n\n    .lencois-gallery-images img {\n      width: 100%;\n      border-radius: 20px;\n      box-shadow: 0 8px 25px rgba(0,0,0,0.08);\n      transition: transform 0.3s ease;\n    }\n\n    .lencois-gallery-images img:hover {\n      transform: scale(1.03);\n    }\n\n    .lencois-testimonials {\n      background: linear-gradient(135deg, #ef5ca6 0%, #b268c2 40%, #5ff4ab 90%, #8e3cc9 100%);\n      background-size: 300% 300%;\n      animation: lencoisGradientMove 6s ease-in-out infinite;\n      color: #fff;\n      text-align: center;\n      padding: 5rem 10%;\n    }\n\n    .lencois-testimonials h3 {\n      margin-bottom: 2.5rem;\n    }\n\n    .lencois-testimonial {\n      max-width: 650px;\n      margin: 0 auto 2.5rem;\n      font-style: italic;\n      font-size: 1.1rem;\n      opacity: 0.95;\n    }\n\n    .lencois-testimonial:last-child {\n      margin-bottom: 0;\n    }\n\n    .lencois-testimonial strong {\n      display: block;\n      margin-top: 1rem;\n      font-style: normal;\n      font-size: 1rem;\n      color: #fff;\n    }\n\n    .lencois-testimonial-img {\n      width: 200px;\n      height: 200px;\n      object-fit: cover;\n      object-position: top;\n      border-radius: 50%;\n      box-shadow: 0 8px 25px rgba(0,0,0,0.25);\n      margin: 0 auto 1.2rem;\n      display: block;\n      border: 3px solid rgba(255,255,255,0.85);\n      transition: transform 0.3s ease;\n    }\n\n    .lencois-testimonial-img:hover {\n      transform: scale(1.05);\n    }\n\n    .lencois-counter {\n      display: inline-block;\n      font-size: 3rem;\n      font-weight: 900;\n      background: linear-gradient(90deg, #ffffff, #fcd9ef, #5ff4ab);\n      background-size: 300% 300%;\n      animation: lencoisGradientMove 4s ease-in-out infinite;\n      -webkit-background-clip: text;\n      -webkit-text-fill-color: transparent;\n      text-shadow: 0 0 20px rgba(255,255,255,0.4);\n      padding: 0 0.3em;\n    }\n\n    .lencois-faq {\n      max-width: 750px;\n      margin: 0 auto;\n      text-align: left;\n      padding-top: 5rem;\n      padding-bottom: 5rem;\n    }\n\n    .lencois-faq details {\n      background: #fdfdfd;\n      border-radius: 12px;\n      border: 1px solid #e0e0e0;\n      margin-bottom: 1rem;\n      padding: 1.2rem 1.5rem;\n      cursor: pointer;\n      transition: all 0.3s ease;\n    }\n\n    .lencois-faq details:hover {\n      border-color: #ef5ca6;\n      background: #fff8fc;\n    }\n\n    .lencois-faq summary {\n      font-weight: 600;\n      font-size: 1.1rem;\n      list-style: none;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      color: #ef5ca6;\n    }\n\n    .lencois-faq details[open] summary {\n      color: #5ff4ab;\n    }\n\n    .lencois-faq summary::after {\n      content: '+';\n      font-size: 1.3rem;\n      transition: transform 0.3s;\n    }\n\n    .lencois-faq details[open] summary::after {\n      transform: rotate(45deg);\n    }\n\n    .lencois-cta {\n      text-align: center;\n      background: linear-gradient(145deg, #ef5ca6 0%, #e67dbf 30%, #5ff4ab 80%, #8e3cc9 100%);\n      background-size: 300% 300%;\n      animation: lencoisGradientMove 6s ease-in-out infinite;\n      padding: 5rem 10%;\n      color: #fff;\n      border-radius: 50px 50px 0 0;\n    }\n\n    .lencois-cta h2 {\n      font-size: 2.1rem;\n      line-height: 1.3;\n      font-weight: 800;\n      margin-bottom: 1.5rem;\n    }\n\n    @media (max-width:760px){\n      #lencois-landing .lencois-benefits-grid,\n      #lencois-landing .lencois-gallery-images { grid-template-columns: minmax(0, 1fr); }\n      #lencois-landing .lencois-benefit { min-width: 0; }\n      .lencois-hero { padding: 6rem 6% 4rem; }\n      .lencois-hero h2 { font-size: 1.9rem; }\n      .lencois-benefit img { height: 300px; }\n      .lencois-testimonial { font-size: 1rem; }\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"lencois-hero\" data-lencois-animate\u003e\n    \u003ch2\u003eFeel Secure and Radiant in the Sodwana Bay Bikini\u003c\/h2\u003e\n    \u003cp\u003eSlip into effortless comfort, admire your reflection, and step into the sun with a calm, assured smile.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"lencois-section-padding\"\u003e\n    \u003ch3 class=\"lencois-gradient-title\" data-lencois-animate\u003eWhy choose Sodwana Bay Bikini?\u003c\/h3\u003e\n    \u003cdiv class=\"lencois-benefits-grid\"\u003e\n      \u003cdiv class=\"lencois-benefit\" data-lencois-animate\u003e\n  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0999\/7359\/5414\/files\/af-biquini-corumbau-01-10bf52bd.jpg?v=1793304160\" alt=\"Flattering Silhouette That Moves With You\" loading=\"lazy\" style=\"object-position:center center;\"\u003e\n  \u003cdiv class=\"lencois-benefit-content\"\u003e\n    \u003ch4\u003eFlattering Silhouette That Moves With You\u003c\/h4\u003e\n    \u003cp\u003eThe longer tankini-style top with gentle ruching and adjustable side ties sculpts your waist softly, offering a sense of security and freedom in every movement.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lencois-benefit\" data-lencois-animate\u003e\n  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0999\/7359\/5414\/files\/af-biquini-corumbau-04-b1c9b155.jpg?v=1793304160\" alt=\"Comfortable Support for Your Bust\" loading=\"lazy\" style=\"object-position:center 24%;\"\u003e\n  \u003cdiv class=\"lencois-benefit-content\"\u003e\n    \u003ch4\u003eComfortable Support for Your Bust\u003c\/h4\u003e\n    \u003cp\u003eWith carefully integrated bust padding, this top enhances your natural shape while ensuring comfort, so you feel poised and secure all day long.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lencois-benefit\" data-lencois-animate\u003e\n  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0999\/7359\/5414\/files\/af-biquini-corumbau-03-e32ace51.jpg?v=1793304160\" alt=\"Balanced Coverage for Peace of Mind\" loading=\"lazy\" style=\"object-position:center 68%;\"\u003e\n  \u003cdiv class=\"lencois-benefit-content\"\u003e\n    \u003ch4\u003eBalanced Coverage for Peace of Mind\u003c\/h4\u003e\n    \u003cp\u003eThe solid, very dark green bottom gently covers without feeling restrictive, allowing you to enjoy your favourite beach moments with confidence and ease.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"lencois-benefit\" data-lencois-animate\u003e\n  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0999\/7359\/5414\/files\/af-biquini-corumbau-05-b8e6a24f.png?v=1793304160\" alt=\"Nature-Inspired Print for a Calm, Holiday Vibe\" loading=\"lazy\" style=\"object-position:center 48%;\"\u003e\n  \u003cdiv class=\"lencois-benefit-content\"\u003e\n    \u003ch4\u003eNature-Inspired Print for a Calm, Holiday Vibe\u003c\/h4\u003e\n    \u003cp\u003eThe soft green botanical print brings a touch of natural beauty and calm, making you feel connected to the soothing flow of the sea and sun.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"lencois-gallery\" data-lencois-animate\u003e\n    \u003ch3 class=\"lencois-gradient-title\"\u003eDesigned down to the details\u003c\/h3\u003e\n    \u003cdiv class=\"lencois-gallery-images\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0999\/7359\/5414\/files\/af-biquini-corumbau-06-48e6e9ac.png?v=1793304160\" alt=\"Detalhe de frente Sodwana Bay Bikini\" loading=\"lazy\" style=\"object-position:center center;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0999\/7359\/5414\/files\/af-biquini-corumbau-07-fdc3f222.jpg?v=1793304160\" alt=\"Detalhe de costas Sodwana Bay Bikini\" loading=\"lazy\" style=\"object-position:center center;\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"lencois-section-padding lencois-faq\" data-lencois-animate\u003e\n    \u003ch3 class=\"lencois-gradient-title\"\u003eFrequently asked questions\u003c\/h3\u003e\n    \u003cdetails\u003e\n  \u003csummary\u003eWhat sizes are available for the Sodwana Bay Bikini?\u003c\/summary\u003e\n  \u003cp\u003eThe bikini is available in sizes XS, S, M, L, and XL. Please refer to our size guide to find your perfect fit.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eDoes the top include bust padding?\u003c\/summary\u003e\n  \u003cp\u003eYes, the top comes with comfortable bust padding that enhances your shape while providing support.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eWhat items are included with this bikini?\u003c\/summary\u003e\n  \u003cp\u003eThe set includes one longer tankini-style top with ruching and side ties, and one solid dark green bottom.\u003c\/p\u003e\n\u003c\/details\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"lencois-cta\" data-lencois-animate\u003e\n    \u003ch2\u003eA flattering fit that gently embraces your natural shape, providing smooth coverage and freedom to move with grace.\u003c\/h2\u003e\n  \u003c\/div\u003e\n\n  \u003cscript\u003e\n    (function(){\n      function lencoisOnScrollAnimate() {\n        document.querySelectorAll('[data-lencois-animate]').forEach(el =\u003e {\n          const rect = el.getBoundingClientRect();\n          if (rect.top \u003c window.innerHeight * 0.85) el.classList.add('lencois-visible');\n        });\n      }\n      document.addEventListener('scroll', lencoisOnScrollAnimate);\n      window.addEventListener('load', lencoisOnScrollAnimate);\n\n      const lencoisCounterEl = document.getElementById(\"lencois-counter\");\n      let lencoisIniciou = false;\n      function lencoisIniciarContador() {\n        if (lencoisIniciou || !lencoisCounterEl) return;\n        const finalTexto = lencoisCounterEl.getAttribute(\"data-final\") || \"\";\n        const final = parseInt(finalTexto.replace(\/\\D\/g, \"\"), 10);\n        if (!final) return;\n        lencoisIniciou = true;\n        let valor = 0;\n        const duracao = 1000;\n        const passo = final \/ (duracao \/ 16);\n\n        const intervalo = setInterval(() =\u003e {\n          valor += passo;\n          if (valor \u003e= final) {\n            valor = final;\n            clearInterval(intervalo);\n            lencoisCounterEl.textContent = valor.toLocaleString('pt-BR') + '+';\n          } else {\n            lencoisCounterEl.textContent = Math.floor(valor).toLocaleString('pt-BR');\n          }\n        }, 16);\n      }\n\n      function lencoisVerificarContador() {\n        if (!lencoisCounterEl) return;\n        const rect = lencoisCounterEl.getBoundingClientRect();\n        if (rect.top \u003c window.innerHeight * 0.85) lencoisIniciarContador();\n      }\n\n      window.addEventListener(\"scroll\", lencoisVerificarContador);\n      window.addEventListener(\"load\", lencoisVerificarContador);\n    })();\n  \u003c\/script\u003e\n\n\u003c\/section\u003e","brand":"AquaFit South Africa","offers":[{"title":"XS","offer_id":67851476730134,"sku":null,"price":1199.0,"currency_code":"ZAR","in_stock":true},{"title":"S","offer_id":67851476762902,"sku":null,"price":1199.0,"currency_code":"ZAR","in_stock":true},{"title":"M","offer_id":67851476795670,"sku":null,"price":1199.0,"currency_code":"ZAR","in_stock":true},{"title":"L","offer_id":67851476828438,"sku":null,"price":1199.0,"currency_code":"ZAR","in_stock":true},{"title":"XL","offer_id":67851476861206,"sku":null,"price":1199.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0999\/7359\/5414\/files\/af-biquini-corumbau-01-10bf52bd.jpg?v=1793304160","url":"https:\/\/aquafitsouthafrica.co.za\/products\/sodwana-bay-bikini","provider":"AquaFit South Africa","version":"1.0","type":"link"}