{"title":"Home page","description":null,"products":[{"product_id":"monoforge™-magnetic-bottle-bag","title":"MonoForge™ Magnetic Bottle Bag","description":"\n\u003cstyle\u003e\n.mf2 {\n  --bg: #11271e;\n  --panel: #1a3529;\n  --cream: #f4f0e7;\n  --sage: #b3c1ad;\n  --gold: #c4ad80;\n\n  box-sizing: border-box;\n  width: 100%;\n  max-width: 1000px;\n  margin: 20px auto;\n  padding: clamp(20px, 4vw, 42px);\n  overflow: hidden;\n  color: var(--cream);\n  background:\n    radial-gradient(ellipse at 90% 0%, #2b49352e, transparent 48%),\n    var(--bg);\n  border: 1px solid #c4ad8042;\n  border-radius: 18px;\n  font-family: inherit;\n  line-height: 1.6;\n  animation: mf2-in .7s ease both;\n}\n\n.mf2 *,\n.mf2 *::before,\n.mf2 *::after {\n  box-sizing: border-box;\n}\n\n.mf2__hero {\n  display: grid;\n  grid-template-columns: 1fr auto;\n  gap: 20px;\n  align-items: center;\n  padding-bottom: 25px;\n  border-bottom: 1px solid #c4ad8030;\n}\n\n.mf2__eyebrow {\n  color: var(--gold);\n  font-size: 10px;\n  font-weight: 700;\n  letter-spacing: .19em;\n  text-transform: uppercase;\n}\n\n.mf2 h2.mf2__title {\n  margin: 10px 0 !important;\n  color: var(--cream);\n  font-size: clamp(29px, 5vw, 48px);\n  font-weight: 500;\n  line-height: 1.08;\n  letter-spacing: -.045em;\n}\n\n.mf2__title em {\n  color: var(--sage);\n  font-weight: 400;\n}\n\n.mf2__intro {\n  max-width: 430px;\n  color: #bdc8bd;\n  font-size: 13px;\n  line-height: 1.8;\n}\n\n.mf2__capacity {\n  display: flex;\n  width: 112px;\n  height: 112px;\n  flex-shrink: 0;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  border: 1px solid #c4ad8070;\n  border-radius: 50%;\n  background: #193328;\n  animation: mf2-float 4s ease-in-out infinite;\n}\n\n.mf2__capacity strong {\n  color: var(--cream);\n  font-size: 31px;\n  font-weight: 500;\n  line-height: 1.2;\n}\n\n.mf2__capacity span {\n  color: var(--gold);\n  font-size: 9px;\n  letter-spacing: .1em;\n  text-transform: uppercase;\n}\n\n.mf2__label {\n  margin: 25px 0 13px !important;\n  color: var(--cream);\n  font-size: 19px;\n  font-weight: 500;\n  letter-spacing: -.02em;\n}\n\n.mf2__features {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 10px;\n}\n\n.mf2__feature {\n  padding: 17px 15px;\n  background: linear-gradient(145deg, #1c392c, #142c22);\n  border: 1px solid #a8b9a31f;\n  border-radius: 11px;\n  transition: border-color .25s ease, transform .25s ease;\n  animation: mf2-in .6s ease both;\n}\n\n.mf2__feature:nth-child(2) {\n  animation-delay: .1s;\n}\n\n.mf2__feature:nth-child(3) {\n  animation-delay: .2s;\n}\n\n.mf2__feature:hover {\n  transform: translateY(-3px);\n  border-color: #c4ad8070;\n}\n\n.mf2__number {\n  display: block;\n  margin-bottom: 10px;\n  color: var(--gold);\n  font-size: 10px;\n  letter-spacing: .14em;\n}\n\n.mf2 h3.mf2__heading {\n  margin: 0 0 5px !important;\n  color: var(--cream);\n  font-size: 14px;\n  font-weight: 500;\n  line-height: 1.4;\n}\n\n.mf2__feature p {\n  margin: 0;\n  color: #bdc8bd;\n  font-size: 12px;\n  line-height: 1.7;\n}\n\n.mf2__dimensions {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 10px;\n  margin-top: 20px;\n  padding: 17px 0;\n  border-top: 1px solid #c4ad8030;\n  border-bottom: 1px solid #c4ad8030;\n}\n\n.mf2__dimension {\n  text-align: center;\n}\n\n.mf2__dimension span {\n  display: block;\n  color: var(--sage);\n  font-size: 10px;\n  letter-spacing: .08em;\n  text-transform: uppercase;\n}\n\n.mf2__dimension strong {\n  display: block;\n  margin-top: 3px;\n  color: var(--cream);\n  font-size: 19px;\n  font-weight: 500;\n}\n\n.mf2__footer {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-between;\n  gap: 8px;\n  margin-top: 16px;\n  color: var(--sage);\n  font-size: 9px;\n  font-weight: 600;\n  letter-spacing: .12em;\n  text-transform: uppercase;\n}\n\n.mf2__footer span:last-child {\n  color: var(--gold);\n}\n\n@keyframes mf2-in {\n  from { opacity: 0; transform: translateY(10px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\n@keyframes mf2-float {\n  0%, 100% { transform: translateY(0); }\n  50% { transform: translateY(-4px); }\n}\n\n@media (max-width: 600px) {\n  .mf2 {\n    padding: 21px 16px;\n    margin: 12px auto;\n    border-radius: 14px;\n  }\n\n  .mf2__hero {\n    grid-template-columns: minmax(0, 1fr) 76px;\n    gap: 10px;\n    padding-bottom: 21px;\n  }\n\n  .mf2__eyebrow {\n    font-size: 8px;\n    letter-spacing: .13em;\n  }\n\n  .mf2 h2.mf2__title {\n    font-size: clamp(25px, 7vw, 34px);\n    margin: 9px 0 !important;\n  }\n\n  .mf2__intro {\n    font-size: 12px;\n    line-height: 1.7;\n  }\n\n  .mf2__capacity {\n    width: 76px;\n    height: 76px;\n  }\n\n  .mf2__capacity strong {\n    font-size: 23px;\n  }\n\n  .mf2__capacity span {\n    font-size: 7px;\n  }\n\n  .mf2__label {\n    margin-top: 19px !important;\n    font-size: 17px;\n  }\n\n  .mf2__features {\n    grid-template-columns: 1fr;\n    gap: 8px;\n  }\n\n  .mf2__feature {\n    display: grid;\n    grid-template-columns: 30px minmax(0, 1fr);\n    column-gap: 9px;\n    align-items: start;\n    padding: 12px;\n  }\n\n  .mf2__number {\n    grid-row: 1 \/ span 2;\n    margin: 3px 0 0;\n  }\n\n  .mf2 h3.mf2__heading {\n    margin-bottom: 2px !important;\n    font-size: 13px;\n  }\n\n  .mf2__feature p {\n    font-size: 11px;\n    line-height: 1.55;\n  }\n\n  .mf2__dimensions {\n    margin-top: 15px;\n    padding: 13px 0;\n  }\n\n  .mf2__dimension strong {\n    font-size: 17px;\n  }\n\n  .mf2__footer {\n    font-size: 8px;\n    letter-spacing: .08em;\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .mf2,\n  .mf2 *,\n  .mf2::before,\n  .mf2 *::before,\n  .mf2 *::after {\n    animation: none !important;\n    transition: none !important;\n  }\n}\n\u003c\/style\u003e\n\n\u003csection class=\"mf2\"\u003e\n  \u003cdiv class=\"mf2__hero\"\u003e\n    \u003cdiv\u003e\n      \u003cspan class=\"mf2__eyebrow\"\u003eMade for your routine\u003c\/span\u003e\n      \u003ch2 class=\"mf2__title\"\u003e\n        Train focused.\u003cbr\u003e\n        \u003cem\u003eCarry smarter.\u003c\/em\u003e\n      \u003c\/h2\u003e\n      \u003cp class=\"mf2__intro\"\u003e\n        Your bottle and essentials, always within reach.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"mf2__capacity\"\u003e\n      \u003cstrong\u003e2 kg\u003c\/strong\u003e\n      \u003cspan\u003eUp to*\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003ch2 class=\"mf2__label\"\u003eThe details that matter.\u003c\/h2\u003e\n\n  \u003cdiv class=\"mf2__features\"\u003e\n    \u003cdiv class=\"mf2__feature\"\u003e\n      \u003cspan class=\"mf2__number\"\u003e01\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003ch3 class=\"mf2__heading\"\u003eMagnetic hold\u003c\/h3\u003e\n        \u003cp\u003eAttaches to compatible metal gym equipment.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"mf2__feature\"\u003e\n      \u003cspan class=\"mf2__number\"\u003e02\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003ch3 class=\"mf2__heading\"\u003eSmart storage\u003c\/h3\u003e\n        \u003cp\u003eZipped front pocket and handy mesh pocket.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"mf2__feature\"\u003e\n      \u003cspan class=\"mf2__number\"\u003e03\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003ch3 class=\"mf2__heading\"\u003eCarry your way\u003c\/h3\u003e\n        \u003cp\u003eAdjustable shoulder strap and top carry loop.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"mf2__dimensions\"\u003e\n    \u003cdiv class=\"mf2__dimension\"\u003e\n      \u003cspan\u003eHeight\u003c\/span\u003e\n      \u003cstrong\u003e20 cm\u003c\/strong\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"mf2__dimension\"\u003e\n      \u003cspan\u003eWidth\u003c\/span\u003e\n      \u003cstrong\u003e10 cm\u003c\/strong\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"mf2__dimension\"\u003e\n      \u003cspan\u003eDepth\u003c\/span\u003e\n      \u003cstrong\u003e9 cm\u003c\/strong\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"mf2__footer\"\u003e\n    \u003cspan\u003eDesigned for focus.\u003c\/span\u003e\n    \u003cspan\u003eMONOFORGE™\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003cp style=\"margin-top:12px;color:#9eafa2;font-size:10px;line-height:1.6;\"\u003e\n    *Supports up to 2 kg on compatible metal surfaces.\n    Holding performance varies by surface and conditions.\n  \u003c\/p\u003e\n\u003c\/section\u003e\n","brand":"MonoForge","offers":[{"title":"Default Title","offer_id":54187480383782,"sku":null,"price":499.2,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1044\/3646\/5958\/files\/bag-beside-monoforge-packaging-without-the-bottom-caption.png?v=1792765851"}],"url":"https:\/\/monoforge.co.za\/collections\/frontpage.oembed","provider":"MonoForge","version":"1.0","type":"link"}