{"title":"LuxFlush collection","description":"","products":[{"product_id":"afloria-luxflush-toilet-wand","title":"Afloria LuxFlush Toilet Wand with 12 refills","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:wght@500;600\u0026amp;family=Inter:wght@400;500;600\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n    .afloria-section, .afloria-section * { box-sizing: border-box; margin: 0; padding: 0; }\n\n    .afloria-section {\n      font-family: 'Inter', Arial, sans-serif;\n      background: linear-gradient(135deg, #efe5d6 0%, #e7dac7 100%);\n      padding: 24px;\n      display: flex;\n      justify-content: center;\n    }\n\n    .afloria-product-card {\n      max-width: 1100px;\n      width: 100%;\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      background: rgba(248,244,238,0.96);\n      border-radius: 34px;\n      overflow: hidden;\n      box-shadow: 0 25px 70px rgba(40,32,20,0.08);\n    }\n\n    .afloria-product-visual {\n      position: relative;\n      min-height: 420px;\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      background: radial-gradient(circle at center, #f5ecdf, #e5d5bf);\n      overflow: hidden;\n    }\n\n    .afloria-wave {\n      position: absolute;\n      inset: 0;\n      background: linear-gradient(120deg, transparent 10%, rgba(255,255,255,0.22) 40%, transparent 70%);\n      background-size: 200% 100%;\n      animation: waveMove 7s linear infinite;\n    }\n\n    .afloria-ring {\n      position: absolute;\n      border: 1px solid rgba(180,140,80,0.25);\n      border-radius: 50%;\n      animation: ringPulse 6s ease-in-out infinite;\n    }\n    .afloria-ring.one { width: 170px; height: 170px; }\n    .afloria-ring.two { width: 260px; height: 260px; animation-delay: 1.5s; }\n\n    .afloria-dot {\n      position: absolute;\n      color: #b58a52;\n      font-size: 18px;\n      animation: sparkle 3s ease-in-out infinite;\n    }\n    .afloria-dot.one { top: 24%; left: 32%; }\n    .afloria-dot.two { right: 28%; top: 58%; animation-delay: 1s; }\n    .afloria-dot.three { left: 42%; bottom: 24%; animation-delay: 2s; }\n\n    .afloria-brush-wrap {\n      position: relative;\n      width: 120px;\n      height: 280px;\n      animation: floatBrush 5s ease-in-out infinite;\n      z-index: 2;\n    }\n\n    .afloria-brush-handle {\n      position:absolute;\n      left:50%;\n      transform:translateX(-50%);\n      width:18px;\n      height:200px;\n      border-radius:12px;\n      background: linear-gradient(180deg,#ffffff,#d9d9d9);\n      box-shadow: 0 8px 20px rgba(0,0,0,0.08);\n    }\n\n    .afloria-brush-head {\n      position:absolute;\n      bottom:34px;\n      left:50%;\n      transform:translateX(-50%);\n      width:34px;\n      height:18px;\n      border-radius: 12px;\n      background: linear-gradient(180deg,#7fb5d6,#5e9fc8);\n    }\n\n    .afloria-brush-holder {\n      position:absolute;\n      bottom:0;\n      left:50%;\n      transform:translateX(-50%);\n      width:70px;\n      height:58px;\n      border-radius:18px;\n      background: rgba(255,255,255,0.28);\n      border:1px solid rgba(255,255,255,0.45);\n      backdrop-filter: blur(6px);\n    }\n\n    .afloria-brush-shine {\n      position:absolute;\n      top:0;\n      left:50%;\n      transform:translateX(-50%);\n      width:24px;\n      height:220px;\n      background: linear-gradient(180deg, transparent, rgba(255,255,255,0.75), transparent);\n      background-size:100% 220%;\n      animation: brushShine 3.5s linear infinite;\n      z-index:3;\n      pointer-events:none;\n    }\n\n    .afloria-content { padding: 60px 52px; }\n\n    h1 {\n      font-family: 'Cormorant Garamond', serif;\n      letter-spacing: 0.5px;\n      font-size: 42px;\n      line-height: 1.1;\n      margin-bottom: 18px;\n      font-weight: 600;\n      background: linear-gradient(90deg, #7a5a34 0%, #d6b17c 50%, #7a5a34 100%);\n      background-size: 220% auto;\n      -webkit-background-clip: text;\n      -webkit-text-fill-color: transparent;\n      animation: titleShine 4s linear infinite;\n    }\n\n    .afloria-description {\n      color: #5f5a52;\n      font-size: 17px;\n      line-height: 1.7;\n      margin-bottom: 28px;\n    }\n\n    .afloria-features {\n      display: grid;\n      gap: 14px;\n      margin-bottom: 28px;\n    }\n\n    .afloria-feature {\n      position: relative;\n      display: flex;\n      align-items: center;\n      gap: 12px;\n      padding: 16px 18px;\n      border-radius: 18px;\n      background: #eceef1;\n      color: #3d434a;\n      font-size: 15px;\n      box-shadow: 0 8px 18px rgba(0,0,0,0.03);\n      overflow: hidden;\n      opacity: 0;\n      transform: translateY(16px);\n      animation: fadeInUp .6s forwards;\n    }\n\n    .afloria-feature::before {\n      content: '';\n      position: absolute;\n      inset: 0;\n      padding: 1px;\n      border-radius: 18px;\n      background: linear-gradient(90deg, transparent, rgba(212,175,85,0.95), transparent);\n      background-size: 220% 100%;\n      animation: borderShine 4s linear infinite;\n      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n      -webkit-mask-composite: xor;\n      mask-composite: exclude;\n      pointer-events: none;\n    }\n\n    .afloria-feature:nth-child(1){animation-delay:.1s}\n    .afloria-feature:nth-child(2){animation-delay:.2s}\n    .afloria-feature:nth-child(3){animation-delay:.3s}\n    .afloria-feature:nth-child(4){animation-delay:.4s}\n    .afloria-feature:nth-child(5){animation-delay:.5s}\n    .afloria-feature:nth-child(6){animation-delay:.6s}\n\n    .afloria-icon { font-size: 18px; }\n\n    .afloria-details {\n      background: #f5efe7;\n      border: 1px solid rgba(180,140,80,0.25);\n      border-radius: 18px;\n      padding: 18px;\n      margin-bottom: 22px;\n      color: #4d4a45;\n    }\n\n    .afloria-detail-item + .afloria-detail-item { margin-top: 8px; }\n\n    .afloria-cta {\n      position: relative;\n      overflow: hidden;\n      display: inline-block;\n      padding: 15px 32px;\n      border-radius: 16px;\n      text-decoration: none;\n      color: #fff;\n      font-weight: 700;\n      background: linear-gradient(135deg, #a97d49, #7a5a34);\n        }\n\n    .afloria-cta::before {\n      content:'';\n      position:absolute;\n      inset:0;\n      background: linear-gradient(120deg, transparent 25%, rgba(255,255,255,0.35) 50%, transparent 75%);\n      background-size: 220% 100%;\n      animation: buttonShine 3.5s linear infinite;\n    }\n\n    .afloria-cta span {\n      position: relative;\n      z-index: 2;\n    }\n\n    @keyframes waveMove { from { background-position: 200% 0; } to { background-position: -200% 0; } }\n    @keyframes floatBrush { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }\n    @keyframes brushShine { from { background-position: 0 -220%; } to { background-position: 0 220%; } }\n    @keyframes ringPulse { 0%,100% { transform: scale(.96); opacity:.4; } 50% { transform: scale(1.05); opacity:.8; } }\n    @keyframes sparkle { 0%,100% { opacity:.35; transform: scale(1); } 50% { opacity:1; transform: scale(1.15); } }\n    @keyframes titleShine { from { background-position: 200% center; } to { background-position: -200% center; } }\n    @keyframes borderShine { from { background-position: 200% 0; } to { background-position: -200% 0; } }\n    @keyframes fadeInUp { to { opacity:1; transform: translateY(0); } }\n    @keyframes buttonShine { from { background-position: 200% 0; } to { background-position: -200% 0; } }\n\n    @media (max-width: 820px) {\n      .afloria-product-card { grid-template-columns: 1fr; }\n      .afloria-content { padding: 34px 26px; }\n      h1 { font-size: 32px; }\n      .afloria-product-visual { min-height: 260px; }\n    }\n  \u003c\/style\u003e\n\u003cdiv class=\"afloria-section\"\u003e\n\u003csection class=\"afloria-product-card\"\u003e\n\u003cdiv class=\"afloria-product-visual\"\u003e\n\u003cdiv class=\"afloria-wave\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"afloria-ring one\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"afloria-ring two\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"afloria-dot one\"\u003e✦\u003c\/div\u003e\n\u003cdiv class=\"afloria-dot two\"\u003e✧\u003c\/div\u003e\n\u003cdiv class=\"afloria-dot three\"\u003e✦\u003c\/div\u003e\n\u003cdiv class=\"afloria-brush-wrap\"\u003e\n\u003cdiv class=\"afloria-brush-shine\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"afloria-brush-handle\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"afloria-brush-head\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"afloria-brush-holder\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"afloria-content\"\u003e\n\u003ch1\u003eElegant Toilet Cleaning System\u003c\/h1\u003e\n\u003cp class=\"afloria-description\"\u003e✨ Designed to keep hands away from mess while bringing a refined touch to everyday bathroom cleaning.\u003c\/p\u003e\n\u003cdiv class=\"afloria-features\"\u003e\n\u003cdiv class=\"afloria-feature\"\u003e\n\u003cspan class=\"afloria-icon\"\u003e💎\u003c\/span\u003e Sleek design that suits any bathroom\u003c\/div\u003e\n\u003cdiv class=\"afloria-feature\"\u003e\n\u003cspan class=\"afloria-icon\"\u003e🧼\u003c\/span\u003e Hygienic no-touch replacement system\u003c\/div\u003e\n\u003cdiv class=\"afloria-feature\"\u003e\n\u003cspan class=\"afloria-icon\"\u003e🤍\u003c\/span\u003e Ergonomic handle for a comfortable grip\u003c\/div\u003e\n\u003cdiv class=\"afloria-feature\"\u003e\n\u003cspan class=\"afloria-icon\"\u003e✨\u003c\/span\u003e Storage holder for a tidy finish\u003c\/div\u003e\n\u003cdiv class=\"afloria-feature\"\u003e\n\u003cspan class=\"afloria-icon\"\u003e🛡️\u003c\/span\u003e Keeps hands safely away from germs\u003c\/div\u003e\n\u003cdiv class=\"afloria-feature\"\u003e\n\u003cspan class=\"afloria-icon\"\u003e🌿\u003c\/span\u003e Made for simple daily cleaning\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"afloria-details\"\u003e\n\u003cdiv class=\"afloria-detail-item\"\u003e📏 Brush size: \u003cstrong\u003e40cm × 5.5cm\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"afloria-detail-item\"\u003e📏 Holder size: \u003cstrong\u003e17.6cm × 10cm\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ca class=\"afloria-cta\" href=\"#\"\u003e\u003cspan\u003eShop Collection\u003c\/span\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e","brand":"My Store","offers":[{"title":"Default Title","offer_id":48322804285689,"sku":null,"price":299.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0809\/8165\/5801\/files\/Luxflushbranding.png?v=1777118134"},{"product_id":"afloria-luxflush-refills","title":"Afloria LuxFlush Refills - 12 PCS","description":"\u003cp\u003e \u003c\/p\u003e\n\u003cdiv class=\"afloria-heads-section\"\u003e\n\u003cdiv class=\"afloria-heads-hero\"\u003e\n\u003cdiv class=\"afloria-stick\"\u003e\n\u003cdiv class=\"afloria-head\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"afloria-sparkle\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ch2 class=\"afloria-title\"\u003eLuxFlush Refills\u003c\/h2\u003e\n\u003cp class=\"afloria-subtext\"\u003eEnjoy a fresher, more hygienic clean with refill heads designed to make bathroom care feel effortless.\u003c\/p\u003e\n\u003cdiv class=\"afloria-features\"\u003e\n\u003cdiv class=\"afloria-feature\"\u003e✨ Affordable disposable design\u003c\/div\u003e\n\u003cdiv class=\"afloria-feature\"\u003e🧼 Easy snap-on fit\u003c\/div\u003e\n\u003cdiv class=\"afloria-feature\"\u003e🛡️ Helps reduce direct contact with germs\u003c\/div\u003e\n\u003cdiv class=\"afloria-feature\"\u003e🎨 Available in Blue, Yellow \u0026amp; Purple\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"afloria-specs\"\u003e\u003cspan\u003eSize: 1.3cm × 6cm\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n.afloria-heads-section{\n  background:#f4eadc;\n  border-radius:28px;\n  padding:35px 25px;\n  text-align:center;\n  font-family:'Manrope',sans-serif;\n  max-width:900px;\n  margin:auto;\n  box-shadow:0 12px 30px rgba(0,0,0,0.04);\n}\n\n.afloria-heads-hero{\n  height:180px;\n  position:relative;\n  margin-bottom:25px;\n  overflow:hidden;\n}\n\n.afloria-stick{\n  width:12px;\n  height:120px;\n  background:linear-gradient(to bottom,#d7d7d7,#f9f9f9);\n  border-radius:12px;\n  position:absolute;\n  left:50%;\n  top:12px;\n  transform-origin:bottom center;\n  animation:brushMove 7s ease-in-out infinite;\n}\n\n.afloria-head{\n  width:42px;\n  height:28px;\n  border-radius:14px;\n  position:absolute;\n  left:50%;\n  transform:translateX(-50%);\n  box-shadow:0 8px 16px rgba(0,0,0,0.08);\n  animation:\n    snapOn 7s ease-in-out infinite,\n    headColor 6s ease-in-out infinite;\n}\n\n.afloria-sparkle{\n  position:absolute;\n  left:50%;\n  bottom:-2px;\n  width:20px;\n  height:20px;\n  transform:translateX(-50%);\n  opacity:0;\n  animation:sparkleSnap 7s ease-in-out infinite;\n}\n\n.afloria-sparkle::before,\n.afloria-sparkle::after{\n  content:'';\n  position:absolute;\n  background:rgba(255,255,255,0.95);\n  border-radius:2px;\n}\n\n.afloria-sparkle::before{\n  width:2px;\n  height:18px;\n  left:9px;\n  top:1px;\n}\n\n.afloria-sparkle::after{\n  width:18px;\n  height:2px;\n  left:1px;\n  top:9px;\n}\n\n.afloria-title{\n  font-family:'Playfair Display',serif;\n  font-size:42px;\n  margin-bottom:14px;\n  animation:titleGlow 6s ease-in-out infinite;\n}\n\n.afloria-subtext{\n  color:#5d564d;\n  font-size:16px;\n  line-height:1.7;\n  max-width:620px;\n  margin:0 auto 25px;\n}\n\n.afloria-features{\n  display:grid;\n  gap:14px;\n}\n\n.afloria-feature{\n  background:#eceef1;\n  padding:16px;\n  border-radius:18px;\n  color:#4d4942;\n  border:1px solid rgba(176,138,92,0.22);\n  font-family:'Manrope',sans-serif;\n  font-weight:500;\n}\n\n.afloria-specs{\n  margin-top:22px;\n  color:#7a5a34;\n  font-weight:600;\n  font-family:'Manrope',sans-serif;\n}\n\n@keyframes snapOn{\n  0%{bottom:-55px;opacity:0;}\n  15%{bottom:-35px;opacity:1;}\n  25%{bottom:-14px;opacity:1;}\n  100%{bottom:-14px;opacity:1;}\n}\n\n@keyframes brushMove{\n  0%,25%,100%{\n    transform:translateX(-50%) rotate(0deg);\n  }\n  40%{\n    transform:translateX(-50%) rotate(-10deg);\n  }\n  55%{\n    transform:translateX(-50%) rotate(12deg);\n  }\n  70%{\n    transform:translateX(-50%) rotate(-8deg);\n  }\n  85%{\n    transform:translateX(-50%) rotate(8deg);\n  }\n}\n\n@keyframes sparkleSnap{\n  0%,20%,100%{\n    opacity:0;\n    transform:translateX(-50%) scale(0.5);\n  }\n  25%{\n    opacity:1;\n    transform:translateX(-50%) scale(1.2);\n  }\n  30%{\n    opacity:0;\n    transform:translateX(-50%) scale(1.8);\n  }\n}\n\n@keyframes headColor{\n  0%,100%{background:#6aa9d8;}\n  33%{background:#d8c04f;}\n  66%{background:#9f74cb;}\n}\n\n@keyframes titleGlow{\n  0%,100%{\n    color:#6aa9d8;\n    text-shadow:0 0 12px rgba(106,169,216,0.25);\n  }\n  33%{\n    color:#c7ab45;\n    text-shadow:0 0 12px rgba(215,192,79,0.25);\n  }\n  66%{\n    color:#8f69ba;\n    text-shadow:0 0 12px rgba(157,114,200,0.25);\n  }\n}\n\u003c\/style\u003e","brand":"AFLORIA","offers":[{"title":"Blue","offer_id":48373324677369,"sku":null,"price":95.0,"currency_code":"ZAR","in_stock":true},{"title":"Yellow","offer_id":48373324710137,"sku":null,"price":95.0,"currency_code":"ZAR","in_stock":true},{"title":"Purple","offer_id":48373324742905,"sku":null,"price":95.0,"currency_code":"ZAR","in_stock":true},{"title":"Mixed","offer_id":48373324775673,"sku":null,"price":95.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0809\/8165\/5801\/files\/Gemini_Generated_Image_up4rmpup4rmpup4r.png?v=1777235084"}],"url":"https:\/\/afloria.co.za\/collections\/luxflush-collection.oembed","provider":"AFLORIA","version":"1.0","type":"link"}