{"product_id":"sweetheart-twist-ring","title":"Sweetheart Twist Ring - Gold \u0026 Silver Heart Band","description":"\u003cstyle\u003e\n\/* =========================================================\n   YOURSPARK — SWEETHEART TWIST RING\n   Dark Cherry Blossom \/ Premium Y2K\n========================================================= *\/\n\n.ys-heart-ring {\n  --pink: #f3a9c6;\n  --pink-light: #ffd2e3;\n  --rose: #c6537d;\n  --deep-rose: #7d294d;\n  --text: #fff5f9;\n  --muted: #e7c9d5;\n\n  position: relative;\n  max-width: 920px;\n  margin: 35px auto;\n  font-family: inherit;\n  color: var(--text);\n  overflow: hidden;\n  border-radius: 30px;\n\n  background:\n    radial-gradient(\n      circle at 50% 8%,\n      rgba(255,191,216,.50),\n      transparent 27%\n    ),\n    radial-gradient(\n      circle at 10% 90%,\n      rgba(198,83,125,.32),\n      transparent 35%\n    ),\n    radial-gradient(\n      circle at 90% 70%,\n      rgba(245,145,181,.22),\n      transparent 30%\n    ),\n    linear-gradient(\n      145deg,\n      #3d1426 0%,\n      #641f3b 38%,\n      #8e3458 62%,\n      #431326 100%\n    );\n\n  box-shadow:\n    0 25px 75px rgba(70,15,38,.42);\n}\n\n\n\/* Ambient glow *\/\n\n.ys-heart-ring::before {\n  content: \"\";\n\n  position: absolute;\n\n  width: 500px;\n  height: 500px;\n\n  top: -270px;\n  left: 50%;\n\n  transform: translateX(-50%);\n\n  background:\n    radial-gradient(\n      circle,\n      rgba(255,224,237,.38),\n      rgba(255,180,211,.12) 40%,\n      transparent 70%\n    );\n\n  filter: blur(8px);\n\n  animation: ysHeartAmbient 7s ease-in-out infinite;\n\n  pointer-events: none;\n}\n\n\n\/* Main panel *\/\n\n.ys-heart-card {\n  position: relative;\n  z-index: 2;\n\n  margin: 10px;\n  padding: 38px 30px;\n\n  border-radius: 24px;\n\n  background:\n    linear-gradient(\n      145deg,\n      rgba(91,25,49,.74),\n      rgba(55,12,29,.67)\n    );\n\n  border: 1px solid rgba(255,213,228,.20);\n\n  box-shadow:\n    inset 0 1px 0 rgba(255,255,255,.10),\n    0 15px 45px rgba(30,5,15,.24);\n\n  backdrop-filter: blur(18px);\n  -webkit-backdrop-filter: blur(18px);\n\n  animation: ysHeartEnter .8s ease forwards;\n}\n\n\n\/* Heart decoration *\/\n\n.ys-heart-symbol {\n  position: absolute;\n\n  top: 21px;\n  left: 23px;\n\n  font-size: 24px;\n\n  filter:\n    drop-shadow(0 5px 12px rgba(255,170,205,.28));\n\n  animation:\n    ysHeartFloat 4.5s ease-in-out infinite;\n}\n\n\n\/* Sparkles *\/\n\n.ys-heart-sparkle {\n  position: absolute;\n\n  color: white;\n\n  text-shadow:\n    0 0 5px white,\n    0 0 12px var(--pink),\n    0 0 22px var(--rose);\n\n  pointer-events: none;\n\n  animation:\n    ysHeartSparkle 3s ease-in-out infinite;\n}\n\n.ys-hrs1 {\n  top: 27px;\n  right: 17%;\n}\n\n.ys-hrs2 {\n  top: 90px;\n  right: 7%;\n  font-size: 10px;\n  animation-delay: .8s;\n}\n\n.ys-hrs3 {\n  bottom: 90px;\n  left: 7%;\n  font-size: 12px;\n  animation-delay: 1.4s;\n}\n\n.ys-hrs4 {\n  bottom: 30px;\n  right: 15%;\n  font-size: 9px;\n  animation-delay: 2s;\n}\n\n\n\/* Header *\/\n\n.ys-heart-top-line {\n  width: 70px;\n  height: 2px;\n\n  margin: 0 auto 16px;\n\n  border-radius: 100px;\n\n  background:\n    linear-gradient(\n      90deg,\n      transparent,\n      var(--pink-light),\n      var(--pink),\n      transparent\n    );\n\n  box-shadow:\n    0 0 12px rgba(255,185,215,.40);\n\n  animation: ysHeartLine 3s ease-in-out infinite;\n}\n\n\n.ys-heart-label {\n  text-align: center;\n\n  margin-bottom: 8px;\n\n  font-size: 9px;\n  font-weight: 700;\n\n  letter-spacing: 2.8px;\n\n  text-transform: uppercase;\n\n  color: var(--pink-light);\n}\n\n\n\/* Title *\/\n\n.ys-heart-title {\n  margin: 0;\n\n  text-align: center;\n\n  font-size: clamp(30px, 5vw, 46px);\n\n  line-height: 1.05;\n\n  font-weight: 700;\n\n  letter-spacing: -1.5px;\n\n  color: #fff;\n}\n\n\n.ys-heart-title span {\n  background:\n    linear-gradient(\n      90deg,\n      #f4a8c5,\n      #ffd4e5,\n      #ffffff,\n      #f19bbd,\n      #ffd4e5,\n      #f4a8c5\n    );\n\n  background-size: 300% auto;\n\n  -webkit-background-clip: text;\n  background-clip: text;\n\n  -webkit-text-fill-color: transparent;\n\n  animation: ysHeartShimmer 5s linear infinite;\n}\n\n\n\/* Subtitle *\/\n\n.ys-heart-subtitle {\n  max-width: 620px;\n\n  margin: 11px auto 0;\n\n  text-align: center;\n\n  color: var(--muted);\n\n  font-size: 14px;\n\n  line-height: 1.6;\n}\n\n\n\/* Divider *\/\n\n.ys-heart-divider {\n  width: 90px;\n  height: 1px;\n\n  margin: 18px auto;\n\n  background:\n    linear-gradient(\n      90deg,\n      transparent,\n      var(--pink),\n      transparent\n    );\n\n  box-shadow:\n    0 0 10px rgba(243,169,198,.30);\n}\n\n\n\/* Product description *\/\n\n.ys-heart-story {\n  max-width: 720px;\n\n  margin: 0 auto;\n\n  text-align: center;\n\n  color: #f1dce5;\n\n  font-size: 14px;\n\n  line-height: 1.72;\n}\n\n\n.ys-heart-story strong {\n  color: #ffd0e2;\n\n  font-weight: 700;\n}\n\n\n\/* Features *\/\n\n.ys-heart-features {\n  display: grid;\n\n  grid-template-columns: repeat(2, 1fr);\n\n  gap: 10px;\n\n  margin-top: 21px;\n}\n\n\n.ys-heart-feature {\n  display: flex;\n\n  align-items: center;\n\n  gap: 11px;\n\n  padding: 14px;\n\n  border-radius: 16px;\n\n  background:\n    linear-gradient(\n      145deg,\n      rgba(255,197,220,.09),\n      rgba(255,255,255,.03)\n    );\n\n  border: 1px solid rgba(255,204,224,.13);\n\n  box-shadow:\n    inset 0 1px 0 rgba(255,255,255,.04);\n\n  transition:\n    transform .3s ease,\n    background .3s ease,\n    border-color .3s ease;\n\n  opacity: 0;\n\n  animation: ysHeartFeature .7s ease forwards;\n}\n\n\n.ys-heart-feature:nth-child(1) {\n  animation-delay: .10s;\n}\n\n.ys-heart-feature:nth-child(2) {\n  animation-delay: .20s;\n}\n\n.ys-heart-feature:nth-child(3) {\n  animation-delay: .30s;\n}\n\n.ys-heart-feature:nth-child(4) {\n  animation-delay: .40s;\n}\n\n\n.ys-heart-feature:hover {\n  transform: translateY(-3px);\n\n  background:\n    linear-gradient(\n      145deg,\n      rgba(255,197,220,.15),\n      rgba(255,255,255,.05)\n    );\n\n  border-color:\n    rgba(255,204,224,.25);\n}\n\n\n\/* Icons *\/\n\n.ys-heart-icon {\n  width: 36px;\n  height: 36px;\n\n  flex: 0 0 36px;\n\n  display: flex;\n\n  align-items: center;\n  justify-content: center;\n\n  border-radius: 50%;\n\n  background:\n    linear-gradient(\n      145deg,\n      #ffd9e8,\n      #c85a82\n    );\n\n  color: #56152f;\n\n  box-shadow:\n    0 4px 15px rgba(243,169,198,.20);\n\n  font-size: 14px;\n}\n\n\n.ys-heart-feature-text {\n  font-size: 12px;\n\n  line-height: 1.4;\n\n  color: #f5e7ed;\n}\n\n\n.ys-heart-feature-text strong {\n  color: #fff;\n}\n\n\n\/* Emotional section *\/\n\n.ys-heart-emotion {\n  position: relative;\n\n  margin-top: 21px;\n\n  padding: 22px 18px;\n\n  text-align: center;\n\n  border-radius: 20px;\n\n  background:\n    linear-gradient(\n      135deg,\n      rgba(238,133,170,.22),\n      rgba(133,38,75,.42)\n    );\n\n  border:\n    1px solid rgba(255,204,224,.16);\n\n  box-shadow:\n    inset 0 1px 0 rgba(255,255,255,.05),\n    0 10px 30px rgba(25,4,13,.18);\n\n  overflow: hidden;\n}\n\n\n.ys-heart-emotion::before {\n  content: \"♡\";\n\n  position: absolute;\n\n  top: 7px;\n  left: 17px;\n\n  color: rgba(255,215,230,.50);\n\n  font-size: 18px;\n\n  animation: ysHeartTwinkle 2s infinite;\n}\n\n\n.ys-heart-emotion::after {\n  content: \"✦\";\n\n  position: absolute;\n\n  bottom: 8px;\n  right: 17px;\n\n  color: rgba(255,215,230,.50);\n\n  font-size: 13px;\n\n  animation: ysHeartTwinkle 2s infinite .8s;\n}\n\n\n.ys-heart-emotion-main {\n  margin: 0;\n\n  font-size: 17px;\n\n  line-height: 1.45;\n\n  font-weight: 650;\n\n  color: #fff;\n}\n\n\n.ys-heart-emotion-main strong {\n  color: #ffd0e2;\n}\n\n\n.ys-heart-emotion-small {\n  margin: 6px 0 0;\n\n  font-size: 9px;\n\n  letter-spacing: 1.8px;\n\n  text-transform: uppercase;\n\n  color: #e9c4d2;\n}\n\n\n\/* Gift *\/\n\n.ys-heart-gift {\n  text-align: center;\n\n  margin-top: 13px;\n\n  color: #dcb9c7;\n\n  font-size: 11px;\n}\n\n\n.ys-heart-gift strong {\n  color: #ffd0e2;\n}\n\n\n\/* Care *\/\n\n.ys-heart-care {\n  margin-top: 14px;\n\n  padding-top: 12px;\n\n  border-top:\n    1px solid rgba(255,255,255,.08);\n}\n\n\n.ys-heart-care summary {\n  cursor: pointer;\n\n  list-style: none;\n\n  text-align: center;\n\n  font-size: 9px;\n\n  letter-spacing: 1.4px;\n\n  text-transform: uppercase;\n\n  color: #c8a7b5;\n}\n\n\n.ys-heart-care summary::-webkit-details-marker {\n  display: none;\n}\n\n\n.ys-heart-care summary:hover {\n  color: var(--pink-light);\n}\n\n\n.ys-heart-care-text {\n  max-width: 650px;\n\n  margin: 11px auto 0;\n\n  text-align: center;\n\n  font-size: 10px;\n\n  line-height: 1.6;\n\n  color: #bfa0ae;\n}\n\n\n\/* Animations *\/\n\n@keyframes ysHeartEnter {\n  from {\n    opacity: 0;\n    transform: translateY(16px);\n  }\n\n  to {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n\n@keyframes ysHeartFeature {\n  from {\n    opacity: 0;\n    transform: translateY(10px);\n  }\n\n  to {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n\n@keyframes ysHeartFloat {\n  0%, 100% {\n    transform:\n      translateY(0)\n      rotate(-4deg);\n  }\n\n  50% {\n    transform:\n      translateY(-8px)\n      rotate(4deg);\n  }\n}\n\n\n@keyframes ysHeartSparkle {\n  0%, 100% {\n    opacity: .25;\n\n    transform:\n      scale(.7)\n      rotate(0deg);\n  }\n\n  50% {\n    opacity: 1;\n\n    transform:\n      scale(1.3)\n      rotate(45deg);\n  }\n}\n\n\n@keyframes ysHeartTwinkle {\n  0%, 100% {\n    opacity: .3;\n    transform: scale(.8);\n  }\n\n  50% {\n    opacity: 1;\n    transform: scale(1.25);\n  }\n}\n\n\n@keyframes ysHeartShimmer {\n  0% {\n    background-position: 0% center;\n  }\n\n  100% {\n    background-position: 300% center;\n  }\n}\n\n\n@keyframes ysHeartAmbient {\n  0%, 100% {\n    transform:\n      translateX(-50%)\n      scale(1);\n\n    opacity: .7;\n  }\n\n  50% {\n    transform:\n      translateX(-50%)\n      scale(1.12);\n\n    opacity: 1;\n  }\n}\n\n\n@keyframes ysHeartLine {\n  0%, 100% {\n    transform: scaleX(.7);\n  }\n\n  50% {\n    transform: scaleX(1);\n  }\n}\n\n\n\/* Mobile *\/\n\n@media (max-width: 600px) {\n\n  .ys-heart-ring {\n    border-radius: 23px;\n  }\n\n  .ys-heart-card {\n    margin: 7px;\n    padding: 32px 16px;\n    border-radius: 19px;\n  }\n\n  .ys-heart-title {\n    font-size: 32px;\n  }\n\n  .ys-heart-subtitle {\n    font-size: 13px;\n  }\n\n  .ys-heart-story {\n    font-size: 13px;\n    line-height: 1.68;\n  }\n\n  .ys-heart-features {\n    grid-template-columns: 1fr;\n    gap: 9px;\n  }\n\n  .ys-heart-feature {\n    padding: 13px;\n  }\n\n  .ys-heart-symbol {\n    top: 15px;\n    left: 15px;\n    font-size: 19px;\n  }\n\n  .ys-heart-emotion {\n    padding: 20px 16px;\n  }\n\n  .ys-heart-emotion-main {\n    font-size: 16px;\n  }\n}\n\n\n\/* Accessibility *\/\n\n@media (prefers-reduced-motion: reduce) {\n\n  .ys-heart-ring *,\n  .ys-heart-ring::before {\n    animation: none !important;\n    transition: none !important;\n  }\n\n}\n\u003c\/style\u003e\n\n\n\u003cdiv class=\"ys-heart-ring\"\u003e\n\n  \u003cdiv class=\"ys-heart-card\"\u003e\n\n    \u003c!-- Decorative heart --\u003e\n    \u003cdiv class=\"ys-heart-symbol\"\u003e♡\u003c\/div\u003e\n\n    \u003c!-- Sparkles --\u003e\n    \u003cdiv class=\"ys-heart-sparkle ys-hrs1\"\u003e✦\u003c\/div\u003e\n    \u003cdiv class=\"ys-heart-sparkle ys-hrs2\"\u003e✧\u003c\/div\u003e\n    \u003cdiv class=\"ys-heart-sparkle ys-hrs3\"\u003e✦\u003c\/div\u003e\n    \u003cdiv class=\"ys-heart-sparkle ys-hrs4\"\u003e✧\u003c\/div\u003e\n\n\n    \u003c!-- Header --\u003e\n\n    \u003cdiv class=\"ys-heart-top-line\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"ys-heart-label\"\u003e\n      YourSpark · Y2K Collection\n    \u003c\/div\u003e\n\n\n    \u003ch2 class=\"ys-heart-title\"\u003e\n      \u003cspan\u003eWear Your Heart\u003c\/span\u003e ✨\n    \u003c\/h2\u003e\n\n\n    \u003cp class=\"ys-heart-subtitle\"\u003e\n      Simple, sweet and completely Y2K.\n    \u003c\/p\u003e\n\n\n    \u003cdiv class=\"ys-heart-divider\"\u003e\u003c\/div\u003e\n\n\n    \u003c!-- Product description --\u003e\n\n    \u003cdiv class=\"ys-heart-story\"\u003e\n\n      Meet the\n      \u003cstrong\u003eSweetheart Twist Ring\u003c\/strong\u003e —\n      the kind of piece you'll reach for again and again.\n\n      \u003cbr\u003e\u003cbr\u003e\n\n      Its delicate twisted band leads into a smooth heart\n      centrepiece, creating a timeless little detail with\n      just the right amount of Y2K charm.\n\n      \u003cbr\u003e\u003cbr\u003e\n\n      Whether you wear it on its own or stack it with your\n      favourite rings, it's made to add something personal\n      to every look — a little romance, a little nostalgia,\n      and a whole lot of \u003cstrong\u003eyou.\u003c\/strong\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- Features --\u003e\n\n    \u003cdiv class=\"ys-heart-features\"\u003e\n\n      \u003cdiv class=\"ys-heart-feature\"\u003e\n\n        \u003cdiv class=\"ys-heart-icon\"\u003e\n          ✦\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ys-heart-feature-text\"\u003e\n          \u003cstrong\u003eTwisted Band Design\u003c\/strong\u003e\u003cbr\u003e\n          Finished with a smooth heart centrepiece\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"ys-heart-feature\"\u003e\n\n        \u003cdiv class=\"ys-heart-icon\"\u003e\n          ♡\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ys-heart-feature-text\"\u003e\n          \u003cstrong\u003eSterling Silver\u003c\/strong\u003e\u003cbr\u003e\n          A beautiful precious-metal finish\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"ys-heart-feature\"\u003e\n\n        \u003cdiv class=\"ys-heart-icon\"\u003e\n          🌸\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ys-heart-feature-text\"\u003e\n          \u003cstrong\u003eLightweight Feel\u003c\/strong\u003e\u003cbr\u003e\n          Comfortable enough for everyday wear\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"ys-heart-feature\"\u003e\n\n        \u003cdiv class=\"ys-heart-icon\"\u003e\n          ✨\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ys-heart-feature-text\"\u003e\n          \u003cstrong\u003eStacking Friendly\u003c\/strong\u003e\u003cbr\u003e\n          Easy to layer with your favourite rings\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- Emotional section --\u003e\n\n    \u003cdiv class=\"ys-heart-emotion\"\u003e\n\n      \u003cp class=\"ys-heart-emotion-main\"\u003e\n        Because every outfit deserves\n        \u003cstrong\u003ea little heart.\u003c\/strong\u003e 🤍\n      \u003c\/p\u003e\n\n      \u003cp class=\"ys-heart-emotion-small\"\u003e\n        Find your spark · Wear your story\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- Gift --\u003e\n\n    \u003cdiv class=\"ys-heart-gift\"\u003e\n\n      🎁 Perfect for gifting ·\n      \u003cstrong\u003eor keeping for yourself\u003c\/strong\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- Care --\u003e\n\n    \u003cdetails class=\"ys-heart-care\"\u003e\n\n      \u003csummary\u003e\n        Care \u0026amp; Materials · Click to view\n      \u003c\/summary\u003e\n\n      \u003cdiv class=\"ys-heart-care-text\"\u003e\n\n        Sterling silver ring. Avoid prolonged exposure to\n        harsh chemicals, perfume, lotions and cleaning\n        products to help maintain its appearance.\n        Store in a dry place when not being worn.\n        Not suitable for those with metal sensitivities.\n\n      \u003c\/div\u003e\n\n    \u003c\/details\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"YourSpark","offers":[{"title":"Default Title","offer_id":53800252834075,"sku":null,"price":369.99,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1045\/6547\/3563\/files\/image_20d41e90-de63-4984-9d9b-5cdcc1a8624d.png?v=1787299489","url":"https:\/\/yourspark.co.za\/products\/sweetheart-twist-ring","provider":"YourSpark","version":"1.0","type":"link"}