{"product_id":"wet-clothes-bag","title":"KINLY™ SWIM ESSENTIAL","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n\/* =========================================================\n   KINLY™ WET BAG — PREMIUM PRODUCT SECTION\n   Image-free • Animated • Mobile responsive\n   ========================================================= *\/\n\n.kinly-wet {\n  --bg: #f7faf9;\n  --white: #ffffff;\n  --dark: #172521;\n  --text: #61706c;\n  --green: #6e9f95;\n  --green-dark: #477b71;\n  --border: #dce8e4;\n\n  font-family:\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Helvetica Neue\",\n    Arial,\n    sans-serif;\n\n  background:\n    radial-gradient(\n      circle at 10% 15%,\n      rgba(120,174,163,.15),\n      transparent 30%\n    ),\n    radial-gradient(\n      circle at 90% 80%,\n      rgba(181,215,208,.18),\n      transparent 30%\n    ),\n    linear-gradient(\n      180deg,\n      #ffffff 0%,\n      var(--bg) 100%\n    );\n\n  padding: 70px 18px;\n  position: relative;\n  overflow: hidden;\n  color: var(--dark);\n}\n\n.kinly-wet *,\n.kinly-wet *::before,\n.kinly-wet *::after {\n  box-sizing: border-box;\n}\n\n\/* Background circles *\/\n\n.kinly-wet::before {\n  content: \"\";\n  position: absolute;\n\n  width: 300px;\n  height: 300px;\n\n  right: -150px;\n  top: 80px;\n\n  border-radius: 50%;\n\n  border: 1px solid rgba(110,159,149,.14);\n\n  animation: kw-orbit 9s ease-in-out infinite;\n}\n\n.kinly-wet::after {\n  content: \"\";\n  position: absolute;\n\n  width: 180px;\n  height: 180px;\n\n  left: -90px;\n  bottom: 80px;\n\n  border-radius: 50%;\n\n  border: 1px solid rgba(110,159,149,.12);\n\n  animation: kw-orbit 7s ease-in-out infinite reverse;\n}\n\n\/* Main container *\/\n\n.kw-container {\n  max-width: 1050px;\n  margin: auto;\n  position: relative;\n  z-index: 2;\n}\n\n\/* Eyebrow *\/\n\n.kw-eyebrow {\n  display: inline-flex;\n  align-items: center;\n\n  padding: 8px 15px;\n\n  border-radius: 50px;\n\n  background: rgba(110,159,149,.09);\n\n  border: 1px solid rgba(110,159,149,.17);\n\n  color: var(--green-dark);\n\n  font-size: 10px;\n  font-weight: 700;\n\n  letter-spacing: 2px;\n  text-transform: uppercase;\n\n  animation: kw-up .8s ease both;\n}\n\n\/* Heading *\/\n\n.kw-heading {\n  max-width: 800px;\n\n  margin-top: 22px;\n\n  font-size: clamp(40px, 7vw, 68px);\n\n  line-height: 1.02;\n\n  letter-spacing: -3px;\n\n  font-weight: 800;\n\n  animation: kw-up .9s .1s ease both;\n}\n\n.kw-heading span {\n  background:\n    linear-gradient(\n      110deg,\n      #477b71,\n      #8bb8af,\n      #477b71\n    );\n\n  background-size: 200% auto;\n\n  -webkit-background-clip: text;\n  background-clip: text;\n\n  -webkit-text-fill-color: transparent;\n\n  animation: kw-shimmer 5s linear infinite;\n}\n\n\/* Intro *\/\n\n.kw-intro {\n  max-width: 720px;\n\n  margin-top: 22px;\n\n  font-size: 17px;\n\n  line-height: 1.8;\n\n  color: var(--text);\n\n  animation: kw-up .9s .2s ease both;\n}\n\n.kw-intro strong {\n  color: var(--dark);\n}\n\n\/* Main glass card *\/\n\n.kw-card {\n  margin-top: 50px;\n\n  padding: 34px;\n\n  border-radius: 30px;\n\n  background: rgba(255,255,255,.76);\n\n  border: 1px solid rgba(255,255,255,.9);\n\n  box-shadow:\n    0 25px 70px rgba(35,65,59,.09),\n    inset 0 1px 0 rgba(255,255,255,.9);\n\n  backdrop-filter: blur(18px);\n  -webkit-backdrop-filter: blur(18px);\n\n  animation: kw-float 7s ease-in-out infinite;\n\n  position: relative;\n  overflow: hidden;\n}\n\n\/* Moving shine *\/\n\n.kw-card::after {\n  content: \"\";\n\n  position: absolute;\n\n  top: 0;\n  left: -100%;\n\n  width: 40%;\n  height: 100%;\n\n  background:\n    linear-gradient(\n      110deg,\n      transparent,\n      rgba(255,255,255,.5),\n      transparent\n    );\n\n  transform: skewX(-20deg);\n\n  animation: kw-reflect 6s ease-in-out infinite;\n}\n\n\/* Feature row *\/\n\n.kw-feature {\n  display: flex;\n\n  align-items: center;\n\n  gap: 18px;\n\n  padding: 23px 0;\n\n  border-bottom: 1px solid var(--border);\n\n  position: relative;\n  z-index: 2;\n\n  transition:\n    transform .3s ease,\n    padding-left .3s ease;\n}\n\n.kw-feature:last-child {\n  border-bottom: none;\n  padding-bottom: 3px;\n}\n\n.kw-feature:hover {\n  transform: translateX(5px);\n  padding-left: 5px;\n}\n\n\/* Icons *\/\n\n.kw-icon {\n  width: 52px;\n  height: 52px;\n\n  flex-shrink: 0;\n\n  display: flex;\n\n  align-items: center;\n  justify-content: center;\n\n  border-radius: 17px;\n\n  background:\n    linear-gradient(\n      145deg,\n      #ffffff,\n      #edf6f3\n    );\n\n  border: 1px solid #dceae6;\n\n  box-shadow:\n    0 9px 25px rgba(54,94,87,.08);\n\n  font-size: 22px;\n\n  transition:\n    transform .35s ease,\n    box-shadow .35s ease;\n}\n\n.kw-feature:hover .kw-icon {\n  transform: scale(1.08) rotate(-4deg);\n\n  box-shadow:\n    0 13px 30px rgba(54,94,87,.14);\n}\n\n\/* Feature text *\/\n\n.kw-feature h3 {\n  margin: 0 0 5px;\n\n  font-size: 17px;\n\n  font-weight: 750;\n\n  color: var(--dark);\n\n  letter-spacing: -.2px;\n}\n\n.kw-feature p {\n  margin: 0;\n\n  font-size: 14px;\n\n  line-height: 1.6;\n\n  color: var(--text);\n}\n\n\/* Final statement *\/\n\n.kw-final {\n  text-align: center;\n\n  max-width: 720px;\n\n  margin: 48px auto 0;\n\n  position: relative;\n  z-index: 2;\n\n  animation: kw-up 1s .4s ease both;\n}\n\n.kw-line {\n  width: 60px;\n  height: 2px;\n\n  margin: 0 auto 23px;\n\n  background:\n    linear-gradient(\n      90deg,\n      transparent,\n      var(--green),\n      transparent\n    );\n}\n\n.kw-final h2 {\n  margin: 0;\n\n  font-size: clamp(24px,4vw,34px);\n\n  line-height: 1.25;\n\n  letter-spacing: -.8px;\n\n  color: var(--dark);\n}\n\n.kw-final p {\n  margin: 14px auto 0;\n\n  color: #71807c;\n\n  font-size: 14px;\n\n  line-height: 1.8;\n}\n\n\/* Trust pills *\/\n\n.kw-pills {\n  display: flex;\n\n  justify-content: center;\n\n  flex-wrap: wrap;\n\n  gap: 9px;\n\n  margin-top: 25px;\n}\n\n.kw-pill {\n  padding: 8px 13px;\n\n  border-radius: 50px;\n\n  background: rgba(255,255,255,.7);\n\n  border: 1px solid var(--border);\n\n  color: #667571;\n\n  font-size: 10px;\n\n  font-weight: 700;\n\n  letter-spacing: .5px;\n}\n\n\/* =========================================================\n   ANIMATIONS\n   ========================================================= *\/\n\n@keyframes kw-up {\n  from {\n    opacity: 0;\n    transform: translateY(25px);\n  }\n\n  to {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n@keyframes kw-float {\n  0%,100% {\n    transform: translateY(0);\n  }\n\n  50% {\n    transform: translateY(-6px);\n  }\n}\n\n@keyframes kw-reflect {\n  0% {\n    left: -100%;\n  }\n\n  55%,100% {\n    left: 150%;\n  }\n}\n\n@keyframes kw-shimmer {\n  to {\n    background-position: 200% center;\n  }\n}\n\n@keyframes kw-orbit {\n  0%,100% {\n    transform: translateY(0) scale(1);\n  }\n\n  50% {\n    transform: translateY(-20px) scale(1.04);\n  }\n}\n\n\/* =========================================================\n   MOBILE\n   ========================================================= *\/\n\n@media (max-width: 650px) {\n\n  .kinly-wet {\n    padding: 52px 15px;\n  }\n\n  .kw-heading {\n    letter-spacing: -2px;\n  }\n\n  .kw-intro {\n    font-size: 15px;\n  }\n\n  .kw-card {\n    margin-top: 38px;\n    padding: 23px 20px;\n    border-radius: 24px;\n  }\n\n  .kw-feature {\n    gap: 14px;\n    padding: 20px 0;\n  }\n\n  .kw-icon {\n    width: 45px;\n    height: 45px;\n    border-radius: 14px;\n    font-size: 19px;\n  }\n\n  .kw-feature h3 {\n    font-size: 16px;\n  }\n\n  .kw-feature p {\n    font-size: 13px;\n  }\n\n  .kw-final {\n    margin-top: 38px;\n  }\n}\n\n\/* Accessibility *\/\n\n@media (prefers-reduced-motion: reduce) {\n\n  .kinly-wet *,\n  .kinly-wet *::before,\n  .kinly-wet *::after {\n    animation: none !important;\n    transition: none !important;\n  }\n}\n\u003c\/style\u003e\n\u003csection class=\"kinly-wet\"\u003e\n\u003cdiv class=\"kw-container\"\u003e\n\u003c!-- PREMIUM LABEL --\u003e\n\u003cdiv class=\"kw-eyebrow\"\u003eKINLY™ SWIM ESSENTIAL\u003c\/div\u003e\n\u003c!-- HERO --\u003e\n\u003ch1 class=\"kw-heading\"\u003eLeave the pool. \u003cspan\u003eNot the puddle.\u003c\/span\u003e 🌊\u003c\/h1\u003e\n\u003cp class=\"kw-intro\"\u003eWet costumes, soggy towels, damp chaos — sorted. The \u003cstrong\u003eKINLY™ Wet Bag\u003c\/strong\u003e keeps everything sealed and contained so you walk out of every swim session clean, calm, and in control. 🏊♀️\u003c\/p\u003e\n\u003c!-- FEATURES --\u003e\n\u003cdiv class=\"kw-card\"\u003e\n\u003c!-- FEATURE 1 --\u003e\n\u003cdiv class=\"kw-feature\"\u003e\n\u003cdiv class=\"kw-icon\"\u003e💧\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ch3\u003eStays Dry Outside\u003c\/h3\u003e\n\u003cp\u003eWaterproof lining helps lock moisture in — keeping your bag, car, and everything else dry.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- FEATURE 2 --\u003e\n\u003cdiv class=\"kw-feature\"\u003e\n\u003cdiv class=\"kw-icon\"\u003e🌬️\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ch3\u003eNo More Wet Bag Smell\u003c\/h3\u003e\n\u003cp\u003eOdour-resistant interior helps keep things fresher between swims.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- FEATURE 3 --\u003e\n\u003cdiv class=\"kw-feature\"\u003e\n\u003cdiv class=\"kw-icon\"\u003e⚡\u003c\/div\u003e\n\u003cdiv\u003e\n\u003ch3\u003ePack, Zip, Go\u003c\/h3\u003e\n\u003cp\u003eFits costumes and swim gear. Wipes clean in seconds and folds flat when empty.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- FINAL CTA STYLE MESSAGE --\u003e\n\u003cdiv class=\"kw-final\"\u003e\n\u003cdiv class=\"kw-line\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003ch2\u003eThe one thing every swim parent needs — and wishes they'd found sooner. 🙌\u003c\/h2\u003e\n\u003cp\u003eLess mess after the swim. Less stress on the way home. Just pack it, zip it, and go.\u003c\/p\u003e\n\u003cdiv class=\"kw-pills\"\u003e\n\u003cspan class=\"kw-pill\"\u003e 💧 WATERPROOF \u003c\/span\u003e \u003cspan class=\"kw-pill\"\u003e 🌬️ ODOUR-RESISTANT \u003c\/span\u003e \u003cspan class=\"kw-pill\"\u003e ⚡ EASY TO CLEAN \u003c\/span\u003e \u003cspan class=\"kw-pill\"\u003e 🎒 FOLDS FLAT \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp\u003e```\u003c\/p\u003e","brand":"KINLY","offers":[{"title":"Crocodile","offer_id":52321836892450,"sku":null,"price":300.0,"currency_code":"ZAR","in_stock":true},{"title":"Monkey","offer_id":52321836925218,"sku":null,"price":300.0,"currency_code":"ZAR","in_stock":true},{"title":"Tiger","offer_id":52321836957986,"sku":null,"price":300.0,"currency_code":"ZAR","in_stock":true},{"title":"Owl","offer_id":52321836990754,"sku":null,"price":300.0,"currency_code":"ZAR","in_stock":true},{"title":"Dinosaurs","offer_id":52321837023522,"sku":null,"price":300.0,"currency_code":"ZAR","in_stock":true},{"title":"Octopus","offer_id":52321837056290,"sku":null,"price":300.0,"currency_code":"ZAR","in_stock":true},{"title":"Pink Unicorn","offer_id":52321837089058,"sku":null,"price":300.0,"currency_code":"ZAR","in_stock":true},{"title":"Bear","offer_id":52321837121826,"sku":null,"price":300.0,"currency_code":"ZAR","in_stock":true},{"title":"Elephant","offer_id":52321837154594,"sku":null,"price":300.0,"currency_code":"ZAR","in_stock":true},{"title":"Lion","offer_id":52321837187362,"sku":null,"price":300.0,"currency_code":"ZAR","in_stock":true},{"title":"Fox","offer_id":52321837220130,"sku":null,"price":300.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1012\/3486\/8514\/files\/Firstpage_2aac8851-2d27-4ec6-a792-0f5f3203164c.png?v=1786467456","url":"https:\/\/kinly.co.za\/products\/wet-clothes-bag","provider":"KINLY","version":"1.0","type":"link"}