PageSourceSearch

https://88megagacor.com/

html 88megagacor.com collected 2026-10-09 21:53:09 UTC 292,838 bytes, 7,608 lines download raw bytes

1<!DOCTYPE html>
2<html lang="id"><head>
3  
4  <title>88MEGA Gacor : Platform Game Slot Online Siap Kasih Kejutan Luar Biasa!</title>
5  <meta name="robots" content="index,follow">
6  <link rel="canonical" href="https://88megagacor.com/">
7  <link rel="amphtml" href="https://gogo.88megagacor.one/back/">
8      <link rel="alternate" hreflang="id-id" href="https://gogo.88megagacor.one/back/"/>
9      <link rel="alternate" href="https://gogo.88megagacor.one/back/"/>
10      <link rel="alternate" hreflang="id" href="https://gogo.88megagacor.one/back/"/>
11      <link rel="alternate" hreflang="en" href="https://gogo.88megagacor.one/back/"/>
12      <link rel="alternate" hreflang="x-default" href="https://gogo.88megagacor.one/back/"/>
13  <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
14  
14<script
15    nonce="se3iyzEHMc9FQEB4wSyd0w==">window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments) } gtag("consent", "default", { ad_storage: "denied", ad_user_data: "denied", ad_personalization: "denied", analytics_storage: "granted", wait_for_update: 500 }); gtag("js", new Date); gtag("config", "G-0LSM1YJSPZ", { send_page_view: !0, linker: { domains: ["plazait.co.id", "www.plazait.co.id"] } }); window.ga4Ecomm = { viewItem: function (e) { if (!window.gtag) return; try { gtag("event", "view_item", { currency: e.currency || "IDR", value: e.value || 0, items: [{ item_id: e.item_id || "", item_name: e.item_name || "", item_brand: e.item_brand || "", item_category: e.item_category || "", price: e.price || 0, quantity: 1 }] }) } catch (t) { } }, addToCart: function (e) { if (!window.gtag) return; try { gtag("event", "add_to_cart", { currency: e.currency || "IDR", value: (e.price || 0) * (e.quantity || 1), items: [{ item_id: e.item_id || "", item_name: e.item_name || "", item_brand: e.item_brand || "", item_category: e.item_category || "", price: e.price || 0, quantity: e.quantity || 1 }] }) } catch (t) { } } };</script>
15
16  <meta property="og:locale" content="id_ID">
17  <meta property="og:site_name" content="88MEGA MAXWIN">
18  <meta property="og:type" content="product">
19  <meta property="og:title" content="88MEGA Gacor : Platform Game Slot Online Siap Kasih Kejutan Luar Biasa!">
20  <meta property="og:description"
21    content="Selamat datang di 88MEGA Gacor, destinasi utama para pecinta game slot online yang mengutamakan keseruan, keamanan, dan peluang menang maksimal!">
22  <meta property="og:url" content="https://88megagacor.com/">
23  <meta property="og:image" content="/image.png">
24  <meta property="og:image:alt" content="88MEGA Gacor : Platform Game Slot Online Siap Kasih Kejutan Luar Biasa!">
25  <meta property="product:price:amount" content="5000">
26  <meta property="product:price:currency" content="IDR">
27  <meta property="product:availability" content="out of stock">
28  <meta name="keywords" content="88MEGA 88MEGA LOGIN" />
29  <meta name="twitter:card" content="summary_large_image">
30  <meta name="twitter:title" content="88MEGA Gacor : Platform Game Slot Online Siap Kasih Kejutan Luar Biasa!">
31  <meta name="twitter:description"
32    content="Selamat datang di 88MEGA Gacor, destinasi utama para pecinta game slot online yang mengutamakan keseruan, keamanan, dan peluang menang maksimal!">
33  <meta name="twitter:image" content="/image.png">
34  <link rel="icon" type="image/png" href="/88megaicon.webp">
35  <meta name="google-site-verification" content="-BWoj3fikODRY-E6e0RP8Gsoaayk26iP6VVV5ca14II" />
36  <meta name="google-site-verification" content="mSjkewbb_m_MOLfGa0gg8pDFO03CVr-7k4V9B5HJMzs" />
37  <meta name="google-site-verification" content="X56V5iIKkMXXvSTbj-6kRsZvic90WYsekyWscMZV7PQ" />
38
39  
39<script type="application/ld+json">
40{
41  "@context": "https://schema.org",
42  "@type": "WebSite",
43  "@id": "/#website",
44  "url": "https://88megagacor.com/",
45  "name": "88MEGA",
46  "inLanguage": "id",
47  "potentialAction": {
48    "@type": "SearchAction",
49    "target": "https://88megagacor.com/",
50    "query-input": "required name=search_term_string"
51  }
52}
53</script>
53
54
55  
55<script type="application/ld+json">
56{
57  "@context": "https://schema.org",
58  "@type": "Organization",
59  "@id": "/#organization",
60  "name": "88MEGA",
61  "url": "https://88megagacor.com/",
62  "logo": "/88megalogo.webp"
63}
64</script>
64
65
66  
66<script type="application/ld+json">
67{
68  "@context": "https://schema.org",
69  "@type": "Product",
70  "name": "88MEGA Gacor : Platform Game Slot Online Siap Kasih Kejutan Luar Biasa!",
71  "sku": "1S83N0880RID",
72  "image": [
73    "/image.png"
74  ],
75  "url": "https://88megagacor.com/",
76  "description": "88MEGA menyediakan informasi link akses bandar togel online dan Toto Macau. Temukan informasi yang tersusun rapi, akses melalui perangkat desktop maupun mobile, serta layanan pelanggan yang tersedia selama 24 jam.",
77  "category": "88MEGA",
78  "brand": {
79    "@type": "Brand",
80    "name": "88MEGA"
81  },
82  "offers": {
83  "@type": "Offer",
84  "url": "https://88megagacor.com/",
85  "priceCurrency": "IDR",
86  "price": "5000",
87  "priceValidUntil": "2027-03-01",
88  "availability": "https://schema.org/OutOfStock",
89  "itemCondition": "https://schema.org/NewCondition",
90  "seller": {
91    "@type": "Organization",
92    "name": "88MEGA",
93    "url": "https://88megagacor.com/"
94  },
95  "shippingDetails": {
96    "@type": "OfferShippingDetails",
97    "shippingDestination": {
98      "@type": "DefinedRegion",
99      "addressCountry": "ID"
100    },
101    "shippingRate": {
102      "@type": "MonetaryAmount",
103      "value": "0",
104      "currency": "IDR"
105    },
106    "deliveryTime": {
107      "@type": "ShippingDeliveryTime",
108      "handlingTime": {
109        "@type": "QuantitativeValue",
110        "minValue": 0,
111        "maxValue": 1,
112        "unitCode": "DAY"
113      },
114      "transitTime": {
115        "@type": "QuantitativeValue",
116        "minValue": 1,
117        "maxValue": 5,
118        "unitCode": "DAY"
119      }
120    }
121  },
122  "hasMerchantReturnPolicy": {
123    "@type": "MerchantReturnPolicy",
124    "applicableCountry": "ID",
125    "returnPolicyCategory": "https://schema.org/MerchantReturnNotPermitted"
126  }
127},
128"aggregateRating": {
129  "@type": "AggregateRating",
130  "ratingValue": "5",
131  "reviewCount": "6",
132  "bestRating": "5",
133  "worstRating": "1"
134},
135  "review": [
136    {
137      "@type": "Review",
138      "author": {
139        "@type": "Person",
140        "name": "Kevin Surya"
141      },
142      "reviewBody": "Saya sudah bergabung dengan 88MEGA selama beberapa bulan dan hasilnya sangat memuaskan. Proses deposit dan withdraw cepat serta permainan yang adil membuat saya betah bermain.",
143      "reviewRating": {
144        "@type": "Rating",
145        "ratingValue": "5",
146        "bestRating": "5",
147        "worstRating": "1"
148      }
149    },
150    {
151      "@type": "Review",
152      "author": {
153        "@type": "Person",
154        "name": "Adrian Wijaya"
155      },
156      "reviewBody": "Awalnya ragu karena portal game online sering terdengar mencurigakan. Namun setelah mencoba 88MEGA saya melihat potensi jackpot yang nyata. Sangat direkomendasikan untuk pemula.",
157      "reviewRating": {
158        "@type": "Rating",
159        "ratingValue": "5",
160        "bestRating": "5",
161        "worstRating": "1"
162      }
163    },
164    {
165      "@type": "Review",
166      "author": {
167        "@type": "Person",
168        "name": "Denny Saputra"
169      },
170      "reviewBody": " Yang saya suka dari 88MEGA adalah adanya data statistik permainan yang lengkap. Saya bisa menganalisis sebelum bermain sehingga keputusan yang diambil lebih matang dan terencana.",
171      "reviewRating": {
172        "@type": "Rating",
173        "ratingValue": "5",
174        "bestRating": "5",
175        "worstRating": "1"
176      }
177    },
178    {
179      "@type": "Review",
180      "author": {
181        "@type": "Person",
182        "name": "Farhan Wibowo"
183      },
184      "reviewBody": "Layanan pelanggan 88MEGA sangat membantu saat saya mengalami kendala teknis. Responnya cepat dan solusi yang diberikan tepat sasaran. Ini penting bagi pengguna yang serius.",
185      "reviewRating": {
186        "@type": "Rating",
187        "ratingValue": "5",
188        "bestRating": "5",
189        "worstRating": "1"
190      }
191    },
192    {
193      "@type": "Review",
194      "author": {
195        "@type": "Person",
196        "name": "Michael Tan"
197      },
198      "reviewBody": "Navigasi antarmuka situs sangat mudah dipahami bahkan untuk pemain pemula. Layanan bantuan pengelola juga sangat cepat memberikan panduan lengkap saat saya mengalami pertanyaan seputar fitur terbaru permainan.",
199      "reviewRating": {
200        "@type": "Rating",
201        "ratingValue": "5",
202        "bestRating": "5",
203        "worstRating": "1"
204      }
205    },
206    {
207      "@type": "Review",
208      "author": {
209        "@type": "Person",
210        "name": "Riko Prasetyo"
211      },
212      "reviewBody": "Kecepatan akses server dan pembaruan sistem yang rutin membuat platform ini layak menjadi pilihan utama. Sangat direkomendasikan bagi siapa saja yang mencari sarana hiburan game online bermutu tinggi di Indonesia.",
213      "reviewRating": {
214        "@type": "Rating",
215        "ratingValue": "5",
216        "bestRating": "5",
217        "worstRating": "1"
218      }
219    }
220  ]
221}
222</script>
222
223
224  
224<script type="application/ld+json">
225{
226  "@context": "https://schema.org",
227  "@type": "BreadcrumbList",
228  "itemListElement": [
229    {
230      "@type": "ListItem",
231      "position": 1,
232      "name": "88MEGA",
233      "item": "https://88megagacor.com/"
234    },
235    {
236      "@type": "ListItem",
237      "position": 2,
238      "name": "ONLINE",
239      "item": "https://88megagacor.com/"
240    },
241    {
242      "@type": "ListItem",
243      "position": 3,
244      "name": "Link Akses 88MEGA",
245      "item": "https://88megagacor.com/"
246    },
247    {
248      "@type": "ListItem",
249      "position": 4,
250      "name": "Pelayanan Meditasi",
251      "item": "https://88megagacor.com/"
252    },
253    {
254      "@type": "ListItem",
255      "position": 5,
256      "name": "Toto Macau 88MEGA GAMPANG MAXWIN",
257      "item": "https://88megagacor.com/"
258    }
259  ]
260}
261</script>
261
262
263
264  
264<script type="application/ld+json">
265{
266  "@context": "https://schema.org",
267  "@type": "FAQPage",
268  "mainEntity": [
269    {
270      "@type": "Question",
271      "name": "Apa itu 88MEGA dan apa saja layanan yang ditawarkan?",
272      "acceptedAnswer": {
273        "@type": "Answer",
274        "text": "88MEGA adalah sebuah portal game online yang menghubungkan pemain dengan berbagai permainan digital populer dan terviral saat ini. Platform ini menawarkan akses ke ratusan game dari penyedia terkemuka yang telah terverifikasi kualitasnya. Setiap permainan yang tersedia di 88MEGA telah melalui proses kurasi ketat untuk memastikan keadilan dan keamanan. Pemain dapat menikmati berbagai kategori game mulai dari yang klasik hingga paling modern. 88MEGA juga menyediakan informasi lengkap tentang setiap game termasuk tingkat kesulitan dan potensi jackpot. Dengan demikian pemain dapat memilih permainan yang paling sesuai dengan preferensi mereka."
275      }
276    },
277    {
278      "@type": "Question",
279      "name": "Apakah 88MEGA aman digunakan untuk bermain game online?",
280      "acceptedAnswer": {
281        "@type": "Answer",
282        "text": "Keamanan merupakan aspek yang sangat diperhatikan oleh 88MEGA dalam setiap layanannya. Portal ini menggunakan sistem enkripsi terkini untuk melindungi data pribadi dan riwayat transaksi pengguna. 88MEGA juga hanya bekerja sama dengan penyedia game yang memiliki lisensi resmi dan reputasi baik di industri. Proses verifikasi akun dilakukan secara ketat untuk mencegah penyalahgunaan oleh pihak tidak bertanggung jawab. Banyak pengguna yang telah menggunakan 88MEGA selama bertahun-tahun tanpa mengalami kendala berarti. Mereka menganggap portal ini cukup terpercaya untuk pengalaman bermain game online jangka panjang."
283      }
284    },
285    {
286      "@type": "Question",
287      "name": "Berapa modal minimum yang diperlukan untuk bergabung di 88MEGA?",
288      "acceptedAnswer": {
289        "@type": "Answer",
290        "text": "88MEGA menawarkan fleksibilitas dalam hal biaya akses dan deposit awal untuk pemain baru. Anda bisa memulai dengan nominal yang sangat terjangkau untuk mencoba berbagai permainan yang tersedia. Hal ini bertujuan untuk memberikan akses seluas-luasnya bagi semua kalangan masyarakat. Namun perlu diingat bahwa potensi jackpot biasanya sebanding dengan tingkat komitmen dan strategi bermain yang diterapkan. Untuk pemula disarankan memulai dengan jumlah kecil terlebih dahulu sambil mempelajari pola permainan. Setelah memahami sistem dan aturan, Anda dapat meningkatkan nominal secara bertahap sesuai kemampuan. Panduan lengkap mengenai biaya tersedia di halaman bantuan 88MEGA."
291      }
292    },
293    {
294      "@type": "Question",
295      "name": "Bagaimana cara menarik jackpot atau hasil kemenangan dari 88MEGA?",
296      "acceptedAnswer": {
297        "@type": "Answer",
298        "text": "Proses penarikan hasil kemenangan di 88MEGA tergolong cepat dan mudah untuk semua pengguna. Anda hanya perlu masuk ke akun pribadi dan memilih opsi penarikan dana yang tersedia. Kemudian tentukan jumlah yang ingin dicairkan sesuai dengan saldo yang dimiliki. Dana akan ditransfer ke rekening bank atau dompet digital yang telah terdaftar sebelumnya. Waktu pemrosesan biasanya berkisar antara beberapa jam hingga satu hari kerja maksimal. 88MEGA tidak memungut biaya tambahan untuk proses penarikan dana ini. Pastikan data rekening Anda sudah benar untuk menghindari keterlambatan atau kesalahan transfer."
299      }
300    },
301    {
302      "@type": "Question",
303      "name": " Apakah ada strategi khusus untuk meraih jackpot di 88MEGA?",
304      "acceptedAnswer": {
305        "@type": "Answer",
306        "text": "Meskipun hasil permainan bersifat acak dan tidak dapat diprediksi, ada beberapa pendekatan yang bisa meningkatkan peluang Anda. 88MEGA menyediakan fitur analisis untuk memantau tren permainan yang sedang populer. Anda juga bisa mempelajari pola dari pemain lain melalui forum komunitas yang tersedia. Manajemen modal dan waktu yang baik sangat dianjurkan agar tidak kehilangan fokus. Disarankan untuk tidak mengejar kerugian dengan meningkatkan taruhan secara gegabah. Konsistensi dan kesabaran sering kali membawa hasil yang lebih baik dalam jangka panjang. Evaluasi rutin terhadap strategi yang digunakan juga sangat membantu meningkatkan peluang jackpot."
307      }
308    },
309    {
310      "@type": "Question",
311      "name": "Apa yang membedakan 88MEGA dengan portal game online lainnya?",
312      "acceptedAnswer": {
313        "@type": "Answer",
314        "text": "Keunggulan utama 88MEGA terletak pada pendekatannya yang terstruktur dan transparan dalam menyajikan game. Bukan sekadar menyediakan akses biasa, tetapi ada elemen edukasi dan panduan yang jelas untuk pemain. 88MEGA juga rutin memberikan bonus dan promosi menarik bagi pengguna setia setiap minggunya. Layanan pelanggannya responsif dan siap membantu 24 jam sehari penuh. Selain itu transparansi dalam hal aturan dan peluang kemenangan membuat pemain lebih percaya diri. Kombinasi faktor inilah yang membuat 88MEGA berbeda dan diminati banyak orang dari berbagai kalangan."
315      }
316    }
317  ]
318}
319</script>
319
320
321  <!-- User Session Data -->
322  <meta name="csrf-token" content="9ce6e4a17f7cc189893df9e47789b13e98829450d516a0cae5ca7b5f43e5dadc">
323  <meta name="user-logged-in" content="false">
324  <meta name="user-id" content="0">
325
326  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
327
328  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/style.css">
329  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/bottom-nav.css">
330  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/search-suggest.css">
331  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-detail.css">
332  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-grid.css">
333  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/site-notice.css">
334  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/benchmark.css">
335  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-filters.css">
336  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/mega-menu-tiles.css">
337  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-compare.css">
338  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-card-actions.css">
339  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/modal.css">
340
341  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/reviews-points.css">
342
343</head>
344
345<body>
346  <header class="topbar">
347    <div class="container topbar-inner">
348      <div class="topbar-left">
349        88MEGA Gacor : Platform Game Slot Online Siap Kasih Kejutan Luar Biasa!
350      </div>
351      <div class="topbar-right">
352        <a href="https://88megagacor.com/">88MEGA</a>
353        <a href="https://88megagacor.com/">LINK ALTERNATIF 88MEGA</a>
354        <a href="https://88megagacor.com/">Daftar</a>
355        <a href="https://88megagacor.com/">Masuk</a>
356      </div>
357    </div>
358  </header>
359  <nav class="navbar">
360    <nav class="navbar-logo" style="width: 100%;">
361      <div class="container nav-inner" style="justify-items: center; justify-content: center;">
362        <a href="/" class="logo-mobile">
363          <img src="/88megalogo.webp" alt="88MEGA" height="100">
364        </a>
365      </div>
366    </nav>
367    <div class="container nav-inner">
368      <a href="/" class="logo">
369        <img src="/88megalogo.webp" alt="88MEGA" height="100">
370      </a>
371
372
373      <form class="search" method="get" action="#">
374        <input type="hidden" name="page" value="produk">
375
376        <!-- Search Icon (Desktop) -->
377        <button type="submit" class="search-icon-btn" id="searchBtn" aria-label="Cari">
378          <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"
379            stroke-linecap="round" stroke-linejoin="round">
380            <circle cx="11" cy="11" r="8" /></circle>
381            <path d="m21 21-4.35-4.35" /></path>
382          </svg>
383        </button>
384
385        <input type="text" name="q" id="searchInput" placeholder="Cari 88MEGA" value="" autocomplete="off">
386
387        <div class="search-suggest" id="searchSuggest" hidden></div>
388      </form>
389
390      <div class="nav-actions">
391        <!--<button class="icon-btn" id="notifBtn" title="Notifikasi">🔔</button>-->
392        <button class="icon-btn cart-indicator" id="cartBtn" title="Keranjang">
393          🛒 <span id="cartCount" class="badge" data-role="cart-badge" aria-live="polite">0</span>
394        </button>
395
396
397        <span id="compareCount" class="badge" data-role="compare-badge" aria-live="polite">0</span>
398        
399
400        <!-- Dynamic login/logout button -->
401        <button class="login-btn" id="loginBtn" aria-label="Masuk">
402          <span class="login-text">Masuk</span>
403          <span class="login-ico" aria-hidden="true">😊</span>
404        </button>
405      </div>
406    </div>
407
408    <div class="container" style="display: flex; align-items: center;">
409
410
411      <div class="mega-cats-wrapper">
412        <div class="mega-cats container" id="megaCatsScroll" style="padding-left: 5px !important;">
413          <a class="" href="https://gogo.88megagacor.one/back/">
414            88MEGA </a>
415          <a class="" href="https://gogo.88megagacor.one/back/">
416            88MEGA DAFTAR </a>
417          <a class="" href="https://gogo.88megagacor.one/back/">
418            88MEGA LOGIN </a>
419          <a class="" href="https://gogo.88megagacor.one/back/">
420            88MEGA SLOT GACOR </a>
421          <a class="" href="https://gogo.88megagacor.one/back/">
422            88MEGA SLOT ONLINE </a>
423          <a class="" href="https://gogo.88megagacor.one/back/">
424            LINK ALTERNATIF 88MEGA </a>
425          <a class="" href="https://gogo.88megagacor.one/back/">
426            88MEGA TERPERCAYA </a>
427        </div>
428        <div class="mega-cats-fade" id="megaCatsFade" style="opacity: 1;"></div>
429      </div>
430    </div>
431  </nav>
432
433  <!-- Panel Mega Menu - Outside navbar for full-screen -->
434  <div class="mm2-panel" data-mm2="panel" role="dialog" aria-label="Kategori">
435    <div class="mm2-view is-active" data-mm2="top"></div>
436    <div class="mm2-view" data-mm2="detail"></div>
437  </div>
438
439  <!-- Backdrop - Outside navbar for full-screen -->
440  <div class="mm2-backdrop" data-mm2="backdrop"></div>
441
442  <!-- Mobile Bottom Navigation -->
443  <nav class="bottom-nav">
444    <div class="bottom-nav-inner">
445      <!-- Home -->
446      <a href="/" class="bottom-nav-item active" id="bottomHomeBtn" data-page="home">
447        <div class="bottom-nav-item-icon">
448          <!-- Outlined icon (default) -->
449          <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
450            stroke-linecap="round" stroke-linejoin="round">
451            <path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" /></path>
452            <polyline points="9 22 9 12 15 12 15 22" /></polyline>
453          </svg>
454          <!-- Filled icon (active) -->
455          <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
456            <path
457              d="M11.47 3.84a.75.75 0 011.06 0l8.69 8.69a.75.75 0 010 1.06l-.03.03a.75.75 0 01-1.06 0l-8.16-8.16-8.16 8.16a.75.75 0 01-1.06 0l-.03-.03a.75.75 0 010-1.06l8.69-8.69z" /></path>
458            <path d="M12 5.5l-7.5 7.5v8.25c0 .414.336.75.75.75h3.75v-6h6v6h3.75a.75.75 0 00.75-.75V13l-7.5-7.5z" /></path>
459          </svg>
460        </div>
461        <span class="bottom-nav-item-label">Home</span>
462      </a>
463
464      <!-- Kategori -->
465      <button class="bottom-nav-item" id="bottomCategoryBtn" data-mm2="trigger" aria-label="Kategori">
466        <div class="bottom-nav-item-icon">
467          <!-- Outlined icon (default) -->
468          <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
469            stroke-linecap="round" stroke-linejoin="round">
470            <line x1="3" y1="12" x2="21" y2="12" /></line>
471            <line x1="3" y1="6" x2="21" y2="6" /></line>
472            <line x1="3" y1="18" x2="21" y2="18" /></line>
473          </svg>
474          <!-- Filled icon (active) -->
475          <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
476            <path
477              d="M3 5.25A.75.75 0 013.75 4.5h16.5a.75.75 0 010 1.5H3.75A.75.75 0 013 5.25zM3 12a.75.75 0 01.75-.75h16.5a.75.75 0 010 1.5H3.75A.75.75 0 013 12zm0 6.75a.75.75 0 01.75-.75h16.5a.75.75 0 010 1.5H3.75a.75.75 0 01-.75-.75z" /></path>
478          </svg>
479        </div>
480        <span class="bottom-nav-item-label">Kategori</span>
481      </button>
482
483      <!-- Keranjang -->
484      <button class="bottom-nav-item" id="bottomCartBtn">
485        <div class="bottom-nav-item-icon">
486          <!-- Outlined icon (default) -->
487          <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
488            stroke-linecap="round" stroke-linejoin="round">
489            <circle cx="9" cy="21" r="1" /></circle>
490            <circle cx="20" cy="21" r="1" /></circle>
491            <path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6" /></path>
492          </svg>
493          <!-- Filled icon (active) -->
494          <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
495            <path
496              d="M2.25 2.25a.75.75 0 000 1.5h1.386c.17 0 .318.114.362.278l2.558 9.592a3.752 3.752 0 00-2.806 3.63c0 .414.336.75.75.75h15.75a.75.75 0 000-1.5H5.378A2.25 2.25 0 017.5 15h11.218a.75.75 0 00.674-.421 60.358 60.358 0 002.96-7.228.75.75 0 00-.525-.965A60.864 60.864 0 005.68 4.509l-.232-.867A1.875 1.875 0 003.636 2.25H2.25zM3.75 20.25a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0zM16.5 20.25a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0z" /></path>
497          </svg>
498          <span class="bottom-nav-item-badge" id="bottomCartCount" style="display: none;">0</span>
499        </div>
500        <span class="bottom-nav-item-label">Keranjang</span>
501      </button>
502
503      <!-- Compare -->
504      <button class="bottom-nav-item" id="bottomCompareBtn">
505        <div class="bottom-nav-item-icon">
506          <!-- Outlined icon (default) -->
507          <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
508            stroke-linecap="round" stroke-linejoin="round">
509            <polyline points="17 11 21 7 17 3" /></polyline>
510            <path d="M21 7H9" /></path>
511            <polyline points="7 21 3 17 7 13" /></polyline>
512            <path d="M15 17H3" /></path>
513          </svg>
514          <!-- Filled icon (active) -->
515          <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
516            <path
517              d="M21.75 6.75a.75.75 0 00-.75-.75H9a.75.75 0 000 1.5h10.19L15.22 11.47a.75.75 0 001.06 1.06l4.5-4.5a.75.75 0 00.22-.53.75.75 0 00-.22-.53l-.03-.03zM8.78 12.47L4.28 16.97a.75.75 0 000 1.06l4.5 4.5a.75.75 0 001.06-1.06L6.06 18H15a.75.75 0 000-1.5H4.81l3.97-3.97a.75.75 0 00-1.06-1.06z" /></path>
518          </svg>
519          <span class="bottom-nav-item-badge" id="bottomCompareCount" style="display:none;">0</span>
520        </div>
521        <span class="bottom-nav-item-label">Compare</span>
522      </button>
523
524      <!-- Chat - Always show, check login in JavaScript -->
525      <button class="bottom-nav-item" id="bottomChatBtn" data-page="chat">
526        <div class="bottom-nav-item-icon">
527          <!-- Outlined icon (default) -->
528          <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
529            opacity="0.85">
530            <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" /></path>
531          </svg>
532          <!-- Filled icon (active) -->
533          <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
534            <path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z" /></path>
535          </svg>
536          <span class="bottom-nav-item-badge" id="bottomChatCount" style="display:none;">0</span>
537        </div>
538        <span class="bottom-nav-item-label">Chat</span>
539      </button>
540
541      <!-- Akun -->
542      <button class="bottom-nav-item" id="bottomLoginBtn">
543        <div class="bottom-nav-item-icon">
544          <!-- Outlined icon (default) -->
545          <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
546            stroke-linecap="round" stroke-linejoin="round">
547            <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" /></path>
548            <circle cx="12" cy="7" r="4" /></circle>
549          </svg>
550          <!-- Filled icon (active) -->
551          <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
552            <path fill-rule="evenodd"
553              d="M7.5 6a4.5 4.5 0 119 0 4.5 4.5 0 01-9 0zM3.751 20.105a8.25 8.25 0 0116.498 0 .75.75 0 01-.437.695A18.683 18.683 0 0112 22.5c-2.786 0-5.433-.608-7.812-1.7a.75.75 0 01-.437-.695z"
554              clip-rule="evenodd" /></path>
555          </svg>
556        </div>
557        <span class="bottom-nav-item-label">Login</span>
558      </button>
559      
560    </div>
561    
562    
563  </nav>
564  <!-- Mobile User Menu Bottom Sheet -->
565
566  
566<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
567    (function () {
568      const btn = document.getElementById('megaMoreBtn');
569      const dd = document.getElementById('megaMoreDropdown');
570      if (!btn || !dd) return;
571
572      function openDD() {
573        dd.hidden = false;
574        btn.setAttribute('aria-expanded', 'true');
575        document.addEventListener('click', outside, { capture: true });
576        document.addEventListener('keydown', esc);
577      }
578      function closeDD() {
579        if (dd.hidden) return;
580        dd.hidden = true;
581        btn.setAttribute('aria-expanded', 'false');
582        document.removeEventListener('click', outside, { capture: true });
583        document.removeEventListener('keydown', esc);
584      }
585      function toggle() { dd.hidden ? openDD() : closeDD(); }
586      function outside(e) {
587        if (!dd.contains(e.target) && e.target !== btn) {
588          closeDD();
589        }
590      }
591      function esc(e) {
592        if (e.key === 'Escape') {
593          closeDD();
594          btn.focus();
595        }
596      }
597      btn.addEventListener('click', toggle);
598    })();
599
600    // ========== HORIZONTAL SCROLL FADE INDICATOR ==========
601    (function () {
602      const megaCats = document.getElementById('megaCatsScroll');
603      const fade = document.getElementById('megaCatsFade');
604      if (!megaCats || !fade) return;
605
606      function updateFade() {
607        const scrollLeft = megaCats.scrollLeft;
608        const scrollWidth = megaCats.scrollWidth;
609        const clientWidth = megaCats.clientWidth;
610        const maxScroll = scrollWidth - clientWidth;
611
612        // Hide fade when scrolled to end (within 10px tolerance)
613        if (maxScroll - scrollLeft <= 10) {
614          fade.style.opacity = '0';
615        } else {
616          fade.style.opacity = '1';
617        }
618      }
619
620      // Update on scroll
621      megaCats.addEventListener('scroll', updateFade, { passive: true });
622
623      // Update on resize
624      window.addEventListener('resize', updateFade, { passive: true });
625
626      // Initial check
627      setTimeout(updateFade, 100);
628    })();
629
630    document.addEventListener('DOMContentLoaded', function () {
631      var input = document.getElementById('searchInput');
632      if (!input) return;
633      input.addEventListener('keydown', function (e) {
634        if (e.key === 'Enter') {
635          e.preventDefault();
636          var form = input.form;
637          if (!form) return;
638          if (typeof form.requestSubmit === 'function') form.requestSubmit();
639          else form.submit();
640        }
641      });
642    });
643
644
645    (function () {
646      const cartBtn = document.getElementById('cartBtn');
647      if (cartBtn) {
648        cartBtn.addEventListener('click', function (e) {
649          e.preventDefault();
650
651          const checkLogin = () => {
652            return window.isUserLoggedIn ? window.isUserLoggedIn() : false;
653          };
654
655          if (checkLogin()) {
656            window.location.href = '/keranjang';
657          } else {
658            showCartLoginModal();
659          }
660        });
661      }
662
663      const loginBtn = document.getElementById('loginBtn');
664      if (loginBtn) {
665        loginBtn.addEventListener('click', function (e) {
666          e.preventDefault();
667          window.location.href = 'https://88megagacor.com/';
668        });
669      }
670
671      const userMenuBtn = document.getElementById('userMenuBtn');
672      const userDropdown = document.getElementById('userDropdown');
673
674      if (userMenuBtn && userDropdown) {
675        function openDropdown() {
676          userDropdown.hidden = false;
677          userMenuBtn.setAttribute('aria-expanded', 'true');
678          document.addEventListener('click', closeOnOutside, { capture: true });
679          document.addEventListener('keydown', closeOnEscape);
680        }
681
682        function closeDropdown() {
683          if (userDropdown.hidden) return;
684          userDropdown.hidden = true;
685          userMenuBtn.setAttribute('aria-expanded', 'false');
686          document.removeEventListener('click', closeOnOutside, { capture: true });
687          document.removeEventListener('keydown', closeOnEscape);
688        }
689
690        function closeOnOutside(e) {
691          if (!userDropdown.contains(e.target) && e.target !== userMenuBtn) {
692            closeDropdown();
693          }
694        }
695
696        function closeOnEscape(e) {
697          if (e.key === 'Escape') {
698            closeDropdown();
699            userMenuBtn.focus();
700          }
701        }
702
703        userMenuBtn.addEventListener('click', function (e) {
704          e.preventDefault();
705          userDropdown.hidden ? openDropdown() : closeDropdown();
706        });
707
708        // Close dropdown when clicking profile links
709        userDropdown.querySelectorAll('[data-close-dropdown]').forEach(link => {
710          link.addEventListener('click', function () {
711            closeDropdown();
712          });
713        });
714      }
715
716      // Bottom nav profile button - toggle mobile bottom sheet
717      const bottomProfileBtn = document.getElementById('bottomProfileBtn');
718      const mobileUserSheet = document.getElementById('mobileUserSheet');
719      const mobileUserSheetBackdrop = document.getElementById('mobileUserSheetBackdrop');
720
721      if (bottomProfileBtn && mobileUserSheet) {
722        function openMobileSheet() {
723          mobileUserSheet.hidden = false;
724          document.body.style.overflow = 'hidden';
725          // Trigger animation
726          requestAnimationFrame(() => {
727            mobileUserSheet.classList.add('active');
728          });
729        }
730
731        function closeMobileSheet() {
732          mobileUserSheet.classList.remove('active');
733          document.body.style.overflow = '';
734          setTimeout(() => {
735            mobileUserSheet.hidden = true;
736          }, 300);
737        }
738
739        bottomProfileBtn.addEventListener('click', function (e) {
740          e.preventDefault();
741          openMobileSheet();
742        });
743
744        if (mobileUserSheetBackdrop) {
745          mobileUserSheetBackdrop.addEventListener('click', closeMobileSheet);
746        }
747
748        // Close on escape key
749        document.addEventListener('keydown', function (e) {
750          if (e.key === 'Escape' && !mobileUserSheet.hidden) {
751            closeMobileSheet();
752          }
753        });
754
755        // Close sheet when clicking profile links
756        mobileUserSheet.querySelectorAll('[data-close-sheet]').forEach(link => {
757          link.addEventListener('click', function () {
758            closeMobileSheet();
759          });
760        });
761      }
762
763      // Handle Google avatar error in bottom-nav (fallback to initials)
764      const bottomNavAvatar = document.querySelector('.bottom-nav-avatar-img');
765      if (bottomNavAvatar) {
766        bottomNavAvatar.addEventListener('error', function () {
767          const initials = this.getAttribute('data-fallback-initials') || 'U';
768          const initialsDiv = document.createElement('div');
769          initialsDiv.className = 'bottom-nav-avatar-initials';
770          initialsDiv.textContent = initials;
771          this.parentNode.replaceChild(initialsDiv, this);
772        });
773      }
774
775      // Mobile logout button
776      const mobileLogoutBtn = document.getElementById('mobileLogoutBtn');
777      if (mobileLogoutBtn) {
778        mobileLogoutBtn.addEventListener('click', async function (e) {
779          e.preventDefault();
780
781          // Check push notification before logout
782          if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') {
783            const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification();
784            if (!confirmLogout) {
785              return; // User cancelled logout
786            }
787          }
788
789          const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || '';
790
791          try {
792            const response = await fetch('/auth/logout', {
793              method: 'POST',
794              credentials: 'same-origin',
795              headers: {
796                'Content-Type': 'application/json',
797                'X-CSRF-Token': getCsrfToken()
798              },
799              body: JSON.stringify({
800                csrf_token: getCsrfToken()
801              })
802            });
803
804            if (response.ok) {
805              if (window.guestCart && typeof window.guestCart.clear === 'function') {
806                window.guestCart.clear();
807              }
808              window.location.href = '/login?logged_out=1';
809            } else {
810              console.error('Logout failed');
811              window.location.href = '/logout';
812            }
813          } catch (error) {
814            console.error('Logout error:', error);
815            window.location.href = '/logout';
816          }
817        });
818      }
819
820      const logoutBtn = document.getElementById('logoutBtn');
821      if (logoutBtn) {
822        logoutBtn.addEventListener('click', async function (e) {
823          e.preventDefault();
824
825          // Check push notification before logout
826          if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') {
827            const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification();
828            if (!confirmLogout) {
829              return; // User cancelled logout
830            }
831          }
832
833          const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || '';
834
835          try {
836            const response = await fetch('/auth/logout', {
837              method: 'POST',
838              credentials: 'same-origin',
839              headers: {
840                'Content-Type': 'application/json',
841                'X-CSRF-Token': getCsrfToken()
842              },
843              body: JSON.stringify({
844                csrf_token: getCsrfToken()
845              })
846            });
847
848            if (response.ok) {
849              if (window.guestCart && typeof window.guestCart.clear === 'function') {
850                window.guestCart.clear();
851              }
852
853              window.location.href = '/login?logged_out=1';
854            } else {
855              console.error('Logout failed');
856              window.location.href = '/logout';
857            }
858          } catch (error) {
859            console.error('Logout error:', error);
860            window.location.href = '/logout';
861          }
862        });
863      }
864
865      const wishlistBtn = document.getElementById('wishlistBtn');
866      const notifBtn = document.getElementById('notifBtn');
867
868      if (wishlistBtn) {
869        wishlistBtn.addEventListener('click', function (e) {
870          e.preventDefault();
871          alert('Fitur wishlist akan segera tersedia!');
872        });
873      }
874
875      if (notifBtn) {
876        notifBtn.addEventListener('click', function (e) {
877          e.preventDefault();
878          alert('Fitur notifikasi akan segera tersedia!');
879        });
880      }
881    })();
882
883    // ========== MOBILE BOTTOM NAVIGATION ==========
884    (function initBottomNav() {
885      // Sync cart badge with bottom nav
886      function syncBottomCartBadge() {
887        const mainBadge = document.getElementById('cartCount');
888        const bottomBadge = document.getElementById('bottomCartCount');
889        if (mainBadge && bottomBadge) {
890          const count = mainBadge.textContent;
891          bottomBadge.textContent = count;
892          bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none';
893        }
894      }
895
896      // Sync compare badge with bottom nav
897      function syncBottomCompareBadge() {
898        const mainBadge = document.getElementById('compareCount');
899        const bottomBadge = document.getElementById('bottomCompareCount');
900        if (mainBadge && bottomBadge) {
901          const count = mainBadge.textContent;
902          bottomBadge.textContent = count;
903          bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none';
904        }
905      }
906
907      // Initial sync
908      syncBottomCartBadge();
909      syncBottomCompareBadge();
910
911      // Observe badge changes
912      const observer = new MutationObserver(function () {
913        syncBottomCartBadge();
914        syncBottomCompareBadge();
915      });
916
917      const cartBadge = document.getElementById('cartCount');
918      const compareBadge = document.getElementById('compareCount');
919
920      if (cartBadge) observer.observe(cartBadge, { childList: true, characterData: true, subtree: true });
921      if (compareBadge) observer.observe(compareBadge, { childList: true, characterData: true, subtree: true });
922
923      // Bottom Cart Button
924      const bottomCartBtn = document.getElementById('bottomCartBtn');
925      if (bottomCartBtn) {
926        bottomCartBtn.addEventListener('click', function (e) {
927          e.preventDefault();
928
929          const checkLogin = () => {
930            return window.isUserLoggedIn ? window.isUserLoggedIn() : false;
931          };
932
933          if (checkLogin()) {
934            window.location.href = '/keranjang';
935          } else {
936            showCartLoginModal();
937          }
938        });
939      }
940
941      // Bottom Compare Button
942      const bottomCompareBtn = document.getElementById('bottomCompareBtn');
943      if (bottomCompareBtn) {
944        bottomCompareBtn.addEventListener('click', function (e) {
945          e.preventDefault();
946
947          // Close chat widget if open
948          if (window.plazaChat && window.plazaChat.isWidgetOpen) {
949            window.plazaChat.closeWidget();
950          }
951
952          const mainCompareBtn = document.getElementById('compareBtn');
953          if (mainCompareBtn) {
954            mainCompareBtn.click();
955          }
956        });
957      }
958
959      // Bottom Category Button - triggers mega menu
960      const bottomCategoryBtn = document.getElementById('bottomCategoryBtn');
961      if (bottomCategoryBtn) {
962        bottomCategoryBtn.addEventListener('click', function (e) {
963          e.preventDefault();
964          // Trigger desktop mega menu
965          const desktopTrigger = document.querySelector('.mm2-trigger:not(#bottomCategoryBtn)');
966          if (desktopTrigger) {
967            desktopTrigger.click();
968          }
969        });
970      }
971
972      // Bottom Login Button
973      const bottomLoginBtn = document.getElementById('bottomLoginBtn');
974      if (bottomLoginBtn) {
975        bottomLoginBtn.addEventListener('click', function (e) {
976          e.preventDefault();
977          window.location.href = '/login';
978        });
979      }
980
981      // Bottom Chat Button
982      const bottomChatBtn = document.getElementById('bottomChatBtn');
983      if (bottomChatBtn) {
984        bottomChatBtn.addEventListener('click', function (e) {
985          e.preventDefault();
986
987          // Trigger chat widget (try multiple times if needed)
988          const triggerChat = () => {
989            const chatToggle = document.getElementById('chat-toggle-btn');
990            if (chatToggle) {
991              chatToggle.click();
992              return true;
993            }
994            return false;
995          };
996
997          // Immediate attempt
998          if (!triggerChat()) {
999            // Retry after 100ms if not found
1000            setTimeout(() => {
1001              if (!triggerChat()) {
1002                // Last resort: manually show popup
1003                const popup = document.getElementById('chat-popup');
1004                if (popup) {
1005                  popup.style.display = 'block';
1006                }
1007              }
1008            }, 100);
1009          }
1010        });
1011      }
1012
1013      // Sync chat unread badge
1014      function syncBottomChatBadge() {
1015        const chatBadge = document.getElementById('chat-unread-badge');
1016        const bottomChatBadge = document.getElementById('bottomChatCount');
1017        if (chatBadge && bottomChatBadge) {
1018          const count = chatBadge.textContent;
1019          bottomChatBadge.textContent = count;
1020          bottomChatBadge.style.display = chatBadge.style.display;
1021        }
1022      }
1023
1024      // Observe chat badge changes
1025      const chatBadge = document.getElementById('chat-unread-badge');
1026      if (chatBadge) {
1027        observer.observe(chatBadge, { attributes: true, childList: true, characterData: true, subtree: true });
1028        syncBottomChatBadge();
1029      }
1030
1031      // Active state management based on current page
1032      function updateActiveState() {
1033        const currentPath = window.location.pathname;
1034        const bottomNavItems = document.querySelectorAll('.bottom-nav-item');
1035
1036        bottomNavItems.forEach(item => {
1037          item.classList.remove('active');
1038
1039          const itemId = item.id;
1040          const page = item.getAttribute('data-page');
1041          const href = item.getAttribute('href');
1042
1043          // Check by ID for specific pages
1044          if (itemId === 'bottomHomeBtn' && currentPath === '/') {
1045            item.classList.add('active');
1046          } else if (itemId === 'bottomCartBtn' && (currentPath === '/keranjang' || currentPath === '/cart')) {
1047            item.classList.add('active');
1048          } else if (itemId === 'bottomProfileBtn' && currentPath.startsWith('/profile')) {
1049            item.classList.add('active');
1050          } else if (itemId === 'bottomCategoryBtn' && currentPath.startsWith('/kategori')) {
1051            item.classList.add('active');
1052          } else if (itemId === 'bottomCompareBtn' && currentPath === '/compare') {
1053            item.classList.add('active');
1054          } else if (itemId === 'bottomChatBtn' && currentPath === '/chat') {
1055            item.classList.add('active');
1056          }
1057          // Fallback: check by data-page attribute
1058          else if (page === 'home' && currentPath === '/') {
1059            item.classList.add('active');
1060          } else if (page === 'profile' && currentPath.startsWith('/profile')) {
1061            item.classList.add('active');
1062          }
1063          // Fallback: check by href
1064          else if (href && currentPath === href) {
1065            item.classList.add('active');
1066          }
1067        });
1068      }
1069
1070      // Update active state on load
1071      updateActiveState();
1072
1073      // Bottom nav always visible - auto-hide disabled for better UX
1074      // const bottomNav = document.querySelector('.bottom-nav');
1075      // if (bottomNav && window.innerWidth <= 640) {
1076      //   // Auto-hide feature disabled
1077      // }
1078    })();
1079    // Cart Login Modal Handler (Global scope)
1080    function showCartLoginModal() {
1081      const modal = document.getElementById('cartLoginModal');
1082      if (!modal) return;
1083
1084      modal.classList.add('show');
1085
1086      const confirmBtn = document.getElementById('cartLoginConfirm');
1087      const registerBtn = document.getElementById('cartRegisterBtn');
1088      const cancelBtn = document.getElementById('cartLoginCancel');
1089
1090      const handleLogin = () => {
1091        window.location.href = '/login?return=' + encodeURIComponent('/keranjang');
1092      };
1093
1094      const handleRegister = () => {
1095        window.location.href = '/register?return=' + encodeURIComponent('/keranjang');
1096      };
1097
1098      const handleCancel = () => {
1099        modal.classList.remove('show');
1100        confirmBtn.removeEventListener('click', handleLogin);
1101        registerBtn.removeEventListener('click', handleRegister);
1102        cancelBtn.removeEventListener('click', handleCancel);
1103      };
1104
1105      confirmBtn.removeEventListener('click', handleLogin);
1106      registerBtn.removeEventListener('click', handleRegister);
1107      cancelBtn.removeEventListener('click', handleCancel);
1108
1109      confirmBtn.addEventListener('click', handleLogin);
1110      registerBtn.addEventListener('click', handleRegister);
1111      cancelBtn.addEventListener('click', handleCancel);
1112
1113      modal.addEventListener('click', (e) => {
1114        if (e.target === modal) {
1115          handleCancel();
1116        }
1117      });
1118    }
1119  </script>
1119
1120
1121  <!-- Product Compare Sidebar -->
1122  <div class="compare-sidebar" id="compareSidebar">
1123    <div class="compare-header">
1124      <h4 class="compare-title">
1125        <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
1126          <path
1127            d="M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z" /></path>
1128        </svg>
1129        Bandingkan Produk
1130        <span class="compare-count" id="compareCountSidebar">(0)</span>
1131      </h4>
1132      <button class="compare-close" id="compareClose" aria-label="Tutup">
1133        <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
1134          <path
1135            d="M18.3 5.7a1 1 0 0 0-1.4 0L12 10.6 7.1 5.7a1 1 0 1 0-1.4 1.4L10.6 12l-4.9 4.9a1 1 0 0 0 1.4 1.4L12 13.4l4.9 4.9a1 1 0 0 0 1.4-1.4L13.4 12l4.9-4.9a1 1 0 0 0 0-1.4z" /></path>
1136        </svg>
1137      </button>
1138    </div>
1139
1140    <div class="compare-content">
1141      <div class="compare-empty" id="compareEmpty">
1142        <div class="empty-icon">
1143          <svg width="48" height="48" viewBox="0 0 24 24" fill="currentColor" opacity="0.3">
1144            <path
1145              d="M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z" /></path>
1146          </svg>
1147        </div>
1148        <h5>Belum ada produk dipilih</h5>
1149        <p>Pilih produk yang ingin dibandingkan dengan klik tombol "Bandingkan Produk" di halaman produk.</p>
1150      </div>
1151
1152      <div class="compare-list" id="compareList">
1153        <!-- Products will be populated here -->
1154      </div>
1155    </div>
1156
1157    <div class="compare-actions" id="compareActions">
1158      <button class="btn btn-outline-danger btn-sm" id="compareClearAll">
1159        <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
1160          <path
1161            d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" /></path>
1162        </svg>
1163        Hapus Semua
1164      </button>
1165      <button class="btn btn-primary btn-sm" id="compareAnalyze" disabled>
1166        <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
1167          <path
1168            d="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M11,16.5L18,9.5L16.59,8.09L11,13.67L7.91,10.59L6.5,12L11,16.5Z" /></path>
1169        </svg>
1170        Analisis AI
1171      </button>
1172    </div>
1173
1174    <!-- AI Disclaimer in Sidebar -->
1175    <div class="compare-disclaimer">
1176      <div class="ai-disclaimer">
1177        <div class="disclaimer-text">
1178          <strong>💡 Catatan:</strong> Dengan berbagai pilihan yang tersedia, pengguna memiliki kebebasan untuk
1179          menentukan jenis permainan yang paling sesuai dengan preferensi masing-masing.
1180        </div>
1181      </div>
1182    </div>
1183  </div>
1184  <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/pd-lightbox.css">
1185  <style>
1186    .paylater-promo {
1187      display: inline-flex;
1188      align-items: center;
1189      gap: 8px;
1190      background: linear-gradient(135deg, #ffffff 0, #ffffff 100%);
1191      border: 1px solid #000000;
1192      border-radius: 8px;
1193      padding: 8px 12px;
1194      font-size: 13px;
1195      line-height: 1.4;
1196      margin: 8px 0
1197    }
1198
1199    .paylater-promo-sm {
1200      padding: 6px 10px;
1201      font-size: 11px;
1202      gap: 6px
1203    }
1204
1205    .paylater-promo-md {
1206      padding: 8px 12px;
1207      font-size: 13px;
1208      gap: 8px
1209    }
1210
1211    .paylater-promo-lg {
1212      padding: 10px 16px;
1213      font-size: 14px;
1214      gap: 10px
1215    }
1216
1217    .paylater-icon {
1218      font-size: 1.2em;
1219      flex-shrink: 0
1220    }
1221
1222    .paylater-text {
1223      display: flex;
1224      flex-direction: column;
1225      gap: 2px
1226    }
1227
1228    .paylater-text strong {
1229      color: #000000;
1230      font-weight: 600
1231    }
1232
1233    .paylater-text small {
1234      color: #000000;
1235      font-size: .85em;
1236      opacity: .9
1237    }
1238
1239    .paylater-desktop-only {
1240      display: none
1241    }
1242
1243    .paylater-mobile-only {
1244      display: flex
1245    }
1246
1247    @media (min-width:641px) {
1248      .paylater-desktop-only {
1249        display: flex
1250      }
1251
1252      .paylater-mobile-only {
1253        display: none
1254      }
1255    }
1256
1257    @media (max-width:640px) {
1258      .paylater-promo {
1259        font-size: 12px;
1260        padding: 7px 10px
1261      }
1262
1263      .paylater-promo-lg {
1264        font-size: 13px;
1265        padding: 8px 12px
1266      }
1267    }
1268
1269    @media print {
1270      .paylater-promo {
1271        display: none !important
1272      }
1273    }
1274
1275    .paylater-compact {
1276      display: inline-block;
1277      font-size: 11px;
1278      font-weight: 600;
1279      color: #ffd700;
1280      background: #d1fae5;
1281      padding: 3px 8px;
1282      border-radius: 4px;
1283      margin: 6px 0 4px;
1284      line-height: 1.3
1285    }
1286
1287    @media (max-width:640px) {
1288      .paylater-compact {
1289        font-size: 10px;
1290        padding: 2px 6px;
1291        margin: 5px 0 3px
1292      }
1293    }
1294
1295    @media print {
1296      .paylater-compact {
1297        display: none !important
1298      }
1299    }
1300  </style>
1301  <style nonce="se3iyzEHMc9FQEB4wSyd0w==">
1302    .pd-voucher-minimal {
1303      margin: 10px 0;
1304      display: flex;
1305      flex-direction: column;
1306      gap: 6px
1307    }
1308
1309    .pdv-min-item {
1310      display: flex;
1311      align-items: center;
1312      gap: 8px;
1313      padding: 0;
1314      height: 32px;
1315      transition: all .2s ease
1316    }
1317
1318    .pdv-min-hidden {
1319      display: none
1320    }
1321
1322    .pdv-min-disabled {
1323      opacity: .5
1324    }
1325
1326    .pdv-badge-btn {
1327      display: inline-flex;
1328      align-items: center;
1329      gap: 8px;
1330      background: linear-gradient(135deg, #0026fd 0, #0026fd 100%);
1331      border: none;
1332      border-radius: 8px;
1333      padding: 3px;
1334      cursor: pointer;
1335      transition: all .2s ease;
1336      width: auto
1337    }
1338
1339    .pdv-badge-btn:hover:not(:disabled) {
1340      transform: translateY(-1px);
1341      box-shadow: 0 4px 12px rgba(102, 126, 234, .3)
1342    }
1343
1344    .pdv-badge-btn:disabled {
1345      opacity: .6;
1346      cursor: not-allowed
1347    }
1348
1349    .pdv-badge-icon {
1350      color: #fff;
1351      flex-shrink: 0
1352    }
1353
1354    .pdv-badge-text {
1355      font-size: 14px;
1356      font-weight: 700;
1357      color: #fff;
1358      white-space: nowrap
1359    }
1360
1361    .pdv-badge-code {
1362      font-family: 'Courier New', monospace;
1363      font-size: 13px;
1364      font-weight: 700;
1365      color: #fff;
1366      background: rgba(255, 255, 255, .2);
1367      padding: 4px 8px;
1368      border-radius: 4px;
1369      border: none;
1370      white-space: nowrap
1371    }
1372
1373    .pdv-min-copy,
1374    .pdv-min-more {
1375      padding: 4px 12px;
1376      font-size: 12px;
1377      font-weight: 600;
1378      border-radius: 5px;
1379      border: 1px solid #e2e8f0;
1380      background: #fff;
1381      color: #0026fd;
1382      cursor: pointer;
1383      transition: all .2s ease;
1384      white-space: nowrap
1385    }
1386
1387    .pdv-min-copy:hover:not(:disabled),
1388    .pdv-min-more:hover {
1389      background: #0026fd;
1390      color: #fff;
1391      border-color: #0026fd
1392    }
1393
1394    .pdv-min-copy:disabled {
1395      opacity: .4;
1396      cursor: not-allowed
1397    }
1398
1399    .pdv-min-copy.copied {
1400      background: #c52222;
1401      color: #fff;
1402      border-color: #c52222
1403    }
1404
1405    .pdv-min-more {
1406      margin-left: auto
1407    }
1408
1409    .modal-close {
1410      position: absolute;
1411      top: 20px;
1412      right: 20px;
1413      background: none;
1414      border: none;
1415      cursor: pointer;
1416      color: #64748b;
1417      padding: 4px;
1418      transition: color .2s ease
1419    }
1420
1421    .modal-close:hover {
1422      color: #1e293b
1423    }
1424
1425    .modal-body {
1426      margin-bottom: 8px
1427    }
1428
1429    .voucher-modal-content {
1430      text-align: center
1431    }
1432
1433    .voucher-modal-badge {
1434      display: inline-flex;
1435      flex-direction: row;
1436      align-items: center;
1437      gap: 6px;
1438      background: linear-gradient(135deg, #0026fd 0, #0026fd 100%);
1439      border-radius: 10px;
1440      padding: 8px 16px;
1441      margin-bottom: 12px
1442    }
1443
1444    .vmb-value {
1445      font-size: 18px;
1446      font-weight: 700;
1447      color: #fff;
1448      line-height: 1
1449    }
1450
1451    .vmb-label {
1452      font-size: 18px;
1453      font-weight: 700;
1454      color: #fff;
1455      text-transform: uppercase;
1456      letter-spacing: .5px
1457    }
1458
1459    .voucher-modal-code {
1460      font-family: 'Courier New', monospace;
1461      font-size: 14px;
1462      font-weight: 700;
1463      color: #0026fd;
1464      background: rgba(102, 126, 234, .1);
1465      padding: 6px 12px;
1466      border-radius: 6px;
1467      border: 2px dashed rgba(102, 126, 234, .3);
1468      display: inline-block;
1469      margin-bottom: 10px
1470    }
1471
1472    .voucher-modal-name {
1473      font-size: 14px;
1474      font-weight: 600;
1475      color: #1e293b;
1476      margin-bottom: 16px
1477    }
1478
1479    .voucher-modal-details {
1480      text-align: left;
1481      background: #f8fafc;
1482      border-radius: 8px;
1483      padding: 12px;
1484      margin-bottom: 16px
1485    }
1486
1487    .vmd-item {
1488      display: flex;
1489      align-items: flex-start;
1490      gap: 8px;
1491      padding: 6px 0;
1492      font-size: 13px;
1493      color: #64748b;
1494      border-bottom: 1px solid #e2e8f0
1495    }
1496
1497    .vmd-item:last-child {
1498      border-bottom: none
1499    }
1500
1501    .vmd-item svg {
1502      color: #0026fd;
1503      flex-shrink: 0;
1504      margin-top: 2px
1505    }
1506
1507    .vmd-item strong {
1508      color: #1e293b
1509    }
1510
1511    .modal-actions {
1512      padding: 20px
1513    }
1514
1515    .modal-btn-primary {
1516      background: linear-gradient(135deg, #0026fd 0, #0026fd 100%);
1517      color: #fff
1518    }
1519
1520    .modal-btn-primary:hover {
1521      opacity: .9;
1522      transform: translateY(-1px)
1523    }
1524
1525    @media (max-width:640px) {
1526      .pdv-min-item {
1527        gap: 6px
1528      }
1529
1530      .pdv-badge-btn {
1531        padding: 3px;
1532        gap: 6px
1533      }
1534
1535      .pdv-badge-text {
1536        font-size: 13px
1537      }
1538
1539      .pdv-badge-code {
1540        font-size: 12px;
1541        padding: 3px 6px
1542      }
1543
1544      .pdv-min-copy,
1545      .pdv-min-more {
1546        padding: 3px 10px;
1547        font-size: 11px
1548      }
1549
1550      .modal-dialog {
1551        max-width: 95%;
1552        margin: 20px
1553      }
1554
1555      .vmb-value {
1556        font-size: 16px
1557      }
1558
1559      .vmb-label {
1560        font-size: 16px
1561      }
1562
1563      .voucher-modal-code {
1564        font-size: 13px;
1565        padding: 5px 10px
1566      }
1567    }
1568  </style>
1569  <style nonce="se3iyzEHMc9FQEB4wSyd0w==">
1570    .promo-endyear-mini-banner {
1571      display: flex;
1572      align-items: center;
1573      gap: 12px;
1574      padding: 12px 16px;
1575      background: rgba(255, 255, 255, .8);
1576      backdrop-filter: blur(10px);
1577      -webkit-backdrop-filter: blur(10px);
1578      border: 2px solid rgba(242, 140, 26, .2);
1579      border-radius: 12px;
1580      margin: 16px 0;
1581      box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
1582      transition: all .3s ease
1583    }
1584
1585    .promo-endyear-mini-banner:hover {
1586      transform: translateY(-2px);
1587      box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
1588      border-color: rgba(242, 140, 26, .4)
1589    }
1590
1591    .pey-icon {
1592      font-size: 32px;
1593      line-height: 1;
1594      flex-shrink: 0
1595    }
1596
1597    .pey-content {
1598      flex: 1;
1599      min-width: 0
1600    }
1601
1602    .pey-content strong {
1603      display: block;
1604      font-size: 14px;
1605      font-weight: 700;
1606      color: #F28C1A;
1607      margin-bottom: 2px
1608    }
1609
1610    .pey-content span {
1611      display: block;
1612      font-size: 13px;
1613      color: #64748b;
1614      line-height: 1.4
1615    }
1616
1617    .pey-link {
1618      flex-shrink: 0;
1619      padding: 8px 16px;
1620      background: linear-gradient(135deg, #F28C1A, #FFB84D);
1621      color: #fff;
1622      text-decoration: none;
1623      font-size: 13px;
1624      font-weight: 700;
1625      border-radius: 8px;
1626      white-space: nowrap;
1627      transition: all .2s ease;
1628      box-shadow: 0 2px 8px rgba(242, 140, 26, .25)
1629    }
1630
1631    .pey-link:hover {
1632      transform: translateX(2px);
1633      box-shadow: 0 4px 12px rgba(242, 140, 26, .35)
1634    }
1635
1636    @media(max-width:640px) {
1637      .promo-endyear-mini-banner {
1638        flex-wrap: wrap;
1639        gap: 8px;
1640        padding: 10px 12px
1641      }
1642
1643      .pey-icon {
1644        font-size: 28px;
1645        align-self: flex-start
1646      }
1647
1648      .pey-content {
1649        flex: 1;
1650        min-width: 0
1651      }
1652
1653      .pey-content strong {
1654        font-size: 12px
1655      }
1656
1657      .pey-content span {
1658        font-size: 11px;
1659        line-height: 1.3
1660      }
1661
1662      .pey-link {
1663        width: 100%;
1664        flex-basis: 100%;
1665        font-size: 11px;
1666        padding: 6px 12px;
1667        text-align: center
1668      }
1669    }
1670
1671    @media print {
1672      .promo-endyear-mini-banner {
1673        display: none !important
1674      }
1675    }
1676  </style>
1677  <style nonce="se3iyzEHMc9FQEB4wSyd0w==">
1678    .pd-title-row {
1679      position: relative;
1680      margin-bottom: 12px;
1681      padding-right: 52px
1682    }
1683
1684    .pd-title {
1685      margin: 0 !important
1686    }
1687
1688    .pd-share-btn {
1689      position: absolute;
1690      top: 0;
1691      right: 0;
1692      width: 40px;
1693      height: 40px;
1694      display: inline-flex;
1695      align-items: center;
1696      justify-content: center;
1697      border-radius: 10px;
1698      border: 1px solid #e2e8f0;
1699      background: #fff;
1700      color: #64748b;
1701      cursor: pointer;
1702      transition: all .2s ease;
1703      -webkit-tap-highlight-color: transparent
1704    }
1705
1706    .pd-share-btn:hover {
1707      background: #f8fafc;
1708      border-color: #cbd5e1;
1709      color: #0f172a;
1710      transform: translateY(-1px)
1711    }
1712
1713    .pd-share-btn:active {
1714      transform: translateY(0)
1715    }
1716
1717    .pd-share-btn svg {
1718      display: block
1719    }
1720
1721    .pd-share-modal-overlay {
1722      position: fixed;
1723      inset: 0;
1724      background: rgba(15, 23, 42, .75);
1725      backdrop-filter: blur(4px);
1726      z-index: 99999;
1727      display: none;
1728      align-items: center;
1729      justify-content: center;
1730      padding: 0;
1731      animation: fadeIn .2s ease
1732    }
1733
1734    .pd-share-modal-overlay.show {
1735      display: flex
1736    }
1737
1738    .pd-share-modal {
1739      background: #fff;
1740      border-radius: 20px;
1741      box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
1742      max-width: 480px;
1743      width: 100%;
1744      max-height: 90vh;
1745      overflow: hidden;
1746      display: flex;
1747      flex-direction: column;
1748      animation: slideUp .3s cubic-bezier(.16, 1, .3, 1)
1749    }
1750
1751    @keyframes fadeIn {
1752      from {
1753        opacity: 0
1754      }
1755
1756      to {
1757        opacity: 1
1758      }
1759    }
1760
1761    @keyframes slideUp {
1762      from {
1763        opacity: 0;
1764        transform: translateY(20px) scale(.95)
1765      }
1766
1767      to {
1768        opacity: 1;
1769        transform: translateY(0) scale(1)
1770      }
1771    }
1772
1773    .pd-share-header {
1774      display: flex;
1775      align-items: center;
1776      justify-content: space-between;
1777      padding: 20px 24px;
1778      border-bottom: 1px solid #f1f5f9
1779    }
1780
1781    .pd-share-title {
1782      font-size: 18px;
1783      font-weight: 700;
1784      color: #0f172a;
1785      margin: 0
1786    }
1787
1788    .pd-share-close {
1789      width: 32px;
1790      height: 32px;
1791      border-radius: 8px;
1792      border: 0;
1793      background: transparent;
1794      color: #64748b;
1795      display: inline-flex;
1796      align-items: center;
1797      justify-content: center;
1798      cursor: pointer;
1799      transition: all .15s ease
1800    }
1801
1802    .pd-share-close:hover {
1803      background: #f1f5f9;
1804      color: #0f172a
1805    }
1806
1807    .pd-share-body {
1808      padding: 24px;
1809      overflow-y: auto
1810    }
1811
1812    .pd-share-preview {
1813      display: flex;
1814      gap: 12px;
1815      padding: 16px;
1816      background: #f8fafc;
1817      border-radius: 12px;
1818      margin-bottom: 24px
1819    }
1820
1821    .pd-share-preview-img {
1822      width: 64px;
1823      height: 64px;
1824      border-radius: 8px;
1825      object-fit: cover;
1826      flex-shrink: 0;
1827      border: 1px solid #e2e8f0
1828    }
1829
1830    .pd-share-preview-info {
1831      flex: 1;
1832      min-width: 0
1833    }
1834
1835    .pd-share-preview-name {
1836      font-size: 14px;
1837      font-weight: 600;
1838      color: #0f172a;
1839      margin: 0 0 4px 0;
1840      display: -webkit-box;
1841      -webkit-line-clamp: 2;
1842      -webkit-box-orient: vertical;
1843      overflow: hidden
1844    }
1845
1846    .pd-share-preview-price {
1847      font-size: 16px;
1848      font-weight: 700;
1849      color: #ffd700;
1850      margin: 0
1851    }
1852
1853    .pd-share-label {
1854      font-size: 13px;
1855      font-weight: 600;
1856      color: #475569;
1857      margin: 0 0 12px 0;
1858      text-transform: uppercase;
1859      letter-spacing: .5px
1860    }
1861
1862    .pd-share-grid {
1863      display: grid;
1864      grid-template-columns: repeat(4, 1fr);
1865      gap: 12px;
1866      margin-bottom: 24px
1867    }
1868
1869    .pd-share-option {
1870      display: flex;
1871      flex-direction: column;
1872      align-items: center;
1873      gap: 8px;
1874      padding: 16px 8px;
1875      border: 1.5px solid #e2e8f0;
1876      border-radius: 12px;
1877      background: #fff;
1878      cursor: pointer;
1879      transition: all .2s ease;
1880      text-decoration: none;
1881      color: inherit
1882    }
1883
1884    .pd-share-option:hover {
1885      border-color: #94a3b8;
1886      background: #f8fafc;
1887      transform: translateY(-2px)
1888    }
1889
1890    .pd-share-option:active {
1891      transform: translateY(0)
1892    }
1893
1894    .pd-share-icon {
1895      width: 40px;
1896      height: 40px;
1897      border-radius: 10px;
1898      display: inline-flex;
1899      align-items: center;
1900      justify-content: center;
1901      position: relative
1902    }
1903
1904    .pd-share-icon svg {
1905      width: 24px;
1906      height: 24px;
1907      display: block
1908    }
1909
1910    .pd-share-icon-whatsapp {
1911      background: linear-gradient(135deg, #ffd700 0%, #3c3300 100%);
1912      color: #fff
1913    }
1914
1915    .pd-share-icon-facebook {
1916      background: linear-gradient(135deg, #0026fd 0%, #0026fd 100%);
1917      color: #fff
1918    }
1919
1920    .pd-share-icon-twitter {
1921      background: linear-gradient(135deg, #0026fd 0%, #0d8bd9 100%);
1922      color: #fff
1923    }
1924
1925    .pd-share-icon-telegram {
1926      background: linear-gradient(135deg, #0088cc 0%, #0077b3 100%);
1927      color: #fff
1928    }
1929
1930    .pd-share-icon-email {
1931      background: linear-gradient(135deg, #EA4335 0%, #c5331f 100%);
1932      color: #fff
1933
1934    }
1935
1936    .pd-share-icon-copy {
1937      background: linear-gradient(135deg, #f1db63 0%, #e5d146 100%);
1938      color: #fff
1939    }
1940
1941    .pd-share-icon-pdf {
1942      background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
1943      color: #fff
1944    }
1945
1946    .pd-share-name {
1947      font-size: 12px;
1948      font-weight: 600;
1949      color: #475569;
1950      text-align: center
1951    }
1952
1953    .pd-share-copy-section {
1954      background: #f8fafc;
1955      padding: 16px;
1956      border-radius: 12px
1957    }
1958
1959    .pd-share-copy-input-wrap {
1960      display: flex;
1961      gap: 8px
1962    }
1963
1964    .pd-share-copy-input {
1965      flex: 1;
1966      padding: 12px 14px;
1967      border: 1px solid #e2e8f0;
1968      border-radius: 10px;
1969      font-size: 14px;
1970      color: #0f172a;
1971      background: #fff;
1972      font-family: 'Segoe UI', system-ui, sans-serif
1973    }
1974
1975    .pd-share-copy-input:focus {
1976      outline: 0;
1977      border-color: #ffd700;
1978      box-shadow: 0 0 0 3px rgba(14, 165, 233, .1)
1979    }
1980
1981    .pd-share-copy-btn {
1982      padding: 12px 20px;
1983      border: 0;
1984      border-radius: 10px;
1985      background: linear-gradient(135deg, #e90e0e 0%, #0026fd 100%);
1986      color: #fff;
1987      font-size: 14px;
1988      font-weight: 600;
1989      cursor: pointer;
1990      transition: all .2s ease;
1991      white-space: nowrap;
1992      display: inline-flex;
1993      align-items: center;
1994      gap: 6px
1995    }
1996
1997    .pd-share-copy-btn:hover {
1998      background: linear-gradient(135deg, #0026fd 0%, #0026fd 100%);
1999      transform: translateY(-1px);
2000      box-shadow: 0 4px 12px rgba(14, 165, 233, .3)
2001    }
2002
2003    .pd-share-copy-btn:active {
2004      transform: translateY(0)
2005    }
2006
2007    .pd-share-copy-btn svg {
2008      width: 16px;
2009      height: 16px
2010    }
2011
2012    .pd-share-copy-btn.copied {
2013      background: linear-gradient(135deg, #c52222 0%, #a31616 100%);
2014      pointer-events: none
2015    }
2016
2017    @media(max-width:640px) {
2018      .pd-share-modal {
2019        border-radius: 20px 20px 0 0;
2020        margin-top: auto;
2021        max-height: 85vh
2022      }
2023
2024      .pd-share-grid {
2025        grid-template-columns: repeat(3, 1fr)
2026      }
2027
2028      .pd-share-header {
2029        padding: 16px 20px
2030      }
2031
2032      .pd-share-body {
2033        padding: 20px
2034      }
2035
2036      .pd-share-btn {
2037        width: 36px;
2038        height: 36px
2039      }
2040
2041      .pd-share-btn svg {
2042        width: 18px;
2043        height: 18px
2044      }
2045    }
2046
2047    @media(max-width:480px) {
2048      .pd-share-grid {
2049        grid-template-columns: repeat(3, 1fr);
2050        gap: 10px
2051      }
2052
2053      .pd-share-option {
2054        padding: 12px 6px
2055      }
2056
2057      .pd-share-icon {
2058        width: 36px;
2059        height: 36px
2060      }
2061
2062      .pd-share-icon svg {
2063        width: 20px;
2064        height: 20px
2065      }
2066
2067      .pd-share-name {
2068        font-size: 11px
2069      }
2070    }
2071
2072    .mf-share {
2073      background: #fff;
2074      color: #fb923c;
2075      border: 2px solid #fb923c;
2076      display: inline-flex;
2077      align-items: center;
2078      justify-content: center
2079    }
2080
2081    .mf-share:active {
2082      transform: scale(.95)
2083    }
2084
2085    .mf-share svg {
2086      display: block
2087    }
2088
2089    @media(max-width:640px) {
2090      .pd-share-btn {
2091        display: none !important
2092      }
2093    }
2094
2095    .stock-badge.in {
2096      background: #e6f9ec;
2097      color: #801515;
2098      border-radius: 999px;
2099      padding: 4px 10px;
2100      font-weight: 700
2101    }
2102
2103    .stock-badge.out {
2104      background: #fee2e2;
2105      color: #b91c1c;
2106      border-radius: 999px;
2107      padding: 4px 10px;
2108      font-weight: 700
2109    }
2110
2111    .stock-info-btn {
2112      --c: #e90e0e;
2113      --b: #bae6fd;
2114      --bg: #f0f9ff;
2115      --bg-h: #e0f2fe;
2116      --b-h: #e90e0e;
2117      margin-left: 0;
2118      display: inline-flex;
2119      align-items: center;
2120      justify-content: center;
2121      gap: 0.5rem;
2122      padding: 4px 10px;
2123      border-radius: 999px;
2124      border: 1.5px solid var(--b);
2125      background: var(--bg);
2126      color: var(--c);
2127      cursor: pointer;
2128      font-size: 12px;
2129      font-weight: 600;
2130      transition: all .2s ease;
2131      -webkit-tap-highlight-color: transparent
2132    }
2133
2134    .stock-info-btn:hover {
2135      background: var(--bg-h);
2136      border-color: var(--b-h);
2137      color: #0026fd;
2138      transform: translateY(-1px);
2139      box-shadow: 0 2px 8px rgba(14, 165, 233, .15)
2140    }
2141
2142    .stock-info-btn:active {
2143      transform: translateY(0)
2144    }
2145
2146    .stock-info-btn:focus-visible {
2147      outline: 0;
2148      box-shadow: 0 0 0 3px rgba(14, 165, 233, .2)
2149    }
2150
2151    .stock-info-btn svg {
2152      width: 14px;
2153      height: 14px;
2154      flex-shrink: 0
2155    }
2156
2157    .stock-info-btn .btn-text {
2158      white-space: nowrap
2159    }
2160
2161    .stock-popover {
2162      position: absolute;
2163      z-index: 9999;
2164      min-width: 280px;
2165      max-width: 92vw;
2166      background: #0b1220;
2167      color: #eef3ff;
2168      border: 1px solid rgba(255, 255, 255, .08);
2169      border-radius: 14px;
2170      box-shadow: 0 20px 40px rgba(12, 12, 20, .45);
2171      padding: 12px 12px 8px;
2172      display: none
2173    }
2174
2175    .stock-popover.show {
2176      display: block
2177    }
2178
2179    .stock-popover::before {
2180      content: "";
2181      position: absolute;
2182      top: -8px;
2183      left: 24px;
2184      width: 14px;
2185      height: 14px;
2186      background: #0b1220;
2187      border-left: 1px solid rgba(255, 255, 255, .08);
2188      border-top: 1px solid rgba(255, 255, 255, .08);
2189      transform: rotate(45deg)
2190    }
2191
2192    .sp-head {
2193      display: flex;
2194      align-items: center;
2195      justify-content: space-between;
2196      margin-bottom: 8px
2197    }
2198
2199    .sp-title {
2200      font-weight: 800;
2201      font-size: 14px
2202    }
2203
2204    .sp-close {
2205      background: transparent;
2206      border: 0;
2207      color: #98a2b3;
2208      cursor: pointer
2209    }
2210
2211    .sp-list {
2212      list-style: none;
2213      margin: 0;
2214      padding: 0;
2215      display: flex;
2216      flex-direction: column;
2217      gap: 8px
2218    }
2219
2220    .sp-item {
2221      display: grid;
2222      grid-template-columns: 1fr auto 32px;
2223      column-gap: 12px;
2224      align-items: center;
2225      padding: 10px 10px;
2226      min-height: 44px;
2227      border-radius: 10px;
2228      background: rgba(255, 255, 255, .03)
2229    }
2230
2231    .sp-left {
2232      display: flex;
2233      align-items: center;
2234      gap: 10px
2235    }
2236
2237    .sp-dot {
2238      width: 10px;
2239      height: 10px;
2240      border-radius: 999px;
2241      background: var(--dot, #60a5fa);
2242      display: inline-block
2243    }
2244
2245    .sp-label {
2246      font-weight: 600;
2247      font-size: 13px
2248    }
2249
2250
2251    .sp-qty {
2252      grid-column: 2;
2253      justify-self: end;
2254      min-width: 40px;
2255      text-align: right;
2256      font-weight: 800;
2257      font-size: 13px;
2258      color: #cfe4ff;
2259      font-variant-numeric: tabular-nums
2260    }
2261
2262    .sp-wa {
2263      grid-column: 3;
2264      justify-self: end;
2265      width: 32px;
2266      height: 32px;
2267      min-width: 32px;
2268      min-height: 32px;
2269      box-sizing: border-box;
2270      padding: 0;
2271      line-height: 0;
2272      text-decoration: none;
2273      outline: 0;
2274      display: inline-flex;
2275      align-items: center;
2276      justify-content: center;
2277      border-radius: 999px;
2278      border: 1px solid rgba(211, 37, 37, 0.6);
2279      /* 1px untuk hasil “crisp† */
2280      background: rgba(37, 211, 102, .08);
2281      color: #d32525;
2282      transition: background-color .15s ease, border-color .15s ease, transform .05s ease;
2283      -webkit-tap-highlight-color: transparent;
2284    }
2285
2286    .sp-wa:hover {
2287      background: rgba(37, 211, 102, .16);
2288      border-color: rgba(37, 211, 102, .75)
2289    }
2290
2291    .sp-wa:active {
2292      transform: translateY(.5px) scale(.98)
2293    }
2294
2295    .sp-wa svg {
2296      width: 18px;
2297      height: 18px;
2298      display: block;
2299      vertical-align: middle
2300    }
2301
2302    .stock-popover a {
2303      text-decoration: none
2304    }
2305
2306    #deskripsi img {
2307      max-width: 200px !important;
2308      height: unset !important
2309    }
2310
2311
2312    @media(max-width:640px) {
2313      .stock-popover {
2314        position: fixed;
2315        left: 0;
2316        right: 0;
2317        bottom: max(12px, env(safe-area-inset-bottom, 12px));
2318        margin: 0 10px;
2319        padding: 14px 12px 10px;
2320        border-radius: 16px
2321      }
2322
2323      .stock-popover::before {
2324        display: none
2325      }
2326
2327      .stock-info-btn {
2328        padding: 4px 8px;
2329        gap: 4px;
2330        border: 0;
2331        background: transparent
2332      }
2333
2334      .stock-info-btn:hover {
2335        background: transparent;
2336        box-shadow: none;
2337        transform: none
2338      }
2339
2340      .stock-info-btn .btn-text {
2341        display: none
2342      }
2343
2344      .stock-info-btn svg {
2345        width: 16px;
2346        height: 16px
2347      }
2348
2349      .sp-item {
2350        grid-template-columns: 1fr auto 36px
2351      }
2352
2353      .sp-wa {
2354        width: 36px;
2355        height: 36px;
2356        min-width: 36px;
2357        min-height: 36px
2358      }
2359
2360      .sp-wa svg {
2361        width: 19px;
2362        height: 19px
2363      }
2364    }
2365
2366    .stock-dot {
2367      position: absolute;
2368      bottom: 8px;
2369      right: 8px;
2370      width: 8px;
2371      height: 8px;
2372      border-radius: 50%;
2373      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
2374      z-index: 2;
2375      cursor: help
2376    }
2377
2378    .stock-dot.ready {
2379      background: #10b981
2380    }
2381
2382    .stock-dot.low {
2383      background: #f59e0b
2384    }
2385
2386    .stock-dot.out {
2387      background: #ef4444
2388    }
2389
2390    .stock-dot:hover {
2391      transform: scale(1.2);
2392      transition: transform 0.2s ease
2393    }
2394
2395    @media(max-width:640px) {
2396      .stock-dot {
2397        width: 7px;
2398        height: 7px;
2399        bottom: 6px;
2400        right: 6px
2401      }
2402    }
2403
2404    .pd-related-card .spec-chips {
2405      font-size: 11px;
2406      color: #64748b;
2407      margin: 4px 0 6px 0;
2408      line-height: 1.3;
2409      font-weight: 500
2410    }
2411
2412    .pd-related-card .spec-chips .spec-divider {
2413      margin: 0 4px;
2414      opacity: 0.6
2415    }
2416
2417    @media(max-width:640px) {
2418      .pd-related-card .spec-chips {
2419        font-size: 10px;
2420        margin: 3px 0 5px 0
2421      }
2422
2423      #deskripsi img {
2424        max-width: 300px !important;
2425        height: unset !important;
2426        justify-self: center !important
2427      }
2428    }
2429
2430    .pwp-trigger-badge {
2431      display: inline-flex;
2432      align-items: center;
2433      gap: 4px;
2434      padding: 3px 8px 4px;
2435      background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
2436      color: #78350f;
2437      border-radius: 6px;
2438      font-size: .65rem;
2439      font-weight: 600;
2440      border: 0
2441    }
2442
2443    .pwp-trigger-badge svg {
2444      flex-shrink: 0;
2445      width: 12px;
2446      height: 12px
2447    }
2448
2449    .pwp-deals-section {
2450      margin: 0;
2451      padding: 12px;
2452      background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
2453      border-radius: 12px;
2454      border: 2px solid #fbbf24
2455    }
2456
2457    .pwp-deals-header {
2458      display: flex;
2459      gap: 10px;
2460      margin-bottom: 10px
2461    }
2462
2463    .pwp-icon {
2464      flex-shrink: 0;
2465      color: #f59e0b;
2466      width: 18px;
2467      height: 18px
2468    }
2469
2470    .pwp-text .pwp-title {
2471      margin: 0 0 2px 0;
2472      font-size: 14px;
2473      font-weight: 700;
2474      color: #78350f
2475    }
2476
2477    .pwp-text .pwp-subtitle {
2478      margin: 0;
2479      font-size: 11px;
2480      color: #92400e;
2481      opacity: 0.9
2482    }
2483
2484    .pwp-deals-loading {
2485      text-align: center;
2486      padding: 40px 0;
2487      color: #92400e
2488    }
2489
2490    .pwp-spinner {
2491      width: 40px;
2492      height: 40px;
2493      border: 3px solid #fbbf24;
2494      border-top-color: #f59e0b;
2495      border-radius: 50%;
2496      animation: spin 0.8s linear infinite;
2497      margin: 0 auto 12px
2498    }
2499
2500    @keyframes spin {
2501      to {
2502        transform: rotate(360deg)
2503      }
2504    }
2505
2506    .pwp-deals-grid {
2507      display: flex;
2508      flex-direction: column;
2509      gap: 6px
2510    }
2511
2512    .pwp-deal-card {
2513      background: #fff;
2514      border-radius: 6px;
2515      overflow: hidden;
2516      border: 1px solid #fbbf24;
2517      display: flex;
2518      align-items: center;
2519      padding: 8px;
2520      gap: 10px
2521    }
2522
2523    .pwp-deal-card:hover {
2524      background: #fef3c7
2525    }
2526
2527    .pwp-deal-thumb {
2528      flex-shrink: 0;
2529      width: 50px;
2530      height: 50px;
2531      background: #f8fafc;
2532      overflow: hidden;
2533      border-radius: 4px
2534    }
2535
2536    .pwp-deal-thumb img {
2537      width: 100%;
2538      height: 100%;
2539      object-fit: cover
2540    }
2541
2542    .pwp-deal-badge {
2543      background: #dc2626;
2544      color: #fff;
2545      padding: 2px 5px;
2546      border-radius: 3px;
2547      font-size: 9px;
2548      font-weight: 700;
2549      margin-left: auto
2550    }
2551
2552    .pwp-deal-info {
2553      flex: 1;
2554      display: flex;
2555      flex-direction: column;
2556      gap: 4px
2557    }
2558
2559    .pwp-deal-name {
2560      font-size: 12px;
2561      font-weight: 600;
2562      color: #0f172a;
2563      margin: 0;
2564      line-height: 1.2
2565    }
2566
2567    .pwp-deal-prices {
2568      display: flex;
2569      align-items: center;
2570      gap: 6px;
2571      flex-wrap: wrap
2572    }
2573
2574    .pwp-deal-price {
2575      font-size: 14px;
2576      font-weight: 800;
2577      color: #dc2626;
2578      white-space: nowrap
2579    }
2580
2581    .pwp-deal-original {
2582      font-size: 11px;
2583      color: #64748b;
2584      text-decoration: line-through;
2585      white-space: nowrap
2586    }
2587
2588    .pwp-cart-note {
2589      margin-top: 8px;
2590      padding: 6px 10px;
2591      background: #e0f2fe;
2592      border-left: 2px solid#e90e0e;
2593      font-size: 11px;
2594      color: #0c4a6e;
2595      border-radius: 4px
2596    }
2597
2598    @media(max-width:640px) {
2599      .pwp-deals-section {
2600        margin: 12px 0;
2601        padding: 10px;
2602        border-radius: 10px
2603      }
2604
2605      .pwp-deals-header {
2606        gap: 8px
2607      }
2608
2609      .pwp-text .pwp-title {
2610        font-size: 13px
2611      }
2612
2613      .pwp-text .pwp-subtitle {
2614        font-size: 10px
2615      }
2616
2617      .pwp-deal-card {
2618        padding: 6px;
2619        gap: 8px
2620      }
2621
2622      .pwp-deal-thumb {
2623        width: 45px;
2624        height: 45px
2625      }
2626
2627      .pwp-deal-name {
2628        font-size: 11px
2629      }
2630
2631      .pwp-deal-price {
2632        font-size: 13px
2633      }
2634
2635      .pwp-deal-original {
2636        font-size: 10px
2637      }
2638    }
2639
2640    .preorder-badge {
2641      display: inline-flex;
2642      align-items: center;
2643      gap: 5px;
2644      padding: 6px 12px;
2645      background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
2646      color: #fff;
2647      border-radius: 8px;
2648      font-size: 13px;
2649      font-weight: 700;
2650      border: 0;
2651      box-shadow: 0 2px 8px rgba(139, 92, 246, .25)
2652    }
2653
2654    .preorder-badge svg {
2655      width: 16px;
2656      height: 16px;
2657      flex-shrink: 0
2658    }
2659
2660    .preorder-info {
2661      margin: 12px 0;
2662      padding: 14px;
2663      background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
2664      border: 1.5px solid #c4b5fd;
2665      border-radius: 12px
2666    }
2667
2668    .preorder-info-header {
2669      display: flex;
2670      align-items: center;
2671      gap: 8px;
2672      margin-bottom: 10px
2673    }
2674
2675    .preorder-info-icon {
2676      width: 20px;
2677      height: 20px;
2678      color: #7c3aed;
2679      flex-shrink: 0
2680    }
2681
2682    .preorder-info-title {
2683      font-size: 14px;
2684      font-weight: 700;
2685      color: #5b21b6;
2686      margin: 0
2687    }
2688
2689    .preorder-info-items {
2690      display: flex;
2691      flex-direction: column;
2692      gap: 8px
2693    }
2694
2695    .preorder-info-row {
2696      display: flex;
2697      align-items: center;
2698      justify-content: space-between;
2699      font-size: 13px
2700    }
2701
2702    .preorder-info-label {
2703      color: #6b21a8;
2704      font-weight: 600
2705    }
2706
2707    .preorder-info-value {
2708      color: #5b21b6;
2709      font-weight: 700
2710    }
2711
2712    .preorder-info-value.highlight {
2713      color: #dc2626;
2714      font-size: 14px
2715    }
2716
2717    .preorder-info-note {
2718      margin-top: 10px;
2719      padding: 8px 10px;
2720      background: #fef3c7;
2721      border-left: 2px solid #f59e0b;
2722      font-size: 12px;
2723      color: #78350f;
2724      border-radius: 6px;
2725      line-height: 1.4
2726    }
2727
2728    @media(max-width:640px) {
2729      .preorder-badge {
2730        font-size: 12px;
2731        padding: 5px 10px
2732      }
2733
2734      .preorder-info {
2735        margin: 10px 0;
2736        padding: 12px
2737      }
2738
2739      .preorder-info-title {
2740        font-size: 13px
2741      }
2742
2743      .preorder-info-row {
2744        font-size: 12px
2745      }
2746
2747      .preorder-info-note {
2748        font-size: 11px;
2749        padding: 6px 8px
2750      }
2751    }
2752  </style>
2753
2754  <div class="pd-sticky-header" id="pd-sticky-header">
2755    <div class="pd-sticky-header-container">
2756      <div class="pd-sticky-thumb"><img src="/image.png" alt="88MEGA"
2757          id="pd-sticky-thumb-img"></div>
2758      <div class="pd-sticky-info">
2759        <h2 class="pd-sticky-title" id="pd-sticky-title">88MEGA Gacor : Platform Game Slot Online Siap Kasih Kejutan Luar Biasa!</h2>
2760        <div class="pd-sticky-price-row"><span class="pd-sticky-price" id="pd-sticky-price">Rp 10.000,-</span><span
2761            class="pd-sticky-price-original" id="pd-sticky-price-original">Rp 1.000.000</span><span
2762            class="pd-sticky-discount" id="pd-sticky-discount">-99.5%</span></div>
2763      </div>
2764      <div class="pd-sticky-actions"><button type="button" class="pd-sticky-share-btn" id="pd-sticky-share-btn"
2765          aria-label="Bagikan produk" title="Bagikan"><svg viewBox="0 0 24 24" width="16" height="16"
2766            aria-hidden="true">
2767            <path fill="currentColor"
2768              d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z" /></path>
2769          </svg></button><button type="button" class="pd-sticky-btn pd-sticky-btn-chat" id="pd-sticky-chat"><svg
2770            viewBox="0 0 640 640" fill="currentColor" aria-hidden="true">
2771            <path
2772              d="M320 128C241 128 175.3 185.3 162.3 260.7C171.6 257.7 181.6 256 192 256L208 256C234.5 256 256 277.5 256 304L256 400C256 426.5 234.5 448 208 448L192 448C139 448 96 405 96 352L96 288C96 164.3 196.3 64 320 64C443.7 64 544 164.3 544 288L544 456.1C544 522.4 490.2 576.1 423.9 576.1L336 576L304 576C277.5 576 256 554.5 256 528C256 501.5 277.5 480 304 480L336 480C362.5 480 384 501.5 384 528L384 528L424 528C463.8 528 496 495.8 496 456L496 435.1C481.9 443.3 465.5 447.9 448 447.9L432 447.9C405.5 447.9 384 426.4 384 399.9L384 303.9C384 277.4 405.5 255.9 432 255.9L448 255.9C458.4 255.9 468.3 257.5 477.7 260.6C464.7 185.3 399.1 127.9 320 127.9z" /></path>
2773          </svg>Tanya</button><button type="button" class="pd-sticky-btn pd-sticky-btn-cart" id="pd-sticky-add-cart"
2774          disabled>+ Keranjang</button><button type="button" class="pd-sticky-btn pd-sticky-btn-buy" id="pd-sticky-buy"
2775          disabled>Beli Sekarang</button></div>
2776    </div>
2777  </div>
2778
2779  <main class="product-single product-single--v3">
2780    <nav class="pd-breadcrumb" aria-label="breadcrumb"><a
2781        href="https://88megagacor.com/">88MEGA</a><span>/</span><a href="https://88megagacor.com/">88MEGA
2782        ONLINE</a><span>/</span><a href="https://88megagacor.com/">88MEGA LOGIN</a><span>/</span><a
2783        href="https://88megagacor.com/">88MEGA GAME ONLINE</a><span>/</span><a href="https://88megagacor.com/">APLIKASI
2784        ONLINE </a><span>/</span><span class="current">88MEGA Gacor : Platform Game Slot Online Siap Kasih Kejutan Luar Biasa!
2785
2786      </span></nav>
2787
2788    <div class="pd-top-layout">
2789      <section class="pd-media-card">
2790        <figure class="pd-main-image" id="pd-main-figure"><img id="pd-main-img" src="/image.png" alt="88MEGA" data-slug="" loading="eager" style="cursor: zoom-in;" />
2791        </figure>
2792
2793        <div class="pd-mobile-slider-wrapper">
2794          <div class="pd-mobile-slider" id="pd-mobile-slider" aria-label="Galeri gambar (geser)">
2795            <div class="pd-mslide"><img src="/image.png" alt="88MEGA" loading="eager">
2796            </div>
2797            <div class="pd-mslide"><img src="/image.png" alt="88MEGA" loading="lazy">
2798            </div>
2799            <div class="pd-mslide"><img src="/image.png" alt="88MEGA" loading="lazy">
2800            </div>
2801            <div class="pd-mslide"><img src="/image.png" alt="88MEGA" loading="lazy">
2802            </div>
2803            <div class="pd-mslide"><img src="/image.png" alt="88MEGA" loading="lazy">
2804            </div>
2805            <div class="pd-mslide"><img src="/image.png" alt="88MEGA" loading="lazy">
2806            </div>
2807          </div>
2808          <div class="pd-gallery-counter" id="pd-gallery-counter">1/6</div>
2809        </div>
2810        <div class="pd-thumb-gallery" id="pd-thumb-gallery" aria-label="Galeri gambar produk"><button type="button"
2811            class="pd-thumb-btn active" data-full="/image.png" data-alt="88MEGA"
2812            data-slug="" aria-label="Gambar 1"><img src="/image.png" alt="88MEGA"
2813              loading="lazy"></button><button type="button" class="pd-thumb-btn "
2814            data-full="/image.png" data-alt="88MEGA"
2815            data-slug="/image.png" aria-label="Gambar 2"><img
2816              src="/image.png" alt="88MEGA" loading="lazy"></button><button type="button"
2817            class="pd-thumb-btn " data-full="/image.png" data-alt="88MEGA"
2818            data-slug="lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-223.webp"
2819            aria-label="Gambar 3"><img src="/image.png" alt="88MEGA"
2820              loading="lazy"></button><button type="button" class="pd-thumb-btn "
2821            data-full="/image.png" data-alt="88MEGA"
2822            data-slug="lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-776.webp"
2823            aria-label="Gambar 4"><img src="/image.png" alt="88MEGA"
2824              loading="lazy"></button><button type="button" class="pd-thumb-btn "
2825            data-full="/image.png" data-alt="88MEGA"
2826            data-slug="lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-634.webp"
2827            aria-label="Gambar 5"><img src="/image.png" alt="88MEGA"
2828              loading="lazy"></button><button type="button" class="pd-thumb-btn "
2829            data-full="/image.png" data-alt="88MEGA"
2830            data-slug="lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-892.webp"
2831            aria-label="Gambar 6"><img src="/image.png" alt="88MEGA"
2832              loading="lazy"></button></div>
2833      <div class="pd-title-row">
2834          <h1 class="pd-title" id="pd-title">88MEGA Gacor : Platform Game Slot Online Siap Kasih Kejutan Luar Biasa!</h1>
2835          <button type="button" class="pd-share-btn" id="pd-share-btn" aria-label="Bagikan produk" title="Bagikan"><svg
2836              viewBox="0 0 24 24" width="20" height="20" aria-hidden="true">
2837              <path fill="currentColor"
2838                d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z" /></path>
2839            </svg></button>
2840        </div><div class="pd-price-block" id="pd-price-block">
2841            <div class="pd-price-row">
2842              <span class="pd-price-current" id="pd-price-current">Rp 10.000</span>
2843              <span class="pd-price-original" id="pd-price-original">Rp 50.000</span>
2844              <span class="pd-discount-badge" id="pd-discount-badge">-90%</span>
2845            </div>
2846            <div class="pd-meta-row">
2847              <span class="sold-inline" id="pd-sold-inline" data-role="sold-chip">Terjual 2</span>
2848              <span class="pwp-trigger-badge" id="pwp-trigger-badge" hidden>
2849                <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor">
2850                  <path
2851                    d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z" /></path>
2852                </svg>Bisa PWP</span>
2853            </div>
2854            <div class="pd-meta-inline"><span class="stock-badge out" id="pd-stock-badge">88MEGA</span>
2855              <span class="sku">SKU: <span id="pd-sku">1S83N0880RID</span></span>
2856            </div>
2857            <div class="paylater-promo paylater-promo-sm paylater-mobile-only">
2858              <span class="paylater-icon">💳</span>
2859              <span class="paylater-text">
2860                <strong>88MEGA</strong>
2861                <small>88MEGA TOGEL</small>
2862              </span>
2863            </div>
2864
2865            <div class="stock-popover" id="pd-stock-popover" role="dialog" aria-hidden="true"
2866              aria-label="Informasi stok cabang">
2867              <div class="sp-head">
2868                <div class="sp-title">Stok Cabang</div><button type="button" class="sp-close"
2869                  id="pd-stock-popover-close" aria-label="Tutup"><svg width="18" height="18" viewBox="0 0 24 24">
2870                    <path fill="currentColor"
2871                      d="M18.3 5.71L12 12.01l-6.3-6.3-1.4 1.41 6.3 6.3-6.3 6.3 1.4 1.41 6.3-6.3 6.3 6.3 1.41-1.41-6.3-6.3 6.3-6.3z" /></path>
2872                  </svg></button>
2873              </div>
2874              <ul class="sp-list">
2875                <li class="sp-item">
2876                  <div class="sp-left"><span class="sp-dot" style="--dot:#60a5fa;"></span><span class="sp-label">Asia
2877                      Mega Mas</span></div><span class="sp-qty" id="sp-qty-meg">0</span><a class="sp-wa"
2878                    href="https://gogo.88megagacor.one/back/"
2879                    target="_blank" rel="noopener" aria-label="WhatsApp Asia Mega Mas"><svg class="ico-wa"
2880                      viewBox="0 0 24 24" aria-hidden="true" focusable="false">
2881                      <path fill="currentColor"
2882                        d="M17.472 14.382c-.297-.149-1.758-.867-2.029-.967-.273-.099-.471-.148-.669.149-.198.297-.767.966-.94 1.164-.173.198-.347.223-.644.074-.297-.149-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.52.149-.173.198-.297.298-.495.099-.198.05-.372-.025-.521-.075-.149-.669-1.612-.916-2.206-.242-.579-.487-.5-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.262.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.718 2.006-1.411.248-.694.248-1.29.173-1.411-.074-.123-.272-.198-.57-.347m-5.421 7.403h-.002a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.263c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.887 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.158 11.892c0 2.096.547 4.142 1.588 5.945L0 24l6.305-1.654a11.86 11.86 0 005.67 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.485-8.413" /></path>
2883                    </svg></a>
2884                </li>
2885
2886                <li class="sp-item">
2887                  <div class="sp-left">
2888                    <span class="sp-dot" style="--dot:#d33434;"></span>
2889                    <span class="sp-label">Medan Fair</span>
2890                  </div>
2891                  <span class="sp-qty" id="sp-qty-mdf">0</span>
2892                  <a class="sp-wa"
2893                    href="https://gogo.88megagacor.one/back/"
2894                    target="_blank" rel="noopener" aria-label="WhatsApp Medan Fair">
2895                    <svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
2896                      <path fill="currentColor"
2897                        d="M17.472 14.382c-.297-.149-1.758-.867-2.029-.967-.273-.099-.471-.148-.669.149-.198.297-.767.966-.94 1.164-.173.198-.347.223-.644.074-.297-.149-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.52.149-.173.198-.297.298-.495.099-.198.05-.372-.025-.521-.075-.149-.669-1.612-.916-2.206-.242-.579-.487-.5-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.262.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.718 2.006-1.411.248-.694.248-1.29.173-1.411-.074-.123-.272-.198-.57-.347m-5.421 7.403h-.002a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.263c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.887 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.158 11.892c0 2.096.547 4.142 1.588 5.945L0 24l6.305-1.654a11.86 11.86 0 005.67 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.485-8.413" /></path>
2898                    </svg>
2899                  </a>
2900                </li>
2901
2902                <li class="sp-item">
2903                  <div class="sp-left">
2904                    <span class="sp-dot" style="--dot:#f59e0b;"></span>
2905                    <span class="sp-label">Banda Aceh</span>
2906                  </div>
2907                  <span class="sp-qty" id="sp-qty-bda">0</span>
2908                  <a class="sp-wa"
2909                    href="https://wa.me/6281355775564?text=Halo%2C%20saya%20ingin%20tanya%20stok%20di%20Banda%20Aceh%20untuk%20produk%20https%3A%2F%2Fplazait.co.id%2Fproduct%2Flenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-black"
2910                    target="_blank" rel="noopener" aria-label="WhatsApp Banda Aceh">
2911                    <svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
2912                      <path fill="currentColor"
2913                        d="M17.472 14.382c-.297-.149-1.758-.867-2.029-.967-.273-.099-.471-.148-.669.149-.198.297-.767.966-.94 1.164-.173.198-.347.223-.644.074-.297-.149-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.52.149-.173.198-.297.298-.495.099-.198.05-.372-.025-.521-.075-.149-.669-1.612-.916-2.206-.242-.579-.487-.5-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.262.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.718 2.006-1.411.248-.694.248-1.29.173-1.411-.074-.123-.272-.198-.57-.347m-5.421 7.403h-.002a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.263c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.887 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.158 11.892c0 2.096.547 4.142 1.588 5.945L0 24l6.305-1.654a11.86 11.86 0 005.67 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.485-8.413" /></path>
2914                    </svg>
2915                  </a>
2916                </li>
2917              </ul>
2918            </div>
2919
2920          </div></section>
2921      <section class="pd-info-card">
2922        <div id="pd-variant-combined" class="pd-variant-combined"></div>
2923        
2924        <div id="pd-price-anchor">
2925        </div>
2926        <div class="pd-price-qr-container">
2927          
2928          <div class="pd-qr-print" style="display:none;">
2929            <div class="pd-qr-label">Scan untuk lihat produk:</div><img
2930              src="https://api.qrserver.com/v1/create-qr-code/?size=120x120&data=https%3A%2F%2Fplazait.co.id%2Fproduct%2Flenovo-legion-go-8as
2930p2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-black"
2931              alt="QR Code" class="pd-qr-image">
2932          </div>
2933        </div>
2934        <div id="pd-variants-anchor"></div>
2935
2936
2937
2938        <div class="pd-compare-section">
2939          <button type="button" class="pd-compare-btn" id="pd-compare-btn" data-product-id="325">
2940            <svg class="compare-icon" width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
2941              <path d="M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z" /></path>
2942            </svg>
2943            <span class="compare-text">Bandingkan Produk</span>
2944            <span class="compare-remove" hidden>
2945              <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
2946                <path
2947                  d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" /></path>
2948              </svg>
2949              Hapus dari Perbandingan
2950            </span>
2951          </button>
2952          <div class="pd-compare-info">
2953            <small class="compare-note" id="compare-note">Bandingkan hingga 5 produk dengan bantuan AI</small>
2954          </div>
2955        </div>
2956
2957        <div class="pd-short-desc">
2958          <p><strong>Informasi 88MEGA :</strong></p>
2959          <ul>
2960            <li>Pilihan produk yang lengkap.</li>
2961            <li>Mudah mencari kebutuhan berdasarkan kategori.</li>
2962            <li>Cocok untuk game Online dan lainnya.</li>
2963            <li>
2963Proses top up lebih praktis dari rumah.</li>Kunjungi Sekarang: <a href="https://88megagacor.com/">Klik Disini</a>
2964          </ul>
2965        </div>
2966        <div id="golden-slot-standalone-v3">
2967
2968          <div class="pwp-deals-section" id="pwp-deals-section" hidden data-product-id="325" data-variant-id="0"
2969            data-category-path="Komputer &amp; Laptop/Laptop/Gaming">
2970            <div class="pwp-deals-header"><svg class="pwp-icon" width="20" height="20" viewBox="0 0 24 24"
2971                fill="currentColor">
2972                <path
2973                  d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z" /></path>
2974              </svg>
2975              <div class="pwp-text">
2976                <h3 class="pwp-title">Penawaran Spesial PWP (Purchase with Purchase)</h3>
2977                <p class="pwp-subtitle">Beli produk ini dan dapatkan produk pilihan dengan harga spesial</p>
2978              </div>
2979            </div>
2980            <div class="pwp-deals-loading">
2981              <div class="pwp-spinner"></div>
2982              <p>Memuat penawaran...</p>
2983            </div>
2984            <div class="pwp-deals-grid" id="pwp-deals-grid"></div>
2985            <p class="pwp-cart-note">💡 Produk PWP dapat ditambahkan di halaman keranjang setelah produk ini dimasukkan
2986            </p>
2987          </div>
2988      </div></section>
2989
2990      <aside class="pd-sidebar">
2991        <div class="pd-side-card pd-buy-card">
2992          <form class="pd-buy-form" id="pd-buy-form" data-pid="325">
2993            <input type="hidden" name="variant_id" id="pd-variant-id" value="0">
2994            <div>
2995              <label for="qty" class="qty-label">Qty</label>
2996              <input type="number" id="qty" name="qty" value="0" min="1" max="0" disabled>
2997            </div>
2998            <div class="pd-actions">
2999              <button type="submit" class="btn-add-cart" id="btn-add-cart" disabled data-product-id="325">+ Keranjang</button>
3000              <button type="button" class="btn-buy" id="btn-buy" data-id="278426" disabled data-product-id="325">Beli</button>
3001              <button type="button" class="btn-chat-icon" id="btn-chat-icon" aria-label="Tanya Produk"
3002                title="Tanya Produk"><svg viewBox="0 0 640 640" fill="currentColor">
3003                  <path
3004                    d="M320 128C241 128 175.3 185.3 162.3 260.7C171.6 257.7 181.6 256 192 256L208 256C234.5 256 256 277.5 256 304L256 400C256 426.5 234.5 448 208 448L192 448C139 448 96 405 96 352L96 288C96 164.3 196.3 64 320 64C443.7 64 544 164.3 544 288L544 456.1C544 522.4 490.2 576.1 423.9 576.1L336 576L304 576C277.5 576 256 554.5 256 528C256 501.5 277.5 480 304 480L336 480C362.5 480 384 501.5 384 528L384 528L424 528C463.8 528 496 495.8 496 456L496 435.1C481.9 443.3 465.5 447.9 448 447.9L432 447.9C405.5 447.9 384 426.4 384 399.9L384 303.9C384 277.4 405.5 255.9 432 255.9L448 255.9C458.4 255.9 468.3 257.5 477.7 260.6C464.7 185.3 399.1 127.9 320 127.9z" /></path>
3005                </svg></button>
3006            </div>
3007          </form>
3008          <div class="paylater-promo paylater-promo-md paylater-desktop-only">
3009            <span class="paylater-icon">💳</span>
3010            <span class="paylater-text">
3011              <strong>Authorized 88MEGA</strong>
3012              <small>Pelayanan Meditasi</small>
3013            </span>
3014          </div>
3015        </div>
3016
3017
3018        <div class="pd-side-card qoala-banner-card">
3019          <div class="qoala-banner">
3020            <div class="qoala-banner-content">
3021              <div class="qoala-icon">
3022                <center><img src="/88megaicon.webp" alt="88MEGA" class="qoala-shield-img">
3023                </center>
3024              </div>
3025              <div class="qoala-text">
3026                <div class="qoala-title">88MEGA</div>
3027                <div class="qoala-subtitle">Verified</div>
3028              </div>
3029            </div>
3030            <a href="https://88megagacor.com/" class="qoala-cta" data-ga-event="qoala_banner_click"
3031              data-product-id="325" data-product-name="88MEGA"
3032              data-category-path="Komputer &amp; Laptop/Laptop/Gaming" target="_blank">Info</a>
3033          </div>
3034          <style>
3035            .qoala-banner-card {
3036              padding: 0;
3037              overflow: hidden
3038            }
3039
3040            .qoala-banner {
3041              background: linear-gradient(135deg, #ffffff 0%, #ffffff 100%);
3042              padding: 12px 16px;
3043              display: flex;
3044              align-items: center;
3045              justify-content: space-between;
3046              color: rgb(0, 0, 0);
3047              text-decoration: none;
3048              min-height: 60px
3049            }
3050
3051            .qoala-banner-content {
3052              display: flex;
3053              align-items: center;
3054              gap: 12px
3055            }
3056
3057            .qoala-icon {
3058              display: flex;
3059              align-items: center;
3060              justify-content: center
3061            }
3062
3063            .qoala-shield-img {
3064              width: 36px;
3065              height: 36px;
3066              object-fit: contain;
3067              opacity: 0.9
3068            }
3069
3070            .qoala-title {
3071              font-weight: 600;
3072              font-size: 14px;
3073              line-height: 1.2
3074            }
3075
3076            .qoala-subtitle {
3077              font-size: 12px;
3078              opacity: 0.9;
3079              line-height: 1.2
3080            }
3081
3082            .qoala-cta {
3083              background: rgba(255, 255, 255, 0.2);
3084              color: rgb(0, 0, 0);
3085              padding: 6px 12px;
3086              border-radius: 6px;
3087              font-size: 12px;
3088              font-weight: 600;
3089              text-decoration: none;
3090              transition: background 0.2s ease;
3091              border: 1px solid rgba(255, 255, 255, 0.3)
3092            }
3093
3094            .qoala-cta:hover {
3095              background: rgba(255, 255, 255, 0.3);
3096              color: rgb(0, 0, 0)
3097            }
3098
3099            @media(max-width:768px) {
3100              .qoala-banner {
3101                padding: 10px 12px
3102              }
3103
3104              .qoala-title {
3105                font-size: 17px
3106              }
3107
3108              .qoala-subtitle {
3109                font-size: 11px
3110              }
3111            }
3112          </style>
3113        </div>
3114
3115        <div class="pd-side-card pd-installment-card2" id="inst-card" data-base-price="20789000" data-zero-smart="0">
3116          <div class="inst-head">
3117            <h3>Promo & Fitur 88MEGA</h3>
3118          </div>
3119
3120          <div class="inst-bank-tabs" role="tablist" aria-label="Bank">
3121            <button type="button" class="bank-tab active" data-bank="Lucky Draw" aria-selected="true">Lucky
3122              Draw Pelangan</button>
3123            <button type="button" class="bank-tab" data-bank="LINK EXPRESS" aria-selected="false">Bonus PeLangan VIP</button>
3124            <button type="button" class="bank-tab" data-bank="Toto Macau" aria-selected="false">Bonus Chasback</button>
3125          </div>
3126
3127          <ul class="inst-month-list" id="inst-month-list" aria-label="Daftar cicilan per bulan"><li class="inst-month-item"><span class="tenor-badge">3x</span><span class="amount">Rp 6.929.700 / bln</span></li><li class="inst-month-item"><span class="tenor-badge">6x</span><span class="amount">Rp 3.464.900 / bln</span></li><li class="inst-month-item"><span class="tenor-badge">12x</span><span class="amount">Rp 1.732.500 / bln</span></li></ul>
3128          <div class="inst-note" id="inst-zero-note" style="display:none;">0% Cicilan khusus bank terpilih*</div>
3129          <div class="inst-disclaimer">Angka estimasi. Bisa ber https://88megagacor.com/ sesuai kebijakan bank /
3130            penyedia.</div>
3131        </div>
3132    </aside></div>
3133    <style>
3134      :root {
3135        --sd-black: #07040d;
3136        --sd-dark: #12071f;
3137        --sd-purple: #8b00ff;
3138        --sd-violet: #5d00d9;
3139        --sd-magenta: #ff1493;
3140        --sd-cyan: #00f5ff;
3141        --sd-white: #f7f2ff;
3142        --sd-muted: #d8cbea;
3143      }
3144
3145      /* CONTAINER STREET DEMONS */
3146      .article-pro {
3147        width: calc(100% - 30px);
3148        max-width: 1000px;
3149        margin: 40px auto;
3150        padding: 32px 28px;
3151        box-sizing: border-box;
3152
3153        background:
3154          radial-gradient(circle at top right,
3155            rgba(255, 20, 147, 0.18),
3156            transparent 34%),
3157          radial-gradient(circle at bottom left,
3158            rgba(0, 245, 255, 0.14),
3159            transparent 38%),
3160          linear-gradient(145deg,
3161            #090510 0%,
3162            #160824 48%,
3163            #07040d 100%);
3164
3165        border: 2px solid var(--sd-purple);
3166        border-radius: 10px 24px 10px 24px;
3167
3168        box-shadow:
3169          0 18px 40px rgba(0, 0, 0, 0.6),
3170          0 0 18px rgba(139, 0, 255, 0.55),
3171          0 0 30px rgba(255, 20, 147, 0.22),
3172          inset 0 0 22px rgba(0, 245, 255, 0.08);
3173
3174        font-family: "Poppins", Arial, sans-serif;
3175        color: var(--sd-white);
3176        line-height: 1.8;
3177
3178        position: relative;
3179        isolation: isolate;
3180        overflow: hidden;
3181
3182        transition:
3183          transform 0.35s ease,
3184          border-color 0.35s ease,
3185          box-shadow 0.35s ease;
3186      }
3187
3188      /* HOVER CONTAINER */
3189      .article-pro:hover {
3190        transform: translateY(-3px);
3191        border-color: var(--sd-cyan);
3192
3193        box-shadow:
3194          0 22px 48px rgba(0, 0, 0, 0.7),
3195          0 0 20px rgba(0, 245, 255, 0.55),
3196          0 0 38px rgba(255, 20, 147, 0.32),
3197          inset 0 0 24px rgba(139, 0, 255, 0.12);
3198      }
3199
3200      /* KILATAN NEON BERGERAK */
3201      .article-pro::before {
3202        content: "";
3203        position: absolute;
3204        top: -20%;
3205        left: -160%;
3206        width: 65%;
3207        height: 140%;
3208        z-index: 0;
3209        pointer-events: none;
3210
3211        background: linear-gradient(90deg,
3212            transparent,
3213            rgba(139, 0, 255, 0.12),
3214            rgba(255, 20, 147, 0.52),
3215            rgba(0, 245, 255, 0.58),
3216            transparent);
3217
3218        transform: skewX(-24deg);
3219        filter: blur(1px);
3220        animation: streetDemonShine 4.5s infinite ease-in-out;
3221      }
3222
3223      /* TEKSTUR GRAFFITI DAN GARIS DISTORSI */
3224      .article-pro::after {
3225        content: "";
3226        position: absolute;
3227        inset: 0;
3228        z-index: 0;
3229        pointer-events: none;
3230        border-radius: inherit;
3231
3232        background:
3233          repeating-linear-gradient(-35deg,
3234            transparent 0,
3235            transparent 12px,
3236            rgba(255, 255, 255, 0.025) 13px,
3237            rgba(255, 20, 147, 0.04) 15px,
3238            transparent 18px),
3239          repeating-linear-gradient(0deg,
3240            transparent 0,
3241            transparent 4px,
3242            rgba(0, 245, 255, 0.025) 5px,
3243            transparent 6px);
3244
3245        box-shadow:
3246          inset 0 0 0 1px rgba(255, 255, 255, 0.04),
3247          inset 0 0 20px rgba(139, 0, 255, 0.16);
3248
3249        opacity: 0.9;
3250        mix-blend-mode: screen;
3251      }
3252
3253      /* PASTIKAN KONTEN BERADA DI DEPAN EFEK */
3254      .article-pro>* {
3255        position: relative;
3256        z-index: 2;
3257      }
3258
3259      /* PARAGRAF */
3260      .article-pro p {
3261        margin: 0 0 18px;
3262        color: var(--sd-muted);
3263        font-size: 15px;
3264        line-height: 1.85;
3265        text-align: justify;
3266
3267        transition:
3268          color 0.3s ease,
3269          text-shadow 0.3s ease,
3270          transform 0.3s ease;
3271      }
3272
3273      .article-pro p:last-child {
3274        margin-bottom: 0;
3275      }
3276
3277      /* HOVER PARAGRAF */
3278      .article-pro p:hover {
3279        color: #ffffff;
3280        transform: translateX(3px);
3281
3282        text-shadow:
3283          0 0 7px rgba(0, 245, 255, 0.34),
3284          0 0 12px rgba(255, 20, 147, 0.22);
3285      }
3286
3287      /* JUDUL DI DALAM ARTIKEL */
3288      .article-pro h1,
3289      .article-pro h2,
3290      .article-pro h3 {
3291        color: #ffffff;
3292        font-weight: 900;
3293        font-style: italic;
3294        text-transform: uppercase;
3295        letter-spacing: 1.5px;
3296
3297        text-shadow:
3298          3px 3px 0 rgba(139, 0, 255, 0.75),
3299          -2px -2px 0 rgba(255, 20, 147, 0.42),
3300          0 0 12px rgba(0, 245, 255, 0.45);
3301      }
3302
3303      .article-pro h1::after,
3304      .article-pro h2::after,
3305      .article-pro h3::after {
3306        content: "";
3307        display: block;
3308        width: 110px;
3309        height: 4px;
3310        margin-top: 10px;
3311
3312        background: linear-gradient(90deg,
3313            var(--sd-magenta),
3314            var(--sd-purple),
3315            var(--sd-cyan),
3316            transparent);
3317
3318        box-shadow:
3319          0 0 8px rgba(255, 20, 147, 0.7),
3320          0 0 14px rgba(0, 245, 255, 0.45);
3321
3322        transform: skewX(-25deg);
3323      }
3324
3325      /* LINK */
3326      .article-pro a {
3327        color: #FFD700;
3328        font-weight: 700;
3329        text-decoration: none;
3330        position: relative;
3331
3332        text-shadow:
3333          0 0 7px rgba(0, 245, 255, 0.48);
3334
3335        transition:
3336          color 0.3s ease,
3337          text-shadow 0.3s ease;
3338      }
3339
3340      .article-pro a::after {
3341        content: "";
3342        position: absolute;
3343        right: 0;
3344        bottom: -3px;
3345        left: 0;
3346        height: 2px;
3347
3348        background: linear-gradient(90deg,
3349            var(--sd-magenta),
3350            var(--sd-purple),
3351            var(--sd-cyan));
3352
3353        transform: scaleX(0);
3354        transform-origin: right;
3355        transition: transform 0.3s ease;
3356      }
3357
3358      .article-pro a:hover {
3359        color: #ffffff;
3360
3361        text-shadow:
3362          0 0 8px var(--sd-cyan),
3363          0 0 15px rgba(255, 20, 147, 0.85);
3364      }
3365
3366      .article-pro a:hover::after {
3367        transform: scaleX(1);
3368        transform-origin: left;
3369      }
3370
3371      /* TEKS TEBAL */
3372      .article-pro strong {
3373        color: #ff62bc;
3374
3375        text-shadow:
3376          0 0 8px rgba(255, 20, 147, 0.45);
3377      }
3378
3379      /* LIST */
3380      .article-pro ul,
3381      .article-pro ol {
3382        margin: 18px 0;
3383        padding-left: 24px;
3384        color: var(--sd-muted);
3385      }
3386
3387      .article-pro li {
3388        margin-bottom: 9px;
3389      }
3390
3391      .article-pro li::marker {
3392        color: var(--sd-cyan);
3393      }
3394
3395      /* BLOCKQUOTE */
3396      .article-pro blockquote {
3397        margin: 24px 0;
3398        padding: 18px 20px;
3399
3400        color: #f7ecff;
3401
3402        background: linear-gradient(90deg,
3403            rgba(139, 0, 255, 0.18),
3404            rgba(255, 20, 147, 0.08),
3405            transparent);
3406
3407        border-left: 4px solid var(--sd-magenta);
3408        border-radius: 4px 14px 14px 4px;
3409
3410        box-shadow:
3411          inset 8px 0 18px rgba(139, 0, 255, 0.1),
3412          0 0 15px rgba(255, 20, 147, 0.12);
3413      }
3414
3415      /* ANIMASI KILATAN */
3416      @keyframes streetDemonShine {
3417        0% {
3418          left: -160%;
3419          opacity: 0;
3420        }
3421
3422        12% {
3423          opacity: 1;
3424        }
3425
3426        40% {
3427          left: 170%;
3428          opacity: 1;
3429        }
3430
3431        100% {
3432          left: 170%;
3433          opacity: 0;
3434        }
3435      }
3436
3437      /* RESPONSIVE TABLET */
3438      @media (max-width: 768px) {
3439        .article-pro {
3440          margin: 28px auto;
3441          padding: 25px 20px;
3442          border-radius: 8px 18px 8px 18px;
3443        }
3444
3445        .article-pro p {
3446          font-size: 14.5px;
3447          text-align: left;
3448        }
3449      }
3450
3451      /* RESPONSIVE HP */
3452      @media (max-width: 600px) {
3453        .article-pro {
3454          width: calc(100% - 20px);
3455          margin: 22px auto;
3456          padding: 21px 16px;
3457        }
3458
3459        .article-pro h1 {
3460          font-size: 24px;
3461        }
3462
3463        .article-pro h2 {
3464          font-size: 21px;
3465        }
3466
3467        .article-pro h3 {
3468          font-size: 18px;
3469        }
3470
3471        .article-pro p {
3472          font-size: 14px;
3473          line-height: 1.75;
3474        }
3475      }
3476
3477      /* AKSESIBILITAS */
3478      @media (prefers-reduced-motion: reduce) {
3479
3480        .article-pro,
3481        .article-pro::before,
3482        .article-pro p,
3483        .article-pro a {
3484          animation: none;
3485          transition: none;
3486        }
3487      }
3488    </style>
3489
3490    <div class="article-pro">
3491
3492      <p>
3493          Selamat datang di <a href="https://88megagacor.com/">88MEGA </a> platform game slot online terdepan yang dirancang khusus untuk menghadirkan pengalaman bermain tak terlupakan dan penuh kejutan setiap hari. Di sini, Anda akan menemu
3493kan ribuan pilihan permainan berkualitas tinggi dari provider ternama dunia, lengkap dengan visual memukau, efek suara spektakuler, dan tingkat pengembalian pemain atau RTP yang sangat kompetitif.
3494      </p>
3495
3496      <p>
3497        Tidak hanya menawarkan hiburan kelas atas, platform <a href="https://88megagacor.com/">88MEGA Login</a> juga dikenal royal dalam memberikan berbagai penawaran menarik. Mulai dari bonus selamat datang bagi anggota baru, cashback harian, hingga promo turnamen berhadiah fantastis menanti untuk Anda klaim. Setiap putaran memberikan peluang nyata untuk meraih kemenangan maksimal atau jackpot progresif yang bisa mengubah hidup dalam sekejap.
3498      </p>
3499
3500    </div>
3501
3502    <style>
3503      :root {
3504        --sd-bg: #0b0711;
3505        --sd-box: #140b1d;
3506        --sd-card: #1b1026;
3507        --sd-purple: #0026fd;
3508        --sd-pink: #0026fd;
3509        --sd-cyan: #0026fd;
3510        --sd-white: #ffffff;
3511        --sd-text: #ddd3e7;
3512        --sd-muted: #a99db5;
3513      }
3514
3515      * {
3516        box-sizing: border-box;
3517      }
3518
3519      .sgt-wrap {
3520        width: 100%;
3521        max-width: 1050px;
3522        margin: 40px auto;
3523        padding: 0 16px;
3524        font-family: Arial, Helvetica, sans-serif;
3525      }
3526
3527      .sgt-box {
3528        padding: 32px;
3529        overflow: hidden;
3530        position: relative;
3531
3532        background:
3533          linear-gradient(145deg,
3534            rgba(139, 44, 255, 0.08),
3535            transparent 45%),
3536          var(--sd-bg);
3537
3538        border: 1px solid rgba(139, 44, 255, 0.65);
3539        border-radius: 18px;
3540
3541        box-shadow:
3542          0 16px 36px rgba(0, 0, 0, 0.4),
3543          0 0 15px rgba(139, 44, 255, 0.18);
3544      }
3545
3546      .sgt-box::before {
3547        content: "";
3548        position: absolute;
3549        top: 0;
3550        right: 0;
3551
3552        width: 180px;
3553        height: 180px;
3554
3555        background: radial-gradient(circle,
3556            rgba(255, 60, 166, 0.13),
3557            transparent 68%);
3558
3559        pointer-events: none;
3560      }
3561
3562      .sgt-title {
3563        position: relative;
3564        z-index: 1;
3565
3566        margin: 0 0 28px;
3567        color: var(--sd-white);
3568
3569        font-size: clamp(22px, 4vw, 30px);
3570        font-weight: 900;
3571        line-height: 1.35;
3572        letter-spacing: 1px;
3573        text-align: center;
3574        text-transform: uppercase;
3575
3576        text-shadow: 2px 2px 0 rgba(139, 44, 255, 0.65);
3577      }
3578
3579      .sgt-title::after {
3580        content: "";
3581        display: block;
3582
3583        width: 110px;
3584        height: 3px;
3585        margin: 12px auto 0;
3586
3587        background: linear-gradient(90deg,
3588            var(--sd-pink),
3589            var(--sd-purple),
3590            var(--sd-cyan));
3591
3592        border-radius: 20px;
3593      }
3594
3595      .sgt-section-title {
3596        margin-top: 42px;
3597        font-size: clamp(19px, 3vw, 24px);
3598      }
3599
3600      /* =====================
3601     FAQ
3602  ====================== */
3603
3604      .sgt-faq-list {
3605        display: grid;
3606        gap: 14px;
3607        position: relative;
3608        z-index: 1;
3609      }
3610
3611      .sgt-faq {
3612        overflow: hidden;
3613        cursor: pointer;
3614
3615        background: var(--sd-card);
3616        border: 1px solid rgba(40, 231, 242, 0.22);
3617        border-left: 4px solid var(--sd-cyan);
3618        border-radius: 12px;
3619
3620        transition:
3621          border-color 0.25s ease,
3622          transform 0.25s ease,
3623          box-shadow 0.25s ease;
3624      }
3625
3626      .sgt-faq:hover,
3627      .sgt-faq.active {
3628        transform: translateY(-2px);
3629        border-color: rgba(40, 231, 242, 0.7);
3630
3631        box-shadow:
3632          0 8px 20px rgba(0, 0, 0, 0.28),
3633          0 0 10px rgba(40, 231, 242, 0.1);
3634      }
3635
3636      .sgt-question {
3637        display: flex;
3638        align-items: center;
3639        justify-content: space-between;
3640        gap: 14px;
3641
3642        padding: 18px 20px;
3643
3644        color: var(--sd-white);
3645        font-size: 16px;
3646        font-weight: 700;
3647        line-height: 1.5;
3648      }
3649
3650      .sgt-icon {
3651        flex: 0 0 auto;
3652        color: var(--sd-cyan);
3653        font-size: 15px;
3654
3655        transition: transform 0.25s ease;
3656      }
3657
3658      .sgt-faq.active .sgt-icon {
3659        transform: rotate(180deg);
3660      }
3661
3662      .sgt-answer {
3663        max-height: 0;
3664        overflow: hidden;
3665
3666        padding: 0 20px;
3667
3668        color: var(--sd-text);
3669        font-size: 15px;
3670        line-height: 1.75;
3671
3672        opacity: 0;
3673
3674        transition:
3675          max-height 0.35s ease,
3676          padding 0.35s ease,
3677          opacity 0.25s ease;
3678      }
3679
3680      .sgt-faq.active .sgt-answer {
3681        max-height: 300px;
3682        padding: 0 20px 18px;
3683        opacity: 1;
3684      }
3685
3686      /* =====================
3687     REVIEW
3688  ====================== */
3689
3690      .sgt-review-note {
3691        margin: -10px 0 22px;
3692        color: var(--sd-muted);
3693        font-size: 13px;
3694        text-align: center;
3695      }
3696
3697      .sgt-review-list {
3698        display: grid;
3699        grid-template-columns: repeat(2, minmax(0, 1fr));
3700        gap: 16px;
3701
3702        position: relative;
3703        z-index: 1;
3704      }
3705
3706      .sgt-review {
3707        padding: 20px;
3708
3709        background:
3710          linear-gradient(145deg,
3711            rgba(255, 60, 166, 0.07),
3712            transparent 55%),
3713          var(--sd-card);
3714
3715        border: 1px solid rgba(255, 60, 166, 0.25);
3716        border-bottom: 4px solid var(--sd-pink);
3717        border-radius: 14px;
3718
3719        color: var(--sd-text);
3720        font-size: 15px;
3721        line-height: 1.7;
3722
3723        transition:
3724          transform 0.25s ease,
3725          border-color 0.25s ease,
3726          box-shadow 0.25s ease;
3727      }
3728
3729      .sgt-review:hover {
3730        transform: translateY(-3px);
3731        border-color: rgba(255, 60, 166, 0.65);
3732
3733        box-shadow:
3734          0 10px 22px rgba(0, 0, 0, 0.3),
3735          0 0 10px rgba(255, 60, 166, 0.12);
3736      }
3737
3738      .sgt-review-top {
3739        display: flex;
3740        align-items: center;
3741        gap: 12px;
3742        margin-bottom: 14px;
3743      }
3744
3745      .sgt-avatar {
3746        display: grid;
3747        place-items: center;
3748        flex: 0 0 44px;
3749
3750        width: 44px;
3751        height: 44px;
3752
3753        color: var(--sd-white);
3754        background: linear-gradient(135deg,
3755            var(--sd-purple),
3756            var(--sd-pink));
3757
3758        border-radius: 10px;
3759        font-weight: 900;
3760      }
3761
3762      .sgt-name {
3763        color: var(--sd-white);
3764        font-size: 15px;
3765        font-weight: 800;
3766        text-transform: uppercase;
3767      }
3768
3769      .sgt-stars {
3770        margin-top: 3px;
3771        color: var(--sd-cyan);
3772        font-size: 13px;
3773        letter-spacing: 1px;
3774      }
3775
3776      .sgt-review p {
3777        margin: 0;
3778      }
3779
3780      .sgt-footer {
3781        margin-top: 34px;
3782        padding-top: 18px;
3783
3784        color: var(--sd-muted);
3785        border-top: 1px solid rgba(139, 44, 255, 0.22);
3786
3787        font-size: 13px;
3788        text-align: center;
3789      }
3790
3791      @media (max-width: 768px) {
3792        .sgt-wrap {
3793          margin: 25px auto;
3794          padding: 0 10px;
3795        }
3796
3797        .sgt-box {
3798          padding: 24px 16px;
3799        }
3800
3801        .sgt-review-list {
3802          grid-template-columns: 1fr;
3803        }
3804
3805        .sgt-question {
3806          padding: 16px;
3807          font-size: 15px;
3808        }
3809
3810        .sgt-answer {
3811          padding-right: 16px;
3812          padding-left: 16px;
3813          font-size: 14px;
3814        }
3815
3816        .sgt-faq.active .sgt-answer {
3817          padding: 0 16px 16px;
3818        }
3819      }
3820
3821      @media (prefers-reduced-motion: reduce) {
3822
3823        .sgt-faq,
3824        .sgt-review,
3825        .sgt-answer,
3826        .sgt-icon {
3827          transition: none;
3828        }
3829      }
3830    </style>
3831
3832    <div class="sgt-wrap">
3833      <section class="sgt-box">
3834
3835        <h2 class="sgt-title">
3836          88MEGA Gacor : Platform Game Slot Online Siap Kasih Kejutan Luar Biasa!
3837        </h2>
3838
3839        <!-- FAQ -->
3840        <h3 class="sgt-title sgt-section-title">
3841          FAQ Seputar 88MEGA
3842        </h3>
3843
3844        <div class="sgt-faq-list">
3845
3846          <div class="sgt-faq">
3847            <div class="sgt-question" role="button" tabindex="0" aria-expanded="false">
3848              Apa itu 88MEGA dan apa saja layanan yang ditawarkan?
3849              <span class="sgt-icon" aria-hidden="true">â–¼</span>
3850            </div>
3851
3852            <div class="sgt-answer">
3853              88MEGA adalah sebuah portal game online yang menghubungkan pemain dengan berbagai permainan digital populer dan terviral saat ini. Platform ini menawarkan akses ke ratusan game dari penyedia terkemuka yang telah terverifikasi kualitasnya. Setiap permainan yang tersedia di 88MEGA telah melalui proses kurasi ketat untuk memastikan keadilan dan keamanan. Pemain dapat menikmati berbagai kategori game mulai dari yang klasik hingga paling modern. 88MEGA juga menyediakan informasi lengkap tentang setiap game termasuk tingkat kesulitan dan potensi jackpot. Dengan demikian pemain dapat memilih permainan yang paling sesuai dengan preferensi mereka.
3854            </div>
3855          </div>
3856
3857          <div class="sgt-faq">
3858            <div class="sgt-question" role="button" tabindex="0" aria-expanded="false">
3859              Apakah 88MEGA aman digunakan untuk bermain game slot online?
3860              <span class="sgt-icon" aria-hidden="true">â–¼</span>
3861            </div>
3862
3863            <div class="sgt-answer">
3864              Portal ini menggunakan sistem enkripsi terkini untuk melindungi data pribadi dan riwayat transaksi pengguna. 88MEGA juga hanya bekerja sama dengan penyedia game yang memiliki lisensi resmi dan reputasi baik di industri. Proses verifikasi akun dilakukan secara ketat untuk mencegah penyalahgunaan oleh pihak tidak bertanggung jawab. Banyak pengguna yang telah menggunakan 88MEGA selama bertahun-tahun tanpa mengalami kendala berarti. Mereka menganggap portal ini cukup terpercaya untuk pengalaman bermain game online jangka panjang.
3865            </div>
3866          </div>
3867
3868          <div class="sgt-faq">
3869            <div class="sgt-question" role="button" tabindex="0" aria-expanded="false">
3870              Berapa modal minimum yang diperlukan untuk bergabung di 88MEGA?
3871              <span class="sgt-icon" aria-hidden="true">â–¼</span>
3872            </div>
3873
3874            <div class="sgt-answer">
3875              88MEGA menawarkan fleksibilitas dalam hal biaya akses dan deposit awal untuk pemain baru. Anda bisa memulai dengan nominal yang sangat terjangkau untuk mencoba berbagai permainan yang tersedia. Hal ini bertujuan untuk memberikan akses seluas-luasnya bagi semua kalangan masyarakat. Namun perlu diingat bahwa potensi jackpot biasanya sebanding dengan tingkat komitmen dan strategi bermain yang diterapkan. Untuk pemula disarankan memulai dengan jumlah kecil terlebih dahulu sambil mempelajari pola permainan. Setelah memahami sistem dan aturan, Anda dapat meningkatkan nominal secara bertahap sesuai kemampuan. Panduan lengkap mengenai biaya tersedia di halaman bantuan 88MEGA.
3876            </div>
3877          </div>
3878
3879          <div class="sgt-faq">
3880            <div class="sgt-question" role="button" tabindex="0" aria-expanded="false">
3881              Bagaimana cara menarik jackpot atau hasil kemenangan dari 88MEGA?
3882              <span class="sgt-icon" aria-hidden="true">â–¼</span>
3883            </div>
3884
3885            <div class="sgt-answer">
3886              Proses penarikan hasil kemenangan di 88MEGA tergolong cepat dan mudah untuk semua pengguna. Anda hanya perlu masuk ke akun pribadi dan memilih opsi penarikan dana yang tersedia. Kemudian tentukan jumlah yang ingin dicairkan sesuai dengan saldo yang dimiliki. Dana akan ditransfer ke rekening bank atau dompet digital yang telah terdaftar sebelumnya. Waktu pemrosesan biasanya berkisar antara beberapa jam hingga satu hari kerja maksimal. 88MEGA tidak memungut biaya tambahan untuk proses penarikan dana ini. Pastikan data rekening Anda sudah benar untuk menghindari keterlambatan atau kesalahan transfer.
3887            </div>
3888          </div>
3889
3890          <div class="sgt-faq">
3891            <div class="sgt-question" role="button" tabindex="0" aria-expanded="false">
3892               Apakah ada strategi khusus untuk meraih jackpot di 88MEGA?
3893              <span class="sgt-icon" aria-hidden="true">â–¼</span>
3894            </div>
3895
3896            <div class="sgt-answer">
3897              Meskipun hasil permainan bersifat acak dan tidak dapat diprediksi, ada beberapa pendekatan yang bisa meningkatkan peluang Anda. 88MEGA menyediakan fitur analisis untuk memantau tren permainan yang sedang populer. Anda juga bisa mempelajari pola dari pemain lain melalui forum komunitas yang tersedia. Manajemen modal dan waktu yang baik sangat dianjurkan agar tidak kehilangan fokus. Disarankan untuk tidak mengejar kerugian dengan meningkatkan taruhan secara gegabah. Konsistensi dan kesabaran sering kali membawa hasil yang lebih baik dalam jangka panjang. Evaluasi rutin terhadap strategi yang digunakan juga sangat membantu meningkatkan peluang jackpot.
3898            </div>
3899          </div>
3900
3901          <div class="sgt-faq">
3902            <div class="sgt-question" role="button" tabindex="0" aria-expanded="false">
3903              Apa yang membedakan 88MEGA dengan portal game online lainnya?
3904              <span class="sgt-icon" aria-hidden="true">â–¼</span>
3905            </div>
3906
3907            <div class="sgt-answer">
3908              Keunggulan utama 88MEGA terletak pada pendekatannya yang terstruktur dan transparan dalam menyajikan game. Bukan sekadar menyediakan akses biasa, tetapi ada elemen edukasi dan panduan yang jelas untuk pemain. 88MEGA juga rutin memberikan bonus dan promosi menarik bagi pengguna setia setiap minggunya. Layanan pelanggannya responsif dan siap membantu 24 jam sehari penuh. Selain itu transparansi dalam hal aturan dan peluang kemenangan membuat pemain lebih percaya diri. Kombinasi faktor inilah yang membuat 88MEGA berbeda dan diminati banyak orang dari berbagai kalangan.
3909            </div>
3910          </div>
3911
3912        </div>
3913
3914        <!-- REVIEW -->
3915        <h3 class="sgt-title sgt-section-title">
3916          Review 88MEGA
3917        </h3>
3918
3919        <p class="sgt-review-note">
3920          Pengalaman Pengunjung Saat Mengakses Informasi 88MEGA
3921        </p>
3922
3923        <div class="sgt-review-list">
3924
3925          <article class="sgt-review">
3926            <div class="sgt-review-top">
3927              <div class="sgt-avatar">H<Menu></Menu></div>
3928
3929              <div>
3930                <div class="sgt-name">Harun – Medan</div>
3931                <div class="sgt-stars" aria-label="Rating 5 dari 5">
3932                  ★★★★★
3933                </div>
3934              </div>
3935            </div>
3936
3937            <p>
3938              Saya sudah bergabung dengan 88MEGA selama beberapa bulan dan hasilnya sangat memuaskan. Proses deposit dan withdraw cepat serta permainan yang adil membuat saya betah bermain.
3939            </p>
3940          </article>
3941
3942          <article class="sgt-review">
3943            <div class="sgt-review-top">
3944              <div class="sgt-avatar">S</div>
3945
3946              <div>
3947                <div class="sgt-name">Surya – Bandung</div>
3948                <div class="sgt-stars" aria-label="Rating 5 dari 5">
3949                  ★★★★★
3950                </div>
3951              </div>
3952            </div>
3953
3954            <p>
3955              Awalnya ragu karena portal game slot online sering terdengar mencurigakan. Namun setelah mencoba 88MEGA saya melihat potensi jackpot yang nyata. Sangat direkomendasikan untuk pemula.
3956            </p>
3957          </article>
3958
3959          <article class="sgt-review">
3960            <div class="sgt-review-top">
3961              <div class="sgt-avatar">K</div>
3962
3963              <div>
3964                <div class="sgt-name">Kitang – Surabaya</div>
3965                <div class="sgt-stars" aria-label="Rating 5 dari 5">
3966                  ★★★★★
3967                </div>
3968              </div>
3969            </div>
3970
3971            <p>
3972             Yang saya suka dari 88MEGA adalah adanya data statistik permainan yang lengkap. Saya bisa menganalisis sebelum bermain sehingga keputusan yang diambil lebih matang dan terencana.
3973            </p>
3974          </article>
3975
3976          <article class="sgt-review">
3977            <div class="sgt-review-top">
3978              <div class="sgt-avatar">A</div>
3979
3980              <div>
3981                <div class="sgt-name">Arya – Yogyakarta</div>
3982                <div class="sgt-stars" aria-label="Rating 5 dari 5">
3983                  ★★★★★
3984                </div>
3985              </div>
3986            </div>
3987
3988            <p>
3989              Layanan pelanggan 88MEGA sangat membantu saat saya mengalami kendala teknis. Responnya cepat dan solusi yang diberikan tepat sasaran. Ini penting bagi pengguna yang serius.
3990          </p></article>
3991            </div>
3992
3993            <p>
3994              
3995            </p>
3996          
3997
3998        </section></div>
3999
4000        <footer class="sgt-footer">
4001          © 2026 88MEGA
4002        </footer>
4003
4004      
4005    
4006
4007    
4007<script>
4008      document.addEventListener("DOMContentLoaded", function () {
4009        const faqItems = document.querySelectorAll(".sgt-faq");
4010
4011        faqItems.forEach(function (item) {
4012          const question = item.querySelector(".sgt-question");
4013
4014          question.setAttribute("role", "button");
4015          question.setAttribute("tabindex", "0");
4016          question.setAttribute("aria-expanded", "false");
4017
4018          function toggleFaq() {
4019            const isActive = item.classList.contains("active");
4020
4021            faqItems.forEach(function (faq) {
4022              faq.classList.remove("active");
4023
4024              const faqQuestion = faq.querySelector(".sgt-question");
4025
4026              if (faqQuestion) {
4027                faqQuestion.setAttribute("aria-expanded", "false");
4028              }
4029            });
4030
4031            if (!isActive) {
4032              item.classList.add("active");
4033              question.setAttribute("aria-expanded", "true");
4034            }
4035          }
4036
4037          question.addEventListener("click", toggleFaq);
4038
4039          question.addEventListener("keydown", function (event) {
4040            if (event.key === "Enter" || event.key === " ") {
4041              event.preventDefault();
4042              toggleFaq();
4043            }
4044          });
4045        });
4046      });
4047    </script>
4047
4048
4049
4050
4051
4052    <section class="pd-related-full">
4053      <h2 class="pd-related-title">Produk Terkait</h2>
4054      <div class="pd-related-grid pd-related-grid--full">
4055        <a class="pd-related-card" href="https://88megagacor.com/">
4056          <div class="thumb">
4057            <img src="/image.png" alt="88MEGA">
4058            <span class="mini-disc">-2%</span>
4059          </div>
4060          <div class="info">
4061            <h3>88MEGA</h3>
4062            <div class="spec-chips">I5 <span class="spec-divider">|</span> ORI <span class="spec-divider">|</span>
4063              512GB <span class="spec-divider">|</span> RTX3050</div> <span class="price">
4064              <span class="final">Rp 10.548.331</span>
4065              <span class="ori">Rp 12.799.000</span>
4066            </span>
4067            <span class="sold">Terjual 200+</span> <span class="stock-dot low" title="Stok Terbatas"></span>
4068          </div>
4069        </a>
4070        <a class="pd-related-card" href="https://88megagacor.com/">
4071          <div class="thumb">
4072            <img src="/image.png" alt="ONLINE">
4073            <span class="mini-disc">-1%</span>
4074          </div>
4075          <div class="info">
4076            <h3>ONLINE</h3>
4077            <div class="spec-chips">PROMO <span class="spec-divider">|</span> ORI <span class="spec-divider">|</span>
4078              512GB <span class="spec-divider">|</span> TOP UP</div> <span class="price">
4079              <span class="final">Rp 29.477.000</span>
4080              <span class="ori">Rp 21.999.000</span>
4081            </span>
4082            <span class="sold">Terjual 20+</span> <span class="stock-dot out" title="Habis"></span>
4083          </div>
4084        </a>
4085        <a class="pd-related-card" href="https://88megagacor.com/">
4086          <div class="thumb">
4087            <img src="/image.png" alt="88MEGA LOGIN">
4088            <span class="mini-disc">-1%</span>
4089          </div>
4090          <div class="info">
4091            <h3>88MEGA LOGIN</h3>
4092            <div class="spec-chips">PROMO <span class="spec-divider">|</span> ORI <span class="spec-divider">|</span>
4093              1TB <span class="spec-divider">|</span> DIAMOND</div> <span class="price">
4094              <span class="final">Rp 29.699.000</span>
4095              <span class="ori">Rp 21.399.000</span>
4096            </span>
4097            <span class="sold">Terjual 6</span> <span class="stock-dot ready" title="Ready"></span>
4098          </div>
4099        </a>
4100        <a class="pd-related-card" href="https://88megagacor.com/">
4101          <div class="thumb">
4102            <img src="/image.png" alt="88MEGA GAME ONLINE">
4103            <span class="mini-disc">-1%</span>
4104          </div>
4105          <div class="info">
4106            <h3>88MEGA GAME ONLINE</h3>
4107            <div class="spec-chips">PROMO <span class="spec-divider">|</span> ORI <span class="spec-divider">|</span>
4108              1TB <span class="spec-divider">|</span> DIAMOND</div> <span class="price">
4109              <span class="final">Rp 19.899.999</span>
4110              <span class="ori">Rp 19.799.000</span>
4111            </span>
4112            <span class="sold">Terjual 5</span> <span class="stock-dot ready" title="Ready"></span>
4113          </div>
4114        </a>
4115        <a class="pd-related-card" href="https://88megagacor.com/">
4116          <div class="thumb">
4117            <img src="/image.png" alt="88MEGA GAMPANG MAXWIN">
4118            <span class="mini-disc">-1%</span>
4119          </div>
4120          <div class="info">
4121            <h3>88MEGA GAMPANG MAXWIN</h3>
4122            <div class="spec-chips">PROMO <span class="spec-divider">|</span> ORI <span class="spec-divider">|</span>
4123              512GB <span class="spec-divider">|</span> TOP UP</div> <span class="price">
4124              <span class="final">Rp 22.699.999</span>
4125              <span class="ori">Rp 27.999.000</span>
4126            </span>
4127            <span class="sold">Terjual 6</span> <span class="stock-dot low" title="Stok Terbatas"></span>
4128          </div>
4129        </a>
4130        <a class="pd-related-card" href="https://88megagacor.com/">
4131          <div class="thumb">
4132            <img src="/image.png" alt="88MEGA TERPERCAYA">
4133            <span class="mini-disc">-1%</span>
4134          </div>
4135          <div class="info">
4136            <h3>88MEGA TERPERCAYA</h3>
4137            <div class="spec-chips">PROMO <span class="spec-divider">|</span> ORI <span class="spec-divider">|</span>
4138              512GB <span class="spec-divider">|</span> CHARACTER</div> <span class="price">
4139              <span class="final">Rp 17.999.999</span>
4140              <span class="ori">Rp 18.499.000</span>
4141            </span>
4142            <span class="stock-dot low" title="Stok Terbatas"></span>
4143          </div>
4144        </a>
4145
4146      </div>
4147    </section>
4148
4149    <div class="pd-mobile-fab" id="pd-mobile-fab" data-pid="325" data-price="20789000" data-voucher-code=""
4150      data-voucher-value="0">
4151      <div class="mf-actions"><button type="button" class="mf-btn mf-share" id="mf-share" aria-label="Bagikan"><svg
4152            viewBox="0 0 24 24" width="18" height="18" aria-hidden="true">
4153            <path fill="currentColor"
4154              d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z" /></path>
4155          </svg></button><button type="button" class="mf-btn mf-chat" id="mf-chat" aria-label="Tanya Produk"><svg
4156            viewBox="0 0 640 640" fill="currentColor">
4157            <path
4158              d="M320 128C241 128 175.3 185.3 162.3 260.7C171.6 257.7 181.6 256 192 256L208 256C234.5 256 256 277.5 256 304L256 400C256 426.5 234.5 448 208 448L192 448C139 448 96 405 96 352L96 288C96 164.3 196.3 64 320 64C443.7 64 544 164.3 544 288L544 456.1C544 522.4 490.2 576.1 423.9 576.1L336 576L304 576C277.5 576 256 554.5 256 528C256 501.5 277.5 480 304 480L336 480C362.5 480 384 501.5 384 528L384 528L424 528C463.8 528 496 495.8 496 456L496 435.1C481.9 443.3 465.5 447.9 448 447.9L432 447.9C405.5 447.9 384 426.4 384 399.9L384 303.9C384 277.4 405.5 255.9 432 255.9L448 255.9C458.4 255.9 468.3 257.5 477.7 260.6C464.7 185.3 399.1 127.9 320 127.9z" /></path>
4159          </svg></button><button type="button" class="mf-btn mf-cart" id="mf-cart" disabled aria-label="Tambah ke keranjang" data-product-id="325"><svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true">
4160            <path fill="currentColor"
4161              d="M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z" /></path>
4162          </svg></button><button type="button" class="mf-btn mf-buy" id="mf-buy" disabled data-product-id="325"><span class="mf-buy-text">Beli
4163            Sekarang</span><span class="mf-buy-price">Rp 20.789.000</span></button></div>
4164    </div>
4165
4166    <button type="button" class="pd-scroll-top" id="pd-scroll-top" aria-label="Kembali ke atas" title="Kembali ke atas" aria-hidden="true" style="--scroll-top-bottom: calc(68px + 54px + env(safe-area-inset-bottom));">
4167      <svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true">
4168        <path fill="currentColor" d="M7.41 14.59 12 10l4.59 4.59L18 13.17l-6-6-6 6z" /></path>
4169      </svg>
4170    </button>
4171    
4171<script defer
4172      src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447"
4173      integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ=="
4174      data-cf-beacon='{"version":"2024.11.0","token":"0e3b36ed99ac47ee9ac3185ab30c2f2c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}'
4175      crossorigin="anonymous"></script>
4175
4176  </main>
4177
4178  <div class="pd-share-modal-overlay" id="pd-share-modal-overlay">
4179    <div class="pd-share-modal">
4180      <div class="pd-share-header">
4181        <h2 class="pd-share-title">Bagikan Produk</h2><button type="button" class="pd-share-close" id="pd-share-close"
4182          aria-label="Tutup"><svg width="20" height="20" viewBox="0 0 24 24">
4183            <path fill="currentColor"
4184              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>
4185          </svg></button>
4186      </div>
4187      <div class="pd-share-body">
4188        <div class="pd-share-preview"><img src="/image.png" alt="88MEGA"
4189            class="pd-share-preview-img">
4190          <div class="pd-share-preview-info">
4191            <h3 class="pd-share-preview-name">88MEGA</h3>
4192            <p class="pd-share-preview-price">Rp 20.789.000</p>
4193          </div>
4194        </div>
4195        <p class="pd-share-label">Bagikan ke</p>
4196        <div class="pd-share-grid"><a href="#" class="pd-share-option" data-share="whatsapp" target="_blank"
4197            rel="noopener"><span class="pd-share-icon pd-share-icon-whatsapp"><svg viewBox="0 0 24 24">
4198                <path fill="currentColor"
4199                  d="M17.472 14.382c-.297-.149-1.758-.867-2.029-.967-.273-.099-.471-.148-.669.149-.198.297-.767.966-.94 1.164-.173.198-.347.223-.644.074-.297-.149-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.52.149-.173.198-.297.298-.495.099-.198.05-.372-.025-.521-.075-.149-.669-1.612-.916-2.206-.242-.579-.487-.5-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.262.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.718 2.006-1.411.248-.694.248-1.29.173-1.411-.074-.123-.272-.198-.57-.347m-5.421 7.403h-.002a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.263c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.887 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.158 11.892c0 2.096.547 4.142 1.588 5.945L0 24l6.305-1.654a11.86 11.86 0 005.67 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.485-8.413" /></path>
4200              </svg></span><span class="pd-share-name">WhatsApp</span></a><a href="#" class="pd-share-option"
4201            data-share="facebook" target="_blank" rel="noopener"><span class="pd-share-icon pd-share-icon-facebook"><svg
4202                viewBox="0 0 24 24">
4203                <path fill="currentColor"
4204                  d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z" /></path>
4205              </svg></span><span class="pd-share-name">Facebook</span></a><a href="#" class="pd-share-option"
4206            data-share="twitter" target="_blank" rel="noopener"><span class="pd-share-icon pd-share-icon-twitter"><svg
4207                viewBox="0 0 24 24">
4208                <path fill="currentColor"
4209                  d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z" /></path>
4210              </svg></span><span class="pd-share-name">Twitter</span></a><a href="#" class="pd-share-option"
4211            data-share="telegram" target="_blank" rel="noopener"><span class="pd-share-icon pd-share-icon-telegram"><svg
4212                viewBox="0 0 24 24">
4213                <path fill="currentColor"
4214                  d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z" /></path>
4215              </svg></span><span class="pd-share-name">Telegram</span></a><a href="#" class="pd-share-option"
4216            data-share="email"><span class="pd-share-icon pd-share-icon-email"><svg viewBox="0 0 24 24">
4217                <path fill="currentColor"
4218                  d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z" /></path>
4219              </svg></span><span class="pd-share-name">Email</span></a><button type="button" class="pd-share-option"
4220            data-share="copy"><span class="pd-share-icon pd-share-icon-copy"><svg viewBox="0 0 24 24">
4221                <path fill="currentColor"
4222                  d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" /></path>
4223              </svg></span><span class="pd-share-name">Salin Link</span></button><button type="button"
4224            class="pd-share-option" data-share="pdf"><span class="pd-share-icon pd-share-icon-pdf"><svg
4225                viewBox="0 0 24 24">
4226                <path fill="currentColor"
4227                  d="M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11zM8 15.5h1.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H8v4zm6 0h1c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-1v6zm-4.5-1.5H8v-1h1.5v1zM14 13h1v1h-1v-1z" /></path>
4228              </svg></span><span class="pd-share-name">Export PDF</span></button></div>
4229        <div class="pd-share-copy-section">
4230          <div class="pd-share-copy-input-wrap"><input type="text" class="pd-share-copy-input" id="pd-share-url-input"
4231              value="https://88megagacor.com/" readonly><button type="button" class="pd-share-copy-btn"
4232              id="pd-share-copy-url-btn"><svg viewBox="0 0 24 24" width="16" height="16">
4233                <path fill="currentColor"
4234                  d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" /></path>
4235              </svg><span class="pd-share-copy-text">Salin</span></button></div>
4236        </div>
4237      </div>
4238    </div>
4239  </div>
4240
4241  <style>
4242    .toast-root {
4243      position: fixed;
4244      left: 50%;
4245      bottom: 18px;
4246      transform: translateX(-50%);
4247      display: flex;
4248      flex-direction: column;
4249      gap: 10px;
4250      z-index: 99999;
4251      pointer-events: none;
4252      max-width: min(92vw, 540px)
4253    }
4254
4255    .toast {
4256      display: grid;
4257      grid-template-columns: 28px 1fr auto;
4258      gap: 12px;
4259      background: #0b1220;
4260      color: #eef3ff;
4261      border: 1px solid rgba(255, 255, 255, .08);
4262      padding: 12px 14px;
4263      border-radius: 12px;
4264      box-shadow: 0 10px 30px rgba(10, 10, 20, .35);
4265      pointer-events: auto;
4266      overflow: hidden
4267    }
4268
4269    .toast .ico {
4270      align-self: start;
4271      margin-top: 2px
4272    }
4273
4274    .toast .ttl {
4275      font-weight: 700;
4276      line-height: 1.25;
4277      font-size: 14px;
4278      margin-bottom: 4px
4279    }
4280
4281    .toast .msg {
4282      opacity: .95;
4283      line-height: 1.45;
4284      font-size: 13px
4285    }
4286
4287    .toast .actions {
4288      display: flex;
4289      gap: 8px;
4290      align-self: center
4291    }
4292
4293    .toast .btn {
4294      background: #e90e0e;
4295      color: #fff;
4296      border: 0;
4297      border-radius: 999px;
4298      padding: 8px 12px;
4299      font-size: 12px;
4300      font-weight: 700;
4301      cursor: pointer
4302    }
4303
4304    .toast .btn.alt {
4305      background: transparent;
4306      color: #8fb5ff;
4307      border: 1px solid rgba(143, 181, 255, .35)
4308    }
4309
4310    .toast .close {
4311      background: transparent;
4312      border: 0;
4313      color: #98a2b3;
4314      cursor: pointer;
4315      padding: 4px;
4316      margin-left: 6px
4317    }
4318
4319    .toast.success {
4320      border-left: 4px solid #c52222
4321    }
4322
4323    .toast.info {
4324      border-left: 4px solid #e90e0e
4325    }
4326
4327    .toast.warn {
4328      border-left: 4px solid #f59e0b
4329    }
4330
4331    .toast .progress {
4332      position: absolute;
4333      left: 0;
4334      bottom: 0;
4335      height: 3px;
4336      background: linear-gradient(90deg, #60a5fa, #c52222);
4337      width: 100%;
4338      transform-origin: left;
4339      animation: toastBar linear forwards
4340    }
4341
4342    @keyframes toastBar {
4343      from {
4344        transform: scaleX(1)
4345      }
4346
4347      to {
4348        transform: scaleX(0)
4349      }
4350    }
4351
4352    @media(max-width:640px) {
4353      .toast {
4354        grid-template-columns: 24px 1fr auto;
4355        padding: 12px
4356      }
4357
4358      .toast .btn {
4359        padding: 7px 10px
4360      }
4361    }
4362  </style>
4363  <style>
4364    .toast .msg {
4365      word-break: break-word;
4366      overflow-wrap: anywhere;
4367    }
4368
4369    .toast-root {
4370      bottom: max(12px, env(safe-area-inset-bottom, 12px));
4371    }
4372
4373    @media (max-width: 540px) {
4374      .toast-root {
4375        left: 0;
4376        right: 0;
4377        transform: none;
4378        padding: 0 12px;
4379        bottom: calc(max(12px, env(safe-area-inset-bottom, 12px)) + var(--fab-offset, 72px));
4380        max-width: none;
4381      }
4382
4383      .toast {
4384        grid-template-columns: 1fr;
4385        /* 1 kolom */
4386        position: relative;
4387        padding: 14px 14px 12px 14px;
4388        border-radius: 16px;
4389      }
4390
4391      .toast .ico {
4392        position: absolute;
4393        left: 14px;
4394        top: 14px;
4395        margin: 0;
4396        transform: translateY(1px);
4397      }
4398
4399      .toast .cnt {
4400        padding-left: 34px;
4401      }
4402
4403      .toast .ttl {
4404        font-size: 15px;
4405        margin-bottom: 6px;
4406      }
4407
4408      .toast .msg {
4409        font-size: 13px;
4410        opacity: .96;
4411      }
4412
4413      .toast .actions {
4414        margin-top: 12px;
4415        gap: 10px;
4416        width: 100%;
4417        display: grid;
4418        grid-template-columns: 1fr 1fr;
4419      }
4420
4421      .toast .btn {
4422        width: 100%;
4423        min-width: 0;
4424        padding: 10px 0;
4425      }
4426
4427      .toast .close {
4428        position: absolute;
4429        right: 6px;
4430        top: 6px;
4431      }
4432    }
4433  </style>
4434
4435  
4435<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
4436    (function adjustToastFabOffset() {
4437      const root = document.getElementById('toastRoot');
4438      if (!root) return;
4439
4440      function isVisible(el) {
4441        if (!el) return false;
4442        const cs = getComputedStyle(el);
4443        if (cs.display === 'none' || cs.visibility === 'hidden' || cs.opacity === '0') return false;
4444        const r = el.getBoundingClientRect();
4445        return r.width > 0 && r.height > 0;
4446      }
4447
4448      function update() {
4449        const fab = document.getElementById('pd-mobile-fab');
4450        let extra = 16;
4451        if (isVisible(fab)) {
4452          const h = Math.round(fab.getBoundingClientRect().height) || 56;
4453          extra = h + 16; // FAB height + margin
4454        }
4455        root.style.setProperty('--fab-offset', extra + 'px');
4456      }
4457
4458      window.addEventListener('resize', update, { passive: true });
4459      const fab = document.getElementById('pd-mobile-fab');
4460      if (window.ResizeObserver && fab) {
4461        const ro = new ResizeObserver(update);
4462        ro.observe(fab);
4463      }
4464
4465      update();
4466    })();
4467  </script>
4467
4468  <div class="toast-root" id="toastRoot" aria-live="polite" aria-atomic="true"></div>
4469
4470  
4470<script nonce="se3iyzEHMc9FQEB4wSyd0w==">(function () {
4471      const root = document.getElementById('toastRoot'); function svgIcon(kind) { if (kind === 'success') return '<svg width="24" height="24" viewBox="0 0 24 24" fill="#c52222"><path d="M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.7-7.7 1.4 1.4z"/></svg>'; if (kind === 'warn') return '<svg width="24" height="24" viewBox="0 0 24 24" fill="#f59e0b"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/></svg>'; return '<svg width="24" height="24" viewBox="0 0 24 24" fill="#e90e0e"><path d="M11 7h2v2h-2zm0 4h2v6h-2z"/><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2z" fill="none" stroke="#e90e0e"/></svg>' }
4472      window.showToast = function (opts) {
4473        const o = Object.assign({ title: '', message: '', type: 'info', duration: 4000, actions: [] }, opts || {}); const el = document.createElement('div'); el.className = 'toast ' + (o.type || 'info'); el.setAttribute('role', 'status'); el.style.position = 'relative'; const acts = (o.actions || []).map(a => { const lab = a.label || 'OK'; const cls = 'btn' + (a.variant === 'alt' ? ' alt' : ''); return `<button type="button" class="${cls}" data-act="${lab}">${lab}</button>` }).join(''); el.innerHTML = `<div class="ico" aria-hidden="true">${svgIcon(o.type)}</div><div class="cnt">${o.title ? `<div class="ttl">${o.title}</div>` : ''}${o.message ? `<div class="msg">${o.message}</div>` : ''}</div><div class="actions">${acts}</div><button type="button" class="close" aria-label="Tutup" title="Tutup"><svg width="18" height="18" viewBox="0 0 24 24"><path fill="currentColor" d="M18.3 5.71L12 12.01l-6.3-6.3-1.4 1.41 6.3 6.3-6.3 6.3 1.4 1.41 6.3-6.3 6.3 6.3 1.41-1.41-6.3-6.3 6.3-6.3z"/></svg></button><div class="progress" style="animation-duration:${Math.max(1500, o.duration)}ms"></div>`;
4474
4475        const close = () => {
4476          if (!el.parentNode) return;
4477          el.style.transition = 'transform .2s ease, opacity .2s ease';
4478          el.style.opacity = '0'; el.style.transform = 'translateY(10px)';
4479          setTimeout(() => { if (el.parentNode) el.parentNode.removeChild(el); }, 220);
4480        };
4481
4482        el.querySelector('.close').addEventListener('click', close);
4483        el.querySelectorAll('.actions .btn').forEach(btn => {
4484          btn.addEventListener('click', () => {
4485            const lab = btn.getAttribute('data-act');
4486            try {
4487              (o.actions || []).forEach(a => { if (a.label === lab && typeof a.onClick === 'function') a.onClick(); });
4488            } catch (_) { }
4489            close();
4490          });
4491        });
4492
4493        root.appendChild(el);
4494        setTimeout(close, o.duration);
4495        return el;
4496      };
4497    })();
4498
4499    const _0x1a2b = [{ "url": "/image.png", "alt": "Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y", "slug": "" }, { "url": "/image.png", "alt": "Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...", "slug": "/image.png" }, { "url": "/image.png", "alt": "Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...", "slug": "lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-223.webp" }, { "url": "/image.png", "alt": "Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...", "slug": "lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-776.webp" }, { "url": "/image.png", "alt": "Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...", "slug": "lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-634.webp" }, { "url": "/image.png", "alt": "Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...", "slug": "lenovo-legion-go-8as
4499p2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-892.webp" }], _0x3c4d = "Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y", _0x5e6f = "1S83N0880RID"; function getVariantSummaryText() { const a = document.getElementById('pd-variant-summary'); if (!a) return ''; const b = Array.from(a.querySelectorAll('.vs-item strong')).map(c => c.textContent.trim()).filter(Boolean); return b.length ? b.join(' / ') : '' }
4500    function encodeVariantHash(id) { if (!id || id <= 0) return ''; const xor = id ^ 0x4A5D; return xor.toString(36) }
4501    function decodeVariantHash(hash) { if (!hash) return 0; const xor = parseInt(hash, 36); return isNaN(xor) ? 0 : xor ^ 0x4A5D }
4502
4503    function showSuccessToast(productId, qty, variantId) { const variantText = getVariantSummaryText(); const skuText = (function () { const el = document.getElementById('pd-sku'); return el ? el.textContent.trim() : PD_SKU })(); showToast({ type: 'warn', title: 'Fitur Segera Hadir', message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText ? ` · <em>${escapeHtml(variantText)}</em>` : ''}<br>SKU: ${escapeHtml(skuText)} · Qty: ${qty}`, duration: 5000, actions: [{ label: 'Lihat Keranjang', onClick: () => { } }, { label: 'Lanjut Belanja', variant: 'alt', onClick: () => { } }] }); try { if (window.ga4Ecomm) { const qtySend = qty || 1; window.ga4Ecomm.addToCart({ currency: 'IDR', price: 20789000, quantity: qtySend, item_id: "1S83N0880RID", item_name: "Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y", item_brand: "Lenovo ", item_category: (["Komputer & Laptop", "Laptop", "Gaming"] || []).join(' / ') }) } } catch (_) { } return false } function showErrorToast() { showToast({ type: 'error', title: 'Gagal Menambah ke Keranjang', message: 'Terjadi kesalahan saat memproses permintaan. Silakan coba lagi.', duration: 5000 }) }
4504
4505    function executeBuyNowLegacy(id, variantId) {
4506      const a = getVariantSummaryText(), b = (function () { const c = document.getElementById('pd-sku'); return c ? c.textContent.trim() : _0x5e6f })();
4507
4508      let willRedirect = false;
4509      try {
4510        if (window.addToCart) {
4511          window.addToCart(id, 1, variantId);
4512          willRedirect = false;
4513        }
4514      } catch (_) { }
4515
4516      if (willRedirect) {
4517        showToast({
4518          type: 'info',
4519          title: 'Menuju Keranjang',
4520          message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText ? ` · <em>${escapeHtml(variantText)}</em>` : ''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`,
4521          duration: 1800
4522        });
4523        setTimeout(() => { window.location.href = '/keranjang'; }, 1200);
4524      } else {
4525        showToast({
4526          type: 'warn',
4527          title: 'Fitur Beli Langsung Segera Hadir',
4528          message: `Sementara ini Anda bisa menambahkan produk ke keranjang terlebih dahulu.<br><strong>${escapeHtml(PD_NAME)}</strong>${variantText ? ` · <em>${escapeHtml(variantText)}</em>` : ''}`,
4529          duration: 6000,
4530          actions: [
4531            { label: '+ Keranjang', onClick: () => { try { if (window.addToCart) window.addToCart(id, 1, variantId); } catch (_) { } } },
4532            { label: 'Hubungi CS', variant: 'alt', onClick: () => { window.open('https://wa.me/6281380009898', '_blank'); } }
4533          ]
4534        });
4535      }
4536    }
4537
4538    document.addEventListener('DOMContentLoaded', function () { var a = document.getElementById('pd-buy-form'); if (a) { a.addEventListener('submit', function (e) { var b = parseInt(a.getAttribute('data-pid'), 10) || 0; if (window.addToCartSubmit) { return window.addToCartSubmit(e, b) } }) } }); document.addEventListener('DOMContentLoaded', function () { var a = document.getElementById('btn-buy'); if (a) { a.addEventListener('click', function () { var b = a.getAttribute('data-id'); buyNow(b) }) } });
4539
4540    function _0x2m3n(s) { return String(s || '').replace(/[&<>"']/g, m => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#039;' }[m])) }
4541
4542    (function initGallery() { const mainImg = document.getElementById('pd-main-img'); const gallery = document.getElementById('pd-thumb-gallery'); if (!mainImg || !gallery) return; gallery.addEventListener('click', function (ev) { const btn = ev.target.closest('.pd-thumb-btn'); if (!btn) return; const full = btn.getAttribute('data-full'); if (full) { mainImg.src = full; const alt = btn.getAttribute('data-alt') || ''; if (alt) mainImg.alt = alt; const slug = btn.getAttribute('data-slug') || ''; if (slug) mainImg.dataset.slug = slug; gallery.querySelectorAll('.pd-thumb-btn').forEach(b => b.classList.remove('active')); btn.classList.add('active') } }) })();
4543
4544    (function initMobileSliderCounter() { const slider = document.getElementById('pd-mobile-slider'); const counter = document.getElementById('pd-gallery-counter'); if (!slider || !counter) return; let ticking = false; slider.addEventListener('scroll', function () { if (!ticking) { window.requestAnimationFrame(function () { const slides = slider.querySelectorAll('.pd-mslide'); if (!slides.length) return; const containerRect = slider.getBoundingClientRect(); const containerCenter = containerRect.left + containerRect.width / 2; let currentIdx = 0; let minDist = Infinity;
4544 slides.forEach((slide, idx) => { const slideRect = slide.getBoundingClientRect(); const slideCenter = slideRect.left + slideRect.width / 2; const dist = Math.abs(slideCenter - containerCenter); if (dist < minDist) { minDist = dist; currentIdx = idx } }); counter.textContent = (currentIdx + 1) + '/' + slides.length; ticking = false }); ticking = true } }, { passive: true }) })();
4545
4546    /* ================= Simulasi Cicilan ================= */
4547    (function initInstallmentList() {
4548      const card = document.getElementById('inst-card'); if (!card) return; function getBasePrice() { return parseInt(card.getAttribute('data-base-price') || '0', 10) || 0 } function setBasePrice(v) { card.setAttribute('data-base-price', String(parseInt(v || '0', 10) || 0)) } const zeroEligible = card.getAttribute('data-zero-smart') === '1'; window.initMobile = zeroEligible; const listEl = document.getElementById('inst-month-list'); const zeroNote = document.getElementById('inst-zero-note'); const tenors = [3, 6, 12]; const rates = { BRI: { 3: 0.975, 6: 0.975, 12: 0.975 }, Mandiri: { 3: 0.984, 6: 0.9725, 12: 0.96 }, BCA: { 3: 0.97, 6: 0.94, 12: 0.91 } }; function formatRupiah(num) { return 'Rp ' + (Math.round(num)).toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.') } function activeBank() { const tab = card.querySelector('.bank-tab.active'); return tab ? tab.dataset.bank : 'BRI' }
4549
4550      function _0x4o5p(bank) { const a = getBasePrice(); listEl.innerHTML = '';
4550 const b = rates[bank] || {}; let c = false; tenors.forEach(m => { let d = b[m] ?? 1; if (zeroEligible && (bank === 'BRI' || bank === 'Mandiri')) { d = 1; c = true } const e = a / d; const f = m > 0 ? Math.ceil((e / m) / 100) * 100 : 0; const g = document.createElement('li'); g.className = 'inst-month-item'; g.innerHTML = `<span class="tenor-badge">${m}x</span><span class="amount">${formatRupiah(f)} / bln</span>${zeroEligible && (bank === 'BRI' || bank === 'Mandiri') ? '<span class="tag tag-zero">0%</span>' : ''}`; listEl.appendChild(g) }); zeroNote.style.display = c ? 'block' : 'none' }
4551
4552      card.addEventListener('click', function (ev) { const a = ev.target.closest('.bank-tab'); if (!a) return; card.querySelectorAll('.bank-tab').forEach(b => { b.classList.remove('active'); b.setAttribute('aria-selected', 'false') }); a.classList.add('active'); a.setAttribute('aria-selected', 'true'); _0x4o5p(a.dataset.bank) });
4553
4554      window.instSetBasePrice = function (newPrice) { setBasePrice(newPrice); _0x4o5p(activeBank()) }; _0x4o5p(activeBank());
4555    })();
4556
4557    /* ====== Fokus gambar varian ====== */
4558    function _0x6q7r(s) { return String(s || '').toLowerCase().replace(/[^a-z0-9]+/g, '') } function _0x8s9t(u) { try { return new URL(u, window.location.origin).pathname.split('/').pop().toLowerCase() } catch (e) { try { return (u || '').split('/').pop().toLowerCase() } catch (_) { return '' } } }
4559    function _0xau1v(url, altOpt) {
4560      const a = document.getElementById('pd-main-img'), b = document.getElementById('pd-thumb-gallery'), c = document.getElementById('pd-mobile-slider'); if (a && url) { a.src = url; if (altOpt) a.alt = altOpt } if (b) { const d = _0x8s9t(url); let e = null; b.querySelectorAll('.pd-thumb-btn').forEach(btn => { const f = btn.getAttribute('data-full') || '', g = _0x8s9t(f) === d; if (g) e = btn; btn.classList.toggle('active', g) }); if (e) { const h = e.getAttribute('data-alt') || '', i = e.getAttribute('data-slug') || ''; if (h && a) a.alt = h; if (i && a) a.dataset.slug = i } }
4561      if (c) {
4562        const targetName = _0x8s9t(url);
4563        const slideImg = Array.from(c.querySelectorAll('img')).find(im => _0x8s9t(im.src) === targetName);
4564        if (slideImg) {
4565
4566          try {
4567            const container = c;
4568            const imgRect = slideImg.getBoundingClientRect();
4569            const contRect = container.getBoundingClientRect();
4570            const offsetLeft = slideImg.offsetLeft - container.offsetLeft;
4571            const center = offsetLeft - (container.clientWidth - slideImg.clientWidth) / 2;
4572            container.scrollTo({ left: Math.max(0, center), behavior: 'smooth' });
4573          } catch (_) {
4574
4575            slideImg.scrollIntoView({ behavior: 'smooth', inline: 'center', block: 'nearest' });
4576          }
4577        }
4578      }
4579    }
4580    function findImageForVariant(variant) {
4581      if (!variant || !variant.attrs) return null;
4582      const tokens = [];
4583      try {
4584        Object.values(variant.attrs).forEach(v => {
4585          if (!v) return;
4586          const raw = String(v);
4587          tokens.push(raw);
4588          tokens.push(normalize(raw));
4589        });
4590      } catch (_) { }
4591      if (variant.sku) {
4592        tokens.push(String(variant.sku));
4593        tokens.push(normalize(String(variant.sku)));
4594      }
4595      if (variant.image_url) {
4596        tokens.push(String(variant.image_url));
4597      }
4598      let best = null;
4599      let bestScore = -1;
4600
4601      for (const g of (galleryData || [])) {
4602        const slugN = normalize(g.slug || '');
4603        const altN = normalize(g.alt || '');
4604        const file = _0x8s9t(g.url || '');
4605        const fileN = normalize(file);
4606        const imgU = g.url;
4607
4608        for (const t of tokens) {
4609          const tN = normalize(t);
4610          if (!tN) continue;
4611
4612          let score = -1;
4613          if (imgU === tN) score = 300;
4614          if (slugN && slugN === tN) score = 300;
4615          else if (fileN && fileN.includes(tN)) score = 200;
4616          else if (altN && altN.includes(tN)) score = 120;
4617
4618          if (score > bestScore) {
4619            bestScore = score;
4620            best = g;
4621          }
4622          if (bestScore >= 300) break;
4623        }
4624        if (bestScore >= 300) break;
4625      }
4626      return bestScore >= 120 ? best : null;
4627    }
4628    function _0xey3z(variant) { const a = _0xcw2x(variant); if (a && a.url) { _0xau1v(a.url, a.alt || '') } }
4629
4630    /* ====== Layout mobile ====== */
4631    (function _0xg04h() {
4632      const a = document.querySelector('.pd-media-card'), b = document.getElementById('pd-price-block'), c = document.getElementById('pd-price-anchor'), d = document.querySelector('.pd-info-card'), e = document.getElementById('pd-title'), f = document.getElementById('pd-variant-combined'), g = document.getElementById('pd-variants'), h = document.getElementById('pd-variants-anchor'), i = document.getElementById('pd-variant-summary'), j = document.getElementById('pd-summary-anchor'), titleRow = document.querySelector('.pd-title-row'), promoBanner = document.querySelector('.promo-endyear-mini-banner'), c
4632ompareSection = document.querySelector('.pd-compare-section'); if (!a || !b || !c || !d || !e) return;
4633
4634      let pricePlaced = false;
4635      let varPlaced = false;
4636      let titlePlaced = false;
4637      let promoPlaced = false;
4638      const mq = window.matchMedia('(max-width: 640px)');
4639
4640      function apply() {
4641        if (mq.matches) {
4642          if (!titlePlaced && a && titleRow && d.contains(titleRow)) { try { a.appendChild(titleRow); titlePlaced = true; } catch (_) { } }
4643          if (!pricePlaced && a && b) { try { a.appendChild(b); pricePlaced = true; } catch (_) { } }
4644          if (!varPlaced && f && d && e) {
4645            try {
4646              f.hidden = false;
4647              if (i && !f.contains(i)) f.appendChild(i);
4648              if (g && !f.contains(g)) f.appendChild(g);
4649              if (d.contains(e)) d.insertBefore(f, e);
4650              varPlaced = true;
4651            } catch (_) { }
4652          }
4653          if (!promoPlaced && promoBanner && compareSection && compareSection.parentNode) {
4654            try {
4655              compareSection.parentNode.insertBefore(promoBanner, compareSection);
4656              promoPlaced = true;
4657            } catch (_) { }
4658          }
4659        } else {
4660          if (titlePlaced && titleRow && d) {
4661            try {
4662              const vcombined = document.getElementById('pd-variant-combined');
4663              if (vcombined && d.contains(vcombined)) {
4664                d.insertBefore(titleRow, vcombined);
4665              } else {
4666                d.insertBefore(titleRow, d.firstChild);
4667              }
4668              titlePlaced = false;
4669            } catch (_) { }
4670          }
4671          if (pricePlaced && b && c && c.parentNode) {
4672            try { c.parentNode.insertBefore(b, c.nextSibling); pricePlaced = false; } catch (_) { }
4673          }
4674          if (varPlaced) {
4675            try {
4676              if (i && j && j.parentNode && !j.parentNode.contains(i)) j.parentNode.insertBefore(i, j.nextSibling);
4677              if (g && h && h.parentNode && !h.parentNode.contains(g)) h.parentNode.insertBefore(g, h.nextSibling);
4678              if (f) { f.hidden = true; f.innerHTML = ''; }
4679              varPlaced = false;
4680            } catch (_) { }
4681          }
4682          if (promoPlaced && promoBanner && b) {
4683            try {
4684              b.appendChild(promoBanner);
4685              promoPlaced = false;
4686            } catch (_) { }
4687          }
4688        }
4689      }
4690
4691      mq.addEventListener ? mq.addEventListener('change', apply) : mq.addListener(apply);
4692      apply();
4693
4694      const fab = document.getElementById('pd-mobile-fab');
4695      if (fab) {
4696        const pid = parseInt(fab.getAttribute('data-pid') || '0', 10) || 325;
4697        const btnCart = document.getElementById('mf-cart');
4698
4699        if (btnCart) btnCart.addEventListener('click', function () {
4700          const varInput = document.getElementById('pd-variant-id');
4701          const variantId = varInput ? parseInt(varInput.value || '0', 10) : 0;
4702          try { if (window.addToCart) addToCart(pid, 1, variantId); } catch (_) { }
4703          const variantText = getVariantSummaryText();
4704          const skuText = (function () { const el = document.getElementById('pd-sku'); return el ? el.textContent.trim() : PD_SKU; })();
4705          showToast({
4706            type: 'success',
4707            title: 'Berhasil ditambahkan ke Keranjang',
4708            message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText ? ` · <em>${escapeHtml(variantText)}</em>` : ''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`,
4709            duration: 5000,
4710            actions: [
4711              { label: 'Lihat Keranjang', onClick: () => { window.location.href = '/keranjang'; } },
4712              { label: 'Lanjut Belanja', variant: 'alt', onClick: () => { } }
4713            ]
4714          });
4715        });
4716      }
4717    })();
4718
4719    /* ====== Auto-hide installment banner if sidebar too tall (Desktop only) ====== */
4720    (function () {
4721      function adjustSidebarBanner() {
4722        if (window.innerWidth <= 768) return;
4723        const sidebar = document.querySelector('.pd-sidebar');
4724        const infoCard = document.querySelector('.pd-info-card');
4725        const banner = document.querySelector('.pd-side-card.inst-alt-banner.inst-alt-banner--compact');
4726        if (!sidebar || !infoCard || !banner) return;
4727        const sidebarHeight = sidebar.offsetHeight;
4728        const infoCardHeight = infoCard.offsetHeight;
4729        if (sidebarHeight > infoCardHeight) {
4730          banner.style.display = 'none';
4731        } else {
4732          banner.style.display = '';
4733        }
4734      }
4735      if (document.readyState === 'loading') {
4736        document.addEventListener('DOMContentLoaded', adjustSidebarBanner);
4737      } else {
4738        adjustSidebarBanner();
4739      }
4740      let resizeTimer;
4741      window.addEventListener('resize', function () {
4742        clearTimeout(resizeTimer);
4743        resizeTimer = setTimeout(adjustSidebarBanner, 250);
4744      });
4745      const pwpSection = document.getElementById('pwp-deals-section');
4746      if (pwpSection) {
4747        const observer = new MutationObserver(function (mutations) {
4748          let shouldRecheck = false;
4749          mutations.forEach(function (mutation) {
4750            if (mutation.type === 'attributes' && mutation.attributeName === 'hidden') {
4751              shouldRecheck = true;
4752            } else if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
4753              shouldRecheck = true;
4754            }
4755          });
4756          if (shouldRecheck) {
4757            setTimeout(adjustSidebarBanner, 100);
4758          }
4759        });
4760        observer.observe(pwpSection, {
4761          attributes: true,
4762          childList: true,
4763          subtree: true
4764        });
4765      }
4766      window.adjustSidebarBanner = adjustSidebarBanner;
4767    })();
4768
4769    /* ====== Global constants ====== */
4770    const IS_DIGITAL = false;
4771    const IS_PREORDER = false;
4772
4773    /* ====== Variants state (REVISED) ====== */
4774    (function initVariants() {
4775      const _0x7g8h = []; window.variants = _0x7g8h;
4776      window.isPreorderProduct = false;
4777      const attrOrder = [];
4778
4779      if (!variants.length || !attrOrder.length) return;
4780
4781      function comboKey(sel) {
4782        return attrOrder.map(a => a + '=' + (sel[a] ?? '')).join('|');
4783      }
4784
4785      const variantMap = {};
4786      variants.forEach(v => {
4787        const key = comboKey(v.attrs);
4788        variantMap[key] = v;
4789      });
4790
4791      function readSelection() {
4792        const sel = {};
4793        attrOrder.forEach(a => {
4794          const r = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio]:checked`);
4795          sel[a] = r ? r.value : '';
4796        });
4797        return sel;
4798      }
4799
4800      function findVariant(sel) {
4801        return variantMap[comboKey(sel)] || null;
4802      }
4803
4804      function autoFillMissing(sel) {
4805        let changed = false;
4806        for (const a of attrOrder) {
4807          if (sel[a]) continue;
4808          const possible = [];
4809          const seen = new Set();
4810          variants.forEach(v => {
4811            let ok = true;
4812            for (const a2 of attrOrder) {
4813              if (a2 === a) continue;
4814              if (sel[a2] && v.attrs[a2] !== sel[a2]) { ok = false; break; }
4815            }
4816            if (ok) {
4817              const val = v.attrs[a];
4818              if (!seen.has(val)) { seen.add(val); possible.push(val); }
4819            }
4820          });
4821          if (possible.length === 1) {
4822            const val = possible[0];
4823            const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`);
4824            if (input && !input.checked) { input.checked = true; sel[a] = val; changed = true; }
4825          }
4826        }
4827        return changed;
4828      }
4829
4830      function rupiah(n) {
4831        n = parseInt(n || 0, 10) || 0;
4832        return 'Rp ' + n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.');
4833      }
4834
4835      function focusGalleryByUrl(imageUrl) {
4836        const isMobile = window.matchMedia && window.matchMedia('(max-width: 640px)').matches;
4837        if (isMobile) {
4838          _0xau1v(imageUrl);
4839          return;
4840        }
4841
4842        const gallery = document.getElementById('pd-thumb-gallery');
4843        const targetName = _0x8s9t(imageUrl);
4844
4845        if (gallery) {
4846          const btns = Array.from(gallery.querySelectorAll('.pd-thumb-btn'));
4847          const btn = btns.find(b => _0x8s9t(b.getAttribute('data-full') || '') === targetName);
4848          if (btn) { btn.click(); return; }
4849        }
4850
4851        _0xau1v(imageUrl);
4852      }
4853
4854
4855      function formatStockLabel(n) { n = parseInt(n || 0, 10) || 0; return (n > 10) ? '10+' : String(n) }
4856      function updateBranchPopover(v) { try { if (!v) return; const a = document.getElementById('sp-qty-meg'), b = document.getElementById('sp-qty-mdf'), c = document.getElementById('sp-qty-bda'); if (a) a.textContent = formatStockLabel(Math.max(0, v.smm | 0)); if (b) b.textContent = formatStockLabel(Math.max(0, v.smf | 0)); if (c) c.textContent = formatStockLabel(Math.max(0, v.sba | 0)) } catch (_) { } }
4857
4858      function calcVoucherDisc(type, value, price, maxDisc) { if (type === 'PERCENTAGE') { let d = (price * value) / 100; if (maxDisc > 0 && d > maxDisc) d = maxDisc; return Math.round(d) } return Math.round(value) }
4859
4860      function applyVariant(v, focusImage = true) {
4861        const elCur = document.getElementById('pd-price-current');
4862        const elOri = document.getElementById('pd-price-original');
4863        const elDisc = document.getElementById('pd-discount-badge');
4864        const elSku = document.getElementById('pd-sku');
4865        const elStock = document.getElementById('pd-stock-badge');
4866        const elQty = document.getElementById('qty');
4867        const btnAdd = document.getElementById('btn-add-cart');
4868        const btnBuy = document.getElementById('btn-buy');
4869        const hidVar = document.getElementById('pd-variant-id');
4870
4871        const mfCart = document.getElementById('mf-cart');
4872        const mfBuy = document.getElementById('mf-buy');
4873        const fab = document.getElementById('pd-mobile-fab');
4874
4875        if (hidVar) hidVar.value = v ? v.id : 0;
4876        if (elCur) elCur.textContent = rupiah(v ? v.final : 0);
4877        if (elSku && v && v.sku) elSku.textContent = v.sku;
4878
4879        if (v && v.ori > v.final) {
4880          if (elOri) { elOri.style.display = 'inline'; elOri.textContent = rupiah(v.ori); }
4881          if (elDisc) { elDisc.style.display = 'inline'; elDisc.textContent = '-' + (v.disc || 0) + '%'; }
4882        } else {
4883          if (elOri) elOri.style.display = 'none';
4884          if (elDisc) elDisc.style.display = 'none';
4885        }
4886
4887        const stock = v ? (parseInt(v.stock || 0, 10) || 0) : 0;
4888        let effectiveStock = stock;
4889        let isActivePreorder = false;
4890        if (window.isPreorderProduct && v && 'preorder_remaining' in v && v.preorder_remaining !== null) {
4891          effectiveStock = parseInt(v.preorder_remaining, 10);
4892          if (isNaN(effectiveStock)) effectiveStock = 0;
4893          isActivePreorder = true;
4894        }
4895        if (elStock) {
4896          elStock.classList.remove('in', 'out');
4897          if (effectiveStock > 0) {
4898            elStock.classList.add('in');
4899            elStock.textContent = IS_DIGITAL ? 'Tersedia' : (isActivePreorder ? 'Sisa Slot: ' + effectiveStock : 'Stok: ' + formatStockLabel(effectiveStock));
4900          } else {
4901            elStock.classList.add('out');
4902            elStock.textContent = 'Habis';
4903          }
4904        }
4905        if (elQty) {
4906          elQty.max = String(effectiveStock > 0 ? effectiveStock : 0);
4907          if (effectiveStock <= 0) { elQty.value = '0'; elQty.disabled = true; }
4908          else { if (parseInt(elQty.value || '1', 10) < 1) elQty.value = '1'; elQty.disabled = false; }
4909        }
4910
4911        const shouldDisable = !(v && effectiveStock > 0);
4912        const updateButtons = () => {
4913          const btnAddCart = document.getElementById('btn-add-cart');
4914          const btnBuyNow = document.getElementById('btn-buy');
4915          const mobileCart = document.getElementById('mf-cart');
4916          const mobileBuy = document.getElementById('mf-buy');
4917          [btnAddCart, btnBuyNow, mobileCart, mobileBuy].forEach(btn => {
4918            if (!btn) return;
4919            if (shouldDisable) {
4920              btn.disabled = true;
4921              btn.setAttribute('disabled', 'disabled');
4922              btn.classList.add('stock-disabled');
4923              btn.setAttribute('data-stock-blocked', 'true');
4924              btn.setAttribute('data-stock-reason', window.isPreorderProduct ? 'Pre-order habis' : 'Stok habis');
4925            } else {
4926              btn.disabled = false;
4927              btn.removeAttribute('disabled');
4928              btn.classList.remove('stock-disabled');
4929              btn.removeAttribute('data-stock-blocked');
4930              btn.removeAttribute('data-stock-reason');
4931            }
4932          });
4933        };
4934        updateButtons();
4935        setTimeout(updateButtons, 10);
4936        setTimeout(updateButtons, 50);
4937        setTimeout(updateButtons, 100);
4938        if (mfBuy && v) {
4939          const voucherBtn = document.getElementById('btn-buy-voucher');
4940          const voucherCode = fab ? fab.dataset.voucherCode : '';
4941          let voucherDiscount = 0;
4942
4943          if (voucherBtn && voucherCode) {
4944            const vType = voucherBtn.dataset.voucherType;
4945            const vValue = parseFloat(voucherBtn.dataset.voucherValue) || 0;
4946            const vMax = parseFloat(voucherBtn.dataset.voucherMax) || 0;
4947            const finalPrice = v.final || 0;
4948            if (vType && vValue > 0) {
4949              voucherDiscount = calcVoucherDisc(vType, vValue, finalPrice, vMax);
4950              if (fab) fab.dataset.voucherValue = voucherDiscount.toString();
4951            }
4952          }
4953
4954          const finalPrice = v.final || 0;
4955          const textEl = mfBuy.querySelector('.mf-buy-text');
4956          const priceEl = mfBuy.querySelector('.mf-buy-price');
4957
4958          if (effectiveStock > 0) {
4959            if (IS_PREORDER) {
4960              if (textEl) textEl.textContent = 'Pre Order Sekarang';
4961              if (priceEl) priceEl.textContent = rupiah(finalPrice);
4962            } else if (voucherCode && voucherDiscount > 0) {
4963              if (textEl) textEl.textContent = 'Beli dengan Voucher';
4964              if (priceEl) priceEl.textContent = rupiah(Math.max(0, finalPrice - voucherDiscount));
4965            } else {
4966              if (textEl) textEl.textContent = 'Beli Sekarang';
4967              if (priceEl) priceEl.textContent = rupiah(finalPrice);
4968            }
4969          } else {
4970            if (textEl) textEl.textContent = 'Stok Habis';
4971            if (priceEl) priceEl.textContent = rupiah(finalPrice);
4972          }
4973        }
4974
4975        const isMobile = window.initMobile ?? 0;
4976        if (window.instSetBasePrice) window.instSetBasePrice(v ? (isMobile == '1' ? v.ori : v.final) : 0);
4977        if (window.updateSoldBySku) window.updateSoldBySku(v.sku);
4978        updateBranchPopover(v);
4979        if (v && v.image_url && focusImage) focusGalleryByUrl(v.image_url);
4980        if (v) {
4981          window.dispatchEvent(new CustomEvent('pd-variant-changed', {
4982            detail: {
4983              price: v.final,
4984              originalPrice: v.ori,
4985              discount: v.disc,
4986              stock: effectiveStock,
4987              sku: v.sku,
4988              variant_id: v.id
4989            }
4990          }));
4991
4992          const encodedHash = encodeVariantHash(v.id);
4993          if (encodedHash && window.history && window.history.replaceState) {
4994            const newHash = '#v=' + encodedHash;
4995            const newUrl = window.location.pathname + window.location.search + newHash;
4996            window.history.replaceState(null, '', newUrl);
4997          }
4998        }
4999      }
5000
5001      let sel = readSelection();
5002      if (autoFillMissing(sel)) sel = readSelection();
5003
5004      let v = findVariant(sel);
5005      if (!v) {
5006        const candidates = variants.filter(variant => {
5007          return attrOrder.every(a => {
5008            if (!sel[a]) return true;
5009            return variant.attrs[a] === sel[a];
5010          });
5011        });
5012        if (candidates.length >= 1) {
5013          v = candidates[0];
5014          attrOrder.forEach(a => sel[a] = v.attrs[a]);
5015          attrOrder.forEach(a => {
5016            const val = sel[a];
5017            const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`);
5018            if (input) input.checked = true;
5019          });
5020        }
5021      }
5022
5023      const initSel = readSelection();
5024      const initVar = findVariant(initSel) || variants[0] || null;
5025      if (document.readyState === 'loading') {
5026        document.addEventListener('DOMContentLoaded', () => applyVariant(initVar, false));
5027      } else {
5028        applyVariant(initVar, false);
5029      }
5030
5031      function updateSummary(sel) { Object.entries(sel).forEach(([a, val]) => { const el = document.getElementById('vs-' + a); if (el) el.textContent = val || '-' }) }
5032      function refreshOptions(sel) {
5033        attrOrder.forEach(a => {
5034          const group = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"]`);
5035          if (!group) return;
5036          const chips = group.querySelectorAll('.v-chip');
5037          chips.forEach(ch => {
5038            const val = ch.getAttribute('data-value');
5039            const possible = variants.some(v => {
5040              if (v.attrs[a] !== val) return false;
5041              for (const a2 of attrOrder) {
5042                if (a2 === a) continue;
5043                if (sel[a2] && v.attrs[a2] !== sel[a2]) return false;
5044              }
5045              return true;
5046            });
5047            const input = ch.querySelector('input[type=radio]');
5048            const disabled = !possible;
5049            if (input) input.disabled = disabled;
5050            ch.classList.toggle('disabled', disabled);
5051
5052            let candidateVariant = null;
5053            if (possible) {
5054              candidateVariant = variants.find(v => {
5055                if (v.attrs[a] !== val) return false;
5056                for (const a2 of attrOrder) {
5057                  if (a2 === a) continue;
5058                  if (sel[a2] && v.attrs[a2] !== sel[a2]) return false;
5059                }
5060                return true;
5061              });
5062            }
5063            const outOfStock = candidateVariant ? (window.isPreorderProduct && candidateVariant.preorder_remaining !== null ? candidateVariant.preorder_remaining <= 0 : candidateVariant.stock <= 0) : false;
5064            ch.classList.toggle('out', !disabled && outOfStock);
5065            const badge = ch.querySelector('.chip-badge');
5066            if (badge) badge.hidden = !(candidateVariant && outOfStock);
5067          });
5068          group.querySelectorAll('.v-chip').forEach(ch => {
5069            const input = ch.querySelector('input[type=radio]');
5070            ch.classList.toggle('selected', input && input.checked);
5071          });
5072        });
5073      }
5074      updateSummary(sel);
5075      refreshOptions(sel);
5076      document.querySelectorAll('.v-chip').forEach(chip => { const input = chip.querySelector('input[type=radio]'); if (input && input.checked) { chip.classList.add('selected'); } });
5077
5078      const container = document.getElementById('pd-variants');
5079      container && container.addEventListener('change', function (ev) {
5080        const radio = ev.target.closest('input[type=radio]');
5081        if (!radio) return;
5082        sel = readSelection();
5083        if (autoFillMissing(sel)) sel = readSelection();
5084        const chosen = findVariant(sel);
5085        applyVariant(chosen || null, true);
5086
5087        updateSummary(sel);
5088        refreshOptions(sel);
5089      });
5090
5091      window.applyVariant = applyVariant;
5092    })();
5093
5094    (function cleanBrokenDescImages() {
5095      const containers = [
5096        document.querySelector('.pd-full-desc-body'),
5097        document.querySelector('.pd-short-desc')
5098      ].filter(Boolean);
5099
5100      containers.forEach(root => {
5101        const imgs = root.querySelectorAll('img');
5102        imgs.forEach(img => {
5103          if (img.complete && img.naturalWidth === 0) {
5104            img.remove();
5105            return;
5106          }
5107          img.addEventListener('error', () => {
5108            img.remove();
5109          }, { once: true });
5110        });
5111      });
5112    })();
5113
5114    /* ====== Scroll To Top ====== */
5115    (function _0xi25j() { const a = document.getElementById('pd-scroll-top'); if (!a) return; function b() { if (window.matchMedia('(max-width:640px)').matches) { const d = document.querySelector('.bottom-nav'), e = document.querySelector('.pd-mobile-fab'); if (!d && !e) { setTimeout(b, 100); return } const f = d && window.getComputedStyle(d).display !== 'none' && window.getComputedStyle(d).visibility !== 'hidden', g = e && window.getComputedStyle(e).display !== 'none' && window.getComputedStyle(e).visibility !== 'hidden'; let h; if (f && g) { h = 'calc(68px + 54px + env(safe-area-inset-bottom))' } else if (g) { h = 'calc(68px + 8px + env(safe-area-inset-bottom))' } else if (f) { h = 'calc(60px + env(safe-area-inset-bottom))' } else { h = 'calc(20px + env(safe-area-inset-bottom))' } a.style.setProperty('--scroll-top-bottom', h) } else { a.style.removeProperty('--scroll-top-bottom') } } function c() { const d = window.pageYOffset || document.documentElement.scrollTop || 0, e = d > 300; a.classList.toggle('visible', e); a.setAttribute('aria-hidden', e ? 'false' : 'true'); b() } window.addEventListener('scroll', c, { passive: !0 }); window.addEventListener('resize', b, { passive: !0 }); setTimeout(b, 100); c(); a.addEventListener('click', function () { window.scrollTo({ top: 0, behavior: 'smooth' }) }) })();
5116
5117    /* Format stok 10+ */
5118    function _0xk67l(n) { n = parseInt(n || 0, 10) || 0; return n > 10 ? '10+' : String(n) }
5119
5120    /* Toggle popover stok per cabang */
5121    (function _0xm89n() {
5122      const a = document.getElementById('pd-stock-info-btn'), b = document.getElementById('pd-stock-popover'), c = document.getElementById('pd-stock-popover-close'); if (!a || !b) return; function d() { if (window.matchMedia('(min-width: 641px)').matches) { const e = document.getElementById('pd-stock-badge'); if (!e) return; const f = e.getBoundingClientRect(), g = window.pageXOffset || document.documentElement.scrollLeft || 0, h = window.pageYOffset || document.documentElement.scrollTop || 0; b.style.left = (f.left + g - 10) + 'px'; b.style.top = (f.bottom + h + 10) + 'px' } else { b.style.left = ''; b.style.top = '' } }
5123      function e() { d(); b.classList.add('show'); a.setAttribute('aria-expanded', 'true'); b.setAttribute('aria-hidden', 'false'); document.addEventListener('click', g, { capture: true }); window.addEventListener('resize', d, { passive: true }); window.addEventListener('scroll', d, { passive: true }) } function f() { b.classList.remove('show'); a.setAttribute('aria-expanded', 'false'); b.setAttribute('aria-hidden', 'true'); document.removeEventListener('click', g, { capture: true }); window.removeEventListener('resize', d); window.removeEventListener('scroll', d) } function g(h) { if (b.contains(h.target) || a.contains(h.target)) return; f() }
5124      a.addEventListener('click', function (h) { h.preventDefault(); b.classList.contains('show') ? f() : e() }); if (c) c.addEventListener('click', f)
5125    })();
5126
5127    /* ===== Share Product Modal ===== */
5128    (function () { const a = document.getElementById('pd-share-btn'), z = document.getElementById('mf-share'), b = document.getElementById('pd-share-modal-overlay'), c = document.getElementById('pd-share-close'), d = document.getElementById('pd-share-copy-url-btn'), e = document.getElementById('pd-share-url-input'); if ((!a && !z) || !b) return; const f = "https://88megagacor.com/", g = "Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y", h = "Rp 20.789.000"; const discountPercent = 1; let i = ''; if (discountPercent > 0) { i = `🔥 Lagi Promo Nih! Diskon ${discountPercent}%\n\n✨ ${g}\n💰 Cuma ${h} aja!\n\n🛒 Buruan cek sebelum kehabisan!\n👉 ` } else { i = `✨ Ada barang bagus nih!\n\n📦 ${g}\n💸 Harga: ${h}\n\nðŸ› ï¸  Yuk, langsung cek!\n👉 ` } function j() { b.classList.add('show'); document.body.style.overflow = 'hidden' } function k() { b.classList.remove('show'); document.body.style.overflow = '' } if (a) a.addEventListener('click', j); if (z) z.addEventListener('click', j); if (c) c.addEventListener('click', k); b.addEventListener('click', function (l) { if (l.target === b) k() }); document.addEventListener('keydown', function (l) { if (l.key === 'Escape' && b.classList.contains('show')) k() }); b.addEventListener('click', function (l) { const m = l.target.closest('[data-share]'); if (!m) return; const n = m.getAttribute('data-share'), o = encodeURIComponent(f), p 
5128= encodeURIComponent(i), q = encodeURIComponent(g); let r = ''; switch (n) { case 'whatsapp': r = `https://wa.me/?text=${p}${o}`; break; case 'facebook': r = `https://www.facebook.com/sharer/sharer.php?u=${o}`; break; case 'twitter': r = `https://twitter.com/intent/tweet?text=${p}${o}`; break; case 'telegram': r = `https://t.me/share/url?url=${o}&text=${p}`; break; case 'email': r = `mailto:?subject=${encodeURIComponent('🔥 Cek Produk Keren Ini!')}&body=${p}${o}`; window.location.href = r; k(); return; case 'copy': s(); return; case 'pdf': const ps = document.querySelector('.product-single'); if (ps) { ps.setAttribute('data-print-date', new Date().toLocaleDateString('id-ID', { year: 'numeric', month: 'long', day: 'numeric' })) } k(); setTimeout(function () { window.print(); try { if (window.ga4Ecomm && window.ga4Ecomm.trackEvent) window.ga4Ecomm.trackEvent('share', { method: 'pdf_export', content_type: 'product', item_id: "1S83N0880RID" }) } catch (_) { } }, 300); return }if (r) { window.open(r, '_blank', 'noopener,noreferrer'); try { if (window.ga4Ecomm && window.ga4Ecomm.trackEvent) window.ga4Ecomm.trackEvent('share', { method: n, content_type: 'product', item_id: "1S83N0880RID" }) } catch (_) { } } }); function s() { if (!e) return; e.select(); e.setSelectionRange(0, 99999); try { if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(f).then(function () { t() }).catch(function () { document.execCommand('copy'); t() }) } else { document.execCommand('copy'); t() } } catch (u) { console.error('Failed to copy:', u) } } function t() { if (!d) return; const v = d.innerHTML; d.classList.add('copied'); d.innerHTML = '<svg viewBox="0 0 24 24" width="16" height="16"><path fill="currentColor" d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg><span class="pd-share-copy-text">Tersalin!</span>'; if (window.showToast) showToast({ type: 'success', title: '✨ Link Tersalin!', message: 'Link produk berhasil disalin. Yuk bagikan ke teman!', duration: 3000 }); setTimeout(function () { d.classList.remove('copied'); d.innerHTML = v }, 2000) } if (d) d.addEventListener('click', s); if (navigator.share) { const shareHandler = function (w) { w.preventDefault(); navigator.share({ title: g, text: i + f, url: f }).catch(function (x) { console.log('Native share cancelled or failed:', x) }) }; if (a) a.addEventListener('dblclick', shareHandler); if (z) z.addEventListener('dblclick', shareHandler) } })();
5129
5130    /* ===== Embedding variants (server → client) ===== */
5131    (function () {
5132      window.__PD_VARIANTS_WITH_BRANCH__ = [];
5133    })();
5134
5135    /* ===== Helper: update angka popover ===== */
5136    function updateStockPopoverForVariant(v) {
5137      try {
5138        const elMeg = document.getElementById('sp-qty-meg');
5139        const elMdf = document.getElementById('sp-qty-mdf');
5140        const elBda = document.getElementById('sp-qty-bda');
5141
5142        if (typeof v?.smm === 'number' && elMeg) elMeg.textContent = formatStockLabel(Math.max(0, v.smm | 0));
5143        if (typeof v?.smf === 'number' && elMdf) elMdf.textContent = formatStockLabel(Math.max(0, v.smf | 0));
5144        if (typeof v?.sba === 'number' && elBda) elBda.textContent = formatStockLabel(Math.max(0, v.sba | 0));
5145      } catch (_) { }
5146    }
5147
5148    /* ===== applyVariant: 10+ dan update popover ===== */
5149    (function patchApplyVariant() {
5150      if (typeof applyVariant !== 'function') return;
5151      const original = applyVariant;
5152      window.applyVariant = function (v) {
5153        original(v);
5154
5155        try {
5156          const elStock = document.getElementById('pd-stock-badge');
5157          if (elStock) {
5158            let txt = elStock.textContent || '';
5159            let m = txt.match(/\d+/);
5160            if (m) {
5161              const n = parseInt(m[0] || '0', 10) || 0;
5162              elStock.textContent = (n > 0) ? ('Stok: ' + formatStockLabel(n)) : 'Habis';
5163            }
5164          }
5165        } catch (_) { }
5166        if (window.__PD_VARIANTS_WITH_BRANCH__ && v) { const vv = window.__PD_VARIANTS_WITH_BRANCH__.find(x => x.id === v.id) || v; updateStockPopoverForVariant(vv) }
5167      };
5168    })();
5169
5170    (function initCurrentVariantBranch() {
5171      const list = window.__PD_VARIANTS_WITH_BRANCH__ || [];
5172      if (!list.length) return;
5173      const hid = document.getElementById('pd-variant-id');
5174      const vid = hid ? parseInt(hid.value || '0', 10) : 0;
5175      const current = list.find(x => x.id === vid) || list[0] || null;
5176      if (current) updateStockPopoverForVariant(current);
5177    })();
5178
5179    (function () {
5180      if (!window.ga4Ecomm) return;
5181      const catSegs = ["Komputer & Laptop", "Laptop", "Gaming"];
5182      window.ga4Ecomm.viewItem({
5183        currency: 'IDR',
5184        value: 20789000,
5185        item_id: "1S83N0880RID",
5186        item_name: "Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y",
5187        item_brand: "Lenovo ",
5188        item_category: catSegs && catSegs.length ? catSegs.join(' / ') : ''
5189      });
5190    })();
5191
5192    (function patchApplyVariantFocus() {
5193      if (typeof applyVariant !== 'function') return;
5194      const original = applyVariant;
5195      window.applyVariant = function (v, focusImage = true) {
5196
5197        original(v, focusImage);
5198
5199        if (focusImage && v && v.image_url) {
5200          _0xau1v(v.image_url);
5201        }
5202      };
5203    })();
5204
5205    (function () {
5206      var soldMap = [];
5207      var soldTotalLabel = "Terjual 2";
5208
5209      function formatSoldLabel(qty) {
5210        if (qty >= 1000000) {
5211          var v = Math.floor((qty / 100000)) / 10;
5212          return 'Terjual ' + (String(v).replace('.', ',')) + 'jt+';
5213        }
5214        if (qty >= 1000) {
5215          var v2 = Math.floor((qty / 100)) / 10;
5216          return 'Terjual ' + (String(v2).replace('.', ',')) + 'rb+';
5217        }
5218        if (qty >= 100) {
5219          var v2 = Math.floor((qty / 100)) * 100;
5220          return 'Terjual ' + (String(v2).replace('.', ',')) + '+';
5221        }
5222        if (qty >= 10) {
5223          var v2 = Math.floor((qty / 10)) * 10;
5224          return 'Terjual ' + (String(v2).replace('.', ',')) + '+';
5225        }
5226        return 'Terjual ' + (qty.toLocaleString('id-ID'));
5227      }
5228
5229      function updateSoldLabel(labelText) {
5230        var el = document.querySelector('#pd-sold-inline, [data-role="sold-chip"]');
5231        if (el) el.textContent = labelText;
5232      }
5233
5234      window.updateSoldBySku = function (sku) {
5235        if (!sku || typeof sku !== 'string') {
5236          updateSoldLabel(soldTotalLabel);
5237          return;
5238        }
5239        var qty = soldMap[sku] || 0;
5240        updateSoldLabel(formatSoldLabel(qty));
5241      };
5242
5243      updateSoldLabel(soldTotalLabel);
5244    })();
5245
5246    (function () {
5247      const h = document.getElementById('pd-sticky-header'); if (!h) return; const p = document.getElementById('pd-price-anchor'); const ac = document.getElementById('pd-sticky-add-cart'); const by = document.getElementById('pd-sticky-buy'); let lt = window.scrollY; let tk = false; function u() { if (!p) return; const r = p.getBoundingClientRect(); const s = window.scrollY; if (r.top < 0) { h.classList.add('visible') } else { h.classList.remove('visible') } lt = s; tk = false } function rt() { if (!tk) { window.requestAnimationFrame(u); tk = true } } window.addEventListener('scroll', rt, { passive: true }); u(); function sy() { const ma = document.getElementById('btn-add-cart'); const mb = document.getElementById('btn-buy'); if (ac && ma) { ac.disabled = ma.disabled } if (by && mb) { by.disabled = mb.disabled } } sy(); const ob = new MutationObserver(sy); const ma = document.getElementById('btn-add-cart'); const mb = document.getElementById('btn-buy'); if (ma) ob.observe(ma, { attributes: true, attributeFilter: ['disabled'] }); if (mb) ob.observe(mb, { attributes: true, attributeFilter: ['disabled'] }); const ss = document.getElementById('pd-sticky-share-btn'); const ms = document.getElementById('pd-share-btn'); if (ss && ms) { ss.addEventListener('click', function (e) { e.preventDefault(); ms.click() }) } if (ac) { ac.addEventListener('click', function (e) { e.preventDefault(); if (ac.disabled) return; const m = document.getElementById('btn-add-cart'); if (m && !m.disabled) { m.click() } }) } if (by) { by.addEventListener('click', function (e) { e.preventDefault(); if (by.disabled) return; const m = document.getElementById('btn-buy'); if (m && !m.disabled && window.buyNow) { window.buyNow(e) } }) }
5248      function getChatProductData() { const varInput = document.getElementById('pd-variant-id'); const variantId = varInput ? parseInt(varInput.value || '0', 10) : 0; const variantSummary = getVariantSummaryText(); const priceEl = document.getElementById('pd-price-current'); const currentPrice = priceEl ? priceEl.textContent.trim() : 'Rp 20.789.000'; const pd = { id: 325, name: "Lenovo Legion Go 8ASP2 - 83N0000RID \/AMD Ryzen Z2 Extreme\/32GB\/1TB SSD\/AMD Radeon Graphics\/8.8\" WUXGA OLED Touch\/Win 11 Home\/Eclipse Black\/3Y", price: currentPrice, image: "\/uploads\/products\/lenovo-legion-go-8as
5248p2-83n0000rid.webp", url: window.location.href }; if (variantId > 0) { pd.variant_id = variantId } if (variantSummary) { pd.variant_summary = variantSummary } return pd }
5249      const ch = document.getElementById('pd-sticky-chat'); if (ch) { ch.addEventListener('click', function (e) { e.preventDefault(); if (!window.plazaChat) { console.warn('Chat widget not loaded'); return } window.plazaChat.attachProduct(getChatProductData()); window.plazaChat.openWidget() }) } const dch = document.getElementById('btn-chat-icon'); if (dch) { dch.addEventListener('click', function (e) { e.preventDefault(); if (!window.plazaChat) { console.warn('Chat widget not loaded'); return } window.plazaChat.attachProduct(getChatProductData()); window.plazaChat.openWidget() }) } const mch = document.getElementById('mf-chat'); if (mch) { mch.addEventListener('click', function (e) { e.preventDefault(); if (!window.plazaChat) { console.warn('Chat widget not loaded'); return } window.plazaChat.attachProduct(getChatProductData()); window.plazaChat.openWidget() }) } window.addEventListener('pd-variant-changed', function (e) { const d = e.detail || {}; if (d.price !== undefined) { const sp = document.getElementById('pd-sticky-price'); if (sp) { sp.textContent = formatRupiah(d.price) } } if (d.originalPrice !== undefined && d.originalPrice > d.price) { const so = document.getElementById('pd-sticky-price-original'); if (so) { so.textContent = formatRupiah(d.originalPrice); so.style.display = '' } } else { const so = document.getElementById('pd-sticky-price-original'); if (so) { so.style.display = 'none' } } if (d.discount !== undefined && d.discount > 0) { const sd = document.getElementById('pd-sticky-discount'); if (sd) { sd.textContent = '-' + d.discount + '%'; sd.style.display = '' } } else { const sd = document.getElementById('pd-sticky-discount'); if (sd) { sd.style.display = 'none' } } const hs = d.stock > 0; if (ac) { ac.disabled = !hs } if (by) { by.disabled = !hs } }); function formatRupiah(n) { return 'Rp' + Math.floor(n).toLocaleString('id-ID') }
5250    })();
5251
5252    (function () { const t = document.getElementById('pdv-toggle-btn'); const v = document.getElementById('pd-voucher-section'); if (t && v) { const h = v.querySelectorAll('.pdv-min-hidden'); const n = h.length; t.addEventListener('click', function () { const e = t.classList.toggle('expanded'); h.forEach(function (i) { if (e) { i.classList.remove('pdv-min-hidden') } else { i.classList.add('pdv-min-hidden') } }); t.textContent = e ? 'Tutup' : '+' + n }) } const m = document.getElementById('voucher-detail-modal'); const mc = document.getElementById('voucher-modal-close'); const ma = document.getElementById('voucher-modal-cancel'); const mcp = document.getElementById('voucher-modal-copy'); if (m) { const bb = document.querySelectorAll('.pdv-badge-btn'); bb.forEach(function (btn) { btn.addEventListener('click', function () { if (btn.disabled) return; const c = btn.getAttribute('data-voucher-code'); const nm = btn.getAttribute('data-voucher-name'); const dl = btn.getAttribute('data-discount-label'); const bl = btn.getAttribute('data-badge-label'); const mp = parseInt(btn.getAttribute('data-min-purchase')); const md = parseInt(btn.getAttribute('data-max-discount')); const vu = btn.getAttribute('data-valid-until'); document.getElementById('voucher-modal-badge').innerHTML = '<span class="vmb-value">' + dl + '</span><span class="vmb-label">' + bl + '</span>'; document.getElementById('voucher-modal-code').textContent = c; document.getElementById('voucher-modal-name').textContent = nm; const me = document.getElementById('voucher-modal-min'); if (mp > 0) { me.style.display = ''; document.getElementById('voucher-modal-min-val').textContent = fr(mp) } else { me.style.display = 'none' } const xe = document.getElementById('voucher-modal-max'); if (md > 0) { xe.style.display = ''; document.getElementById('voucher-modal-max-val').textContent = fr(md) } else { xe.style.display = 'none' } if (vu) { const d = new Date(vu); const ft = d.toLocaleDateString('id-ID', { day: 'numeric', month: 'long', year: 'numeric', hour: '2-digit', minute: '2-digit' }); document.getElementById('voucher-modal-valid-val').textContent = ft } mcp.setAttribute('data-code', c); m.classList.add('show'); document.body.style.overflow = 'hidden' }) }); function cm() { m.classList.remove('show'); document.body.style.overflow = '' } if (mc) mc.addEventListener('click', cm); if (ma) ma.addEventListener('click', cm); m.addEventListener('click', function (e) { if (e.target === m) cm() }); if (mcp) { mcp.addEventListener('click', function () { const c = mcp.getAttribute('data-code'); if (!c) return; if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(c).then(function () { smc() }).catch(function (err) { fc(c) }) } else { fc(c) } }) } } const b = document.querySelectorAll('.pdv-min-copy'); b.forEach(function (btn) { btn.addEventListener('click', function () { if (btn.disabled) return; const code = btn.getAttribute('data-code'); if (!code) return; if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(code).then(function () { sc(btn) }).catch(function (err) { fc(code, btn) }) } else { fc(code, btn) } }) }); function fc(text, btn) { const tx = document.createElement('textarea'); tx.value = text; tx.style.position = 'fixed'; tx.style.opacity = '0'; document.body.appendChild(tx); tx.select(); try { document.execCommand('copy'); if (btn) sc(btn); else smc() } catch (err) { } document.body.removeChild(tx) } function sc(btn) { const o = btn.textContent; btn.classList.add('copied'); btn.textContent = '✓ Tersalin'; setTimeout(function () { btn.classList.remove('copied'); btn.textContent = o }, 2000) } function smc() { const o = mcp.textContent; mcp.textContent = '✓ Kode Tersalin'; mcp.style.background = '#c52222'; setTimeout(function () { mcp.textContent = o; mcp.style.background = '' }, 2000) }
5252 function fr(a) { return 'Rp' + Math.floor(a).toLocaleString('id-ID') } })();
5253  </script>
5253
5254  
5254<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
5255    window.PD_ID = 325; window.PD_NAME = _0x3c4d; window.PD_SKU = _0x5e6f; window.PD_CATEGORY_PATH = "Komputer & Laptop/Laptop/Gaming"; window.PD_BEST_VOUCHER = null;
5256    window.IS_DIGITAL = IS_DIGITAL;
5257    window.isPreorderProduct = false;
5258    window.PD_PREORDER_DATA = null;
5259  </script>
5259
5260
5261  
5262  
5262<script src="https://plazaitdotid.pages.dev/assets/js/pd-buynow.js" defer nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
5262
5263  
5263<script src="https://plazaitdotid.pages.dev/assets/js/pd-voucher-recalc.js" defer
5264    nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
5264
5265  
5265<script
5266    nonce="se3iyzEHMc9FQEB4wSyd0w==">document.addEventListener('DOMContentLoaded', function () { if (typeof ProductReviews !== 'undefined') { ProductReviews.init(325); } const r = document.getElementById('pd-rating-inline'); if (r) { r.addEventListener('click', function (e) { e.preventDefault(); const s = document.getElementById('reviews'); if (s) { s.scrollIntoView({ behavior: 'smooth', block: 'start' }); s.classList.add('highlight-flash'); setTimeout(() => { s.classList.remove('highlight-flash') }, 1500) } }); } });</script>
5266
5267
5268  
5268<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
5269    (function () {
5270      function _0x9i0j(el) { if (typeof gtag === 'function') { gtag('event', 'qoala_insurance_click', { event_category: 'Insurance', event_label: 'Qoala Banner Click - Product Detail', link_url: '/plazait-protect', page_location: window.location.href, product_id: parseInt(el.getAttribute('data-product-id')) || 0, product_name: el.getAttribute('data-product-name') || '', category_path: el.getAttribute('data-category-path') || '', custom_map: { custom_parameter_1: 'qoala_banner_product_detail' } }) } }
5271
5272      function _0x1k2l() { var a = document.querySelector('.qoala-cta[data-ga-event="qoala_banner_click"]'); if (a) { a.addEventListener('click', function (e) { _0x9i0j(this) }) } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', _0x1k2l) } else { _0x1k2l() }
5273    })();
5274
5275    (function () { const pwpSection = document.getElementById('pwp-deals-section'); const pwpBadge = document.getElementById('pwp-trigger-badge'); if (!pwpSection) return; const productId = parseInt(pwpSection.getAttribute('data-product-id')) || 0; const variantId = parseInt(pwpSection.getAttribute('data-variant-id')) || 0; const categoryPath = pwpSection.getAttribute('data-category-path') || ''; if (!productId) return; function formatRupiah(n) { return 'Rp' + Math.floor(n).toLocaleString('id-ID') } function loadPWPDeals() { const url = `/api/pwp/get_by_product.php?product_id=${productId}${variantId ? `&variant_id=${variantId}` : ''}${categoryPath ? `&category_path=${encodeURIComponent(categoryPath)}` : ''}`; fetch(url).then(r => r.json()).then(data => { if (data.success && data.promotions && data.promotions.length > 0) { renderPWPDeals(data.promotions); pwpSection.hidden = false; if (pwpBadge) pwpBadge.hidden = false; setTimeout(function () { if (typeof window.adjustSidebarBanner === 'function') { window.adjustSidebarBanner() } }, 150) } else { pwpSection.hidden = true; if (pwpBadge) pwpBadge.hidden = true } }).catch(err => { console.error('PWP load error:', err); pwpSection.hidden = true; if (pwpBadge) pwpBadge.hidden = true }) } function renderPWPDeals(promotions) { const loading = pwpSection.querySelector('.pwp-deals-loading'); const grid = document.getElementById('pwp-deals-grid'); if (loading) loading.hidden = true; if (!grid) return; grid.innerHTML = ''; promotions.forEach(promo => { promo.bundled_products.forEach(product => { const card = document.createElement('div'); card.className = 'pwp-deal-card'; const discount = product.discount > 0 ? product.discount : 0; const discountPercent = product.regular_price > 0 ? Math.round((discount / product.regular_price) * 100) : 0; const imgUrl = product.image_url ? `/uploads/products/${product.image_url}` : '/assets/img/no-image.png'; card.innerHTML = `<div class="pwp-deal-thumb"><img src="${imgUrl}" alt="${escapeHtml(product.name)}" loading="lazy"></div><div class="pwp-deal-info"><h4 class="pwp-deal-name">${escapeHtml(product.name)}</h4><div class="pwp-deal-prices"><span class="pwp-deal-price">${formatRupiah(product.pwp_price)}</span>${product.regular_price > product.pwp_price ? `<span class="pwp-deal-original">${formatRupiah(product.regular_price)}</span>` : ''}</div></div>${discountPercent >
5275 0 ? `<span class="pwp-deal-badge">-${discountPercent}%</span>` : ''}`; grid.appendChild(card) }) }) } function escapeHtml(str) { const div = document.createElement('div'); div.textContent = str || ''; return div.innerHTML } loadPWPDeals(); window.addEventListener('pd-variant-changed', function (e) { const detail = e.detail || {}; const newVid = detail.variant_id || 0; const currentVid = parseInt(pwpSection.getAttribute('data-variant-id')) || 0; if (newVid !== currentVid) { pwpSection.setAttribute('data-variant-id', newVid); loadPWPDeals() } }) })();
5276  </script>
5276
5277  <footer class="site-footer footer-compact variant-stripes" role="contentinfo">
5278    <div class="ft-top ft-collapsible" id="ftTop">
5279      <div class="container ft-grid">
5280
5281        <div class="ft-col ft-help">
5282          <h4 class="ft-title">Butuh Bantuan?</h4>
5283          <p class="ft-desc">Hubungi kami melalui Official WhatsApp interaktif sekarang.</p>
5284          <a class="ft-wa-btn" href="#" target="_blank" rel="nofollow noopener">
5285            <span class="ico" aria-hidden="true">
5286              <svg viewBox="0 0 24 24" width="18" height="18">
5287                <path fill="#d32525"
5288                  d="M12.04 2c-5.52 0-10 4.43-10 9.9 0 1.75.47 3.45 1.38 4.94L2 22l5.3-1.38c1.43.78 3.05 1.19 4.7 1.19 5.52 0 10-4.43 10-9.9S17.56 2 12.04 2Zm5.86 13.9c-.25.7-1.23 1.28-1.7 1.33-.45.06-1.02.08-1.65-.1-.38-.12-.88-.29-1.52-.56-2.66-1.15-4.4-3.83-4.53-4.01-.13-.18-1.08-1.44-1.08-2.75 0-1.31.68-1.95.92-2.22.25-.27.54-.33.72-.33.18 0 .36.01.52.01.17 0 .39-.06.62.47.25.6.85 2.07.92 2.22.07.15.12.33.02.53-.1.2-.15.33-.3.5-.15.17-.32.39-.46.53-.15.15-.3.31-.13.6.18.3.8 1.31 1.73 2.12 1.19 1.03 2.17 1.36 2.48 1.5.31.14.49.12.67-.07.18-.18.77-.82.98-1.1.21-.27.42-.23.7-.14.27.09 1.72.81 2.02.95.3.14.5.22.58.35.08.13.08.72-.17 1.42Z" /></path>
5289              </svg>
5290            </span>
5291            Kirim Pesan
5292          </a>
5293
5294          <p class="ft-desc sm-gap">Ikuti kami:</p>
5295          <div class="ft-social">
5296            <a aria-label="Facebook" href="https://facebook.com/PlazaIt/"><svg viewBox="0 0 24 24" width="18"
5297                height="18">
5298                <path fill="currentColor"
5299                  d="M13.5 22v-8.2h2.7l.4-3.2h-3.1V8c0-.9.3-1.5 1.6-1.5H17V3.7c-.3 0-1.2-.1-2.2-.1-2.2 0-3.8 1.3-3.8 3.9v2.2H8v3.2h3v8.1h2.5Z" /></path>
5300              </svg></a>
5301            <a aria-label="Instagram" href="https://gogo.88megagacor.one/back/"><svg viewBox="0 0 24 24" width="18"
5302                height="18">
5303                <path fill="currentColor"
5304                  d="M7.8 2h8.4A5.8 5.8 0 0 1 22 7.8v8.4A5.8 5.8 0 0 1 16.2 22H7.8A5.8 5.8 0 0 1 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2Zm0 2A3.8 3.8 0 0 0 4 7.8v8.4A3.8 3.8 0 0 0 7.8 20h8.4a3.8 3.8 0 0 0 3.8-3.8
5304V7.8A3.8 3.8 0 0 0 16.2 4H7.8Zm9.9 1.7a1.1 1.1 0 1 1 0 2.3 1.1 1.1 0 0 1 0-2.3ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z" /></path>
5305              </svg></a>
5306            <a aria-label="TikTok" href="https://www.tiktok.com/@plazait"><svg viewBox="0 0 24 24" width="18"
5307                height="18">
5308                <path fill="currentColor"
5309                  d="M18.9 7.4a6.4 6.4 0 0 1-3.2-1.2v6.3a5.47 5.47 0 1 1-5.5-5.5c.2 0 .4 0 .6.02v2.37a2.92 2.92 0 0 0-.6-.07 2.8 2.8 0 1 0 2.8 2.8V2h2.3a4.6 4.6 0 0 0 4.5 4.1v2.3Z" /></path>
5310              </svg></a>
5311          </div>
5312        </div>
5313
5314        <!-- Collapsible Content Wrapper (Non-Homepage Only) -->
5315        <div class="ft-collapsible-content" id="ftCollapsible">
5316
5317          <div class="ft-col">
5318            <h4 class="ft-title">Tentang 88MEGA</h4>
5319            <ul class="ft-links">
5320              <li><a href="https://gogo.88megagacor.one/back/">Tentang Kami</a></li>
5321              <li><a href="https://gogo.88megagacor.one/back/">Kontak Kami</a></li>
5322              <li><a href="https://gogo.88megagacor.one/back/">Lokasi Toko</a></li>
5323              <li><a href="https://gogo.88megagacor.one/back/">FAQ</a></li>
5324            </ul>
5325            <div class="ft-address">
5326              <p class="company">PT 88MEGA</p>
5327              <p>Jl. Boulevard Raya Barat Blok RSN 5 No. 50
5328                Grand Galaxy City</p>
5329              <p>Bekasi Barat 17145
5330                West Java – INDONESIA</p>
5331            </div>
5332          </div>
5333
5334          <div class="ft-col">
5335            <h4 class="ft-title">Informasi</h4>
5336            <ul class="ft-links">
5337              <li><a href="https://gogo.88megagacor.one/back/">Syarat &amp; Ketentuan</a></li>
5338              <li><a href="https://gogo.88megagacor.one/back/">Kebijakan Privasi</a></li>
5339              <li><a href="https://gogo.88megagacor.one/back/">Kebijakan Cookie</a></li>
5340              <li><a href="https://gogo.88megagacor.one/back/">Pengiriman &amp; Pengembalian</a></li>
5341              <li><a href="https://gogo.88megagacor.one/back/">Pembayaran &amp; Cicilan</a></li>
5342              <li><a href="https://gogo.88megagacor.one/back/">Garansi &amp; Layanan</a></li>
5343            </ul>
5344
5345            <div class="ft-payments payments-small" aria-label="Metode Pembayaran">
5346              <div class="pay-row">
5347                <img src="https://plazaitdotid.pages.dev/assets/img/payments/mandiri.svg" alt="Mandiri" loading="lazy">
5348                <img src="https://plazaitdotid.pages.dev/assets/img/payments/bni.svg" alt="BNI" loading="lazy">
5349                <img src="https://plazaitdotid.pages.dev/assets/img/payments/bri.svg" alt="BRI" loading="lazy">
5350                <img src="https://plazaitdotid.pages.dev/assets/img/payments/bsi.svg" alt="BSI" loading="lazy">
5351                <img src="https://plazaitdotid.pages.dev/assets/img/payments/cimb-logo.svg" alt="ShopeePay"
5352                  loading="lazy">
5353              </div>
5354            </div>
5355          </div>
5356
5357        </div>
5358        <!-- End Collapsible Content -->
5359
5360        <!-- Expand Button (Mobile Only) -->
5361        <button class="ft-expand-btn" id="ftExpandBtn" aria-label="Lihat semua informasi footer">
5362          <span class="expand-text">Selengkapnya</span>
5363          <svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor">
5364            <path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z" /></path>
5365          </svg>
5366        </button>
5367
5368      </div>
5369    </div>
5370    <div class="ft-bottom">
5371      <div class="container ft-bottom-inner">
5372        <div class="ft-copy">
5373          <span>TISU-AJAIB &copy; <span id="yearNow">2026</span></span>
5374          <span>PT TISU-AJAIB. All rights reserved.</span>
5375        </div>
5376      </div>
5377    </div>
5378    <style>
5379      :root {
5380        --sd-black: #07040c;
5381        --sd-dark: #12071b;
5382        --sd-panel: #1b0d28;
5383        --sd-purple: #0026fd;
5384        --sd-violet: #0026fd;
5385        --sd-pink: #0026fd;
5386        --sd-cyan: #0026fd;
5387        --sd-white: #ffffff;
5388        --sd-text: #dcd2e6;
5389        --blade-cut: 10px;
5390      }
5391
5392      * {
5393        box-sizing: border-box;
5394      }
5395
5396      body {
5397        margin: 0;
5398        padding: 0;
5399        font-family: "Segoe UI", Arial, sans-serif;
5400        background: transparent;
5401        color: var(--sd-text);
5402      }
5403
5404      /* =========================
5405     POPUP OVERLAY
5406  ========================= */
5407      .popup-overlay {
5408        position: fixed;
5409        inset: 0;
5410        width: 100vw;
5411        height: 100vh;
5412
5413        display: flex;
5414        justify-content: center;
5415        align-items: center;
5416
5417        padding: 18px;
5418        background: rgba(3, 1, 7, 0.76);
5419        backdrop-filter: blur(3px);
5420        -webkit-backdrop-filter: blur(3px);
5421
5422        z-index: 9999;
5423      }
5424
5425      /* =========================
5426     POPUP CONTAINER
5427  ========================= */
5428      .popup-container {
5429        position: relative;
5430        width: 100%;
5431        max-width: 420px;
5432        overflow: hidden;
5433
5434        padding-bottom: 18px;
5435
5436        color: var(--sd-text);
5437        text-align: center;
5438
5439        background:
5440          radial-gradient(circle at top right,
5441            rgba(255, 60, 166, 0.16),
5442            transparent 34%),
5443          radial-gradient(circle at bottom left,
5444            rgba(32, 231, 242, 0.11),
5445            transparent 38%),
5446          linear-gradient(145deg,
5447            #08030d 0%,
5448            #170923 52%,
5449            #09040f 100%);
5450
5451        border: 1px solid rgba(139, 44, 255, 0.58);
5452        border-radius: 10px 26px 10px 26px;
5453
5454        box-shadow:
5455          0 22px 55px rgba(0, 0, 0, 0.72),
5456          0 0 18px rgba(139, 44, 255, 0.34),
5457          0 0 32px rgba(255, 60, 166, 0.14);
5458
5459        animation: streetPopupIn 0.45s ease-out;
5460      }
5461
5462      /* Tekstur graffiti ringan */
5463      .popup-container::before {
5464        content: "";
5465        position: absolute;
5466        inset: 0;
5467        pointer-events: none;
5468        z-index: 1;
5469
5470        background:
5471          repeating-linear-gradient(-35deg,
5472            transparent 0,
5473            transparent 14px,
5474            rgba(255, 255, 255, 0.025) 15px,
5475            rgba(32, 231, 242, 0.035) 17px,
5476            transparent 19px);
5477
5478        opacity: 0.8;
5479      }
5480
5481      /* Aksen neon di sisi kiri */
5482      .popup-container::after {
5483        content: "";
5484        position: absolute;
5485        top: 0;
5486        left: 0;
5487
5488        width: 5px;
5489        height: 100%;
5490        z-index: 3;
5491
5492        background: linear-gradient(to bottom,
5493            var(--sd-pink),
5494            var(--sd-purple),
5495            var(--sd-cyan));
5496
5497        box-shadow:
5498          0 0 10px rgba(255, 60, 166, 0.65),
5499          0 0 16px rgba(32, 231, 242, 0.35);
5500      }
5501
5502      @keyframes streetPopupIn {
5503        from {
5504          opacity: 0;
5505          transform: translateY(18px) scale(0.96);
5506        }
5507
5508        to {
5509          opacity: 1;
5510          transform: translateY(0) scale(1);
5511        }
5512      }
5513
5514      /* =========================
5515     IMAGE
5516  ========================= */
5517      .popup-image {
5518        position: relative;
5519        z-index: 2;
5520
5521        display: block;
5522        width: 100%;
5523        height: auto;
5524
5525        border-bottom: 1px solid rgba(32, 231, 242, 0.2);
5526      }
5527
5528      /* =========================
5529     BUTTON WRAPPER
5530  ========================= */
5531      .clk-btn-sgp {
5532        position: relative;
5533        z-index: 3;
5534
5535        width: 100%;
5536        display: grid;
5537        grid-template-columns: repeat(2, minmax(0, 1fr));
5538        gap: 12px;
5539
5540        padding: 18px;
5541        font-family: "Segoe UI", Arial, sans-serif;
5542      }
5543
5544      .clk-btn-sgp a {
5545        position: relative;
5546        overflow: hidden;
5547
5548        display: flex;
5549        align-items: center;
5550        justify-content: center;
5551
5552        min-height: 50px;
5553        padding: 13px 12px;
5554
5555        color: var(--sd-white);
5556        text-align: center;
5557        text-decoration: none;
5558        text-transform: uppercase;
5559
5560        font-size: 13px;
5561        font-weight: 900;
5562        letter-spacing: 1.2px;
5563
5564        border-radius: 7px 15px 7px 15px;
5565        clip-path: polygon(var(--blade-cut) 0,
5566            100% 0,
5567            100% calc(100% - var(--blade-cut)),
5568            calc(100% - var(--blade-cut)) 100%,
5569            0 100%,
5570            0 var(--blade-cut));
5571
5572        transition:
5573          transform 0.22s ease,
5574          border-color 0.22s ease,
5575          box-shadow 0.22s ease,
5576          filter 0.22s ease;
5577      }
5578
5579      .clk-btn-sgp a::after {
5580        content: "";
5581        position: absolute;
5582        inset: 0;
5583        pointer-events: none;
5584
5585        background: linear-gradient(110deg,
5586            transparent 25%,
5587            rgba(255, 255, 255, 0.16) 48%,
5588            transparent 70%);
5589
5590        transform: translateX(-140%);
5591        transition: transform 0.45s ease;
5592      }
5593
5594      .clk-btn-sgp a:hover::after {
5595        transform: translateX(140%);
5596      }
5597
5598      .clk-btn-sgp a:hover {
5599        transform: translateY(-3px);
5600        filter: brightness(1.12);
5601      }
5602
5603      /* =========================
5604     LOGIN BUTTON
5605  ========================= */
5606      .login {
5607        color: var(--sd-cyan) !important;
5608
5609        background:
5610          linear-gradient(145deg,
5611            rgba(32, 231, 242, 0.08),
5612            rgba(139, 44, 255, 0.14)),
5613          #0a0710;
5614
5615        border: 1px solid rgba(32, 231, 242, 0.65);
5616
5617        box-shadow:
5618          0 7px 16px rgba(0, 0, 0, 0.42),
5619          inset 0 0 10px rgba(32, 231, 242, 0.05);
5620      }
5621
5622      .login:hover {
5623        color: #ffffff !important;
5624        border-color: var(--sd-cyan);
5625
5626        box-shadow:
5627          0 10px 22px rgba(0, 0, 0, 0.5),
5628          0 0 13px rgba(32, 231, 242, 0.26);
5629      }
5630
5631      /* =========================
5632     REGISTER BUTTON
5633  ========================= */
5634      .register {
5635        color: #ffffff !important;
5636
5637        background: linear-gradient(135deg,
5638            var(--sd-purple),
5639            var(--sd-pink));
5640
5641        border: 1px solid rgba(255, 255, 255, 0.38);
5642
5643        box-shadow:
5644          0 7px 16px rgba(0, 0, 0, 0.42),
5645          0 0 10px rgba(255, 60, 166, 0.18);
5646      }
5647
5648      .register:hover {
5649        color: #ffffff !important;
5650
5651        background: linear-gradient(135deg,
5652            var(--sd-pink),
5653            var(--sd-violet));
5654
5655        border-color: #ffffff;
5656
5657        box-shadow:
5658          0 10px 22px rgba(0, 0, 0, 0.5),
5659          0 0 14px rgba(255, 60, 166, 0.32);
5660      }
5661
5662      .clk-btn-sgp a span {
5663        position: relative;
5664        z-index: 2;
5665      }
5666
5667      /* =========================
5668     INFO TABLE
5669  ========================= */
5670      .info-table {
5671        position: relative;
5672        z-index: 3;
5673
5674        width: calc(100% - 36px);
5675        margin: 2px auto 18px;
5676
5677        color: var(--sd-text);
5678        background: rgba(13, 7, 20, 0.9);
5679
5680        border-collapse: separate;
5681        border-spacing: 0;
5682        overflow: hidden;
5683
5684        border: 1px solid rgba(139, 44, 255, 0.25);
5685        border-radius: 12px;
5686
5687        font-size: 13px;
5688        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.32);
5689      }
5690
5691      .info-table th {
5692        padding: 13px 10px;
5693
5694        color: #ffffff;
5695        background: linear-gradient(135deg,
5696            var(--sd-purple),
5697            var(--sd-pink));
5698
5699        border: 0;
5700
5701        font-size: 13px;
5702        font-weight: 900;
5703        letter-spacing: 0.8px;
5704        text-transform: uppercase;
5705
5706        text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.35);
5707      }
5708
5709      .info-table td {
5710        padding: 11px 12px;
5711
5712        color: var(--sd-text);
5713        text-align: left;
5714
5715        border-bottom: 1px solid rgba(32, 231, 242, 0.1);
5716      }
5717
5718      .info-table tr:last-child td {
5719        border-bottom: none;
5720      }
5721
5722      .info-table tr:hover td {
5723        background: rgba(139, 44, 255, 0.07);
5724      }
5725
5726      /* =========================
5727     FOOTER
5728  ========================= */
5729      .popup-footer {
5730        position: relative;
5731        z-index: 3;
5732
5733        padding: 4px 20px 8px;
5734
5735        color: #bfb3ca;
5736        font-size: 12px;
5737        line-height: 1.6;
5738        text-align: center;
5739      }
5740
5741      /* =========================
5742     DECORATIVE BORDER
5743  ========================= */
5744      .luxury-border {
5745        position: absolute;
5746        inset: 9px;
5747        z-index: 4;
5748        pointer-events: none;
5749
5750        border: 1px solid rgba(32, 231, 242, 0.08);
5751        border-radius: 7px 20px 7px 20px;
5752      }
5753
5754      /* =========================
5755     PARTICLE
5756  ========================= */
5757      .gold-particle {
5758        display: none;
5759      }
5760
5761      /* =========================
5762     CLOSE BUTTON
5763  ========================= */
5764      .close-btn {
5765        position: absolute;
5766        top: 12px;
5767        right: 12px;
5768        z-index: 10;
5769
5770        width: 34px;
5771        height: 34px;
5772
5773        display: flex;
5774        align-items: center;
5775        justify-content: center;
5776
5777        cursor: pointer;
5778
5779        background: rgba(8, 4, 13, 0.82);
5780        border: 1px solid rgba(255, 60, 166, 0.58);
5781        border-radius: 9px 4px 9px 4px;
5782
5783        box-shadow:
5784          0 0 10px rgba(255, 60, 166, 0.18);
5785
5786        transition:
5787          transform 0.22s ease,
5788          background 0.22s ease,
5789          border-color 0.22s ease;
5790      }
5791
5792      .close-btn:hover {
5793        transform: rotate(90deg);
5794        background: var(--sd-pink);
5795        border-color: #ffffff;
5796      }
5797
5798      .close-btn::before,
5799      .close-btn::after {
5800        content: "";
5801        position: absolute;
5802
5803        width: 16px;
5804        height: 2px;
5805
5806        background: #ffffff;
5807        border-radius: 3px;
5808      }
5809
5810      .close-btn::before {
5811        transform: rotate(45deg);
5812      }
5813
5814      .close-btn::after {
5815        transform: rotate(-45deg);
5816      }
5817
5818      /* =========================
5819     RESPONSIVE
5820  ========================= */
5821      @media (max-width: 480px) {
5822        .popup-overlay {
5823          padding: 12px;
5824        }
5825
5826        .popup-container {
5827          max-width: 355px;
5828          border-radius: 8px 20px 8px 20px;
5829        }
5830
5831        .clk-btn-sgp {
5832          grid-template-columns: 1fr;
5833          gap: 10px;
5834          padding: 14px;
5835        }
5836
5837        .clk-btn-sgp a {
5838          min-height: 47px;
5839          padding: 12px;
5840          font-size: 12px;
5841        }
5842
5843        .info-table {
5844          width: calc(100% - 28px);
5845          font-size: 12px;
5846        }
5847
5848        .info-table th,
5849        .info-table td {
5850          padding: 10px;
5851        }
5852
5853        .popup-footer {
5854          padding-right: 16px;
5855          padding-left: 16px;
5856          font-size: 11px;
5857        }
5858
5859        .close-btn {
5860          width: 30px;
5861          height: 30px;
5862        }
5863      }
5864
5865      @media (prefers-reduced-motion: reduce) {
5866
5867        .popup-container,
5868        .clk-btn-sgp a,
5869        .close-btn {
5870          animation: none;
5871          transition: none;
5872        }
5873      }
5874    </style>
5875    <div class="popup-overlay" id="popupOverlay">
5876      <div class="popup-container">
5877        <!-- Tombol Close -->
5878        <div class="close-btn" onclick="closePopup()"></div>
5879        <!-- Partikel emas untuk efek elegan -->
5880        <div class="gold-particle" style="width: 10px; height: 10px; top: 15%; left: 12%; animation-delay: 0s;"></div>
5881        <div class="gold-particle" style="width: 8px; height: 8px; top: 35%; left: 88%; animation-delay: 1.5s;"></div>
5882        <div class="gold-particle" style="width: 12px; height: 12px; top: 65%; left: 18%; animation-delay: 3s;"></div>
5883        <div class="gold-particle" style="width: 6px; height: 6px; top: 25%; left: 75%; animation-delay: 4.5s;"></div>
5884        <div class="gold-particle" style="width: 9px; height: 9px; top: 80%; left: 60%; animation-delay: 6s;"></div>
5885        <!-- Border mewah -->
5886        <div class="luxury-border"></div>
5887        <div class="Popup Banner">
5888          <img src="/image.png" alt="Popup Banner" class="popup-image" />
5889          <div class="clk-btn-sgp" style="font-size: 20px;">
5890            <a href="https://gogo.88megagacor.one/back/" target="_blank" rel="nofollow noreferrer" class="login">LOGIN</a>
5891            <a href="https://gogo.88megagacor.one/back/" target="_blank" rel="nofollow noreferrer"
5892              class="register">DAFTAR</a>
5893          </div>
5894          <div class="popup-footer">
5895            88MEGA Gacor : Platform Game Slot Online Siap Kasih Kejutan Luar Biasa!<br />
5896            <span style="color: #ffd900; font-weight: 600; text-shadow: 0 0 5px rgba(212, 175, 55, 0.5);">&copy;
5897              COPYRIGHT 2026 88MEGA</span>
5898          </div>
5899        </div>
5900      </div>
5901    </div>
5902    
5902<script>
5903      function closePopup() {
5904        const popupOverlay = document.getElementById('popupOverlay');
5905        popupOverlay.style.opacity = '0';
5906        popupOverlay.style.transition = 'opacity 0.3s ease';
5907
5908        setTimeout(() => {
5909          popupOverlay.style.display = 'none';
5910        }, 300);
5911      }
5912
5913      // Menutup popup ketika mengklik area di luar popup
5914      document.getElementById('popupOverlay').addEventListener('click', function (event) {
5915        if (event.target === this) {
5916          closePopup();
5917        }
5918      });
5919    </script>
5919
5920    <style nonce="se3iyzEHMc9FQEB4wSyd0w==">
5921      /* Chat Widget Styles - Lightweight & Minimal */
5922      .chat-widget {
5923        position: fixed;
5924        bottom: 20px;
5925        right: 20px;
5926        z-index: 9999;
5927        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
5928      }
5929
5930      /* Hide floating button on mobile - use bottom nav instead */
5931      @media (max-width: 640px) {
5932        .chat-toggle-btn {
5933          display: none !important;
5934        }
5935
5936        /* Ensure popup is still visible on mobile even when button is hidden */
5937        .chat-widget {
5938          display: block !important;
5939        }
5940
5941        .chat-popup {
5942          display: none;
5943          /* Hidden by default, shown via JS */
5944        }
5945
5946        .chat-popup[style*="display: block"],
5947        .chat-popup[style*="display:block"] {
5948          display: block !important;
5949        }
5950      }
5951
5952      .chat-toggle-btn {
5953        width: 60px;
5954        height: 60px;
5955        border-radius: 50%;
5956        background: linear-gradient(135deg, #0233f7 0%, #ffffff 100%);
5957        border: none;
5958        color: rgb(0, 0, 0);
5959        cursor: pointer;
5960        box-shadow: 0 4px 12px rgba(242, 140, 26, 0.3);
5961        position: relative;
5962        transition: transform 0.2s, box-shadow 0.2s;
5963      }
5964
5965      .chat-toggle-btn:hover {
5966        transform: scale(1.05);
5967        box-shadow: 0 6px 20px rgba(242, 140, 26, 0.4);
5968      }
5969
5970      #chat-toggle-btn .chat-icon {
5971        position: absolute;
5972        top: 50%;
5973        left: 50%;
5974        transform: translate(-50%, -50%);
5975        width: 28px !important;
5976        height: 28px !important;
5977      }
5978
5979      .chat-unread-badge {
5980        position: absolute;
5981        top: -5px;
5982        right: -5px;
5983        background: #ef4444;
5984        color: white;
5985        border-radius: 12px;
5986        padding: 2px 6px;
5987        font-size: 11px;
5988        font-weight: 600;
5989        min-width: 20px;
5990        text-align: center;
5991      }
5992
5993      .chat-popup {
5994        position: absolute;
5995        bottom: 80px;
5996        right: 0;
5997        width: 380px;
5998        max-width: calc(100vw - 40px);
5999        height: 500px;
6000        max-height: calc(100vh - 120px);
6001        background: white;
6002        border-radius: 12px;
6003        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
6004        display: flex;
6005        flex-direction: column;
6006        overflow: hidden;
6007      }
6008
6009      .chat-popup-header {
6010        background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
6011        color: white;
6012        padding: 16px 20px;
6013        display: flex;
6014        justify-content: space-between;
6015        align-items: center;
6016        flex-shrink: 0;
6017      }
6018
6019      .chat-header-title {
6020        display: flex;
6021        flex-direction: column;
6022        gap: 2px;
6023        min-height: 0;
6024      }
6025
6026      .chat-popup-header h3 {
6027        margin: 0;
6028        font-size: 18px;
6029        font-weight: 600;
6030        line-height: 1.2;
6031      }
6032
6033      .chat-operating-hours {
6034        font-size: 11px;
6035        opacity: 0.9;
6036        font-weight: 400;
6037        display: flex;
6038        align-items: center;
6039        gap: 4px;
6040        line-height: 1.2;
6041      }
6042
6043      .chat-operating-hours svg {
6044        width: 12px;
6045        height: 12px;
6046        opacity: 0.8;
6047        flex-shrink: 0;
6048      }
6049
6050      .chat-header-actions {
6051        display: flex;
6052        align-items: center;
6053        gap: 8px;
6054      }
6055
6056      /* Notification Toggle Button */
6057      .btn-notif-toggle {
6058        background: none;
6059        border: none;
6060        color: white;
6061        font-size: 18px;
6062        cursor: pointer;
6063        padding: 4px 8px;
6064        transition: all 0.2s;
6065        opacity: 0.8;
6066      }
6067
6068      .btn-notif-toggle:hover {
6069        opacity: 1;
6070        transform: scale(1.1);
6071      }
6072
6073      /* Icon states */
6074      .btn-notif-toggle[data-status="not-subscribed"] svg {
6075        opacity: 0.7;
6076      }
6077
6078      .btn-notif-toggle[data-status="not-subscribed"]:hover svg {
6079        opacity: 1;
6080      }
6081
6082      .btn-notif-toggle[data-status="subscribed"] svg {
6083        opacity: 1;
6084        animation: bellRing 2s ease-in-out;
6085      }
6086
6087      .btn-notif-toggle[data-status="blocked"] svg {
6088        color: #ff6b6b;
6089      }
6090
6091      .btn-notif-toggle[data-status="not-supported"] {
6092        display: none !important;
6093      }
6094
6095      @keyframes bellRing {
6096
6097        0%,
6098        100% {
6099          transform: rotate(0deg);
6100        }
6101
6102        10%,
6103        30% {
6104          transform: rotate(-10deg);
6105        }
6106
6107        20%,
6108        40% {
6109          transform: rotate(10deg);
6110        }
6111      }
6112
6113      /* Notification Info Bar */
6114      .chat-notif-info-bar {
6115        position: absolute;
6116        top: 64px;
6117        left: 0;
6118        right: 0;
6119        background: linear-gradient(to right, #e3f2fd, #f5f5f5);
6120        border-bottom: 1px solid #bbdefb;
6121        padding: 8px 12px;
6122        display: flex;
6123        align-items: center;
6124        gap: 8px;
6125        font-size: 12px;
6126        color: #616161;
6127        z-index: 10;
6128        animation: slideDown 0.3s ease;
6129      }
6130
6131      .chat-notif-info-bar svg {
6132        flex-shrink: 0;
6133      }
6134
6135      .chat-notif-info-bar .small {
6136        flex: 1;
6137        line-height: 1.4;
6138      }
6139
6140      .chat-notif-info-bar .btn-dismiss {
6141        background: none;
6142        border: none;
6143        color: #9e9e9e;
6144        cursor: pointer;
6145        padding: 0 4px;
6146        font-size: 16px;
6147        transition: color 0.2s;
6148      }
6149
6150      .chat-notif-info-bar .btn-dismiss:hover {
6151        color: #616161;
6152      }
6153
6154      @keyframes slideDown {
6155        from {
6156          max-height: 0;
6157          opacity: 0;
6158        }
6159
6160        to {
6161          max-height: 50px;
6162          opacity: 1;
6163        }
6164      }
6165
6166      .chat-close-btn {
6167        background: none;
6168        border: none;
6169        color: white;
6170        font-size: 28px;
6171        line-height: 1;
6172        cursor: pointer;
6173        padding: 0;
6174        width: 30px;
6175        height: 30px;
6176      }
6177
6178      .chat-popup-body {
6179        flex: 1 1 auto;
6180        display: flex;
6181        flex-direction: column;
6182        min-height: 0;
6183        overflow: hidden;
6184        height: calc(100% - 64px);
6185        position: relative;
6186        transition: padding-top 0.3s ease;
6187      }
6188
6189      /* Add padding when info bar is visible */
6190      .chat-popup-body.has-info-bar {
6191        padding-top: 40px;
6192      }
6193
6194      .chat-view {
6195        flex: 1 1 auto;
6196        display: none;
6197        flex-direction: column;
6198        min-height: 0;
6199        overflow: hidden;
6200      }
6201
6202      #chat-list-view {
6203        display: flex;
6204      }
6205
6206      #chat-messages-view {
6207        display: none;
6208      }
6209
6210      #chat-messages-view.active {
6211        display: flex;
6212        flex-direction: column;
6213      }
6214
6215      #chat-new-view {
6216        display: none;
6217      }
6218
6219      #chat-new-view.active {
6220        display: flex;
6221      }
6222
6223      .chat-conversations-list {
6224        flex: 1;
6225        overflow-y: auto;
6226        padding: 0;
6227        background: white;
6228      }
6229
6230      /* Custom Scrollbar for Conversations List */
6231      .chat-conversations-list::-webkit-scrollbar {
6232        width: 6px;
6233      }
6234
6235      .chat-conversations-list::-webkit-scrollbar-track {
6236        background: #f1f1f1;
6237      }
6238
6239      .chat-conversations-list::-webkit-scrollbar-thumb {
6240        background: #F28C1A;
6241        border-radius: 3px;
6242      }
6243
6244      .chat-conversations-list::-webkit-scrollbar-thumb:hover {
6245        background: #D97809;
6246      }
6247
6248      /* Firefox */
6249      .chat-conversations-list {
6250        scrollbar-width: thin;
6251        scrollbar-color: #F28C1A #f1f1f1;
6252      }
6253
6254      .chat-conversation-item {
6255        padding: 12px 16px;
6256        cursor: pointer;
6257        display: flex;
6258        gap: 12px;
6259        align-items: flex-start;
6260        transition: background 0.15s ease;
6261        color: #33371f;
6262        border-bottom: 1px solid #f0f0f0;
6263      }
6264
6265      .chat-conversation-item:hover {
6266        background: #f5f5f5;
6267      }
6268
6269      .chat-conversation-item.active {
6270        background: #FFF5EB;
6271      }
6272
6273      /* WhatsApp-like Avatar */
6274      .conversation-avatar {
6275        width: 48px;
6276        height: 48px;
6277        border-radius: 50%;
6278        background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
6279        flex-shrink: 0;
6280        display: flex;
6281        align-items: center;
6282        justify-content: center;
6283        color: white;
6284        font-weight: 600;
6285        font-size: 18px;
6286      }
6287
6288      .conversation-avatar svg {
6289        width: 24px;
6290        height: 24px;
6291      }
6292
6293      /* WhatsApp-like Content */
6294      .conversation-content {
6295        flex: 1;
6296        min-width: 0;
6297        display: flex;
6298        flex-direction: column;
6299        gap: 4px;
6300      }
6301
6302      .conversation-header {
6303        display: flex;
6304        justify-content: space-between;
6305        align-items: center;
6306        gap: 8px;
6307      }
6308
6309      .conversation-name {
6310        font-weight: 600;
6311        font-size: 15px;
6312        color: #111;
6313        white-space: nowrap;
6314        overflow: hidden;
6315        text-overflow: ellipsis;
6316      }
6317
6318      .conversation-time {
6319        font-size: 12px;
6320        color: #7d8166;
6321        flex-shrink: 0;
6322      }
6323
6324      .conversation-preview {
6325        display: flex;
6326        justify-content: space-between;
6327        align-items: center;
6328        gap: 8px;
6329      }
6330
6331      .conversation-message {
6332        font-size: 14px;
6333        color: #667781;
6334        white-space: nowrap;
6335        overflow: hidden;
6336        text-overflow: ellipsis;
6337        margin: 0;
6338        flex: 1;
6339      }
6340
6341      .conversation-unread {
6342        background: #d32525;
6343        color: white;
6344        border-radius: 12px;
6345        padding: 2px 8px;
6346        font-size: 12px;
6347        font-weight: 600;
6348        min-width: 20px;
6349        text-align: center;
6350        flex-shrink: 0;
6351      }
6352
6353      /* Active item styling */
6354      .chat-conversation-item.active .conversation-name {
6355        color: #F28C1A;
6356      }
6357
6358      .chat-conversation-item.active .conversation-time {
6359        color: #F28C1A;
6360      }
6361
6362      .chat-new-btn {
6363        margin: 12px;
6364        padding: 12px;
6365        background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
6366        color: white;
6367        border: none;
6368        border-radius: 8px;
6369        cursor: pointer;
6370        font-weight: 500;
6371        font-size: 14px;
6372        display: flex;
6373        align-items: center;
6374        justify-content: center;
6375        gap: 8px;
6376        transition: all 0.2s;
6377        flex-shrink: 0;
6378      }
6379
6380      .chat-new-btn:hover {
6381        transform: translateY(-1px);
6382        box-shadow: 0 4px 8px rgba(242, 140, 26, 0.3);
6383      }
6384
6385      .chat-conversation-title {
6386        flex: 1;
6387        font-weight: 600;
6388        font-size: 16px;
6389        color: #1f2937;
6390      }
6391
6392      .chat-messages-container {
6393        flex: 1;
6394        overflow-y: auto;
6395        padding: 16px;
6396        display: flex;
6397        flex-direction: column;
6398        gap: 8px;
6399        min-height: 0;
6400        background: #E5DDD5;
6401      }
6402
6403      /* Custom Scrollbar for Messages Container */
6404      .chat-messages-container::-webkit-scrollbar {
6405        width: 6px;
6406      }
6407
6408      .chat-messages-container::-webkit-scrollbar-track {
6409        background: rgba(0, 0, 0, 0.05);
6410      }
6411
6412      .chat-messages-container::-webkit-scrollbar-thumb {
6413        background: rgba(242, 140, 26, 0.6);
6414        border-radius: 3px;
6415      }
6416
6417      .chat-messages-container::-webkit-scrollbar-thumb:hover {
6418        background: #F28C1A;
6419      }
6420
6421      /* Firefox */
6422      .chat-messages-container {
6423        scrollbar-width: thin;
6424        scrollbar-color: rgba(242, 140, 26, 0.6) rgba(0, 0, 0, 0.05);
6425      }
6426
6427      /* WhatsApp Group-like Messages */
6428      .chat-message {
6429        display: flex;
6430        margin-bottom: 4px;
6431        animation: fadeIn 0.2s ease;
6432      }
6433
6434      @keyframes fadeIn {
6435        from {
6436          opacity: 0;
6437          transform: translateY(10px);
6438        }
6439
6440        to {
6441          opacity: 1;
6442          transform: translateY(0);
6443        }
6444      }
6445
6446      .chat-message.mine {
6447        justify-content: flex-end;
6448      }
6449
6450      .chat-message-bubble {
6451        max-width: 80%;
6452        padding: 6px 8px 8px 10px;
6453        border-radius: 8px;
6454        position: relative;
6455        box-shadow: 0 1px 0.5px rgba(0, 0, 0, 0.13);
6456      }
6457
6458      /* Bubble from others (Admin/CS) */
6459      .chat-message:not(.mine) .chat-message-bubble {
6460        background: #FFFFFF;
6461        border-radius: 0 8px 8px 8px;
6462      }
6463
6464      /* Bubble tail for others */
6465      .chat-message:not(.mine) .chat-message-bubble::before {
6466        content: '';
6467        position: absolute;
6468        top: 0;
6469        left: -8px;
6470        width: 0;
6471        height: 0;
6472        border-style: solid;
6473        border-width: 0 8px 13px 0;
6474        border-color: transparent #FFFFFF transparent transparent;
6475      }
6476
6477      /* Bubble from user (mine) */
6478      .chat-message.mine .chat-message-bubble {
6479        background: #e4f5d0;
6480        /* Light blue for user messages */
6481        border-radius: 8px 0 8px 8px;
6482      }
6483
6484      /* Bubble tail for mine */
6485      .chat-message.mine .chat-message-bubble::before {
6486        content: '';
6487        position: absolute;
6488        top: 0;
6489        right: -8px;
6490        width: 0;
6491        height: 0;
6492        border-style: solid;
6493        border-width: 0 0 13px 8px;
6494        border-color: transparent transparent transparent #eaf5d0;
6495      }
6496
6497      .message-sender {
6498        font-size: 12.5px;
6499        font-weight: 600;
6500        color: #F28C1A !important;
6501        margin-bottom: 4px;
6502      }
6503
6504      .chat-message.mine .message-sender {
6505        display: none;
6506      }
6507
6508      /* Message text */
6509      .message-text {
6510        font-size: 14px;
6511        line-height: 19px;
6512        color: #000000 !important;
6513        word-wrap: break-word;
6514        white-space: pre-wrap;
6515        margin-bottom: 4px;
6516      }
6517
6518      /* Message metadata (time + status) */
6519      .message-meta {
6520        display: flex;
6521        align-items: center;
6522        justify-content: flex-end;
6523        gap: 4px;
6524        margin-top: 2px;
6525      }
6526
6527      .message-time {
6528        font-size: 11px;
6529        color: #728166 !important;
6530        line-height: 15px;
6531      }
6532
6533      /* Use multiple selectors to override global styles */
6534      .chat-message-bubble .message-status,
6535      .message-meta .message-status,
6536      .chat-message .message-status {
6537        width: 16px !important;
6538        height: 16px !important;
6539        min-width: 16px !important;
6540        min-height: 16px !important;
6541        max-width: 16px !important;
6542        max-height: 16px !important;
6543        flex-shrink: 0;
6544        color: #728166 !important;
6545        fill: currentColor !important;
6546      }
6547
6548      .chat-message:not(.mine) .message-status {
6549        display: none;
6550      }
6551
6552      /* Loading dots animation */
6553      @keyframes loadingDots {
6554
6555        0%,
6556        20% {
6557          content: '.';
6558        }
6559
6560        40% {
6561          content: '..';
6562        }
6563
6564        60%,
6565        100% {
6566          content: '...';
6567        }
6568      }
6569
6570      .message-status.loading::after {
6571        content: '...';
6572        animation: loadingDots 1.5s infinite;
6573        font-size: 16px;
6574        line-height: 16px;
6575      }
6576
6577      .message-status.loading path {
6578        display: none;
6579      }
6580
6581      .message-status.failed {
6582        color: #ef4444 !important;
6583        cursor: pointer;
6584      }
6585
6586      .message-status.sent {
6587        color: #667781 !important;
6588      }
6589
6590      .chat-new-form {
6591        flex: 1;
6592        overflow-y: auto;
6593        padding: 16px;
6594        display: flex;
6595        flex-direction: column;
6596      }
6597
6598      .chat-new-form form {
6599        display: flex;
6600        flex-direction: column;
6601        gap: 16px;
6602        flex: 1;
6603      }
6604
6605      .chat-new-form .form-group {
6606        display: flex;
6607        flex-direction: column;
6608        gap: 6px;
6609      }
6610
6611      .chat-new-form label {
6612        font-size: 14px;
6613        font-weight: 500;
6614        color: #374151;
6615      }
6616
6617      .chat-new-form .form-control {
6618        width: 100%;
6619        padding: 10px 12px;
6620        border: 1px solid #d1d5db;
6621        border-radius: 8px;
6622        font-size: 14px;
6623        font-family: inherit;
6624        transition: border-color 0.2s;
6625        box-sizing: border-box;
6626      }
6627
6628      .chat-new-form .form-control:focus {
6629        outline: none;
6630        border-color: #F28C1A;
6631        box-shadow: 0 0 0 3px rgba(242, 140, 26, 0.1);
6632      }
6633
6634      .chat-new-form textarea.form-control {
6635        resize: vertical;
6636        min-height: 100px;
6637      }
6638
6639      .chat-new-form .btn {
6640        padding: 12px 20px;
6641        border: none;
6642        border-radius: 8px;
6643        font-size: 15px;
6644        font-weight: 500;
6645        cursor: pointer;
6646        transition: all 0.2s;
6647        text-align: center;
6648      }
6649
6650      .chat-new-form .btn-primary {
6651        background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
6652        color: white;
6653      }
6654
6655      .chat-new-form .btn-primary:hover {
6656        transform: translateY(-1px);
6657        box-shadow: 0 4px 8px rgba(242, 140, 26, 0.3);
6658      }
6659
6660      .chat-new-form .btn-primary:active {
6661        transform: scale(0.98);
6662      }
6663
6664      .chat-new-form .btn-block {
6665        width: 100%;
6666        margin-top: auto;
6667      }
6668
6669      .chat-message-form {
6670        padding: 12px;
6671        border-top: 1px solid #e5e7eb;
6672        display: flex;
6673        flex-wrap: wrap;
6674        gap: 8px;
6675        align-items: flex-end;
6676        flex-shrink: 0;
6677        background: white;
6678      }
6679
6680      .chat-product-card {
6681        flex: 1 1 100%;
6682        max-width: 100%;
6683        display: flex;
6684        gap: 12px;
6685        padding: 12px;
6686        background: #f3f4f6;
6687        border-radius: 8px;
6688        margin-bottom: 4px;
6689        border: 1px solid #e5e7eb;
6690      }
6691
6692      .chat-product-card img {
6693        width: 60px;
6694        height: 60px;
6695        object-fit: cover;
6696        border-radius: 6px;
6697        flex-shrink: 0;
6698      }
6699
6700      .chat-product-card-content {
6701        flex: 1;
6702        min-width: 0;
6703      }
6704
6705      .chat-product-card-name {
6706        font-weight: 500;
6707        font-size: 14px;
6708        color: #1f2937;
6709        margin-bottom: 4px;
6710        white-space: nowrap;
6711        overflow: hidden;
6712        text-overflow: ellipsis;
6713      }
6714
6715      .chat-product-card-variant {
6716        font-size: 12px;
6717        color: #74806b;
6718        margin-bottom: 4px;
6719      }
6720
6721      .chat-product-card-price {
6722        font-size: 13px;
6723        color: #8bea66;
6724        font-weight: 600;
6725      }
6726
6727      .chat-product-card-remove {
6728        align-self: flex-start;
6729        background: none;
6730        border: none;
6731        color: #9ca3af;
6732        cursor: pointer;
6733        padding: 4px;
6734        font-size: 18px;
6735        line-height: 1;
6736        transition: color 0.2s;
6737      }
6738
6739      .chat-product-card-remove:hover {
6740        color: #ef4444;
6741      }
6742
6743      /* Product card in messages (read-only display) */
6744      .message-product-card {
6745        display: flex;
6746        gap: 10px;
6747        padding: 10px;
6748        background: rgba(255, 255, 255, 0.5);
6749        border-radius: 8px;
6750        margin-bottom: 6px;
6751        border: 1px solid rgba(0, 0, 0, 0.08);
6752        align-items: center;
6753      }
6754
6755      .chat-message.mine .message-product-card {
6756        background: rgba(255, 255, 255, 0.7);
6757      }
6758
6759      .message-product-card img {
6760        width: 50px;
6761        height: 50px;
6762        object-fit: cover;
6763        border-radius: 6px;
6764        flex-shrink: 0;
6765      }
6766
6767      .message-product-info {
6768        flex: 1;
6769        min-width: 0;
6770      }
6771
6772      .message-product-name {
6773        font-weight: 500;
6774        font-size: 13px;
6775        color: #33371f;
6776        margin-bottom: 2px;
6777        overflow: hidden;
6778        text-overflow: ellipsis;
6779        display: -webkit-box;
6780        -webkit-line-clamp: 2;
6781        -webkit-box-orient: vertical;
6782        line-height: 1.3;
6783      }
6784
6785      .message-product-variant {
6786        font-size: 11px;
6787        color: #78806b;
6788        margin-bottom: 2px;
6789      }
6790
6791      .message-product-price {
6792        font-size: 12px;
6793        color: #c7ea66;
6794        font-weight: 600;
6795      }
6796
6797      .message-product-link {
6798        flex-shrink: 0;
6799        width: 32px;
6800        height: 32px;
6801        display: flex;
6802        align-items: center;
6803        justify-content: center;
6804        background: rgba(102, 126, 234, 0.1);
6805        border-radius: 6px;
6806        color: #c7ea66;
6807        text-decoration: none;
6808        transition: all 0.2s;
6809      }
6810
6811      .message-product-link:hover {
6812        background: #b7ea66;
6813        color: white;
6814      }
6815
6816      .message-product-link svg {
6817        width: 16px;
6818        height: 16px;
6819      }
6820
6821      .chat-message-input {
6822        flex: 1;
6823        border: 1px solid #d1d5db;
6824        border-radius: 20px;
6825        padding: 10px 16px;
6826        resize: none;
6827        max-height: 100px;
6828        font-family: inherit;
6829        font-size: 14px;
6830        line-height: 1.5;
6831        box-sizing: border-box;
6832        overflow-y: hidden;
6833      }
6834
6835      .chat-message-input:focus {
6836        outline: none;
6837        border-color: #F28C1A;
6838        box-shadow: 0 0 0 3px rgba(242, 140, 26, 0.1);
6839      }
6840
6841      .chat-send-btn {
6842        width: 40px;
6843        height: 40px;
6844        border-radius: 50%;
6845        background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
6846        border: none;
6847        color: white;
6848        cursor: pointer;
6849        flex-shrink: 0;
6850        display: flex;
6851        align-items: center;
6852        justify-content: center;
6853        transition: all 0.2s;
6854      }
6855
6856      .chat-send-btn:hover {
6857        transform: scale(1.05);
6858        box-shadow: 0 2px 8px rgba(242, 140, 26, 0.3);
6859      }
6860
6861      .chat-send-btn:active {
6862        transform: scale(0.95);
6863      }
6864
6865      .chat-loading {
6866        text-align: center;
6867        padding: 20px;
6868        color: #6b7280;
6869      }
6870
6871      /* Date Separator (WhatsApp-style) */
6872      .date-separator {
6873        display: flex;
6874        align-items: center;
6875        gap: 12px;
6876        margin: 24px 0 16px;
6877        opacity: 0;
6878        animation: fadeInSeparator 0.3s ease forwards;
6879      }
6880
6881      @keyframes fadeInSeparator {
6882        from {
6883          opacity: 0;
6884          transform: translateY(-10px);
6885        }
6886
6887        to {
6888          opacity: 1;
6889          transform: translateY(0);
6890        }
6891      }
6892
6893      .date-separator-line {
6894        flex: 1;
6895        height: 1px;
6896        background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.1) 50%, transparent);
6897      }
6898
6899      .date-separator-text {
6900        flex-shrink: 0;
6901        padding: 4px 12px;
6902        background: #e9ecef;
6903        color: #6c757d;
6904        font-size: 11px;
6905        font-weight: 600;
6906        text-transform: uppercase;
6907        letter-spacing: 0.5px;
6908        border-radius: 12px;
6909        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
6910      }
6911
6912      /* Mobile responsive */
6913      @media (max-width: 640px) {
6914        .chat-popup {
6915          position: fixed !important;
6916          /* Override absolute positioning */
6917          bottom: 45px !important;
6918          /* Above bottom nav */
6919          right: 0 !important;
6920          left: 0 !important;
6921          width: 100% !important;
6922          max-width: 100% !important;
6923          /* Use dvh (dynamic viewport height) for browser UI awareness */
6924          height: calc(100dvh - 45px) !important;
6925          max-height: calc(100dvh - 45px) !important;
6926          /* Fallback for browsers that don't support dvh */
6927          height: calc(var(--viewport-height, 100vh) - 45px) !important;
6928          max-height: calc(var(--viewport-height, 100vh) - 45px) !important;
6929          border-radius: 0 !important;
6930          z-index: 9999 !important;
6931        }
6932
6933        .chat-popup-header {
6934          border-radius: 0;
6935        }
6936
6937        .chat-messages-container,
6938        .chat-conversations-list {
6939          /* Adjust for mobile keyboard using dynamic viewport */
6940          max-height: calc(100dvh - 190px);
6941          /* Fallback for browsers that don't support dvh */
6942          max-height: calc(var(--viewport-height, 100vh) - 190px);
6943        }
6944      }
6945    </style>
6946
6947    <!-- Chat Widget Button -->
6948    <div id="chat-widget" class="chat-widget" data-user-id="" data-is-logged-in="false"
6949      data-csrf-token="df5d776748b1ed8c8dd0d987bae99b1ee3dea6c6dcbe0eedb1bea766c56d569a">
6950      <button id="chat-toggle-btn" class="chat-toggle-btn" aria-label="Toggle chat">
6951        <svg class="chat-icon" width="28" height="28" viewBox="0 0 640 640" fill="currentColor">
6952          <path
6953            d="M320 128C241 128 175.3 185.3 162.3 260.7C171.6 257.7 181.6 256 192 256L208 256C234.5 256 256 277.5 256 304L256 400C256 426.5 234.5 448 208 448L192 448C139 448 96 405 96 352L96 288C96 164.3 196.3 64 320 64C443.7 64 544 164.3 544 288L544 456.1C544 522.4 490.2 576.1 423.9 576.1L336 576L304 576C277.5 576 256 554.5 256 528C256 501.5 277.5 480 304 480L336 480C362.5 480 384 501.5 384 528L384 528L424 528C463.8 528 496 495.8 496 456L496 435.1C481.9 443.3 465.5 447.9 448 447.9L432 447.9C405.5 447.9 384 426.4 384 399.9L384 303.9C384 277.4 405.5 255.9 432 255.9L448 255.9C458.4 255.9 468.3 257.5 477.7 260.6C464.7 185.3 399.1 127.9 320 127.9z" /></path>
6954        </svg>
6955        <span id="chat-unread-badge" class="chat-unread-badge" style="display: none;">0</span>
6956      </button>
6957
6958      <div id="chat-popup" class="chat-popup" style="display: none;">
6959        <div class="chat-popup-header">
6960          <div class="chat-header-title">
6961            <h3>Bantuan</h3>
6962            <span id="chatOperatingHours" class="chat-operating-hours" style="display: none;"></span>
6963          </div>
6964          <div class="chat-header-actions">
6965            <button id="chatNotifToggle" class="btn-notif-toggle" data-status="not-supported" title="Push notification"
6966              style="display: none;">
6967              <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
6968                <path
6969                  d="M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z" /></path>
6970              </svg>
6971            </button>
6972            <button id="chat-close-btn" class="chat-close-btn" aria-label="Close chat">×</button>
6973          </div>
6974        </div>
6975
6976        <!-- Notification Info Bar (conditional) -->
6977        <div class="chat-notif-info-bar" id="chatNotifInfoBar" style="display:none;">
6978          <svg width="14" height="14" viewBox="0 0 24 24" fill="#ffc107">
6979            <path
6980              d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7zm2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6C7.8 12.16 7 10.63 7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.63-.8 3.16-2.15 4.1z" /></path>
6981          </svg>
6982          <span class="small">Aktifkan notifikasi untuk pemberitahuan balasan</span>
6983          <button class="btn-dismiss" onclick="ChatNotification.dismissInfo()">✕</button>
6984        </div>
6985
6986        <div class="chat-popup-body">
6987          <!-- Conversations List View -->
6988          <div id="chat-list-view" class="chat-view">
6989            <div id="chat-conversations-list" class="chat-conversations-list">
6990              <div class="chat-loading">Memuat...</div>
6991              <!-- Conversation Item Structure (rendered by JS):
6992                              <div class="chat-conversation-item">
6993                                  <div class="conversation-avatar">
6994                                      <svg>...</svg>
6995                                  </div>
6996                                  <div class="conversation-content">
6997                                      <div class="conversation-header">
6998                                          <span class="conversation-name">Admin Support</span>
6999                                          <span class="conversation-time">10:30</span>
7000                                      </div>
7001                                      <div class="conversation-preview">
7002                                          <p class="conversation-message">Terima kasih telah menghubungi kami...</p>
7003                                          <span class="conversation-unread">2</span>
7004                                      </div>
7005                                  </div>
7006                              </div>
7007                              -->
7008            </div>
7009            <button id="chat-new-btn" class="chat-new-btn">
7010              <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
7011                <line x1="12" y1="5" x2="12" y2="19"></line>
7012                <line x1="5" y1="12" x2="19" y2="12"></line>
7013              </svg>
7014              Percakapan Baru
7015            </button>
7016          </div>
7017
7018          <!-- Chat Messages View -->
7019          <div id="chat-messages-view" class="chat-view" style="display: none;">
7020            <div id="chat-messages-container" class="chat-messages-container">
7021              <div class="chat-loading">Memuat pesan...</div>
7022              <!-- Message Structure (rendered by JS):
7023                              <div class="chat-message"> (or .chat-message.mine)
7024                                  <div class="chat-message-bubble">
7025                                      <div class="message-sender">Admin Support</div> (only for non-mine)
7026                                      <div class="message-text">Halo, ada yang bisa dibantu?</div>
7027                                      <div class="message-meta">
7028                                          <span class="message-time">10:30</span>
7029                                          <svg class="message-status">...</svg> (only for mine)
7030                                      </div>
7031                                  </div>
7032                              </div>
7033                              -->
7034            </div>
7035
7036            <form id="chat-message-form" class="chat-message-form">
7037              <input type="hidden" id="chat-current-conversation-id" value="">
7038              <textarea id="chat-message-input" class="chat-message-input" placeholder="Ketik pesan..." rows="1"
7039                maxlength="5000"></textarea>
7040              <button type="submit" class="chat-send-btn" aria-label="Send message">
7041                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
7042                  <line x1="22" y1="2" x2="11" y2="13"></line>
7043                  <polygon points="22 2 15 22 11 13 2 9 22 2"></polygon>
7044                </svg>
7045              </button>
7046            </form>
7047          </div>
7048
7049          <!-- New Chat View -->
7050          <div id="chat-new-view" class="chat-view" style="display: none;">
7051            <div class="chat-messages-header">
7052              <button id="chat-new-back-btn" class="chat-back-btn" aria-label="Back to list">
7053                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
7054                  <path d="M19 12H5M12 19l-7-7 7-7" /></path>
7055                </svg>
7056              </button>
7057              <div class="chat-conversation-title">Percakapan Baru</div>
7058            </div>
7059
7060            <div class="chat-new-form">
7061              <form id="chat-start-form">
7062                <div class="form-group">
7063                  <label for="chat-new-subject">Subjek</label>
7064                  <input type="text" id="chat-new-subject" class="form-control" placeholder="Bantuan Pelanggan"
7065                    maxlength="255">
7066                </div>
7067                <div class="form-group">
7068                  <label for="chat-new-message">Pesan</label>
7069                  <textarea id="chat-new-message" class="form-control" rows="4" placeholder="Tulis pertanyaan Anda..."
7070                    required maxlength="5000"></textarea>
7071                </div>
7072                <button type="submit" class="btn btn-primary btn-block">Kirim</button>
7073              </form>
7074            </div>
7075          </div>
7076        </div>
7077      </div>
7078    </div>
7079
7080    <!-- Login Required Modal -->
7081    <div class="modal-overlay" id="chatLoginModal">
7082      <div class="modal-dialog">
7083        <div class="modal-header">
7084          <h3 class="modal-title">
7085            <div class="modal-icon info">
7086              <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
7087                <path
7088                  d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z" /></path>
7089              </svg>
7090            </div>
7091            Login Diperlukan
7092          </h3>
7093        </div>
7094        <div class="modal-body">
7095          <p class="modal-message">Anda harus login terlebih dahulu untuk menggunakan fitur chat bantuan pelanggan.</p>
7096          <div class="modal-actions">
7097            <button class="modal-btn modal-btn-secondary" id="chatLoginCancel">Batal</button>
7098            <button class="modal-btn modal-btn-primary" id="chatLoginConfirm">Login Sekarang</button>
7099          </div>
7100        </div>
7101      </div>
7102    </div>
7103    
7104  </footer>
7105
7106  <!-- Compare Sidebar Overlay -->
7107  <div class="compare-overlay" id="compareOverlay"></div>
7108
7109  <!-- Floating Compare Badge (Sticky) -->
7110  <button class="compare-floating-badge" id="compareFloatingBadge" aria-label="Lihat produk yang dibandingkan"
7111    style="display:none;">
7112    <svg class="cfb-icon" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
7113      <path d="M9.01 14H2v2h7.01v3L13 15l-3.99-4v3zm5.98-1v-3H22V8h-7.01V5L11 9l3.99 4z" /></path>
7114    </svg>
7115    <span class="cfb-text">Bandingkan</span>
7116    <span class="cfb-count" id="cfbCount">0</span>
7117  </button>
7118
7119  <!-- AI Comparison Modal -->
7120  <div class="ai-compare-modal" id="aiCompareModal">
7121    <div class="modal-backdrop"></div>
7122    <div class="modal-container">
7123      <div class="modal-header">
7124        <h3 class="modal-title">
7125          <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
7126            <path
7127              d="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M11,16.5L18,9.5L16.59,8.09L11,13.67L7.91,10.59L6.5,12L11,16.5Z" /></path>
7128          </svg>
7129          Analisis AI: Perbandingan Produk
7130        </h3>
7131        <button class="modal-close" id="aiCompareModalClose" aria-label="Tutup">
7132          <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
7133            <path
7134              d="M18.3 5.7a1 1 0 0 0-1.4 0L12 10.6 7.1 5.7a1 1 0 1 0-1.4 1.4L10.6 12l-4.9 4.9a1 1 0 0 0 1.4 1.4L12 13.4l4.9 4.9a1 1 0 0 0 1.4-1.4L13.4 12l4.9-4.9a1 1 0 0 0 0-1.4z" /></path>
7135          </svg>
7136        </button>
7137      </div>
7138
7139      <div class="modal-content">
7140        <!-- Loading State -->
7141        <div class="ai-loading" id="aiLoading">
7142          <div class="loading-animation">
7143            <div class="typing-indicator">
7144              <span></span>
7145              <span></span>
7146              <span></span>
7147            </div>
7148            <p>AI sedang menganalisis produk...</p>
7149            <small>Proses ini membutuhkan waktu 10-30 detik</small>
7150          </div>
7151        </div>
7152
7153        <!-- Error State -->
7154        <div class="ai-error" id="aiError" hidden>
7155          <div class="error-icon">
7156            <svg width="48" height="48" viewBox="0 0 24 24" fill="#ef4444">
7157              <path
7158                d="M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z" /></path>
7159            </svg>
7160          </div>
7161          <h4>Analisis AI Gagal</h4>
7162          <p id="aiErrorMessage">Terjadi kesalahan saat memproses analisis.</p>
7163          <button class="btn btn-outline-primary" id="aiRetry">Coba Lagi</button>
7164        </div>
7165
7166        <!-- Analysis Results -->
7167        <div class="ai-results" id="aiResults" hidden>
7168          <!-- Summary Section -->
7169          <div class="ai-summary-card">
7170            <h4>
7171              <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
7172                <path
7173                  d="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,16.5L6.5,12L7.91,10.59L11,13.67L16.59,8.09L18,9.5L11,16.5Z" /></path>
7174              </svg>
7175              Ringkasan Analisis
7176            </h4>
7177            <p id="aiSummary" class="summary-text"></p>
7178            <div class="winner-badge" id="winnerBadge">
7179              <strong>Rekomendasi Terbaik:</strong> <span id="winnerProduct"></span>
7180              <small id="winnerReason"></small>
7181            </div>
7182          </div>
7183
7184          <!-- Comparison Table -->
7185          <div class="ai-comparison-table">
7186            <h4>
7187              <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
7188                <path d="M3,3H21V5H3V3M3,7H21V9H3V7M3,11H21V13H3V11M3,15H21V17H3V15M3,19H21V21H3V19Z" /></path>
7189              </svg>
7190              Perbandingan Detail
7191            </h4>
7192            <div id="comparisonTable" class="comparison-grid"></div>
7193          </div>
7194
7195          <!-- Detailed Analysis -->
7196          <div class="ai-detailed-analysis">
7197            <h4>
7198              <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
7199                <path
7200                  d="M14,2A8,8 0 0,1 22,10A8,8 0 0,1 14,18A8,8 0 0,1 6,10A8,8 0 0,1 14,2M14,4A6,6 0 0,0 8,10A6,6 0 0,0 14,16A6,6 0 0,0 20,10A6,6 0 0,0 14,4M14,6A4,4 0 0,1 18,10A4,4 0 0,1 14,14A4,4 0 0,1 10,10A4,4 0 0,1 14,6M14,8A2,2 0 0,0 12,10A2,2 0 0,0 14,12A2,2 0 0,0 16,10A2,2 0 0,0 14,8Z" /></path>
7201              </svg>
7202              Analisis Mendalam
7203            </h4>
7204            <div id="detailedAnalysis" class="products-analysis"></div>
7205          </div>
7206
7207          <!-- Recommendations -->
7208          <div class="ai-recommendations">
7209            <h4>
7210              <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
7211                <path
7212                  d="M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z" /></path>
7213              </svg>
7214              Rekomendasi Berdasarkan Kebutuhan
7215            </h4>
7216            <div class="recommendations-grid">
7217              <div class="recommendation-card">
7218                <h5>💰 Budget Conscious</h5>
7219                <p id="budgetRecommendation"></p>
7220              </div>
7221              <div class="recommendation-card">
7222                <h5>âš¡ Performance Focused</h5>
7223                <p id="performanceRecommendation"></p>
7224              </div>
7225              <div class="recommendation-card">
7226                <h5>âš–ï¸  Balanced Choice</h5>
7227                <p id="balancedRecommendation"></p>
7228              </div>
7229            </div>
7230          </div>
7231
7232          <!-- Buying Tips -->
7233          <div class="ai-tips">
7234            <h4>
7235              <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
7236                <path
7237                  d="M11,18H13V16H11V18M12,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6
7237M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z" /></path>
7238              </svg>
7239              Tips Pembelian
7240            </h4>
7241            <ul id="buyingTips" class="tips-list"></ul>
7242          </div>
7243        </div>
7244      </div>
7245    </div>
7246  </div>
7247
7248  <!-- Cart Login Modal -->
7249  <div class="modal-overlay" id="cartLoginModal">
7250    <div class="modal-dialog">
7251      <div class="modal-header">
7252        <h3 class="modal-title">
7253          <div class="modal-icon info">
7254            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
7255              <path
7256                d="M17,18A2,2 0 0,1 19,20A2,2 0 0,1 17,22C15.89,22 15,21.1 15,20C15,18.89 15.89,18 17,18M1,2H4.27L5.21,4H20A1,1 0 0,1 21,5C21,5.17 20.95,5.34 20.88,5.5L17.3,11.97C16.96,12.58 16.3,13 15.55,13H8.1L7.2,14.63L7.17,14.75A0.25,0.25 0 0,0 7.42,15H19V17H7C5.89,17 5,16.1 5,15C5,14.65 5.09,14.32 5.24,14.04L6.6,11.59L3,4H1V2M7,18A2,2 0 0,1 9,20A2,2 0 0,1 7,22C5.89,22 5,21.1 5,20C5,18.89 5.89,18 7,18M16,11L18.78,6H6.14L8.5,11H16Z" /></path>
7257            </svg>
7258          </div>
7259          Login untuk Melanjutkan
7260        </h3>
7261      </div>
7262      <div class="modal-body">
7263        <p class="modal-message" style="margin-bottom: 16px;">Silakan login atau daftar untuk mengakses keranjang
7264          belanja dan menyelesaikan pesanan Anda.</p>
7265        <div style="background: #f8fafc; border-radius: 8px; padding: 12px; margin-bottom: 20px;">
7266          <p style="font-size: 14px; color: #646947; margin: 0; line-height: 1.6;">
7267            <strong style="color: #2a2a0f;">Keuntungan dengan akun:</strong><br>
7268            ✓ Simpan keranjang belanja Anda<br>
7269            ✓ Lacak status pesanan secara real-time<br>
7270            ✓ Checkout lebih cepat dengan data tersimpan<br>
7271            ✓ Dapatkan notifikasi promo &amp; diskon eksklusif
7272          </p>
7273        </div>
7274        <div class="modal-actions">
7275          <button class="modal-btn modal-btn-secondary" id="cartLoginCancel">Batal</button>
7276          <button class="modal-btn modal-btn-primary" id="cartLoginConfirm"
7277            style="background: #ff6b35; border-color: #ff6b35;">Login</button>
7278          <button class="modal-btn modal-btn-primary" id="cartRegisterBtn"
7279            style="background: #f7931e; border-color: #f7931e;">Daftar</button>
7280        </div>
7281      </div>
7282    </div>
7283  </div>
7284
7285
7286
7287  <style>
7288    :root {
7289      --mawar-black: #07040c;
7290      --mawar-dark: #12071b;
7291      --mawar-purple: #0026fd;
7292      --mawar-pink: #0026fd;
7293      --mawar-cyan: #0026fd;
7294      --mawar-white: #ffffff;
7295    }
7296
7297    /* =========================================================
7298     FIXED FOOTER – STREET DEMONS MODE
7299  ========================================================= */
7300
7301    .mawar-fixed-footer {
7302      position: fixed;
7303      left: 0;
7304      right: 0;
7305      bottom: 0;
7306      z-index: 999;
7307
7308      display: flex;
7309      align-items: center;
7310      justify-content: space-around;
7311      gap: 8px;
7312
7313      padding: 11px 12px calc(11px + env(safe-area-inset-bottom));
7314      overflow: hidden;
7315
7316      background:
7317        radial-gradient(circle at 50% 0%,
7318          rgba(139, 44, 255, 0.24),
7319          rgba(20, 8, 30, 0.96) 58%,
7320          rgba(5, 2, 9, 1)),
7321        linear-gradient(180deg,
7322          rgba(34, 13, 48, 0.95),
7323          rgba(5, 2, 9, 1));
7324
7325      border-top: 2px solid rgba(0, 21, 255, 0.6);
7326      border-radius: 18px 18px 0 0;
7327
7328      box-shadow:
7329        0 -12px 35px rgba(139, 44, 255, 0.22),
7330        0 -4px 18px rgba(255, 60, 166, 0.12),
7331        inset 0 1px 0 rgba(255, 255, 255, 0.08);
7332
7333      font-family: "Orbitron", "Poppins", Arial, sans-serif;
7334    }
7335
7336    /* Scanline ringan */
7337    .mawar-fixed-footer::before {
7338      content: "";
7339      position: absolute;
7340      inset: 0;
7341      pointer-events: none;
7342
7343      background: repeating-linear-gradient(0deg,
7344          rgba(32, 231, 242, 0.025),
7345          rgba(32, 231, 242, 0.025) 1px,
7346          transparent 1px,
7347          transparent 4px);
7348
7349      opacity: 0.75;
7350      mix-blend-mode: screen;
7351    }
7352
7353    /* Sweep neon */
7354    .mawar-fixed-footer::after {
7355      content: "";
7356      position: absolute;
7357      top: 0;
7358      left: -160%;
7359
7360      width: 60%;
7361      height: 100%;
7362
7363      background: linear-gradient(120deg,
7364          transparent,
7365          rgba(255, 0, 0, 0.22),
7366          rgba(0, 38, 210, 0.527),
7367          transparent);
7368
7369      transform: skewX(-25deg);
7370      animation: mawarShine 4.5s infinite ease-in-out;
7371      pointer-events: none;
7372    }
7373
7374    @keyframes mawarShine {
7375      0% {
7376        left: -160%;
7377        opacity: 0;
7378      }
7379
7380      15% {
7381        opacity: 1;
7382      }
7383
7384      55% {
7385        left: 160%;
7386        opacity: 1;
7387      }
7388
7389      100% {
7390        left: 160%;
7391        opacity: 0;
7392      }
7393    }
7394
7395    /* =========================================================
7396     ITEM STYLE
7397  ========================================================= */
7398
7399    .mawar-fixed-footer a {
7400      flex: 1;
7401      max-width: 110px;
7402
7403      display: flex;
7404      flex-direction: column;
7405      align-items: center;
7406      justify-content: center;
7407      gap: 5px;
7408
7409      padding: 8px 4px;
7410
7411      color: rgba(255, 255, 255, 0.9);
7412      text-decoration: none;
7413      text-align: center;
7414      text-transform: uppercase;
7415
7416      font-size: 11px;
7417      font-weight: 800;
7418      letter-spacing: 0.4px;
7419
7420      position: relative;
7421      z-index: 2;
7422
7423      transition:
7424        color 0.2s ease,
7425        transform 0.2s ease,
7426        filter 0.2s ease;
7427    }
7428
7429    .mawar-fixed-footer a:hover {
7430      color: var(--mawar-white);
7431      transform: translateY(-2px);
7432
7433      filter:
7434        drop-shadow(0 0 6px rgba(250, 0, 0, 0.65)) drop-shadow(0 0 8px rgba(255, 60, 166, 0.35));
7435    }
7436
7437    .mawar-fixed-footer img {
7438      width: 24px;
7439      height: 24px;
7440      object-fit: contain;
7441
7442      filter:
7443        drop-shadow(0 0 5px rgba(32, 231, 242, 0.55)) drop-shadow(0 0 7px rgba(139, 44, 255, 0.35));
7444
7445      transition: transform 0.2s ease;
7446    }
7447
7448    .mawar-fixed-footer a:hover img {
7449      transform: scale(1.08);
7450    }
7451
7452    /* =========================================================
7453     CENTER CTA – STREET CORE
7454  ========================================================= */
7455
7456    .mawar-fixed-footer .core-cta {
7457      background:
7458        linear-gradient(145deg,
7459          rgba(139, 44, 255, 0.2),
7460          rgba(255, 60, 166, 0.12));
7461
7462      border: 1px solid rgba(245, 0, 0, 0.65);
7463      border-radius: 10px 18px 10px 18px;
7464
7465      box-shadow:
7466        0 0 14px rgba(139, 44, 255, 0.28),
7467        0 0 18px rgba(32, 231, 242, 0.1),
7468        inset 0 0 10px rgba(255, 60, 166, 0.1);
7469
7470      transform: scale(1.05);
7471    }
7472
7473    .mawar-fixed-footer .core-cta img {
7474      width: 28px;
7475      height: 28px;
7476
7477      filter:
7478        drop-shadow(0 0 8px rgba(247, 0, 0, 0.8)) drop-shadow(0 0 11px rgba(255, 60, 166, 0.55));
7479    }
7480
7481    .mawar-fixed-footer .core-cta::before {
7482      content: "";
7483      position: absolute;
7484      inset: -5px;
7485      z-index: -1;
7486
7487      border-radius: 13px 21px 13px 21px;
7488
7489      background: radial-gradient(circle,
7490          rgba(139, 44, 255, 0.28),
7491          rgba(255, 60, 166, 0.1),
7492          transparent 72%);
7493
7494      animation: mawarPulse 2.2s ease-in-out infinite;
7495    }
7496
7497    @keyframes mawarPulse {
7498
7499      0%,
7500      100% {
7501        opacity: 0.35;
7502        transform: scale(1);
7503      }
7504
7505      50% {
7506        opacity: 0.8;
7507        transform: scale(1.08);
7508      }
7509    }
7510
7511    /* =========================================================
7512     RESPONSIVE
7513  ========================================================= */
7514
7515    @media (max-width: 400px) {
7516      .mawar-fixed-footer {
7517        gap: 4px;
7518        padding-right: 8px;
7519        padding-left: 8px;
7520      }
7521
7522      .mawar-fixed-footer a {
7523        font-size: 10px;
7524        letter-spacing: 0.2px;
7525      }
7526
7527      .mawar-fixed-footer img {
7528        width: 20px;
7529        height: 20px;
7530      }
7531
7532      .mawar-fixed-footer .core-cta img {
7533        width: 24px;
7534        height: 24px;
7535      }
7536    }
7537
7538    @media (prefers-reduced-motion: reduce) {
7539
7540      .mawar-fixed-footer::after,
7541      .mawar-fixed-footer .core-cta::before {
7542        animation: none;
7543      }
7544
7545      .mawar-fixed-footer a,
7546      .mawar-fixed-footer img {
7547        transition: none;
7548      }
7549    }
7550  </style>
7551
7552  <div class="mawar-fixed-footer">
7553    <a href="https://gogo.88megagacor.one/back/" target="_blank" rel="nofollow noopener">
7554      <img src="/88megaicon.webp" alt="BONUS 88MEGA">
7555      PROMO
7556    </a>
7557
7558    <a href="https://gogo.88megagacor.one/back/" target="_blank" rel="nofollow noopener">
7559      <img src="/88megaicon.webp" alt="TELEGRAM 88MEGA">
7560      TELEGRAM
7561    </a>
7562
7563    <a href="https://gogo.88megagacor.one/back/" target="_blank" rel="nofollow noopener" class="core-cta">
7564      <img src="/88megaicon.webp" alt="DAFTAR 88MEGA">
7565      DAFTAR
7566    </a>
7567
7568    <a href="https://gogo.88megagacor.one/back/" target="_blank" rel="nofollow noopener">
7569      <img src="/88megaicon.webp" alt="RTP 88MEGA">
7570      RTP
7571    </a>
7572
7573    <a href="https://gogo.88megagacor.one/back/" target="_blank" rel="nofollow noopener">
7574      <img src="/88megaicon.webp" alt="LIVECHAT 88MEGA">
7575      LIVECHAT
7576    </a>
7577  </div>
7578  
7578<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447"
7579    integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ=="
7580    data-cf-beacon='{"version":"2024.11.0","token":"3e9b3809d54c4fd180442ae60f330b2a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}'
7581    crossorigin="anonymous"></script>
vendor: 2 bytes, line 7581
7581
7582<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"e445cbb1ccf84c4ab2e7a43ea1753268","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 7582
7582
7583<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"e445cbb1ccf84c4ab2e7a43ea1753268","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 7583
7583
7584<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"984e4dfe691c4cdcba8df4f616d4806c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 7584
7584
7585<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"58aa850b84ac45028540b2ee07e0fe53","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 7585
7585
7586<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"44211135f4774dcab490b645ca749dec","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 7586
7586
7587<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"e4c060edeb5142e087620059a96236b4","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 7587
7587
7588<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"41b76a523a684080bdc0c6e2db195718","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 7588
7588
7589<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"153e8c38edc34dedaf9afbc0e68d0842","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 7589
7589
7590<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"60c5f270103e4642b573dcc391b72d23","r":1}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 7590
7590
7591<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"df3003d49b434ae8819031a488f69265","r":1}' crossorigin="anonymous"></script>
7591
7592
7593
7594<div class="pd-lb" id="pd-lightbox" role="dialog" aria-modal="true" aria-hidden="true" tabindex="-1">
7595      <div class="pd-lb-canvas"><img class="pd-lb-img" id="pd-lb-img" alt="" /></div>
7596      <button class="pd-lb-close" aria-label="Tutup" title="Tutup">×</button>
7597      <button class="pd-lb-prev" aria-label="Sebelumnya" title="Sebelumnya">â ®</button>
7598      <button class="pd-lb-next" aria-label="Berikutnya" title="Berikutnya">â ¯</button>
7599      <div class="pd-lb-counter" id="pd-lb-counter">1 / 1</div>
7600    </div>
7601<div class="pd-lb" id="pd-lightbox" role="dialog" aria-modal="true" aria-hidden="true" tabindex="-1">
7602      <div class="pd-lb-canvas"><img class="pd-lb-img" id="pd-lb-img" alt="" /></div>
7603      <button class="pd-lb-close" aria-label="Tutup" title="Tutup">×</button>
7604      <button class="pd-lb-prev" aria-label="Sebelumnya" title="Sebelumnya">❮</button>
7605      <button class="pd-lb-next" aria-label="Berikutnya" title="Berikutnya">❯</button>
7606      <div class="pd-lb-counter" id="pd-lb-counter">1 / 1</div>
7607    </div>
7607<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"698c619f2e2f448084905abba06d718c","r":1,"spa":2}' crossorigin="anonymous"></script>
7607
7608</body></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.