{"product_id":"body-theory™-recovery-bundle-cupping-pro-massage-oil","title":"Body Theory™ Recovery Bundle | Cupping Pro + Massage Oil","description":"\u003csection class=\"bt-bundle\"\u003e\n  \u003cdiv class=\"bt-bundle__inner\"\u003e\n\n    \u003cdiv class=\"bt-bundle__badge\"\u003e\n      BODYTHEORY™ RECOVERY BUNDLE\n    \u003c\/div\u003e\n\n    \u003ch2\u003e\n      Recover Smarter.\u003cbr\u003e\n      \u003cspan\u003eSave More.\u003c\/span\u003e\n    \u003c\/h2\u003e\n\n    \u003cp class=\"bt-bundle__intro\"\u003e\n      Pair the BodyTheory™ Cupping Pro with our Hibiscus Rose Massage Oil for a complete at-home recovery routine designed to ease tension, support circulation and help your body feel ready for more.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"bt-bundle__grid\"\u003e\n\n      \u003cdiv class=\"bt-bundle__card\"\u003e\n        \u003cdiv class=\"bt-bundle__number\"\u003e01\u003c\/div\u003e\n\n        \u003ch3\u003eBodyTheory™ Cupping Pro\u003c\/h3\u003e\n\n        \u003cp\u003e\n          Adjustable suction and heat therapy help target tight, overworked muscles while supporting recovery and healthy blood flow.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"bt-bundle__points\"\u003e\n          \u003cspan\u003e✓ Muscle Recovery\u003c\/span\u003e\n          \u003cspan\u003e✓ Tension Relief\u003c\/span\u003e\n          \u003cspan\u003e✓ Circulation Support\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bt-bundle__plus\"\u003e+\u003c\/div\u003e\n\n      \u003cdiv class=\"bt-bundle__card\"\u003e\n        \u003cdiv class=\"bt-bundle__number\"\u003e02\u003c\/div\u003e\n\n        \u003ch3\u003eHibiscus Rose Massage Oil\u003c\/h3\u003e\n\n        \u003cp\u003e\n          A smooth botanical blend that helps the device glide comfortably while nourishing and conditioning the skin.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"bt-bundle__points\"\u003e\n          \u003cspan\u003e✓ Smooth Application\u003c\/span\u003e\n          \u003cspan\u003e✓ Nourishing Oils\u003c\/span\u003e\n          \u003cspan\u003e✓ Soft, Conditioned Skin\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"bt-bundle__result\"\u003e\n      \u003cspan class=\"bt-bundle__check\"\u003e✓\u003c\/span\u003e\n\n      \u003cdiv\u003e\n        \u003cstrong\u003eThe Complete Recovery Routine\u003c\/strong\u003e\n        \u003cp\u003eDeep recovery meets premium self-care — all in one bundle.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"bt-bundle__footer\"\u003e\n      \u003cstrong\u003eYOUR BODY WORKS HARD.\u003c\/strong\u003e\n      \u003cspan\u003eGive it the recovery it deserves.\u003c\/span\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cstyle\u003e\n\n.bt-bundle,\n.bt-bundle *{\n  box-sizing:border-box;\n}\n\n.bt-bundle{\n  width:100%;\n  padding:55px 18px;\n  background:#ffffff;\n  color:#000000;\n  overflow:hidden;\n}\n\n.bt-bundle__inner{\n  width:100%;\n  max-width:1050px;\n  margin:0 auto;\n  text-align:center;\n}\n\n\n\/* BADGE *\/\n\n.bt-bundle__badge{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n\n  padding:8px 15px;\n  margin-bottom:18px;\n\n  background:#000000;\n  color:#ffffff;\n\n  border-radius:999px;\n\n  font-size:10px;\n  font-weight:900;\n  letter-spacing:.15em;\n\n  animation:btBundleFade .7s ease both;\n}\n\n\n\/* HEADING *\/\n\n.bt-bundle h2{\n  margin:0;\n\n  color:#000000;\n\n  font-size:clamp(38px,6vw,64px);\n  line-height:.98;\n\n  font-weight:900;\n  letter-spacing:-.045em;\n\n  animation:btBundleUp .7s .1s ease both;\n}\n\n.bt-bundle h2 span{\n  color:#000000;\n  font-style:italic;\n}\n\n.bt-bundle__intro{\n  max-width:700px;\n\n  margin:20px auto 0;\n\n  color:#000000;\n\n  font-size:16px;\n  font-weight:700;\n  line-height:1.7;\n\n  animation:btBundleUp .7s .18s ease both;\n}\n\n\n\/* PRODUCTS *\/\n\n.bt-bundle__grid{\n  display:grid;\n  grid-template-columns:1fr auto 1fr;\n  align-items:center;\n\n  gap:18px;\n\n  margin-top:36px;\n}\n\n.bt-bundle__card{\n  position:relative;\n\n  min-height:245px;\n\n  padding:28px 25px;\n\n  background:#ffffff;\n\n  border:1px solid #dedede;\n  border-radius:24px;\n\n  text-align:left;\n\n  box-shadow:0 15px 40px rgba(0,0,0,.06);\n\n  transition:\n    transform .3s ease,\n    box-shadow .3s ease,\n    border-color .3s ease;\n\n  animation:btCardReveal .7s ease both;\n}\n\n.bt-bundle__card:first-child{\n  animation-delay:.25s;\n}\n\n.bt-bundle__card:last-child{\n  animation-delay:.35s;\n}\n\n.bt-bundle__card:hover{\n  transform:translateY(-5px);\n  border-color:#000000;\n  box-shadow:0 20px 50px rgba(0,0,0,.11);\n}\n\n.bt-bundle__number{\n  margin-bottom:15px;\n\n  color:#000000;\n\n  font-size:11px;\n  font-weight:900;\n  letter-spacing:.15em;\n}\n\n.bt-bundle__card h3{\n  margin:0;\n\n  color:#000000;\n\n  font-size:21px;\n  font-weight:900;\n  line-height:1.2;\n}\n\n.bt-bundle__card p{\n  margin:12px 0 0;\n\n  color:#000000;\n\n  font-size:13.5px;\n  font-weight:700;\n  line-height:1.6;\n}\n\n\n\/* POINTS *\/\n\n.bt-bundle__points{\n  display:flex;\n  flex-wrap:wrap;\n\n  gap:7px;\n\n  margin-top:18px;\n}\n\n.bt-bundle__points span{\n  padding:7px 10px;\n\n  border:1px solid #dddddd;\n  border-radius:999px;\n\n  background:#ffffff;\n  color:#000000;\n\n  font-size:10px;\n  font-weight:900;\n}\n\n\n\/* PLUS *\/\n\n.bt-bundle__plus{\n  display:grid;\n  place-items:center;\n\n  width:48px;\n  height:48px;\n\n  border-radius:50%;\n\n  background:#000000;\n  color:#ffffff;\n\n  font-size:28px;\n  font-weight:300;\n\n  animation:btPlusPulse 2.5s ease-in-out infinite;\n}\n\n\n\/* RESULT *\/\n\n.bt-bundle__result{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  gap:13px;\n\n  max-width:720px;\n\n  margin:25px auto 0;\n  padding:16px 20px;\n\n  background:#ffffff;\n\n  border:1px solid #dcdcdc;\n  border-radius:18px;\n\n  box-shadow:0 10px 30px rgba(0,0,0,.05);\n\n  text-align:left;\n\n  animation:btBundleUp .7s .45s ease both;\n}\n\n.bt-bundle__check{\n  display:grid;\n  place-items:center;\n\n  flex:0 0 34px;\n\n  width:34px;\n  height:34px;\n\n  border-radius:50%;\n\n  background:#000000;\n  color:#ffffff;\n\n  font-size:17px;\n  font-weight:900;\n}\n\n.bt-bundle__result strong{\n  display:block;\n\n  color:#000000;\n\n  font-size:14px;\n  font-weight:900;\n}\n\n.bt-bundle__result p{\n  margin:3px 0 0;\n\n  color:#000000;\n\n  font-size:12px;\n  font-weight:700;\n}\n\n\n\/* FOOTER *\/\n\n.bt-bundle__footer{\n  margin-top:25px;\n\n  color:#000000;\n\n  animation:btBundleFade .7s .55s ease both;\n}\n\n.bt-bundle__footer strong,\n.bt-bundle__footer span{\n  display:block;\n}\n\n.bt-bundle__footer strong{\n  font-size:12px;\n  font-weight:900;\n  letter-spacing:.13em;\n}\n\n.bt-bundle__footer span{\n  margin-top:5px;\n\n  font-size:12px;\n  font-weight:700;\n}\n\n\n\/* ANIMATIONS *\/\n\n@keyframes btBundleFade{\n  from{\n    opacity:0;\n  }\n\n  to{\n    opacity:1;\n  }\n}\n\n@keyframes btBundleUp{\n  from{\n    opacity:0;\n    transform:translateY(20px);\n  }\n\n  to{\n    opacity:1;\n    transform:translateY(0);\n  }\n}\n\n@keyframes btCardReveal{\n  from{\n    opacity:0;\n    transform:translateY(25px) scale(.98);\n  }\n\n  to{\n    opacity:1;\n    transform:translateY(0) scale(1);\n  }\n}\n\n@keyframes btPlusPulse{\n  0%,\n  100%{\n    transform:scale(1);\n  }\n\n  50%{\n    transform:scale(1.08);\n  }\n}\n\n\n\/* MOBILE *\/\n\n@media(max-width:749px){\n\n  .bt-bundle{\n    padding:40px 14px;\n  }\n\n  .bt-bundle__badge{\n    margin-bottom:15px;\n\n    padding:7px 12px;\n\n    font-size:8px;\n    letter-spacing:.12em;\n  }\n\n  .bt-bundle h2{\n    font-size:38px;\n    line-height:1.02;\n  }\n\n  .bt-bundle__intro{\n    margin-top:16px;\n\n    font-size:13.5px;\n    line-height:1.6;\n  }\n\n  .bt-bundle__grid{\n    grid-template-columns:1fr;\n\n    gap:12px;\n\n    margin-top:27px;\n  }\n\n  .bt-bundle__card{\n    min-height:auto;\n\n    padding:21px 18px;\n\n    border-radius:19px;\n  }\n\n  .bt-bundle__card h3{\n    font-size:18px;\n  }\n\n  .bt-bundle__card p{\n    font-size:12.5px;\n    line-height:1.55;\n  }\n\n  .bt-bundle__points{\n    gap:6px;\n    margin-top:15px;\n  }\n\n  .bt-bundle__points span{\n    padding:6px 8px;\n    font-size:9px;\n  }\n\n  .bt-bundle__plus{\n    width:38px;\n    height:38px;\n\n    margin:0 auto;\n\n    font-size:23px;\n  }\n\n  .bt-bundle__result{\n    align-items:flex-start;\n\n    margin-top:20px;\n    padding:14px 15px;\n\n    border-radius:15px;\n  }\n\n  .bt-bundle__check{\n    flex-basis:29px;\n\n    width:29px;\n    height:29px;\n\n    font-size:14px;\n  }\n\n  .bt-bundle__result strong{\n    font-size:12.5px;\n  }\n\n  .bt-bundle__result p{\n    font-size:10.5px;\n    line-height:1.4;\n  }\n\n  .bt-bundle__footer{\n    margin-top:20px;\n  }\n\n  .bt-bundle__footer strong{\n    font-size:10px;\n  }\n\n  .bt-bundle__footer span{\n    font-size:10.5px;\n  }\n\n}\n\n\n\/* REDUCED MOTION *\/\n\n@media(prefers-reduced-motion:reduce){\n\n  .bt-bundle__badge,\n  .bt-bundle h2,\n  .bt-bundle__intro,\n  .bt-bundle__card,\n  .bt-bundle__plus,\n  .bt-bundle__result,\n  .bt-bundle__footer{\n    animation:none;\n  }\n\n  .bt-bundle__card{\n    transition:none;\n  }\n\n}\n\n\u003c\/style\u003e","brand":"BodyTheory","offers":[{"title":"Default Title","offer_id":44773841272875,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0700\/5025\/0795\/files\/ChatGPTImageAug11_2026_01_40_25PM.png?v=1786707842","url":"https:\/\/bodytheory.co.za\/products\/body-theory%e2%84%a2-recovery-bundle-cupping-pro-massage-oil","provider":"BodyTheory","version":"1.0","type":"link"}