PageSourceSearch

https://www.walkingfishtx.com/our-team

html walkingfishtx.com collected 2026-09-29 18:06:45 UTC 644,608 bytes, 10,509 lines download raw bytes

1 <!doctype html>
2   <html class="no-js">
3     <head>
4     <meta charset="utf-8">
5     <meta http-equiv="X-UA-Compatible" content="IE=edge">
6     <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
7     <meta name="apple-itunes-app" content="app-id=1576832504">
8     <link rel="icon" type="image/x-icon" href="https://imgstore.io/images/2025/02/15/icon.png">
9     <title>OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025</title>
10     <meta name="description" content="OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.">
11     <meta name="keywords" content="olxtoto, toto macau, result macau, macau pools, keluaran macau, data toto macau" />
12     <link rel="canonical" href="https://www.walkingfishtx.com/our-team">
13     <link rel="amphtml" href="https://ampa-hnst.b-cdn.net/walkingfishtx.html"/>
14     <meta property="og:type" content="TOTO MACAU">
15     <meta property="og:title" content="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025">
16     <meta property="og:image" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg">
17     <meta property="og:image:secure_url" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg">
18     <meta property="og:image" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg">
19     <meta property="og:image:secure_url" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg">
20     <meta property="og:image" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg">
21     <meta property="og:image:secure_url" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg">
22     <meta property="og:description" content="OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.">
23     <meta property="og:price:amount" content="10,000-,">
24     <meta property="og:price:currency" content="IDR">
25     <meta property="og:url" content="https://www.walkingfishtx.com/our-team">
26     <meta property="og:site_name" content="OLXTOTO">
27     <meta name="twitter:site" content="@OLXTOTO">
28     <meta name="twitter:card" content="summary">
29     <meta name="twitter:title" content="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025">
30     <meta name="twitter:description" content="OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.">
31     <meta name="twitter:image" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg">
32     <meta name="twitter:image:width" content="600">
33     <meta name="twitter:image:height" content="600">
34     <link rel="shortcut icon" href="https://imgstore.io/images/2025/02/15/icon.png" type="image/png">
35     <meta name="theme-color" content="#ffffff">
36     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet">
37     <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" />
38     <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
38<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
38
39     
39<script
40       src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"
41       integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q=="
42       crossorigin="anonymous"
43       referrerpolicy="no-referrer"
44       defer
45     ></script>
45
46     
46<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
46
47     
47<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
47<!-- Facebook Pixel Code -->
48     
48<script>
vendor: 462 bytes, lines 48-57
48
49       !function(f,b,e,v,n,t,s)
50       {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
51       n.callMethod.apply(n,arguments):n.queue.push(arguments)};
52       if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
53       n.queue=[];t=b.createElement(e);t.async=!0;
54       t.src=v;s=b.getElementsByTagName(e)[0];
55       s.parentNode.insertBefore(t,s)}(window, document,'script',
56       'https://connect.facebook.net/en_US/fbevents.js');
57       fbq('init', '
57165971065669324
vendor: 42 bytes, lines 57-59
57');
58       fbq('track', 'PageView');
59     
59</script>
59
60     <noscript
61       ><img
62         height="1"
63         width="1"
64         style="display:none"
65         src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1"
66     ></noscript>
67     <!-- End Facebook Pixel Code -->
68 
69     <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking -->
70     <!--
71      Global site tag (gtag.js) - Google Analytics -->
vendor: 75 bytes, lines 71-72
71
72           <script async src="https://www.googletagmanager.com/gtag/js?id=
72G-X26HYP4083
vendor: 23 bytes, lines 72-73
72"></script>
73           
73<script>
74             
vendor: 170 bytes, lines 74-78
74window.dataLayer = window.dataLayer || [];
75             function gtag(){dataLayer.push(arguments);}
76             gtag('js', new Date());
77   
78             gtag('config', '
78G-X26HYP4083
vendor: 15 bytes, lines 78-79
78');
79           
79</script>
79
80       <!-- Global site tag (gtag.js) - Google Analytics -->
81     
82     <div class="button-login-daftar">
83                     <a class="login" href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noreferrer">
84                         LOGIN
85                     </a>
86                     <a class="register" href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noreferrer">
87                         DAFTAR
88                     </a>
89                 </div>
90   
91     
91<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
91
92   
93     <!-- Bing UET -->
94     
94<script>
95       (function(w,d,t,r,u)
96       {
97           var f,n,i;
98           w[u]=w[u]||[],f=function()
99           {
100               var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true};
101               o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")
102           },
103           n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function()
104           {
105               var s=this.readyState;
106               s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)
107           },
108           i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)
109       })
110       (window,document,"script","//bat.bing.com/bat.js","uetq");
111     </script>
111
112     
112<script>
113       window.uetq = window.uetq || [];
114       window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"});
115     </script>
115
116     <!-- End Bing UET -->
117   
118     <!-- Microsoft Clarity -->
119     
119<script type="text/javascript">
120       (function(c,l,a,r,i,t,y){
121           c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
122           t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
123           y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
124       })(window, document, "clarity", "script", "h7rbxqry9k");
125     </script>
125
126     <!-- End Microsoft Clarity -->
127 
128 
129 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" />
130 
131 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" />
132 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css">
133 
134 
134<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
134
135 
135<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
135
136 
136<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
136
137     
137<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
137
138 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog">
139 <link rel="alternate" type="application/json+oembed" href="https://www.walkingfishtx.com/our-team.oembed">
140 
140<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
140
141 
141<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
141
142 
142<script>var Shopify = Shopify || {};
143 Shopify.shop = "outerbloom1.myshopify.com";
144 Shopify.locale = "en";
145 Shopify.currency = {"active":"IDR","rate":"1.0"};
146 Shopify.country = "ID";
147 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"};
148 Shopify.theme.handle = "null";
149 Shopify.theme.style = {"id":null,"handle":null};
150 Shopify.cdnHost = "outerbloom.com/cdn";
151 Shopify.routes = Shopify.routes || {};
152 Shopify.routes.root = "/";</script>
152
153 
153<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
153
154 
154<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>
154
155 
155<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
155
156 
156<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});
157 "></script>
157
158 
158<script>(function() {
159   var isLoaded = false;
160   function asyncLoad() {
161     if (isLoaded) return;
162     isLoaded = true;
163     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"];
164     for (var i = 0; i < urls.length; i++) {
165       var s = document.createElement('script');
166       s.type = 'text/javascript';
167       s.async = true;
168       s.src = urls[i];
169       var x = document.getElementsByTagName('script')[0];
170       x.parentNode.insertBefore(s, x);
171     }
172   };
173   if(window.attachEvent) {
174     window.attachEvent('onload', asyncLoad);
175   } else {
176     window.addEventListener('load', asyncLoad, false);
177   }
178 })();</script>
178
179 
179<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":8144957800663};</script>
179
180 
180<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
180
181 
181<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>
181
182 
182<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>
182
183 
183<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)}};
184 </script>
184
185 
185<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
186   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);
187 </script>
187
188 
188<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})}}));
189 </script>
189
190 
190<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
190
191     <!-- /snippets/oldIE-js.liquid -->
192 <!--[if lt IE 9]>
193 
193<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
193
194 
194<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
194
195 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
196 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" />
197 
197<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
197
198 <![endif]--> 
199<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">
200 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
201 
201<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>
201
202 
202<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":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","url":"\/products\/blossom-shine","type":"OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah."},"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\":\"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025\",\"url\":\"\/products\/blossom-shine\",\"type\":\"OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
202<script>
203   window.ShopifyAnalytics = window.ShopifyAnalytics || {};
204   window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
205   window.ShopifyAnalytics.meta.currency = 'IDR';
206   var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.","variants":[{"id":44083045826775,"price":1000000
207   ,"name":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}};
208   for (var attr in meta) {
209     window.ShopifyAnalytics.meta[attr] = meta[attr];
210   }
211 </script>
211
212 
212<script class="analytics">
213   (function () {
214     var customDocumentWrite = function(content) {
215       var jquery = null;
216 
217       if (window.jQuery) {
218         jquery = window.jQuery;
219       } else if (window.Checkout && window.Checkout.$) {
220         jquery = window.Checkout.$;
221       }
222 
223       if (jquery) {
224         jquery('body').append(content);
225       }
226     };
227 
228     var hasLoggedConversion = function(token) {
229       if (token) {
230         return document.cookie.indexOf('loggedConversion=' + token) !== -1;
231       }
232       return false;
233     }
234 
235     var setCookieIfConversion = function(token) {
236       if (token) {
237         var twoMonthsFromNow = new Date(Date.now());
238         twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
239 
240         document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
241       }
242     }
243 
244     var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
245     if (trekkie.integrations) {
246       return;
247     }
248     trekkie.methods = [
249       'identify',
250       'page',
251       'ready',
252       'track',
253       'trackForm',
254       'trackLink'
255     ];
256     trekkie.factory = function(method) {
257       return function() {
258         var args = Array.prototype.slice.call(arguments);
259         args.unshift(method);
260         trekkie.push(args);
261         return trekkie;
262       };
263     };
264     for (var i = 0; i < trekkie.methods.length; i++) {
265       var key = trekkie.methods[i];
266       trekkie[key] = trekkie.factory(key);
267     }
268     trekkie.load = function(config) {
269       trekkie.config = config || {};
270       trekkie.config.initialDocumentCookie = document.cookie;
271       var first = document.getElementsByTagName('script')[0];
272       var script = document.createElement('script');
273       script.type = 'text/javascript';
274       script.onerror = function(e) {
275         var scriptFallback = document.createElement('script');
276         scriptFallback.type = 'text/javascript';
277         scriptFallback.onerror = function(error) {
278                 var Monorail = {
279       produce: function produce(monorailDomain, schemaId, payload) {
280         var currentMs = new Date().getTime();
281         var event = {
282           schema_id: schemaId,
283           payload: payload,
284           metadata: {
285             event_created_at_ms: currentMs,
286             event_sent_at_ms: currentMs
287           }
288         };
289         return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
290       },
291       sendRequest: function sendRequest(endpointUrl, payload) {
292         // Try the sendBeacon API
293         if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
294           var blobData = new window.Blob([payload], {
295             type: 'text/plain'
296           });
297 
298           if (window.navigator.sendBeacon(endpointUrl, blobData)) {
299             return true;
300           } // sendBeacon was not successful
301 
302         } // XHR beacon
303 
304         var xhr = new XMLHttpRequest();
305 
306         try {
307           xhr.open('POST', endpointUrl);
308           xhr.setRequestHeader('Content-Type', 'text/plain');
309           xhr.send(payload);
310         } catch (e) {
311           console.log(e);
312         }
313 
314         return false;
315       },
316       isIos12: function isIos12() {
317         return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
318       }
319     };
320     Monorail.produce('monorail-edge.shopifysvc.com',
321       'trekkie_storefront_load_errors/1.1',
322       {shop_id: 15896833,
323       theme_id: 153139282135,
324       app_name: "storefront",
325       context_url: window.location.href,
326       source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"});
327 
328         };
329         scriptFallback.async = true;
330         scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
331         first.parentNode.insertBefore(scriptFallback, first);
332       };
333       script.async = true;
334       script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
335       first.parentNode.insertBefore(script, first);
336     };
337     trekkie.load(
338       {"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}}
339     );
340 
341     var loaded = false;
342     trekkie.ready(function() {
343       if (loaded) return;
344       loaded = true;
345 
346       window.ShopifyAnalytics.lib = window.trekkie;
347 
348       var originalDocumentWrite = document.write;
349       document.write = customDocumentWrite;
350       try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
351       document.write = originalDocumentWrite;
352 
353       window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true});
354 
355       var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
356       var token = match? match[1]: undefined;
357       if (!hasLoggedConversion(token)) {
358         setCookieIfConversion(token);
359         window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true});
360       window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"});
361       }
362     });
363 
364 
365         var eventsListenerScript = document.createElement('script');
366         eventsListenerScript.async = true;
367         eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js";
368         document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
369 
370 })();</script>
370
371   
371<script>
372   if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
373     window.ga = function ga() {
374       (window.ga.q = window.ga.q || []).push(arguments);
375       if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
376         window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
377       }
378       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.");
379     };
380     if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
381       window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
382     }
383   }
384 </script>
384
385 
385<script
386   defer
387   src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js"
388   data-application="storefront-renderer"
389   data-shop-id="15896833"
390   data-render-region="gcp-asia-southeast1"
391   data-page-type="product"
392   data-theme-instance-id="153139282135"
393   data-theme-name=""
394   data-theme-version=""
395   data-monorail-region="shop_domain"
396   data-resource-timing-sampling-rate="10"
397   data-shs="true"
398   data-shs-beacon="true"
399   data-shs-export-with-fetch="true"
400   data-shs-logs-sample-rate="1"
401 ></script>
401
402 </head><body
403     data-template="product"
404     id="blossom-shine"
405     class="template-product template-product"
406   >
407     <!-- Google Tag Manager (noscript) -->
vendor: 90 bytes, lines 407-410
407
408     <noscript
409       ><iframe
410         src="https://www.googletagmanager.com/ns.html?id=
410GTM-MF9VVZX
vendor: 129 bytes, lines 410-416
410"
411         height="0"
412         width="0"
413         style="display:none;visibility:hidden"
414       ></iframe
415     ></noscript>
416     
416<!-- End Google Tag Manager (noscript) -->
417     <div class="header-wrapper"> 
418 <div id="shopify-section-NotifBar" class="shopify-section m-0">
419 <style>
420   #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;}
421   #notification.promo-up {top: -48px!important;}
422   .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;}
423   .notification__message p {margin: 0;color: #000000;font-size: 14px!important;}
424   .notification__message p a {text-decoration: underline;color: #ffd700;}
425   @media (max-width: 991px){
426     .notification__message p {font-size: 14px!important;}
427   }
428 </style>
429 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" />
430 <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">
431   <div class="page-width notification__inner ">
432     
433     
434     <div class="notification__message text-center">
435       <p><a href="https://www.walkingfishtx.com/our-team" title="OLXTOTO">OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025</a></p>
436     </div>
437   </div>
438 </div>
439 </div>
440       <div id="shopify-section-new-header" class="shopify-section mb-0 mt-0"><link href="//outerbloom.com/cdn/shop/t/138/assets/section-new-header.css?v=159841885358852784021757475904" rel="stylesheet" type="text/css" media="all"/>
441 
442 
443 <header style="background-image: url(https://imgstore.io/images/2025/12/29/background-coba.jpeg); background-attachment: fixed;">
444   <div class="container">
445     <div class="header-container row justify-content-between pl-lg-0 pr-lg-0">
446         <a href="https://www.walkingfishtx.com/our-team">
447         <img src="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" alt="logo-OLXTOTO" style="width: 190px;"></a>
448       <link href="https://imgstore.io/images/2025/02/15/icon.png" rel="shortcut icon" type="image/x-icon" />
449         <div id="menu-hamburger" class="d-lg-none">
450           <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="16" height="10" viewBox="0 0 16 10" fill="none">
451   <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"/>
452 </svg>
453 
454         <a href="/"><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" viewBox="0 0 854 78.29">
455   <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>
456 </svg>
457 </a>
458       </div>
459 
460       <div class="header-icon-right header-icons col-3">
461         <div class="icon icon-account-header d-none d-lg-block">
462           <a href="https://www.walkingfishtx.com/our-team">
463             <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="20" height="21" viewBox="0 0 20 21" fill="none">
464   <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"/>
465   <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"/>
466 </svg>
467 
468           </a>
469         </div>
470         <div class="icon icon-wishlist-header">
471           <a href="https://www.walkingfishtx.com/our-team">
472             <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
473   <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.
47311233C11.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"/>
474 </svg>
475 
476             <span class="wishlist-count d-none">0</span>
477           </a>
478         </div>
479         <div class="icon icon-cart-header">
480           <a href="https://www.walkingfishtx.com/our-team">
481             <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="22" height="21" viewBox="0 0 22 21" fill="none">
482   <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"/>
483   <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"/>
484 </svg>
485 
486           </a>
487         </div>
488       </div>
489     </div>
490   </div>
491 </header>
492 
493 <nav class="nav-header" style="background-color: #242424;">
494   <div class="nav-account-mobile row m-0 d-lg-none">
495     <div class="col-6 welcome-cust p-0">
496       
497         <h1 class="logo">
498     <a href="https://www.walkingfishtx.com/our-team">
499         <img src="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" alt="OLXTOTO" style="max-height:60px;">
500     </a>
501 </h1>
502 
503       
504     </div>
505     
506       <div class="col-6 login-register text-right p-0">
507         <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html">Log In</a> | <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html">Sign Up</a>
508       </div>
509   </div>
510   <ul class="nav-menu container">
511     
512       <li class="nav-menu container">
513         <a href="https://www.walkingfishtx.com/our-team">
514           <span style="color: #ffd700;">OLXTOTO</span>
515         
516     
517       <li class=" nav-menu container">
518         <a href="https://www.walkingfishtx.com/our-team">
519           <span style="color: #ffd700;">TOTO MACAU</span>
520           
521     
522       <li class=" nav-menu container">
523         <a href="https://www.walkingfishtx.com/our-team">
524           <span style="color: #ffd700;">RESULT MACAU</span>
525     
526       <li class=" nav-menu container">
527         <a href="https://www.walkingfishtx.com/our-team">
528           <span style="color: #ffd700;">MACAU POOLS</span>
529 
530       <li class=" nav-menu container">
531         <a href="https://www.walkingfishtx.com/our-team">
532           <span style="color: #ffd700;">KELUARAN MACAU</span>
533 
534       <li class=" nav-menu container">
535         <a href="https://www.walkingfishtx.com/our-team">
536           <span style="color: #ffd700;">DATA TOTO MACAU</span>
537       
538 <div class="overlay-nav">
539   <!-- Mobile Close Button in Overlay -->
540   <button id="nav-close" class="nav-close-btn d-lg-none">
541     <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png">
542       <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
543     </svg>
544   </button>
545 </div>
546 
547 
547<script>
548   if ($(window).width() < 992) {
549     // Level 1 menu accordion (main menu items)
550     $(".nav-menu .nav-menu container > a").click(function(e){
551       e.preventDefault()
552       const parentLi = $(this).parent()
553       const isCurrentlyOpen = parentLi.hasClass("menu-open")
554       
555       // Close all other open menus (accordion behavior)
556       $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open")
557       $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp()
558       
559       // Toggle current menu
560       if (isCurrentlyOpen) {
561         parentLi.removeClass("menu-open")
562         $(this).next(".megamenu").slideUp()
563       } else {
564         parentLi.addClass("menu-open")
565         $(this).next(".megamenu").slideDown()
566       }
567     })
568 
569     // Level 2 menu accordion (submenu items with grandchildren)
570     $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){
571       e.preventDefault()
572       const parentLi = $(this).parent()
573       const isCurrentlyOpen = parentLi.hasClass("submenu-open")
574       const grandchild = $(this).next(".grandchild")
575       
576       // Close all other open submenus in the same dropdown (accordion behavior)
577       parentLi.siblings('.has-submenu').removeClass("submenu-open")
578       parentLi.siblings('.has-submenu').find('.grandchild').slideUp()
579       parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)')
580       
581       // Toggle current submenu
582       if (isCurrentlyOpen) {
583         parentLi.removeClass("submenu-open")
584         grandchild.slideUp()
585         $(this).find('.chevron-right').css('transform', 'rotate(0deg)')
586       } else {
587         parentLi.addClass("submenu-open")
588         grandchild.slideDown()
589         $(this).find('.chevron-right').css('transform', 'rotate(90deg)')
590       }
591     })
592 
593     $("#menu-hamburger").click(function(e){
594       e.preventDefault()
595       $("body").toggleClass("nav_open")
596     })
597     
598     // Handle close button click
599     $("#nav-close").click(function(e){
600       e.preventDefault()
601       $("body").removeClass("nav_open")
602       // Close all open menus when close button is clicked
603       $(".nav-menu .nav-menu container").removeClass("menu-open")
604       $(".nav-menu .megamenu").slideUp()
605       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
606       $(".dropdown-menu .grandchild").slideUp()
607       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
608     })
609   }
610 
611   $(".overlay-nav").click(function(e){
612       e.preventDefault()
613       $("body").removeClass("nav_open")
614       // Close all open menus when overlay is clicked
615       $(".nav-menu .nav-menu container").removeClass("menu-open")
616       $(".nav-menu .megamenu").slideUp()
617       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
618       $(".dropdown-menu .grandchild").slideUp()
619       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
620   })
621 </script>
621
622 
623 
624 </div>
625 
626       <div id="shopify-section-search-popup" class="shopify-section m-0"><style>
627   #search-trigger {
628     cursor: pointer;
629   }
630   #search-popup {
631     display: none;
632     position: fixed;
633     left: 0;
634     width: 100%;
635     top: 0;
636     height: 100%;
637     justify-content: center;
638     z-index: 9999;
639     background: rgb(196 196 196 / 30%);
640   }
641   #search-input {
642     align-self: center;
643     width: 100%;
644     height: 80px;
645     position: absolute;
646     top: 0;
647     border-bottom: 0.5px solid #A3A3A3;
648     background-color: #fff;
649   }
650   #search-input * {
651     align-self: center;
652   }
653   #search-type {
654     width: 100%;
655     border: none;
656     padding-right: 20px;
657     padding-left: 20px;
658     font-size: 16px;
659     color: #757575;
660   }
661   #search-btn {
662     font-size: 16px;
663     font-weight: 500;
664   }
665   #search-result {
666     min-height: 490px;
667     width: 100%;
668     padding-top: 80px;
669   }
670   #search-result .container {
671     background-color: #fff;
672     padding: 20px 40px;
673   }
674   body.search-popup-open {
675   /* .search-popup-open */
676     overflow: hidden;
677   }
678   .search-popup-open #loc_delivery {
679     display: none
680   }
681   .search-header svg {
682     display: none;
683     cursor: pointer;
684   }
685   .wrapper-search-popup {
686     max-height: calc(100vh - 150px);
687     overflow-y: auto;
688     overflow-x: hidden;
689   }
690 
691   .group-recommend {
692     padding: 20px 40px;
693   }
694 
695   .resultsearch {
696     display: none;
697   }
698   .results { padding: 20px 40px }
699   .resultsearch label {
700     font-weight: 600;
701     padding-bottom: 20px;
702     display: block;
703     margin-bottom: 20px;
704     border-bottom: 1px solid #AAAAAA;
705   }
706 
707   ul.result_product {
708     max-height: 300px;
709     overflow: auto;
710   }
711 
712   .group-promotion ul {
713     margin: 0;
714   }
715   .group-promotion li {
716     list-style: none;
717     margin-bottom: 12px;
718   }
719   .group-promotion li a {
720     color: inherit;
721   }
722 
723   .group-recent {
724     position: relative;
725     padding: 20px 40px;
726   }
727   .group-recent ul {
728     margin: 0;
729   }
730   .group-recent li {
731     list-style: none;
732     display: inline-block;
733     margin-right: 60px;
734   }
735   .group-recent li a {
736     color: inherit;
737   }
738 
739   .last-search svg {
740     width: 20px;
741     vertical-align: middle;
742   }
743   ul.last-search a {
744     vertical-align: middle;
745     padding: 0 10px;
746   }
747   ul.last-search li span {
748     cursor: pointer;
749   }
750   .delete-all-history {
751     position: absolute;
752     top: 25px;
753     right: 40px;
754     text-decoration: underline;
755     color: #e11d1d;
756     cursor: pointer;
757     font-size: 12px;
758   }
759 
760   form.search.search-modal__form {
761     position: relative;
762   }
763 
764   button.search__button svg {
765     width: 25px;
766     color: #495057;
767     fill: #757582;
768   }
769 
770   button.search__button.field__button {
771     position: absolute;
772     top: 50%;
773     margin-top: -12px;
774   }
775 
776   .close-search {
777     display: none;
778     position: absolute;
779     right: 65px;
780     top: 10px;
781     cursor: pointer;
782   }
783 
784   .site-overlay {
785     position: fixed;
786     top: 0;
787     width: 100vw;
788     height: 100vh;
789     z-index: 1000;
790     background: #0000005c;
791     visibility: hidden;
792     opacity: 0;
793     pointer-events: none;
794     transition: all .3s linear;
795     display: block !important;
796   }
797 
798   .search-popup-open .site-overlay {
799     opacity: 1;
800     visibility: visible;
801     pointer-events: all;
802     z-index: -1;
803     cursor: pointer;
804   }
805 
806   @media (min-width: 991px) {
807     .group-recent ul {
808       column-count: 3;
809     }
810     .group-promotion li a {
811       font-size: 12px;
812       font-weight: 400;
813     }
814     .group-recent li a {
815       font-size: 12px;
816       font-weight: 400;
817     }
818   }
819 
820   .moreresult {
821     padding: 10px 40px;
822     border-top: 1px solid #AAAAAA;
823   }
824   .moreresult * {
825     align-self: center;
826   }
827   .moreresult p {
828     margin: 0;
829     font-size: 12px !important;
830   }
831   .moreresult svg {
832     width: 13px;
833   }
834 
835   @media (max-width: 992px) {
836     .icon-key-mobile {
837         height: auto!important;
838         width: 10px!important;
839     }
840     body.grid-view.search-popup-open .products {
841       -ms-flex: 0 0 100%!important;
842       flex: 0 0 100%!important;
843       max-width: 100%!important;
844     }
845     button.search__button svg {
846       width: 20px;
847     }
848     #search-result {
849       padding-left: 0;
850       padding-right: 0;
851     }
852     #search-result {
853       padding-top: 55px;
854     }
855     #search-input {
856       height: 55px;
857     }
858     .group-recommend {
859       padding: 20px;
860     }
861     #search-input .container {
862       padding: 0 20px;
863     }
864     #search-type {
865       font-size: 14px;
866     }
867     #search-btn {
868       font-size: 12px;
869       text-decoration: underline;
870     }
871     .results {
872       padding: 20px;
873     }
874     .group-recommend h3 {
875       font-size: 16px;
876     }
877     .products .card-body {
878       padding: 8px 0px 10px;
879     }
880     .moreresult {
881       padding: 10px 20px;
882     }
883   }
884 </style>
885  <style type="text/css">
886         div.advertisement-placeholder {
887             text-align: center;
888             padding-bottom: 20px;
889             display: flex;
890             flex-direction: column;
891             justify-content: center;
892         }
893         div.advertisement-text p {
894             margin: 0;
895             font-family: Open Sans;
896             font-style: normal;
897             font-weight: normal;
898             font-size: 10px;
899             line-height: 20px;
900             color: #999999;
901         }
902         div.advertisement-banner {
903             margin: 0px auto;
904         }
905         div#div-gpt-ad-billboard-placeholder {
906             width: 996px;
907             margin: 0 auto;
908             background: #F5F5F5;
909             padding-bottom: unset !important;
910             min-height: 200px;
911         }
912         div#div-gpt-ad-lb-placeholder {
913             background: #F5F5F5;
914             padding-bottom: unset !important;
915             min-height: 280px;
916         }
917         .faq-section{
918             max-width:1200px;
919             margin:50px auto;
920             padding:40px 20px;
921             position:relative;
922             background-color: rgba(0, 0, 0, 0.1);
923             backdrop-filter: blur(25px);
924             border-radius: 20px;
925             }
926         
927         .faq-section::before{
928             content:"";
929             position:absolute;
930             top:0;left:50%;
931             transform:translateX(-50%);
932             width:80%;
933             height:2px;
934             background:linear-gradient(90deg,transparent,#fffb00,transparent)
935             }
936             
937         .faq-section h2{
938             text-align:center;
939             font-size:34px;font-weight:700;
940             margin-bottom:50px;
941             background: linear-gradient(135deg, #fffb00, #fffb00, #fffb00);
942             -webkit-background-clip:text;
943             -webkit-text-fill-color:transparent;
944             background-clip:text;
945             font-family:"Poppins",sans-serif;letter-spacing:1px
946         }
947         
948         .faq-container{
949             display:flex;
950             flex-direction:column;
951             gap:25px
952         }
953         
954         .faq-item{
955             background:linear-gradient(145deg,#0a0a0a,#1a1a1a);
956             border:2px solid #ffd700;
957             border-radius:20px;overflow:hidden;
958             transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5)
959         }
960         
961         .faq-item:hover{
962             border-color:#ffd700;
963             transform:translateX(10px);
964             box-shadow:0 12px 35px rgba(244, 222, 21, 0.25)
965         }
966 
967         .faq-question{width:100%;
968             padding:28px 35px;background:transparent;
969             color:#ffffff;
970             font-size:18px;
971             font-weight:600;
972             text-align:left;
973             border:none;cursor:pointer;
974             display:flex;
975             justify-content:space-between;
976             align-items:center;
977             font-family:"Poppins",sans-serif;
978             transition:all .3s ease
979         }
980         
981         .faq-question:hover{
982             color:#fffb00
983         }
984         
985         .faq-question::after{
986             content:'+';
987             font-size:32px;
988             font-weight:300;
989             transition:all .4s ease;
990             color:#fffb00;
991             width:40px;
992             height:40px;
993             display:flex;
994             align-items:center;
995             justify-content:center;
996             border:2px solid #ffd700;border-radius:50%;
997             background:rgba(0, 0, 0, 0.1)
998         }
999         
1000         .faq-item.active .faq-question::after{
1001             transform:rotate(135deg);
1002             background:linear-gradient(135deg,#ffd700,#ffd700);
1003             color:#000;border-color:transparent
1004         }
1005         
1006         .faq-answer{
1007             max-height:0;
1008             overflow:hidden;
1009             transition:max-height .5s ease,padding .5s ease;
1010             background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent);
1011             padding:0 35px
1012         }
1013         
1014         .faq-item.active .faq-answer{
1015             max-height:800px;padding:30px 35px;
1016             border-top:1px solid rgba(253, 211, 4, 0.3)
1017         }
1018         
1019         .faq-answer p{
1020             color:#e0e0e0;
1021             font-size:16px;
1022             line-height:2;
1023             margin:0;
1024             font-family:"Poppins",sans-serif
1025         }
1026 
1027         @media
1028             (max-width:768px)
1029         {
1030         
1031         .faq-section
1032             {padding:30px 15px}
1033         
1034         .faq-section h2
1035             {font-size:26px}
1036         
1037         .faq-question
1038             {font-size:16px;
1039             padding:22px 25px}
1040         
1041         .faq-question::after
1042             {width:35px;
1043             height:35px;
1044             font-size:28px}
1045         
1046         .faq-answer
1047             {padding:0 25px}
1048         
1049         .faq-item.active .faq-answer
1050             {padding:25px}
1051         
1052         .faq-item:hover
1053             {transform:translateX(5px)}
1054             }
1055     </style>
1056 <div id="search-popup">
1057   <div id="search-input" class="row">
1058     <div class="container w-100">
1059       <form
1060         action="/search"
1061         method="get"
1062         role="search"
1063         class="search search-modal__form d-flex justify-content-between"
1064       >
1065         <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="20" height="20" viewBox="0 0 20 20" fill="none">
1066   <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"/>
1067 </svg>
1068 
1069         <input type="hidden" name="type" value="product">
1070         <input
1071           type="text"
1072           id="search-type"
1073           name="q"
1074           class="search-popup"
1075           placeholder="Gifts that linger: Uncover treasures for cherished moments."
1076         >
1077         <div class="close-search"><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
1078   <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"/>
1079 </svg>
1080 </div>
1081         <button id="search-btn">Search</button>
1082       </form>
1083     </div>
1084   </div>
1085   <div id="search-result" class="container m-auto">
1086     <div class="container p-0">
1087       <div class="group-promotion">
1088         <div class="resultsearch">
1089           <div class="row results">
1090             <div class="col-12 col-lg-6 mb-3 mb-lg-0">
1091               <label>SUGGESTIONS</label>
1092               <ul class="result_collection"></ul>
1093             </div>
1094             <div class="col-12 col-lg-6">
1095               <label>PRODUCTS</label>
1096               <ul class="result_product"></ul>
1097             </div>
1098           </div>
1099           <div class="d-flex justify-content-between moreresult m-0">
1100             <p>Search for<span></span></p>
1101             <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="32" height="32" viewBox="0 0 32 32">
1102 <title>icon-arrow-right</title>
1103 <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>
1104 </svg>
1105</div>
1106</div>
1107</div>
1108<div class="group-recent hide">
1109<h3>RECENT SEARCH</h3>
1110<span class="delete-all-history">Hapus riwayat</span>
1111<ul class="last-search"></ul>
1112</div>
1113<div class="group-recommend">
1114<h3>YOU MAY ALSO LIKE</h3>
1115<div class="row popup-recommend c-products-grid infinite-case product-multi-">
1116<div class="swiper-wrapper justify-content-between" style="margin-left:1px;">         
1117<div class="swiper-slide card">
1118 <div class="products" data-lazy="false">
1119   <div class="bg-products">
1120     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake">
1121       <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1122   <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.
112211233C11.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"/>
1123 </svg>
1124     </div>
1125     <a href="/products/mid-autumn-of-love-mooncake">
1126       <div class="product-card-img-container p-0 position-relative">
1127         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898" alt="Mid Autumn of Love Mooncake" height="200" width="200">
1128       </div>
1129       <div class="card-body product-card-info">
1130         <h5 class="h5 mb-0">
1131           Mid Autumn of Love Mooncake
1132         </h5>
1133         <div class="product-card-price">
1134           <div class="product-price-sale">
1135             <s class="product-card-price-before card-money">Rp 588.000</s>
1136             <span class="product-card-discount small">	
1137               (-40%)
1138             </span> 	
1139           </div>
1140           <div class="price-discount">
1141             <h4 class="product-card-price-after card-money">Rp 348.000</h4>
1142           </div>
1143         </div>
1144       </div>
1145     </a>
1146   </div>
1147 </div>
1148</div>
1149 <div class="swiper-slide card">
1150 <div class="products" data-lazy="false">
1151   <div class="bg-products">
1152     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake">
1153       <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1154   <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.
115411233C11.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"/>
1155 </svg>
1156 
1157     </div>
1158     <a href="/products/mid-autumn-of-joy-mooncake">
1159       
1160       <div class="product-card-img-container p-0 position-relative">
1161         
1162         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798" alt="Mid Autumn of Joy Mooncake" height="200" width="200">
1163       </div>
1164       <div class="card-body product-card-info">
1165         <h5 class="h5 mb-0">
1166           Mid Autumn of Joy Mooncake
1167         </h5>
1168         <div class="product-card-price">
1169           
1170           <div class="product-price-sale">
1171             <s class="product-card-price-before card-money">Rp 888.000</s>
1172             <span class="product-card-discount small">	
1173               (-33%)
1174             </span> 	
1175           </div>
1176           <div class="price-discount">
1177             <h4 class="product-card-price-after card-money">Rp 588.000</h4>
1178           </div>
1179         </div>
1180       </div>
1181     </a>
1182   </div>
1183 </div>
1184 </div>
1185 <div class="swiper-slide card">
1186 <div class="products" data-lazy="false">
1187   <div class="bg-products">
1188     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake">
1189       <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1190   <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.
119011233C11.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"/>
1191 </svg>
1192     </div>
1193     <a href="/products/mid-autumn-of-fortune-mooncake">
1194       <div class="product-card-img-container p-0 position-relative">
1195         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072" alt="Mid Autumn of Fortune Mooncake" height="200" width="200">
1196       </div>
1197       <div class="card-body product-card-info">
1198         <h5 class="h5 mb-0">
1199           Mid Autumn of Fortune Mooncake
1200         </h5>
1201         <div class="product-card-price">
1202           
1203           <div class="product-price-sale">
1204             <s class="product-card-price-before card-money">Rp 1.188.000</s>
1205             <span class="product-card-discount small">	
1206               (-33%)
1207             </span> 	
1208           </div>
1209           <div class="price-discount">
1210             <h4 class="product-card-price-after card-money">Rp 788.000</h4>
1211           </div>
1212         </div>
1213       </div>
1214     </a>
1215   </div>
1216 </div>
1217</div>
1218<div class="swiper-slide card">
1219 <div class="products" data-lazy="false">
1220   <div class="bg-products">
1221     <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake">
1222       <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1223   <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.
122311233C11.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"/>
1224 </svg>
1225     </div>
1226     <a href="/products/mid-autumn-festival-mooncake">
1227       <div class="product-card-img-container p-0 position-relative">
1228         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965" alt="Mid Autumn Festival Mooncake" height="200" width="200">
1229       </div>
1230       <div class="card-body product-card-info">
1231         <h5 class="h5 mb-0">
1232           Mid Autumn Festival Mooncake
1233         </h5>
1234         <div class="product-card-price">
1235           <div class="product-price-sale">
1236             <s class="product-card-price-before card-money">Rp 1.288.000</s>
1237             <span class="product-card-discount small">	
1238               (-23%)
1239             </span> 	
1240           </div>
1241           <div class="price-discount">
1242             <h4 class="product-card-price-after card-money">Rp 988.000</h4>
1243           </div>
1244         </div>
1245       </div>
1246     </a>
1247   </div>
1248 </div>
1249</div>   
1250 <div class="swiper-slide card">
1251 <div class="products" data-lazy="false">
1252   <div class="bg-products">
1253     <div class="wishlist-toggle" data-product-handle="the-jade-bouquet">
1254       <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1255   <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.
125511233C11.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"/>
1256 </svg>
1257     </div>
1258     <a href="/products/the-jade-bouquet">
1259       <div class="product-card-img-container p-0 position-relative">
1260         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030" data-src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030" alt="The Jade Bouquet" height="200" width="200">
1261       </div>
1262       <div class="card-body product-card-info">
1263         <h5 class="h5 mb-0">
1264           The Jade Bouquet
1265         </h5>
1266         <div class="product-card-price">
1267           <div class="product-price-sale">
1268             <s class="product-card-price-before card-money">Rp 435.000</s>
1269             <span class="product-card-discount small">	
1270               (-34%)
1271             </span> 	
1272           </div>
1273           <div class="price-discount">
1274             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1275           </div>
1276         </div>
1277       </div>
1278     </a>
1279   </div>
1280 </div>
1281</div>
1282<div class="swiper-slide card">
1283 <div class="products" data-lazy="false">
1284   <div class="bg-products">
1285     <div class="wishlist-toggle" data-product-handle="the-selena-bouquet">
1286       <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1287   <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.
128711233C11.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"/>
1288 </svg>
1289 
1290     </div>
1291     <a href="/products/the-selena-bouquet">
1292       
1293       <div class="product-card-img-container p-0 position-relative">
1294         
1295         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047" data-src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047" alt="The Selena Bouquet" height="200" width="200">
1296       </div>
1297       <div class="card-body product-card-info">
1298         <h5 class="h5 mb-0">
1299           The Selena Bouquet
1300         </h5>
1301         <div class="product-card-price">
1302           
1303           <div class="product-price-sale">
1304             <s class="product-card-price-before card-money">Rp 335.000</s>
1305             <span class="product-card-discount small">	
1306               (-29%)
1307             </span> 	
1308           </div>
1309           <div class="price-discount">
1310             <h4 class="product-card-price-after card-money">Rp 235.000</h4>
1311           </div>
1312         </div>
1313       </div>
1314     </a>
1315   </div>
1316 </div>
1317 </div>     
1318<div class="swiper-slide card">
1319 <div class="products" data-lazy="false">
1320   <div class="bg-products">
1321     <div class="wishlist-toggle" data-product-handle="the-viola-bouquet">
1322       <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1323   <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.
132311233C11.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"/>
1324 </svg>
1325 
1326     </div>
1327     <a href="/products/the-viola-bouquet">
1328       
1329       <div class="product-card-img-container p-0 position-relative">
1330         
1331         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053" data-src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?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">
1332       </div>
1333       <div class="card-body product-card-info">
1334         <h5 class="h5 mb-0">
1335           The Viola Bouquet
1336         </h5>
1337         <div class="product-card-price">
1338           
1339           <div class="product-price-sale">
1340             <s class="product-card-price-before card-money">Rp 385.000</s>
1341             <span class="product-card-discount small">	
1342               (-25%)
1343             </span> 	
1344           </div>
1345           <div class="price-discount">
1346             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1347           </div>
1348         </div> 
1349       </div>
1350     </a>
1351   </div>
1352 </div>
1353</div>              
1354<div class="swiper-slide card">
1355 <div class="products" data-lazy="false">
1356   <div class="bg-products">
1357     <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet">
1358       <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1359   <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.
135911233C11.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"/>
1360 </svg>
1361 
1362     </div>
1363     <a href="/products/the-minerva-bouquet">
1364       
1365       <div class="product-card-img-container p-0 position-relative">
1366         
1367         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061" data-src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061" alt="The Minerva Bouquet" height="200" width="200">
1368       </div>
1369       <div class="card-body product-card-info">
1370         <h5 class="h5 mb-0">
1371           The Minerva Bouquet
1372         </h5>
1373         <div class="product-card-price">
1374           
1375           <div class="product-price-sale">
1376             <s class="product-card-price-before card-money">Rp 385.000</s>
1377             <span class="product-card-discount small">	
1378               (-25%)
1379             </span> 	
1380           </div>
1381           <div class="price-discount">
1382             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1383           </div> 
1384         </div>
1385       </div>
1386     </a>
1387   </div>
1388 </div>
1389</div>           
1390 <div class="swiper-slide card">
1391 <div class="products" data-lazy="false">
1392   <div class="bg-products">
1393     <div class="wishlist-toggle" data-product-handle="congraduations-bouquet">
1394       <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1395   <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.
139511233C11.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"/>
1396 </svg>
1397 
1398     </div>
1399     <a href="/products/congraduations-bouquet">
1400       
1401       <div class="product-card-img-container p-0 position-relative">
1402         
1403         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306" data-src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306" alt="Congraduations Bouquet" height="200" width="200">
1404       </div>
1405       <div class="card-body product-card-info">
1406         <h5 class="h5 mb-0">
1407           Congraduations Bouquet
1408         </h5>
1409         <div class="product-card-price">
1410           
1411           <div class="product-price-sale">
1412             <s class="product-card-price-before card-money">Rp 380.000</s>
1413             <span class="product-card-discount small">	
1414               (-25%)
1415             </span> 	
1416           </div>
1417           <div class="price-discount">
1418             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1419           </div>    
1420         </div>   
1421       </div>
1422     </a>
1423   </div>
1424 </div>
1425</div>
1426<div class="swiper-slide card">              
1427 <div class="products" data-lazy="false">
1428   <div class="bg-products">
1429     <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet">
1430       <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1431   <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.
143111233C11.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"/>
1432 </svg>
1433 
1434     </div>
1435     <a href="/products/grad-gorgeous-bouquet">
1436       
1437       <div class="product-card-img-container p-0 position-relative">
1438         
1439         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297" data-src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297" alt="Grad &amp; Gorgeous Bouquet" height="200" width="200">
1440       </div>
1441       <div class="card-body product-card-info">
1442         <h5 class="h5 mb-0">
1443           Grad & Gorgeous Bouquet
1444         </h5>
1445         <div class="product-card-price">
1446           
1447           <div class="product-price-sale">
1448             <s class="product-card-price-before card-money">Rp 380.000</s>
1449             <span class="product-card-discount small">	
1450               (-25%)
1451             </span> 	
1452           </div>
1453           <div class="price-discount">
1454             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1455           </div>    
1456         </div>
1457       </div>
1458     </a>
1459   </div>
1460 </div>
1461 </div> 
1462</div>
1463</div>
1464</div>
1465</div>
1466</div>
1467<div class="site-overlay" style="display: none"></div>
1468 </div>
1469 
1469<script>
1470   
1471   var swiper = new Swiper('.popup-recommend', {
1472       slidesPerView : 4, 
1473       spaceBetween: 30,
1474       lazy: true ,                            
1475       speed: 300,
1476       breakpoints: {
1477         // when window width is <= 576px
1478         576: {
1479             slidesPerView: 2,
1480               spaceBetween: 10,
1481             freeMode: true,
1482             resistance : true,
1483             resistanceRatio : 0,
1484             freeModeMomentumRatio : 0.45,
1485             freeModeMomentumVelocityRatio : 1.5
1486         },
1487         768: {
1488               slidesPerView: 2,
1489               spaceBetween: 10
1490             },
1491         992: {
1492               slidesPerView: 3,
1493               spaceBetween: 20
1494         }
1495       }
1496   });
1497 
1498   const searchContainer = $("#search-popup")
1499   const searchInput = $(".search-popup")
1500   const result_collection = $('.result_collection')
1501   const result_product = $('.result_product')
1502   const resultsearch = $('.resultsearch')
1503   const resultrecommend = $(".group-recommend")
1504   const moreresult = $(".moreresult")
1505 
1506   searchInput.keyup(function(){
1507     const input = $(this).val()
1508     moreresult.find("p span").text(` “${input}”`)
1509     if(input.length > 2) {
1510       $(".close-search").show()
1511       const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}`
1512       $.ajax({
1513         type: 'GET',
1514         url,
1515         beforeSend: function() {
1516             // setting a timeout
1517             // $(placeholder).addClass('loading');
1518         },
1519         success: function(response) {
1520             resultsearch.show()
1521             resultrecommend.hide()
1522             result_collection.html("")
1523             result_product.html("")
1524             const collections = response.resources.results.collections
1525             const products = response.resources.results.products
1526             let collection_length = collections.length
1527             let product_length = products.length
1528             // if(collections.length > 5) {
1529             //   collection_length = 5
1530             // }
1531             // if(products.length > 5) {
1532             //   product_length = 5
1533             // }
1534             for(let i=0;i<collection_length;i++){
1535               const title = collections[i].title
1536               const url = collections[i].url
1537               let html_collection
1538               if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) {
1539                 html_collection = `
1540                 <li class="item" data-title="${title}">
1541                   <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a>
1542                 </li>
1543                 `
1544               }
1545               result_collection.append(html_collection)
1546             }
1547             for(let i=0;i<product_length;i++){
1548               const title = products[i].title
1549               const url = products[i].url
1550               const image = products[i].featured_image.url
1551               const vendor = products[i].vendor
1552               let html_product
1553               if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){
1554                 html_product = `
1555                 <li class="item" data-vendor="${vendor}">
1556                   <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}">
1557                     <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span>
1558                   </a>
1559                 </li>
1560                 `
1561               }
1562               result_product.append(html_product)
1563             }
1564         },
1565         error: function(xhr) { // if error occured
1566             alert("Error occured.please try again");
1567         },
1568         complete: function(response) {
1569             // $(placeholder).removeClass('loading');
1570         },
1571         dataType: 'JSON'
1572       });
1573     } else {
1574       result_collection.html("")
1575       result_product.html("")
1576       
1577       resultsearch.hide()
1578       resultrecommend.show()
1579     }
1580   })
1581 
1582   moreresult.click(function(){
1583     $("#search-btn").trigger("click");
1584   })
1585 
1586   $(".close-search").click(function(){
1587     $(this).hide()
1588     searchInput.val("")
1589     searchInput.focus()
1590     resultsearch.hide()
1591     resultrecommend.show()
1592   })
1593 
1594   function setCookie(name,value,days) {
1595     var expires = "";
1596     if (days) {
1597       var date = new Date();
1598       date.setTime(date.getTime() + (days*24*60*60*1000));
1599       expires = "; expires=" + date.toUTCString();
1600     }
1601     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
1602   }
1603   function getCookie(name) {
1604     var nameEQ = name + "=";
1605     var ca = document.cookie.split(';');
1606     for(var i=0;i < ca.length;i++) {
1607       var c = ca[i];
1608       while (c.charAt(0)==' ') c = c.substring(1,c.length);
1609       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
1610     }
1611     return null;
1612   }
1613   let last_search_name = []
1614   let last_search_url = []
1615   $(".group-recent").hide()
1616   if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){
1617     if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){
1618       $(".group-recent").show()
1619       last_search_name = getCookie("last_search_name");
1620       last_search_url = getCookie("last_search_url");
1621       const arrName = last_search_name.substring(1).split(',').reverse()
1622       const arrUrl = last_search_url.substring(1).split(',').reverse()
1623       console.log(arrName, 'Array Name')
1624       console.log(arrUrl, 'Array Url')
1625       let length = arrName.length
1626       if(arrName.length > 5) {
1627         length = 5
1628       }
1629       for(let n=0;n<length;n++){
1630         let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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]}">${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>`
1631         $(".group-recent ul").append(html2)
1632       }
1633     }
1634   }
1635   console.log(last_search_name, 'Name')
1636   console.log(last_search_url, 'url')
1637   
1638   resultsearch.delegate(".item a", "click", function(){
1639     let name = [last_search_name]
1640     let url = [last_search_url]
1641     name.push($(this).attr('data-title'))
1642     url.push($(this).attr('data-url'))
1643     setCookie("last_search_name",name,7);
1644     setCookie("last_search_url",url,7);
1645   })
1646   
1647   $(".delete-all-history").click(function() {
1648     setCookie("last_search_name",null,0);
1649     setCookie("last_search_url",null,0);
1650     $(".last-search").hide();
1651     setTimeout(function(){
1652       location.reload();
1653     }, 500);
1654   })
1655   
1656   $("#search-trigger").click(function(){
1657     search_open()
1658   })
1659   $(".icon-search-mobile").click(function(){
1660     search_open()
1661   })
1662   $(".search-header svg").click(function(){
1663     search_close()
1664   })
1665   $(".icon-key-mobile").click(function(){
1666     search_close()
1667   })
1668 
1669   function search_open() {
1670     $("body").addClass("search-popup-open")
1671     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide()
1672     $("#search-popup, .search-header svg, .icon-key-mobile").show()
1673     $(".search-popup").focus()
1674     $('.popup-recommend')[0].swiper.update();
1675   }
1676   function search_close() {
1677     $("body").removeClass("search-popup-open")
1678     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show()
1679     $("#search-popup, .search-header svg, .icon-key-mobile").hide()
1680     searchInput.val("")
1681     resultsearch.hide()
1682     resultrecommend.show()
1683   }
1684 
1685   $(".site-overlay").click(function(){
1686     search_close()
1687   })
1688 </script>
1688
1689 
1690 </div>
1691     </div>
1692 
1693     <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;">
1694       <main class="main-content pt-0" role="main">
1695         
1696           <div id="breadcrumbProduct" class="d-none d-lg-block">
1697             <style>
1698   #breadcrumbProduct {
1699     padding: 20px 0;
1700   }
1701   #breadcrumbProduct ul {
1702       display: flex;
1703       padding: 0;
1704       list-style: none;
1705       margin: 0;
1706       gap: 12px;
1707   }
1708   #breadcrumbProduct ul li {
1709     text-transform: uppercase;
1710     margin: 0;
1711     font-size: 12px;
1712 }
1713   #breadcrumbProduct ul li a {
1714     color: #757575;
1715   }
1716 
1717   #breadcrumbProduct ul li svg {
1718     width: 10px;
1719     height: 10px;
1720     padding: 0;
1721     color: #757575;
1722     vertical-align: middle;
1723   }
1724 </style>
1725 <div class="container" style="color: #ffd700;">
1726   <ul role="navigation" aria-label="breadcrumbs">
1727     <li><a href="https://www.walkingfishtx.com/our-team" style="color: #ffd700;">OLXTOTO</a></li>
1728     <li><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="7" height="10" viewBox="0 0 7 10" fill="none">
1729     <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"/>
1730 </svg></li>
1731       <li>TOTO MACAU</li>
1732       <li>RESULT MACAU</li>
1733       <li>DATA TOTO MACAU</li>
1734       <li>OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025</li>
1735     
1736   </ul>
1737 </div>
1738 
1739           </div>
1740         
1741 
1741<script type="application/ld+json">
1742 {
1743   "@context": "https://schema.org",
1744   "@type": "Product",
1745   "name": "OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025",
1746   "image": "https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg",
1747   "description": "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.",
1748   "brand": {
1749     "@type": "Brand",
1750     "name": "OLXTOTO"
1751   },
1752   "sku": "OLXTOTO",
1753   "mpn": "OLXTOTO",
1754   "url": "https://www.walkingfishtx.com/our-team",
1755   "offers": {
1756     "@type": "Offer",
1757     "url": "https://www.walkingfishtx.com/our-team",
1758     "priceCurrency": "USD",
1759     "price": "10.00",
1760     "priceValidUntil": "2025-12-25",
1761     "itemCondition": "https://schema.org/NewCondition",
1762     "availability": "https://schema.org/InStock",
1763     "seller": {
1764       "@type": "Organization",
1765       "name": "OLXTOTO"
1766     }
1767   },
1768   "aggregateRating": {
1769     "@type": "AggregateRating",
1770     "ratingValue": "5.0",
1771     "reviewCount": 858
1772   },
1773   "review": [
1774     {
1775       "@type": "Review",
1776       "reviewRating": {
1777         "@type": "Rating",
1778         "ratingValue": "5",
1779         "bestRating": "5"
1780       },
1781       "author": {
1782         "@type": "Person",
1783         "name": "julian"
1784       }
1785     },
1786     {
1787       "@type": "Review",
1788       "reviewRating": {
1789         "@type": "Rating",
1790         "ratingValue": "5",
1791         "bestRating": "5"
1792       },
1793       "author": {
1794         "@type": "Person",
1795         "name": "alice"
1796       }
1797     }
1798   ]
1799 }
1800 </script>
1800<script type="application/ld+json">
1801 {
1802   "@context": "https://schema.org",
1803   "@type": "BreadcrumbList",
1804   "itemListElement": [
1805     {
1806       "@type": "ListItem",
1807       "position": 1,
1808       "name": "OLXTOTO",
1809       "item": "https://www.walkingfishtx.com/our-team"
1810     },
1811     {
1812       "@type": "ListItem",
1813       "position": 2,
1814       "name": "TOTO MACAU",
1815       "item": "https://www.walkingfishtx.com/our-team"
1816     },
1817     {
1818       "@type": "ListItem",
1819       "position": 3,
1820       "name": "RESULT MACAU",
1821       "item": "https://www.walkingfishtx.com/our-team"
1822     },
1823     {
1824       "@type": "ListItem",
1825       "position": 4,
1826       "name": "MACAU POOLS",
1827       "item": "https://www.walkingfishtx.com/our-team"
1828     },
1829     {
1830       "@type": "ListItem",
1831       "position": 5,
1832       "name": "MACAU TOTO",
1833       "item": "https://www.walkingfishtx.com/our-team"
1834     },
1835     {
1836       "@type": "ListItem",
1837       "position": 6,
1838       "name": "KELUARAN MACAU",
1839       "item": "https://www.walkingfishtx.com/our-team"
1840     },
1841     {
1842       "@type": "ListItem",
1843       "position": 7,
1844       "name": "DATA TOTO MACAU",
1845       "item": "https://www.walkingfishtx.com/our-team"
1846     },
1847     {
1848       "@type": "ListItem",
1849       "position": 8,
1850       "name": "OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025",
1851       "item": "https://www.walkingfishtx.com/our-team"
1852     }
1853   ]
1854 }
1855 </script>
1855
1856
1857 <!--faq-->
1858
1859 
1859<script type="application/ld+json" id="faq-schema">
1860{
1861  "@context": "https://schema.org",
1862  "@type": "FAQPage",
1863  "mainEntity": [
1864    {
1865      "@type": "Question",
1866      "name": "1. Apa itu OLXTOTO dan fungsinya untuk Toto Macau?",
1867      "acceptedAnswer": {
1868        "@type": "Answer",
1869        "text": "OLXTOTO adalah platform penyedia data result Toto Macau Pools resmi yang menampilkan hasil pengundian secara lengkap dan terupdate. Situs ini memudahkan pengguna memantau angka keluaran dengan informasi yang jelas dan akurat."
1870      }
1871    },
1872    {
1873      "@type": "Question",
1874      "name": "2. Apakah data result Toto Macau di OLXTOTO resmi dan terpercaya?",
1875      "acceptedAnswer": {
1876        "@type": "Answer",
1877        "text": "Ya, seluruh result Macau Pools di OLXTOTO diambil dari sumber resmi terpercaya dan diperbarui secara real-time sesuai jadwal pengundian, sehingga aman dijadikan referensi."
1878      }
1879    },
1880    {
1881      "@type": "Question",
1882      "name": "3. Seberapa sering data Toto Macau diperbarui?",
1883      "acceptedAnswer": {
1884        "@type": "Answer",
1885        "text": "Data Toto Macau di OLXTOTO diperbarui setiap hari secara real-time, mulai dari hasil terbaru hingga arsip data lama, sehingga pengguna selalu mendapatkan informasi terkini tanpa keterlambatan."
1886      }
1887    },
1888    {
1889      "@type": "Question",
1890      "name": "4. Apa saja informasi yang tersedia di halaman result Macau Pools OLXTOTO?",
1891      "acceptedAnswer": {
1892        "@type": "Answer",
1893        "text": "OLXTOTO menyediakan result Macau Pools terbaru, data Toto Macau lengkap, riwayat keluaran, serta tampilan angka yang rapi agar mudah dipantau dan dipahami oleh pengguna."
1894      }
1895    },
1896    {
1897      "@type": "Question",
1898      "name": "5. Mengapa memilih OLXTOTO untuk cek data Toto Macau 2025?",
1899      "acceptedAnswer": {
1900        "@type": "Answer",
1901        "text": "OLXTOTO menawarkan data terlengkap 2025, update cepat, tampilan mudah diakses di semua perangkat, serta sistem yang stabil sehingga pengguna dapat memantau result Macau dengan nyaman kapan saja."
1902      }
1903    }
1904  ]
1905}
1906</script>
1906
1907 
1907<script type="application/ld+json">
1908 {
1909   "@context": "https://schema.org",
1910   "@type": "Organization",
1911   "name": "OLXTOTO",
1912   "url": "https://www.walkingfishtx.com/our-team",
1913   "logo": "https://imgstore.io/images/2025/10/26/logo-olxtoto.png",
1914   "sameAs": [
1915     "https://www.facebook.com/olxtoto",
1916     "https://twitter.com/olxtoto",
1917     "https://www.instagram.com/olxtoto"
1918   ],
1919   "contactPoint": {
1920     "@type": "ContactPoint",
1921     "telephone": "+62-8946-113-4615",
1922     "contactType": "customer support",
1923     "areaServed": "ID",
1924     "availableLanguage": ["Indonesian", "English"]
1925   }
1926 }
1927 </script>
1927
1928 
1929 
1929<script type="application/ld+json">
1930 {
1931   "@context": "https://schema.org",
1932   "@type": "VideoObject",
1933   "name": "OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025",
1934   "description": "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.",
1935   "thumbnailUrl": [
1936     "https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg",
1937     "https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
1938   ],
1939   "uploadDate": "2025-09-28T04:19:10-04:00",
1940   "duration": "PT168",
1941   "contentUrl": "https://www.walkingfishtx.com/our-team"
1942 }
1943 </script>
1943
1944 
1945 
1945<script type="application/ld+json">
1946 {
1947   "@context": "https://schema.org",
1948   "@type": "BreadcrumbList",
1949   "itemListElement": [
1950     {
1951       "@type": "ListItem",
1952       "position": 1,
1953       "name": "Home",
1954       "item": "https://www.walkingfishtx.com/our-team"
1955     }
1956   ]
1957 }
1958 </script>
1958
1959 
1960 
1960<script type="application/ld+json">
1961 {
1962   "@context": "https://schema.org",
1963   "@graph": [
1964     {
1965       "@type": "Organization",
1966       "@id": "https://www.walkingfishtx.com/our-team#org",
1967       "name": "OLXTOTO",
1968       "url": "https://www.walkingfishtx.com/our-team",
1969       "logo": "https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
1970     },
1971     {
1972       "@type": "WebSite",
1973       "@id": "https://www.walkingfishtx.com/our-team#website",
1974       "url": "https://www.walkingfishtx.com/our-team",
1975       "name": "OLXTOTO",
1976       "publisher": { "@id": "https://www.walkingfishtx.com/our-team#org" },
1977       "inLanguage": "id-ID",
1978       "potentialAction": {
1979         "@type": "SearchAction",
1980         "target": "https://www.walkingfishtx.com/our-team?s={search_term_string}",
1981         "query-input": "required name=search_term_string"
1982       }
1983     },
1984     {
1985       "@type": "SoftwareApplication",
1986       "@id": "https://www.walkingfishtx.com/our-team#app",
1987       "name": "OLXTOTO",
1988       "applicationCategory": "GameApplication",
1989       "operatingSystem": "Android, iOS, Windows",
1990       "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" },
1991       "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 }
1992     }
1993   ]
1994 }
1995 </script>
1995  
1996 <div id="shopify-section-Product" class="shopify-section product-section mt-0"><link href="https://ampa-hnst.b-cdn.net/global-warna.css" rel="stylesheet" type="text/css" media="all" />
1997 <style>
1998     .bg-card {
1999     background-color: #000000;
2000 }
2001     </style>
2002 
2003 <!-- /templates/product.liquid -->
2004 <!-- <div itemscope itemtype="http://schema.org/Product"> -->
2005 <div class="product-standing-flower" data-product-type="flowerBoard">
2006   <meta itemprop="url" content="https://www.walkingfishtx.com/our-team">
2007   <meta itemprop="image" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg">
2008   <input id="data-sku" type="hidden" value="OBVSTF1086">
2009   <div class="product-single" style="background-image: url(https://imgstore.io/images/2025/12/29/background-coba.jpeg); background-attachment: fixed;">
2010     <div id="product-top" class="container">
2011       <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;">
2012         <div id="product-image" class="col-lg-7 text-center">
2013           <div class="product-image">
2014             <div class="row no-gutters">
2015   <div id="product-featured-image" class="row w-100">
2016       <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block"> 
2017         <div class="swiper-container gallery-thumbs" style="min-height: 500px">
2018           <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx">
2019 
2020                   <li class="swiper-slide" data-type="image">
2021                     <a
2022                       href="files/Blossom-Shine-WM.jpg"
2023                       data-standard="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2024                       data-image="files/Blossom-Shine-WM.jpg"
2025                       data-position="1"
2026                       class="product-single__thumbnail"
2027                     >
2028                       <img
2029                         class="lazyload w-100"
2030                         src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2031                         alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025"
2032                         width=""
2033                         height=""
2034                       >
2035                     </a>
2036                   </li>
2037                   <li class="swiper-slide" data-type="image">
2038                     <a
2039                       href="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2040                       data-standard="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2041                       data-image="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2042                       data-position="2"
2043                       class="product-single__thumbnail"
2044                     >
2045                       <img
2046                         class="lazyload w-100"
2047                         src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2048                         alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025"
2049                         width=""
2050                         height=""
2051                       >
2052                     </a>
2053                   </li>
2054                   <li class="swiper-slide" data-type="image">
2055                     <a
2056                       href="files/Blossom-Shine_3-WM.jpg"
2057                       data-standard="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2058                       data-image="files/Blossom-Shine_3-WM.jpg"
2059                       data-position="3"
2060                       class="product-single__thumbnail"
2061                     >
2062                       <img
2063                         class="lazyload w-100"
2064                         src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2065                         alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025"
2066                         width=""
2067                         height=""
2068                       >
2069                     </a>
2070                   </li>
2071                   <li class="swiper-slide" data-type="image">
2072                     <a
2073                       href="files/Blossom-Shine_4.jpg"
2074                       data-standard="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2075                       data-image="files/Blossom-Shine_4.jpg"
2076                       data-position="4"
2077                       class="product-single__thumbnail"
2078                     >
2079                       <img
2080                         class="lazyload w-100"
2081                         src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2082                         alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025"
2083                         width=""
2084                         height=""
2085                       >
2086                     </a>
2087                   </li>
2088           </ul>
2089         </div>
2090       </div>
2091     <div
2092       id="featured-image-product"
2093       class="col-lg-10 col-12 d-none d-lg-block"
2094     >
2095       <div class="swiper-container gallery-top">
2096         <div class="swiper-slide product-single__image">
2097           
2098 <div class="product-single__photos slider slider-for" id="ProductPhoto">
2099   <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails">
2100     <a href="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg">
2101       <img
2102         src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2103         alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025"
2104         id="ProductPhotoImg"
2105         class="lazyload"
2106       >
2107       
2108     </a>
2109   </div>
2110 </div>
2111 
2112         </div>
2113         <div class="swiper-slide product-single__video" style="display: none">
2114           <video
2115             src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4"
2116             playsinline
2117             loop
2118             muted
2119           ></video>
2120         </div>
2121       </div>
2122     </div>
2123   </div>
2124 
2125   <div id="featured-image-product2" class="col-12 d-lg-none">
2126     <div class="swiper-container gallery-mobile">
2127       <ul class="swiper-wrapper">
2128 <li class="swiper-slide img">
2129               
2130                 <img
2131                   class="swiper-lazy"
2132                   src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2133                   data-src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2134                   alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025"
2135                   width=""
2136                   height=""
2137                 >
2138               
2139             </li>
2140           
2141         
2142 <li class="swiper-slide img">
2143               
2144                 <img
2145                   class="swiper-lazy"
2146                   src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2147                   data-src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2148                   alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025"
2149                   width=""
2150                   height=""
2151                 >
2152               
2153             </li>
2154           
2155         
2156 <li class="swiper-slide img">
2157               
2158                 <img
2159                   class="swiper-lazy"
2160                   src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2161                   data-src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2162                   alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025"
2163                   width=""
2164                   height=""
2165                 >
2166               
2167             </li>
2168           
2169         
2170 <li class="swiper-slide img">
2171               
2172                 <img
2173                   class="swiper-lazy"
2174                   src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2175                   data-src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"
2176                   alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025"
2177                   width=""
2178                   height=""
2179                 >
2180               
2181             </li>
2182           
2183         
2184       </ul>
2185       
2186         <div class="swiper-button-prev">
2186<svg class="icon icon-chevron-left" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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>
2187         <div class="swiper-button-next"><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="7" height="10" viewBox="0 0 7 10" fill="none">
2188     <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"/>
2189 </svg></div>
2190 
2191         <!-- Add Pagination -->
2192         <div class="swiper-pagination"></div>
2193       
2194     </div>
2195   </div>
2196 
2197   <div class="product-m-pageleb-video col-12 text-center d-lg-none">
2198     <!-- product video -->
2199     <style>
2200       .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;}
2201       .view-video .icon-play{fill:#ffffff;vertical-align: middle;}
2202       .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;}
2203       .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;}
2204       .close-video .icon{width:30px;height:30px;}
2205       /*responsive iframe */
2206       .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);}
2207       .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;}
2208 
2209       .youtube {
2210         background-color: #000;
2211         margin-bottom: 30px;
2212         position: relative;
2213         padding-top: 56.25%;
2214         overflow: hidden;
2215         cursor: pointer;
2216         width: 100%;
2217       }
2218       .swiper-slide .youtube {
2219         max-width: 480px;
2220       }
2221       .youtube img {
2222         width: 100%;
2223         top: -16.82%;
2224         left: 0;
2225         opacity: 0.7;
2226       }
2227       .youtube .play-button {
2228         width: 90px;
2229         height: 60px;
2230         background-color: #333;
2231         box-shadow: 0 0 30px rgba( 0,0,0,0.6 );
2232         z-index: 1;
2233         opacity: 0.8;
2234         border-radius: 6px;
2235       }
2236       .youtube .play-button:before {
2237         content: "";
2238         border-style: solid;
2239         border-width: 15px 0 15px 26.0px;
2240         border-color: transparent transparent transparent #fff;
2241       }
2242       .youtube img,
2243       .youtube .play-button {
2244         cursor: pointer;
2245       }
2246       .youtube img,
2247       .youtube iframe,
2248       .youtube .play-button,
2249       .youtube .play-button:before {
2250         position: absolute;
2251       }
2252       .youtube .play-button,
2253       .youtube .play-button:before {
2254         top: 50%;
2255         left: 50%;
2256         transform: translate3d( -50%, -50%, 0 );
2257       }
2258       .youtube iframe {
2259         height: 100%;
2260         width: 100%;
2261         top: 0;
2262         left: 0;
2263       }
2264     </style>
2265 
2266     
2267   </div>
2268 </div>
2269 
2270 <div class="product-desc-add position-relative d-none d-lg-block m-0">
2271 
2272 </div>
2273 
2274 
2274<script>
2275   if ($(window).width() < 991) {
2276     var direction = 'horizontal'
2277   } else {
2278     var direction = 'vertical'
2279     $(".gallery-thumbs").height($("#ProductPhotoImg").height())
2280   }
2281   var swiper = new Swiper('.gallery-thumbs', {
2282     
2283     direction,
2284     slidesPerView: 4.5,
2285     spaceBetween: 12,
2286     navigation: {
2287       nextEl: '.swiper-button-next',
2288       prevEl: '.swiper-button-prev',
2289     }
2290   });
2291   
2292   var swiper = new Swiper('.gallery-mobile', {
2293     //loop: true,
2294     lazy: true,
2295     speed: 300,
2296     resistance : true,
2297     resistanceRatio : 0,
2298     freeModeMomentumRatio : 0.45,
2299     freeModeMomentumVelocityRatio : 1.5,
2300     navigation: {
2301       nextEl: '.swiper-button-next',
2302       prevEl: '.swiper-button-prev',
2303     },
2304     pagination: {
2305       el: '.swiper-pagination'
2306     },
2307     useCSS3Transforms: false,
2308     loop: false,
2309     on: {
2310       init: function () {
2311         console.log('swiper initialized');
2312         var currentVideo =  $("[data-swiper-slide-index=" + this.realIndex + "]").find("video");
2313         currentVideo.trigger('play');
2314       },
2315     },
2316   });
2317 
2318   /* GET ALL VIDEOS */
2319   var sliderVideos = $(".swiper-slide video");
2320   
2321   /* SWIPER API - Event will be fired after animation to other slide (next or previous) */
2322   swiper.on('slideChange', function () {
2323     console.log('slide changed');
2324     /* stop all videos  */
2325     sliderVideos.each(function( index ) {
2326       this.currentTime = 0;
2327     });
2328   
2329     /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */
2330     var prevVideo =  $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video");
2331     var currentVideo =  $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video");
2332     prevVideo.trigger('stop');
2333     currentVideo.trigger('play');
2334   });
2335   
2336 
2337   $("[data-video]").click(function(){
2338     const file = $(this).data("video")
2339     $(".product-single__video").show()
2340     $(".product-single__image").hide()
2341     $(".product-single__video").find("video").attr("src", file)
2342     $(".product-single__video").find("video")[0].play();
2343   })
2344   $("[data-image]").click(function(){
2345     $(".product-single__video").hide()
2346     $(".product-single__image").show()
2347     $(".product-single__video").find("video")[0].pause();
2348   })
2349 
2350   $("#product-image .swiper-slide").each(function(){
2351     let width = $(this).width()
2352     $(this).height(width)
2353   })
2354 
2355   $(window).resize(function() {
2356     $("#product-image .swiper-slide").each(function(){
2357       let width = $(this).width()
2358       $(this).height(width)
2359     })
2360   })
2361 </script>
2361
2362 
2363    </div>
2364     <div class="grid__item_product-info mb-3">
2365       <div class="c-pdp-product-info">
2366         <ul class="c-pdp-product-info__service c-pdp-product-info__service--active">
2367        <!-- artikel -->
2368             <p><a href="https://www.walkingfishtx.com/our-team" title="Olxtoto" style="color: rgb(255, 215, 0);">OLXTOTO</a> hadir sebagai platform terpercaya yang menyediakan data result Toto Macau Pools resmi dengan update terbaru tahun 2025. Seluruh hasil pengundian disajikan secara real-time, akurat, dan mengikuti jadwal resmi sehingga memudahkan pengguna untuk memantau angka keluaran tanpa khawatir keterlambatan informasi. Dengan sistem yang stabil, OLXTOTO menjadi rujukan utama untuk melihat result Macau secara konsisten.</p>
2369            <p>Sebagai penyedia <a href="https://www.walkingfishtx.com/our-team" title="Data Toto Macau" style="color: rgb(255, 215, 0);">Data Toto Macau</a> terlengkap, OLXTOTO menampilkan hasil keluaran harian yang tersusun rapi dan mudah dibaca. Pengguna dapat mengakses Macau Pools result terbaru maupun arsip data sebelumnya untuk melihat riwayat angka dengan jelas. Semua informasi diambil dari sumber resmi terpercaya sehingga dapat digunakan sebagai referensi yang akurat dan aman.</p>
2370            <p>Selain kelengkapan data, OLXTOTO juga mengutamakan kenyamanan akses bagi pengguna. Tampilan situs responsif dan dapat dibuka melalui berbagai perangkat, baik desktop maupun mobile. Dengan update cepat, data akurat, serta sistem yang stabil, OLXTOTO menjadi solusi tepat untuk memantau data <a href="https://www.walkingfishtx.com/our-team" title="result Macau" style="color: rgb(255, 215, 0);">result Macau</a> 2025 secara mudah dan terpercaya kapan saja.</p> 
2371         </ul>
2372       </div>
2373     </div>
2374 <style>
2375   .c-pdp-product-info__service--active {
2376     font-size: 12px;
2377     padding-left: 10px;
2378     text-align: left;
2379     max-width: 550px;
2380     margin: auto;
2381     color: #fff;
2382   }
2383   .c-pdp-product-info__service--active li {
2384     list-style: disc;
2385   }
2386   .c-pdp-product-info {
2387     background-color: #000000;
2388     padding: 12px;
2389     margin: 0;
2390   }
2391   .freeship em {
2392     font-style: italic;
2393     font-size: 12px !important;
2394   }
2395 
2396 </style>
2397 
2397<script>
2398   $(document).ready(function(){
2399     if ( $(".c-pdp-product-info__service li").length == 1 ) {
2400       $(".c-pdp-product-info__service").addClass("no-bullet");
2401       $(".c-pdp-product-info__service li").addClass("no-bullets");
2402     }
2403   });
2404 </script>
2404   
2405         </div>
2406         <div id="product-meta" class="col-lg-5 p-0">
2407           <div class="product-meta">
2408             <style>
2409   .product-meta--review {margin-top:10px}
2410   .freeship * {font-size: 14px !important;font-style: normal;}
2411 </style>
2412 <h1 itemprop="name" class="mb-2" style="color: rgb(255, 230, 0); font-weight: bold;">OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025</h1>
2413 
2414 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
2415   <meta itemprop="priceCurrency" content="IDR">
2416 
2417   <link itemprop="availability" href="https://schema.org/InStock">
2418   
2418<script
2419     type="text/javascript"
2420     src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons"
2421     async="async"
2422   ></script>
2422
2423   <span class="visually-hidden">Translation missing: en.products.general.regular_price</span>
2424   
2425     <span class="visually-hidden">Translation missing: en.products.general.sale_price</span>
2426   
2427   <div class="row no-gutters mb-3">
2428     <span
2429       id="ProductPrice"
2430       class="h2 ProductPrice"
2431       itemprop="price"
2432       content="835000" style="color: #ffffff;"
2433     >
2434       Rp 10.000
2435     </span>
2436     <div class="discount-product-detail">
2437       <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0">
2438         Rp 100.000
2439       </p>
2440       <span class=" tag-discount">
2441         
2442           
2443           <span id="newDiscount" class="product-tag persentase-discount hide"> 
2444       (90%)
2445       </span><br>
2446         
2447       </span>
2448     </div>
2449   </div>
2450 
2451   <div class="row no-gutters meta-sds">
2452     <div class="col-12 mb-2 mb-lg-0 stock-info">
2453       
2454       
2455       <span
2456         id="ProductStock-Product"
2457         class="product-single__stock mb-2 hide"
2458       >
2459         
2460           
2461             
2462               
2463               Barang dikirim pada 
2464             
2465       </span>
2466 
2467       <style>
2468     .short-desc-desktop {
2469         margin-bottom: 2rem;
2470         color: white;
2471     }
2472     .short-desc ul li:nth-child(n + 4) {
2473         display: none;
2474     }
2475     .short-desc ul li.showList:nth-child(n + 4) {
2476         display: list-item;
2477     }
2478     label.more {
2479         display: none;
2480     }
2481     label.more.showMe {
2482         display: block;
2483         font-size: 12px;
2484         text-transform: uppercase;
2485         font-weight: 700;
2486         cursor: pointer;
2487     }
2488 </style>
2489 
2490     <div class="short-desc-desktop d-none d-lg-block">
2491         <div class="short-desc">
2492            
2493 <p>OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.</p>
2494         </div>
2495         <label class="more">Show More →</label>
2496     </div><br>
2497 
2498 
2498<script>
2499     var liCount;
2500     $(document).ready(function () {
2501         $(".short-desc ul").each(function() {
2502             liCount = $(this).children("li").length;
2503             if (liCount > 3) {
2504                 $(this).parent(".short-desc").next(".more").addClass("showMe");
2505             }
2506         });
2507 
2508         $(".more").click(function () {
2509             //$(".short-desc").find("li").addClass("showList");
2510             // $(this).hide();
2511             $("#product-desc").find("ul").show()
2512             $('html, body').animate({
2513                 scrollTop: $("#product-desc").offset().top - 250
2514             }, 2000);
2515             $("#product-desc").css("height","auto");
2516             $("#more_content").remove();
2517             $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>")
2518         });
2519     });
2520 </script>
2520
2521     
2522     </div>
2523   </div>
2524 
2525   <div id="purchaseProduct">
2526 <style>
2527   .variant-metafield {
2528     display: block!important;
2529     width: 1px;
2530     padding: 0;
2531     border-color: #fff;
2532   }
2533   .select2-results__option[aria-disabled] {
2534     display: none;
2535   }
2536 
2537   .towel-bordir {
2538     width: 100%;
2539     display: flex;
2540     align-items: center;
2541     justify-content: space-around;
2542   }
2543 </style>
2544 
2545 </script>
2545
2546 <select
2547   name="id[]"
2548   id="productSelect"
2549   class="product-single__variants ignore hide hide"
2550 >
2551       <option
2552         
2553           selected="selected"
2554         
2555         data-sku="OBVSTF1086"
2556         value="44083045826775"
2557       >
2558         Default Title
2559       </option> 
2560 </select>
2561 
2561<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2561
2562 
2562<script>
2563   $('.size-chart-open-popup').magnificPopup({
2564     type:'inline',
2565     midClick: true
2566   });
2567 </script>
2567
2568   <div class="upload-image-preview">
2569     <style>
2570   .file-dnd * {
2571     margin: 0;
2572     padding: 0;
2573     box-sizing: border-box;
2574   }
2575   .file-dnd {
2576     width: 100%;
2577     height: 250px;
2578     border: 1px solid #ddd;
2579     border-radius: 10px;
2580     padding: 15px;
2581     display: flex;
2582     flex-direction: column;
2583     gap: 10px;
2584     /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */
2585     margin: auto;
2586   }
2587   .file-dnd input {
2588     display: none;
2589   }
2590   .file-dnd .before-upload {
2591     border: 1px dashed #888;
2592     flex: 1;
2593     border-radius: 5px;
2594     display: flex;
2595     justify-content: center;
2596     align-items: center;
2597     text-align: center;
2598     cursor: pointer;
2599   }
2600   .file-dnd .before-upload > div {
2601     display: flex;
2602     flex-direction: column;
2603     align-items: center;
2604     gap: 8px;
2605   }
2606   .file-dnd .before-upload > div h4 {
2607     width: 150px;
2608   }
2609   .file-dnd .before-upload > div p {
2610     font-size: 12px !important;
2611     color: #555;
2612   }
2613   .file-dnd.active .before-upload {
2614     border: 1px solid #5750d9;
2615     background-color: #f5f5ff;
2616   }
2617   .file-dnd .after-upload {
2618     position: relative;
2619     display: none;
2620   }
2621   .file-dnd .after-upload img {
2622     width: 100%;
2623     border-radius: 5px;
2624     max-height: 180px;
2625     object-fit: contain;
2626     display: block;
2627   }
2628   .file-dnd .after-upload .clear-btn {
2629     position: absolute;
2630     top: 10px;
2631     right: 10px;
2632     background: rgba(0, 0, 0, 0.5);
2633     width: 15px;
2634     height: 15px;
2635     text-align: center;
2636     line-height: 15px;
2637     border-radius: 50%;
2638     color: #fff;
2639     cursor: pointer;
2640     font-size: 14px;
2641   }
2642 </style>
2643 
2644 <div
2645   class="file-dnd mb-3"
2646   
2647     style="display: none"
2648   
2649 >
2650   <label for="upload-photo">Upload your Photo:</label>
2651   <input type="file" id="upload-photo" accept="image/*">
2652   <input type="hidden" data-properties="Photo">
2653   <div class="before-upload">
2654     <div>
2655       <svg id="surface1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="33.053" height="41.719" viewBox="0 0 33.053 41.719">
2656   <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>
2657   <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>
2658   <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>
2659 </svg>
2660 
2661       <h4>Drag & Drop Photo file or Browse</h4>
2662       <p>Supports: JPEG, PNG, GIF, TIFF</p>
2663     </div>
2664   </div>
2665   <div class="after-upload">
2666     <div class="clear-btn">&times;</div>
2667     <img src="" width="" height="">
2668   </div>
2669 </div>
2670 
2670<script>
2671   function applyDndFile(el) {
2672     const parent = document.querySelector(".file-dnd")
2673     const beforeUploadEl = el.querySelector(".before-upload")
2674     const afterUploadEl = el.querySelector(".after-upload")
2675     const inputFile = el.querySelector("input[type=file]")
2676     const imagePreview = el.querySelector(".after-upload img")
2677     const clearBtn = el.querySelector(".after-upload .clear-btn")
2678     const inputProps = parent.querySelector("[data-properties]");
2679 
2680     async function upload(name, uri, type) {
2681       try {
2682         const filename = name.split('.')[0]
2683         let formData = new FormData(); 
2684         formData.append("file", uri);
2685         const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, {
2686           method: "POST", 
2687           body: formData
2688         })
2689         if(response) {
2690           const res = await response.json()
2691           return res
2692         }
2693       } catch(err){
2694         console.log(err)
2695       }
2696     }
2697 
2698     function showImagePreview(img) {
2699       if(img){
2700         const blobUrl = URL.createObjectURL(img)
2701         imagePreview.src = blobUrl
2702         afterUploadEl.style.display = "block"
2703         beforeUploadEl.style.display = "none"
2704       }
2705     }
2706 
2707     beforeUploadEl.addEventListener("click", (e) => {
2708       e.preventDefault()
2709       inputFile.click()
2710     })
2711 
2712     inputFile.addEventListener("change", async (e) => {
2713       e.preventDefault()
2714       showImagePreview(e.target.files[0])
2715       var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type)
2716       inputProps.value = uploadData?.url
2717     })
2718 
2719     clearBtn.addEventListener("click", (e) => {
2720       afterUploadEl.style.display = "none"
2721       beforeUploadEl.style.display = "flex"
2722       inputProps.value = ""
2723     })
2724 
2725     beforeUploadEl.addEventListener("dragover", (e) => {
2726       e.preventDefault()
2727       el.classList.add("active")
2728     })
2729 
2730     beforeUploadEl.addEventListener("dragleave", (e) => {
2731       e.preventDefault()
2732       el.classList.remove("active")
2733     })
2734 
2735     beforeUploadEl.addEventListener("drop", async (e) => {
2736       e.preventDefault()
2737       el.classList.remove("active")
2738       showImagePreview(e.dataTransfer.files[0])
2739       var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type)
2740       console.log(uploadData)
2741       inputProps.value = uploadData?.url
2742     })
2743   }
2744 
2745   applyDndFile(document.querySelector(".file-dnd"))
2746 
2747   $(document).ready(function(){
2748     $(".variant-swatch").change(function(){
2749       const v = $(this).val().toLowerCase()
2750       const list = ["photo", "custom one side", "custom two side", "small", "big"]
2751       if(list.some(item => v.includes(item))) return $(".file-dnd").show()
2752       $(".file-dnd").hide()
2753       $(".file-dnd").find("[data-properties]").val("")
2754       $(".after-upload").hide()
2755       $(".before-upload").css("display", "flex")
2756     })
2757   })
2758 </script>
2758
2759   </div>
2760     <div class="delivery-city mb-4">
2761         <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html">
2762        <center><img src="https://imgstore.io/images/2025/04/24/klik-disini-sekarang-gif.gif" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br>
2763   <h4 class="fw-600 text-uppercase mb-15" style="color: rgb(236, 236, 67);">SEKARANG WAKTUNYA LOGIN DAN BERMAIN DI OLXTOTO!</h4>
2764   <div class="row justify-content-between m-0">
2765     <select id="cities" class="form-control select-search" required>
2766       <option value="">Gabung dan dapatkan bonus deposit juga new member hanya di OLXTOTO</option>
2767     </select>
2768   </div>
2769 </div>
2770 
2771 <style>
2772   @media (max-width: 768px) {
2773     .select2-search__field {
2774       pointer-events: none !important;
2775     }
2776     
2777     .select2-search {
2778       display: none !important;
2779     }
2780   }
2781 </style>
2782 
2783 
2783<script>
2784   $(document).ready(function() {
2785     // Check if mobile
2786     if (window.innerWidth <= 768) {
2787       // When cities select2 opens on mobile, remove focus from search
2788       $('#cities').on('select2:open', function() {
2789         setTimeout(function() {
2790           $('.select2-search__field').blur();
2791           $('.select2-search__field').prop('readonly', true);
2792         }, 100);
2793       });
2794     }
2795   });
2796 </script>
2796
2797 
2798  <style>
2799 .icon-img-footer {
2800     width: 80px; 
2801     padding: 0px 5px;
2802 }
2803 @media (min-width: 768px) {
2804     .icon-img-footer {
2805         width: 120px; 
2806     }
2807 }
2808 @media (min-width: 992px) {
2809     .icon-img-footer {
2810         width: 120px; 
2811     }
2812 }
2813 /* HEADER */
2814    .h0n-info-header {
2815      text-align: center;
2816      padding: 16px 12px;
2817      font-weight: 700;
2818      letter-spacing: 0.12em;
2819      text-transform: uppercase;
2820      background: linear-gradient(to right, #000, #000);
2821      color: #ffd700;
2822    }
2823
2824    /* ===== LIST TESTIMONI ===== */
2825    .h0n-testimoni-list {
2826      width: 100%;
2827      padding: 14px 16px 20px;
2828      display: flex;
2829      flex-direction: column;
2830      gap: 14px;
2831    }
2832
2833    /* ITEM TESTIMONI */
2834    .h0n-testimoni-item {
2835      padding: 12px 16px 14px;
2836      border-left: 3px solid #ffd700;
2837      background: rgba(0, 0, 0, 0.72);
2838      border-radius: 10px;
2839      position: relative;
2840      overflow: hidden;
2841      transform: translateY(14px);
2842      opacity: 0;
2843      animation: h0n-testi-in 650ms ease-out forwards;
2844    }
2845
2846    /* Background alternasi */
2847    .h0n-testimoni-item:nth-child(odd) {
2848      background: rgba(0, 0, 0, 0.82);
2849    }
2850
2851    /* Delay animasi */
2852    .h0n-testimoni-item:nth-child(1) { animation-delay: 150ms; }
2853    .h0n-testimoni-item:nth-child(2) { animation-delay: 300ms; }
2854    .h0n-testimoni-item:nth-child(3) { animation-delay: 450ms; }
2855
2856    /* Glow biru */
2857    .h0n-testimoni-item::before {
2858      content: "";
2859      position: absolute;
2860      inset: -40%;
2861      background: radial-gradient(circle at top left,
2862        rgba(220, 29, 29, 0.2),
2863        transparent 60%
2864      );
2865      opacity: 0;
2866      animation: h0n-glow 4s ease-in-out infinite;
2867      pointer-events: none;
2868    }
2869
2870    /* HOVER */
2871    .h0n-testimoni-item:hover {
2872      transform: translateY(6px) scale(1.015);
2873      box-shadow: 0 0 18px rgba(220, 29, 29, 0.45);
2874    }
2875
2876    /* TEXT */
2877    .h0n-testimoni-name {
2878      font-weight: 700;
2879      letter-spacing: 0.04em;
2880      margin-bottom: 2px;
2881      color: #f0ef23;
2882    }
2883
2884    .h0n-testimoni-meta {
2885      font-size: 11px;
2886      opacity: 0.9;
2887      margin-bottom: 6px;
2888    }
2889
2890    .h0n-testimoni-text {
2891      font-size: 12px;
2892      line-height: 1.5;
2893      color: #e8e8e8;
2894    }
2895
2896    /* ===== ANIMASI ===== */
2897    @keyframes h0n-card-fade {
2898      from { opacity: 0; transform: translateY(10px); }
2899      to   { opacity: 1; transform: translateY(0); }
2900    }
2901
2902    @keyframes h0n-testi-in {
2903      0% { opacity: 0; transform: translateY(18px); }
2904      100% { opacity: 1; transform: translateY(0); }
2905    }
2906
2907    @keyframes h0n-glow {
2908      0%   { opacity: 0; transform: translateX(-10px); }
2909      50%  { opacity: 0.55; transform: translateX(10px); }
2910      100% { opacity: 0; transform: translateX(30px); }
2911    }
2912
2913    /* ===== RESPONSIVE ===== */
2914    @media (max-width: 768px) {
2915      .h0n-testimoni-list {
2916        padding: 12px 12px 16px;
2917      }
2918
2919      .h0n-testimoni-item {
2920        padding: 10px 12px 12px;
2921      }
2922    }
2923 
2924 </style>
2925   <div id="row-delivery-date" class="row m-0 mb-3">
2926     <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="color: rgb(236, 236, 67);">Ciptakan Kemenanganmu Dengan Atur Tanggal Bermain Toto Macau</h4>
2927     <div id="deliveryDate" class="m-0"></div>
2928     <div id="deliveryDateFull">
2929       <div class="">
2930         <input
2931           type="text"
2932           id="full-date"
2933           class="date-full calendarbutton btn steps-btn btn-date-time mb-0"
2934           value="Full Calendar"
2935         >
2936         <label for="full-date"><svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="32" height="32" viewBox="0 0 32 32">
2937 <title>icon-arrow-right</title>
2938 <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>
2939 </svg></label>
2940       </div>
2941       <button class="btnChangeDeliveryDate hide">Change Delivery Date</button>
2942     </div>
2943     <div class="form-group p-0">
2944       <input type="text" id="propDeliveryDate" required class="hide">
2945     </div>
2946   </div>
2947   
2948   
2949     <div id="row-delivery-time" class="row m-0 mb-3">
2950       <h4 class="text-center fw-600 text-uppercase col-12 mb-15">
2951     SEO Student 
2952 </h4>
2953       <div id="deliveryTime" class="d-flex w-100 m-0"></div>
2954       <div class="form-group p-0">
2955         <input type="text" id="propDeliveryTime" class="hide" required>
2956       </div>
2957     </div>
2958   <div id="personalizeBtn">
2959
2960     <button
2961       class="btn text-uppercase w-100 fw-400" 
2962       
2963     >
2964       
2965         customize your flower board
2966       
2967     </button>
2968     <div class="button-share-wishlist d-flex justify-content-around mt-3">
2969       <div class="button-share text-center">
2970         <p id="shareButton" class="d-flex gap-2"><span>OLXTOTO</span><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="15" height="13" viewBox="0 0 15 13" fill="none">
2971   <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"/>
2972 </svg>
2973 </p>
2974       </div>
2975       <div class="button-wishlist text-center">
2976         <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="16" height="15" viewBox="0 0 16 15" fill="none">
2977   <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"/>
2978 </svg>
2979 <!--
2980   <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="34" height="30" viewBox="0 0 34 30" fill="none">
2981   <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"/>
2982   </svg>
2983 -->
2984 </p>
2985 
2986       </div>
2987     </div>
2988   </div>
2989 </div>
2990 <div class="purchasePopup purchasePopupSpotify" style="display: none;">
2991   <div class="purchaseArea">
2992     <div class="sectionPurchase sectionPurchaseSpotify">
2993       <div class="wrapperPurchase">
2994         <div class="headerPurchase">
2995           <h3>personalize spotify photo print</h3>
2996           <a class="close-purchase-popup">
2997             <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
2998               <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>
2999             </svg>
3000           </a>
3001         </div>
3002         <div class="contentPurchase">
3003           <div class="spotifyAddons"></div>
3004         </div>
3005 
3006         <div class="purchase-button btn-addon row m-0" style="display: none;">
3007           <div class="col-12 col-lg-2 text-left mb-2 p-0">
3008             <button class="back-purchase-button back-addon text-uppercase">
3009               <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://img
3009store.io/images/2025/10/26/logo-olxtoto.png">
3010                 <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>
3011               </svg>
3012               <span>Back</span>
3013             </button>
3014           </div>
3015           <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;">
3016             <button class="btn next-purchase-button next-addon text-uppercase">
3017               <span>continue without add-ons</span>
3018             </button>
3019           </div>
3020         </div>
3021       </div>
3022     </div>
3023   </div>
3024 </div>
3025 <br>
3026 <div class="h0n-info-card h0n-testimoni-section">
3027      <h2 class="h0n-info-header">
3028        Testimoni Pemain OLXTOTO
3029      </h2>
3030
3031      <div class="h0n-testimoni-list">
3032        <!-- Testimoni 1 -->
3033        <div class="h0n-testimoni-item">
3034          <div class="h0n-testimoni-name">Danu Nainggolan – Medan</div>
3035          <div class="h0n-testimoni-meta">
3036            ★★★★★ • Bergabung ± 2 tahun
3037          </div>
3038          <div class="h0n-testimoni-text">
3039            “OLXTOTO jadi andalan saya untuk cek result Toto Macau. Update-nya selalu cepat dan real-time, datanya rapi, dan sangat mudah dipahami setiap hari.”
3040          </div>
3041        </div>
3042
3043        <!-- Testimoni 2 -->
3044        <div class="h0n-testimoni-item">
3045          <div class="h0n-testimoni-name">Kristop Sanjaya – Jakarta</div>
3046          <div class="h0n-testimoni-meta">
3047            ★★★★☆ • Pengguna aktif
3048          </div>
3049          <div class="h0n-testimoni-text">
3050            “Saya pilih OLXTOTO karena data Macau Pools yang ditampilkan lengkap dan jelas. Hasilnya diambil dari sumber resmi, jadi lebih percaya untuk dijadikan referensi.”
3051          </div>
3052        </div>
3053
3054        <!-- Testimoni 3 -->
3055        <div class="h0n-testimoni-item">
3056          <div class="h0n-testimoni-name">Liu Kang – Bali</div>
3057          <div class="h0n-testimoni-meta">
3058            ★★★★★ • Rutin login
3059          </div>
3060          <div class="h0n-testimoni-text">
3061            “Akses OLXTOTO selalu lancar baik lewat HP maupun desktop. Buat pantau data Toto Macau terbaru tanpa gangguan, situs ini menurut saya paling praktis”
3062          </div>
3063        </div>
3064      </div>
3065    </div>
3066 <style>
3067   #PBarNextFrameWrapper {
3068     display: none;
3069   }
3070   #backgroundPopup {
3071     display: none;
3072     position: fixed;
3073     _position: absolute;
3074     height: 100%;
3075     width: 100%;
3076     top: 0;
3077     left: 0;
3078     background: rgb(117 117 117 / 24%);
3079     z-index: 1;
3080   }
3081   .sectionPurchase {
3082     height: 100%;
3083     position: relative;
3084     max-width: 1344px;
3085     background-color: #fff;
3086     padding: 0;
3087     overflow: hidden; /* Changed from auto to hidden */
3088     display: flex;
3089     flex-direction: column;
3090   }
3091   .sectionPurchase.purchaseAddonSpotify {
3092     max-width: 1070px!important;
3093     max-height: 765px!important;
3094   }
3095   .sectionPurchaseBoard {
3096     max-width: 872px!important;
3097     max-height: 821px!important;
3098   }
3099   .purchaseAddonSpotify .btn-action {
3100     position: absolute;
3101     bottom: 0;
3102     left: 0;
3103     width: 100%;
3104     display: flex;
3105     gap: 10px;
3106   }
3107   .wrapperPurchase {
3108     position: relative;
3109     height: 100%;
3110     display: flex;
3111     flex-direction: column;
3112   }
3113   
3114   /* New styles for scrollable content and sticky button */
3115   .purchase-content {
3116     flex: 1;
3117     overflow-y: auto;
3118     overflow-x: hidden;
3119     padding: 20px;
3120   }
3121   
3122   .purchase-button-wrapper {
3123     position: sticky;
3124     bottom: 0;
3125     background-color: #fff;
3126     border-top: 1px solid #e0e0e0;
3127     padding: 15px 0;
3128     margin-top: auto;
3129     z-index: 10;
3130   }
3131   
3132   .purchasePopup {
3133     display: none;
3134     position: fixed;
3135     background: rgb(117 117 117 / 24%);
3136     z-index: 999;
3137     padding: 40px;
3138     font-size: 13px;
3139     top: 0;
3140     left: 0;
3141     width: 100%;
3142     height: 100%;
3143   }
3144   .popupPurchaseClose{
3145     font-size:14px;
3146     line-height:14px;
3147     right:45px;
3148     top:45px;
3149     position:absolute;
3150     color:#6fa5fd;
3151     font-weight:700;
3152     display:block;
3153     cursor: pointer;
3154   }
3155 
3156   .headerPurchase {
3157     margin-bottom: 30px;
3158     display: flex;
3159     justify-content: space-between;
3160   }
3161 
3162   .headerPurchase h3 {
3163     font-size: 16px;
3164     text-transform: uppercase;
3165   }
3166 
3167   .sectionPurchaseBoard .headerPurchase {
3168     margin-bottom: 15px;
3169   }
3170 
3171   .sectionPurchaseBoard .formAddressPurchase {
3172     padding-top: 0;
3173   }
3174 
3175   .purchaseArea {
3176     position: relative;
3177     height: 100%;
3178   }
3179 
3180   .purchaseArea h4 {
3181     width: 100%;
3182     font-size: 12px;
3183     font-weight: 600;
3184     margin-bottom: 10px;
3185     text-transform: uppercase;
3186   }
3187 
3188   .menuPurchase {
3189     margin-bottom: 30px;
3190   }
3191 
3192   .menuPurchase ul {
3193     list-style-type: none;
3194     margin: 0;
3195   }
3196 
3197   .menuPurchase ul li {
3198     display: inline-block;
3199     border: 1px solid #ffffff;
3200     padding: 5px 20px;
3201     margin-right: 5px;
3202     margin-bottom: 10px;
3203     font-size: 12px;
3204     font-weight: 400;
3205   }
3206 
3207   .menuPurchase ul li:hover, .menuPurchase ul li.selected {
3208     background-color: #ffffff;
3209     color: #ffffff;
3210   }
3211 
3212   .contentPurchase h5 {
3213       font-size: 12px;
3214       margin-bottom: 10px;
3215       font-weight: 400;
3216       overflow: hidden;
3217   }
3218 
3219   /* Card */
3220 
3221   #itemCards {
3222     max-height: 430px;
3223     overflow: auto;
3224   }
3225 
3226   .item-cards {
3227       width: 100%;
3228   }
3229   .item-card.selected {
3230       border: 1px solid #ffffff;
3231   }
3232   .item-card:hover {
3233       border: 1px solid #C4C4C4;
3234   }
3235   .item-cards .item-card {
3236     position: relative;
3237     width: calc(33% - 10px);
3238     max-width: calc(33% - 10px);
3239     flex: 0 0 calc(33% - 10px);
3240     margin-bottom: 20px;
3241   }
3242   .item-cards .item-card label,
3243   .item-addons .item-addon label {
3244       position: absolute;
3245       left: 0;
3246       width: 100%;
3247       height: 100%;
3248   }
3249   .item-cards .item-card .card-image img,
3250   .item-addons .item-addon .card-image img {
3251       display: block;
3252       width: 100%;
3253   }
3254   .item-card .card-meta,
3255   .item-addon .card-meta {
3256       padding: 10px 5px 5px;
3257   }
3258   .item-card.selected .card-meta,
3259   .item-addon.selected .card-meta,
3260   .item-card.selected .card-qty {
3261       background-color: #ffffff;
3262       color: #fff;
3263       visibility: visible!important;
3264   }
3265   .item-card:hover .card-meta,
3266   .item-addon:hover .card-meta,
3267   .item-card:hover .card-qty {
3268       background-color: #C4C4C4;
3269       color: #fff;
3270       visibility: visible!important;
3271   }
3272   .item-cards .item-card p,
3273   .item-addons .item-addon p {
3274     font-size: 12px !important;
3275     margin: 0;
3276     font-weight: 600;
3277   }
3278   .item-card .card-meta input,
3279   .item-addon .card-meta input {
3280       display: none;
3281   }
3282   .item-cards .item-card h5,
3283   .item-addons .item-addon h5 {
3284     text-transform: uppercase;
3285     max-height: 35px;
3286   }
3287 
3288   @media (max-width: 768px) {
3289     .item-cards .item-card {
3290         width: calc(50% - 10px);
3291         max-width: calc(50% - 10px);
3292         flex: 0 0 calc(50% - 10px);
3293         margin-bottom: 0;
3294     }
3295   }
3296 
3297   .card-qty {
3298     display: flex;
3299     padding: 5px;
3300     visibility: hidden;
3301     background-color: #fff !important;
3302     z-index: 999;
3303   }
3304   .card-qty a {
3305     border-width: 1px;
3306     width: 30%;
3307     cursor: pointer;
3308     text-align: center;
3309     align-self: center;
3310     height: 28px;
3311     display: block;
3312     position: relative;
3313   }
3314   .card-qty a svg {
3315     position: absolute;
3316     top: 50%;
3317     left: 50%;
3318     transform: translate(-50%, -50%);
3319     text-align: center;
3320   }
3321   input.btn-qty {
3322     border-width: 0px;
3323     border-radius: 0;
3324     background-color: #fff;
3325     -webkit-appearance: none;
3326     box-shadow: none !important;
3327     -webkit-box-shadow: none !important;
3328     -moz-box-shadow: none!important;
3329     width: 40%;
3330     border-left: 1px solid #c4c4c4;
3331     border-right: 1px solid #c4c4c4;
3332     padding: 0;
3333   }
3334 
3335   .sectionPurchaseBoard #itemAddons .item-card {
3336     width: calc(20% - 15px);
3337     max-width: calc(20% - 15px);
3338     flex: 0 0 calc(20% - 15px);
3339   }
3340 
3341   .purchase-button {
3342     width: 100%;
3343     padding: 0; /* Reset padding as it's now handled by wrapper */
3344     margin: 0;
3345   }
3346 
3347   .sectionPurchaseBoard .purchase-button {
3348     margin-top: 0 !important; /* Reset margin */
3349   }
3350 
3351   .back-purchase-button, .back-spotify {
3352       width: 139px;
3353       border: 1px solid;
3354       height: 43px;
3355   }
3356   .purchase-button .btn {
3357     width: 297px;
3358     height: 43px;
3359     background-color: #ffffff;
3360     color: #ffffff;
3361   }
3362   .purchase-button .btn[disabled] {
3363     background-color: #EEEEEE;
3364   }
3365   .back-purchase-button svg, .back-spotify svg {
3366     align-self: center;
3367     vertical-align: middle;
3368     margin-right: 10px;
3369   }
3370 
3371   #purchaseProduct .row .error {
3372     font-size: 12px !important;
3373     color: orange;
3374     margin-top: 5px;
3375   }
3376 
3377   .reviewCardPurchase {
3378     max-width: 448px;
3379     float: right;
3380   }
3381 
3382   .addonsPurchase .addon-item {display: flex;justify-content: space-between;}
3383   .addon-item * {align-self: center;font-size: 12px;}
3384   .addon-itm-title {width: 360px;}
3385   .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;}
3386 
3387   .propsAddonSpotify p {
3388     margin: 0;
3389     display: flex;
3390     font-size: 12px !important;
3391     margin-bottom: 5px;
3392   }
3393   .propsAddonSpotify p span:first-child {
3394     text-transform: uppercase;
3395     font-weight: 600;
3396     -ms-flex: 0 0 150px;
3397     flex: 0 0 150px;
3398     max-width: 150px;
3399   }
3400 
3401   .addonsPurchase .addons {
3402     max-height: 250px;
3403     overflow: auto;
3404   }
3405 
3406   .btn .loading:after {
3407     content: "";
3408     display: inline-block;
3409     width: 20px;
3410     height: 20px;
3411     padding: 3px;
3412     aspect-ratio: 1;
3413     border-radius: 50%;
3414     background: #FFFFFF;
3415     --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box;
3416     -webkit-mask: var(--_m);
3417     mask: var(--_m);
3418     -webkit-mask-composite: source-out;
3419     mask-composite: subtract;
3420     animation: l3 1s infinite linear;
3421     margin: auto;
3422     vertical-align: middle;
3423     margin-left: 10px;
3424   }
3425 
3426   #qrcode img, #qrcode canvas {
3427     width: 50px;
3428     position: absolute;
3429     top: 12px;
3430     left: 16px;
3431   }
3432 
3433   .t-preview {
3434     position: absolute;
3435     top: 17px;
3436     left: 75px;
3437   }
3438   .t-preview p {
3439     margin: 0;
3440     font-size: 12px !important;
3441   }
3442   .t-preview .h3 {
3443     font-size: 16px !important;
3444     margin-bottom: 5px;
3445     font-weight: 600;
3446   }
3447   .scanCard {
3448     width: 100%;
3449     border: 1px solid;
3450     height: 76px;
3451     background-color: #fff;
3452   }
3453   .scanCard > div > img {
3454     position: absolute;
3455     right: 0;
3456     width: 55px;
3457   }
3458 
3459   @keyframes l3 {
3460     100% {
3461       transform: rotate(1turn);
3462     }
3463   }
3464 
3465   @media (min-width: 991px) {
3466     .sectionPurchase {
3467       height: 100%;
3468       position: relative;
3469       max-width: 1344px;
3470       background-color: #fff;
3471       top: 50%;
3472       left: 50%;
3473       transform: translate(-50%, -50%);
3474     }
3475     .headerPurchase h3 {
3476       font-size: 20px;
3477     }
3478     .purchaseArea h4 {
3479       font-size: 16px;
3480     }
3481 
3482     .menuPurchase ul li {
3483         font-size: 16px;
3484     }
3485     
3486     .contentPurchase {
3487       margin-bottom: 30px;
3488     }
3489     .contentPurchase h5 {
3490       font-size: 16px;
3491     }
3492 
3493     .item-cards .item-card p,
3494     .item-addons .item-addon p {
3495       font-size: 16px !important;
3496     }
3497 
3498     .cards {
3499       float: right;
3500       width: 400px;
3501     }
3502 
3503     .item-cards .item-card {
3504       width: calc(25% - 30px);
3505       max-width: calc(25% - 30px);
3506       flex: 0 0 calc(25% - 30px);
3507     }
3508 
3509       #itemAddons .item-card {
3510         position: relative;
3511         width: calc(16% - 40px);
3512         max-width: calc(16% - 40px);
3513         flex: 0 0 calc(16% - 40px);
3514       }
3515       
3516     .purchase-button-wrapper {
3517         padding: 10px 20px;
3518     }
3519   }
3520 
3521   @media (max-width: 1200px) {
3522     .item-cards .item-card {
3523       width: calc(33% - 30px);
3524       max-width: calc(33% - 30px);
3525       flex: 0 0 calc(33% - 30px);
3526     }
3527   }
3528 
3529   @media (max-width: 992px) {
3530     .purchasePopup {
3531       padding: 0;
3532     }
3533     .item-cards .item-card h5,
3534     .item-addons .item-addon h5 {
3535       max-height: 30px;
3536     }
3537 
3538     .back-purchase-button, .back-spotify, .next-purchase-button {
3539         width: 100%;
3540     }
3541     .addon-itm-title {
3542       width: 300px;
3543     }
3544     .addon-itm-line-price {
3545       margin-right: 10px;
3546     }
3547     .t-preview {
3548       top: 10px;
3549     }
3550 
3551     .card-qty a {
3552       height: 15px;
3553     }
3554     
3555     .purchase-button-wrapper {
3556       padding: 15px;
3557     }
3558   }
3559 
3560   @media (max-width: 576px) {
3561     .purchase-button .btn {
3562         width: 100%!important;
3563     }
3564     .purchase-button > .col-12 {
3565       padding-left: 0;
3566       padding-right: 0;
3567     }
3568   }
3569 </style>
3570 
3571 
3572 <div class="purchasePopup">
3573   <div class="purchaseArea">
3574     
3575       <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard">
3576         <div class="wrapperPurchase">
3577           <div class="purchase-content">
3578             <div class="headerPurchase">
3579   <h3 class="text-uppercase">
3580       customize your flower board
3581   </h3>
3582   <a class="close-purchase-popup">
3583   <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
3584     <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"/>
3585   </svg>
3586 </a>
3587 </div>
3588 <div class="contentPurchase">
3589   <div class="row">
3590<div class="col-12">
3591 <style>
3592   .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;}
3593   .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;}
3594   
3595   .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;}
3596   .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;}
3597   .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;}
3598   .svgLogoPapan p {color: #8E8E93; margin: 0;}
3599   .svgLogoPapan p span {font-size: 12px;color: #FF0E00;}
3600   .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;}
3601   #suggest-messages {position: absolute;bottom: 5px;left: 5px;}
3602   #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;}
3603   .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;}
3604   .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;}
3605   .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;}
3606 
3607   @media (min-width: 991px) {
3608     .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);}
3609     .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);}
3610   }
3611 </style>
3612 
3613 <input type="hidden" data-properties="penerima" value="-">
3614 <div class="customize-papan">
3615   <div class="container">
3616     <div class="field-papan group-field-1 form-group">
3617       <div class="input-field">
3618         <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.
3619 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea>
3620         <p class="limit">0/100</p>
3621         <div id="suggest-messages">
3622           <a id="show_note_papan1" href="#">
3623             <div class="suggest-message" id="note_btn_div1">
3624               <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span>
3625             </div>
3626           </a>
3627           <a id="show_note_papan2" href="#">
3628             <div class="suggest-message" id="note_btn_div2">
3629               <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span>
3630             </div>
3631           </a>
3632           <a id="show_note_papan3" href="#">
3633             <div class="suggest-message" id="note_btn_div3">
3634               <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span>
3635             </div>
3636           </a>
3637         </div>
3638       </div>
3639     </div>
3640     <div class="hide">
3641       <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;">
3642       <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1">
3643     </div>
3644     <div class="hide">
3645       <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;">
3646       <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2">
3647     </div>
3648     <div class="hide">
3649       <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;">
3650       <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3">
3651     </div>
3652     <div class="field-papan group-field-2 form-group">
3653       
3654       <label for="logoPapan" onclick="" class="input-field field-logo">
3655         <div class="btn-upload-papan w-100">
3656           <?xml version="1.0" encoding="UTF-8"?>
3657           <img src="" style="display:none">
3658           <div class="svgLogoPapan">
3659             <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="22" height="26" viewBox="0 0 22 26" fill="none">
3660               <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/>
3661             </svg>
3662             <p>Upload Logo <span>*optional</span></p>
3663           </div>
3664         </div>
3665         
3666       </label>
3667       
3668       <input
3669         type="hidden"
3670         data-properties="papan-logo"
3671         value=""
3672       >
3673       <input
3674         type="file"
3675         id="logoPapan"
3676         accept="image/*"
3677         style="position: absolute;width: 1px;height: 1px;padding: 0"
3678       >
3679       
3680       <div class="input-field">
3681         <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/>
3682         <p class="limit">0/35</p>
3683       </div>
3684       
3685     </div>
3686     
3687   </div>
3688 </div>
3689       </div>
3690     
3691   </div>
3692 </div>
3693 
3694           </div>
3695           <div class="purchase-button-wrapper">
3696             <div class="purchase-button btn-card row m-0">
3697   <div class="col-12 col-lg-2 text-left mb-2 p-0">
3698     
3699   </div>
3700   <div class="btn-next-card col-12 col-lg-10 text-right">
3701     
3702     
3703     <button
3704       
3705         
3706       
3707       class="btn next-purchase-button text-uppercase"
3708       
3709         disabled
3710       
3711     >
3712       <span>save your flower board</span>
3713     </button>
3714   </div>
3715 </div>
3716 
3717           </div>
3718         </div>
3719       </div>
3720     
3721     
3722     
3723       <div
3724         class="sectionPurchase sectionPurchaseBoard hide"
3725         data-section="address"
3726       >
3727         <div class="wrapperPurchase">
3728           <div class="purchase-content">
3729             <div class="headerPurchase">
3730   <h3>
3731     Complete Your Order
3732   </h3>
3733   <a class="close-purchase-popup">
3734   <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
3735     <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"/>
3736   </svg>
3737 </a>
3738 
3739 </div>
3740 <div class="contentPurchase">
3741   <div class="row">
3742     <div class="col-12 position-relative">
3743       <div class="addressPurchase">
3744         
3745           <h4 class="text-uppercase">recipient delivery address</h4>
3746           <p>Share the delivery address to send your heartfelt blooms straight to their door.</p>
3747         
3748         <div class="formAddressPurchase row">
3749           <div class="col-12">
3750             <form>
3751               <div class="form-group row mb-2 mb-lg-4">
3752                 <div class="col-6 position-relative">
3753                   <input id="first_name" type="text" class="form-control input__field" placeholder="" required>
3754                   <label for="first_name" class="input__label">First Name<span>*</span></label>
3755                 </div>
3756                 <div class="col-6 position-relative">
3757                   <input id="last_name" type="text" class="form-control input__field" placeholder="" required>
3758                   <label for="last_name" class="input__label">Last Name<span>*</span></label>
3759                 </div>
3760                 <input type="hidden" data-properties="nama-penerima">
3761               </div>
3762               
3763                 <h4 class="text-uppercase">how you want to input your address</h4>
3764                 <div class="form-group row mb-2 mb-lg-4 form-address-upload">
3765                   <div class="col-6 position-relative">
3766                     <label class="address-manualy">
3767                       <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="18" height="17" viewBox="0 0 18 17" fill="none">
3768   <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.91216 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
37685 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"/>
3769 </svg>
3770 <span>Input Address Manually</span>
3771                     </label>
3772                   </div>
3773                   <div class="col-6 position-relative">
3774                     <label for="address-upload" class="address-upload">
3775                       <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="12" height="13" viewBox="0 0 12 13" fill="none">
3776   <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"/>
3777 </svg>
3778 <span>Upload Address Picture</span>
3779                     </label>
3780                     <input
3781                       id="address-upload"
3782                       type="file"
3783                       accept="image/png, image/jpeg"
3784                       style="position: absolute; padding: 0;width: 1px;height: 1px"
3785                     >
3786                     <input type="hidden" class="props-address-upload" data-properties="foto-alamat">
3787                   </div>
3788                 </div>
3789                 <img width="150" height="" src="" class="photo-address" style="display: none;">
3790               
3791               <div class="form-group row position-relative mb-2 mb-lg-4 form-address">
3792                 <div class="col-12">
3793                   <textarea
3794                     id="delivery_address"
3795                     data-properties="alamat-penerima"
3796                     class="form-control input__field col-12"
3797                     placeholder=""
3798                     required
3799                   ></textarea>
3800                   <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label>
3801                   
3802                 </div>
3803               </div>
3804               <div class="form-group row mb-2 mb-lg-4 form-address">
3805                 <div class="col-6 position-relative">
3806                   <input
3807                     id="recipient_number"
3808                     type="text"
3809                     data-properties="telepon-penerima"
3810                     class="form-control input__field"
3811                     placeholder=""
3812                     required
3813                   >
3814                   <label for="recipient_number" class="input__label">Recipient number<span>*</span></label>
3815                 </div>
3816                 <div class="col-6 position-relative">
3817                   <input
3818                     id="company"
3819                     type="text"
3820                     data-properties="company"
3821                     class="form-control input__field"
3822                     placeholder=""
3823                   >
3824                   <label for="company" class="input__label">Company (Optional)</label>
3825                 </div>
3826               </div>
3827               <div class="form-group row mb-2 mb-lg-4 form-address">
3828                 <div class="col-6 position-relative">
3829                   <input
3830                     id="province"
3831                     type="text"
3832                     class="form-control input__field"
3833                     placeholder=""
3834                     value="Jakarta"
3835                     data-properties="province"
3836                   >
3837                   <label for="province" class="input__label">Province</label>
3838                 </div>
3839                 <div class="col-6 position-relative">
3840                   <select id="zip" class="form-control select-search" required></select>
3841                 </div>
3842               </div>
3843             </form>
3844           </div>
3845         </div>
3846       </div>
3847       <div class="addonsPurchase">
3848         <h4 class="text-uppercase">add-ons</h4>
3849         <div class="addons">
3850           <p>No Add-Ons</p>
3851           <!--
3852             <button class="add-addon">
3853               <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="12" height="12" viewBox="0 0 12 12" fill="none">
3854                 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/>
3855               </svg>
3856               <span>Enhance my moment with Add-ons</span>
3857             </button>
3858           -->
3859         </div>
3860       </div>
3861     </div>
3862     
3863   </div>
3864 </div>
3865 
3866 
3866<script>
3867 document.addEventListener('DOMContentLoaded', function() {
3868   // Detect iOS
3869   var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
3870   
3871   if (isIOS) {
3872     document.querySelector('.formAddressPurchase').classList.add('ios');
3873     
3874     // iOS specific fixes
3875     var inputs = document.querySelectorAll('.formAddressPurchase .input__field');
3876     
3877     inputs.forEach(function(input) {
3878       // Force enable touch events on iOS
3879       input.style.webkitUserSelect = 'text';
3880       input.style.webkitTouchCallout = 'default';
3881       input.style.pointerEvents = 'auto';
3882       input.style.touchAction = 'manipulation';
3883       
3884       // Add explicit touch event listeners for iOS
3885       input.addEventListener('touchstart', function(e) {
3886         e.stopPropagation();
3887         this.focus();
3888       }, { passive: false });
3889       
3890       input.addEventListener('touchend', function(e) {
3891         e.preventDefault();
3892         e.stopPropagation();
3893         this.focus();
3894         this.click();
3895       }, { passive: false });
3896       
3897       // Force focus on tap for iOS
3898       input.addEventListener('click', function(e) {
3899         e.stopPropagation();
3900         if (document.activeElement !== this) {
3901           this.focus();
3902         }
3903       });
3904     });
3905     
3906     // Fix for label overlapping on iOS
3907     var labels = document.querySelectorAll('.formAddressPurchase .input__label');
3908     labels.forEach(function(label) {
3909       label.style.pointerEvents = 'none';
3910       label.addEventListener('touchstart', function(e) {
3911         e.preventDefault();
3912         var input = this.parentNode.querySelector('.input__field');
3913         if (input) {
3914           input.focus();
3915         }
3916       });
3917     });
3918   }
3919   
3920   // Handle input state for all browsers, especially iOS
3921   var inputs = document.querySelectorAll('.input__field');
3922   
3923   inputs.forEach(function(input) {
3924     // Handle input events
3925     input.addEventListener('input', function() {
3926       if (this.value.trim() !== '') {
3927         this.classList.add('has-value');
3928       } else {
3929         this.classList.remove('has-value');
3930       }
3931     });
3932     
3933     // Handle focus
3934     input.addEventListener('focus', function() {
3935       this.classList.add('focused');
3936       // iOS specific: ensure input is visible
3937       if (isIOS) {
3938         setTimeout(function() {
3939           input.scrollIntoView({ behavior: 'smooth', block: 'center' });
3940         }, 300);
3941       }
3942     });
3943     
3944     // Handle blur
3945     input.addEventListener('blur', function() {
3946       this.classList.remove('focused');
3947       if (this.value.trim() !== '') {
3948         this.classList.add('has-value');
3949       } else {
3950         this.classList.remove('has-value');
3951       }
3952     });
3953     
3954     // Initial check for pre-filled values
3955     if (input.value.trim() !== '') {
3956       input.classList.add('has-value');
3957     }
3958   });
3959   
3960   // Additional iOS fixes
3961   if (isIOS) {
3962     // Prevent iOS Safari from adding default styling
3963     document.addEventListener('touchstart', function() {}, { passive: true });
3964     
3965     // Fix viewport issues on iOS
3966     var viewport = document.querySelector('meta[name=viewport]');
3967     if (viewport) {
3968       viewport.setAttribute('content', 
3969         'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'
3970       );
3971     }
3972   }
3973 });
3974 </script>
3974
3975           </div>
3976           <div class="purchase-button-wrapper">
3977             <div class="purchase-button btn-address row m-0">
3978   <div class="col-12 col-lg-2 text-left mb-2 p-0">
3979     
3980       <button class="back-purchase-button back-address text-uppercase">
3981         <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png">
3982           <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"/>
3983         </svg>
3984         <span>Back</span>
3985       </button>
3986     
3987   </div>
3988   <div class="btn-next-card col-12 col-lg-10 text-right">
3989     
3990       <!--
3991         <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0">
3992           <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png">
3993             <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"/>
3994           </svg>
3995           <span>Back</span>
3996         </button>
3997       -->
3998     <button
3999       
4000         id="addtocart-card"
4001       
4002       class="btn  next-address text-uppercase"
4003       
4004     >
4005       <span>add to cart</span>
4006     </button>
4007   </div>
4008 </div>
4009 
4010           </div>
4011         </div>
4012       </div>
4013     
4014   </div>
4015 </div>
4016 <div id="backgroundPopup"></div>
4017 <input
4018   data-index="1"
4019   type="hidden"
4020   id="properties-delivery-date"
4021   name="properties[Delivery Date]"
4022   value="-"
4023 >
4024 <input
4025   data-index="2"
4026   type="hidden"
4027   id="properties-delivery-time"
4028   name="properties[Delivery Time]"
4029   value="-"
4030 >
4031 <input
4032   data-index="4"
4033   type="hidden"
4034   id="properties-nama-penerima"
4035   name="properties[Nama Penerima]"
4036   value="-"
4037 >
4038 <input
4039   data-index="5"
4040   type="hidden"
4041   id="properties-alamat-penerima"
4042   name="properties[Alamat Penerima]"
4043   value="-"
4044 >
4045 <input
4046   data-index="6"
4047   type="hidden"
4048   id="properties-kodepos"
4049   name="properties[Kodepos]"
4050   value="-"
4051 >
4052 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]">
4053     <input
4054       data-index="8"
4055       type="hidden"
4056       id="properties-kartu-nama-penerima"
4057       name="properties[Kartu Nama Penerima]"
4058       value="-"
4059     >
4060   
4061   <textarea
4062     data-index="9"
4063     type="hidden"
4064     id="properties-kartu-pesan"
4065     name="properties[Kartu Pesan]"
4066     style="display: none"
4067   >-</textarea>
4068   <input
4069     data-index="10"
4070     type="hidden"
4071     id="properties-kartu-nama-pengirim"
4072     name="properties[Kartu Nama Pengirim]"
4073     value="-"
4074   >
4075
4076 <!-- Additional Shipping -->
4077 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]">
4078 <input
4079   type="hidden"
4080   id="properties-kota-pengiriman-country"
4081   name="properties[Country]"
4082   value="Indonesia"
4083 >
4084 <input type="hidden" id="properties-shipping" name="properties[Shipping]">
4085 
4086 <input type="hidden" id="properties-time" name="properties[Time]">
4087 <input type="hidden" id="properties-card" name="properties[Card]">
4088 <input type="hidden" id="properties-addons" name="properties[Addons]">
4089 
4090 <input
4091   type="hidden"
4092   id="properties-company"
4093   name="properties[Company]"
4094   value=""
4095 >
4096 
4096<script>
4097   
4098   $(document).ready(function(){
4099     
4100     var text_max_papan1=150;
4101     var msg_text_papan1="";
4102     $('#kartu-ucapan-ucapan').keyup(function(){
4103       var text_length_papan1=$('#kartu-ucapan-ucapan').val().length;
4104       var msg_text_papan1=$('#kartu-ucapan-ucapan').val();
4105     });
4106 
4107     var notes_papan1 = [
4108       
4109       [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."]
4110       
4111     ];
4112     $('#show_note_papan1').click(function(event){
4113       event.preventDefault();
4114       var idx_papan1=parseInt($('#note_id_papan1').val());
4115       if(isNaN(idx_papan1)){
4116         idx_papan1=0;
4117       }else{
4118         idx_papan1++;
4119         idx_papan1=idx_papan1%notes_papan1.length;
4120       }
4121       var note_papan1=notes_papan1[idx_papan1][1];
4122       $('#note_id_papan1').val(idx_papan1);
4123       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1);
4124       $('#msgDelivery').val(note_papan1);
4125 
4126       var text_length_papan1=$('#kartu-ucapan-papan').val().length;
4127       var idx_2_papan1=parseInt($('#note_btn_id_papan1').val());
4128       if(isNaN(idx_2_papan1)){
4129         idx_2_papan1=0;
4130       }else{
4131         idx_2_papan1++;
4132         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4133       }
4134       $('#note_btn_id_papan1').val(idx_2_papan1);
4135       //var note_btn=note_btn_text[idx_2][1];
4136       //$('#note_btn').text(note_btn);
4137     });
4138 
4139     var text_max_papan2=150;
4140     var msg_text_papan2="";
4141     $('#kartu-ucapan-ucapan').keyup(function(){
4142       var text_length_papan2=$('#kartu-ucapan-ucapan').val().length;
4143       var msg_text_papan2=$('#kartu-ucapan-ucapan').val();
4144     });
4145 
4146     var notes_papan2 = [
4147       
4148       [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)."]
4149       
4150     ];
4151     $('#show_note_papan2').click(function(event){
4152       event.preventDefault();
4153       var idx_papan2=parseInt($('#note_id_papan2').val());
4154       if(isNaN(idx_papan2)){
4155         idx_papan2=0;
4156       }else{
4157         idx_papan2++;
4158         idx_papan2=idx_papan2%notes_papan2.length;
4159       }
4160       var note_papan2=notes_papan2[idx_papan2][1];
4161       $('#note_id_papan2').val(idx_papan2);
4162       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2);
4163       $('#msgDelivery').val(note_papan2);
4164       var text_length_papan2=$('#kartu-ucapan-papan').val().length;
4165       var idx_2_papan2=parseInt($('#note_btn_id_papan2').val());
4166       if(isNaN(idx_2_papan2)){
4167         idx_2_papan2=0;
4168       }else{
4169         idx_2_papan2++;
4170         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4171       }
4172       $('#note_btn_id_papan2').val(idx_2_papan2);
4173       //var note_btn=note_btn_text[idx_2][1];
4174       //$('#note_btn').text(note_btn);
4175     });
4176 
4177     var text_max_papan3=150;
4178     var msg_text_papan3="";
4179     $('#kartu-ucapan-ucapan').keyup(function(){
4180       var text_length_papan3=$('#kartu-ucapan-ucapan').val().length;
4181       var msg_text_papan3=$('#kartu-ucapan-ucapan').val();
4182     });
4183 
4184     var notes_papan3 = [
4185       
4186       [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)."]
4187       
4188     ];
4189     $('#show_note_papan3').click(function(event){
4190       event.preventDefault();
4191       var idx_papan3=parseInt($('#note_id_papan3').val());
4192       if(isNaN(idx_papan3)){
4193         idx_papan3=0;
4194       }else{
4195         idx_papan3++;
4196         idx_papan3=idx_papan3%notes_papan3.length;
4197       }
4198       var note_papan3=notes_papan3[idx_papan3][1];
4199       $('#note_id_papan3').val(idx_papan3);
4200       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3);
4201       $('#msgDelivery').val(note_papan3);
4202       var text_length_papan3=$('#kartu-ucapan-papan').val().length;
4203       var idx_2_papan3=parseInt($('#note_btn_id_papan3').val());
4204       if(isNaN(idx_2_papan3)){
4205         idx_2_papan3=0;
4206       }else{
4207         idx_2_papan3++;
4208         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4209       }
4210       $('#note_btn_id_papan3').val(idx_2_papan3);
4211       //var note_btn=note_btn_text[idx_2][1];
4212       //$('#note_btn').text(note_btn);
4213     });
4214 
4215     var text_max_papan4=150;
4216     var msg_text_papan4="";
4217     $('#kartu-ucapan-ucapan').keyup(function(){
4218       var text_length_papan4=$('#kartu-ucapan-ucapan').val().length;
4219       var msg_text_papan4=$('#kartu-ucapan-ucapan').val();
4220     });
4221 
4222     $('#show_note_papan4').click(function(event){
4223       var notes_papan4 = [
4224         [0,"Here’s to you—steadier, stronger and better every day."],
4225         [1,"Warmest wishes for a speedy recovery!"],
4226         [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."],
4227         [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."]
4228       ];
4229       event.preventDefault();
4230       var idx_papan4=parseInt($('#note_id_papan4').val());
4231       console.log(idx_papan4, 'idx_papan4')
4232       if(isNaN(idx_papan4)){
4233         idx_papan4=0;
4234       }else{
4235         idx_papan4++;
4236         idx_papan4=idx_papan4%notes_papan4.length;
4237       }
4238       var note_papan4=notes_papan4[idx_papan4][1];
4239       $('#note_id_papan4').val(idx_papan4);
4240       $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4);
4241       console.log(note_papan4, 'note_papan4')
4242       var text_length_papan4=$('#kartu-ucapan-papan').val().length;
4243       var idx_2_papan4=parseInt($('#note_btn_id_papan4').val());
4244       if(isNaN(idx_2_papan4)){
4245         idx_2_papan4=0;
4246       }else{
4247         idx_2_papan4++;
4248         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4249       }
4250       $('#note_btn_id_papan4').val(idx_2_papan4);
4251     });
4252 
4253     /*
4254     $("#jenisPapan").change(function(){
4255       $( "select option:selected").each(function(){
4256         if($(this).attr("value")=="Happy Wedding"){
4257           $("#suggest-messages a").hide();
4258           $("#show_note_papan1").show();
4259           $("#kartu-ucapan-papan").val("");
4260         }
4261         if($(this).attr("value")=="Congratulations"){
4262           $("#suggest-messages a").hide();
4263           $("#show_note_papan2").show();
4264           $("#kartu-ucapan-papan").val("");
4265         }
4266         if($(this).attr("value")=="Duka Cita"){
4267           $("#suggest-messages a").hide();
4268           $("#show_note_papan3").show();
4269           $("#kartu-ucapan-papan").val("");
4270         }
4271       });
4272     }).change();
4273     */
4274 
4275     
4276 
4277     
4278 
4279     $(".variant-metafield").each(function(){
4280       const t = $(this)
4281       const id = t.attr("id")
4282       const target = $(`[data-select=${id}]`)
4283       t.on('select2:selecting', function(e) {
4284         const data = e.params.args.data
4285         target.val(data.text)
4286       });
4287     })
4288   })
4289 </script>
4289
4290 
4291 <div id="popupCart">
4292   <div class="container">
4293     <div class="wrapperPopupCart">
4294       <div class="headerPopupCart">
4295         <div class="d-flex pl-5 pr-5 p-4">
4296           <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="16" height="12" viewBox="0 0 16 12" fill="none">
4297             <path d="M5.55008 11.3076L0.580078 6.33761L1.29408 5.62461L5.55008 9.88061L14.7061 0.724609L15.4191 1.43861L5.55008 11.3076Z" fill="black"/>
4298           </svg>
4299           <span>item added to your cart</span>
4300         </div>
4301         <a class="close-purchase-popup">
4302   <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
4303     <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"/>
4304   </svg>
4305 </a>
4306 
4307       </div>
4308       <div class="contentPopupCart">
4309         <div class="pl-5 pr-5 p-4">
4310           <div class="itemContent row m-0 justify-content-between">
4311             <div class="col-2 align-self-center">
4312               
4313               <img
4314                 class="d-block"
4315                 width="80"
4316                 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426"
4317               >
4318             </div>
4319             <div class="col-10 align-self-center">
4320               <div class="row pl-3">
4321                 <div class="col-12 col-lg-7">
4322                   <span class="titleCartPopup text-uppercase">OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025</span>
4323                 </div>
4324                 <div class="d-flex justify-content-end col-12 col-lg-5">
4325                   <span class="deleteCartPopup hide">Delete</span>
4326                   <span class="lineCartPrice align-self-center">Rp 10.000</span>
4327                 </div>
4328               </div>
4329             </div>
4330           </div>
4331           <div class="itemProperties">
4332             
4333               <div class="propDeliver">
4334                 <h4>delivery option detail</h4>
4335                 <p>
4336                   <span>delivery city</span>
4337                   <span class="propDeliveryCity">jakarta</span>
4338                 </p>
4339                 <p>
4340                   <span>delivery date</span>
4341                   <span class="propDeliveryDate">24/03/2025</span>
4342                 </p>
4343                 <p>
4344                   <span>delivery time</span>
4345                   <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span>
4346                 </p>
4347               </div>
4348               <div class="propAddress">
4349                 <h4>delivery option detail</h4>
4350                 <p>
4351                   <span>RECIPIENT NAME</span>
4352                   <span class="propDeliveryName">jane doe</span>
4353                 </p>
4354                 <p>
4355                   <span>delivery address</span>
4356                   <span class="propDeliveryAddress"
4357                     >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta
4358                     Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span
4359                   >
4360                 </p>
4361                 <p>
4362                   <span>recipient phone number</span>
4363                   <span class="propDeliveryPhone">(+62) 812-3456-7890</span>
4364                 </p>
4365                 <p>
4366                   <span>PROVINCE</span>
4367                   <span class="propDeliveryProv">Jakarta</span>
4368                 </p>
4369                 <p>
4370                   <span>postal code</span>
4371                   <span class="propDeliveryZip">12710</span>
4372                 </p>
4373               </div>
4374           </div>
4375           <div class="itemAddonCart">
4376             <div class="toggleAddonCart d-flex justify-content-between">
4377               <h4>add-ons (0)</h4>
4378               <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="5" height="9" viewBox="0 0 5 9" fill="none">
4379                 <path d="M1.0128 0.84668L4.78613 4.62001L1.0128 8.39335L0.546133 7.92001L3.84613 4.62001L0.546133 1.32001L1.0128 0.84668Z" fill="black"/>
4380               </svg>
4381             </div>
4382             <div class="wrapperItemAddonCart"></div>
4383           </div>
4384           
4385         </div>
4386       </div>
4387       <div class="footerPopupCart">
4388         <div class="row m-0 pl-5 pr-5 p-4">
4389           <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a>
4390           <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a>
4391           <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a>
4392         </div>
4393       </div>
4394     </div>
4395   </div>
4396 </div>
4397 
4397<script>
4398   const shareButton = document.getElementById('shareButton');
4399 
4400   shareButton.addEventListener('click', () => {
4401     if (navigator.share) {
4402       navigator.share({
4403         title: "OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025",
4404         url: "/products/blossom-shine",
4405         text: 'Check out this page!'
4406       })
4407       .then(() => console.log('Successful share'))
4408       .catch((error) => console.log('Error sharing', error));
4409     } else {
4410       alert('Web Share API is not supported in this browser.');
4411     }
4412   });
4413 
4414   // Inventory validation function
4415   function checkInventoryStatus() {
4416     const productSelect = document.getElementById('productSelect');
4417     const purchaseButton = document.querySelector('#personalizeBtn button');
4418     
4419     if (!productSelect || !purchaseButton) return;
4420 
4421     const selectedVariantId = productSelect.value;
4422     
4423     // Get variant data from Shopify
4424     fetch(`/products/blossom-shine.js`)
4425       .then(response => response.json())
4426       .then(product => {
4427         const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId);
4428         
4429         if (selectedVariant) {
4430           const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 
4431                                selectedVariant.inventory_management === 'shopify' && 
4432                                selectedVariant.inventory_policy !== 'continue';
4433           
4434           if (isOutOfStock) {
4435             purchaseButton.disabled = true;
4436             purchaseButton.textContent = 'Out of Stock';
4437             purchaseButton.setAttribute('data-out-of-stock', 'true');
4438             purchaseButton.style.backgroundColor = '#cccccc';
4439             purchaseButton.style.cursor = 'not-allowed';
4440           } else {
4441             // Check if button was disabled due to other conditions
4442             
4443             const isOtherDisabled = false || true || false;
4444             
4445             if (!isOtherDisabled) {
4446               purchaseButton.disabled = false;
4447               purchaseButton.textContent = 'customize your flower board';
4448               purchaseButton.removeAttribute('data-out-of-stock');
4449               purchaseButton.style.backgroundColor = '';
4450               purchaseButton.style.cursor = '';
4451             }
4452           }
4453         }
4454       })
4455       .catch(error => {
4456         console.error('Error checking inventory:', error);
4457       });
4458   }
4459 
4460   // Check inventory on page load
4461   document.addEventListener('DOMContentLoaded', function() {
4462     checkInventoryStatus();
4463     
4464     // Listen for variant changes
4465     const productSelect = document.getElementById('productSelect');
4466     if (productSelect) {
4467       productSelect.addEventListener('change', checkInventoryStatus);
4468     }
4469   });
4470 
4471   // Prevent form submission if out of stock
4472   document.addEventListener('click', function(e) {
4473     if (e.target.matches('button[data-out-of-stock="true"]')) {
4474       e.preventDefault();
4475       e.stopPropagation();
4476       alert('This product is currently out of stock and cannot be purchased.');
4477       return false;
4478     }
4479   });
4480 </script>
4480
4481 </div>
4482 </div>
4483         </div>
4484       </div>
4485     </div>
4486     <div id="product-bottom">
4487         <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description">
4488           <div class="container">
4489 <div class="short-desc-mobile d-block d-lg-none mb-3">
4490         <div class="short-desc">
4491             <ul>
4492 <li><strong>OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.</strong></li>
4493         </div>
4494         <label class="more-mobile">Show More →</label>
4495     </div>
4496 
4497 <style>
4498 .animated-title {
4499     text-align: center;
4500     font-weight: bold;
4501     color: #079c02;
4502     font-size: 28px;
4503     position: relative;
4504     animation: glow 2s infinite alternate, moveUpDown 3s infinite;
4505 }
4506 
4507 /* Efek glow / bercahaya hijau */
4508 @keyframes glow {
4509     0% { text-shadow: 0 0 5px #079c02; color: #079c02; }
4510     50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; }
4511     100% { text-shadow: 0 0 10px #1bff00; color: #079c02; }
4512 }
4513 
4514 /* Efek gerakan naik turun */
4515 @keyframes moveUpDown {
4516     0% { transform: translateY(0px); }
4517     50% { transform: translateY(-5px); }
4518     100% { transform: translateY(0px); }
4519 }
4520 </style>
4521 
4522 
4522<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4522
4523 
4523<script>
4524   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});
4525 
4526   const productType = $("[data-product-type]").data("product-type")
4527   const productDate = Date.parse(new Date())
4528   
4529   const shop = 'outerbloom1.myshopify.com'
4530   const host = 'https://app.asmaraku.com'
4531   // const host = 'http://localhost:5001'
4532 
4533   const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec"
4534   
4535   const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ')
4536 
4537   $("#properties-time").val(new Date().getTime())
4538 
4539   const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
4540 
4541   if(!isIOS) {
4542     $("#full-date").attr("type", "button")
4543   }
4544 
4545   let dateTime = new Date();
4546   let today = dateTime.getDate();
4547   let day = dateTime.getDay();
4548   let hour = dateTime.getHours();
4549   let min = dateTime.getMinutes();
4550   let timeOfDay = hour + (min / 100);
4551 
4552   async function getFetch(url) {
4553     const response = await fetch(url);
4554     let status = false
4555     let result
4556     if(response.ok) {
4557       status = true
4558       result = await response.json();
4559     }
4560     return {
4561       status,
4562       data: result
4563     }
4564   }
4565 
4566   
4567 
4568   function setCookie(cname, cvalue, exMins) {
4569     var d = new Date();
4570     d.setTime(d.getTime() + (exMins*60*1000));
4571     var expires = "expires="+d.toUTCString();  
4572     document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
4573   }
4574 
4575   function getCookie(cname) {
4576     let name = cname + "=";
4577     let decodedCookie = decodeURIComponent(document.cookie);
4578     let ca = decodedCookie.split(';');
4579     for(let i = 0; i <ca.length; i++) {
4580       let c = ca[i];
4581       while (c.charAt(0) == ' ') {
4582         c = c.substring(1);
4583       }
4584       if (c.indexOf(name) == 0) {
4585         return c.substring(name.length, c.length);
4586       }
4587     }
4588     return "";
4589   }
4590 
4591   async function renderDate() {
4592     let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`);
4593     console.log(dataDate, 'renderDate')
4594     const data = dataDate?.data
4595     const date = data.date
4596     const time = data.time
4597 
4598     console.log(date, 'DATE')
4599 
4600     const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
4601     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
4602     const htmlDate = []
4603     for(let i = 0;i < date.length;i++) {
4604       const full = date[i].date
4605       const d = new Date(date[i].date);
4606       const day = weekday[d.getDay()];
4607       const dt = d.getDate();
4608       const mt = monthly[d.getMonth()];
4609       const yr = d.getFullYear();
4610       const isDate = Boolean(date[i].isEnabled)
4611       const cutoffpagi = date[i].cutoff?.pagi
4612       const cutoffsiang = date[i].cutoff?.siang
4613       const cutoffMalam = date[i].cutoff?.Malam
4614       var html = `
4615         <button data-id="8144957800663" 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'}>
4616           ${dt === today ?
4617             `Today<span>${dt < 10 ? '0' + dt : dt}</span>` :
4618             `${day}<span>${dt < 10 ? '0' + dt : dt}</span>`
4619           }
4620         </button>
4621       `
4622       htmlDate.push(html)
4623     }
4624     const htmlTime = []
4625     for(var i = 0;i < time.length;i++) {
4626       const timeText = time[i].text
4627       const timeTime = time[i].time
4628       const timeEnabled = time[i].isEnabled
4629       var html = `
4630           <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button>
4631         `
4632       htmlTime.push(html)
4633     }
4634     const deliveryDate = document.getElementById("deliveryDate");
4635     if(deliveryDate) {
4636       deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join(''))
4637       $("#deliveryTime").html(htmlTime)
4638       if(productType !== '') {
4639         console.log("clarity event " + productType + ' calendaring')
4640         window.clarity("event", `${productType} calendaringSchedule`)
4641         // window.clarity("set", productType, `calendaringSchedule - ${productDate}`)
4642       }
4643     }
4644   }
4645 
4646   async function getProvince(city) {
4647     let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`);
4648     console.log(province, 'province')
4649     $("#province").val(province)
4650   }
4651 
4652   async function renderAddress() {
4653     let current
4654     if(getCookie("location_delivery")){
4655       current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1)
4656     }
4657     let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`);
4658     console.log(address)
4659     const data = address?.data?.city
4660     const htmlAddress = []
4661     const grouping = []
4662     for(let i = 0;i < data?.length;i++) {
4663       if(data[i]){
4664         if(data[i]?.group) {
4665           grouping.push(data[i].group)
4666         }
4667         const price = rupiah.format(data[i]?.rate)
4668         let promo = '(Promo Free Delivery)'
4669         if(data[i]?.name === 'Jakarta - PickUp ASHTA'){
4670           promo = '(at SCBD, Ashta)'
4671         } else if(data[i]?.name === 'Jakarta - PickUp ITC'){
4672           promo = '(at Kuningan, ITC Kuningan)'
4673         } else if(data[i]?.name === 'BSD - PickUp'){
4674           promo = '(at Goldfinch Gading Serpong)'
4675         } else if(data[i]?.name === 'Kota Lainnya'){
4676           promo = ''
4677         }
4678         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>`)
4679       }
4680     }
4681     
4682     const deliveryCity = document.getElementById("cities");
4683     if(deliveryCity) {
4684       deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join(''))
4685       if(!isIOS) {
4686         $(deliveryCity).select2();
4687       }
4688     }
4689   }
4690 
4691   async function renderZip(v, v2, v3) {
4692     const deliveryZip = document.getElementById("zip");
4693     if(v === '') {
4694       return
4695     }
4696     let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`);
4697     let zip = dataZip?.data?.zip
4698     console.log(zip)
4699     let htmlZip = []
4700     for(let i = 0; i < zip?.length;i++) {
4701       htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`)
4702     }
4703     deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join(''))
4704   }
4705 
4706   renderDate()
4707   renderAddress()
4708 
4709   let rupiah = new Intl.NumberFormat('id-ID', {
4710     style: 'currency',
4711     currency: 'IDR',
4712     maximumFractionDigits: 0, 
4713     minimumFractionDigits: 0
4714   });
4715 
4716   async function insertCard(data) {
4717     const response = await fetch(`${host}/api/card/new`, {
4718         method: "POST",
4719         headers: {
4720           'Content-Type': 'application/json',
4721         },
4722         body: data
4723     })
4724     const result = await response.json()
4725     let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1]
4726     $("#greetingCard").attr("data-index", rowIndex)
4727     return result
4728   }
4729     
4730   async function updateCard(data){
4731     const rowIndex = $("#greetingCard").data("index")
4732     const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, {
4733         method: "PUT",
4734         headers: {
4735           'Content-Type': 'application/json',
4736         },
4737         body: data
4738     })
4739     return response
4740   }
4741     
4742   function bytesToSize(bytes) {
4743     var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p'];
4744     for (var i = 0; i < sizes.length; i++) {
4745       if (bytes <= 1024) {
4746         return bytes + ' ' + sizes[i];
4747       } else {
4748         bytes = parseFloat(bytes / 1024).toFixed(2)
4749       }
4750     }
4751     return bytes + ' P';
4752   }
4753 
4754   async function uploadMedia(uri, type) {
4755     nameq = $("#properties-nama-penerima").val()
4756     dear = $("#properties-kartu-nama-penerima").val()
4757     card = $("[data-properties=ucapan]").val()
4758     sender = $("#properties-kartu-nama-pengirim").val()
4759     photo = $("#properties-photo").val()
4760     video = $("#properties-video").val()
4761     status = "Product"
4762         
4763     const name = qrID
4764     let formData = new FormData(); 
4765     formData.append("file", uri);
4766     const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
4767       method: "POST", 
4768       body: formData
4769     })
4770     const result = await response.json();
4771     if(result) {
4772       const url = result.url
4773       if(type === 'image/jpeg') {
4774         $("#properties-photo").val(url)
4775         $(".preview-image").show()
4776         $(".remove-image").show()
4777         photo = url
4778       } else {
4779         $("#properties-video").val(url)
4780         $("#label-input-video span").text("Change File")
4781         $(".case-qrcode-preview p").text("Scan here for a secret message")
4782         $(".remove-media").show()
4783         $("#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>`)
4784         $("[for=input-video]").hide()
4785         video = url
4786       }
4787       $(".case-video-preview").show()
4788       $(".steps-card-preview").removeClass("loading")
4789       // updateCard(nameq, dear, card, sender, photo, video, status)
4790 
4791       $(".nextBtn").attr("disabled", false)
4792     }
4793   }
4794 
4795   function randomString(length, chars) {
4796     var result = '';
4797     for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
4798     return result;
4799   }
4800 
4801   function getNoteCity(fulldate) {
4802     const h_1 = new Date(new Date().setDate(new Date().getDate() + 1))
4803     const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"];
4804     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
4805     const d = new Date(h_1);
4806     const day = weekday[d.getDay()];
4807     const dt = d.getDate();
4808     const mt = monthly[d.getMonth()];
4809     const yr = d.getFullYear();
4810     const p = $("#cities").parent(".form-group")
4811   }
4812 
4813   function disabledSameDay() {
4814     let btnFirst = $("#deliveryDate").find("button:first-child")
4815     let getDay = new Date().getDay();
4816 
4817     
4818       
4819       if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){
4820         if(hour >= 14.00){
4821           btnFirst.attr("disabled", true)
4822         }
4823       } else if(getDay == 6){
4824         if(hour >= 16.00){
4825           btnFirst.attr("disabled", true)
4826         }
4827       } else if(getDay == 0){
4828         if(hour >= 16.00){
4829           btnFirst.attr("disabled", true)
4830         }
4831       }
4832       
4833     
4834   }
4835 
4836   function disabledays(date) {
4837     let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
4838     //if u have to disable a list of day
4839     let removeDays
4840     
4841     
4842     
4843         removeDays = ["2025-2-13", "2025-2-14"];
4844     
4845     if ($.inArray(ymd, removeDays) >= 0) {
4846       return [false];
4847     } else {
4848       let day = date.getDay();
4849       if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){
4850           return [(day == 0),  ''];
4851       }
4852       
4853       if(day == 0){
4854         return [(day == 0),  ''];
4855       }
4856       
4857       
4858       return [(day != 0),  ''];
4859     }
4860   }
4861 
4862   /* Indonesian initialisation for the jQuery UI date picker plugin. */
4863   /* Written by Deden Fathurahman ([email protected]). */
4864   ( function( factory ) {
4865     if ( typeof define === "function" && define.amd ) {
4866 
4867       // AMD. Register as an anonymous module.
4868       define( [ "../widgets/datepicker" ], factory );
4869     } else {
4870 
4871       // Browser globals
4872       factory( jQuery.datepicker );
4873     }
4874   }( function( datepicker ) {
4875 
4876   datepicker.regional.id = {
4877     closeText: "Tutup",
4878     prevText: "&#x3C;mundur",
4879     nextText: "maju&#x3E;",
4880     currentText: "Today",
4881     monthNames: [ "January","February","March","April","May","Juny",
4882                   "July","August","September","October","November","December" ],
4883     monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun",
4884                       "Jul","Agu","Sep","Oct","Nov","Dec" ],
4885     dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ],
4886     dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ],
4887     dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ],
4888     weekHeader: "Mg",
4889     dateFormat: "D, dd M",
4890     firstDay: 0,
4891     isRTL: false,
4892     showMonthAfterYear: false,
4893     yearSuffix: "" };
4894   datepicker.setDefaults( datepicker.regional.id );
4895 
4896   return datepicker.regional.id;
4897 
4898 } ) );
4899 
4900   function loadPopup() {
4901     $("#backgroundPopup").fadeIn("slow");
4902     $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow");
4903     const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first()
4904     if(firstSection.hasClass("purchasePersonalize")) {
4905       if(productType !== '') {
4906         console.log("clarity event " + productType + ' personalize')
4907         window.clarity("event", `${productType} cardPersonalization`)
4908         // window.clarity("set", productType, `cardPersonalization - ${productDate}`)
4909       }
4910     } else if (firstSection.hasClass("sectionPurchaseBoard")) {
4911         console.log("clarity event " + productType + ' personalizeBoard')
4912         window.clarity("event", `${productType} personalizeBoard`)
4913         // window.clarity("set", productType, `personalizeBoard - ${productDate}`)
4914     }
4915     firstSection.removeClass("hide")
4916     
4917     // Auto-trigger addon loading when addon section becomes visible
4918     setTimeout(function() {
4919       const addonSection = $(".purchaseAddon")
4920       if(addonSection.length > 0 && !addonSection.hasClass("hide")) {
4921         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
4922           $("[data-addon=upsell-all]").trigger("click")
4923         }
4924       }
4925     }, 200)
4926   }
4927 
4928   function disablePopup() {
4929     $("#backgroundPopup").fadeOut("slow");
4930     $(".purchasePopup").fadeOut("slow");
4931     $("#popupCart").fadeOut("slow");
4932   }
4933 
4934     function scrollTo(parent, div, dur) {
4935       $(parent).animate({
4936         scrollTop: $(div).offset().top
4937       }, dur);
4938     }
4939 
4940   function loadPopupPersonalize() {
4941     const div = "#purchaseProduct"
4942     const p = "html, body, .product-meta"
4943     $("p.error").remove()
4944     loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all")
4945     const isCity = $("#cities[required]")
4946     const isDate = $("#propDeliveryDate[required]")
4947     const isTime = $("#propDeliveryTime[required]")
4948     // loadPopup()
4949     if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') {
4950       loadPopup()
4951     }
4952     if(isCity.val() == '') {
4953       isCity.parent(".row").append("<p class='error'>Choose delivery city</p>")
4954       scrollTo(p, div, 500)
4955     }
4956     if(isDate.val() == '') {
4957       isDate.parents(".row").append("<p class='error'>Choose delivery date</p>")
4958       scrollTo(p, div, 500)
4959     }
4960     if(isTime.val() == '') {
4961       isTime.parents(".row").append("<p class='error'>Choose delivery time</p>")
4962       scrollTo(p, div, 500)
4963     }
4964   }
4965 
4966   function quantityCounter() {
4967     $(document).on("click", ".item-card.selected .q_up", function () {
4968       var C = $(this).attr("data-id"),
4969           S =
4970               parseInt(
4971                   $(this)
4972                       .siblings(".quantity-cart-" + C)
4973                       .val()
4974               ) + 1;
4975       $(this).attr("data-quantity", S),
4976           $(this)
4977               .siblings(".quantity-cart-" + C)
4978               .val(S);
4979     }),
4980     $(document).on("click", ".item-card.selected .q_down", function () {
4981         var C = $(this).attr("data-id"),
4982             S = parseInt(
4983                 $(this)
4984                     .siblings(".quantity-cart-" + C)
4985                     .val()
4986             );
4987         0 < S && $(this).attr("data-quantity", S - 1),
4988             0 < S &&
4989                 $(this)
4990                     .siblings(".quantity-cart-" + C)
4991                     .val(S - 1);
4992     });
4993   }
4994 
4995   quantityCounter()
4996 
4997   const itemAddon = $(".item-card").length
4998   const nofree = $(".nofree").length
4999 
5000   const upsell = ''
5001   
5002   if(nofree === itemAddon) {
5003       // $("#itemAddons").html("<p>No Items available</p>")
5004   }
5005 
5006   $("#itemAddons .item-card").each(function(e){
5007       $("#itemAddons").attr("data-length", e)
5008   })
5009 
5010   $("[data-addon]").click(function(){
5011       
5012       const t = $(this)
5013       
5014       const data = t.data("addon")
5015       
5016       $("[data-addon]").removeClass("selected")
5017       t.addClass("selected")
5018       $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){
5019           const products = data.products
5020           const html = []
5021           for(let i = 0; i < products.length; i++) {
5022               const id = products[i].id
5023               const variantId = products[i].variants[0].id
5024               const img = products[i].images[0].src
5025               let img2 = img.split('.jpg')[0]
5026               const title = products[i].title
5027               const price = products[i].variants[0].price
5028               const tags = products[i].tags
5029               const qty = products[i].variants[0].available
5030               let type_upsell = ''
5031               if(tags.includes('upsell-item-standing')) {
5032                   type_upsell = 'standing'
5033               }
5034               console.log(type_upsell)
5035               if(type_upsell !== '') {
5036                   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}">
5037                       
5038                           <div class="card-image">
5039                               <img src="${img2}_150x.jpg" alt="${title}" width="" height="" />
5040                           </div>
5041                           <div class="card-meta">
5042                               <h5>${title}</h5>
5043                               <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
5044                               <input id="card-${variantId}" type="hidden" name="" value="${variantId}">
5045                           </div>
5046                           <div class="card-qty">
5047                               <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}">
5047<svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a>  
5048                               <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}" value="0" data-price=${price} name="quantity">
5049                               <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="12" height="13" viewBox="0 0 12 13" fill="none">
5050 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/>
5051 </svg></a>   
5052                           </div>
5053                       </div>`
5054                   html.push(body)
5055               }
5056           }
5057           $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html)
5058           $("#itemAddons").attr("data-length", products.length)
5059           // $('#itemAddons')[0].swiper.update();
5060       });
5061   })
5062 
5063   async function isAddon(){
5064     let ids = []
5065     $("#itemAddons .item-card.selected").each(function(i, e){
5066       const id = $(this).data("id")
5067       ids.push(id)
5068     })
5069     console.log(ids)
5070     return ids
5071   }
5072   
5073   $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){
5074     const t = $(this).parent()
5075     const id = t.data("id")
5076     const btn =  t.parents(".purchaseAddon").find(".next-purchase-button")
5077     t.toggleClass("selected");
5078     //$(this).next("input").toggleAttr('name', 'id[]');
5079     if (t.hasClass('selected')) {
5080         t.find("input").val(1)
5081         t.find("input").attr('name', 'id[]');
5082     } else {
5083         t.find("input").val(0)
5084         t.find("input").removeAttr('name');
5085     }
5086     $("#properties-addons").val(addons)
5087     const is = await isAddon()
5088     if(is.length === 0) {
5089       btn.text("continue without add-ons")
5090       return
5091     }
5092     if(is.includes(8835692069079)) {
5093       btn.text("personalize acrylic frame")
5094     } else {
5095       btn.text("Continue")
5096     }
5097       
5098   })
5099 
5100   async function myAddon(data) {
5101     const c = $(".addonsPurchase .addons")
5102     let items = []
5103     
5104     const spotifyAddons = $(".spotifyAddons").find("[data-index]")
5105     // if(spotifyAddons.length > 0) {
5106     //   $(spotifyAddons).each(function(i, e){
5107     //     const spotifyLink = $(this).find(".spotifyLink").val()
5108     //     const spotifySong = $(this).find(".spotifySong").val()
5109     //     const spotifyArtist = $(this).find(".spotifyArtist").val()
5110     //     const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val()
5111     //     if(spotifyLink !== '') {
5112     //       spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1">
5113     //         <div class="addon-itm-img">
5114     //           <img src="https://cdn.shopify.com/s/files/1/1589/6833/files/Acrylic-Frame_8c71027d-43b7-4322-a98f-d34ab0456397_100x.jpg?v=1739160467" alt="" width="70"/>
5115     //         </div>
5116     //         <div class="addon-itm-title">
5117     //           <span>[US] Outerbloom Acrylic Frame 4R</span>
5118     //         </div>
5119     //         <div class="addon-itm-line-total">
5120     //           <span>Rp 99.000</span>
5121     //         </div>
5122     //       </div>
5123     //       <div class="propsAddonSpotify row m-0">
5124     //         <div class="col-12 col-lg-2"></div>
5125     //           <div class="col-12 col-lg-10">
5126     //             <p>
5127     //               <span>spotify link</span>
5128     //               <span class="spotifyLinkAddon">${spotifyLink}</span>
5129     //             </p>
5130     //             <p>
5131     //               <span>uploaded photo</span>
5132     //               <span class="spotifyFotoAddon">${spotifyFotoAddon}</span>
5133     //             </p>
5134     //             <p>
5135     //               <span>song / playlist name</span>
5136     //               <span class="spotifySongAddon">${spotifySong}</span>
5137     //             </p>
5138     //             <p>
5139     //               <span>artist name</span>
5140     //               <span class="spotifyArtistAddon">${spotifyArtist}</span>
5141     //             </p>
5142     //           </div>
5143     //       </div>`
5144     //       items.push(spotifyAddon)
5145     //     }
5146     //   })
5147     // }
5148     for(let i = 0; i < data.length; i++) {
5149       if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) {
5150         const img = data[i].image
5151         const title = data[i].title
5152         const qty = data[i].qty
5153         const price = data[i].price
5154         const total = Number(qty) * Number(price)
5155         let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}">
5156               <div class="addon-itm-img">
5157                 <img src="${img}" alt="" width="70"/>
5158               </div>
5159               <div class="addon-itm-title">
5160                 <span>${title}</span>
5161               </div>
5162               <div class="addon-itm-line-price">
5163                 <span>${rupiah.format(price)}</span>
5164                 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`}
5165               </div>
5166               <div class="addon-itm-line-total">
5167                 <span>${rupiah.format(total)}</span>
5168               </div>
5169             </div>`
5170           items.push(addons)
5171       }
5172     }
5173     c.html(items)
5174     const parent = $(".purchaseAddon")
5175     const next = parent.next(".sectionPurchase")
5176     parent.addClass("hide")
5177     next.removeClass("hide")
5178     // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart")
5179     // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`)
5180   }
5181 
5182   async function listAddon() {
5183     const data = $("#itemAddons").find(".selected")
5184     let ids = []
5185     $(data).each(function(){
5186       const id = $(this).data("variant")
5187       const image = $(this).find(".card-image img").attr("src")
5188       const title = $(this).find(".card-meta h5").text()
5189       const qty = $(this).find(".card-qty input").val()
5190       const price = $(this).find(".card-qty input").data("price")
5191       ids.push({
5192         id: Number(id),
5193         image,
5194         title,
5195         qty,
5196         price
5197       })
5198     })
5199     myAddon(ids)
5200   }
5201 
5202   async function customSpotify(idx, length, type){
5203     let isCard = false
5204     
5205     let p = $(".purchasePopupSpotify")
5206     const preLink = $(".spotifyLinkFirst").val()
5207     $("[data-index]").hide()
5208     p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`)
5209     p.find(".regulerAddons, .purchase-button").hide()
5210     p.find(".spotifyAddons").show()
5211     
5212     const data = await trackUrl(preLink)
5213     
5214     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://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="13" height="11" viewB
5214ox="0 0 13 11" fill="none">
5215 <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"/>
5216 </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://imgstore.io/images/2025/10/26/logo-olxtoto.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://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="13" height="11" viewB
5216ox="0 0 13 11" fill="none">
5217 <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"/>
5218 </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="//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>`
5219     // console.log(html)
5220     
5221     $(".spotifyAddons").append(html)
5222     
5223     $(`[data-index=${idx}]`).show()
5224     
5225     if (preLink !== '') {
5226       $(".btn-action .btn").attr("disabled", false)
5227     } else {
5228       $(".btn-action .btn").attr("disabled", true)
5229     }
5230 
5231     return html
5232     
5233   }
5234 
5235   $(".spotifyLinkFirst").keyup(async function(){
5236     const v = $(this).val()
5237     if(v.includes('spotify:user:spotify')) {
5238       const correct = v.split('user:spotify:')[1]
5239       console.log(correct, 'BNER')
5240       $(this).val(correct)
5241       return
5242     }
5243     if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){
5244       const data = await trackUrl(v)
5245       if(!data || !data.status) {
5246         $(this).parent().addClass("error")
5247         // $(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>`)
5248         $("#personalizeBtnSpotify .btn").attr("disabled", true)
5249         return
5250       }
5251       $(this).parent().removeClass("error")
5252       // $(this).parent().remove("txt-error")
5253       $("#personalizeBtnSpotify .btn").attr("disabled", false)
5254     } else {
5255       $("#personalizeBtnSpotify .btn").attr("disabled", true)
5256     }
5257   })
5258 
5259   $(".purchaseAddon").delegate(".next-addon", "click", function(){
5260     const parent = $(this).parents(".purchaseAddon")
5261     const next = parent.next(".sectionPurchase")
5262     if(next.hasClass("purchaseAddress")) {
5263       if(productType !== '') {
5264         console.log("clarity event " + productType + ' purchaseDelivery')
5265         window.clarity("event", `${productType} purchaseDelivery`)
5266         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5267       }
5268     }
5269     const data = $("#itemAddons").find(".selected")
5270     const length = $(".quantity-cart-46067682607319").val()
5271     const checked = data.length;
5272     if(checked > 0) {
5273       if(length > 0) {
5274         $(".purchaseAddon").addClass("purchaseAddonSpotify")
5275         customSpotify(1, length, 'addon')
5276       } else {
5277         listAddon()
5278       }
5279     } else {
5280       parent.addClass("hide")
5281       next.removeClass("hide")
5282     }
5283   })
5284 
5285   $("#personalizeBtnSpotify .btn").click(async function(){
5286     const isCity = $("#cities[required]")
5287     const isDate = $("#propDeliveryDate[required]")
5288     if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) {
5289       alert('Please choose Delivery City & Delivery Date')
5290       return
5291     }
5292     const data = await customSpotify(1, 1, 'product')
5293     if(data) {
5294       $("#backgroundPopup").fadeIn("slow");
5295       $(".purchasePopupSpotify").fadeIn("slow");
5296 
5297       if(productType !== '') {
5298         console.log("clarity event " + productType + ' spotify')
5299         window.clarity("event", `${productType} spotify`)
5300         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5301       }
5302     }
5303   })
5304 
5305   function formatBytes(bytes, decimals = 2) {
5306     if (!+bytes) return '0 Bytes'
5307 
5308     const k = 1024
5309     const dm = decimals < 0 ? 0 : decimals
5310     const sizes = ['B', 'KB', 'MB']
5311 
5312     const i = Math.floor(Math.log(bytes) / Math.log(k))
5313 
5314     return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`
5315   }
5316 
5317   async function trackUrl(link){
5318     try {
5319       let trackId = link.split('/').pop().split('?')[0];
5320       let type = ''
5321       if(link.includes("spotify:")) {
5322         const uri = link.split('spotify:')[1]
5323         trackId = uri.split(':')[1]
5324         type = uri.split(':')[0] + 's'
5325       } else {
5326         if(link.match('track')){
5327           type = 'tracks'
5328         } else if(link.match('playlist')) {
5329           type = 'playlists'
5330         } else if(link.match('artist')) {
5331           type = 'artists'
5332         } else if(link.match('album')) {
5333           type = 'albums'
5334         }
5335       }
5336       console.log(`${host}/api/spotify/${type}/${trackId}`)
5337       const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`)
5338       console.log(data, 'DATA')
5339       const song = data?.data?.name
5340       const artist = data?.data?.artist
5341       return {
5342         song, artist, type, trackId, status: data.status
5343       }
5344     } catch(err) {
5345       console.log(err)
5346     }
5347   }
5348 
5349   $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){
5350     const parent = $(this).parents("[data-index]")
5351     const preview = parent.find(".previewImage")
5352     const file = $(this)[0].files[0];
5353     if (file) {
5354         const reader = new FileReader();
5355         reader.onload = async function(e) {
5356           parent.find(".uploadResult label").hide()
5357           parent.find(".uploadedResult").remove()
5358           parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between">
5359           <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>
5360           <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;">
5360<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png">
5361   <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 />
5362 </svg>
5363 </span></div></div>`)
5364           parent.find(".frameImageUploaded svg").hide()
5365           parent.find(".frameImage").addClass("uploaded")
5366           preview.attr("src", e.target.result);
5367           preview.show();
5368           let formData = new FormData(); 
5369           formData.append("file", file);
5370           const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, {
5371             method: "POST", 
5372             body: formData
5373           })
5374           const result = await response.json();
5375           if(result){
5376             parent.find(".resultPhotoSpotify").val(result.url)
5377           }
5378         }
5379         
5380         reader.readAsDataURL(file);
5381     } else {
5382         preview.hide();
5383     }
5384   });
5385 
5386   $(".spotifyAddons").delegate(".uploadResult", "click", function(){
5387     $(this).next("input[type=file]").trigger("click")
5388   })
5389 
5390   $(".spotifyAddons").delegate(".changeUpload", "click", function(){
5391     $(this).parents("input[type=file]").trigger("click")
5392   })
5393 
5394   $(".spotifyAddons").delegate(".removeUpload", "click", function(){
5395     const parent = $(this).parents("[data-index]")
5396     parent.find(".uploadPhotoSpotify").val("")
5397     parent.find(".uploadResult label").show()
5398     parent.find(".uploadedResult").remove()
5399     parent.find(".frameImageUploaded svg").show()
5400     parent.find(".previewImage").hide()
5401     parent.find(".frameImage").removeClass("uploaded")
5402   })
5403 
5404   $(".spotifyAddons").delegate("label.checkbox", "click", function(){
5405     const parent = $(this).parents("[data-index]")
5406     parent.toggleClass("checked")
5407   })
5408 
5409   $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){
5410     const parent = $(this).parents("[data-index]")
5411     const link = $(this).val()
5412     const data = await trackUrl(link)
5413 
5414     console.log(data)
5415 
5416     if(data.song) {
5417       parent.find(".spotifySong").val(data.song)
5418       parent.find(".spotifyData").find("h3").text(data.song)
5419     }
5420     if(data.artist) {
5421       parent.find(".spotifyArtist").val(data.artist)
5422       parent.find(".spotifyData").find("p").text(data.artist)
5423     }
5424     parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`)
5425     // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M
5426     if (data.status === true) {
5427       parent.find(".btn-action .btn").attr("disabled", false)
5428     } else {
5429       parent.find(".btn-action .btn").attr("disabled", true)
5430     }
5431   })
5432   
5433   $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){
5434     const parent = $(this).parents("[data-index]")
5435     const v = $(this).val()
5436     parent.find(".spotifyData h3").text(v)
5437   })
5438 
5439   $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){
5440     const parent = $(this).parents("[data-index]")
5441     const v = $(this).val()
5442     parent.find(".spotifyData p").text(v)
5443   })
5444 
5445   $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){
5446     const parent = $(this).parents("[data-index]")
5447     const length = parent.data("length")
5448     const index = parent.data("index")
5449     const indexNext = Number(index) + 1
5450     customSpotify(indexNext, length, 'addon')
5451   })
5452 
5453   
5454   $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){
5455     const parent = $(this).parents(".purchaseAddon")
5456     const next = parent.next(".sectionPurchase")
5457     parent.addClass("hide")
5458     next.removeClass("hide")
5459     next.find(".purchase-button").show()
5460     listAddon()
5461   })
5462 
5463   $(".spotifyAddons").delegate(".back-spotify", "click", async function(){
5464     const t = $(this).parents("[data-index]")
5465     const parent = $(this).parents(".sectionPurchase")
5466     const current = t.data("index")
5467     const prevCurrent = Number(current) - 1
5468     if(current == 1) {
5469       parent.removeClass("purchaseAddonSpotify")
5470       parent.find(".purchase-button").show()
5471       parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!")
5472       $(".spotifyAddons").empty()
5473       $(".regulerAddons").show()
5474       return
5475     }
5476     t.hide()
5477     t.prev("[data-index]").show()
5478     t.remove()
5479     parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`)
5480   })
5481 
5482   $("#personalizeBtn .btn").click(async function() {
5483     loadPopupPersonalize()
5484   });
5485 
5486   $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){
5487     $(".sectionPurchaseSpotify").hide()
5488     loadPopupPersonalize()
5489   })
5490 
5491   $(".close-purchase-popup").click(function() {
5492       disablePopup();
5493   });
5494   $("#backgroundPopup").click(function() {
5495       // disablePopup();
5496   });
5497 
5498   $("#popupCart .close-purchase-popup").click(function() {
5499       location.reload()
5500   });
5501 
5502   $('#popupCart').on('hide.bs.modal', function (e) {
5503     location.reload()
5504   })
5505 
5506   $(".next-card").click(function(){
5507     const parent = $(this).parents(".sectionPurchase")
5508     const next = parent.next(".sectionPurchase")
5509     parent.addClass("hide")
5510     next.removeClass("hide")
5511   })
5512 
5513   $(".back-purchase-button").click(function(){
5514     const parent = $(this).parents(".sectionPurchase")
5515     const prev = parent.prev(".sectionPurchase")
5516     parent.addClass("hide")
5517     prev.removeClass("hide")
5518   })
5519   
5520   $(document).keypress(function(e) {
5521       if (e.keyCode == 27 && popupStatus == 1) {
5522           disablePopup();
5523       }
5524   });
5525   
5526   const parentImg = $(".case-img-preview")
5527   const parentVid = $(".case-video-preview")
5528   
5529   function readURL(input) {
5530     if (input.files && input.files[0]) {
5531       let reader = new FileReader();
5532 
5533       let type = 'image/jpeg'
5534       const size = input.files[0].size
5535       if(input.files[0].type.match('video/')){
5536         type = 'video/mp4'
5537         if(size > 15728640) {
5538           alert('File size exceeds maximum limit 15 MB')
5539           return
5540         }
5541       } else {
5542         if(size > 5242880) {
5543           alert('File size exceeds maximum limit 5 MB')
5544           return
5545         }
5546       }
5547 
5548       reader.onload = function (e) {
5549         $(".nextBtn").attr("disabled", true)
5550         if(type === 'image/jpeg') {
5551           
5552             $('.placeholder-image').hide();
5553             $('.preview-image').show()
5554             $('.preview-image').attr('src', e.target.result);
5555           
5556         } else {
5557           // parentVid.find(".ajax-loader").show();
5558           $(".steps-card-preview").addClass("loading")
5559         }
5560       }
5561 
5562       
5563 
5564       reader.readAsDataURL(input.files[0]);
5565     }
5566   }
5567 
5568   async function readURLPapan(input) {
5569     if (input.files && input.files[0]) {
5570       let reader = new FileReader();
5571 
5572       reader.onload = function (e) {
5573         $('.btn-upload-papan').siblings('label').hide();
5574         $('.btn-upload-papan img').attr('src', e.target.result);
5575         $('.btn-upload-papan img').show();
5576         $('.svgLogoPapan').hide();
5577       }
5578       
5579       const type = 'image/jpeg'
5580       const name = `logo-8144957800663-${Date.parse(new Date())}`
5581 
5582       let formData = new FormData(); 
5583       formData.append("file", input.files[0]);
5584       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5585         method: "POST", 
5586         body: formData
5587       })
5588       const result = await response.json();
5589       if(result) {
5590         const url = result.url
5591         $("[data-properties=papan-logo]").val(url)
5592       }
5593 
5594       reader.readAsDataURL(input.files[0]);
5595     }
5596   }
5597 
5598   async function readURLAddress(input) {
5599     console.log(input, 'readURLAddress')
5600     if (input.files && input.files[0]) {
5601       let reader = new FileReader();
5602 
5603       reader.onload = function (e) {
5604         $('.photo-address').attr('src', e.target.result);
5605         $('.photo-address').show();
5606       }
5607       
5608       const type = 'image/jpeg'
5609       const name = input.files[0].name?.split('.')[0]
5610 
5611       let formData = new FormData(); 
5612       formData.append("file", input.files[0]);
5613       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5614         method: "POST", 
5615         body: formData
5616       })
5617       const result = await response.json();
5618 
5619       reader.readAsDataURL(input.files[0]);
5620 
5621       return result
5622     }
5623   }
5624 
5625   async function addToCartUang() {
5626     var productAddOnId1 = 42122101162199;
5627     var productAddOnId2 = 42122101194967;
5628     var product_id = 8144957800663
5629     const data = {
5630       items: [
5631           {
5632               quantity: $("#Quantity-" + productAddOnId1).val(),
5633               id: productAddOnId1,
5634               "properties": { "Time": $("#properties-time").val() }
5635           },
5636           {
5637               quantity: $("#Quantity-" + productAddOnId2).val(),
5638               id: productAddOnId2,
5639               "properties": { "Time": $("#properties-time").val() }
5640           }
5641       ]
5642     }
5643     await fetch(window.Shopify.routes.root + 'cart/add.js', {
5644       method: 'POST',
5645       headers: {
5646         'Content-Type': 'application/json'
5647       },
5648       body: JSON.stringify(data)
5649     })
5650     .then(response => {
5651       console.error('Sukses Buket Uang:', response);
5652       $(".form-flower").submit()
5653     })
5654     .catch((error) => {
5655       console.error('Error Buket Uang:', error);
5656       $(".form-flower").submit()
5657     });
5658   }
5659   
5660   async function saveCard(){
5661     let isCard = true
5662     const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : ''
5663     const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : ''
5664     const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : ''
5665     const foto = $("#properties-photo").val()
5666     const video = $("#properties-video").val()
5667     const data = JSON.stringify({
5668       "id": qrID, 
5669       "penerima": $("#properties-nama-penerima").val(), 
5670       "kartu_penerima": kartu_penerima, 
5671       "kartu_ucapan": kartu_ucapan, 
5672       "kartu_pengirim": kartu_pengirim, 
5673       "foto": foto,
5674       "video": video, 
5675       "productId": "8144957800663", 
5676       "order_name": "", 
5677       "status": "Cart"
5678     })
5679 
5680     
5681   }
5682 
5683   async function additem(items){
5684     try {
5685       let formData = items
5686       if(items?.length) {
5687         formData = {
5688            'items': items
5689         };
5690       }
5691   
5692       const add = await fetch(window.Shopify.routes.root + 'cart/add.js', {
5693         method: 'POST',
5694         headers: {
5695           'Content-Type': 'application/json',
5696           'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */
5697         },
5698         body: JSON.stringify(formData)
5699       })
5700   
5701       const data = await add.json();
5702       return data
5703     } catch(err){
5704       console.log('Error additem', err)
5705     }
5706   }
5707 
5708   async function addons(){
5709     let items = []
5710     $(".addon-item").each(function(){
5711       const p = $(this)
5712       const props = p.next(".propsAddonSpotify")
5713       const id = $(this).data("id")
5714       const quantity = $(this).data("qty")
5715       const propId = $("#properties-time").val()
5716       let properties = {}
5717       if(id === 46067682607319) {
5718         const link = props.find(".spotifyLinkAddon").text()
5719         const photo = props.find(".spotifyFotoAddon").text()
5720         const song = props.find(".spotifySongAddon").text()
5721         const artist = props.find(".spotifyArtistAddon").text()
5722         properties = {
5723           id: propId,
5724           "Spotify Link": link !== '' ? link : '-',
5725           "Spotify Photo": photo !== '' ? photo : '-',
5726           "Spotify Song": song !== '' ? song : '-',
5727           "Spotify Artist": artist !== '' ? artist : '-',
5728           type: 'addon'
5729         }
5730       } else {
5731         properties = { 
5732           "id": propId, 
5733           "type": "addon"
5734         }
5735       }
5736       items.push({
5737         id, 
5738         quantity, 
5739         properties
5740       })
5741     })
5742     return items
5743   }
5744 
5745   async function propItems() {
5746     let props = {}
5747     $("[data-properties]").each(function(e){
5748       let elementType = this.tagName;
5749       const k = $(this).data("properties")
5750       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') {
5751         const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val();
5752         if(v !== '') {
5753           props[k] = v?.replace(/[\s\n]/g, '');
5754         }
5755       }
5756     })
5757     return props
5758   }
5759 
5760   async function showPopupCart(items){
5761     if(productType !== '') {
5762       console.log("clarity event " + productType + ' completeOrder')
5763       window.clarity("event", `${productType} completeOrder`)
5764       // window.clarity("set", productType, `completeOrder - ${productDate}`)
5765     }
5766     $("#popupCart").show()
5767     
5768       $(".propDeliveryCity").text($("#cities").val())
5769       $(".propDeliveryDate").text($("#propDeliveryDate").val())
5770       $(".propDeliveryTime").text($("#propDeliveryTime").val())
5771       $(".propDeliveryName").text($("[data-properties=nama-penerima]").val())
5772       $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val())
5773       $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val())
5774       $(".propDeliveryProv").text($("#province").val())
5775       $(".propDeliveryZip").text($("#zip").val())
5776       
5777     
5778 
5779     const addons = []
5780     if(items && items.length > 0) {
5781       for(let i = 1; i < items.length; i++) {
5782         const spotifyLink = items[i].properties['Spotify Link']
5783         const spotifyPhoto = items[i].properties['Spotify Photo']
5784         const spotifySong = items[i].properties['Spotify Song']
5785         const spotifyArtist = items[i].properties['Spotify Artist']
5786         const price = items[i].price / 100
5787         const props = spotifyLink ? `<div class="propsAddonCart row m-0">
5788                   <div class="col-12 col-lg-2"></div>
5789                   <div class="col-12 col-lg-10">
5790                     <p>
5791                       <span>spotify link</span>
5792                       <span>${spotifyLink}</span>
5793                     </p>
5794                     <p>
5795                       <span>Upload Photo</span>
5796                       <span>${spotifyPhoto}</span>
5797                     </p>
5798                     <p>
5799                       <span>song / playlist name</span>
5800                       <span>${spotifySong}</span>
5801                     </p>
5802                     <p>
5803                       <span>artist name</span>
5804                       <span>${spotifyArtist}</span>
5805                     </p>
5806                   </div>
5807                 </div>` : '';
5808         addons.push(`<div class="row m-0">
5809                   <div class="imgAddonCart col-2">
5810                     <img
5811                       width="43"
5812                       src="${items[i].image}"
5813                       alt=""
5814                     >
5815                   </div>
5816                   <div class="imgAddonTitlePrice col-10 align-self-center">
5817                     <div class="row justify-content-between m-0">
5818                       <div class="col-12 col-lg-8">
5819                         <h5>${items[i].title}</h5>
5820                       </div>
5821                       <div class="col-12 col-lg-4 text-lg-right">
5822                         <span>${rupiah.format(price)}</span>
5823                       </div>
5824                     </div>
5825                   </div>
5826                 </div>${props}`)
5827       }
5828     }
5829     // console.log(addons)
5830     if(addons.length === 0) {
5831       $(".itemAddonCart").hide()
5832       return
5833     }
5834     $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`)
5835     $(".wrapperItemAddonCart").html(addons)
5836   }
5837 
5838   const money = (money) => {
5839       return new Intl.NumberFormat('id-ID',
5840           { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
5841       ).format(money);
5842   }
5843 
5844   async function showNoteMoney() {
5845     let qty50k = $("[data-properties='Uang 50k']").val()
5846     let qty100k = $("[data-properties='Uang 100k']").val()
5847     const total50k = Number(qty50k) * 50000
5848     const total100k = Number(qty100k) * 100000
5849     const total_all = total50k + total100k
5850     $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`)
5851     $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`)
5852     $(".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://ampa-hnst.b-cdn.net/walkingfishtx.html" target="_blank" style="text-decoration: underline;
5852 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`)
5853   }
5854 
5855   async function removeImage() {
5856     const data = JSON.stringify({
5857       "ID": $("#properties-properties-qrId").val(), 
5858       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
5859       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
5860       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
5861       "Nama Penerima": $("#properties-nama-penerima").val(), 
5862       "Order Number":"",
5863       "Status":"Product", 
5864       "Foto": "", 
5865       "Media": $("#properties-video").val(), 
5866       "Image": "8144957800663"
5867     })
5868     const remove = updateCard(data)
5869     if(remove) {
5870       $(this).hide()
5871       $("#properties-photo").val("-")
5872       $(".placeholder-image").show()
5873       $(".preview-image").attr("src", "")
5874     }
5875   }
5876 
5877   async function removeVideo() {
5878     const data = JSON.stringify({
5879       "ID": $("#properties-properties-qrId").val(), 
5880       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
5881       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
5882       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
5883       "Nama Penerima": $("#properties-nama-penerima").val(), 
5884       "Order Number":"",
5885       "Status":"Product", 
5886       "Foto": $("#properties-photo").val(), 
5887       "Media": "", 
5888       "Image": "8144957800663"
5889     })
5890     const remove = updateCard(data)
5891     if(remove) {
5892       $("#properties-video").val("-")
5893       $(this).find("img").hide()
5894       $(this).hide()
5895       $(this).prev("p").text("Add video to make it more special (optional)")
5896       $("#label-input-video").show()
5897       $("#label-input-video span").text("Upload Video")
5898       $(".case-video-preview p span").remove()
5899     }
5900   }
5901 
5902   async function loadItemOccasion(t, occasion) {
5903     const name = occasion?.replace('greeting-card-', '')
5904     $("#kartu-ucapan").val("")
5905     $("[data-occassion]").removeClass("selected")
5906     $("[data-properties=ucapan]").val("")
5907     $("#save-card").attr("disabled", true)
5908     t.addClass("selected")
5909     $("#show_note").attr("data-card-occassion", name)
5910     $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){
5911         const products = data.products
5912         const html = []
5913         for(let i = 0; i < products.length; i++) {
5914             const id = products[i].id
5915             const variantId = products[i].variants[0].id
5916             const img = products[i].images[0].src
5917             const title = products[i].title
5918             const price = products[i].variants[0].price
5919             const qty = products[i].variants[0].inventory_quantity
5920             const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}>
5921                 <label for="card-${variantId}"></label>
5922                     <div class="card-image">
5923                         <img src="${img}" alt="${title}" width="" height="" />
5924                     </div>
5925                     <div class="card-meta text-center">
5926                         <h5>${title}</h5>
5927                         <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
5928                         <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}">
5929                     </div>
5930                 </div>`
5931             html.push(body)
5932         }
5933         const withoutCard = `<div class="item-card item-without-card">
5934                 <label for="card-0"></label>
5935                     <div class="card-image">
5936                         <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" />
5937                     </div>
5938                     <div class="card-meta text-center">
5939                         <h5>
5939Send without a greeting card</h5>
5940                         <input id="card-0" type="radio" name="id" value="" data-price="">
5941                     </div>
5942                 </div>`
5943         $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join(""))
5944     });
5945   }
5946         
5947   $(document).ready(function(){
5948 
5949     // Observer to auto-trigger addon loading when addon section becomes visible
5950     const addonObserver = new MutationObserver(function(mutations) {
5951       mutations.forEach(function(mutation) {
5952         const target = $(mutation.target)
5953         if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') {
5954           if(!target.hasClass('hide')) {
5955             // Addon section just became visible, ensure items are loaded
5956             setTimeout(function() {
5957               if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
5958                 console.log("Auto-triggering addon load...")
5959                 $("[data-addon=upsell-all]").trigger("click")
5960               }
5961             }, 150)
5962           }
5963         }
5964       })
5965     })
5966     
5967     // Start observing addon section
5968     const addonSection = document.querySelector('.purchaseAddon')
5969     if(addonSection) {
5970       addonObserver.observe(addonSection, { 
5971         attributes: true, 
5972         attributeFilter: ['class'] 
5973       })
5974     }
5975 
5976     $(".purchasePopup").delegate("#addtocart-card", "click", async function(){
5977     
5978     $(this).find("span").addClass("loading")
5979     let isValid = true
5980     $(".formAddressPurchase [required]").each(function(){
5981       const t = $(this)
5982       const input = t.val()
5983       const p = t.parent()
5984       if(input === '') {
5985         p.addClass("error")
5986         isValid = false
5987       }
5988     })
5989 
5990     if(!isValid) {
5991       $(this).find("span").removeClass("loading")
5992       return
5993     }
5994     
5995     let items = []
5996     const mainProps = {
5997       
5998         "Delivery Date": $("#propDeliveryDate").val(),
5999         "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' ,
6000         "Kota Pengiriman": $("#cities").val(),
6001         "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' ,
6002         "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' ,
6003         "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' ,
6004         "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' ,
6005       
6006       
6007         "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' ,
6008         "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' ,
6009         "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' ,
6010         "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' ,
6011         "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' ,
6012       
6013       
6014       "Province": $("#province").val() !== '' ? $("#province").val() : '-' ,
6015       "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' ,
6016       "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' ,
6017       "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' ,
6018       "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
6019       "type": 'product'
6020     }
6021     const props = await propItems()
6022     properties = {...mainProps, ...props };
6023     const id = $("#productSelect").find('option:selected').val()
6024     console.log(id, 'main ID')
6025     const mainItem = {
6026       id: Number(id),
6027       quantity: 1,
6028       properties
6029     }
6030     items.push(mainItem)
6031     const cardId = $("#itemCards").find(".selected input").val()
6032     const cardItem = {
6033       id: Number(cardId),
6034       quantity: 1,
6035       properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' }
6036     }
6037     console.log(cardId, 'cardId')
6038     if(cardId) {
6039       items.push(cardItem)
6040     }
6041     const addon = await addons()
6042     if(addon) {
6043       for(let i = 0;
6043 i < addon.length; i++){
6044         items.push({
6045           id: addon[i].id,
6046           quantity: addon[i].quantity,
6047           properties: addon[i].properties
6048         })
6049       }
6050     }
6051     const addItems = await additem(items)
6052     console.log(addItems.items, 'add items')
6053     if(addItems) {
6054       $(this).find("span").removeClass("loading")
6055       disablePopup()
6056       showPopupCart(addItems.items)
6057       
6058       localStorage.setItem("items", JSON.stringify(addItems.items))
6059     }
6060   })
6061   
6062   $("#addtocart-cart .btn").click(async function(){
6063     const id = $("#productSelect").find('option:selected').val()
6064     const mainProps = {
6065       id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 
6066       type: 'product'
6067     }
6068     const props = await propItems()
6069     const properties = { ...mainProps, ...props };
6070     const items = {
6071       id: Number(id),
6072       quantity: 1,
6073       properties
6074     }
6075     const addItems = await additem(items)
6076     if(addItems) {
6077       showPopupCart(addItems.items)
6078       localStorage.setItem("items", JSON.stringify(addItems))
6079     }
6080   })
6081 
6082   $(".formAddressPurchase [required]").change(function(){
6083     const t = $(this)
6084     const p = t.parent()
6085     const v = t.val()
6086     if(v !== '') {
6087       p.removeClass("error")
6088     }
6089   })
6090 
6091   $("#save-card").click(async function(){
6092     const parent = $(this).parents(".sectionPurchase")
6093     const next = parent.next(".sectionPurchase")
6094     $(this).find("span").addClass("loading")
6095     const card = await saveCard()
6096     console.log(card, 'ssaveCCC')
6097     if(card?.status === 200 || card?.status === 201) {
6098       $(".scanCard").removeClass("hide")
6099       $(this).find("span").removeClass("loading")
6100       parent.addClass("hide")
6101       next.removeClass("hide")
6102       if(next.hasClass("purchaseAddon")) {
6103         $("[data-addon=upsell-all]").click()
6104         console.log("clarity event addons")
6105         window.clarity("event", `${productType} add-ons`)
6106         // Ensure addon items are loaded when entering addon popup
6107         setTimeout(function() {
6108           if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6109             $("[data-addon=upsell-all]").trigger("click")
6110           }
6111         }, 100)
6112       }
6113       if(next.hasClass("purchaseAddress")) {
6114         $("#zip").select2()
6115       }
6116     }
6117   })
6118 
6119   $("#skip-card").click(async function(){
6120     $("#greetingCard [data-properties]").val("")
6121     $("#properties-photo").val("")
6122     $("#properties-video").val("")
6123     const parent = $(this).parents(".sectionPurchase")
6124     const next = parent.next(".sectionPurchase")
6125     parent.addClass("hide")
6126     next.removeClass("hide")
6127     // $("#itemCards").html("")
6128     removeImage()
6129     removeVideo()
6130     if(next.hasClass("purchaseAddon")) {
6131       $("[data-addon='upsell-all']").click()
6132       console.log("clarity event addons")
6133       window.clarity("event", `${productType} add-ons`)
6134       // Ensure addon items are loaded when entering addon popup
6135       setTimeout(function() {
6136         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6137           $("[data-addon='upsell-all']").trigger("click")
6138         }
6139       }, 100)
6140     }
6141     if(next.hasClass("purchaseAddress")) {
6142       $("#zip").select2()
6143     }
6144   })
6145 
6146   $("#msgCard").click(async function(){
6147       $(this).parent().addClass("loading")
6148       let occasion = $(".selected[data-occassion]").data("occassion")
6149       occasion = occasion?.replace("greeting-card-", "")
6150       const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`);
6151       const d = data?.data
6152       for(let i = 0; i < d.length; i++) {
6153         const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1);
6154         const greeting = d[num]?.Greeting
6155         $(".greetingCard textarea").val(greeting)
6156         $(this).parent().removeClass("loading")
6157       }
6158       $("#save-card").attr("disabled", false)
6159     })
6160 
6161   $(".sectionPurchaseBoard .next-purchase-button").click(function(){
6162     const parent = $(this).parents(".sectionPurchase")
6163     const next = parent.next(".sectionPurchase")
6164     parent.addClass("hide")
6165     next.removeClass("hide")
6166   })
6167 
6168   $("#editCard").click(function(){
6169     $(".custom-card").show()
6170     $(".preview-card").hide()
6171   })
6172 
6173   $("#first_name, #last_name").change(function(){
6174     const v = $(this).val()
6175     const first_name = $("#first_name").val()
6176     const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : ''
6177     $("[data-properties=nama-penerima]").val(first_name+last_name)
6178   })
6179 
6180   $("[data-occassion]").click(function(){
6181       const t = $(this)
6182       const p = t.parents(".sectionPurchase")
6183       // $(".greetingCard").addClass("disabled")
6184       const occasion = t.data("occassion")
6185       loadItemOccasion(t, occasion)
6186   })
6187 
6188   $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){
6189       const id = $(this).parent(".item-card").data("id")
6190       const t = $(this).parent(".item-card")
6191       const target = t.find("input")
6192       const v = $('.item-card input[type="radio"]:checked').val();
6193       $("#itemCards .item-card").removeClass("selected")
6194       t.addClass("selected")
6195       $("#itemCards .item-card").find("input").attr("name", "")
6196       if(target.length > 0) {
6197           target.attr("name", "id[]")
6198           $("#properties-card").val(id)
6199           $(".greetingCard").removeClass("disabled")
6200           $("#skip-card").attr("disabled", false)
6201       } else {
6202           $("#properties-card").val("")
6203       }
6204   })
6205 
6206   $("#itemCards").delegate(".item-without-card label", "click", function(){
6207     const parent = $(this).parents(".sectionPurchase")
6208     const next = parent.next(".sectionPurchase")
6209     $(".greetingCard").addClass("disabled")
6210     parent.addClass("hide")
6211     next.removeClass("hide")
6212     $("[data-addon=upsell-all]").click()
6213     $("#zip").select2()
6214   })
6215 
6216   $("[data-properties=ucapan]").keyup(function(){
6217     const v = $(this).val()
6218     const p = $(this).parents(".sectionPurchase")
6219     $(".purchaseAddress").find(".greetingCard textarea").val(v)
6220     if(v.length > 3) {
6221       p.find(".next-purchase-button").attr("disabled", false)
6222     } else {
6223       p.find(".next-purchase-button").attr("disabled", true)
6224     }
6225   })
6226 
6227   $("[data-properties=penerima]").keyup(function(){
6228     const v = $(this).val()
6229     $(".purchaseAddress").find("[data-properties=penerima]").val(v)
6230   })
6231 
6232   $("[data-properties=pengirim]").keyup(function(){
6233     const v = $(this).val()
6234     $(".purchaseAddress").find("[data-properties=pengirim]").val(v)
6235   })
6236 
6237   $(document).click(function(e){
6238 
6239      if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6240      // $('#popupCart').fadeOut('slow');
6241     // location.reload()
6242   });
6243 
6244   $(".toggleAddonCart").click(function(){
6245     const p = $(this).parent(".itemAddonCart")
6246     p.toggleClass("open")
6247   })
6248 
6249   $(".btnViewCart").click(function(){
6250     window.location.href = "https://outerbloom.com/cart";
6251   })
6252 
6253   $(".btnViewCheckout").click(async function(){
6254     $(this).find("span").addClass("loading")
6255     let zip = $("#zip").val()
6256     const first_name = $("#first_name").val()
6257     const last_name = $("#last_name").val()
6258     const company = $("#company").val() !== '' ? $("#company").val() : ''
6259     const address1 = $("#delivery_address").val()
6260     const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : ''
6261     zip = zip && zip !== '' ? zip?.split(' - ')[0] : ''
6262     const phone = $("#recipient_number").val()
6263     const city = $("#cities").val()
6264     const province = $("#province").val()
6265     const country = 'Indonesia'
6266     const ver = Date.parse(new Date())
6267     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}`
6268 
6269     const clear = await fetch(`/cart/clear.js`, {method: 'POST'})
6270     if(clear.status === 200) {
6271       const savedItem = window.localStorage.getItem("items");
6272       const items = JSON.parse(savedItem)
6273       const addItems = await additem(items)
6274       console.log(addItems, 'new addItems')
6275       if(addItems) {
6276         window.location.href = `https://outerbloom.com/checkout?${params}`;
6277       }
6278     }
6279   })
6280 
6281   $(".btnContinueShopping").click(function(){
6282     window.location.href = "https://outerbloom.com/";
6283   })
6284 
6285     if (isIOS) {
6286       $(".empty-state-card").click(function(){
6287         $("#input-foto").trigger("click")
6288       })
6289       $(".btn-upload-image").click(function(){
6290         $("#input-foto").trigger("click")
6291       })
6292       $("[for=input-video]").click(function(){
6293         $("#input-video").trigger("click")
6294       })
6295       $(".btn-upload-papan").click(function(){
6296         $("#logoPapan").trigger("click")
6297       })
6298     }
6299   
6300     $("[data-properties]").each(function(){
6301       const select = $(this).parents(".form-group").find("select")
6302       $(this).change(function(){
6303         const name = $(this).data("properties")
6304         const v = $(this).val()
6305         if (name == 'telepon-penerima') {
6306           let phone = v.replace(/[^0-9]/g, '')
6307           $(this).val(phone);
6308           $("#properties-telepon-penerima").val(phone)
6309           $('.iti__search-input').val('-') 
6310         } else {
6311           $("#properties-" + name).val(v)
6312         }
6313       })
6314       select.on("change", function(){
6315         const name = $(this).data("properties")
6316         const v = $(this).val()
6317         $("#properties-" + name).val(v)
6318       })
6319     })
6320 
6321     $("#show_note").click(function(){
6322       nameq = $("#properties-nama-penerima").val()
6323       dear = $("#properties-kartu-nama-penerima").val()
6324       card = $("[data-properties=ucapan]").val()
6325       sender = $("#properties-kartu-nama-pengirim").val()
6326       photo = $("#properties-photo").val()
6327       video = $("#properties-video").val()
6328       updateCard(nameq, dear, card, sender, photo, video, status)
6329     })
6330 
6331     $(".remove-image").click(function(e){
6332       e.preventDefault()
6333       $(this).find("img").show()
6334       removeImage()
6335     })
6336 
6337     $(".remove-media").click(function(e){
6338       e.preventDefault()
6339       $(this).find("img").show()
6340       removeVideo()
6341     })
6342 
6343     
6344 
6345     $("[data-delivery_method]").click(function(e){
6346       e.preventDefault()
6347       const t = $(this)
6348       const data = t.data("delivery_method")
6349       $("[data-delivery_method]").removeClass("selected")
6350       t.addClass("selected")
6351       $("#cities").val("")
6352       $("#properties-delivery-date").val("-")
6353       $("#deliveryDate button").removeClass("selected")
6354       $("#full-date").val("Full Calendar →")
6355       $("#propDeliveryDate").val("")
6356       const step3 = $("#step-3")
6357       if(data.match('PickUp')) {
6358         $(".selfpickup-point").show()
6359         step3.find("[data-finished=false]").hide()
6360         $("#panel-4").hide()
6361         step3.find("[data-finished=true]").show()
6362         $("#cities").attr("required", false)
6363         $("#form-group-city").hide()
6364         $("#row-delivery-time").hide()
6365         $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-")
6366         $("#propDeliveryTime").attr("required", false)
6367         // $("#deliveryDate").find("button:first-child").addClass("stop")
6368         $(".form-selfpickup").show()
6369         $(".form-delivery").hide()
6370         $(".form-delivery").find("input, textarea, select").val("")
6371         $(".form-delivery").find("input, textarea, select").attr("required", false)
6372         $("#properties-shipping").val("0")
6373         $("#noteDeliveryDate").hide()
6374         $(".form-delivery .form-control").attr("required", false)
6375         $("#stepNav4").hide()
6376         
6377         $("#deliveryDate").find("button:nth-child(1)").addClass("stop")
6378         
6379         
6380         
6381         if(timeOfDay >= 16.01){
6382           $("#deliveryDate").find("button:nth-child(2)").addClass("stop")
6383         }
6384       } else {
6385         
6386         
6387         $("#deliveryDate").find("button:nth-child(1)").removeClass("stop")
6388         step3.find("[data-finished=false]").show()
6389         $("#panel-4").show()
6390         step3.find("[data-finished=true]").hide()
6391         $("#cities").attr("required", true)
6392         $(".selfpickup-point").hide()
6393         $("#form-group-city").show()
6394         $("#cities").val('').trigger('change');
6395         $("#properties-kota-pengiriman").val("-")
6396         
6397         $("#row-delivery-date, #row-delivery-time").show()
6398         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6399         $("#deliveryDate").find("button").removeClass("stop")
6400         $(".form-selfpickup").hide()
6401         $(".form-delivery").show()
6402         $(".form-delivery").find("input, textarea, select").attr("required", true)
6403         $(".form-delivery [data-properties]").attr("readonly", false)
6404         $("#properties-kodepos").val("-")
6405         $("#properties-alamat-penerima").val("-")
6406         $(".form-delivery .form-control").attr("required", true)
6407         $(this).parents(".setup-content").attr("id", "step-1")
6408         
6409         $("#stepNav4").show()
6410       }
6411     })
6412 
6413     $("[name=selfpickup]").click(function(){
6414         const p = $(this).parents(".row-pickup")
6415         const pickupCity = $("input[name='selfpickup']:checked").val();
6416         const pickupAddress = $("input[name='selfpickup']:checked").data("address");
6417         const pickupZip = $("input[name='selfpickup']:checked").data("zip");
6418 
6419         $(".row-pickup").removeClass("selected")
6420         p.addClass("selected")
6421         
6422         $("#properties-kota-pengiriman").val(pickupCity)
6423         $("#province").val("Jakarta")
6424         $("#properties-alamat-penerima").val(pickupAddress)
6425         $("#properties-kodepos").val(pickupZip)
6426     })
6427 
6428     $("#cities").change(function(e){
6429       e.preventDefault()
6430       $(this).parent(".row").find("p.error").remove()
6431       $("#full-date").val("Full Calendar")
6432       $("#deliveryDate, #deliveryDateFull label ").show()
6433       $("#deliveryDateFull").removeClass("filled")
6434       $(".btnChangeDeliveryDate").addClass("hide")
6435       $("#full-date").prop('disabled', false);
6436       $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success")
6437       $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true)
6438       const step3 = $("#step-3")
6439       $("#cityNote").remove()
6440       $("#noteDeliveryDate").hide()
6441       $("#noteDeliveryDate").empty()
6442       let v = $(this).val()
6443       let v2 = $('option:selected', this).attr('data-city');
6444       let v3 = $('option:selected', this).attr('data-province');
6445       let price = $('option:selected', this).attr('data-price');
6446       $("#country").val(v)
6447       $("#properties-kota-pengiriman").val(v)
6448       $("#properties-shipping").val(price)
6449       $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected")
6450       $("#properties-delivery-date, #properties-delivery-time").val("-")
6451       $("#propDeliveryDate, #propDeliveryTime").val("")
6452       let note = $('option:selected', this).attr('data-note');
6453       if(v === 'Kota Lainnya') {
6454         $("#noteDeliveryDate").show()
6455         $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.")
6456         $("#zip").attr("required", false)
6457         $("#zip").hide()
6458         $("#propDeliveryDate, #propDeliveryTime").attr("required", false)
6459         $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-")
6460         $("#row-delivery-date, #row-delivery-time").hide()
6461         $("#properties-shipping").val("")
6462         // $(this).parents(".setup-content").attr("id", "step-2")
6463         
6464       } else {
6465         $("#noteDeliveryDate").hide()
6466         $("#zip").attr("required", true)
6467         $("#zip").show()
6468         $("#row-delivery-date, #row-delivery-time").show()
6469         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6470         $("#deliveryDate").find("button").removeClass("stop")
6471         // $(this).parents(".setup-content").attr("id", "step-1")
6472         
6473       }
6474       
6475       // if(v !== 'Jakarta') {
6476       //   $("[data-type=upsell]").hide()
6477       // } else {
6478       //   $("[data-type=upsell]").show()
6479       // }
6480       // $('.collection-addons')[0].swiper.update();
6481       
6482       
6483       getProvince(v)
6484       $("#zip").html(`<option value="">Choose Postal Code</option>`)
6485       renderZip(v, v2, v3)
6486       
6487       disabledSameDay()
6488       
6489 
6490       if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') {
6491         
6492         $("#cardOccasion, #navAddon, .collection-addons").hide()
6493         
6494         $("[data-addon=giftcard]").show()
6495         $("[data-addon=giftcard]").click()
6496         $("#itemAddons").show()
6497         $("#flower-step").addClass("nonjadetabek")
6498       } else {
6499         $("#cardOccasion, #navAddon, .collection-addons").show()
6500         $("[data-addon=all]").click()
6501         $("#flower-step").removeClass("nonjadetabek")
6502       }
6503       
6504         if(v !== '') {
6505           $("#personalizeBtn .btn").attr("disabled", false)
6506         } else {
6507           $("#personalizeBtn .btn").attr("disabled", true)
6508         }
6509       
6510     })
6511 
6512     $("#zip").change(function(e){
6513       let v = $(this).val()
6514       var city = $("#cities").find('option:selected');
6515       $("#properties-kodepos").val(v)
6516       if(city === 'Kota Lainnya') {
6517         $(this).attr("required", true)
6518         $("#recipient-address").val("")
6519       }
6520     })
6521 
6522     
6523       var minDate = +7
6524       
6525     
6526 
6527     $("#full-date").datepicker({
6528       minDate,
6529       dateFormat: 'Mdd_yy', //Nop22_2021,
6530       
6531       beforeShowDay: disabledays,
6532       
6533       onSelect: function (date) {
6534         $("#deliveryDate, #deliveryDateFull label ").hide()
6535         $("#deliveryDateFull").addClass("filled")
6536         $(".btnChangeDeliveryDate").removeClass("hide")
6537         $("#full-date").prop('disabled', true);
6538         $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date);
6539         $(".date-full").addClass("selected")
6540         $(".date-single, .calendar-group").removeClass("selected")
6541         $("#propDeliveryTime").val('')
6542         $("#properties-delivery-time").val('-')
6543         $(".time-single").removeClass("selected")
6544         
6545         
6546       }
6547     });
6548 
6549     $(".btnChangeDeliveryDate").click(function(){
6550         $("#deliveryDate, #deliveryDateFull label ").show()
6551         $("#deliveryDateFull").removeClass("filled")
6552         $(".btnChangeDeliveryDate").addClass("hide")
6553         $("#full-date").prop('disabled', false);
6554     })
6555   
6556     $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){
6557       e.preventDefault()
6558       $(this).parents("#row-delivery-date").find("p.error").remove()
6559       const fulldate = $(this).data("fulldate")
6560       const day = $(this).data("day")
6561       const date = $(this).data("date")
6562       const month = $(this).data("month")
6563       const year = $(this).data("year")
6564       const off_pagi = $(this).data("offpagi")
6565       const off_siang = $(this).data("offsiang")
6566       const off_Malam = $(this).data("offMalam")
6567       $(".calendarbutton").removeClass("selected")
6568       $(this).addClass("selected")
6569       $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`)
6570       $("#propDeliveryTime").val('')
6571       $("#properties-delivery-time").val('-')
6572       $(".calendarbutton2").removeClass("selected")
6573       $("#full-date").val("Full Calendar")
6574 
6575       
6576       if(off_pagi && timeOfDay > off_pagi) {
6577         $("[data-time=Morning]").attr("disabled", true)
6578       } else {
6579         $("[data-time=Morning]").attr("disabled", false)
6580       }
6581       if(off_siang && timeOfDay > off_siang) {
6582         $("[data-time=Afternoon]").attr("disabled", true)
6583       } else {
6584         $("[data-time=Afternoon]").attr("disabled", false)
6585       }
6586       
6587 
6588       
6589     })
6590     
6591     if(today === 14 && timeOfDay > 17.00) {
6592       $("#deliveryDate button:first-child").attr("disabled", true)
6593     }
6594   
6595     $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){
6596       e.preventDefault()
6597       const time = $(this).data("time")
6598       const date = $("#propDeliveryDate").val()
6599       if(date == '') {
6600         return alert('Silakan pilih tanggal terlebih dahulu')
6601       }
6602       $(".calendarbutton2").removeClass("selected")
6603       $(this).addClass("selected")
6604       $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`)
6605     })
6606       
6607     $('textarea.has-limit, input.has-limit').keyup(function () {
6608       max = this.getAttribute("maxlength");
6609       let len = $(this).val().length;
6610       let limit = $(this).siblings(".limit");
6611       if (len > max) {
6612         alert('you have reached the limit');
6613       } else {
6614         limit.text(`${len}/${max}`);
6615       }
6616     });
6617     
6618     $("#button-action-step .btn").click(function(){
6619       $(this).find("span").text("Processing...");
6620     });
6621 
6622     $(".finishBtn").on('click', function() {
6623       $(this).addClass("is-adding");
6624       // $(this).click();
6625     });
6626 
6627     $('.setup-panel .nav-item a.btn-success').trigger('click');
6628 
6629     $("#button-action .btn").click(function(){
6630       $("#flower-step").addClass("block");
6631       $("#button-action").hide();
6632     });
6633         
6634     $(".close-how-order").click(function(){
6635       $("#flower-step").removeClass("block");
6636       $("#button-action").show();
6637     });
6638 
6639     $("#input-foto, #input-video").change(function(e){
6640       readURL(this);
6641     });
6642 
6643     $("#logoPapan").change(function(){
6644       readURLPapan(this);
6645     });
6646 
6647     $("#address-upload").change(async function(){
6648       const upload_address = await readURLAddress(this)
6649       if(upload_address) {
6650         const url = upload_address.url
6651         $(".props-address-upload").val(url)
6652         $(".form-address").addClass("address-uploaded")
6653         $(".form-address-upload").addClass("uploaded")
6654 
6655         $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false)
6656       }
6657     })
6658 
6659     $(".address-manualy").click(function(){
6660       $(".form-address-upload").removeClass("uploaded");
6661       $(".photo-address").hide();
6662       $(".form-address").removeClass("address-uploaded")
6663       $("#formAddressPurchase").find(".form-control").attr("required", true)
6664     });
6665 
6666     $(".case-video-preview").delegate(".replace-video", "click", function(){
6667       $("#input-video").trigger("click")
6668     })
6669 
6670     $('.date-single').click(function(e) {
6671       e.preventDefault();
6672       $('.date-single').removeClass('selected');
6673       $('#full-date').removeClass('selected');
6674       $(this).addClass('selected');
6675       $('#full-date').html('Full' + '<br/>' + 'Calendar');
6676     });
6677     $('#full-date').click(function(e){
6678       e.preventDefault();
6679       $('.date-single').removeClass('selected');
6680       $(this).addClass('selected');
6681     });
6682     
6683     // $("tr").each(function(){
6684     //   if($(this).text().match('SKU')) {
6685     //     $(".sku-product").html($(this).parents("table").html())
6686     //   }
6687     // })
6688     
6689     $("#product-image").scroll(function(){
6690       $(".desc-add").each(function(){
6691         const img = $(this).find("img")
6692         const src = img.data("src")
6693         img.attr("src", src)
6694       })
6695     })
6696 
6697     $(".product-fixed").hide()
6698     
6699     let target = $("#personalizeBtn")
6700     
6701 
6702     $(".product-meta").scroll(function() {
6703         if ($(window).scrollTop() >= target.offset().top ) {
6704             $(".product-fixed").addClass("show")
6705         } else {
6706           $(".product-fixed").removeClass("show")
6707         }
6708     });
6709 
6710     $(window).scroll(function() {
6711         if ($(window).scrollTop() >= target.offset().top ) {
6712             $(".product-fixed").addClass("show")
6713         } else {
6714           $(".product-fixed").removeClass("show")
6715         }
6716     });
6717   });
6718 </script>
6718
6719 
6720   
6720<script>
6721     //
6722   </script>
6722
6723 
6724 
6724<script>
6725   $(document).ready(function(){
6726     $('table tr td').each(function(){
6727       var texto = $(this).text();
6728       var nextto = $(this).next("td");
6729       var sku = $("#data-sku").val()
6730       if(texto == 'SKU'){
6731         nextto.text(sku)
6732       }
6733     });
6734     
6735     $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan");
6736     $(".stamped-summary-actions-newreview").text("Tulis Review");
6737     $("#tab-questions").text("Pertanyaan");
6738     
6739     $(".freeship .icon").click(function(){
6740       $(".fs-content").slideToggle();
6741       $(this).parents(".freeship").toggleClass("expand");
6742     });
6743     
6744     var $easyzoom = $('.easyzoom').easyZoom();
6745     // Setup thumbnails example
6746     var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom');
6747     $('.thumbnails').on('click', 'a', function(e) {
6748       var $this = $(this);
6749       e.preventDefault();
6750       // Use EasyZoom's `swap` method
6751       api1.swap($this.data('standard'), $this.attr('href'));
6752     });
6753 
6754     $('#playerID').click(function(){
6755       var videoURL = $('#VdoID').attr('src'),
6756           dataplay = $('#VdoID').attr('data-play');
6757 
6758       //for check autoplay
6759       //if not set autoplay=1
6760       if(dataplay == 0 ){
6761         $('#VdoID').attr('src',videoURL+'?autoplay=1');
6762         $('#VdoID').attr('data-play',1);
6763       }
6764       else{
6765         var videoURL = $('#VdoID').attr('src');
6766         videoURL = videoURL.replace("?autoplay=1", "");
6767         $('#VdoID').prop('src','');
6768         $('#VdoID').prop('src',videoURL);
6769 
6770         $('#VdoID').attr('data-play',0);
6771       }
6772 
6773     });
6774     
6775     $(".product-photo-thumb-video").click(function(e){
6776       e.preventDefault();
6777 
6778       var newEmbed = $(this).attr('href');
6779       $("#featured-image-product").addClass("img-video");
6780       $("#ProductPhotoImg").hide();
6781       $("#featured-image-product .video").show();
6782       $("#featured-image-product iframe").attr('src', newEmbed);
6783       $("#VdoID")[0].src += "&autoplay=1";
6784     });
6785     $(".product-single__thumbnail").click(function(evt){
6786       evt.preventDefault();
6787       $("#featured-image-product").removeClass("img-video");
6788       $("#ProductPhotoImg").show();
6789       $("#featured-image-product .video").hide();
6790       $("#featured-image-product iframe").attr('src', '');
6791     });
6792     
6793     if($('#product-meta .short-desc > div').length >= 1){
6794       //console.log('div detected')
6795       var replacer = $('#product-meta .short-desc > div').contents();
6796       $('#product-meta .short-desc > div').replaceWith(replacer);
6797 
6798       var cAssured =  $('.c-assured').detach();
6799       cAssured.insertAfter('.meta-sds .stock-info');
6800     }
6801 
6802     
6803     
6804     $(".heading-toggle").click(function(){
6805       $(this).parent().toggleClass("open")
6806       
6807     });
6808   });
6809 </script>
6809
6810 
6811 
6812   
6812<script type="application/json" id="ProductJson-Product">
6813         
6814         {"id":8144957800663,"title":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eOLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah."}
6815   </script>
6815
6816   
6817     
6817<script type="application/json" id="VariantJson-Product">
6818       [
6819         
6820           {
6821              "incoming": false,
6822              "next_incoming_date": null
6823           }
6824         
6825       ]
6826     </script>
6826
6827 
6828 </div>
6829 
6829<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
6829
6830 <style>
6831     .stamped-review-header-title,
6832     .stamped-review-header .author,
6833     .stamped-review-content-body,
6834     .stamped-sort-select,
6835     .stamped-review-header .verified-badge[data-type=buyer]:after,
6836     .stamped-review-header-byline,
6837     .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;}
6838     .stamped-review {margin-bottom: 0;}
6839     .stamped-review-body {padding-left: 65px;}
6840     .stamped-review:first-child {padding-top: 25px;}
6841     .stamped-review-content {clear: none;}
6842     .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;}
6843     .stamped-review-reply-body {padding-left: 65px;}
6844     .stamped-review-header .author {text-transform: capitalize;}
6845     .stamped-questions .stamped-review-content {padding-left: 65px;}
6846 
6847     .stamped-pagination {margin: 20px 0 0;}
6848     .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;}
6849     .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;}
6850     .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;}
6851     .stamped-pagination li:hover a {background: #ddd;}
6852     .stamped-pagination .next {border-right: 1px solid #ccc;}
6853     .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;}
6854     .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;}
6855 
6856     #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;}
6857     #stamped-pagination-question span {font-size: 14px;}
6858     #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;}
6859     #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;}
6860     .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;}
6861     .stamped-pagination-prev, .stamped-pagination-next {position: inherit;}
6862     .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;}
6863 
6864     @media (max-width: 480px){
6865       .stamped-review-reply {margin-left: 0!important;}
6866       select.stamped-sort-select {font-size: 13px!important;}
6867     }
6868 
6869   #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content {
6870       display: block !important;
6871   }
6872 </style>
6873 
6873<script>
6874     var selectCallback = function(variant, selector) {
6875       timber.productPage({
6876         money_format: "Rp {{amount_no_decimals}}",
6877         variant: variant,
6878         selector: selector
6879       });
6880     };
6881 
6882     jQuery(function($) {
6883       new Shopify.OptionSelectors('productSelect', {
6884         product:
6885 {"id":8144957800663,"title":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eOLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah."},
6886         onVariantSelected: selectCallback,
6887         enableHistoryState: true
6888       });
6889 
6890       // Add label if only one product option and it isn't 'Title'. Could be 'Size'.
6891       
6892 
6893       // Hide selectors if we only have 1 variant and its title contains 'Default'.
6894       
6895         $('.selector-wrapper').hide();
6896       
6897     });
6898 </script>
6898
6899   
6899<script type="application/ld+json">
6900     {
6901     "@context": "http://schema.org",
6902     "@type": "Product",
6903 "offers": {
6904 "@type": "Offer",
6905 "availability":"https://schema.org/InStock",
6906 "price": 835000,
6907 "priceValidUntil": "05-10-2025",
6908 "priceCurrency": "IDR",
6909 "url": "https://www.walkingfishtx.com/our-team"
6910 },
6911 "brand": {
6912 "@type": "Brand",
6913 "name": "Outerbloom Florist"
6914 },
6915 "sku": "8144957800663",
6916 "gtin13": "Jawa",
6917 "name": "OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025",
6918 "description": "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.",
6919 "category": "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.",
6920 "url": "https://www.walkingfishtx.com/our-team",
6921 "image": {
6922 "@type": "ImageObject",
6923 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
6924 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
6925 "name": "OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025",
6926 "width": 1024,
6927 "height": 1024
6928 }
6929     }
6930   </script>
6930     
6931 
6931<script id="bss-ltap-hide-price" type="text/javascript" >
6932 !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)}))}
6932)),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)}
6932)),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()}
6932if("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)}
6932if(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");
6932c&&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
6932-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");
6932i&&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
6932--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
6932opify.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");
6932e.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=
6932o.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");
6932if(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();
6932let 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()}]);
6933 </script>
6933
6934 
6935       </main>
6936       
6937       <div id="shopify-section-newsletter" class="shopify-section"><br>
6938   <style>
6939     #shopify-section-newsletter {
6940       background: url('https://imgstore.io/images/2025/12/29/background-coba.jpeg');
6941       background-attachment: fixed;
6942       margin-bottom: 0;
6943     }
6944     input:-webkit-autofill,
6945     input:-webkit-autofill:hover,
6946     input:-webkit-autofill:active,
6947     input:-webkit-autofill:focus {
6948       -webkit-box-shadow:0 0 0 50px white inset;
6949       -webkit-text-fill-color: #ffffff;
6950     }
6951     .section-newsletter {
6952       max-width: 800px;
6953       margin: auto;
6954       padding: 50px 0;
6955     }
6956     .section-newsletter h2 {
6957       font-weight: 700;
6958       font-size: 24px;
6959     }
6960     .section-newsletter input[type="email"] {
6961       width: 100%;
6962       text-align: center;
6963       border: none;
6964       border-bottom: 1px solid #ffffff;
6965       font-size: 16px;
6966       color: #757575;
6967       background-color: #eeeeee;
6968     }
6969     .section-newsletter .row label {
6970       font-size: 14px;
6971       cursor: pointer;
6972     }
6973     .section-newsletter .radio-inline input {
6974       width: auto;
6975     }
6976     .section-newsletter .btn {
6977       width: 130px;
6978       border: 1px solid #ffffff;
6979       box-shadow: none;
6980       font-size: 16px;
6981       font-weight: 500;
6982       text-transform: uppercase;
6983     }
6984     .section-newsletter form {
6985       margin: 30px 0 60px;
6986     }
6987     .section-newsletter input[type="radio"] {
6988       position: absolute;
6989       width: 1px;
6990       height: 1px;
6991     }
6992     .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label {
6993       position: relative;
6994       padding-left: 28px;
6995       cursor: pointer;
6996       line-height: 20px;
6997       display: inline-block;
6998       color: #666;
6999     }
7000     .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before {
7001       content: '';
7002       position: absolute;
7003       left: 0;
7004       top: 0;
7005       width: 18px;
7006       height: 18px;
7007       border: 1px solid #ddd;
7008       border-radius: 100%;
7009       background: #fff;
7010     }
7011     .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after {
7012       content: '';
7013       width: 12px;
7014       height: 12px;
7015       background: #ffffff;
7016       position: absolute;
7017       top: 3px;
7018       left: 3px;
7019       border-radius: 100%;
7020       -webkit-transition: all 0.2s ease;
7021       transition: all 0.2s ease;
7022     }
7023     .section-newsletter [type="radio"]:not(:checked) + label:after {
7024       opacity: 0;
7025       -webkit-transform: scale(0);
7026       transform: scale(0);
7027     }
7028     .opt-newsletter {display:none;}
7029     .footer-newsletter p, .footer-newsletter p a {
7030       color: #757575;
7031     }
7032     @media (max-width:991px){
7033       .section-newsletter h2 {
7034         font-size: 32px;
7035       }
7036       .section-newsletter input {
7037         width: 300px;
7038         font-size: 14px;
7039       }
7040       .section-newsletter {
7041         padding: 50px 20px;
7042       }
7043     }
7044     @media (max-width: 480px){
7045       .section-newsletter input[type="email"] {font-size: 16px;}
7046     }
7047   </style>
7048  <style>
7049 .icon-img-footer {
7050     width: 80px; 
7051     padding: 0px 5px;
7052 }
7053 @media (min-width: 768px) {
7054     .icon-img-footer {
7055         width: 120px; 
7056     }
7057 }
7058 @media (min-width: 992px) {
7059     .icon-img-footer {
7060         width: 120px; 
7061     }
7062 }
7063 
7064   .button-login-daftar {
7065                         display: grid;
7066                         grid-template-columns: repeat(2, 1fr);
7067                         font-weight: 700;
7068                     }
7069                     .button-login-daftar a {
7070                         text-align: center;
7071                     }
7072                     .login,
7073                     .register {
7074                         color: #ffd700;
7075                         padding: 15px 10px;
7076                         font-size: 23px;
7077                     }
7078                     .login,
7079                     .login-button {
7080                         background: linear-gradient(to bottom,#0971d3 0,#000000 100%);
7081                         border: 2px solid #ffd700;
7082                     }
7083                     .register,
7084                     .register-button {
7085                         background: linear-gradient(to bottom,#000000 0,#0971d3 100%);
7086                         border: 2px solid #ffd700;
7087                     }
7088 
7089 </style>
7090 <!-- wp:html -->
7091  
7091<script>
7092         document.addEventListener('DOMContentLoaded',
7093             function(){const faqItems=document.querySelectorAll('.faq-item');
7094             faqItems.forEach(item=>{const question=item.querySelector('.faq-question');
7095             question.addEventListener('click',
7096             ()=>{const isActive=item.classList.contains('active');
7097             faqItems.forEach(otherItem=>{otherItem.classList.remove('active')});
7098             if(!isActive){item.classList.add('active')}})})});
7099         </script>
7099
7100 
7101 
7102             <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1">
7103             </div>
7104 <div class="faq-section">
7105         <h2>FAQ</h2>
7106             <div class="faq-container">
7107                 <div class="faq-item">
7108                     <button class="faq-question">1. Apa itu OLXTOTO dan fungsinya untuk Toto Macau?<span></span></button>
7109                     <div class="faq-answer"><p>OLXTOTO adalah platform penyedia data result Toto Macau Pools resmi yang menampilkan hasil pengundian secara lengkap dan terupdate. Situs ini memudahkan pengguna memantau angka keluaran dengan informasi yang jelas dan akurat.</p></div>
7110                 </div>
7111                 <div class="faq-item">
7112                     <button class="faq-question">2. Apakah data result Toto Macau di OLXTOTO resmi dan terpercaya?<span></span></button>
7113                     <div class="faq-answer"><p>Ya, seluruh result Macau Pools di OLXTOTO diambil dari sumber resmi terpercaya dan diperbarui secara real-time sesuai jadwal pengundian, sehingga aman dijadikan referensi.</p></div>
7114                 </div>
7115                 <div class="faq-item">
7116                     <button class="faq-question">3. Seberapa sering data Toto Macau diperbarui?<span></span></button>
7117                     <div class="faq-answer"><p>Data Toto Macau di OLXTOTO diperbarui setiap hari secara real-time, mulai dari hasil terbaru hingga arsip data lama, sehingga pengguna selalu mendapatkan informasi terkini tanpa keterlambatan.</p></div>
7118                 </div>
7119                  <div class="faq-item">
7120                     <button class="faq-question">4. Apa saja informasi yang tersedia di halaman result Macau Pools OLXTOTO?<span></span></button>
7121                     <div class="faq-answer"><p>OLXTOTO menyediakan result Macau Pools terbaru, data Toto Macau lengkap, riwayat keluaran, serta tampilan angka yang rapi agar mudah dipantau dan dipahami oleh pengguna.</p></div>
7122                 </div>
7123                  <div class="faq-item">
7124                     <button class="faq-question">5. Mengapa memilih OLXTOTO untuk cek data Toto Macau 2025?<span></span></button>
7125                     <div class="faq-answer"><p>OLXTOTO menawarkan data terlengkap 2025, update cepat, tampilan mudah diakses di semua perangkat, serta sistem yang stabil sehingga pengguna dapat memantau result Macau dengan nyaman kapan saja.</p></div>
7126                 </div>
7127 
7128             </div>
7129 
7130         </div>
7131 
7132     </div>
7133 
7134 
7135 <div class="overlay overlay-cart"></div>
7136 <div id="CartDrawer" class="drawer drawer--right">
7137   <div class="drawer__header pl-2 pr-2">
7138     <div class="drawer__icon-cart display-table-cell">
7139       <a href="/cart" class="">
7140         <svg class="icon icon-cart" version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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.
7140005-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>
7141       </a>
7142     </div>
7143     <div class="drawer__title h4">Keranjang Belanja</div>
7144     <div class="drawer__close js-drawer-close">
7145       <button type="button">
7146         <svg class="icon icon-close" version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="32" height="32" viewBox="0 0 32 32">
7147 <title>icon-close</title>
7148 <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>
7149 </svg>
7150       </button>
7151     </div>
7152   </div>
7153   <div id="CartContainer" class="p-2"></div>
7154 </div>
7155 
7156 
7156<script>
7157       
7158     </script>
7158
7159       
7159<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7159
7160       <!-- /snippets/ajax-cart-template.liquid -->
7161 
7162   
7162<script id="CartTemplate" type="text/template">
7163   
7164     <form action="/cart" method="post" novalidate class="cart ajaxcart">
7165       <div class="ajaxcart__inner" {{ cart.item_count }}>
7166         {{#items}}
7167         <div class="ajaxcart__product">
7168           <div class="ajaxcart__row" data-line="{{line}}">
7169             <div class="grid">
7170               <div class="grid__item one-quarter">
7171                 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
7172               </div>
7173               <div class="grid__item three-quarters">
7174                 <p class="d-block mb-3">
7175                   <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a>
7176                   {{#if variation}}
7177                     <span class="ajaxcart__product-meta p">{{variation}}</span>
7178                   {{/if}}
7179                   {{#properties}}
7180                     {{#each this}}
7181                       {{#if this}}
7182                         <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span>
7183                       {{/if}}
7184                     {{/each}}
7185                   {{/properties}}
7186                   
7187                 </p>
7188                 <div class="grid--full display-table">
7189                   <div class="grid__item display-table-cell one-half">
7190                     <div class="ajaxcart__qty">
7191                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}">
7192                         <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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>
7193                         <span class="visually-hidden">Kurangi jumlah barang</span>
7194                       </button>
7195                       <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]*">
7196                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">
7197                         <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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>
7198                         <span class="visually-hidden">Tambahkan jumlah barang</span>
7199                       </button>
7200                     </div>
7201                   </div>
7202                   <div class="grid__item display-table-cell one-half text-right">
7203                     {{#if discountsApplied}}
7204                       <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small>
7205                       <br><span class="h4">{{{linePrice}}}</span>
7206                     {{else}}
7207                       <span class="h4">{{{linePrice}}}</span>
7208                     {{/if}}
7209                     </div>
7210                   </div>
7211                   {{#if discountsApplied}}
7212                     <div class="grid--full display-table">
7213                       <div class="grid__item text-right">
7214                         {{#each discounts}}
7215                           <small class="ajaxcart-item__discount">{{ this.title }}</small><br>
7216                         {{/each}}
7217                       </div>
7218                     </div>
7219                   {{/if}}
7220                   </div>
7221                 </div>
7222               </div>
7223             </div>
7224           </div>
7225         </div>
7226         {{/items}}
7227       </div>
7228       <div class="ajaxcart__footer">
7229         <div class="grid--full cart-subtotal py-2">
7230             <p>Subtotal</p>
7231             <h3 class="primary">{{{totalPrice}}}</h3>
7232           {{#if totalCartDiscount}}
7233             <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p>
7234           {{/if}}
7235         </div>
7236         
7237         <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a>
7238         
7239         <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p>
7240       </div>
7241     </form>
7242   
7243   </script>
7243
7244   
7244<script id="AjaxQty" type="text/template">
7245   
7246     <div class="ajaxcart__qty">
7247       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7248         <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="24" viewBox="0 0 32 32">
7249             <title>icon-minus</title>
7250             <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>
7251         </svg>
7252         <span class="visually-hidden">Kurangi jumlah barang</span>
7253           </button>
7254               <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*">
7255           <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7256         <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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>
7257         <span class="visually-hidden">Tambahkan jumlah barang</span>
7258       </button>
7259     </div>
7260   
7261   </script>
7261
7262   
7262<script id="JsQty" type="text/template">
7263   
7264     <div class="js-qty mx-auto mt-2">
7265       <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7266         <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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>
7267         <span class="visually-hidden">Kurangi jumlah barang</span>
7268       </button>
7269       <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
7270       <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7271         <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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>
7272         <span class="visually-hidden">Tambahkan jumlah barang</span>
7273       </button>
7274     </div>
7275   
7276   </script>
7276
7277 
7278 <style>
7279   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button,
7280   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button,
7281   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;}
7282   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7283   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7284   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;}
7285   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7286   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7287   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;}
7288 </style>
7289       
7289<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7289
7290       
7290<script>
7291         jQuery(function($) {
7292           ajaxCart.init({
7293             formSelector: '#AddToCartForm',
7294             cartContainer: '#CartContainer',
7295             addToCartSelector: '#AddToCartXX',
7296             cartCountSelector: '#CartCount, #CartCount2',
7297             cartCostSelector: '#CartCost',
7298             moneyFormat: "Rp {{amount_no_decimals}}"
7299           });
7300           });
7301 
7302           jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) {
7303             // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM
7304             timber.RightDrawer.open();
7305           });
7306</script>
7306
7307 <style>
7308   /** Search AutoComplete **/
7309   .resultsearch .ui-menu-item[data-cat="Collection"],
7310   .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;}
7311   .resultsearch .ui-widget.ui-widget-content {
7312     width: 100%;
7313     top: 48px;
7314     border: none;
7315     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
7316   }
7317   .resultsearch .ui-menu-item {text-align: left;}
7318   .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;}
7319   .ui-state-active {
7320     border: none!important;
7321     background-color: #fafafa!important;
7322     color: #000!important;
7323   }
7324   .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;}
7325   .ui-menu .ui-menu-item {line-height: normal;}
7326 </style>
7327 
7327<script>
7328 $(window).load(function(){
7329 
7330   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;}
7331 
7332   $.widget("custom.catcomplete", $.ui.autocomplete, {
7333     _renderMenu: function (ul, items) {
7334       // have search reults split up in categories
7335       var that = this,
7336           currentCategory = "";
7337       $.each(items, function (index, item) {
7338         if (item.category != currentCategory) {
7339           ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>");
7340           currentCategory = item.category;
7341         }
7342         that._renderItemData(ul, item);
7343       });
7344     }
7345   });
7346 
7347   // higlight searched for term
7348   $.ui.autocomplete.prototype._renderItem = function( ul, item ) {
7349     var term = this.element.val(),
7350         html = item.label.replace( term, "<b>$&</b>" );
7351     return $( "<li>" )
7352     .append(format(item))
7353     .appendTo( ul );
7354   };
7355 
7356 
7357   var data = [
7358       { 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: "Co
7358llection", url: "/collections/craft-sweetbox-newborn", images: " ", 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: " " }
7358,{ 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: " " }
7358,{ 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: " " }
7358,{ 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
7358dal", 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-
7358hampers", 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
7358o-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: " " }
7358,{ 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: " " }
7358,{ 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: " " }
7358,{ 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: " " }
7358,{ 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: " " }
7358,{ 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: " " }
7358,{ 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: " " }
7358,{ 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: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. 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"
7358, 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: " " },{ 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: " " }
7358,{ 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: " " },{ 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
7358dal", 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: " " },
7359       { label: "grand salutation jabodetabek", category: "Produk", url: "/products/grand-salutation", images: "//outerbloom.com/cdn/shop/files/JKTCON1005_Grand-Salutation-Jabodetabek-WM_thumb.jpg?v=1703241523", price: "Rp 435.000" },{ label: "consolantibus jabodetabek", category: "Produk", url: "/products/consolantibus", images: "//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: "//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: "//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: "//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: "//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: "//outerbloom.com/cdn/shop/files/Belleza-Jabodetabek-LED_aecb756a-0737-45cc-8bfb-008515ca0a37_thumb.gif?v=1759229680", price: "Rp 435.000" }
7359,{ label: "majestic pink roses with baby breath bouquet", category: "Produk", url: "/products/majestic-pink-roses-with-baby-breath-bouquet", images: "//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: "//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: "//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: "//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: "//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: "//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: "//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: "//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: "//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: "//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: "//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: "//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: "//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: "//outerbloom.com/cdn/shop/products/JKTWED1005_Sweet-Romance-Jabodetabek_thumb.gif?v=1677134791", price: "Rp 635.000" },{ label: "with love bouquet", category: "Produk", url: "/products/with-love-bouquet", images: "//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: "//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: "//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: "//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: "//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: "//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: "//outerbloom.com/cdn/shop/products/Classic-white-Orchid-Majesty-in-Vase---white---4-Tangkai_thumb.jpg?v=1644205542", price: "Rp 435.000" }
7359,{ label: "majestic blue romance bouquet", category: "Produk", url: "/products/majestic-blue-romance-bouquet", images: "//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: "//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: "//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: "//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: "//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: "//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: "//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: "//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: "//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: "//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: "//outerbloom.com/cdn/shop/products/2ef5379f-27a6-41ba-85c7-c65cf3ec3f08_thumb.jpg?v=1571471845", price: "Rp 485.000" },{ label: "sincerity solace", category: "Produk", url: "/products/sincerity-solace", images: "//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: "//outerbloom.com/cdn/shop/files/OBVBUN1783_Bellarosa-Bloom-Box_c0000424-411c-48ed-abf4-0de7d925ea53_thumb.jpg?v=1757316757", price: "Rp 785.000" }
7360   ];
7361 
7362              
7363         $( ".header-input-search" ).catcomplete({
7364          appendTo: ".searchResult",source: function(request, response) {
7365             var results = $.ui.autocomplete.filter(data, request.term);
7366             var predicate = function () {
7367                 var counter = { Collection: 0, Produk: 0 };
7368             var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);}
7369             return fn
7370             }();
7371             response(results.filter(predicate));
7372           },
7373           minLength:1,
7374            //results are clickable
7375           select: function( event, ui ) {window.location = ui.item.url;}
7376 });
7377 $( ".header-input-search2" ).catcomplete({
7378         appendTo: ".searchResult2",
7379                    source: function(request, response) {
7380                     var results = $.ui.autocomplete.filter(data, request.term);
7381                     var predicate = function () {
7382                         var counter = { Collection: 0, Produk: 0 };
7383               var fn = function(item) {
7384               counter[item.category] += 1;
7385   return (counter[item.category] <= 5);
7386 }
7387                return fn
7388                }();
7389 response(results.filter(predicate));
7390 },
7391   minLength:1,
7392         //results are clickable
7393         select: function( event, ui ) {
7394           window.location = ui.item.url;
7395         }
7396 });
7397 });
7398 </script>
7398
7399 
7400     
7400<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7400
7401 
7401<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7401
7402 
7403 
7403<script>
7404   ( function() {
7405     var youtube = document.querySelectorAll( ".youtube" );
7406     for (var i = 0; i < youtube.length; i++) {
7407       var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg";
7408       var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg";
7409       var image = new Image();
7410       image.src = source;
7411       image.setAttribute("data-src", datasource);
7412       image.classList.add("swiper-lazy");
7413       image.addEventListener( "load", function() {
7414         youtube[ i ].appendChild( image );
7415       }( i ) );
7416       youtube[i].addEventListener( "click", function() {
7417         var iframe = document.createElement( "iframe" );
7418         iframe.setAttribute( "width", "480" );
7419         iframe.setAttribute( "height", "480" );
7420         iframe.setAttribute( "frameborder", "0" );
7421         iframe.setAttribute( "allowfullscreen", "" );
7422         iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" );
7423         this.innerHTML = "";
7424         this.appendChild( iframe );
7425       } );
7426     };
7427 
7428   } )();
7429 
7430   /* Lazy Load */
7431   const mainLazyLoad = new LazyLoad({threshold:400});
7432   $(document).ready(function(){
7433 
7434     $("selectxxx").addClass("needsclick");
7435     FastClick.attach(document.body);
7436     
7437     var $customSelects = $('.select-search');
7438     $customSelects.select2({
7439       templateResult: function(result, container) {
7440         if (!result.id) {
7441           return result.text;
7442         }
7443         container.className += ' needsclick';
7444         return result.text;
7445       }
7446     });
7447     $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');});
7448     $(document).on('select2:open', () => {
7449       document.querySelector('.select2-search__field').focus();
7450     });
7451     
7452 
7453     $(".overlay").click(function(){
7454       $(".js-drawer-close").click();
7455     });
7456     $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){
7457       $("html").toggleClass("nav_open");
7458     });
7459     
7460     $('.swatch-element label').on('click', function(){
7461       var srcImg = $(this).data('src');
7462       $('#thumb-image-product .product-single__thumbnail').each(function(){
7463         if ($(this).attr("href") == srcImg) {
7464           $(this).trigger('click');
7465         }
7466       });
7467     });
7468     var defaultValue = $(".swatch input:checked").val()
7469     
7470     $('#purchaseProduct .swatch [type=radio]').change(function() {
7471       var optionIndex = $(this).closest('.swatch').attr('data-option-index');
7472       var optionValue = $(this).val();
7473       console.log(optionIndex, optionValue)
7474       var value = parseInt(optionValue.split(' ')[0])
7475       $(this)
7476       .closest('#purchaseProduct')
7477       .find('.single-option-selector')
7478       .eq(optionIndex)
7479       .val(optionValue)
7480       .trigger('change');
7481       
7482     });
7483     
7484   });
7485   $(document).ready(function(){
7486     $(".nav-search a").click(function(e){
7487       e.preventDefault();
7488       $(".icon-navsearch").toggle();
7489       $(".icon-navclose").toggle();
7490       $(".site-nav__item > .site-nav__link").toggle();
7491       $(".open-search").toggle();
7492       $(".open-search input").focus();
7493     });
7494     $(".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'>");
7495     if ($(window).width() < 768) {
7496       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7497       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7498       $(".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'>");
7499     } else {
7500       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7501       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7502       $(".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'>");
7503     }
7504     $(".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'>");
7505     $(".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'>");
7506   });
7507 </script>
7507
7508     
7508<script type="text/javascript">
7509       var wishlistpage = 0;
7510        
7511        var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>";
7512     </script>
7512
7513     
7514       <!-- Remove duplicate wishlist.js reference -->
7515       <style>
7516   .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)}}
7517 </style>
7518 
7519 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog">
7520   <div class="modal-dialog" role="document">
7521     <div class="modal-content">        
7522       <div class="modal-body">Your Wishlist is empty!</div>
7523       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>          
7524     </div>
7525   </div>
7526 </div> 
7527 
7528 <div class="wishlist-model">
7529   <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true">
7530     <div class="modal-dialog white-modal">
7531       <div class="modal-content">
7532         <div class="modal-header">
7533           <button type="button" class="close" data-dismiss="modal" aria-label="Close">
7534             <svg class="icon icon-close" version="1.1" xmlns="https://img
7534store.io/images/2025/10/26/logo-olxtoto.png" width="32" height="32" viewBox="0 0 32 32">
7535 <title>icon-close</title>
7536 <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>
7537 </svg>
7538           </button>
7539         </div>
7540         <div class="modal-body">
7541           <div class="wishlist-left">
7542             <div class="wishlist-note">
7543               <span class="cirle"><svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="32" height="32" viewBox="0 0 32 32">
7544 <title>icon-check</title>
7545 <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>
7546 </svg></span>
7547               Product added to <a href="/pages/wish-list">Wishlist</a>
7548             </div>
7549             <div class="wishlist-product">
7550               <div class="product-left">
7551                 <div class="wishlist-image"></div>
7552               </div>
7553               <div class="product-right">
7554                 <div class="wishlist-name"></div>
7555                 <div class="wishlist-price"></div>
7556               </div>
7557             </div>
7558           </div>
7559           <div class="wishlist-right">
7560             <div class="wishlist-cart">
7561               <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data">                  
7562                 <div class="others-bottom">
7563                   <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a>
7564                   <button type="submit" name="add" id="AddToCart" class="btn btn-cta">
7565                     <span id="AddToCartText" class="">Beli Sekarang</span>
7566                   </button>
7567                 </div>
7568                 <div id="wishlist-variants-container" class="variants-wrapper"></div> 
7569                 <div class="quantity-content">
7570                   <label>QTY</label>
7571                   <input type="number" size="5" class="" name="quantity" value="1" />
7572                 </div>
7573               </form> 
7574             </div>
7575           </div>
7576         </div>
7577       </div>
7578     </div>
7579   </div>
7580 </div>
7581 
7582     
7583     <style>
7584        .stamped-badge[data-rating="0.0"]{display: none !Important;}
7585        
7586         div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a {
7587           border-radius: 0px;
7588       }
7589           .stamped-review-body {
7590           padding-left: 0px !important;
7591       }
7592           #product-reviews .stamped-header:after {
7593             display:none !Important;
7594           }
7595       #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget {
7596           font-family:inherit !important;
7597       }
7598     </style>
7599 
7600     
7601 
7602 <div id='stamped-rewards-init' class='stamped-rewards-init'
7603   data-key-public=''
7604 
7605 ></div>
7606 
7607     
7607<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
7607
7608     <!-- Remove duplicate jQuery reference and load wishlist script properly -->
7609     
7609<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
7609
7610 
7611     
7611<script>
7612       function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); }
7613     </script>
7613
7614     
7614<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
7614<style>
7615   .jss59 {
7616     background-color: rgba(0, 0, 0, 0.6);
7617   }
7618   .MuiBackdrop-root {
7619     top: 0;
7620     left: 0;
7621     right: 0;
7622     bottom: 0;
7623     display: flex;
7624     z-index: -1;
7625     position: fixed;
7626     align-items: center;
7627     justify-content: center;
7628     background-color: rgba(0, 0, 0, 0.5);
7629     -webkit-tap-highlight-color: transparent;
7630   }
7631   .MuiDialog-scrollPaper {
7632     display: flex;
7633     align-items: center;
7634     justify-content: center;
7635   }
7636   .MuiDialog-container {
7637     height: 100%;
7638     outline: 0;
7639   }
7640   .MuiPaper-elevation24 {
7641     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);
7642   }
7643   .MuiDialog-paper {
7644     margin: 32px;
7645     position: relative;
7646     overflow-y: auto;
7647   }
7648   .MuiDialog-paperScrollPaper {
7649     display: flex;
7650     max-height: calc(100% - 64px);
7651     flex-direction: column;
7652   }
7653   .MuiDialog-paperWidthSm {
7654     max-width: 600px;
7655   }
7656   #location-lock-dialog {
7657     top: 20%;
7658     left: 0;
7659     right: 0;
7660     width: 30%;
7661     margin: 0px auto;
7662     display: block;
7663     padding: 30px;
7664     z-index: 99999;
7665     position: fixed;
7666     font-size: 14px;
7667     background: rgb(0, 0, 0);
7668     box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px;
7669     text-align: center;
7670     font-family: Roboto, Arial, sans-serif;
7671     line-height: 1;
7672     border-radius: 8px;
7673     -webkit-font-smoothing: subpixel-antialiased;
7674   }
7675   .MuiButtonBase-root {
7676     color: inherit;
7677     border: 0;
7678     cursor: pointer;
7679     margin: 0;
7680     display: inline-flex;
7681     outline: 0;
7682     padding: 0;
7683     position: relative;
7684     align-items: center;
7685     user-select: none;
7686     border-radius: 0;
7687     vertical-align: middle;
7688     -moz-appearance: none;
7689     justify-content: center;
7690     text-decoration: none;
7691     background-color: transparent;
7692     -webkit-appearance: none;
7693     -webkit-tap-highlight-color: transparent;
7694   }
7695   .MuiIconButton-root {
7696     flex: 0 0 auto;
7697     color: rgba(0, 0, 0, 0.54);
7698     padding: 12px;
7699     overflow: visible;
7700     font-size: 1.5rem;
7701     text-align: center;
7702     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
7703     border-radius: 50%;
7704   }
7705   .MuiIconButton-label {
7706     width: 100%;
7707     display: flex;
7708     align-items: inherit;
7709     justify-content: inherit;
7710   }
7711   .MuiSvgIcon-root {
7712     fill: currentColor;
7713     width: 1em;
7714     height: 1em;
7715     display: inline-block;
7716     font-size: 1.5rem;
7717     transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
7718     flex-shrink: 0;
7719     user-select: none;
7720   }
7721   .MuiTouchRipple-root {
7722     top: 0;
7723     left: 0;
7724     right: 0;
7725     bottom: 0;
7726     z-index: 0;
7727     overflow: hidden;
7728     position: absolute;
7729     border-radius: inherit;
7730     pointer-events: none;
7731   }
7732   .jss36 {
7733     color: #222222;
7734     font-size: 24px;
7735     font-family: Roboto, Arial, sans-serif;
7736     font-weight: 500;
7737   }
7738   .jss37 {
7739     color: #555555;
7740     padding: 10px 0px 0px;
7741     font-size: 14px;
7742   }
7743   .MuiFormGroup-root {
7744     display: flex;
7745     flex-wrap: wrap;
7746     flex-direction: column;
7747   }
7748   .MuiFormGroup-row {
7749     flex-direction: row;
7750   }
7751   .jss63 {
7752     width: 85%;
7753     margin: 15px auto;
7754     display: flex;
7755     padding: 11px 0px 0px;
7756     justify-content: space-evenly;
7757   }
7758   .MuiFormControlLabel-root {
7759     cursor: pointer;
7760     display: inline-flex;
7761     align-items: center;
7762     margin-left: -11px;
7763     margin-right: 16px;
7764     vertical-align: middle;
7765     -webkit-tap-highlight-color: transparent;
7766   }
7767   .jss70 {
7768     margin: 0;
7769   }
7770   .MuiButtonBase-root {
7771     color: inherit;
7772     border: 0;
7773     cursor: pointer;
7774     margin: 0;
7775     display: inline-flex;
7776     outline: 0;
7777     padding: 0;
7778     position: relative;
7779     align-items: center;
7780     user-select: none;
7781     border-radius: 0;
7782     vertical-align: middle;
7783     -moz-appearance: none;
7784     justify-content: center;
7785     text-decoration: none;
7786     background-color: transparent;
7787     -webkit-appearance: none;
7788     -webkit-tap-highlight-color: transparent;
7789   }
7790   .MuiIconButton-root {
7791     flex: 0 0 auto;
7792     color: rgba(0, 0, 0, 0.54);
7793     padding: 12px;
7794     overflow: visible;
7795     font-size: 1.5rem;
7796     text-align: center;
7797     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
7798     border-radius: 50%;
7799   }
7800   .MuiIconButton-colorSecondary {
7801     color: #f50057;
7802   }
7803   .jss71 {
7804     padding: 9px;
7805   }
7806   .MuiRadio-root {
7807     color: rgba(0, 0, 0, 0.54);
7808   }
7809   .jss64 {
7810     padding: 2px;
7811   }
7812   .MuiRadio-colorSecondary.Mui-checked {
7813     color: #f50057;
7814   }
7815   .MuiIconButton-label {
7816     width: 100%;
7817     display: flex;
7818     align-items: inherit;
7819     justify-content: inherit;
7820   }
7821   .MuiTypography-root {
7822     margin: 0;
7823   }
7824   .MuiTypography-body1 {
7825     font-size: 18px;
7826     font-family: Roboto,sans-serif;
7827     font-weight: 400;
7828     line-height: 1.5;
7829   }
7830   .location-popup_area-block__sp9Ws {
7831     display: -moz-box;
7832     display: flex;
7833     -moz-box-orient: vertical;
7834     -moz-box-direction: normal;
7835     flex-direction: column;
7836     -moz-box-pack: center;
7837     justify-content: center;
7838     position: relative;
7839     margin: 10px 10% 0;
7840   }
7841   .location-popup_pin-search-box__3l5mJ {
7842     width: 100%;
7843     display: -moz-box;
7844     display: flex;
7845     -moz-box-align: center;
7846     align-items: center;
7847   }
7848   .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q {
7849     position: absolute;
7850     z-index: 999;
7851   }
7852   .location-popup_place-icon__jSG0Q {
7853     color: #ffffff;
7854     padding-left: 8px;
7855   }
7856   .location-popup_place-icon__jSG0Q svg {
7857     width: 18px;
7858     height: 18px;
7859   }
7860   .location-popup_cancel-icon__FHujU {
7861     color: #fff;
7862     right: 10px;
7863     width: 16px;
7864     cursor: pointer;
7865     height: 16px;
7866     display: none;
7867     padding: 5px;
7868     position: absolute;
7869     background: #999;
7870     text-align: center;
7871     border-radius: 50%;
7872   }
7873   .location-popup_pin-search-box__3l5mJ>div>select {
7874 /*     -webkit-box-shadow: 0 0 10px #ffffff;
7875     box-shadow: 0 0 10px #ffffff; */
7876     text-transform: capitalize;
7877     border: 1px solid #ffffff;
7878     color: #ffffff;
7879     width: 100%;
7880     margin: 0;
7881     display: -moz-box;
7882     display: flex;
7883     padding: 0 30px;
7884     -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
7885     -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
7886     animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
7887     font-size: 16px;
7888     border-radius: 4px;
7889     height: 44px;
7890     moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
7891     webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
7892   }
7893   .MuiButtonBase-root {
7894     color: inherit;
7895     border: 0;
7896     cursor: pointer;
7897     margin: 0;
7898     display: inline-flex;
7899     outline: 0;
7900     padding: 0;
7901     position: relative;
7902     align-items: center;
7903     user-select: none;
7904     border-radius: 0;
7905     vertical-align: middle;
7906     -moz-appearance: none;
7907     justify-content: center;
7908     text-decoration: none;
7909     background-color: transparent;
7910     -webkit-appearance: none;
7911     -webkit-tap-highlight-color: transparent;
7912   }
7913   .MuiButton-root {
7914     color: rgba(0, 0, 0, 0.87);
7915     padding: 6px 16px;
7916     font-size: 0.875rem;
7917     min-width: 64px;
7918     box-sizing: border-box;
7919     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;
7920     font-family: Roboto,sans-serif;
7921     font-weight: 500;
7922     line-height: 1.75;
7923     border-radius: 4px;
7924     text-transform: uppercase;
7925   }
7926   .MuiButton-contained {
7927     color: rgba(0, 0, 0, 0.87);
7928     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);
7929     background-color: #e0e0e0;
7930   }
7931   .MuiButtonBase-root.Mui-disabled {
7932     cursor: default;
7933     pointer-events: none;
7934   }
7935   .MuiButton-label {
7936     width: 100%;
7937     display: inherit;
7938     align-items: inherit;
7939     justify-content: inherit;
7940   }
7941   .cartButton_login_content__2j1f7 {
7942     display: -moz-box;
7943     display: flex;
7944     text-align: center;
7945     z-index: 9;
7946     font-size: 18px;
7947     font-weight: 500;
7948     color: #fff;
7949   }
7950   
7951   .jss35 {
7952     top: 5px;
7953     right: 5px;
7954     padding: 4px;
7955     position: absolute;
7956     border-radius: 50%;
7957   }
7958   .jss67 {
7959     cursor: pointer;
7960     font-size: 15px;
7961     line-height: 1.3;
7962     padding-left: 5px;
7963   }
7964   .jss69 {
7965     color: #222222;
7966   }
7967   .jss80 {
7968     color: #fff;
7969     width: 100%;
7970     height: 52px;
7971     padding: 11px 16px;
7972     font-size: 18px;
7973     min-width: 88px;
7974     min-height: 36px;
7975     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;
7976     font-weight: 500;
7977     line-weight: 1em;
7978     border-radius: 4px;
7979     text-transform: uppercase;
7980     background-color: #E87325;
7981   }
7982   @media (min-width: 991px){
7983     .cartButton_login_content__2j1f7 {
7984         font-weight: 500;
7985     }
7986   }
7987 
7988   @media (max-width: 992px) {
7989     #location-lock-dialog {
7990       width: 100%;
7991       top: auto;
7992       bottom: 0;
7993       padding-left: 0;
7994       padding-right: 0;
7995     }
7996     .MuiFormGroup-row {
7997       display: block
7998     }
7999     .MuiIconButton-label input {
8000       margin: 0;
8001     }
8002   }
8003 </style>
8004 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;">
8005   <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div>
8006   <div tabindex="0" data-test="sentinelStart"></div>
8007   <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;">
8008     <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog">
8009       <div class="jss31 undefined" id="location-lock-dialog">
8010         <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
8011           <span class="MuiIconButton-label">
8012             <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true">
8013               <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>
8014             </svg>
8015           </span>
8016           <span class="MuiTouchRipple-root"></span>
8017         </button>
8018         <div>
8019           <div class="jss36">Select Delivery Location</div>
8020           <div class="jss37">Select a delivery location to see product availability</div>
8021         </div>
8022         <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup">
8023           <label for="jabodetabek" class="MuiFormControlLabel-root jss45">
8024             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false">
8025               <span class="MuiIconButton-label">
8026                 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location">
8027                 <span class="jss41"></span>
8028               </span>
8029               <span class="MuiTouchRipple-root"></span>
8030             </span>
8031             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8032               <span class="jss67 jss69">Jabodetabek</span>
8033             </span>
8034           </label>
8035           <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45">
8036             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false">
8037               <span class="MuiIconButton-label">
8038                 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location">
8039                 <span class="jss40"></span>
8040               </span>
8041               <span class="MuiTouchRipple-root"></span>
8042             </span>
8043             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8044               <span class="jss67 jss68">Outside Jabodetabek</span>
8045             </span>
8046           </label>
8047         </div>
8048         <div>
8049           <div class="MuiGrid-root location-popup_area-block__sp9Ws">
8050             <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false">
8051               <div class="MuiGrid-root location-popup_place-icon__jSG0Q">
8052                 <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>
8053               </div>
8054               <div class="MuiGrid-root location-popup_cancel-icon__FHujU false">
8055                 <i class="material-icons location-popup_clear-pin__s1dRc">close</i>
8056               </div>
8057               <div style="width: 100%;">
8058                 <select id="choose-location" class="form-control">
8059                   <option value="">Choose Location</option>
8060                   <option value="jakarta">Jakarta</option>
8061                   <option value="bogor">Bogor</option>
8062                   <option value="depok">Depok</option>
8063                   <option value="tangerang">Tangerang</option>
8064                   <option value="bekasi">Bekasi</option>
8065                 </select>
8066               </div>
8067             </div>
8068           </div>
8069         </div>
8070         <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="">
8071           <span class="MuiButton-label">
8072             <span class=""></span>
8073             <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span>
8074           </span>
8075         </button>
8076       </div>
8077     </div>
8078   </div>
8079   <div tabindex="0" data-test="sentinelEnd"></div>
8080 </div>
8081 
8082 
8082<script>
8083   const jabodetabek = [
8084     {
8085       "code": "jakarta",
8086       "city": "jakarta",
8087       "zip": []
8088     },
8089     {
8090       "code": "bogor",
8091       "city": "bogor",
8092       "zip": []
8093     },
8094     {
8095       "code": "depok",
8096       "city": "depok",
8097       "zip": []
8098     },
8099     {
8100       "code": "tangerang",
8101       "city": "tangerang",
8102       "zip": []
8103     },
8104     {
8105       "code": "bekasi",
8106       "city": "bekasi",
8107       "zip": []
8108     }
8109   ]
8110   let cityNonJabodetabek = [
8111     
8112
8113     
8114     
8115     "pengiriman_aceh",
8116     
8117     
8118     
8119     
8120     
8121     "pengiriman_ambon",
8122     
8123     
8124     
8125     
8126     
8127     "pengiriman_atambua",
8128     
8129     
8130     
8131     
8132     
8133     "pengiriman_badung",
8134     
8135     
8136     
8137     
8138     
8139     "pengiriman_bali",
8140     
8141     
8142     
8143     
8144     
8145     "pengiriman_balikpapan",
8146     
8147     
8148     
8149     
8150     
8151     "pengiriman_bandar lampung",
8152     
8153     
8154     
8155     
8156     
8157     "pengiriman_bandung",
8158     
8159     
8160     
8161     
8162     
8163     "pengiriman_bandung barat",
8164     
8165     
8166     
8167     
8168     
8169     "pengiriman_banjarmasin",
8170     
8171     
8172     
8173     
8174     
8175     "pengiriman_banyumas",
8176     
8177     
8178     
8179     
8180     
8181     "pengiriman_banyuwangi",
8182     
8183     
8184     
8185     
8186     
8187     "pengiriman_batam",
8188     
8189     
8190     
8191     
8192     
8193     
8194     
8195     
8196     
8197     "pengiriman_biak",
8198     
8199     
8200     
8201     
8202     
8203     "pengiriman_binjai",
8204     
8205     
8206     
8207     
8208     
8209     "pengiriman_blitar",
8210     
8211     
8212     
8213     
8214     
8215     "pengiriman_blora",
8216     
8217     
8218     
8219     
8220     
8221     
8222     
8223     
8224     
8225     "pengiriman_bojonegoro",
8226     
8227     
8228     
8229     
8230     
8231     "pengiriman_boyolali",
8232     
8233     
8234     
8235     
8236     
8237     "pengiriman_bukittinggi",
8238     
8239     
8240     
8241     
8242     
8243     "pengiriman_buleleng",
8244     
8245     
8246     
8247     
8248     
8249     "pengiriman_ciamis",
8250     
8251     
8252     
8253     
8254     
8255     "pengiriman_cianjur",
8256     
8257     
8258     
8259     
8260     
8261     "pengiriman_cibinong",
8262     
8263     
8264     
8265     
8266     
8267     "pengiriman_cikarang",
8268     
8269     
8270     
8271     
8272     
8273     "pengiriman_cikupa",
8274     
8275     
8276     
8277     
8278     
8279     "pengiriman_cilacap",
8280     
8281     
8282     
8283     
8284     
8285     "pengiriman_cileunyi",
8286     
8287     
8288     
8289     
8290     
8291     "pengiriman_cimahi",
8292     
8293     
8294     
8295     
8296     
8297     "pengiriman_cirebon",
8298     
8299     
8300     
8301     
8302     
8303     "pengiriman_ciwidey",
8304     
8305     
8306     
8307     
8308     
8309     "pengiriman_deli serdang",
8310     
8311     
8312     
8313     
8314     
8315     "pengiriman_demak",
8316     
8317     
8318     
8319     
8320     
8321     "pengiriman_denpasar",
8322     
8323     
8324     
8325
8326     
8327     
8328     "pengiriman_garut",
8329     
8330     
8331     
8332     
8333     
8334     "pengiriman_gianyar",
8335     
8336     
8337     
8338     
8339     
8340     "pengiriman_gresik",
8341     
8342     
8343     
8344     
8345     
8346     "pengiriman_gunung kidul",
8347     
8348     
8349     
8350
8351     
8352     
8353     "pengiriman_jambi",
8354     
8355     
8356     
8357     
8358     
8359     "pengiriman_jayapura",
8360     
8361     
8362     
8363     
8364     
8365     "pengiriman_jember",
8366     
8367     
8368     
8369     
8370     
8371     "pengiriman_jepara",
8372     
8373     
8374     
8375     
8376     
8377     "pengiriman_jombang",
8378     
8379     
8380     
8381     
8382     
8383     "pengiriman_karanganyar",
8384     
8385     
8386     
8387     
8388     
8389     "pengiriman_karawang",
8390     
8391     
8392     
8393     
8394     
8395     "pengiriman_karo",
8396     
8397     
8398     
8399     
8400     
8401     "pengiriman_kebumen",
8402     
8403     
8404     
8405     
8406     
8407     "pengiriman_kediri",
8408     
8409     
8410     
8411     
8412     
8413     "pengiriman_keerom",
8414     
8415     
8416     
8417     
8418     
8419     "pengiriman_kendal",
8420     
8421     
8422     
8423     
8424     
8425     "pengiriman_klaten",
8426     
8427     
8428     
8429     
8430     
8431     "pengiriman_kudus",
8432     
8433     
8434     
8435     
8436     
8437     "pengiriman_kupang",
8438     
8439     
8440     
8441     
8442     
8443     "pengiriman_lainnya",
8444     
8445     
8446     
8447     
8448     
8449     "pengiriman_lamongan",
8450     
8451     
8452     
8453     
8454     
8455     "pengiriman_lampung",
8456     
8457     
8458     
8459     
8460     
8461     "pengiriman_lampung barat",
8462     
8463     
8464     
8465     
8466     
8467     "pengiriman_lembang",
8468     
8469     
8470     
8471     
8472     
8473     "pengiriman_lombok",
8474     
8475     
8476     
8477     
8478     
8479     "pengiriman_lumajang",
8480     
8481     
8482     
8483     
8484     
8485     "pengiriman_madiun",
8486     
8487     
8488     
8489     
8490     
8491     "pengiriman_magelang",
8492     
8493     
8494     
8495     
8496     
8497     "pengiriman_majalengka",
8498     
8499     
8500     
8501     
8502     
8503     "pengiriman_makassar",
8504     
8505     
8506     
8507     
8508     
8509     "pengiriman_malang",
8510     
8511     
8512     
8513     
8514     
8515     "pengiriman_manado",
8516     
8517     
8518     
8519     
8520     
8521     "pengiriman_medan",
8522     
8523     
8524     
8525     
8526     
8527     "pengiriman_mengwi",
8528     
8529     
8530     
8531     
8532     
8533     "pengiriman_mojokerto",
8534     
8535     
8536     
8537     
8538     
8539     "pengiriman_nganjuk",
8540     
8541     
8542     
8543     
8544     
8545     "pengiriman_ngawi",
8546     
8547     
8548     
8549     
8550     
8551     "pengiriman_padang",
8552     
8553     
8554     
8555     
8556     
8557     "pengiriman_palembang",
8558     
8559     
8560     
8561     
8562     
8563     "pengiriman_pasuruan",
8564     
8565     
8566     
8567     
8568     
8569     "pengiriman_pati",
8570     
8571     
8572     
8573     
8574     
8575     "pengiriman_pekalongan",
8576     
8577     
8578     
8579     
8580     
8581     "pengiriman_pekanbaru",
8582     
8583     
8584     
8585     
8586     
8587     "pengiriman_pemalang",
8588     
8589     
8590     
8591     
8592     
8593     "pengiriman_ponorogo",
8594     
8595     
8596     
8597     
8598     
8599     "pengiriman_pontianak",
8600     
8601     
8602     
8603     
8604     
8605     "pengiriman_probolinggo",
8606     
8607     
8608     
8609     
8610     
8611     "pengiriman_purbalingga",
8612     
8613     
8614     
8615     
8616     
8617     "pengiriman_purwakarta",
8618     
8619     
8620     
8621     
8622     
8623     "pengiriman_purwokerto",
8624     
8625     
8626     
8627     
8628     
8629     "pengiriman_rembang",
8630     
8631     
8632     
8633     
8634     
8635     "pengiriman_riau",
8636     
8637     
8638     
8639     
8640     
8641     "pengiriman_salatiga",
8642     
8643     
8644     
8645     
8646     
8647     "pengiriman_samarinda",
8648     
8649     
8650     
8651     
8652     
8653     "pengiriman_semarang",
8654     
8655     
8656     
8657     
8658     
8659     "pengiriman_sentani",
8660     
8661     
8662     
8663     
8664     
8665     "pengiriman_serang",
8666     
8667     
8668     
8669     
8670     
8671     "pengiriman_sidoarjo",
8672     
8673     
8674     
8675     
8676     
8677     "pengiriman_singkawang",
8678     
8679     
8680     
8681     
8682     
8683     "pengiriman_sragen",
8684     
8685     
8686     
8687     
8688     
8689     "pengiriman_subang",
8690     
8691     
8692     
8693     
8694     
8695     "pengiriman_sukabumi",
8696     
8697     
8698     
8699     
8700     
8701     "pengiriman_sumbawa",
8702     
8703     
8704     
8705     
8706     
8707     "pengiriman_surabaya",
8708     
8709     
8710     
8711     
8712     
8713     "pengiriman_surakarta solo",
8714     
8715     
8716
8717     
8718     "pengiriman_tasikmalaya",
8719     
8720     
8721     
8722     
8723     
8724     "pengiriman_tegal",
8725     
8726     
8727     
8728     
8729     
8730     "pengiriman_timika",
8731     
8732     
8733     
8734     
8735     
8736     "pengiriman_wamena",
8737     
8738     
8739     
8740     
8741     
8742     "pengiriman_wiyung",
8743     
8744     
8745     
8746     
8747     
8748     "pengiriman_wonokromo",
8749     
8750     
8751     
8752     
8753     
8754     "pengiriman_yogyakarta",
8755 
8756   ]
8757   console.log(cityNonJabodetabek)
8758   let non_jabodetabek = []
8759   for(var i=0;i<cityNonJabodetabek.length;i++) {
8760     const obj = {
8761       "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'),
8762       "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'),
8763       "zip": []
8764     }
8765     non_jabodetabek.push(obj)
8766   }
8767   let current_location = getCookie("location_delivery")
8768   $("[name=location]").change(function(){
8769     let v = $(this).val()
8770     let option = []
8771     if(v == 'Jabodetabek') {
8772       for(var i=0;i<jabodetabek.length;i++) {
8773         const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>`
8774         option.push(jabodetabekHtml)
8775       }
8776       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
8777     } else {
8778       for(var i=0;i<non_jabodetabek.length;i++) {
8779         const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>`
8780         option.push(nonjabodetabekHtml)
8781       }
8782       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
8783     }
8784   })
8785 
8786   $("#location-lock-submit").click(function(e){
8787     let select = $("#choose-location")
8788     let value = select.val().toLowerCase()
8789     console.log(value)
8790     if(select.val() == "") {
8791       return alert("Choose Your Location")
8792       e.preventDefault()
8793     }
8794     setCookie("location_delivery",value,1000000);
8795     
8796     location.reload();
8797     
8798   })
8799 
8800   $("#close-popup-delivery").click(function(){
8801     $(".MuiDialog-root").hide()
8802     if(!current_location){
8803       setCookie("location_delivery","jakarta",1000000);
8804       $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta")
8805     }
8806   })
8807   $("#loc_delivery, #loc_delivery_mobile").click(function(){
8808     $(".MuiDialog-root").show()
8809   })
8810 
8811   
8812   if(!current_location){
8813     
8814   } else {
8815     $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location)
8816     console.log(current_location)
8817     $("#choose-location").each(function(){
8818       if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){
8819         $("#jabodetabek").trigger("click")
8820       } else {
8821         $("#non-jabodetabek").trigger("click")
8822       }
8823       $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected")
8824     })
8825   }
8826 
8827   // 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'){
8828   //   $("#timeMalam").attr("disabled", false)
8829   // } else {
8830   //   $("#timeMalam").attr("disabled", true)
8831   // }
8832 
8833   if(current_location && current_location != 'jakarta') {
8834     $("#self-pickup").attr("disabled", true)
8835   }
8836 
8837   function setCookie(name,value,days) {
8838     var expires = "";
8839     if (days) {
8840       var date = new Date();
8841       date.setTime(date.getTime() + (days*24*60*60*1000));
8842       expires = "; expires=" + date.toUTCString();
8843     }
8844     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
8845   }
8846   function getCookie(name) {
8847     var nameEQ = name + "=";
8848     var ca = document.cookie.split(';');
8849     for(var i=0;i < ca.length;i++) {
8850       var c = ca[i];
8851       while (c.charAt(0)==' ') c = c.substring(1,c.length);
8852       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
8853     }
8854     return null;
8855   }
8856 </script>
8856
8857 <!-- One Tap -->
8858     
8858<script>
8859       console.log("Outerbloom...");
8860     </script>
8860
8861   <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block">
8862 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" />
8863 
8863<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
8863
8864 
8864<script>
8865   const widgetConfig = {
8866     id: "clz7897za002cz7otleaz0d3d",
8867     showQuickResponse: false,
8868     quickResponsesData: [],
8869     themeColor: "#ffffff",
8870     widgetText: "",
8871     radiusType: "circle",
8872     widgetIconType: "whatsapp",
8873     position: "right",
8874     storeLogo: "",
8875     storeName: "Outerbloom",
8876     storeDescription: "",
8877     size: "small",
8878     showCard: false,
8879     widgetColorType: "solid",
8880     widgetColor1: "#008069",
8881     widgetColor2: "#008069",
8882     social: {
8883       socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"],
8884       values: {
8885         instagram: {
8886           enabled: false,
8887           value: "",
8888         },
8889         facebook: {
8890           enabled: false,
8891           value: "",
8892         },
8893         email: {
8894           enabled: false,
8895           value: "",
8896         },
8897         x: {
8898           enabled: false,
8899           value: "",
8900         },
8901         tiktok: {
8902           enabled: false,
8903           value: "",
8904         },
8905         linkedin: {
8906           enabled: false,
8907           value: "",
8908         },
8909         youtube: {
8910           enabled: false,
8911           value: "",
8912         },
8913       },
8914     },
8915   };
8916 
8917   function initializeWidget() {
8918     if (typeof BBBWidget !== 'undefined') {
8919       BBBWidget.init(widgetConfig);
8920     } else {
8921       setTimeout(initializeWidget, 100);
8922     }
8923   }
8924 
8925   initializeWidget();</script>
8925
8926 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block">
8927 <div style="position: fixed; bottom: 0; right: 0"></div>
8928 
8928<script>
8929 console.info("bitlogin extension version: v2.5.7");
8930 
8931 const googleScript = document.createElement("script");
8932 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client");
8933 document.head.append(googleScript);
8934 
8935 const bitLoginBaseUrl = "https://api.bitbybit.studio";
8936 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`;
8937 
8938 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"}};
8939 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
8939n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}];
8940 const redirectUrl = appearance.redirectLink;
8941 
8942 let locationCacheSet = false;
8943 let errorLocation = false;
8944 let oneTapSet = false;
8945 
8946 let bitloginCache = {
8947   appearance: appearance,
8948   config: config
8949 };
8950 
8951 let isInitializing = false;
8952 const queue = [];
8953 
8954 // Add CSS for the popup
8955 const popupStyles = document.createElement('style');
8956 popupStyles.textContent = `
8957   /* Styles for login popup */
8958   .bitlogin-popup-overlay {
8959     position: fixed;
8960     top: 0;
8961     left: 0;
8962     width: 100%;
8963     height: 100%;
8964     background: rgba(0, 0, 0, 0.45);
8965     backdrop-filter: blur(4px);
8966     display: flex;
8967     align-items: center;
8968     justify-content: center;
8969     opacity: 0;
8970     transition: opacity 0.3s ease-in-out;
8971     z-index: 999999;
8972   }
8973   
8974   .bitlogin-popup-overlay.visible {
8975     opacity: 1;
8976   }
8977   
8978   .bitlogin-popup {
8979     background: #FFFFFF;
8980     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
8981     border-radius: 16px;
8982     width: 100%;
8983     max-width: 560px;
8984     display: flex;
8985     overflow: hidden;
8986     position: relative;
8987     opacity: 0;
8988     transform: translateY(20px) scale(0.98);
8989     transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
8990   }
8991   
8992   .bitlogin-popup.visible {
8993     opacity: 1;
8994     transform: translateY(0) scale(1);
8995   }
8996   
8997   .bitlogin-popup-with-image {
8998     max-width: 640px;
8999   }
9000   
9001   .bitlogin-popup-right-image {
9002     flex-direction: row-reverse;
9003   }
9004   
9005   .bitlogin-popup-image {
9006     object-fit: cover;
9007     width: 50%;
9008     height: auto;
9009   }
9010   
9011   .bitlogin-popup-content {
9012     padding: 32px;
9013     position: relative;
9014     width: 50%;
9015   }
9016   
9017   .bitlogin-popup-close {
9018     position: absolute;
9019     top: 16px;
9020     right: 16px;
9021     background: white;
9022     border: none;
9023     width: 30px;
9024     height: 30px;
9025     display: flex;
9026     align-items: center;
9027     justify-content: center;
9028     cursor: pointer;
9029     transition: background-color 0.2s;
9030     color: inherit;
9031     padding: 0;
9032   }
9033   
9034   .bitlogin-popup-close:hover {
9035     background-color: #e5e5e5;
9036   }
9037   
9038   .bitlogin-popup-buttons {
9039     display: flex;
9040     flex-direction: column;
9041     gap: 12px;
9042     margin-top: 24px;
9043   }
9044   
9045   /* Button styles within popup - override width for popup buttons */
9046   .bitlogin-popup-buttons #google-login,
9047   .bitlogin-popup-buttons #facebook-login,
9048   .bitlogin-popup-buttons #apple-login,
9049   .bitlogin-popup-buttons #whatsapp-login,
9050   .bitlogin-popup-buttons #microsoft-login,
9051   .bitlogin-popup-buttons #twitter-login,
9052   .bitlogin-popup-buttons #amazon-login,
9053   .bitlogin-popup-buttons #instagram-login,
9054   .bitlogin-popup-buttons #magic-link-login,
9055   .bitlogin-popup-buttons #mobile-app-login {
9056     width: 100% !important;
9057     font-family: inherit !important;
9058   }
9059   
9060   .bitlogin-popup-footer {
9061     margin-top: 32px;
9062     text-align: center;
9063     font-size: 14px;
9064     opacity: 0.6;
9065   }
9066   
9067   /* Modern Typography */
9068   .bitlogin-popup h2 {
9069     margin-top: 12px;
9070     font-size: 21px !important;
9071     line-height: 1.2 !important;
9072     font-weight: 700 !important;
9073     letter-spacing: -0.02em !important;
9074     margin-bottom: 16px !important;
9075   }
9076   
9077   .bitlogin-popup-header {
9078     position: relative;
9079     margin-bottom: 24px;
9080   }
9081   
9082   /* Modern gradient accent */
9083   .bitlogin-popup-content > div {
9084     font-size: 16px !important;
9085     line-height: 1.2 !important;
9086     opacity: 0.85 !important;
9087   }
9088   
9089   /* Enhanced button interactions */
9090   .bitlogin-popup-buttons button {
9091     position: relative;
9092     overflow: hidden;
9093   }
9094   
9095   @keyframes ripple {
9096     0% {
9097       transform: scale(0, 0);
9098       opacity: 0.5;
9099     }
9100     100% {
9101       transform: scale(100, 100);
9102       opacity: 0;
9103     }
9104   }
9105   
9106   /* Responsive adjustments */
9107   @media (max-width: 640px) {
9108     .bitlogin-popup {
9109       max-width: 90%;
9110       width: 90%;
9111       margin: 0 16px;
9112     }
9113     
9114     .bitlogin-popup-with-image {
9115       flex-direction: column !important;
9116     }
9117     
9118     .bitlogin-popup-image {
9119       width: 100%;
9120       height: 180px;
9121     }
9122     
9123     .bitlogin-popup-content {
9124       padding: 24px;
9125     }
9126     
9127     .bitlogin-popup h2 {
9128       font-size: 24px !important;
9129     }
9130   }
9131 `;
9132 
9133 document.head.appendChild(popupStyles);
9134 
9135 // Add fonts link for different font options
9136 const fontsLink = document.createElement('link');
9137 fontsLink.rel = 'stylesheet';
9138 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';
9139 document.head.appendChild(fontsLink);
9140 
9141 (async () => {
9142   try {
9143     let host = window.location.host;
9144     if (host === "admin.shopify.com") {
9145       host = `${window.location.pathname.split("/")[2]}.myshopify.com`;
9146     }
9147 
9148     const urlSearchParams = new URLSearchParams(window.location.search);
9149     const checkoutUrl = urlSearchParams.get("checkout_url");
9150 
9151     async function init({ inputRef, index }) {
9152       if (isInitializing) {
9153         queue.push(() => init({ inputRef, index }));
9154         return;
9155       }
9156 
9157       isInitializing = true;
9158 
9159       try {
9160         let bitLoginSectionRoot = document.querySelector(
9161           `.bitlogin-root[data-index="${index}"]`
9162         );
9163 
9164         const formRef = inputRef?.closest(
9165           "form:not([action='/account/recover'])"
9166         );
9167 
9168         if (formRef && !bitLoginSectionRoot) {
9169           await getLocation();
9170 
9171           bitLoginSectionRoot = document.createElement(`div`);
9172 
9173           bitLoginSectionRoot.setAttribute("class", "bitlogin-root");
9174           bitLoginSectionRoot.setAttribute("data-index", `${index}`);
9175 
9176           updateAppearance({
9177             formRef,
9178             rootRef: bitLoginSectionRoot,
9179             host,
9180           });
9181         }
9182       } catch (err) {
9183         console.error(`error while initiating bitlogin extensions`, err);
9184       } finally {
9185         // Release the lock
9186         isInitializing = false;
9187 
9188         // Check if there are pending items in the queue
9189         if (queue.length > 0) {
9190           // Process the next function in the queue
9191           const nextFunction = queue.shift();
9192           nextFunction();
9193         }
9194       }
9195     }
9196 
9197     function initAll() {
9198       return new Promise((resolve, reject) => {
9199         setTimeout(async () => {
9200           const inputRefs = document.querySelectorAll(
9201             'input[name="customer[email]"]'
9202           );
9203 
9204           for (let i = 0; i < inputRefs.length; i++) {
9205             const currentInputRef = inputRefs[i];
9206             const isVisible = isElementVisible(currentInputRef);
9207 
9208             if (isVisible) {
9209               await init({ inputRef: currentInputRef, index: i });
9210             }
9211           }
9212 
9213           resolve("ok");
9214         }, 100);
9215       });
9216     }
9217 
9218     const observer = new MutationObserver((mutationsList) => {
9219       for (let mutation of mutationsList) {
9220         initAll();
9221       }
9222     });
9223 
9224     observer.observe(document.body, {
9225       childList: true,
9226       subtree: true,
9227       attributes: true,
9228     });
9229 
9230     initAll();
9231 
9232     if (appearance.googleOneTap) {
9233       setupOneTap({ host, checkoutUrl });
9234     }
9235 
9236     // Initialize popup
9237     await initPopup(host);
9238   } catch (error) {
9239     console.error("Error initializing BitLogin:", error);
9240   }
9241 })();
9242 
9243 async function initPopup(host) {
9244   // Check if user is already logged in using Liquid checks properly
9245   const isLoggedIn = false || 
9246                     document.querySelector('.customer-logout-link') || 
9247                     document.querySelector('.account-link') || 
9248                     window.location.pathname.includes('/account');
9249   
9250   if (isLoggedIn) {
9251     return; // User is logged in, don't show popup
9252   }
9253 
9254   try {
9255     // Fetch the popup configuration
9256     const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`)
9257       .then(res => res.json())
9258       .catch(err => {
9259         console.error('Error fetching popup configuration:', err);
9260         return null;
9261       });
9262 
9263     if (!popupConfig || !popupConfig.enabled) {
9264       return;
9264 // Don't show popup if disabled or config not found
9265     }
9266 
9267     // Create popup after 10 seconds
9268     setTimeout(() => {
9269       // Check if user is still on the page and still not logged in
9270       if (document.visibilityState === 'visible') {
9271         // Additional check in case user logged in during the 10 second wait
9272         const currentlyLoggedIn = false || 
9273                               document.querySelector('.customer-logout-link') || 
9274                               document.querySelector('.account-link');
9275         
9276         if (!currentlyLoggedIn) {
9277           createLoginPopup(popupConfig, host);
9278         }
9279       }
9280     }, 10000);
9281   } catch (error) {
9282     console.error('Error initializing popup:', error);
9283   }
9284 }
9285 
9286 function createLoginPopup(popupConfig, host) {
9287   // Font mapping
9288   const fontFamilyMap = {
9289     system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
9290     montserrat: 'Montserrat, sans-serif',
9291     roboto: 'Roboto, sans-serif',
9292     open_sans: 'Open Sans, sans-serif',
9293     noto_sans: 'Noto Sans, sans-serif',
9294     lato: 'Lato, sans-serif',
9295     poppins: 'Poppins, sans-serif',
9296     quicksand: 'Quicksand, sans-serif',
9297     raleway: 'Raleway, sans-serif',
9298     pt_sans: 'PT Sans, sans-serif',
9299     oswald: 'Oswald, sans-serif',
9300   };
9301 
9302   // Create overlay
9303   const overlay = document.createElement('div');
9304   overlay.className = 'bitlogin-popup-overlay';
9305   
9306   // Create popup container with appropriate styling
9307   const popup = document.createElement('div');
9308   popup.className = 'bitlogin-popup';
9309 
9310   if (popupConfig.layout === 'default') {
9311     popup.style.maxWidth = '400px';
9312   }
9313   
9314   // Function to close the popup
9315   const closePopup = () => {
9316     overlay.classList.remove('visible');
9317     popup.classList.remove('visible');
9318     setTimeout(() => {
9319       if (document.body.contains(overlay)) {
9320         document.body.removeChild(overlay);
9321       }
9322     }, 300);
9323   };
9324   
9325   // Add click handler to the overlay to close when clicking outside
9326   overlay.addEventListener('click', (event) => {
9327     // Close only if clicking directly on the overlay, not its children
9328     if (event.target === overlay) {
9329       closePopup();
9330     }
9331   });
9332   
9333   // Add escape key handler to close popup
9334   document.addEventListener('keydown', (event) => {
9335     if (event.key === 'Escape' && document.body.contains(overlay)) {
9336       closePopup();
9337     }
9338   });
9339 
9340   // Create layout with image if specified
9341   let contentWrapper;
9342   if (popupConfig.layout !== 'default' && popupConfig.popupImage) {
9343     popup.classList.add('bitlogin-popup-with-image');
9344     
9345     if (popupConfig.layout === 'right') {
9346       popup.classList.add('bitlogin-popup-right-image');
9347     }
9348     
9349     // Add image
9350     const image = document.createElement('img');
9351     image.className = 'bitlogin-popup-image';
9352     image.src = popupConfig.popupImage;
9353     image.alt = 'Login';
9354     image.loading = 'lazy';
9355     popup.appendChild(image);
9356     
9357     // Create content container
9358     contentWrapper = document.createElement('div');
9359     contentWrapper.className = 'bitlogin-popup-content';
9360 
9361     if (popupConfig.layout === 'right') {
9362       const closeButton = document.createElement('button');
9363       closeButton.className = 'bitlogin-popup-close';
9364       closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png">
9365         <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9366       </svg>`;
9367       closeButton.setAttribute('aria-label', 'Close');
9368       closeButton.onclick = closePopup;
9369   
9370       popup.appendChild(closeButton);
9371     }
9372   } else {
9373     contentWrapper = document.createElement('div');
9374     contentWrapper.className = 'bitlogin-popup-content';
9375     contentWrapper.style.width = '100%';
9376   }
9377 
9378   // Set background style
9379   if (popupConfig.backgroundTheme === 'gradient') {
9380     contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`;
9381   } else {
9382     contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor;
9383   }
9384 
9385   // Apply font family
9386   contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important');
9387 
9388   if (popupConfig.layout !== 'right') {
9389     const closeButton = document.createElement('button');
9390     closeButton.className = 'bitlogin-popup-close';
9391     closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://img
9391store.io/images/2025/10/26/logo-olxtoto.png">
9392       <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9393     </svg>`;
9394     closeButton.setAttribute('aria-label', 'Close');
9395     closeButton.onclick = closePopup;
9396   
9397     contentWrapper.appendChild(closeButton);
9398   }
9399 
9400   // Add heading with subtle animation effect
9401   const header = document.createElement('div');
9402   header.className = 'bitlogin-popup-header';
9403   
9404   const heading = document.createElement('h2');
9405   heading.textContent = popupConfig.headingText || 'Sign in for exclusive benefits';
9406   heading.style.color = popupConfig.fontColor;
9407   header.appendChild(heading);
9408 
9409   // Add body text with improved formatting
9410   const bodyText = document.createElement('div');
9411   bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.';
9412   bodyText.style.color = popupConfig.fontColor;
9413   header.appendChild(bodyText);
9414   
9415   contentWrapper.appendChild(header);
9416 
9417   // Create buttons container with modern styling
9418   const buttonsContainer = document.createElement('div');
9419   buttonsContainer.className = 'bitlogin-popup-buttons';
9420   
9421   // Add social buttons
9422   const providerLabels = {
9423     'GOOGLE': 'Continue with Google',
9424     'FACEBOOK': 'Continue with Facebook',
9425     'APPLE': 'Continue with Apple',
9426     'WHATSAPP': 'Continue with WhatsApp',
9427     'MAGIC_LINK': 'Continue with Email',
9428   };
9429 
9430   // Add first login provider button
9431   if (popupConfig.loginProvider1 !== 'NONE') {
9432     const buttonConfig = {
9433       theme: popupConfig.colorScheme || 'match',
9434       customColor: popupConfig.textColor,
9435       format: 'contentFlex',
9436       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()],
9437       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9438       style: popupConfig.style || 'rounded',
9439       size: popupConfig.size || 'medium',
9440       colorScheme: popupConfig.colorScheme || 'match',
9441       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9442       textColor: popupConfig.textColor || '#FFFFFF',
9443       outlineColor: popupConfig.outlineColor || '#3B82F6',
9444       host: host
9445     };
9446     
9447     const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig);
9448     
9449     // Handle click event - this overrides the default click handler in createSocialLoginButton
9450     button1.onclick = () => {
9451       onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host });
9452       closePopup();
9453     };
9454     
9455     buttonsContainer.appendChild(button1);
9456   }
9457 
9458   // Add second login provider button if enabled
9459   if (popupConfig.loginProvider2 !== 'NONE') {
9460     const buttonConfig = {
9461       theme: popupConfig.colorScheme || 'match',
9462       customColor: popupConfig.textColor,
9463       format: 'contentFlex',
9464       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()],
9465       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9466       style: popupConfig.style || 'rounded',
9467       size: popupConfig.size || 'medium',
9468       colorScheme: popupConfig.colorScheme || 'match',
9469       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9470       textColor: popupConfig.textColor || '#FFFFFF',
9471       outlineColor: popupConfig.outlineColor || '#3B82F6',
9472       host: host
9473     };
9474     
9475     const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig);
9476     
9477     // Handle click event - this overrides the default click handler in createSocialLoginButton
9478     button2.onclick = () => {
9479       onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host });
9480       closePopup();
9481     };
9482     
9483     buttonsContainer.appendChild(button2);
9484   }
9485 
9486   contentWrapper.appendChild(buttonsContainer);
9487 
9488   // Append content to popup
9489   popup.appendChild(contentWrapper);
9490   
9491   // Append popup to overlay
9492   overlay.appendChild(popup);
9493   
9494   // Append overlay to body
9495   document.body.appendChild(overlay);
9496   
9497   // Trigger animation with slight delay for better perceived performance
9498   setTimeout(() => {
9499     overlay.classList.add('visible');
9500     setTimeout(() => {
9501       popup.classList.add('visible');
9502     }, 50);
9503   }, 10);
9504 }
9505 
9506 window.addEventListener("load", () => {
9507   window.addEventListener("message", (event) => {
9508     const receivedData = event.data;
9509 
9510     if (receivedData.type === "authorize") {
9511       post(
9512         JSON.parse(
9513           JSON.stringify({
9514             "customer[email]": receivedData.email,
9515             "customer[password]": receivedData.password,
9516             form_type: "customer_login",
9517             utf8: "✓",
9518             return_url: redirectUrl,
9519           })
9520         )
9521       );
9522     } else if (receivedData.type === "rejected") {
9523       if (receivedData.reason === "customer_account_disabled") {
9524         showAlert(
9525           "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step."
9526         );
9527       } else if (receivedData.reason === "customer_entry_created_email_not_set") {
9528         showAlert(
9529           "A new account was created but requires an email address. Please update your account with a valid email address to continue."
9530         );
9531       } else if (receivedData.reason === "customer_exist_email_not_set") {
9532         showAlert(
9533           "Your existing account is missing an email address. Please contact support to update your account with a valid email address."
9534         );
9535       }
9536     }
9537 
9538     if (receivedData.type === "customer_authenticated") {
9539       // Dispatch a custom event that merchants can listen for to implement their custom logic
9540       const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', {
9541         detail: {
9542           provider: receivedData.provider,
9543           customer: receivedData.customer,
9544           shopifyCustomerCreated: receivedData.shopifyCustomerCreated
9545         }
9546       });
9547       
9548       // Dispatch the event on the window object so merchants can listen for it
9549       window.dispatchEvent(customerAuthEvent);
9550       
9551     }
9552   });
9553 });
9554 
9555 // Reusable functions for social login buttons
9556 function createSocialLoginButton(provider, config = {}) {
9557   const {
9558     theme = 'match',
9559     customColor = null,
9560     format = 'contentFlex',
9561     buttonText = null,
9562     hasShadow = true,
9563     style = 'rounded',
9564     size = 'medium',
9565     colorScheme = 'match',
9566     backgroundColor = '#3B82F6',
9567     textColor = '#FFFFFF',
9568     outlineColor = '#3B82F6',
9569     rootRef = null,
9570     host = null
9571   } = config;
9572   
9573   // Create button element with appropriate ID and attributes
9574   const button = document.createElement('button');
9575   button.id = `${provider.toLowerCase()}-login`;
9576   button.type = 'button';
9577   
9578   // Set the inner SVG based on provider
9579   switch (provider.toUpperCase()) {
9580     case 'GOOGLE':
9581       button.innerHTML = googleLoginIcon(theme, customColor);
9582       break;
9583     case 'FACEBOOK':
9584       button.innerHTML = facebookLoginIcon(theme, customColor);
9585       break;
9586     case 'APPLE':
9587       button.innerHTML = appleLoginIcon(theme, customColor);
9588       break;
9589     case 'WHATSAPP':
9590       button.innerHTML = whatsappLoginIcon(theme, customColor);
9591       break;
9592     case 'MICROSOFT':
9593       button.innerHTML = microsoftLoginIcon(theme, customColor);
9594       break;
9595     case 'TWITTER':
9596       button.innerHTML = twitterLoginIcon(theme, customColor);
9597       break;
9598     case 'AMAZON':
9599       button.innerHTML = amazonLoginIcon(theme, customColor);
9600       break;
9601     case 'INSTAGRAM':
9602       button.innerHTML = instagramLoginIcon(theme, customColor);
9603       break;
9604     case 'MAGIC_LINK':
9605       button.innerHTML = magicLinkLoginIcon(theme, customColor);
9606       break;
9607     case 'MOBILE_APP':
9608       button.innerHTML = mobileAppLoginIcon(theme, customColor);
9609       break;
9610     case 'LINKEDIN':
9611       button.innerHTML = linkedinLoginIcon(theme, customColor);
9612       break;
9613   }
9614   
9615   // Add text if format isn't icon-only and buttonText is provided
9616   if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) {
9617     button.innerHTML += `<p>${buttonText}</p>`;
9618   }
9619   
9620   // Apply styling
9621   // Shadow
9622   if (hasShadow) {
9623     const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`;
9624     button.style["box-shadow"] = shadowProperties;
9625   }
9626   
9627   // Border radius
9628   const radiusProperties =
9629     style === "rounded"
9630       ? "8px"
9631       : style === "square"
9632       ? "0px"
9633       : style === "fullRounded"
9634       ? format === "wrapperFlexContainerOnlyLogo"
9635         ? "50%"
9636         : "50px"
9637       : undefined;
9638   button.style["border-radius"] = radiusProperties;
9639   
9640   // Size
9641   const sizeProperties =
9642     size === "medium"
9643       ? "12px"
9644       : size === "small"
9645       ? "8px"
9646       : size === "large"
9647       ? "16px"
9648       : "8px";
9649 
9650   button.style["padding-block"] = sizeProperties;
9651 
9652   // Format styling
9653   if (format) {
9654     if (
9655       format === "contentFlexReverse" ||
9656       format === "contentFlexCenterReverse"
9657     ) {
9658       const flexDir = `row-reverse`;
9659       button.style["flex-direction"] = flexDir;
9660     }
9661     
9662     if (
9663       format === "contentFlexCenter" ||
9664       format === "contentFlexCenterReverse"
9665     ) {
9666       const justifyContent = `center`;
9667       button.style["justify-content"] = justifyContent;
9668     } else if (
9669       format === "contentFlex" ||
9670       format === "contentFlexReverse"
9671     ) {
9672       const buttonTextElement = button.querySelector("p");
9673       if (buttonTextElement) {
9674         buttonTextElement.style["flex-grow"] = 1;
9675         buttonTextElement.style["text-align"] = "center";
9676       }
9677     }
9678 
9679     if (format === "wrapperFlexContainerOnlyLogo" && rootRef) {
9680       rootRef.style["flex-direction"] = "row";
9681       rootRef.style["gap"] = "8px";
9682       rootRef.style["display"] = "flex";
9683       rootRef.style["flex-wrap"] = "wrap";
9684 
9685       const sizeMapping = {
9686         small: "52px",
9687         medium: "62px",
9688         large: "72px",
9689       };
9690       const buttonSize = sizeMapping[size] || "52px";
9691 
9692       button.style["margin"] = 0;
9693       button.style["width"] = buttonSize;
9694       button.style["height"] = buttonSize;
9695       button.style["display"] = "flex";
9696       button.style["align-items"] = "center";
9697       button.style["justify-content"] = "center";
9698 
9699       const svgElement = button.querySelector("svg");
9700       if (svgElement) {
9701         svgElement.style["flex"] = "none";
9702       }
9703     }
9704   }
9705 
9706   // Color scheme styling
9707   if (colorScheme === "black") {
9708     button.classList.add("scheme-black");
9709   } else if (colorScheme === "white") {
9710     button.classList.add("scheme-white");
9711   } else if (colorScheme === "custom") {
9712     button.style["background-color"] = backgroundColor;
9713     button.style["color"] = textColor;
9714     button.style["border-color"] = outlineColor;
9715 
9716     const darkenColor = (color, percentage) => {
9717       const value = parseInt(color.slice(1), 16);
9718       const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage));
9719       const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage));
9720       const b = Math.max(0, (value & 0xff) - (0xff * percentage));
9721       return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
9722     };
9723 
9724     button.addEventListener("mouseover", () => {
9725       button.style["background-color"] = darkenColor(backgroundColor, 0.2);
9726     });
9727     button.addEventListener("mouseout", () => {
9728       button.style["background-color"] = backgroundColor;
9729     });
9730   } else if (colorScheme === "match") {
9731     button.classList.add("scheme-match");
9732   } else if (colorScheme === "matchOutline") {
9733     button.classList.add("scheme-match-outline");
9734   }
9735   
9736   // Add click event listener if host is provided
9737   if (host) {
9738     button.addEventListener("click", () => 
9739       onClickSocialLogin({ provider: provider.toLowerCase(), host })
9740     );
9741   }
9742   
9743   return button;
9744 }
9745 
9746 function setupSocialLoginButtons(config, rootRef, data, host) {
9747   // Clear any existing content
9748   rootRef.innerHTML = '';
9749 
9750   const sortedEnabledProviders = config
9751     .filter(c => c.enabledWeb)
9752     .sort((a, b) => a.position - b.position);
9753 
9754   sortedEnabledProviders.forEach(provider => {
9755     const key = provider.provider;
9756     const lowerKey = key.toLowerCase();
9757 
9758     const buttonText = data.format !== "wrapperFlexContainerOnlyLogo"
9759       ? (lowerKey === 'twitter'
9760           ? data.buttonList.twitter.replace('Twitter', 'X')
9761           : data.buttonList[lowerKey])
9762       : null;
9763 
9764     const button = createSocialLoginButton(key, {
9765       theme: data.colorScheme || 'match',
9766       customColor: data.textColor,
9767       format: data.format,
9768       buttonText: buttonText,
9769       hasShadow: data.hasShadow !== undefined ? data.hasShadow : true,
9770       style: data.style,
9771       size: data.size,
9772       colorScheme: data.colorScheme,
9773       backgroundColor: data.backgroundColor,
9774       textColor: data.textColor,
9775       outlineColor: data.outlineColor,
9776       rootRef: rootRef,
9777       host: host
9778     });
9779 
9780     rootRef.appendChild(button);
9781   });
9782 
9783   return rootRef;
9784 }
9785 
9786 function updateAppearance({ formRef, rootRef, host }) {
9787   if (!formRef) return;
9788 
9789   const data = bitloginCache.appearance || {
9790     style: "square",
9791     hasShadow: false,
9792     colorScheme: "match",
9793     backgroundColor: "#FFFFFF",
9794     outlineColor: "#000000",
9795     textColor: "#000000",
9796     position: "bottom",
9797     hideDivider: "false",
9798     dividerText: "OR",
9799     size: "small",
9800     format: "contentFlex",
9801     language: "en",
9802     buttonText: "Continue with",
9803     redirectLink: "/account",
9804     googleOneTap: true,
9805     googleOneTapBanner: true,
9806     customerTag: "bitLogin",
9807     redirectOneTapDesktop: null,
9808     redirectOneTapMobile: null,
9809     buttonList: {
9810       google: "Continue with Google",
9811       facebook: "Continue with Facebook",
9812       apple: "Continue with Apple",
9813       whatsapp: "Continue with WhatsApp",
9814       microsoft: "Continue with Microsoft",
9815       twitter: "Continue with X",
9816       amazon: "Continue with Amazon",
9817       instagram: "Continue with Instagram",
9818       magic_link: "Continue with Magic Link",
9819       mobile_app: "Continue with Mobile App",
9820       linkedin: "Continue with LinkedIn",
9821     },
9822   };
9823 
9824   // Use the new setupSocialLoginButtons function to create and configure all buttons
9825   setupSocialLoginButtons(bitloginCache.config, rootRef, data, host);
9826 
9827   let divider;
9828 
9829   if (!data.hideDivider) {
9830     divider = document.createElement("div");
9831     const dividerStyle = "text-align:center;margin-block:16px";
9832     divider.setAttribute("style", dividerStyle);
9833     divider.innerHTML = data.dividerText;
9834   }
9835 
9836   if (data.position === "bottom") {
9837     if (divider) {
9838       formRef.appendChild(divider);
9839     }
9840     formRef.appendChild(rootRef);
9841   } else if (data.position === "top") {
9842     if (divider) {
9843       formRef.prepend(divider);
9844     }
9845     formRef.prepend(rootRef);
9846   }
9847 }
9848 
9849 
9850 async function onClickSocialLogin({ provider, host }) {
9851   const rand = Math.random().toString();
9852 
9853   const locationQueryString = bitloginCache.location
9854     ? `&${objectToQueryString(bitloginCache.location)}`
9855     : "";
9856 
9857   const width = 800;
9858   const height = 600;
9859   const left = (window.screen.width / 2) - (width / 2);
9860   const top = (window.screen.height / 2) - (height / 2) - 50;
9861 
9862   if(provider === 'whatsapp') {
9863     window.open(
9864       `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`,
9865       "mywindow",
9866       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
9867     );
9868   } else {
9869     window.open(
9870       `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`,
9871       "mywindow",
9872       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
9873     );
9874   }
9875 }
9876 
9877 function objectToQueryString(obj) {
9878   return Object.keys(obj)
9879     .map((key) => {
9880       return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
9881     })
9882     .join("&");
9883 }
9884 
9885 async function getLocation() {
9886   if (locationCacheSet) return;
9887 
9888   try {
9889     const response = await fetch("https://ipapi.co/json/");
9890 
9891     if (!response.ok) {
9892       console.error(`error retrieving location...`, response.status);
9893       errorLocation = true;
9894     } else {
9895       const data = await response.json();
9896 
9897       const { city, region, country_name, country_code } = data;
9898 
9899       const formattedLocationData = {
9900         city,
9901         region,
9902         country_name,
9903         country_code,
9904       };
9905 
9906       bitloginCache.location = formattedLocationData;
9907       locationCacheSet = true;
9908       errorLocation = false;
9909     }
9910   } catch (err) {
9911     console.error(`error fetching location`, err);
9912     errorLocation = true;
9913   }
9914 }
9915 
9916 function post(params) {
9917   // The rest of this code assumes you are not using a library.
9918   // It can be made less verbose if you use one.
9919   const form = document.createElement("form");
9920   form.method = "post";
9921   form.action = `/account/login`;
9922   form.acceptCharset = "UTF-8";
9923   form.setAttribute("data-login-with-shop-sign-in", "true");
9924   form.setAttribute("novalidate", "novalidate");
9925 
9926   for (const key in params) {
9927     if (params.hasOwnProperty(key)) {
9928       const hiddenField = document.createElement("input");
9929       hiddenField.type = "hidden";
9930       hiddenField.name = key;
9931       hiddenField.value = params[key];
9932 
9933       form.appendChild(hiddenField);
9934     }
9935   }
9936 
9937   document.body.appendChild(form);
9938   form.submit();
9939 }
9940 
9941 async function setupOneTap({ host, checkoutUrl }) {
9942   if (oneTapSet) return;
9943 
9944   const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]'));
9945   const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]'));
9946 
9947   const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
9948   const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop);
9949 
9950   const currentPath = window.location.pathname.toLowerCase();
9951   const currentUrl = window.location.href.toLowerCase();
9952 
9953   const shouldHideGoogleOneTap = redirectList.some(({ value }) => {
9954     switch (value) {
9955       case 'home':
9956         return currentPath === '/';
9957       case 'product':
9958         return currentPath.startsWith('/products/');
9959       case 'collections':
9960         return currentPath.startsWith('/collections');
9961       case 'cart':
9962         return currentPath === '/cart';
9963       case 'checkout':
9964         return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you');
9965       case 'thank_you':
9966         return currentPath.includes('/thank_you');
9967       case 'account':
9968         return currentPath.startsWith('/account');
9969       case 'pages':
9970         return currentPath.startsWith('/pages');
9971       case 'blogs':
9972         return currentPath === '/blogs' || currentPath === '/blogs/news';
9973       case 'blog_post':
9974         return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3;
9975       default:
9976         return false;
9977     }
9978   });
9979 
9980   if (shouldHideGoogleOneTap) return;
9981 
9982   const oneTapClientId = bitloginCache.config.find(
9983     (config) => config.provider === "GOOGLE"
9984   )?.clientId;
9985 
9986   const isLoggedIn = false;
9987 
9988   if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) {
9989     const googleOneTapButton = document.createElement("div");
9990     googleOneTapButton.setAttribute("id", "g_id_onload");
9991     googleOneTapButton.setAttribute("data-client_id", oneTapClientId);
9992     googleOneTapButton.setAttribute("data-context", "signin");
9993     googleOneTapButton.setAttribute(
9994       "data-callback",
9995       "handleGoogleOneTapResponse"
9996     );
9997     googleOneTapButton.setAttribute("data-itp_support", "true");
9998 
9999     const googleOneTapScript = document.createElement("script");
10000 
10001     googleOneTapScript.innerHTML += `
10002           function handleGoogleOneTapResponse(response) {
10003               if (response.credential) {
10004                   const idToken = response.credential;
10005                   fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', {
10006                       method: 'POST',
10007                       headers: { 'Content-Type': 'application/json' },
10008                       body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location })
10009                   }).then(response => {
10010                       response.json().then((data) => {
10011                         post(
10012                           JSON.parse(
10013                             JSON.stringify({
10014                               "customer[email]": data.email,
10015                               "customer[password]": data.password,
10016                               form_type: "customer_login",
10017                               utf8: "✓",
10018                               return_url: redirectUrl,
10019                             })
10020                           )
10021                         );
10022                       });  
10023                   }).catch(error => {
10024                       console.error('Error occurred:', error);
10025                   });
10026               } else {
10027                   console.error('No credential available');
10028               }
10029           }
10030        `;
10031 
10032     document.body.append(googleOneTapButton);
10033     document.body.append(googleOneTapScript);
10034   }
10035 
10036   oneTapSet = true;
10037 }
10038 
10039 const googleLoginIcon = (
10040   theme,
10041   customColor
10042 ) => `
10043 ${
10044   theme === "match" || theme === "matchOutline" || theme === "custom"
10045     ? `<svg
10046     xmlns='https://imgstore.io/images/2025/10/26/logo-olxtoto.png'
10047     xmlns:v='https://vecta.io/nano'
10048     width='24'
10049     height='24'
10050     viewBox='0 0 186.69 190.5'
10051   >
10052     <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="${
10053       theme === "custom" ? customColor : "#4285f4"
10054     }"/><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="${
10055         theme === "custom" ? customColor : "#34a853"
10056       }"/><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="${
10057         theme === "custom" ? customColor : "#fbbc05"
10058       }"/><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="${
10059         theme === "custom" ? customColor : "#ea4335"
10060       }" clip-path="none" mask="none"/></g>
10061   </svg>`
10062     : `<svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="25" height="25" viewBox="0 0 25 25" fill="none">
10063 <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="${
10064         theme !== "black" ? "black" : "white"
10065       }"/>
10066 <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="${
10067         theme !== "black" ? "black" : "white"
10068       }"/>
10069 <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="${
10070         theme !== "black" ? "black" : "white"
10071       }"/>
10072 <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="${
10073         theme !== "black" ? "black" : "white"
10074       }"/>
10075 </svg>`
10076 }`;
10077 
10078 const appleLoginIcon = (
10079   theme,
10080   customColor
10081 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png">
10082 <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="${
10083   theme === "custom"
10084     ? customColor
10085     : theme === "match" || theme === "black"
10086     ? "white"
10087     : "black"
10088 }"/>
10089 </svg>`;
10090 
10091 const facebookLoginIcon = (
10092   theme,
10093   customColor
10094 ) => `
10095 ${
10096   theme === "match" || theme === "matchOutline" || theme === "custom"
10097     ? `<svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="25" viewBox="0 0 24 25" fill="none">
10098     <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="${
10099       theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3"
10100     }"/>
10101     <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="${
10102       theme === "match" ? "#1778f2" : "transparent"
10103     }"/>
10104     </svg>`
10105     : `<svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="25" viewBox="0 0 24 25" fill="none">
10106 <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="${
10107         theme === "black" ? "white" : "black"
10108       }"/>
10109 <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="${
10110         theme === "black" ? "black" : "white"
10111       }"/>
10112 </svg>`
10113 }`;
10114 
10115 const whatsappLoginIcon = (
10116   theme,
10117   customColor
10118 ) => `<svg
10119   viewBox="0 0 24 24"
10120   fill="none"
10121   width="24"
10122   height="25"
10123   xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"
10124 >
10125   <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
10126   <g
10127     id="SVGRepo_tracerCarrier"
10128     stroke-linecap="round"
10129     stroke-linejoin="round"
10130   ></g>
10131   <g id="SVGRepo_iconCarrier">
10132     <path
10133       fill-rule="evenodd"
10134       clip-rule="evenodd"
10135       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"
10136       fill="${
10137         theme === "match" || theme === "black"
10138           ? "#ffffff"
10139           : theme === "white"
10140           ? "#000000"
10141           : theme === "matchOutline"
10142           ? "#25d366"
10143           : customColor
10144       }"
10145     ></path>
10146   </g>
10147 </svg>`;
10148 
10149 const microsoftLoginIcon = (
10150   theme,
10151   customColor
10152 ) => `<svg
10153 xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"
10154 width="25"
10155 height="25"
10156 viewBox="0 0 48 48">
10157 <path fill="${
10158   theme === "match" || theme == "matchOutline"
10159     ? "#ff5722"
10160     : theme === "black"
10161     ? "#ffffff"
10162     : theme === "white"
10163     ? "#000000"
10164     : customColor
10165 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path>
10166 <path
10167   fill="${
10168     theme === "match" || theme == "matchOutline"
10169       ? "#4caf50"
10170       : theme === "black"
10171       ? "#ffffff"
10172       : theme === "white"
10173       ? "#000000"
10174       : customColor
10175   }"
10176   d="M26 6H42V22H26z"
10177   transform="rotate(-180 34 14)"></path>
10178 <path
10179   fill="${
10180     theme === "match" || theme == "matchOutline"
10181       ? "#ffc107"
10182       : theme === "black"
10183       ? "#ffffff"
10184       : theme === "white"
10185       ? "#000000"
10186       : customColor
10187   }"
10188   d="M26 26H42V42H26z"
10189   transform="rotate(-180 34 34)"></path>
10190 <path fill="${
10191   theme === "match" || theme == "matchOutline"
10192     ? "#03a9f4"
10193     : theme === "black"
10194     ? "#ffffff"
10195     : theme === "white"
10196     ? "#000000"
10197     : customColor
10198 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path>
10199 </svg>`;
10200 
10201 const twitterLoginIcon = (
10202   theme,
10203   customColor
10204 ) => `<svg
10205 xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"
10206 width="25"
10207 height="25"
10208 viewBox="0 0 48 48">
10209 <polygon fill="${
10210   theme === "match" || theme === "black"
10211     ? "#ffffff"
10212     : theme === "matchOutline" || theme === "white"
10213     ? "#000000"
10214     : customColor
10215 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon>
10216 <polygon
10217   fill="${
10218     theme === "match" || theme === "black"
10219       ? "#000000"
10220       : theme === "matchOutline" || theme === "white"
10221       ? "#ffffff"
10222       : customColor
10223   }"
10224   fill-rule="evenodd"
10225   points="31.143,41 7.82,7 16.777,7 40.1,41"
10226   clip-rule="evenodd"></polygon>
10227 <path
10228   fill="${
10229     theme === "match" || theme === "black"
10230       ? "#ffffff"
10231       : theme === "matchOutline" || theme === "white"
10232       ? "#000000"
10233       : customColor
10234   }"
10235   d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path>
10236 </svg>`;
10237 
10238 const amazonLoginIcon = (theme, customColor) => `
10239  <svg
10240       xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"
10241       x="0px"
10242       y="0px"
10243       width="25"
10244       height="25"
10245       viewBox="0 0 50 50"
10246     >
10247       <path
10248         fill="${
10249           theme === "black"
10250             ? "#ffffff"
10251             : theme === "matchOutline"
10252             ? "#FF9900"
10253             : theme === "white" || theme === "match"
10254             ? "#000000"
10255             : customColor
10256         }"
10257         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"
10258       ></path>
10259     </svg>`;
10260 
10261 const instagramLoginIcon= (theme, customColor) => `
10262     <svg
10263       width="25"
10264       height="25"
10265       viewBox="0 0 25 24"
10266       fill="none"
10267       xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png">
10268       <path
10269         fill-rule="evenodd"
10270         clip-rule="evenodd"
10271         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.
1027164321C8.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"
10272         fill="url(#paint0_radial_378_3535)" />
10273       <path
10274         fill-rule="evenodd"
10275         clip-rule="evenodd"
10276         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"
10277         fill="url(#paint0_radial_378_3535)" />
10278       <path
10279         fill-rule="evenodd"
10280         clip-rule="evenodd"
10281         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.
1028164321C8.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"
10282         fill="url(#paint0_radial_378_3535)" />
10283       <path
10284         fill-rule="evenodd"
10285         clip-rule="evenodd"
10286         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"
10287         fill="url(#paint1_radial_378_3535)" />
10288       <defs>
10289         <radialGradient
10290           id="paint0_radial_378_3535"
10291           cx="0"
10292           cy="0"
10293           r="1"
10294           gradientUnits="userSpaceOnUse"
10295           gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)">
10296           <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" />
10297           <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" />
10298           <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" />
10299           <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" />
10300           <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" />
10301         </radialGradient>
10302         <radialGradient
10303           id="paint1_radial_378_3535"
10304           cx="0"
10305           cy="0"
10306           r="1"
10307           gradientUnits="userSpaceOnUse"
10308           gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)">
10309           <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" />
10310           <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" />
10311           <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" />
10312           <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" />
10313         </radialGradient>
10314       </defs>
10315     </svg>`;
10316 
10317 const magicLinkLoginIcon = (theme, customColor) => `
10318   <svg
10319     xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"
10320     width="25"
10321     height="25"
10322     fill="none"
10323     viewBox="0 0 25 25"
10324   >
10325     <path
10326       fill="${
10327         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor
10328       }"
10329       fillRule="evenodd"
10330       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"
10331       clipRule="evenodd"
10332     ></path>
10333   </svg>`;
10334 
10335 const mobileAppLoginIcon = (theme, customColor) => `
10336   <svg
10337     width="20"
10338     height="24"
10339     viewBox="0 0 12 16"
10340     fill="none"
10341     xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"
10342   >
10343     <path
10344       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"
10345       fill=${
10346         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor
10347       }
10348     />
10349   </svg>
10350 `;
10351 
10352 const linkedinLoginIcon = (theme, customColor) => `
10353   <svg
10354     xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"
10355     width="25"
10356     height="24"
10357     viewBox="0 0 25 24"
10358     fill="none"
10359   >
10360     <path
10361       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"
10362       fill=${
10363         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor
10364       }
10365     />
10366   </svg>
10367 `;
10368 
10369 function isElementVisible(element) {
10370   return (
10371     document.body.contains(element) &&
10372     getComputedStyle(element).display !== "none" &&
10373     getComputedStyle(element).visibility !== "hidden" &&
10374     getComputedStyle(element).opacity !== "0" &&
10375     !element.hasAttribute("hidden") &&
10376     !isAncestorHidden(element)
10377   );
10378 }
10379 
10380 function isAncestorHidden(element) {
10381   let parent = element.parentElement;
10382   while (parent) {
10383     if (
10384       getComputedStyle(parent).display === "none" ||
10385       getComputedStyle(parent).visibility === "hidden" ||
10386       getComputedStyle(parent).opacity === "0" ||
10387       parent.hasAttribute("hidden")
10388     ) {
10389       return true;
10390     }
10391     parent = parent.parentElement;
10392   }
10393   return false;
10394 }
10395 
10396 function showAlert(message) {
10397   const alertBox = document.createElement("div");
10398   alertBox.textContent = message;
10399   alertBox.style.position = "fixed";
10400   alertBox.style.top = "20px";
10401   alertBox.style.right = "-300px"; // Start off-screen
10402   alertBox.style.backgroundColor = "#000000"; // Black background
10403   alertBox.style.color = "#ffffff"; // White text
10404   alertBox.style.padding = "15px";
10405   alertBox.style.borderRadius = "8px";
10406   alertBox.style.zIndex = "1000";
10407   alertBox.style.transition =
10408     "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading
10409   alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth
10410 
10411   document.body.appendChild(alertBox);
10412 
10413   // Slide in
10414   requestAnimationFrame(() => {
10415     alertBox.style.right = "20px"; // Move into view
10416     alertBox.style.opacity = "1"; // Ensure opacity is set to 1
10417   });
10418 
10419   // Slide out and remove the alert after a few seconds
10420   setTimeout(() => {
10421     alertBox.style.opacity = "0"; // Fade out
10422     alertBox.style.right = "-300px"; // Move out of view
10423 
10424     // Wait for the transition to finish before removing the element
10425     setTimeout(() => {
10426       document.body.removeChild(alertBox);
10427     }, 500); // Match this duration with the exit transition duration
10428   }, 3000);
10429 }
10430 </script>
10430
10431 
10432 <style>
10433     .daftarku-fixed-footer {
10434             display: flex;
10435             justify-content: space-around;
10436             position: fixed;
10437             background: linear-gradient(to bottom, #02228c 0%, #0e1838, #000000 100%);
10438             box-shadow: 0 0 12px #ffd700;
10439             outline: none;
10440             padding: 5px 0;
10441             box-shadow: 0 0 0 0 2px 2px #198f01;
10442             left: 0;
10443             right: 0;
10444             bottom: 0;
10445             z-index: 99;
10446             border-radius: 40px 40px 0px 0px;
10447             border-style:dashed;
10448             
10449         }
10450 
10451         .daftarku-fixed-footer a {
10452             flex-basis: calc((100% - 15px*6)/ 5);
10453             text-decoration: none;
10454             display: flex;
10455             flex-direction: column;
10456             justify-content: center;
10457             align-items: center;
10458             color: #fff;
10459             max-width: 75px;
10460             font-size: 12px;
10461             font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
10462         }
10463 
10464         .daftarku-fixed-footer a:hover {
10465             font-weight: bold;
10466         }
10467 
10468         .daftarku-fixed-footer .center {
10469             transform: scale(1.5) translateY(-5px);
10470             background: center no-repeat;
10471             background-size: contain;
10472             background-color: inherit;
10473             border-radius: 50%;
10474         }
10475 
10476         .daftarku-fixed-footer img {
10477             max-width: 20px;
10478             margin-bottom: 0;
10479             max-height: 20px;
10480         }
10481 </style>
10482     
10483     <div class="daftarku-fixed-footer">
10484     <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noopener" target="_blank">
10485         <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/promo.png" alt="PROMOSI">
10486         PROMO
10487     </a>
10488     <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noopener" target="_blank">
10489         <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/login.png" alt="LOGIN">
10490         LOGIN
10491     </a>
10492     <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noopener" target="_blank" class="tada">
10493         <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/daftar.png" alt="DAFTAR">
10494         DAFTAR
10495     </a>
10496     <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noopener" target="_blank">
10497         <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/08/27/icon-whatsapp.png" alt="WHATSAPP">
10498         WHATSAPP
10499     </a>
10500     <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noopener" target="_blank"
10501         class="js_live_chat_link live-chat-link">
10502         <img class="live-chat-icon" layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/06/17/live-chat.png" alt="Live Chat">
10503         Live Chat
10504     </a>
10505 </div>
10506 </div>
10507 
10507<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":"d53b2de49a69467c8322a8603a49ee3d","r":1,"spa":2}' crossorigin="anonymous"></script>
10507
10508</body>
10509 </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.