{"title":"Rings","description":null,"products":[{"product_id":"flutter-wing-double-butterfly-crystal-ring","title":"Flutter Wing - Double Butterfly Crystal Ring","description":"\u003cstyle\u003e\n\/* =========================================================\n   YOURSPARK — FLUTTER WING DOUBLE BUTTERFLY CRYSTAL RING\n   Dark Cherry Blossom \/ Premium Y2K\n========================================================= *\/\n\n.ys-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-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: ysRingAmbient 7s ease-in-out infinite;\n\n  pointer-events: none;\n}\n\n\n\/* Main glass panel *\/\n\n.ys-ring-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: ysRingEnter .8s ease forwards;\n}\n\n\n\/* Butterfly decoration *\/\n\n.ys-ring-butterfly {\n  position: absolute;\n\n  top: 22px;\n  left: 24px;\n\n  font-size: 24px;\n\n  filter:\n    drop-shadow(0 5px 12px rgba(255,170,205,.28));\n\n  animation:\n    ysRingButterfly 4.5s ease-in-out infinite;\n}\n\n\n\/* Sparkles *\/\n\n.ys-ring-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    ysRingSparkle 3s ease-in-out infinite;\n}\n\n.ys-rs1 {\n  top: 27px;\n  right: 17%;\n}\n\n.ys-rs2 {\n  top: 90px;\n  right: 7%;\n  font-size: 10px;\n  animation-delay: .8s;\n}\n\n.ys-rs3 {\n  bottom: 90px;\n  left: 7%;\n  font-size: 12px;\n  animation-delay: 1.4s;\n}\n\n.ys-rs4 {\n  bottom: 30px;\n  right: 15%;\n  font-size: 9px;\n  animation-delay: 2s;\n}\n\n\n\/* Header *\/\n\n.ys-ring-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: ysRingLine 3s ease-in-out infinite;\n}\n\n\n.ys-ring-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-ring-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\/* Pink title shimmer *\/\n\n.ys-ring-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: ysRingShimmer 5s linear infinite;\n}\n\n\n\/* Subtitle *\/\n\n.ys-ring-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-ring-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 story *\/\n\n.ys-ring-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-ring-story strong {\n  color: #ffd0e2;\n\n  font-weight: 700;\n}\n\n\n\/* Features *\/\n\n.ys-ring-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-ring-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: ysRingFeature .7s ease forwards;\n}\n\n\n.ys-ring-feature:nth-child(1) {\n  animation-delay: .10s;\n}\n\n.ys-ring-feature:nth-child(2) {\n  animation-delay: .20s;\n}\n\n.ys-ring-feature:nth-child(3) {\n  animation-delay: .30s;\n}\n\n.ys-ring-feature:nth-child(4) {\n  animation-delay: .40s;\n}\n\n\n.ys-ring-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\/* Feature icons *\/\n\n.ys-ring-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-ring-feature-text {\n  font-size: 12px;\n\n  line-height: 1.4;\n\n  color: #f5e7ed;\n}\n\n\n.ys-ring-feature-text strong {\n  color: #fff;\n}\n\n\n\/* Emotional brand section *\/\n\n.ys-ring-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-ring-emotion::before {\n  content: \"✦\";\n\n  position: absolute;\n\n  top: 8px;\n  left: 17px;\n\n  color: rgba(255,215,230,.50);\n\n  font-size: 16px;\n\n  animation: ysRingTwinkle 2s infinite;\n}\n\n\n.ys-ring-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: ysRingTwinkle 2s infinite .8s;\n}\n\n\n.ys-ring-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-ring-emotion-main strong {\n  color: #ffd0e2;\n}\n\n\n.ys-ring-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-ring-gift {\n  text-align: center;\n\n  margin-top: 13px;\n\n  color: #dcb9c7;\n\n  font-size: 11px;\n}\n\n\n.ys-ring-gift strong {\n  color: #ffd0e2;\n}\n\n\n\/* Care *\/\n\n.ys-ring-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-ring-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-ring-care summary::-webkit-details-marker {\n  display: none;\n}\n\n\n.ys-ring-care summary:hover {\n  color: var(--pink-light);\n}\n\n\n.ys-ring-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 ysRingEnter {\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 ysRingFeature {\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 ysRingButterfly {\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 ysRingSparkle {\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 ysRingTwinkle {\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 ysRingShimmer {\n  0% {\n    background-position: 0% center;\n  }\n\n  100% {\n    background-position: 300% center;\n  }\n}\n\n\n@keyframes ysRingAmbient {\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 ysRingLine {\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-ring {\n    border-radius: 23px;\n  }\n\n  .ys-ring-card {\n    margin: 7px;\n    padding: 32px 16px;\n    border-radius: 19px;\n  }\n\n  .ys-ring-title {\n    font-size: 32px;\n  }\n\n  .ys-ring-subtitle {\n    font-size: 13px;\n  }\n\n  .ys-ring-story {\n    font-size: 13px;\n    line-height: 1.68;\n  }\n\n  .ys-ring-features {\n    grid-template-columns: 1fr;\n    gap: 9px;\n  }\n\n  .ys-ring-feature {\n    padding: 13px;\n  }\n\n  .ys-ring-butterfly {\n    top: 15px;\n    left: 15px;\n    font-size: 19px;\n  }\n\n  .ys-ring-emotion {\n    padding: 20px 16px;\n  }\n\n  .ys-ring-emotion-main {\n    font-size: 16px;\n  }\n}\n\n\n\/* Accessibility *\/\n\n@media (prefers-reduced-motion: reduce) {\n\n  .ys-ring *,\n  .ys-ring::before {\n    animation: none !important;\n    transition: none !important;\n  }\n\n}\n\u003c\/style\u003e\n\u003cdiv class=\"ys-ring\"\u003e\n\u003cdiv class=\"ys-ring-card\"\u003e\n\u003c!-- Decorative butterfly --\u003e\n\u003cdiv class=\"ys-ring-butterfly\"\u003e🦋\u003c\/div\u003e\n\u003c!-- Sparkles --\u003e\n\u003cdiv class=\"ys-ring-sparkle ys-rs1\"\u003e✦\u003c\/div\u003e\n\u003cdiv class=\"ys-ring-sparkle ys-rs2\"\u003e✧\u003c\/div\u003e\n\u003cdiv class=\"ys-ring-sparkle ys-rs3\"\u003e✦\u003c\/div\u003e\n\u003cdiv class=\"ys-ring-sparkle ys-rs4\"\u003e✧\u003c\/div\u003e\n\u003c!-- Header --\u003e\n\u003cdiv class=\"ys-ring-top-line\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"ys-ring-label\"\u003eYourSpark · Y2K Collection\u003c\/div\u003e\n\u003ch2 class=\"ys-ring-title\"\u003e\n\u003cspan\u003eFlutter Wing\u003c\/span\u003e 🦋\u003c\/h2\u003e\n\u003cp class=\"ys-ring-subtitle\"\u003eTwo butterflies. One ring. Endless sparkle. ✨\u003c\/p\u003e\n\u003cdiv class=\"ys-ring-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- Product description --\u003e\n\u003cdiv class=\"ys-ring-story\"\u003eMeet the \u003cstrong\u003eFlutter Wing Double Butterfly Crystal Ring\u003c\/strong\u003e — an effortless little statement piece designed to bring a touch of Y2K magic to your everyday. \u003cbr\u003e\u003cbr\u003eFeaturing two delicate crystal butterflies resting on a sleek silver-tone open band, one decorated with \u003cstrong\u003emarquise-cut crystals\u003c\/strong\u003e and the other covered in shimmering rhinestones. \u003cbr\u003e\u003cbr\u003eIt's the kind of piece that makes you stop and stare — and then immediately put it on. Wear it solo, stack it with your favourites, or let it be the little detail that makes the whole look feel \u003cstrong\u003epretty, playful and completely you.\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c!-- Features --\u003e\n\u003cdiv class=\"ys-ring-features\"\u003e\n\u003cdiv class=\"ys-ring-feature\"\u003e\n\u003cdiv class=\"ys-ring-icon\"\u003e🦋\u003c\/div\u003e\n\u003cdiv class=\"ys-ring-feature-text\"\u003e\n\u003cstrong\u003eDouble Butterfly Design\u003c\/strong\u003e\u003cbr\u003eMarquise crystal and rhinestone details\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ys-ring-feature\"\u003e\n\u003cdiv class=\"ys-ring-icon\"\u003e✨\u003c\/div\u003e\n\u003cdiv class=\"ys-ring-feature-text\"\u003e\n\u003cstrong\u003eOpen Adjustable Band\u003c\/strong\u003e\u003cbr\u003eDesigned to fit most ring sizes\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ys-ring-feature\"\u003e\n\u003cdiv class=\"ys-ring-icon\"\u003e💎\u003c\/div\u003e\n\u003cdiv class=\"ys-ring-feature-text\"\u003e\n\u003cstrong\u003eSilver-Tone Finish\u003c\/strong\u003e\u003cbr\u003eSleek and easy to style\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ys-ring-feature\"\u003e\n\u003cdiv class=\"ys-ring-icon\"\u003e🌸\u003c\/div\u003e\n\u003cdiv class=\"ys-ring-feature-text\"\u003e\n\u003cstrong\u003eLightweight Feel\u003c\/strong\u003e\u003cbr\u003eComfortable for everyday wear\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Emotional section --\u003e\n\u003cdiv class=\"ys-ring-emotion\"\u003e\n\u003cp class=\"ys-ring-emotion-main\"\u003eNot just a ring — \u003cstrong\u003ea tiny reminder to let yourself sparkle.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp class=\"ys-ring-emotion-small\"\u003eFind your spark · Wear your story\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- Gift --\u003e\n\u003cdiv class=\"ys-ring-gift\"\u003e🎁 Perfect for gifting · \u003cstrong\u003eor keeping for yourself\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c!-- Care --\u003e\n\u003cdetails class=\"ys-ring-care\" open=\"\"\u003e\n\u003csummary\u003eCare \u0026amp; Materials · Click to view\u003c\/summary\u003e\n\u003cdiv class=\"ys-ring-care-text\"\u003eSilver-tone Copper finish with crystal and rhinestone embellishments. Avoid contact with water, perfume, lotions and chemicals to help maintain shine. Not suitable for those with metal sensitivities.\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"YourSpark","offers":[{"title":"Default Title","offer_id":53795771547931,"sku":null,"price":429.99,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1045\/6547\/3563\/files\/image_d3a0e1b9-1328-4e69-b97e-5ab0e66f3411.png?v=1787435294"},{"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"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1045\/6547\/3563\/collections\/image_089de298-71f5-47b6-8b0d-a26896d84422.png?v=1787173922","url":"https:\/\/yourspark.co.za\/collections\/rings.oembed","provider":"YourSpark","version":"1.0","type":"link"}