PageSourceSearch

https://snooglestore.com/

html snooglestore.com collected 2026-10-10 00:20:08 UTC 653,239 bytes, 10,979 lines download raw bytes

1
2
3 <!doctype html>
4   <html class="no-js">
5     <head>
6     <meta charset="utf-8">
7     <meta http-equiv="X-UA-Compatible" content="IE=edge">
8     <meta name="google-site-verification" content="suMTVQXKoXsVUpM-h-ctgFPN-gvVdO0yw64dUVbDxtg" />
9     <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
10     <meta name="apple-itunes-app" content="app-id=1576832504">
11     <link rel="icon" type="image/x-icon" href="https://cdn.datavip.cloud/Favicon/Bagus33.png">
12     <title>BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi</title>
13     <meta name="description" content="Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.">
14     <meta name="keywords" content="bagus33, bagus 33, bagus33 bagus33, bagus33 daftar, bagus33 link, bingkai foto, foto usg, usg kehamilan, momen keluarga, foto keluarga" />
15     <link rel="canonical" href="https://snooglestore.com/">
16     <link rel="amphtml" href="https://snooglestore.com/bingkai-foto/"/>
17      <link rel="alternate" hreflang="id-id" href="https://snooglestore.com/bingkai-foto/"/>
18      <link rel="alternate" href="https://snooglestore.com/bingkai-foto/"/>
19      <link rel="alternate" hreflang="id" href="https://snooglestore.com/bingkai-foto/"/>
20      <link rel="alternate" hreflang="en" href="https://snooglestore.com/bingkai-foto/"/>
21      <link rel="alternate" hreflang="x-default" href="https://snooglestore.com/bingkai-foto/"/>     
22     <meta property="og:type" content="product">
23     <meta property="og:title" content="BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi">
24     <meta property="og:image" content="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp">
25     <meta property="og:image:secure_url" content="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp">
26     <meta property="og:image" content="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp">
27     <meta property="og:image:secure_url" content="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp">
28     <meta property="og:image" content="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp">
29     <meta property="og:image:secure_url" content="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp">
30     <meta property="og:description" content="Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.">
31     <meta property="og:price:amount" content="5,000-,">
32     <meta property="og:price:currency" content="IDR">
33     <meta property="og:url" content="https://snooglestore.com/">
34     <meta property="og:site_name" content="BAGUS33">
35     <meta name="twitter:site" content="@BAGUS33">
36     <meta name="twitter:card" content="summary">
37     <meta name="twitter:title" content="BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi">
38     <meta name="twitter:description" content="Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.">
39     <meta name="twitter:image" content="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp">
40     <meta name="twitter:image:width" content="600">
41     <meta name="twitter:image:height" content="600">
42     <link rel="shortcut icon" href="https://cdn.datavip.cloud/Favicon/Bagus33.png" type="image/png">
43     <meta name="theme-color" content="#ffffff">
44     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet">
45     <link href="https://outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" />
46     <link rel="stylesheet" href="https://outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
46<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
46
47     
47<script
48       src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"
49       integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q=="
50       crossorigin="anonymous"
51       referrerpolicy="no-referrer"
52       defer
53     ></script>
53
54     
54<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
54
55     
55<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
55
56     
57     <div class="button-login-daftar">
58                     <a class="login" href="https://snooglestore.com/bingkai-foto/" rel="nofollow noreferrer" style="color: white;">
59                         LOGIN
60                     </a>
61                     <a class="register" href="https://snooglestore.com/bingkai-foto/" rel="nofollow noreferrer" style="color: white;">
62                         DAFTAR
63                     </a>
64                 </div>
65   
66     
66<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
66
67   
68 <link href="https://outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" />
69 
70 <link href="https://outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" />
71 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css">
72 
73 
73<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
73
74 
74<script src="https://outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
74
75 
75<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
75
76     
76<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
76
77 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog">
78 <link rel="alternate" type="application/json+oembed" href="https://snooglestore.com/.oembed">
79 
79<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
79
80 
80<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
80
81 
81<script>var Shopify = Shopify || {};
82 Shopify.shop = "outerbloom1.myshopify.com";
83 Shopify.locale = "en";
84 Shopify.currency = {"active":"IDR","rate":"1.0"};
85 Shopify.country = "ID";
86 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"};
87 Shopify.theme.handle = "null";
88 Shopify.theme.style = {"id":null,"handle":null};
89 Shopify.cdnHost = "outerbloom.com/cdn";
90 Shopify.routes = Shopify.routes || {};
91 Shopify.routes.root = "/";</script>
91
92 
92<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
92
93 
93<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
93
94 
94<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
94
95 
95<script defer="defer" async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({&quot;fedCMEnabled&quot;:true,&quot;windoidEnabled&quot;:true});
96 "></script>
96
97 
97<script>(function() {
98   var isLoaded = false;
99   function asyncLoad() {
100     if (isLoaded) return;
101     isLoaded = true;
102     var urls = ["https:\/\/e9e1-180-254-64-204.ngrok.io\/public\/scripts\/shopifyPageScript.js?shop=outerbloom1.myshopify.com","https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/3.5.1\/jquery.min.js?shop=outerbloom1.myshopify.com","https:\/\/14e1-180-254-64-204.ngrok.io\/public\/scripts\/shopifyPageScript.js?shop=outerbloom1.myshopify.com","https:\/\/6403-180-254-64-204.ngrok.io\/public\/scripts\/shopify-page-script.js?shop=outerbloom1.myshopify.com","https:\/\/googlesignintest.loca.lt\/public\/scripts\/shopify-page-script.js?shop=outerbloom1.myshopify.com","https:\/\/api-na1.hubapi.com\/scriptloader\/v1\/6800477.js?shop=outerbloom1.myshopify.com"];
103     for (var i = 0; i < urls.length; i++) {
104       var s = document.createElement('script');
105       s.type = 'text/javascript';
106       s.async = true;
107       s.src = urls[i];
108       var x = document.getElementsByTagName('script')[0];
109       x.parentNode.insertBefore(s, x);
110     }
111   };
112   if(window.attachEvent) {
113     window.attachEvent('onload', asyncLoad);
114   } else {
115     window.addEventListener('load', asyncLoad, false);
116   }
117 })();</script>
117
118 
118<script id="__st">var __st={"a":15896833,"offset":25200,"reqid":"78149bf2-9ab6-43c0-b2ce-821afbfe5bd0-1759566675","pageurl":"outerbloom.com\/products\/blossom-shine","u":"381e6a1da038","p":"product","rtyp":"product","rid":9979127912352};</script>
118
119 
119<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
119
120 
120<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.2.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!1,!0)}();</script>
120
121 
121<script integrity="sha256-52AcMU7V7pcBOXWImdc/TAGTFKeNjmkeM1Pvks/DTgc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//outerbloom.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-81c60534.js" crossorigin="anonymous"></script>
121
122 
122<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://outerbloom.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
123 </script>
123
124 
124<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
125   function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
126 </script>
126
127 
127<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
128 </script>
128
129 
130 
130<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
130
131     <!-- /snippets/oldIE-js.liquid -->
132 
133 
134 <!--[if lt IE 9]>
135 
135<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
135
136 
136<script src="https://outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
136
137 <link href="https://outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
138 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" />
139 
139<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
139
140 <![endif]-->
141 
142 
143 
144   
145     
146   <link href="https://cdn.shopify.com/extensions/5c1bf460-65bd-4bca-82d0-995a5814b48d/bitlogin-social-login-135/assets/app.css" rel="stylesheet" type="text/css" media="all">
147 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
148 
148<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 15896833,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
148
149 
149<script id="web-pixels-manager-setup">(function e(e,d,r,n,o){if(void 0===o&&(o={}),!Boolean(null===(a=null===(i=window.Shopify)||void 0===i?void 0:i.analytics)||void 0===a?void 0:a.replayQueue)){var i,a;window.Shopify=window.Shopify||{};var t=window.Shopify;t.analytics=t.analytics||{};var s=t.analytics;s.replayQueue=[],s.publish=function(e,d,r){return s.replayQueue.push([e,d,r]),!0};try{self.performance.mark("wpm:start")}catch(e){}var l=function(){var e={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/},d=e.modern,r=e.legacy,n=navigator.userAgent;return n.match(d)?"modern":n.match(r)?"legacy":"unknown"}(),u="modern"===l?"modern":"legacy",c=(null!=n?n:{modern:"",legacy:""})[u],f=function(e){return[e.baseUrl,"/wpm","/b",e.hashVersion,"modern"===e.buildTarget?"m":"l",".js"].join("")}({baseUrl:d,hashVersion:r,buildTarget:u}),m=function(e){var d=e.version,r=e.bundleTarget,n=e.surface,o=e.pageUrl,i=e.monorailEndpoint;return{emit:function(e){var a=e.status,t=e.errorMsg,s=(new Date).getTime(),l=JSON.stringify({metadata:{event_sent_at_ms:s},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:d,bundle_target:r,page_url:o,status:a,surface:n,error_msg:t},metadata:{event_created_at_ms:s}}]});if(!i)return console&&console.warn&&console.warn("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."),!1;try{return self.navigator.sendBeacon.bind(self.navigator)(i,l)}catch(e){}var u=new XMLHttpRequest;try{return u.open("POST",i,!0),u.setRequestHeader("Content-Type","text/plain"),u.send(l),!0}catch(e){return console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging to Monorail."),!1}}}}({version:r,bundleTarget:l,surface:e.surface,pageUrl:self.location.href,monorailEndpoint:e.monorailEndpoint});try{o.browserTarget=l,function(e){var d=e.src,r=e.async,n=void 0===r||r,o=e.onload,i=e.onerror,a=e.sri,t=e.scriptDataAttributes,s=void 0===t?{}:t,l=document.createElement("script"),u=document.querySelector("head"),c=document.querySelector("body");if(l.async=n,l.src=d,a&&(l.integrity=a,l.crossOrigin="anonymous"),s)for(var f in s)if(Object.prototype.hasOwnProperty.call(s,f))try{l.dataset[f]=s[f]}catch(e){}if(o&&l.addEventListener("load",o),i&&l.addEventListener("error",i),u)u.appendChild(l);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(l)}}({src:f,async:!0,onload:function(){if(!function(){var e,d;return Boolean(null===(d=null===(e=window.Shopify)||void 0===e?void 0:e.analytics)||void 0===d?void 0:d.initialized)}()){var d=window.webPixelsManager.init(e)||void 0;if(d){var r=window.Shopify.analytics;r.replayQueue.forEach((function(e){var r=e[0],n=e[1],o=e[2];d.publishCustomEvent(r,n,o)})),r.replayQueue=[],r.publish=d.publishCustomEvent,r.visitor=d.visitor,r.initialized=!0}}},onerror:function(){return m.emit({status:"failed",errorMsg:"".concat(f," has failed to load")})},sri:function(e){var d=/^sha384-[A-Za-z0-9+/=]+$/;return"string"==typeof e&&d.test(e)}(c)?c:"",scriptDataAttributes:o}),m.emit({status:"loading"})}catch(e){m.emit({status:"failed",errorMsg:(null==e?void 0:e.message)||"Unknown error"})}}})({shopId: 15896833,storefrontBaseUrl: "https://outerbloom.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://monorail-edge.shopifysvc.com/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: [],webPixelsConfigList: [{"id":"870383831","configuration":"{\"accountID\":\"outerbloom1\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"162380e6ffd3e5a2854f1aabf54537bb","type":"APP","apiClientId":32196493313,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"824574167","configuration":"{\"shop\":\"outerbloom1.myshopify.com\", \"backend\": \"api.bitbybit.studio\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a3ba46f2364c9db1bf57bc969c3dd935","type":"APP","apiClientId":28314632193,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"521994455","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"G-X26HYP4083\\\",\\\"target_country\\\":\\\"ID\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/YjjSCKiog9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/RHfSCK6og9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/dMv0CKWog9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/Y2DbCJ-og9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/xwQ2CKKog9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/i9yRCLGog9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/T9poCKuog9gZEMHe74Yp\\\"]}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"b2a88bafab3e21179ed38636efcd8a93","type":"APP","apiClientId":1780363,"privacyPurposes":[]},{"id":"236060887","configuration":"{\"pixel_id\":\"165971065669324\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"6d8c3ef0426b37b2a9b717daeb719f58","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"62947543","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["MARKETING"],"name":"Meta pixel (migrated)"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0450","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0450","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Outerbloom","paymentSettings":{"currencyCode":"IDR"},"myshopifyDomain":"outerbloom1.myshopify.com","countryCode":"ID","storefrontUrl":"https:\/\/outerbloom.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":835000.0,"currencyCode":"IDR"},"product":{"title":"BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi","vendor":"Outerbloom Florist","id":"9979127912352","untranslatedTitle":"BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi","url":"\/products\/blossom-shine","type":"Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan."},"id":"44083045826775","image":{"src":"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426"},"sku":"OBVSTF1086","title":"Default Title","untranslatedTitle":"Default Title"}],"purchasingCompany":null},},"https://outerbloom.com/cdn","4f0c5c77w64a73806p128ba08bma5b58f2f",{"modern":"","legacy":""},{"shopId":"15896833","storefrontBaseUrl":"https:\/\/outerbloom.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[]","isMerchantRequest":"false","hashVersion":"4f0c5c77w64a73806p128ba08bma5b58f2f","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":835000.0,\"currencyCode\":\"IDR\"},\"product\":{\"title\":\"BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi\",\"vendor\":\"Outerbloom Florist\",\"id\":\"9979127912352\",\"untranslatedTitle\":\"BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi\",\"url\":\"\/products\/blossom-shine\",\"type\":\"Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
149<script>
150   window.ShopifyAnalytics = window.ShopifyAnalytics || {};
151   window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
152   window.ShopifyAnalytics.meta.currency = 'IDR';
153   var meta = {"product":{"id":9979127912352,"gid":"gid:\/\/shopify\/Product\/9979127912352","vendor":"Outerbloom Florist","type":"Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.","variants":[{"id":44083045826775,"price":1000000
154   ,"name":"BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":9979127912352}};
155   for (var attr in meta) {
156     window.ShopifyAnalytics.meta[attr] = meta[attr];
157   }
158 </script>
158
159 
159<script class="analytics">
160   (function () {
161     var customDocumentWrite = function(content) {
162       var jquery = null;
163 
164       if (window.jQuery) {
165         jquery = window.jQuery;
166       } else if (window.Checkout && window.Checkout.$) {
167         jquery = window.Checkout.$;
168       }
169 
170       if (jquery) {
171         jquery('body').append(content);
172       }
173     };
174 
175     var hasLoggedConversion = function(token) {
176       if (token) {
177         return document.cookie.indexOf('loggedConversion=' + token) !== -1;
178       }
179       return false;
180     }
181 
182     var setCookieIfConversion = function(token) {
183       if (token) {
184         var twoMonthsFromNow = new Date(Date.now());
185         twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
186 
187         document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
188       }
189     }
190 
191     var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
192     if (trekkie.integrations) {
193       return;
194     }
195     trekkie.methods = [
196       'identify',
197       'page',
198       'ready',
199       'track',
200       'trackForm',
201       'trackLink'
202     ];
203     trekkie.factory = function(method) {
204       return function() {
205         var args = Array.prototype.slice.call(arguments);
206         args.unshift(method);
207         trekkie.push(args);
208         return trekkie;
209       };
210     };
211     for (var i = 0; i < trekkie.methods.length; i++) {
212       var key = trekkie.methods[i];
213       trekkie[key] = trekkie.factory(key);
214     }
215     trekkie.load = function(config) {
216       trekkie.config = config || {};
217       trekkie.config.initialDocumentCookie = document.cookie;
218       var first = document.getElementsByTagName('script')[0];
219       var script = document.createElement('script');
220       script.type = 'text/javascript';
221       script.onerror = function(e) {
222         var scriptFallback = document.createElement('script');
223         scriptFallback.type = 'text/javascript';
224         scriptFallback.onerror = function(error) {
225                 var Monorail = {
226       produce: function produce(monorailDomain, schemaId, payload) {
227         var currentMs = new Date().getTime();
228         var event = {
229           schema_id: schemaId,
230           payload: payload,
231           metadata: {
232             event_created_at_ms: currentMs,
233             event_sent_at_ms: currentMs
234           }
235         };
236         return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
237       },
238       sendRequest: function sendRequest(endpointUrl, payload) {
239         // Try the sendBeacon API
240         if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
241           var blobData = new window.Blob([payload], {
242             type: 'text/plain'
243           });
244 
245           if (window.navigator.sendBeacon(endpointUrl, blobData)) {
246             return true;
247           } // sendBeacon was not successful
248 
249         } // XHR beacon
250 
251         var xhr = new XMLHttpRequest();
252 
253         try {
254           xhr.open('POST', endpointUrl);
255           xhr.setRequestHeader('Content-Type', 'text/plain');
256           xhr.send(payload);
257         } catch (e) {
258           console.log(e);
259         }
260 
261         return false;
262       },
263       isIos12: function isIos12() {
264         return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
265       }
266     };
267     Monorail.produce('monorail-edge.shopifysvc.com',
268       'trekkie_storefront_load_errors/1.1',
269       {shop_id: 15896833,
270       theme_id: 153139282135,
271       app_name: "storefront",
272       context_url: window.location.href,
273       source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"});
274 
275         };
276         scriptFallback.async = true;
277         scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
278         first.parentNode.insertBefore(scriptFallback, first);
279       };
280       script.async = true;
281       script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
282       first.parentNode.insertBefore(script, first);
283     };
284     trekkie.load(
285       {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":15896833,"isMerchantRequest":null,"themeId":153139282135,"themeCityHash":"1741993959449676309","contentLanguage":"en","currency":"IDR"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
286     );
287 
288     var loaded = false;
289     trekkie.ready(function() {
290       if (loaded) return;
291       loaded = true;
292 
293       window.ShopifyAnalytics.lib = window.trekkie;
294 
295       var originalDocumentWrite = document.write;
296       document.write = customDocumentWrite;
297       try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
298       document.write = originalDocumentWrite;
299 
300       window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":9979127912352,"shopifyEmitted":true});
301 
302       var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
303       var token = match? match[1]: undefined;
304       if (!hasLoggedConversion(token)) {
305         setCookieIfConversion(token);
306         window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":9979127912352,"productGid":"gid:\/\/shopify\/Product\/9979127912352","name":"BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true});
307       window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":9979127912352,"productGid":"gid:\/\/shopify\/Product\/9979127912352","name":"BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"});
308       }
309     });
310 
311 
312         var eventsListenerScript = document.createElement('script');
313         eventsListenerScript.async = true;
314         eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js";
315         document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
316 
317 })();</script>
317
318   
318<script>
319   if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
320     window.ga = function ga() {
321       (window.ga.q = window.ga.q || []).push(arguments);
322       if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
323         window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
324       }
325       console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
326     };
327     if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
328       window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
329     }
330   }
331 </script>
331
332 
332<script
333   defer
334   src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js"
335   data-application="storefront-renderer"
336   data-shop-id="15896833"
337   data-render-region="gcp-asia-southeast1"
338   data-page-type="product"
339   data-theme-instance-id="153139282135"
340   data-theme-name=""
341   data-theme-version=""
342   data-monorail-region="shop_domain"
343   data-resource-timing-sampling-rate="10"
344   data-shs="true"
345   data-shs-beacon="true"
346   data-shs-export-with-fetch="true"
347   data-shs-logs-sample-rate="1"
348 ></script>
348
349 <style>
350</style>
351 </head><body
352     data-template="product"
353     id="blossom-shine"
354     class="template-product template-product"
355   >
356
357 
358     
359 
360     <div class="header-wrapper">
361       
362       <div id="shopify-section-NotifBar" class="shopify-section m-0">
363 
364 <style>
365   #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;}
366   #notification.promo-up {top: -48px!important;}
367   .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;}
368   .notification__message p {margin: 0;color: #000000;font-size: 14px!important;}
369   .notification__message p a {text-decoration: underline;color: #ffffff;}
370   @media (max-width: 991px){
371     .notification__message p {font-size: 14px!important;}
372   }
373 </style>
374 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" />
375 <div id="notification" class="promo-down promo-bg pl-2 pr-2" data-text="up-to-40-off-embrace-traditions-with-our-special-mooncake-hampers-pre-order-now">
376   <div class="page-width notification__inner ">
377   </div>
378 </div>
379 
380 
381 
382 
383 </div>
384       <div id="shopify-section-new-header" class="shopify-section mb-0 mt-0"><link href="https://outerbloom.com/cdn/shop/t/138/assets/section-new-header.css?v=159841885358852784021757475904" rel="stylesheet" type="text/css" media="all"/>
385 
386 
387 <header style="background-image: url(https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp); background-attachment: fixed;">
388   <div class="container">
389     <div class="header-container row justify-content-between pl-lg-0 pr-lg-0">
390         <a href="https://snooglestore.com/">
391         <img src="https://cdn.datavip.cloud/Logo/Bagus33.png" alt="LOGO BAGUS33" style="width: 190px;"></a>
392       <link href="https://cdn.datavip.cloud/Favicon/Bagus33.png" rel="shortcut icon" type="image/x-icon" />
393         <div id="menu-hamburger" class="d-lg-none">
394           <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="16" height="10" viewBox="0 0 16 10" fill="none">
395   <path d="M15.5995 0.949976H0.400342C0.320777 0.949976 0.244471 0.918369 0.18821 0.862108C0.131949 0.805847 0.100342 0.729541 0.100342 0.649976C0.100342 0.570411 0.131949 0.494104 0.18821 0.437843C0.244471 0.381582 0.320777 0.349976 0.400342 0.349976H15.5995C15.6791 0.349976 15.7554 0.381582 15.8117 0.437843C15.8679 0.494104 15.8995 0.570411 15.8995 0.649976C15.8995 0.729541 15.8679 0.805847 15.8117 0.862108C15.7554 0.918369 15.6791 0.949976 15.5995 0.949976ZM15.5995 5.29998H0.400342C0.320777 5.29998 0.244471 5.26837 0.18821 5.21211C0.131949 5.15585 0.100342 5.07954 0.100342 4.99998C0.100342 4.92041 0.131949 4.8441 0.18821 4.78784C0.244471 4.73158 0.320777 4.69998 0.400342 4.69998H15.5995C15.6791 4.69998 15.7554 4.73158 15.8117 4.78784C15.8679 4.8441 15.8995 4.92041 15.8995 4.99998C15.8995 5.07954 15.8679 5.15585 15.8117 5.21211C15.7554 5.26837 15.6791 5.29998 15.5995 5.29998ZM15.5995 9.64998H0.400342C0.320777 9.64998 0.244471 9.61837 0.18821 9.56211C0.131949 9.50585 0.100342 9.42954 0.100342 9.34998C0.100342 9.27041 0.131949 9.1941 0.18821 9.13784C0.244471 9.08158 0.320777 9.04998 0.400342 9.04998H15.5995C15.6791 9.04998 15.7554 9.08158 15.8117 9.13784C15.8679 9.1941 15.8995 9.27041 15.8995 9.34998C15.8995 9.42954 15.8679 9.50585 15.8117 9.56211C15.7554 9.61837 15.6791 9.64998 15.5995 9.64998Z" fill="#ffffff"/>
396 </svg>
397 
398         <a href="/"><svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" viewBox="0 0 854 78.29">
399   <g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M36.85.11a36.6,36.6,0,0,1,14.91,3,34.84,34.84,0,0,1,11.71,8.35,38.29,38.29,0,0,1,7.6,12.48,43.13,43.13,0,0,1,2.69,15.36,41.58,41.58,0,0,1-4.65,19.78,35.49,35.49,0,0,1-13,13.86A36.21,36.21,0,0,1,36.85,78,36.65,36.65,0,0,1,17.37,73,34.34,34.34,0,0,1,4.54,59.15,42.43,42.43,0,0,1,0,39.29,42.2,42.2,0,0,1,2.71,24.1a38.64,38.64,0,0,1,7.67-12.51A35.23,35.23,0,0,1,36.85.11Zm0,8.47a27.77,27.77,0,0,0-15,4,27.18,27.18,0,0,0-10,11A34.19,34.19,0,0,0,8.3,39.29a30.63,30.63,0,0,0,2.19,11.53,31.32,31.32,0,0,0,6.08,9.69,29,29,0,0,0,9.08,6.66,25.84,25.84,0,0,0,11.2,2.44,25.2,25.2,0,0,0,11.2-2.55,30.26,30.26,0,0,0,9.19-6.86,32.46,32.46,0,0,0,6.17-9.74,29.2,29.2,0,0,0,2.21-11.17,32.83,32.83,0,0,0-3.79-16A27.77,27.77,0,0,0,51.54,12.45,28.15,28.15,0,0,0,36.85,8.58Z"></path><path d="M97.26,4.76a4.13,4.13,0,0,1,1.19-2.88A3.59,3.59,0,0,1,101.14.61q4.36,0,4.42,4.15L106,42.33a44.26,44.26,0,0,0,2.27,14.5,19.83,19.83,0,0,0,7,9.73q4.78,3.5,12.53,3.49,8.58,0,13.72-3.49A19.72,19.72,0,0,0,148.94,57a38.56,38.56,0,0,0,2.33-13.83L151.16,4.7v0a4,4,0,0,1,1.19-2.93A3.87,3.87,0,0,1,155.25.5a4.06,4.06,0,0,1,3,1.22,3.93,3.93,0,0,1,1.24,2.93v0l.12,38.4q0,16.5-7.83,25.84T128,78.29q-10.18,0-16.88-4.56a27.51,27.51,0,0,1-10-12.67,50.37,50.37,0,0,1-3.43-18.68L97.26,4.81Z"></path><path d="M180.3,4.48a4.2,4.2,0,0,1,1.25-3,4,4,0,0,1,3-1.27H239.9a4.13,4.13,0,0,1,2.93,1.13,3.75,3.75,0,0,1,1.22,2.85,4.31,4.31,0,0,1-1.22,3,4,4,0,0,1-3,1.3H216.27V73.59A3.9,3.9,0,0,1,215,76.52a4.16,4.16,0,0,1-3,1.22,3.81,3.81,0,0,1-2.88-1.22A4.11,4.11,0,0,1,208,73.59V8.47H184.45a4.13,4.13,0,0,1-2.93-1.14A3.72,3.72,0,0,1,180.3,4.48Z"></path><path d="M264.73,4.48A4,4,0,0,1,266,1.55,4,4,0,0,1,268.88.33l51.84.06h.06a4,4,0,0,1,2.93,1.21,4,4,0,0,1,1.22,2.94,4,4,0,0,1-1.22,2.93,4,4,0,0,1-2.93,1.22h-.06L273,8.63l.05,26a1.48,1.48,0,0,0,.31,0l.25,0,42.55.28a4,4,0,0,1,3,1.19,4.38,4.38,0,0,1,1.19,3.24A3.58,3.58,0,0,1,319.06,42a4.14,4.14,0,0,1-2.87,1.16h-.06l-42.55-.28h-.44l.05,25.73,47.53,0h.06a4.15,4.15,0,0,1,0,8.3h-.06l-51.68,0a4.17,4.17,0,0,1-4.15-4.15Z"></path><path d="M405.09,74.2A3.73,3.73,0,0,1,403.9,77a3.48,3.48,0,0,1-2.4,1.16,4.15,4.15,0,0,1-2.05-.53c-.63-.35-1.09-.62-1.38-.8a40.76,40.76,0,0,1-8.5-8.13,51.74,51.74,0,0,1-6.11-10,33.41,33.41,0,0,0-4.9-8,14.69,14.69,0,0,0-6.17-4.26A28,28,0,0,0,363.26,45l-6.42,0,.06,28.38v.12a4.13,4.13,0,0,1-7.08,2.9,4.1,4.1,0,0,1-1.22-3l-.17-69.16a3.9,3.9,0,0,1,1.22-2.94A4.22,4.22,0,0,1,352.53.06L367.25,0h1.27A51.16,51.16,0,0,1,385,2.43a23.75,23.75,0,0,1,11.18,7.5q4,5.07,4,13a19.65,19.65,0,0,1-2.33,9.71,22.07,22.07,0,0,1-6.09,7,27,27,0,0,1-8.13,4.2,29.33,29.33,0,0,1,4.93,7.2c2.13,4.09,4.26,7.78,6.36,11.06a32.1,32.1,0,0,0,8.35,8.69A4,4,0,0,1,405.09,74.2ZM368.8,8.3H356.73l.11,29.16a3.59,3.59,0,0,1,.72-.06l11.35-.11q10.17-.1,16.65-3.45T392,22.63a11.53,11.53,0,0,0-3.16-8.55,17.83,17.83,0,0,0-8.44-4.45A47.47,47.47,0,0,0,368.8,8.3Z"></path><path d="M480.67,21.63a18.59,18.59,0,0,1-1.61,8.17,20.81,20.81,0,0,1-4.65,6.11A19.72,19.72,0,0,1,481.19,43a21.32,21.32,0,0,1,2.63,10.85q0,11.4-6.14,17.23T460,76.86l-28.39-.06a4.56,4.56,0,0,1-2.85-.91,3.07,3.07,0,0,1-1.19-2.58l-.11-68.94a4,4,0,0,1,1.22-2.85,4,4,0,0,1,2.77-1.3l19,0A48.24,48.24,0,0,1,466,2.46a23.21,23.21,0,0,1,10.76,7.06Q480.67,14.27,480.67,21.63ZM450.9,8.69l-15.11.05L435.85,33l23-.33c4.16-.08,7.46-.94,9.87-2.58s3.63-4.4,3.63-8.27a10.42,10.42,0,0,0-2.83-7.64A16.41,16.41,0,0,0,461.88,10,42.3,42.3,0,0,0,450.9,8.69Zm9,60.25q7.8,0,11.73-3.34t3.93-11.49q0-7.08-4.09-10.12t-11.51-3H459l-23.18.33,0,27.77Z"></path><path d="M511.64,76.75a4.17,4.17,0,0,1-4.15-4.15l-.17-68v0a4,4,0,0,1,1.22-2.94,4.16,4.16,0,0,1,5.87,0,4,4,0,0,1,1.21,2.94v0l.17,63.86h43.33a4.15,4.15,0,0,1,0,8.3Z"></path><path d="M619.75.11a36.6,36.6,0,0,1,14.91,3,34.7,34.7,0,0,1,11.7,8.35A38.14,38.14,0,0,1,654,23.93a43.12,43.12,0,0,1,2.68,15.36A41.69,41.69,0,0,1,652,59.07a35.49,35.49,0,0,1-13,13.86A36.21,36.21,0,0,1,619.75,78,36.63,36.63,0,0,1,600.27,73a34.44,34.44,0,0,1-12.84-13.8,42.54,42.54,0,0,1-4.53-19.86,42.2,42.2,0,0,1,2.71-15.19,38.78,38.78,0,0,1,7.66-12.51A35.23,35.23,0,0,1,619.75.11Zm0,8.47a27.74,27.74,0,0,0-15,4,27.18,27.18,0,0,0-10,11,34.19,34.19,0,0,0-3.54,15.75,30.62,30.62,0,0,0,2.18,11.53,31.53,31.53,0,0,0,6.09,9.69,29,29,0,0,0,9.07,6.66,25.91,25.91,0,0,0,11.21,2.44A25.2,25.2,0,0,0,631,67.06a30.26,30.26,0,0,0,9.19-6.86,32.66,32.66,0,0,0,6.17-9.74,29.39,29.39,0,0,0,2.21-11.17,32.83,32.83,0,0,0-3.79-16,27.64,27.64,0,0,0-25-14.66Z"></path><path d="M715.9.11a36.61,36.61,0,0,1,14.92,3,34.9,34.9,0,0,1,11.7,8.35,38.31,38.31,0,0,1,7.61,12.48,43.34,43.34,0,0,1,2.68,15.36,41.58,41.58,0,0,1-4.65,19.78,35.42,35.42,0,0,1-12.95,13.86A36.21,36.21,0,0,1,715.9,78,36.59,36.59,0,0,1,696.43,73a34.3,34.3,0,0,1-12.84-13.8,42.43,42.43,0,0,1-4.54-19.86,42.42,42.42,0,0,1,2.71-15.19,38.64,38.64,0,0,1,7.67-12.51A35.23,35.23,0,0,1,715.9.11Zm0,8.47a27.77,27.77,0,0,0-15,4,27.18,27.18,0,0,0-10,11,34.19,34.19,0,0,0-3.54,15.75,30.63,30.63,0,0,0,2.19,11.53,31.32,31.32,0,0,0,6.08,9.69,29,29,0,0,0,9.08,6.66,25.87,25.87,0,0,0,11.2,2.44,25.24,25.24,0,0,0,11.21-2.55,30.34,30.34,0,0,0,9.18-6.86,32.27,32.27,0,0,0,6.17-9.74,29.21,29.21,0,0,0,2.22-11.17,32.94,32.94,0,0,0-3.79-16,27.87,27.87,0,0,0-10.3-10.79A28.15,28.15,0,0,0,715.9,8.58Z"></path><path d="M776.31,4.32a4.15,4.15,0,0,1,1.17-2.85,3.86,3.86,0,0,1,5.14-.58,5.18,5.18,0,0,1,1.61,1.66L815.1,53.06,846.31,2.21a3.92,3.92,0,0,1,3.54-2,4,4,0,0,1,2.93,1.22A4,4,0,0,1,854,4.37V73.7a4.15,4.15,0,0,1-8.3,0V19.09l-27.06,44.1a4.14,4.14,0,0,1-7.08,0l-26.95-44V73.48a4.15,4.15,0,0,1-8.3,0Z"></path></g></g>
400 </svg>
401 </a>
402       </div>
403 
404       <div class="header-icon-right header-icons col-3">
405         <div class="icon icon-account-header d-none d-lg-block">
406           <a href="https://snooglestore.com/">
407             <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="20" height="21" viewBox="0 0 20 21" fill="none">
408   <path d="M19.015 19.8549C18.4842 18.3662 17.3117 17.0514 15.6819 16.1134C14.052 15.1754 12.0547 14.6667 10.0002 14.6667C7.94569 14.6667 5.94835 15.1754 4.31852 16.1134C2.68869 17.0514 1.51618 18.3662 0.985352 19.8549" stroke="#ffffff" stroke-linecap="round"/>
409   <path d="M10.0002 10C12.5775 10 14.6668 7.91068 14.6668 5.33335C14.6668 2.75602 12.5775 0.666687 10.0002 0.666687C7.42283 0.666687 5.3335 2.75602 5.3335 5.33335C5.3335 7.91068 7.42283 10 10.0002 10Z" stroke="#ffffff" stroke-linecap="round"/>
410 </svg>
411 
412           </a>
413         </div>
414         <div class="icon icon-wishlist-header">
415           <a href="https://snooglestore.com/">
416             <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
417   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
41711233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
418 </svg>
419 
420             <span class="wishlist-count d-none">0</span>
421           </a>
422         </div>
423         <div class="icon icon-cart-header">
424           <a href="https://snooglestore.com/">
425             <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="22" height="21" viewBox="0 0 22 21" fill="none">
426   <path d="M6.33301 10V5.33335C6.33301 4.09568 6.82467 2.90869 7.69984 2.03352C8.57501 1.15835 9.762 0.666687 10.9997 0.666687C12.2374 0.666687 13.4243 1.15835 14.2995 2.03352C15.1747 2.90869 15.6663 4.09568 15.6663 5.33335V10" stroke="#ffffff" stroke-linecap="round"/>
427   <path d="M1.30956 10.7793C1.47873 8.74817 1.56389 7.73317 2.23356 7.116C2.90323 6.49883 3.92289 6.5 5.96106 6.5H16.0399C18.0769 6.5 19.0966 6.5 19.7662 7.116C20.4359 7.732 20.5211 8.74817 20.6902 10.7793L21.2899 17.973C21.3879 19.1548 21.4369 19.7463 21.0916 20.1232C20.7439 20.5 20.1512 20.5 18.9636 20.5H3.03623C1.84973 20.5 1.25589 20.5 0.909392 20.1232C0.562892 19.7463 0.611892 19.1548 0.711059 17.973L1.30956 10.7793Z" stroke="#ffffff"/>
428 </svg>
429 
430           </a>
431         </div>
432       </div>
433     </div>
434   </div>
435 </header>
436 
437 <style>
438.navbar-rainbow {
439    position: relative;
440    z-index: 10;
441
442    padding: 3px 3px; 
443    background: linear-gradient(120deg, #a78106, #ffee00, #ff6600, #f1b900, #cdf100, #ff6600, #ffee00, #ffd000, #a78106);
444    background-size: 400% 400%;
445    animation: rainbowMove 4.5s linear infinite;
446}
447
448.navbar-rainbow > .nav-header {
449    border: none !important;
450    background-color: #242424;
451}
452
453@keyframes rainbowMove {
454    0%   { background-position: 0% 50%; }
455    50%  { background-position: 100% 50%; }
456    100% { background-position: 0% 50%; }
457}
458
459</style>
460<div class="navbar-rainbow">
461    <nav class="nav-header" style="background-color:#242424;">
462        
463        <div class="nav-account-mobile row m-0 d-lg-none">
464            <div class="col-6 welcome-cust p-0">
465                <h1 class="logo">
466                    <a href="https://snooglestore.com/">
467                        <img src="https://cdn.datavip.cloud/Logo/Bagus33.png" 
468                             alt="LOGO BAGUS33" style="max-height:60px;">
469                    </a>
470                </h1>
471            </div>
472        </div>
473
474        <ul class="nav-menu container">
475            <li class="nav-menu container">
476                <a href="https://snooglestore.com/">
477                    <span style="color:#ffffff;">BAGUS33</span>
478                </a>
479            </li>
480
481            <li class="nav-menu container">
482                <a href="https://snooglestore.com/">
483                    <span style="color:#ffffff;">BAGUS33 LOGIN</span>
484                </a>
485            </li>
486
487            <li class="nav-menu container">
488                <a href="https://snooglestore.com/">
489                    <span style="color:#ffffff;">BAGUS33 DATAR</span>
490                </a>
491            </li>
492
493            <li class="nav-menu container">
494                <a href="https://snooglestore.com/">
495                    <span style="color:#ffffff;">BAGUS33 LINK</span>
496                </a>
497            </li>
498
499            <li class="nav-menu container">
500                <a href="https://snooglestore.com/">
501                    <span style="color:#ffffff;">BAGUS33 ALTERNATIF</span>
502                </a>
503            </li>
504
505            <li class="nav-menu container">
506                <a href="https://snooglestore.com/">
507                    <span style="color:#ffffff;">BAGUS33 RESMI</span>
508                </a>
509            </li>
510        </ul>
511       
512 <div class="overlay-nav">
513   <!-- Mobile Close Button in Overlay -->
514   <button id="nav-close" class="nav-close-btn d-lg-none">
515     <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png">
516       <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
517     </svg>
518   </button>
519 </div>
520 
521 
521<script>
522   if ($(window).width() < 992) {
523     $(".nav-menu .nav-menu container > a").click(function(e){
524       e.preventDefault()
525       const parentLi = $(this).parent()
526       const isCurrentlyOpen = parentLi.hasClass("menu-open")
527       
528       // Close all other open menus (accordion behavior)
529       $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open")
530       $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp()
531       
532       // Toggle current menu
533       if (isCurrentlyOpen) {
534         parentLi.removeClass("menu-open")
535         $(this).next(".megamenu").slideUp()
536       } else {
537         parentLi.addClass("menu-open")
538         $(this).next(".megamenu").slideDown()
539       }
540     })
541 
542     // Level 2 menu accordion (submenu items with grandchildren)
543     $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){
544       e.preventDefault()
545       const parentLi = $(this).parent()
546       const isCurrentlyOpen = parentLi.hasClass("submenu-open")
547       const grandchild = $(this).next(".grandchild")
548       
549       // Close all other open submenus in the same dropdown (accordion behavior)
550       parentLi.siblings('.has-submenu').removeClass("submenu-open")
551       parentLi.siblings('.has-submenu').find('.grandchild').slideUp()
552       parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)')
553       
554       // Toggle current submenu
555       if (isCurrentlyOpen) {
556         parentLi.removeClass("submenu-open")
557         grandchild.slideUp()
558         $(this).find('.chevron-right').css('transform', 'rotate(0deg)')
559       } else {
560         parentLi.addClass("submenu-open")
561         grandchild.slideDown()
562         $(this).find('.chevron-right').css('transform', 'rotate(90deg)')
563       }
564     })
565 
566     $("#menu-hamburger").click(function(e){
567       e.preventDefault()
568       $("body").toggleClass("nav_open")
569     })
570     
571     // Handle close button click
572     $("#nav-close").click(function(e){
573       e.preventDefault()
574       $("body").removeClass("nav_open")
575       // Close all open menus when close button is clicked
576       $(".nav-menu .nav-menu container").removeClass("menu-open")
577       $(".nav-menu .megamenu").slideUp()
578       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
579       $(".dropdown-menu .grandchild").slideUp()
580       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
581     })
582   }
583 
584   $(".overlay-nav").click(function(e){
585       e.preventDefault()
586       $("body").removeClass("nav_open")
587       // Close all open menus when overlay is clicked
588       $(".nav-menu .nav-menu container").removeClass("menu-open")
589       $(".nav-menu .megamenu").slideUp()
590       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
591       $(".dropdown-menu .grandchild").slideUp()
592       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
593   })
594 </script>
594
595 
596 
597 </div>
598 
599       <div id="shopify-section-search-popup" class="shopify-section m-0"><style>
600   #search-trigger {
601     cursor: pointer;
602   }
603   #search-popup {
604     display: none;
605     position: fixed;
606     left: 0;
607     width: 100%;
608     top: 0;
609     height: 100%;
610     justify-content: center;
611     z-index: 9999;
612     background: rgb(196 196 196 / 30%);
613   }
614   #search-input {
615     align-self: center;
616     width: 100%;
617     height: 80px;
618     position: absolute;
619     top: 0;
620     border-bottom: 0.5px solid #A3A3A3;
621     background-color: #fff;
622   }
623   #search-input * {
624     align-self: center;
625   }
626   #search-type {
627     width: 100%;
628     border: none;
629     padding-right: 20px;
630     padding-left: 20px;
631     font-size: 16px;
632     color: #757575;
633   }
634   #search-btn {
635     font-size: 16px;
636     font-weight: 500;
637   }
638   #search-result {
639     min-height: 490px;
640     width: 100%;
641     padding-top: 80px;
642   }
643   #search-result .container {
644     background-color: #fff;
645     padding: 20px 40px;
646   }
647   body.search-popup-open {
648     overflow: hidden;
649   }
650   .search-popup-open #loc_delivery {
651     display: none
652   }
653   .search-header svg {
654     display: none;
655     cursor: pointer;
656   }
657   .wrapper-search-popup {
658     max-height: calc(100vh - 150px);
659     overflow-y: auto;
660     overflow-x: hidden;
661   }
662 
663   .group-recommend {
664     padding: 20px 40px;
665   }
666 
667   .resultsearch {
668     display: none;
669   }
670   .results { padding: 20px 40px }
671   .resultsearch label {
672     font-weight: 600;
673     padding-bottom: 20px;
674     display: block;
675     margin-bottom: 20px;
676     border-bottom: 1px solid #AAAAAA;
677   }
678 
679   ul.result_product {
680     max-height: 300px;
681     overflow: auto;
682   }
683 
684   .group-promotion ul {
685     margin: 0;
686   }
687   .group-promotion li {
688     list-style: none;
689     margin-bottom: 12px;
690   }
691   .group-promotion li a {
692     color: inherit;
693   }
694 
695   .group-recent {
696     position: relative;
697     padding: 20px 40px;
698   }
699   .group-recent ul {
700     margin: 0;
701   }
702   .group-recent li {
703     list-style: none;
704     display: inline-block;
705     margin-right: 60px;
706   }
707   .group-recent li a {
708     color: inherit;
709   }
710 
711   .last-search svg {
712     width: 20px;
713     vertical-align: middle;
714   }
715   ul.last-search a {
716     vertical-align: middle;
717     padding: 0 10px;
718   }
719   ul.last-search li span {
720     cursor: pointer;
721   }
722   .delete-all-history {
723     position: absolute;
724     top: 25px;
725     right: 40px;
726     text-decoration: underline;
727     color: #e11d1d;
728     cursor: pointer;
729     font-size: 12px;
730   }
731 
732   form.search.search-modal__form {
733     position: relative;
734   }
735 
736   button.search__button svg {
737     width: 25px;
738     color: #495057;
739     fill: #757582;
740   }
741 
742   button.search__button.field__button {
743     position: absolute;
744     top: 50%;
745     margin-top: -12px;
746   }
747 
748   .close-search {
749     display: none;
750     position: absolute;
751     right: 65px;
752     top: 10px;
753     cursor: pointer;
754   }
755 
756   .site-overlay {
757     position: fixed;
758     top: 0;
759     width: 100vw;
760     height: 100vh;
761     z-index: 1000;
762     background: #0000005c;
763     visibility: hidden;
764     opacity: 0;
765     pointer-events: none;
766     transition: all .3s linear;
767     display: block !important;
768   }
769 
770   .search-popup-open .site-overlay {
771     opacity: 1;
772     visibility: visible;
773     pointer-events: all;
774     z-index: -1;
775     cursor: pointer;
776   }
777 
778   @media (min-width: 991px) {
779     .group-recent ul {
780       column-count: 3;
781     }
782     .group-promotion li a {
783       font-size: 12px;
784       font-weight: 400;
785     }
786     .group-recent li a {
787       font-size: 12px;
788       font-weight: 400;
789     }
790   }
791 
792   .moreresult {
793     padding: 10px 40px;
794     border-top: 1px solid #AAAAAA;
795   }
796   .moreresult * {
797     align-self: center;
798   }
799   .moreresult p {
800     margin: 0;
801     font-size: 12px !important;
802   }
803   .moreresult svg {
804     width: 13px;
805   }
806 
807   @media (max-width: 992px) {
808     .icon-key-mobile {
809         height: auto!important;
810         width: 10px!important;
811     }
812     body.grid-view.search-popup-open .products {
813       -ms-flex: 0 0 100%!important;
814       flex: 0 0 100%!important;
815       max-width: 100%!important;
816     }
817     button.search__button svg {
818       width: 20px;
819     }
820     #search-result {
821       padding-left: 0;
822       padding-right: 0;
823     }
824     #search-result {
825       padding-top: 55px;
826     }
827     #search-input {
828       height: 55px;
829     }
830     .group-recommend {
831       padding: 20px;
832     }
833     #search-input .container {
834       padding: 0 20px;
835     }
836     #search-type {
837       font-size: 14px;
838     }
839     #search-btn {
840       font-size: 12px;
841       text-decoration: underline;
842     }
843     .results {
844       padding: 20px;
845     }
846     .group-recommend h3 {
847       font-size: 16px;
848     }
849     .products .card-body {
850       padding: 8px 0px 10px;
851     }
852     .moreresult {
853       padding: 10px 20px;
854     }
855   }
856 </style>
857  <style type="text/css">
858         div.advertisement-placeholder {
859             text-align: center;
860             padding-bottom: 20px;
861             display: flex;
862             flex-direction: column;
863             justify-content: center;
864         }
865         div.advertisement-text p {
866             margin: 0;
867             font-family: Open Sans;
868             font-style: normal;
869             font-weight: normal;
870             font-size: 10px;
871             line-height: 20px;
872             color: #999999;
873         }
874         div.advertisement-banner {
875             margin: 0px auto;
876         }
877         div#div-gpt-ad-billboard-placeholder {
878             width: 996px;
879             margin: 0 auto;
880             background: #F5F5F5;
881             padding-bottom: unset !important;
882             min-height: 200px;
883         }
884         div#div-gpt-ad-lb-placeholder {
885             background: #F5F5F5;
886             padding-bottom: unset !important;
887             min-height: 280px;
888         }
889         .faq-section {
890    max-width: 900px;
891    margin: 40px auto;
892    padding: 24px 18px;
893    border-radius: 16px;
894    background: radial-gradient(circle at top left, rgba(255,255,255,0.06), transparent 50%),
895                radial-gradient(circle at bottom right, rgba(255,0,170,0.08), transparent 55%);
896    border: 1px solid rgba(255,255,255,0.07);
897    box-shadow: 0 18px 40px rgba(0,0,0,0.7);
898    backdrop-filter: blur(6px);
899    color: #fff;
900}
901
902.faq-section h2 {
903    text-align: center;
904    font-size: 1.8rem;
905    margin-bottom: 18px;
906    letter-spacing: 1px;
907    text-transform: uppercase;
908    background: linear-gradient(120deg, #e0ff2e, #fffd69, #e5f500);
909    -webkit-background-clip: text;
910    color: transparent;
911}
912
913.faq-container {
914    display: flex;
915    flex-direction: column;
916    gap: 10px;
917}
918
919.faq-item {
920    position: relative;
921    border-radius: 12px;
922    background: rgba(20, 20, 20, 0.96);
923    border: 1px solid rgba(255,255,255,0.08);
924    overflow: hidden;
925    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
926}
927
928.faq-item:hover {
929    transform: translateY(-2px);
930    box-shadow: 0 12px 30px rgba(0,0,0,0.6);
931    border-color: rgba(255, 196, 0, 0.7);
932}
933
934.faq-item::before {
935    content: "";
936    position: absolute;
937    left: 0;
938    top: 10%;
939    bottom: 10%;
940    width: 3px;
941    border-radius: 999px;
942    background: linear-gradient(180deg, #e0ff2e, #fffd69, #e5f500);
943    opacity: 0.7;
944    transition: opacity 0.2s ease, top 0.2s ease, bottom 0.2s ease;
945}
946
947.faq-item.active::before {
948    top: 0;
949    bottom: 0;
950    opacity: 1;
951}
952
953.faq-question {
954    width: 100%;
955    padding: 14px 16px 14px 20px;
956    background: transparent;
957    border: none;
958    outline: none;
959    color: #ffffff;
960    font-size: 0.98rem;
961    font-weight: 600;
962    text-align: left;
963    cursor: pointer;
964    display: flex;
965    align-items: center;
966    justify-content: space-between;
967    gap: 16px;
968}
969
970.faq-question span.question-text {
971    flex: 1;
972}
973
974.faq-question span.icon {
975    width: 22px;
976    height: 22px;
977    border-radius: 999px;
978    border: 1px solid rgba(255,255,255,0.4);
979    display: inline-flex;
980    align-items: center;
981    justify-content: center;
982    font-size: 15px;
983    flex-shrink: 0;
984    transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
985}
986
987.faq-item.active .faq-question span.icon {
988    transform: rotate(180deg);
989    background: linear-gradient(135deg, #ff0303, #00d9ff);
990    border-color: transparent;
991}
992
993.faq-answer {
994    max-height: 0;
995    overflow: hidden;
996    opacity: 0;
997    transform: translateY(-4px);
998    padding: 0 20px;
999    transition:
1000        max-height 0.3s ease,
1001        opacity 0.25s ease,
1002        transform 0.25s ease,
1003        padding-top 0.25s ease,
1004        padding-bottom 0.25s ease;
1005}
1006
1007.faq-answer p {
1008    font-size: 0.93rem;
1009    line-height: 1.6;
1010    color: #d8d8d8;
1011}
1012
1013.faq-item.active .faq-answer {
1014    max-height: 200px;
1015    opacity: 1;
1016    transform: translateY(0);
1017    padding-top: 0;
1018    padding-bottom: 14px;
1019}
1020
1021.faq-item.active {
1022    background: radial-gradient(circle at top left, rgba(255,255,255,0.04), rgba(20,20,20,0.98));
1023    box-shadow: 0 14px 32px rgba(0,0,0,0.75);
1024    border-color: rgba(255, 215, 0, 0.85);
1025}
1026
1027@media (max-width: 575.98px) {
1028    .faq-section {
1029        margin: 28px 12px;
1030        padding: 18px 14px;
1031    }
1032
1033    .faq-question {
1034        padding: 12px 12px 12px 16px;
1035    }
1036
1037    .faq-answer {
1038        padding: 0 16px 12px;
1039    }
1040}
1041     </style>
1042     
1042<script>
1043  (function () {
1044      var items = document.querySelectorAll('.faq-item');
1045      if (!items.length) return;
1046
1047      items.forEach(function (item) {
1048          var btn = item.querySelector('.faq-question');
1049
1050          btn.addEventListener('click', function () {
1051              var isActive = item.classList.contains('active');
1052
1053              // kalau mau hanya satu yang terbuka, tutup semua dulu
1054              items.forEach(function (other) {
1055                  other.classList.remove('active');
1056              });
1057
1058              // kalau sebelumnya tidak aktif, buka yang ini
1059              if (!isActive) {
1060                  item.classList.add('active');
1061              }
1062          });
1063      });
1064  })();
1065</script>
1065
1066
1067 <div id="search-popup">
1068   <div id="search-input" class="row">
1069     <div class="container w-100">
1070       <form
1071         action="/search"
1072         method="get"
1073         role="search"
1074         class="search search-modal__form d-flex justify-content-between"
1075       >
1076         <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="20" height="20" viewBox="0 0 20 20" fill="none">
1077   <path d="M18.7327 19.513L11.427 12.2073C10.8437 12.7043 10.1729 13.0889 9.41454 13.3612C8.65621 13.6334 7.89398 13.7695 7.12787 13.7695C5.25965 13.7695 3.67843 13.1228 2.3842 11.8293C1.08998 10.5359 0.442871 8.95505 0.442871 7.08683C0.442871 5.2186 1.0892 3.63699 2.38187 2.34199C3.67454 1.04699 5.25498 0.398714 7.12321 0.397159C8.99143 0.395603 10.5734 1.04271 11.8692 2.33849C13.165 3.63427 13.8129 5.21588 13.8129 7.08333C13.8129 7.89377 13.6694 8.67816 13.3824 9.43649C13.0954 10.1948 12.7182 10.8435 12.2507 11.3825L19.5564 18.687L18.7327 19.513ZM7.12904 12.6017C8.67682 12.6017 9.98348 12.0689 11.049 11.0033C12.1146 9.93777 12.6474 8.63071 12.6474 7.08216C12.6474 5.5336 12.1146 4.22694 11.049 3.16216C9.98348 2.09738 8.67682 1.5646 7.12904 1.56383C5.58126 1.56305 4.2742 2.09583 3.20787 3.16216C2.14154 4.22849 1.60876 5.53516 1.60954 7.08216C1.61032 8.62916 2.14309 9.93583 3.20787 11.0022C4.27265 12.0685 5.57932 12.6013 7.12787 12.6005" fill="#ffffff"/>
1078 </svg>
1079 
1080         <input type="hidden" name="type" value="product">
1081         <input
1082           type="text"
1083           id="search-type"
1084           name="q"
1085           class="search-popup"
1086           placeholder="Gifts that linger: Uncover treasures for cherished moments."
1087         >
1088         <div class="close-search"><svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
1089   <path d="M9 9.708L12.246 12.954C12.3393 13.0473 12.454 13.0973 12.59 13.104C12.726 13.1107 12.8473 13.0607 12.954 12.954C13.0607 12.8473 13.114 12.7293 13.114 12.6C13.114 12.4707 13.0607 12.3527 12.954 12.246L9.708 9L12.954 5.754C13.0473 5.66067 13.0973 5.546 13.104 5.41C13.1107 5.274 13.0607 5.15267 12.954 5.046C12.8473 4.93933 12.7293 4.886 12.6 4.886C12.4707 4.886 12.3527 4.93933 12.246 5.046L9 8.292L5.754 5.046C5.66067 4.95267 5.546 4.90267 5.41 4.896C5.274 4.88933 5.15267 4.93933 5.046 5.046C4.93933 5.15267 4.886 5.27067 4.886 5.4C4.886 5.52933 4.93933 5.64733 5.046 5.754L8.292 9L5.046 12.246C4.95267 12.3393 4.90267 12.4543 4.896 12.591C4.88933 12.7263 4.93933 12.8473 5.046 12.954C5.15267 13.0607 5.27067 13.114 5.4 13.114C5.52933 13.114 5.64733 13.0607 5.754 12.954L9 9.708ZM9.003 18C7.75833 18 6.58833 17.764 5.493 17.292C4.39767 16.8193 3.44467 16.178 2.634 15.368C1.82333 14.558 1.18167 13.606 0.709 12.512C0.236333 11.418 0 10.2483 0 9.003C0 7.75767 0.236333 6.58767 0.709 5.493C1.181 4.39767 1.82133 3.44467 2.63 2.634C3.43867 1.82333 4.391 1.18167 5.487 0.709C6.583 0.236333 7.753 0 8.997 0C10.241 0 11.411 0.236333 12.507 0.709C13.6023 1.181 14.5553 1.82167 15.366 2.631C16.1767 3.44033 16.8183 4.39267 17.291 5.488C17.7637 6.58333 18 7.753 18 8.997C18 10.241 17.764 11.411 17.292 12.507C16.82 13.603 16.1787 14.556 15.368 15.366C14.5573 16.176 13.6053 16.8177 12.512 17.291C11.4187 17.7643 10.249 18.0007 9.003 18ZM9 17C11.2333 17 13.125 16.225 14.675 14.675C16.225 13.125 17 11.2333 17 9C17 6.76667 16.225 4.875 14.675 3.325C13.125 1.775 11.2333 1 9 1C6.76667 1 4.875 1.775 3.325 3.325C1.775 4.875 1 6.76667 1 9C1 11.2333 1.775 13.125 3.325 14.675C4.875 16.225 6.76667 17 9 17Z" fill="#757575"/>
1090 </svg>
1091 </div>
1092         <button id="search-btn">Search</button>
1093       </form>
1094     </div>
1095   </div>
1096   <div id="search-result" class="container m-auto">
1097     <div class="container p-0">
1098       <div class="group-promotion">
1099         <div class="resultsearch">
1100           <div class="row results">
1101             <div class="col-12 col-lg-6 mb-3 mb-lg-0">
1102               <label>SUGGESTIONS</label>
1103               <ul class="result_collection"></ul>
1104             </div>
1105             <div class="col-12 col-lg-6">
1106               <label>PRODUCTS</label>
1107               <ul class="result_product"></ul>
1108             </div>
1109           </div>
1110           <div class="d-flex justify-content-between moreresult m-0">
1111             <p>Search for<span></span></p>
1112             <svg version="1.1" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="32" height="32" viewBox="0 0 32 32">
1113 <title>icon-arrow-right</title>
1114 <path d="M25.057 15.333l-6.862-6.862c-0.26-0.26-0.26-0.682 0-0.943s0.682-0.26 0.943 0l8 8c0.26 0.26 0.26 0.682 0 0.943l-8 8c-0.26 0.26-0.682 0.26-0.943 0s-0.26-0.682 0-0.943l6.862-6.862h-19.724c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h19.724z"></path>
1115 </svg>
1116           </div>
1117         </div>
1118       </div>
1119       <div class="group-recent hide">
1120         <h3>RECENT SEARCH</h3>
1121         <span class="delete-all-history">Hapus riwayat</span>
1122         <ul class="last-search"></ul>
1123       </div>
1124       <div class="group-recommend">
1125         <h3>YOU MAY ALSO LIKE</h3>
1126         
1127         
1128           <div class="row popup-recommend c-products-grid infinite-case product-multi-">
1129             <div class="swiper-wrapper justify-content-between" style="margin-left:1px;">
1130               
1131                 
1132                   <div class="swiper-slide card">
1133                     
1134 
1135 
1136 
1137 <div class="products" data-lazy="false">
1138   <div class="bg-products">
1139     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake">
1140       <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1141   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
114111233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1142 </svg>
1143 
1144     </div>
1145     <a href="https://snooglestore.com/">
1146       
1147       <div class="product-card-img-container p-0 position-relative">
1148         
1149         <img class="product-card-img"  lazy="false" src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1755750898" data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1755750898" alt="Mid Autumn of Love Mooncake" height="200" width="200">
1150       </div>
1151       <div class="card-body product-card-info">
1152         <h5 class="h5 mb-0">
1153           Mid Autumn of Love Mooncake
1154         </h5>
1155         <div class="product-card-price">
1156           
1157           <div class="product-price-sale">
1158             <s class="product-card-price-before card-money">Rp 588.000</s>
1159             <span class="product-card-discount small">	
1160               (-40%)
1161             </span> 	
1162           </div>
1163           
1164           
1165           
1166           <div class="price-discount">
1167             <h4 class="product-card-price-after card-money">Rp 348.000</h4>
1168           </div>
1169           
1170           
1171           
1172           
1173           
1174         </div>
1175         
1176       </div>
1177     </a>
1178   </div>
1179   
1180 </div>
1181 
1182                   </div>
1183                 
1184               
1185                 
1186                   <div class="swiper-slide card">
1187                     
1188 
1189 
1190 
1191 <div class="products" data-lazy="false">
1192   <div class="bg-products">
1193     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake">
1194       <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1195   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
119511233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1196 </svg>
1197 
1198     </div>
1199     <a href="https://snooglestore.com/">
1200       
1201       <div class="product-card-img-container p-0 position-relative">
1202         
1203         <img class="product-card-img"  lazy="false" src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1755750798" data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1755750798" alt="Mid Autumn of Joy Mooncake" height="200" width="200">
1204       </div>
1205       <div class="card-body product-card-info">
1206         <h5 class="h5 mb-0">
1207           Mid Autumn of Joy Mooncake
1208         </h5>
1209         <div class="product-card-price">
1210           
1211           <div class="product-price-sale">
1212             <s class="product-card-price-before card-money">Rp 888.000</s>
1213             <span class="product-card-discount small">	
1214               (-33%)
1215             </span> 	
1216           </div>
1217           
1218           
1219           
1220           <div class="price-discount">
1221             <h4 class="product-card-price-after card-money">Rp 588.000</h4>
1222           </div>
1223           
1224           
1225           
1226           
1227           
1228         </div>
1229         
1230       </div>
1231     </a>
1232   </div>
1233   
1234 </div>
1235 
1236                   </div>
1237                 
1238               
1239                 
1240                   <div class="swiper-slide card">
1241                     
1242 
1243 
1244 
1245 <div class="products" data-lazy="false">
1246   <div class="bg-products">
1247     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake">
1248       <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1249   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
124911233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1250 </svg>
1251 
1252     </div>
1253     <a href="https://snooglestore.com/">
1254       
1255       <div class="product-card-img-container p-0 position-relative">
1256         
1257         <img class="product-card-img"  lazy="false" src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1755846072" data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1755846072" alt="Mid Autumn of Fortune Mooncake" height="200" width="200">
1258       </div>
1259       <div class="card-body product-card-info">
1260         <h5 class="h5 mb-0">
1261           Mid Autumn of Fortune Mooncake
1262         </h5>
1263         <div class="product-card-price">
1264           
1265           <div class="product-price-sale">
1266             <s class="product-card-price-before card-money">Rp 1.188.000</s>
1267             <span class="product-card-discount small">	
1268               (-33%)
1269             </span> 	
1270           </div>
1271           
1272           
1273           
1274           <div class="price-discount">
1275             <h4 class="product-card-price-after card-money">Rp 788.000</h4>
1276           </div>
1277           
1278           
1279           
1280           
1281           
1282         </div>
1283         
1284       </div>
1285     </a>
1286   </div>
1287   
1288 </div>
1289 
1290                   </div>
1291                 
1292               
1293                 
1294                   <div class="swiper-slide card">
1295                     
1296 
1297 
1298 
1299 <div class="products" data-lazy="false">
1300   <div class="bg-products">
1301     <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake">
1302       <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1303   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
130311233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1304 </svg>
1305 
1306     </div>
1307     <a href="https://snooglestore.com/">
1308       
1309       <div class="product-card-img-container p-0 position-relative">
1310         
1311         <img class="product-card-img"  lazy="false" src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1755845965" data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1755845965" alt="Mid Autumn Festival Mooncake" height="200" width="200">
1312       </div>
1313       <div class="card-body product-card-info">
1314         <h5 class="h5 mb-0">
1315           Mid Autumn Festival Mooncake
1316         </h5>
1317         <div class="product-card-price">
1318           
1319           <div class="product-price-sale">
1320             <s class="product-card-price-before card-money">Rp 1.288.000</s>
1321             <span class="product-card-discount small">	
1322               (-23%)
1323             </span> 	
1324           </div>
1325           
1326           
1327           
1328           <div class="price-discount">
1329             <h4 class="product-card-price-after card-money">Rp 988.000</h4>
1330           </div>
1331           
1332           
1333           
1334           
1335           
1336         </div>
1337         
1338       </div>
1339     </a>
1340   </div>
1341   
1342 </div>
1343 
1344                   </div>
1345                 
1346               
1347                 
1348                   <div class="swiper-slide card">
1349                     
1350 
1351 
1352 
1353 <div class="products" data-lazy="false">
1354   <div class="bg-products">
1355     <div class="wishlist-toggle" data-product-handle="the-jade-bouquet">
1356       <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1357   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
135711233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1358 </svg>
1359 
1360     </div>
1361     <a href="https://snooglestore.com/">
1362       
1363       <div class="product-card-img-container p-0 position-relative">
1364         
1365         <img class="product-card-img"  lazy="false" src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1751618030" data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1751618030" alt="The Jade Bouquet" height="200" width="200">
1366       </div>
1367       <div class="card-body product-card-info">
1368         <h5 class="h5 mb-0">
1369           The Jade Bouquet
1370         </h5>
1371         <div class="product-card-price">
1372           
1373           <div class="product-price-sale">
1374             <s class="product-card-price-before card-money">Rp 435.000</s>
1375             <span class="product-card-discount small">	
1376               (-34%)
1377             </span> 	
1378           </div>
1379           
1380           
1381           
1382           <div class="price-discount">
1383             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1384           </div>
1385           
1386           
1387           
1388           
1389           
1390         </div>
1391         
1392       </div>
1393     </a>
1394   </div>
1395   
1396 </div>
1397 
1398                   </div>
1399                 
1400               
1401                 
1402                   <div class="swiper-slide card">
1403                     
1404 
1405 
1406 
1407 <div class="products" data-lazy="false">
1408   <div class="bg-products">
1409     <div class="wishlist-toggle" data-product-handle="the-selena-bouquet">
1410       <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1411   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
141111233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1412 </svg>
1413 
1414     </div>
1415     <a href="https://snooglestore.com/">
1416       
1417       <div class="product-card-img-container p-0 position-relative">
1418         
1419         <img class="product-card-img"  lazy="false" src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1751618047" data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1751618047" alt="The Selena Bouquet" height="200" width="200">
1420       </div>
1421       <div class="card-body product-card-info">
1422         <h5 class="h5 mb-0">
1423           The Selena Bouquet
1424         </h5>
1425         <div class="product-card-price">
1426           
1427           <div class="product-price-sale">
1428             <s class="product-card-price-before card-money">Rp 335.000</s>
1429             <span class="product-card-discount small">	
1430               (-29%)
1431             </span> 	
1432           </div>
1433           
1434           
1435           
1436           <div class="price-discount">
1437             <h4 class="product-card-price-after card-money">Rp 235.000</h4>
1438           </div>
1439           
1440           
1441           
1442           
1443           
1444         </div>
1445         
1446       </div>
1447     </a>
1448   </div>
1449   
1450 </div>
1451 
1452                   </div>
1453                 
1454               
1455                 
1456                   <div class="swiper-slide card">
1457                     
1458 
1459 
1460 
1461 <div class="products" data-lazy="false">
1462   <div class="bg-products">
1463     <div class="wishlist-toggle" data-product-handle="the-viola-bouquet">
1464       <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1465   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
146511233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1466 </svg>
1467 
1468     </div>
1469     <a href="https://snooglestore.com/">
1470       
1471       <div class="product-card-img-container p-0 position-relative">
1472         
1473         <img class="product-card-img"  lazy="false" src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1751618053" data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1751618053" alt="A striking bouquet featuring full pink chrysanthemums and delicate purple asters. It is elegantly wrapped in deep purple paper with a modern black and white striped accent at the base. The arrangement is tied with a pink ribbon bow, creating a full, rounded shape. This sophisticated bouquet is perfect for birthdays, anniversaries, or as a thoughtful thank-you gesture." height="200" width="200">
1474       </div>
1475       <div class="card-body product-card-info">
1476         <h5 class="h5 mb-0">
1477           The Viola Bouquet
1478         </h5>
1479         <div class="product-card-price">
1480           
1481           <div class="product-price-sale">
1482             <s class="product-card-price-before card-money">Rp 385.000</s>
1483             <span class="product-card-discount small">	
1484               (-25%)
1485             </span> 	
1486           </div>
1487           
1488           
1489           
1490           <div class="price-discount">
1491             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1492           </div>
1493           
1494           
1495           
1496           
1497           
1498         </div>
1499         
1500       </div>
1501     </a>
1502   </div>
1503   
1504 </div>
1505 
1506                   </div>
1507                 
1508               
1509                 
1510                   <div class="swiper-slide card">
1511                     
1512 
1513 
1514 
1515 <div class="products" data-lazy="false">
1516   <div class="bg-products">
1517     <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet">
1518       <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1519   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
151911233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1520 </svg>
1521 
1522     </div>
1523     <a href="https://snooglestore.com/">
1524       
1525       <div class="product-card-img-container p-0 position-relative">
1526         
1527         <img class="product-card-img"  lazy="false" src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1751618061" data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1751618061" alt="The Minerva Bouquet" height="200" width="200">
1528       </div>
1529       <div class="card-body product-card-info">
1530         <h5 class="h5 mb-0">
1531           The Minerva Bouquet
1532         </h5>
1533         <div class="product-card-price">
1534           
1535           <div class="product-price-sale">
1536             <s class="product-card-price-before card-money">Rp 385.000</s>
1537             <span class="product-card-discount small">	
1538               (-25%)
1539             </span> 	
1540           </div>
1541           
1542           
1543           
1544           <div class="price-discount">
1545             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1546           </div>
1547           
1548           
1549           
1550           
1551           
1552         </div>
1553         
1554       </div>
1555     </a>
1556   </div>
1557   
1558 </div>
1559 
1560                   </div>
1561                 
1562               
1563                 
1564                   <div class="swiper-slide card">
1565                     
1566 
1567 
1568 
1569 <div class="products" data-lazy="false">
1570   <div class="bg-products">
1571     <div class="wishlist-toggle" data-product-handle="congraduations-bouquet">
1572       <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1573   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
157311233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1574 </svg>
1575 
1576     </div>
1577     <a href="https://snooglestore.com/">
1578       
1579       <div class="product-card-img-container p-0 position-relative">
1580         
1581         <img class="product-card-img"  lazy="false" src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1749545306" data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1749545306" alt="Congraduations Bouquet" height="200" width="200">
1582       </div>
1583       <div class="card-body product-card-info">
1584         <h5 class="h5 mb-0">
1585           Congraduations Bouquet
1586         </h5>
1587         <div class="product-card-price">
1588           
1589           <div class="product-price-sale">
1590             <s class="product-card-price-before card-money">Rp 380.000</s>
1591             <span class="product-card-discount small">	
1592               (-25%)
1593             </span> 	
1594           </div>
1595           
1596           
1597           
1598           <div class="price-discount">
1599             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1600           </div>
1601           
1602           
1603           
1604           
1605           
1606         </div>
1607         
1608       </div>
1609     </a>
1610   </div>
1611   
1612 </div>
1613 
1614                   </div>
1615                 
1616               
1617                 
1618                   <div class="swiper-slide card">
1619                     
1620 
1621 
1622 
1623 <div class="products" data-lazy="false">
1624   <div class="bg-products">
1625     <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet">
1626       <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1627   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
162711233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1628 </svg>
1629 
1630     </div>
1631     <a href="https://snooglestore.com/">
1632       
1633       <div class="product-card-img-container p-0 position-relative">
1634         
1635         <img class="product-card-img"  lazy="false" src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1749545297" data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1749545297" alt="Grad &amp; Gorgeous Bouquet" height="200" width="200">
1636       </div>
1637       <div class="card-body product-card-info">
1638         <h5 class="h5 mb-0">
1639           Grad & Gorgeous Bouquet
1640         </h5>
1641         <div class="product-card-price">
1642           
1643           <div class="product-price-sale">
1644             <s class="product-card-price-before card-money">Rp 380.000</s>
1645             <span class="product-card-discount small">	
1646               (-25%)
1647             </span> 	
1648           </div>
1649           
1650           
1651           
1652           <div class="price-discount">
1653             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1654           </div>
1655           
1656           
1657           
1658           
1659           
1660         </div>
1661         
1662       </div>
1663     </a>
1664   </div>
1665   
1666 </div>
1667 
1668                   </div>
1669                 
1670               
1671             </div>
1672           </div>
1673         
1674       </div>
1675     </div>
1676   </div>
1677 
1678   <div class="site-overlay" style="display: none"></div>
1679 </div>
1680 
1680<script>
1681   
1682   var swiper = new Swiper('.popup-recommend', {
1683       slidesPerView : 4, 
1684       spaceBetween: 30,
1685       lazy: true ,                            
1686       speed: 300,
1687       breakpoints: {
1688         576: {
1689             slidesPerView: 2,
1690               spaceBetween: 10,
1691             freeMode: true,
1692             resistance : true,
1693             resistanceRatio : 0,
1694             freeModeMomentumRatio : 0.45,
1695             freeModeMomentumVelocityRatio : 1.5
1696         },
1697         768: {
1698               slidesPerView: 2,
1699               spaceBetween: 10
1700             },
1701         992: {
1702               slidesPerView: 3,
1703               spaceBetween: 20
1704         }
1705       }
1706   });
1707 
1708   const searchContainer = $("#search-popup")
1709   const searchInput = $(".search-popup")
1710   const result_collection = $('.result_collection')
1711   const result_product = $('.result_product')
1712   const resultsearch = $('.resultsearch')
1713   const resultrecommend = $(".group-recommend")
1714   const moreresult = $(".moreresult")
1715 
1716   searchInput.keyup(function(){
1717     const input = $(this).val()
1718     moreresult.find("p span").text(` “${input}”`)
1719     if(input.length > 2) {
1720       $(".close-search").show()
1721       const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}`
1722       $.ajax({
1723         type: 'GET',
1724         url,
1725         beforeSend: function() {
1726             // setting a timeout
1727             // $(placeholder).addClass('loading');
1728         },
1729         success: function(response) {
1730             resultsearch.show()
1731             resultrecommend.hide()
1732             result_collection.html("")
1733             result_product.html("")
1734             const collections = response.resources.results.collections
1735             const products = response.resources.results.products
1736             let collection_length = collections.length
1737             let product_length = products.length
1738             // if(collections.length > 5) {
1739             //   collection_length = 5
1740             // }
1741             // if(products.length > 5) {
1742             //   product_length = 5
1743             // }
1744             for(let i=0;i<collection_length;i++){
1745               const title = collections[i].title
1746               const url = collections[i].url
1747               let html_collection
1748               if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) {
1749                 html_collection = `
1750                 <li class="item" data-title="${title}">
1751                   <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a>
1752                 </li>
1753                 `
1754               }
1755               result_collection.append(html_collection)
1756             }
1757             for(let i=0;i<product_length;i++){
1758               const title = products[i].title
1759               const url = products[i].url
1760               const image = products[i].featured_image.url
1761               const vendor = products[i].vendor
1762               let html_product
1763               if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){
1764                 html_product = `
1765                 <li class="item" data-vendor="${vendor}">
1766                   <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}">
1767                     <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span>
1768                   </a>
1769                 </li>
1770                 `
1771               }
1772               result_product.append(html_product)
1773             }
1774         },
1775         error: function(xhr) { // if error occured
1776             alert("Error occured.please try again");
1777         },
1778         complete: function(response) {
1779             // $(placeholder).removeClass('loading');
1780         },
1781         dataType: 'JSON'
1782       });
1783     } else {
1784       result_collection.html("")
1785       result_product.html("")
1786       
1787       resultsearch.hide()
1788       resultrecommend.show()
1789     }
1790   })
1791 
1792   moreresult.click(function(){
1793     $("#search-btn").trigger("click");
1794   })
1795 
1796   $(".close-search").click(function(){
1797     $(this).hide()
1798     searchInput.val("")
1799     searchInput.focus()
1800     resultsearch.hide()
1801     resultrecommend.show()
1802   })
1803 
1804   function setCookie(name,value,days) {
1805     var expires = "";
1806     if (days) {
1807       var date = new Date();
1808       date.setTime(date.getTime() + (days*24*60*60*1000));
1809       expires = "; expires=" + date.toUTCString();
1810     }
1811     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
1812   }
1813   function getCookie(name) {
1814     var nameEQ = name + "=";
1815     var ca = document.cookie.split(';');
1816     for(var i=0;i < ca.length;i++) {
1817       var c = ca[i];
1818       while (c.charAt(0)==' ') c = c.substring(1,c.length);
1819       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
1820     }
1821     return null;
1822   }
1823   let last_search_name = []
1824   let last_search_url = []
1825   $(".group-recent").hide()
1826   if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){
1827     if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){
1828       $(".group-recent").show()
1829       last_search_name = getCookie("last_search_name");
1830       last_search_url = getCookie("last_search_url");
1831       const arrName = last_search_name.substring(1).split(',').reverse()
1832       const arrUrl = last_search_url.substring(1).split(',').reverse()
1833       console.log(arrName, 'Array Name')
1834       console.log(arrUrl, 'Array Url')
1835       let length = arrName.length
1836       if(arrName.length > 5) {
1837         length = 5
1838       }
1839       for(let n=0;n<length;n++){
1840         let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">
1840${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>`
1841         $(".group-recent ul").append(html2)
1842       }
1843     }
1844   }
1845   console.log(last_search_name, 'Name')
1846   console.log(last_search_url, 'url')
1847   
1848   resultsearch.delegate(".item a", "click", function(){
1849     let name = [last_search_name]
1850     let url = [last_search_url]
1851     name.push($(this).attr('data-title'))
1852     url.push($(this).attr('data-url'))
1853     setCookie("last_search_name",name,7);
1854     setCookie("last_search_url",url,7);
1855   })
1856   
1857   $(".delete-all-history").click(function() {
1858     setCookie("last_search_name",null,0);
1859     setCookie("last_search_url",null,0);
1860     $(".last-search").hide();
1861     setTimeout(function(){
1862       location.reload();
1863     }, 500);
1864   })
1865   
1866   $("#search-trigger").click(function(){
1867     search_open()
1868   })
1869   $(".icon-search-mobile").click(function(){
1870     search_open()
1871   })
1872   $(".search-header svg").click(function(){
1873     search_close()
1874   })
1875   $(".icon-key-mobile").click(function(){
1876     search_close()
1877   })
1878 
1879   function search_open() {
1880     $("body").addClass("search-popup-open")
1881     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide()
1882     $("#search-popup, .search-header svg, .icon-key-mobile").show()
1883     $(".search-popup").focus()
1884     $('.popup-recommend')[0].swiper.update();
1885   }
1886   function search_close() {
1887     $("body").removeClass("search-popup-open")
1888     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show()
1889     $("#search-popup, .search-header svg, .icon-key-mobile").hide()
1890     searchInput.val("")
1891     resultsearch.hide()
1892     resultrecommend.show()
1893   }
1894 
1895   $(".site-overlay").click(function(){
1896     search_close()
1897   })
1898 </script>
1898
1899 
1900 </div>
1901     </div>
1902 
1903     <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;">
1904       <main class="main-content pt-0" role="main">
1905         
1906           <div id="breadcrumbProduct" class="d-none d-lg-block">
1907             <style>
1908   #breadcrumbProduct {
1909     padding: 20px 0;
1910   }
1911   #breadcrumbProduct ul {
1912       display: flex;
1913       padding: 0;
1914       list-style: none;
1915       margin: 0;
1916       gap: 12px;
1917   }
1918   #breadcrumbProduct ul li {
1919     text-transform: uppercase;
1920     margin: 0;
1921     font-size: 12px;
1922 }
1923   #breadcrumbProduct ul li a {
1924     color: #757575;
1925   }
1926 
1927   #breadcrumbProduct ul li svg {
1928     width: 10px;
1929     height: 10px;
1930     padding: 0;
1931     color: #757575;
1932     vertical-align: middle;
1933   }
1934 </style>
1935 <style>
1936 .mini-navigasi-bagus{
1937  display:flex;
1938  flex-wrap:wrap;
1939  justify-content:center;
1940  gap:20px;
1941  padding:12px;
1942  border-radius:14px;
1943}
1944
1945.mini-navigasi-bagus a{
1946  padding:8px 16px;
1947  font-size:13px;
1948  font-weight:700;
1949  color:#fff;
1950  text-decoration:none;
1951  border-radius:999px;
1952  background:linear-gradient(to bottom, #f1a200 0%, #8d6000 50%, #764b00 100%);
1953  box-shadow:
1954    inset 0 0 6px rgb(255, 208, 0),
1955    0 4px 8px rgba(255, 230, 0, 0.45);
1956  transition:.25s ease;
1957  white-space:nowrap;
1958}
1959
1960.mini-navigasi-bagus a:hover{
1961  background:linear-gradient(to bottom, #f1a200 0%, #8d6000 50%, #764b00 100%);
1962  transform:translateY(-2px) scale(1.05);
1963  box-shadow:0 0 14px rgba(255, 217, 0, 0.75);
1964}
1965
1966@media(max-width:600px){
1967  .mini-navigasi-bagus{
1968    justify-content:flex-start;
1969    overflow-x:auto;
1970    flex-wrap:nowrap;
1971    scrollbar-width:none;
1972  }
1973  .mini-navigasi-bagus::-webkit-scrollbar{display:none;}
1974}
1975</style>
1976<div class="mini-navigasi-bagus"> <a href="https://snooglestore.com/">BAGUS33</a> <a href="https://snooglestore.com/">SNOOGLE STORE</a> <a href="https://snooglestore.com/">BINGKAI FOTO USG</a> <a href="https://snooglestore.com/">BINGKAI FOTO AKRILIK</a> <a href="https://snooglestore.com/">FOTO KEHAMILAN</a> <a href="https://snooglestore.com/">MOMEN KELUARGA</a> <a href="https://snooglestore.com/">KENANGAN KELUARGA</a> <a href="https://snooglestore.com/">GARANSI RESMI</a> </div>
1977         
1978 
1978<script type="application/ld+json">
1979 {
1980   "@context": "https://schema.org",
1981   "@type": "Product",
1982   "name": "BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi",
1983   "image": "https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp",
1984   "description": "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.",
1985   "brand": {
1986     "@type": "Brand",
1987     "name": "BAGUS33"
1988   },
1989   "sku": "BAGUS33-RESMI",
1990   "mpn": "SITUS-BAGUS33-TERPERCAYA",
1991   "url": "https://snooglestore.com/",
1992   "offers": {
1993     "@type": "Offer",
1994     "url": "https://snooglestore.com/",
1995     "priceCurrency": "USD",
1996     "price": "10.00",
1997     "priceValidUntil": "2026-03-21",
1998     "itemCondition": "https://schema.org/NewCondition",
1999     "availability": "https://schema.org/InStock",
2000     "seller": {
2001       "@type": "Organization",
2002       "name": "BAGUS33"
2003     }
2004   },
2005   "aggregateRating": {
2006     "@type": "AggregateRating",
2007     "ratingValue": "5.0",
2008     "reviewCount": 66541
2009   },
2010   "review": [
2011     {
2012       "@type": "Review",
2013       "reviewRating": {
2014         "@type": "Rating",
2015         "ratingValue": "5",
2016         "bestRating": "5"
2017       },
2018       "author": {
2019         "@type": "Person",
2020         "name": "Marwati"
2021       }
2022     },
2023     {
2024       "@type": "Review",
2025       "reviewRating": {
2026         "@type": "Rating",
2027         "ratingValue": "5",
2028         "bestRating": "5"
2029       },
2030       "author": {
2031         "@type": "Person",
2032         "name": "Sinta"
2033       }
2034     }
2035   ]
2036 }
2037 </script>
2037
2038 
2038<script type="application/ld+json">
2039 {
2040   "@context": "https://schema.org",
2041   "@type": "BreadcrumbList",
2042   "itemListElement": [
2043     {
2044       "@type": "ListItem",
2045       "position": 1,
2046       "name": "BAGUS33",
2047       "item": "https://snooglestore.com/"
2048     },
2049     {
2050       "@type": "ListItem",
2051       "position": 2,
2052       "name": "BAGUS 33",
2053       "item": "https://snooglestore.com/"
2054     },
2055     {
2056       "@type": "ListItem",
2057       "position": 3,
2058       "name": "BAGUS33 LOGIN",
2059       "item": "https://snooglestore.com/"
2060     },
2061     {
2062       "@type": "ListItem",
2063       "position": 4,
2064       "name": "BAGUS33 DAFTAR",
2065       "item": "https://snooglestore.com/"
2066     },
2067     {
2068       "@type": "ListItem",
2069       "position": 5,
2070       "name": "BAGUS33 LINK",
2071       "item": "https://snooglestore.com/"
2072     },
2073     {
2074       "@type": "ListItem",
2075       "position": 6,
2076       "name": "BINGKAI FOTO",
2077       "item": "https://snooglestore.com/"
2078     },
2079     {
2080       "@type": "ListItem",
2081       "position": 7,
2082       "name": "FOTO USG",
2083       "item": "https://snooglestore.com/"
2084     },
2085     {
2086       "@type": "ListItem",
2087       "position": 8,
2088       "name": "FOTO KELUARGA",
2089       "item": "https://snooglestore.com/"
2090     }
2091   ]
2092 }
2093 </script>
2093
2094 
2094<script type="application/ld+json">
2095{
2096  "@context": "https://schema.org",
2097  "@type": "FAQPage",
2098  "mainEntity": [
2099    {
2100      "@type": "Question",
2101      "name": "Apa itu BAGUS33 dan produk unggulan apa yang ditawarkan oleh Official Snoogle Store?",
2102      "acceptedAnswer": {
2103        "@type": "Answer",
2104        "text": "BAGUS33 | Official Snoogle Store adalah penyedia resmi bingkai foto eksklusif yang dirancang khusus untuk mengabadikan momen berharga keluarga, seperti foto USG kehamilan, bayi baru lahir, hingga kenangan keluarga indah lainnya dengan jaminan garansi resmi."
2105      }
2106    },
2107    {
2108      "@type": "Question",
2109      "name": "Mengapa bingkai foto USG kehamilan dari BAGUS33 menjadi pilihan favorit para ibu hamil?",
2110      "acceptedAnswer": {
2111        "@type": "Answer",
2112        "text": "Bingkai foto BAGUS33 dibuat menggunakan material premium berkualitas tinggi, tahan lama, anti-jamur, serta memiliki desain estetis yang elegan untuk melindungi cetakan USG tetap aman dan tidak pudar sepanjang masa."
2113      }
2114    },
2115    {
2116      "@type": "Question",
2117      "name": "Apakah pembelian produk bingkai di BAGUS33 dilengkapi dengan garansi resmi?",
2118      "acceptedAnswer": {
2119        "@type": "Answer",
2120        "text": "Ya, seluruh produk bingkai foto kenangan keluarga di Official Snoogle Store dilengkapi dengan Garansi Resmi untuk menjamin kualitas material, kerapian pengerjaan, serta keamanan pengiriman hingga sampai di tangan Anda."
2121      }
2122    },
2123    {
2124      "@type": "Question",
2125      "name": "Apakah saya bisa memesan bingkai foto USG kustom sebagai kado atau hadiah baby shower?",
2126      "acceptedAnswer": {
2127        "@type": "Answer",
2128        "text": "Sangat bisa! Bingkai foto BAGUS33 dirancang khusus agar cocok dijadikan kado penuh makna untuk momen kehamilan, baby shower, kelahiran, maupun hadiah spesial anniversary keluarga."
2129      }
2130    },
2131    {
2132      "@type": "Question",
2133      "name": "Bagaimana cara mudah memesan bingkai foto USG dan momen keluarga di BAGUS33?",
2134      "acceptedAnswer": {
2135        "@type": "Answer",
2136        "text": "Anda dapat dengan mudah mengunjungi toko online resmi BAGUS33 | Official Snoogle Store, memilih desain bingkai favorit, mengunggah foto USG atau keluarga Anda, dan tim kami akan memprosesnya dengan rapi dan aman."
2137      }
2138    }
2139  ]
2140}
2141</script>
2141
2142 
2142<script type="application/ld+json">
2143 {
2144   "@context": "https://schema.org",
2145   "@type": "Organization",
2146   "name": "BAGUS33",
2147   "url": "https://snooglestore.com/",
2148   "logo": "https://cdn.datavip.cloud/Logo/Bagus33.png",
2149   "sameAs": [
2150     "https://www.facebook.com/officialbagus33",
2151     "https://twitter.com/officialbagus33",
2152     "https://www.instagram.com/officialbagus33"
2153   ],
2154   "contactPoint": {
2155     "@type": "ContactPoint",
2156     "telephone": "+62-8946-113-4615",
2157     "contactType": "customer support",
2158     "areaServed": "ID",
2159     "availableLanguage": ["Indonesian", "English"]
2160   }
2161 }
2162 </script>
2162
2163 
2164 
2164<script type="application/ld+json">
2165 {
2166   "@context": "https://schema.org",
2167   "@type": "VideoObject",
2168   "name": "BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi",
2169   "description": "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.",
2170   "thumbnailUrl": [
2171     "https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp",
2172     "https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2173   ],
2174   "uploadDate": "2026-01-02T04:19:10-04:00",
2175   "duration": "PT168",
2176   "contentUrl": "https://snooglestore.com/"
2177 }
2178 </script>
2178
2179 
2180 
2180<script type="application/ld+json">
2181 {
2182   "@context": "https://schema.org",
2183   "@graph": [
2184     {
2185       "@type": "Organization",
2186       "@id": "https://snooglestore.com/#org",
2187       "name": "BAGUS33",
2188       "url": "https://snooglestore.com/",
2189       "logo": "https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2190     },
2191     {
2192       "@type": "WebSite",
2193       "@id": "https://snooglestore.com/#website",
2194       "url": "https://snooglestore.com/",
2195       "name": "BAGUS33",
2196       "publisher": { "@id": "https://snooglestore.com/#org" },
2197       "inLanguage": "id-ID",
2198       "potentialAction": {
2199         "@type": "SearchAction",
2200         "target": "https://snooglestore.com/?s={search_term_string}",
2201         "query-input": "required name=search_term_string"
2202       }
2203     },
2204     {
2205       "@type": "SoftwareApplication",
2206       "@id": "https://snooglestore.com/#app",
2207       "name": "BAGUS33",
2208       "applicationCategory": "GameApplication",
2209       "operatingSystem": "Android, iOS, Windows",
2210       "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" },
2211       "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 }
2212     }
2213   ]
2214 }
2215 </script>
2215
2216         
2217 <div id="shopify-section-Product" class="shopify-section product-section mt-0">
2218<link href="https://asset-jko.b-cdn.net/footer-warna.css" rel="stylesheet" type="text/css" media="all" />
2219 
2220 
2221 <style>
2222     .bg-card {
2223     background-color: #000000;
2224 }
2225     </style>
2226 
2227 <!-- /templates/product.liquid -->
2228 
2229 
2230 <!-- <div itemscope itemtype="http://schema.org/Product"> -->
2231 
2232 
2233 <div class="product-standing-flower" data-product-type="flowerBoard">
2234   <meta itemprop="url" content="https://snooglestore.com/">
2235   <meta itemprop="image" content="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp">
2236 
2237   
2238   
2239   <input id="data-sku" type="hidden" value="OBVSTF1086">
2240   <div class="product-single" style="background-image: url(https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp); background-attachment: fixed;">
2241     <div id="product-top" class="container">
2242       <div class="row bg-card product-sticky" style="background-color: rgba(0, 0, 0, 0.1);backdrop-filter: blur(25px); padding: 20px 25px;border-radius: 10px;">
2243         <div id="product-image" class="col-lg-7 text-center">
2244           <div class="product-image">
2245             <div class="row no-gutters">
2246   
2247   <div id="product-featured-image" class="row w-100">
2248     
2249       <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block">
2250         
2251         <div class="swiper-container gallery-thumbs" style="min-height: 500px">
2252           <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx">
2253 
2254                   <li class="swiper-slide" data-type="image">
2255                     <a
2256                       href="https://snooglestore.com/"
2257                       data-standard="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2258                       data-image="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2259                       data-position="1"
2260                       class="product-single__thumbnail"
2261                     >
2262                       <img
2263                         class="lazyload w-100"
2264                         src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2265                         alt="BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi"
2266                         width=""
2267                         height=""
2268                       >
2269                     </a>
2270                   </li>
2271                 
2272               
2273             
2274 
2275                   <li class="swiper-slide" data-type="image">
2276                     <a
2277                       href="https://snooglestore.com/"
2278                       data-standard="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2279                       data-image="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2280                       data-position="2"
2281                       class="product-single__thumbnail"
2282                     >
2283                       <img
2284                         class="lazyload w-100"
2285                         src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2286                         alt="BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi"
2287                         width=""
2288                         height=""
2289                       >
2290                     </a>
2291                   </li>
2292                 
2293               
2294             
2295 
2296                   <li class="swiper-slide" data-type="image">
2297                     <a
2298                       href="https://snooglestore.com/"
2299                       data-standard="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2300                       data-image="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2301                       data-position="3"
2302                       class="product-single__thumbnail"
2303                     >
2304                       <img
2305                         class="lazyload w-100"
2306                         src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2307                         alt="BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi"
2308                         width=""
2309                         height=""
2310                       >
2311                     </a>
2312                   </li>
2313                 
2314               
2315             
2316 
2317                   <li class="swiper-slide" data-type="image">
2318                     <a
2319                       href="https://snooglestore.com/"
2320                       data-standard="https://cdn.bannervip.cloud/Banner-B
2320agus33/BS1.webp"
2321                       data-image="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2322                       data-position="4"
2323                       class="product-single__thumbnail"
2324                     >
2325                       <img
2326                         class="lazyload w-100"
2327                         src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2328                         alt="BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi"
2329                         width=""
2330                         height=""
2331                       >
2332                     </a>
2333                   </li>
2334                 
2335               
2336             
2337           </ul>
2338         </div>
2339         
2340       </div>
2341     
2342     <div
2343       id="featured-image-product"
2344       class="col-lg-10 col-12 d-none d-lg-block"
2345     >
2346       <div class="swiper-container gallery-top">
2347         <div class="swiper-slide product-single__image">
2348           
2349 <div class="product-single__photos slider slider-for" id="ProductPhoto">
2350   
2351 
2352   <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails">
2353     <a href="https://snooglestore.com/">
2354       <img
2355         src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2356         alt="BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi"
2357         id="ProductPhotoImg"
2358         class="lazyload"
2359       >
2360       
2361     </a>
2362   </div>
2363 </div>
2364 
2365         </div>
2366         <div class="swiper-slide product-single__video" style="display: none">
2367           <video
2368             src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4"
2369             playsinline
2370             loop
2371             muted
2372           ></video>
2373         </div>
2374       </div>
2375     </div>
2376   </div>
2377 
2378   <div id="featured-image-product2" class="col-12 d-lg-none">
2379     <div class="swiper-container gallery-mobile">
2380       <ul class="swiper-wrapper">
2381 <li class="swiper-slide img">
2382               
2383                 <img
2384                   class="swiper-lazy"
2385                   src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2386                   data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2387                   alt="BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi"
2388                   width=""
2389                   height=""
2390                 >
2391               
2392             </li>
2393           
2394         
2395 <li class="swiper-slide img">
2396               
2397                 <img
2398                   class="swiper-lazy"
2399                   src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2400                   data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2401                   alt="BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi"
2402                   width=""
2403                   height=""
2404                 >
2405               
2406             </li>
2407           
2408         
2409 <li class="swiper-slide img">
2410               
2411                 <img
2412                   class="swiper-lazy"
2413                   src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2414                   data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2415                   alt="BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi"
2416                   width=""
2417                   height=""
2418                 >
2419               
2420             </li>
2421           
2422         
2423 <li class="swiper-slide img">
2424               
2425                 <img
2426                   class="swiper-lazy"
2427                   src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2428                   data-src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp"
2429                   alt="BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi"
2430                   width=""
2431                   height=""
2432                 >
2433               
2434             </li>
2435           
2436         
2437       </ul>
2438       
2439         <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="7" height="12" viewBox="0 0 7 12"> <circle cx="60%" cy="50%" r="12" fill="transparent" /> <path d="M6.35355339,10.6464466 C6.54881554,10.8417088 6.54881554,11.1582912 6.35355339,11.3535534 C6.15829124,11.5488155 5.84170876,11.5488155 5.64644661,11.3535534 L0.646446609,6.35355339 C0.451184464,6.15829124 0.451184464,5.84170876 0.646446609,5.64644661 L5.64644661,0.646446609 C5.84170876,0.451184464 6.15829124,0.451184464 6.35355339,0.646446609 C6.54881554,0.841708755 6.54881554,1.15829124 6.35355339,1.35355339 L1.70710678,6 L6.35355339,10.6464466 Z"/> </svg></div>
2440         <div class="swiper-button-next"><svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="7" height="10" viewB
2440ox="0 0 7 10" fill="none">
2441     <path d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z" fill="#757575"/>
2442 </svg></div>
2443 
2444         <!-- Add Pagination -->
2445         <div class="swiper-pagination"></div>
2446       
2447     </div>
2448   </div>
2449 
2450   <div class="product-m-pageleb-video col-12 text-center d-lg-none">
2451     <!-- product video -->
2452     <style>
2453       .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;}
2454       .view-video .icon-play{fill:#ffffff;vertical-align: middle;}
2455       .video-modal{display:none;position:fixed;background: rgba(0,0,0,.5); width:100%; height:100%; overflow:auto; z-index:1; top:0;left:0;}
2456       .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;}
2457       .close-video .icon{width:30px;height:30px;}
2458       /*responsive iframe */
2459       .video-container {position: relative;padding-bottom: 48.25%;padding-top: 35px;height: 0;box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.3);}
2460       .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;}
2461 
2462       .youtube {
2463         background-color: #000;
2464         margin-bottom: 30px;
2465         position: relative;
2466         padding-top: 56.25%;
2467         overflow: hidden;
2468         cursor: pointer;
2469         width: 100%;
2470       }
2471       .swiper-slide .youtube {
2472         max-width: 480px;
2473       }
2474       .youtube img {
2475         width: 100%;
2476         top: -16.82%;
2477         left: 0;
2478         opacity: 0.7;
2479       }
2480       .youtube .play-button {
2481         width: 90px;
2482         height: 60px;
2483         background-color: #333;
2484         box-shadow: 0 0 30px rgba( 0,0,0,0.6 );
2485         z-index: 1;
2486         opacity: 0.8;
2487         border-radius: 6px;
2488       }
2489       .youtube .play-button:before {
2490         content: "";
2491         border-style: solid;
2492         border-width: 15px 0 15px 26.0px;
2493         border-color: transparent transparent transparent #fff;
2494       }
2495       .youtube img,
2496       .youtube .play-button {
2497         cursor: pointer;
2498       }
2499       .youtube img,
2500       .youtube iframe,
2501       .youtube .play-button,
2502       .youtube .play-button:before {
2503         position: absolute;
2504       }
2505       .youtube .play-button,
2506       .youtube .play-button:before {
2507         top: 50%;
2508         left: 50%;
2509         transform: translate3d( -50%, -50%, 0 );
2510       }
2511       .youtube iframe {
2512         height: 100%;
2513         width: 100%;
2514         top: 0;
2515         left: 0;
2516       }
2517     </style>
2518 
2519     
2520   </div>
2521 </div>
2522 
2523 <div class="product-desc-add position-relative d-none d-lg-block m-0">
2524 
2525 </div>
2526 
2527 
2527<script>
2528   if ($(window).width() < 991) {
2529     var direction = 'horizontal'
2530   } else {
2531     var direction = 'vertical'
2532     $(".gallery-thumbs").height($("#ProductPhotoImg").height())
2533   }
2534   var swiper = new Swiper('.gallery-thumbs', {
2535     
2536     direction,
2537     slidesPerView: 4.5,
2538     spaceBetween: 12,
2539     navigation: {
2540       nextEl: '.swiper-button-next',
2541       prevEl: '.swiper-button-prev',
2542     }
2543   });
2544   
2545   var swiper = new Swiper('.gallery-mobile', {
2546     lazy: true,
2547     speed: 300,
2548     resistance : true,
2549     resistanceRatio : 0,
2550     freeModeMomentumRatio : 0.45,
2551     freeModeMomentumVelocityRatio : 1.5,
2552     navigation: {
2553       nextEl: '.swiper-button-next',
2554       prevEl: '.swiper-button-prev',
2555     },
2556     pagination: {
2557       el: '.swiper-pagination'
2558     },
2559     useCSS3Transforms: false,
2560     loop: false,
2561     on: {
2562       init: function () {
2563         console.log('swiper initialized');
2564         var currentVideo =  $("[data-swiper-slide-index=" + this.realIndex + "]").find("video");
2565         currentVideo.trigger('play');
2566       },
2567     },
2568   });
2569 
2570   var sliderVideos = $(".swiper-slide video");
2571   
2572   swiper.on('slideChange', function () {
2573     console.log('slide changed');
2574     sliderVideos.each(function( index ) {
2575       this.currentTime = 0;
2576     });
2577   
2578     var prevVideo =  $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video");
2579     var currentVideo =  $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video");
2580     prevVideo.trigger('stop');
2581     currentVideo.trigger('play');
2582   });
2583   
2584 
2585   $("[data-video]").click(function(){
2586     const file = $(this).data("video")
2587     $(".product-single__video").show()
2588     $(".product-single__image").hide()
2589     $(".product-single__video").find("video").attr("src", file)
2590     $(".product-single__video").find("video")[0].play();
2591   })
2592   $("[data-image]").click(function(){
2593     $(".product-single__video").hide()
2594     $(".product-single__image").show()
2595     $(".product-single__video").find("video")[0].pause();
2596   })
2597 
2598   $("#product-image .swiper-slide").each(function(){
2599     let width = $(this).width()
2600     $(this).height(width)
2601   })
2602 
2603   $(window).resize(function() {
2604     $("#product-image .swiper-slide").each(function(){
2605       let width = $(this).width()
2606       $(this).height(width)
2607     })
2608   })
2609 </script>
2609
2610 
2611           </div>
2612 
2613   
2614     <div class="grid__item_product-info mb-3">
2615       <div class="c-pdp-product-info">
2616         <ul class="c-pdp-product-info__service c-pdp-product-info__service--active">
2617           
2618             <li>Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.</li>
2619           
2620           
2621           
2622           
2623         </ul>
2624       </div>
2625     </div>
2626   
2627 
2628<section class="pasaran-section-pro"> <div class="pasaran-header-pro"> <div class="pasaran-left"> <span class="pasaran-live-dot"></span> <span class="pasaran-title-pro">BAGUS33 • OFFICIAL SNOOGLE STORE</span> </div> <span class="pasaran-tag-pro">Bingkai Akrilik • Foto USG • Momen Keluarga</span> </div>
2629
2630<div class="pasaran-marquee-pro"> <div class="pasaran-track-pro">
2631
2632  <!-- ITEM 1 -->
2633  <div class="pasaran-item-pro hot">
2634    <img src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp" alt="Bingkai Foto USG BAGUS33">
2635    <div class="pasaran-text-pro">
2636      <span class="pasaran-name-pro">BINGKAI FOTO USG</span>
2637    </div>
2638    <span class="badge-hot">POPULER</span>
2639  </div>
2640
2641  <!-- ITEM 2 -->
2642  <div class="pasaran-item-pro">
2643    <img src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp" alt="Official Snoogle Store">
2644    <div class="pasaran-text-pro">
2645      <span class="pasaran-name-pro">OFFICIAL SNOOGLE STORE</span>
2646    </div>
2647  </div>
2648
2649  <!-- ITEM 3 -->
2650  <div class="pasaran-item-pro">
2651    <img src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp" alt="Bingkai Foto Akrilik">
2652    <div class="pasaran-text-pro">
2653      <span class="pasaran-name-pro">BINGKAI FOTO AKRILIK</span>
2654    </div>
2655  </div>
2656
2657  <!-- ITEM 4 -->
2658  <div class="pasaran-item-pro">
2659    <img src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp" alt="Foto Kehamilan">
2660    <div class="pasaran-text-pro">
2661      <span class="pasaran-name-pro">FOTO KEHAMILAN</span>
2662    </div>
2663  </div>
2664
2665  <!-- ITEM 5 -->
2666  <div class="pasaran-item-pro">
2667    <img src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp" alt="Momen Keluarga">
2668    <div class="pasaran-text-pro">
2669      <span class="pasaran-name-pro">MOMEN KELUARGA</span>
2670    </div>
2671  </div>
2672
2673  <!-- ITEM 6 -->
2674  <div class="pasaran-item-pro">
2675    <img src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp" alt="Kenangan Keluarga">
2676    <div class="pasaran-text-pro">
2677      <span class="pasaran-name-pro">KENANGAN KELUARGA</span>
2678    </div>
2679  </div>
2680
2681  <!-- ITEM 7 -->
2682  <div class="pasaran-item-pro">
2683    <img src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp" alt="Garansi Resmi">
2684    <div class="pasaran-text-pro">
2685      <span class="pasaran-name-pro">GARANSI RESMI</span>
2686    </div>
2687  </div>
2688
2689  <!-- DUPLIKASI UNTUK LOOP -->
2690  <div class="pasaran-item-pro hot">
2691    <img src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp" alt="Bingkai Foto USG BAGUS33">
2692    <div class="pasaran-text-pro">
2693      <span class="pasaran-name-pro">BINGKAI FOTO USG</span>
2694    </div>
2695    <span class="badge-hot">POPULER</span>
2696  </div>
2697
2698</div>
2699
2700</div> </section>
2701<style>
2702.pasaran-section-pro{
2703  max-width:1000px;
2704  margin:30px auto;
2705  padding:18px 20px 22px;
2706  border-radius:18px;
2707  background:
2708    linear-gradient(180deg,rgba(255,0,0,.08),transparent 40%),
2709    rgba(5,5,10,.85);
2710  backdrop-filter: blur(6px);
2711  border:1px solid rgba(255,255,255,.08);
2712  box-shadow:0 25px 50px rgba(0,0,0,.9);
2713  color:#fff;
2714}
2715
2716.pasaran-header-pro{
2717  display:flex;
2718  justify-content:space-between;
2719  align-items:center;
2720  margin-bottom:14px;
2721}
2722
2723.pasaran-left{
2724  display:flex;
2725  align-items:center;
2726  gap:10px;
2727}
2728
2729.pasaran-live-dot{
2730  width:10px;
2731  height:10px;
2732  border-radius:50%;
2733  background:#ff0033;
2734  box-shadow:0 0 12px #ff0033;
2735  animation:pulseLive 1.5s infinite;
2736}
2737
2738@keyframes pulseLive{
2739  0%,100%{transform:scale(1);}
2740  50%{transform:scale(1.4);}
2741}
2742
2743.pasaran-title-pro{
2744  font-weight:800;
2745  letter-spacing:.12em;
2746  font-size:1rem;
2747  color:#ffd166;
2748}
2749
2750.pasaran-tag-pro{
2751  font-size:.75rem;
2752  padding:5px 12px;
2753  border-radius:999px;
2754  background:rgba(0,0,0,.5);
2755  border:1px solid rgba(255,255,255,.2);
2756}
2757
2758.pasaran-marquee-pro{
2759  overflow:hidden;
2760  position:relative;
2761}
2762
2763.pasaran-track-pro{
2764  display:flex;
2765  gap:14px;
2766  animation:scrollRTP 14s linear infinite;
2767}
2768
2769.pasaran-marquee-pro:hover .pasaran-track-pro{
2770  animation-play-state:paused;
2771}
2772
2773.pasaran-item-pro{
2774  position:relative;
2775  display:flex;
2776  align-items:center;
2777  gap:12px;
2778  padding:10px 16px;
2779  border-radius:999px;
2780  min-width:220px;
2781  background:rgba(0,0,0,.65);
2782  border:1px solid rgba(255,255,255,.1);
2783  box-shadow:0 10px 22px rgba(0,0,0,.7);
2784  transition:.25s ease;
2785}
2786
2787.pasaran-item-pro:hover{
2788  transform:translateY(-3px) scale(1.04);
2789  box-shadow:0 18px 35px rgba(0,0,0,.9);
2790}
2791
2792/* RTP TINGGI */
2793.pasaran-item-pro.hot{
2794  border-color:#ff0033;
2795  box-shadow:0 0 18px rgba(255,0,0,.8);
2796}
2797
2798/* LOGO */
2799.pasaran-item-pro img{
2800  width:46px;
2801  height:46px;
2802  border-radius:50%;
2803  background:#111;
2804}
2805
2806/* TEXT */
2807.pasaran-text-pro{
2808  display:flex;
2809  flex-direction:column;
2810}
2811
2812.pasaran-name-pro{
2813  font-weight:700;
2814  font-size:.9rem;
2815}
2816
2817.pasaran-value-pro{
2818  font-size:.8rem;
2819  color:#ffd166;
2820}
2821
2822/* BADGE HOT */
2823.badge-hot{
2824  position:absolute;
2825  top:-6px;
2826  right:-6px;
2827  font-size:10px;
2828  font-weight:900;
2829  padding:3px 8px;
2830  border-radius:999px;
2831  background:linear-gradient(135deg,#ff0033,#ff6a00);
2832  color:#fff;
2833  box-shadow:0 0 12px rgba(255,80,0,.9);
2834}
2835
2836/* SCROLL */
2837@keyframes scrollRTP{
2838  0%{transform:translateX(0);}
2839  100%{transform:translateX(-50%);}
2840}
2841
2842/* MOBILE */
2843@media(max-width:768px){
2844  .pasaran-item-pro{
2845    min-width:190px;
2846    padding:8px 14px;
2847  }
2848  .pasaran-item-pro img{
2849    width:40px;
2850    height:40px;
2851  }
2852}
2853</style>
2854 
2855 
2856 <style>
2857   .c-pdp-product-info__service--active {
2858     font-size: 12px;
2859     padding-left: 10px;
2860     text-align: left;
2861     max-width: 550px;
2862     margin: auto;
2863   }
2864   .c-pdp-product-info__service--active li {
2865     list-style: disc;
2866   }
2867   .c-pdp-product-info {
2868     background-color: #f5f5f5;
2869     padding: 12px;
2870     margin: 0;
2871   }
2872   .freeship em {
2873     font-style: italic;
2874     font-size: 12px !important;
2875   }
2876 
2877 
2878 </style>
2879 
2880 
2880<script>
2881   $(document).ready(function(){
2882     if ( $(".c-pdp-product-info__service li").length == 1 ) {
2883       $(".c-pdp-product-info__service").addClass("no-bullet");
2884       $(".c-pdp-product-info__service li").addClass("no-bullets");
2885     }
2886   });
2887 </script>
2887
2888 
2889   
2890 
2891 
2892 
2893   
2894 
2895   
2896 
2897 
2898             
2899           
2900         </div>
2901         <div id="product-meta" class="col-lg-5 p-0">
2902           <div class="product-meta">
2903             <style>
2904   .product-meta--review {margin-top:10px}
2905   .freeship * {font-size: 14px !important;font-style: normal;}
2906 </style>
2907 <h1 itemprop="name" class="mb-2" style="color: rgb(255, 238, 0); font-weight: bold;">BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi</h1>
2908 
2909 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
2910   <meta itemprop="priceCurrency" content="IDR">
2911 
2912   <link itemprop="availability" href="https://schema.org/InStock">
2913   
2913<script
2914     type="text/javascript"
2915     src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons"
2916     async="async"
2917   ></script>
2917
2918   
2919 
2920   
2921 
2922   <span class="visually-hidden">Translation missing: en.products.general.regular_price</span>
2923   
2924     <span class="visually-hidden">Translation missing: en.products.general.sale_price</span>
2925   
2926   <div class="row no-gutters mb-3">
2927     <span
2928       id="ProductPrice"
2929       class="h2 ProductPrice"
2930       itemprop="price"
2931       content="835000" style="color: #ffffff;"
2932     >
2933       Rp 10.000
2934     </span>
2935         
2936       </span>
2937     </div>
2938   </div>
2939 
2940   <div class="row no-gutters meta-sds">
2941     <div class="col-12 mb-2 mb-lg-0 stock-info">
2942       
2943       
2944       <span
2945         id="ProductStock-Product"
2946         class="product-single__stock mb-2 hide"
2947       >
2948         
2949           
2950             
2951               
2952               Barang dikirim pada 
2953             
2954           
2955         
2956       </span>
2957 
2958       <style>
2959     .short-desc-desktop {
2960         margin-bottom: 2rem;
2961         color: white;
2962     }
2963     .short-desc ul li:nth-child(n + 4) {
2964         display: none;
2965     }
2966     .short-desc ul li.showList:nth-child(n + 4) {
2967         display: list-item;
2968     }
2969     label.more {
2970         display: none;
2971     }
2972     label.more.showMe {
2973         display: block;
2974         font-size: 12px;
2975         text-transform: uppercase;
2976         font-weight: 700;
2977         cursor: pointer;
2978     }
2979 </style>
2980 
2981     <div class="short-desc-desktop d-none d-lg-block">
2982         <div class="short-desc">
2983            
2984 <p style="text-align: justify;">Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.</p>
2985         </div>
2986         <label class="more">Show More →</label>
2987     </div><br>
2988 
2989 
2990 
2990<script>
2991     var liCount;
2992     $(document).ready(function () {
2993         $(".short-desc ul").each(function() {
2994             liCount = $(this).children("li").length;
2995             if (liCount > 3) {
2996                 $(this).parent(".short-desc").next(".more").addClass("showMe");
2997             }
2998         });
2999 
3000         $(".more").click(function () {
3001             $("#product-desc").find("ul").show()
3002             $('html, body').animate({
3003                 scrollTop: $("#product-desc").offset().top - 250
3004             }, 2000);
3005             $("#product-desc").css("height","auto");
3006             $("#more_content").remove();
3007             $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>")
3008         });
3009     });
3010 </script>
3010
3011 
3012       
3013     </div>
3014   </div>
3015 
3016   <div id="purchaseProduct">
3017   
3018   
3019 
3020 
3021 <style>
3022   .variant-metafield {
3023     display: block!important;
3024     width: 1px;
3025     padding: 0;
3026     border-color: #fff;
3027   }
3028   .select2-results__option[aria-disabled] {
3029     display: none;
3030   }
3031 
3032   .towel-bordir {
3033     width: 100%;
3034     display: flex;
3035     align-items: center;
3036     justify-content: space-around;
3037   }
3038 </style>
3039 
3040 
3041 
3042 
3043 
3043<script>
3044   
3045   
3046 </script>
3046
3047 
3048 
3049 
3050 
3051 
3052 
3053 <select
3054   name="id[]"
3055   id="productSelect"
3056   class="product-single__variants ignore hide hide"
3057 >
3058   
3059     
3060       
3061       <option
3062         
3063           selected="selected"
3064         
3065         data-sku="OBVSTF1086"
3066         value="44083045826775"
3067       >
3068         Default Title
3069       </option>
3070 
3071     
3072   
3073 </select>
3074 
3075 
3075<script src="https://outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
3075
3076 
3077 
3077<script>
3078   $('.size-chart-open-popup').magnificPopup({
3079     type:'inline',
3080     midClick: true
3081   });
3082 </script>
3082
3083 
3084   
3085   
3086   
3087   <div class="upload-image-preview">
3088     
3089     
3090     
3091     
3092     
3093     <style>
3094   .file-dnd * {
3095     margin: 0;
3096     padding: 0;
3097     box-sizing: border-box;
3098   }
3099   .file-dnd {
3100     width: 100%;
3101     height: 250px;
3102     border: 1px solid #ddd;
3103     border-radius: 10px;
3104     padding: 15px;
3105     display: flex;
3106     flex-direction: column;
3107     gap: 10px;
3108     margin: auto;
3109   }
3110   .file-dnd input {
3111     display: none;
3112   }
3113   .file-dnd .before-upload {
3114     border: 1px dashed #888;
3115     flex: 1;
3116     border-radius: 5px;
3117     display: flex;
3118     justify-content: center;
3119     align-items: center;
3120     text-align: center;
3121     cursor: pointer;
3122   }
3123   .file-dnd .before-upload > div {
3124     display: flex;
3125     flex-direction: column;
3126     align-items: center;
3127     gap: 8px;
3128   }
3129   .file-dnd .before-upload > div h4 {
3130     width: 150px;
3131   }
3132   .file-dnd .before-upload > div p {
3133     font-size: 12px !important;
3134     color: #555;
3135   }
3136   .file-dnd.active .before-upload {
3137     border: 1px solid #5750d9;
3138     background-color: #f5f5ff;
3139   }
3140   .file-dnd .after-upload {
3141     position: relative;
3142     display: none;
3143   }
3144   .file-dnd .after-upload img {
3145     width: 100%;
3146     border-radius: 5px;
3147     max-height: 180px;
3148     object-fit: contain;
3149     display: block;
3150   }
3151   .file-dnd .after-upload .clear-btn {
3152     position: absolute;
3153     top: 10px;
3154     right: 10px;
3155     background: rgba(0, 0, 0, 0.5);
3156     width: 15px;
3157     height: 15px;
3158     text-align: center;
3159     line-height: 15px;
3160     border-radius: 50%;
3161     color: #fff;
3162     cursor: pointer;
3163     font-size: 14px;
3164   }
3165 </style>
3166 
3167 <div
3168   class="file-dnd mb-3"
3169   
3170     style="display: none"
3171   
3172 >
3173   <label for="upload-photo">Upload your Photo:</label>
3174   <input type="file" id="upload-photo" accept="image/*">
3175   <input type="hidden" data-properties="Photo">
3176   <div class="before-upload">
3177     <div>
3178       <svg id="surface1" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="33.053" height="41.719" viewBox="0 0 33.053 41.719">
3179   <path id="Path_2149" data-name="Path 2149" d="M22.982.322A1.009,1.009,0,0,0,22.257,0H5.982A5.505,5.505,0,0,0,.5,5.472V36.247a5.505,5.505,0,0,0,5.482,5.472H28.071a5.505,5.505,0,0,0,5.482-5.472V11.81a1.085,1.085,0,0,0-.292-.705Zm.292,3.235,6.883,7.225H25.683a2.4,2.4,0,0,1-2.409-2.4Zm4.8,36.147H5.982a3.49,3.49,0,0,1-3.467-3.457V5.472A3.49,3.49,0,0,1,5.982,2.015H21.259V8.384A4.409,4.409,0,0,0,25.683,12.8h5.855V36.247A3.484,3.484,0,0,1,28.071,39.7Zm0,0" transform="translate(-0.5)" fill="#ababab"></path>
3180   <path id="Path_2150" data-name="Path 2150" d="M106.767,401.934H90.18a1.008,1.008,0,1,0,0,2.015h16.6a1.008,1.008,0,1,0-.01-2.015Zm0,0" transform="translate(-81.947 -369.183)" fill="#ababab"></path>
3181   <path id="Path_2151" data-name="Path 2151" d="M120.143,178.328l4.152-4.464v11a1.008,1.008,0,0,0,2.015,0v-11l4.152,4.464a1.005,1.005,0,0,0,1.471-1.371l-5.905-6.339a1,1,0,0,0-1.471,0l-5.905,6.339a1,1,0,0,0,.05,1.421A1.028,1.028,0,0,0,120.143,178.328Zm0,0" transform="translate(-108.776 -156.421)" fill="#ababab"></path>
3182 </svg>
3183 
3184       <h4>Drag & Drop Photo file or Browse</h4>
3185       <p>Supports: JPEG, PNG, GIF, TIFF</p>
3186     </div>
3187   </div>
3188   <div class="after-upload">
3189     <div class="clear-btn">&times;</div>
3190     <img src="" width="" height="">
3191   </div>
3192 </div>
3193 
3193<script>
3194   function applyDndFile(el) {
3195     const parent = document.querySelector(".file-dnd")
3196     const beforeUploadEl = el.querySelector(".before-upload")
3197     const afterUploadEl = el.querySelector(".after-upload")
3198     const inputFile = el.querySelector("input[type=file]")
3199     const imagePreview = el.querySelector(".after-upload img")
3200     const clearBtn = el.querySelector(".after-upload .clear-btn")
3201     const inputProps = parent.querySelector("[data-properties]");
3202 
3203     async function upload(name, uri, type) {
3204       try {
3205         const filename = name.split('.')[0]
3206         let formData = new FormData(); 
3207         formData.append("file", uri);
3208         const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, {
3209           method: "POST", 
3210           body: formData
3211         })
3212         if(response) {
3213           const res = await response.json()
3214           return res
3215         }
3216       } catch(err){
3217         console.log(err)
3218       }
3219     }
3220 
3221     function showImagePreview(img) {
3222       if(img){
3223         const blobUrl = URL.createObjectURL(img)
3224         imagePreview.src = blobUrl
3225         afterUploadEl.style.display = "block"
3226         beforeUploadEl.style.display = "none"
3227       }
3228     }
3229 
3230     beforeUploadEl.addEventListener("click", (e) => {
3231       e.preventDefault()
3232       inputFile.click()
3233     })
3234 
3235     inputFile.addEventListener("change", async (e) => {
3236       e.preventDefault()
3237       showImagePreview(e.target.files[0])
3238       var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type)
3239       inputProps.value = uploadData?.url
3240     })
3241 
3242     clearBtn.addEventListener("click", (e) => {
3243       afterUploadEl.style.display = "none"
3244       beforeUploadEl.style.display = "flex"
3245       inputProps.value = ""
3246     })
3247 
3248     beforeUploadEl.addEventListener("dragover", (e) => {
3249       e.preventDefault()
3250       el.classList.add("active")
3251     })
3252 
3253     beforeUploadEl.addEventListener("dragleave", (e) => {
3254       e.preventDefault()
3255       el.classList.remove("active")
3256     })
3257 
3258     beforeUploadEl.addEventListener("drop", async (e) => {
3259       e.preventDefault()
3260       el.classList.remove("active")
3261       showImagePreview(e.dataTransfer.files[0])
3262       var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type)
3263       console.log(uploadData)
3264       inputProps.value = uploadData?.url
3265     })
3266   }
3267 
3268   applyDndFile(document.querySelector(".file-dnd"))
3269 
3270   $(document).ready(function(){
3271     $(".variant-swatch").change(function(){
3272       const v = $(this).val().toLowerCase()
3273       const list = ["photo", "custom one side", "custom two side", "small", "big"]
3274       if(list.some(item => v.includes(item))) return $(".file-dnd").show()
3275       $(".file-dnd").hide()
3276       $(".file-dnd").find("[data-properties]").val("")
3277       $(".after-upload").hide()
3278       $(".before-upload").css("display", "flex")
3279     })
3280   })
3281 </script>
3281
3282 
3283   </div>
3284   
3285     
3286     <div class="delivery-city mb-4">
3287         <a href="https://snooglestore.com/bingkai-foto/">
3288        <center><img src="https://cdn.datavip.cloud/Logo/Bagus33.png" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br>
3289   <h4 class="fw-600 text-uppercase mb-15" style="color: rgb(255, 255, 255);">SEKARANG SUDAH WAKTUNYA DAFTAR AKUN BARU DI BAGUS33!</h4>
3290   <div class="row justify-content-between m-0">
3291     <select id="cities" class="form-control select-search" required>
3292       <option value="">Bingkai Foto USG Kehamilan & Momen Keluarga</option>
3293     </select>
3294   </div>
3295 </div>
3296 
3297 <style>
3298   @media (max-width: 768px) {
3299     .select2-search__field {
3300       pointer-events: none !important;
3301     }
3302     
3303     .select2-search {
3304       display: none !important;
3305     }
3306   }
3307 </style>
3308 
3309 
3309<script>
3310   $(document).ready(function() {
3311     if (window.innerWidth <= 768) {
3312       $('#cities').on('select2:open', function() {
3313         setTimeout(function() {
3314           $('.select2-search__field').blur();
3315           $('.select2-search__field').prop('readonly', true);
3316         }, 100);
3317       });
3318     }
3319   });
3320 </script>
3320
3321 
3322  <style>
3323 .icon-img-footer {
3324     width: 80px; 
3325     padding: 0px 5px;
3326 }
3327 @media (min-width: 768px) {
3328     .icon-img-footer {
3329         width: 120px; 
3330     }
3331 }
3332 @media (min-width: 992px) {
3333     .icon-img-footer {
3334         width: 120px; 
3335     }
3336 }
3337 
3338 
3339 </style>
3340   
3341   
3342     <div id="row-delivery-time" class="row m-0 mb-3">
3343       <h4 class="text-center fw-600 text-uppercase col-12 mb-15">
3344     SEO IY
3345 </h4>
3346       <div id="deliveryTime" class="d-flex w-100 m-0"></div>
3347       <div class="form-group p-0">
3348         <input type="text" id="propDeliveryTime" class="hide" required>
3349       </div>
3350     </div>
3351   
3352 
3353 
3354   
3355   
3356   <div id="personalizeBtn">
3357     
3358     
3359     
3360     
3361     <a href="https://snooglestore.com/bingkai-foto/">  <button class="btn text-uppercase w-100 fw-400">
3362       
3363         LINK ALTERNATIF BAGUS33
3364       
3365     </button></a>
3366     <div class="button-share-wishlist d-flex justify-content-around mt-3">
3367       <div class="button-share text-center">
3368         <p id="shareButton" class="d-flex gap-2"><span>BINGKAT FOTO</span><svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="15" height="13" viewBox="0 0 15 13" fill="none">
3369   <path d="M13.825 5.85006L10 2.02506V4.07506L9.28333 4.18339C5.69167 4.69172 3.25833 6.57506 1.86667 9.45839C3.8 8.09172 6.2 7.43339 9.16667 7.43339H10V9.67506M8.33333 8.28339C4.60833 8.45839 1.94167 9.80006 0 12.5167C0.833333 8.35006 3.33333 4.18339 9.16667 3.35006V0.0167236L15 5.85006L9.16667 11.6834V8.26672C8.89167 8.26672 8.61667 8.27506 8.33333 8.28339Z" fill="#ffffff"/>
3370 </svg>
3371 </p>
3372       </div>
3373       <div class="button-wishlist text-center">
3374         <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>FOTO USG</span><svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="16" height="15" viewBox="0 0 16 15" fill="none">
3375   <path d="M2.03341 7.70827C1.70392 7.38096 1.44286 6.99135 1.26546 6.56213C1.08805 6.13292 0.997838 5.67269 1.00008 5.20827C1.00008 4.26896 1.37322 3.36812 2.03741 2.70393C2.7016 2.03974 3.60244 1.6666 4.54175 1.6666C5.85841 1.6666 7.00841 2.38327 7.61675 3.44993H8.55008C8.85934 2.90748 9.30684 2.45667 9.84699 2.14341C10.3871 1.83015 11.0007 1.66563 11.6251 1.6666C12.5644 1.6666 13.4652 2.03974 14.1294 2.70393C14.7936 3.36812 15.1667 4.26896 15.1667 5.20827C15.1667 6.18327 14.7501 7.08327 14.1334 7.70827L8.08341 13.7499L2.03341 7.70827ZM14.7167 8.29993C15.5084 7.49993 16.0001 6.4166 16.0001 5.20827C16.0001 4.04795 15.5391 2.93515 14.7187 2.11467C13.8982 1.2942 12.7854 0.833267 11.6251 0.833267C10.1667 0.833267 8.87508 1.5416 8.08341 2.6416C7.67933 2.08035 7.14725 1.62353 6.53131 1.30904C5.91537 0.994549 5.23333 0.831448 4.54175 0.833267C3.38143 0.833267 2.26863 1.2942 1.44816 2.11467C0.627684 2.93515 0.166748 4.04795 0.166748 5.20827C0.166748 6.4166 0.658415 7.49993 1.45008 8.29993L8.08341 14.9333L14.7167 8.29993Z" fill="#ffffff"/>
3376 </svg>
3377 <!--
3378   <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="34" height="30" viewBox="0 0 34 30" fill="none">
3379   <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158 18.4933 2.35999 17 4.83582C15.5067 2.36082 12.8 0.699158 9.69749 0.699158C4.98582 0.699991 1.16666 4.51916 1.16666 9.23082C1.16666 10.3075 1.37499 11.3342 1.73916 12.2825C4.55999 20.3967 17 29.3008 17 29.3008C17 29.3008 29.44 20.3967 32.2617 12.2825C32.6258 11.3342 32.8333 10.3075 32.8333 9.23082Z" fill="white" fill-opacity="0.32" stroke="#757575" stroke-width="0.75" stroke-linecap="round" stroke-linejoin="round"/>
3380   </svg>
3381 -->
3382 </p>
3383       </div>
3384     </div>
3385   </div>
3386 </div>
3387 <div class="purchasePopup purchasePopupSpotify" style="display: none;">
3388   <div class="purchaseArea">
3389     <div class="sectionPurchase sectionPurchaseSpotify">
3390       <div class="wrapperPurchase">
3391         <div class="headerPurchase">
3392           <h3>personalize spotify photo print</h3>
3393           <a class="close-purchase-popup">
3394             <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
3395               <path d="M1.53287 17.4107L0.588867 16.4667L8.05553 9.00002L0.588867 1.53336L1.53287 0.589355L8.99953 8.05602L16.4662 0.589355L17.4102 1.53336L9.94353 9.00002L17.4102 16.4667L16.4662 17.4107L8.99953 9.94402L1.53287 17.4107Z" fill="black"></path>
3396             </svg>
3397           </a>
3398         </div>
3399         <div class="contentPurchase">
3400           <div class="spotifyAddons"></div>
3401         </div>
3402 
3403         <div class="purchase-button btn-addon row m-0" style="display: none;">
3404           <div class="col-12 col-lg-2 text-left mb-2 p-0">
3405             <button class="back-purchase-button back-addon text-uppercase">
3406               <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png">
3407                 <path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z" fill="black"></path>
3408               </svg>
3409               <span>Back</span>
3410             </button>
3411           </div>
3412           <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;">
3413             <button class="btn next-purchase-button next-addon text-uppercase">
3414               <span>continue without add-ons</span>
3415             </button>
3416           </div>
3417         </div>
3418       </div>
3419     </div>
3420   </div>
3421 </div>
3422 
3423 <style>
3424   #PBarNextFrameWrapper {
3425     display: none;
3426   }
3427   #backgroundPopup {
3428     display: none;
3429     position: fixed;
3430     _position: absolute;
3431     height: 100%;
3432     width: 100%;
3433     top: 0;
3434     left: 0;
3435     background: rgb(117 117 117 / 24%);
3436     z-index: 1;
3437   }
3438   .sectionPurchase {
3439     height: 100%;
3440     position: relative;
3441     max-width: 1344px;
3442     background-color: #fff;
3443     padding: 0;
3444     overflow: hidden; 
3445     display: flex;
3446     flex-direction: column;
3447   }
3448   .sectionPurchase.purchaseAddonSpotify {
3449     max-width: 1070px!important;
3450     max-height: 765px!important;
3451   }
3452   .sectionPurchaseBoard {
3453     max-width: 872px!important;
3454     max-height: 821px!important;
3455   }
3456   .purchaseAddonSpotify .btn-action {
3457     position: absolute;
3458     bottom: 0;
3459     left: 0;
3460     width: 100%;
3461     display: flex;
3462     gap: 10px;
3463   }
3464   .wrapperPurchase {
3465     position: relative;
3466     height: 100%;
3467     display: flex;
3468     flex-direction: column;
3469   }
3470   
3471   /* New styles for scrollable content and sticky button */
3472   .purchase-content {
3473     flex: 1;
3474     overflow-y: auto;
3475     overflow-x: hidden;
3476     padding: 20px;
3477   }
3478   
3479   .purchase-button-wrapper {
3480     position: sticky;
3481     bottom: 0;
3482     background-color: #fff;
3483     border-top: 1px solid #e0e0e0;
3484     padding: 15px 0;
3485     margin-top: auto;
3486     z-index: 10;
3487   }
3488   
3489   .purchasePopup {
3490     display: none;
3491     position: fixed;
3492     background: rgb(117 117 117 / 24%);
3493     z-index: 999;
3494     padding: 40px;
3495     font-size: 13px;
3496     top: 0;
3497     left: 0;
3498     width: 100%;
3499     height: 100%;
3500   }
3501   .popupPurchaseClose{
3502     font-size:14px;
3503     line-height:14px;
3504     right:45px;
3505     top:45px;
3506     position:absolute;
3507     color:#6fa5fd;
3508     font-weight:700;
3509     display:block;
3510     cursor: pointer;
3511   }
3512 
3513   .headerPurchase {
3514     margin-bottom: 30px;
3515     display: flex;
3516     justify-content: space-between;
3517   }
3518 
3519   .headerPurchase h3 {
3520     font-size: 16px;
3521     text-transform: uppercase;
3522   }
3523 
3524   .sectionPurchaseBoard .headerPurchase {
3525     margin-bottom: 15px;
3526   }
3527 
3528   .sectionPurchaseBoard .formAddressPurchase {
3529     padding-top: 0;
3530   }
3531 
3532   .purchaseArea {
3533     position: relative;
3534     height: 100%;
3535   }
3536 
3537   .purchaseArea h4 {
3538     width: 100%;
3539     font-size: 12px;
3540     font-weight: 600;
3541     margin-bottom: 10px;
3542     text-transform: uppercase;
3543   }
3544 
3545   .menuPurchase {
3546     margin-bottom: 30px;
3547   }
3548 
3549   .menuPurchase ul {
3550     list-style-type: none;
3551     margin: 0;
3552   }
3553 
3554   .menuPurchase ul li {
3555     display: inline-block;
3556     border: 1px solid #ffffff;
3557     padding: 5px 20px;
3558     margin-right: 5px;
3559     margin-bottom: 10px;
3560     font-size: 12px;
3561     font-weight: 400;
3562   }
3563 
3564   .menuPurchase ul li:hover, .menuPurchase ul li.selected {
3565     background-color: #ffffff;
3566     color: #ffffff;
3567   }
3568 
3569   .contentPurchase h5 {
3570       font-size: 12px;
3571       margin-bottom: 10px;
3572       font-weight: 400;
3573       overflow: hidden;
3574   }
3575 
3576   /* Card */
3577 
3578   #itemCards {
3579     max-height: 430px;
3580     overflow: auto;
3581   }
3582 
3583   .item-cards {
3584       width: 100%;
3585   }
3586   .item-card.selected {
3587       border: 1px solid #ffffff;
3588   }
3589   .item-card:hover {
3590       border: 1px solid #C4C4C4;
3591   }
3592   .item-cards .item-card {
3593     position: relative;
3594     width: calc(33% - 10px);
3595     max-width: calc(33% - 10px);
3596     flex: 0 0 calc(33% - 10px);
3597     margin-bottom: 20px;
3598   }
3599   .item-cards .item-card label,
3600   .item-addons .item-addon label {
3601       position: absolute;
3602       left: 0;
3603       width: 100%;
3604       height: 100%;
3605   }
3606   .item-cards .item-card .card-image img,
3607   .item-addons .item-addon .card-image img {
3608       display: block;
3609       width: 100%;
3610   }
3611   .item-card .card-meta,
3612   .item-addon .card-meta {
3613       padding: 10px 5px 5px;
3614   }
3615   .item-card.selected .card-meta,
3616   .item-addon.selected .card-meta,
3617   .item-card.selected .card-qty {
3618       background-color: #ffffff;
3619       color: #fff;
3620       visibility: visible!important;
3621   }
3622   .item-card:hover .card-meta,
3623   .item-addon:hover .card-meta,
3624   .item-card:hover .card-qty {
3625       background-color: #C4C4C4;
3626       color: #fff;
3627       visibility: visible!important;
3628   }
3629   .item-cards .item-card p,
3630   .item-addons .item-addon p {
3631     font-size: 12px !important;
3632     margin: 0;
3633     font-weight: 600;
3634   }
3635   .item-card .card-meta input,
3636   .item-addon .card-meta input {
3637       display: none;
3638   }
3639   .item-cards .item-card h5,
3640   .item-addons .item-addon h5 {
3641     text-transform: uppercase;
3642     max-height: 35px;
3643   }
3644 
3645   @media (max-width: 768px) {
3646     .item-cards .item-card {
3647         width: calc(50% - 10px);
3648         max-width: calc(50% - 10px);
3649         flex: 0 0 calc(50% - 10px);
3650         margin-bottom: 0;
3651     }
3652   }
3653 
3654   .card-qty {
3655     display: flex;
3656     padding: 5px;
3657     visibility: hidden;
3658     background-color: #fff !important;
3659     z-index: 999;
3660   }
3661   .card-qty a {
3662     border-width: 1px;
3663     width: 30%;
3664     cursor: pointer;
3665     text-align: center;
3666     align-self: center;
3667     height: 28px;
3668     display: block;
3669     position: relative;
3670   }
3671   .card-qty a svg {
3672     position: absolute;
3673     top: 50%;
3674     left: 50%;
3675     transform: translate(-50%, -50%);
3676     text-align: center;
3677   }
3678   input.btn-qty {
3679     border-width: 0px;
3680     border-radius: 0;
3681     background-color: #fff;
3682     -webkit-appearance: none;
3683     box-shadow: none !important;
3684     -webkit-box-shadow: none !important;
3685     -moz-box-shadow: none!important;
3686     width: 40%;
3687     border-left: 1px solid #c4c4c4;
3688     border-right: 1px solid #c4c4c4;
3689     padding: 0;
3690   }
3691 
3692   .sectionPurchaseBoard #itemAddons .item-card {
3693     width: calc(20% - 15px);
3694     max-width: calc(20% - 15px);
3695     flex: 0 0 calc(20% - 15px);
3696   }
3697 
3698   .purchase-button {
3699     width: 100%;
3700     padding: 0; 
3701     margin: 0;
3702   }
3703 
3704   .sectionPurchaseBoard .purchase-button {
3705     margin-top: 0 !important;
3706   }
3707 
3708   .back-purchase-button, .back-spotify {
3709       width: 139px;
3710       border: 1px solid;
3711       height: 43px;
3712   }
3713   .purchase-button .btn {
3714     width: 297px;
3715     height: 43px;
3716     background-color: #ffffff;
3717     color: #ffffff;
3718   }
3719   .purchase-button .btn[disabled] {
3720     background-color: #EEEEEE;
3721   }
3722   .back-purchase-button svg, .back-spotify svg {
3723     align-self: center;
3724     vertical-align: middle;
3725     margin-right: 10px;
3726   }
3727 
3728   #purchaseProduct .row .error {
3729     font-size: 12px !important;
3730     color: orange;
3731     margin-top: 5px;
3732   }
3733 
3734   .reviewCardPurchase {
3735     max-width: 448px;
3736     float: right;
3737   }
3738 
3739   .addonsPurchase .addon-item {display: flex;justify-content: space-between;}
3740   .addon-item * {align-self: center;font-size: 12px;}
3741   .addon-itm-title {width: 360px;}
3742   .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;}
3743 
3744   .propsAddonSpotify p {
3745     margin: 0;
3746     display: flex;
3747     font-size: 12px !important;
3748     margin-bottom: 5px;
3749   }
3750   .propsAddonSpotify p span:first-child {
3751     text-transform: uppercase;
3752     font-weight: 600;
3753     -ms-flex: 0 0 150px;
3754     flex: 0 0 150px;
3755     max-width: 150px;
3756   }
3757 
3758   .addonsPurchase .addons {
3759     max-height: 250px;
3760     overflow: auto;
3761   }
3762 
3763   .btn .loading:after {
3764     content: "";
3765     display: inline-block;
3766     width: 20px;
3767     height: 20px;
3768     padding: 3px;
3769     aspect-ratio: 1;
3770     border-radius: 50%;
3771     background: #FFFFFF;
3772     --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box;
3773     -webkit-mask: var(--_m);
3774     mask: var(--_m);
3775     -webkit-mask-composite: source-out;
3776     mask-composite: subtract;
3777     animation: l3 1s infinite linear;
3778     margin: auto;
3779     vertical-align: middle;
3780     margin-left: 10px;
3781   }
3782 
3783   #qrcode img, #qrcode canvas {
3784     width: 50px;
3785     position: absolute;
3786     top: 12px;
3787     left: 16px;
3788   }
3789 
3790   .t-preview {
3791     position: absolute;
3792     top: 17px;
3793     left: 75px;
3794   }
3795   .t-preview p {
3796     margin: 0;
3797     font-size: 12px !important;
3798   }
3799   .t-preview .h3 {
3800     font-size: 16px !important;
3801     margin-bottom: 5px;
3802     font-weight: 600;
3803   }
3804   .scanCard {
3805     width: 100%;
3806     border: 1px solid;
3807     height: 76px;
3808     background-color: #fff;
3809   }
3810   .scanCard > div > img {
3811     position: absolute;
3812     right: 0;
3813     width: 55px;
3814   }
3815 
3816   @keyframes l3 {
3817     100% {
3818       transform: rotate(1turn);
3819     }
3820   }
3821 
3822   @media (min-width: 991px) {
3823     .sectionPurchase {
3824       height: 100%;
3825       position: relative;
3826       max-width: 1344px;
3827       background-color: #fff;
3828       top: 50%;
3829       left: 50%;
3830       transform: translate(-50%, -50%);
3831     }
3832     .headerPurchase h3 {
3833       font-size: 20px;
3834     }
3835     .purchaseArea h4 {
3836       font-size: 16px;
3837     }
3838 
3839     .menuPurchase ul li {
3840         font-size: 16px;
3841     }
3842     
3843     .contentPurchase {
3844       margin-bottom: 30px;
3845     }
3846     .contentPurchase h5 {
3847       font-size: 16px;
3848     }
3849 
3850     .item-cards .item-card p,
3851     .item-addons .item-addon p {
3852       font-size: 16px !important;
3853     }
3854 
3855     .cards {
3856       float: right;
3857       width: 400px;
3858     }
3859 
3860     .item-cards .item-card {
3861       width: calc(25% - 30px);
3862       max-width: calc(25% - 30px);
3863       flex: 0 0 calc(25% - 30px);
3864     }
3865 
3866       #itemAddons .item-card {
3867         position: relative;
3868         width: calc(16% - 40px);
3869         max-width: calc(16% - 40px);
3870         flex: 0 0 calc(16% - 40px);
3871       }
3872       
3873     .purchase-button-wrapper {
3874         padding: 10px 20px;
3875     }
3876   }
3877 
3878   @media (max-width: 1200px) {
3879     .item-cards .item-card {
3880       width: calc(33% - 30px);
3881       max-width: calc(33% - 30px);
3882       flex: 0 0 calc(33% - 30px);
3883     }
3884   }
3885 
3886   @media (max-width: 992px) {
3887     .purchasePopup {
3888       padding: 0;
3889     }
3890     .item-cards .item-card h5,
3891     .item-addons .item-addon h5 {
3892       max-height: 30px;
3893     }
3894 
3895     .back-purchase-button, .back-spotify, .next-purchase-button {
3896         width: 100%;
3897     }
3898     .addon-itm-title {
3899       width: 300px;
3900     }
3901     .addon-itm-line-price {
3902       margin-right: 10px;
3903     }
3904     .t-preview {
3905       top: 10px;
3906     }
3907 
3908     .card-qty a {
3909       height: 15px;
3910     }
3911     
3912     .purchase-button-wrapper {
3913       padding: 15px;
3914     }
3915   }
3916 
3917   @media (max-width: 576px) {
3918     .purchase-button .btn {
3919         width: 100%!important;
3920     }
3921     .purchase-button > .col-12 {
3922       padding-left: 0;
3923       padding-right: 0;
3924     }
3925   }
3926 </style>
3927 
3928 
3929 <div class="purchasePopup">
3930   <div class="purchaseArea">
3931     
3932       <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard">
3933         <div class="wrapperPurchase">
3934           <div class="purchase-content">
3935             <div class="headerPurchase">
3936   <h3 class="text-uppercase">
3937     
3938       customize your flower board
3939     
3940   </h3>
3941   <a class="close-purchase-popup">
3942   <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
3943     <path d="M1.53287 17.4107L0.588867 16.4667L8.05553 9.00002L0.588867 1.53336L1.53287 0.589355L8.99953 8.05602L16.4662 0.589355L17.4102 1.53336L9.94353 9.00002L17.4102 16.4667L16.4662 17.4107L8.99953 9.94402L1.53287 17.4107Z" fill="black"/>
3944   </svg>
3945 </a>
3946 
3947 </div>
3948 <div class="contentPurchase">
3949   <div class="row">
3950     
3951       <div class="col-12">
3952         
3953 
3954 <style>
3955   
3956   
3957   .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;}
3958   .customize-papan .input-field textarea {width: 100%;max-width: 421px;min-height: 150px;font-weight: 400;font-size: 16px;resize: none;background-color: #E5E5EA;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;color: #ffffff;border: none;}
3959   
3960   .customize-papan .field-papan.group-field-2 .input-field.field-logo {height: 90px;margin: 0;border-radius: 0;position: relative;-ms-flex: 0 0 174px;flex: 0 0 174px;max-width: 174px;}
3961   .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;}
3962   .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;}
3963   .svgLogoPapan p {color: #8E8E93; margin: 0;}
3964   .svgLogoPapan p span {font-size: 12px;color: #FF0E00;}
3965   .customize-papan .btn-upload-papan img {margin: auto;display: block;position: absolute;width: 80px;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;}
3966   #suggest-messages {position: absolute;bottom: 5px;left: 5px;}
3967   #suggest-messages a {border: 1px solid #979797;background: #fff;color: #979797;border-radius: 3px;padding: 5px 10px;font-size: 10px;font-weight: 600;display: inline-block;}
3968   .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;}
3969   .customize-papan .input-field input {font-weight: 600;font-size: 16px;width: 100%;height: 90px;min-height: 44px !important;border: none;background: #E5E5EA;margin: 0;border-radius: 0;text-align: center;color: #ffffff;}
3970   .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;}
3971 
3972   @media (min-width: 991px) {
3973     .customize-papan:before {content: "";position: absolute;border: 4px solid #ffffff;bottom: -50px;left: 210px;width: 100px;display: block;-ms-transform: rotate(60deg);-webkit-transform: rotate(60deg);transform: rotate(-65deg);}
3974     .customize-papan:after {content: "";position: absolute;border: 4px solid #ffffff;bottom: -52px;right: 240px;width: 100px;display: block;-ms-transform: rotate(-120deg);-webkit-transform: rotate(70deg);transform: rotate(70deg);}
3975   }
3976 </style>
3977 
3978 <input type="hidden" data-properties="penerima" value="-">
3979 <div class="customize-papan">
3980   <div class="container">
3981     <div class="field-papan group-field-1 form-group">
3982       <div class="input-field">
3983         <textarea id="kartu-ucapan-papan" class="mb-0  has-limit" type="text" data-properties="ucapan" placeholder="Write the message you want to display. Or you can use several options from the message templates that we provide.
3984 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea>
3985         <p class="limit">0/100</p>
3986         <div id="suggest-messages">
3987           <a id="show_note_papan1" href="https://snooglestore.com/">
3988             <div class="suggest-message" id="note_btn_div1">
3989               <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span>
3990             </div>
3991           </a>
3992           <a id="show_note_papan2" href="https://snooglestore.com/">
3993             <div class="suggest-message" id="note_btn_div2">
3994               <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span>
3995             </div>
3996           </a>
3997           <a id="show_note_papan3" href="https://snooglestore.com/">
3998             <div class="suggest-message" id="note_btn_div3">
3999               <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span>
4000             </div>
4001           </a>
4002         </div>
4003       </div>
4004     </div>
4005     <div class="hide">
4006       <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;">
4007       <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1">
4008     </div>
4009     <div class="hide">
4010       <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;">
4011       <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2">
4012     </div>
4013     <div class="hide">
4014       <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;">
4015       <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3">
4016     </div>
4017     <div class="field-papan group-field-2 form-group">
4018       
4019       <label for="logoPapan" onclick="" class="input-field field-logo">
4020         
4021         
4022         
4023         <div class="btn-upload-papan w-100">
4024           <?xml version="1.0" encoding="UTF-8"?>
4025           <img src="" style="display:none">
4026           <div class="svgLogoPapan">
4027             <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="22" height="26" viewBox="0 0 22 26" fill="none">
4028               <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/>
4029             </svg>
4030             <p>Upload Logo <span>*optional</span></p>
4031           </div>
4032         </div>
4033         
4034       </label>
4035       
4036       <input
4037         type="hidden"
4038         data-properties="papan-logo"
4039         value=""
4040       >
4041       <input
4042         type="file"
4043         id="logoPapan"
4044         accept="image/*"
4045         style="position: absolute;width: 1px;height: 1px;padding: 0"
4046       >
4047       
4048       <div class="input-field">
4049         <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/>
4050         <p class="limit">0/35</p>
4051       </div>
4052       
4053     </div>
4054     
4055   </div>
4056 </div>
4057       </div>
4058     
4059   </div>
4060 </div>
4061 
4062           </div>
4063           <div class="purchase-button-wrapper">
4064             <div class="purchase-button btn-card row m-0">
4065   <div class="col-12 col-lg-2 text-left mb-2 p-0">
4066     
4067   </div>
4068   <div class="btn-next-card col-12 col-lg-10 text-right">
4069     
4070     
4071     <button
4072       
4073         
4074       
4075       class="btn next-purchase-button text-uppercase"
4076       
4077         disabled
4078       
4079     >
4080       <span>save your flower board</span>
4081     </button>
4082   </div>
4083 </div>
4084 
4085           </div>
4086         </div>
4087       </div>
4088     
4089     
4090     
4091       <div
4092         class="sectionPurchase sectionPurchaseBoard hide"
4093         data-section="address"
4094       >
4095         <div class="wrapperPurchase">
4096           <div class="purchase-content">
4097             <div class="headerPurchase">
4098   <h3>
4099     Complete Your Order
4100   </h3>
4101   <a class="close-purchase-popup">
4102   <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
4103     <path d="M1.53287 17.4107L0.588867 16.4667L8.05553 9.00002L0.588867 1.53336L1.53287 0.589355L8.99953 8.05602L16.4662 0.589355L17.4102 1.53336L9.94353 9.00002L17.4102 16.4667L16.4662 17.4107L8.99953 9.94402L1.53287 17.4107Z" fill="black"/>
4104   </svg>
4105 </a>
4106 
4107 </div>
4108 <div class="contentPurchase">
4109   <div class="row">
4110     <div class="col-12 position-relative">
4111       <div class="addressPurchase">
4112         
4113           <h4 class="text-uppercase">recipient delivery address</h4>
4114           <p>Share the delivery address to send your heartfelt blooms straight to their door.</p>
4115         
4116         <div class="formAddressPurchase row">
4117           <div class="col-12">
4118             <form>
4119               <div class="form-group row mb-2 mb-lg-4">
4120                 <div class="col-6 position-relative">
4121                   <input id="first_name" type="text" class="form-control input__field" placeholder="" required>
4122                   <label for="first_name" class="input__label">First Name<span>*</span></label>
4123                 </div>
4124                 <div class="col-6 position-relative">
4125                   <input id="last_name" type="text" class="form-control input__field" placeholder="" required>
4126                   <label for="last_name" class="input__label">Last Name<span>*</span></label>
4127                 </div>
4128                 <input type="hidden" data-properties="nama-penerima">
4129               </div>
4130               
4131                 <h4 class="text-uppercase">how you want to input your address</h4>
4132                 <div class="form-group row mb-2 mb-lg-4 form-address-upload">
4133                   <div class="col-6 position-relative">
4134                     <label class="address-manualy">
4135                       <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="18" height="17" viewBox="0 0 18 17" fill="none">
4136   <path d="M3.37484 1.83329C2.79984 1.83329 2.33317 2.29996 2.33317 2.87496V5.16663C2.33317 5.38764 2.24537 5.5996 2.08909 5.75588C1.93281 5.91216 1.72085 5.99996 1.49984 5.99996C1.27882 5.99996 1.06686 5.9
41361216 0.910582 5.75588C0.754301 5.5996 0.666504 5.38764 0.666504 5.16663V2.87496C0.666504 2.15666 0.951845 1.46779 1.45976 0.959878C1.96767 0.451967 2.65654 0.166626 3.37484 0.166626H5.6665C5.88752 0.166626 6.09948 0.254423 6.25576 0.410704C6.41204 0.566984 6.49984 0.778946 6.49984 0.999959C6.49984 1.22097 6.41204 1.43293 6.25576 1.58921C6.09948 1.7455 5.88752 1.83329 5.6665 1.83329H3.37484ZM3.37484 15.1666C2.79984 15.1666 2.33317 14.7 2.33317 14.125V11.8333C2.33317 11.6123 2.24537 11.4003 2.08909 11.244C1.93281 11.0878 1.72085 11 1.49984 11C1.27882 11 1.06686 11.0878 0.910582 11.244C0.754301 11.4003 0.666504 11.6123 0.666504 11.8333V14.125C0.666504 14.4806 0.736557 14.8328 0.872663 15.1614C1.00877 15.49 1.20826 15.7885 1.45976 16.04C1.71125 16.2915 2.00981 16.491 2.3384 16.6271C2.66699 16.7632 3.01917 16.8333 3.37484 16.8333H5.6665C5.88752 16.8333 6.09948 16.7455 6.25576 16.5892C6.41204 16.4329 6.49984 16.221 6.49984 16C6.49984 15.7789 6.41204 15.567 6.25576 15.4107C6.09948 15.2544 5.88752 15.1666 5.6665 15.1666H3.37484ZM15.6665 2.87496C15.6665 2.29996 15.1998 1.83329 14.6248 1.83329H12.3332C12.1122 1.83329 11.9002 1.7455 11.7439 1.58921C11.5876 1.43293 11.4998 1.22097 11.4998 0.999959C11.4998 0.778946 11.5876 0.566984 11.7439 0.410704C11.9002 0.254423 12.1122 0.166626 12.3332 0.166626H14.6248C14.9805 0.166626 15.3327 0.236679 15.6613 0.372786C15.9899 0.508892 16.2884 0.708386 16.5399 0.959878C16.7914 1.21137 16.9909 1.50994 17.127 1.83853C17.2631 2.16712 17.3332 2.5193 17.3332 2.87496V5.16663C17.3332 5.38764 17.2454 5.5996 17.0891 5.75588C16.9328 5.91216 16.7208 5.99996 16.4998 5.99996C16.2788 5.99996 16.0669 5.91216 15.9106 5.75588C15.7543 5.5996 15.6665 5.38764 15.6665 5.16663V2.87496ZM14.6248 15.1666C15.1998 15.1666 15.6665 14.7 15.6665 14.125V11.8333C15.666
41365 11.6123 15.7543 11.4003 15.9106 11.244C16.0669 11.0878 16.2788 11 16.4998 11C16.7208 11 16.9328 11.0878 17.0891 11.244C17.2454 11.4003 17.3332 11.6123 17.3332 11.8333V14.125C17.3332 14.4806 17.2631 14.8328 17.127 15.1614C16.9909 15.49 16.7914 15.7885 16.5399 16.04C16.2884 16.2915 15.9899 16.491 15.6613 16.6271C15.3327 16.7632 14.9805 16.8333 14.6248 16.8333H12.3332C12.1122 16.8333 11.9002 16.7455 11.7439 16.5892C11.5876 16.4329 11.4998 16.221 11.4998 16C11.4998 15.7789 11.5876 15.567 11.7439 15.4107C11.9002 15.2544 12.1122 15.1666 12.3332 15.1666H14.6248ZM4.62484 5.16663C4.62484 4.94561 4.71263 4.73365 4.86892 4.57737C5.0252 4.42109 5.23716 4.33329 5.45817 4.33329H12.5415C12.7625 4.33329 12.9745 4.42109 13.1308 4.57737C13.287 4.73365 13.3748 4.94561 13.3748 5.16663V6.41663C13.3748 6.63764 13.287 6.8496 13.1308 7.00588C12.9745 7.16216 12.7625 7.24996 12.5415 7.24996C12.3205 7.24996 12.1085 7.16216 11.9522 7.00588C11.796 6.8496 11.7082 6.63764 11.7082 6.41663V5.99996H9.83317V11H10.8748C11.0959 11 11.3078 11.0878 11.4641 11.244C11.6204 11.4003 11.7082 11.6123 11.7082 11.8333C11.7082 12.0543 11.6204 12.2663 11.4641 12.4225C11.3078 12.5788 11.0959 12.6666 10.8748 12.6666H7.12484C6.90382 12.6666 6.69186 12.5788 6.53558 12.4225C6.3793 12.2663 6.2915 12.0543 6.2915 11.8333C6.2915 11.6123 6.3793 11.4003 6.53558 11.244C6.69186 11.0878 6.90382 11 7.12484 11H8.1665V5.99996H6.2915V6.41663C6.2915 6.63764 6.20371 6.8496 6.04743 7.00588C5.89115 7.16216 5.67918 7.24996 5.45817 7.24996C5.23716 7.24996 5.0252 7.16216 4.86892 7.00588C4.71263 6.8496 4.62484 6.63764 4.62484 6.41663V5.16663Z" fill="black"/>
4137 </svg>
4138 <span>Input Address Manually</span>
4139                     </label>
4140                   </div>
4141                   <div class="col-6 position-relative">
4142                     <label for="address-upload" class="address-upload">
4143                       <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="12" height="13" viewBox="0 0 12 13" fill="none">
4144   <path d="M5.58317 9.48079V2.27246L3.6415 4.21413L3.0515 3.61579L5.99984 0.666626L8.949 3.61579L8.359 4.21496L6.4165 2.27246V9.48079H5.58317ZM1.51317 12.3333C1.12928 12.3333 0.809004 12.205 0.552337 11.9483C0.29567 11.6916 0.167059 11.3711 0.166504 10.9866V8.96746H0.999837V10.9866C0.999837 11.115 1.05317 11.2327 1.15984 11.34C1.2665 11.4472 1.384 11.5005 1.51234 11.5H10.4873C10.6151 11.5 10.7326 11.4466 10.8398 11.34C10.9471 11.2333 11.0004 11.1155 10.9998 10.9866V8.96746H11.8332V10.9866C11.8332 11.3705 11.7048 11.6908 11.4482 11.9475C11.1915 12.2041 10.8709 12.3327 10.4865 12.3333H1.51317Z" fill="black"/>
4145 </svg>
4146 <span>Upload Address Picture</span>
4147                     </label>
4148                     <input
4149                       id="address-upload"
4150                       type="file"
4151                       accept="image/png, image/jpeg"
4152                       style="position: absolute; padding: 0;width: 1px;height: 1px"
4153                     >
4154                     <input type="hidden" class="props-address-upload" data-properties="foto-alamat">
4155                   </div>
4156                 </div>
4157                 <img width="150" height="" src="" class="photo-address" style="display: none;">
4158               
4159               <div class="form-group row position-relative mb-2 mb-lg-4 form-address">
4160                 <div class="col-12">
4161                   <textarea
4162                     id="delivery_address"
4163                     data-properties="alamat-penerima"
4164                     class="form-control input__field col-12"
4165                     placeholder=""
4166                     required
4167                   ></textarea>
4168                   <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label>
4169                   
4170                 </div>
4171               </div>
4172               <div class="form-group row mb-2 mb-lg-4 form-address">
4173                 <div class="col-6 position-relative">
4174                   <input
4175                     id="recipient_number"
4176                     type="text"
4177                     data-properties="telepon-penerima"
4178                     class="form-control input__field"
4179                     placeholder=""
4180                     required
4181                   >
4182                   <label for="recipient_number" class="input__label">Recipient number<span>*</span></label>
4183                 </div>
4184                 <div class="col-6 position-relative">
4185                   <input
4186                     id="company"
4187                     type="text"
4188                     data-properties="company"
4189                     class="form-control input__field"
4190                     placeholder=""
4191                   >
4192                   <label for="company" class="input__label">Company (Optional)</label>
4193                 </div>
4194               </div>
4195               <div class="form-group row mb-2 mb-lg-4 form-address">
4196                 <div class="col-6 position-relative">
4197                   <input
4198                     id="province"
4199                     type="text"
4200                     class="form-control input__field"
4201                     placeholder=""
4202                     value="Jakarta"
4203                     data-properties="province"
4204                   >
4205                   <label for="province" class="input__label">Province</label>
4206                 </div>
4207                 <div class="col-6 position-relative">
4208                   <select id="zip" class="form-control select-search" required></select>
4209                 </div>
4210               </div>
4211             </form>
4212           </div>
4213         </div>
4214       </div>
4215       <div class="addonsPurchase">
4216         <h4 class="text-uppercase">add-ons</h4>
4217         <div class="addons">
4218           <p>No Add-Ons</p>
4219           <!--
4220             <button class="add-addon">
4221               <svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="12" height="12" viewBox="0 0 12 12" fill="none">
4222                 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/>
4223               </svg>
4224               <span>Enhance my moment with Add-ons</span>
4225             </button>
4226           -->
4227         </div>
4228       </div>
4229     </div>
4230     
4231   </div>
4232 </div>
4233 
4234 
4234<script>
4235 document.addEventListener('DOMContentLoaded', function() {
4236   // Detect iOS
4237   var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
4238   
4239   if (isIOS) {
4240     document.querySelector('.formAddressPurchase').classList.add('ios');
4241     
4242     // iOS specific fixes
4243     var inputs = document.querySelectorAll('.formAddressPurchase .input__field');
4244     
4245     inputs.forEach(function(input) {
4246       // Force enable touch events on iOS
4247       input.style.webkitUserSelect = 'text';
4248       input.style.webkitTouchCallout = 'default';
4249       input.style.pointerEvents = 'auto';
4250       input.style.touchAction = 'manipulation';
4251       
4252       // Add explicit touch event listeners for iOS
4253       input.addEventListener('touchstart', function(e) {
4254         e.stopPropagation();
4255         this.focus();
4256       }, { passive: false });
4257       
4258       input.addEventListener('touchend', function(e) {
4259         e.preventDefault();
4260         e.stopPropagation();
4261         this.focus();
4262         this.click();
4263       }, { passive: false });
4264       
4265       // Force focus on tap for iOS
4266       input.addEventListener('click', function(e) {
4267         e.stopPropagation();
4268         if (document.activeElement !== this) {
4269           this.focus();
4270         }
4271       });
4272     });
4273     
4274     // Fix for label overlapping on iOS
4275     var labels = document.querySelectorAll('.formAddressPurchase .input__label');
4276     labels.forEach(function(label) {
4277       label.style.pointerEvents = 'none';
4278       label.addEventListener('touchstart', function(e) {
4279         e.preventDefault();
4280         var input = this.parentNode.querySelector('.input__field');
4281         if (input) {
4282           input.focus();
4283         }
4284       });
4285     });
4286   }
4287   
4288   // Handle input state for all browsers, especially iOS
4289   var inputs = document.querySelectorAll('.input__field');
4290   
4291   inputs.forEach(function(input) {
4292     // Handle input events
4293     input.addEventListener('input', function() {
4294       if (this.value.trim() !== '') {
4295         this.classList.add('has-value');
4296       } else {
4297         this.classList.remove('has-value');
4298       }
4299     });
4300     
4301     // Handle focus
4302     input.addEventListener('focus', function() {
4303       this.classList.add('focused');
4304       // iOS specific: ensure input is visible
4305       if (isIOS) {
4306         setTimeout(function() {
4307           input.scrollIntoView({ behavior: 'smooth', block: 'center' });
4308         }, 300);
4309       }
4310     });
4311     
4312     // Handle blur
4313     input.addEventListener('blur', function() {
4314       this.classList.remove('focused');
4315       if (this.value.trim() !== '') {
4316         this.classList.add('has-value');
4317       } else {
4318         this.classList.remove('has-value');
4319       }
4320     });
4321     
4322     // Initial check for pre-filled values
4323     if (input.value.trim() !== '') {
4324       input.classList.add('has-value');
4325     }
4326   });
4327   
4328   // Additional iOS fixes
4329   if (isIOS) {
4330     // Prevent iOS Safari from adding default styling
4331     document.addEventListener('touchstart', function() {}, { passive: true });
4332     
4333     // Fix viewport issues on iOS
4334     var viewport = document.querySelector('meta[name=viewport]');
4335     if (viewport) {
4336       viewport.setAttribute('content', 
4337         'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'
4338       );
4339     }
4340   }
4341 });
4342 </script>
4342
4343           </div>
4344           <div class="purchase-button-wrapper">
4345             <div class="purchase-button btn-address row m-0">
4346   <div class="col-12 col-lg-2 text-left mb-2 p-0">
4347     
4348       <button class="back-purchase-button back-address text-uppercase">
4349         <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png">
4350           <path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z" fill="black"/>
4351         </svg>
4352         <span>Back</span>
4353       </button>
4354     
4355   </div>
4356   <div class="btn-next-card col-12 col-lg-10 text-right">
4357     
4358       <!--
4359         <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0">
4360           <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png">
4361             <path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z" fill="black"/>
4362           </svg>
4363           <span>Back</span>
4364         </button>
4365       -->
4366     
4367     
4368     <button
4369       
4370         id="addtocart-card"
4371       
4372       class="btn  next-address text-uppercase"
4373       
4374     >
4375       <span>add to cart</span>
4376     </button>
4377   </div>
4378 </div>
4379 
4380           </div>
4381         </div>
4382       </div>
4383     
4384   </div>
4385 </div>
4386 <div id="backgroundPopup"></div>
4387 
4388 
4389 
4390 <input
4391   data-index="1"
4392   type="hidden"
4393   id="properties-delivery-date"
4394   name="properties[Delivery Date]"
4395   value="-"
4396 >
4397 <input
4398   data-index="2"
4399   type="hidden"
4400   id="properties-delivery-time"
4401   name="properties[Delivery Time]"
4402   value="-"
4403 >
4404 <input
4405   data-index="4"
4406   type="hidden"
4407   id="properties-nama-penerima"
4408   name="properties[Nama Penerima]"
4409   value="-"
4410 >
4411 <input
4412   data-index="5"
4413   type="hidden"
4414   id="properties-alamat-penerima"
4415   name="properties[Alamat Penerima]"
4416   value="-"
4417 >
4418 <input
4419   data-index="6"
4420   type="hidden"
4421   id="properties-kodepos"
4422   name="properties[Kodepos]"
4423   value="-"
4424 >
4425 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]">
4426 
4427   
4428     <input
4429       data-index="8"
4430       type="hidden"
4431       id="properties-kartu-nama-penerima"
4432       name="properties[Kartu Nama Penerima]"
4433       value="-"
4434     >
4435   
4436   <textarea
4437     data-index="9"
4438     type="hidden"
4439     id="properties-kartu-pesan"
4440     name="properties[Kartu Pesan]"
4441     style="display: none"
4442   >-</textarea>
4443 
4444 
4445 
4446   <input
4447     data-index="10"
4448     type="hidden"
4449     id="properties-kartu-nama-pengirim"
4450     name="properties[Kartu Nama Pengirim]"
4451     value="-"
4452   >
4453 
4454 
4455 
4456   
4457   
4458 
4459 
4460 
4461 
4462 
4463 
4464 
4465 
4466 
4467 
4468 
4469 
4470 
4471 <!-- Additional Shipping -->
4472 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]">
4473 <input
4474   type="hidden"
4475   id="properties-kota-pengiriman-country"
4476   name="properties[Country]"
4477   value="Indonesia"
4478 >
4479 <input type="hidden" id="properties-shipping" name="properties[Shipping]">
4480 
4481 <input type="hidden" id="properties-time" name="properties[Time]">
4482 <input type="hidden" id="properties-card" name="properties[Card]">
4483 <input type="hidden" id="properties-addons" name="properties[Addons]">
4484 
4485 <input
4486   type="hidden"
4487   id="properties-company"
4488   name="properties[Company]"
4489   value=""
4490 >
4491 
4491<script>
4492   
4493   $(document).ready(function(){
4494     
4495     var text_max_papan1=150;
4496     var msg_text_papan1="";
4497     $('#kartu-ucapan-ucapan').keyup(function(){
4498       var text_length_papan1=$('#kartu-ucapan-ucapan').val().length;
4499       var msg_text_papan1=$('#kartu-ucapan-ucapan').val();
4500     });
4501 
4502     var notes_papan1 = [
4503       
4504       [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."]
4505       
4506     ];
4507     $('#show_note_papan1').click(function(event){
4508       event.preventDefault();
4509       var idx_papan1=parseInt($('#note_id_papan1').val());
4510       if(isNaN(idx_papan1)){
4511         idx_papan1=0;
4512       }else{
4513         idx_papan1++;
4514         idx_papan1=idx_papan1%notes_papan1.length;
4515       }
4516       var note_papan1=notes_papan1[idx_papan1][1];
4517       $('#note_id_papan1').val(idx_papan1);
4518       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1);
4519       $('#msgDelivery').val(note_papan1);
4520 
4521       var text_length_papan1=$('#kartu-ucapan-papan').val().length;
4522       var idx_2_papan1=parseInt($('#note_btn_id_papan1').val());
4523       if(isNaN(idx_2_papan1)){
4524         idx_2_papan1=0;
4525       }else{
4526         idx_2_papan1++;
4527         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4528       }
4529       $('#note_btn_id_papan1').val(idx_2_papan1);
4530       //var note_btn=note_btn_text[idx_2][1];
4531       //$('#note_btn').text(note_btn);
4532     });
4533 
4534     var text_max_papan2=150;
4535     var msg_text_papan2="";
4536     $('#kartu-ucapan-ucapan').keyup(function(){
4537       var text_length_papan2=$('#kartu-ucapan-ucapan').val().length;
4538       var msg_text_papan2=$('#kartu-ucapan-ucapan').val();
4539     });
4540 
4541     var notes_papan2 = [
4542       
4543       [0,"Congratulations (ucapan)."], [1,"Selamat dan sukses atas dibukanya (ucapan personal)."],[2,"Congratulations for the grand opening of (nama toko/bisnis)."],[3,"Happy Graduation (nama)."]
4544       
4545     ];
4546     $('#show_note_papan2').click(function(event){
4547       event.preventDefault();
4548       var idx_papan2=parseInt($('#note_id_papan2').val());
4549       if(isNaN(idx_papan2)){
4550         idx_papan2=0;
4551       }else{
4552         idx_papan2++;
4553         idx_papan2=idx_papan2%notes_papan2.length;
4554       }
4555       var note_papan2=notes_papan2[idx_papan2][1];
4556       $('#note_id_papan2').val(idx_papan2);
4557       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2);
4558       $('#msgDelivery').val(note_papan2);
4559       var text_length_papan2=$('#kartu-ucapan-papan').val().length;
4560       var idx_2_papan2=parseInt($('#note_btn_id_papan2').val());
4561       if(isNaN(idx_2_papan2)){
4562         idx_2_papan2=0;
4563       }else{
4564         idx_2_papan2++;
4565         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4566       }
4567       $('#note_btn_id_papan2').val(idx_2_papan2);
4568       //var note_btn=note_btn_text[idx_2][1];
4569       //$('#note_btn').text(note_btn);
4570     });
4571 
4572     var text_max_papan3=150;
4573     var msg_text_papan3="";
4574     $('#kartu-ucapan-ucapan').keyup(function(){
4575       var text_length_papan3=$('#kartu-ucapan-ucapan').val().length;
4576       var msg_text_papan3=$('#kartu-ucapan-ucapan').val();
4577     });
4578 
4579     var notes_papan3 = [
4580       
4581       [0,"Turut Berduka Cita atas meninggalnya almarhum / almarhumah (Nama)."], [1,"Our Deepest Condolences for the lost of your beloved Father/ Mother/ Husband/ Wife/ Children."], [2,"Our Deepest Sympathy for the lost of your beloved Father/ Mother/ Husband/ Wife/ Children."], [3,"Innalillahi wa innailaihi rojiun, Turut berduka cita atas meninggalnya (nama)."]
4582       
4583     ];
4584     $('#show_note_papan3').click(function(event){
4585       event.preventDefault();
4586       var idx_papan3=parseInt($('#note_id_papan3').val());
4587       if(isNaN(idx_papan3)){
4588         idx_papan3=0;
4589       }else{
4590         idx_papan3++;
4591         idx_papan3=idx_papan3%notes_papan3.length;
4592       }
4593       var note_papan3=notes_papan3[idx_papan3][1];
4594       $('#note_id_papan3').val(idx_papan3);
4595       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3);
4596       $('#msgDelivery').val(note_papan3);
4597       var text_length_papan3=$('#kartu-ucapan-papan').val().length;
4598       var idx_2_papan3=parseInt($('#note_btn_id_papan3').val());
4599       if(isNaN(idx_2_papan3)){
4600         idx_2_papan3=0;
4601       }else{
4602         idx_2_papan3++;
4603         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4604       }
4605       $('#note_btn_id_papan3').val(idx_2_papan3);
4606       //var note_btn=note_btn_text[idx_2][1];
4607       //$('#note_btn').text(note_btn);
4608     });
4609 
4610     var text_max_papan4=150;
4611     var msg_text_papan4="";
4612     $('#kartu-ucapan-ucapan').keyup(function(){
4613       var text_length_papan4=$('#kartu-ucapan-ucapan').val().length;
4614       var msg_text_papan4=$('#kartu-ucapan-ucapan').val();
4615     });
4616 
4617     $('#show_note_papan4').click(function(event){
4618       var notes_papan4 = [
4619         [0,"Here’s to you—steadier, stronger and better every day."],
4620         [1,"Warmest wishes for a speedy recovery!"],
4621         [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."],
4622         [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."]
4623       ];
4624       event.preventDefault();
4625       var idx_papan4=parseInt($('#note_id_papan4').val());
4626       console.log(idx_papan4, 'idx_papan4')
4627       if(isNaN(idx_papan4)){
4628         idx_papan4=0;
4629       }else{
4630         idx_papan4++;
4631         idx_papan4=idx_papan4%notes_papan4.length;
4632       }
4633       var note_papan4=notes_papan4[idx_papan4][1];
4634       $('#note_id_papan4').val(idx_papan4);
4635       $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4);
4636       console.log(note_papan4, 'note_papan4')
4637       var text_length_papan4=$('#kartu-ucapan-papan').val().length;
4638       var idx_2_papan4=parseInt($('#note_btn_id_papan4').val());
4639       if(isNaN(idx_2_papan4)){
4640         idx_2_papan4=0;
4641       }else{
4642         idx_2_papan4++;
4643         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4644       }
4645       $('#note_btn_id_papan4').val(idx_2_papan4);
4646     });
4647 
4648     /*
4649     $("#jenisPapan").change(function(){
4650       $( "select option:selected").each(function(){
4651         if($(this).attr("value")=="Happy Wedding"){
4652           $("#suggest-messages a").hide();
4653           $("#show_note_papan1").show();
4654           $("#kartu-ucapan-papan").val("");
4655         }
4656         if($(this).attr("value")=="Congratulations"){
4657           $("#suggest-messages a").hide();
4658           $("#show_note_papan2").show();
4659           $("#kartu-ucapan-papan").val("");
4660         }
4661         if($(this).attr("value")=="Duka Cita"){
4662           $("#suggest-messages a").hide();
4663           $("#show_note_papan3").show();
4664           $("#kartu-ucapan-papan").val("");
4665         }
4666       });
4667     }).change();
4668     */
4669 
4670     
4671 
4672     
4673 
4674     $(".variant-metafield").each(function(){
4675       const t = $(this)
4676       const id = t.attr("id")
4677       const target = $(`[data-select=${id}]`)
4678       t.on('select2:selecting', function(e) {
4679         const data = e.params.args.data
4680         target.val(data.text)
4681       });
4682     })
4683   })
4684 </script>
4684
4685 
4685<script>
4686   const shareButton = document.getElementById('shareButton');
4687 
4688   shareButton.addEventListener('click', () => {
4689     if (navigator.share) {
4690       navigator.share({
4691         title: "BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi",
4692         url: "/products/blossom-shine",
4693         text: 'Check out this page!'
4694       })
4695       .then(() => console.log('Successful share'))
4696       .catch((error) => console.log('Error sharing', error));
4697     } else {
4698       alert('Web Share API is not supported in this browser.');
4699     }
4700   });
4701 
4702   // Inventory validation function
4703   function checkInventoryStatus() {
4704     const productSelect = document.getElementById('productSelect');
4705     const purchaseButton = document.querySelector('#personalizeBtn button');
4706     
4707     if (!productSelect || !purchaseButton) return;
4708 
4709     const selectedVariantId = productSelect.value;
4710     
4711     // Get variant data from Shopify
4712     fetch(`/products/blossom-shine.js`)
4713       .then(response => response.json())
4714       .then(product => {
4715         const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId);
4716         
4717         if (selectedVariant) {
4718           const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 
4719                                selectedVariant.inventory_management === 'shopify' && 
4720                                selectedVariant.inventory_policy !== 'continue';
4721           
4722           if (isOutOfStock) {
4723             purchaseButton.disabled = true;
4724             purchaseButton.textContent = 'Out of Stock';
4725             purchaseButton.setAttribute('data-out-of-stock', 'true');
4726             purchaseButton.style.backgroundColor = '#cccccc';
4727             purchaseButton.style.cursor = 'not-allowed';
4728           } else {
4729             // Check if button was disabled due to other conditions
4730             
4731             
4732             
4733             
4734             
4735             
4736             
4737             
4738             const isOtherDisabled = false || true || false;
4739             
4740             if (!isOtherDisabled) {
4741               purchaseButton.disabled = false;
4742               purchaseButton.textContent = 'customize your flower board';
4743               purchaseButton.removeAttribute('data-out-of-stock');
4744               purchaseButton.style.backgroundColor = '';
4745               purchaseButton.style.cursor = '';
4746             }
4747           }
4748         }
4749       })
4750       .catch(error => {
4751         console.error('Error checking inventory:', error);
4752       });
4753   }
4754 
4755   // Check inventory on page load
4756   document.addEventListener('DOMContentLoaded', function() {
4757     checkInventoryStatus();
4758     
4759     // Listen for variant changes
4760     const productSelect = document.getElementById('productSelect');
4761     if (productSelect) {
4762       productSelect.addEventListener('change', checkInventoryStatus);
4763     }
4764   });
4765 
4766   // Prevent form submission if out of stock
4767   document.addEventListener('click', function(e) {
4768     if (e.target.matches('button[data-out-of-stock="true"]')) {
4769       e.preventDefault();
4770       e.stopPropagation();
4771       alert('This product is currently out of stock and cannot be purchased.');
4772       return false;
4773     }
4774   });
4775 </script>
4775
4776 
4777 
4778   
4779 </div>
4780 
4781           </div>
4782         </div>
4783       </div>
4784     </div>
4785     <div id="product-bottom">
4786       
4787         <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description">
4788           <div class="container">
4789             
4790 
4791 
4792 
4793 
4794     <div class="short-desc-mobile d-block d-lg-none mb-3">
4795         <div class="short-desc">
4796             <ul>
4797 <li><strong>Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.</strong></li>
4798         </div>
4799         <label class="more-mobile">Show More →</label>
4800     </div>
4801 
4802 <style>
4803 .animated-title {
4804     text-align: center;
4805     font-weight: bold;
4806     color: #079c02;
4807     font-size: 28px;
4808     position: relative;
4809     animation: glow 2s infinite alternate, moveUpDown 3s infinite;
4810 }
4811 
4812 @keyframes glow {
4813     0% { text-shadow: 0 0 5px #079c02; color: #079c02; }
4814     50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; }
4815     100% { text-shadow: 0 0 10px #1bff00; color: #079c02; }
4816 }
4817 
4818 /* Efek gerakan naik turun */
4819 @keyframes moveUpDown {
4820     0% { transform: translateY(0px); }
4821     50% { transform: translateY(-5px); }
4822     100% { transform: translateY(0px); }
4823 }
4824 </style>
4825 
4826 
4826<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4826
4827 
4827<script>
4828   CartJS.init({"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"IDR","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0});
4829 
4830   const productType = $("[data-product-type]").data("product-type")
4831   const productDate = Date.parse(new Date())
4832   
4833   const shop = 'outerbloom1.myshopify.com'
4834   const host = 'https://app.asmaraku.com'
4835   // const host = 'http://localhost:5001'
4836 
4837   const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec"
4838   
4839   const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ')
4840 
4841   $("#properties-time").val(new Date().getTime())
4842 
4843   const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
4844 
4845   if(!isIOS) {
4846     $("#full-date").attr("type", "button")
4847   }
4848 
4849   let dateTime = new Date();
4850   let today = dateTime.getDate();
4851   let day = dateTime.getDay();
4852   let hour = dateTime.getHours();
4853   let min = dateTime.getMinutes();
4854   let timeOfDay = hour + (min / 100);
4855 
4856   async function getFetch(url) {
4857     const response = await fetch(url);
4858     let status = false
4859     let result
4860     if(response.ok) {
4861       status = true
4862       result = await response.json();
4863     }
4864     return {
4865       status,
4866       data: result
4867     }
4868   }
4869 
4870   
4871 
4872   function setCookie(cname, cvalue, exMins) {
4873     var d = new Date();
4874     d.setTime(d.getTime() + (exMins*60*1000));
4875     var expires = "expires="+d.toUTCString();  
4876     document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
4877   }
4878 
4879   function getCookie(cname) {
4880     let name = cname + "=";
4881     let decodedCookie = decodeURIComponent(document.cookie);
4882     let ca = decodedCookie.split(';');
4883     for(let i = 0; i <ca.length; i++) {
4884       let c = ca[i];
4885       while (c.charAt(0) == ' ') {
4886         c = c.substring(1);
4887       }
4888       if (c.indexOf(name) == 0) {
4889         return c.substring(name.length, c.length);
4890       }
4891     }
4892     return "";
4893   }
4894 
4895   async function renderDate() {
4896     let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=9979127912352&v=${Date.now()}`);
4897     console.log(dataDate, 'renderDate')
4898     const data = dataDate?.data
4899     const date = data.date
4900     const time = data.time
4901 
4902     console.log(date, 'DATE')
4903 
4904     const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
4905     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
4906     const htmlDate = []
4907     for(let i = 0;i < date.length;i++) {
4908       const full = date[i].date
4909       const d = new Date(date[i].date);
4910       const day = weekday[d.getDay()];
4911       const dt = d.getDate();
4912       const mt = monthly[d.getMonth()];
4913       const yr = d.getFullYear();
4914       const isDate = Boolean(date[i].isEnabled)
4915       const cutoffpagi = date[i].cutoff?.pagi
4916       const cutoffsiang = date[i].cutoff?.siang
4917       const cutoffMalam = date[i].cutoff?.Malam
4918       var html = `
4919         <button data-id="9979127912352" class="date-single calendarbutton btn steps-btn col col-3 btn-date-time" data-day="${day}" data-fulldate="${full}" data-date="${dt < 10 ? '0' + dt : dt}" data-month="${mt}" data-year="${yr}" data-offpagi="${cutoffpagi}" data-offsiang="${cutoffsiang}" data-offMalam="${cutoffMalam}" ${isDate === true ? '' : 'disabled'}>
4920           ${dt === today ?
4921             `Today<span>${dt < 10 ? '0' + dt : dt}</span>` :
4922             `${day}<span>${dt < 10 ? '0' + dt : dt}</span>`
4923           }
4924         </button>
4925       `
4926       htmlDate.push(html)
4927     }
4928     const htmlTime = []
4929     for(var i = 0;i < time.length;i++) {
4930       const timeText = time[i].text
4931       const timeTime = time[i].time
4932       const timeEnabled = time[i].isEnabled
4933       var html = `
4934           <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button>
4935         `
4936       htmlTime.push(html)
4937     }
4938     const deliveryDate = document.getElementById("deliveryDate");
4939     if(deliveryDate) {
4940       deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join(''))
4941       $("#deliveryTime").html(htmlTime)
4942       if(productType !== '') {
4943         console.log("clarity event " + productType + ' calendaring')
4944         window.clarity("event", `${productType} calendaringSchedule`)
4945         // window.clarity("set", productType, `calendaringSchedule - ${productDate}`)
4946       }
4947     }
4948   }
4949 
4950   async function getProvince(city) {
4951     let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`);
4952     console.log(province, 'province')
4953     $("#province").val(province)
4954   }
4955 
4956   async function renderAddress() {
4957     let current
4958     if(getCookie("location_delivery")){
4959       current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1)
4960     }
4961     let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=9979127912352`);
4962     console.log(address)
4963     const data = address?.data?.city
4964     const htmlAddress = []
4965     const grouping = []
4966     for(let i = 0;i < data?.length;i++) {
4967       if(data[i]){
4968         if(data[i]?.group) {
4969           grouping.push(data[i].group)
4970         }
4971         const price = rupiah.format(data[i]?.rate)
4972         let promo = '(Promo Free Delivery)'
4973         if(data[i]?.name === 'Jakarta - PickUp ASHTA'){
4974           promo = '(at SCBD, Ashta)'
4975         } else if(data[i]?.name === 'Jakarta - PickUp ITC'){
4976           promo = '(at Kuningan, ITC Kuningan)'
4977         } else if(data[i]?.name === 'BSD - PickUp'){
4978           promo = '(at Goldfinch Gading Serpong)'
4979         } else if(data[i]?.name === 'Kota Lainnya'){
4980           promo = ''
4981         }
4982         htmlAddress.push(`<option data-province="${data[i]?.province}" data-city="${data[i]?.city}" data-note="${data[i]?.note}" data-price="${data[i]?.rate}" value="${data[i]?.name}">${data[i]?.name === 'Kota Lainnya' ? 'Seluruh Kota Lain di Indonesia' : data[i]?.name} ${data[i]?.rate > 0 ? `(${price})` : promo}</option>`)
4983       }
4984     }
4985     
4986     const deliveryCity = document.getElementById("cities");
4987     if(deliveryCity) {
4988       deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join(''))
4989       if(!isIOS) {
4990         $(deliveryCity).select2();
4991       }
4992     }
4993   }
4994 
4995   async function renderZip(v, v2, v3) {
4996     const deliveryZip = document.getElementById("zip");
4997     if(v === '') {
4998       return
4999     }
5000     let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`);
5001     let zip = dataZip?.data?.zip
5002     console.log(zip)
5003     let htmlZip = []
5004     for(let i = 0; i < zip?.length;i++) {
5005       htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`)
5006     }
5007     deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join(''))
5008   }
5009 
5010   renderDate()
5011   renderAddress()
5012 
5013   let rupiah = new Intl.NumberFormat('id-ID', {
5014     style: 'currency',
5015     currency: 'IDR',
5016     maximumFractionDigits: 0, 
5017     minimumFractionDigits: 0
5018   });
5019 
5020   async function insertCard(data) {
5021     const response = await fetch(`${host}/api/card/new`, {
5022         method: "POST",
5023         headers: {
5024           'Content-Type': 'application/json',
5025         },
5026         body: data
5027     })
5028     const result = await response.json()
5029     let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1]
5030     $("#greetingCard").attr("data-index", rowIndex)
5031     return result
5032   }
5033     
5034   async function updateCard(data){
5035     const rowIndex = $("#greetingCard").data("index")
5036     const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, {
5037         method: "PUT",
5038         headers: {
5039           'Content-Type': 'application/json',
5040         },
5041         body: data
5042     })
5043     return response
5044   }
5045     
5046   function bytesToSize(bytes) {
5047     var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p'];
5048     for (var i = 0; i < sizes.length; i++) {
5049       if (bytes <= 1024) {
5050         return bytes + ' ' + sizes[i];
5051       } else {
5052         bytes = parseFloat(bytes / 1024).toFixed(2)
5053       }
5054     }
5055     return bytes + ' P';
5056   }
5057 
5058   async function uploadMedia(uri, type) {
5059     nameq = $("#properties-nama-penerima").val()
5060     dear = $("#properties-kartu-nama-penerima").val()
5061     card = $("[data-properties=ucapan]").val()
5062     sender = $("#properties-kartu-nama-pengirim").val()
5063     photo = $("#properties-photo").val()
5064     video = $("#properties-video").val()
5065     status = "Product"
5066         
5067     const name = qrID
5068     let formData = new FormData(); 
5069     formData.append("file", uri);
5070     const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5071       method: "POST", 
5072       body: formData
5073     })
5074     const result = await response.json();
5075     if(result) {
5076       const url = result.url
5077       if(type === 'image/jpeg') {
5078         $("#properties-photo").val(url)
5079         $(".preview-image").show()
5080         $(".remove-image").show()
5081         photo = url
5082       } else {
5083         $("#properties-video").val(url)
5084         $("#label-input-video span").text("Change File")
5085         $(".case-qrcode-preview p").text("Scan here for a secret message")
5086         $(".remove-media").show()
5087         $("#product-top #product-meta .case-video-preview p").html(`<span class="replace-video" tite="Replace Video">${uri.name} (${bytesToSize(uri.size)})</span><span> is uploaded</span>`)
5088         $("[for=input-video]").hide()
5089         video = url
5090       }
5091       $(".case-video-preview").show()
5092       $(".steps-card-preview").removeClass("loading")
5093       // updateCard(nameq, dear, card, sender, photo, video, status)
5094 
5095       $(".nextBtn").attr("disabled", false)
5096     }
5097   }
5098 
5099   function randomString(length, chars) {
5100     var result = '';
5101     for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
5102     return result;
5103   }
5104 
5105   function getNoteCity(fulldate) {
5106     const h_1 = new Date(new Date().setDate(new Date().getDate() + 1))
5107     const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"];
5108     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
5109     const d = new Date(h_1);
5110     const day = weekday[d.getDay()];
5111     const dt = d.getDate();
5112     const mt = monthly[d.getMonth()];
5113     const yr = d.getFullYear();
5114     const p = $("#cities").parent(".form-group")
5115   }
5116 
5117   function disabledSameDay() {
5118     let btnFirst = $("#deliveryDate").find("button:first-child")
5119     let getDay = new Date().getDay();
5120 
5121     
5122       
5123       if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){
5124         if(hour >= 14.00){
5125           btnFirst.attr("disabled", true)
5126         }
5127       } else if(getDay == 6){
5128         if(hour >= 16.00){
5129           btnFirst.attr("disabled", true)
5130         }
5131       } else if(getDay == 0){
5132         if(hour >= 16.00){
5133           btnFirst.attr("disabled", true)
5134         }
5135       }
5136       
5137     
5138   }
5139 
5140   function disabledays(date) {
5141     let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
5142     //if u have to disable a list of day
5143     let removeDays
5144     
5145     
5146     
5147         removeDays = ["2025-2-13", "2025-2-14"];
5148     
5149     if ($.inArray(ymd, removeDays) >= 0) {
5150       return [false];
5151     } else {
5152       let day = date.getDay();
5153       if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){
5154           return [(day == 0),  ''];
5155       }
5156       
5157       if(day == 0){
5158         return [(day == 0),  ''];
5159       }
5160       
5161       
5162       return [(day != 0),  ''];
5163     }
5164   }
5165 
5166   /* Indonesian initialisation for the jQuery UI date picker plugin. */
5167   /* Written by Deden Fathurahman ([email protected]). */
5168   ( function( factory ) {
5169     if ( typeof define === "function" && define.amd ) {
5170 
5171       // AMD. Register as an anonymous module.
5172       define( [ "../widgets/datepicker" ], factory );
5173     } else {
5174 
5175       // Browser globals
5176       factory( jQuery.datepicker );
5177     }
5178   }( function( datepicker ) {
5179 
5180   datepicker.regional.id = {
5181     closeText: "Tutup",
5182     prevText: "&#x3C;mundur",
5183     nextText: "maju&#x3E;",
5184     currentText: "Today",
5185     monthNames: [ "January","February","March","April","May","Juny",
5186                   "July","August","September","October","November","December" ],
5187     monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun",
5188                       "Jul","Agu","Sep","Oct","Nov","Dec" ],
5189     dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ],
5190     dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ],
5191     dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ],
5192     weekHeader: "Mg",
5193     dateFormat: "D, dd M",
5194     firstDay: 0,
5195     isRTL: false,
5196     showMonthAfterYear: false,
5197     yearSuffix: "" };
5198   datepicker.setDefaults( datepicker.regional.id );
5199 
5200   return datepicker.regional.id;
5201 
5202 } ) );
5203 
5204   function loadPopup() {
5205     $("#backgroundPopup").fadeIn("slow");
5206     $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow");
5207     const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first()
5208     if(firstSection.hasClass("purchasePersonalize")) {
5209       if(productType !== '') {
5210         console.log("clarity event " + productType + ' personalize')
5211         window.clarity("event", `${productType} cardPersonalization`)
5212         // window.clarity("set", productType, `cardPersonalization - ${productDate}`)
5213       }
5214     } else if (firstSection.hasClass("sectionPurchaseBoard")) {
5215         console.log("clarity event " + productType + ' personalizeBoard')
5216         window.clarity("event", `${productType} personalizeBoard`)
5217         // window.clarity("set", productType, `personalizeBoard - ${productDate}`)
5218     }
5219     firstSection.removeClass("hide")
5220     
5221     // Auto-trigger addon loading when addon section becomes visible
5222     setTimeout(function() {
5223       const addonSection = $(".purchaseAddon")
5224       if(addonSection.length > 0 && !addonSection.hasClass("hide")) {
5225         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
5226           $("[data-addon=upsell-all]").trigger("click")
5227         }
5228       }
5229     }, 200)
5230   }
5231 
5232   function disablePopup() {
5233     $("#backgroundPopup").fadeOut("slow");
5234     $(".purchasePopup").fadeOut("slow");
5235     $("#popupCart").fadeOut("slow");
5236   }
5237 
5238     function scrollTo(parent, div, dur) {
5239       $(parent).animate({
5240         scrollTop: $(div).offset().top
5241       }, dur);
5242     }
5243 
5244   function loadPopupPersonalize() {
5245     const div = "#purchaseProduct"
5246     const p = "html, body, .product-meta"
5247     $("p.error").remove()
5248     loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all")
5249     const isCity = $("#cities[required]")
5250     const isDate = $("#propDeliveryDate[required]")
5251     const isTime = $("#propDeliveryTime[required]")
5252     // loadPopup()
5253     if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') {
5254       loadPopup()
5255     }
5256     if(isCity.val() == '') {
5257       isCity.parent(".row").append("<p class='error'>Choose delivery city</p>")
5258       scrollTo(p, div, 500)
5259     }
5260     if(isDate.val() == '') {
5261       isDate.parents(".row").append("<p class='error'>Choose delivery date</p>")
5262       scrollTo(p, div, 500)
5263     }
5264     if(isTime.val() == '') {
5265       isTime.parents(".row").append("<p class='error'>Choose delivery time</p>")
5266       scrollTo(p, div, 500)
5267     }
5268   }
5269 
5270   function quantityCounter() {
5271     $(document).on("click", ".item-card.selected .q_up", function () {
5272       var C = $(this).attr("data-id"),
5273           S =
5274               parseInt(
5275                   $(this)
5276                       .siblings(".quantity-cart-" + C)
5277                       .val()
5278               ) + 1;
5279       $(this).attr("data-quantity", S),
5280           $(this)
5281               .siblings(".quantity-cart-" + C)
5282               .val(S);
5283     }),
5284     $(document).on("click", ".item-card.selected .q_down", function () {
5285         var C = $(this).attr("data-id"),
5286             S = parseInt(
5287                 $(this)
5288                     .siblings(".quantity-cart-" + C)
5289                     .val()
5290             );
5291         0 < S && $(this).attr("data-quantity", S - 1),
5292             0 < S &&
5293                 $(this)
5294                     .siblings(".quantity-cart-" + C)
5295                     .val(S - 1);
5296     });
5297   }
5298 
5299   quantityCounter()
5300 
5301   const itemAddon = $(".item-card").length
5302   const nofree = $(".nofree").length
5303 
5304   const upsell = ''
5305   
5306   if(nofree === itemAddon) {
5307       // $("#itemAddons").html("<p>No Items available</p>")
5308   }
5309 
5310   $("#itemAddons .item-card").each(function(e){
5311       $("#itemAddons").attr("data-length", e)
5312   })
5313 
5314   $("[data-addon]").click(function(){
5315       
5316       
5317       
5318       const t = $(this)
5319       
5320       const data = t.data("addon")
5321       
5322       $("[data-addon]").removeClass("selected")
5323       t.addClass("selected")
5324       $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){
5325           const products = data.products
5326           const html = []
5327           for(let i = 0; i < products.length; i++) {
5328               const id = products[i].id
5329               const variantId = products[i].variants[0].id
5330               const img = products[i].images[0].src
5331               let img2 = img.split('.jpg')[0]
5332               const title = products[i].title
5333               const price = products[i].variants[0].price
5334               const tags = products[i].tags
5335               const qty = products[i].variants[0].available
5336               let type_upsell = ''
5337               if(tags.includes('upsell-item-standing')) {
5338                   type_upsell = 'standing'
5339               }
5340               console.log(type_upsell)
5341               if(type_upsell !== '') {
5342                   const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'} type-${products[i].product_type.toLowerCase()?.replace(' ', '_')}" data-variant="${variantId}" data-id=${id} data-qty="${qty === false ? 0 : ''}" data-upsell="${type_upsell}" data-tags="${tags}">
5343                       
5344                           <div class="card-image">
5345                               <img src="${img2}_150x.jpg" alt="${title}" width="" height="" />
5346                           </div>
5347                           <div class="card-meta">
5348                               <h5>${title}</h5>
5349                               <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
5350                               <input id="card-${variantId}" type="hidden" name="" value="${variantId}">
5351                           </div>
5352                           <div class="card-qty">
5353                               <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a>  
5354                               <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5354" value="0" data-price=${price} name="quantity">
5355                               <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="12" height="13" viewBox="0 0 12 13" fill="none">
5356 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/>
5357 </svg></a>   
5358                           </div>
5359                       </div>`
5360                   html.push(body)
5361               }
5362           }
5363           $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html)
5364           $("#itemAddons").attr("data-length", products.length)
5365           // $('#itemAddons')[0].swiper.update();
5366       });
5367   })
5368 
5369   async function isAddon(){
5370     let ids = []
5371     $("#itemAddons .item-card.selected").each(function(i, e){
5372       const id = $(this).data("id")
5373       ids.push(id)
5374     })
5375     console.log(ids)
5376     return ids
5377   }
5378   
5379   $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){
5380     const t = $(this).parent()
5381     const id = t.data("id")
5382     const btn =  t.parents(".purchaseAddon").find(".next-purchase-button")
5383     t.toggleClass("selected");
5384     //$(this).next("input").toggleAttr('name', 'id[]');
5385     if (t.hasClass('selected')) {
5386         t.find("input").val(1)
5387         t.find("input").attr('name', 'id[]');
5388     } else {
5389         t.find("input").val(0)
5390         t.find("input").removeAttr('name');
5391     }
5392     $("#properties-addons").val(addons)
5393     const is = await isAddon()
5394     if(is.length === 0) {
5395       btn.text("continue without add-ons")
5396       return
5397     }
5398     if(is.includes(8835692069079)) {
5399       btn.text("personalize acrylic frame")
5400     } else {
5401       btn.text("Continue")
5402     }
5403       
5404   })
5405 
5406   async function myAddon(data) {
5407     const c = $(".addonsPurchase .addons")
5408     let items = []
5409     
5410     const spotifyAddons = $(".spotifyAddons").find("[data-index]")
5411     // if(spotifyAddons.length > 0) {
5412     //   $(spotifyAddons).each(function(i, e){
5413     //     const spotifyLink = $(this).find(".spotifyLink").val()
5414     //     const spotifySong = $(this).find(".spotifySong").val()
5415     //     const spotifyArtist = $(this).find(".spotifyArtist").val()
5416     //     const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val()
5417     //     if(spotifyLink !== '') {
5418     //       spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1">
5419     //         <div class="addon-itm-img">
5420     //           <img src="https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp?v=1739160467" alt="" width="70"/>
5421     //         </div>
5422     //         <div class="addon-itm-title">
5423     //           <span>[US] Outerbloom Acrylic Frame 4R</span>
5424     //         </div>
5425     //         <div class="addon-itm-line-total">
5426     //           <span>Rp 99.000</span>
5427     //         </div>
5428     //       </div>
5429     //       <div class="propsAddonSpotify row m-0">
5430     //         <div class="col-12 col-lg-2"></div>
5431     //           <div class="col-12 col-lg-10">
5432     //             <p>
5433     //               <span>spotify link</span>
5434     //               <span class="spotifyLinkAddon">${spotifyLink}</span>
5435     //             </p>
5436     //             <p>
5437     //               <span>uploaded photo</span>
5438     //               <span class="spotifyFotoAddon">${spotifyFotoAddon}</span>
5439     //             </p>
5440     //             <p>
5441     //               <span>song / playlist name</span>
5442     //               <span class="spotifySongAddon">${spotifySong}</span>
5443     //             </p>
5444     //             <p>
5445     //               <span>artist name</span>
5446     //               <span class="spotifyArtistAddon">${spotifyArtist}</span>
5447     //             </p>
5448     //           </div>
5449     //       </div>`
5450     //       items.push(spotifyAddon)
5451     //     }
5452     //   })
5453     // }
5454     for(let i = 0; i < data.length; i++) {
5455       if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) {
5456         const img = data[i].image
5457         const title = data[i].title
5458         const qty = data[i].qty
5459         const price = data[i].price
5460         const total = Number(qty) * Number(price)
5461         let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}">
5462               <div class="addon-itm-img">
5463                 <img src="${img}" alt="" width="70"/>
5464               </div>
5465               <div class="addon-itm-title">
5466                 <span>${title}</span>
5467               </div>
5468               <div class="addon-itm-line-price">
5469                 <span>${rupiah.format(price)}</span>
5470                 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`}
5471               </div>
5472               <div class="addon-itm-line-total">
5473                 <span>${rupiah.format(total)}</span>
5474               </div>
5475             </div>`
5476           items.push(addons)
5477       }
5478     }
5479     c.html(items)
5480     const parent = $(".purchaseAddon")
5481     const next = parent.next(".sectionPurchase")
5482     parent.addClass("hide")
5483     next.removeClass("hide")
5484     // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart")
5485     // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`)
5486   }
5487 
5488   async function listAddon() {
5489     const data = $("#itemAddons").find(".selected")
5490     let ids = []
5491     $(data).each(function(){
5492       const id = $(this).data("variant")
5493       const image = $(this).find(".card-image img").attr("src")
5494       const title = $(this).find(".card-meta h5").text()
5495       const qty = $(this).find(".card-qty input").val()
5496       const price = $(this).find(".card-qty input").data("price")
5497       ids.push({
5498         id: Number(id),
5499         image,
5500         title,
5501         qty,
5502         price
5503       })
5504     })
5505     myAddon(ids)
5506   }
5507 
5508   async function customSpotify(idx, length, type){
5509     let isCard = false
5510     
5511     let p = $(".purchasePopupSpotify")
5512     const preLink = $(".spotifyLinkFirst").val()
5513     $("[data-index]").hide()
5514     p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`)
5515     p.find(".regulerAddons, .purchase-button").hide()
5516     p.find(".spotifyAddons").show()
5517     
5518     const data = await trackUrl(preLink)
5519     
5520     const html = `<div class="row" data-index=${idx} data-length=${length}><div class="col-12 col-lg-6"><div class="form-vertical position-relative"><div class="form-group mb-4"><h4>upload photo</h4><div class=uploadResult><label class=btn for=uploadPhotoSpotify><svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="13" height="11" viewB
5520ox="0 0 13 11" fill="none">
5521 <path d="M0.875 10.6378H12.375C12.4413 10.6378 12.5049 10.6115 12.5518 10.5646C12.5987 10.5177 12.625 10.4541 12.625 10.3878V0.387817C12.625 0.321513 12.5987 0.257925 12.5518 0.211041C12.5049 0.164157 12.4413 0.137817 12.375 0.137817H0.875C0.808696 0.137817 0.745107 0.164157 0.698223 0.211041C0.651339 0.257925 0.625 0.321513 0.625 0.387817V10.3878C0.625 10.4541 0.651339 10.5177 0.698223 10.5646C0.745107 10.6115 0.808696 10.6378 0.875 10.6378ZM1.125 10.1378V7.31882C1.136 7.31082 1.1485 7.30632 1.1585 7.29632L3.7165 4.73832C3.78198 4.67584 3.869 4.64098 3.9595 4.64098C4.05 4.64098 4.13702 4.67584 4.2025 4.73832L7.963 8.49882C8.00919 8.54501 8.07162 8.5713 8.13694 8.57204C8.20225 8.57279 8.26527 8.54794 8.3125 8.50282L10.2455 6.66682C10.3084 6.60323 10.3938 6.56684 10.4832 6.56543C10.5727 6.56403 10.6591 6.59774 10.724 6.65932L12.125 8.18532L12.1255 8.18582V10.1378H1.125ZM12.125 0.637817V7.44682L11.0845 6.31382C11.0066 6.23514 10.9138 6.17275 10.8116 6.13026C10.7094 6.08777 10.5997 6.06603 10.489 6.06632H10.4885C10.3786 6.06584 10.2697 6.08706 10.168 6.12876C10.0664 6.17046 9.97391 6.23182 9.896 6.30932L8.144 7.97332L4.556 4.38482C4.2365 4.06582 3.6815 4.06632 3.363 4.38482L1.125 6.62332V0.637817H12.125Z" fill="black"/>
5522 </svg><span>Upload your file</span></label></div><input class="uploadPhotoSpotify form-control d-none" accept=image/* type=file><input class="resultPhotoSpotify" type="hidden"></div><div class="form-group mb-5"><h4>Add your Spotify link here</h4> <input class="spotifyLink2 form-control spotifyLink" value="${preLink}" placeholder=https://open.spotify.com/ ></div><div class="form-group mb-4 text-left"><label class=checkbox for=isCustomMessage><span>Personalized Message</span><span class=checkmark></span></label></div><div class="form-group mb-4 form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifySong>Song / playlist name</label> ${data?.song ? `<input class="form-control spotifySong" value="${data?.song}">` : '<input class="form-control spotifySong" value="">'}</div><div class="form-group form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifyArtist>Artist name</label> ${data?.artist ? `<input class="form-control spotifyArtist" value="${data?.artist}">` : '<input class="form-control spotifyArtist" value="">'}</div><div class=btn-action><button class="back-spotify"><svg fill=none height=14 viewBox="0 0 15 14"width=15 xmlns=https://cdn.datavip.cloud/Logo/Bagus33.png><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="13" height="11" viewB
5522ox="0 0 13 11" fill="none">
5523 <path d="M0.875 10.6378H12.375C12.4413 10.6378 12.5049 10.6115 12.5518 10.5646C12.5987 10.5177 12.625 10.4541 12.625 10.3878V0.387817C12.625 0.321513 12.5987 0.257925 12.5518 0.211041C12.5049 0.164157 12.4413 0.137817 12.375 0.137817H0.875C0.808696 0.137817 0.745107 0.164157 0.698223 0.211041C0.651339 0.257925 0.625 0.321513 0.625 0.387817V10.3878C0.625 10.4541 0.651339 10.5177 0.698223 10.5646C0.745107 10.6115 0.808696 10.6378 0.875 10.6378ZM1.125 10.1378V7.31882C1.136 7.31082 1.1485 7.30632 1.1585 7.29632L3.7165 4.73832C3.78198 4.67584 3.869 4.64098 3.9595 4.64098C4.05 4.64098 4.13702 4.67584 4.2025 4.73832L7.963 8.49882C8.00919 8.54501 8.07162 8.5713 8.13694 8.57204C8.20225 8.57279 8.26527 8.54794 8.3125 8.50282L10.2455 6.66682C10.3084 6.60323 10.3938 6.56684 10.4832 6.56543C10.5727 6.56403 10.6591 6.59774 10.724 6.65932L12.125 8.18532L12.1255 8.18582V10.1378H1.125ZM12.125 0.637817V7.44682L11.0845 6.31382C11.0066 6.23514 10.9138 6.17275 10.8116 6.13026C10.7094 6.08777 10.5997 6.06603 10.489 6.06632H10.4885C10.3786 6.06584 10.2697 6.08706 10.168 6.12876C10.0664 6.17046 9.97391 6.23182 9.896 6.30932L8.144 7.97332L4.556 4.38482C4.2365 4.06582 3.6815 4.06632 3.363 4.38482L1.125 6.62332V0.637817H12.125Z" fill="black"/>
5524 </svg> <img src="" class=previewImage style=display:none></div></div><div class=frameControl><div class=spotifyData>${data?.song ? `<h3>${data?.song}</h3>` : '<h3><h3>'}${data?.artist ? `<p>${data?.artist}</p>` : '<p></p>'}</div><img src="https://outerbloom.com/cdn/shop/t/138/assets/frame-spotify.png?v=138221849636560654691752652420"alt="spotify outerbloom" height=""width=100%><div class=spotifyCode><img src="https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data?.type.slice(0, -1)}:${data?.trackId}"alt=""></div></div></div></div></div>`
5525     // console.log(html)
5526     
5527     $(".spotifyAddons").append(html)
5528     
5529     $(`[data-index=${idx}]`).show()
5530     
5531     if (preLink !== '') {
5532       $(".btn-action .btn").attr("disabled", false)
5533     } else {
5534       $(".btn-action .btn").attr("disabled", true)
5535     }
5536 
5537     return html
5538     
5539   }
5540 
5541   $(".spotifyLinkFirst").keyup(async function(){
5542     const v = $(this).val()
5543     if(v.includes('spotify:user:spotify')) {
5544       const correct = v.split('user:spotify:')[1]
5545       console.log(correct, 'BNER')
5546       $(this).val(correct)
5547       return
5548     }
5549     if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){
5550       const data = await trackUrl(v)
5551       if(!data || !data.status) {
5552         $(this).parent().addClass("error")
5553         // $(this).parent().append(`<p class="txt-error">Make sure you copy the complete and correct link from Spotify. Ex: https://open.spotify.com/track/0C3xZJueyBvvMSsl0cETA6</p>`)
5554         $("#personalizeBtnSpotify .btn").attr("disabled", true)
5555         return
5556       }
5557       $(this).parent().removeClass("error")
5558       // $(this).parent().remove("txt-error")
5559       $("#personalizeBtnSpotify .btn").attr("disabled", false)
5560     } else {
5561       $("#personalizeBtnSpotify .btn").attr("disabled", true)
5562     }
5563   })
5564 
5565   $(".purchaseAddon").delegate(".next-addon", "click", function(){
5566     const parent = $(this).parents(".purchaseAddon")
5567     const next = parent.next(".sectionPurchase")
5568     if(next.hasClass("purchaseAddress")) {
5569       if(productType !== '') {
5570         console.log("clarity event " + productType + ' purchaseDelivery')
5571         window.clarity("event", `${productType} purchaseDelivery`)
5572         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5573       }
5574     }
5575     const data = $("#itemAddons").find(".selected")
5576     const length = $(".quantity-cart-46067682607319").val()
5577     const checked = data.length;
5578     if(checked > 0) {
5579       if(length > 0) {
5580         $(".purchaseAddon").addClass("purchaseAddonSpotify")
5581         customSpotify(1, length, 'addon')
5582       } else {
5583         listAddon()
5584       }
5585     } else {
5586       parent.addClass("hide")
5587       next.removeClass("hide")
5588     }
5589   })
5590 
5591   $("#personalizeBtnSpotify .btn").click(async function(){
5592     const isCity = $("#cities[required]")
5593     const isDate = $("#propDeliveryDate[required]")
5594     if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) {
5595       alert('Please choose Delivery City & Delivery Date')
5596       return
5597     }
5598     const data = await customSpotify(1, 1, 'product')
5599     if(data) {
5600       $("#backgroundPopup").fadeIn("slow");
5601       $(".purchasePopupSpotify").fadeIn("slow");
5602 
5603       if(productType !== '') {
5604         console.log("clarity event " + productType + ' spotify')
5605         window.clarity("event", `${productType} spotify`)
5606         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5607       }
5608     }
5609   })
5610 
5611   function formatBytes(bytes, decimals = 2) {
5612     if (!+bytes) return '0 Bytes'
5613 
5614     const k = 1024
5615     const dm = decimals < 0 ? 0 : decimals
5616     const sizes = ['B', 'KB', 'MB']
5617 
5618     const i = Math.floor(Math.log(bytes) / Math.log(k))
5619 
5620     return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`
5621   }
5622 
5623   async function trackUrl(link){
5624     try {
5625       let trackId = link.split('/').pop().split('?')[0];
5626       let type = ''
5627       if(link.includes("spotify:")) {
5628         const uri = link.split('spotify:')[1]
5629         trackId = uri.split(':')[1]
5630         type = uri.split(':')[0] + 's'
5631       } else {
5632         if(link.match('track')){
5633           type = 'tracks'
5634         } else if(link.match('playlist')) {
5635           type = 'playlists'
5636         } else if(link.match('artist')) {
5637           type = 'artists'
5638         } else if(link.match('album')) {
5639           type = 'albums'
5640         }
5641       }
5642       console.log(`${host}/api/spotify/${type}/${trackId}`)
5643       const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`)
5644       console.log(data, 'DATA')
5645       const song = data?.data?.name
5646       const artist = data?.data?.artist
5647       return {
5648         song, artist, type, trackId, status: data.status
5649       }
5650     } catch(err) {
5651       console.log(err)
5652     }
5653   }
5654 
5655   $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){
5656     const parent = $(this).parents("[data-index]")
5657     const preview = parent.find(".previewImage")
5658     const file = $(this)[0].files[0];
5659     if (file) {
5660         const reader = new FileReader();
5661         reader.onload = async function(e) {
5662           parent.find(".uploadResult label").hide()
5663           parent.find(".uploadedResult").remove()
5664           parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between">
5665           <p style="text-align: left;margin: 0;"><span style="color: #34C759;font-style: italic;font-size: 14px;text-overflow: ellipsis;overflow: hidden;max-width: 250px;white-space: nowrap;display: inline-block;vertical-align: middle;">${file.name}</span><span style="font-size: 14px;color: #34C759"> (${formatBytes(file.size)})</span> <span style="font-size: 14px">is uploaded</span></p>
5666           <div style="align-self: center"><span class="changeUpload" style="font-size: 12px;cursor: pointer">Change</span><span class="removeUpload" style="cursor: pointer;border-left: 1px solid;padding-left: 10px;margin-left: 10px;height: 10px;display: inline-flex;vertical-align: middle;">
5666<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png">
5667   <path d="M2.07799 10.8332C1.78154 10.8332 1.52799 10.7276 1.31732 10.5165C1.10666 10.3054 1.0011 10.0523 1.00066 9.75716V1.49982H0.667322C0.572656 1.49982 0.493545 1.46782 0.429989 1.40382C0.366433 1.33982 0.334433 1.26049 0.333989 1.16582C0.333544 1.07116 0.365545 0.992047 0.429989 0.928491C0.494433 0.864935 0.573545 0.833158 0.667322 0.833158H3.00066C3.00066 0.69538 3.05177 0.57538 3.15399 0.473158C3.25621 0.370935 3.37621 0.319824 3.51399 0.319824H6.48732C6.6251 0.319824 6.7451 0.370935 6.84732 0.473158C6.94954 0.57538 7.00066 0.69538 7.00066 0.833158H9.33399C9.42866 0.833158 9.50777 0.865158 9.57132 0.929158C9.63488 0.993158 9.66688 1.07249 9.66732 1.16716C9.66777 1.26182 9.63577 1.34094 9.57132 1.40449C9.50688 1.46805 9.42777 1.49982 9.33399 1.49982H9.00066V9.75649C9.00066 10.0525 8.8951 10.3058 8.68399 10.5165C8.47288 10.7272 8.21954 10.8327 7.92399 10.8332H2.07799ZM8.33399 1.49982H1.66732V9.75649C1.66732 9.87605 1.70577 9.97427 1.78266 10.0512C1.85954 10.128 1.95799 10.1665 2.07799 10.1665H7.92399C8.04354 10.1665 8.14177 10.128 8.21866 10.0512C8.29554 9.97427 8.33399 9.87605 8.33399 9.75649V1.49982ZM3.87266 8.83316C3.96732 8.83316 4.04666 8.80116 4.11066 8.73716C4.17466 8.67316 4.20643 8.59405 4.20599 8.49982V3.16649C4.20599 3.07182 4.17399 2.99271 4.10999 2.92916C4.04599 2.8656 3.96666 2.8336 3.87199 2.83316C3.77732 2.83271 3.69821 2.86471 3.63466 2.92916C3.5711 2.9936 3.53932 3.07271 3.53932 3.16649V8.49982C3.53932 8.59449 3.57132 8.6736 3.63532 8.73716C3.69932 8.80116 3.77843 8.83316 3.87266 8.83316ZM6.12932 8.83316C6.22399 8.83316 6.3031 8.80116 6.36666 8.73716C6.43021 8.67316 6.46199 8.59405 6.46199 8.49982V3.16649C6.46199 3.07182 6.42999 2.99271 6.36599 2.92916C6.30199 2.86516 6.22288 2.83316 6.12866 2.83316C6.03399 2.83316 5.95466 2.86516 5.89066 2.92916C5.82666 2.99316 5.79488 3.07227 5.79532 3.16649V8.49982C5.79532 8.59449 5.82732 8.6736 5.89132 8.73716C5.95532 8.80071 6.03466 8.83271 6.12932 8.83316Z"fill=#757575 />
5668 </svg>
5669 </span></div></div>`)
5670           parent.find(".frameImageUploaded svg").hide()
5671           parent.find(".frameImage").addClass("uploaded")
5672           preview.attr("src", e.target.result);
5673           preview.show();
5674           let formData = new FormData(); 
5675           formData.append("file", file);
5676           const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, {
5677             method: "POST", 
5678             body: formData
5679           })
5680           const result = await response.json();
5681           if(result){
5682             parent.find(".resultPhotoSpotify").val(result.url)
5683           }
5684         }
5685         
5686         reader.readAsDataURL(file);
5687     } else {
5688         preview.hide();
5689     }
5690   });
5691 
5692   $(".spotifyAddons").delegate(".uploadResult", "click", function(){
5693     $(this).next("input[type=file]").trigger("click")
5694   })
5695 
5696   $(".spotifyAddons").delegate(".changeUpload", "click", function(){
5697     $(this).parents("input[type=file]").trigger("click")
5698   })
5699 
5700   $(".spotifyAddons").delegate(".removeUpload", "click", function(){
5701     const parent = $(this).parents("[data-index]")
5702     parent.find(".uploadPhotoSpotify").val("")
5703     parent.find(".uploadResult label").show()
5704     parent.find(".uploadedResult").remove()
5705     parent.find(".frameImageUploaded svg").show()
5706     parent.find(".previewImage").hide()
5707     parent.find(".frameImage").removeClass("uploaded")
5708   })
5709 
5710   $(".spotifyAddons").delegate("label.checkbox", "click", function(){
5711     const parent = $(this).parents("[data-index]")
5712     parent.toggleClass("checked")
5713   })
5714 
5715   $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){
5716     const parent = $(this).parents("[data-index]")
5717     const link = $(this).val()
5718     const data = await trackUrl(link)
5719 
5720     console.log(data)
5721 
5722     if(data.song) {
5723       parent.find(".spotifySong").val(data.song)
5724       parent.find(".spotifyData").find("h3").text(data.song)
5725     }
5726     if(data.artist) {
5727       parent.find(".spotifyArtist").val(data.artist)
5728       parent.find(".spotifyData").find("p").text(data.artist)
5729     }
5730     parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`)
5731     // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M
5732     if (data.status === true) {
5733       parent.find(".btn-action .btn").attr("disabled", false)
5734     } else {
5735       parent.find(".btn-action .btn").attr("disabled", true)
5736     }
5737   })
5738   
5739   $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){
5740     const parent = $(this).parents("[data-index]")
5741     const v = $(this).val()
5742     parent.find(".spotifyData h3").text(v)
5743   })
5744 
5745   $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){
5746     const parent = $(this).parents("[data-index]")
5747     const v = $(this).val()
5748     parent.find(".spotifyData p").text(v)
5749   })
5750 
5751   $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){
5752     const parent = $(this).parents("[data-index]")
5753     const length = parent.data("length")
5754     const index = parent.data("index")
5755     const indexNext = Number(index) + 1
5756     customSpotify(indexNext, length, 'addon')
5757   })
5758 
5759   
5760   $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){
5761     const parent = $(this).parents(".purchaseAddon")
5762     const next = parent.next(".sectionPurchase")
5763     parent.addClass("hide")
5764     next.removeClass("hide")
5765     next.find(".purchase-button").show()
5766     listAddon()
5767   })
5768 
5769   $(".spotifyAddons").delegate(".back-spotify", "click", async function(){
5770     const t = $(this).parents("[data-index]")
5771     const parent = $(this).parents(".sectionPurchase")
5772     const current = t.data("index")
5773     const prevCurrent = Number(current) - 1
5774     if(current == 1) {
5775       parent.removeClass("purchaseAddonSpotify")
5776       parent.find(".purchase-button").show()
5777       parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!")
5778       $(".spotifyAddons").empty()
5779       $(".regulerAddons").show()
5780       return
5781     }
5782     t.hide()
5783     t.prev("[data-index]").show()
5784     t.remove()
5785     parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`)
5786   })
5787 
5788   $("#personalizeBtn .btn").click(async function() {
5789     loadPopupPersonalize()
5790   });
5791 
5792   $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){
5793     $(".sectionPurchaseSpotify").hide()
5794     loadPopupPersonalize()
5795   })
5796 
5797   $(".close-purchase-popup").click(function() {
5798       disablePopup();
5799   });
5800   $("#backgroundPopup").click(function() {
5801       // disablePopup();
5802   });
5803 
5804   $("#popupCart .close-purchase-popup").click(function() {
5805       location.reload()
5806   });
5807 
5808   $('#popupCart').on('hide.bs.modal', function (e) {
5809     location.reload()
5810   })
5811 
5812   $(".next-card").click(function(){
5813     const parent = $(this).parents(".sectionPurchase")
5814     const next = parent.next(".sectionPurchase")
5815     parent.addClass("hide")
5816     next.removeClass("hide")
5817   })
5818 
5819   $(".back-purchase-button").click(function(){
5820     const parent = $(this).parents(".sectionPurchase")
5821     const prev = parent.prev(".sectionPurchase")
5822     parent.addClass("hide")
5823     prev.removeClass("hide")
5824   })
5825   
5826   $(document).keypress(function(e) {
5827       if (e.keyCode == 27 && popupStatus == 1) {
5828           disablePopup();
5829       }
5830   });
5831   
5832   const parentImg = $(".case-img-preview")
5833   const parentVid = $(".case-video-preview")
5834   
5835   function readURL(input) {
5836     if (input.files && input.files[0]) {
5837       let reader = new FileReader();
5838 
5839       let type = 'image/jpeg'
5840       const size = input.files[0].size
5841       if(input.files[0].type.match('video/')){
5842         type = 'video/mp4'
5843         if(size > 15728640) {
5844           alert('File size exceeds maximum limit 15 MB')
5845           return
5846         }
5847       } else {
5848         if(size > 5242880) {
5849           alert('File size exceeds maximum limit 5 MB')
5850           return
5851         }
5852       }
5853 
5854       reader.onload = function (e) {
5855         $(".nextBtn").attr("disabled", true)
5856         if(type === 'image/jpeg') {
5857           
5858             $('.placeholder-image').hide();
5859             $('.preview-image').show()
5860             $('.preview-image').attr('src', e.target.result);
5861           
5862         } else {
5863           // parentVid.find(".ajax-loader").show();
5864           $(".steps-card-preview").addClass("loading")
5865         }
5866       }
5867 
5868       
5869 
5870       reader.readAsDataURL(input.files[0]);
5871     }
5872   }
5873 
5874   async function readURLPapan(input) {
5875     if (input.files && input.files[0]) {
5876       let reader = new FileReader();
5877 
5878       reader.onload = function (e) {
5879         $('.btn-upload-papan').siblings('label').hide();
5880         $('.btn-upload-papan img').attr('src', e.target.result);
5881         $('.btn-upload-papan img').show();
5882         $('.svgLogoPapan').hide();
5883       }
5884       
5885       const type = 'image/jpeg'
5886       const name = `logo-9979127912352-${Date.parse(new Date())}`
5887 
5888       let formData = new FormData(); 
5889       formData.append("file", input.files[0]);
5890       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5891         method: "POST", 
5892         body: formData
5893       })
5894       const result = await response.json();
5895       if(result) {
5896         const url = result.url
5897         $("[data-properties=papan-logo]").val(url)
5898       }
5899 
5900       reader.readAsDataURL(input.files[0]);
5901     }
5902   }
5903 
5904   async function readURLAddress(input) {
5905     console.log(input, 'readURLAddress')
5906     if (input.files && input.files[0]) {
5907       let reader = new FileReader();
5908 
5909       reader.onload = function (e) {
5910         $('.photo-address').attr('src', e.target.result);
5911         $('.photo-address').show();
5912       }
5913       
5914       const type = 'image/jpeg'
5915       const name = input.files[0].name?.split('.')[0]
5916 
5917       let formData = new FormData(); 
5918       formData.append("file", input.files[0]);
5919       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5920         method: "POST", 
5921         body: formData
5922       })
5923       const result = await response.json();
5924 
5925       reader.readAsDataURL(input.files[0]);
5926 
5927       return result
5928     }
5929   }
5930 
5931   
5932 
5933   
5934   async function addToCartUang() {
5935     var productAddOnId1 = 42122101162199;
5936     var productAddOnId2 = 42122101194967;
5937     var product_id = 9979127912352
5938     const data = {
5939       items: [
5940           {
5941               quantity: $("#Quantity-" + productAddOnId1).val(),
5942               id: productAddOnId1,
5943               "properties": { "Time": $("#properties-time").val() }
5944           },
5945           {
5946               quantity: $("#Quantity-" + productAddOnId2).val(),
5947               id: productAddOnId2,
5948               "properties": { "Time": $("#properties-time").val() }
5949           }
5950       ]
5951     }
5952     await fetch(window.Shopify.routes.root + 'cart/add.js', {
5953       method: 'POST',
5954       headers: {
5955         'Content-Type': 'application/json'
5956       },
5957       body: JSON.stringify(data)
5958     })
5959     .then(response => {
5960       console.error('Sukses Buket Uang:', response);
5961       $(".form-flower").submit()
5962     })
5963     .catch((error) => {
5964       console.error('Error Buket Uang:', error);
5965       $(".form-flower").submit()
5966     });
5967   }
5968   
5969   async function saveCard(){
5970     let isCard = true
5971     const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : ''
5972     const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : ''
5973     const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : ''
5974     const foto = $("#properties-photo").val()
5975     const video = $("#properties-video").val()
5976     const data = JSON.stringify({
5977       "id": qrID, 
5978       "penerima": $("#properties-nama-penerima").val(), 
5979       "kartu_penerima": kartu_penerima, 
5980       "kartu_ucapan": kartu_ucapan, 
5981       "kartu_pengirim": kartu_pengirim, 
5982       "foto": foto,
5983       "video": video, 
5984       "productId": "9979127912352", 
5985       "order_name": "", 
5986       "status": "Cart"
5987     })
5988 
5989     
5990   }
5991 
5992   async function additem(items){
5993     try {
5994       let formData = items
5995       if(items?.length) {
5996         formData = {
5997            'items': items
5998         };
5999       }
6000   
6001       const add = await fetch(window.Shopify.routes.root + 'cart/add.js', {
6002         method: 'POST',
6003         headers: {
6004           'Content-Type': 'application/json',
6005           'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */
6006         },
6007         body: JSON.stringify(formData)
6008       })
6009   
6010       const data = await add.json();
6011       return data
6012     } catch(err){
6013       console.log('Error additem', err)
6014     }
6015   }
6016 
6017   async function addons(){
6018     let items = []
6019     $(".addon-item").each(function(){
6020       const p = $(this)
6021       const props = p.next(".propsAddonSpotify")
6022       const id = $(this).data("id")
6023       const quantity = $(this).data("qty")
6024       const propId = $("#properties-time").val()
6025       let properties = {}
6026       if(id === 46067682607319) {
6027         const link = props.find(".spotifyLinkAddon").text()
6028         const photo = props.find(".spotifyFotoAddon").text()
6029         const song = props.find(".spotifySongAddon").text()
6030         const artist = props.find(".spotifyArtistAddon").text()
6031         properties = {
6032           id: propId,
6033           "Spotify Link": link !== '' ? link : '-',
6034           "Spotify Photo": photo !== '' ? photo : '-',
6035           "Spotify Song": song !== '' ? song : '-',
6036           "Spotify Artist": artist !== '' ? artist : '-',
6037           type: 'addon'
6038         }
6039       } else {
6040         properties = { 
6041           "id": propId, 
6042           "type": "addon"
6043         }
6044       }
6045       items.push({
6046         id, 
6047         quantity, 
6048         properties
6049       })
6050     })
6051     return items
6052   }
6053 
6054   async function propItems() {
6055     let props = {}
6056     $("[data-properties]").each(function(e){
6057       let elementType = this.tagName;
6058       const k = $(this).data("properties")
6059       if(k !== 'penerima' && k !== 'ucapan' && k !== 'pengirim' && k !== 'nama-penerima' && k !== 'alamat-penerima' && k !== 'telepon-penerima' && k !== 'company' && k !== 'province' && k !== 'foto-alamat' && k !== 'papan-logo') {
6060         const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val();
6061         if(v !== '') {
6062           props[k] = v?.replace(/[\s\n]/g, '');
6063         }
6064       }
6065     })
6066     return props
6067   }
6068 
6069   async function showPopupCart(items){
6070     if(productType !== '') {
6071       console.log("clarity event " + productType + ' completeOrder')
6072       window.clarity("event", `${productType} completeOrder`)
6073       // window.clarity("set", productType, `completeOrder - ${productDate}`)
6074     }
6075     $("#popupCart").show()
6076     
6077       $(".propDeliveryCity").text($("#cities").val())
6078       $(".propDeliveryDate").text($("#propDeliveryDate").val())
6079       $(".propDeliveryTime").text($("#propDeliveryTime").val())
6080       $(".propDeliveryName").text($("[data-properties=nama-penerima]").val())
6081       $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val())
6082       $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val())
6083       $(".propDeliveryProv").text($("#province").val())
6084       $(".propDeliveryZip").text($("#zip").val())
6085       
6086     
6087 
6088     const addons = []
6089     if(items && items.length > 0) {
6090       for(let i = 1; i < items.length; i++) {
6091         const spotifyLink = items[i].properties['Spotify Link']
6092         const spotifyPhoto = items[i].properties['Spotify Photo']
6093         const spotifySong = items[i].properties['Spotify Song']
6094         const spotifyArtist = items[i].properties['Spotify Artist']
6095         const price = items[i].price / 100
6096         const props = spotifyLink ? `<div class="propsAddonCart row m-0">
6097                   <div class="col-12 col-lg-2"></div>
6098                   <div class="col-12 col-lg-10">
6099                     <p>
6100                       <span>spotify link</span>
6101                       <span>${spotifyLink}</span>
6102                     </p>
6103                     <p>
6104                       <span>Upload Photo</span>
6105                       <span>${spotifyPhoto}</span>
6106                     </p>
6107                     <p>
6108                       <span>song / playlist name</span>
6109                       <span>${spotifySong}</span>
6110                     </p>
6111                     <p>
6112                       <span>artist name</span>
6113                       <span>${spotifyArtist}</span>
6114                     </p>
6115                   </div>
6116                 </div>` : '';
6117         addons.push(`<div class="row m-0">
6118                   <div class="imgAddonCart col-2">
6119                     <img
6120                       width="43"
6121                       src="${items[i].image}"
6122                       alt=""
6123                     >
6124                   </div>
6125                   <div class="imgAddonTitlePrice col-10 align-self-center">
6126                     <div class="row justify-content-between m-0">
6127                       <div class="col-12 col-lg-8">
6128                         <h5>${items[i].title}</h5>
6129                       </div>
6130                       <div class="col-12 col-lg-4 text-lg-right">
6131                         <span>${rupiah.format(price)}</span>
6132                       </div>
6133                     </div>
6134                   </div>
6135                 </div>${props}`)
6136       }
6137     }
6138     // console.log(addons)
6139     if(addons.length === 0) {
6140       $(".itemAddonCart").hide()
6141       return
6142     }
6143     $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`)
6144     $(".wrapperItemAddonCart").html(addons)
6145   }
6146 
6147   const money = (money) => {
6148       return new Intl.NumberFormat('id-ID',
6149           { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
6150       ).format(money);
6151   }
6152 
6153   async function showNoteMoney() {
6154     let qty50k = $("[data-properties='Uang 50k']").val()
6155     let qty100k = $("[data-properties='Uang 100k']").val()
6156     const total50k = Number(qty50k) * 50000
6157     const total100k = Number(qty100k) * 100000
6158     const total_all = total50k + total100k
6159     $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`)
6160     $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`)
6161     $(".itemMoney").html(`<p>For the money arrangement, please transfer <strong>IDR ${money(total_all)}</strong> to <strong>Bank Mandiri 1020001234522 (PT Modern Mekar Abadi)</strong> and contact our <a href="https://snooglestore.com/bingkai-foto/" target="_blank" style="text-decoration: underline;
6161 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`)
6162   }
6163 
6164   async function removeImage() {
6165     const data = JSON.stringify({
6166       "ID": $("#properties-properties-qrId").val(), 
6167       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6168       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6169       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6170       "Nama Penerima": $("#properties-nama-penerima").val(), 
6171       "Order Number":"",
6172       "Status":"Product", 
6173       "Foto": "", 
6174       "Media": $("#properties-video").val(), 
6175       "Image": "9979127912352"
6176     })
6177     const remove = updateCard(data)
6178     if(remove) {
6179       $(this).hide()
6180       $("#properties-photo").val("-")
6181       $(".placeholder-image").show()
6182       $(".preview-image").attr("src", "")
6183     }
6184   }
6185 
6186   async function removeVideo() {
6187     const data = JSON.stringify({
6188       "ID": $("#properties-properties-qrId").val(), 
6189       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6190       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6191       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6192       "Nama Penerima": $("#properties-nama-penerima").val(), 
6193       "Order Number":"",
6194       "Status":"Product", 
6195       "Foto": $("#properties-photo").val(), 
6196       "Media": "", 
6197       "Image": "9979127912352"
6198     })
6199     const remove = updateCard(data)
6200     if(remove) {
6201       $("#properties-video").val("-")
6202       $(this).find("img").hide()
6203       $(this).hide()
6204       $(this).prev("p").text("Add video to make it more special (optional)")
6205       $("#label-input-video").show()
6206       $("#label-input-video span").text("Upload Video")
6207       $(".case-video-preview p span").remove()
6208     }
6209   }
6210 
6211   async function loadItemOccasion(t, occasion) {
6212     const name = occasion?.replace('greeting-card-', '')
6213     $("#kartu-ucapan").val("")
6214     $("[data-occassion]").removeClass("selected")
6215     $("[data-properties=ucapan]").val("")
6216     $("#save-card").attr("disabled", true)
6217     t.addClass("selected")
6218     $("#show_note").attr("data-card-occassion", name)
6219     $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){
6220         const products = data.products
6221         const html = []
6222         for(let i = 0; i < products.length; i++) {
6223             const id = products[i].id
6224             const variantId = products[i].variants[0].id
6225             const img = products[i].images[0].src
6226             const title = products[i].title
6227             const price = products[i].variants[0].price
6228             const qty = products[i].variants[0].inventory_quantity
6229             const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}>
6230                 <label for="card-${variantId}"></label>
6231                     <div class="card-image">
6232                         <img src="${img}" alt="${title}" width="" height="" />
6233                     </div>
6234                     <div class="card-meta text-center">
6235                         <h5>${title}</h5>
6236                         <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
6237                         <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}">
6238                     </div>
6239                 </div>`
6240             html.push(body)
6241         }
6242         const withoutCard = `<div class="item-card item-without-card">
6243                 <label for="card-0"></label>
6244                     <div class="card-image">
6245                         <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" />
6246                     </div>
6247                     <div class="card-meta text-center">
6248                         <h5>
6248Send without a greeting card</h5>
6249                         <input id="card-0" type="radio" name="id" value="" data-price="">
6250                     </div>
6251                 </div>`
6252         $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join(""))
6253     });
6254   }
6255         
6256   $(document).ready(function(){
6257 
6258     // Observer to auto-trigger addon loading when addon section becomes visible
6259     const addonObserver = new MutationObserver(function(mutations) {
6260       mutations.forEach(function(mutation) {
6261         const target = $(mutation.target)
6262         if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') {
6263           if(!target.hasClass('hide')) {
6264             // Addon section just became visible, ensure items are loaded
6265             setTimeout(function() {
6266               if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6267                 console.log("Auto-triggering addon load...")
6268                 $("[data-addon=upsell-all]").trigger("click")
6269               }
6270             }, 150)
6271           }
6272         }
6273       })
6274     })
6275     
6276     // Start observing addon section
6277     const addonSection = document.querySelector('.purchaseAddon')
6278     if(addonSection) {
6279       addonObserver.observe(addonSection, { 
6280         attributes: true, 
6281         attributeFilter: ['class'] 
6282       })
6283     }
6284 
6285     $(".purchasePopup").delegate("#addtocart-card", "click", async function(){
6286     
6287     $(this).find("span").addClass("loading")
6288     let isValid = true
6289     $(".formAddressPurchase [required]").each(function(){
6290       const t = $(this)
6291       const input = t.val()
6292       const p = t.parent()
6293       if(input === '') {
6294         p.addClass("error")
6295         isValid = false
6296       }
6297     })
6298 
6299     if(!isValid) {
6300       $(this).find("span").removeClass("loading")
6301       return
6302     }
6303     
6304     let items = []
6305     const mainProps = {
6306       
6307         "Delivery Date": $("#propDeliveryDate").val(),
6308         "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' ,
6309         "Kota Pengiriman": $("#cities").val(),
6310         "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' ,
6311         "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' ,
6312         "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' ,
6313         "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' ,
6314       
6315       
6316         "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' ,
6317         "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' ,
6318         "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' ,
6319         "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' ,
6320         "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' ,
6321       
6322       
6323       "Province": $("#province").val() !== '' ? $("#province").val() : '-' ,
6324       "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' ,
6325       "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' ,
6326       "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' ,
6327       "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
6328       "type": 'product'
6329     }
6330     const props = await propItems()
6331     properties = {...mainProps, ...props };
6332     const id = $("#productSelect").find('option:selected').val()
6333     console.log(id, 'main ID')
6334     const mainItem = {
6335       id: Number(id),
6336       quantity: 1,
6337       properties
6338     }
6339     items.push(mainItem)
6340     const cardId = $("#itemCards").find(".selected input").val()
6341     const cardItem = {
6342       id: Number(cardId),
6343       quantity: 1,
6344       properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' }
6345     }
6346     console.log(cardId, 'cardId')
6347     if(cardId) {
6348       items.push(cardItem)
6349     }
6350     const addon = await addons()
6351     if(addon) {
6352       for(let i = 0;
6352 i < addon.length; i++){
6353         items.push({
6354           id: addon[i].id,
6355           quantity: addon[i].quantity,
6356           properties: addon[i].properties
6357         })
6358       }
6359     }
6360     const addItems = await additem(items)
6361     console.log(addItems.items, 'add items')
6362     if(addItems) {
6363       $(this).find("span").removeClass("loading")
6364       disablePopup()
6365       showPopupCart(addItems.items)
6366       
6367       localStorage.setItem("items", JSON.stringify(addItems.items))
6368     }
6369   })
6370   
6371   $("#addtocart-cart .btn").click(async function(){
6372     const id = $("#productSelect").find('option:selected').val()
6373     const mainProps = {
6374       id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 
6375       type: 'product'
6376     }
6377     const props = await propItems()
6378     const properties = { ...mainProps, ...props };
6379     const items = {
6380       id: Number(id),
6381       quantity: 1,
6382       properties
6383     }
6384     const addItems = await additem(items)
6385     if(addItems) {
6386       showPopupCart(addItems.items)
6387       localStorage.setItem("items", JSON.stringify(addItems))
6388     }
6389   })
6390 
6391   $(".formAddressPurchase [required]").change(function(){
6392     const t = $(this)
6393     const p = t.parent()
6394     const v = t.val()
6395     if(v !== '') {
6396       p.removeClass("error")
6397     }
6398   })
6399 
6400   $("#save-card").click(async function(){
6401     const parent = $(this).parents(".sectionPurchase")
6402     const next = parent.next(".sectionPurchase")
6403     $(this).find("span").addClass("loading")
6404     const card = await saveCard()
6405     console.log(card, 'ssaveCCC')
6406     if(card?.status === 200 || card?.status === 201) {
6407       $(".scanCard").removeClass("hide")
6408       $(this).find("span").removeClass("loading")
6409       parent.addClass("hide")
6410       next.removeClass("hide")
6411       if(next.hasClass("purchaseAddon")) {
6412         $("[data-addon=upsell-all]").click()
6413         console.log("clarity event addons")
6414         window.clarity("event", `${productType} add-ons`)
6415         // Ensure addon items are loaded when entering addon popup
6416         setTimeout(function() {
6417           if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6418             $("[data-addon=upsell-all]").trigger("click")
6419           }
6420         }, 100)
6421       }
6422       if(next.hasClass("purchaseAddress")) {
6423         $("#zip").select2()
6424       }
6425     }
6426   })
6427 
6428   $("#skip-card").click(async function(){
6429     $("#greetingCard [data-properties]").val("")
6430     $("#properties-photo").val("")
6431     $("#properties-video").val("")
6432     const parent = $(this).parents(".sectionPurchase")
6433     const next = parent.next(".sectionPurchase")
6434     parent.addClass("hide")
6435     next.removeClass("hide")
6436     // $("#itemCards").html("")
6437     removeImage()
6438     removeVideo()
6439     if(next.hasClass("purchaseAddon")) {
6440       $("[data-addon='upsell-all']").click()
6441       console.log("clarity event addons")
6442       window.clarity("event", `${productType} add-ons`)
6443       // Ensure addon items are loaded when entering addon popup
6444       setTimeout(function() {
6445         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6446           $("[data-addon='upsell-all']").trigger("click")
6447         }
6448       }, 100)
6449     }
6450     if(next.hasClass("purchaseAddress")) {
6451       $("#zip").select2()
6452     }
6453   })
6454 
6455   $("#msgCard").click(async function(){
6456       $(this).parent().addClass("loading")
6457       let occasion = $(".selected[data-occassion]").data("occassion")
6458       occasion = occasion?.replace("greeting-card-", "")
6459       const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`);
6460       const d = data?.data
6461       for(let i = 0; i < d.length; i++) {
6462         const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1);
6463         const greeting = d[num]?.Greeting
6464         $(".greetingCard textarea").val(greeting)
6465         $(this).parent().removeClass("loading")
6466       }
6467       $("#save-card").attr("disabled", false)
6468     })
6469 
6470   $(".sectionPurchaseBoard .next-purchase-button").click(function(){
6471     const parent = $(this).parents(".sectionPurchase")
6472     const next = parent.next(".sectionPurchase")
6473     parent.addClass("hide")
6474     next.removeClass("hide")
6475   })
6476 
6477   $("#editCard").click(function(){
6478     $(".custom-card").show()
6479     $(".preview-card").hide()
6480   })
6481 
6482   $("#first_name, #last_name").change(function(){
6483     const v = $(this).val()
6484     const first_name = $("#first_name").val()
6485     const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : ''
6486     $("[data-properties=nama-penerima]").val(first_name+last_name)
6487   })
6488 
6489   $("[data-occassion]").click(function(){
6490       const t = $(this)
6491       const p = t.parents(".sectionPurchase")
6492       // $(".greetingCard").addClass("disabled")
6493       const occasion = t.data("occassion")
6494       loadItemOccasion(t, occasion)
6495   })
6496 
6497   $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){
6498       const id = $(this).parent(".item-card").data("id")
6499       const t = $(this).parent(".item-card")
6500       const target = t.find("input")
6501       const v = $('.item-card input[type="radio"]:checked').val();
6502       $("#itemCards .item-card").removeClass("selected")
6503       t.addClass("selected")
6504       $("#itemCards .item-card").find("input").attr("name", "")
6505       if(target.length > 0) {
6506           target.attr("name", "id[]")
6507           $("#properties-card").val(id)
6508           $(".greetingCard").removeClass("disabled")
6509           $("#skip-card").attr("disabled", false)
6510       } else {
6511           $("#properties-card").val("")
6512       }
6513   })
6514 
6515   $("#itemCards").delegate(".item-without-card label", "click", function(){
6516     const parent = $(this).parents(".sectionPurchase")
6517     const next = parent.next(".sectionPurchase")
6518     $(".greetingCard").addClass("disabled")
6519     parent.addClass("hide")
6520     next.removeClass("hide")
6521     $("[data-addon=upsell-all]").click()
6522     $("#zip").select2()
6523   })
6524 
6525   $("[data-properties=ucapan]").keyup(function(){
6526     const v = $(this).val()
6527     const p = $(this).parents(".sectionPurchase")
6528     $(".purchaseAddress").find(".greetingCard textarea").val(v)
6529     if(v.length > 3) {
6530       p.find(".next-purchase-button").attr("disabled", false)
6531     } else {
6532       p.find(".next-purchase-button").attr("disabled", true)
6533     }
6534   })
6535 
6536   $("[data-properties=penerima]").keyup(function(){
6537     const v = $(this).val()
6538     $(".purchaseAddress").find("[data-properties=penerima]").val(v)
6539   })
6540 
6541   $("[data-properties=pengirim]").keyup(function(){
6542     const v = $(this).val()
6543     $(".purchaseAddress").find("[data-properties=pengirim]").val(v)
6544   })
6545 
6546   $(document).click(function(e){
6547 
6548      if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6549      // $('#popupCart').fadeOut('slow');
6550     // location.reload()
6551   });
6552 
6553   $(".toggleAddonCart").click(function(){
6554     const p = $(this).parent(".itemAddonCart")
6555     p.toggleClass("open")
6556   })
6557 
6558   $(".btnViewCart").click(function(){
6559     window.location.href = "https://outerbloom.com/cart";
6560   })
6561 
6562   $(".btnViewCheckout").click(async function(){
6563     $(this).find("span").addClass("loading")
6564     let zip = $("#zip").val()
6565     const first_name = $("#first_name").val()
6566     const last_name = $("#last_name").val()
6567     const company = $("#company").val() !== '' ? $("#company").val() : ''
6568     const address1 = $("#delivery_address").val()
6569     const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : ''
6570     zip = zip && zip !== '' ? zip?.split(' - ')[0] : ''
6571     const phone = $("#recipient_number").val()
6572     const city = $("#cities").val()
6573     const province = $("#province").val()
6574     const country = 'Indonesia'
6575     const ver = Date.parse(new Date())
6576     const params = `checkout[email]=&checkout[shipping_address][first_name]=${first_name}&checkout[shipping_address][last_name]=${last_name}&checkout[shipping_address][company]=${company}&checkout[shipping_address][address1]=${address1}&checkout[shipping_address][address2]=${address2}&checkout[shipping_address][city]=${city}&checkout[shipping_address][country]=${country}&checkout[shipping_address][province]=${province}&checkout[shipping_address][zip]=${zip}&checkout[shipping_address][phone]=${phone}&v=${ver}`
6577 
6578     const clear = await fetch(`/cart/clear.js`, {method: 'POST'})
6579     if(clear.status === 200) {
6580       const savedItem = window.localStorage.getItem("items");
6581       const items = JSON.parse(savedItem)
6582       const addItems = await additem(items)
6583       console.log(addItems, 'new addItems')
6584       if(addItems) {
6585         window.location.href = `https://outerbloom.com/checkout?${params}`;
6586       }
6587     }
6588   })
6589 
6590   $(".btnContinueShopping").click(function(){
6591     window.location.href = "https://outerbloom.com/";
6592   })
6593 
6594     if (isIOS) {
6595       $(".empty-state-card").click(function(){
6596         $("#input-foto").trigger("click")
6597       })
6598       $(".btn-upload-image").click(function(){
6599         $("#input-foto").trigger("click")
6600       })
6601       $("[for=input-video]").click(function(){
6602         $("#input-video").trigger("click")
6603       })
6604       $(".btn-upload-papan").click(function(){
6605         $("#logoPapan").trigger("click")
6606       })
6607     }
6608   
6609     $("[data-properties]").each(function(){
6610       const select = $(this).parents(".form-group").find("select")
6611       $(this).change(function(){
6612         const name = $(this).data("properties")
6613         const v = $(this).val()
6614         if (name == 'telepon-penerima') {
6615           let phone = v.replace(/[^0-9]/g, '')
6616           $(this).val(phone);
6617           $("#properties-telepon-penerima").val(phone)
6618           $('.iti__search-input').val('-') 
6619         } else {
6620           $("#properties-" + name).val(v)
6621         }
6622       })
6623       select.on("change", function(){
6624         const name = $(this).data("properties")
6625         const v = $(this).val()
6626         $("#properties-" + name).val(v)
6627       })
6628     })
6629 
6630     $("#show_note").click(function(){
6631       nameq = $("#properties-nama-penerima").val()
6632       dear = $("#properties-kartu-nama-penerima").val()
6633       card = $("[data-properties=ucapan]").val()
6634       sender = $("#properties-kartu-nama-pengirim").val()
6635       photo = $("#properties-photo").val()
6636       video = $("#properties-video").val()
6637       updateCard(nameq, dear, card, sender, photo, video, status)
6638     })
6639 
6640     $(".remove-image").click(function(e){
6641       e.preventDefault()
6642       $(this).find("img").show()
6643       removeImage()
6644     })
6645 
6646     $(".remove-media").click(function(e){
6647       e.preventDefault()
6648       $(this).find("img").show()
6649       removeVideo()
6650     })
6651 
6652     
6653 
6654     $("[data-delivery_method]").click(function(e){
6655       e.preventDefault()
6656       const t = $(this)
6657       const data = t.data("delivery_method")
6658       $("[data-delivery_method]").removeClass("selected")
6659       t.addClass("selected")
6660       $("#cities").val("")
6661       $("#properties-delivery-date").val("-")
6662       $("#deliveryDate button").removeClass("selected")
6663       $("#full-date").val("Full Calendar →")
6664       $("#propDeliveryDate").val("")
6665       const step3 = $("#step-3")
6666       if(data.match('PickUp')) {
6667         $(".selfpickup-point").show()
6668         step3.find("[data-finished=false]").hide()
6669         $("#panel-4").hide()
6670         step3.find("[data-finished=true]").show()
6671         $("#cities").attr("required", false)
6672         $("#form-group-city").hide()
6673         $("#row-delivery-time").hide()
6674         $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-")
6675         $("#propDeliveryTime").attr("required", false)
6676         // $("#deliveryDate").find("button:first-child").addClass("stop")
6677         $(".form-selfpickup").show()
6678         $(".form-delivery").hide()
6679         $(".form-delivery").find("input, textarea, select").val("")
6680         $(".form-delivery").find("input, textarea, select").attr("required", false)
6681         $("#properties-shipping").val("0")
6682         $("#noteDeliveryDate").hide()
6683         $(".form-delivery .form-control").attr("required", false)
6684         $("#stepNav4").hide()
6685         
6686         $("#deliveryDate").find("button:nth-child(1)").addClass("stop")
6687         
6688         
6689         
6690         if(timeOfDay >= 16.01){
6691           $("#deliveryDate").find("button:nth-child(2)").addClass("stop")
6692         }
6693       } else {
6694         
6695         
6696         $("#deliveryDate").find("button:nth-child(1)").removeClass("stop")
6697         step3.find("[data-finished=false]").show()
6698         $("#panel-4").show()
6699         step3.find("[data-finished=true]").hide()
6700         $("#cities").attr("required", true)
6701         $(".selfpickup-point").hide()
6702         $("#form-group-city").show()
6703         $("#cities").val('').trigger('change');
6704         $("#properties-kota-pengiriman").val("-")
6705         
6706         $("#row-delivery-date, #row-delivery-time").show()
6707         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6708         $("#deliveryDate").find("button").removeClass("stop")
6709         $(".form-selfpickup").hide()
6710         $(".form-delivery").show()
6711         $(".form-delivery").find("input, textarea, select").attr("required", true)
6712         $(".form-delivery [data-properties]").attr("readonly", false)
6713         $("#properties-kodepos").val("-")
6714         $("#properties-alamat-penerima").val("-")
6715         $(".form-delivery .form-control").attr("required", true)
6716         $(this).parents(".setup-content").attr("id", "step-1")
6717         
6718         $("#stepNav4").show()
6719       }
6720     })
6721 
6722     $("[name=selfpickup]").click(function(){
6723         const p = $(this).parents(".row-pickup")
6724         const pickupCity = $("input[name='selfpickup']:checked").val();
6725         const pickupAddress = $("input[name='selfpickup']:checked").data("address");
6726         const pickupZip = $("input[name='selfpickup']:checked").data("zip");
6727 
6728         $(".row-pickup").removeClass("selected")
6729         p.addClass("selected")
6730         
6731         $("#properties-kota-pengiriman").val(pickupCity)
6732         $("#province").val("Jakarta")
6733         $("#properties-alamat-penerima").val(pickupAddress)
6734         $("#properties-kodepos").val(pickupZip)
6735     })
6736 
6737     $("#cities").change(function(e){
6738       e.preventDefault()
6739       $(this).parent(".row").find("p.error").remove()
6740       $("#full-date").val("Full Calendar")
6741       $("#deliveryDate, #deliveryDateFull label ").show()
6742       $("#deliveryDateFull").removeClass("filled")
6743       $(".btnChangeDeliveryDate").addClass("hide")
6744       $("#full-date").prop('disabled', false);
6745       $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success")
6746       $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true)
6747       const step3 = $("#step-3")
6748       $("#cityNote").remove()
6749       $("#noteDeliveryDate").hide()
6750       $("#noteDeliveryDate").empty()
6751       let v = $(this).val()
6752       let v2 = $('option:selected', this).attr('data-city');
6753       let v3 = $('option:selected', this).attr('data-province');
6754       let price = $('option:selected', this).attr('data-price');
6755       $("#country").val(v)
6756       $("#properties-kota-pengiriman").val(v)
6757       $("#properties-shipping").val(price)
6758       $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected")
6759       $("#properties-delivery-date, #properties-delivery-time").val("-")
6760       $("#propDeliveryDate, #propDeliveryTime").val("")
6761       let note = $('option:selected', this).attr('data-note');
6762       if(v === 'Kota Lainnya') {
6763         $("#noteDeliveryDate").show()
6764         $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.")
6765         $("#zip").attr("required", false)
6766         $("#zip").hide()
6767         $("#propDeliveryDate, #propDeliveryTime").attr("required", false)
6768         $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-")
6769         $("#row-delivery-date, #row-delivery-time").hide()
6770         $("#properties-shipping").val("")
6771         // $(this).parents(".setup-content").attr("id", "step-2")
6772         
6773       } else {
6774         $("#noteDeliveryDate").hide()
6775         $("#zip").attr("required", true)
6776         $("#zip").show()
6777         $("#row-delivery-date, #row-delivery-time").show()
6778         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6779         $("#deliveryDate").find("button").removeClass("stop")
6780         // $(this).parents(".setup-content").attr("id", "step-1")
6781         
6782       }
6783       
6784       
6785       
6786       // if(v !== 'Jakarta') {
6787       //   $("[data-type=upsell]").hide()
6788       // } else {
6789       //   $("[data-type=upsell]").show()
6790       // }
6791       // $('.collection-addons')[0].swiper.update();
6792       
6793       
6794       getProvince(v)
6795       $("#zip").html(`<option value="">Choose Postal Code</option>`)
6796       renderZip(v, v2, v3)
6797       
6798       disabledSameDay()
6799       
6800 
6801       if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') {
6802         
6803         $("#cardOccasion, #navAddon, .collection-addons").hide()
6804         
6805         $("[data-addon=giftcard]").show()
6806         $("[data-addon=giftcard]").click()
6807         $("#itemAddons").show()
6808         $("#flower-step").addClass("nonjadetabek")
6809       } else {
6810         $("#cardOccasion, #navAddon, .collection-addons").show()
6811         $("[data-addon=all]").click()
6812         $("#flower-step").removeClass("nonjadetabek")
6813       }
6814       
6815         if(v !== '') {
6816           $("#personalizeBtn .btn").attr("disabled", false)
6817         } else {
6818           $("#personalizeBtn .btn").attr("disabled", true)
6819         }
6820       
6821     })
6822 
6823     $("#zip").change(function(e){
6824       let v = $(this).val()
6825       var city = $("#cities").find('option:selected');
6826       $("#properties-kodepos").val(v)
6827       if(city === 'Kota Lainnya') {
6828         $(this).attr("required", true)
6829         $("#recipient-address").val("")
6830       }
6831     })
6832 
6833     
6834       var minDate = +7
6835       
6836     
6837 
6838     $("#full-date").datepicker({
6839       minDate,
6840       dateFormat: 'Mdd_yy', //Nop22_2021,
6841       
6842       beforeShowDay: disabledays,
6843       
6844       onSelect: function (date) {
6845         $("#deliveryDate, #deliveryDateFull label ").hide()
6846         $("#deliveryDateFull").addClass("filled")
6847         $(".btnChangeDeliveryDate").removeClass("hide")
6848         $("#full-date").prop('disabled', true);
6849         $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date);
6850         $(".date-full").addClass("selected")
6851         $(".date-single, .calendar-group").removeClass("selected")
6852         $("#propDeliveryTime").val('')
6853         $("#properties-delivery-time").val('-')
6854         $(".time-single").removeClass("selected")
6855         
6856         
6857       }
6858     });
6859 
6860     $(".btnChangeDeliveryDate").click(function(){
6861         $("#deliveryDate, #deliveryDateFull label ").show()
6862         $("#deliveryDateFull").removeClass("filled")
6863         $(".btnChangeDeliveryDate").addClass("hide")
6864         $("#full-date").prop('disabled', false);
6865     })
6866   
6867     $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){
6868       e.preventDefault()
6869       $(this).parents("#row-delivery-date").find("p.error").remove()
6870       const fulldate = $(this).data("fulldate")
6871       const day = $(this).data("day")
6872       const date = $(this).data("date")
6873       const month = $(this).data("month")
6874       const year = $(this).data("year")
6875       const off_pagi = $(this).data("offpagi")
6876       const off_siang = $(this).data("offsiang")
6877       const off_Malam = $(this).data("offMalam")
6878       $(".calendarbutton").removeClass("selected")
6879       $(this).addClass("selected")
6880       $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`)
6881       $("#propDeliveryTime").val('')
6882       $("#properties-delivery-time").val('-')
6883       $(".calendarbutton2").removeClass("selected")
6884       $("#full-date").val("Full Calendar")
6885 
6886       
6887       if(off_pagi && timeOfDay > off_pagi) {
6888         $("[data-time=Morning]").attr("disabled", true)
6889       } else {
6890         $("[data-time=Morning]").attr("disabled", false)
6891       }
6892       if(off_siang && timeOfDay > off_siang) {
6893         $("[data-time=Afternoon]").attr("disabled", true)
6894       } else {
6895         $("[data-time=Afternoon]").attr("disabled", false)
6896       }
6897       
6898 
6899       
6900     })
6901     
6902     if(today === 14 && timeOfDay > 17.00) {
6903       $("#deliveryDate button:first-child").attr("disabled", true)
6904     }
6905   
6906     $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){
6907       e.preventDefault()
6908       const time = $(this).data("time")
6909       const date = $("#propDeliveryDate").val()
6910       if(date == '') {
6911         return alert('Silakan pilih tanggal terlebih dahulu')
6912       }
6913       $(".calendarbutton2").removeClass("selected")
6914       $(this).addClass("selected")
6915       $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`)
6916     })
6917       
6918     $('textarea.has-limit, input.has-limit').keyup(function () {
6919       max = this.getAttribute("maxlength");
6920       let len = $(this).val().length;
6921       let limit = $(this).siblings(".limit");
6922       if (len > max) {
6923         alert('you have reached the limit');
6924       } else {
6925         limit.text(`${len}/${max}`);
6926       }
6927     });
6928     
6929     $("#button-action-step .btn").click(function(){
6930       $(this).find("span").text("Processing...");
6931     });
6932 
6933     $(".finishBtn").on('click', function() {
6934       $(this).addClass("is-adding");
6935       // $(this).click();
6936     });
6937 
6938     $('.setup-panel .nav-item a.btn-success').trigger('click');
6939 
6940     $("#button-action .btn").click(function(){
6941       $("#flower-step").addClass("block");
6942       $("#button-action").hide();
6943     });
6944         
6945     $(".close-how-order").click(function(){
6946       $("#flower-step").removeClass("block");
6947       $("#button-action").show();
6948     });
6949 
6950     $("#input-foto, #input-video").change(function(e){
6951       readURL(this);
6952     });
6953 
6954     $("#logoPapan").change(function(){
6955       readURLPapan(this);
6956     });
6957 
6958     $("#address-upload").change(async function(){
6959       const upload_address = await readURLAddress(this)
6960       if(upload_address) {
6961         const url = upload_address.url
6962         $(".props-address-upload").val(url)
6963         $(".form-address").addClass("address-uploaded")
6964         $(".form-address-upload").addClass("uploaded")
6965 
6966         $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false)
6967       }
6968     })
6969 
6970     $(".address-manualy").click(function(){
6971       $(".form-address-upload").removeClass("uploaded");
6972       $(".photo-address").hide();
6973       $(".form-address").removeClass("address-uploaded")
6974       $("#formAddressPurchase").find(".form-control").attr("required", true)
6975     });
6976 
6977     $(".case-video-preview").delegate(".replace-video", "click", function(){
6978       $("#input-video").trigger("click")
6979     })
6980 
6981     $('.date-single').click(function(e) {
6982       e.preventDefault();
6983       $('.date-single').removeClass('selected');
6984       $('#full-date').removeClass('selected');
6985       $(this).addClass('selected');
6986       $('#full-date').html('Full' + '<br/>' + 'Calendar');
6987     });
6988     $('#full-date').click(function(e){
6989       e.preventDefault();
6990       $('.date-single').removeClass('selected');
6991       $(this).addClass('selected');
6992     });
6993     
6994     // $("tr").each(function(){
6995     //   if($(this).text().match('SKU')) {
6996     //     $(".sku-product").html($(this).parents("table").html())
6997     //   }
6998     // })
6999     
7000     $("#product-image").scroll(function(){
7001       $(".desc-add").each(function(){
7002         const img = $(this).find("img")
7003         const src = img.data("src")
7004         img.attr("src", src)
7005       })
7006     })
7007 
7008     $(".product-fixed").hide()
7009     
7010     let target = $("#personalizeBtn")
7011     
7012 
7013     $(".product-meta").scroll(function() {
7014         if ($(window).scrollTop() >= target.offset().top ) {
7015             $(".product-fixed").addClass("show")
7016         } else {
7017           $(".product-fixed").removeClass("show")
7018         }
7019     });
7020 
7021     $(window).scroll(function() {
7022         if ($(window).scrollTop() >= target.offset().top ) {
7023             $(".product-fixed").addClass("show")
7024         } else {
7025           $(".product-fixed").removeClass("show")
7026         }
7027     });
7028   });
7029 </script>
7029
7030 
7031   
7031<script>
7032     //
7033   </script>
7033
7034 
7035 
7035<script>
7036   $(document).ready(function(){
7037     $('table tr td').each(function(){
7038       var texto = $(this).text();
7039       var nextto = $(this).next("td");
7040       var sku = $("#data-sku").val()
7041       if(texto == 'SKU'){
7042         nextto.text(sku)
7043       }
7044     });
7045     
7046     $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan");
7047     $(".stamped-summary-actions-newreview").text("Tulis Review");
7048     $("#tab-questions").text("Pertanyaan");
7049     
7050     $(".freeship .icon").click(function(){
7051       $(".fs-content").slideToggle();
7052       $(this).parents(".freeship").toggleClass("expand");
7053     });
7054     
7055     var $easyzoom = $('.easyzoom').easyZoom();
7056     // Setup thumbnails example
7057     var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom');
7058     $('.thumbnails').on('click', 'a', function(e) {
7059       var $this = $(this);
7060       e.preventDefault();
7061       // Use EasyZoom's `swap` method
7062       api1.swap($this.data('standard'), $this.attr('href'));
7063     });
7064 
7065     $('#playerID').click(function(){
7066       var videoURL = $('#VdoID').attr('src'),
7067           dataplay = $('#VdoID').attr('data-play');
7068 
7069       //for check autoplay
7070       //if not set autoplay=1
7071       if(dataplay == 0 ){
7072         $('#VdoID').attr('src',videoURL+'?autoplay=1');
7073         $('#VdoID').attr('data-play',1);
7074       }
7075       else{
7076         var videoURL = $('#VdoID').attr('src');
7077         videoURL = videoURL.replace("?autoplay=1", "");
7078         $('#VdoID').prop('src','');
7079         $('#VdoID').prop('src',videoURL);
7080 
7081         $('#VdoID').attr('data-play',0);
7082       }
7083 
7084     });
7085     
7086     $(".product-photo-thumb-video").click(function(e){
7087       e.preventDefault();
7088 
7089       var newEmbed = $(this).attr('href');
7090       $("#featured-image-product").addClass("img-video");
7091       $("#ProductPhotoImg").hide();
7092       $("#featured-image-product .video").show();
7093       $("#featured-image-product iframe").attr('src', newEmbed);
7094       $("#VdoID")[0].src += "&autoplay=1";
7095     });
7096     $(".product-single__thumbnail").click(function(evt){
7097       evt.preventDefault();
7098       $("#featured-image-product").removeClass("img-video");
7099       $("#ProductPhotoImg").show();
7100       $("#featured-image-product .video").hide();
7101       $("#featured-image-product iframe").attr('src', '');
7102     });
7103     
7104     if($('#product-meta .short-desc > div').length >= 1){
7105       //console.log('div detected')
7106       var replacer = $('#product-meta .short-desc > div').contents();
7107       $('#product-meta .short-desc > div').replaceWith(replacer);
7108 
7109       var cAssured =  $('.c-assured').detach();
7110       cAssured.insertAfter('.meta-sds .stock-info');
7111     }
7112 
7113     
7114     
7115     $(".heading-toggle").click(function(){
7116       $(this).parent().toggleClass("open")
7117       
7118     });
7119   });
7120 </script>
7120
7121 
7122 
7123   
7123<script type="application/json" id="ProductJson-Product">
7124         
7125         {"id":9979127912352,"title":"BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan."}
7126   </script>
7126
7127   
7128     
7128<script type="application/json" id="VariantJson-Product">
7129       [
7130         
7131           {
7132              "incoming": false,
7133              "next_incoming_date": null
7134           }
7135         
7136       ]
7137     </script>
7137
7138   
7139 
7140 
7141 
7142 </div>
7143 
7144 
7145 
7145<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7145
7146 <style>
7147     .stamped-review-header-title,
7148     .stamped-review-header .author,
7149     .stamped-review-content-body,
7150     .stamped-sort-select,
7151     .stamped-review-header .verified-badge[data-type=buyer]:after,
7152     .stamped-review-header-byline,
7153     .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;}
7154     .stamped-review {margin-bottom: 0;}
7155     .stamped-review-body {padding-left: 65px;}
7156     .stamped-review:first-child {padding-top: 25px;}
7157     .stamped-review-content {clear: none;}
7158     .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;}
7159     .stamped-review-reply-body {padding-left: 65px;}
7160     .stamped-review-header .author {text-transform: capitalize;}
7161     .stamped-questions .stamped-review-content {padding-left: 65px;}
7162 
7163     .stamped-pagination {margin: 20px 0 0;}
7164     .stamped-pagination li {position: initial!important;display: inline-block;position: relative;vertical-align: middle;text-decoration: none;-webkit-tap-highlight-color: transparent;-webkit-box-flex: 0;-moz-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;background: 0 0;text-transform: none;color: #33373D;font-weight: 400;-webkit-transition: background .1s ease,box-shadow .1s ease,color .1s ease;transition: background .1s ease,box-shadow .1s ease,color .1s ease;border: 1px solid #ccc;border-right: none;margin-bottom: 0;}
7165     .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;}
7166     .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;}
7167     .stamped-pagination li:hover a {background: #ddd;}
7168     .stamped-pagination .next {border-right: 1px solid #ccc;}
7169     .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;}
7170     .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;}
7171 
7172     #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;}
7173     #stamped-pagination-question span {font-size: 14px;}
7174     #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;}
7175     #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;}
7176     .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;}
7177     .stamped-pagination-prev, .stamped-pagination-next {position: inherit;}
7178     .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;}
7179 
7180     @media (max-width: 480px){
7181       .stamped-review-reply {margin-left: 0!important;}
7182       select.stamped-sort-select {font-size: 13px!important;}
7183     }
7184 
7185   #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content {
7186       display: block !important;
7187   }
7188 </style>
7189 
7189<script>
7190     var selectCallback = function(variant, selector) {
7191       timber.productPage({
7192         money_format: "Rp {{amount_no_decimals}}",
7193         variant: variant,
7194         selector: selector
7195       });
7196     };
7197 
7198     jQuery(function($) {
7199       new Shopify.OptionSelectors('productSelect', {
7200         product:
7201 
7202 
7203 
7204 
7205 
7206 {"id":9979127912352,"title":"BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan."},
7207         onVariantSelected: selectCallback,
7208         enableHistoryState: true
7209       });
7210 
7211       // Add label if only one product option and it isn't 'Title'. Could be 'Size'.
7212       
7213 
7214       // Hide selectors if we only have 1 variant and its title contains 'Default'.
7215       
7216         $('.selector-wrapper').hide();
7217       
7218     });
7219 </script>
7219
7220 
7221 
7222 
7223   
7223<script type="application/ld+json">
7224     {
7225     "@context": "http://schema.org",
7226     "@type": "Product",
7227 "offers": {
7228 "@type": "Offer",
7229 "availability":"https://schema.org/InStock",
7230 "price": 835000,
7231 "priceValidUntil": "05-10-2026",
7232 "priceCurrency": "IDR",
7233 "url": "https://snooglestore.com/"
7234 },
7235 "brand": {
7236 "@type": "Brand",
7237 "name": "Outerbloom Florist"
7238 },
7239 "sku": "9979127912352",
7240 "gtin13": "Sumatera",
7241 "name": "BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi",
7242 "description": "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.",
7243 "category": "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.",
7244 "url": "https://snooglestore.com/",
7245 "image": {
7246 "@type": "ImageObject",
7247 "url": "https://snooglestore.com/",
7248 "image": "https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp",
7249 "name": "BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi",
7250 "width": 1024,
7251 "height": 1024
7252 }
7253     }
7254   </script>
7254
7255 
7256 
7257 
7258 
7259         
7260 
7260<script id="bss-ltap-hide-price" type="text/javascript" >
7261 !function(e){var t={};function o(r){if(t[r])return t[r].exports;var c=t[r]={i:r,l:!1,exports:{}};return e[r].call(c.exports,c,c.exports,o),c.l=!0,c.exports}o.m=e,o.c=t,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var c in e)o.d(r,c,function(t){return e[t]}.bind(null,c));return r},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,o){"use strict";function r(e){e.ltsp={},function(e){e.ltsp.quickView=function(){document.querySelectorAll(".quickview-button").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementById("add-to-cart-quickview-form");if(e){let t=e.querySelector(".groups-btn");t&&t.remove();let o=e.querySelector(".pieces");o&&o.remove();let r=e.querySelector(".bsscommerce-ltsp-message");r&&r.remove()}if(e=document.querySelector("[data-quickview-modal] .halo-modal-body"),e){let t=e.querySelector(".quantity");t&&t.remove()}}),1e3)}))})),document.querySelectorAll(".shop-now-button").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementById("ShopNowContainer");if(e){let t=e.querySelector("#AddToCart");t&&t.remove()}}),2e3)}))})),document.querySelectorAll(".collection__filter").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-grid-item");if(o){let e=o.querySelector(".btn--quick-view");e&&e.remove()}}}),1500)}))})),document.querySelectorAll(".btn--icon.quick-product__btn").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-grid__content");if(o){let e=o.querySelector(".payment-buttons");e&&e.remove()}}}),2e3)}))})),document.querySelectorAll(".product-facet__aside").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-item");if(o){let e=o.querySelector('form[action="/cart/add"]');e&&e.remove();let t=o.querySelector(".product-item__quick-form");t&&t.remove()}}}),1500)}))})),document.querySelectorAll(".pagination").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-item");if(o){let e=o.querySelector('form[action="/cart/add"]');e&&e.remove();let t=o.querySelector(".product-item__quick-form");t&&t.remove()}}}),1800)}))})),document.querySelectorAll(".collection-filters__sort").forEach((function(e){e.addEventListener("change",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".indiv-product");if(o){let e=o.querySelector('form[action="/cart/add"]');e&&e.remove()}}}),1500)}))}
7261)),document.querySelectorAll(".slideout__drawer-right, .sidebar_leftside_wapper, .filtering__results").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-index");if(o){let e=o.querySelector(".js-quickview-trigger");e&&e.remove()}}}),1500)}))})),document.querySelectorAll("a.product-loop__quickview").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".large--one-half");if(o){let e=o.querySelector(".quick-smart-wrapper");e&&e.remove();let t=o.querySelector("#quantity-container");t&&t.remove();let r=o.querySelector(".js-prod-show-soldout");r&&r.remove()}}}),2e3)}))})),document.querySelectorAll(".quick-product__btn").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-single__meta");if(o){let e=o.querySelector("div.payment-buttons");e&&e.remove()}}}),1e3)}))})),document.querySelectorAll(".btn--load-more").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".grid-view-item");if(o){let e=o.querySelector(".quick-add-button");e&&e.remove()}}}),1e3)}))})),document.querySelectorAll(".quick_shop").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product_section");if(o){let e=o.querySelector(".product_form .shopify-product-form .purchase-details"),t=o.querySelector(".product__details .modal_price .price-ui");e&&e.remove(),t&&t.remove()}}}),1e3)}))})),document.querySelectorAll(".qs-button ").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-info-main");if(o){let e=o.querySelector(".qty-box");e&&e.remove();let t=o.querySelector(".btn.btn-cart");t&&t.remove();let r=o.querySelector(".product-single__sale-price");r&&r.remove();let c=o.querySelector(".product-addto-links");c&&c.remove()}}}),1e3)}))}));let e=document.querySelector("a[data-js-cart-icon]");if(e&&e.addEventListener("click",(function(){let e=document.querySelector(".quick-cart__control");e&&e.remove();let t=document.querySelector(".quick-cart__item-right");t.childNodes[3]&&(t.childNodes[3].innerHTML="Login to seen price")})),document.querySelectorAll(".quick-add-button-variants").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest("#AddToCartForm");if(o){let e=o.querySelector(".paymentButtonsWrapper");e&&e.remove()}}}),1e3)}))})),document.querySelectorAll(".product-thumbnail__quickshop-button").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-details");if(o){let e=o.querySelectorAll(".bsscommerce-ltsp-message");e.length>1&&e.forEach((function(e,t){t>0&&e.remove()}));let t=o.querySelector(".product-form__cart-buttons");t&&t.remove();let r=o.querySelector(".product-form__quantity-box-wrapper");r&&r.remove()}}}),800)}))})),"b2b-dbodhi-singapore.myshopify.com"===window.Shopify.shop){let e=0;const t=window.location.pathname.includes("/collections");let o=!0;const r=function(){const e=setInterval((function(){let e=document.querySelectorAll(".thb-product-detail.product .bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t],r=o.closest(".thb-product-detail.product");if(r){let e=r.querySelector(".product-form");e&&e.remove()}r=o.closest("del"),r&&o.remove()}}),500);setTimeout(()=>{clearInterval(e)},6e3)},c=function(){const c=window.pageYOffset||document.documentElement.scrollTop;(c>e||!t||o)&&(document.querySelectorAll(".product-card-quickview").forEach((function(e){e.removeEventListener("click",r),e.addEventListener("click",r)}
7261)),o=!1),e=c<=0?0:c};if(c(),t){const e=function(){const e=c;let t;return()=>{clearTimeout(t),t=setTimeout(()=>{e.apply(this)},3e3)}};window.addEventListener("scroll",e())}}}}(e),function(e){e.ltsp.removeElementByLTSPMessage=function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message"),t=[],o=window.Shopify.shop;for(let r=0;r<e.length;r++){let c=e[r],l=[".grid-product__on-sale",".product-unit-price",".product-price-unit",".grid-link__sale_price","s",".price__compare",".product__compare-price",".price__unit",".card__price--regular",".sale-tag",".compare-price",".old-price",".savings",".was_price",".price--compare",".price-compare",".was"];if("stark-hockey.myshopify.com"===o){const e=c.closest(".product-index");if(e){const t=e.querySelector(".product-modal");t&&t.remove()}continue}let s=c.closest(".product-parent");if(s){let e=s.querySelector("form .tt-btn-addtocart");e&&t.push(e);let o=s.querySelector(".tt-btn-quickview");o&&t.push(o)}if(s=c.closest(".ProductItem"),s){let e=s.querySelector(".quickshop-btn");if(e&&t.push(e),"shrimptoncouture-com.myshopify.com"===o){let e=s.querySelector(".ProductItem__PriceList");e&&e.classList.remove("ProductItem__PriceList")}}if(s=c.closest(".product-item--vertical"),s){if("sparklinbluewholesale.myshopify.com"===o){let e=s.querySelector(".product-item__info .product-item__price-list");e&&t.push(e)}let e=s.querySelector(".product-item__info .product-item__action-button");e&&t.push(e),e=s.querySelector(".product-form__payment-container"),e&&t.push(e)}if(s=c.closest(".card-wrapper.underline-links-hover"),s&&"friends-forever-pets.myshopify.com"===o){let e=s.querySelector(".card__content .quick-add");e&&t.push(e);let o=s.querySelector(".card-information .price__sale .price-item.price-item--regular");o&&t.push(o)}if(s=c.closest(".modal_price"),s&&window.Shopify&&"casa-barba.myshopify.com"!==window.Shopify.shop&&"prideandgroom-wholesale.myshopify.com"!==window.Shopify.shop){let e=s.querySelector(".price-ui");e&&t.push(e)}if(s=c.closest(".info.has-padding-top"),s){let e=s.querySelector(".compare-at-price");e&&t.push(e)}if(s=c.closest(".product-thumbnail__price.price"),s){let e=s.querySelector(".money");e&&t.push(e)}if(s=c.closest(".search-result__description"),s){let e=s.querySelector(".money");e&&t.push(e)}if(s=c.closest(".product__price"),s){let e=s.querySelector("[data-product-price][bss-custom-ltsp-attribute]");e&&t.push(e)}if(s=c.closest("#template-product"),s){let e=s.querySelector(".product-form.cart-bar__form");e&&t.push(e)}if("showroom1-ducanero.myshopify.com"===o){if(s=c.closest(".product-area")||c.closest(".price"),s){let e=s.querySelector(".price-area")||s.querySelector(".theme-money");e&&t.push(e)}}else if(s=c.closest(".product-area__details"),s){let e=s.querySelector(".product-detail__form__action");e&&t.push(e);let o=s.querySelector(".quantity-wrapper");o&&t.push(o)}if("quincaillerie-euroline.myshopify.com"===o&&(s=c.closest(".product-form__info-content"),s)){let e=s.querySelector(".price-list");e&&t.push(e)}if(s=c.closest(".product-form__buttons"),s&&t.push(s),s=c.closest(".product-wrap-2"),s){let e=s.querySelector(".product-action-2");e&&t.push(e)}if(s=c.closest(".span6"),s){let e=s.querySelector(".purchase>input"),o=s.querySelector(".price-container>#price-preview"),r=s.querySelector(".price-container>.vat-price");e&&t.push(e),o&&t.push(o),r&&t.push(r)}if(s=c.closest(".product__page"),s){let e=s.querySelector(".quantity-selector");e&&t.push(e)}if(s=c.closest(".product_details_info"),s){let e=s.querySelector(".pro-detail-button"),o=s.querySelector(".price-box");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".product-content"),s){let e=s.querySelector(".product-action");e&&t.push(e)}if(s=c.closest(".product-view .single-product-wrap"),s){let e=s.querySelector(".add-to-cart");e&&t.push(e)}if(s=c.closest(".collection-category .owl-stage .owl-item"),s){let e=s.querySelector(".add-to-cart");e&&t.push(e)}if(s=c.closest(".product__details"),s){let e=s.querySelector(".product-wrap .thumbnail-overlay .info .price ");e&&t.push(e);let o=s.querySelector(".product-details .price  .current_price .money ");o&&t.push(o)}if(s=c.closest(".product_row"),s){let e=s.querySelector(".three-fourths .info .price ");e&&t.push(e)}if(s=c.closest(".thubnail-desc"),s){let e=s.querySelector(".quatity-stock");e&&t.push(e);let o=s.querySelector(".Payment_button");o&&t.push(o)}if(s=c.closest(".single-ponno-product"),s){let e=s.querySelector(".pro-actions-link");e&&t.push(e);let o=s.querySelector(".pro-add-cart");o&&t.push(o)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector("div.product-form__controls-group.product-form__controls-group--submit");e&&e.setAttribute("style","visibility:hidden")}if("homewarerus.myshopify.com"!=window.Shopify.shop&&(s=c.closest(".product-item__info"),s)){let e=s.querySelector("form.product-item__action-list.button-stack");e&&e.remove()}
7261if("bluebasketb2b.myshopify.com"===window.Shopify.shop){if(s=c.closest(".card-information"),s){let e=s.querySelector(".price__sale .price-item--sale.sale-percentage");e&&t.push(e)}if(s=c.closest("tr.cart-item[id*=Cart]"),s){let e=s.querySelector(".cart-item__quantity");e&&e.remove();let t=s.querySelector(".cart-item__totals");t&&t.remove()}}if(s=c.closest(".product-form"),s){let e=s.querySelector(".quantity-submit-row__submit");e&&e.remove();let o=s.querySelector(".product-form__info-list .product-form__info-item.product-form__info-item--quantity .product-form__info-content .quantity-selector.quantity-selector--product");o&&t.push(o)}if(s=c.closest(".product-grid__detail"),s){let e=s.querySelector(".product-form-block form");e&&e.remove()}if(s=c.closest(".tab-body"),s){if(s.querySelector(".purchase-section button, .btn.add-to-cart")){let e=setInterval((function(){let e=document.querySelector(".tab-body .purchase-section button, .tab-body .btn.add-to-cart"),t=document.querySelector(".swym-button-bar.swym-wishlist-button-bar");e&&e.remove(),t&&t.remove()}),200);setTimeout((function(){clearInterval(e)}),1e4)}}if(s=c.closest(".item.relative.product-id.item-row"),s){let e=s.querySelector(".quantity.form");e&&e.remove()}if(s=c.closest(".product-form"),s){let e=s.querySelector(".buy-buttons-row");e&&t.push(e)}if(s=c.closest(".product-grid-item"),s){let e=s.querySelector(".btn--quick-view");e&&t.push(e)}if(s=c.closest(".featured__collection-product"),s){let e=s.querySelector(".js-quickview-trigger");e&&t.push(e)}if(s=c.closest(".product-index"),s){let e=s.querySelector(".js-quickview-trigger");e&&t.push(e)}if(s=c.closest(".product-bottom"),s){let e=s.querySelector(".quantity-selector, .product-add");e&&t.push(e)}if(s=c.closest(".js-sticky-cart"),s){let e=s.querySelector(".sticky-add");e&&t.push(e)}if(s=c.closest(".product-details"),s){let e=s.querySelector(".shopify-payment-button");e&&t.push(e);let r=s.querySelector(".payment-and-quantity__add");r&&t.push(r);let c=s.querySelector(".price__compare-at.visible");c&&"coventa-demo.myshopify.com"===o&&t.push(c)}if(s=c.closest(".product-block__inner"),s){let e=s.querySelector(".quick-buy");e&&t.push(e)}if(s=c.closest(".content-summary"),s){let e=s.querySelector("form.cart");e&&t.push(e)}if(s=c.closest('div[data-pf-type="Section"]'),s){let e=s.querySelector('div[data-pf-type="ProductQuantity"]');e&&t.push(e);let o=s.querySelector('button[data-pf-type="ProductATC"]');o&&t.push(o)}if(s=c.closest(".pc-inner"),s){let e=s.querySelector('form[action="/cart/add"]');e&&t.push(e);let o=s.querySelector(".quick_shop");o&&t.push(o)}if(s=c.closest(".product-info-inner"),s){let e=s.querySelector('form[action="/cart/add"]');e&&t.push(e)}if(s=c.closest(".product-details-inline"),s){let e=s.querySelector(".product-quantity");e&&t.push(e)}if(s=c.closest(".product-card"),s){let e=s.querySelector(".js-grid-cart");e&&t.push(e);let o=s.querySelector(".card-header .card-button-hover");o&&t.push(o);let r=s.querySelector(".product-card__quick-buy");r&&t.push(r);let c=s.querySelector("compare-at-price");c&&t.push(c);let l=s.querySelector(".product-card__badge-list");l&&t.push(l)}if(s=c.closest(".product__info"),s){let e=s.querySelector(".product-form__buy-buttons button");e&&t.push(e);let o=s.querySelector(".product-form__quantity");o&&t.push(o)}if(s=c.closest(".product-sticky-form__inner"),s){let e=s.querySelector(".product-sticky-form__payment-container");e&&t.push(e)}if("homewarerus.myshopify.com"!=window.Shopify.shop&&(s=c.closest(".product-item"),s)){let e=s.querySelector('form[action="/cart/add"]');e&&t.push(e);let o=s.querySelector(".product-item__quick-form");o&&t.push(o)}if(s=c.closest(".shopify-product-form"),s){let e=s.querySelector("div.quantity");e&&t.push(e)}if(s=c.closest(".product-body"),s){let e=s.querySelector(".product-cta-wrapper");e&&t.push(e)}if(s=c.closest(".tt-product-single-info"),s){let e=s.querySelector("form .btn-addtocart");e&&t.push(e);let o=s.querySelector('form[action*="/cart/add"]');o&&t.push(o)}if(s=c.closest(".product-details-wrapper"),s){let e=s.querySelector(".product-form");e&&t.push(e)}if(s=c.closest(".product-inner"),s){let e=s.querySelector(".product-card-interactions");e&&t.push(e)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector(".add-to-cart");if(e)if(window.Shopify&&"bundlecomph.myshopify.com"===window.Shopify.shop){e.disabled=!0;let o=s.querySelector(".payment-buttons"),r=s.querySelector(".shopify-payment-button");o&&o.classList.remove("payment-buttons"),r&&t.push(r)}else t.push(e)}if(s=c.closest(".grid-view-item"),s){let e=s.querySelector(".thumbnail-buttons");e&&t.push(e)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector(".product-form:not(.product-form-product--static):not(.product-form-product-template)");e&&t.push(e)}if(s=c.closest(".pf-product-form"),s){let e=s.querySelector(".sc-lkgURy");e&&t.push(e);let o=s.querySelector(".sc-gzcbmu");o&&t.push(o);let r=s.querySelector(".add-to-cart");r&&t.push(r)}if(s=c.closest(".large--one-half"),s){let e=s.querySelector(".product-smart-wrapper");e&&t.push(e);let o=s.querySelector('div.btn[onmouseup="showProductsDesigner(this)"]');o&&t.push(o);let r=s.querySelector("button.js-prod-show-soldout");r&&t.push(r)}if(s=c.closest("#add-to-cart-form"),s)if("led-signcity.myshopify.com"===o){let e=s.querySelector(".atc-btn");e&&t.push(e);let o=s.querySelector(".price");o&&o.classList.remove("price")}else{let e=s.querySelector(".groups-btn");e&&t.push(e),t.push(c)}
7261if(s=c.closest(".product-shop"),s&&"led-signcity.myshopify.com"!==o){let e=s.querySelector(".groups-btn");e&&t.push(e)}if(s=c.closest(".who-qof-table"),s&&s.classList.add("bsscommerce-hide-price"),s=c.closest(".price-sale"),s){let e=s.querySelector(".old-price");e&&t.push(e);let o=s.querySelector("em");o&&(o.innerHTML="")}if(s=c.closest(".product-details"),s){let e=s.querySelector(".action");e&&t.push(e)}if(s=c.closest(".product_section"),s){let e=s.querySelector("form .add_to_cart, form .b2b-ajax-submit");e&&t.push(e);let o=s.querySelector(".sale.savings");o&&t.push(o);let r=s.querySelector(".purchase-details button.button--add-to-cart");r&&t.push(r);let c=s.querySelector(".purchase-details .purchase-details__quantity.product-quantity-box");c&&t.push(c);let l=s.querySelector(".product__details .modal_price .price-ui");l&&t.push(l)}if(s=c.closest(".quick-shop-style--inline"),s){let e=s.querySelector("form .add_to_cart, form .b2b-ajax-submit");e&&t.push(e)}if(s=c.closest(".product-details"),s){let e=s.querySelector("small em");e&&t.push(e)}if(s=c.closest(".gt_product-body"),s){let e=s.querySelector("form .gt_product-addtocart");e&&t.push(e);let o=s.querySelector(".gt_product-saved");o&&t.push(o);let r=s.querySelector(".gt_product-price--compare");r&&t.push(r)}if(s=c.closest(".gt_product_content"),s){let e=s.querySelector("form .gt_product-addtocart");e&&t.push(e);let o=s.querySelector(".gt_product-price--compare");o&&t.push(o)}if(s=c.closest(".gt-single-product"),s){let e=s.querySelector("div.gt_method_addToCart");e&&t.push(e);let o=s.querySelector(".gt_product-price--compare");o&&t.push(o)}if(s=c.closest("#cont-form"),s){let e=s.querySelector("form .cont-add-btns");e&&t.push(e)}if(s=c.closest(".theiaStickySidebar"),s){let e=s.querySelector(".variations_button");e&&t.push(e)}if(s=c.closest(".product--price-wrapper"),s){let e=s.querySelector(".product--compare-price");e&&t.push(e)}if(s=c.closest(".product-submit"),s){let e=s.querySelector(".payment-buttons-container");e&&t.push(e)}if(s=c.closest(".product-price"),s){let e=s.querySelector(".product-price-compare");e&&t.push(e)}if(s=c.closest(".product-list-item"),s){let e=s.querySelector(".original"),o=s.querySelector(".product-list-item-badge");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".productitem"),s){let e=s.querySelector(".productitem--action");e&&t.push(e);let o=s.querySelectorAll(".bss-ltsp-to-remove");if(o.length)for(let e of o)t.push(e)}if(s=c.closest(".product--outer"),s){let e=s.querySelector(".product-form--atc");e&&t.push(e),e=s.querySelector(".shopify-payment-button"),e&&t.push(e)}if(s=c.closest(".Container"),s)if(window.Shopify&&"mama-shawna.myshopify.com"===window.Shopify.shop){let e=s.querySelector("form.ProductForm");if(window.__st&&e){__st.cid&&t.push(e)}}else{let e=s.querySelector(".ProductForm__BuyButtons");e&&t.push(e)}if(s=c.closest(".product-grouped"),s){let e=s.querySelector(".product_top form#add-to-cart-form");e&&t.push(e)}if(s=c.closest(".product-item"),s){let e=s.querySelector(".product-top .product-des .action"),o=s.querySelector(".slideup");if(e&&t.push(e),o&&t.push(o),o=s.querySelector(".card-quickview"),o&&t.push(o),window.Shopify&&"sitchish.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".product-item-price .money");e&&e.classList.remove("money")}}if(s=c.closest(".modal_price"),s){let e=s.querySelector(".was_price");e&&t.push(e)}if(s=c.closest(".info"),s){let e=s.querySelector(".was_price");e&&t.push(e)}if(s=c.closest(".product-item"),s){let e=s.querySelector('.product-item__action-button[data-action="add-to-cart"]');e&&t.push(e)}if(s=c.closest(".grid__item.grid-product"),s){let e=s.querySelector('form[action="/cart/add"] input[type="submit"]');e&&t.push(e);let r=s.querySelector(".grid-product__tag");r&&t.push(r);let c=s.querySelector(".visually-hidden");c&&t.push(c);let l=s.querySelector(".quick-product__btn");l&&"comphycompany.myshopify.com"===o&&t.push(l)}if(s=c.closest(".product-info"),s){let e=s.querySelector('form[action="/cart/add"] .payment-buttons');e&&t.push(e);let o=s.querySelector(".variant-wrapper.variant-wrapper--button");o&&t.push(o);let r=s.querySelector(".form .product-actions .product-actions-add-to-cart");r&&t.push(r);let c=s.querySelector(".product-price__compare");
7261c&&t.push(c),c=s.querySelector("compare-at-price"),c&&t.push(c);let l=s.querySelector("unit-price");l&&t.push(l),e=s.querySelector(".buy-buttons"),e&&t.push(e);let u=s.querySelector(".product-info__badge-list");u&&t.push(u)}if(s=c.closest(".price"),s){if(s.textContent.includes("From")){let e=s.innerHTML;s.innerHTML=e.replace("From","")}}if(s=c.closest("#product-right"),s){let e=s.querySelector(".was");e&&t.push(e);let o=s.querySelector(".product-add");o&&t.push(o)}if(s=c.closest(".was"),s&&t.push(s),s=c.closest(".product-single__meta"),s){let e=s.querySelector(".pf__actions");e&&t.push(e);let o=s.querySelector("div.product-form__controls-group.product-form__controls-group--submit");o&&o.setAttribute("style","visibility:hidden")}if(s=c.closest(".product-item"),s){let e=s.querySelector(".product-item__add");e&&t.push(e)}if(s=c.closest(".grid-item"),s){let e=s.querySelector("#addToCart-product-template");e&&t.push(e);let o=s.querySelector(".payment-buttons");o&&t.push(o)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector("div.payment-buttons");e&&e.remove()}if(s=c.closest(".modal--root"),s){let e=s.querySelector(".product-form--button-container");e&&t.push(e)}if(s=c.closest(".product-item__info"),s){let e=s.querySelector("a.product-item__action-button.button.button--small.button--primary");e&&t.push(e)}if(s=c.closest(".product-form__info-list"),s){let e=s.querySelector("div.product-form__info-item.product-form__info-item--quantity");e&&t.push(e)}if(s=c.closest(".large--three-fifths"),s){let e=s.querySelector(".multivariants_setbox_footer");e&&t.push(e)}if(s=c.closest(".product-info-main"),s){let e=s.querySelector(".qty-box");e&&t.push(e);let o=s.querySelector(".btn.btn-cart");o&&t.push(o);let r=s.querySelector(".shopify-payment-button");r&&t.push(r)}if(s=c.closest(".product-miniature"),s){let e=s.querySelector(".qty-box");e&&t.push(e);let o=s.querySelector(".product.actions.product-item-actions");o&&t.push(o)}if(s=c.closest("#AddToCartForm"),s){let e=s.querySelector(".paymentButtonsWrapper");e&&t.push(e)}if(s){let e=s.querySelector("#product-add");e&&e.remove()}if(s){let e=s.querySelector("#product-price>.product-price");e&&e.remove()}if(s=c.closest(".grid-view-item"),s){let e=s.querySelector(".quick-add-button");e&&t.push(e)}if("tinalykkegaard.myshopify.com"===o){if(s=c.closest(".main-product__details>.main-product__details-wrapper"),s){let e=s.querySelector(".main-product__actions .main-product__form-buttons");e&&e.remove()}if(s=c.closest(".product-grid .product-card"),s){let e=s.querySelector('form[action="/cart/add"]');e&&e.remove()}}if(s=c.closest(".product-item-caption"),s){let e=s.querySelector(".product-form__item--submit");e&&t.push(e)}if(s=c.closest(".product-item-caption"),s){let e=s.querySelector(".product-form__item--quantity");e&&t.push(e)}if(s=c.closest(".productgrid--item"),s){let e=s.querySelector(".productitem--actions");e&&t.push(e)}if(s=c.closest(".product-single__info-wrapper"),s){let e=s.querySelector(".product-form__quantity-submit");e&&t.push(e);let o=s.querySelector(".shopify-payment-button");o&&t.push(o)}if(s=c.closest(".qv-content"),s){let e=s.querySelector(".qv-add-button");e&&t.push(e);let o=s.querySelector(".qv-quantity");o&&t.push(o)}if(s=c.closest(".product-card"),s){let e=s.querySelector(".btn-grid-cart");e&&t.push(e)}if(s=c.closest(".product_single_detail_section"),s){let e=s.querySelector("#AddToCart");e&&t.push(e);let o=s.querySelector(".shopify-payment-button__button");o&&t.push(o);let r=s.querySelector(".quantity-label");r&&t.push(r);let c=s.querySelector(".quantity_width");c&&t.push(c)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector("#AddToCart--product-template");e&&t.push(e);let o=s.querySelector(".shopify-payment-button");o&&t.push(o)}if(s=c.closest('form[action="/cart/add"]'),s){let e=s.querySelector(".product-page-info__field");e&&t.push(e);let o=s.querySelector(".product-page-info__button-add-to-cart");o&&t.push(o);let r=s.querySelector(".js-store-lists-add-wishlist");r&&t.push(r);let c=s.querySelector(".product-collection__control");c&&t.push(c)}if(s=c.closest(".grid-item__content"),s){let e=s.querySelector(".quick-add-btn");if(e&&t.push(e),window.Shopify&&"sparklinbluewholesale.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".grid-product__price--original"),o=s.querySelector(".grid-product__price--savings"),r=s.querySelector(".quick-product__btn");e&&t.push(e),o&&t.push(o),r&&t.push(r)}}if(s=c.closest(".purchase-box"),s){let e=s.querySelector("#AddToCart-product-template");e&&e.remove();let t=s.querySelector(".quantity-product-template");t&&t.remove()}if(s=c.closest(".item-row"),s){let e=s.querySelector(".add-to-cart");e&&t.push(e)}if(s=c.closest(".product-thumbnail__price"),s){let e=s.querySelectorAll(".bsscommerce-ltsp-message");e.length>1&&e.forEach((function(e,o){o>0&&t.push(e)}))}if(s=c.closest(".product-details"),s){let e=s.querySelector(".product__add-to-cart-button");e&&t.push(e);let r=s.querySelector(".product-form__quantity-box-wrapper");if(r&&t.push(r),"sitchish.myshopify.com"===o){let e=s.querySelector("#product-price");e&&(e.id="");let o=s.querySelector("[data-product-price]");o&&o.removeAttribute("data-product-price");let r=s.querySelector(".form-actions");r&&t.push(r)}let c=s.querySelector(".product-quantity");if(c&&t.push(c),"lavabis-hygiene.myshopify.com"===o){let e=s.querySelector(".price-preview.price");e&&(e.id="")}}if(s=c.closest(".product-details"),s){let e=s.querySelector("#add-to-cart-product-template");e&&t.push(e);let o=s.querySelector(".shopify-payment-button__button");o&&o.remove();let r=s.querySelector(".quantity");r&&t.push(r)}if(s=c.closest(".gryffeditor"),s){let e=s.querySelector(".gf_product-quantity");e&&e.parentElement.remove()}if(s=c.closest("#ProductSection-product-template"),s){let e=s.querySelector(".cbb
7261-frequently-bought-add-button");e&&e.remove();let t=s.querySelector(".cbb-frequently-bought-form");t&&t.remove()}if(s=c.closest(".product__info-wrapper"),s){let e=s.querySelector(".product-form__quantity");e&&e.remove();let t=s.querySelector(".product-form__buttons");t&&t.remove()}if(s=c.closest(".product-form"),s){let e=s.querySelector(".product-form__payment-container");e&&e.remove();let o=s.querySelector("#price");if(o&&o.classList.remove("product-price"),window.Shopify&&"wilkens-gmbh.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".unit-price");e&&t.push(e)}}if(s=c.closest(".product-details"),s){let e=s.querySelector(".button-common");e&&e.remove()}if(s=c.closest(".caption"),s){let e=s.querySelector(".button.btn-cart");e&&t.push(e)}if(s=c.closest(".product-info-main"),s){let e=s.querySelectorAll(".form-group")[1];e&&t.push(e);let o=s.querySelector(".price");o&&(o.id="")}if(s=c.closest(".form_buy_sticky"),s){let e=s.querySelector(".form-group .btn.button.button-cart");e&&t.push(e);let o=s.querySelector(".form-group input#Quantity");o&&t.push(o)}if(s=c.closest(".product-template__container"),s){let e=s.querySelector(".store-availability-container");e&&e.remove()}if(s=c.closest(".product-form--container"),s){let e=s.querySelector(".product-form--options");e&&t.push(e);let o=s.querySelector(".product-form--smart-payment-buttons");o&&t.push(o)}if(s=c.closest(".product--price-wrapper"),s){let e=s.querySelector('.product--from[data-item="accent-text"]');e&&t.push(e)}if(s=c.closest("#zpproductselectorfull1-wrapper"),s){let e=s.querySelector(".zpa-button-alignment-center");e&&t.push(e);let o=s.querySelector(".zpa-quantity-block");o&&t.push(o)}if(s=c.closest(".zpa-multi-product-buy-box"),s){let e=s.querySelector(".zpa-button-alignment-center");e&&t.push(e)}if(s=c.closest(".product-block__inner"),s){let e=s.querySelector('form[action="/cart/add"].product-form.product-form--mini');if(e&&t.push(e),window.Shopify&&"wilkens-gmbh.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".unit-price");e&&t.push(e)}}if(s=c.closest(".was-price.theme-money"),s&&t.push(s),s=c.closest(".box_product_page"),s){let e=s.querySelector(".product-options-bottom");e&&t.push(e)}if(s=c.closest(".product-default"),s){let e=s.querySelector(".add-links.clearfix");e&&t.push(e)}if(s=c.closest(".grid__item.medium-up--three-eighths"),s){let e=s.querySelector('form[action="/cart/add"].shopify-product-form');e&&t.push(e)}if(s=c.closest(".indiv-product"),s){let e=s.querySelector('form[action="/cart/add"]');e&&t.push(e)}if(s=c.closest('form.product-form[action="/cart/add"]'),s){let e=s.querySelector(".sf__pcard-image .sf__pcard-quick-add");e&&t.push(e);let o=s.querySelector(".main-product__block-buy_buttons");o&&t.push(o)}if(s=c.closest(".product-grid-item.woodmart-hover-base"),s){let e=s.querySelector(".fade-in-block");e&&t.push(e);let o=s.querySelector(".product-compare-button");o&&t.push(o)}if(s=c.closest(".grid__item"),s){if("www-bonmatch-com.myshopify.com"===o){let e=s.querySelector(".selector-wrapper.bcpo-file"),o=s.querySelector(".uploadkit.uploadkit-injected"),r=s.querySelector(".uploadkit-form");e&&t.push(e),o&&r&&r.appendChild(o)}let e=s.querySelector(".product__submit__buttons");e&&t.push(e);let r=s.querySelector(".products > .product-detail > .product-button"),c=s.querySelector(".products > .product-container > .product-button > .quick-view-text");r&&t.push(r),c&&t.push(c);let l=s.querySelector("button#AddToCart"),u=s.querySelector('[data-shopify="payment-button"].shopify-payment-button');if(l&&t.push(l),u&&t.push(u),"tienda-suca-bikes.myshopify.com"===o){let e=s.querySelector(".product__unit-price.product__unit-price--spacing"),t=s.querySelector(".c_p-quantity-input-parent"),o=s.querySelector(".masIva"),r=s.querySelector(".c_col-sw-btn");e&&e.classList.remove("hide"),t&&t.remove(),o&&o.remove(),r&&r.remove()}if("youchique-4183.myshopify.com"===o){let e=s.querySelector(".card-information__button");e&&t.push(e);let o=s.querySelector(".swym-wishlist-button-bar");o&&t.push(o)}if("stelladetailsb2b.myshopify.com"===o){let e=s.querySelector(".bss-b2b-product-vat");e&&t.push(e);let o=s.querySelector("#bss-b2b-tax-inc-excl");o&&t.push(o);let r=s.querySelector(".bss-b2b-collection-item-vat");r&&t.push(r);let c=s.querySelector(".price__regular");if(c){c.classList.remove("price__regular");let e=s.querySelector(".price-item--regular");e&&e.classList.remove("price-item--regular")}let l=s.querySelector(".price__sale");l&&t.push(l)}let i=s.querySelector("quick-view-drawer");
7261i&&t.push(i);let p=s.querySelector("add-to-cart");p&&t.push(p)}if(s=c.closest(".shop-the-look__product-info"),s){let e=s.querySelector('form[action="/cart/add"]');e&&t.push(e)}if(s=c.closest(".popover.popover--quick-buy"),s){let e=s.querySelector(".product-form__buy-buttons");e&&t.push(e)}if(s=c.closest(".product__section.product-template .product__section-content .product__section-details"),s){let e=s.querySelector('form[action="/cart/add"] input#addToCart');e&&t.push(e)}if(s=c.closest(".product-item__info-inner"),s){let e=s.querySelector(".unit-price-measurement");e&&t.push(e)}if(s=c.closest(".product-form__info-item"),s){let e=s.querySelector(".unit-price-measurement");e&&t.push(e)}if(s=c.closest("div[data-product-blocks]"),s){let e=s.querySelector(".payment-buttons");e&&t.push(e);let o=s.querySelector(".spt-wishlist-button__wrapper");o&&t.push(o)}if(s=c.closest(".sf__pcard-content.text-center"),s){let e=s.querySelector("button.add-to-cart.sf__btn");e&&t.push(e)}if(s=c.closest(".product-details.section"),s){let e=s.querySelector('form#AddToCartForm.product-content-inner[action="/cart/add"]');e&&t.push(e)}if(s=c.closest(".search-item .product-item, .product-grid-row .product-item"),s){let e=s.querySelector(".product-img .action-btn");e&&t.push(e)}if(s=c.closest(".product-collection__content,.product-page-info"),s){let e=s.querySelector(".js-product-button-add-to-cart");e&&t.push(e)}if(s=c.closest(".details-info"),s){let e=s.querySelector(".group-button .add-to-cart");e&&t.push(e)}if(s=c.closest(".product-collection"),s){let e=s.querySelector(".group-button .add-to-cart");e&&t.push(e)}let u=c.closest("[data-js-product-price]");if(u&&u.setAttribute("bss-ltsp-active",""),s=c.closest(".product__info-container"),s){let e=s.querySelector('.form[data-type="add-to-cart-form"] > .shopify-payment-button[data-shopify="payment-button"]');e&&t.push(e)}if(s=c.closest(".products"),s){let e=s.querySelector(".product-container > .product-button > .variants > .add-cart-btn"),o=s.querySelector(".product-container > .product-button > .quick-view-text");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".dt-sc-tabs-container"),s){let e=s.querySelector(".dt-sc-tabs-content > .tab2 > .owl-stage-outer > .owl-stage > .owl-item > .item-row > .products > .product-container > .product-button > .variants > .add-cart-btn");e&&t.push(e)}if(s=c.closest(".wrapper-container"),s){let e=s.querySelector(".recently-viewed-products > .products-grid > .grid__item > .product-item > .products > .product-bottom > .price-box > .regular-product > .special-price"),o=s.querySelector(".recently-viewed-products > .products-grid > .grid__item > .product-item > .products > .product-bottom > .action > .variants > .add-to-cart-btn");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".featured__collection-product.product-index"),s){let e=s.querySelector(".product_listing_options");e&&t.push(e)}if(s=c.closest(".product-index"),s){let e=s.querySelector(".product_listing_options");e&&t.push(e)}if(s=c.closest(".product__section-details"),s){let e=s.querySelector(".product__section-details__inner
7261--product_buttons");e&&t.push(e)}if(s=c.closest(".product-page--cart-form-block"),s){let e=s.querySelector(".add-to-cart");e&&t.push(e)}if(s=c.closest(".price__sale"),s){let e=s.querySelector(".price-item--regular");e&&t.push(e)}if(s=c.closest(".product-item-v1"),s){let e=s.querySelector(".price-old"),o=s.querySelector(".product-icon-action");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".detail-info > .relative"),s){let e=s.querySelector("#AddToCartForm > .btn-action"),o=s.querySelector('div.shopify-payment-button[data-shopify="payment-button"]'),r=s.querySelector(".product-price > del");e&&t.push(e),o&&t.push(o),r&&t.push(r)}if(s=c.closest(".product-details"),s){let e=s.querySelector(".product-block--form>.product-form--regular");e&&"eurosafetysystems.myshopify.com"!==o&&e.remove();let t=s.querySelector(".button-cart");t&&t.remove()}if("annabellenoeldesigns-com.myshopify.com"==o&&(s=c.closest(".product-block-list__item .card__section"),s)){let e=s.querySelector("#MULTIVARIANTS_APP_SECTION_PLACE .multivariants_block_qty_box");e&&e.remove();let t=s.querySelector("#MULTIVARIANTS_APP_SECTION_PLACE .multivariants_block_last_holder .multivariants_block_prc_holder");t&&t.remove();let o=s.querySelector("#MULTIVARIANTS_APP_SECTION_PLACE #multivariants_add_to_cart_button_h");o&&o.remove();let r=s.querySelector("#MULTIVARIANTS_APP_SECTION_PLACE #multivariants_block_subtotal_h");r&&r.remove()}if("fedua-b2b.myshopify.com"==o){if(s=c.closest(".gp-product-detail .container"),s){let e=s.querySelector(".gp-product-main-button button[type='submit']");e&&e.remove();let t=s.querySelector(".cbb-also-bought-add-to-cart-button");t&&t.remove();let o=s.querySelector(".cbb-also-bought-product-price-container");o&&o.remove()}if(s=c.closest(".gp-product-widget .product-card-grid"),s){let e=s.querySelector(".product-buttons .btn-quick-view ");e&&e.remove()}}if(s=c.closest(".product--price-container"),s){let e=s.querySelectorAll(".product--price-wrapper > a");e.length&&e.forEach(e=>e.remove())}if("linis-bites-b2b.myshopify.com"==window.location.host&&c.querySelector("[bss-customize-ltsp-message]")){let e=c.closest(".price .price__container");if(e){let o=e.querySelector(".unit-price.caption");o&&t.push(o)}}if(s=c.closest(".product-price--wrapper"),s){let e=s.querySelector(".product-price--compare");e&&e.remove()}if(s=c.closest(".price__pricing-group"),s){let e=s.querySelector(".price-item.price-item--regular[data-regular-price]");e&&(e.classList.remove("price-item"),e.classList.remove("price-item--regular"))}if(l.forEach((function(e){c.closest(e)&&t.push(c.closest(e))})),s=c.closest(".product-page-info"),s){let e=s.querySelector("[data-js-footbar-product-limit]");e&&t.push(e)}if(s=c.closest(".product-wrap"),s){let e=s.querySelector(".purchase-details button.button--add-to-cart"),o=s.querySelector(".product-action");if(e&&t.push(e),o&&t.push(o),window.Shopify&&"dermafirmusa.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".price.sale");e&&t.push(e)}}if(s=c.closest(".seven.columns.omega"),s){let e=s.querySelector(".purchase-details__buttons button.shopify-payment-button__button ");e&&t.push(e)}if(s=c.closest("#collectionPr"),s){let e=s.querySelectorAll("#PageContainer .collection .btn.add-to-cart");e.length&&e.forEach(e=>{t.push(e)})}if(s=c.closest(".grid.product-single"),s){let e=s.querySelector('#PageContainer .wrap-product-info button[type="submit"].btn.btn1.pr_btn.addtocart_js');e&&t.push(e)}if(s=c.closest(".gryffeditor"),s){let e=s.querySelector(".module-wrap .gf_add-to-cart.product-form-product-template");e&&t.push(e)}if(s=c.closest(".product-single .product-single__meta"),s){let e=s.querySelector('.product-form__item button[name="add"].product-form__cart-submit');e&&t.push(e)}if(s=c.closest(".shopify-product-form"),s){let e=s.querySelector("#product-price");e&&t.push(e)}if(s=c.closest(".product-item-price"),s){let e=s.querySelector(".money");e&&t.push(e)}if(s=c.closest('main#main[role="main"]'),s){let e=s.querySelector("div.atc-bar");e&&t.push(e)}if(s=c.closest("#CartDrawer"),s){let e=s.querySelector("#CartDrawer-CartItems .cart-item .cart-item__details dl .product-option");e&&t.push(e);let o=s.querySelector("#CartDrawer-CartItems .cart-item .cart-item__totals .cart-item__price-wrapper");o&&t.push(o);let r=s.querySelector("#CartDrawer-CartItems .cart-item .cart-item__quantity");r&&t.push(r);let c=s.querySelector(".drawer__footer");c&&t.push(c)}if(s=c.closest("#main-cart-items"),s){let e=s.querySelector(".cart-item .cart-item__details dl .product-option");e&&t.push(e);let o=s.querySelector(".cart-item .cart-item__quantity .cart-item__quantity-wrapper");o&&t.push(o);let r=s.querySelector(".cart-item .cart-item__totals.right.small-hide .cart-item__price-wrapper");r&&t.push(r)}if(s=c.closest("#main-cart-footer"),s){let e=s.querySelector(".cart__footer");e&&t.push(e)}if(s=c.closest(".product-single__meta"),s&&window.Shopify&&("asiadirectfurniture.mysh
7261opify.com"===window.Shopify.shop||"pure-vision-ch.myshopify.com"===window.Shopify.shop)){let e=s.querySelector(".product__price[data-product-price]");e&&t.push(e)}if(s=c.closest(".product-inner.pr"),s){let e=s.querySelector(".pr_atc.pr_qty_atc > a.pr_atc_.js_addtc");e&&t.push(e)}if(s=c.closest("#shopify-section-pr_summary"),s){let e=s.querySelector("p.price_range, .price.price_varies");e&&t.push(e)}if(s=c.closest(".grid__item"),s){let e=s.querySelector(".product__form-container"),o=s.querySelector(".product__description");e&&(t.push(e),o.style.width="100%")}if(s=c.closest(".featured-product__content-wrapper"),s){let e=s.querySelector(".product-form");e&&t.push(e)}if(s=c.closest(".card__price"),s&&"exosomes-inc.myshopify.com"===o&&(s.style.textAlign="center"),s=c.closest(".Product__InfoWrapper > .Product__Info "),s){let e=s.querySelector('.ProductForm__BuyButtons > button[type="submit"].ProductForm__AddToCart');e&&t.push(e);let o=s.querySelector(".ProductForm__AddToCart");o&&t.push(o)}if(s=c.closest(".product-grid__container .product-grid__content"),s){let e=s.querySelector(".product-single__form .product__quantity");e&&t.push(e);let o=s.querySelector(".add-to-cart");o&&t.push(o);let r=s.querySelector(".product__price--compare");if(r&&t.push(r),window.Shopify&&"sparklinbluewholesale.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".product__price-savings");e&&t.push(e)}}if(s=c.closest(".product-grid-item"),s){let e=s.querySelector(".h1.medium--left");e&&"envogueusa.com"==window.location.host&&t.push(e)}if(s=c.closest("#productPrice-product-template"),s){let e=s.querySelector("small");e&&"envogueusa.com"==window.location.host&&t.push(e),s.appendChild(c)}if(s=c.closest(".product-grid-item"),s){let e=s.querySelector(".form-grid-btn");e&&"mamiereglissepro.myshopify.com"===o&&t.push(e)}if(s=c.closest("#cont-form"),s){let e=s.querySelector(".so-price");e&&t.push(e);let r=s.querySelector("#addToCart");r&&"mamiereglissepro.myshopify.com"===o&&t.push(r)}if(s=c.closest(".template-product"),s){let e=s.querySelector('button[name="add"]#addToCartBis, button[name="add"]#addToCart2');e&&t.push(e)}if(s=c.closest(".grid-product__content"),s){let e=s.querySelector(".quick-product__btn");!e||"wood-hill-boards.myshopify.com"!==o&&"wood-hill-boards-usa.myshopify.com"!==o&&"bundlecomph.myshopify.com"!==o||t.push(e)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector(".product__quantity");!e||"wood-hill-boards.myshopify.com"!==o&&"wood-hill-boards-usa.myshopify.com"!==o||t.push(e)}if(s=c.closest(".product-block-area"),s){let e=s.querySelector("#addToCartButton");e&&"wanderlustvision.myshopify.com"===o&&t.push(e)}if(s=c.closest(".product-single__meta--wrapper .product-single__meta"),s){let e=s.querySelector(".price-container.text-money"),o=s.querySelector('button[name="add"].btn--add-to-cart');e&&t.push(e),o&&t.push(o)}if(s=c.closest(".product-single__metas"),s){let e=s.querySelector(".product-single__buttons .js-quantity-selector.product-quantity"),o=s.querySelector(".product-single__buttons button.btn--add-to-cart");e&&t.push(e),o&&t.push(o)}if("dollie-wholesale.myshopify.com"===o&&(s=c.closest(".product-card"),s)){let e=s.querySelector(".product-card__buttons .product-card__quickview"),o=s.querySelector(".product-card__buttons .product-card__form"),r=s.querySelector(".product-card__buttons .button-wishlist"),c=s.querySelector(".wpb-variants-swatch");e&&t.push(e),o&&t.push(o),r&&t.push(r),c&&t.push(c)}if("obsequ.myshopify.com"===o&&(s=c.closest(".product-meta"),s)){let e=s.querySelector(".price-list[data-product-price-list]");e&&e.remove()}if(s=c.closest(".sticky-cart"),s){let e=s.querySelector(".product-form__buttons");e&&t.push(e)}if("wholesale-rubypearlco.myshopify.com"!==o&&"coventa-demo.myshopify.com"!==o&&(s=c.closest(".productitem--info")||c.closest(".product-pricing"),s)){let e=s.querySelector(".price");e&&t.push(e)}if(s=c.closest(".productitem--info"),s){let e=s.querySelector(".price__compare-at.visible");e&&"coventa-demo.myshopify.com"===o&&t.push(e)}if(s=c.closest(".product-block-list"),s&&window.Shopify&&"axiom-wholesale-parts.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".price");e&&e.classList.remove("price")}if(s=c.closest(".product-layout"),s){let e=s.querySelector(".action-links");e&&t.push(e)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector(".product-block--price");e&&"comphycompany.myshopify.com"===o&&t.push(e)}if(s=c.closest(".product-details, .modal_price"),s){let e=s.querySelector(".current_price, .price__container");e&&t.push(e)}if("wholesale-rubypearlco.myshopify.com"===window.Shopify.shop&&(s=c.closest(".productitem__container .productitem--info, .product-details .product-pricing"),s)){let e=s.querySelectorAll(".price__compare-at--single, .price__compare-at, .price__current--max");
7261e.length&&e.forEach(e=>e.remove())}if("kerriecapelliusa-com.myshopify.com"===window.Shopify.shop&&(s=c.closest(".product-detail.quickbuy-content.spaced-row.container"),s)){let e=s.querySelectorAll(".product-form.theme-init .variant-visibility-area");e.length&&e.forEach(e=>e.remove())}if(s=c.closest(".widget_if_pr, .product-inner, .al_center.fl_center, .widget_if_pr"),s){let e=s.querySelectorAll(".product-price-pr-search, .hover_button, .nt_add_w, .nt_add_cp, .sticky_atc_btn.variations_form, .transcy-money");e.length&&e.forEach(e=>e.remove())}if(s=c.closest(".ProductItem__Wrapper, .ProductForm"),s){let e=s.querySelector(".ProductItem__PriceList, .ProductForm__QuantitySelector");e&&"sirenwireless.myshopify.com"!==o&&e.remove();let r=s.querySelector(".ProductFormWrapper");r&&"sirenwireless.myshopify.com"===o&&t.push(r)}if("butterfly-health-and-wellness.myshopify.com"===window.Shopify.shop){if(s=c.closest(".item-content"),s){let e=s.querySelector('.module-wrap[data-label="(P) Cart Button"] button.gf_add-to-cart');e&&e.remove()}if(s=c.closest(".gf_product-desc"),s){let e=s.querySelector("h4");e&&(e.remove(),c.style.display="none")}if(s=c.closest(".gf_column[data-id]"),s){let e=s.querySelectorAll('.elementor-section[data-element_type="section"] .elementor-text-editor strong, .gf_product-desc h4, .gf_product-desc strong');if(e)for(let t of e)t.remove()}}if(s=c.closest(".product-block"),s){let e=s.querySelector(".quickbuy-toggle");e&&t.push(e)}if(s=c.closest(".productView-details"),s){let e=s.querySelector(".productView-buttons"),r=s.querySelector(".quantity_selector"),c=s.querySelector(".productView-subtotal");e&&t.push(e),r&&t.push(r),c&&t.push(c),"remote-king-au.myshopify.com"===o&&s.querySelectorAll(".product-customInformation").forEach(e=>e.remove())}if(s=c.closest(".product__content"),s&&"campomarzio-trade-uk.myshopify.com"===o){let e=s.querySelector(".product__text"),o=s.querySelector(".select__fieldset"),r=s.querySelector(".product__submit");e&&t.push(e),o&&t.push(o),r&&t.push(r)}if(s=c.closest(".product-card__price, .product-single__meta-list"),s){let e=s.querySelector(".product-single__price, .money-product");e&&e.remove()}if("ens-nutrition-3419.myshopify.com"===o&&(s=c.closest(".card__content"),s)){let e=s.querySelector(".button.quick-add__submit");e&&e.remove()}if("b2b-nandu.myshopify.com"===o){if(s=c.closest(".grid-product__content"),s){let e=s.querySelector(".grid-product__meta .grid-product__price ");e&&e.remove()}let e=c.closest(".product-single__meta");if(e){let t=e.querySelector(".product__price.product__price--compare"),o=e.querySelector(".product__price.on-sale"),r=e.querySelector(".product__price-savings");t&&o&&r&&(t.remove(),o.remove(),r.remove())}}if("impjarwholesale.myshopify.com"===o){if(s=c.closest(".tp-product-content"),s){let e=s.querySelector("button#AddToCart"),o=s.querySelector(".tp-product-singe-action .tp-product-quantity");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".grid-item"),s){let e=s.querySelector('form[action="/cart/add"]');e&&t.push(e)}}if("b2b-dbodhi-singapore.myshopify.com"===o&&(s=c.closest("del"),s&&t.push(c),s=c.closest(".product-information--inner"),s)){const e=s.querySelector(".product-form");e&&t.push(e)}if(s=c.closest(".lh-details-product"),s){if("ags2020.myshopify.com"===o){let e=s.querySelector(".lh-price");e&&e.classList.remove("lh-price")}let e=s.querySelector(".lh-add_to_cart");e&&t.push(e);let r=s.querySelector(".lh-buy-now");r&&t.push(r);let c=s.querySelector(".lh-compare-at-price");c&&t.push(c)}if(s=c.closest(".lh-collection-item"),s){if("ags2020.myshopify.com"===o){let e=s.querySelector(".lh-price");e&&e.classList.remove("lh-price")}let e=s.querySelector(".lh-product-compare-price");e&&t.push(e)}if(s=c.closest(".ProductMeta, .ProductItem__Info"),s){let e=s.querySelectorAll(".Price");e&&e.forEach(e=>e.remove())}}t.forEach((function(e){e.remove()}))}}(e),function(e){e.ltsp.removeElementByLTSPWrapper=function(){let e=document.getElementsByClassName("bss-ltsp-price-wrapper"),t=[];for(let o=0;o<e.length;o++){let r=e[o],c=[],l=r.closest(".product-parent");if(l){let e=l.querySelector("form .tt-btn-addtocart");e&&t.push(e);let o=l.querySelector(".tt-btn-quickview");o&&t.push(o)}if(l=r.closest(".product-single__meta"),l=r.closest(".tt-product-single-info"),l){let e=l.querySelector("form .btn-addtocart");e&&t.push(e);let o=l.querySelector('form[action*="/cart/add"]');o&&t.push(o)}if(l=r.closest(".product_section"),l){let e=l.querySelector("form .add_to_cart, form .b2b-ajax-submit");e&&t.push(e);let o=l.querySelector(".sale.savings");o&&t.push(o)}if(l=r.closest(".quick-shop-style--inline"),l){let e=l.querySelector("form .add_to_cart, form .b2b-ajax-submit");e&&t.push(e)}if(l=r.closest(".product-details"),l){let e=l.querySelector("small em");e&&t.push(e)}if(l=r.closest(".gt_product-body"),l){let e=l.querySelector("form .gt_product-addtocart");e&&t.push(e);let o=l.querySelector(".gt_product-saved");o&&t.push(o);let r=l.querySelector(".gt_product-price--compare");r&&t.push(r)}if(l=r.closest(".gt_product_content"),l){let e=l.querySelector("form .gt_product-addtocart");e&&t.push(e);let o=l.querySelector(".gt_product-price--compare");o&&t.push(o)}if(l=r.closest(".gt-single-product"),l){let e=l.querySelector("div.gt_method_addToCart");e&&t.push(e);let o=l.querySelector(".gt_product-price--compare");o&&t.push(o)}if(l=r.closest("#cont-form"),l){let e=l.querySelector("form .cont-add-btns");e&&t.push(e)}if(l=r.closest(".theiaStickySidebar"),l){let e=l.querySelector(".variations_button");e&&t.push(e)}if(l=r.closest(".product-submit"),l){let e=l.querySelector(".payment-buttons-container");e&&t.push(e)}if(l=r.closest(".productitem"),l){let e=l.querySelector(".productitem--action");e&&t.push(e)}if(l=r.closest(".product--outer"),l){let e=l.querySelector(".product-form--atc");e&&t.push(e),e=l.querySelector(".shopify-payment-button"),e&&t.push(e)}if(l=r.closest(".product-grouped"),l){let e=l.querySelector(".product_top form#add-to-cart-form");e&&t.push(e)}if(l=r.closest(".product-item"),l){let e=l.querySelector(".product-top .product-des .action");e&&t.push(e)}if(l=r.closest(".product-item"),l){let e=l.querySelector('.product-item__action-button[data-action="add-to-cart"]');e&&t.push(e)}if(l=r.closest(".grid__item.grid-product"),l){let e=l.querySelector('form[action="/cart/add"] input[type="submit"]');e&&t.push(e);let o=l.querySelector(".grid-product__tag");o&&t.push(o);let r=l.querySelector(".visually-hidden");r&&t.push(r)}if(l=r.closest(".product-info"),l){let e=l.querySelector('form[action="/cart/add"] .payment-buttons');e&&t.push(e);let o=l.querySelector(".variant-wrapper.variant-wrapper--button");o&&t.push(o)}if(l=r.closest("#product-right"),l){let e=l.querySelector(".was");e&&t.push(e);let o=l.querySelector(".product-add");o&&t.push(o)}if(l=r.closest(".was"),l&&t.push(l),l=r.closest(".product-single__meta"),l){let e=l.querySelector(".pf__actions");e&&t.push(e)}if(l=r.closest("#AddToCartForm-product-template"),l){let e=l.querySelector("#CartButtons-product-template");e&&t.push(e)}if(l=r.closest(".Product__Info"),l){let e=l.querySelector(".ProductMeta__PriceList");e&&t.push(e)}if(l=r.closest(".grid-item"),l){let e=l.querySelector("#addToCart-product-template");e&&t.push(e);let o=l.querySelector(".payment-buttons");o&&t.push(o)}c.forEach((function(e){r.closest(e)&&t.push(r.closest(e))}))}t.forEach((function(e){e.remove()}))}}(e),e.ltsp.removePattern=function(){e.ltsp.removeElementByLTSPMessage(),e.ltsp.removeElementByLTSPWrapper()},e.ltsp.insertBeforeAddToCart=function(){let t=document.querySelectorAll(".bsscommerce-ltsp-message[data-ltsp-cart-message]");for(let o=0;o<t.length;o++){let r=t[o],c=r.getAttribute("data-ltsp-cart-message");r.removeAttribute("data-ltsp-cart-message");let l=[".main-content .product-single__meta",".main-content .grid__item",".main-content .grid-item",".main-content .product__content.product__content--template.product__content--information","main#MainContent .product__info-container",".container#product-product .product-info-main",'main#main section[data-section-id="collection-template"] .product-item',".product-area__details.product-detail .product-detail__form"];for(let t=0;t<l.length;t++){let o=r.closest(l[t]);if(o&&!o.querySelector(".bsscommerce-ltsp-message.hide-message")){let t=
7261o.querySelector('form[action="/cart/add"]');if(t){let o=e.helperLTSP.createHidePriceMessageSpan(c);t.before(o)}}}let s=[[".product-layout .item .item-inner .caption",".button.btn-cart"],['main#main section[data-section-id="product-template"] .card__section',".product-form__payment-container"],[".main#MainContent .content.product",'form[action="/cart/add"] .offers']];for(let t=0;t<s.length;t++){let o=r.closest(s[t][0]);if(o&&!o.querySelector(".bsscommerce-ltsp-message.hide-message")){let r=o.querySelector(s[t][1]);if(r){let t=e.helperLTSP.createHidePriceMessageSpan(c);r.before(t)}}}if(window.Shopify&&"airbesafe.myshopify.com"===window.Shopify.shop){let t=[[".shopify-section--main-collection .product-list__inner .product-item ",".product-item__info  .product-item-meta__price-list-container .price-list"],[".shopify-section--main-product .product--thumbnails-bottom .product__info",".product-meta__price-list-container"],["product-item.product-item .product-item__info",".product-item-meta__price-list-container"]];for(let o=0;o<t.length;o++){let l=r.closest(t[o][0]);if(l&&!l.querySelector(".bsscommerce-ltsp-message.hide-message")){let r=l.querySelector(t[o][1]);if(r){let t=e.helperLTSP.createHidePriceMessageSpan(c);r.after(t)}}}}}}}function c(e){!function(e){e.helperLTSP={},e.helperLTSP.createHidePriceMessageSpan=function(e){let t=document.createElement("span");return t.classList.add("bsscommerce-ltsp-message"),t.classList.add("hide-message"),t.style.fontSize="16px",t.style.fontWeight="normal",t.style.color="initial",t.style.textTransform="none",t.style.visibility="visible",t.innerHTML=e,t},e.helperLTSP.onLoadMore=function(e){const t=document.querySelector([".sf__product-listing[data-product-container] > div",'.row[data-js-collection-replace="products"]',".product-list-container .product-list.use-infinite-scroll","#collection-product .product-container",".container #col-main"].join(","));if(t){new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.length&&e()}))})).observe(t,{childList:!0})}}}(e)}function l(){const e={};c(e),r(e),function(e){e.ptvp={},e.ptvp.addPasscodeForm=function(){let e=document.querySelector('form[action*="/cart/add"]'),t=document.getElementsByClassName("bss-passcode-wrapper-tag"),o=document.getElementsByClassName("bsscommerce-password-form"),r=document.querySelector(".toggle-passcode-input"),c=null;if(o.length&&(c=o[0],c.style.display="block",r&&r.addEventListener("click",(function(e){let t=document.getElementById("bsscommerce-password");"password"===t.type?(t.type="text",e.target.closest(".toggle-passcode-input").style.fill="#5C5F62"):(t.type="password",e.target.closest(".toggle-passcode-input").style.fill="#BABEC3")}))),t.length&&e&&o.length){e.before(c);let o=document.getElementById("bsscommerce-password"),r=new FormData;r.append(o.name,o.value),document.getElementById("bsscommerce-password-submit").style.padding="12px 16px",document.getElementById("bsscommerce-password-submit").style.display="block";let l=new XMLHttpRequest;l.open("post","/cart/update.js"),l.send(r);let s=document.getElementsByClassName("bsscommerce-ltap-password");if(s.length)for(let e=0;e<s.length;e++)s[e].addEventListener("submit",(function(e){e.preventDefault();let t=this;if(t.length)for(let e=0;e<t.length;e++)if("bsscommerce-password"==t[e].id){let o=t[e];if(o.addEventListener("input",(function(){o.classList.remove("input--error")})),o.value)if(""!=o.value){let e=new FormData;e.append(o.name,o.value);let t=new XMLHttpRequest;t.onreadystatechange=function(){4==t.readyState&&200==t.status&&location.reload()},t.open("post","/cart/update.js"),t.send(e)}else o.classList.add("input--error")}}));for(let e=0;e<t.length;e++)t[e].remove()}}}(e),e.ptvp.addPasscodeForm(),document.querySelectorAll(".quick-view-btn").forEach((function(t){t.addEventListener("click",(function(){setTimeout((function(){e.ptvp.addPasscodeForm()}),1e3)}))})),function e(){document.querySelectorAll(".advanced-filter a").forEach((function(t){t.addEventListener("click",(function(){setTimeout((function(){let t=document.getElementsByClassName("bsscommerce-ltsp-message");for(let e=0;e<t.length;e++){let o=t[e].closest(".item-row");
7261if(o){let e=o.querySelector(".add-to-cart");e&&e.remove()}}e()}),1200)}))}))}(),e.ltsp.quickView(),e.ltsp.insertBeforeAddToCart(),e.ltsp.removePattern(),e.helperLTSP.onLoadMore(e.ltsp.removePattern),setTimeout((function(){e.ltsp.removePattern()}),2500);if(window.Shopify&&-1!==["showroom1-ducanero.myshopify.com","sparklinbluewholesale.myshopify.com","youchique-4183.myshopify.com","wilkens-gmbh.myshopify.com","friends-forever-pets.myshopify.com"].indexOf(window.Shopify.shop)&&(window.onscroll=function(e,t){let o;return function(...r){o&&clearTimeout(o),o=setTimeout(()=>{e(...r),o=null},t)}}((function(){let t=setInterval((function(){e.ltsp.removePattern()}),200);setTimeout((function(){clearInterval(t)}),3e3)}),500)),"amoreo.eu"===window.location.host){let t=setInterval((function(){e.ltsp.removePattern()}),200);setTimeout((function(){clearInterval(t)}),3e3)}let t=document.querySelector(".infinite-scrolling-homepage a.btn");"airbesafe.myshopify.com"===window.location.host&&setTimeout((function(){e.ltsp.insertBeforeAddToCart()}),3e3),t&&(t.onclick=function(){setTimeout((function(){e.ltsp.removePattern()}),1e3)});let o=document.querySelectorAll("#shopify-section-product-recommendations, .product-modal-wrapper");var l,s,u;(o.length&&o.forEach((function(t){t.addEventListener("DOMSubtreeModified",(function(){e.ltsp.removePattern()}))})),"valleys-group.myshopify.com"===window.location.host)&&(l=function(){e.ltsp.removePattern();
7261let t=document.querySelectorAll(".slideout__drawer-right, .sidebar_leftside_wapper, .filtering__results");t.length&&t.forEach((function(e){e.addEventListener("click",(function(){setTimeout(()=>{l()},1700)}))}))});"b.salonpremium.com"===window.location.host&&(s=function(){e.ltsp.removePattern();let t=document.querySelectorAll(".pagination");t.length&&t.forEach((function(e){e.addEventListener("click",(function(){setTimeout(()=>{s()},3e3)}))}))});"www.internationalbeauty.ca"===window.location.host&&(u=function(){let t=document.querySelector('[id^="RecentlyViewed"]');new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.length&&(e.ltsp.removePattern(),document.querySelectorAll(".btn--icon.quick-product__btn").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-grid__content");if(o){let e=o.querySelector(".payment-buttons");e&&e.remove()}}u()}),2e3)}))})))}))})).observe(t,{childList:!0})});if("bluebasketb2b.myshopify.com"===window.Shopify.shop){let t=document.querySelector("#CartDrawer");const o=()=>{let e=document.querySelectorAll("script#bss-ltap-login-require");for(let t in e)t.remove()};if(t){new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.length&&(e.ltsp.removePattern(),o())}))})).observe(t,{childList:!0})}}if("dollie-wholesale.myshopify.com"===window.Shopify.shop){let t=document.querySelector("#product-grid .products__row");if(t){new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.length&&e.ltsp.removePattern()}))})).observe(t,{childList:!0})}}if("impjarwholesale.myshopify.com"===window.Shopify.shop){let t=document.querySelector(".tp-collection-content");if(t){new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.length&&e.ltsp.removePattern()}))})).observe(t,{childList:!0})}}if("inex-studio.myshopify.com"===window.Shopify.shop){let t=document.querySelector("#Search .Search__Results");if(t){new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.length&&e.ltsp.removePattern()}))})).observe(t,{childList:!0,subtree:!0})}}}o.r(t),o.d(t,"default",(function(){return l})),l()}]);
7262 </script>
7262
7263 
7264       </main>
7265       
7266       <div id="shopify-section-newsletter" class="shopify-section"><br>
7267   <style>
7268     #shopify-section-newsletter {
7269       background: url(https://cdn.bannervip.cloud/Banner-Bagus33/BS1.webp);
7270       background-attachment: fixed;
7271       margin-bottom: 0;
7272     }
7273     input:-webkit-autofill,
7274     input:-webkit-autofill:hover,
7275     input:-webkit-autofill:active,
7276     input:-webkit-autofill:focus {
7277       -webkit-box-shadow:0 0 0 50px white inset;
7278       -webkit-text-fill-color: #ffffff;
7279     }
7280     .section-newsletter {
7281       max-width: 800px;
7282       margin: auto;
7283       padding: 50px 0;
7284     }
7285     .section-newsletter h2 {
7286       font-weight: 700;
7287       font-size: 24px;
7288     }
7289     .section-newsletter input[type="email"] {
7290       width: 100%;
7291       text-align: center;
7292       border: none;
7293       border-bottom: 1px solid #ffffff;
7294       font-size: 16px;
7295       color: #757575;
7296       background-color: #eeeeee;
7297     }
7298     .section-newsletter .row label {
7299       font-size: 14px;
7300       cursor: pointer;
7301     }
7302     .section-newsletter .radio-inline input {
7303       width: auto;
7304     }
7305     .section-newsletter .btn {
7306       width: 130px;
7307       border: 1px solid #ffffff;
7308       box-shadow: none;
7309       font-size: 16px;
7310       font-weight: 500;
7311       text-transform: uppercase;
7312     }
7313     .section-newsletter form {
7314       margin: 30px 0 60px;
7315     }
7316     .section-newsletter input[type="radio"] {
7317       position: absolute;
7318       width: 1px;
7319       height: 1px;
7320     }
7321     .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label {
7322       position: relative;
7323       padding-left: 28px;
7324       cursor: pointer;
7325       line-height: 20px;
7326       display: inline-block;
7327       color: #666;
7328     }
7329     .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before {
7330       content: '';
7331       position: absolute;
7332       left: 0;
7333       top: 0;
7334       width: 18px;
7335       height: 18px;
7336       border: 1px solid #ddd;
7337       border-radius: 100%;
7338       background: #fff;
7339     }
7340     .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after {
7341       content: '';
7342       width: 12px;
7343       height: 12px;
7344       background: #ffffff;
7345       position: absolute;
7346       top: 3px;
7347       left: 3px;
7348       border-radius: 100%;
7349       -webkit-transition: all 0.2s ease;
7350       transition: all 0.2s ease;
7351     }
7352     .section-newsletter [type="radio"]:not(:checked) + label:after {
7353       opacity: 0;
7354       -webkit-transform: scale(0);
7355       transform: scale(0);
7356     }
7357     .opt-newsletter {display:none;}
7358     .footer-newsletter p, .footer-newsletter p a {
7359       color: #757575;
7360     }
7361     @media (max-width:991px){
7362       .section-newsletter h2 {
7363         font-size: 32px;
7364       }
7365       .section-newsletter input {
7366         width: 300px;
7367         font-size: 14px;
7368       }
7369       .section-newsletter {
7370         padding: 50px 20px;
7371       }
7372     }
7373     @media (max-width: 480px){
7374       .section-newsletter input[type="email"] {font-size: 16px;}
7375     }
7376   </style>
7377  <style>
7378 .icon-img-footer {
7379     width: 80px; 
7380     padding: 0px 5px;
7381 }
7382 @media (min-width: 768px) {
7383     .icon-img-footer {
7384         width: 120px; 
7385     }
7386 }
7387 @media (min-width: 992px) {
7388     .icon-img-footer {
7389         width: 120px; 
7390     }
7391 }
7392 
7393   .button-login-daftar {
7394                         display: grid;
7395                         grid-template-columns: repeat(2, 1fr);
7396                         font-weight: 700;
7397                         background: #000000;
7398                     }
7399                     .button-login-daftar a {
7400                         text-align: center;
7401                     }
7402                     .login,
7403                     .register {
7404                         color: #000000;
7405                         padding: 15px 10px;
7406                         font-size: 23px;
7407                     }
7408                     .login,
7409                     .login-button {
7410                         background: linear-gradient(to bottom, #f1a200 0%, #8d6000 50%, #764b00 100%);
7411                         border: 1px solid #ff8000;
7412                     }
7413                     .register,
7414                     .register-button {
7415                         background: linear-gradient(to bottom, #f1a200 0%, #8d6000 50%, #764b00 100%);
7416                         border: 1px solid #ff8000;
7417                     }
7418
7419                     .button-login-daftar {
7420    position: relative;
7421    z-index: 5;
7422}
7423
7424/* Tombol: tetap pakai layout lama, tapi dibikin oval + animasi */
7425.button-login-daftar a {
7426    position: relative;
7427    overflow: hidden;
7428    display: inline-block;
7429    border-radius: 999px;             
7430    transition:
7431        transform 0.25s ease,
7432        box-shadow 0.25s ease,
7433        filter 0.25s ease;
7434    animation: btn-glow 3.2s ease-in-out infinite;
7435}
7436
7437/* Efek kilau berjalan, auto jalan (tanpa hover) */
7438.button-login-daftar a::before {
7439    content: "";
7440    position: absolute;
7441    inset: 0;
7442    background: linear-gradient(
7443        120deg,
7444        transparent,
7445        rgba(255, 255, 255, 0.55),
7446        transparent
7447    );
7448    transform: translateX(-130%) skewX(-25deg);
7449    pointer-events: none;
7450    animation: shine 2.2s linear infinite;
7451}
7452
7453/* Hover tetap boleh sedikit lebih hidup, tapi animasi dasar sudah jalan */
7454.button-login-daftar a:hover {
7455    transform: translateY(-2px);
7456    filter: brightness(1.08);
7457}
7458
7459/* Glow lembut (naik turun) */
7460@keyframes btn-glow {
7461    0%, 100% {
7462        box-shadow: 0 0 0 rgba(255, 255, 0, 0);
7463    }
7464    50% {
7465        box-shadow: 0 0 18px rgba(255, 187, 0, 0.8);
7466    }
7467}
7468
7469/* Kilau yang melintas dari kiri ke kanan terus-menerus */
7470@keyframes shine {
7471    0% {
7472        transform: translateX(-130%) skewX(-25deg);
7473    }
7474    100% {
7475        transform: translateX(130%) skewX(-25deg);
7476    }
7477}
7478
7479 
7480 
7481 </style>
7482 
7483 <!-- wp:html -->
7484  
7484<script>
7485         document.addEventListener('DOMContentLoaded',
7486             function(){const faqItems=document.querySelectorAll('.faq-item');
7487             faqItems.forEach(item=>{const question=item.querySelector('.faq-question');
7488             question.addEventListener('click',
7489             ()=>{const isActive=item.classList.contains('active');
7490             faqItems.forEach(otherItem=>{otherItem.classList.remove('active')});
7491             if(!isActive){item.classList.add('active')}})})});
7492         </script>
7492
7493 
7494 
7495             <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1">
7496             </div>
7497
7498             <div class="faq-section">
7499<h2>BAGUS33 | Official Snoogle Store: Bingkai Foto USG Kehamilan & Momen Keluarga Bergaransi Resmi</h2>
7500
7501<p><strong><a href="https://snooglestore.com/" style="color: #ffd700">BAGUS33</a></strong> Official Snoogle Store menghadirkan inspirasi untuk mengabadikan momen istimewa melalui bingkai foto akrilik eksklusif yang dirancang dengan tampilan elegan dan modern. Koleksi ini dapat menjadi pilihan menarik bagi Anda yang ingin menyimpan foto USG kehamilan, potret keluarga, maupun berbagai kenangan berharga dalam sebuah pajangan yang terlihat rapi dan berkelas.</p>
7502
7503<p>Melalui <strong>Official Snoogle Store</strong>, bingkai foto akrilik tidak hanya berfungsi sebagai tempat menyimpan foto, tetapi juga dapat menjadi bagian dari dekorasi ruangan. Material akrilik memberikan kesan bersih, ringan, dan modern sehingga mudah dipadukan dengan berbagai gaya interior, baik untuk kamar tidur, ruang keluarga, meja kerja, maupun sudut khusus untuk menyimpan koleksi kenangan keluarga.</p>
7504
7505<p>Salah satu daya tariknya adalah kemampuannya menampilkan momen USG kehamilan secara lebih berkesan. Foto USG yang menjadi bagian penting dari perjalanan menuju hadirnya buah hati dapat ditempatkan dalam bingkai sebagai kenang-kenangan jangka panjang. Selain foto kehamilan, bingkai ini juga dapat digunakan untuk menyimpan foto kelahiran, perkembangan anak, momen bersama pasangan, atau potret keluarga y
7505ang memiliki nilai sentimental.</p>
7506
7507<p><strong>BAGUS33 | Official Snoogle Store</strong> menjadi pilihan bagi siapa saja yang mencari cara elegan untuk menjaga kenangan tetap terlihat dan mudah dikenang. Dengan desain akrilik yang modern serta keterangan garansi resmi, produk ini dapat memberikan sentuhan personal pada dekorasi sekaligus menjadikan setiap foto memiliki tempat khusus. Jadikan momen sederhana seperti foto USG dan kebersamaan keluarga sebagai kenangan yang dapat terus dinikmati dari waktu ke waktu.</p>
7508    <div class="faq-container">
7509        <p>
7510        </p>
7511    </div>
7512</div>
7513
7514<div class="faq-section"> <h2>FAQ BAGUS33 | Official Snoogle Store</h2> <div class="faq-container">
7515
7516<div class="faq-item">
7517    <button class="faq-question">
7518        <span class="question-text">Apa itu BAGUS33 | Official Snoogle Store?</span>
7519        <span class="icon">+</span>
7520    </button>
7521    <div class="faq-answer">
7522        <p><strong>BAGUS33 | Official Snoogle Store</strong> merupakan tema toko yang menghadirkan bingkai foto akrilik untuk mengabadikan berbagai momen berharga, termasuk foto USG kehamilan dan kenangan keluarga. Desainnya dibuat dengan tampilan modern dan elegan sehingga dapat digunakan sebagai pajangan sekaligus penyimpan kenangan.</p>
7523    </div>
7524</div>
7525
7526<div class="faq-item">
7527    <button class="faq-question">
7528        <span class="question-text">Apa kegunaan bingkai foto akrilik dari Official Snoogle Store?</span>
7529        <span class="icon">+</span>
7530    </button>
7531    <div class="faq-answer">
7532        <p>Bingkai foto akrilik dapat digunakan untuk memajang foto USG, foto kehamilan, foto kelahiran bayi, potret pasangan, hingga foto keluarga. Material dan desainnya memberikan kesan bersih serta modern sehingga cocok ditempatkan di kamar, ruang keluarga, meja kerja, atau area dekorasi khusus.</p>
7533    </div>
7534</div>
7535
7536<div class="faq-item">
7537    <button class="faq-question">
7538        <span class="question-text">Apakah bingkai foto ini cocok untuk menyimpan foto USG kehamilan?</span>
7539        <span class="icon">+</span>
7540    </button>
7541    <div class="faq-answer">
7542        <p>Ya, bingkai foto akrilik dapat menjadi pilihan untuk menyimpan dan memajang foto USG kehamilan sebagai bagian dari dokumentasi perjalanan keluarga. Momen pemeriksaan kehamilan yang berkesan dapat ditempatkan dalam bingkai agar lebih mudah dikenang dalam jangka panjang.</p>
7543    </div>
7544</div>
7545
7546<div class="faq-item">
7547    <button class="faq-question">
7548        <span class="question-text">Apakah bingkai akrilik BAGUS33 hanya untuk foto USG?</span>
7549        <span class="icon">+</span>
7550    </button>
7551    <div class="faq-answer">
7552        <p>Tidak. Bingkai dapat dimanfaatkan untuk berbagai jenis foto kenangan, seperti foto pasangan, keluarga, kelahiran bayi, perkembangan anak, maupun momen spesial lainnya. Penggunaannya dapat disesuaikan dengan kebutuhan dekorasi dan jenis kenangan yang ingin ditampilkan.</p>
7553    </div>
7554</div>
7555
7556<div class="faq-item">
7557    <button class="faq-question">
7558        <span class="question-text">Apa kelebihan tampilan bingkai foto akrilik?</span>
7559        <span class="icon">+</span>
7560    </button>
7561    <div class="faq-answer">
7562        <p>Bingkai akrilik memiliki karakter visual yang modern, ringan, dan minimalis. Tampilannya dapat memberikan sentuhan elegan pada foto sehingga kenangan keluarga tidak hanya tersimpan, tetapi juga dapat menjadi bagian dari dekorasi ruangan.</p>
7563    </div>
7564</div>
7565
7566<div class="faq-item">
7567    <button class="faq-question">
7568        <span class="question-text">Apakah produk Official Snoogle Store dilengkapi garansi resmi?</span>
7569        <span class="icon">+</span>
7570    </button>
7571    <div class="faq-answer">
7572        <p>Berdasarkan informasi yang digunakan pada halaman ini, bingkai foto yang ditawarkan melalui Official Snoogle Store dikaitkan dengan <strong>garansi resmi</strong>. Untuk ketentuan garansi, masa berlaku, serta cakupan perlindungan, sebaiknya periksa informasi produk dan syarat garansi yang tercantum pada toko sebelum melakukan pembelian.</p>
7573    </div>
7574</div>
7575
7576<div class="faq-item">
7577    <button class="faq-question">
7578        <span class="question-text">Di mana bingkai foto akrilik dapat ditempatkan?</span>
7579        <span class="icon">+</span>
7580    </button>
7581    <div class="faq-answer">
7582        <p>Bingkai foto akrilik dapat ditempatkan di berbagai area, seperti meja samping tempat tidur, meja kerja, rak dekorasi, ruang keluarga, kamar bayi, maupun sudut khusus untuk memajang koleksi foto keluarga.</p>
7583    </div>
7584</div>
7585
7586</div> </div>
7587<br>
7588<br>
7589 
7590 <div class="overlay overlay-cart"></div>
7591 <div id="CartDrawer" class="drawer drawer--right">
7592   <div class="drawer__header pl-2 pr-2">
7593     <div class="drawer__icon-cart display-table-cell">
7594       <a href="https://snooglestore.com/" class="">
7595         <svg class="icon icon-cart" version="1.1" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="32" height="32" viewBox="0 0 32 32"> <path fill="#fff" d="M13.638 23.203c0 0 3.5-2.113 3.502-4.11 0.002-2.304-2.689-3.537-3.497-1.76-0.916-1.778-3.493-1.714-3.497 0.59-0.003 1.999 3.491 5.28 3.491 5.28z"></path> <path fill="#fff" d="M8.112 9.809v16.662l11.063 2.491v-17.58l-11.063-1.573zM7.74 8.858l11.925 1.696c0.213 0.030 0.372 0.218 0.372 0.44v18.519c0 0.284-0.254 0.495-0.523 0.434l-11.925-2.685c-0.198-0.045-0.339-0.225-0.339-0.434v-17.53c0-0.27 0.231-0.477 0.49-0.44z"></path> <path fill="#fff" d="M23.7 10.046l-3.275 0.146-0.388 0.897v17.656l3.664-2.174v-16.526zM24.346 27.214l-4.526 2.685c-0.287 0.17-0.646-0.043-0.646-0.385v-18.519l0.037-0.181 0.534-1.235c0.067-0.154 0.212-0.256 0.375-0.263l3.991-0.178c0.245-0.011 0.45 0.191 0.45 0.444v17.247c0 0.159-0.082 0.306-0.216 0.385z"></path> <path fill="#000" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M11.336 8.354l-0.257-0.333c-0.243-0.315 0.012-0.774 0.398-0.717l12.51 1.838c0.236 0.035 0.399 0.26 0.366 0.503s-0.252 0.412-0.487 0.377l-11.436-1.68 0.056 0.073c0.209 0.27 0.052 0.672-0.281 0.718l-4.467 0.607c-0.236 0.032-0.452-0.139-0.484-0.383s0.135-0.467 0.371-0.499l3.711-0.504z"></path> <path fill="#fff" d="M17.152 11.344c0.026-0.003 0.053-0.005 0.079-0.005 0.357 0 0.645 0.297 0.645 0.665s-0.288 0.665-0.645 0.665c-0.322 0-0.59-0.245-0.637-0.565-0.383-0.45-0.515-1.321-0.521-2.536-0.003-0.556 0.026-1.149 0.076-1.739 0.028-0.339 0.057-0.603 0.074-0.735 0.195-2.391-2.008-3.379-3.568-1.658-0.64 0.707-1.041 1.855-1.266 3.412-0.092 0.634-0.137 1.111-0.194 2.024 0.107 0.119 0.172 0.278 0.172 0.453 0 0.342-0.251 0.624-0.573 0.661-0.031 0.005-0.064 0.007-0.097 0.005-0.015-0.001-0.029-0.003-0.044-0.005-0.324-0.036-0.576-0.318-0.576-0.661 0-0.218 0.102-0.412 0.259-0.533 0.058-0.924 0.105-1.415 0.201-2.075 0.249-1.719 0.703-3.020 1.489-3.888 2.114-2.335 5.321-0.897 5.054 2.359-0.018 0.141-0.045 0.392-0.072 0.717-0.047 0.566-0.075 1.133-0.073 1.658 0.004 0.839 0.098 1.47 0.216 1.78z"></path> <path fill="#fff" d="M14.43 8.138c-0.008 0.245-0.207 0.438-0.445 0.43s-0.424-0.213-0.417-0.459c0.001-0.026 0.001-0.026 0.002-0.051 0.029-0.909 0.047-1.282 0.102-1.792 0.164-1.528 0.58-2.665 1.434-3.481 2.037-1.949 5.235-0.623 5.066 2.208-0.007 0.119-0.018 0.331-0.029 0.608-0.022 0.539-0.033 1.084-0.029 1.59 0.007 0.797 0.053 1.412 0.139 1.744 0.062 0.237-0.075 0.481-0.305 0.544s-0.466-0.077-0.528-0.314c-0.111-0.427-0.161-1.097-0.168-1.966-0.004-0.523 0.007-1.081 0.029-1.634 0.011-0.284 0.023-0.502 0.030-0.626 0.119-1.995-2.13-2.927-3.619-1.501-0.673 0.644-1.021 1.591-1.164 2.927-0.051 0.479-0.069 0.838-0.097 1.723-0.001 0.026-0.001 0.026-0.002 0.052z"></path> </svg>
7596       </a>
7597     </div>
7598     <div class="drawer__title h4">Keranjang Belanja</div>
7599     <div class="drawer__close js-drawer-close">
7600       <button type="button">
7601         <svg class="icon icon-close" version="1.1" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="32" height="32" viewBox="0 0 32 32">
7602 <title>icon-close</title>
7603 <path d="M16.943 16l8.862 8.862c0.26 0.26 0.26 0.682 0 0.943s-0.682 0.26-0.943 0l-8.862-8.862-8.862 8.862c-0.26 0.26-0.682 0.26-0.943 0s-0.26-0.682 0-0.943l8.862-8.862-8.862-8.862c-0.26-0.26-0.26-0.682 0-0.943s0.682-0.26 0.943 0l8.862 8.862 8.862-8.862c0.26-0.26 0.682-0.26 0.943 0s0.26 0.682 0 0.943l-8.862 8.862z"></path>
7604 </svg>
7605       </button>
7606     </div>
7607   </div>
7608   <div id="CartContainer" class="p-2"></div>
7609 </div>
7610 
7611 
7611<script>
7612       
7613     </script>
7613
7614       
7614<script src="https://outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7614
7615       <!-- /snippets/ajax-cart-template.liquid -->
7616 
7617   
7617<script id="CartTemplate" type="text/template">
7618   
7619     <form action="/cart" method="post" novalidate class="cart ajaxcart">
7620       <div class="ajaxcart__inner" {{ cart.item_count }}>
7621         {{#items}}
7622         <div class="ajaxcart__product">
7623           <div class="ajaxcart__row" data-line="{{line}}">
7624             <div class="grid">
7625               <div class="grid__item one-quarter">
7626                 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
7627               </div>
7628               <div class="grid__item three-quarters">
7629                 <p class="d-block mb-3">
7630                   <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a>
7631                   {{#if variation}}
7632                     <span class="ajaxcart__product-meta p">{{variation}}</span>
7633                   {{/if}}
7634                   {{#properties}}
7635                     {{#each this}}
7636                       {{#if this}}
7637                         <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span>
7638                       {{/if}}
7639                     {{/each}}
7640                   {{/properties}}
7641                   
7642                 </p>
7643                 <div class="grid--full display-table">
7644                   <div class="grid__item display-table-cell one-half">
7645                     <div class="ajaxcart__qty">
7646                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}">
7647                         <svg version="1.1" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg>
7648                         <span class="visually-hidden">Kurangi jumlah barang</span>
7649                       </button>
7650                       <input type="text" name="updates[]" class="btn ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" data-line="{{line}}" aria-label="quantity" pattern="[0-9]*">
7651                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">
7652                         <svg version="1.1" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
7653                         <span class="visually-hidden">Tambahkan jumlah barang</span>
7654                       </button>
7655                     </div>
7656                   </div>
7657                   <div class="grid__item display-table-cell one-half text-right">
7658                     {{#if discountsApplied}}
7659                       <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small>
7660                       <br><span class="h4">{{{linePrice}}}</span>
7661                     {{else}}
7662                       <span class="h4">{{{linePrice}}}</span>
7663                     {{/if}}
7664                     </div>
7665                   </div>
7666                   {{#if discountsApplied}}
7667                     <div class="grid--full display-table">
7668                       <div class="grid__item text-right">
7669                         {{#each discounts}}
7670                           <small class="ajaxcart-item__discount">{{ this.title }}</small><br>
7671                         {{/each}}
7672                       </div>
7673                     </div>
7674                   {{/if}}
7675                   </div>
7676                 </div>
7677               </div>
7678             </div>
7679           </div>
7680         </div>
7681         {{/items}}
7682       </div>
7683       <div class="ajaxcart__footer">
7684         <div class="grid--full cart-subtotal py-2">
7685             <p>Subtotal</p>
7686             <h3 class="primary">{{{totalPrice}}}</h3>
7687           {{#if totalCartDiscount}}
7688             <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p>
7689           {{/if}}
7690         </div>
7691         
7692         <a href="https://snooglestore.com/" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a>
7693         
7694         <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p>
7695       </div>
7696     </form>
7697   
7698   </script>
7698
7699   
7699<script id="AjaxQty" type="text/template">
7700   
7701     <div class="ajaxcart__qty">
7702       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7703         <svg version="1.1" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="24" viewBox="0 0 32 32">
7704             <title>icon-minus</title>
7705             <path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path>
7706         </svg>
7707         <span class="visually-hidden">Kurangi jumlah barang</span>
7708           </button>
7709               <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*">
7710           <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7711         <svg version="1.1" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
7712         <span class="visually-hidden">Tambahkan jumlah barang</span>
7713       </button>
7714     </div>
7715   
7716   </script>
7716
7717   
7717<script id="JsQty" type="text/template">
7718   
7719     <div class="js-qty mx-auto mt-2">
7720       <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7721         <svg version="1.1" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg>
7722         <span class="visually-hidden">Kurangi jumlah barang</span>
7723       </button>
7724       <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
7725       <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7726         <svg version="1.1" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
7727         <span class="visually-hidden">Tambahkan jumlah barang</span>
7728       </button>
7729     </div>
7730   
7731   </script>
7731
7732 
7733 <style>
7734   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button,
7735   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button,
7736   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;}
7737   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7738   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7739   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;}
7740   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7741   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7742   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;}
7743 </style>
7744       
7744<script src="https://outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7744
7745       
7745<script>
7746         jQuery(function($) {
7747           ajaxCart.init({
7748             formSelector: '#AddToCartForm',
7749             cartContainer: '#CartContainer',
7750             addToCartSelector: '#AddToCartXX',
7751             cartCountSelector: '#CartCount, #CartCount2',
7752             cartCostSelector: '#CartCost',
7753             moneyFormat: "Rp {{amount_no_decimals}}"
7754           });
7755           });
7756 
7757           jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) {
7758             timber.RightDrawer.open();
7759           });
7760       </script>
7760
7761     
7762 
7763 
7764 
7765 <style>
7766   /** Search AutoComplete **/
7767   .resultsearch .ui-menu-item[data-cat="Collection"],
7768   .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;}
7769   .resultsearch .ui-widget.ui-widget-content {
7770     width: 100%;
7771     top: 48px;
7772     border: none;
7773     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
7774   }
7775   .resultsearch .ui-menu-item {text-align: left;}
7776   .resultsearch .ui-menu-item>a, .resultsearch .ui-menu-item>span {display: inline-block;width: 100%;font-size: 16px;}.resultsearch .ui-menu-item img {vertical-align: middle;}.resultsearch .ui-menu-item a[data-cat="Collection"] img {display: none;}.resultsearch .ui-menu .ui-state-focus, .resultsearch .ui-menu .ui-state-active {margin: 0;}.ui-state-active, .ui-widget-content .ui-state-active {background: #f2f2f2;border: none;color: #ffffff;}.resultsearch .ui-menu-item>a,.resultsearch .ui-menu-item>span {display: inline-block;width: 100%;font-size: 13px;}.resultsearch .ui-menu-item a[data-cat="Produk"] img {margin-right: 10px;}.resultsearch .ui-menu-item a[data-cat="Produk"] .price {float: right;padding: 15px 0;}.ui-autocomplete-category.ui-menu-item[data-cat="Produk"]:before {content: "Product Populer";font-size: 13px;padding: 5px;margin: 5px 0;background: #f2f2f2;width: 100%;display: block;color: #ffffff;}.ui-autocomplete-category.ui-menu-item[data-cat="Produk"] span {display: none;}
7777   .ui-state-active {
7778     border: none!important;
7779     background-color: #fafafa!important;
7780     color: #000!important;
7781   }
7782   .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;}
7783   .ui-menu .ui-menu-item {line-height: normal;}
7784 </style>
7785 
7785<script>
7786 $(window).load(function(){
7787 
7788   function format(item) {var cell = '';cell += "<a data-cat=" + item.category + " " + "href=" + item.url + ">" + "<img src=" + item.images + "/>" + "<span class='title'>" + item.label + "</span>" + "<span class='price'>" + item.price + "</span>" + "</a>";return cell;}
7789 
7790   $.widget("custom.catcomplete", $.ui.autocomplete, {
7791     _renderMenu: function (ul, items) {
7792       var that = this,
7793           currentCategory = "";
7794       $.each(items, function (index, item) {
7795         if (item.category != currentCategory) {
7796           ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>");
7797           currentCategory = item.category;
7798         }
7799         that._renderItemData(ul, item);
7800       });
7801     }
7802   });
7803 
7804   $.ui.autocomplete.prototype._renderItem = function( ul, item ) {
7805     var term = this.element.val(),
7806         html = item.label.replace( term, "<b>$&</b>" );
7807     return $( "<li>" )
7808     .append(format(item))
7809     .appendTo( ul );
7810   };
7811 
7812 
7813   var data = [
7814       { label: "< Rp 500.000", category: "Collection", url: "/collections/rp-500-000", images: " ", price: " " },{ label: "> Rp 1.000.000", category: "Collection", url: "/collections/rp-1-000-000", images: " ", price: " " },{ label: "Acrylic Jewelry Box", category: "Collection", url: "/collections/acrylic-jewelry-box", images: " ", price: " " },{ label: "Ajmal", category: "Collection", url: "/collections/ajmal", images: " ", price: " " },{ label: "Alamat Rumah Duka", category: "Collection", url: "/collections/rumah-duka", images: " ", price: " " },{ label: "Anggrek Bulan", category: "Collection", url: "/collections/anggrek-bulan", images: " ", price: " " },{ label: "Anniversary Gift", category: "Collection", url: "/collections/kado-anniversary", images: " ", price: " " },{ label: "Aquarius ♒️ 20Jan - 18Feb", category: "Collection", url: "/collections/kado-untuk-zodiak-aquarius", images: " ", price: " " },{ label: "Aries ♈️ 21March - 19April", category: "Collection", url: "/collections/kado-untuk-zodiak-aries", images: " ", price: " " },{ label: "Armaf", category: "Collection", url: "/collections/armaf", images: " ", price: " " },{ label: "Aromatherapy Diffuser", category: "Collection", url: "/collections/aromatherapy-diffuser", images: " ", price: " " },{ label: "Artisan Soap", category: "Collection", url: "/collections/artisan-soap", images: " ", price: " " },{ label: "Artisan Tea", category: "Collection", url: "/collections/artisan-tea", images: " ", price: " " },{ label: "AsmaraKu", category: "Collection", url: "/collections/asmaraku", images: " ", price: " " },{ label: "Atkinsons", category: "Collection", url: "/collections/atkinsons", images: " ", price: " " },{ label: "Autumn by Outerbloom", category: "Collection", url: "/collections/autumn-by-outerbloom", images: " ", price: " " },{ label: "Autumn by Outerbloom Chinese New Year", category: "Collection", url: "/collections/autumn-by-outerbloom-chinese-new-year", images: " ", price: " " },{ label: "Autumn by Outerbloom Christmas", category: "Collection", url: "/collections/autumn-by-outerbloom-christmas", images: " ", price: " " },{ label: "Autumn by Outerbloom Luar Jadetabek", category: "Collection", url: "/collections/autumn-by-outerbloom-luar-jadetabek", images: " ", price: " " },{ label: "Autumn by Outerbloom Ramadan", category: "Collection", url: "/collections/autumn-by-outerbloom-ramadan", images: " ", price: " " },{ label: "Autumn Pop", category: "Collection", url: "/collections/autumn-pop", images: " ", price: " " },{ label: "Bachelorette", category: "Collection", url: "/collections/bachelorette", images: " ", price: " " },{ label: "Bag Newborn Hampers", category: "Collection", url: "/collections/bag-newborn-hampers", images: " ", price: " " },{ label: "Balon", category: "Collection", url: "/collections/balon", images: " ", price: " " },{ label: "Beauty Package", category: "Collection", url: "/collections/beauty-package", images: " ", price: " " },{ label: "Best Deal", category: "Collection", url: "/collections/best-deal", images: " ", price: " " },{ label: "Best Seller", category: "Collection", url: "/collections/best-seller", images: " ", price: " " },{ label: "Best Valentine's Deals", category: "Collection", url: "/collections/bes-valentines-deals", images: " ", price: " " },{ label: "Best Value Newborn Hampers Collection", category: "Collection", url: "/collections/best-value-newborn-hampers-collection", images: " ", price: " " },{ label: "Black Tea", category: "Collection", url: "/collections/black-tea", images: " ", price: " " },{ label: "Blessing Hampers", category: "Collection", url: "/collections/blessing-hampers", images: " ", price: " " },{ label: "Bloom Box", category: "Collection", url: "/collections/bloom-box", images: " ", price: " " },{ label: "Bloomcard", category: "Collection", url: "/collections/bloomcard", images: " ", price: " " },{ label: "Boutonniere", category: "Collection", url: "/collections/boutonniere", images: " ", price: " " },{ label: "Bracelet", category: "Collection", url: "/collections/gelang", images: " ", price: " " },{ label: "Buket Bunga Bali", category: "Collection", url: "/collections/buket-bunga-bali", images: " ", price: " " },{ label: "Buket Bunga Bandung", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " },{ label: "Buket Bunga Batam", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " },{ label: "Buket Bunga Demak", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " },{ label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " },{ label: "Buket Bunga Jepara", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " },{ label: "Buket Bunga Medan", category: "Collection", url: "/collections/buket-bunga-medan", images: " ", price: " " },{ label: "Buket Bunga Nusantara", category: "Collection", url: "/collections/buket-bunga-nusantara", images: " ", price: " " },{ label: "Buket Bunga Semarang", category: "Collection", url: "/collections/buket-bunga-semarang", images: " ", price: " " },{ label: "Buket Bunga Sidoarjo", category: "Collection", url: "/collections/buket-bunga-sidoarjo", images: " ", price: " " },{ label: "Buket Bunga Surabaya", category: "Collection", url: "/collections/buket-bunga-surabaya", images: " ", price: " " },{ label: "Buket Bunga Tangerang", category: "Collection", url: "/collections/buket-bunga-tangerang", images: " ", price: " " },{ label: "Buket Bunga Uang", category: "Collection", url: "/collections/buket-bunga-uang", images: " ", price: " " },{ label: "Buket Bunga Valentine", category: "Collection", url: "/collections/buket-bunga-valentine", images: " ", price: " " },{ label: "Buket Bunga Yogyakarta", category: "Collection", url: "/collections/buket-bunga-jogja", images: " ", price: " " },{ label: "Bunga Anggrek Bali", category: "Collection", url: "/collections/bunga-anggrek-bali", images: " ", price: " " },{ label: "Bunga Anggrek Bandung", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " },{ label: "Bunga Anggrek Surabaya", category: "Collection", url: "/collections/bunga-anggrek-surabaya", images: " ", price: " " },{ label: "Bunga Anniversary", category: "Collection", url: "/collections/bunga-anniversary", images: " ", price: " " },{ label: "Bunga Artificial", category: "Collection", url: "/collections/bunga-artificial", images: " ", price: " " },{ label: "Bunga Buket", category: "Collection", url: "/collections/bunga-buket", images: " ", price: " " },{ label: "Bunga Carnations Bali", category: "Collection", url: "/collections/bunga-carnations-bali", images: " ", price: " " },{ label: "Bunga Carnations Bandung", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " },{ label: "Bunga Carnations Surabaya", category: "Collection", url: "/collections/bunga-carnations-surabaya", images: " ", price: " " },{ label: "Bunga Daisy Bali", category: "Collection", url: "/collections/bunga-daisy-bali", images: " ", price: " " },{ label: "Bunga Daisy Bandung", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " },{ label: "Bunga Daisy Surabaya", category: "Collection", url: "/collections/bunga-daisy-surabaya", images: " ", price: " " },{ label: "Bunga Gerbera Bali", category: "Collection", url: "/collections/bunga-gerbera-bali", images: " ", price: " " },{ label: "Bunga Gerbera Bandung", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " },{ label: "Bunga Gerbera Surabaya", category: "Collection", url: "/collections/bunga-gerbera-surabaya", images: " ", price: " " },{ label: "Bunga Imlek", category: "Collection", url: "/collections/rangkaian-bunga-tahun-baru-imlek", images: " ", price: " " },{ label: "Bunga Lebaran", category: "Collection", url: "/collections/rangkaian-bunga-lebaran", images: " ", price: " " },{ label: "Bunga Lily Bali", category: "Collection", url: "/collections/bunga-lily-bali", images: " ", price: " " },{ label: "Bunga Lily Bandung", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " },{ label: "Bunga Lily Surabaya", category: "Collection", url: "/collections/bunga-lily-surabaya", images: " ", price: " " },{ label: "Bunga Matahari Bali", category: "Collection", url: "/collections/bunga-matahari-bali", images: " ", price: " " },{ label: "Bunga Matahari Bandung", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " },{ label: "Bunga Matahari Surabaya", category: "Collection", url: "/collections/bunga-matahari-surabaya", images: " ", price: " " },{ label: "Bunga Mawar Bali", category: "Collection", url: "/collections/bunga-mawar-bali", images: " ", price: " " },{ label: "Bunga Mawar Bandung", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " },{ label: "Bunga Mawar Surabaya", category: "Collection", url: "/collections/bunga-mawar-surabaya", images: " ", price: " " },{ label: "Bunga Meja", category: "Collection", url: "/collections/bunga-meja", images: " ", price: " " },{ label: "Bunga Meja Bali", category: "Collection", url: "/collections/bunga-meja-bali", images: " ", price: " " },{ label: "Bunga Meja Bandung", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " },{ label: "Bunga Meja Batam", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " },{ label: "Bunga Meja Jepara", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " },{ label: "Bunga Meja Medan", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " },{ label: "Bunga Meja Semarang", category: "Collection", url: "/collections/bunga-meja-semarang", images: " ", price: " " },{ label: "Bunga Meja Sidoarjo", category: "Collection", url: "/collections/bunga-meja-sidoarjo", images: " ", price: " " },{ label: "Bunga Meja Surabaya", category: "Collection", url: "/collections/bunga-meja-surabaya", images: " ", price: " " },{ label: "Bunga Meja Tangerang", category: "Collection", url: "/collections/bunga-meja-tangerang", images: " ", price: " " },{ label: "Bunga Meja Yogyakarta", category: "Collection", url: "/collections/bunga-meja-jogja", images: " ", price: " " },{ label: "Bunga Modern Pastel Bali", category: "Collection", url: "/collections/bunga-modern-pastel-bali", images: " ", price: " " },{ label: "Bunga Modern Pastel Bandung", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " },{ label: "Bunga Modern Pastel Medan", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " },{ label: "Bunga Modern Pastel Semarang", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " },{ label: "Bunga Modern Pastel Surabaya", category: "Collection", url: "/collections/bunga-modern-pastel-surabaya", images: " ", price: " " },{ label: "Bunga Modern Pastel Yogyakarta", category: "Collection", url: "/collections/bunga-modern-pastel-yogyakarta", images: " ", price: " " },{ label: "Bunga Natal", category: "Collection", url: "/collections/rangkaian-bunga-christmas", images: " ", price: " " },{ label: "Bunga Papan", category: "Collection", url: "/collections/bunga-papan", images: " ", price: " " },{ label: "Bunga Pernikahan", category: "Collection", url: "/collections/bunga-pernikahan", images: " ", price: " " },{ label: "Bunga Plastik", category: "Collection", url: "/collections/bunga-plastik", images: " ", price: " " },{ label: "Bunga Tulip", category: "Collection", url: "/collections/bunga-tulip", images: " ", price: " " },{ label: "Bunga Ulang Tahun", category: "Collection", url: "/collections/bunga-ulang-tahun", images: " ", price: " " },{ label: "Bunga Wisuda", category: "Collection", url: "/collections/karangan-bunga-wisuda", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/kue", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/cake", images: " ", price: " " },{ label: "Cake Sameday Delivery", category: "Collection", url: "/collections/cake-sameday-delivery", images: " ", price: " " },{ label: "Cake, Hampers & Gifts", category: "Collection", url: "/collections/cake-hampers", images: " ", price: " " },{ label: "Cancer ♋️ 22June - 22July", category: "Collection", url: "/collections/kado-untuk-zodiak-cancer", images: " ", price: " " },{ label: "Capricorn ♑️ 21Dec - 19Jan", category: "Collection", url: "/collections/kado-untuk-zodiak-capricorn", images: " ", price: " " },{ label: "Care Packages", category: "Collection", url: "/collections/toko-parcel-murah", images: " ", price: " " },{ label: "Care Packages (Keluarga, Sahabat, Karyawan)", category: "Collection", url: "/collections/sehat-bebas-corona", images: " ", price: " " },{ label: "Carnations", category: "Collection", url: "/collections/bunga-anyelir", images: " ", price: " " },{ label: "Celebration", category: "Collection", url: "/collections/celebration", images: " ", price: " " },{ label: "Chléa Paperie", category: "Collection", url: "/collections/chlea-paperie", images: " ", price: " " },{ label: "Chocodot", category: "Collection", url: "/collections/chocodot", images: " ", price: " " },{ label: "Christmas", category: "Collection", url: "/collections/christmas", images: " ", price: " " },{ label: "Classic Cake", category: "Collection", url: "/collections/classic-cake", images: " ", price: " " },{ label: "Classic CNY Hampers", category: "Collection", url: "/collections/classic-cny-hampers", images: " ", price: " " },{ label: "Classic CNY Hampers Luar Jabodetabek", category: "Collection", url: "/collections/classic-cny-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Classic Hampers", category: "Collection", url: "/collections/classic-hampers", images: " ", price: " " },{ label: "Classic Hampers Luar Jadetabek", category: "Collection", url: "/collections/classic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Classic Style Flowers", category: "Collection", url: "/collections/classic-style-flowers", images: " ", price: " " },{ label: "Cokelat", category: "Collection", url: "/collections/permen-coklat", images: " ", price: " " },{ label: "Collection List", category: "Collection", url: "/collections/collection-list", images: " ", price: " " },{ label: "Condolences", category: "Collection", url: "/collections/axa-condolences", images: " ", price: " " },{ label: "Congratulations", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-selamat", images: " ", price: " " },{ label: "Corporate Gifts", category: "Collection", url: "/collections/corporate-gifts", images: " ", price: " " },{ label: "Corporate Hampers", category: "Collection", url: "/collections/corporate-hampers", images: " ", price: " " },{ label: "Couple Gift", category: "Collection", url: "/collections/couple-gift", images: " ", price: " " },{ label: "Craft Sweetbox Newborn", category: "Collection", url: "/collections/craft-sweetbox-newborn", i
7814mages: " ", price: " " },{ label: "Crystal Florarium", category: "Collection", url: "/collections/crystal-florarium", images: " ", price: " " },{ label: "Cuddlemate Doll", category: "Collection", url: "/collections/boneka-lucu", images: " ", price: " " },{ label: "Cufflinks", category: "Collection", url: "/collections/cufflinks", images: " ", price: " " },{ label: "Cupcakes", category: "Collection", url: "/collections/cupcakes", images: " ", price: " " },{ label: "Custom Alat Tulis", category: "Collection", url: "/collections/alat-tulis", images: " ", price: " " },{ label: "Custom Cake", category: "Collection", url: "/collections/custom-cake", images: " ", price: " " },{ label: "Custom Card Holder", category: "Collection", url: "/collections/custom-card-holder", images: " ", price: " " },{ label: "Custom Coaster", category: "Collection", url: "/collections/custom-coaster", images: " ", price: " " },{ label: "Custom Cutlery", category: "Collection", url: "/collections/custom-cutlery", images: " ", price: " " },{ label: "Custom E-Money", category: "Collection", url: "/collections/custom-e-money", images: " ", price: " " },{ label: "Custom Earpod", category: "Collection", url: "/collections/custom-earpod", images: " ", price: " " },{ label: "Custom Fan", category: "Collection", url: "/collections/custom-fan", images: " ", price: " " },{ label: "Custom Jewelry", category: "Collection", url: "/collections/custom-jewelry", images: " ", price: " " },{ label: "Custom Keychain", category: "Collection", url: "/collections/custom-keychain", images: " ", price: " " },{ label: "Custom Medallion", category: "Collection", url: "/collections/custom-medallion", images: " ", price: " " },{ label: "Custom Mirror", category: "Collection", url: "/collections/custom-mirror", images: " ", price: " " },{ label: "Custom Mug", category: "Collection", url: "/collections/custom-mug", images: " ", price: " " },{ label: "Custom Necklace", category: "Collection", url: "/collections/custom-necklace", images: " ", price: " " },{ label: "Custom Notebook", category: "Collection", url: "/collections/custom-notebook", images: " ", price: " " },{ label: "Custom Pen & Pencil", category: "Collection", url: "/collections/custom-pen-pencil", images: " ", price: " " },{ label: "Custom Photo Frame", category: "Collection", url: "/collections/photo-frame", images: " ", price: " " },{ label: "Custom Pillow", category: "Collection", url: "/collections/bantal-custom", images: " ", price: " " },{ label: "Custom Powerbank", category: "Collection", url: "/collections/custom-powerbank", images: " ", price: " " },{ label: "Custom Scarf", category: "Collection", url: "/collections/custom-scarf", images: " ", price: " " },{ label: "Custom Speaker", category: "Collection", url: "/collections/custom-speaker", images: " ", price: " " },{ label: "Custom T-Shirt", category: "Collection", url: "/collections/custom-t-shirt", images: " ", price: " " },{ label: "Custom Tote Bag", category: "Collection", url: "/collections/custom-tote-bag", images: " ", price: " " },{ label: "Custom Tumbler Minuman", category: "Collection", url: "/collections/custom-tumbler-minuman", images: " ", price: " " },{ label: "D'paris", category: "Collection", url: "/collections/dparis", images: " ", price: " " },{ label: "Daisy", category: "Collection", url: "/collections/bunga-aster", images: " ", price: " " },{ label: "Dekorasi", category: "Collection", url: "/collections/dekorasi", images: " ", price: " " },{ label: "Dekorasi Duka Cita", category: "Collection", url: "/collections/dekorasi-bunga-duka-cita", images: " ", price: " " },{ label: "Dekorasi Pemakaman", category: "Collection", url: "/collections/dekorasi-pemakaman", images: " ", price: " " },{ label: "Dekorasi Pernikahan", category: "Collection", url: "/collections/dekorasi-bunga-pernikahan", images: " ", price: " " },{ label: "Dekorasi Ulang Tahun", category: "Collection", url: "/collections/dekorasi-bunga-ulang-tahun", images: " ", price: " " },{ label: "Delivery", category: "Collection", url: "/collections/delivery", images: " ", price: " " },{ label: "Deluxe Newborn Hampers Collection", category: "Collection", url: "/collections/deluxe-newborn-hampers-collection", images: " ", price: " " },{ label: "Digital Gift", category: "Collection", url: "/collections/digital-gift", images: " ", price: " " },{ label: "Donasi", category: "Collection", url: "/collections/donasi", images: " ", price: " " },{ label: "E-Card", category: "Collection", url: "/collections/ecard", images: " ", price: " " },{ label: "E-Gift Card", category: "Collection", url: "/collections/e-gift-card", images: " ", price: " " },{ label: "Earrings", category: "Collection", url: "/collections/anting", images: " ", price: " " },{ label: "Edible Gift", category: "Collection", url: "/collections/edible-gift", images: " ", price: " " },{ label: "Enchanted Grande Love Pirouette", category: "Collection", url: "/collections/enchanted-grande-love-pirouette", images: " ", price: " " },{ label: "Enchanted Love Pirouette", category: "Collection", url: "/collections/enchanted-love-pirouette", images: " ", price: " " },{ label: "Engagement", category: "Collection", url: "/collections/rangkaian-bunga-lamaran", images: " ", price: " " },{ label: "Expression", category: "Collection", url: "/collections/expression", images: " ", price: " " }
7814,{ label: "Father's Day Special", category: "Collection", url: "/collections/kado-untuk-ayah", images: " ", price: " " },{ label: "Ferrari", category: "Collection", url: "/collections/ferrari", images: " ", price: " " },{ label: "Ferrero Rocher", category: "Collection", url: "/collections/ferrero-rocher", images: " ", price: " " },{ label: "Festival Belanja Online", category: "Collection", url: "/collections/fbo-2018", images: " ", price: " " },{ label: "Floatbox", category: "Collection", url: "/collections/floatbox", images: " ", price: " " },{ label: "Flower", category: "Collection", url: "/collections/flower", images: " ", price: " " },{ label: "Flower Best Deals", category: "Collection", url: "/collections/flower-best-deals", images: " ", price: " " },{ label: "Flowers", category: "Collection", url: "/collections/toko-bunga", images: " ", price: " " },{ label: "Flowers For Him", category: "Collection", url: "/collections/bunga-untuk-pria", images: " ", price: " " },{ label: "Flowers Style", category: "Collection", url: "/collections/style", images: " ", price: " " },{ label: "Flowers Type", category: "Collection", url: "/collections/type", images: " ", price: " " },{ label: "For Her", category: "Collection", url: "/collections/kado-untuk-wanita", images: " ", price: " " },{ label: "For Him", category: "Collection", url: "/collections/kado-untuk-pria", images: " ", price: " " },{ label: "Forever Flower", category: "Collection", url: "/collections/forever-flower", images: " ", price: " " },{ label: "Forever Flower Holo Series", category: "Collection", url: "/collections/forever-flower-holo-series", images: " ", price: " " },{ label: "Forever Flower x NestBloom", category: "Collection", url: "/collections/forever-flower-x-nestbloom", images: " ", price: " " },{ label: "Fortune Hampers", category: "Collection", url: "/collections/fortune-hampers", images: " ", price: " " },{ label: "Frank & Co", category: "Collection", url: "/collections/franknco", images: " ", price: " " },{ label: "Fresh Flowers", category: "Collection", url: "/collections/fresh-flower", images: " ", price: " " },{ label: "Gantungan Kunci", category: "Collection", url: "/collections/gantungan-kunci", images: " ", price: " " },{ label: "Gelato", category: "Collection", url: "/collections/gelato", images: " ", price: " " },{ label: "Gelato Pie", category: "Collection", url: "/collections/gelato-pie", images: " ", price: " " },{ label: "Gemini ♊️ 21May - 21June", category: "Collection", url: "/collections/kado-untuk-zodiak-gemini", images: " ", price: " " },{ label: "Gerbera", category: "Collection", url: "/collections/gerbera", images: " ", price: " " },{ label: "Get Well Soon", category: "Collection", url: "/collections/rangkaian-bunga-gws", images: " ", price: " " },{ label: "Giant Flower Bali", category: "Collection", url: "/collections/giant-flower-bali", images: " ", price: " " },{ label: "Giant Flower Bandung", category: "Collection", url: "/collections/giant-flower-bandung", images: " ", price: " " },{ label: "Giant Flower Bouquet", category: "Collection", url: "/collections/giant-flower", images: " ", price: " " },{ label: "Gift", category: "Collection", url: "/collections/souvenir-kado-hadiah", images: " ", price: " " },{ label: "Gift by Recipient", category: "Collection", url: "/collections/gift-by-recipient", images: " ", price: " " },{ label: "Gift for Your Girlfriend", category: "Collection", url: "/collections/kado-untuk-pacar-wanita", images: " ", price: " " },{ label: "Gifts", category: "Collection", url: "/collections/gifts", images: " ", price: " " },{ label: "Glassbox Hampers", category: "Collection", url: "/collections/glassbox-hampers", images: " ", price: " " },{ label: "Glassware Hampers", category: "Collection", url: "/collections/parcel-pecah-belah", images: " ", price: " " },{ label: "Gold Jewelry", category: "Collection", url: "/collections/perhiasan-emas", images: " ", price: " " },{ label: "Grand Opening", category: "Collection", url: "/collections/grand-opening", images: " ", price: " " },{ label: "Granola", category: "Collection", url: "/collections/granola", images: " ", price: " " },{ label: "Green Tea", category: "Collection", url: "/collections/green-tea", images: " ", price: " " },{ label: "Greeting Card All", category: "Collection", url: "/collections/greeting-card-all", images: " ", price: " " },{ label: "Greeting Card Anniversary", category: "Collection", url: "/collections/greeting-card-anniversary", images: " ", price: " " },{ label: "Greeting Card Birthday", category: "Collection", url: "/collections/greeting-card-birthday", images: " ", price: " " },{ label: "Greeting Card Eid", category: "Collection", url: "/collections/greeting-card-eid", images: " ", price: " " },{ label: "Greeting Card Graduation", category: "Collection", url: "/collections/greeting-card-graduation", images: " ", price: " " },{ label: "Greeting Card Mother's Day", category: "Collection", url: "/collections/greeting-card-mothers-day", images: " ", price: " " },{ label: "Greeting Card Newborn", category: "Collection", url: "/collections/greeting-card-newborn", images: " ", price: " " },{ label: "Greeting Card Others", category: "Collection", url: "/collections/greeting-card-others", images: " ", price: " " },{ label: "Greeting Card Valentine", category: "Collection", url: "/collections/greeting-card-valentine", images: " ", price: " " },{ label: "Greeting Card Wedding", category: "Collection", url: "/collections/greeting-card-wedding", images: " ", price: " " },{ label: "Grooming", category: "Collection", url: "/collections/grooming", images: " ", price: " " },{ label: "Hadiah Tahun Baru Imlek", category: "Collection", url: "/collections/kado-imlek", images: " ", price: " " },{ label: "Hadiah untuk Bayi", category: "Collection", url: "/collections/kado-untuk-bayi", images: " ", price: " " },{ label: "Hadiah untuk Pacar", category: "Collection", url: "/collections/kado-untuk-pacar", images: " ", price: " " },{ label: "Hadiah untuk Pernikahan", category: "Collection", url: "/collections/kado-untuk-pernikahan", images: " ", price: " " },{ label: "Hadiah untuk Sahabat", category: "Collection", url: "/collections/kado-untuk-sahabat", images: " ", price: " " },{ label: "Hampers", category: "Collection", url: "/collections/hampers", images: " ", price: " " },{ label: "Hampers Baby Boy", category: "Collection", url: "/collections/hampers-baby-boy", images: " ", price: " " },{ label: "Hampers Baby Girl", category: "Collection", url: "/collections/hampers-baby-girl", images: " ", price: " " },{ label: "Hampers Baby Unisex", category: "Collection", url: "/collections/hampers-baby-unisex", images: " ", price: " " },{ label: "Hampers Delivery Indonesia", category: "Collection", url: "/collections/parcel-indonesia", images: " ", price: " " },{ label: "Hampers Lebaran 2025", category: "Collection", url: "/collections/parcel-lebaran", images: " ", price: " " },{ label: "Hampers Lebaran Bali", category: "Collection", url: "/collections/hampers-lebaran-bali", images: " ", price: " " },{ label: "Hampers Lebaran Bandung", category: "Collection", url: "/collections/hampers-lebaran-bandung", images: " ", price: " " },{ label: "Hampers Lebaran Jakarta", category: "Collection", url: "/collections/hampers-lebaran-jakarta", images: " ", price: " " },{ label: "Hampers Lebaran Semarang", category: "Collection", url: "/collections/hampers-lebaran-semarang", images: " ", price: " " },{ label: "Hampers Lebaran Surabaya", category: "Collection", url: "/collections/hampers-lebaran-surabaya", images: " ", price: " " },{ label: "Hampers Lebaran Yogyakarta", category: "Collection", url: "/collections/hampers-lebaran-yogyakarta", images: " ", price: " " },{ label: "Hand Sanitizer", category: "Collection", url: "/collections/hand-sanitizer", images: " ", price: " " },{ label: "Happy Birthday", category: "Collection", url: "/collections/kado-ulang-tahun", images: " ", price: " " },{ label: "Harbolnas", category: "Collection", url: "/collections/harbolnas-2018", images: " ", price: " " },{ label: "Harbolnas Produk Lokal", category: "Collection", url: "/collections/produk-lokal", images: " ", price: " " },{ label: "Hari Belanja Online Nasional", category: "Collection", url: "/collections/harbolnas", images: " ", price: " " },{ label: "Hari Guru", category: "Collection", url: "/collections/hari-guru", images: " ", price: " " },{ label: "Healthy Creations", category: "Collection", url: "/collections/healthy-creations", images: " ", price: " " },{ label: "Healthy Hampers", category: "Collection", url: "/collections/healthy-hampers", images: " ", price: " " },{ label: "Heritage Box", category: "Collection", url: "/collections/heritage-boxes", images: " ", price: " " },{ label: "Heritage Chinese New Year Hampers", category: "Collection", url: "/collections/heritage-chinese-new-year-hampers", images: " ", price: " " },{ label: "Heritage Christmas Hampers", category: "Collection", url: "/collections/heritage-christmas-hampers", images: " ", price: " " },{ label: "Heritage Hampers", category: "Collection", url: "/collections/heritage-hampers", images: " ", price: " " },{ label: "Heritage Ramadan Hampers", category: "Collection", url: "/collections/heritage-ramadan-hampers", images: " ", price: " " },{ label: "Hexa Hampers", category: "Collection", url: "/collections/hexa-hampers", images: " ", price: " " },{ label: "Hexa Hampers Luar Jadetabek", category: "Collection", url: "/collections/hexa-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Hexa Newborn", category: "Collection", url: "/collections/hexa-newborn", images: " ", price: " " },{ label: "Holo Bag", category: "Collection", url: "/collections/holo-bag", images: " ", price: " " },{ label: "Holo Series", category: "Collection", url: "/collections/holo-series", images: " ", price: " " },{ label: "Home Decoration & Photo Frame", category: "Collection", url: "/collections/home-decoration", images: " ", price: " " }
7814,{ label: "Hospitalization", category: "Collection", url: "/collections/axa-hospitalization", images: " ", price: " " },{ label: "House Hampers", category: "Collection", url: "/collections/house-hampers", images: " ", price: " " },{ label: "I'm Sorry", category: "Collection", url: "/collections/rangkaian-bunga-sorry", images: " ", price: " " },{ label: "Ice Cream Cake", category: "Collection", url: "/collections/ice-cream-cake", images: " ", price: " " },{ label: "Idul Fitri", category: "Collection", url: "/collections/rangkaian-bunga-idul-fitri", images: " ", price: " " },{ label: "Jam Tangan", category: "Collection", url: "/collections/jam-tangan", images: " ", price: " " },{ label: "Jam Tangan Couple", category: "Collection", url: "/collections/jam-tangan-couple", images: " ", price: " " },{ label: "Jam Tangan Pria", category: "Collection", url: "/collections/jam-tangan-pria", images: " ", price: " " },{ label: "Jam Tangan Wanita", category: "Collection", url: "/collections/jam-tangan-wanita", images: " ", price: " " },{ label: "Jasa Packing Parcel", category: "Collection", url: "/collections/jasa-packing-parcel", images: " ", price: " " },{ label: "Jewelry", category: "Collection", url: "/collections/jewelry", images: " ", price: " " },{ label: "Jolly Hampers", category: "Collection", url: "/collections/jolly-hampers", images: " ", price: " " },{ label: "Jual Custom Cake & Hampers Termurah & Terlengkap | Outerbloom Florist & Gift", category: "Collection", url: "/collections/custom-cake-hampers", images: " ", price: " " },{ label: "Just Because", category: "Collection", url: "/collections/just-because", images: " ", price: " " },{ label: "Kado Makanan", category: "Collection", url: "/collections/kado-makanan", images: " ", price: " " },{ label: "Kado Minuman", category: "Collection", url: "/collections/kado-minuman", images: " ", price: " " },{ label: "Kado Natal", category: "Collection", url: "/collections/kado-natal", images: " ", price: " " },{ label: "Kado Unik", category: "Collection", url: "/collections/kado-unik", images: " ", price: " " },{ label: "Kado Valentine Nusantara", category: "Collection", url: "/collections/kado-valentine-nusantara", images: " ", price: " " },{ label: "Kado Valentine untuk Pria", category: "Collection", url: "/collections/kado-valentine-untuk-pria", images: " ", price: " " },{ label: "Kado Wisuda", category: "Collection", url: "/collections/kado-wisuda", images: " ", price: " " },{ label: "Kado Zodiak", category: "Collection", url: "/collections/kado-untuk-zodiak", images: " ", price: " " },{ label: "Karangan Bunga Aceh", category: "Collection", url: "/collections/karangan-bunga-aceh", images: " ", price: " " },{ label: "Karangan Bunga Ambon", category: "Collection", url: "/collections/karangan-bunga-ambon", images: " ", price: " " },{ label: "Karangan Bunga Atambua", category: "Collection", url: "/collections/karangan-bunga-atambua", images: " ", price: " " },{ label: "Karangan Bunga Bali", category: "Collection", url: "/collections/karangan-bunga-bali", images: " ", price: " " },{ label: "Karangan Bunga Balikpapan", category: "Collection", url: "/collections/karangan-bunga-balikpapan", images: " ", price: " " },{ label: "Karangan Bunga Bandung", category: "Collection", url: "/collections/karangan-bunga-bandung", images: " ", price: " " },{ label: "Karangan Bunga Bandung Barat", category: "Collection", url: "/collections/karangan-bunga-bandung-barat", images: " ", price: " " },{ label: "Karangan Bunga Bangka", category: "Collection", url: "/collections/karangan-bunga-bangka", images: " ", price: " " },{ label: "Karangan Bunga Banjarmasin", category: "Collection", url: "/collections/karangan-bunga-banjarmasin", images: " ", price: " " },{ label: "Karangan Bunga Banten", category: "Collection", url: "/collections/karangan-bunga-banten", images: " ", price: " " },{ label: "Karangan Bunga Banyumas", category: "Collection", url: "/collections/karangan-bunga-banyumas", images: " ", price: " " },{ label: "Karangan Bunga Banyuwangi", category: "Collection", url: "/collections/karangan-bunga-banyuwangi", images: " ", price: " " },{ label: "Karangan Bunga Batam", category: "Collection", url: "/collections/karangan-bunga-batam", images: " ", price: " " },{ label: "Karangan Bunga Baubau", category: "Collection", url: "/collections/karangan-bunga-baubau", images: " ", price: " " },{ label: "Karangan Bunga Bengkalis", category: "Collection", url: "/collections/karangan-bunga-bengkalis", images: " ", price: " " },{ label: "Karangan Bunga Bengkayang", category: "Collection", url: "/collections/karangan-bunga-bengkayang", images: " ", price: " " },{ label: "Karangan Bunga Bengkulu", category: "Collection", url: "/collections/karangan-bunga-bengkulu", images: " ", price: " " },{ label: "Karangan Bunga Blora", category: "Collection", url: "/collections/karangan-bunga-blora", images: " ", price: " " },{ label: "Karangan Bunga Bogor", category: "Collection", url: "/collections/karangan-bunga-bogor", images: " ", price: " " },{ label: "Karangan Bunga Bojonegoro", category: "Collection", url: "/collections/karangan-bunga-bojonegoro", images: " ", price: " " },{ label: "Karangan Bunga Boyolali", category: "Collection", url: "/collections/karangan-bunga-boyolali", images: " ", price: " " },{ label: "Karangan Bunga Brebes", category: "Collection", url: "/collections/karangan-bunga-brebes", images: " ", price: " " },{ label: "Karangan Bunga Bukittinggi", category: "Collection", url: "/collections/karangan-bunga-bukittinggi", images: " ", price: " " },{ label: "Karangan Bunga Ciamis", category: "Collection", url: "/collections/karangan-bunga-ciamis", images: " ", price: " " }
7814,{ label: "Karangan Bunga Cianjur", category: "Collection", url: "/collections/karangan-bunga-cianjur", images: " ", price: " " },{ label: "Karangan Bunga Cikarang", category: "Collection", url: "/collections/karangan-bunga-cikarang", images: " ", price: " " },{ label: "Karangan Bunga Cikupa", category: "Collection", url: "/collections/karangan-bunga-cikupa", images: " ", price: " " },{ label: "Karangan Bunga Cilacap", category: "Collection", url: "/collections/karangan-bunga-cilacap", images: " ", price: " " },{ label: "Karangan Bunga Cileunyi", category: "Collection", url: "/collections/karangan-bunga-cileunyi", images: " ", price: " " },{ label: "Karangan Bunga Cimahi", category: "Collection", url: "/collections/karangan-bunga-cimahi", images: " ", price: " " },{ label: "Karangan Bunga Cirebon", category: "Collection", url: "/collections/karangan-bunga-cirebon", images: " ", price: " " },{ label: "Karangan Bunga Ciwidey", category: "Collection", url: "/collections/karangan-bunga-ciwidey", images: " ", price: " " },{ label: "Karangan Bunga Danau Toba", category: "Collection", url: "/collections/karangan-bunga-danau-toba", images: " ", price: " " },{ label: "Karangan Bunga Demak", category: "Collection", url: "/collections/karangan-bunga-demak", images: " ", price: " " },{ label: "Karangan Bunga Denpasar", category: "Collection", url: "/collections/karangan-bunga-denpasar", images: " ", price: " " },{ label: "Karangan Bunga Depok", category: "Collection", url: "/collections/karangan-bunga-depok", images: " ", price: " " },{ label: "Karangan Bunga Duka Cita", category: "Collection", url: "/collections/karangan-bunga-duka-cita", images: " ", price: " " },{ label: "Karangan Bunga Garut", category: "Collection", url: "/collections/karangan-bunga-garut", images: " ", price: " " },{ label: "Karangan Bunga Gianyar", category: "Collection", url: "/collections/karangan-bunga-gianyar", images: " ", price: " " },{ label: "Karangan Bunga Gorontalo", category: "Collection", url: "/collections/karangan-bunga-gorontalo", images: " ", price: " " },{ label: "Karangan Bunga Gowa", category: "Collection", url: "/collections/karangan-bunga-gowa", images: " ", price: " " },{ label: "Karangan Bunga Gresik", category: "Collection", url: "/collections/karangan-bunga-gresik", images: " ", price: " " },{ label: "Karangan Bunga Grobogan", category: "Collection", url: "/collections/karangan-bunga-grobogan", images: " ", price: " " },{ label: "Karangan Bunga Gunung Kidul", category: "Collection", url: "/collections/karangan-bunga-gunungkidul", images: " ", price: " " },{ label: "Karangan Bunga Indramayu", category: "Collection", url: "/collections/karangan-bunga-indramayu", images: " ", price: " " },{ label: "Karangan Bunga Jakarta", category: "Collection", url: "/collections/karangan-bunga-jakarta", images: " ", price: " " },{ label: "Karangan Bunga Jambi", category: "Collection", url: "/collections/karangan-bunga-jambi", images: " ", price: " " },{ label: "Karangan Bunga Jayapura", category: "Collection", url: "/collections/karangan-bunga-jayapura", images: " ", price: " " },{ label: "Karangan Bunga Jember", category: "Collection", url: "/collections/karangan-bunga-jember", images: " ", price: " " },{ label: "Karangan Bunga Jembrana", category: "Collection", url: "/collections/karangan-bunga-jembrana", images: " ", price: " " },{ label: "Karangan Bunga Jepara", category: "Collection", url: "/collections/karangan-bunga-jepara", images: " ", price: " " },{ label: "Karangan Bunga Jombang", category: "Collection", url: "/collections/karangan-bunga-jombang", images: " ", price: " " },{ label: "Karangan Bunga Kampung Baru", category: "Collection", url: "/collections/karangan-bunga-kampung-baru", images: " ", price: " " },{ label: "Karangan Bunga Kapuas", category: "Collection", url: "/collections/karangan-bunga-kapuas", images: " ", price: " " },{ label: "Karangan Bunga Karanganyar", category: "Collection", url: "/collections/karangan-bunga-karanganyar", images: " ", price: " " },{ label: "Karangan Bunga Karangasem", category: "Collection", url: "/collections/karangan-bunga-karangasem", images: " ", price: " " },{ label: "Karangan Bunga Karawang", category: "Collection", url: "/collections/karangan-bunga-karawang", images: " ", price: " " },{ label: "Karangan Bunga Kartosuro", category: "Collection", url: "/collections/karangan-bunga-kartosuro", images: " ", price: " " },{ label: "Karangan Bunga Kebumen", category: "Collection", url: "/collections/karangan-bunga-kebumen", images: " ", price: " " },{ label: "Karangan Bunga Kediri", category: "Collection", url: "/collections/karangan-bunga-kediri", images: " ", price: " " },{ label: "Karangan Bunga Kendal", category: "Collection", url: "/collections/karangan-bunga-ken
7814dal", images: " ", price: " " },{ label: "Karangan Bunga Kendari", category: "Collection", url: "/collections/karangan-bunga-kendari", images: " ", price: " " },{ label: "Karangan Bunga Ketapang", category: "Collection", url: "/collections/karangan-bunga-ketapang", images: " ", price: " " },{ label: "Karangan Bunga Klaten", category: "Collection", url: "/collections/karangan-bunga-klaten", images: " ", price: " " },{ label: "Karangan Bunga Kota Batu", category: "Collection", url: "/collections/karangan-bunga-kota-batu", images: " ", price: " " },{ label: "Karangan Bunga Kudus", category: "Collection", url: "/collections/karangan-bunga-kudus", images: " ", price: " " },{ label: "Karangan Bunga Kupang", category: "Collection", url: "/collections/karangan-bunga-kupang", images: " ", price: " " },{ label: "Karangan Bunga Lamongan", category: "Collection", url: "/collections/karangan-bunga-lamongan", images: " ", price: " " },{ label: "Karangan Bunga Lampung", category: "Collection", url: "/collections/karangan-bunga-lampung", images: " ", price: " " },{ label: "Karangan Bunga Langkat", category: "Collection", url: "/collections/karangan-bunga-langkat", images: " ", price: " " },{ label: "Karangan Bunga Lembang", category: "Collection", url: "/collections/karangan-bunga-lembang", images: " ", price: " " },{ label: "Karangan Bunga Lombok", category: "Collection", url: "/collections/karangan-bunga-lombok", images: " ", price: " " },{ label: "Karangan Bunga Lubuk Pakam", category: "Collection", url: "/collections/karangan-bunga-lubuk-pakam", images: " ", price: " " },{ label: "Karangan Bunga Lumajang", category: "Collection", url: "/collections/karangan-bunga-lumajang", images: " ", price: " " },{ label: "Karangan Bunga Madiun", category: "Collection", url: "/collections/karangan-bunga-madiun", images: " ", price: " " },{ label: "Karangan Bunga Magelang", category: "Collection", url: "/collections/karangan-bunga-magelang", images: " ", price: " " },{ label: "Karangan Bunga Majalengka", category: "Collection", url: "/collections/karangan-bunga-majalengka", images: " ", price: " " },{ label: "Karangan Bunga Makassar", category: "Collection", url: "/collections/karangan-bunga-makassar", images: " ", price: " " },{ label: "Karangan Bunga Malang", category: "Collection", url: "/collections/karangan-bunga-malang", images: " ", price: " " },{ label: "Karangan Bunga Mamuju", category: "Collection", url: "/collections/karangan-bunga-mamuju", images: " ", price: " " },{ label: "Karangan Bunga Manado", category: "Collection", url: "/collections/karangan-bunga-manado", images: " ", price: " " },{ label: "Karangan Bunga Manokwari", category: "Collection", url: "/collections/karangan-bunga-manokwari", images: " ", price: " " },{ label: "Karangan Bunga Maros", category: "Collection", url: "/collections/karangan-bunga-maros", images: " ", price: " " },{ label: "Karangan Bunga Mataram", category: "Collection", url: "/collections/karangan-bunga-mataram", images: " ", price: " " },{ label: "Karangan Bunga Mojokerto", category: "Collection", url: "/collections/karangan-bunga-mojokerto", images: " ", price: " " },{ label: "Karangan Bunga Nganjuk", category: "Collection", url: "/collections/karangan-bunga-nganjuk", images: " ", price: " " },{ label: "Karangan Bunga Nias", category: "Collection", url: "/collections/karangan-bunga-nias", images: " ", price: " " },{ label: "Karangan Bunga Padang", category: "Collection", url: "/collections/karangan-bunga-padang", images: " ", price: " " },{ label: "Karangan Bunga Palangkaraya", category: "Collection", url: "/collections/karangan-bunga-palangkaraya", images: " ", price: " " },{ label: "Karangan Bunga Palu", category: "Collection", url: "/collections/karangan-bunga-palu", images: " ", price: " " },{ label: "Karangan Bunga Pangkal Pinang", category: "Collection", url: "/collections/karangan-bunga-pangkal-pinang", images: " ", price: " " },{ label: "Karangan Bunga Papan", category: "Collection", url: "/collections/karangan-bunga", images: " ", price: " " },{ label: "Karangan Bunga Papan Bandar Lampung", category: "Collection", url: "/collections/karangan-bunga-bandar-lampung", images: " ", price: " " },{ label: "Karangan Bunga Papan Bekasi", category: "Collection", url: "/collections/karangan-bunga-bekasi", images: " ", price: " " },{ label: "Karangan Bunga Papan Binjai", category: "Collection", url: "/collections/karangan-bunga-binjai", images: " ", price: " " },{ label: "Karangan Bunga Papan Blitar", category: "Collection", url: "/collections/karangan-bunga-blitar", images: " ", price: " " },{ label: "Karangan Bunga Papan Buleleng", category: "Collection", url: "/collections/karangan-bunga-buleleng", images: " ", price: " " },{ label: "Karangan Bunga Papan Cibubur", category: "Collection", url: "/collections/karangan-bunga-cibubur", images: " ", price: " " },{ label: "Karangan Bunga Papan Deli Serdang", category: "Collection", url: "/collections/karangan-bunga-deli-serdang", images: " ", price: " " },{ label: "Karangan Bunga Papan Jakarta Timur", category: "Collection", url: "/collections/karangan-bunga-jakarta-timur", images: " ", price: " " },{ label: "Karangan Bunga Papan Karo", category: "Collection", url: "/collections/karangan-bunga-karo", images: " ", price: " " },{ label: "Karangan Bunga Papan Medan", category: "Collection", url: "/collections/karangan-bunga-medan", images: " ", price: " " },{ label: "Karangan Bunga Papan Ngawi", category: "Collection", url: "/collections/karangan-bunga-ngawi", images: " ", price: " " },{ label: "Karangan Bunga Papan Palembang", category: "Collection", url: "/collections/karangan-bunga-palembang", images: " ", price: " " },{ label: "Karangan Bunga Papan Pemalang", category: "Collection", url: "/collections/karangan-bunga-pemalang", images: " ", price: " " },{ label: "Karangan Bunga Papan Rembang", category: "Collection", url: "/collections/karangan-bunga-rembang", images: " ", price: " " },{ label: "Karangan Bunga Papan Sragen", category: "Collection", url: "/collections/karangan-bunga-sragen", images: " ", price: " " },{ label: "Karangan Bunga Papan Tegal", category: "Collection", url: "/collections/karangan-bunga-tegal", images: " ", price: " " },{ label: "Karangan Bunga Papan Temanggung", category: "Collection", url: "/collections/karangan-bunga-temanggung", images: " ", price: " " },{ label: "Karangan Bunga Parepare", category: "Collection", url: "/collections/karangan-bunga-parepare", images: " ", price: " " },{ label: "Karangan Bunga Pasuruan", category: "Collection", url: "/collections/karangan-bunga-pasuruan", images: " ", price: " " },{ label: "Karangan Bunga Pati", category: "Collection", url: "/collections/karangan-bunga-pati", images: " ", price: " " },{ label: "Karangan Bunga Pekalongan", category: "Collection", url: "/collections/karangan-bunga-pekalongan", images: " ", price: " " },{ label: "Karangan Bunga Pekanbaru", category: "Collection", url: "/collections/karangan-bunga-pekanbaru", images: " ", price: " " },{ label: "Karangan Bunga Pematangsiantar", category: "Collection", url: "/collections/karangan-bunga-pematangsiantar", images: " ", price: " " },{ label: "Karangan Bunga Ponorogo", category: "Collection", url: "/collections/karangan-bunga-ponorogo", images: " ", price: " " },{ label: "Karangan Bunga Pontianak", category: "Collection", url: "/collections/karangan-bunga-pontianak", images: " ", price: " " },{ label: "Karangan Bunga Probolinggo", category: "Collection", url: "/collections/karangan-bunga-probolinggo", images: " ", price: " " },{ label: "Karangan Bunga Purbalingga", category: "Collection", url: "/collections/karangan-bunga-purbalingga", images: " ", price: " " },{ label: "Karangan Bunga Purwokerto", category: "Collection", url: "/collections/karangan-bunga-purwokerto", images: " ", price: " " },{ label: "Karangan Bunga Purworejo", category: "Collection", url: "/collections/karangan-bunga-purworejo", images: " ", price: " " },{ label: "Karangan Bunga Riau", category: "Collection", url: "/collections/karangan-bunga-riau", images: " ", price: " " },{ label: "Karangan Bunga Salatiga", category: "Collection", url: "/collections/karangan-bunga-salatiga", images: " ", price: " " },{ label: "Karangan Bunga Samarinda", category: "Collection", url: "/collections/karangan-bunga-samarinda", images: " ", price: " " },{ label: "Karangan Bunga Semarang", category: "Collection", url: "/collections/karangan-bunga-semarang", images: " ", price: " " },{ label: "Karangan Bunga Serang", category: "Collection", url: "/collections/karangan-bunga-serang", images: " ", price: " " },{ label: "Karangan Bunga Sibolga", category: "Collection", url: "/collections/karangan-bunga-sibolga", images: " ", price: " " },{ label: "Karangan Bunga Sidoarjo", category: "Collection", url: "/collections/karangan-bunga-sidoarjo", images: " ", price: " " },{ label: "Karangan Bunga Singkawang", category: "Collection", url: "/collections/karangan-bunga-singkawang", images: " ", price: " " },{ label: "Karangan Bunga Solo", category: "Collection", url: "/collections/karangan-bunga-solo", images: " ", price: " " },{ label: "Karangan Bunga Sorong", category: "Collection", url: "/collections/karangan-bunga-sorong", images: " ", price: " " },{ label: "Karangan Bunga Subang", category: "Collection", url: "/collections/karangan-bunga-subang", images: " ", price: " " },{ label: "Karangan Bunga Sukabumi", category: "Collection", url: "/collections/karangan-bunga-sukabumi", images: " ", price: " " },{ label: "Karangan Bunga Sumbawa", category: "Collection", url: "/collections/karangan-bunga-sumbawa", images: " ", price: " " },{ label: "Karangan Bunga Surabaya", category: "Collection", url: "/collections/karangan-bunga-surabaya", images: " ", price: " " },{ label: "Karangan Bunga Surakarta", category: "Collection", url: "/collections/karangan-bunga-surakarta", images: " ", price: " " },{ label: "Karangan Bunga Tangerang", category: "Collection", url: "/collections/karangan-bunga-tangerang", images: " ", price: " " },{ label: "Karangan Bunga Tasikmalaya", category: "Collection", url: "/collections/karangan-bunga-tasikmalaya", images: " ", price: " " },{ label: "Karangan Bunga Ternate", category: "Collection", url: "/collections/karangan-bunga-ternate", images: " ", price: " " },{ label: "Karangan Bunga Tolitoli", category: "Collection", url: "/collections/karangan-bunga-tolitoli", images: " ", price: " " },{ label: "Karangan Bunga Toraja", category: "Collection", url: "/collections/karangan-bunga-toraja", images: " ", price: " " },{ label: "Karangan Bunga Tuban", category: "Collection", url: "/collections/karangan-bunga-tuban", images: " ", price: " " },{ label: "Karangan Bunga Tulungagung", category: "Collection", url: "/collections/karangan-bunga-tulungagung", images: " ", price: " " },{ label: "Karangan Bunga Wakatobi", category: "Collection", url: "/collections/karangan-bunga-wakatobi", images: " ", price: " " },{ label: "Karangan Bunga Wiyung", category: "Collection", url: "/collections/karangan-bunga-wiyung", images: " ", price: " " },{ label: "Karangan Bunga Wonogiri", category: "Collection", url: "/collections/karangan-bunga-wonogiri", images: " ", price: " " },{ label: "Karangan Bunga Wonokromo", category: "Collection", url: "/collections/karangan-bunga-wonokromo", images: " ", price: " " },{ label: "Karangan Bunga Wonosobo", category: "Collection", url: "/collections/karangan-bunga-wonosobo", images: " ", price: " " },{ label: "Karangan Bunga Yogyakarta", category: "Collection", url: "/collections/karangan-bunga-yogyakarta", images: " ", price: " " },{ label: "Kartu Ucapan", category: "Collection", url: "/collections/kartu-ucapan", images: " ", price: " " },{ label: "Kue Anniversary", category: "Collection", url: "/collections/kue-anniversary", images: " ", price: " " },{ label: "Kue Bachelorette", category: "Collection", url: "/collections/kue-bachelorette", images: " ", price: " " },{ label: "Kue Bandung", category: "Collection", url: "/collections/kue-bandung", images: " ", price: " " },{ label: "Kue Bulan", category: "Collection", url: "/collections/kue-bulan", images: " ", price: " " },{ label: "Kue Imlek", category: "Collection", url: "/collections/kue-imlek", images: " ", price: " " },{ label: "Kue Kering", category: "Collection", url: "/collections/kue-kering", images: " ", price: " " },{ label: "Kue Natal", category: "Collection", url: "/collections/kue-natal", images: " ", price: " " },{ label: "Kue Pernikahan", category: "Collection", url: "/collections/kue-pernikahan", images: " ", price: " " },{ label: "Kue Tart", category: "Collection", url: "/collections/kue-tart", images: " ", price: " " },{ label: "Kue Tart Oma Elly", category: "Collection", url: "/collections/kue-tart-oma-elly", images: " ", price: " " },{ label: "Kue Ulang Tahun", category: "Collection", url: "/collections/kue-ulang-tahun", images: " ", price: " " },{ label: "Lalique", category: "Collection", url: "/collections/lalique", images: " ", price: " " },{ label: "Le Sucre Du Patisserie", category: "Collection", url: "/collections/le-sucre-du-patisserie", images: " ", price: " " },{ label: "Leo ♌️ 23July - 22Augst", category: "Collection", url: "/collections/kado-untuk-zodiak-leo", images: " ", price: " " },{ label: "Letter Box", category: "Collection", url: "/collections/letter-box", images: " ", price: " " },{ label: "Libra ♎️ 23Sept - 23Oct", category: "Collection", url: "/collections/kado-untuk-zodiak-libra", images: " ", price: " " },{ label: "Lilin Aromaterapi", category: "Collection", url: "/collections/lilin-aromaterapi", images: " ", price: " " },{ label: "Lily", category: "Collection", url: "/collections/bunga-lily", images: " ", price: " " },{ label: "Lindt", category: "Collection", url: "/collections/lindt", images: " ", price: " " },{ label: "Locations", category: "Collection", url: "/collections/locations", images: " ", price: " " },{ label: "Love & Romance", category: "Collection", url: "/collections/rangkaian-bunga-i-love-you", images: " ", price: " " },{ label: "Love Bag Collection", category: "Collection", url: "/collections/love-bag-collection", images: " ", price: " " },{ label: "Love Bundle", category: "Collection", url: "/collections/paket-promo-spesial-valentine", images: " ", price: " " },{ label: "Love Bundle Nusantara", category: "Collection", url: "/collections/love-bundle-nusantara", images: " ", price: " " },{ label: "Luxury Chinese New Year Hampers", category: "Collection", url: "/collections/luxury-chinese-new-year-hampers", images: " ", price: " " },{ label: "Luxury Christmas Hampers", category: "Collection", url: "/collections/luxury-christmas-hampers", images: " ", price: " " },{ label: "Luxury Hampers", category: "Collection", url: "/collections/luxury-hampers", images: " ", price: " " },{ label: "Luxury Hampers Luar Jadetabek", category: "Collection", url: "/collections/luxury-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Luxury Newborn Hampers Collection", category: "Collection", url: "/collections/luxury-newborn-hampers-collection", images: " ", price: " " },{ label: "Luxury Ramadan Hampers", category: "Collection", url: "/collections/luxury-ramadan-hampers", images: " ", price: " " },{ label: "Luxury Set", category: "Collection", url: "/collections/luxury", images: " ", price: " " },{ label: "Manual", category: "Collection", url: "/collections/manual", images: " ", price: " " },{ label: "Massimo Gelato", category: "Collection", url: "/collections/massimo-gelato", images: " ", price: " " },{ label: "Men's Collection", category: "Collection", url: "/collections/mens-collection", images: " ", price: " " },{ label: "Mercedes Benz", category: "Collection", url: "/collections/mercedes-benz", images: " ", price: " " },{ label: "Mercy Hampers", category: "Collection", url: "/collections/mercy-
7814hampers", images: " ", price: " " },{ label: "Merry Hampers", category: "Collection", url: "/collections/merry-hampers", images: " ", price: " " },{ label: "Merry Hampers Luar Jabodetabek", category: "Collection", url: "/collections/merry-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Mini Bouquet", category: "Collection", url: "/collections/mini-bouquet", images: " ", price: " " },{ label: "Miss Mondial", category: "Collection", url: "/collections/miss-mondial", images: " ", price: " " },{ label: "Modern & Chic Chinese New Year", category: "Collection", url: "/collections/modern-chic-chinese-new-year", images: " ", price: " " },{ label: "Modern & Chic Christmas Hampers", category: "Collection", url: "/collections/modern-chic-christmas", images: " ", price: " " },{ label: "Modern & Chic Hampers", category: "Collection", url: "/collections/modern-chic-hampers", images: " ", price: " " },{ label: "Modern & Chic Hampers Luar Jadetabek", category: "Collection", url: "/collections/modern-chic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Modern & Chic Ramadan Hampers", category: "Collection", url: "/collections/modern-chic-ramadan-hampers", images: " ", price: " " },{ label: "Modern & Classy Hampers", category: "Collection", url: "/collections/parcel-unik", images: " ", price: " " },{ label: "Modern 3D Cake", category: "Collection", url: "/collections/custom-3d-cake", images: " ", price: " " },{ label: "Modern Style Flowers", category: "Collection", url: "/collections/modern-style-flowers", images: " ", price: " " },{ label: "Monochrome Hampers", category: "Collection", url: "/collections/monochrome-hampers", images: " ", price: " " },{ label: "Monochrome Hampers Luar Jadetabek", category: "Collection", url: "/collections/monochrome-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Mooncake", category: "Collection", url: "/collections/kue-bulan-mooncake-2025-mid-autumn-festival", images: " ", price: " " },{ label: "Mooncake Assorted Selection", category: "Collection", url: "/collections/mooncake-assorted-selection", images: " ", price: " " },{ label: "Mother's Day", category: "Collection", url: "/collections/rangkaian-bunga-hari-ibu", images: " ", price: " " },{ label: "Mother's Day Special", category: "Collection", url: "/collections/kado-untuk-ibu", images: " ", price: " " },{ label: "Necklace", category: "Collection", url: "/collections/kalung", images: " ", price: " " },{ label: "NestBloom Bird Nest Hampers", category: "Collection", url: "/collections/nestbloom-birds-nest", images: " ", price: " " },{ label: "NestBloom Gift Set", category: "Collection", url: "/collections/nestbloom-gift-set", images: " ", price: " " },{ label: "Nestbloom Ritual Kit", category: "Collection", url: "/collections/nestbloom-ritual-kit", images: " ", price: " " },{ label: "NestBloom Single Bloom", category: "Collection", url: "/collections/nestbloom-single-bloom", images: " ", price: " " },{ label: "New Collection", category: "Collection", url: "/collections/produk-baru", images: " ", price: " " },{ label: "New Product", category: "Collection", url: "/collections/new-product", images: " ", price: " " },{ label: "Newborn", category: "Collection", url: "/collections/rangkaian-bunga-newborn-baby", images: " ", price: " " },{ label: "Newborn Hampers", category: "Collection", url: "/collections/parcel-newborn", images: " ", price: " " },{ label: "Occasions", category: "Collection", url: "/collections/occasions", images: " ", price: " " },{ label: "Oma Elly", category: "Collection", url: "/collections/oma-elly", images: " ", price: " " },{ label: "Oma Elly Gelato", category: "Collection", url: "/collections/oma-elly-gelato", images: " ", price: " " },{ label: "Orchid", category: "Collection", url: "/collections/bunga-anggrek", images: " ", price: " " },{ label: "Orori", category: "Collection", url: "/collections/orori", images: " ", price: " " },{ label: "Outerbloom", category: "Collection", url: "/collections/outerbloom", images: " ", price: " " },{ label: "Outerbloom Cake", category: "Collection", url: "/collections/outerbloom-cake", images: " ", price: " " },{ label: "Outerbloom Florist", category: "Collection", url: "/collections/outerbloom-florist", images: " ", price: " " },{ label: "Outerbloom Gift", category: "Collection", url: "/collections/outerbloom-gift", images: " ", price: " " },{ label: "Outerbloom Hampers", category: "Collection", url: "/collections/outerbloom-hampers", images: " ", price: " " },{ label: "Outerbloom Indonesia", category: "Collection", url: "/collections/indonesia", images: " ", price: " " },{ label: "Outerbloom x Boho Panna", category: "Collection", url: "/collections/outerbloom-x-boh
7814o-panna", images: " ", price: " " },{ label: "Outerbloom x Clairmont", category: "Collection", url: "/collections/outerbloom-x-clairmont", images: " ", price: " " },{ label: "Outerbloom x Kikido", category: "Collection", url: "/collections/outerbloom-x-kikido", images: " ", price: " " },{ label: "Outerbloom x Miwa Pattern", category: "Collection", url: "/collections/outerbloom-x-miwa", images: " ", price: " " },{ label: "Outerbloom x Nestbloom Chinese New Year", category: "Collection", url: "/collections/outerbloom-x-nestbloom-chinese-new-year", images: " ", price: " " },{ label: "Outerbloom x NestBloom Hampers", category: "Collection", url: "/collections/outerbloom-x-nestbloom", images: " ", price: " " },{ label: "Paket Kolaborasi Outerbloom", category: "Collection", url: "/collections/paket-kolaborasi-outerbloom", images: " ", price: " " },{ label: "Paket Kolaborasi Valentine", category: "Collection", url: "/collections/paket-kolaborasi-valentine", images: " ", price: " " },{ label: "Paket Ulang Tahun", category: "Collection", url: "/collections/paket-ulang-tahun", images: " ", price: " " },{ label: "Paket Valentine Nusantara", category: "Collection", url: "/collections/paket-valentine-nusantara", images: " ", price: " " },{ label: "Paket Valentine Outerbloom", category: "Collection", url: "/collections/paket-valentine", images: " ", price: " " },{ label: "Papan Bunga", category: "Collection", url: "/collections/papan-bunga", images: " ", price: " " },{ label: "Papan Bunga Aceh", category: "Collection", url: "/collections/papan-bunga-aceh", images: " ", price: " " },{ label: "Papan Bunga Acrylic", category: "Collection", url: "/collections/papan-bunga-acrylic", images: " ", price: " " },{ label: "Papan Bunga Ambon", category: "Collection", url: "/collections/papan-bunga-ambon", images: " ", price: " " },{ label: "Papan Bunga Artificial", category: "Collection", url: "/collections/papan-bunga-artificial", images: " ", price: " " },{ label: "Papan Bunga Atambua", category: "Collection", url: "/collections/papan-bunga-atambua", images: " ", price: " " },{ label: "Papan Bunga Bali", category: "Collection", url: "/collections/papan-bunga-bali", images: " ", price: " " },{ label: "Papan Bunga Balikpapan", category: "Collection", url: "/collections/papan-bunga-balikpapan", images: " ", price: " " },{ label: "Papan Bunga Bandar Lampung", category: "Collection", url: "/collections/papan-bunga-bandar-lampung", images: " ", price: " " },{ label: "Papan Bunga Bandung", category: "Collection", url: "/collections/papan-bunga-bandung", images: " ", price: " " },{ label: "Papan Bunga Bandung Barat", category: "Collection", url: "/collections/papan-bunga-bandung-barat", images: " ", price: " " },{ label: "Papan Bunga Bangka", category: "Collection", url: "/collections/papan-bunga-bangka", images: " ", price: " " },{ label: "Papan Bunga Banjarmasin", category: "Collection", url: "/collections/papan-bunga-banjarmasin", images: " ", price: " " },{ label: "Papan Bunga Banten", category: "Collection", url: "/collections/papan-bunga-banten", images: " ", price: " " },{ label: "Papan Bunga Banyumas", category: "Collection", url: "/collections/papan-bunga-banyumas", images: " ", price: " " },{ label: "Papan Bunga Banyuwangi", category: "Collection", url: "/collections/papan-bunga-banyuwangi", images: " ", price: " " },{ label: "Papan Bunga Batam", category: "Collection", url: "/collections/papan-bunga-batam", images: " ", price: " " },{ label: "Papan Bunga Baubau", category: "Collection", url: "/collections/papan-bunga-baubau", images: " ", price: " " },{ label: "Papan Bunga Bekasi", category: "Collection", url: "/collections/papan-bunga-bekasi", images: " ", price: " " },{ label: "Papan Bunga Bengkalis", category: "Collection", url: "/collections/papan-bunga-bengkalis", images: " ", price: " " },{ label: "Papan Bunga Bengkayang", category: "Collection", url: "/collections/papan-bunga-bengkayang", images: " ", price: " " },{ label: "Papan Bunga Bengkulu", category: "Collection", url: "/collections/papan-bunga-bengkulu", images: " ", price: " " }
7814,{ label: "Papan Bunga Binjai", category: "Collection", url: "/collections/papan-bunga-binjai", images: " ", price: " " },{ label: "Papan Bunga Blitar", category: "Collection", url: "/collections/papan-bunga-blitar", images: " ", price: " " },{ label: "Papan Bunga Blora", category: "Collection", url: "/collections/papan-bunga-blora", images: " ", price: " " },{ label: "Papan Bunga Bogor", category: "Collection", url: "/collections/papan-bunga-bogor", images: " ", price: " " },{ label: "Papan Bunga Bojonegoro", category: "Collection", url: "/collections/papan-bunga-bojonegoro", images: " ", price: " " },{ label: "Papan Bunga Boyolali", category: "Collection", url: "/collections/papan-bunga-boyolali", images: " ", price: " " },{ label: "Papan Bunga Brebes", category: "Collection", url: "/collections/papan-bunga-brebes", images: " ", price: " " },{ label: "Papan Bunga Bukittinggi", category: "Collection", url: "/collections/papan-bunga-bukittinggi", images: " ", price: " " },{ label: "Papan Bunga Buleleng", category: "Collection", url: "/collections/papan-bunga-buleleng", images: " ", price: " " },{ label: "Papan Bunga Ciamis", category: "Collection", url: "/collections/papan-bunga-ciamis", images: " ", price: " " },{ label: "Papan Bunga Cianjur", category: "Collection", url: "/collections/papan-bunga-cianjur", images: " ", price: " " },{ label: "Papan Bunga Cibubur", category: "Collection", url: "/collections/papan-bunga-cibubur", images: " ", price: " " },{ label: "Papan Bunga Cikarang", category: "Collection", url: "/collections/papan-bunga-cikarang", images: " ", price: " " },{ label: "Papan Bunga Cikupa", category: "Collection", url: "/collections/papan-bunga-cikupa", images: " ", price: " " },{ label: "Papan Bunga Cikupa", category: "Collection", url: "/collections/papan-bunga-cikupa-1", images: " ", price: " " },{ label: "Papan Bunga Cilacap", category: "Collection", url: "/collections/papan-bunga-cilacap", images: " ", price: " " },{ label: "Papan Bunga Cileunyi", category: "Collection", url: "/collections/papan-bunga-cileunyi", images: " ", price: " " },{ label: "Papan Bunga Cirebon", category: "Collection", url: "/collections/papan-bunga-cirebon", images: " ", price: " " },{ label: "Papan Bunga Congratulations", category: "Collection", url: "/collections/papan-bunga-ucapan-selamat", images: " ", price: " " },{ label: "Papan Bunga Congratulations Bali", category: "Collection", url: "/collections/papan-bunga-congratulations-bali", images: " ", price: " " },{ label: "Papan Bunga Congratulations Bandung", category: "Collection", url: "/collections/papan-bunga-congratulations-bandung", images: " ", price: " " },{ label: "Papan Bunga Congratulations Bekasi", category: "Collection", url: "/collections/papan-bunga-congratulations-bekasi", images: " ", price: " " },{ label: "Papan Bunga Congratulations Bogor", category: "Collection", url: "/collections/papan-bunga-congratulations-bogor", images: " ", price: " " },{ label: "Papan Bunga Congratulations Cikupa", category: "Collection", url: "/collections/papan-bunga-congratulations-cikupa", images: " ", price: " " },{ label: "Papan Bunga Congratulations Demak", category: "Collection", url: "/collections/papan-bunga-congratulations-demak", images: " ", price: " " },{ label: "Papan Bunga Congratulations Depok", category: "Collection", url: "/collections/papan-bunga-congratulations-depok", images: " ", price: " " },{ label: "Papan Bunga Congratulations Gresik", category: "Collection", url: "/collections/papan-bunga-congratulations-gresik", images: " ", price: " " },{ label: "Papan Bunga Congratulations Jakarta", category: "Collection", url: "/collections/papan-bunga-congratulations-jakarta", images: " ", price: " " },{ label: "Papan Bunga Congratulations Jepara", category: "Collection", url: "/collections/papan-bunga-congratulations-jepara", images: " ", price: " " },{ label: "Papan Bunga Congratulations Medan", category: "Collection", url: "/collections/papan-bunga-congratulations-medan", images: " ", price: " " },{ label: "Papan Bunga Congratulations Semarang", category: "Collection", url: "/collections/papan-bunga-congratulations-semarang", images: " ", price: " " }
7814,{ label: "Papan Bunga Congratulations Serang", category: "Collection", url: "/collections/papan-bunga-congratulations-serang", images: " ", price: " " },{ label: "Papan Bunga Congratulations Sidoarjo", category: "Collection", url: "/collections/papan-bunga-congratulations-sidoarjo", images: " ", price: " " },{ label: "Papan Bunga Congratulations Surabaya", category: "Collection", url: "/collections/papan-bunga-congratulations-surabaya", images: " ", price: " " },{ label: "Papan Bunga Congratulations Tangerang", category: "Collection", url: "/collections/papan-bunga-congratulations-tangerang", images: " ", price: " " },{ label: "Papan Bunga Congratulations Yogyakarta", category: "Collection", url: "/collections/papan-bunga-congratulations-yogyakarta", images: " ", price: " " },{ label: "Papan Bunga Danau Toba", category: "Collection", url: "/collections/papan-bunga-danau-toba", images: " ", price: " " },{ label: "Papan Bunga Deli Serdang", category: "Collection", url: "/collections/papan-bunga-deli-serdang", images: " ", price: " " },{ label: "Papan Bunga Demak", category: "Collection", url: "/collections/papan-bunga-demak", images: " ", price: " " },{ label: "Papan Bunga Denpasar", category: "Collection", url: "/collections/papan-bunga-denpasar", images: " ", price: " " },{ label: "Papan Bunga Depok", category: "Collection", url: "/collections/papan-bunga-depok", images: " ", price: " " },{ label: "Papan Bunga Duka Cita", category: "Collection", url: "/collections/bunga-duka-cita", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Bali", category: "Collection", url: "/collections/papan-bunga-duka-cita-bali", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Bandung", category: "Collection", url: "/collections/papan-bunga-duka-cita-bandung", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Bekasi", category: "Collection", url: "/collections/papan-bunga-duka-cita-bekasi", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Bogor", category: "Collection", url: "/collections/papan-bunga-duka-cita-bogor", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Cikupa", category: "Collection", url: "/collections/papan-bunga-duka-cita-cikupa", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Demak", category: "Collection", url: "/collections/papan-bunga-duka-cita-demak", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Depok", category: "Collection", url: "/collections/papan-bunga-duka-cita-depok", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Gresik", category: "Collection", url: "/collections/papan-bunga-duka-cita-gresik", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Jakarta", category: "Collection", url: "/collections/papan-bunga-duka-cita-jakarta", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Jepara", category: "Collection", url: "/collections/papan-bunga-duka-cita-jepara", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Medan", category: "Collection", url: "/collections/papan-bunga-duka-cita-medan", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Semarang", category: "Collection", url: "/collections/papan-bunga-duka-cita-semarang", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Serang", category: "Collection", url: "/collections/papan-bunga-duka-cita-serang", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Sidoarjo", category: "Collection", url: "/collections/papan-bunga-duka-cita-sidoarjo", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Surabaya", category: "Collection", url: "/collections/papan-bunga-duka-cita-surabaya", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Tangerang", category: "Collection", url: "/collections/papan-bunga-duka-cita-tangerang", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Yogyakarta", category: "Collection", url: "/collections/papan-bunga-duka-cita-yogyakarta", images: " ", price: " " },{ label: "Papan Bunga Garut", category: "Collection", url: "/collections/papan-bunga-garut", images: " ", price: " " },{ label: "Papan Bunga Gianyar", category: "Collection", url: "/collections/papan-bunga-gianyar", images: " ", price: " " }
7814,{ label: "Papan Bunga Gorontalo", category: "Collection", url: "/collections/papan-bunga-gorontalo", images: " ", price: " " },{ label: "Papan Bunga Gowa", category: "Collection", url: "/collections/papan-bunga-gowa", images: " ", price: " " },{ label: "Papan Bunga Gresik", category: "Collection", url: "/collections/papan-bunga-gresik", images: " ", price: " " },{ label: "Papan Bunga Grobogan", category: "Collection", url: "/collections/papan-bunga-grobogan", images: " ", price: " " },{ label: "Papan Bunga Gunungkidul", category: "Collection", url: "/collections/papan-bunga-gunungkidul", images: " ", price: " " },{ label: "Papan Bunga Indramayu", category: "Collection", url: "/collections/papan-bunga-indramayu", images: " ", price: " " },{ label: "Papan Bunga Jakarta", category: "Collection", url: "/collections/papan-bunga-jakarta", images: " ", price: " " },{ label: "Papan Bunga Jakarta Timur", category: "Collection", url: "/collections/papan-bunga-jakarta-timur", images: " ", price: " " },{ label: "Papan Bunga Jambi", category: "Collection", url: "/collections/papan-bunga-jambi", images: " ", price: " " },{ label: "Papan Bunga Jayapura", category: "Collection", url: "/collections/papan-bunga-jayapura", images: " ", price: " " },{ label: "Papan Bunga Jember", category: "Collection", url: "/collections/papan-bunga-jember", images: " ", price: " " },{ label: "Papan Bunga Jembrana", category: "Collection", url: "/collections/papan-bunga-jembrana", images: " ", price: " " },{ label: "Papan Bunga Jepara", category: "Collection", url: "/collections/papan-bunga-jepara", images: " ", price: " " },{ label: "Papan Bunga Jombang", category: "Collection", url: "/collections/papan-bunga-jombang", images: " ", price: " " },{ label: "Papan Bunga Kampung Baru", category: "Collection", url: "/collections/papan-bunga-kampung-baru", images: " ", price: " " },{ label: "Papan Bunga Kapuas", category: "Collection", url: "/collections/papan-bunga-kapuas", images: " ", price: " " },{ label: "Papan Bunga Karanganyar", category: "Collection", url: "/collections/papan-bunga-karanganyar", images: " ", price: " " },{ label: "Papan Bunga Karangasem", category: "Collection", url: "/collections/papan-bunga-karangasem", images: " ", price: " " },{ label: "Papan Bunga Karawang", category: "Collection", url: "/collections/papan-bunga-karawang", images: " ", price: " " },{ label: "Papan Bunga Karo", category: "Collection", url: "/collections/papan-bunga-karo", images: " ", price: " " },{ label: "Papan Bunga Kartosuro", category: "Collection", url: "/collections/papan-bunga-kartosuro", images: " ", price: " " },{ label: "Papan Bunga Kebumen", category: "Collection", url: "/collections/papan-bunga-kebumen", images: " ", price: " " },{ label: "Papan Bunga Kediri", category: "Collection", url: "/collections/papan-bunga-kediri", images: " ", price: " " },{ label: "Papan Bunga Kendal", category: "Collection", url: "/collections/papan-bunga-kendal", images: " ", price: " " },{ label: "Papan Bunga Kendari", category: "Collection", url: "/collections/papan-bunga-kendari", images: " ", price: " " },{ label: "Papan Bunga Ketapang", category: "Collection", url: "/collections/papan-bunga-ketapang", images: " ", price: " " },{ label: "Papan Bunga Klaten", category: "Collection", url: "/collections/papan-bunga-klaten", images: " ", price: " " },{ label: "Papan Bunga Kota Batu", category: "Collection", url: "/collections/papan-bunga-kota-batu", images: " ", price: " " },{ label: "Papan Bunga Kudus", category: "Collection", url: "/collections/papan-bunga-kudus", images: " ", price: " " },{ label: "Papan Bunga Kupang", category: "Collection", url: "/collections/papan-bunga-kupang", images: " ", price: " " },{ label: "Papan Bunga Lamongan", category: "Collection", url: "/collections/papan-bunga-lamongan", images: " ", price: " " },{ label: "Papan Bunga Lampu LED", category: "Collection", url: "/collections/papan-bunga-lampu-led", images: " ", price: " " },{ label: "Papan Bunga Lampung", category: "Collection", url: "/collections/papan-bunga-lampung", images: " ", price: " " }
7814,{ label: "Papan Bunga Langkat", category: "Collection", url: "/collections/papan-bunga-langkat", images: " ", price: " " },{ label: "Papan Bunga Lembang", category: "Collection", url: "/collections/papan-bunga-lembang", images: " ", price: " " },{ label: "Papan Bunga Lombok", category: "Collection", url: "/collections/papan-bunga-lombok", images: " ", price: " " },{ label: "Papan Bunga Lubuk Pakam", category: "Collection", url: "/collections/papan-bunga-lubuk-pakam", images: " ", price: " " },{ label: "Papan Bunga Lumajang", category: "Collection", url: "/collections/papan-bunga-lumajang", images: " ", price: " " },{ label: "Papan Bunga Madiun", category: "Collection", url: "/collections/papan-bunga-madiun", images: " ", price: " " },{ label: "Papan Bunga Magelang", category: "Collection", url: "/collections/papan-bunga-magelang", images: " ", price: " " },{ label: "Papan Bunga Majalengka", category: "Collection", url: "/collections/papan-bunga-majalengka", images: " ", price: " " },{ label: "Papan Bunga Makassar", category: "Collection", url: "/collections/papan-bunga-makassar", images: " ", price: " " },{ label: "Papan Bunga Malang", category: "Collection", url: "/collections/papan-bunga-malang", images: " ", price: " " },{ label: "Papan Bunga Mamuju", category: "Collection", url: "/collections/papan-bunga-mamuju", images: " ", price: " " },{ label: "Papan Bunga Manado", category: "Collection", url: "/collections/papan-bunga-manado", images: " ", price: " " },{ label: "Papan Bunga Manokwari", category: "Collection", url: "/collections/papan-bunga-manokwari", images: " ", price: " " },{ label: "Papan Bunga Maros", category: "Collection", url: "/collections/papan-bunga-maros", images: " ", price: " " },{ label: "Papan Bunga Mataram", category: "Collection", url: "/collections/papan-bunga-mataram", images: " ", price: " " },{ label: "Papan Bunga Medan", category: "Collection", url: "/collections/papan-bunga-medan", images: " ", price: " " },{ label: "Papan Bunga Mojokerto", category: "Collection", url: "/collections/papan-bunga-mojokerto", images: " ", price: " " },{ label: "Papan Bunga Nganjuk", category: "Collection", url: "/collections/papan-bunga-nganjuk", images: " ", price: " " },{ label: "Papan Bunga Ngawi", category: "Collection", url: "/collections/papan-bunga-ngawi", images: " ", price: " " },{ label: "Papan Bunga Nias", category: "Collection", url: "/collections/papan-bunga-nias", images: " ", price: " " },{ label: "Papan Bunga Organza", category: "Collection", url: "/collections/papan-bunga-organza", images: " ", price: " " },{ label: "Papan Bunga Padang", category: "Collection", url: "/collections/papan-bunga-padang", images: " ", price: " " },{ label: "Papan Bunga Palangkaraya", category: "Collection", url: "/collections/papan-bunga-palangkaraya", images: " ", price: " " },{ label: "Papan Bunga Palembang", category: "Collection", url: "/collections/papan-bunga-palembang", images: " ", price: " " },{ label: "Papan Bunga Palu", category: "Collection", url: "/collections/papan-bunga-palu", images: " ", price: " " },{ label: "Papan Bunga Pangkal Pinang", category: "Collection", url: "/collections/papan-bunga-pangkal-pinang", images: " ", price: " " },{ label: "Papan Bunga Parepare", category: "Collection", url: "/collections/papan-bunga-parepare", images: " ", price: " " },{ label: "Papan Bunga Pasuruan", category: "Collection", url: "/collections/papan-bunga-pasuruan", images: " ", price: " " },{ label: "Papan Bunga Pati", category: "Collection", url: "/collections/papan-bunga-pati", images: " ", price: " " },{ label: "Papan Bunga Pekalongan", category: "Collection", url: "/collections/papan-bunga-pekalongan", images: " ", price: " " },{ label: "Papan Bunga Pekanbaru", category: "Collection", url: "/collections/papan-bunga-pekanbaru", images: " ", price: " " },{ label: "Papan Bunga Pemalang", category: "Collection", url: "/collections/papan-bunga-pemalang", images: " ", price: " " },{ label: "Papan Bunga Pematangsiantar", category: "Collection", url: "/collections/papan-bunga-pematangsiantar", images: " ", price: " " }
7814,{ label: "Papan Bunga Pernikahan Bali", category: "Collection", url: "/collections/papan-bunga-pernikahan-bali", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Bandung", category: "Collection", url: "/collections/papan-bunga-pernikahan-bandung", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Bekasi", category: "Collection", url: "/collections/papan-bunga-pernikahan-bekasi", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Bogor", category: "Collection", url: "/collections/papan-bunga-pernikahan-bogor", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Cikupa", category: "Collection", url: "/collections/papan-bunga-pernikahan-cikupa", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Demak", category: "Collection", url: "/collections/papan-bunga-pernikahan-demak", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Depok", category: "Collection", url: "/collections/papan-bunga-pernikahan-depok", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Gresik", category: "Collection", url: "/collections/papan-bunga-pernikahan-gresik", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Jakarta", category: "Collection", url: "/collections/papan-bunga-pernikahan-jakarta", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Jepara", category: "Collection", url: "/collections/papan-bunga-pernikahan-jepara", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Medan", category: "Collection", url: "/collections/papan-bunga-pernikahan-medan", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Semarang", category: "Collection", url: "/collections/papan-bunga-pernikahan-semarang", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Serang", category: "Collection", url: "/collections/papan-bunga-pernikahan-serang", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Sidoarjo", category: "Collection", url: "/collections/papan-bunga-pernikahan-sidoarjo", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Surabaya", category: "Collection", url: "/collections/papan-bunga-pernikahan-surabaya", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Tangerang", category: "Collection", url: "/collections/papan-bunga-pernikahan-tangerang", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Yogyakarta", category: "Collection", url: "/collections/papan-bunga-pernikahan-yogyakarta", images: " ", price: " " },{ label: "Papan Bunga Ponorogo", category: "Collection", url: "/collections/papan-bunga-ponorogo", images: " ", price: " " },{ label: "Papan Bunga Pontianak", category: "Collection", url: "/collections/papan-bunga-pontianak", images: " ", price: " " },{ label: "Papan Bunga Premium", category: "Collection", url: "/collections/papan-bunga-premium", images: " ", price: " " },{ label: "Papan Bunga Printing", category: "Collection", url: "/collections/papan-bunga-printing", images: " ", price: " " },{ label: "Papan Bunga Printing Congratulations", category: "Collection", url: "/collections/papan-bunga-printing-congratulations", images: " ", price: " " },{ label: "Papan Bunga Probolinggo", category: "Collection", url: "/collections/papan-bunga-probolinggo", images: " ", price: " " },{ label: "Papan Bunga Promo", category: "Collection", url: "/collections/promo-papan-bunga", images: " ", price: " " },{ label: "Papan Bunga Purbalingga", category: "Collection", url: "/collections/papan-bunga-purbalingga", images: " ", price: " " },{ label: "Papan Bunga Purwokerto", category: "Collection", url: "/collections/papan-bunga-purwokerto", images: " ", price: " " },{ label: "Papan Bunga Purworejo", category: "Collection", url: "/collections/papan-bunga-purworejo", images: " ", price: " " },{ label: "Papan Bunga Rembang", category: "Collection", url: "/collections/papan-bunga-rembang", images: " ", price: " " },{ label: "Papan Bunga Riau", category: "Collection", url: "/collections/papan-bunga-riau", images: " ", price: " " },{ label: "Papan Bunga Salatiga", category: "Collection", url: "/collections/papan-bunga-salatiga", images: " ", price: " " }
7814,{ label: "Papan Bunga Samarinda", category: "Collection", url: "/collections/papan-bunga-samarinda", images: " ", price: " " },{ label: "Papan Bunga Selamat Bandung", category: "Collection", url: "/collections/papan-bunga-selamat-bandung", images: " ", price: " " },{ label: "Papan Bunga Selamat Medan", category: "Collection", url: "/collections/papan-bunga-selamat-medan", images: " ", price: " " },{ label: "Papan Bunga Semarang", category: "Collection", url: "/collections/papan-bunga-semarang", images: " ", price: " " },{ label: "Papan Bunga Serang", category: "Collection", url: "/collections/papan-bunga-serang", images: " ", price: " " },{ label: "Papan Bunga Sibolga", category: "Collection", url: "/collections/papan-bunga-sibolga", images: " ", price: " " },{ label: "Papan Bunga Sidoarjo", category: "Collection", url: "/collections/papan-bunga-sidoarjo", images: " ", price: " " },{ label: "Papan Bunga Singkawang", category: "Collection", url: "/collections/papan-bunga-singkawang", images: " ", price: " " },{ label: "Papan Bunga Solo", category: "Collection", url: "/collections/papan-bunga-solo", images: " ", price: " " },{ label: "Papan Bunga Sorong", category: "Collection", url: "/collections/papan-bunga-sorong", images: " ", price: " " },{ label: "Papan Bunga Sragen", category: "Collection", url: "/collections/papan-bunga-sragen", images: " ", price: " " },{ label: "Papan Bunga Standard", category: "Collection", url: "/collections/papan-bunga-standard", images: " ", price: " " },{ label: "Papan Bunga Subang", category: "Collection", url: "/collections/papan-bunga-subang", images: " ", price: " " },{ label: "Papan Bunga Sukabumi", category: "Collection", url: "/collections/papan-bunga-sukabumi", images: " ", price: " " },{ label: "Papan Bunga Sumbawa", category: "Collection", url: "/collections/papan-bunga-sumbawa", images: " ", price: " " },{ label: "Papan Bunga Surabaya", category: "Collection", url: "/collections/papan-bunga-surabaya", images: " ", price: " " },{ label: "Papan Bunga Surakarta", category: "Collection", url: "/collections/papan-bunga-surakarta", images: " ", price: " " },{ label: "Papan Bunga Tangerang", category: "Collection", url: "/collections/papan-bunga-tangerang", images: " ", price: " " },{ label: "Papan Bunga Tasikmalaya", category: "Collection", url: "/collections/papan-bunga-tasikmalaya", images: " ", price: " " },{ label: "Papan Bunga Tegal", category: "Collection", url: "/collections/papan-bunga-tegal", images: " ", price: " " },{ label: "Papan Bunga Temanggung", category: "Collection", url: "/collections/papan-bunga-temanggung", images: " ", price: " " },{ label: "Papan Bunga Ternate", category: "Collection", url: "/collections/papan-bunga-ternate", images: " ", price: " " },{ label: "Papan Bunga Tolitoli", category: "Collection", url: "/collections/papan-bunga-tolitoli", images: " ", price: " " },{ label: "Papan Bunga Toraja", category: "Collection", url: "/collections/papan-bunga-toraja", images: " ", price: " " },{ label: "Papan Bunga Tuban", category: "Collection", url: "/collections/papan-bunga-tuban", images: " ", price: " " },{ label: "Papan Bunga Tulungagung", category: "Collection", url: "/collections/papan-bunga-tulungagung", images: " ", price: " " },{ label: "Papan Bunga Wakatobi", category: "Collection", url: "/collections/papan-bunga-wakatobi", images: " ", price: " " },{ label: "Papan Bunga Wedding", category: "Collection", url: "/collections/papan-bunga-ucapan-pernikahan", images: " ", price: " " },{ label: "Papan Bunga Wiyung", category: "Collection", url: "/collections/papan-bunga-wiyung", images: " ", price: " " },{ label: "Papan Bunga Wonogiri", category: "Collection", url: "/collections/papan-bunga-wonogiri", images: " ", price: " " },{ label: "Papan Bunga Wonokromo", category: "Collection", url: "/collections/papan-bunga-wonokromo", images: " ", price: " " },{ label: "Papan Bunga Wonosobo", category: "Collection", url: "/collections/papan-bunga-wonosobo", images: " ", price: " " },{ label: "Papan Bunga Yogyakarta", category: "Collection", url: "/collections/papan-bunga-yogyakarta", images: " ", price: " " }
7814,{ label: "Paper Flower Board", category: "Collection", url: "/collections/papan-bunga-kertas", images: " ", price: " " },{ label: "Paper Flower Board Bali", category: "Collection", url: "/collections/papan-bunga-kertas-bali", images: " ", price: " " },{ label: "Paper Flower Board Gresik", category: "Collection", url: "/collections/papan-bunga-kertas-gresik", images: " ", price: " " },{ label: "Paper Flower Board Sidoarjo", category: "Collection", url: "/collections/papan-bunga-kertas-sidoarjo", images: " ", price: " " },{ label: "Paper Flower Board Surabaya", category: "Collection", url: "/collections/papan-bunga-kertas-surabaya", images: " ", price: " " },{ label: "Paper Flower Board Yogyakarta", category: "Collection", url: "/collections/papan-bunga-kertas-yogyakarta", images: " ", price: " " },{ label: "Parcel", category: "Collection", url: "/collections/parcel", images: " ", price: " " },{ label: "Parcel Buah", category: "Collection", url: "/collections/parcel-buah-segar", images: " ", price: " " },{ label: "Parcel Buah Bandung", category: "Collection", url: "/collections/parcel-buah-bandung", images: " ", price: " " },{ label: "Parcel Buah Semarang", category: "Collection", url: "/collections/parcel-buah-semarang", images: " ", price: " " },{ label: "Parcel Buah Sidoarjo", category: "Collection", url: "/collections/parcel-buah-sidoarjo", images: " ", price: " " },{ label: "Parcel Buah Surabaya", category: "Collection", url: "/collections/parcel-buah-surabaya", images: " ", price: " " },{ label: "Parcel Imlek 2025", category: "Collection", url: "/collections/parcel-imlek", images: " ", price: " " },{ label: "Parcel Imlek Bandung", category: "Collection", url: "/collections/parcel-imlek-bandung", images: " ", price: " " },{ label: "Parcel Imlek Nusantara", category: "Collection", url: "/collections/parcel-imlek-nusantara", images: " ", price: " " },{ label: "Parcel Lebaran Bandung", category: "Collection", url: "/collections/parcel-lebaran-bandung", images: " ", price: " " },{ label: "Parcel Lebaran Nusantara", category: "Collection", url: "/collections/parcel-lebaran-indonesia", images: " ", price: " " },{ label: "Parcel Lebaran Surabaya", category: "Collection", url: "/collections/parcel-lebaran-surabaya", images: " ", price: " " },{ label: "Parcel Makanan", category: "Collection", url: "/collections/parcel-makanan", images: " ", price: " " },{ label: "Parcel Natal & Tahun Baru 2026", category: "Collection", url: "/collections/hampers-natal", images: " ", price: " " },{ label: "Parcel Natal & Tahun Baru Bandung", category: "Collection", url: "/collections/parcel-natal-bandung", images: " ", price: " " },{ label: "Parcel Newborn Nusantara", category: "Collection", url: "/collections/parcel-newborn-nusantara", images: " ", price: " " },{ label: "Parcel Tahun Baru", category: "Collection", url: "/collections/new-year-tahun-baru", images: " ", price: " " },{ label: "Party Supplies", category: "Collection", url: "/collections/party-supplies", images: " ", price: " " },{ label: "Partysaurus", category: "Collection", url: "/collections/partysaurus", images: " ", price: " " },{ label: "Pasar Bunga Splendid Malang", category: "Collection", url: "/collections/pasar-bunga-splendid-malang", images: " ", price: " " },{ label: "Passionate Red Valentine", category: "Collection", url: "/collections/red-valentine", images: " ", price: " " },{ label: "Pendant", category: "Collection", url: "/collections/liontin", images: " ", price: " " },{ label: "Personalized Fashion", category: "Collection", url: "/collections/fashion", images: " ", price: " " },{ label: "Personalized Gift", category: "Collection", url: "/collections/personalized-gift", images: " ", price: " " },{ label: "Personalized Gift Pria", category: "Collection", url: "/collections/personalized-gift-pria", images: " ", price: " " },{ label: "Personalized Gift Wanita", category: "Collection", url: "/collections/personalized-gift-wanita", images: " ", price: " " },{ label: "Personalized Gifts", category: "Collection", url: "/collections/personalized-gifts", images: " ", price: " " },{ label: "Pesca Ice Cream Cakes", category: "Collection", url: "/collections/pesca", images: " ", price: " " },{ label: "Phone Case", category: "Collection", url: "/collections/phone-case", images: " ", price: " " },{ label: "Photobook", category: "Collection", url: "/collections/photobook", images: " ", price: " " },{ label: "Pisces ♓️ 19Feb - 20March", category: "Collection", url: "/collections/kado-untuk-zodiak-pisces", images: " ", price: " " },{ label: "Pohon Natal", category: "Collection", url: "/collections/pohon-natal", images: " ", price: " " },{ label: "Premium Hampers", category: "Collection", url: "/collections/parcel-premium", images: " ", price: " " },{ label: "Premium Newborn Hampers Collection", category: "Collection", url: "/collections/premium-newborn-hampers-collection", images: " ", price: " " },{ label: "Printing Cake", category: "Collection", url: "/collections/printing-cake", images: " ", price: " " },{ label: "Prom", category: "Collection", url: "/collections/prom", images: " ", price: " " },{ label: "Promo Merdeka", category: "Collection", url: "/collections/merdeka", images: " ", price: " " },{ label: "Rangkaian Bunga", category: "Collection", url: "/collections/rangkaian-bunga", images: " ", price: " " },{ label: "Rangkaian Bunga Dekorasi", category: "Collection", url: "/collections/rangkaian-bunga-dekorasi", images: " ", price: " " },{ label: "Rangkaian Bunga Ulang Tahun", category: "Collection", url: "/collections/rangkaian-bunga-ulang-tahun", images: " ", price: " " },{ label: "Romantic & Sweets", category: "Collection", url: "/collections/romantic-sweets", images: " ", price: " " },{ label: "Romantic Package", category: "Collection", url: "/collections/romantic-package", images: " ", price: " " },{ label: "Rose Beam", category: "Collection", url: "/collections/rose-beam", images: " ", price: " " },{ label: "Rose Box", category: "Collection", url: "/collections/rose-box", images: " ", price: " " },{ label: "Roses", category: "Collection", url: "/collections/bunga-mawar", images: " ", price: " " },{ label: "Rp 500.000 - Rp 800.000", category: "Collection", url: "/collections/rp-500-000-rp-800-000", images: " ", price: " " },{ label: "Rp 800.000 - Rp 1.000.000", category: "Collection", url: "/collections/rp-800-000-rp-1-000-000", images: " ", price: " " },{ label: "Rustic & Monochrome Ramadan Hampers", category: "Collection", url: "/collections/rustic-monochrome-ramadanhampers", images: " ", price: " " },{ label: "Rustic Bloom", category: "Collection", url: "/collections/dried-flowers", images: " ", price: " " },{ label: "Rustic Style Flowers", category: "Collection", url: "/collections/rustic-style-flowers", images: " ", price: " " },{ label: "Sagittarius ♐️ 22Nov - 21Des", category: "Collection", url: "/collections/kado-untuk-zodiak-sagittarius", images: " ", price: " " },{ label: "Sameday Delivery", category: "Collection", url: "/collections/sameday", images: " ", price: " " },{ label: "Savoury Dish", category: "Collection", url: "/collections/savoury-dish", images: " ", price: " " },{ label: "Saychiz", category: "Collection", url: "/collections/saychiz", images: " ", price: " " },{ label: "Scented Candles", category: "Collection", url: "/collections/scented-candles", images: " ", price: " " },{ label: "Scorpio ♏️ 24Oct - 21Nov", category: "Collection", url: "/collections/kado-untuk-zodiak-scorpio", images: " ", price: " " },{ label: "Self Pick-Up", category: "Collection", url: "/collections/self-pick-up", images: " ", price: " " },{ label: "Semua Produk", category: "Collection", url: "/collections/all", images: " ", price: " " },{ label: "Serenitea", category: "Collection", url: "/collections/serenitea", images: " ", price: " " },{ label: "Share Outerbloom Moment", category: "Collection", url: "/collections/share-moment", images: " ", price: " " },{ label: "Share your Happiness", category: "Collection", url: "/collections/share-happiness", images: " ", price: " " },{ label: "Signature Cake", category: "Collection", url: "/collections/signature-cake", images: " ", price: " " },{ label: "Signature Chinese New Year Hampers", category: "Collection", url: "/collections/signature-chinese-new-year-hampers", images: " ", price: " " },{ label: "Signature Christmas & New Year Hampers", category: "Collection", url: "/collections/signature-christmas-hampers", images: " ", price: " " },{ label: "Signature Hampers", category: "Collection", url: "/collections/signature-hampers", images: " ", price: " " },{ label: "Signature Hampers Luar Jadetabek", category: "Collection", url: "/collections/signature-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Signature Hampers Sameday", category: "Collection", url: "/collections/signature-hampers-sameday", images: " ", price: " " },{ label: "Signature Ramadan Hampers", category: "Collection", url: "/collections/signature-ramadan-hampers", images: " ", price: " " },{ label: "Slice Cake", category: "Collection", url: "/collections/slice-cake", images: " ", price: " " },{ label: "Snack Box", category: "Collection", url: "/collections/snack-box", images: " ", price: " " },{ label: "Sol et Terre", category: "Collection", url: "/collections/sol-et-terre", images: " ", price: " " },{ label: "Sorbet", category: "Collection", url: "/collections/sorbet", images: " ", price: " " },{ label: "Special Day", category: "Collection", url: "/collections/special-day", images: " ", price: " " },{ label: "Special Edition", category: "Collection", url: "/collections/special-edition", images: " ", price: " " },{ label: "Special For Her", category: "Collection", url: "/collections/special-for-her", images: " ", price: " " }
7814,{ label: "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "Bersama BAGUS33, temukan bingkai foto akrilik eksklusif bergaransi resmi di Official Snoogle Store untuk mengabadikan momen berharga USG kehamilan serta kenangan indah keluarga Anda dengan tampilan yang elegan. Yogyakarta", category: "Collection", url: "/collections/standing-flower-yogyakarta", images: " ", price: " " },{ label: "Standing Giant Flower", category: "Collection", url: "/collections/standing-giant-flower", images: " ", price: " " },{ label: "Stationery", category: "Collection", url: "/collections/stationery", images: " ", price: " " },{ label: "Steekwerk", category: "Collection", url: "/collections/steekwerk", images: " ", price: " " },{ label: "Stylish Hampers", category: "Collection", url: "/collections/stylish-hampers", images: " ", price: " " },{ label: "Stylish Hampers Luar Jadetabek", category: "Collection", url: "/collections/stylish-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Succulent", category: "Collection", url: "/collections/succulent", images: " ", price: " " },{ label: "Sunflower", category: "Collection", url: "/collections/bunga-matahari", images: " ", price: " " },{ label: "Sweet & Savoury Hampers", category: "Collection", url: "/collections/sweet-savoury-hampers", images: " ", price: " " },{ label: "Sweet Gracie", category: "Collection", url: "/collections/sweet-gracie", images: " ", price: " " },{ label: "Sweet Pastel Love", category: "Collection", url: "/collections/pastel-love", images: " ", price: " " },{ label: "Sweet Pastel Love Nusantara", category: "Collection", url: "/collections/sweet-pastel-love-nusantara", images: " ", price: " " },{ label: "Sweet Treats", category: "Collection", url: "/collections/sweet-treats", images: " ", price: " " },{ label: "Sweetooth", category: "Collection", url: "/collections/sweetooth", images: " ", price: " " },{ label: "Taurus ♉️ 20April - 20May", category: "Collection", url: "/collections/kado-untuk-zodiak-taurus", images: " ", price: " " },{ label: "Teddy Bear", category: "Collection", url: "/collections/boneka-teddy-bear", images: " ", price: " " },{ label: "Teh", category: "Collection", url: "/collections/teh", images: " ", price: " " },{ label: "Test Error", category: "Collection", url: "/collections/test-error", images: " ", price: " " },{ label: "Testing", category: "Collection", url: "/collections/testing", images: " ", price: " " },{ label: "Thank You", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-terima-kasih", images: " ", price: " " },{ label: "The Classic Astoria", category: "Collection", url: "/collections/astoria", images: " ", price: " " },{ label: "The Classic Enchanted Dome", category: "Collection", url: "/collections/enchanted-dome", images: " ", price: " " },{ label: "The Enchanted Love Pirouette Special Edition", category: "Collection", url: "/collections/the-enchanted-love-pirouette-special-edition", images: " ", price: " " },{ label: "The F Thing", category: "Collection", url: "/collections/the-f-thing", images: " ", price: " " },{ label: "The First", category: "Collection", url: "/collections/the-first", images: " ", price: " " },{ label: "The Novo Astoria", category: "Collection", url: "/collections/the-novo-astoria", images: " ", price: " " },{ label: "The Novo Enchanted Dome", category: "Collection", url: "/collections/the-novo-enchanted-dome", images: " ", price: " " },{ label: "The Novo Enchanted Dome Special Edition", category: "Collection", url: "/collections/the-novo-enchanted-dome-special-edition", images: " ", price: " " },{ label: "The Palace", category: "Collection", url: "/collections/the-palace", images: " ", price: " " },{ label: "Ties", category: "Collection", url: "/collections/dasi", images: " ", price: " " },{ label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " },{ label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " },{ label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " " },{ label: "Toko Bunga Balikpapan", category: "Collection", url: "/collections/toko-bunga-balikpapan", images: " ", price: " " }
7814,{ label: "Toko Bunga Bandar Lampung", category: "Collection", url: "/collections/toko-bunga-bandar-lampung", images: " ", price: " " },{ label: "Toko Bunga Bandung", category: "Collection", url: "/collections/toko-bunga-bandung", images: " ", price: " " },{ label: "Toko Bunga Bandung Barat", category: "Collection", url: "/collections/toko-bunga-bandung-barat", images: " ", price: " " },{ label: "Toko Bunga Banjarmasin", category: "Collection", url: "/collections/toko-bunga-banjarmasin", images: " ", price: " " },{ label: "Toko Bunga Banten", category: "Collection", url: "/collections/toko-bunga-banten", images: " ", price: " " },{ label: "Toko Bunga Banyumas", category: "Collection", url: "/collections/toko-bunga-banyumas", images: " ", price: " " },{ label: "Toko Bunga Banyuwangi", category: "Collection", url: "/collections/toko-bunga-banyuwangi", images: " ", price: " " },{ label: "Toko Bunga Batam", category: "Collection", url: "/collections/toko-bunga-batam", images: " ", price: " " },{ label: "Toko Bunga Baubau", category: "Collection", url: "/collections/toko-bunga-baubau", images: " ", price: " " },{ label: "Toko Bunga Bekasi", category: "Collection", url: "/collections/toko-bunga-bekasi", images: " ", price: " " },{ label: "Toko Bunga Bengkalis", category: "Collection", url: "/collections/toko-bunga-bengkalis", images: " ", price: " " },{ label: "Toko Bunga Bengkayang", category: "Collection", url: "/collections/toko-bunga-bengkayang", images: " ", price: " " },{ label: "Toko Bunga Binjai", category: "Collection", url: "/collections/toko-bunga-binjai", images: " ", price: " " },{ label: "Toko Bunga Bintaro", category: "Collection", url: "/collections/toko-bunga-bintaro", images: " ", price: " " },{ label: "Toko Bunga Blitar", category: "Collection", url: "/collections/toko-bunga-blitar", images: " ", price: " " },{ label: "Toko Bunga Blora", category: "Collection", url: "/collections/toko-bunga-blora", images: " ", price: " " },{ label: "Toko Bunga Bogor", category: "Collection", url: "/collections/toko-bunga-bogor", images: " ", price: " " },{ label: "Toko Bunga Bojonegoro", category: "Collection", url: "/collections/toko-bunga-bojonegoro", images: " ", price: " " },{ label: "Toko Bunga Boyolali", category: "Collection", url: "/collections/toko-bunga-boyolali", images: " ", price: " " },{ label: "Toko Bunga Brebes", category: "Collection", url: "/collections/toko-bunga-brebes", images: " ", price: " " },{ label: "Toko Bunga Bukittinggi", category: "Collection", url: "/collections/toko-bunga-bukittinggi", images: " ", price: " " },{ label: "Toko Bunga Buleleng", category: "Collection", url: "/collections/toko-bunga-buleleng", images: " ", price: " " },{ label: "Toko Bunga Cakung", category: "Collection", url: "/collections/toko-bunga-cakung", images: " ", price: " " },{ label: "Toko Bunga Cawang", category: "Collection", url: "/collections/toko-bunga-cawang", images: " ", price: " " },{ label: "Toko Bunga Cempaka Putih", category: "Collection", url: "/collections/toko-bunga-cempaka-putih", images: " ", price: " " },{ label: "Toko Bunga Cengkareng", category: "Collection", url: "/collections/toko-bunga-cengkareng", images: " ", price: " " },{ label: "Toko Bunga Ciamis", category: "Collection", url: "/collections/toko-bunga-ciamis", images: " ", price: " " },{ label: "Toko Bunga Cianjur", category: "Collection", url: "/collections/toko-bunga-cianjur", images: " ", price: " " },{ label: "Toko Bunga Cibinong", category: "Collection", url: "/collections/toko-bunga-cibinong", images: " ", price: " " },{ label: "Toko Bunga Cibubur", category: "Collection", url: "/collections/toko-bunga-cibubur", images: " ", price: " " },{ label: "Toko Bunga Cijantung", category: "Collection", url: "/collections/toko-bunga-cijantung", images: " ", price: " " },{ label: "Toko Bunga Cikarang", category: "Collection", url: "/collections/toko-bunga-cikarang", images: " ", price: " " },{ label: "Toko Bunga Cikini", category: "Collection", url: "/collections/toko-bunga-cikini", images: " ", price: " " },{ label: "Toko Bunga Cilacap", category: "Collection", url: "/collections/toko-bunga-cilacap", images: " ", price: " " },{ label: "Toko Bunga Cilandak", category: "Collection", url: "/collections/toko-bunga-cilandak", images: " ", price: " " },{ label: "Toko Bunga Cileunyi", category: "Collection", url: "/collections/toko-bunga-cileunyi", images: " ", price: " " },{ label: "Toko Bunga Ciracas", category: "Collection", url: "/collections/toko-bunga-ciracas", images: " ", price: " " },{ label: "Toko Bunga Cirebon", category: "Collection", url: "/collections/toko-bunga-cirebon", images: " ", price: " " }
7814,{ label: "Toko Bunga Ciwidey", category: "Collection", url: "/collections/toko-bunga-ciwidey", images: " ", price: " " },{ label: "Toko Bunga Danau Toba", category: "Collection", url: "/collections/toko-bunga-danau-toba", images: " ", price: " " },{ label: "Toko Bunga Demak", category: "Collection", url: "/collections/toko-bunga-demak", images: " ", price: " " },{ label: "Toko Bunga Denpasar", category: "Collection", url: "/collections/toko-bunga-denpasar", images: " ", price: " " },{ label: "Toko Bunga Depok", category: "Collection", url: "/collections/toko-bunga-depok", images: " ", price: " " },{ label: "Toko Bunga Duren Sawit", category: "Collection", url: "/collections/toko-bunga-duren-sawit", images: " ", price: " " },{ label: "Toko Bunga Garut", category: "Collection", url: "/collections/toko-bunga-garut", images: " ", price: " " },{ label: "Toko Bunga Gianyar", category: "Collection", url: "/collections/toko-bunga-gianyar", images: " ", price: " " },{ label: "Toko Bunga Gowa", category: "Collection", url: "/collections/toko-bunga-gowa", images: " ", price: " " },{ label: "Toko Bunga Gresik", category: "Collection", url: "/collections/toko-bunga-gresik", images: " ", price: " " },{ label: "Toko Bunga Grobogan", category: "Collection", url: "/collections/toko-bunga-grobogan", images: " ", price: " " },{ label: "Toko Bunga Grogol", category: "Collection", url: "/collections/toko-bunga-grogol", images: " ", price: " " },{ label: "Toko Bunga Gunungkidul", category: "Collection", url: "/collections/toko-bunga-gunungkidul", images: " ", price: " " },{ label: "Toko Bunga Indramayu", category: "Collection", url: "/collections/toko-bunga-indramayu", images: " ", price: " " },{ label: "Toko Bunga Jakarta", category: "Collection", url: "/collections/toko-bunga-jakarta", images: " ", price: " " },{ label: "Toko Bunga Jakarta Barat", category: "Collection", url: "/collections/toko-bunga-jakarta-barat", images: " ", price: " " },{ label: "Toko Bunga Jakarta Pusat", category: "Collection", url: "/collections/toko-bunga-jakarta-pusat", images: " ", price: " " },{ label: "Toko Bunga Jakarta Selatan", category: "Collection", url: "/collections/toko-bunga-jakarta-selatan", images: " ", price: " " },{ label: "Toko Bunga Jakarta Timur", category: "Collection", url: "/collections/toko-bunga-jakarta-timur", images: " ", price: " " },{ label: "Toko Bunga Jakarta Utara", category: "Collection", url: "/collections/toko-bunga-jakarta-utara", images: " ", price: " " },{ label: "Toko Bunga Jambi", category: "Collection", url: "/collections/toko-bunga-jambi", images: " ", price: " " },{ label: "Toko Bunga Jatinegara", category: "Collection", url: "/collections/toko-bunga-jatinegara", images: " ", price: " " },{ label: "Toko Bunga Jawa & Bali", category: "Collection", url: "/collections/toko-bunga-jawa-bali", images: " ", price: " " },{ label: "Toko Bunga Jayapura", category: "Collection", url: "/collections/toko-bunga-jayapura", images: " ", price: " " },{ label: "Toko Bunga Jelambar - Florist Onine 24 Jam", category: "Collection", url: "/collections/toko-bunga-jelambar", images: " ", price: " " },{ label: "Toko Bunga Jember", category: "Collection", url: "/collections/toko-bunga-jember", images: " ", price: " " },{ label: "Toko Bunga Jembrana", category: "Collection", url: "/collections/toko-bunga-jembrana", images: " ", price: " " },{ label: "Toko Bunga Jepara", category: "Collection", url: "/collections/toko-bunga-jepara", images: " ", price: " " },{ label: "Toko Bunga Joglo", category: "Collection", url: "/collections/toko-bunga-joglo", images: " ", price: " " },{ label: "Toko Bunga Jombang", category: "Collection", url: "/collections/toko-bunga-jombang", images: " ", price: " " },{ label: "Toko Bunga Kalibata", category: "Collection", url: "/collections/toko-bunga-kalibata", images: " ", price: " " },{ label: "Toko Bunga Kalimantan", category: "Collection", url: "/collections/toko-bunga-kalimantan", images: " ", price: " " },{ label: "Toko Bunga Kalisari Semarang", category: "Collection", url: "/collections/toko-bunga-kalisari-semarang", images: " ", price: " " },{ label: "Toko Bunga Kampung Baru", category: "Collection", url: "/collections/toko-bunga-kampung-baru", images: " ", price: " " },{ label: "Toko Bunga Kapuas", category: "Collection", url: "/collections/toko-bunga-kapuas", images: " ", price: " " },{ label: "Toko Bunga Karanganyar", category: "Collection", url: "/collections/toko-bunga-karanganyar", images: " ", price: " " },{ label: "Toko Bunga Karangasem", category: "Collection", url: "/collections/toko-bunga-karangasem", images: " ", price: " " },{ label: "Toko Bunga Karawang", category: "Collection", url: "/collections/toko-bunga-karawang", images: " ", price: " " },{ label: "Toko Bunga Kartosuro", category: "Collection", url: "/collections/toko-bunga-kartosuro", images: " ", price: " " },{ label: "Toko Bunga Kayoon Surabaya", category: "Collection", url: "/collections/toko-bunga-kayoon-surabaya", images: " ", price: " " },{ label: "Toko Bunga Kebayoran Baru", category: "Collection", url: "/collections/toko-bunga-kebayoran-baru", images: " ", price: " " },{ label: "Toko Bunga Kebon Jeruk", category: "Collection", url: "/collections/toko-bunga-kebon-jeruk", images: " ", price: " " },{ label: "Toko Bunga Kebumen", category: "Collection", url: "/collections/toko-bunga-kebumen", images: " ", price: " " },{ label: "Toko Bunga Kediri", category: "Collection", url: "/collections/toko-bunga-kediri", images: " ", price: " " },{ label: "Toko Bunga Kelapa Gading", category: "Collection", url: "/collections/toko-bunga-kelapa-gading", images: " ", price: " " },{ label: "Toko Bunga Kemayoran", category: "Collection", url: "/collections/toko-bunga-kemayoran", images: " ", price: " " },{ label: "Toko Bunga Kendal", category: "Collection", url: "/collections/toko-bunga-ken
7814dal", images: " ", price: " " },{ label: "Toko Bunga Kendari", category: "Collection", url: "/collections/toko-bunga-kendari", images: " ", price: " " },{ label: "Toko Bunga Ketapang", category: "Collection", url: "/collections/toko-bunga-ketapang", images: " ", price: " " },{ label: "Toko Bunga Klaten", category: "Collection", url: "/collections/toko-bunga-klaten", images: " ", price: " " },{ label: "Toko Bunga Klender", category: "Collection", url: "/collections/toko-bunga-klender", images: " ", price: " " },{ label: "Toko Bunga Kota Baru Yogyakarta", category: "Collection", url: "/collections/toko-bunga-kota-baru-yogyakarta", images: " ", price: " " },{ label: "Toko Bunga Kota Batu", category: "Collection", url: "/collections/toko-bunga-kota-batu", images: " ", price: " " },{ label: "Toko Bunga Kramat Jati", category: "Collection", url: "/collections/toko-bunga-kramat-jati", images: " ", price: " " },{ label: "Toko Bunga Kudus", category: "Collection", url: "/collections/toko-bunga-kudus", images: " ", price: " " },{ label: "Toko Bunga Kupang", category: "Collection", url: "/collections/toko-bunga-kupang", images: " ", price: " " },{ label: "Toko Bunga Lamongan", category: "Collection", url: "/collections/toko-bunga-lamongan", images: " ", price: " " },{ label: "Toko Bunga Langkat", category: "Collection", url: "/collections/toko-bunga-langkat", images: " ", price: " " },{ label: "Toko Bunga Lebak Bulus", category: "Collection", url: "/collections/toko-bunga-lebak-bulus", images: " ", price: " " },{ label: "Toko Bunga Lembang", category: "Collection", url: "/collections/toko-bunga-lembang", images: " ", price: " " },{ label: "Toko Bunga Lenteng Agung", category: "Collection", url: "/collections/toko-bunga-lenteng-agung", images: " ", price: " " },{ label: "Toko Bunga Lombok", category: "Collection", url: "/collections/toko-bunga-lombok", images: " ", price: " " },{ label: "Toko Bunga Lubuk Pakam", category: "Collection", url: "/collections/toko-bunga-lubuk-pakam", images: " ", price: " " },{ label: "Toko Bunga Lumajang", category: "Collection", url: "/collections/toko-bunga-lumajang", images: " ", price: " " },{ label: "Toko Bunga Madiun", category: "Collection", url: "/collections/toko-bunga-madiun", images: " ", price: " " },{ label: "Toko Bunga Magelang", category: "Collection", url: "/collections/toko-bunga-magelang", images: " ", price: " " },{ label: "Toko Bunga Majalengka", category: "Collection", url: "/collections/toko-bunga-majalengka", images: " ", price: " " },{ label: "Toko Bunga Makassar", category: "Collection", url: "/collections/toko-bunga-makassar", images: " ", price: " " },{ label: "Toko Bunga Malang", category: "Collection", url: "/collections/toko-bunga-malang", images: " ", price: " " },{ label: "Toko Bunga Manado", category: "Collection", url: "/collections/toko-bunga-manado", images: " ", price: " " },{ label: "Toko Bunga Mangga Besar", category: "Collection", url: "/collections/toko-bunga-mangga-besar", images: " ", price: " " },{ label: "Toko Bunga Manokwari", category: "Collection", url: "/collections/toko-bunga-manokwari", images: " ", price: " " },{ label: "Toko Bunga Maros", category: "Collection", url: "/collections/toko-bunga-maros", images: " ", price: " " },{ label: "Toko Bunga Mataram", category: "Collection", url: "/collections/toko-bunga-mataram", images: " ", price: " " },{ label: "Toko Bunga Medan", category: "Collection", url: "/collections/toko-bunga-medan", images: " ", price: " " },{ label: "Toko Bunga Mojokerto", category: "Collection", url: "/collections/toko-bunga-mojokerto", images: " ", price: " " },{ label: "Toko Bunga Nganjuk", category: "Collection", url: "/collections/toko-bunga-nganjuk", images: " ", price: " " },{ label: "Toko Bunga Ngawi", category: "Collection", url: "/collections/toko-bunga-ngawi", images: " ", price: " " },{ label: "Toko Bunga Nias", category: "Collection", url: "/collections/toko-bunga-nias", images: " ", price: " " },{ label: "Toko Bunga Nusa Tenggara", category: "Collection", url: "/collections/toko-bunga-nusa-tenggara", images: " ", price: " " },{ label: "Toko Bunga Padang", category: "Collection", url: "/collections/toko-bunga-padang", images: " ", price: " " },{ label: "Toko Bunga Palembang", category: "Collection", url: "/collections/toko-bunga-palembang", images: " ", price: " " },{ label: "Toko Bunga Palu", category: "Collection", url: "/collections/toko-bunga-palu", images: " ", price: " " },{ label: "Toko Bunga Pangkal Pinang", category: "Collection", url: "/collections/toko-bunga-pangkal-pinang", images: " ", price: " " },{ label: "Toko Bunga Papua", category: "Collection", url: "/collections/toko-bunga-papua", images: " ", price: " " },{ label: "Toko Bunga Parepare", category: "Collection", url: "/collections/toko-bunga-parepare", images: " ", price: " " },{ label: "Toko Bunga Pasar Baru", category: "Collection", url: "/collections/toko-bunga-pasar-baru", images: " ", price: " " },{ label: "Toko Bunga Pasar Minggu", category: "Collection", url: "/collections/toko-bunga-pasar-minggu", images: " ", price: " " },{ label: "Toko Bunga Pasar Rebo", category: "Collection", url: "/collections/toko-bunga-pasar-rebo", images: " ", price: " " },{ label: "Toko Bunga Pasuruan", category: "Collection", url: "/collections/toko-bunga-pasuruan", images: " ", price: " " },{ label: "Toko Bunga Pati", category: "Collection", url: "/collections/toko-bunga-pati", images: " ", price: " " },{ label: "Toko Bunga Pekalongan", category: "Collection", url: "/collections/toko-bunga-pekalongan", images: " ", price: " " },{ label: "Toko Bunga Pekanbaru", category: "Collection", url: "/collections/toko-bunga-pekanbaru", images: " ", price: " " },{ label: "Toko Bunga Pemalang", category: "Collection", url: "/collections/toko-bunga-pemalang", images: " ", price: " " },
7815       { label: "grand salutation jabodetabek", category: "Produk", url: "/products/grand-salutation", images: "https://cdn.bannervip.cloud/Banner-B
7815agus33/BS1.webp?v=1703241523", price: "Rp 435.000" },{ label: "consolantibus jabodetabek", category: "Produk", url: "/products/consolantibus", images: "https://outerbloom.com/cdn/shop/files/JKTDUK1011_Consolantibus-Jabodetabek-WM_thumb.jpg?v=1703239823", price: "Rp 435.000" },{ label: "classic midnight hand bouquet fiery red", category: "Produk", url: "/products/the-classic-midnight-hand-bouquet-fiery-red", images: "https://outerbloom.com/cdn/shop/files/OBVBUN1422_Classic-Midnight-Hand-Bouquet---Fiery-Red-large_thumb.jpg?v=1757302521", price: "Rp 385.000" },{ label: "enchanted dome passionate red", category: "Produk", url: "/products/enchanted-dome-passionate-red", images: "https://outerbloom.com/cdn/shop/files/Enchanted-dome-red-new-box_3_2_26c081bf-f2a5-42b4-9ce4-3c0304c498e5_thumb.jpg?v=1712639476", price: "Rp 1.435.000" },{ label: "endearing ruby", category: "Produk", url: "/products/endearing-ruby", images: "https://outerbloom.com/cdn/shop/products/OUTSTF1003_Endearing-Ruby_thumb.jpg?v=1631296611", price: "Rp 585.000" },{ label: "gentle soul jabodetabek", category: "Produk", url: "/products/gentle-soul-jabodetabek", images: "https://outerbloom.com/cdn/shop/files/JKTDUK1030_Gentle-Soul-Jabodetabek-WM_thumb.jpg?v=1703239894", price: "Rp 435.000" },{ label: "belleza jabodetabek", category: "Produk", url: "/products/belleza", images: "https://outerbloom.com/cdn/shop/files/Belleza-Jabodetabek-LED_aecb756a-0737-45cc-8bfb-008515ca0a37_thumb.gif?v=1759229680", price: "Rp 435.000" },{ label: "majestic pink roses with baby breath bouquet", category: "Produk", url: "/products/majestic-pink-roses-with-baby-breath-bouquet", images: "https://outerbloom.com/cdn/shop/products/ef4a3be9-c938-4c70-98ac-4873e7da82bf_90820a66-923a-463d-a464-81bcbe6e6644_thumb.jpg?v=1581413440", price: "Rp 485.000" },{ label: "sentiments jabodetabek", category: "Produk", url: "/products/sentiments", images: "https://outerbloom.com/cdn/shop/files/Sentiments-Jabodetabek-WM_thumb.jpg?v=1759224099", price: "Rp 485.000" },{ label: "rose poetry bouquet", category: "Produk", url: "/products/rose-poetry-bouquet", images: "https://outerbloom.com/cdn/shop/products/Rose-Poetry-Bouquet-20-tangkai_thumb.jpg?v=1675151039", price: "Rp 385.000" },{ label: "genuine feeling", category: "Produk", url: "/products/genuine-feeling", images: "https://outerbloom.com/cdn/shop/products/OUTSTF1004Genuine-Feeling_981ade89-af27-433e-81aa-8d76175a0e4d_thumb.jpg?v=1612352389", price: "Rp 585.000" },{ label: "eternal fidelity jabodetabek", category: "Produk", url: "/products/eternal-fidelity-jabodetabek", images: "https://outerbloom.com/cdn/shop/products/0b89df45-dcc1-4876-820e-61b2243a1945_964e211d-2972-46c9-8593-976210929089_thumb.jpg?v=1590491458", price: "Rp 435.000" },{ label: "rosabelle hand bouquet", category: "Produk", url: "/products/rosabelle-hand-bouquet", images: "https://outerbloom.com/cdn/shop/files/OBVBUN1429_Rosabelle-Hand-Bouquet-Medium_thumb.jpg?v=1756971848", price: "Rp 385.000" },{ label: "dreaming in pink luxury in vase", category: "Produk", url: "/products/dreaming-in-pink-luxury-in-vase", images: "https://outerbloom.com/cdn/shop/products/OBVBUN1051_Dreaming-In-Pink-Luxury-In-Vase_3_thumb.jpg?v=1614594504", price: "Rp 735.000" },{ label: "excito jabodetabek", category: "Produk", url: "/products/excito", images: "https://outerbloom.com/cdn/shop/files/JKTCON1010_Excito-Jabodetabek-2023_thumb.gif?v=1717494677", price: "Rp 485.000" },{ label: "golden toast jabodetabek", category: "Produk", url: "/products/golden-toast", images: "https://outerbloom.com/cdn/shop/products/LED-GoldenToast_thumb.gif?v=1579249585", price: "Rp 485.000" },{ label: "spirit of eminance jabodetabek", category: "Produk", url: "/products/spirit-of-eminance-jabodetabek", images: "https://outerbloom.com/cdn/shop/files/JKTCON1026_Spirit-of-Eminance-Jabodetabek-newest-WM_thumb.jpg?v=1693297526", price: "Rp 485.000" },{ label: "white elysian bloom box", category: "Produk", url: "/products/white-elysian-bloom-box", images: "https://outerbloom.com/cdn/shop/files/OBVBUN1704_White-Elysian-Bloom-Box_thumb.jpg?v=1757328247", price: "Rp 685.000" },{ label: "charming forevermore jabodetabek", category: "Produk", url: "/products/charming-forevermore-jabodetabek", images: "https://outerbloom.com/cdn/shop/files/JKTWED1036_Charming-Forevermore-Jabodetabek-WM_thumb.jpg?v=1703239534", price: "Rp 485.000" },{ label: "moment of glory jabodetabek", category: "Produk", url: "/products/moment-of-glory-jabodetabek", images: "https://outerbloom.com/cdn/shop/products/JKTCON1051_Moment-of-Glory-Jabodetabek_2_thumb.jpg?v=1596614663", price: "Rp 385.000" },{ label: "sweet romance jabodetabek", category: "Produk", url: "/products/sweet-romance", images: "https://outerbloom.com/cdn/shop/products/JKTWED1005_Sweet-Romance-Jabodetabek_thumb.gif?v=1677134791", price: "Rp 635.000" }
7815,{ label: "with love bouquet", category: "Produk", url: "/products/with-love-bouquet", images: "https://outerbloom.com/cdn/shop/products/c5d6fed6-8ada-4c38-ae0f-36d395aacb19_613f78f0-d52c-443b-9e13-63a151cd8ec5_thumb.jpg?v=1590748429", price: "Rp 535.000" },{ label: "sunflower yellow and with white daisies in vase", category: "Produk", url: "/products/sunflower-yellow-roses-with-white-and-yellow-daisies-in-a-glass-vase", images: "https://outerbloom.com/cdn/shop/files/OBVBUN1132_Sunflower-Yellow-And-With-White-Daisies-in-Vase_thumb.jpg?v=1757930628", price: "Rp 435.000" },{ label: "everlasting peace jabodetabek", category: "Produk", url: "/products/everlasting-peace-jabodetabek", images: "https://outerbloom.com/cdn/shop/products/JKTDUK1034_Everlasting-Peace-Jabodetabek_2_thumb.jpg?v=1596614613", price: "Rp 385.000" },{ label: "astoria passionate red", category: "Produk", url: "/products/astoria-passionate-red", images: "https://outerbloom.com/cdn/shop/products/Astoria-passionate-red_b59b26f6-c39d-46d3-adcb-262c675bb16f_thumb.jpg?v=1633502742", price: "Rp 685.000" },{ label: "classic purple orchid majesty in vase", category: "Produk", url: "/products/classic-purple-orchid-majesty-in-vase", images: "https://outerbloom.com/cdn/shop/products/Classic-Purple-Orchid-Majesty-in-Vase---White---4-Tangkai_40a5e337-283f-40f5-911c-5df9b506b9da_thumb.jpg?v=1639981404", price: "Rp 435.000" },{ label: "passion rouge bloom box", category: "Produk", url: "/products/passion-rouge-bloom-box", images: "https://outerbloom.com/cdn/shop/files/OBVBUN1725_Passion-Rouge-Bloom-Box_thumb.jpg?v=1756972410", price: "Rp 385.000" },{ label: "classic white orchid majesty in vase", category: "Produk", url: "/products/classic-white-orchid-majesty-in-vase", images: "https://outerbloom.com/cdn/shop/products/Classic-white-Orchid-Majesty-in-Vase---white---4-Tangkai_thumb.jpg?v=1644205542", price: "Rp 435.000" },{ label: "majestic blue romance bouquet", category: "Produk", url: "/products/majestic-blue-romance-bouquet", images: "https://outerbloom.com/cdn/shop/files/OBVBUN1357_Majestic-Blue-Romance-Bouquet_99b8ba96-0e67-4eef-a00e-b2daedcddb6a_thumb.jpg?v=1757390540", price: "Rp 435.000" },{ label: "sincerely", category: "Produk", url: "/products/sincerely", images: "https://outerbloom.com/cdn/shop/files/Sincerely-WM_thumb.jpg?v=1688354677", price: "Rp 585.000" },{ label: "happy days jabodetabek", category: "Produk", url: "/products/happy-days-jabodetabek", images: "https://outerbloom.com/cdn/shop/files/Happy-Days-Jabodetabek_WM_thumb.jpg?v=1759224026", price: "Rp 485.000" },{ label: "solemn comfort jabodetabek", category: "Produk", url: "/products/solemn-comfort-jabodetabek", images: "https://outerbloom.com/cdn/shop/products/7fe123d8-6bb2-4c0d-bd4c-f8c3032823f2_6b9c33b6-4a23-41cb-8709-fc9223fe096a_thumb.png?v=1590662086", price: "Rp 635.000" },{ label: "big dreams jabodetabek", category: "Produk", url: "/products/big-dreams", images: "https://outerbloom.com/cdn/shop/files/JKTCON1002_Big-Dreams-Jabodetabek_thumb.gif?v=1717494603", price: "Rp 485.000" },{ label: "signature ramadan deluxe hampers", category: "Produk", url: "/products/outerbloom-signature-ramadhan-deluxe-hampers", images: "https://outerbloom.com/cdn/shop/files/Signature-Deluxe-Hampers_thumb.jpg?v=1739242254", price: "Rp 985.000" },{ label: "amorous amos jabodetabek", category: "Produk", url: "/products/amorous-amos-jabodetabek", images: "https://outerbloom.com/cdn/shop/files/Amorous-Amos-Jabodetabek-WM_thumb.jpg?v=1759224071", price: "Rp 485.000" },{ label: "pink darling bouquet", category: "Produk", url: "/products/pink-darling-bouquet", images: "https://outerbloom.com/cdn/shop/products/Pink-Darling-Bouquet_thumb.jpg?v=1669969725", price: "Rp 485.000" },{ label: "black pink bouquet", category: "Produk", url: "/products/black-pink-bouquet", images: "https://outerbloom.com/cdn/shop/files/Black-Pink-Bouquet_thumb.jpg?v=1756434063", price: "Rp 485.000" },{ label: "profound happiness jabodetabek", category: "Produk", url: "/products/profound-happiness-jabodetabek", images: "https://outerbloom.com/cdn/shop/files/profound-happiness_thumb.gif?v=1689940309", price: "Rp 635.000" },{ label: "healing trove", category: "Produk", url: "/products/healing-trove", images: "https://outerbloom.com/cdn/shop/products/2ef5379f-27a6-41ba-85c7-c65cf3ec3f08_thumb.jpg?v=1571471845", price: "Rp 485.000" }
7815,{ label: "sincerity solace", category: "Produk", url: "/products/sincerity-solace", images: "https://outerbloom.com/cdn/shop/products/OUTSTF1038_sincerity-solace-WM_thumb.jpg?v=1612352477", price: "Rp 485.000" },{ label: "bellarosa bloom box", category: "Produk", url: "/products/bellarosa-bloom-box", images: "https://outerbloom.com/cdn/shop/files/OBVBUN1783_Bellarosa-Bloom-Box_c0000424-411c-48ed-abf4-0de7d925ea53_thumb.jpg?v=1757316757", price: "Rp 785.000" }
7816   ];
7817 
7818              
7819         $( ".header-input-search" ).catcomplete({
7820          appendTo: ".searchResult",source: function(request, response) {
7821             var results = $.ui.autocomplete.filter(data, request.term);
7822             var predicate = function () {
7823                 var counter = { Collection: 0, Produk: 0 };
7824             var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);}
7825             return fn
7826             }();
7827             response(results.filter(predicate));
7828           },
7829           minLength:1,
7830            //results are clickable
7831           select: function( event, ui ) {window.location = ui.item.url;}
7832 });
7833 $( ".header-input-search2" ).catcomplete({
7834         appendTo: ".searchResult2",
7835                    source: function(request, response) {
7836                     var results = $.ui.autocomplete.filter(data, request.term);
7837                     var predicate = function () {
7838                         var counter = { Collection: 0, Produk: 0 };
7839               var fn = function(item) {
7840               counter[item.category] += 1;
7841   return (counter[item.category] <= 5);
7842 }
7843                return fn
7844                }();
7845 response(results.filter(predicate));
7846 },
7847   minLength:1,
7848         //results are clickable
7849         select: function( event, ui ) {
7850           window.location = ui.item.url;
7851         }
7852 });
7853 });
7854 </script>
7854
7855 
7856     
7856<script src="https://outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7856
7857 
7857<script src="https://outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7857
7858 
7859 
7859<script>
7860   ( function() {
7861     var youtube = document.querySelectorAll( ".youtube" );
7862     for (var i = 0; i < youtube.length; i++) {
7863       var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg";
7864       var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg";
7865       var image = new Image();
7866       image.src = source;
7867       image.setAttribute("data-src", datasource);
7868       image.classList.add("swiper-lazy");
7869       image.addEventListener( "load", function() {
7870         youtube[ i ].appendChild( image );
7871       }( i ) );
7872       youtube[i].addEventListener( "click", function() {
7873         var iframe = document.createElement( "iframe" );
7874         iframe.setAttribute( "width", "480" );
7875         iframe.setAttribute( "height", "480" );
7876         iframe.setAttribute( "frameborder", "0" );
7877         iframe.setAttribute( "allowfullscreen", "" );
7878         iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" );
7879         this.innerHTML = "";
7880         this.appendChild( iframe );
7881       } );
7882     };
7883 
7884   } )();
7885 
7886   /* Lazy Load */
7887   const mainLazyLoad = new LazyLoad({threshold:400});
7888   $(document).ready(function(){
7889 
7890     $("selectxxx").addClass("needsclick");
7891     FastClick.attach(document.body);
7892     
7893     var $customSelects = $('.select-search');
7894     $customSelects.select2({
7895       templateResult: function(result, container) {
7896         if (!result.id) {
7897           return result.text;
7898         }
7899         container.className += ' needsclick';
7900         return result.text;
7901       }
7902     });
7903     $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');});
7904     $(document).on('select2:open', () => {
7905       document.querySelector('.select2-search__field').focus();
7906     });
7907     
7908 
7909     $(".overlay").click(function(){
7910       $(".js-drawer-close").click();
7911     });
7912     $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){
7913       $("html").toggleClass("nav_open");
7914     });
7915     
7916     $('.swatch-element label').on('click', function(){
7917       var srcImg = $(this).data('src');
7918       $('#thumb-image-product .product-single__thumbnail').each(function(){
7919         if ($(this).attr("href") == srcImg) {
7920           $(this).trigger('click');
7921         }
7922       });
7923     });
7924     var defaultValue = $(".swatch input:checked").val()
7925     
7926     $('#purchaseProduct .swatch [type=radio]').change(function() {
7927       var optionIndex = $(this).closest('.swatch').attr('data-option-index');
7928       var optionValue = $(this).val();
7929       console.log(optionIndex, optionValue)
7930       var value = parseInt(optionValue.split(' ')[0])
7931       $(this)
7932       .closest('#purchaseProduct')
7933       .find('.single-option-selector')
7934       .eq(optionIndex)
7935       .val(optionValue)
7936       .trigger('change');
7937       
7938     });
7939     
7940   });
7941   $(document).ready(function(){
7942     $(".nav-search a").click(function(e){
7943       e.preventDefault();
7944       $(".icon-navsearch").toggle();
7945       $(".icon-navclose").toggle();
7946       $(".site-nav__item > .site-nav__link").toggle();
7947       $(".open-search").toggle();
7948       $(".open-search input").focus();
7949     });
7950     $(".best-price-guarantee").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/logo-best-price-guarantee-grid_75x.png?v=72489032173169839651752652420' alt='Logo Best Price Guarantee'>");
7951     if ($(window).width() < 768) {
7952       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7953       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7954       $(".bg-products .label-tag.free-valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/free-valentine_150x.png?v=171641187769238175351752652421' alt='Icon Free Valentine'>");
7955     } else {
7956       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7957       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7958       $(".bg-products .label-tag.free-valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/free-valentine_200x.png?v=171641187769238175351752652421' alt='Icon Free Valentine'>");
7959     }
7960     $(".bg-products .label-tag.free-cookies").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/free-cookies_80x.png?51468' alt='Icon Free Cookies'>");
7961     $(".bg-products .label-tag.mothersday").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/mothers-day_70x.png?v=171373711354766377891752652419' alt='Icon Mothers day'>");
7962   });
7963 </script>
7963
7964 
7965 
7966     
7967     
7968     
7969     
7970 
7971     
7971<script type="text/javascript">
7972       var wishlistpage = 0;
7973        
7974        var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>";
7975     </script>
7975
7976     
7977       <!-- Remove duplicate wishlist.js reference -->
7978       <style>
7979   .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.fade.in{opacity:1}.modal-open .modal{overflow-x:hidden;overflow-y:auto;z-index:999999;background-color:rgba(0,0,0,.3)}.modal-dialog{position:relative;width:auto;margin:10px}.wishlist-model .modal-dialog{width:700px}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.wishlist-model .modal-content{}.wishlist-model .modal-header{min-height:0;padding:0;border-bottom:0}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #121212;filter:alpha(opacity=20);opacity:.2}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-header .close{margin-top:-2px}.wishlist-model .close{position:absolute;top:-10px;right:-10px;background:#fff;opacity:1;width:30px;height:30px;font-size:15px;border-radius:50%;z-index:10;box-shadow:0 1px 4px 0 #121212}.wishlist-model .close .icon-close{width:25px;height:25px}.modal-body{position:relative;padding:15px}.wishlist-model .modal-body{padding:0 30px;display:flex}.wishlist-model .wishlist-left{width:66.67%;border-right:1px solid #ccc;padding:30px 0}.wishlist-model .wishlist-note{position:relative;display:inline-block;margin-bottom:20px;margin-left:35px;border-bottom:1px solid #121212;color:#121212}.wishlist-model .wishlist-note a{color: #ffffff;}.wishlist-model .wishlist-note .cirle{position:absolute;top:-4px;left:-35px;width:25px;height:25px;color:#fff;background:#121212;line-height:25px;border-radius:50%;text-align:center}.wishlist-model .wishlist-note svg{fill:#fff}.wishlist-model .wishlist-note .cirle .icon-check{vertical-align:middle}.wishlist-model .product-left{width:33.33%;float:left;margin-right:30px}.wishlist-model .wishlist-image{overflow:hidden}.wishlist-model .wishlist-image img{transition:all .3s linear}.wishlist-model .wishlist-name{padding:0;margin-bottom:10px}.wishlist-model .wishlist-name a{color: #ffffff;}.wishlist-model .wishlist-price{margin-bottom:10px}.wishlist-model .wishlist-price .price{font-weight:700;margin-right:10px;font-size:15px}.wishlist-model .wishlist-price .price_compare{color:#ccc}.wishlist-model .wishlist-right{width:33.33%;padding:30px 0;padding-left:30px}.wishlist-model .btn-quick-shop{width:100%;border-color:#121212;background:#fff;color:#121212;padding:0 30px;transition:all .2s linear;height:36px;margin-bottom:10px;text-transform:uppercase}.wishlist-model .btn-cta{width:100%;font-size:1em;border-color:#ffffff;background:#ffffff;color:#fff;padding:0;transition:all .2s linear;height:36px;line-height:36px;margin-bottom:10px}.wishlist-model .quantity-content{text-align:center}.wishlist-model .quantity-content input{outline:none;text-align:center;font-weight:600;border:1px solid #121212}.wishlist-model .quantity-content button{border-color:#121212}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}
7980 </style>
7981 
7982 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog">
7983   <div class="modal-dialog" role="document">
7984     <div class="modal-content">        
7985       <div class="modal-body">Your Wishlist is empty!</div>
7986       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>          
7987     </div>
7988   </div>
7989 </div> 
7990 
7991 <div class="wishlist-model">
7992   <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true">
7993     <div class="modal-dialog white-modal">
7994       <div class="modal-content">
7995         <div class="modal-header">
7996           <button type="button" class="close" data-dismiss="modal" aria-label="Close">
7997             <svg class="icon icon-close" version="1.1" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="32" height="32" viewBox="0 0 32 32">
7998 <title>icon-close</title>
7999 <path d="M16.943 16l8.862 8.862c0.26 0.26 0.26 0.682 0 0.943s-0.682 0.26-0.943 0l-8.862-8.862-8.862 8.862c-0.26 0.26-0.682 0.26-0.943 0s-0.26-0.682 0-0.943l8.862-8.862-8.862-8.862c-0.26-0.26-0.26-0.682 0-0.943s0.682-0.26 0.943 0l8.862 8.862 8.862-8.862c0.26-0.26 0.682-0.26 0.943 0s0.26 0.682 0 0.943l-8.862 8.862z"></path>
8000 </svg>
8001           </button>
8002         </div>
8003         <div class="modal-body">
8004           <div class="wishlist-left">
8005             <div class="wishlist-note">
8006               <span class="cirle"><svg version="1.1" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="32" height="32" viewBox="0 0 32 32">
8007 <title>icon-check</title>
8008 <path d="M12 21.766l14.218-12.926c0.272-0.248 0.694-0.228 0.942 0.045s0.228 0.694-0.045 0.942l-14.667 13.333c-0.254 0.231-0.643 0.231-0.897 0l-6.667-6.061c-0.272-0.248-0.293-0.669-0.045-0.942s0.669-0.293 0.942-0.045l6.218 5.653z"></path>
8009 </svg></span>
8010               Product added to <a href="https://snooglestore.com/">Wishlist</a>
8011             </div>
8012             <div class="wishlist-product">
8013               <div class="product-left">
8014                 <div class="wishlist-image"></div>
8015               </div>
8016               <div class="product-right">
8017                 <div class="wishlist-name"></div>
8018                 <div class="wishlist-price"></div>
8019               </div>
8020             </div>
8021           </div>
8022           <div class="wishlist-right">
8023             <div class="wishlist-cart">
8024               <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data">                  
8025                 <div class="others-bottom">
8026                   <a class="btn btn-quick-shop" href="https://snooglestore.com/">View Wishlist</a>
8027                   <button type="submit" name="add" id="AddToCart" class="btn btn-cta">
8028                     <span id="AddToCartText" class="">Beli Sekarang</span>
8029                   </button>
8030                 </div>
8031                 <div id="wishlist-variants-container" class="variants-wrapper"></div> 
8032                 <div class="quantity-content">
8033                   <label>QTY</label>
8034                   <input type="number" size="5" class="" name="quantity" value="1" />
8035                 </div>
8036               </form> 
8037             </div>
8038           </div>
8039         </div>
8040       </div>
8041     </div>
8042   </div>
8043 </div>
8044 
8045     
8046     <style>
8047        .stamped-badge[data-rating="0.0"]{display: none !Important;}
8048        
8049         div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a {
8050           border-radius: 0px;
8051       }
8052           .stamped-review-body {
8053           padding-left: 0px !important;
8054       }
8055           #product-reviews .stamped-header:after {
8056             display:none !Important;
8057           }
8058       #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget {
8059           font-family:inherit !important;
8060       }
8061     </style>
8062 
8063     
8064 
8065 <div id='stamped-rewards-init' class='stamped-rewards-init'
8066   data-key-public=''
8067 
8068 ></div>
8069 
8070     
8070<script src="https://outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
8070
8071     <!-- Remove duplicate jQuery reference and load wishlist script properly -->
8072     
8072<script src="https://outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
8072
8073 
8074     
8074<script>
8075       function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); }
8076     </script>
8076
8077     
8077<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
8077<style>
8078   .jss59 {
8079     background-color: rgba(0, 0, 0, 0.6);
8080   }
8081   .MuiBackdrop-root {
8082     top: 0;
8083     left: 0;
8084     right: 0;
8085     bottom: 0;
8086     display: flex;
8087     z-index: -1;
8088     position: fixed;
8089     align-items: center;
8090     justify-content: center;
8091     background-color: rgba(0, 0, 0, 0.5);
8092     -webkit-tap-highlight-color: transparent;
8093   }
8094   .MuiDialog-scrollPaper {
8095     display: flex;
8096     align-items: center;
8097     justify-content: center;
8098   }
8099   .MuiDialog-container {
8100     height: 100%;
8101     outline: 0;
8102   }
8103   .MuiPaper-elevation24 {
8104     box-shadow: 0px 11px 15px -7px rgba(0,0,0,0.2), 0px 24px 38px 3px rgba(0,0,0,0.14), 0px 9px 46px 8px rgba(0,0,0,0.12);
8105   }
8106   .MuiDialog-paper {
8107     margin: 32px;
8108     position: relative;
8109     overflow-y: auto;
8110   }
8111   .MuiDialog-paperScrollPaper {
8112     display: flex;
8113     max-height: calc(100% - 64px);
8114     flex-direction: column;
8115   }
8116   .MuiDialog-paperWidthSm {
8117     max-width: 600px;
8118   }
8119   #location-lock-dialog {
8120     top: 20%;
8121     left: 0;
8122     right: 0;
8123     width: 30%;
8124     margin: 0px auto;
8125     display: block;
8126     padding: 30px;
8127     z-index: 99999;
8128     position: fixed;
8129     font-size: 14px;
8130     background: rgb(0, 0, 0);
8131     box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px;
8132     text-align: center;
8133     font-family: Roboto, Arial, sans-serif;
8134     line-height: 1;
8135     border-radius: 8px;
8136     -webkit-font-smoothing: subpixel-antialiased;
8137   }
8138   .MuiButtonBase-root {
8139     color: inherit;
8140     border: 0;
8141     cursor: pointer;
8142     margin: 0;
8143     display: inline-flex;
8144     outline: 0;
8145     padding: 0;
8146     position: relative;
8147     align-items: center;
8148     user-select: none;
8149     border-radius: 0;
8150     vertical-align: middle;
8151     -moz-appearance: none;
8152     justify-content: center;
8153     text-decoration: none;
8154     background-color: transparent;
8155     -webkit-appearance: none;
8156     -webkit-tap-highlight-color: transparent;
8157   }
8158   .MuiIconButton-root {
8159     flex: 0 0 auto;
8160     color: rgba(0, 0, 0, 0.54);
8161     padding: 12px;
8162     overflow: visible;
8163     font-size: 1.5rem;
8164     text-align: center;
8165     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8166     border-radius: 50%;
8167   }
8168   .MuiIconButton-label {
8169     width: 100%;
8170     display: flex;
8171     align-items: inherit;
8172     justify-content: inherit;
8173   }
8174   .MuiSvgIcon-root {
8175     fill: currentColor;
8176     width: 1em;
8177     height: 1em;
8178     display: inline-block;
8179     font-size: 1.5rem;
8180     transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8181     flex-shrink: 0;
8182     user-select: none;
8183   }
8184   .MuiTouchRipple-root {
8185     top: 0;
8186     left: 0;
8187     right: 0;
8188     bottom: 0;
8189     z-index: 0;
8190     overflow: hidden;
8191     position: absolute;
8192     border-radius: inherit;
8193     pointer-events: none;
8194   }
8195   .jss36 {
8196     color: #222222;
8197     font-size: 24px;
8198     font-family: Roboto, Arial, sans-serif;
8199     font-weight: 500;
8200   }
8201   .jss37 {
8202     color: #555555;
8203     padding: 10px 0px 0px;
8204     font-size: 14px;
8205   }
8206   .MuiFormGroup-root {
8207     display: flex;
8208     flex-wrap: wrap;
8209     flex-direction: column;
8210   }
8211   .MuiFormGroup-row {
8212     flex-direction: row;
8213   }
8214   .jss63 {
8215     width: 85%;
8216     margin: 15px auto;
8217     display: flex;
8218     padding: 11px 0px 0px;
8219     justify-content: space-evenly;
8220   }
8221   .MuiFormControlLabel-root {
8222     cursor: pointer;
8223     display: inline-flex;
8224     align-items: center;
8225     margin-left: -11px;
8226     margin-right: 16px;
8227     vertical-align: middle;
8228     -webkit-tap-highlight-color: transparent;
8229   }
8230   .jss70 {
8231     margin: 0;
8232   }
8233   .MuiButtonBase-root {
8234     color: inherit;
8235     border: 0;
8236     cursor: pointer;
8237     margin: 0;
8238     display: inline-flex;
8239     outline: 0;
8240     padding: 0;
8241     position: relative;
8242     align-items: center;
8243     user-select: none;
8244     border-radius: 0;
8245     vertical-align: middle;
8246     -moz-appearance: none;
8247     justify-content: center;
8248     text-decoration: none;
8249     background-color: transparent;
8250     -webkit-appearance: none;
8251     -webkit-tap-highlight-color: transparent;
8252   }
8253   .MuiIconButton-root {
8254     flex: 0 0 auto;
8255     color: rgba(0, 0, 0, 0.54);
8256     padding: 12px;
8257     overflow: visible;
8258     font-size: 1.5rem;
8259     text-align: center;
8260     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8261     border-radius: 50%;
8262   }
8263   .MuiIconButton-colorSecondary {
8264     color: #f50057;
8265   }
8266   .jss71 {
8267     padding: 9px;
8268   }
8269   .MuiRadio-root {
8270     color: rgba(0, 0, 0, 0.54);
8271   }
8272   .jss64 {
8273     padding: 2px;
8274   }
8275   .MuiRadio-colorSecondary.Mui-checked {
8276     color: #f50057;
8277   }
8278   .MuiIconButton-label {
8279     width: 100%;
8280     display: flex;
8281     align-items: inherit;
8282     justify-content: inherit;
8283   }
8284   .MuiTypography-root {
8285     margin: 0;
8286   }
8287   .MuiTypography-body1 {
8288     font-size: 18px;
8289     font-family: Roboto,sans-serif;
8290     font-weight: 400;
8291     line-height: 1.5;
8292   }
8293   .location-popup_area-block__sp9Ws {
8294     display: -moz-box;
8295     display: flex;
8296     -moz-box-orient: vertical;
8297     -moz-box-direction: normal;
8298     flex-direction: column;
8299     -moz-box-pack: center;
8300     justify-content: center;
8301     position: relative;
8302     margin: 10px 10% 0;
8303   }
8304   .location-popup_pin-search-box__3l5mJ {
8305     width: 100%;
8306     display: -moz-box;
8307     display: flex;
8308     -moz-box-align: center;
8309     align-items: center;
8310   }
8311   .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q {
8312     position: absolute;
8313     z-index: 999;
8314   }
8315   .location-popup_place-icon__jSG0Q {
8316     color: #ffffff;
8317     padding-left: 8px;
8318   }
8319   .location-popup_place-icon__jSG0Q svg {
8320     width: 18px;
8321     height: 18px;
8322   }
8323   .location-popup_cancel-icon__FHujU {
8324     color: #fff;
8325     right: 10px;
8326     width: 16px;
8327     cursor: pointer;
8328     height: 16px;
8329     display: none;
8330     padding: 5px;
8331     position: absolute;
8332     background: #999;
8333     text-align: center;
8334     border-radius: 50%;
8335   }
8336   .location-popup_pin-search-box__3l5mJ>div>select {
8337     text-transform: capitalize;
8338     border: 1px solid #ffffff;
8339     color: #ffffff;
8340     width: 100%;
8341     margin: 0;
8342     display: -moz-box;
8343     display: flex;
8344     padding: 0 30px;
8345     -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8346     -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8347     animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8348     font-size: 16px;
8349     border-radius: 4px;
8350     height: 44px;
8351     moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8352     webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8353   }
8354   .MuiButtonBase-root {
8355     color: inherit;
8356     border: 0;
8357     cursor: pointer;
8358     margin: 0;
8359     display: inline-flex;
8360     outline: 0;
8361     padding: 0;
8362     position: relative;
8363     align-items: center;
8364     user-select: none;
8365     border-radius: 0;
8366     vertical-align: middle;
8367     -moz-appearance: none;
8368     justify-content: center;
8369     text-decoration: none;
8370     background-color: transparent;
8371     -webkit-appearance: none;
8372     -webkit-tap-highlight-color: transparent;
8373   }
8374   .MuiButton-root {
8375     color: rgba(0, 0, 0, 0.87);
8376     padding: 6px 16px;
8377     font-size: 0.875rem;
8378     min-width: 64px;
8379     box-sizing: border-box;
8380     transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8381     font-family: Roboto,sans-serif;
8382     font-weight: 500;
8383     line-height: 1.75;
8384     border-radius: 4px;
8385     text-transform: uppercase;
8386   }
8387   .MuiButton-contained {
8388     color: rgba(0, 0, 0, 0.87);
8389     box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2), 0px 2px 2px 0px rgba(0,0,0,0.14), 0px 1px 5px 0px rgba(0,0,0,0.12);
8390     background-color: #e0e0e0;
8391   }
8392   .MuiButtonBase-root.Mui-disabled {
8393     cursor: default;
8394     pointer-events: none;
8395   }
8396   .MuiButton-label {
8397     width: 100%;
8398     display: inherit;
8399     align-items: inherit;
8400     justify-content: inherit;
8401   }
8402   .cartButton_login_content__2j1f7 {
8403     display: -moz-box;
8404     display: flex;
8405     text-align: center;
8406     z-index: 9;
8407     font-size: 18px;
8408     font-weight: 500;
8409     color: #fff;
8410   }
8411   
8412   .jss35 {
8413     top: 5px;
8414     right: 5px;
8415     padding: 4px;
8416     position: absolute;
8417     border-radius: 50%;
8418   }
8419   .jss67 {
8420     cursor: pointer;
8421     font-size: 15px;
8422     line-height: 1.3;
8423     padding-left: 5px;
8424   }
8425   .jss69 {
8426     color: #222222;
8427   }
8428   .jss80 {
8429     color: #fff;
8430     width: 100%;
8431     height: 52px;
8432     padding: 11px 16px;
8433     font-size: 18px;
8434     min-width: 88px;
8435     min-height: 36px;
8436     transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8437     font-weight: 500;
8438     line-weight: 1em;
8439     border-radius: 4px;
8440     text-transform: uppercase;
8441     background-color: #E87325;
8442   }
8443   @media (min-width: 991px){
8444     .cartButton_login_content__2j1f7 {
8445         font-weight: 500;
8446     }
8447   }
8448 
8449   @media (max-width: 992px) {
8450     #location-lock-dialog {
8451       width: 100%;
8452       top: auto;
8453       bottom: 0;
8454       padding-left: 0;
8455       padding-right: 0;
8456     }
8457     .MuiFormGroup-row {
8458       display: block
8459     }
8460     .MuiIconButton-label input {
8461       margin: 0;
8462     }
8463   }
8464 </style>
8465 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;">
8466   <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div>
8467   <div tabindex="0" data-test="sentinelStart"></div>
8468   <div class="MuiDialog-container MuiDialog-scrollPaper" role="none presentation" tabindex="-1" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;">
8469     <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog">
8470       <div class="jss31 undefined" id="location-lock-dialog">
8471         <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
8472           <span class="MuiIconButton-label">
8473             <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true">
8474               <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path>
8475             </svg>
8476           </span>
8477           <span class="MuiTouchRipple-root"></span>
8478         </button>
8479         <div>
8480           <div class="jss36">Select Delivery Location</div>
8481           <div class="jss37">Select a delivery location to see product availability</div>
8482         </div>
8483         <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup">
8484           <label for="jabodetabek" class="MuiFormControlLabel-root jss45">
8485             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false">
8486               <span class="MuiIconButton-label">
8487                 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location">
8488                 <span class="jss41"></span>
8489               </span>
8490               <span class="MuiTouchRipple-root"></span>
8491             </span>
8492             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8493               <span class="jss67 jss69">Jabodetabek</span>
8494             </span>
8495           </label>
8496           <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45">
8497             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false">
8498               <span class="MuiIconButton-label">
8499                 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location">
8500                 <span class="jss40"></span>
8501               </span>
8502               <span class="MuiTouchRipple-root"></span>
8503             </span>
8504             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8505               <span class="jss67 jss68">Outside Jabodetabek</span>
8506             </span>
8507           </label>
8508         </div>
8509         <div>
8510           <div class="MuiGrid-root location-popup_area-block__sp9Ws">
8511             <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false">
8512               <div class="MuiGrid-root location-popup_place-icon__jSG0Q">
8513                 <svg class="MuiSvgIcon-root jss6" focusable="false" viewBox="0 0 24 24" aria-hidden="true" style="font-size:16px"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path></svg>
8514               </div>
8515               <div class="MuiGrid-root location-popup_cancel-icon__FHujU false">
8516                 <i class="material-icons location-popup_clear-pin__s1dRc">close</i>
8517               </div>
8518               <div style="width: 100%;">
8519                 <select id="choose-location" class="form-control">
8520                   <option value="">Choose Location</option>
8521                   <option value="jakarta">Jakarta</option>
8522                   <option value="bogor">Bogor</option>
8523                   <option value="depok">Depok</option>
8524                   <option value="tangerang">Tangerang</option>
8525                   <option value="bekasi">Bekasi</option>
8526                 </select>
8527               </div>
8528             </div>
8529           </div>
8530         </div>
8531         <button class="MuiButtonBase-root MuiButton-root MuiButton-contained jss55" tabindex="-1" type="button" title="" id="location-lock-submit" data-idforcdp="actionBtn-cdp" data-testid="location-lock-submit" style="background-color: #ffffff; width: 80%; padding: 14px 0px 12px; margin: 20px 0px; font-size: 18px; font-weight: 500; box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 4px 0px; border-radius: 4px; color: rgb(0, 0, 0); height: 44px;" data-content="">
8532           <span class="MuiButton-label">
8533             <span class=""></span>
8534             <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span>
8535           </span>
8536         </button>
8537       </div>
8538     </div>
8539   </div>
8540   <div tabindex="0" data-test="sentinelEnd"></div>
8541 </div>
8542 
8543 
8543<script>
8544   const jabodetabek = [
8545     {
8546       "code": "jakarta",
8547       "city": "jakarta",
8548       "zip": []
8549     },
8550     {
8551       "code": "bogor",
8552       "city": "bogor",
8553       "zip": []
8554     },
8555     {
8556       "code": "depok",
8557       "city": "depok",
8558       "zip": []
8559     },
8560     {
8561       "code": "tangerang",
8562       "city": "tangerang",
8563       "zip": []
8564     },
8565     {
8566       "code": "bekasi",
8567       "city": "bekasi",
8568       "zip": []
8569     }
8570   ]
8571   let cityNonJabodetabek = [
8572     
8573     "pengiriman_aceh",
8574     "pengiriman_ambon",
8575     "pengiriman_atambua",
8576     "pengiriman_badung",
8577     "pengiriman_bali",
8578     "pengiriman_balikpapan",
8579     "pengiriman_bandar lampung",
8580     "pengiriman_bandung",
8581     "pengiriman_bandung barat",
8582     "pengiriman_banjarmasin",
8583     "pengiriman_banyumas",
8584     
8585     
8586     
8587     
8588     
8589     "pengiriman_banyuwangi",
8590     
8591     
8592     
8593     
8594     
8595     "pengiriman_batam",
8596     
8597     
8598     
8599     
8600     
8601     
8602     
8603     
8604     
8605     "pengiriman_biak",
8606     
8607     
8608     
8609     
8610     
8611     "pengiriman_binjai",
8612     
8613     
8614     
8615     
8616     
8617     "pengiriman_blitar",
8618     
8619     
8620     
8621     
8622     
8623     "pengiriman_blora",
8624     
8625     
8626     
8627     
8628     
8629     
8630     
8631     
8632     
8633     "pengiriman_bojonegoro",
8634     
8635     
8636     
8637     
8638     
8639     "pengiriman_boyolali",
8640     
8641     
8642     
8643     
8644     
8645     "pengiriman_bukittinggi",
8646     
8647     
8648     
8649     
8650     
8651     "pengiriman_buleleng",
8652     
8653     
8654     
8655     
8656     
8657     "pengiriman_ciamis",
8658     
8659     
8660     
8661     
8662     
8663     "pengiriman_cianjur",
8664     
8665     
8666     
8667     
8668     
8669     "pengiriman_cibinong",
8670     
8671     
8672     
8673     
8674     
8675     "pengiriman_cikarang",
8676     
8677     
8678     
8679     
8680     
8681     "pengiriman_cikupa",
8682     
8683     
8684     
8685     
8686     
8687     "pengiriman_cilacap",
8688     
8689     
8690     
8691     
8692     
8693     "pengiriman_cileunyi",
8694     
8695     
8696     
8697     
8698     
8699     "pengiriman_cimahi",
8700     
8701     
8702     
8703     
8704     
8705     "pengiriman_cirebon",
8706     
8707     
8708     
8709     
8710     
8711     "pengiriman_ciwidey",
8712     
8713     
8714     
8715     
8716     
8717     "pengiriman_deli serdang",
8718     
8719     
8720     
8721     
8722     
8723     "pengiriman_demak",
8724     
8725     
8726     
8727     
8728     
8729     "pengiriman_denpasar",
8730     
8731     
8732     
8733     
8734     
8735     
8736     
8737     
8738     
8739     "pengiriman_garut",
8740     
8741     
8742     
8743     
8744     
8745     "pengiriman_gianyar",
8746     
8747     
8748     
8749     
8750     
8751     "pengiriman_gresik",
8752     
8753     
8754     
8755     
8756     
8757     "pengiriman_gunung kidul",
8758     
8759     
8760     
8761     
8762     
8763     
8764     
8765     
8766     
8767     "pengiriman_jambi",
8768     
8769     
8770     
8771     
8772     
8773     "pengiriman_jayapura",
8774     
8775     
8776     
8777     
8778     
8779     "pengiriman_jember",
8780     
8781     
8782     
8783     
8784     
8785     "pengiriman_jepara",
8786     
8787     
8788     
8789     
8790     
8791     "pengiriman_jombang",
8792     
8793     
8794     
8795     
8796     
8797     "pengiriman_karanganyar",
8798     
8799     
8800     
8801     
8802     
8803     "pengiriman_karawang",
8804     
8805     
8806     
8807     
8808     
8809     "pengiriman_karo",
8810     
8811     
8812     
8813     
8814     
8815     "pengiriman_kebumen",
8816     
8817     
8818     
8819     
8820     
8821     "pengiriman_kediri",
8822     
8823     
8824     
8825     
8826     
8827     "pengiriman_keerom",
8828     
8829     
8830     
8831     
8832     
8833     "pengiriman_kendal",
8834     
8835     
8836     
8837     
8838     
8839     "pengiriman_klaten",
8840     
8841     
8842     
8843     
8844     
8845     
8846     
8847     
8848     
8849     "pengiriman_kudus",
8850     
8851     
8852     
8853     
8854     
8855     "pengiriman_kupang",
8856     
8857     
8858     
8859     
8860     
8861     "pengiriman_lainnya",
8862     
8863     
8864     
8865     
8866     
8867     "pengiriman_lamongan",
8868     
8869     
8870     
8871     
8872     
8873     "pengiriman_lampung",
8874     
8875     
8876     
8877     
8878     
8879     "pengiriman_lampung barat",
8880     
8881     
8882     
8883     
8884     
8885     "pengiriman_lembang",
8886     
8887     
8888     
8889     
8890     
8891     "pengiriman_lombok",
8892     
8893     
8894     
8895     
8896     
8897     "pengiriman_lumajang",
8898     
8899     
8900     
8901     
8902     
8903     "pengiriman_madiun",
8904     
8905     
8906     
8907     
8908     
8909     "pengiriman_magelang",
8910     
8911     
8912     
8913     
8914     
8915     "pengiriman_majalengka",
8916     
8917     
8918     
8919     
8920     
8921     "pengiriman_makassar",
8922     
8923     
8924     
8925     
8926     
8927     "pengiriman_malang",
8928     
8929     
8930     
8931     
8932     
8933     "pengiriman_manado",
8934     
8935     
8936     
8937     
8938     
8939     "pengiriman_medan",
8940     
8941     
8942     
8943     
8944     
8945     "pengiriman_mengwi",
8946     
8947     
8948     
8949     
8950     
8951     "pengiriman_mojokerto",
8952     
8953     
8954     
8955     
8956     
8957     "pengiriman_nganjuk",
8958     
8959     
8960     
8961     
8962     
8963     "pengiriman_ngawi",
8964     
8965     
8966     
8967     
8968     
8969     "pengiriman_padang",
8970     
8971     
8972     
8973     
8974     
8975     "pengiriman_palembang",
8976     
8977     
8978     
8979     
8980     
8981     "pengiriman_pasuruan",
8982     
8983     
8984     
8985     
8986     
8987     "pengiriman_pati",
8988     
8989     
8990     
8991     
8992     
8993     "pengiriman_pekalongan",
8994     
8995     
8996     
8997     
8998     
8999     "pengiriman_pekanbaru",
9000     
9001     
9002     
9003     
9004     
9005     "pengiriman_pemalang",
9006     
9007     
9008     
9009     
9010     
9011     "pengiriman_ponorogo",
9012     
9013     
9014     
9015     
9016     
9017     "pengiriman_pontianak",
9018     
9019     
9020     
9021     
9022     
9023     "pengiriman_probolinggo",
9024     
9025     
9026     
9027     
9028     
9029     "pengiriman_purbalingga",
9030     
9031     
9032     
9033     
9034     
9035     "pengiriman_purwakarta",
9036     
9037     
9038     
9039     
9040     
9041     "pengiriman_purwokerto",
9042     
9043     
9044     
9045     
9046     
9047     "pengiriman_rembang",
9048     
9049     
9050     
9051     
9052     
9053     "pengiriman_riau",
9054     
9055     
9056     
9057     
9058     
9059     "pengiriman_salatiga",
9060     
9061     
9062     
9063     
9064     
9065     "pengiriman_samarinda",
9066     
9067     
9068     
9069     
9070     
9071     "pengiriman_semarang",
9072     
9073     
9074     
9075     
9076     
9077     "pengiriman_sentani",
9078     
9079     
9080     
9081     
9082     
9083     "pengiriman_serang",
9084     
9085     
9086     
9087     
9088     
9089     "pengiriman_sidoarjo",
9090     
9091     
9092     
9093     
9094     
9095     "pengiriman_singkawang",
9096     
9097     
9098     
9099     
9100     
9101     "pengiriman_sragen",
9102     
9103     
9104     
9105     
9106     
9107     "pengiriman_subang",
9108     
9109     
9110     
9111     
9112     
9113     "pengiriman_sukabumi",
9114     
9115     
9116     
9117     
9118     
9119     "pengiriman_sumbawa",
9120     
9121     
9122     
9123     
9124     
9125     "pengiriman_surabaya",
9126     
9127     
9128     
9129     
9130     
9131     "pengiriman_surakarta solo",
9132     
9133     
9134     
9135     
9136     
9137     
9138     
9139     
9140     
9141     "pengiriman_tasikmalaya",
9142     
9143     
9144     
9145     
9146     
9147     "pengiriman_tegal",
9148     
9149     
9150     
9151     
9152     
9153     "pengiriman_timika",
9154     
9155     
9156     
9157     
9158     
9159     "pengiriman_wamena",
9160     
9161     
9162     
9163     
9164     
9165     "pengiriman_wiyung",
9166     
9167     
9168     
9169     
9170     
9171     "pengiriman_wonokromo",
9172     
9173     
9174     
9175     
9176     
9177     "pengiriman_yogyakarta",
9178     
9179   ]
9180   console.log(cityNonJabodetabek)
9181   let non_jabodetabek = []
9182   for(var i=0;i<cityNonJabodetabek.length;i++) {
9183     const obj = {
9184       "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'),
9185       "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'),
9186       "zip": []
9187     }
9188     non_jabodetabek.push(obj)
9189   }
9190   let current_location = getCookie("location_delivery")
9191   $("[name=location]").change(function(){
9192     let v = $(this).val()
9193     let option = []
9194     if(v == 'Jabodetabek') {
9195       for(var i=0;i<jabodetabek.length;i++) {
9196         const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>`
9197         option.push(jabodetabekHtml)
9198       }
9199       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
9200     } else {
9201       for(var i=0;i<non_jabodetabek.length;i++) {
9202         const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>`
9203         option.push(nonjabodetabekHtml)
9204       }
9205       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
9206     }
9207   })
9208 
9209   $("#location-lock-submit").click(function(e){
9210     let select = $("#choose-location")
9211     let value = select.val().toLowerCase()
9212     console.log(value)
9213     if(select.val() == "") {
9214       return alert("Choose Your Location")
9215       e.preventDefault()
9216     }
9217     setCookie("location_delivery",value,1000000);
9218     
9219     location.reload();
9220     
9221   })
9222 
9223   $("#close-popup-delivery").click(function(){
9224     $(".MuiDialog-root").hide()
9225     if(!current_location){
9226       setCookie("location_delivery","jakarta",1000000);
9227       $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta")
9228     }
9229   })
9230   $("#loc_delivery, #loc_delivery_mobile").click(function(){
9231     $(".MuiDialog-root").show()
9232   })
9233 
9234   
9235   if(!current_location){
9236     
9237   } else {
9238     $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location)
9239     console.log(current_location)
9240     $("#choose-location").each(function(){
9241       if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){
9242         $("#jabodetabek").trigger("click")
9243       } else {
9244         $("#non-jabodetabek").trigger("click")
9245       }
9246       $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected")
9247     })
9248   }
9249 
9250   // if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi' || current_location == 'bandung' || current_location == 'semarang' || current_location == 'yogyakarta' || current_location == 'surabaya'){
9251   //   $("#timeMalam").attr("disabled", false)
9252   // } else {
9253   //   $("#timeMalam").attr("disabled", true)
9254   // }
9255 
9256   if(current_location && current_location != 'jakarta') {
9257     $("#self-pickup").attr("disabled", true)
9258   }
9259 
9260   function setCookie(name,value,days) {
9261     var expires = "";
9262     if (days) {
9263       var date = new Date();
9264       date.setTime(date.getTime() + (days*24*60*60*1000));
9265       expires = "; expires=" + date.toUTCString();
9266     }
9267     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
9268   }
9269   function getCookie(name) {
9270     var nameEQ = name + "=";
9271     var ca = document.cookie.split(';');
9272     for(var i=0;i < ca.length;i++) {
9273       var c = ca[i];
9274       while (c.charAt(0)==' ') c = c.substring(1,c.length);
9275       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
9276     }
9277     return null;
9278   }
9279 </script>
9279
9280 <!-- One Tap -->
9281     
9281<script>
9282       console.log("Outerbloom...");
9283     </script>
9283
9284   <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block">
9285 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" />
9286 
9286<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
9286
9287 
9287<script>
9288   const widgetConfig = {
9289     id: "clz7897za002cz7otleaz0d3d",
9290     showQuickResponse: false,
9291     quickResponsesData: [],
9292     themeColor: "#ffffff",
9293     widgetText: "",
9294     radiusType: "circle",
9295     widgetIconType: "whatsapp",
9296     position: "right",
9297     storeLogo: "",
9298     storeName: "Outerbloom",
9299     storeDescription: "",
9300     size: "small",
9301     showCard: false,
9302     widgetColorType: "solid",
9303     widgetColor1: "#008069",
9304     widgetColor2: "#008069",
9305     social: {
9306       socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"],
9307       values: {
9308         instagram: {
9309           enabled: false,
9310           value: "",
9311         },
9312         facebook: {
9313           enabled: false,
9314           value: "",
9315         },
9316         email: {
9317           enabled: false,
9318           value: "",
9319         },
9320         x: {
9321           enabled: false,
9322           value: "",
9323         },
9324         tiktok: {
9325           enabled: false,
9326           value: "",
9327         },
9328         linkedin: {
9329           enabled: false,
9330           value: "",
9331         },
9332         youtube: {
9333           enabled: false,
9334           value: "",
9335         },
9336       },
9337     },
9338   };
9339 
9340   function initializeWidget() {
9341     if (typeof BBBWidget !== 'undefined') {
9342       BBBWidget.init(widgetConfig);
9343     } else {
9344       setTimeout(initializeWidget, 100);
9345     }
9346   }
9347 
9348   initializeWidget();</script>
9348
9349 
9350 
9351 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block">
9352 
9353 
9354 <div style="position: fixed; bottom: 0; right: 0"></div>
9355 
9356 
9356<script>
9357 console.info("bitlogin extension version: v2.5.7");
9358 
9359 const googleScript = document.createElement("script");
9360 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client");
9361 document.head.append(googleScript);
9362 
9363 const bitLoginBaseUrl = "https://api.bitbybit.studio";
9364 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`;
9365 
9366 const appearance = {"style":"square","hasShadow":true,"domain":"outerbloom1.myshopify.com","colorScheme":"match","backgroundColor":"#ffffff","outlineColor":"#ffe100","textColor":"#700000","position":"top","hideDivider":false,"dividerText":"","size":"small","format":"contentFlex","language":"en","buttonText":"Continue With","redirectLink":"\/account","googleOneTap":true,"googleOneTapBanner":true,"captureAdditionalData":true,"customerTag":"bitLogin","redirectOneTapDesktop":"[{\"label\":\"Account\",\"label2\":\"Desktop: Account\",\"value\":\"account\",\"parentValue\":\"Desktop\"}]","redirectOneTapMobile":"[{\"label\":\"Thank you page\",\"label2\":\"Mobile: Thank you page\",\"value\":\"thank_you\",\"parentValue\":\"Mobile\"}]","watermark":true,"buttonList":{"google":"Continue with Google","facebook":"Continue with Facebook","apple":"Continue with Apple","whatsapp":"Continue with WhatsApp","microsoft":"Continue with Microsoft","twitter":"Continue with X","amazon":"Continue with Amazon","instagram":"Continue with Instagram","magic_link":"Continue with Magic Link","mobile_app":"Continue with Mobile App","linkedin":"Continue with LinkedIn"}};
9367 const config = [{"domain":"outerbloom1.myshopify.com","provider":"FACEBOOK","enabledMobile":false,"enabledWeb":true,"clientId":"922184709213757","clientSecret":"e3c874c8bce6da4211538ebda706d1cb","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"GOOGLE","enabledMobile":true,"enabledWeb":true,"clientId":"933600373534-vk6hiu9lqrtbblj0357q0gsoo7mqvsd0.apps.googleusercontent.com","clientSecret":"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","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":true,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"APPLE","enabledMobile":true,"enabledWeb":true,"clientId":"com.bitlogin.outerbloom","clientSecret":"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","appleTeamId":"1A","applePrivateKey":"1A","usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"WHATSAPP","enabledMobile":false,"enabledWeb":true,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"MICROSOFT","enabledMobile":false,"enabledWeb":false,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"TWITTER","enabledMobile":false,"enabledWeb":false,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"AMAZON","enabledMobile":false,"enabledWeb":false,"clientId":"amzn1.application-oa2-client.5b560a5e3e2943d6b25c50cd6dca5532","clientSecret":"amz
9367n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}];
9368 const redirectUrl = appearance.redirectLink;
9369 
9370 let locationCacheSet = false;
9371 let errorLocation = false;
9372 let oneTapSet = false;
9373 
9374 let bitloginCache = {
9375   appearance: appearance,
9376   config: config
9377 };
9378 
9379 let isInitializing = false;
9380 const queue = [];
9381 
9382 // Add CSS for the popup
9383 const popupStyles = document.createElement('style');
9384 popupStyles.textContent = `
9385   /* Styles for login popup */
9386   .bitlogin-popup-overlay {
9387     position: fixed;
9388     top: 0;
9389     left: 0;
9390     width: 100%;
9391     height: 100%;
9392     background: rgba(0, 0, 0, 0.45);
9393     backdrop-filter: blur(4px);
9394     display: flex;
9395     align-items: center;
9396     justify-content: center;
9397     opacity: 0;
9398     transition: opacity 0.3s ease-in-out;
9399     z-index: 999999;
9400   }
9401   
9402   .bitlogin-popup-overlay.visible {
9403     opacity: 1;
9404   }
9405   
9406   .bitlogin-popup {
9407     background: #FFFFFF;
9408     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
9409     border-radius: 16px;
9410     width: 100%;
9411     max-width: 560px;
9412     display: flex;
9413     overflow: hidden;
9414     position: relative;
9415     opacity: 0;
9416     transform: translateY(20px) scale(0.98);
9417     transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
9418   }
9419   
9420   .bitlogin-popup.visible {
9421     opacity: 1;
9422     transform: translateY(0) scale(1);
9423   }
9424   
9425   .bitlogin-popup-with-image {
9426     max-width: 640px;
9427   }
9428   
9429   .bitlogin-popup-right-image {
9430     flex-direction: row-reverse;
9431   }
9432   
9433   .bitlogin-popup-image {
9434     object-fit: cover;
9435     width: 50%;
9436     height: auto;
9437   }
9438   
9439   .bitlogin-popup-content {
9440     padding: 32px;
9441     position: relative;
9442     width: 50%;
9443   }
9444   
9445   .bitlogin-popup-close {
9446     position: absolute;
9447     top: 16px;
9448     right: 16px;
9449     background: white;
9450     border: none;
9451     width: 30px;
9452     height: 30px;
9453     display: flex;
9454     align-items: center;
9455     justify-content: center;
9456     cursor: pointer;
9457     transition: background-color 0.2s;
9458     color: inherit;
9459     padding: 0;
9460   }
9461   
9462   .bitlogin-popup-close:hover {
9463     background-color: #e5e5e5;
9464   }
9465   
9466   .bitlogin-popup-buttons {
9467     display: flex;
9468     flex-direction: column;
9469     gap: 12px;
9470     margin-top: 24px;
9471   }
9472   
9473   /* Button styles within popup - override width for popup buttons */
9474   .bitlogin-popup-buttons #google-login,
9475   .bitlogin-popup-buttons #facebook-login,
9476   .bitlogin-popup-buttons #apple-login,
9477   .bitlogin-popup-buttons #whatsapp-login,
9478   .bitlogin-popup-buttons #microsoft-login,
9479   .bitlogin-popup-buttons #twitter-login,
9480   .bitlogin-popup-buttons #amazon-login,
9481   .bitlogin-popup-buttons #instagram-login,
9482   .bitlogin-popup-buttons #magic-link-login,
9483   .bitlogin-popup-buttons #mobile-app-login {
9484     width: 100% !important;
9485     font-family: inherit !important;
9486   }
9487   
9488   .bitlogin-popup-footer {
9489     margin-top: 32px;
9490     text-align: center;
9491     font-size: 14px;
9492     opacity: 0.6;
9493   }
9494   
9495   /* Modern Typography */
9496   .bitlogin-popup h2 {
9497     margin-top: 12px;
9498     font-size: 21px !important;
9499     line-height: 1.2 !important;
9500     font-weight: 700 !important;
9501     letter-spacing: -0.02em !important;
9502     margin-bottom: 16px !important;
9503   }
9504   
9505   .bitlogin-popup-header {
9506     position: relative;
9507     margin-bottom: 24px;
9508   }
9509   
9510   /* Modern gradient accent */
9511   .bitlogin-popup-content > div {
9512     font-size: 16px !important;
9513     line-height: 1.2 !important;
9514     opacity: 0.85 !important;
9515   }
9516   
9517   /* Enhanced button interactions */
9518   .bitlogin-popup-buttons button {
9519     position: relative;
9520     overflow: hidden;
9521   }
9522   
9523   @keyframes ripple {
9524     0% {
9525       transform: scale(0, 0);
9526       opacity: 0.5;
9527     }
9528     100% {
9529       transform: scale(100, 100);
9530       opacity: 0;
9531     }
9532   }
9533   
9534   /* Responsive adjustments */
9535   @media (max-width: 640px) {
9536     .bitlogin-popup {
9537       max-width: 90%;
9538       width: 90%;
9539       margin: 0 16px;
9540     }
9541     
9542     .bitlogin-popup-with-image {
9543       flex-direction: column !important;
9544     }
9545     
9546     .bitlogin-popup-image {
9547       width: 100%;
9548       height: 180px;
9549     }
9550     
9551     .bitlogin-popup-content {
9552       padding: 24px;
9553     }
9554     
9555     .bitlogin-popup h2 {
9556       font-size: 24px !important;
9557     }
9558   }
9559 `;
9560 
9561 document.head.appendChild(popupStyles);
9562 
9563 // Add fonts link for different font options
9564 const fontsLink = document.createElement('link');
9565 fontsLink.rel = 'stylesheet';
9566 fontsLink.href = 'https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&family=Roboto:wght@400;500&family=Open+Sans:wght@400;500;600&family=Noto+Sans:wght@400;500;600&family=Lato:wght@400;700&family=Poppins:wght@400;500;600&family=Quicksand:wght@400;500;600&family=Raleway:wght@400;500;600&family=PT+Sans:wght@400;700&family=Oswald:wght@400;500;600&display=swap';
9567 document.head.appendChild(fontsLink);
9568 
9569 (async () => {
9570   try {
9571     let host = window.location.host;
9572     if (host === "admin.shopify.com") {
9573       host = `${window.location.pathname.split("/")[2]}.myshopify.com`;
9574     }
9575 
9576     const urlSearchParams = new URLSearchParams(window.location.search);
9577     const checkoutUrl = urlSearchParams.get("checkout_url");
9578 
9579     async function init({ inputRef, index }) {
9580       if (isInitializing) {
9581         queue.push(() => init({ inputRef, index }));
9582         return;
9583       }
9584 
9585       isInitializing = true;
9586 
9587       try {
9588         let bitLoginSectionRoot = document.querySelector(
9589           `.bitlogin-root[data-index="${index}"]`
9590         );
9591 
9592         const formRef = inputRef?.closest(
9593           "form:not([action='/account/recover'])"
9594         );
9595 
9596         if (formRef && !bitLoginSectionRoot) {
9597           await getLocation();
9598 
9599           bitLoginSectionRoot = document.createElement(`div`);
9600 
9601           bitLoginSectionRoot.setAttribute("class", "bitlogin-root");
9602           bitLoginSectionRoot.setAttribute("data-index", `${index}`);
9603 
9604           updateAppearance({
9605             formRef,
9606             rootRef: bitLoginSectionRoot,
9607             host,
9608           });
9609         }
9610       } catch (err) {
9611         console.error(`error while initiating bitlogin extensions`, err);
9612       } finally {
9613         // Release the lock
9614         isInitializing = false;
9615 
9616         // Check if there are pending items in the queue
9617         if (queue.length > 0) {
9618           // Process the next function in the queue
9619           const nextFunction = queue.shift();
9620           nextFunction();
9621         }
9622       }
9623     }
9624 
9625     function initAll() {
9626       return new Promise((resolve, reject) => {
9627         setTimeout(async () => {
9628           const inputRefs = document.querySelectorAll(
9629             'input[name="customer[email]"]'
9630           );
9631 
9632           for (let i = 0; i < inputRefs.length; i++) {
9633             const currentInputRef = inputRefs[i];
9634             const isVisible = isElementVisible(currentInputRef);
9635 
9636             if (isVisible) {
9637               await init({ inputRef: currentInputRef, index: i });
9638             }
9639           }
9640 
9641           resolve("ok");
9642         }, 100);
9643       });
9644     }
9645 
9646     const observer = new MutationObserver((mutationsList) => {
9647       for (let mutation of mutationsList) {
9648         initAll();
9649       }
9650     });
9651 
9652     observer.observe(document.body, {
9653       childList: true,
9654       subtree: true,
9655       attributes: true,
9656     });
9657 
9658     initAll();
9659 
9660     if (appearance.googleOneTap) {
9661       setupOneTap({ host, checkoutUrl });
9662     }
9663 
9664     // Initialize popup
9665     await initPopup(host);
9666   } catch (error) {
9667     console.error("Error initializing BitLogin:", error);
9668   }
9669 })();
9670 
9671 async function initPopup(host) {
9672   // Check if user is already logged in using Liquid checks properly
9673   const isLoggedIn = false || 
9674                     document.querySelector('.customer-logout-link') || 
9675                     document.querySelector('.account-link') || 
9676                     window.location.pathname.includes('/account');
9677   
9678   if (isLoggedIn) {
9679     return; // User is logged in, don't show popup
9680   }
9681 
9682   try {
9683     // Fetch the popup configuration
9684     const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`)
9685       .then(res => res.json())
9686       .catch(err => {
9687         console.error('Error fetching popup configuration:', err);
9688         return null;
9689       });
9690 
9691     if (!popupConfig || !popupConfig.enabled) {
9692       return;
9692 // Don't show popup if disabled or config not found
9693     }
9694 
9695     // Create popup after 10 seconds
9696     setTimeout(() => {
9697       // Check if user is still on the page and still not logged in
9698       if (document.visibilityState === 'visible') {
9699         // Additional check in case user logged in during the 10 second wait
9700         const currentlyLoggedIn = false || 
9701                               document.querySelector('.customer-logout-link') || 
9702                               document.querySelector('.account-link');
9703         
9704         if (!currentlyLoggedIn) {
9705           createLoginPopup(popupConfig, host);
9706         }
9707       }
9708     }, 10000);
9709   } catch (error) {
9710     console.error('Error initializing popup:', error);
9711   }
9712 }
9713 
9714 function createLoginPopup(popupConfig, host) {
9715   // Font mapping
9716   const fontFamilyMap = {
9717     system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
9718     montserrat: 'Montserrat, sans-serif',
9719     roboto: 'Roboto, sans-serif',
9720     open_sans: 'Open Sans, sans-serif',
9721     noto_sans: 'Noto Sans, sans-serif',
9722     lato: 'Lato, sans-serif',
9723     poppins: 'Poppins, sans-serif',
9724     quicksand: 'Quicksand, sans-serif',
9725     raleway: 'Raleway, sans-serif',
9726     pt_sans: 'PT Sans, sans-serif',
9727     oswald: 'Oswald, sans-serif',
9728   };
9729 
9730   // Create overlay
9731   const overlay = document.createElement('div');
9732   overlay.className = 'bitlogin-popup-overlay';
9733   
9734   // Create popup container with appropriate styling
9735   const popup = document.createElement('div');
9736   popup.className = 'bitlogin-popup';
9737 
9738   if (popupConfig.layout === 'default') {
9739     popup.style.maxWidth = '400px';
9740   }
9741   
9742   // Function to close the popup
9743   const closePopup = () => {
9744     overlay.classList.remove('visible');
9745     popup.classList.remove('visible');
9746     setTimeout(() => {
9747       if (document.body.contains(overlay)) {
9748         document.body.removeChild(overlay);
9749       }
9750     }, 300);
9751   };
9752   
9753   // Add click handler to the overlay to close when clicking outside
9754   overlay.addEventListener('click', (event) => {
9755     // Close only if clicking directly on the overlay, not its children
9756     if (event.target === overlay) {
9757       closePopup();
9758     }
9759   });
9760   
9761   // Add escape key handler to close popup
9762   document.addEventListener('keydown', (event) => {
9763     if (event.key === 'Escape' && document.body.contains(overlay)) {
9764       closePopup();
9765     }
9766   });
9767 
9768   // Create layout with image if specified
9769   let contentWrapper;
9770   if (popupConfig.layout !== 'default' && popupConfig.popupImage) {
9771     popup.classList.add('bitlogin-popup-with-image');
9772     
9773     if (popupConfig.layout === 'right') {
9774       popup.classList.add('bitlogin-popup-right-image');
9775     }
9776     
9777     // Add image
9778     const image = document.createElement('img');
9779     image.className = 'bitlogin-popup-image';
9780     image.src = popupConfig.popupImage;
9781     image.alt = 'Login';
9782     image.loading = 'lazy';
9783     popup.appendChild(image);
9784     
9785     // Create content container
9786     contentWrapper = document.createElement('div');
9787     contentWrapper.className = 'bitlogin-popup-content';
9788 
9789     if (popupConfig.layout === 'right') {
9790       const closeButton = document.createElement('button');
9791       closeButton.className = 'bitlogin-popup-close';
9792       closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png">
9793         <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9794       </svg>`;
9795       closeButton.setAttribute('aria-label', 'Close');
9796       closeButton.onclick = closePopup;
9797   
9798       popup.appendChild(closeButton);
9799     }
9800   } else {
9801     contentWrapper = document.createElement('div');
9802     contentWrapper.className = 'bitlogin-popup-content';
9803     contentWrapper.style.width = '100%';
9804   }
9805 
9806   // Set background style
9807   if (popupConfig.backgroundTheme === 'gradient') {
9808     contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`;
9809   } else {
9810     contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor;
9811   }
9812 
9813   // Apply font family
9814   contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important');
9815 
9816   if (popupConfig.layout !== 'right') {
9817     const closeButton = document.createElement('button');
9818     closeButton.className = 'bitlogin-popup-close';
9819     closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png">
9820       <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9821     </svg>`;
9822     closeButton.setAttribute('aria-label', 'Close');
9823     closeButton.onclick = closePopup;
9824   
9825     contentWrapper.appendChild(closeButton);
9826   }
9827 
9828   // Add heading with subtle animation effect
9829   const header = document.createElement('div');
9830   header.className = 'bitlogin-popup-header';
9831   
9832   const heading = document.createElement('h2');
9833   heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
9833its';
9834   heading.style.color = popupConfig.fontColor;
9835   header.appendChild(heading);
9836 
9837   // Add body text with improved formatting
9838   const bodyText = document.createElement('div');
9839   bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.';
9840   bodyText.style.color = popupConfig.fontColor;
9841   header.appendChild(bodyText);
9842   
9843   contentWrapper.appendChild(header);
9844 
9845   // Create buttons container with modern styling
9846   const buttonsContainer = document.createElement('div');
9847   buttonsContainer.className = 'bitlogin-popup-buttons';
9848   
9849   // Add social buttons
9850   const providerLabels = {
9851     'GOOGLE': 'Continue with Google',
9852     'FACEBOOK': 'Continue with Facebook',
9853     'APPLE': 'Continue with Apple',
9854     'WHATSAPP': 'Continue with WhatsApp',
9855     'MAGIC_LINK': 'Continue with Email',
9856   };
9857 
9858   // Add first login provider button
9859   if (popupConfig.loginProvider1 !== 'NONE') {
9860     const buttonConfig = {
9861       theme: popupConfig.colorScheme || 'match',
9862       customColor: popupConfig.textColor,
9863       format: 'contentFlex',
9864       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()],
9865       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9866       style: popupConfig.style || 'rounded',
9867       size: popupConfig.size || 'medium',
9868       colorScheme: popupConfig.colorScheme || 'match',
9869       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9870       textColor: popupConfig.textColor || '#FFFFFF',
9871       outlineColor: popupConfig.outlineColor || '#3B82F6',
9872       host: host
9873     };
9874     
9875     const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig);
9876     
9877     // Handle click event - this overrides the default click handler in createSocialLoginButton
9878     button1.onclick = () => {
9879       onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host });
9880       closePopup();
9881     };
9882     
9883     buttonsContainer.appendChild(button1);
9884   }
9885 
9886   // Add second login provider button if enabled
9887   if (popupConfig.loginProvider2 !== 'NONE') {
9888     const buttonConfig = {
9889       theme: popupConfig.colorScheme || 'match',
9890       customColor: popupConfig.textColor,
9891       format: 'contentFlex',
9892       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()],
9893       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9894       style: popupConfig.style || 'rounded',
9895       size: popupConfig.size || 'medium',
9896       colorScheme: popupConfig.colorScheme || 'match',
9897       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9898       textColor: popupConfig.textColor || '#FFFFFF',
9899       outlineColor: popupConfig.outlineColor || '#3B82F6',
9900       host: host
9901     };
9902     
9903     const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig);
9904     
9905     // Handle click event - this overrides the default click handler in createSocialLoginButton
9906     button2.onclick = () => {
9907       onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host });
9908       closePopup();
9909     };
9910     
9911     buttonsContainer.appendChild(button2);
9912   }
9913 
9914   contentWrapper.appendChild(buttonsContainer);
9915 
9916   // Append content to popup
9917   popup.appendChild(contentWrapper);
9918   
9919   // Append popup to overlay
9920   overlay.appendChild(popup);
9921   
9922   // Append overlay to body
9923   document.body.appendChild(overlay);
9924   
9925   // Trigger animation with slight delay for better perceived performance
9926   setTimeout(() => {
9927     overlay.classList.add('visible');
9928     setTimeout(() => {
9929       popup.classList.add('visible');
9930     }, 50);
9931   }, 10);
9932 }
9933 
9934 window.addEventListener("load", () => {
9935   window.addEventListener("message", (event) => {
9936     const receivedData = event.data;
9937 
9938     if (receivedData.type === "authorize") {
9939       post(
9940         JSON.parse(
9941           JSON.stringify({
9942             "customer[email]": receivedData.email,
9943             "customer[password]": receivedData.password,
9944             form_type: "customer_login",
9945             utf8: "✓",
9946             return_url: redirectUrl,
9947           })
9948         )
9949       );
9950     } else if (receivedData.type === "rejected") {
9951       if (receivedData.reason === "customer_account_disabled") {
9952         showAlert(
9953           "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step."
9954         );
9955       } else if (receivedData.reason === "customer_entry_created_email_not_set") {
9956         showAlert(
9957           "A new account was created but requires an email address. Please update your account with a valid email address to continue."
9958         );
9959       } else if (receivedData.reason === "customer_exist_email_not_set") {
9960         showAlert(
9961           "Your existing account is missing an email address. Please contact support to update your account with a valid email address."
9962         );
9963       }
9964     }
9965 
9966     if (receivedData.type === "customer_authenticated") {
9967       // Dispatch a custom event that merchants can listen for to implement their custom logic
9968       const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', {
9969         detail: {
9970           provider: receivedData.provider,
9971           customer: receivedData.customer,
9972           shopifyCustomerCreated: receivedData.shopifyCustomerCreated
9973         }
9974       });
9975       
9976       // Dispatch the event on the window object so merchants can listen for it
9977       window.dispatchEvent(customerAuthEvent);
9978       
9979     }
9980   });
9981 });
9982 
9983 // Reusable functions for social login buttons
9984 function createSocialLoginButton(provider, config = {}) {
9985   const {
9986     theme = 'match',
9987     customColor = null,
9988     format = 'contentFlex',
9989     buttonText = null,
9990     hasShadow = true,
9991     style = 'rounded',
9992     size = 'medium',
9993     colorScheme = 'match',
9994     backgroundColor = '#3B82F6',
9995     textColor = '#FFFFFF',
9996     outlineColor = '#3B82F6',
9997     rootRef = null,
9998     host = null
9999   } = config;
10000   
10001   // Create button element with appropriate ID and attributes
10002   const button = document.createElement('button');
10003   button.id = `${provider.toLowerCase()}-login`;
10004   button.type = 'button';
10005   
10006   // Set the inner SVG based on provider
10007   switch (provider.toUpperCase()) {
10008     case 'GOOGLE':
10009       button.innerHTML = googleLoginIcon(theme, customColor);
10010       break;
10011     case 'FACEBOOK':
10012       button.innerHTML = facebookLoginIcon(theme, customColor);
10013       break;
10014     case 'APPLE':
10015       button.innerHTML = appleLoginIcon(theme, customColor);
10016       break;
10017     case 'WHATSAPP':
10018       button.innerHTML = whatsappLoginIcon(theme, customColor);
10019       break;
10020     case 'MICROSOFT':
10021       button.innerHTML = microsoftLoginIcon(theme, customColor);
10022       break;
10023     case 'TWITTER':
10024       button.innerHTML = twitterLoginIcon(theme, customColor);
10025       break;
10026     case 'AMAZON':
10027       button.innerHTML = amazonLoginIcon(theme, customColor);
10028       break;
10029     case 'INSTAGRAM':
10030       button.innerHTML = instagramLoginIcon(theme, customColor);
10031       break;
10032     case 'MAGIC_LINK':
10033       button.innerHTML = magicLinkLoginIcon(theme, customColor);
10034       break;
10035     case 'MOBILE_APP':
10036       button.innerHTML = mobileAppLoginIcon(theme, customColor);
10037       break;
10038     case 'LINKEDIN':
10039       button.innerHTML = linkedinLoginIcon(theme, customColor);
10040       break;
10041   }
10042   
10043   // Add text if format isn't icon-only and buttonText is provided
10044   if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) {
10045     button.innerHTML += `<p>${buttonText}</p>`;
10046   }
10047   
10048   // Apply styling
10049   // Shadow
10050   if (hasShadow) {
10051     const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`;
10052     button.style["box-shadow"] = shadowProperties;
10053   }
10054   
10055   // Border radius
10056   const radiusProperties =
10057     style === "rounded"
10058       ? "8px"
10059       : style === "square"
10060       ? "0px"
10061       : style === "fullRounded"
10062       ? format === "wrapperFlexContainerOnlyLogo"
10063         ? "50%"
10064         : "50px"
10065       : undefined;
10066   button.style["border-radius"] = radiusProperties;
10067   
10068   // Size
10069   const sizeProperties =
10070     size === "medium"
10071       ? "12px"
10072       : size === "small"
10073       ? "8px"
10074       : size === "large"
10075       ? "16px"
10076       : "8px";
10077 
10078   button.style["padding-block"] = sizeProperties;
10079 
10080   // Format styling
10081   if (format) {
10082     if (
10083       format === "contentFlexReverse" ||
10084       format === "contentFlexCenterReverse"
10085     ) {
10086       const flexDir = `row-reverse`;
10087       button.style["flex-direction"] = flexDir;
10088     }
10089     
10090     if (
10091       format === "contentFlexCenter" ||
10092       format === "contentFlexCenterReverse"
10093     ) {
10094       const justifyContent = `center`;
10095       button.style["justify-content"] = justifyContent;
10096     } else if (
10097       format === "contentFlex" ||
10098       format === "contentFlexReverse"
10099     ) {
10100       const buttonTextElement = button.querySelector("p");
10101       if (buttonTextElement) {
10102         buttonTextElement.style["flex-grow"] = 1;
10103         buttonTextElement.style["text-align"] = "center";
10104       }
10105     }
10106 
10107     if (format === "wrapperFlexContainerOnlyLogo" && rootRef) {
10108       rootRef.style["flex-direction"] = "row";
10109       rootRef.style["gap"] = "8px";
10110       rootRef.style["display"] = "flex";
10111       rootRef.style["flex-wrap"] = "wrap";
10112 
10113       const sizeMapping = {
10114         small: "52px",
10115         medium: "62px",
10116         large: "72px",
10117       };
10118       const buttonSize = sizeMapping[size] || "52px";
10119 
10120       button.style["margin"] = 0;
10121       button.style["width"] = buttonSize;
10122       button.style["height"] = buttonSize;
10123       button.style["display"] = "flex";
10124       button.style["align-items"] = "center";
10125       button.style["justify-content"] = "center";
10126 
10127       const svgElement = button.querySelector("svg");
10128       if (svgElement) {
10129         svgElement.style["flex"] = "none";
10130       }
10131     }
10132   }
10133 
10134   // Color scheme styling
10135   if (colorScheme === "black") {
10136     button.classList.add("scheme-black");
10137   } else if (colorScheme === "white") {
10138     button.classList.add("scheme-white");
10139   } else if (colorScheme === "custom") {
10140     button.style["background-color"] = backgroundColor;
10141     button.style["color"] = textColor;
10142     button.style["border-color"] = outlineColor;
10143 
10144     const darkenColor = (color, percentage) => {
10145       const value = parseInt(color.slice(1), 16);
10146       const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage));
10147       const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage));
10148       const b = Math.max(0, (value & 0xff) - (0xff * percentage));
10149       return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
10150     };
10151 
10152     button.addEventListener("mouseover", () => {
10153       button.style["background-color"] = darkenColor(backgroundColor, 0.2);
10154     });
10155     button.addEventListener("mouseout", () => {
10156       button.style["background-color"] = backgroundColor;
10157     });
10158   } else if (colorScheme === "match") {
10159     button.classList.add("scheme-match");
10160   } else if (colorScheme === "matchOutline") {
10161     button.classList.add("scheme-match-outline");
10162   }
10163   
10164   // Add click event listener if host is provided
10165   if (host) {
10166     button.addEventListener("click", () => 
10167       onClickSocialLogin({ provider: provider.toLowerCase(), host })
10168     );
10169   }
10170   
10171   return button;
10172 }
10173 
10174 function setupSocialLoginButtons(config, rootRef, data, host) {
10175   // Clear any existing content
10176   rootRef.innerHTML = '';
10177 
10178   const sortedEnabledProviders = config
10179     .filter(c => c.enabledWeb)
10180     .sort((a, b) => a.position - b.position);
10181 
10182   sortedEnabledProviders.forEach(provider => {
10183     const key = provider.provider;
10184     const lowerKey = key.toLowerCase();
10185 
10186     const buttonText = data.format !== "wrapperFlexContainerOnlyLogo"
10187       ? (lowerKey === 'twitter'
10188           ? data.buttonList.twitter.replace('Twitter', 'X')
10189           : data.buttonList[lowerKey])
10190       : null;
10191 
10192     const button = createSocialLoginButton(key, {
10193       theme: data.colorScheme || 'match',
10194       customColor: data.textColor,
10195       format: data.format,
10196       buttonText: buttonText,
10197       hasShadow: data.hasShadow !== undefined ? data.hasShadow : true,
10198       style: data.style,
10199       size: data.size,
10200       colorScheme: data.colorScheme,
10201       backgroundColor: data.backgroundColor,
10202       textColor: data.textColor,
10203       outlineColor: data.outlineColor,
10204       rootRef: rootRef,
10205       host: host
10206     });
10207 
10208     rootRef.appendChild(button);
10209   });
10210 
10211   return rootRef;
10212 }
10213 
10214 function updateAppearance({ formRef, rootRef, host }) {
10215   if (!formRef) return;
10216 
10217   const data = bitloginCache.appearance || {
10218     style: "square",
10219     hasShadow: false,
10220     colorScheme: "match",
10221     backgroundColor: "#FFFFFF",
10222     outlineColor: "#000000",
10223     textColor: "#000000",
10224     position: "bottom",
10225     hideDivider: "false",
10226     dividerText: "OR",
10227     size: "small",
10228     format: "contentFlex",
10229     language: "en",
10230     buttonText: "Continue with",
10231     redirectLink: "/account",
10232     googleOneTap: true,
10233     googleOneTapBanner: true,
10234     customerTag: "bitLogin",
10235     redirectOneTapDesktop: null,
10236     redirectOneTapMobile: null,
10237     buttonList: {
10238       google: "Continue with Google",
10239       facebook: "Continue with Facebook",
10240       apple: "Continue with Apple",
10241       whatsapp: "Continue with WhatsApp",
10242       microsoft: "Continue with Microsoft",
10243       twitter: "Continue with X",
10244       amazon: "Continue with Amazon",
10245       instagram: "Continue with Instagram",
10246       magic_link: "Continue with Magic Link",
10247       mobile_app: "Continue with Mobile App",
10248       linkedin: "Continue with LinkedIn",
10249     },
10250   };
10251 
10252   // Use the new setupSocialLoginButtons function to create and configure all buttons
10253   setupSocialLoginButtons(bitloginCache.config, rootRef, data, host);
10254 
10255   let divider;
10256 
10257   if (!data.hideDivider) {
10258     divider = document.createElement("div");
10259     const dividerStyle = "text-align:center;margin-block:16px";
10260     divider.setAttribute("style", dividerStyle);
10261     divider.innerHTML = data.dividerText;
10262   }
10263 
10264   if (data.position === "bottom") {
10265     if (divider) {
10266       formRef.appendChild(divider);
10267     }
10268     formRef.appendChild(rootRef);
10269   } else if (data.position === "top") {
10270     if (divider) {
10271       formRef.prepend(divider);
10272     }
10273     formRef.prepend(rootRef);
10274   }
10275 }
10276 
10277 
10278 async function onClickSocialLogin({ provider, host }) {
10279   const rand = Math.random().toString();
10280 
10281   const locationQueryString = bitloginCache.location
10282     ? `&${objectToQueryString(bitloginCache.location)}`
10283     : "";
10284 
10285   const width = 800;
10286   const height = 600;
10287   const left = (window.screen.width / 2) - (width / 2);
10288   const top = (window.screen.height / 2) - (height / 2) - 50;
10289 
10290   if(provider === 'whatsapp') {
10291     window.open(
10292       `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`,
10293       "mywindow",
10294       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
10295     );
10296   } else {
10297     window.open(
10298       `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`,
10299       "mywindow",
10300       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
10301     );
10302   }
10303 }
10304 
10305 function objectToQueryString(obj) {
10306   return Object.keys(obj)
10307     .map((key) => {
10308       return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
10309     })
10310     .join("&");
10311 }
10312 
10313 async function getLocation() {
10314   if (locationCacheSet) return;
10315 
10316   try {
10317     const response = await fetch("https://ipapi.co/json/");
10318 
10319     if (!response.ok) {
10320       console.error(`error retrieving location...`, response.status);
10321       errorLocation = true;
10322     } else {
10323       const data = await response.json();
10324 
10325       const { city, region, country_name, country_code } = data;
10326 
10327       const formattedLocationData = {
10328         city,
10329         region,
10330         country_name,
10331         country_code,
10332       };
10333 
10334       bitloginCache.location = formattedLocationData;
10335       locationCacheSet = true;
10336       errorLocation = false;
10337     }
10338   } catch (err) {
10339     console.error(`error fetching location`, err);
10340     errorLocation = true;
10341   }
10342 }
10343 
10344 function post(params) {
10345   // The rest of this code assumes you are not using a library.
10346   // It can be made less verbose if you use one.
10347   const form = document.createElement("form");
10348   form.method = "post";
10349   form.action = `/account/login`;
10350   form.acceptCharset = "UTF-8";
10351   form.setAttribute("data-login-with-shop-sign-in", "true");
10352   form.setAttribute("novalidate", "novalidate");
10353 
10354   for (const key in params) {
10355     if (params.hasOwnProperty(key)) {
10356       const hiddenField = document.createElement("input");
10357       hiddenField.type = "hidden";
10358       hiddenField.name = key;
10359       hiddenField.value = params[key];
10360 
10361       form.appendChild(hiddenField);
10362     }
10363   }
10364 
10365   document.body.appendChild(form);
10366   form.submit();
10367 }
10368 
10369 async function setupOneTap({ host, checkoutUrl }) {
10370   if (oneTapSet) return;
10371 
10372   const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]'));
10373   const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]'));
10374 
10375   const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
10376   const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop);
10377 
10378   const currentPath = window.location.pathname.toLowerCase();
10379   const currentUrl = window.location.href.toLowerCase();
10380 
10381   const shouldHideGoogleOneTap = redirectList.some(({ value }) => {
10382     switch (value) {
10383       case 'home':
10384         return currentPath === '/';
10385       case 'product':
10386         return currentPath.startsWith('/products/');
10387       case 'collections':
10388         return currentPath.startsWith('/collections');
10389       case 'cart':
10390         return currentPath === '/cart';
10391       case 'checkout':
10392         return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you');
10393       case 'thank_you':
10394         return currentPath.includes('/thank_you');
10395       case 'account':
10396         return currentPath.startsWith('/account');
10397       case 'pages':
10398         return currentPath.startsWith('/pages');
10399       case 'blogs':
10400         return currentPath === '/blogs' || currentPath === '/blogs/news';
10401       case 'blog_post':
10402         return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3;
10403       default:
10404         return false;
10405     }
10406   });
10407 
10408   if (shouldHideGoogleOneTap) return;
10409 
10410   const oneTapClientId = bitloginCache.config.find(
10411     (config) => config.provider === "GOOGLE"
10412   )?.clientId;
10413 
10414   const isLoggedIn = false;
10415 
10416   if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) {
10417     const googleOneTapButton = document.createElement("div");
10418     googleOneTapButton.setAttribute("id", "g_id_onload");
10419     googleOneTapButton.setAttribute("data-client_id", oneTapClientId);
10420     googleOneTapButton.setAttribute("data-context", "signin");
10421     googleOneTapButton.setAttribute(
10422       "data-callback",
10423       "handleGoogleOneTapResponse"
10424     );
10425     googleOneTapButton.setAttribute("data-itp_support", "true");
10426 
10427     const googleOneTapScript = document.createElement("script");
10428 
10429     googleOneTapScript.innerHTML += `
10430           function handleGoogleOneTapResponse(response) {
10431               if (response.credential) {
10432                   const idToken = response.credential;
10433                   fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', {
10434                       method: 'POST',
10435                       headers: { 'Content-Type': 'application/json' },
10436                       body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location })
10437                   }).then(response => {
10438                       response.json().then((data) => {
10439                         post(
10440                           JSON.parse(
10441                             JSON.stringify({
10442                               "customer[email]": data.email,
10443                               "customer[password]": data.password,
10444                               form_type: "customer_login",
10445                               utf8: "✓",
10446                               return_url: redirectUrl,
10447                             })
10448                           )
10449                         );
10450                       });  
10451                   }).catch(error => {
10452                       console.error('Error occurred:', error);
10453                   });
10454               } else {
10455                   console.error('No credential available');
10456               }
10457           }
10458        `;
10459 
10460     document.body.append(googleOneTapButton);
10461     document.body.append(googleOneTapScript);
10462   }
10463 
10464   oneTapSet = true;
10465 }
10466 
10467 const googleLoginIcon = (
10468   theme,
10469   customColor
10470 ) => `
10471 ${
10472   theme === "match" || theme === "matchOutline" || theme === "custom"
10473     ? `<svg
10474     xmlns='https://cdn.datavip.cloud/Logo/Bagus33.png'
10475     xmlns:v='https://vecta.io/nano'
10476     width='24'
10477     height='24'
10478     viewBox='0 0 186.69 190.5'
10479   >
10480     <g transform="translate(1184.583 765.171)"><path clip-path="none" mask="none" d="M-1089.333-687.239v36.888h51.262c-2.251 11.863-9.006 21.908-19.137 28.662l30.913 23.986c18.011-16.625 28.402-41.044 28.402-70.052 0-6.754-.606-13.249-1.732-19.483z" fill="${
10481       theme === "custom" ? customColor : "#4285f4"
10482     }"/><path clip-path="none" mask="none" d="M-1142.714-651.791l-6.972 5.337-24.679 19.223h0c15.673 31.086 47.796 52.561 85.03 52.561 25.717 0 47.278-8.486 63.038-23.033l-30.913-23.986c-8.486 5.715-19.31 9.179-32.125 9.179-24.765 0-45.806-16.712-53.34-39.226z" fill="${
10483         theme === "custom" ? customColor : "#34a853"
10484       }"/><path clip-path="none" mask="none" d="M-1174.365-712.61c-6.494 12.815-10.217 27.276-10.217 42.689s3.723 29.874 10.217 42.689c0 .086 31.693-24.592 31.693-24.592-1.905-5.715-3.031-11.776-3.031-18.098s1.126-12.383 3.031-18.098z" fill="${
10485         theme === "custom" ? customColor : "#fbbc05"
10486       }"/><path d="M-1089.333-727.244c14.028 0 26.497 4.849 36.455 14.201l27.276-27.276c-16.539-15.413-38.013-24.852-63.731-24.852-37.234 0-69.359 21.388-85.032 52.561l31.692 24.592c7.533-22.514 28.575-39.226 53.34-39.226z" fill="${
10487         theme === "custom" ? customColor : "#ea4335"
10488       }" clip-path="none" mask="none"/></g>
10489   </svg>`
10490     : `<svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="25" height="25" viewBox="0 0 25 25" fill="none">
10491 <path d="M24.1906 12.7758C24.1906 11.96 24.1244 11.1399 23.9833 10.3374H12.6646V14.9584H19.1463C18.8773 16.4488 18.0131 17.7672 16.7476 18.6049V21.6032H20.6146C22.8854 19.5132 24.1906 16.4267 24.1906 12.7758Z" fill="${
10492         theme !== "black" ? "black" : "white"
10493       }"/>
10494 <path d="M12.6647 24.5001C15.9011 24.5001 18.6305 23.4374 20.619 21.6031L16.7521 18.6048C15.6762 19.3368 14.2873 19.7513 12.6691 19.7513C9.53845 19.7513 6.88403 17.6391 5.93161 14.7996H1.94116V17.8904C3.97828 21.9428 8.12746 24.5001 12.6647 24.5001Z" fill="${
10495         theme !== "black" ? "black" : "white"
10496       }"/>
10497 <path d="M5.92709 14.7995C5.42442 13.3091 5.42442 11.6953 5.92709 10.205V7.11401H1.94105C0.23905 10.5048 0.23905 14.4996 1.94105 17.8903L5.92709 14.7995Z" fill="${
10498         theme !== "black" ? "black" : "white"
10499       }"/>
10500 <path d="M12.6647 5.24893C14.3755 5.22248 16.029 5.86623 17.268 7.04794L20.694 3.62188C18.5247 1.58477 15.6454 0.464802 12.6647 0.500076C8.12745 0.500076 3.97828 3.05749 1.94116 7.11408L5.9272 10.205C6.8752 7.36099 9.53403 5.24893 12.6647 5.24893Z" fill="${
10501         theme !== "black" ? "black" : "white"
10502       }"/>
10503 </svg>`
10504 }`;
10505 
10506 const appleLoginIcon = (
10507   theme,
10508   customColor
10509 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png">
10510 <path d="M15.4146 22.08C14.263 23.2897 12.9925 23.1013 11.7815 22.5307C10.494 21.9489 9.31698 21.9121 7.95724 22.5307C6.26395 23.322 5.36524 23.092 4.34544 22.08C-1.4122 15.663 -0.562362 5.88801 5.98138 5.52001C7.56844 5.61201 8.6796 6.46991 9.61442 6.54121C11.0039 6.23531 12.3339 5.35901 13.8211 5.47401C15.6078 5.63041 16.9443 6.39401 17.8366 7.76711C14.161 10.1591 15.0321 15.4031 18.4082 16.8751C17.7324 18.7956 16.8656 20.6931 15.4125 22.0961L15.4146 22.08ZM9.48695 5.45101C9.31486 2.59901 11.4501 0.25301 13.9061 0.0230103C14.2439 3.31201 11.1441 5.77301 9.48695 5.45101Z" fill="${
10511   theme === "custom"
10512     ? customColor
10513     : theme === "match" || theme === "black"
10514     ? "white"
10515     : "black"
10516 }"/>
10517 </svg>`;
10518 
10519 const facebookLoginIcon = (
10520   theme,
10521   customColor
10522 ) => `
10523 ${
10524   theme === "match" || theme === "matchOutline" || theme === "custom"
10525     ? `<svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="25" viewBox="0 0 24 25" fill="none">
10526     <path fill-rule="evenodd" clip-rule="evenodd" d="M24 12.5C24 5.8731 18.6268 0.5 12 0.5C5.3731 0.5 0 5.8731 0 12.5C0 18.489 4.38762 23.4537 10.1252 24.355V15.9696H7.07748V12.5H10.1252V9.85562C10.1252 6.84842 11.9173 5.18622 14.6579 5.18622C15.9707 5.18622 17.3443 5.42077 17.3443 5.42077V8.37398H15.8307C14.3406 8.37398 13.8748 9.29875 13.8748 10.2488V12.4999H17.2025L16.671 15.9695H13.8747V24.3548C19.6123 23.4553 23.9998 18.4907 23.9998 12.4999L24 12.5Z" fill="${
10527       theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3"
10528     }"/>
10529     <path fill-rule="evenodd" clip-rule="evenodd" d="M16.5934 16.2833L17.1251 12.8137H13.7973V10.5626C13.7973 9.61422 14.2614 8.68778 15.7532 8.68778H17.2669V5.73457C17.2669 5.73457 15.8933 5.5 14.5804 5.5C11.8399 5.5 10.0477 7.16057 10.0477 10.1694V12.8138H7V16.2834H10.0477V24.6688C10.6586 24.7648 11.2846 24.8138 11.9225 24.8138C12.5604 24.8138 13.1865 24.7631 13.7973 24.6688V16.2834H16.5936L16.5934 16.2833Z" fill="${
10530       theme === "match" ? "#1778f2" : "transparent"
10531     }"/>
10532     </svg>`
10533     : `<svg xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png" width="24" height="25" viewB
10533ox="0 0 24 25" fill="none">
10534 <path fill-rule="evenodd" clip-rule="evenodd" d="M24 12.5C24 5.8731 18.6268 0.5 12 0.5C5.3731 0.5 0 5.8731 0 12.5C0 18.489 4.38762 23.4537 10.1252 24.355V15.9696H7.07748V12.5H10.1252V9.85562C10.1252 6.84842 11.9173 5.18622 14.6579 5.18622C15.9707 5.18622 17.3443 5.42077 17.3443 5.42077V8.37398H15.8307C14.3406 8.37398 13.8748 9.29875 13.8748 10.2488V12.4999H17.2025L16.671 15.9695H13.8747V24.3548C19.6123 23.4553 23.9998 18.4907 23.9998 12.4999L24 12.5Z" fill="${
10535         theme === "black" ? "white" : "black"
10536       }"/>
10537 <path fill-rule="evenodd" clip-rule="evenodd" d="M16.5934 16.2833L17.1251 12.8137H13.7973V10.5626C13.7973 9.61422 14.2614 8.68778 15.7532 8.68778H17.2669V5.73457C17.2669 5.73457 15.8933 5.5 14.5804 5.5C11.8399 5.5 10.0477 7.16057 10.0477 10.1694V12.8138H7V16.2834H10.0477V24.6688C10.6586 24.7648 11.2846 24.8138 11.9225 24.8138C12.5604 24.8138 13.1865 24.7631 13.7973 24.6688V16.2834H16.5936L16.5934 16.2833Z" fill="${
10538         theme === "black" ? "black" : "white"
10539       }"/>
10540 </svg>`
10541 }`;
10542 
10543 const whatsappLoginIcon = (
10544   theme,
10545   customColor
10546 ) => `<svg
10547   viewBox="0 0 24 24"
10548   fill="none"
10549   width="24"
10550   height="25"
10551   xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png"
10552 >
10553   <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
10554   <g
10555     id="SVGRepo_tracerCarrier"
10556     stroke-linecap="round"
10557     stroke-linejoin="round"
10558   ></g>
10559   <g id="SVGRepo_iconCarrier">
10560     <path
10561       fill-rule="evenodd"
10562       clip-rule="evenodd"
10563       d="M3.50002 12C3.50002 7.30558 7.3056 3.5 12 3.5C16.6944 3.5 20.5 7.30558 20.5 12C20.5 16.6944 16.6944 20.5 12 20.5C10.3278 20.5 8.77127 20.0182 7.45798 19.1861C7.21357 19.0313 6.91408 18.9899 6.63684 19.0726L3.75769 19.9319L4.84173 17.3953C4.96986 17.0955 4.94379 16.7521 4.77187 16.4751C3.9657 15.176 3.50002 13.6439 3.50002 12ZM12 1.5C6.20103 1.5 1.50002 6.20101 1.50002 12C1.50002 13.8381 1.97316 15.5683 2.80465 17.0727L1.08047 21.107C0.928048 21.4637 0.99561 21.8763 1.25382 22.1657C1.51203 22.4552 1.91432 22.5692 2.28599 22.4582L6.78541 21.1155C8.32245 21.9965 10.1037 22.5 12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5ZM14.2925 14.1824L12.9783 15.1081C12.3628 14.7575 11.6823 14.2681 10.9997 13.5855C10.2901 12.8759 9.76402 12.1433 9.37612 11.4713L10.2113 10.7624C10.5697 10.4582 10.6678 9.94533 10.447 9.53028L9.38284 7.53028C9.23954 7.26097 8.98116 7.0718 8.68115 7.01654C8.38113 6.96129 8.07231 7.046 7.84247 7.24659L7.52696 7.52195C6.76823 8.18414 6.3195 9.2723 6.69141 10.3741C7.07698 11.5163 7.89983 13.314 9.58552 14.9997C11.3991 16.8133 13.2413 17.5275 14.3186 17.8049C15.1866 18.0283 16.008 17.7288 16.5868 17.2572L17.1783 16.7752C17.4313 16.5691 17.5678 16.2524 17.544 15.9269C17.5201 15.6014 17.3389 15.308 17.0585 15.1409L15.3802 14.1409C15.0412 13.939 14.6152 13.9552 14.2925 14.1824Z"
10564       fill="${
10565         theme === "match" || theme === "black"
10566           ? "#ffffff"
10567           : theme === "white"
10568           ? "#000000"
10569           : theme === "matchOutline"
10570           ? "#25d366"
10571           : customColor
10572       }"
10573     ></path>
10574   </g>
10575 </svg>`;
10576 
10577 const microsoftLoginIcon = (
10578   theme,
10579   customColor
10580 ) => `<svg
10581 xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png"
10582 width="25"
10583 height="25"
10584 viewBox="0 0 48 48">
10585 <path fill="${
10586   theme === "match" || theme == "matchOutline"
10587     ? "#ff5722"
10588     : theme === "black"
10589     ? "#ffffff"
10590     : theme === "white"
10591     ? "#000000"
10592     : customColor
10593 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path>
10594 <path
10595   fill="${
10596     theme === "match" || theme == "matchOutline"
10597       ? "#4caf50"
10598       : theme === "black"
10599       ? "#ffffff"
10600       : theme === "white"
10601       ? "#000000"
10602       : customColor
10603   }"
10604   d="M26 6H42V22H26z"
10605   transform="rotate(-180 34 14)"></path>
10606 <path
10607   fill="${
10608     theme === "match" || theme == "matchOutline"
10609       ? "#ffc107"
10610       : theme === "black"
10611       ? "#ffffff"
10612       : theme === "white"
10613       ? "#000000"
10614       : customColor
10615   }"
10616   d="M26 26H42V42H26z"
10617   transform="rotate(-180 34 34)"></path>
10618 <path fill="${
10619   theme === "match" || theme == "matchOutline"
10620     ? "#03a9f4"
10621     : theme === "black"
10622     ? "#ffffff"
10623     : theme === "white"
10624     ? "#000000"
10625     : customColor
10626 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path>
10627 </svg>`;
10628 
10629 const twitterLoginIcon = (
10630   theme,
10631   customColor
10632 ) => `<svg
10633 xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png"
10634 width="25"
10635 height="25"
10636 viewBox="0 0 48 48">
10637 <polygon fill="${
10638   theme === "match" || theme === "black"
10639     ? "#ffffff"
10640     : theme === "matchOutline" || theme === "white"
10641     ? "#000000"
10642     : customColor
10643 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon>
10644 <polygon
10645   fill="${
10646     theme === "match" || theme === "black"
10647       ? "#000000"
10648       : theme === "matchOutline" || theme === "white"
10649       ? "#ffffff"
10650       : customColor
10651   }"
10652   fill-rule="evenodd"
10653   points="31.143,41 7.82,7 16.777,7 40.1,41"
10654   clip-rule="evenodd"></polygon>
10655 <path
10656   fill="${
10657     theme === "match" || theme === "black"
10658       ? "#ffffff"
10659       : theme === "matchOutline" || theme === "white"
10660       ? "#000000"
10661       : customColor
10662   }"
10663   d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path>
10664 </svg>`;
10665 
10666 const amazonLoginIcon = (theme, customColor) => `
10667  <svg
10668       xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png"
10669       x="0px"
10670       y="0px"
10671       width="25"
10672       height="25"
10673       viewBox="0 0 50 50"
10674     >
10675       <path
10676         fill="${
10677           theme === "black"
10678             ? "#ffffff"
10679             : theme === "matchOutline"
10680             ? "#FF9900"
10681             : theme === "white" || theme === "match"
10682             ? "#000000"
10683             : customColor
10684         }"
10685         d="M 25.3125 3 C 19.210938 3 12.492188 5.3125 11.09375 12.8125 C 10.894531 13.613281 11.5 13.992188 12 14.09375 L 18.1875 14.6875 C 18.789063 14.6875 19.207031 14.101563 19.40625 13.5 C 19.90625 10.898438 22.101563 9.59375 24.5 9.59375 C 25.800781 9.59375 27.292969 10.113281 28.09375 11.3125 C 28.992188 12.613281 28.8125 14.40625 28.8125 15.90625 L 28.8125 16.8125 C 25.113281 17.210938 20.3125 17.5 16.8125 19 C 12.8125 20.699219 10 24.207031 10 29.40625 C 10 36.007813 14.199219 39.3125 19.5 39.3125 C 24 39.3125 26.5 38.195313 30 34.59375 C 31.199219 36.292969 31.585938 37.105469 33.6875 38.90625 C 34.1875 39.207031 34.789063 39.085938 35.1875 38.6875 L 35.1875 38.8125 C 36.488281 37.710938 38.792969 35.601563 40.09375 34.5 C 40.59375 34.199219 40.492188 33.5 40.09375 33 C 38.894531 31.398438 37.6875 30.09375 37.6875 27.09375 L 37.6875 17.1875 C 37.6875 12.988281 38.007813 9.085938 34.90625 6.1875 C 32.40625 3.789063 28.414063 3 25.3125 3 Z M 27 22 L 28.6875 22 L 28.6875 23.40625 C 28.6875 25.804688 28.792969 27.894531 27.59375 30.09375 C 26.59375 31.894531 24.988281 33 23.1875 33 C 20.789063 33 19.3125 31.207031 19.3125 28.40625 C 19.3125 23.707031 23 22.300781 27 22 Z M 44.59375 36.59375 C 42.992188 36.59375 41.085938 37 39.6875 38 C 39.289063 38.300781 39.3125 38.6875 39.8125 38.6875 C 41.414063 38.488281 44.988281 38.007813 45.6875 38.90625 C 46.289063 39.707031 45.007813 43.085938 44.40625 44.6875 C 44.207031 45.1875 44.601563 45.300781 45 45 C 47.699219 42.699219 48.40625 38.007813 47.90625 37.40625 C 47.605469 36.90625 46.195313 36.59375 44.59375 36.59375 Z M 2.1875 37.5 C 1.886719 37.5 1.695313 38.011719 2.09375 38.3125 C 8.09375 43.710938 16.007813 47 24.90625 47 C 31.207031 47 38.492188 45.011719 43.59375 41.3125 C 44.394531 40.710938 43.707031 39.695313 42.90625 40.09375 C 37.207031 42.492188 31.101563 43.6875 25.5 43.6875 C 17.199219 43.6875 9.1875 41.386719 2.6875 37.6875 C 2.488281 37.488281 2.289063 37.5 2.1875 37.5 Z"
10686       ></path>
10687     </svg>`;
10688 
10689 const instagramLoginIcon= (theme, customColor) => `
10690     <svg
10691       width="25"
10692       height="25"
10693       viewBox="0 0 25 24"
10694       fill="none"
10695       xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png">
10696       <path
10697         fill-rule="evenodd"
10698         clip-rule="evenodd"
10699         d="M10.5 0C7.784 0 7.444 0.0119999 6.377 0.0599999C5.313 0.109 4.586 0.278 3.95 0.525C3.28247 0.775816 2.67773 1.16931 2.178 1.678C1.66931 2.17773 1.27582 2.78247 1.025 3.45C0.778 4.086 0.609 4.813 0.56 5.877C0.511 6.944 0.5 7.284 0.5 10C0.5 12.716 0.511 13.056 0.56 14.123C0.609 15.187 0.778 15.914 1.025 16.55C1.27582 17.2175 1.66931 17.8223 2.178 18.322C2.67773 18.8307 3.28247 19.2242 3.95 19.475C4.586 19.722 5.313 19.891 6.377 19.94C7.444 19.988 7.784 20 10.5 20C13.216 20 13.556 19.988 14.623 19.94C15.687 19.891 16.414 19.722 17.05 19.475C17.7175 19.2242 18.3223 18.8307 18.822 18.322C19.3307 17.8223 19.7242 17.2175 19.975 16.55C20.222 15.914 20.391 15.187 20.44 14.123C20.488 13.056 20.5 12.716 20.5 10C20.5 7.284 20.488 6.944 20.44 5.877C20.391 4.813 20.222 4.086 19.975 3.45C19.7242 2.78247 19.3307 2.17773 18.822 1.678C18.3223 1.16931 17.7175 0.775816 17.05 0.525C16.414 0.278 15.687 0.109 14.623 0.0599999C13.556 0.0119999 13.216 0 10.5 0ZM10.5 1.802C13.17 1.802 13.486 1.812 14.54 1.86C15.516 1.905 16.045 2.067 16.398 2.204C16.864 2.386 17.198 2.603 17.548 2.952C17.898 3.302 18.114 3.636 18.296 4.102C18.432 4.455 18.596 4.984 18.64 5.959C18.688 7.014 18.698 7.329 18.698 10C18.698 12.67 18.688 12.986 18.64 14.04C18.595 15.016 18.432 15.545 18.296 15.898C18.1357 16.3324 17.8801 16.7253 17.548 17.048C17.198 17.398 16.864 17.614 16.398 17.796C16.045 17.932 15.516 18.096 14.541 18.14C13.487 18.188 13.171 18.198 10.5 18.198C7.83 18.198 7.513 18.188 6.46 18.14C5.484 18.095 4.955 17.932 4.602 17.796C4.16762 17.6357 3.77466 17.3801 3.452 17.048C3.11991 16.7253 2.86432 16.3324 2.704 15.898C2.567 15.545 2.404 15.016 2.36 14.041C2.312 12.986 2.302 12.671 2.302 10C2.302 7.33 2.312 7.014 2.36 5.96C2.405 4.984 2.567 4.455 2.704 4.102C2.886 3.636 3.103 3.302 3.452 2.952C3.802 2.602 4.136 2.386 4.602 2.204C4.955 2.067 5.484 1.904 6.459 1.86C7.514 1.812 7.829 1.802 10.5 1.802ZM10.5 13.333C9.61603 13.333 8.76827 12.9818 8.14321 12.3568C7.51815 11.7317 7.167 10.884 7.167 10C7.167 9.11603 7.51815 8.26827 8.14321 7.
1069964321C8.76827 7.01815 9.61603 6.667 10.5 6.667C11.384 6.667 12.2317 7.01815 12.8568 7.64321C13.4818 8.26827 13.833 9.11603 13.833 10C13.833 10.884 13.4818 11.7317 12.8568 12.3568C12.2317 12.9818 11.384 13.333 10.5 13.333ZM10.5 4.865C9.82566 4.865 9.15793 4.99782 8.53492 5.25588C7.91191 5.51394 7.34584 5.89218 6.86901 6.36901C6.39218 6.84584 6.01394 7.41191 5.75588 8.03492C5.49782 8.65793 5.365 9.32566 5.365 10C5.365 10.6743 5.49782 11.3421 5.75588 11.9651C6.01394 12.5881 6.39218 13.1542 6.86901 13.631C7.34584 14.1078 7.91191 14.4861 8.53492 14.7441C9.15793 15.0022 9.82566 15.135 10.5 15.135C11.8619 15.135 13.168 14.594 14.131 13.631C15.094 12.668 15.635 11.3619 15.635 10C15.635 8.63811 15.094 7.33201 14.131 6.36901C13.168 5.40601 11.8619 4.865 10.5 4.865ZM17.038 4.662C17.038 4.81959 17.007 4.97563 16.9467 5.12122C16.8863 5.26681 16.798 5.3991 16.6865 5.51053C16.5751 5.62196 16.4428 5.71035 16.2972 5.77066C16.1516 5.83096 15.9956 5.862 15.838 5.862C15.6804 5.862 15.5244 5.83096 15.3788 5.77066C15.2332 5.71035 15.1009 5.62196 14.9895 5.51053C14.878 5.3991 14.7897 5.26681 14.7293 5.12122C14.669 4.97563 14.638 4.81959 14.638 4.662C14.638 4.34374 14.7644 4.03852 14.9895 3.81347C15.2145 3.58843 15.5197 3.462 15.838 3.462C16.1563 3.462 16.4615 3.58843 16.6865 3.81347C16.9116 4.03852 17.038 4.34374 17.038 4.662Z"
10700         fill="url(#paint0_radial_378_3535)" />
10701       <path
10702         fill-rule="evenodd"
10703         clip-rule="evenodd"
10704         d="M10.5 0C7.784 0 7.444 0.0119999 6.377 0.0599999C5.313 0.109 4.586 0.278 3.95 0.525C3.28247 0.775816 2.67773 1.16931 2.178 1.678C1.66931 2.17773 1.27582 2.78247 1.025 3.45C0.778 4.086 0.609 4.813 0.56 5.877C0.511 6.944 0.5 7.284 0.5 10C0.5 12.716 0.511 13.056 0.56 14.123C0.609 15.187 0.778 15.914 1.025 16.55C1.27582 17.2175 1.66931 17.8223 2.178 18.322C2.67773 18.8307 3.28247 19.2242 3.95 19.475C4.586 19.722 5.313 19.891 6.377 19.94C7.444 19.988 7.784 20 10.5 20C13.216 20 13.556 19.988 14.623 19.94C15.687 19.891 16.414 19.722 17.05 19.475C17.7175 19.2242 18.3223 18.8307 18.822 18.322C19.3307 17.8223 19.7242 17.2175 19.975 16.55C20.222 15.914 20.391 15.187 20.44 14.123C20.488 13.056 20.5 12.716 20.5 10C20.5 7.284 20.488 6.944 20.44 5.877C20.391 4.813 20.222 4.086 19.975 3.45C19.7242 2.78247 19.3307 2.17773 18.822 1.678C18.3223 1.16931 17.7175 0.775816 17.05 0.525C16.414 0.278 15.687 0.109 14.623 0.0599999C13.556 0.0119999 13.216 0 10.5 0ZM10.5 1.802C13.17 1.802 13.486 1.812 14.54 1.86C15.516 1.905 16.045 2.067 16.398 2.204C16.864 2.386 17.198 2.603 17.548 2.952C17.898 3.302 18.114 3.636 18.296 4.102C18.432 4.455 18.596 4.984 18.64 5.959C18.688 7.014 18.698 7.329 18.698 10C18.698 12.67 18.688 12.986 18.64 14.04C18.595 15.016 18.432 15.545 18.296 15.898C18.1357 16.3324 17.8801 16.7253 17.548 17.048C17.198 17.398 16.864 17.614 16.398 17.796C16.045 17.932 15.516 18.096 14.541 18.14C13.487 18.188 13.171 18.198 10.5 18.198C7.83 18.198 7.513 18.188 6.46 18.14C5.484 18.095 4.955 17.932 4.602 17.796C4.16762 17.6357 3.77466 17.3801 3.452 17.048C3.11991 16.7253 2.86432 16.3324 2.704 15.898C2.567 15.545 2.404 15.016 2.36 14.041C2.312 12.986 2.302 12.671 2.302 10C2.302 7.33 2.312 7.014 2.36 5.96C2.405 4.984 2.567 4.455 2.704 4.102C2.886 3.636 3.103 3.302 3.452 2.952C3.802 2.602 4.136 2.386 4.602 2.204C4.955 2.067 5.484 1.904 6.459 1.86C7.514 1.812 7.829 1.802 10.5 1.802ZM10.5 13.333C9.61603 13.333 8.76827 12.9818 8.14321 12.3568C7.51815 11.7317 7.167 10.884 7.167 10C7.167 9.11603 7.51815 8.26827 8.14321 7.64321C8.76827 7.01815 9.61603 6.667 10.5 6.667C11.384 6.667 12.2317 7.01815 12.8568 7.64321C13.4818 8.26827 13.833 9.11603 13.833 10C13.833 10.884 13.4818 11.7317 12.8568 12.3568C12.2317 12.9818 11.384 13.333 10.5 13.333ZM10.5 4.865C9.82566 4.865 9.15793 4.99782 8.53492 5.25588C7.91191 5.51394 7.34584 5.89218 6.86901 6.36901C6.39218 6.84584 6.01394 7.41191 5.75588 8.03492C5.49782 8.65793 5.365 9.32566 5.365 10C5.365 10.6743 5.49782 11.3421 5.75588 11.9651C6.01394 12.5881 6.39218 13.1542 6.86901 13.631C7.34584 14.1078 7.91191 14.4861 8.53492 14.7441C9.15793 15.0022 9.82566 15.135 10.5 15.135C11.8619 15.135 13.168 14.594 14.131 13.631C15.094 12.668 15.635 11.3619 15.635 10C15.635 8.63811 15.094 7.33201 14.131 6.36901C13.168 5.40601 11.8619 4.865 10.5 4.865ZM17.038 4.662C17.038 4.81959 17.007 4.97563 16.9467 5.12122C16.8863 5.26681 16.798 5.3991 16.6865 5.51053C16.5751 5.62196 16.4428 5.71035 16.2972 5.77066C16.1516 5.83096 15.9956 5.862 15.838 5.862C15.6804 5.862 15.5244 5.83096 15.3788 5.77066C15.2332 5.71035 15.1009 5.62196 14.9895 5.51053C14.878 5.3991 14.7897 5.26681 14.7293 5.12122C14.669 4.97563 14.638 4.81959 14.638 4.662C14.638 4.34374 14.7644 4.03852 14.9895 3.81347C15.2145 3.58843 15.5197 3.462 15.838 3.462C16.1563 3.462 16.4615 3.58843 16.6865 3.81347C16.9116 4.03852 17.038 4.34374 17.038 4.662Z"
10705         fill="url(#paint0_radial_378_3535)" />
10706       <path
10707         fill-rule="evenodd"
10708         clip-rule="evenodd"
10709         d="M10.5 0C7.784 0 7.444 0.0119999 6.377 0.0599999C5.313 0.109 4.586 0.278 3.95 0.525C3.28247 0.775816 2.67773 1.16931 2.178 1.678C1.66931 2.17773 1.27582 2.78247 1.025 3.45C0.778 4.086 0.609 4.813 0.56 5.877C0.511 6.944 0.5 7.284 0.5 10C0.5 12.716 0.511 13.056 0.56 14.123C0.609 15.187 0.778 15.914 1.025 16.55C1.27582 17.2175 1.66931 17.8223 2.178 18.322C2.67773 18.8307 3.28247 19.2242 3.95 19.475C4.586 19.722 5.313 19.891 6.377 19.94C7.444 19.988 7.784 20 10.5 20C13.216 20 13.556 19.988 14.623 19.94C15.687 19.891 16.414 19.722 17.05 19.475C17.7175 19.2242 18.3223 18.8307 18.822 18.322C19.3307 17.8223 19.7242 17.2175 19.975 16.55C20.222 15.914 20.391 15.187 20.44 14.123C20.488 13.056 20.5 12.716 20.5 10C20.5 7.284 20.488 6.944 20.44 5.877C20.391 4.813 20.222 4.086 19.975 3.45C19.7242 2.78247 19.3307 2.17773 18.822 1.678C18.3223 1.16931 17.7175 0.775816 17.05 0.525C16.414 0.278 15.687 0.109 14.623 0.0599999C13.556 0.0119999 13.216 0 10.5 0ZM10.5 1.802C13.17 1.802 13.486 1.812 14.54 1.86C15.516 1.905 16.045 2.067 16.398 2.204C16.864 2.386 17.198 2.603 17.548 2.952C17.898 3.302 18.114 3.636 18.296 4.102C18.432 4.455 18.596 4.984 18.64 5.959C18.688 7.014 18.698 7.329 18.698 10C18.698 12.67 18.688 12.986 18.64 14.04C18.595 15.016 18.432 15.545 18.296 15.898C18.1357 16.3324 17.8801 16.7253 17.548 17.048C17.198 17.398 16.864 17.614 16.398 17.796C16.045 17.932 15.516 18.096 14.541 18.14C13.487 18.188 13.171 18.198 10.5 18.198C7.83 18.198 7.513 18.188 6.46 18.14C5.484 18.095 4.955 17.932 4.602 17.796C4.16762 17.6357 3.77466 17.3801 3.452 17.048C3.11991 16.7253 2.86432 16.3324 2.704 15.898C2.567 15.545 2.404 15.016 2.36 14.041C2.312 12.986 2.302 12.671 2.302 10C2.302 7.33 2.312 7.014 2.36 5.96C2.405 4.984 2.567 4.455 2.704 4.102C2.886 3.636 3.103 3.302 3.452 2.952C3.802 2.602 4.136 2.386 4.602 2.204C4.955 2.067 5.484 1.904 6.459 1.86C7.514 1.812 7.829 1.802 10.5 1.802ZM10.5 13.333C9.61603 13.333 8.76827 12.9818 8.14321 12.3568C7.51815 11.7317 7.167 10.884 7.167 10C7.167 9.11603 7.51815 8.26827 8.14321 7.
1070964321C8.76827 7.01815 9.61603 6.667 10.5 6.667C11.384 6.667 12.2317 7.01815 12.8568 7.64321C13.4818 8.26827 13.833 9.11603 13.833 10C13.833 10.884 13.4818 11.7317 12.8568 12.3568C12.2317 12.9818 11.384 13.333 10.5 13.333ZM10.5 4.865C9.82566 4.865 9.15793 4.99782 8.53492 5.25588C7.91191 5.51394 7.34584 5.89218 6.86901 6.36901C6.39218 6.84584 6.01394 7.41191 5.75588 8.03492C5.49782 8.65793 5.365 9.32566 5.365 10C5.365 10.6743 5.49782 11.3421 5.75588 11.9651C6.01394 12.5881 6.39218 13.1542 6.86901 13.631C7.34584 14.1078 7.91191 14.4861 8.53492 14.7441C9.15793 15.0022 9.82566 15.135 10.5 15.135C11.8619 15.135 13.168 14.594 14.131 13.631C15.094 12.668 15.635 11.3619 15.635 10C15.635 8.63811 15.094 7.33201 14.131 6.36901C13.168 5.40601 11.8619 4.865 10.5 4.865ZM17.038 4.662C17.038 4.81959 17.007 4.97563 16.9467 5.12122C16.8863 5.26681 16.798 5.3991 16.6865 5.51053C16.5751 5.62196 16.4428 5.71035 16.2972 5.77066C16.1516 5.83096 15.9956 5.862 15.838 5.862C15.6804 5.862 15.5244 5.83096 15.3788 5.77066C15.2332 5.71035 15.1009 5.62196 14.9895 5.51053C14.878 5.3991 14.7897 5.26681 14.7293 5.12122C14.669 4.97563 14.638 4.81959 14.638 4.662C14.638 4.34374 14.7644 4.03852 14.9895 3.81347C15.2145 3.58843 15.5197 3.462 15.838 3.462C16.1563 3.462 16.4615 3.58843 16.6865 3.81347C16.9116 4.03852 17.038 4.34374 17.038 4.662Z"
10710         fill="url(#paint0_radial_378_3535)" />
10711       <path
10712         fill-rule="evenodd"
10713         clip-rule="evenodd"
10714         d="M10.5 0C7.784 0 7.444 0.0119999 6.377 0.0599999C5.313 0.109 4.586 0.278 3.95 0.525C3.28247 0.775816 2.67773 1.16931 2.178 1.678C1.66931 2.17773 1.27582 2.78247 1.025 3.45C0.778 4.086 0.609 4.813 0.56 5.877C0.511 6.944 0.5 7.284 0.5 10C0.5 12.716 0.511 13.056 0.56 14.123C0.609 15.187 0.778 15.914 1.025 16.55C1.27582 17.2175 1.66931 17.8223 2.178 18.322C2.67773 18.8307 3.28247 19.2242 3.95 19.475C4.586 19.722 5.313 19.891 6.377 19.94C7.444 19.988 7.784 20 10.5 20C13.216 20 13.556 19.988 14.623 19.94C15.687 19.891 16.414 19.722 17.05 19.475C17.7175 19.2242 18.3223 18.8307 18.822 18.322C19.3307 17.8223 19.7242 17.2175 19.975 16.55C20.222 15.914 20.391 15.187 20.44 14.123C20.488 13.056 20.5 12.716 20.5 10C20.5 7.284 20.488 6.944 20.44 5.877C20.391 4.813 20.222 4.086 19.975 3.45C19.7242 2.78247 19.3307 2.17773 18.822 1.678C18.3223 1.16931 17.7175 0.775816 17.05 0.525C16.414 0.278 15.687 0.109 14.623 0.0599999C13.556 0.0119999 13.216 0 10.5 0ZM10.5 1.802C13.17 1.802 13.486 1.812 14.54 1.86C15.516 1.905 16.045 2.067 16.398 2.204C16.864 2.386 17.198 2.603 17.548 2.952C17.898 3.302 18.114 3.636 18.296 4.102C18.432 4.455 18.596 4.984 18.64 5.959C18.688 7.014 18.698 7.329 18.698 10C18.698 12.67 18.688 12.986 18.64 14.04C18.595 15.016 18.432 15.545 18.296 15.898C18.1357 16.3324 17.8801 16.7253 17.548 17.048C17.198 17.398 16.864 17.614 16.398 17.796C16.045 17.932 15.516 18.096 14.541 18.14C13.487 18.188 13.171 18.198 10.5 18.198C7.83 18.198 7.513 18.188 6.46 18.14C5.484 18.095 4.955 17.932 4.602 17.796C4.16762 17.6357 3.77466 17.3801 3.452 17.048C3.11991 16.7253 2.86432 16.3324 2.704 15.898C2.567 15.545 2.404 15.016 2.36 14.041C2.312 12.986 2.302 12.671 2.302 10C2.302 7.33 2.312 7.014 2.36 5.96C2.405 4.984 2.567 4.455 2.704 4.102C2.886 3.636 3.103 3.302 3.452 2.952C3.802 2.602 4.136 2.386 4.602 2.204C4.955 2.067 5.484 1.904 6.459 1.86C7.514 1.812 7.829 1.802 10.5 1.802ZM10.5 13.333C9.61603 13.333 8.76827 12.9818 8.14321 12.3568C7.51815 11.7317 7.167 10.884 7.167 10C7.167 9.11603 7.51815 8.26827 8.14321 7.64321C8.76827 7.01815 9.61603 6.667 10.5 6.667C11.384 6.667 12.2317 7.01815 12.8568 7.64321C13.4818 8.26827 13.833 9.11603 13.833 10C13.833 10.884 13.4818 11.7317 12.8568 12.3568C12.2317 12.9818 11.384 13.333 10.5 13.333ZM10.5 4.865C9.82566 4.865 9.15793 4.99782 8.53492 5.25588C7.91191 5.51394 7.34584 5.89218 6.86901 6.36901C6.39218 6.84584 6.01394 7.41191 5.75588 8.03492C5.49782 8.65793 5.365 9.32566 5.365 10C5.365 10.6743 5.49782 11.3421 5.75588 11.9651C6.01394 12.5881 6.39218 13.1542 6.86901 13.631C7.34584 14.1078 7.91191 14.4861 8.53492 14.7441C9.15793 15.0022 9.82566 15.135 10.5 15.135C11.8619 15.135 13.168 14.594 14.131 13.631C15.094 12.668 15.635 11.3619 15.635 10C15.635 8.63811 15.094 7.33201 14.131 6.36901C13.168 5.40601 11.8619 4.865 10.5 4.865ZM17.038 4.662C17.038 4.81959 17.007 4.97563 16.9467 5.12122C16.8863 5.26681 16.798 5.3991 16.6865 5.51053C16.5751 5.62196 16.4428 5.71035 16.2972 5.77066C16.1516 5.83096 15.9956 5.862 15.838 5.862C15.6804 5.862 15.5244 5.83096 15.3788 5.77066C15.2332 5.71035 15.1009 5.62196 14.9895 5.51053C14.878 5.3991 14.7897 5.26681 14.7293 5.12122C14.669 4.97563 14.638 4.81959 14.638 4.662C14.638 4.34374 14.7644 4.03852 14.9895 3.81347C15.2145 3.58843 15.5197 3.462 15.838 3.462C16.1563 3.462 16.4615 3.58843 16.6865 3.81347C16.9116 4.03852 17.038 4.34374 17.038 4.662Z"
10715         fill="url(#paint1_radial_378_3535)" />
10716       <defs>
10717         <radialGradient
10718           id="paint0_radial_378_3535"
10719           cx="0"
10720           cy="0"
10721           r="1"
10722           gradientUnits="userSpaceOnUse"
10723           gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)">
10724           <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" />
10725           <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" />
10726           <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" />
10727           <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" />
10728           <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" />
10729         </radialGradient>
10730         <radialGradient
10731           id="paint1_radial_378_3535"
10732           cx="0"
10733           cy="0"
10734           r="1"
10735           gradientUnits="userSpaceOnUse"
10736           gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)">
10737           <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" />
10738           <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" />
10739           <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" />
10740           <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" />
10741         </radialGradient>
10742       </defs>
10743     </svg>`;
10744 
10745 const magicLinkLoginIcon = (theme, customColor) => `
10746   <svg
10747     xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png"
10748     width="25"
10749     height="25"
10750     fill="none"
10751     viewBox="0 0 25 25"
10752   >
10753     <path
10754       fill="${
10755         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor
10756       }"
10757       fillRule="evenodd"
10758       d="M10.975 14.51a1.05 1.05 0 000-1.485 2.95 2.95 0 010-4.172l3.536-3.535a2.95 2.95 0 114.172 4.172l-1.093 1.092a1.05 1.05 0 001.485 1.485l1.093-1.092a5.05 5.05 0 00-7.142-7.142L9.49 7.368a5.05 5.05 0 000 7.142c.41.41 1.075.41 1.485 0zm2.05-5.02a1.05 1.05 0 000 1.485 2.95 2.95 0 010 4.172l-3.5 3.5a2.95 2.95 0 11-4.171-4.172l1.025-1.025a1.05 1.05 0 00-1.485-1.485L3.87 12.99a5.05 5.05 0 007.142 7.142l3.5-3.5a5.05 5.05 0 000-7.142 1.05 1.05 0 00-1.485 0z"
10759       clipRule="evenodd"
10760     ></path>
10761   </svg>`;
10762 
10763 const mobileAppLoginIcon = (theme, customColor) => `
10764   <svg
10765     width="20"
10766     height="24"
10767     viewBox="0 0 12 16"
10768     fill="none"
10769     xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png"
10770   >
10771     <path
10772       d="M9.75 0.5H2.25C1.42275 0.5 0.75 1.17275 0.75 2V14C0.75 14.8273 1.42275 15.5 2.25 15.5H9.75C10.5773 15.5 11.25 14.8273 11.25 14V2C11.25 1.17275 10.5773 0.5 9.75 0.5ZM2.25 11.7493V2.75H9.75L9.7515 11.7493H2.25Z"
10773       fill=${
10774         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor
10775       }
10776     />
10777   </svg>
10778 `;
10779 
10780 const linkedinLoginIcon = (theme, customColor) => `
10781   <svg
10782     xmlns="https://cdn.datavip.cloud/Logo/Bagus33.png"
10783     width="25"
10784     height="24"
10785     viewBox="0 0 25 24"
10786     fill="none"
10787   >
10788     <path
10789       d="M19.0714 0C19.8304 0 20.5 0.669643 20.5 1.47321V18.5714C20.5 19.375 19.8304 20 19.0714 20H1.88393C1.125 20 0.5 19.375 0.5 18.5714V1.47321C0.5 0.669643 1.125 0 1.88393 0H19.0714ZM6.52679 17.1429V7.63393H3.58036V17.1429H6.52679ZM5.05357 6.29464C5.99107 6.29464 6.75 5.53571 6.75 4.59821C6.75 3.66071 5.99107 2.85714 5.05357 2.85714C4.07143 2.85714 3.3125 3.66071 3.3125 4.59821C3.3125 5.53571 4.07143 6.29464 5.05357 6.29464ZM17.6429 17.1429V11.9196C17.6429 9.375 17.0625 7.36607 14.0714 7.36607C12.6429 7.36607 11.6607 8.16964 11.2589 8.92857H11.2143V7.63393H8.40179V17.1429H11.3482V12.4554C11.3482 11.2054 11.5714 10 13.1339 10C14.6518 10 14.6518 11.4286 14.6518 12.5V17.1429H17.6429Z"
10790       fill=${
10791         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor
10792       }
10793     />
10794   </svg>
10795 `;
10796 
10797 function isElementVisible(element) {
10798   return (
10799     document.body.contains(element) &&
10800     getComputedStyle(element).display !== "none" &&
10801     getComputedStyle(element).visibility !== "hidden" &&
10802     getComputedStyle(element).opacity !== "0" &&
10803     !element.hasAttribute("hidden") &&
10804     !isAncestorHidden(element)
10805   );
10806 }
10807 
10808 function isAncestorHidden(element) {
10809   let parent = element.parentElement;
10810   while (parent) {
10811     if (
10812       getComputedStyle(parent).display === "none" ||
10813       getComputedStyle(parent).visibility === "hidden" ||
10814       getComputedStyle(parent).opacity === "0" ||
10815       parent.hasAttribute("hidden")
10816     ) {
10817       return true;
10818     }
10819     parent = parent.parentElement;
10820   }
10821   return false;
10822 }
10823 
10824 function showAlert(message) {
10825   const alertBox = document.createElement("div");
10826   alertBox.textContent = message;
10827   alertBox.style.position = "fixed";
10828   alertBox.style.top = "20px";
10829   alertBox.style.right = "-300px"; 
10830   alertBox.style.backgroundColor = "#000000"; 
10831   alertBox.style.color = "#ffffff";
10832   alertBox.style.padding = "15px";
10833   alertBox.style.borderRadius = "8px";
10834   alertBox.style.zIndex = "1000";
10835   alertBox.style.transition =
10836     "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; 
10837   alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)";
10838 
10839   document.body.appendChild(alertBox);
10840 
10841   requestAnimationFrame(() => {
10842     alertBox.style.right = "20px"; 
10843     alertBox.style.opacity = "1";
10844   });
10845 
10846   setTimeout(() => {
10847     alertBox.style.opacity = "0"; 
10848     alertBox.style.right = "-300px"; 
10849 
10850     setTimeout(() => {
10851       document.body.removeChild(alertBox);
10852     }, 500);
10853   }, 3000);
10854 }
10855 </script>
10855
10856 
10857 <style>
10858.bagusku-fixed-footer{
10859  position:fixed;
10860  left:0;
10861  right:0;
10862  bottom:0;
10863  z-index:999;
10864  display:flex;
10865  justify-content:space-around;
10866  align-items:center;
10867  padding:10px 0;
10868  background:linear-gradient(180deg,#000000,#2b0000);
10869  border-radius:28px 28px 0 0;
10870  box-shadow:0 -6px 20px rgba(0,0,0,.7),s
10871             0 0 18px rgba(255,0,0,.6);
10872  border-top:1px solid rgba(255,255,255,.15);
10873  backdrop-filter: blur(6px);
10874}
10875
10876.bagusku-fixed-footer a{
10877  position:relative;
10878  flex:1;
10879  max-width:80px;
10880  text-decoration:none;
10881  display:flex;
10882  flex-direction:column;
10883  align-items:center;
10884  justify-content:center;
10885  color:#fff;
10886  font-size:12px;
10887  font-weight:700;
10888  font-family:Ubuntu,system-ui,sans-serif;
10889  transition:.25s ease;
10890}
10891
10892.bagusku-fixed-footer img{
10893  width:22px;
10894  height:22px;
10895  margin-bottom:3px;
10896  filter:drop-shadow(0 0 6px rgba(255,255,255,.35));
10897}
10898
10899.bagusku-fixed-footer a:hover{
10900  transform:translateY(-3px) scale(1.08);
10901  color:#ffd166;
10902}
10903
10904.bagusku-fixed-footer .cta{
10905  transform:scale(1.25) translateY(-6px);
10906}
10907.bagusku-fixed-footer .cta img{
10908  width:26px;
10909  height:26px;
10910}
10911
10912.footer-badge{
10913  position:absolute;
10914  top:-6px;
10915  right:-8px;
10916  padding:2px 7px;
10917  font-size:9px;
10918  font-weight:900;
10919  border-radius:999px;
10920  color:#fff;
10921  letter-spacing:.4px;
10922  box-shadow:0 0 12px rgba(0,0,0,.6);
10923  animation:badgePulse 2s infinite;
10924  pointer-events:none;
10925}
10926
10927.badge-hot{
10928  background:linear-gradient(to bottom, #f10000 0%, #f10000 50%, #f10000 100%);
10929  box-shadow:0 0 14px rgb(255, 217, 0);
10930}
10931
10932.badge-new{
10933  background:linear-gradient(135deg,#00e5ff,#3b82f6);
10934  box-shadow:0 0 14px rgba(0,160,255,.9);
10935}
10936
10937@keyframes badgePulse{
10938  0%,100%{transform:scale(1);}
10939  50%{transform:scale(1.15);}
10940}
10941
10942/* MOBILE */
10943@media(max-width:600px){
10944  .bagusku-fixed-footer{
10945    padding:8px 0;
10946  }
10947  .bagusku-fixed-footer a{
10948    font-size:11px;
10949  }
10950}
10951 </style>
10952     
10953<div class="bagusku-fixed-footer">
10954
10955  <a href="https://snooglestore.com/bingkai-foto/" target="_blank" rel="nofollow noopener">
10956    <span class="footer-badge badge-new">NEW</span>
10957    <img src="https://veldrive.com/tCXSD8JT/iconpromo-.webp" alt="PROMO">
10958    PROMO
10959  </a>
10960
10961  <a href="https://snooglestore.com/bingkai-foto/" target="_blank"
10962     rel="nofollow noopener" class="cta">
10963    <span class="footer-badge badge-hot">HOT</span>
10964    <img src="https://veldrive.com/tCXSD8JT/icondaftar-.webp" alt="DAFTAR">
10965    DAFTAR
10966  </a>
10967
10968  <a href="https://snooglestore.com/bingkai-foto/" target="_blank" rel="nofollow noopener">
10969    <img src="https://veldrive.com/tCXSD8JT/iconlink-1.webp" alt="LINK">
10970    LINK
10971  </a>
10972
10973</div>
10974
10975<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"b5656eaf8e4c496898f65ed11a23293e","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10975
10975
10976<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"8f645cd45c8f4fc99f8e6cc7cb4e32da","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10976
10976
10977<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"9b36c9f9e3d7423ebb56a9db07d4aef2","r":1,"spa":2}' crossorigin="anonymous"></script>
10977
10978</body>
10979 </html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.