PageSourceSearch

https://dtg288aa.com/

html dtg288aa.com collected 2026-10-09 05:11:29 UTC 288,629 bytes, 6,088 lines download raw bytes

1
2<!DOCTYPE html><html lang="id"><head>
3  <meta charset="UTF-8">
4  <title>DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?</title>
5  <meta name="description" content="Review jujur fitur buy spin slot Zeus di DTG288. Dari RTP sampai peluang maxwin, semua dibahas ringan. Yuk daftar dan coba sendiri!">
6  <meta name="robots" content="index,follow">
7  <link rel="canonical" href="https://dtg288aa.com/">
8  <link rel="amphtml" href="https://spin.dtg288aa.online/">
9  <link rel="alternate" href="https://spin.dtg288aa.online/" hreflang="id">
10  <link rel="alternate" href="https://spin.dtg288aa.online/" hreflang="en">
11  <link rel="alternate" href="https://spin.dtg288aa.online/" hreflang="x-default">
12  <link rel="alternate" hreflang="id-ID" href="https://spin.dtg288aa.online/">
13  <link rel="alternate" hreflang="en-US" href="https://spin.dtg288aa.online/">
14  <link rel="alternate" hreflang="en-SG" href="https://spin.dtg288aa.online/">
15  
15<script 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","IDR",value:e.value)}catch(t){}},addToCart:function(e){if(!window.gtag)return;try{gtag("event","add_to_cart",currency:e.currency)}catch(t){}}};</script>
15
16  <meta property="og:locale" content="id_ID">
17  <meta property="og:site_name" content="DTG288">
18  <meta property="og:type" content="product">
19  <meta property="og:title" content="DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?">
20  <meta property="og:description" content="Review jujur fitur buy spin slot Zeus di DTG288. Dari RTP sampai peluang maxwin, semua dibahas ringan. Yuk daftar dan coba sendiri!">
21  <meta property="og:url" content="https://dtg288aa.com/">
22  <meta property="og:image" content="https://s13.gifyu.com/images/bu0dP.png">
23  <meta property="og:image:alt" content="DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?">
24  <meta property="product:price:amount" content="10000">
25  <meta property="product:price:currency" content="IDR">
26  <meta property="product:availability" content="out of stock">
27  <meta name="twitter:card" content="summary_large_image">
28  <meta name="twitter:title" content="DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?">
29  <meta name="twitter:description" content="Review jujur fitur buy spin slot Zeus di DTG288. Dari RTP sampai peluang maxwin, semua dibahas ringan. Yuk daftar dan coba sendiri!">
30  <meta name="twitter:image" content="https://s13.gifyu.com/images/bu0dP.png">
31
32<script type="application/ld+json">
33      {
34        "@context": "http:\/\/schema.org",
35        "@type": "BreadcrumbList",
36        "itemListElement": [
37          {
38            "@type": "ListItem",
39            "item": {
40              "@id": "https://dtg288aa.com/",
41              "name": "DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?"
42            },
43            "position": 1
44          }
45        ]
46      }
47    </script>
47
48   
48<script type="application/ld+json">
49{
50  "@context": "https://schema.org",
51  "@graph": [
52    {
53      "@type": "Article",
54      "headline": "DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?",
55      "description": "DTG288 membahas kecerdasan buatan, digitalisasi, tren teknologi, keamanan digital, dan perkembangan AI terbaru untuk meningkatkan literasi teknologi 2026.",
56      "author": {
57        "@type": "Organization",
58        "name": "DTG288"
59      },
60      "publisher": {
61        "@type": "Organization",
62        "name": "DTG288"
63      },
64      "mainEntityOfPage": {
65        "@type": "WebPage",
66        "@id": "https://example.com/DTG288-edukasi-ai-digitalisasi-2026"
67      },
68      "articleSection": "Teknologi",
69      "keywords": [
70        "DTG288",
71        "kecerdasan buatan",
72        "AI 2026",
73        "digitalisasi 2026",
74        "edukasi teknologi",
75        "literasi digital"
76      ]
77    },
78    {
79      "@type": "FAQPage",
80      "mainEntity": [
81        {
82          "@type": "Question",
83          "name": "Apa itu DTG288?",
84          "acceptedAnswer": {
85            "@type": "Answer",
86            "text": "DTG288 adalah portal edukasi yang membahas kecerdasan buatan, digitalisasi, tren teknologi, dan perkembangan dunia digital pada 2026."
87          }
88        },
89        {
90          "@type": "Question",
91          "name": "Apa saja topik yang dibahas DTG288?",
92          "acceptedAnswer": {
93            "@type": "Answer",
94            "text": "Topiknya mencakup AI, otomatisasi, tools digital, keamanan digital, produktivitas, transformasi teknologi, dan tren teknologi terbaru."
95          }
96        },
97        {
98          "@type": "Question",
99          "name": "Siapa yang dapat menggunakan informasi dari DTG288?",
100          "acceptedAnswer": {
101            "@type": "Answer",
102            "text": "Informasinya dapat menjadi referensi bagi pelajar, pekerja, pengguna teknologi, maupun masyarakat umum yang ingin meningkatkan literasi digital."
103          }
104        },
105        {
106          "@type": "Question",
107          "name": "Mengapa kecerdasan buatan penting pada 2026?",
108          "acceptedAnswer": {
109            "@type": "Answer",
110            "text": "AI semakin banyak digunakan untuk membantu pekerjaan, pembelajaran, pengolahan informasi, otomatisasi, dan berbagai aktivitas digital."
111          }
112        },
113        {
114          "@type": "Question",
115          "name": "Apa manfaat mempelajari digitalisasi?",
116          "acceptedAnswer": {
117            "@type": "Answer",
118            "text": "Pemahaman digitalisasi membantu seseorang mengikuti perkembangan teknologi serta memanfaatkan berbagai teknologi secara lebih efektif dan bijak."
119          }
120        }
121      ]
122    }
123  ]
124}
125</script>
125
126
127<script type="application/ld+json">
128{
129"@context": "https://schema.org/",
130"@type": "Product",
131"name": "DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?",
132"url": "https://dtg288aa.com/",
133"sku": "DTG288",
134"image": [
135  "https://s13.gifyu.com/images/bu0dP.png"
136],
137"description": "Review jujur fitur buy spin slot Zeus di DTG288. Dari RTP sampai peluang maxwin, semua dibahas ringan. Yuk daftar dan coba sendiri!",
138"brand": {
139  "@type": "Organization",
140  "name": "DTG288"
141},
142"offers": {
143  "@type": "Offer",
144  "name": "DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?",
145  "sku": "DTG288",
146  "price": "9999",
147  "priceCurrency": "IDR",
148  "availability": "https://schema.org/InStock"
149}
150}
151</script>
151
152
153<script type="application/ld+json">
154{
155"@context": "https://schema.org/",
156"@type": "Product",
157"name": "DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?",
158"image": "https://s13.gifyu.com/images/bu0dP.png",
159"description": "Review jujur fitur buy spin slot Zeus di DTG288. Dari RTP sampai peluang maxwin, semua dibahas ringan. Yuk daftar dan coba sendiri!",
160"sku": "DTG288",
161"offers": {
162  "@type": "Offer",
163  "priceCurrency": "IDR",
164  "url": "https://dtg288aa.com/",
165  "availability": "https://schema.org/InStock",
166  "price": "9999.00"
167}
168}
169</script>
169
170
171<script type="application/ld+json" id="bv-jsonld-bvloader-summary">
172{
173"@context": "https://schema.org/",
174"@id": "https://dtg288aa.com/",
175"aggregateRating": {
176  "@type": "AggregateRating",
177  "itemReviewed": {
178    "@type": "IndividualProduct",
179    "name": "DTG288"
180  },
181  "ratingValue": "5.0",
182  "reviewCount": 954638,
183  "bestRating": 5
184}
185}
186</script>
186
187
188<script type="application/ld+json">
189{
190"@context": "https://schema.org",
191"@type": "BreadcrumbList",
192"itemListElement": [
193  {
194    "@type": "ListItem",
195    "position": 1,
196    "item": {
197      "@id": "https://dtg288aa.com/",
198      "name": "DTG288"
199    }
200  },
201  {
202    "@type": "ListItem",
203    "position": 2,
204    "item": {
205      "@id": "https://dtg288aa.com/",
206      "name": "AGEN BOLA"
207    }
208  },
209  {
210    "@type": "ListItem",
211    "position": 3,
212    "item": {
213      "@id": "https://dtg288aa.com/",
214      "name": "MIX PARLAY "
215    }
216  },
217  {
218    "@type": "ListItem",
219    "position": 4,
220    "item": {
221      "@id": "https://dtg288aa.com/",
222      "name": "DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?"
223    }
224  }
225]
226}
227</script>
227
228
229<script type="application/ld+json" id="bv-jsonld-reviews-data">
230{
231  "@context": "https://schema.org",
232  "@type": "Organization",
233  "@id": "https://dtg288aa.com/",
234  "name": "DTG288",
235  "alternateName": "DTG288",
236  "url": "https://dtg288aa.com/",
237  "review": [
238    {
239      "@type": "Review",
240      "dateCreated": "2026-06-15T10:15:00+00:00",
241      "datePublished": "2026-06-15T10:15:00+00:00",
242      "headline": "Proses login cepat",
243      "reviewBody": "Akses proses login bandar bola DTG288 berlangsung cepat, karena link akses selalu terjaga untuk kemudahan pengguna sepanjang malam.",
244      "reviewRating": {
245        "@type": "Rating",
246        "ratingValue": 5,
247        "bestRating": 5,
248        "worstRating": 1
249      },
250      "author": {
251        "@type": "Person",
252        "name": "Doyok - Tamora"
253      }
254    },
255    {
256      "@type": "Review",
257      "dateCreated": "2026-06-12T14:20:00+00:00",
258      "datePublished": "2026-06-12T14:20:00+00:00",
259      "headline": "Event bonus cukup menarik",
260      "reviewBody": "Puas banget menikmati bonus menarik yang ditawarkan selama event sepak bola piala dunia berlangsung, terima kasih DTG288.",
261      "reviewRating": {
262        "@type": "Rating",
263        "ratingValue": 5,
264        "bestRating": 5,
265        "worstRating": 1
266      },
267      "author": {
268        "@type": "Person",
269        "name": "Andika - Jogja"
270      }
271    },
272    {
273      "@type": "Review",
274      "dateCreated": "2026-06-02T09:45:00+00:00",
275      "datePublished": "2026-06-02T09:45:00+00:00",
276      "headline": "Bisa diakses kapan saja",
277      "reviewBody": "Selagi ada akun login, link akses bandar bola terpercaya tetap akan terbuka terlebih Kamu ingin menonton laga penting sekaligus.",
278      "reviewRating": {
279        "@type": "Rating",
280        "ratingValue": 5,
281        "bestRating": 5,
282        "worstRating": 1
283      },
284      "author": {
285        "@type": "Person",
286        "name": "Klewang - Batam"
287      }
288    }
289  ]
290}
291</script>
291
292
293<script type="application/ld+json">
294{
295  "@context": "https://schema.org",
296  "@type": "FAQPage",
297  "mainEntity": [
298    {
299      "@type": "Question",
300      "name": "Apa itu DTG288 dan apa yang disediakannya?",
301      "acceptedAnswer": {
302        "@type": "Answer",
303        "text": "DTG288 merupakan penyedia link demo Slot terlengkap yang menghimpun 3 provider game terbaik dalam satu tempat. Mudah diakses, pilihannya beragam, dan dirancang untuk membantu Anda berlatih maupun sekadar menikmati hiburan berkualitas."
304      }
305    },
306    {
307      "@type": "Question",
308      "name": "Mengapa DTG288 dikatakan lengkap dan praktis?",
309      "acceptedAnswer": {
310        "@type": "Answer",
311        "text": "Karena DTG288 menyatukan 3 provider game terbaik dalam satu halaman. Anda bisa mencoba langsung berbagai permainan unggulan berkualitas, merasakan sensasi serta kelebihannya masing-masing secara bebas dan tanpa risiko apa pun."
312      }
313    },
314    {
315      "@type": "Question",
316      "name": "Apa kemudahan yang didapatkan saat mengakses layanan ini?",
317      "acceptedAnswer": {
318        "@type": "Answer",
319        "text": "Aksesnya sangat praktis dan pilihannya sangat beragam, bisa dinikmati kapan saja. Sangat cocok untuk sarana latihan maupun hiburan tanpa beban, memudahkan Anda mengenali permainan favorit sebelum memainkannya secara sungguhan."
320      }
321    },
322    {
323      "@type": "Question",
324      "name": "Apakah versi demo ini aman dan bebas risiko?",
325      "acceptedAnswer": {
326        "@type": "Answer",
327        "text": "Sepenuhnya aman dan tidak ada risiko sama sekali. Versi demo tidak menggunakan uang asli, sehingga Anda bisa belajar, berlatih, dan menikmati permainannya dengan tenang tanpa khawatir kehilangan apa pun."
328      }
329    },
330    {
331      "@type": "Question",
332      "name": "Nilai utama apa yang ditawarkan DTG288?",
333      "acceptedAnswer": {
334        "@type": "Answer",
335        "text": "Kami menyediakan kemudahan akses terhadap permainan berkualitas secara gratis dan terpusat. Anda dapat mengenali permainan dengan tenang sebelum bermain sungguhan, sehingga lebih siap dan nyaman saat memainkannya nanti."
336      }
337    }
338  ]
339}
340</script>
340
341  <!-- User Session Data -->
342    <meta name="csrf-token" content="9ce6e4a17f7cc189893df9e47789b13e98829450d516a0cae5ca7b5f43e5dadc">
343  <meta name="user-logged-in" content="false">
344  <meta name="user-id" content="0">
345  
346  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
347
348  <link rel="shortcut icon" href="https://s12.gifyu.com/images/b90lg.webp" type="image/x-icon">
349  <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/style.css">
350  <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/bottom-nav.css">
351  <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/search-suggest.css">
352  <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/product-detail.css">
353  <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/product-grid.css">
354  <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/site-notice.css">
355        <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/benchmark.css">
356    <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/product-filters.css">
357  <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/mega-menu-tiles.css">
358  <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/product-compare.css">
359  <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/product-card-actions.css">
360  <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/modal.css">
361      
362        <link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/reviews-points.css">
363            
364</head>
365<body>
366<header class="topbar">
367  <div class="container topbar-inner">
368    <div class="topbar-left">
369      DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?
370    </div>
371    <div class="topbar-right">
372      <a href="https://dtg288aa.com/">DTG288</a>
373      <a href="https://dtg288aa.com/">AGEN BOLA</a>
374      <a href="https://spin.dtg288aa.online/">Daftar</a>
375      <a href="https://spin.dtg288aa.online/">Masuk</a>
376    </div>
377  </div>
378</header>
379<nav class="navbar">
380  <nav class="navbar-logo" style="width: 100%;">
381    <div class="container nav-inner" style="justify-items: center; justify-content: center;">
382        <a href="https://dtg288aa.com/" class="logo-mobile">
383          <img src="https://s12.gifyu.com/images/bh9Lg.gif" alt="DTG288" height="40">
384        </a>
385    </div>
386</nav>
387  <div class="container nav-inner">
388    <a href="https://dtg288aa.com/" class="logo">
389      <img src="https://s12.gifyu.com/images/bh9Lg.gif" alt="DTG288" height="40">
390    </a>
391
392    
393    <form class="search" method="get" action="#">
394      <input type="hidden" name="page" value="produk">
395      
396      <!-- Search Icon (Desktop) -->
397      <button type="submit" class="search-icon-btn" id="searchBtn" aria-label="Cari">
398        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
399          <circle cx="11" cy="11" r="8"></circle>
400          <path d="m21 21-4.35-4.35"></path>
401        </svg>
402      </button>
403      
404      <input type="text" name="q" id="searchInput" placeholder="Cari DTG288 di Google Agen Resmi Judi Bola Piala Dunia 2026" value="" autocomplete="off"> 
405      
406      <div class="search-suggest" id="searchSuggest" hidden=""></div>
407    </form>
408
409    <div class="nav-actions">
410      <!--<button class="icon-btn" id="notifBtn" title="Notifikasi">🔔</button>-->
411      <button class="icon-btn cart-indicator" id="cartBtn" title="Keranjang">
412        🛒 <span id="cartCount" class="badge" data-role="cart-badge" aria-live="polite">0</span>
413      </button>
414      
415      
416        <span id="compareCount" class="badge" data-role="compare-badge" aria-live="polite">0</span>
417      
418      
419      <!-- Dynamic login/logout button -->
420            <button class="login-btn" id="loginBtn" aria-label="Masuk">
421        <span class="login-text">Masuk</span>
422        <span class="login-ico" aria-hidden="true">😊</span>
423      </button>
424          </div>
425  </div>
426
427  <div class="container" style="display: flex; align-items: center;">
428      
429
430      <div class="mega-cats-wrapper">
431        <div class="mega-cats container" id="megaCatsScroll" style="padding-left: 5px !important;">
432                      <a class="" href="https://dtg288aa.com/">
433              DTG288           </a>
434                      <a class="" href="https://dtg288aa.com/">
435              DTG288 LINK            </a>
436                      <a class="" href="https://dtg288aa.com/">
437              DTG288 LOGIN            </a>
438                      <a class="" href="https://dtg288aa.com/">
439              AGEN BOLA           </a>
440                      <a class="" href="https://dtg288aa.com/">
441              JUDI BOLA            </a>
442                      <a class="" href="https://dtg288aa.com/">
443              MIX PARLAY            </a>
444                      <a class="" href="https://dtg288aa.com/">
445              DTG288 LINK ALTERNATIF            </a>
446                  </div>
447        <div class="mega-cats-fade" id="megaCatsFade"></div>
448      </div>
449  </div>
450</nav>
451
452<!-- Panel Mega Menu - Outside navbar for full-screen -->
453<div class="mm2-panel" data-mm2="panel" role="dialog" aria-label="Kategori">
454  <div class="mm2-view is-active" data-mm2="top"></div>
455  <div class="mm2-view" data-mm2="detail"></div>
456</div>
457
458<!-- Backdrop - Outside navbar for full-screen -->
459<div class="mm2-backdrop" data-mm2="backdrop"></div>
460
461<!-- Mobile Bottom Navigation -->
462<nav class="bottom-nav">
463  <div class="bottom-nav-inner">
464    <!-- Home -->
465    <a href="/" class="bottom-nav-item" id="bottomHomeBtn" data-page="home">
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" stroke-linecap="round" stroke-linejoin="round">
469          <path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path>
470          <polyline points="9 22 9 12 15 12 15 22"></polyline>
471        </svg>
472        <!-- Filled icon (active) -->
473        <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
474          <path 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>
475          <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>
476        </svg>
477      </div>
478      <span class="bottom-nav-item-label">Home</span>
479    </a>
480
481    <!-- Kategori -->
482    <button class="bottom-nav-item" id="bottomCategoryBtn" data-mm2="trigger" aria-label="Kategori">
483      <div class="bottom-nav-item-icon">
484        <!-- Outlined icon (default) -->
485        <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
486          <line x1="3" y1="12" x2="21" y2="12"></line>
487          <line x1="3" y1="6" x2="21" y2="6"></line>
488          <line x1="3" y1="18" x2="21" y2="18"></line>
489        </svg>
490        <!-- Filled icon (active) -->
491        <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
492          <path 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>
493        </svg>
494      </div>
495      <span class="bottom-nav-item-label">Kategori</span>
496    </button>
497
498    <!-- Keranjang -->
499    <button class="bottom-nav-item" id="bottomCartBtn">
500      <div class="bottom-nav-item-icon">
501        <!-- Outlined icon (default) -->
502        <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
503          <circle cx="9" cy="21" r="1"></circle>
504          <circle cx="20" cy="21" r="1"></circle>
505          <path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path>
506        </svg>
507        <!-- Filled icon (active) -->
508        <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
509          <path 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>
510        </svg>
511        <span class="bottom-nav-item-badge" id="bottomCartCount">0</span>
512      </div>
513      <span class="bottom-nav-item-label">Keranjang</span>
514    </button>
515
516    <!-- Compare -->
517    <button class="bottom-nav-item" id="bottomCompareBtn">
518      <div class="bottom-nav-item-icon">
519        <!-- Outlined icon (default) -->
520        <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
521          <polyline points="17 11 21 7 17 3"></polyline>
522          <path d="M21 7H9"></path>
523          <polyline points="7 21 3 17 7 13"></polyline>
524          <path d="M15 17H3"></path>
525        </svg>
526        <!-- Filled icon (active) -->
527        <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
528          <path 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>
529        </svg>
530        <span class="bottom-nav-item-badge" id="bottomCompareCount" style="display:none;">0</span>
531      </div>
532      <span class="bottom-nav-item-label">Compare</span>
533    </button>
534
535    <!-- Chat - Always show, check login in JavaScript -->
536    <button class="bottom-nav-item" id="bottomChatBtn" data-page="chat">
537      <div class="bottom-nav-item-icon">
538        <!-- Outlined icon (default) -->
539        <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" opacity="0.85">
540          <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>
541        </svg>
542        <!-- Filled icon (active) -->
543        <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
544          <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>
545        </svg>
546        <span class="bottom-nav-item-badge" id="bottomChatCount" style="display:none;">0</span>
547      </div>
548      <span class="bottom-nav-item-label">Chat</span>
549    </button>
550
551    <!-- Akun -->
552        <button class="bottom-nav-item" id="bottomLoginBtn">
553      <div class="bottom-nav-item-icon">
554        <!-- Outlined icon (default) -->
555        <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
556          <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path>
557          <circle cx="12" cy="7" r="4"></circle>
558        </svg>
559        <!-- Filled icon (active) -->
560        <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
561          <path fill-rule="evenodd" 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" clip-rule="evenodd"></path>
562        </svg>
563      </div>
564      <span class="bottom-nav-item-label">Login</span>
565    </button>
566        
567      </div>
568    
569      
570</nav>
571
572<!-- Mobile User Menu Bottom Sheet -->
573
574<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
575(function(){
576  const btn = document.getElementById('megaMoreBtn');
577  const dd  = document.getElementById('megaMoreDropdown');
578  if(!btn || !dd) return;
579
580  function openDD(){
581    dd.hidden = false;
582    btn.setAttribute('aria-expanded','true');
583    document.addEventListener('click', outside, {capture:true});
584    document.addEventListener('keydown', esc);
585  }
586  function closeDD(){
587    if(dd.hidden) return;
588    dd.hidden = true;
589    btn.setAttribute('aria-expanded','false');
590    document.removeEventListener('click', outside, {capture:true});
591    document.removeEventListener('keydown', esc);
592  }
593  function toggle(){ dd.hidden ? openDD() : closeDD(); }
594  function outside(e){
595    if(!dd.contains(e.target) && e.target !== btn){
596      closeDD();
597    }
598  }
599  function esc(e){
600    if(e.key === 'Escape'){
601      closeDD();
602      btn.focus();
603    }
604  }
605  btn.addEventListener('click', toggle);
606})();
607
608// ========== HORIZONTAL SCROLL FADE INDICATOR ==========
609(function(){
610  const megaCats = document.getElementById('megaCatsScroll');
611  const fade = document.getElementById('megaCatsFade');
612  if (!megaCats || !fade) return;
613
614  function updateFade() {
615    const scrollLeft = megaCats.scrollLeft;
616    const scrollWidth = megaCats.scrollWidth;
617    const clientWidth = megaCats.clientWidth;
618    const maxScroll = scrollWidth - clientWidth;
619    
620    // Hide fade when scrolled to end (within 10px tolerance)
621    if (maxScroll - scrollLeft <= 10) {
622      fade.style.opacity = '0';
623    } else {
624      fade.style.opacity = '1';
625    }
626  }
627
628  // Update on scroll
629  megaCats.addEventListener('scroll', updateFade, { passive: true });
630  
631  // Update on resize
632  window.addEventListener('resize', updateFade, { passive: true });
633  
634  // Initial check
635  setTimeout(updateFade, 100);
636})();
637
638document.addEventListener('DOMContentLoaded', function () {
639  var input = document.getElementById('searchInput');
640  if (!input) return;
641  input.addEventListener('keydown', function (e) {
642    if (e.key === 'Enter') {
643      e.preventDefault();
644      var form = input.form;
645      if (!form) return;
646      if (typeof form.requestSubmit === 'function') form.requestSubmit();
647      else form.submit();
648    }
649  });
650});
651
652
653(function(){
654  const cartBtn = document.getElementById('cartBtn');
655  if (cartBtn) {
656    cartBtn.addEventListener('click', function(e) {
657      e.preventDefault();
658      
659      const checkLogin = () => {
660        return window.isUserLoggedIn ? window.isUserLoggedIn() : false;
661      };
662      
663      if (checkLogin()) {
664        window.location.href = '/keranjang';
665      } else {
666        showCartLoginModal();
667      }
668    });
669  }
670
671  const loginBtn = document.getElementById('loginBtn');
672  if (loginBtn) {
673    loginBtn.addEventListener('click', function(e) {
674      e.preventDefault();
675      window.location.href = 'https://dtg288aa.com/';
676    });
677  }
678
679  const userMenuBtn = document.getElementById('userMenuBtn');
680  const userDropdown = document.getElementById('userDropdown');
681  
682  if (userMenuBtn && userDropdown) {
683    function openDropdown() {
684      userDropdown.hidden = false;
685      userMenuBtn.setAttribute('aria-expanded', 'true');
686      document.addEventListener('click', closeOnOutside, { capture: true });
687      document.addEventListener('keydown', closeOnEscape);
688    }
689    
690    function closeDropdown() {
691      if (userDropdown.hidden) return;
692      userDropdown.hidden = true;
693      userMenuBtn.setAttribute('aria-expanded', 'false');
694      document.removeEventListener('click', closeOnOutside, { capture: true });
695      document.removeEventListener('keydown', closeOnEscape);
696    }
697    
698    function closeOnOutside(e) {
699      if (!userDropdown.contains(e.target) && e.target !== userMenuBtn) {
700        closeDropdown();
701      }
702    }
703    
704    function closeOnEscape(e) {
705      if (e.key === 'Escape') {
706        closeDropdown();
707        userMenuBtn.focus();
708      }
709    }
710    
711    userMenuBtn.addEventListener('click', function(e) {
712      e.preventDefault();
713      userDropdown.hidden ? openDropdown() : closeDropdown();
714    });
715    
716    // Close dropdown when clicking profile links
717    userDropdown.querySelectorAll('[data-close-dropdown]').forEach(link => {
718      link.addEventListener('click', function() {
719        closeDropdown();
720      });
721    });
722  }
723
724  // Bottom nav profile button - toggle mobile bottom sheet
725  const bottomProfileBtn = document.getElementById('bottomProfileBtn');
726  const mobileUserSheet = document.getElementById('mobileUserSheet');
727  const mobileUserSheetBackdrop = document.getElementById('mobileUserSheetBackdrop');
728  
729  if (bottomProfileBtn && mobileUserSheet) {
730    function openMobileSheet() {
731      mobileUserSheet.hidden = false;
732      document.body.style.overflow = 'hidden';
733      // Trigger animation
734      requestAnimationFrame(() => {
735        mobileUserSheet.classList.add('active');
736      });
737    }
738    
739    function closeMobileSheet() {
740      mobileUserSheet.classList.remove('active');
741      document.body.style.overflow = '';
742      setTimeout(() => {
743        mobileUserSheet.hidden = true;
744      }, 300);
745    }
746    
747    bottomProfileBtn.addEventListener('click', function(e) {
748      e.preventDefault();
749      openMobileSheet();
750    });
751    
752    if (mobileUserSheetBackdrop) {
753      mobileUserSheetBackdrop.addEventListener('click', closeMobileSheet);
754    }
755    
756    // Close on escape key
757    document.addEventListener('keydown', function(e) {
758      if (e.key === 'Escape' && !mobileUserSheet.hidden) {
759        closeMobileSheet();
760      }
761    });
762    
763    // Close sheet when clicking profile links
764    mobileUserSheet.querySelectorAll('[data-close-sheet]').forEach(link => {
765      link.addEventListener('click', function() {
766        closeMobileSheet();
767      });
768    });
769  }
770  
771  // Handle Google avatar error in bottom-nav (fallback to initials)
772  const bottomNavAvatar = document.querySelector('.bottom-nav-avatar-img');
773  if (bottomNavAvatar) {
774    bottomNavAvatar.addEventListener('error', function() );
775  }
776
777  // Mobile logout button
778  const mobileLogoutBtn = document.getElementById('mobileLogoutBtn');
779  if (mobileLogoutBtn) {
780    mobileLogoutBtn.addEventListener('click', async function(e) {
781      e.preventDefault();
782      
783      // Check push notification before logout
784      if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') {
785        const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification();
786        if (!confirmLogout) {
787          return; // User cancelled logout
788        }
789      }
790      
791      const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || '';
792      
793      try {
794        const response = await fetch('/auth/logout', {
795          method: 'POST',
796          credentials: 'same-origin',
797          headers: {
798            'Content-Type': 'application/json',
799            'X-CSRF-Token': getCsrfToken()
800          },
801          body: JSON.stringify({
802            csrf_token: getCsrfToken()
803          })
804        });
805        
806        if (response.ok) {
807          if (window.guestCart && typeof window.guestCart.clear === 'function') {
808            window.guestCart.clear();
809          }
810          window.location.href = '/login?logged_out=1';
811        } else {
812          console.error('Logout failed');
813          window.location.href = '/logout';
814        }
815      } catch (error) {
816        console.error('Logout error:', error);
817        window.location.href = '/logout';
818      }
819    });
820  }
821
822  const logoutBtn = document.getElementById('logoutBtn');
823  if (logoutBtn) {
824    logoutBtn.addEventListener('click', async function(e) {
825      e.preventDefault();
826      
827      // Check push notification before logout
828      if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') {
829        const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification();
830        if (!confirmLogout) {
831          return; // User cancelled logout
832        }
833      }
834      
835      const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || '';
836      
837      try {
838        const response = await fetch('/auth/logout', {
839          method: 'POST',
840          credentials: 'same-origin',
841          headers: {
842            'Content-Type': 'application/json',
843            'X-CSRF-Token': getCsrfToken()
844          },
845          body: JSON.stringify({
846            csrf_token: getCsrfToken()
847          })
848        });
849        
850        if (response.ok) {
851          if (window.guestCart && typeof window.guestCart.clear === 'function') {
852            window.guestCart.clear();
853          }
854          
855          window.location.href = '/login?logged_out=1';
856        } else {
857          console.error('Logout failed');
858          window.location.href = '/logout';
859        }
860      } catch (error) {
861        console.error('Logout error:', error);
862        window.location.href = '/logout';
863      }
864    });
865  }
866
867  const wishlistBtn = document.getElementById('wishlistBtn');
868  const notifBtn = document.getElementById('notifBtn');
869  
870  if (wishlistBtn) {
871    wishlistBtn.addEventListener('click', function(e) {
872      e.preventDefault();
873      alert('Fitur wishlist akan segera tersedia!');
874    });
875  }
876  
877  if (notifBtn) {
878    notifBtn.addEventListener('click', function(e) {
879      e.preventDefault();
880      alert('Fitur notifikasi akan segera tersedia!');
881    });
882  }
883})();
884
885// ========== MOBILE BOTTOM NAVIGATION ==========
886(function initBottomNav() {
887  // Sync cart badge with bottom nav
888  function syncBottomCartBadge() {
889    const mainBadge = document.getElementById('cartCount');
890    const bottomBadge = document.getElementById('bottomCartCount');
891    if (mainBadge && bottomBadge) {
892      const count = mainBadge.textContent;
893      bottomBadge.textContent = count;
894      bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none';
895    }
896  }
897
898  // Sync compare badge with bottom nav
899  function syncBottomCompareBadge() {
900    const mainBadge = document.getElementById('compareCount');
901    const bottomBadge = document.getElementById('bottomCompareCount');
902    if (mainBadge && bottomBadge) {
903      const count = mainBadge.textContent;
904      bottomBadge.textContent = count;
905      bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none';
906    }
907  }
908
909  // Initial sync
910  syncBottomCartBadge();
911  syncBottomCompareBadge();
912
913  // Observe badge changes
914  const observer = new MutationObserver(function() {
915    syncBottomCartBadge();
916    syncBottomCompareBadge();
917  });
918
919  const cartBadge = document.getElementById('cartCount');
920  const compareBadge = document.getElementById('compareCount');
921  
922  if (cartBadge) observer.observe(cartBadge, { childList: true, characterData: true, subtree: true });
923  if (compareBadge) observer.observe(compareBadge, { childList: true, characterData: true, subtree: true });
924
925  // Bottom Cart Button
926  const bottomCartBtn = document.getElementById('bottomCartBtn');
927  if (bottomCartBtn) {
928    bottomCartBtn.addEventListener('click', function(e) {
929      e.preventDefault();
930      
931      const checkLogin = () => {
932        return window.isUserLoggedIn ? window.isUserLoggedIn() : false;
933      };
934      
935      if (checkLogin()) {
936        window.location.href = '/keranjang';
937      } else {
938        showCartLoginModal();
939      }
940    });
941  }
942
943  // Bottom Compare Button
944  const bottomCompareBtn = document.getElementById('bottomCompareBtn');
945  if (bottomCompareBtn) {
946    bottomCompareBtn.addEventListener('click', function(e) {
947      e.preventDefault();
948      
949      // Close chat widget if open
950      if (window.plazaChat && window.plazaChat.isWidgetOpen) {
951        window.plazaChat.closeWidget();
952      }
953      
954      const mainCompareBtn = document.getElementById('compareBtn');
955      if (mainCompareBtn) {
956        mainCompareBtn.click();
957      }
958    });
959  }
960
961  // Bottom Category Button - triggers mega menu
962  const bottomCategoryBtn = document.getElementById('bottomCategoryBtn');
963  if (bottomCategoryBtn) {
964    bottomCategoryBtn.addEventListener('click', function(e) {
965      e.preventDefault();
966      // Trigger desktop mega menu
967      const desktopTrigger = document.querySelector('.mm2-trigger:not(#bottomCategoryBtn)');
968      if (desktopTrigger) {
969        desktopTrigger.click();
970      }
971    });
972  }
973
974  // Bottom Login Button
975  const bottomLoginBtn = document.getElementById('bottomLoginBtn');
976  if (bottomLoginBtn) {
977    bottomLoginBtn.addEventListener('click', function(e) {
978      e.preventDefault();
979      window.location.href = '/login';
980    });
981  }
982
983  // Bottom Chat Button
984  const bottomChatBtn = document.getElementById('bottomChatBtn');
985  if (bottomChatBtn) {
986    bottomChatBtn.addEventListener('click', function(e) {
987      e.preventDefault();
988      
989      // Trigger chat widget (try multiple times if needed)
990      const triggerChat = () => {
991        const chatToggle = document.getElementById('chat-toggle-btn');
992        if (chatToggle) {
993          chatToggle.click();
994          return true;
995        }
996        return false;
997      };
998      
999      // Immediate attempt
1000      if (!triggerChat()) {
1001        // Retry after 100ms if not found
1002        setTimeout(() => {
1003          if (!triggerChat()) {
1004            // Last resort: manually show popup
1005            const popup = document.getElementById('chat-popup');
1006            if (popup) {
1007              popup.style.display = 'block';
1008            }
1009          }
1010        }, 100);
1011      }
1012    });
1013  }
1014
1015  // Sync chat unread badge
1016  function syncBottomChatBadge() {
1017    const chatBadge = document.getElementById('chat-unread-badge');
1018    const bottomChatBadge = document.getElementById('bottomChatCount');
1019    if (chatBadge && bottomChatBadge) {
1020      const count = chatBadge.textContent;
1021      bottomChatBadge.textContent = count;
1022      bottomChatBadge.style.display = chatBadge.style.display;
1023    }
1024  }
1025
1026  // Observe chat badge changes
1027  const chatBadge = document.getElementById('chat-unread-badge');
1028  if (chatBadge) {
1029    observer.observe(chatBadge, { attributes: true, childList: true, characterData: true, subtree: true });
1030    syncBottomChatBadge();
1031  }
1032
1033  // Active state management based on current page
1034  function updateActiveState() {
1035    const currentPath = window.location.pathname;
1036    const bottomNavItems = document.querySelectorAll('.bottom-nav-item');
1037    
1038    bottomNavItems.forEach(item => {
1039      item.classList.remove('active');
1040      
1041      const itemId = item.id;
1042      const page = item.getAttribute('data-page');
1043      const href = item.getAttribute('href');
1044      
1045      // Check by ID for specific pages
1046      if (itemId === 'bottomHomeBtn' && currentPath === '/') {
1047        item.classList.add('active');
1048      } else if (itemId === 'bottomCartBtn' && (currentPath === '/keranjang' || currentPath === '/cart')) {
1049        item.classList.add('active');
1050      } else if (itemId === 'bottomProfileBtn' && currentPath.startsWith('/profile')) {
1051        item.classList.add('active');
1052      } else if (itemId === 'bottomCategoryBtn' && currentPath.startsWith('/kategori')) {
1053        item.classList.add('active');
1054      } else if (itemId === 'bottomCompareBtn' && currentPath === '/compare') {
1055        item.classList.add('active');
1056      } else if (itemId === 'bottomChatBtn' && currentPath === '/chat') {
1057        item.classList.add('active');
1058      }
1059      // Fallback: check by data-page attribute
1060      else if (page === 'home' && currentPath === '/') {
1061        item.classList.add('active');
1062      } else if (page === 'profile' && currentPath.startsWith('/profile')) {
1063        item.classList.add('active');
1064      }
1065      // Fallback: check by href
1066      else if (href && currentPath === href) {
1067        item.classList.add('active');
1068      }
1069    });
1070  }
1071
1072  // Update active state on load
1073  updateActiveState();
1074
1075  // Bottom nav always visible - auto-hide disabled for better UX
1076  // const bottomNav = document.querySelector('.bottom-nav');
1077  // if (bottomNav && window.innerWidth <= 640) {
1078  //   // Auto-hide feature disabled
1079  // }
1080})();
1081// Cart Login Modal Handler (Global scope)
1082function showCartLoginModal() {
1083  const modal = document.getElementById('cartLoginModal');
1084  if (!modal) return;
1085  
1086  modal.classList.add('show');
1087  
1088  const confirmBtn = document.getElementById('cartLoginConfirm');
1089  const registerBtn = document.getElementById('cartRegisterBtn');
1090  const cancelBtn = document.getElementById('cartLoginCancel');
1091  
1092  const handleLogin = () => {
1093    window.location.href = '/login?return=' + encodeURIComponent('/keranjang');
1094  };
1095  
1096  const handleRegister = () => {
1097    window.location.href = '/register?return=' + encodeURIComponent('/keranjang');
1098  };
1099  
1100  const handleCancel = () => {
1101    modal.classList.remove('show');
1102    confirmBtn.removeEventListener('click', handleLogin);
1103    registerBtn.removeEventListener('click', handleRegister);
1104    cancelBtn.removeEventListener('click', handleCancel);
1105  };
1106  
1107  confirmBtn.removeEventListener('click', handleLogin);
1108  registerBtn.removeEventListener('click', handleRegister);
1109  cancelBtn.removeEventListener('click', handleCancel);
1110  
1111  confirmBtn.addEventListener('click', handleLogin);
1112  registerBtn.addEventListener('click', handleRegister);
1113  cancelBtn.addEventListener('click', handleCancel);
1114  
1115  modal.addEventListener('click', (e) => {
1116    if (e.target === modal) {
1117      handleCancel();
1118    }
1119  });
1120}
1121</script>
vendor: 1 bytes, line 1121
1121
1122<script src="https://playsavenow.com/assets/plazait/js/cart-badge.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
1122
1123
1124<!-- Product Compare Sidebar -->
1125<div class="compare-sidebar" id="compareSidebar">
1126  <div class="compare-header">
1127    <h4 class="compare-title">
1128      <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
1129        <path 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>
1130      </svg>
1131      Bandingkan Produk
1132      <span class="compare-count" id="compareCountSidebar">(0)</span>
1133    </h4>
1134    <button class="compare-close" id="compareClose" aria-label="Tutup">
1135      <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
1136        <path 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>
1137      </svg>
1138    </button>
1139  </div>
1140  
1141  <div class="compare-content">
1142    <div class="compare-empty" id="compareEmpty">
1143      <div class="empty-icon">
1144        <svg width="48" height="48" viewBox="0 0 24 24" fill="currentColor" opacity="0.3">
1145          <path 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 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>
1161      </svg>
1162      Hapus Semua
1163    </button>
1164    <button class="btn btn-primary btn-sm" id="compareAnalyze" disabled="">
1165      <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
1166        <path 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>
1167      </svg>
1168      Analisis AI
1169    </button>
1170  </div>
1171  
1172  <!-- AI Disclaimer in Sidebar -->
1173  <div class="compare-disclaimer">
1174    <div class="ai-disclaimer">
1175      <div class="disclaimer-text">
1176        <strong>💡 Catatan:</strong> Analisis ini dihasilkan secara otomatis dan dapat memiliki keterbatasan.
1177        Gunakan sebagai referensi tambahan dengan tetap mempertimbangkan kebutuhan Anda.
1178        Untuk informasi lebih lanjut, silakan hubungi tim DTG288.
1179      </div>
1180    </div>
1181  </div>
1182</div><link rel="stylesheet" href="https://playsavenow.com/assets/plazait/css/pd-lightbox.css">
1183<style>.paylater-promo{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg, #ffffff 0, #ffffff 100% 100%);border:1px solid #000000;border-radius:8px;padding:8px 12px;font-size:13px;line-height:1.4;margin:8px 0}.paylater-promo-sm{padding:6px 10px;font-size:11px;gap:6px}.paylater-promo-md{padding:8px 12px;font-size:13px;gap:8px}.paylater-promo-lg{padding:10px 16px;font-size:14px;gap:10px}.paylater-icon{font-size:1.2em;flex-shrink:0}.paylater-text{display:flex;flex-direction:column;gap:2px}.paylater-text strong{color:#000000;font-weight:600}.paylater-text small{color:#000000;font-size:.85em;opacity:.9}.paylater-desktop-only{display:none}.paylater-mobile-only{display:flex}@media (min-width:641px){.paylater-desktop-only{display:flex}.paylater-mobile-only{display:none}}@media (max-width:640px){.paylater-promo{font-size:12px;padding:7px 10px}.paylater-promo-lg{font-size:13px;padding:8px 12px}}@media print{.paylater-promo{display:none!important}}.paylater-compact{display:inline-block;font-size:11px;font-weight:600;color:#059669;background:#d1fae5;padding:3px 8px;border-radius:4px;margin:6px 0 4px;line-height:1.3}@media (max-width:640px){.paylater-compact{font-size:10px;padding:2px 6px;margin:5px 0 3px}}@media print{.paylater-compact{display:none!important}}</style><style nonce="se3iyzEHMc9FQEB4wSyd0w==">.pd-voucher-minimal{margin:10px 0;display:flex;flex-direction:column;gap:6px}.pdv-min-item{display:flex;align-items:center;gap:8px;padding:0;height:32px;transition:all .2s ease}.pdv-min-hidden{display:none}.pdv-min-disabled{opacity:.5}.pdv-badge-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);border:none;border-radius:8px;padding:3px;
1183cursor:pointer;transition:all .2s ease;width:auto}.pdv-badge-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(102,126,234,.3)}.pdv-badge-btn:disabled{opacity:.6;cursor:not-allowed}.pdv-badge-icon{color:#fff;flex-shrink:0}.pdv-badge-text{font-size:14px;font-weight:700;color:#fff;white-space:nowrap}.pdv-badge-code{font-family:'Courier New',monospace;font-size:13px;font-weight:700;color:#fff;background:rgba(255,255,255,.2);padding:4px 8px;border-radius:4px;border:none;white-space:nowrap}.pdv-min-copy,.pdv-min-more{padding:4px 12px;font-size:12px;font-weight:600;border-radius:5px;border:1px solid #e2e8f0;background:#fff;color:#667eea;cursor:pointer;transition:all .2s ease;white-space:nowrap}.pdv-min-copy:hover:not(:disabled),.pdv-min-more:hover{background:#667eea;color:#fff;border-color:#667eea}.pdv-min-copy:disabled{opacity:.4;cursor:not-allowed}.pdv-min-copy.copied{background:#22c55e;color:#fff;border-color:#22c55e}.pdv-min-more{margin-left:auto}.modal-close{position:absolute;top:20px;right:20px;background:none;border:none;cursor:pointer;color:#64748b;padding:4px;transition:color .2s ease}.modal-close:hover{color:#1e293b}.modal-body{margin-bottom:8px}.voucher-modal-content{text-align:center}.voucher-modal-badge{display:inline-flex;flex-direction:row;align-items:center;gap:6px;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);border-radius:10px;padding:8px 16px;margin-bottom:12px}.vmb-value{font-size:18px;font-weight:700;color:#fff;line-height:1}.vmb-label{font-size:18px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.voucher-modal-code{font-family:'Courier New',monospace;font-size:14px;font-weight:700;color:#667eea;background:rgba(102,126,234,.1);padding:6px 12px;border-radius:6px;border:2px dashed rgba(102,126,234,.3);display:inline-block;margin-bottom:10px}.voucher-modal-name{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:16px}.voucher-modal-details{text-align:left;background:#f8fafc;border-radius:8px;padding:12px;margin-bottom:16px}.vmd-item{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:13px;color:#64748b;border-bottom:1px solid #e2e8f0}.vmd-item:last-child{border-bottom:none}.vmd-item svg{color:#667eea;flex-shrink:0;margin-top:2px}.vmd-item strong{color:#1e293b}.modal-actions{padding:20px}.modal-btn-primary{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff}.modal-btn-primary:hover{opacity:.9;transform:translateY(-1px)}@media (max-width:640px){.pdv-min-item{gap:6px}.pdv-badge-btn{padding:3px;gap:6px}.pdv-badge-text{font-size:13px}.pdv-badge-code{font-size:12px;padding:3px 6px}.pdv-min-copy,.pdv-min-more{padding:3px 10px;font-size:11px}.modal-dialog{max-width:95%;margin:20px}.vmb-value{font-size:16px}.vmb-label{font-size:16px}.voucher-modal-code{font-size:13px;padding:5px 10px}}</style><style nonce="se3iyzEHMc9FQEB4wSyd0w==">.promo-endyear-mini-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(255,255,255,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(242,140,26,.2);border-radius:12px;margin:16px 0;box-shadow:0 4px 16px rgba(0,0,0,.08);transition:all .3s ease}.promo-endyear-mini-banner:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12);border-color:rgba(242,140,26,.4)}.pey-icon{font-size:32px;line-height:1;flex-shrink:0}.pey-content{flex:1;min-width:0}.pey-content strong{display:block;font-size:14px;font-weight:700;color:#F28C1A;margin-bottom:2px}.pey-content span{display:block;font-size:13px;color:#64748b;line-height:1.4}.pey-link{flex-shrink:0;padding:8px 16px;background:linear-gradient(135deg,#F28C1A,#FFB84D);color:#fff;text-decoration:none;font-size:13px;font-weight:700;border-radius:8px;white-space:nowrap;transition:all .2s ease;box-shadow:0 2px 8px rgba(242,140,26,.25)}.pey-link:hover{transform:translateX(2px);box-shadow:0 4px 12px rgba(242,140,26,.35)}@media(max-width:640px){.promo-endyear-mini-banner{flex-wrap:wrap;gap:8px;padding:10px 12px}.pey-icon{font-size:28px;align-self:flex-start}.pey-content{flex:1;min-width:0}.pey-content strong{font-size:12px}.pey-content span{font-size:11px;line-height:1.3}.pey-link{width:100%;flex-basis:100%;font-size:11px;padding:6px 12px;text-align:center}}@media print{.promo-endyear-mini-banner{display:none!important}}</style>
1184<style nonce="se3iyzEHMc9FQEB4wSyd0w==">
1185.pd-title-row{position:relative;margin-bottom:12px;padding-right:52px}.pd-title{margin:0!important}.pd-share-btn{position:absolute;top:0;right:0;width:40px;height:40px;
1185display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.pd-share-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a;transform:translateY(-1px)}.pd-share-btn:active{transform:translateY(0)}.pd-share-btn svg{display:block}
1186
1187.pd-share-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.75);backdrop-filter:blur(4px);z-index:99999;display:none;align-items:center;justify-content:center;padding:0;animation:fadeIn .2s ease}.pd-share-modal-overlay.show{display:flex}.pd-share-modal{background:#fff;border-radius:20px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);max-width:480px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
1188
1189.pd-share-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f1f5f9}.pd-share-title{font-size:18px;font-weight:700;color:#0f172a;margin:0}.pd-share-close{width:32px;height:32px;border-radius:8px;border:0;background:transparent;color:#64748b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.pd-share-close:hover{background:#f1f5f9;color:#0f172a}.pd-share-body{padding:24px;overflow-y:auto}
1190
1191.pd-share-preview{display:flex;gap:12px;padding:16px;background:#f8fafc;border-radius:12px;margin-bottom:24px}.pd-share-preview-img{width:64px;height:64px;border-radius:8px;object-fit:cover;flex-shrink:0;border:1px solid #e2e8f0}.pd-share-preview-info{flex:1;min-width:0}.pd-share-preview-name{font-size:14px;font-weight:600;color:#0f172a;margin:0 0 4px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pd-share-preview-price{font-size:16px;font-weight:700;color:#0ea5e9;margin:0}
1192
1193.pd-share-label{font-size:13px;font-weight:600;color:#475569;margin:0 0 12px 0;text-transform:uppercase;letter-spacing:.5px}.pd-share-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.pd-share-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border:1.5px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;text-decoration:none;color:inherit}.pd-share-option:hover{border-color:#94a3b8;background:#f8fafc;transform:translateY(-2px)}.pd-share-option:active{transform:translateY(0)}
1194
1195.pd-share-icon{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;position:relative}.pd-share-icon svg{width:24px;height:24px;display:block}.pd-share-icon-whatsapp{background:linear-gradient(135deg,#25D366 0%,#128C7E 100%);color:#fff}.pd-share-icon-facebook{background:linear-gradient(135deg,#1877F2 0%,#0c63d4 100%);color:#fff}.pd-share-icon-twitter{background:linear-gradient(135deg,#1DA1F2 0%,#0d8bd9 100%);color:#fff}.pd-share-icon-telegram{background:linear-gradient(135deg,#0088cc 0%,#0077b3 100%);color:#fff}.pd-share-icon-email{background:linear-gradient(135deg,#EA4335 0%,#c5331f 100%);color:#fff}.pd-share-icon-copy{background:linear-gradient(135deg,#f1db63 0%,#e5d146 100%);color:#fff}.pd-share-icon-pdf{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff}.pd-share-name{font-size:12px;font-weight:600;color:#475569;text-align:center}
1196
1197.pd-share-copy-section{background:#f8fafc;padding:16px;border-radius:12px}.pd-share-copy-input-wrap{display:flex;gap:8px}.pd-share-copy-input{flex:1;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#0f172a;background:#fff;font-family:'Segoe UI',system-ui,sans-serif}.pd-share-copy-input:focus{outline:0;border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.1)}.pd-share-copy-btn{padding:12px 20px;border:0;border-radius:10px;background:linear-gradient(135deg,#0ea5e9 0%,#0284c7 100%);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.pd-share-copy-btn:hover{background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(14,165,233,.3)}
1197.pd-share-copy-btn:active{transform:translateY(0)}.pd-share-copy-btn svg{width:16px;height:16px}.pd-share-copy-btn.copied{background:linear-gradient(135deg,#22c55e 0%,#000000 100%);pointer-events:none}
1198
1199@media(max-width:640px){.pd-share-modal{border-radius:20px 20px 0 0;margin-top:auto;max-height:85vh}.pd-share-grid{grid-template-columns:repeat(3,1fr)}.pd-share-header{padding:16px 20px}.pd-share-body{padding:20px}.pd-share-btn{width:36px;height:36px}.pd-share-btn svg{width:18px;height:18px}}@media(max-width:480px){.pd-share-grid{grid-template-columns:repeat(3,1fr);gap:10px}.pd-share-option{padding:12px 6px}.pd-share-icon{width:36px;height:36px}.pd-share-icon svg{width:20px;height:20px}.pd-share-name{font-size:11px}}
1200
1201.mf-share{background:#fff;color:#d6d604;border:2px solid #d6d604;display:inline-flex;align-items:center;justify-content:center}.mf-share:active{transform:scale(.95)}.mf-share svg{display:block}
1202
1203@media(max-width:640px){.pd-share-btn{display:none!important}}
1204
1205.stock-badge.in{background:#e6f9ec;color:#000000;border-radius:999px;padding:4px 10px;font-weight:700}.stock-badge.out{background:#fee2e2;color:#d6d604;border-radius:999px;padding:4px 10px;font-weight:700}
1206
1207.stock-info-btn{--c:#0ea5e9;--b:#bae6fd;--bg:#f0f9ff;--bg-h:#e0f2fe;--b-h:#0ea5e9;margin-left:0;display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:4px 10px;border-radius:999px;border:1.5px solid var(--b);background:var(--bg);color:var(--c);cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.stock-info-btn:hover{background:var(--bg-h);border-color:var(--b-h);color:#0284c7;transform:translateY(-1px);box-shadow:0 2px 8px rgba(14,165,233,.15)}.stock-info-btn:active{transform:translateY(0)}.stock-info-btn:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(14,165,233,.2)}.stock-info-btn svg{width:14px;height:14px;flex-shrink:0}.stock-info-btn .btn-text{white-space:nowrap}
1208
1209.stock-popover{position:absolute;z-index:9999;min-width:280px;max-width:92vw;background:#0b1220;color:#eef3ff;border:1px solid rgba(255,255,255,.08);border-radius:14px;box-shadow:0 20px 40px rgba(12,12,20,.45);padding:12px 12px 8px;display:none}.stock-popover.show{display:block}.stock-popover::before{content:"";position:absolute;top:-8px;left:24px;width:14px;height:14px;background:#0b1220;border-left:1px solid rgba(255,255,255,.08);border-top:1px solid rgba(255,255,255,.08);transform:rotate(45deg)}.sp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sp-title{font-weight:800;font-size:14px}.sp-close{background:transparent;border:0;color:#98a2b3;cursor:pointer}
1210
1211.sp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sp-item{display:grid;grid-template-columns:1fr auto 32px;column-gap:12px;align-items:center;padding:10px 10px;min-height:44px;border-radius:10px;background:rgba(255,255,255,.03)}.sp-left{display:flex;align-items:center;gap:10px}.sp-dot{width:10px;height:10px;border-radius:999px;background:var(--dot,#60a5fa);display:inline-block}.sp-label{font-weight:600;font-size:13px}
1212
1213
1214.sp-qty{grid-column:2;justify-self:end;min-width:40px;text-align:right;font-weight:800;font-size:13px;color:#cfe4ff;font-variant-numeric:tabular-nums}
1215
1216.sp-wa{
1217  grid-column:3; justify-self:end;
1218  width:32px; height:32px; min-width:32px; min-height:32px;
1219  box-sizing:border-box;
1220  padding:0; line-height:0; text-decoration:none; outline:0;
1221  display:inline-flex; align-items:center; justify-content:center;
1222  border-radius:999px; border:1px solid rgba(37,211,102,.60);  /* 1px untuk hasil “crisp” */
1223  background:rgba(37,211,102,.08); color:#25D366;
1224  transition:background-color .15s ease, border-color .15s ease, transform .05s ease;
1225  -webkit-tap-highlight-color:transparent;
1226}
1227.sp-wa:hover{background:rgba(37,211,102,.16);border-color:rgba(37,211,102,.75)}
1228.sp-wa:active{transform:translateY(.5px) scale(.98)}
1229
1230.sp-wa svg{width:18px;height:18px;display:block;vertical-align:middle}
1231.stock-popover a{text-decoration:none}
1232
1233#deskripsi img{max-width:450px!important;height:unset!important}@media(max-width:640px){.stock-popover{position:fixed;left:0;right:0;bottom:max(12px,env(safe-area-inset-bottom,12px));margin:0 10px;padding:14px 12px 10px;border-radius:16px}.stock-popover::before{display:none}.stock-info-btn{padding:4px 8px;gap:4px;border:0;background:transparent}.stock-info-btn:hover{background:transparent;box-shadow:none;transform:none}.stock-info-btn .btn-text{display:none}.stock-info-btn svg{width:16px;height:16px}.sp-item{grid-template-columns:1fr auto 36px}.sp-wa{width:36px;height:36px;min-width:36px;min-height:36px}.sp-wa svg{width:19px;height:19px}}
1234
1235.stock-dot{position:absolute;bottom:8px;right:8px;width:8px;height:8px;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,0.4);z-index:2;cursor:help}.stock-dot.ready{background:#10b981}.stock-dot.low{background:#f59e0b}.stock-dot.out{background:#ef4444}.stock-dot:hover{transform:scale(1.2);transition:transform 0.2s ease}@media(max-width:640px){.stock-dot{width:7px;height:7px;bottom:6px;right:6px}}
1236
1237.pd-related-card .spec-chips{font-size:11px;color:#64748b;margin:4px 0 6px 0;line-height:1.3;font-weight:500}.pd-related-card .spec-chips .spec-divider{margin:0 4px;opacity:0.6}@media(max-width:640px){.pd-related-card .spec-chips{font-size:10px;margin:3px 0 5px 0}#deskripsi img{max-width:300px!important;height:unset!important;justify-self:center!important}}
1238
1239.pwp-trigger-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 4px;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);color:#78350f;border-radius:6px;font-size:.65rem;font-weight:600;border:0}.pwp-trigger-badge svg{flex-shrink:0;width:12px;height:12px}
1240.pwp-deals-section{margin:0;padding:12px;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-radius:12px;border:2px solid #fbbf24}.pwp-deals-header{display:flex;gap:10px;margin-bottom:10px}.pwp-icon{flex-shrink:0;color:#f59e0b;width:18px;height:18px}.pwp-text .pwp-title{margin:0 0 2px 0;font-size:14px;font-weight:700;color:#78350f}.pwp-text .pwp-subtitle{margin:0;font-size:11px;color:#92400e;opacity:0.9}.pwp-deals-loading{text-align:center;padding:40px 0;color:#92400e}.pwp-spinner{width:40px;height:40px;border:3px solid #fbbf24;border-top-color:#f59e0b;border-radius:50%;animation:spin 0.8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}
1241.pwp-deals-grid{display:flex;flex-direction:column;gap:6px}.pwp-deal-card{background:#fff;border-radius:6px;overflow:hidden;border:1px solid #fbbf24;display:flex;align-items:center;padding:8px;gap:10px}.pwp-deal-card:hover{background:#fef3c7}.pwp-deal-thumb{flex-shrink:0;width:50px;height:50px;background:#f8fafc;overflow:hidden;border-radius:4px}.pwp-deal-thumb img{width:100%;height:100%;object-fit:cover}.pwp-deal-badge{background:#dc2626;color:#fff;padding:2px 5px;border-radius:3px;font-size:9px;font-weight:700;margin-left:auto}.pwp-deal-info{flex:1;display:flex;flex-direction:column;gap:4px}.pwp-deal-name{font-size:12px;font-weight:600;color:#0f172a;margin:0;line-height:1.2}.pwp-deal-prices{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pwp-deal-price{font-size:14px;font-weight:800;color:#dc2626;white-space:nowrap}.pwp-deal-original{font-size:11px;color:#64748b;text-decoration:line-through;white-space:nowrap}.pwp-cart-note{margin-top:8px;padding:6px 10px;background:#e0f2fe;border-left:2px solid#0ea5e9;font-size:11px;color:#0c4a6e;border-radius:4px}
1242@media(max-width:640px){.pwp-deals-section{margin:12px 0;padding:10px;border-radius:10px}.pwp-deals-header{gap:8px}.pwp-text .pwp-title{font-size:13px}.pwp-text .pwp-subtitle{font-size:10px}.pwp-deal-card{padding:6px;gap:8px}.pwp-deal-thumb{width:45px;height:45px}.pwp-deal-name{font-size:11px}.pwp-deal-price{font-size:13px}.pwp-deal-original{font-size:10px}}
1243
1244.preorder-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);color:#fff;border-radius:8px;font-size:13px;font-weight:700;border:0;box-shadow:0 2px 8px rgba(139,92,246,.25)}.preorder-badge svg{width:16px;height:16px;flex-shrink:0}.preorder-info{margin:12px 0;padding:14px;background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 100%);border:1.5px solid #c4b5fd;border-radius:12px}.preorder-info-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.preorder-info-icon{width:20px;height:20px;color:#7c3aed;flex-shrink:0}.preorder-info-title{font-size:14px;font-weight:700;color:#5b21b6;margin:0}.preorder-info-items{display:flex;flex-direction:column;gap:8px}.preorder-info-row{display:flex;align-items:center;justify-content:space-between;font-size:13px}.preorder-info-label{color:#6b21a8;font-weight:600}.preorder-info-value{color:#5b21b6;font-weight:700}.preorder-info-value.highlight{color:#dc2626;font-size:14px}.preorder-info-note{margin-top:10px;padding:8px 10px;background:#fef3c7;border-left:2px solid #f59e0b;font-size:12px;color:#78350f;border-radius:6px;line-height:1.4}@media(max-width:640px){.preorder-badge{font-size:12px;padding:5px 10px}.preorder-info{margin:10px 0;padding:12px}.preorder-info-title{font-size:13px}.preorder-info-row{font-size:12px}.preorder-info-note{font-size:11px;padding:6px 8px}}
1245</style>
1246
1247<div class="pd-sticky-header" id="pd-sticky-header"><div class="pd-sticky-header-container"><div class="pd-sticky-thumb"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" id="pd-sticky-thumb-img"></div><div class="pd-sticky-info"><h2 class="pd-sticky-title" id="pd-sticky-title">DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?</h2><div class="pd-sticky-price-row"><span class="pd-sticky-price" id="pd-sticky-price">Rp 10.000,-</span><span class="pd-sticky-price-original" id="pd-sticky-price-original">Rp 1.000.000</span><span class="pd-sticky-discount" id="pd-sticky-discount">-99%</span></div></div><div class="pd-sticky-actions"><button type="button" class="pd-sticky-share-btn" id="pd-sticky-share-btn" aria-label="Bagikan produk" title="Bagikan"><svg viewBox="0 0 24 24" width="16" height="16" aria-hidden="true">
1247<path fill="currentColor" 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></svg></button><button type="button" class="pd-sticky-btn pd-sticky-btn-chat" id="pd-sticky-chat"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><path 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></svg>Tanya</button><button type="button" class="pd-sticky-btn pd-sticky-btn-cart" id="pd-sticky-add-cart" disabled="">+ Keranjang</button><button type="button" class="pd-sticky-btn pd-sticky-btn-buy" id="pd-sticky-buy" disabled="">Beli Sekarang</button></div></div></div>
1248
1249<main class="product-single product-single--v3"><nav class="pd-breadcrumb" aria-label="breadcrumb"><a href="https://dtg288aa.com/">DTG288</a><span>-</span><a href="https://dtg288aa.com/">JUDI BOLA</a><span>-</span><a href="https://dtg288aa.com/">AGEN BOLA</a><span>-</span><a href="https://dtg288aa.com/">MIX PARLAY</a><span>-</span><a href="https://dtg288aa.com/">LINK JUDI BOLA </a><span>-</span><span class="current">DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?
1250
1251</span></nav>
1252
1253<div class="pd-top-layout"><section class="pd-media-card"><figure class="pd-main-image" id="pd-main-figure"><img id="pd-main-img" src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" data-slug="" loading="eager">
1254</figure>
1255
1256<div class="pd-mobile-slider-wrapper">
1257<div class="pd-mobile-slider" id="pd-mobile-slider" aria-label="Galeri gambar (geser)"><div class="pd-mslide"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" loading="eager"></div><div class="pd-mslide"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" loading="lazy"></div><div class="pd-mslide"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288
1258  " loading="lazy"></div><div class="pd-mslide"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" loading="lazy"></div><div class="pd-mslide"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" loading="lazy"></div><div class="pd-mslide"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" loading="lazy"></div></div><div class="pd-gallery-counter" id="pd-gallery-counter">1/6</div></div>
1259<div class="pd-thumb-gallery" id="pd-thumb-gallery" aria-label="Galeri gambar produk"><button type="button" class="pd-thumb-btn active" data-full="https://s13.gifyu.com/images/bu0dP.png" data-alt="DTG288" data-slug="" aria-label="Gambar 1"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://s13.gifyu.com/images/bu0dP.png" data-alt="DTG288" data-slug="https://s13.gifyu.com/images/bu0dP.png" aria-label="Gambar 2"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://s13.gifyu.com/images/bu0dP.png" data-alt="DTG288" data-slug="lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-223.webp" aria-label="Gambar 3"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://s13.gifyu.com/images/bu0dP.png" data-alt="DTG288" data-slug="lenovo-legion-go-8as
1259p2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-776.webp" aria-label="Gambar 4"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://s13.gifyu.com/images/bu0dP.png" data-alt="DTG288" data-slug="lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-634.webp" aria-label="Gambar 5"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://s13.gifyu.com/images/bu0dP.png" data-alt="DTG288" data-slug="lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-892.webp" aria-label="Gambar 6"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" loading="lazy"></button></div></section><section class="pd-info-card"><div id="pd-variant-combined" class="pd-variant-combined" hidden=""></div><div class="pd-title-row">
1260        <h1 class="pd-title" id="pd-title">DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?</h1><button type="button" class="pd-share-btn" id="pd-share-btn" aria-label="Bagikan produk" title="Bagikan"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true"><path fill="currentColor" 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></svg></button></div>
1261<div id="pd-price-anchor">
1262</div>
1263<div class="pd-price-qr-container">
1264        <div class="pd-price-block" id="pd-price-block">
1265                <div class="pd-price-row">
1266                        <span class="pd-price-current" id="pd-price-current">Rp 10.000</span>
1267                        <span class="pd-price-original" id="pd-price-original">Rp 50.000</span>
1268                        <span class="pd-discount-badge" id="pd-discount-badge">-88%</span></div>
1269                        <div class="pd-meta-row">
1270                                <span class="sold-inline" id="pd-sold-inline" data-role="sold-chip">Terjual Terjual 5</span>
1271                                <span class="pwp-trigger-badge" id="pwp-trigger-badge" hidden="">
1272                                        <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor">
1273                                                <path 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></svg>Bisa PWP</span></div>
1274                                                <div class="pd-meta-inline"><span class="stock-badge out" id="pd-stock-badge">DTG288</span>
1275                                                        <span class="sku">SKU: <span id="pd-sku">DTG288</span></span></div>
1276<div class="paylater-promo paylater-promo-sm paylater-mobile-only">
1277    <span class="paylater-icon">💳</span>
1278    <span class="paylater-text">
1279        <strong>AGEN BOLA TERPERCAYA</strong>
1280        <small>MIX PARLAY PIALA DUNIA 2026</small>
1281    </span>
1282</div>
1283
1284<div class="stock-popover" id="pd-stock-popover" role="dialog" aria-hidden="true" aria-label="Informasi stok cabang"><div class="sp-head"><div class="sp-title">Stok Cabang</div><button type="button" class="sp-close" id="pd-stock-popover-close" aria-label="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"></path></svg></button></div><ul class="sp-list">
1285<li class="sp-item"><div class="sp-left"><span class="sp-dot" style="--dot:#60a5fa;"></span><span class="sp-label">Asia Mega Mas</span></div><span class="sp-qty" id="sp-qty-meg">0</span><a class="sp-wa" href="https://wa.me/6281380009898?text=Halo%2C%20saya%20ingin%20tanya%20stok%20di%20Asia%20Mega%20Mas%20untuk%20produk%20https%3A%2F%2Fplazait.co.id%2Fproduct%2Flenovo-legion-go-8as
1285p2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-black" target="_blank" rel="noopener" aria-label="WhatsApp Asia Mega Mas"><svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path fill="currentColor" 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></svg></a></li>
1286                
1287                    <li class="sp-item">
1288                      <div class="sp-left">
1289                        <span class="sp-dot" style="--dot:#34d399;"></span>
1290                        <span class="sp-label">Medan Fair</span>
1291                      </div>
1292                      <span class="sp-qty" id="sp-qty-mdf">0</span>
1293                      <a class="sp-wa" href="https://wa.me/6285388992009?text=Halo%2C%20saya%20ingin%20tanya%20stok%20di%20Medan%20Fair%20untuk%20produk%20https%3A%2F%2Fplazait.co.id%2Fproduct%2Flenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-black" target="_blank" rel="noopener" aria-label="WhatsApp Medan Fair">
1294                        <svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
1295                            <path fill="currentColor" 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>
1296                          </svg>
1297                      </a>
1298                    </li>
1299                
1300                    <li class="sp-item">
1301                      <div class="sp-left">
1302                        <span class="sp-dot" style="--dot:#f59e0b;"></span>
1303                        <span class="sp-label">Banda Aceh</span>
1304                      </div>
1305                      <span class="sp-qty" id="sp-qty-bda">0</span>
1306                      <a class="sp-wa" href="https://wa.me/628116833411?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" target="_blank" rel="noopener" aria-label="WhatsApp Banda Aceh">
1307                        <svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
1308                            <path fill="currentColor" 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>
1309                          </svg>
1310                      </a>
1311                    </li>
1312                  </ul>
1313                </div>
1314
1315                            </div>
1316            <div class="pd-qr-print" style="display:none;"><div class="pd-qr-label">Scan untuk lihat produk:</div><img src="https://api.qrserver.com/v1/create-qr-code/?size=120x120&amp;data=https%3A%2F%2Fplazait.co.id%2Fproduct%2Flenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-black" alt="QR Code" class="pd-qr-image"></div>
1317            </div>
1318                                    <div id="pd-variants-anchor"></div>
1319
1320                        
1321
1322            <div class="pd-compare-section">
1323                <button type="button" class="pd-compare-btn" id="pd-compare-btn" data-product-id="325">
1324                    <svg class="compare-icon" width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
1325                        <path d="M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z"></path>
1326                    </svg>
1327                    <span class="compare-text">Bandingkan Produk</span>
1328                    <span class="compare-remove" hidden="">
1329                        <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
1330                            <path 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>
1331                        </svg>
1332                        Hapus dari Perbandingan
1333                    </span>
1334                </button>
1335                <div class="pd-compare-info">
1336                    <small class="compare-note" id="compare-note">Bandingkan hingga 5 produk dengan bantuan AI</small>
1337                </div>
1338            </div>
1339            
1340            <div class="pd-short-desc"><p><strong>Informasi DTG288 2026:</strong></p><ul><li>Minimal Deposit: Rp 10.000,-</li><li>Jenis Permainan: Sbobet, Casino, Slot</li><li>Metode Pembayaran: Bank, QRIS, E-Wallet</li><li>Mata Uang: IDR (Indonesian Rupiah)</li><li>Jam Operasional: 24 Jam Online</li><li>Rating: ⭐⭐⭐⭐⭐</li><li>Daftar Disini: <a href="https://spin.dtg288aa.online/">Klik Disini</a></li></ul></div><div class="DTG288-container-v1 mini">
1341<div class="DTG288-container">
1342
1343  <!-- HEADER -->
1344<style>
1345.topbar {
1346  background:linear-gradient(180deg, #000000, #000000);
1347  color:#fff;
1348  font-size:13px;
1349}
1350.navbar {
1351  background:linear-gradient(180deg, #000000, #000000) !important;
1352  backdrop-filter:blur(12px);
1353  -webkit-backdrop-filter:blur(12px);
1354  border-bottom:1px solid rgba(0, 0, 0, 0.6);
1355  box-shadow:0 2px 16px -4px rgba(0, 0, 0, 0.08);
1356  position:sticky;
1357  top:0;
1358  z-index:500;
1359  transition:all .3s ease;
1360}
1361
1362*{margin:0;padding:0;box-sizing:border-box}
1363
1364body{
1365  background:#000000;
1366  font-family:'Poppins',sans-serif;
1367  color:#fff;
1368  padding:20px;
1369}
1370
1371.wrapper{
1372  max-width:1000px;
1373  margin:auto;
1374}
1375
1376.title{
1377  text-align:center;
1378  margin-bottom:25px;
1379}
1380
1381.title h1{
1382  font-family:'Orbitron',sans-serif;
1383  color:#00ffe1;
1384  font-size:34px;
1385  text-shadow:0 0 15px rgba(0,255,225,.7);
1386}
1387
1388.calc-box{
1389  background:#0d1328;
1390  border-radius:20px;
1391  padding:20px;
1392  border:1px solid rgba(0,255,225,.15);
1393  box-shadow:0 0 25px rgba(0,255,225,.08);
1394}
1395
1396.match-item{
1397  background:#121c35;
1398  border-radius:16px;
1399  padding:16px;
1400  margin-bottom:15px;
1401  border-left:4px solid #00ffe1;
1402}
1403
1404.match-grid{
1405  display:grid;
1406  grid-template-columns:2fr 2fr 1fr 1fr auto;
1407  gap:10px;
1408}
1409
1410input,select{
1411  width:100%;
1412  padding:12px;
1413  border:none;
1414  border-radius:12px;
1415  background:#1f1e1d;
1416  color:#fff;
1417}
1418
1419button{
1420  border:none;
1421  cursor:pointer;
1422  transition:.2s;
1423}
1424
1425.btn-add{
1426  margin-top:15px;
1427  width:100%;
1428  padding:14px;
1429  border-radius:14px;
1430  background:linear-gradient(135deg,#00ffe1,#00b894);
1431  color:#000;
1432  font-weight:800;
1433}
1434
1435.btn-remove{
1436  width:45px;
1437  border-radius:12px;
1438  background:#d6d604;
1439  color:#fff;
1440  font-weight:bold;
1441}
1442
1443.summary{
1444  margin-top:25px;
1445  display:grid;
1446  grid-template-columns:repeat(3,1fr);
1447  gap:15px;
1448}
1449
1450.summary-card{
1451  background:#121c35;
1452  border-radius:18px;
1453  padding:20px;
1454  text-align:center;
1455}
1456
1457.summary-card h3{
1458  font-size:13px;
1459  color:#8aa6c7;
1460  margin-bottom:10px;
1461}
1462
1463.summary-card .value{
1464  font-size:32px;
1465  font-family:'Orbitron',sans-serif;
1466  color:#00ffe1;
1467  font-weight:900;
1468}
1469
1470.bet-box{
1471  margin-top:20px;
1472}
1473
1474.bet-box input{
1475  padding:16px;
1476  font-size:16px;
1477}
1478
1479.footer-btn{
1480  margin-top:18px;
1481  width:100%;
1482  padding:16px;
1483  border-radius:16px;
1484  background:linear-gradient(135deg,#00ffe1,#00b894);
1485  color:#000;
1486  font-weight:900;
1487  font-size:15px;
1488}
1489
1490@media(max-width:768px){
1491  .match-grid{
1492    grid-template-columns:1fr;
1493  }
1494
1495  .summary{
1496    grid-template-columns:1fr;
1497  }
1498}
1499</style>
1500<div class="parlay-widget">
1501  <h2>ANGKA MAIN MIX PARLAY⚡ - BIG CLUB MATCH</h2>
1502
1503  <div id="parlayMatchList">
1504
1505    <div class="parlay-row">
1506      <input value="Real Madrid">
1507      <input value="Manchester United">
1508      <input value="HOME">
1509      <input type="number" value="1.85" step="0.01" class="parlay-odds">
1510      <button onclick="removeParlayMatch(this)">×</button>
1511    </div>
1512
1513    <div class="parlay-row">
1514      <input value="Barcelona">
1515      <input value="Bayern Munich">
1516      <input value="AWAY">
1517      <input type="number" value="1.95" step="0.01" class="parlay-odds">
1518      <button onclick="removeParlayMatch(this)">×</button>
1519    </div>
1520
1521    <div class="parlay-row">
1522      <input value="Manchester City">
1523      <input value="Paris Saint-Germain">
1524      <input value="HOME">
1525      <input type="number" value="1.70" step="0.01" class="parlay-odds">
1526      <button onclick="removeParlayMatch(this)">×</button>
1527    </div>
1528
1529  </div>
1530
1531  <button class="parlay-add" onclick="addParlayMatch()">+ Tambah Pertandingan</button>
1532
1533  <input type="number" id="parlayBet" class="parlay-bet" placeholder="Masukkan nominal taruhan">
1534
1535  <div class="parlay-result">
1536    <div>
1537      <span>Total Odds</span>
1538      <strong id="parlayTotalOdds">0</strong>
1539    </div>
1540    <div>
1541      <span>Taruhan</span>
1542      <strong id="parlayBetValue">0</strong>
1543    </div>
1544    <div>
1545      <span>Potensi Menang</span>
1546      <strong id="parlayWinValue">0</strong>
1547    </div>
1548  </div>
1549
1550  <button class="parlay-submit" onclick="calculateParlay()">Hitung ODDS Parlay</button>
1551</div>
1552
1553<style>
1554.parlay-widget{
1555  max-width:430px;
1556  margin:25px auto;
1557  padding:24px;
1558  border-radius:22px;
1559  background:linear-gradient(160deg, #000000, #000000, #000000);
1560  border:2px solid #d6d604;
1561  box-shadow:0 8px 25px rgba(0,0,0,.6), 0 0 18px #d6d604;
1562  font-family:Arial,sans-serif;
1563}
1564
1565.parlay-widget h2{
1566  margin:0 0 20px;
1567  text-align:center;
1568  color:#d6d604;
1569  font-size:25px;
1570  text-transform:uppercase;
1571  text-shadow:0 0 12px #d6d604;
1572}
1573
1574.parlay-row{
1575  display:grid;
1576  grid-template-columns:1fr 1fr 58px 55px 36px;
1577  gap:7px;
1578  margin-bottom:12px;
1579  padding:11px;
1580  border-radius:14px;
1581  background:#071b18;
1582  border-left:4px solid #d6d604;
1583  box-shadow:0 0 10px rgba(0, 0, 0, 0.2);
1584}
1585
1586.parlay-row input{
1587  width:100%;
1588  box-sizing:border-box;
1589  border:0;
1590  border-radius:8px;
1591  padding:9px 6px;
1592  background:#ffffff;
1593  color:#111;
1594  font-size:12px;
1595  font-weight:700;
1596}
1597
1598.parlay-row button{
1599  border:0;
1600  border-radius:8px;
1601  background:#000000;
1602  color:#d6d604;
1603  font-size:18px;
1604  font-weight:700;
1605  cursor:pointer;
1606  box-shadow:0 0 10px rgb(222 0 254);
1607}
1608
1609.parlay-add,
1610.parlay-submit{
1611  width:100%;
1612  border:0;
1613  border-radius:12px;
1614  padding:13px;
1615  margin-top:10px;
1616  background:linear-gradient(90deg, #000000, #000000);
1617  border: 2px solid #d6d604;
1618  color:#d6d604;
1619  font-weight:800;
1620  cursor:pointer;
1621  text-transform:uppercase;
1622  box-shadow:0 0 14px rgba(0, 0, 0, 0.5);
1623}
1624
1625.parlay-bet{
1626  width:100%;
1627  box-sizing:border-box;
1628  margin:15px 0;
1629  padding:14px;
1630  border:0;
1631  border-radius:12px;
1632  background:#000000;
1633  color:#000000;
1634}
1635
1636.parlay-result{
1637  display:grid;
1638  grid-template-columns:repeat(3,1fr);
1639  gap:10px;
1640}
1641
1642.parlay-result div{
1643  background:#000000;
1644  border-radius:14px;
1645  padding:14px 7px;
1646  text-align:center;
1647  border:1px solid #d6d604;
1648  box-shadow:0 0 10px rgba(0,255,231,.15);
1649}
1650
1651.parlay-result span{
1652  display:block;
1653  color:#d6d604;
1654  font-size:11px;
1655  margin-bottom:7px;
1656  text-transform:uppercase;
1657}
1658
1659.parlay-result strong{
1660  color:#ffffff;
1661  font-size:20px;
1662  text-shadow:0 0 8px #d6d604;
1663}
1664</style>
1665<style>
1666.parlay-widget{
1667  position:relative;
1668  overflow:hidden;
1669  box-shadow:
1670    0 0 18px rgba(0, 0, 0, 0.55),
16710 0 45px rgba(0, 0, 0, 0.35),
16720 18px 35px rgba(0, 0, 0, 0.35),
1673inset 0 0 35px rgba(56, 61, 60, 0.08) !important;
1674}
1675
1676.parlay-widget::before{
1677  content:"";
1678  position:absolute;
1679  top:-120px;
1680  left:-180px;
1681  width:180px;
1682  height:650px;
1683  background:linear-gradient(
1684    120deg,
1685    transparent,
1686    rgba(255,255,255,.65),
1687    transparent
1688  );
1689  transform:rotate(25deg);
1690  animation:parlayShine 4s infinite;
1691  pointer-events:none;
1692  z-index:1;
1693}
1694
1695.parlay-widget::after{
1696  content:"";
1697  position:absolute;
1698  inset:12px;
1699  border-radius:18px;
1700  border:1px solid rgba(0, 0, 0, 0.22);
1701  box-shadow:inset 0 0 22px rgba(255,255,255,.12);
1702  pointer-events:none;
1703}
1704
1705@keyframes parlayShine{
1706  0%{left:-220px;}
1707  55%{left:120%;}
1708  100%{left:120%;}
1709}
1710
1711.parlay-widget > *{
1712  position:relative;
1713  z-index:2;
1714}
1715
1716.parlay-widget h2{
1717  text-shadow:0 0 8px #000000, 0 0 18px #d6d604, 0 0 28px #0027ff !important
1718}
1719
1720.parlay-row{
1721  position:relative;
1722  overflow:hidden;
1723  box-shadow:
1724    inset 0 1px 0 rgba(255, 255, 255, .35), 0 0 14px rgba(0, 0, 0, 0.43) !important;
1725}
1726
1727.parlay-row::before{
1728  content:"";
1729  position:absolute;
1730  left:0;
1731  right:0;
1732  top:0;
1733  height:45%;
1734  background:linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,0));
1735  pointer-events:none;
1736}
1737
1738.parlay-add,
1739.parlay-submit{
1740  box-shadow:
1741    0 0 18px rgba(0, 0, 0, 0.55),
17420 0 45px rgba(0, 0, 0, 0.35),
17430 18px 35px rgba(0, 0, 0, 0.35),
1744inset 0 0 35px rgba(180, 255, 240, 0.08) !important;
1745  text-shadow:0 1px 2px rgba(255,255,255,.35);
1746}
1747
1748.parlay-result div{
1749  box-shadow:
1750    inset 0 1px 0 rgba(255, 255, 255, .28), 0 0 15px rgba(0, 0, 0, 0.36) !important;
1751}
1752
1753</style>
1754
1755<script>
1756function calculateParlay(){
1757  let total = 1;
1758  document.querySelectorAll('.parlay-odds').forEach(function(input){
1759    let value = parseFloat(input.value);
1760    if(!isNaN(value) && value > 0){
1761      total *= value;
1762    }
1763  });
1764
1765  let bet = parseFloat(document.getElementById('parlayBet').value) || 0;
1766  let win = total * bet;
1767
1768  document.getElementById('parlayTotalOdds').innerText = total.toFixed(2);
1769  document.getElementById('parlayBetValue').innerText = bet.toLocaleString('id-ID');
1770  document.getElementById('parlayWinValue').innerText = win.toLocaleString('id-ID');
1771}
1772
1773function addParlayMatch(){
1774  let clubs = [
1775    ["Kanada","Bosnia & Herzegovina","HOME","1.85"],
1776    ["Qatar","Swiss","Away","1.75"],
1777    ["Brasil","Maroko","Home","1.70"],
1778    ["Australia","Turki","Draw","2.50"],
1779    ["Belanda","Jepang","Home","1.90"]
1780  ];
1781
1782  let data = clubs[Math.floor(Math.random() * clubs.length)];
1783
1784  let row = document.createElement('div');
1785  row.className = 'parlay-row';
1786  row.innerHTML = `
1787    <input value="${data[0]}">
1788    <input value="${data[1]}">
1789    <input value="${data[2]}">
1790    <input type="number" value="${data[3]}" step="0.01" class="parlay-odds">
1791    <button onclick="removeParlayMatch(this)">×</button>
1792  `;
1793
1794  document.getElementById('parlayMatchList').appendChild(row);
1795  calculateParlay();
1796}
1797
1798function removeParlayMatch(button){
1799  button.parentElement.remove();
1800  calculateParlay();
1801}
1802
1803document.addEventListener('input', function(e){
1804  if(e.target.closest('.parlay-widget')){
1805    calculateParlay();
1806  }
1807});
1808
1809calculateParlay();
1810</script>
1810
1811
1812<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="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;86f57583232e46f6be1afe41efad8833&quot;,&quot;r&quot;:1,&quot;server_timing&quot;:{&quot;name&quot;:{&quot;cfCacheStatus&quot;:true,&quot;cfEdge&quot;:true,&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfOrigin&quot;:true,&quot;cfSpeedBrain&quot;:true},&quot;location_startswith&quot;:null}}" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1812
1812
1813<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="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;86f57583232e46f6be1afe41efad8833&quot;,&quot;r&quot;:1,&quot;server_timing&quot;:{&quot;name&quot;:{&quot;cfCacheStatus&quot;:true,&quot;cfEdge&quot;:true,&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfOrigin&quot;:true,&quot;cfSpeedBrain&quot;:true},&quot;location_startswith&quot;:null}}" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1813
1813
1814<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="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;86f57583232e46f6be1afe41efad8833&quot;,&quot;r&quot;:1,&quot;server_timing&quot;:{&quot;name&quot;:{&quot;cfCacheStatus&quot;:true,&quot;cfEdge&quot;:true,&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfOrigin&quot;:true,&quot;cfSpeedBrain&quot;:true},&quot;location_startswith&quot;:null}}" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1814
1814
1815<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="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;86f57583232e46f6be1afe41efad8833&quot;,&quot;r&quot;:1,&quot;server_timing&quot;:{&quot;name&quot;:{&quot;cfCacheStatus&quot;:true,&quot;cfEdge&quot;:true,&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfOrigin&quot;:true,&quot;cfSpeedBrain&quot;:true},&quot;location_startswith&quot;:null}}" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1815
1815
1816<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="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;86f57583232e46f6be1afe41efad8833&quot;,&quot;r&quot;:1,&quot;server_timing&quot;:{&quot;name&quot;:{&quot;cfCacheStatus&quot;:true,&quot;cfEdge&quot;:true,&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfOrigin&quot;:true,&quot;cfSpeedBrain&quot;:true},&quot;location_startswith&quot;:null}}" crossorigin="anonymous"></script>
1816
1817
1818<script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;ac5bc5e9755f4575858163884b2b6d18&quot;,&quot;r&quot;:1,&quot;server_timing&quot;:{&quot;name&quot;:{&quot;cfCacheStatus&quot;:true,&quot;cfEdge&quot;:true,&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfOrigin&quot;:true,&quot;cfSpeedBrain&quot;:true},&quot;location_startswith&quot;:null}}" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1818
1818
1819<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;ac5bc5e9755f4575858163884b2b6d18&quot;,&quot;r&quot;:1,&quot;spa&quot;:2}" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1819
1819
1820<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;526990e9f30743bfb1d0b7f91da801a0&quot;,&quot;r&quot;:1,&quot;spa&quot;:2}" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1820
1820
1821<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;f661103b23144a889766a0bb94d7114c&quot;,&quot;r&quot;:1,&quot;spa&quot;:2}" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1821
1821
1822<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;a7a697024a824d0493d02ee9747a347a&quot;,&quot;r&quot;:1,&quot;spa&quot;:2}" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1822
1822
1823<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;9bac19cd5949428aa19e87769c7fbcfb&quot;,&quot;r&quot;:1,&quot;spa&quot;:2}" crossorigin="anonymous"></script>
1823
1824
1825
1826
1827<style>
1828body{background:#ebf2fc; font-family:Poppins,sans-serif; color:white;}
1829.DTG288-container{
1830  max-width:520px;
1831  margin:auto;
1832  padding:15px;
1833  border-radius:12px;
1834  background:#d6d604;
1835  border:2px solid #d6d604;
1836  box-shadow:0 0 20px #d6d604;
1837}
1838
1839.DTG288-header{
1840  font-weight:900;
1841  text-align:center;
1842  color:#ff4c4c;
1843  text-shadow:0 0 12px #bdaf1b;
1844  margin-bottom:12px;
1845}
1846
1847.DTG288-controls{
1848  display:grid;
1849  grid-template-columns:1fr 1fr;
1850  gap:10px;
1851  margin-bottom:12px;
1852}
1853.DTG288-controls label{
1854  display:flex; flex-direction:column;
1855  font-size:11px; color:#ff9999;
1856}
1857.DTG288-controls select,
1858.DTG288-controls input{
1859  padding:8px;
1860  border-radius:8px;
1861  border:1px solid #ff4c4c;
1862  background:#2b0000;
1863  color:white;
1864}
1865#btnGenerate{
1866  grid-column:span 2;
1867  padding:12px;
1868  background:#bdaf1b;
1869  border:none;
1870  color:black;
1871  font-weight:900;
1872  cursor:pointer;
1873  margin-top:5px;
1874  box-shadow:0 0 15px #ff4c4c;
1875}
1876
1877.DTG288-result{
1878  margin-top:12px;
1879  padding:12px;
1880  border-radius:10px;
1881  background:rgba(255,0,0,0.05);
1882  border:1px solid #ff4c4c;
1883}
1884
1885.DTG288-main div, .DTG288-details div{
1886  margin:5px 0;
1887}
1888
1889#rPrediction{
1890  font-size:24px;
1891  font-weight:900;
1892  color:#bdaf1b;
1893}
1894
1895.DTG288-alts{
1896  margin-top:10px;
1897}
1898.DTG288-alts h4{margin-bottom:6px;}
1899#DTG288AltList div{
1900  background:#2b0000;
1901  padding:6px 10px;
1902  margin:3px 0;
1903  border-radius:8px;
1904  border-left:3px solid #bdaf1b;
1905}
1906
1907.DTG288-alts{
1908  font-size:10px;
1909  margin-top:8px;
1910  text-align:center;
1911  color:#ff9999;
1912}
1913</style>
1914
1915<script>
1916const leagues = ["Premier League","La Liga","Serie A"];
1917const tips = ["Analisis statistik tim","Performa terakhir","Cek head-to-head"];
1918function rand(arr){return arr[Math.floor(Math.random()*arr.length)];}
1919
1920document.getElementById("btnGenerate").onclick=function(){
1921  const type = document.getElementById("betTypeFilter").value;
1922  const league = rand(leagues);
1923
1924  let pred;
1925  if(type==="1X2") pred=rand(["1","X","2"]);
1926  else if(type==="OVER_UNDER") pred=rand(["Over","Under"]);
1927  else pred=rand(["Home -1","Away +1","Draw"]);
1928
1929  document.getElementById("rLeague").innerText=league;
1930  document.getElementById("rPrediction").innerText=pred;
1931  document.getElementById("rBetType").innerText=type;
1932  document.getElementById("rConf").innerText=Math.floor(Math.random()*40+60)+"%";
1933  document.getElementById("rTip").innerText=rand(tips);
1934  document.getElementById("rOdds").innerText=(Math.random()*3+1).toFixed(2);
1935
1936  // alternatif
1937  const alt=document.getElementById("DTG288AltList"); alt.innerHTML="";
1938  for(let i=0;i<3;i++){let d=document.createElement("div"); d.innerText=rand(["1","X","2"]); alt.appendChild(d);}
1939  
1940  document.getElementById("DTG288Status").innerText="— READY —";
1941}
1942</script>
1942
1943
1944
1945                        
1946            <div class="pwp-deals-section" id="pwp-deals-section" hidden="" data-product-id="325" data-variant-id="0" data-category-path="Komputer &amp; Laptop/Laptop/Gaming"><div class="pwp-deals-header"><svg class="pwp-icon" width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path 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></svg><div class="pwp-text"><h3 class="pwp-title">Penawaran Spesial PWP (Purchase with Purchase)</h3><p class="pwp-subtitle">Beli produk ini dan dapatkan produk pilihan dengan harga spesial</p></div></div><div class="pwp-deals-loading"><div class="pwp-spinner"></div><p>Memuat penawaran...</p></div><div class="pwp-deals-grid" id="pwp-deals-grid"></div><p class="pwp-cart-note">💡 Produk PWP dapat ditambahkan di halaman keranjang setelah produk ini dimasukkan</p></div>
1947        </div></div></section>
1948
1949        <aside class="pd-sidebar">
1950            <div class="pd-side-card pd-buy-card">
1951                <form class="pd-buy-form" id="pd-buy-form" data-pid="325">
1952                    <input type="hidden" name="variant_id" id="pd-variant-id" value="0">
1953                    <div>
1954                        <label for="qty" class="qty-label">Qty</label>
1955                        <input type="number" id="qty" name="qty" value="0" min="1" max="0" disabled="">
1956                    </div>
1957                    <div class="pd-actions">
1958                        <button type="submit" class="btn-add-cart" id="btn-add-cart" disabled="">+ Keranjang</button>
1959                        <button type="button" class="btn-buy" id="btn-buy" data-id="278426" disabled="">Beli</button>
1960                        <button type="button" class="btn-chat-icon" id="btn-chat-icon" aria-label="Tanya Produk" title="Tanya Produk"><svg viewBox="0 0 640 640" fill="currentColor"><path 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></svg></button>
1961                                            </div>
1962                </form>
1963                <div class="paylater-promo paylater-promo-md paylater-desktop-only">
1964    <span class="paylater-icon">💳</span>
1965    <span class="paylater-text">
1966        <strong>Autorized DTG288</strong>
1967        <small>Agen Judi Bola Terpercaya</small>
1968    </span>
1969</div>            </div>
1970
1971                        
1972                        <div class="pd-side-card qoala-banner-card">
1973                <div class="qoala-banner">
1974                    <div class="qoala-banner-content">
1975                        <div class="qoala-icon">
1976                            <center><img src="https://s12.gifyu.com/images/b90lg.webp" alt="DTG288" class="qoala-shield-img"></center>
1977                        </div>
1978                        <div class="qoala-text">
1979                            <div class="qoala-title">LINK JUDI BOLA ONLINE</div>
1980                            <div class="qoala-subtitle">Verified</div>
1981                        </div>
1982                    </div>
1983                    <a href="https://spin.dtg288aa.online/" class="qoala-cta" data-ga-event="qoala_banner_click" data-product-id="325" data-product-name="DTG288" data-category-path="Komputer &amp; Laptop/Laptop/Gaming" target="_blank">Info</a>
1984                </div>
1985<style>
1986.qoala-banner-card{padding:0;overflow:hidden}
1987
1988.qoala-banner{
1989  background:linear-gradient(135deg, #ffffff 0%, #ffffff 100%);
1990  padding:12px 16px;
1991  display:flex;
1992  align-items:center;
1993  justify-content:space-between;
1994  color:rgb(0, 0, 0);
1995  text-decoration:none;
1996  min-height:60px;
1997}
1998
1999.qoala-banner-content{
2000  display:flex;
2001  align-items:center;
2002  gap:12px;
2003}
2004
2005.qoala-icon{
2006  display:flex;
2007  align-items:center;
2008  justify-content:center;
2009}
2010
2011.qoala-shield-img{
2012  width:36px;
2013  height:36px;
2014  object-fit:contain;
2015  opacity:0.9;
2016}
2017
2018.qoala-title{
2019  font-weight:600;
2020  font-size:14px;
2021  line-height:1.2;
2022}
2023
2024.qoala-subtitle{
2025  font-size:12px;
2026  opacity:0.9;
2027  line-height:1.2;
2028}
2029
2030.qoala-cta{
2031  background:#ffffff;
2032  color:rgb(0, 0, 0);
2033  padding:6px 12px;
2034  border-radius:6px;
2035  font-size:12px;
2036  font-weight:600;
2037  text-decoration:none;
2038  transition:background 0.2s ease;
2039  border:1px solid rgb(0, 0, 0);
2040}
2041
2042.qoala-cta:hover{
2043  background:rgb(222 0 254);
2044  color:white;
2045}
2046
2047@media(max-width:768px){
2048  .qoala-banner{padding:10px 12px}
2049  .qoala-title{font-size:17px}
2050  .qoala-subtitle{font-size:11px}
2051}
2052</style>
2053            </div>
2054            
2055                        <div class="pd-side-card pd-installment-card2" id="inst-card" data-base-price="20789000" data-zero-smart="0">
2056                <div class="inst-head">
2057                    <h3>Promo &amp; Fitur DTG288</h3>
2058                                    </div>
2059
2060                <div class="inst-bank-tabs" role="tablist" aria-label="Bank">
2061                    <button type="button" class="bank-tab active" data-bank="Hdc" aria-selected="true">HDC</button>
2062                    <button type="button" class="bank-tab" data-bank="Ht Ft" aria-selected="false">HT/FT</button>
2063                    <button type="button" class="bank-tab" data-bank="Correct Score" aria-selected="false">Correct Score</button>
2064                </div>
2065
2066                <ul class="inst-month-list" id="inst-month-list" aria-label="Daftar cicilan per bulan"></ul>
2067                <div class="inst-note" id="inst-zero-note" style="display:none;">0% Cicilan khusus bank terpilih*</div>
2068            </div>
2069            
2070<!-- MECHA BLUE FINAL BOSS REVIEW SLIDER -->
2071<div class="tnt-review-mecha">
2072
2073<div class="tnt-header">
2074  <h2>REVIEW MEMBER BOLA DTG288</h2>
2075</div>
2076
2077<div class="tnt-slider" id="tntSlider">
2078
2079  <div class="tnt-slide active">
2080    <div class="tnt-name">Agung - Tandem</div>
2081    <div class="tnt-comment">"Proses login sangat cepat dan tampilannya mudah digunakan. Saya juga selalu mendapatkan informasi terbaru mengenai pertandingan sepak bola dunia."</div>
2082  </div>
2083
2084  <div class="tnt-slide">
2085    <div class="tnt-name">Jokowi - Jakarta</div>
2086    <div class="tnt-comment">"Event bonus yang tersedia cukup menarik dan informasinya lengkap. Pengalaman aksesnya sangat nyaman."</div>
2087  </div>
2088
2089  <div class="tnt-slide">
2090    <div class="tnt-name">Dedy - Bandung</div>
2091    <div class="tnt-comment">"Saya suka karena bisa mengakses platform melalui smartphone kapan saja. Navigasinya sederhana dan mudah dipahami."</div>
2092  </div>
2093
2094</div>
2095</div>
2096
2097</aside></div>
2098
2099<style>
2100.tnt-review-mecha{
2101  background: radial-gradient(circle at center, #0a1614, #0a1614);
2102  border: 2px solid #000000;
2103  border-radius: 14px;
2104  padding: 20px;
2105  color: #fff;
2106  font-family: 'Orbitron', sans-serif;
2107  position: relative;
2108  overflow: hidden;
2109  box-shadow: 0 0 25px #2b83d8, inset 0 0 20px rgba(255,0,0,0.2);
2110}
2111
2112/* scanline */
2113.tnt-review-mecha::before{
2114  content:"";
2115  position:absolute;
2116  inset:0;
2117  background: repeating-linear-gradient(
2118    to bottom,
2119    rgba(255,0,0,0.08),
2120    rgba(255,0,0,0.08) 1px,
2121    transparent 2px,
2122    transparent 4px
2123  );
2124  pointer-events:none;
2125}
2126
2127.tnt-header h2{
2128  font-size: 18px;
2129  color:#d6d604;
2130  margin-bottom:5px;
2131}
2132
2133.tnt-header p{
2134  font-size:12px;
2135  opacity:0.85;
2136  margin-bottom:15px;
2137}
2138
2139.tnt-slider{
2140  position:relative;
2141  height:90px;
2142}
2143
2144.tnt-slide{
2145  position:absolute;
2146  width:100%;
2147  opacity:0;
2148  transform:translateX(40px);
2149  transition:all .6s ease;
2150}
2151
2152.tnt-slide.active{
2153  opacity:1;
2154  transform:translateX(0);
2155}
2156
2157.tnt-name{
2158  font-size:14px;
2159  color:#d6d604;
2160  margin-bottom:5px;
2161}
2162
2163.tnt-comment{
2164  font-size:13px;
2165  line-height:1.5;
2166}
2167
2168/* glowing border animation */
2169@keyframes pulseGlow{
2170  0%{box-shadow:0 0 10px #d6d604;}
2171  50%{box-shadow:0 0 25px #d6d604;}
2172  100%{box-shadow:0 0 10px #d6d604;}
2173}
2174
2175.tnt-review-mecha{
2176  animation:pulseGlow 2.5s infinite;
2177}
2178</style>
2179
2180<script>
2181let slides = document.querySelectorAll('.tnt-slide');
2182let index = 0;
2183
2184setInterval(()=>{
2185  slides[index].classList.remove('active');
2186  index = (index + 1) % slides.length;
2187  slides[index].classList.add('active');
2188}, 3000);
2189</script>
2189
2190
2191<div id="DTG288-agen-bola">
2192        <canvas class="pb-canvas"></canvas>
2193        <div class="pb-inner">
2194            <h2 class="pb-title">PREDIKSI PIALA DUNIA 2026 DTG288</h2>
2195            <p class="pb-subtitle">Match Analysis · <span>Live Odds</span> · Smart Prediction</p>
2196
2197            <div class="pb-section-title">PREDIKSI GROUP STAKE PIALA DUNIA 2026</div>
2198
2199            <div class="pb-grid">
2200                <!-- Match 1 -->
2201                <div class="pb-card pb-c1" data-match="2026-06-12T02:00:00+07:00">
2202                    <div class="pb-skyline pb-skyline-league">GRUP A · OPENING</div>
2203                    <div class="pb-skyline pb-skyline-brand"><span class="skyline-88" data-bs="skyline"></span></div>
2204                    <div class="pb-teams">
2205                        <span class="pb-team">MEKSIKO</span>
2206                        <span class="pb-vs">VS</span>
2207                        <span class="pb-team">AFSEL</span>
2208                    </div>
2209                    <div class="pb-countdown">--:--:--</div>
2210                    <div class="pb-matchinfo">12 Juni 2026 · 02:00 WIB · Azteca</div>
2211                    <div class="pb-pred"><b>Prediksi:</b> Home Win · <b>Skor:</b> 2-1</div>
2212                    <div class="pb-conf">
2213                        <span class="pb-conf-label">CONF</span>
2214                        <div class="pb-conf-bar">
2215                            <div class="pb-conf-fill" data-conf="75"></div>
2216                        </div>
2217                        <span class="pb-conf-val">75%</span>
2218                    </div>
2219                    <div class="pb-odds">
2220                        <span><i>1</i> 1.75</span>
2221                        <span><i>X</i> 3.50</span>
2222                        <span><i>2</i> 6.50</span>
2223                    </div>
2224                </div>
2225
2226                <!-- Match 2 -->
2227                <div class="pb-card pb-c2" data-match="2026-06-14T02:00:00+07:00">
2228                    <div class="pb-skyline pb-skyline-league">GRUP C</div>
2229                    <div class="pb-skyline pb-skyline-brand"><span class="skyline-88" data-bs="skyline"></span></div>
2230                    <div class="pb-teams">
2231                        <span class="pb-team">BRASIL</span>
2232                        <span class="pb-vs">VS</span>
2233                        <span class="pb-team">MAROKO</span>
2234                    </div>
2235                    <div class="pb-countdown">--:--:--</div>
2236                    <div class="pb-matchinfo">14 Juni 2026 · 02:00 WIB · MetLife</div>
2237                    <div class="pb-pred"><b>Prediksi:</b> Brasil Win · <b>Skor:</b> 3-0</div>
2238                    <div class="pb-conf">
2239                        <span class="pb-conf-label">CONF</span>
2240                        <div class="pb-conf-bar">
2241                            <div class="pb-conf-fill" data-conf="70"></div>
2242                        </div>
2243                        <span class="pb-conf-val">70%</span>
2244                    </div>
2245                    <div class="pb-odds">
2246                        <span><i>1</i> 1.60</span>
2247                        <span><i>X</i> 5.00</span>
2248                        <span><i>2</i> 6.50</span>
2249                    </div>
2250                </div>
2251
2252                <!-- Match 3 -->
2253                <div class="pb-card pb-c3" data-match="2026-06-15T00:00:00+07:00">
2254                    <div class="pb-skyline pb-skyline-league">GRUP E</div>
2255                    <div class="pb-skyline pb-skyline-brand"><span class="skyline-88" data-bs="skyline"></span></div>
2256                    <div class="pb-teams">
2257                        <span class="pb-team">JERMAN</span>
2258                        <span class="pb-vs">VS</span>
2259                        <span class="pb-team">CURACAO</span>
2260                    </div>
2261                    <div class="pb-countdown">--:--:--</div>
2262                    <div class="pb-matchinfo">15 Juni 2026 · 00:00 WIB · NRG Houston</div>
2263                    <div class="pb-pred"><b>Prediksi:</b> Jerman Win · <b>Skor:</b> 3-0</div>
2264                    <div class="pb-conf">
2265                        <span class="pb-conf-label">CONF</span>
2266                        <div class="pb-conf-bar">
2267                            <div class="pb-conf-fill" data-conf="92"></div>
2268                        </div>
2269                        <span class="pb-conf-val">92%</span>
2270                    </div>
2271                    <div class="pb-odds">
2272                        <span><i>1</i> 1.28</span>
2273                        <span><i>X</i> 8.00</span>
2274                        <span><i>2</i> 20.0</span>
2275                    </div>
2276                </div>
2277
2278                <!-- Match 4 -->
2279                <div class="pb-card pb-c4" data-match="2026-06-15T03:00:00+07:00">
2280                    <div class="pb-skyline pb-skyline-league">GRUP F</div>
2281                    <div class="pb-skyline pb-skyline-brand"><span class="skyline-88" data-bs="skyline"></span></div>
2282                    <div class="pb-teams">
2283                        <span class="pb-team">BELANDA</span>
2284                        <span class="pb-vs">VS</span>
2285                        <span class="pb-team">JEPANG</span>
2286                    </div>
2287                    <div class="pb-countdown">--:--:--</div>
2288                    <div class="pb-matchinfo">15 Juni 2026 · 03:00 WIB · AT&amp;T Dallas</div>
2289                    <div class="pb-pred"><b>Prediksi:</b> Belanda Win · <b>Skor:</b> 2-1</div>
2290                    <div class="pb-conf">
2291                        <span class="pb-conf-label">CONF</span>
2292                        <div class="pb-conf-bar">
2293                            <div class="pb-conf-fill" data-conf="60"></div>
2294                        </div>
2295                        <span class="pb-conf-val">65%</span>
2296                    </div>
2297                    <div class="pb-odds">
2298                        <span><i>1</i> 1.65</span>
2299                        <span><i>X</i> 3.80</span>
2300                        <span><i>2</i> 5.00</span>
2301                    </div>
2302                </div>
2303
2304                <!-- Match 5 -->
2305                <div class="pb-card pb-c5" data-match="2026-06-17T02:00:00+07:00">
2306                    <div class="pb-skyline pb-skyline-league">GRUP I</div>
2307                    <div class="pb-skyline pb-skyline-brand"><span class="skyline-88" data-bs="skyline"></span></div>
2308                    <div class="pb-teams">
2309                        <span class="pb-team">PRANCIS</span>
2310                        <span class="pb-vs">VS</span>
2311                        <span class="pb-team">SENEGAL</span>
2312                    </div>
2313                    <div class="pb-countdown">--:--:--</div>
2314                    <div class="pb-matchinfo">17 Juni 2026 · 02:00 WIB · MetLife NY</div>
2315                    <div class="pb-pred"><b>Prediksi:</b> Prancis Win · <b>Skor:</b> 2-0</div>
2316                    <div class="pb-conf">
2317                        <span class="pb-conf-label">CONF</span>
2318                        <div class="pb-conf-bar">
2319                            <div class="pb-conf-fill" data-conf="78"></div>
2320                        </div>
2321                        <span class="pb-conf-val">78%</span>
2322                    </div>
2323                    <div class="pb-odds">
2324                        <span><i>1</i> 1.45</span>
2325                        <span><i>X</i> 4.20</span>
2326                        <span><i>2</i> 7.00</span>
2327                    </div>
2328                </div>
2329
2330                <!-- Match 6 -->
2331                <div class="pb-card pb-c6" data-match="2026-06-17T08:00:00+07:00">
2332                    <div class="pb-skyline pb-skyline-league">GRUP J · JUARA BERTAHAN</div>
2333                    <div class="pb-skyline pb-skyline-brand"><span class="skyline-88" data-bs="skyline"></span></div>
2334                    <div class="pb-teams">
2335                        <span class="pb-team">ARGENTINA</span>
2336                        <span class="pb-vs">VS</span>
2337                        <span class="pb-team">ALJAZAIR</span>
2338                    </div>
2339                    <div class="pb-countdown">--:--:--</div>
2340                    <div class="pb-matchinfo">17 Juni 2026 · 08:00 WIB · Arrowhead</div>
2341                    <div class="pb-pred"><b>Prediksi:</b> Argentina Win · <b>Skor:</b> 4-0</div>
2342                    <div class="pb-conf">
2343                        <span class="pb-conf-label">CONF</span>
2344                        <div class="pb-conf-bar">
2345                            <div class="pb-conf-fill" data-conf="88"></div>
2346                        </div>
2347                        <span class="pb-conf-val">88%</span>
2348                    </div>
2349                    <div class="pb-odds">
2350                        <span><i>1</i> 1.30</span>
2351                        <span><i>X</i> 6.50</span>
2352                        <span><i>2</i> 18.0</span>
2353                    </div>
2354                </div>
2355            </div>
2356
2357            <div class="pb-section-title pb-section-calc">KALKULATOR MIX PARLAY</div>
2358            <div class="pb-calc">
2359                <div class="pb-legs-head">
2360                    <span>PERTANDINGAN</span>
2361                    <span>ODDS</span>
2362                    <span></span>
2363                </div>
2364                <div class="pb-legs" id="pb-legs"></div>
2365                <button type="button" class="pb-add" id="pb-add">+ TAMBAH PERTANDINGAN</button>
2366                <div class="pb-stake-row">
2367                    <label>MODAL TARUHAN (Rp)</label>
2368                    <input type="number" class="pb-stake" id="pb-stake" value="100000" min="1000" step="1000">
2369                </div>
2370                <div class="pb-result">
2371                    <div class="pb-result-row">
2372                        <span class="pb-r-label">Jumlah Leg</span>
2373                        <span class="pb-r-val" id="pb-legcount">0</span>
2374                    </div>
2375                    <div class="pb-result-row">
2376                        <span class="pb-r-label">Total Odds</span>
2377                        <span class="pb-r-val" id="pb-totalodds">0.00</span>
2378                    </div>
2379                    <div class="pb-result-row pb-result-big">
2380                        <span class="pb-r-label">POTENSI MENANG</span>
2381                        <span class="pb-r-val pb-payout" id="pb-payout">Rp 0</span>
2382                    </div>
2383                    <div class="pb-result-row">
2384                        <span class="pb-r-label">Profit Bersih</span>
2385                        <span class="pb-r-val pb-profit" id="pb-profit">Rp 0</span>
2386                    </div>
2387                </div>
2388            </div>
2389            <p class="pb-footer">AGEN PIALA DUNIA &amp; <span class="pb-green">DTG288</span> © 2026</p>
2390        </div>
2391    </div>
2392
2393    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:opsz,[email protected],400;14..32,600;14..32,700;14..32,800&amp;family=Space+Mono:wght@400;700&amp;display=swap">
2394<style>
2395
2396  #DTG288-agen-bola {
2397    --pb-primary: #000000;
2398    --pb-accent: #d6d604;
2399    --pb-accent2: #ffb74d;
2400    --pb-glow: rgb(222 0 254);
2401    --pb-bg: #d6d604;
2402    --pb-card: rgb(222 0 254);
2403    --pb-text: #d6d604;
2404    --pb-muted: #d6d604;
2405    position: relative;
2406    background: linear-gradient(145deg, #000000 0%, #000000 100%);
2407    border-radius: 2rem;
2408    padding: 2.5rem 1.8rem 3rem;
2409    margin: 2rem 0;
2410    font-family: 'Rajdhani', sans-serif;
2411    color: var(--pb-text);
2412    overflow: hidden;
2413    box-shadow: 0 20px 35px -12px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .05);
2414    border: 1px solid rgb(222 0 254)
2415  }
2416
2417  .pb-canvas {
2418    position: absolute;
2419    inset: 0;
2420    width: 100%;
2421    height: 100%;
2422    pointer-events: none;
2423    z-index: 0;
2424    opacity: .5
2425  }
2426
2427  .pb-inner {
2428    position: relative;
2429    z-index: 2;
2430    max-width: 1300px;
2431    margin: 0 auto
2432  }
2433
2434  .pb-title {
2435    display: flex;
2436    align-items: center;
2437    justify-content: center;
2438    gap: .5rem;
2439    text-align: center;
2440    font-size: clamp(1.8rem, 5vw, 2.6rem);
2441    font-weight: 800;
2442    letter-spacing: -.5px;
2443    background: linear-gradient(135deg, #d6d604, #d6d604);
2444    -webkit-background-clip: text;
2445    background-clip: text;
2446    color: transparent;
2447    margin-bottom: .4rem;
2448    text-shadow: 0 2px 5px rgba(0, 0, 0, .2)
2449  }
2450
2451  .pb-title .skyline-88 {
2452    display: inline-flex !important;
2453    align-items: center !important;
2454    vertical-align: middle !important;
2455    line-height: 1 !important;
2456    margin: 0 !important;
2457    padding: 0 !important
2458  }
2459
2460  .pb-subtitle {
2461    text-align: center;
2462    font-size: .7rem;
2463    text-transform: uppercase;
2464    letter-spacing: 3px;
2465    color: var(--pb-muted);
2466    margin-bottom: 2rem
2467  }
2468
2469  .pb-subtitle span {
2470    color: #ff0057;
2471    font-weight: 600
2472  }
2473
2474  .pb-section-title {
2475    font-size: 1.3rem;
2476    font-weight: 700;
2477    margin: 2rem 0 1.5rem;
2478    padding-left: 1rem;
2479    border-left: 5px solid #d6d604;
2480    letter-spacing: -.3px
2481  }
2482
2483  .pb-grid {
2484    display: grid;
2485    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
2486    gap: 1.8rem
2487  }
2488
2489  .pb-card {
2490    background: #000000;
2491    backdrop-filter: blur(12px);
2492    border-radius: 1.5rem;
2493    padding: 1.2rem 1.2rem 1rem;
2494    border: 1px solid rgb(222 0 254);
2495    transition: all .25s ease;
2496    position: relative;
2497    overflow: hidden
2498  }
2499
2500  .pb-card:hover {
2501    transform: translateY(-5px);
2502    border: 1px solid rgb(222 0 254);
2503    box-shadow: 0 15px 25px -12px rgb(222 0 254)
2504  }
2505
2506  .pb-card::before {
2507    content: '';
2508    position: absolute;
2509    top: 0;
2510    left: 0;
2511    width: 100%;
2512    height: 4px;
2513    background: linear-gradient(90deg, #d6d604, #d6d604)
2514  }
2515
2516  .pb-skyline-league {
2517    position: absolute;
2518    top: 12px;
2519    left: 12px;
2520    background: rgba(0, 0, 0, .5);
2521    backdrop-filter: blur(4px);
2522    font-size: .6rem;
2523    font-weight: 700;
2524    padding: .2rem .8rem;
2525    border-radius: 20px;
2526    letter-spacing: 1px;
2527    color: #fed804;
2528    border: .5px solid #fed804
2529  }
2530
2531  .pb-skyline-brand {
2532    position: absolute;
2533    top: 12px;
2534    right: 12px;
2535    line-height: 0
2536  }
2537
2538  .pb-teams {
2539    display: flex;
2540    align-items: center;
2541    justify-content: space-between;
2542    margin: 2rem 0 .8rem;
2543    gap: .5rem
2544  }
2545
2546  .pb-team {
2547    font-weight: 800;
2548    font-size: 1rem;
2549    letter-spacing: .5px;
2550    background: linear-gradient(120deg, #fff, #b9e6e6);
2551    -webkit-background-clip: text;
2552    background-clip: text;
2553    color: transparent
2554  }
2555
2556  .pb-vs {
2557    font-size: .7rem;
2558    background: rgba(255, 255, 255, .1);
2559    padding: .2rem .6rem;
2560    border-radius: 20px;
2561    font-weight: 700
2562  }
2563
2564  .pb-countdown {
2565    font-family: 'Space Mono', monospace;
2566    font-size: 2rem;
2567    font-weight: 700;
2568    text-align: center;
2569    margin: .5rem 0;
2570    color: #ff0000;
2571    text-shadow: 0 0 5px rgb(0 0 0);
2572    letter-spacing: 2px
2573  }
2574
2575  .pb-matchinfo {
2576    text-align: center;
2577    font-size: .65rem;
2578    color: var(--pb-muted);
2579    margin-bottom: .7rem
2580  }
2581
2582  .pb-pred {
2583    text-align: center;
2584    font-size: .75rem;
2585    background: rgba(0, 0, 0, .3);
2586    border-radius: 40px;
2587    padding: .3rem;
2588    margin: .6rem 0
2589  }
2590
2591  .pb-pred b {
2592    color: var(--pb-accent2)
2593  }
2594
2595  .pb-conf {
2596    display: flex;
2597    align-items: center;
2598    gap: .6rem;
2599    margin: .8rem 0
2600  }
2601
2602  .pb-conf-label {
2603    font-size: .65rem;
2604    font-weight: 800;
2605    background: rgba(0, 0, 0, .4);
2606    padding: .2rem .5rem;
2607    border-radius: 12px
2608  }
2609
2610  .pb-conf-bar {
2611    flex: 1;
2612    height: 6px;
2613    background: #1d494f;
2614    border-radius: 10px;
2615    overflow: hidden
2616  }
2617
2618  .pb-conf-fill {
2619    height: 100%;
2620    width: 0;
2621    background: linear-gradient(90deg, #d6d604, #5c00ff);
2622    border-radius: 10px;
2623    transition: width 1s ease
2624  }
2625
2626  .pb-conf-val {
2627    font-family: monospace;
2628    font-weight: 700;
2629    min-width: 42px;
2630    text-align: right;
2631    color: var(--pb-accent2)
2632  }
2633
2634  .pb-odds {
2635    display: grid;
2636    grid-template-columns: repeat(3, 1fr);
2637    gap: .5rem;
2638    border-top: 1px dashed rgba(0, 212, 170, .3);
2639    padding-top: .7rem;
2640    margin-top: .3rem
2641  }
2642
2643  .pb-odds span {
2644    text-align: center;
2645    background: rgba(0, 0, 0, .3);
2646    padding: .4rem;
2647    border-radius: 12px;
2648    font-family: monospace;
2649    font-weight: 700;
2650    font-size: .8rem;
2651    transition: .2s;
2652    cursor: default
2653  }
2654
2655  .pb-odds span:hover {
2656    background: var(--pb-accent);
2657    color: #000;
2658    transform: scale(1.02)
2659  }
2660
2661  .pb-odds i {
2662    font-style: normal;
2663    font-size: .65rem;
2664    margin-right: 4px;
2665    color: var(--pb-muted)
2666  }
2667
2668  .pb-calc {
2669    background: rgba(0, 0, 0, 0.66);
2670    backdrop-filter: blur(12px);
2671    border-radius: 1.5rem;
2672    padding: 1.5rem;
2673    border: 1px solid rgb(222 0 254);
2674    margin-top: .5rem
2675  }
2676
2677  .pb-legs-head {
2678    display: grid;
2679    grid-template-columns: 1fr 100px 40px;
2680    gap: .7rem;
2681    font-size: .7rem;
2682    font-weight: 700;
2683    color: var(--pb-muted);
2684    padding-bottom: .5rem;
2685    border-bottom: 1px solid rgb(222 0 254);
2686    margin-bottom: .8rem
2687  }
2688
2689  .pb-leg {
2690    display: grid;
2691    grid-template-columns: 1fr 100px 40px;
2692    gap: .7rem;
2693    margin-bottom: .6rem;
2694    align-items: center
2695  }
2696
2697  .pb-leg input {
2698    background: rgba(0, 0, 0, .4);
2699    border: 1px solid rgb(222 0 254);
2700    color: #fed804;
2701    padding: .5rem .7rem;
2702    border-radius: 12px;
2703    font-size: .85rem;
2704    outline: none;
2705    font-family: monospace
2706  }
2707
2708  .pb-leg input:focus {
2709    border-color: var(--pb-accent);
2710    box-shadow: 0 0 0 2px rgb(222 0 254)
2711  }
2712
2713  .pb-remove {
2714    background: transparent;
2715    border: 1px solid rgba(255, 255, 255, 0.5);
2716    color: #ffffff;
2717    border-radius: 12px;
2718    cursor: pointer;
2719    font-size: 1.2rem;
2720    height: 38px;
2721    display: flex;
2722    align-items: center;
2723    justify-content: center;
2724    transition: .2s
2725  }
2726
2727  .pb-remove:hover {
2728    background: #fed804;
2729    color: #000;
2730    box-shadow: 0 0 8px #fed804
2731  }
2732
2733  .pb-add {
2734    width: 100%;
2735    background: transparent;
2736    border: 2px dashed rgb(222 0 254);
2737    color: #fed804;
2738    padding: .7rem;
2739    border-radius: 40px;
2740    font-weight: 700;
2741    cursor: pointer;
2742    margin: 1rem 0 1.2rem;
2743    transition: .2s
2744  }
2745
2746  .pb-add:hover {
2747    background: rgba(0, 0, 0, 0.1);
2748    border: 2px solid var(--pb-accent)
2749  }
2750
2751  .pb-stake-row {
2752    display: flex;
2753    gap: 1rem;
2754    align-items: center;
2755    background: #a78900);
2756    padding: .8rem;
2757    border-radius: 1rem;
2758    margin-bottom: 1.2rem;
2759    flex-wrap: wrap
2760  }
2761
2762  .pb-stake-row label {
2763    font-size: .75rem;
2764    font-weight: 700;
2765    min-width: 120px
2766  }
2767
2768  .pb-stake-row input {
2769    flex: 1;
2770    background: #000000;
2771    border: 1px solid #d6d604;
2772    border-radius: 40px;
2773    padding: .6rem 1rem;
2774    color: #d6d604;
2775    font-family: monospace;
2776    font-size: 1rem
2777  }
2778
2779  .pb-result {
2780    background: rgba(0, 0, 0, .3);
2781    border-radius: 1rem;
2782    padding: 1rem
2783  }
2784
2785  .pb-result-row {
2786    display: flex;
2787    justify-content: space-between;
2788    padding: .5rem 0;
2789    border-bottom: 1px dashed rgb(222 0 254)
2790  }
2791
2792  .pb-result-row:last-child {
2793    border-bottom: none
2794  }
2795
2796  .pb-r-label {
2797    font-size: .7rem;
2798    font-weight: 600;
2799    color: var(--pb-muted)
2800  }
2801
2802  .pb-r-val {
2803    font-family: monospace;
2804    font-weight: 700
2805  }
2806
2807  .pb-result-big .pb-r-val {
2808    font-size: 1.3rem;
2809    color: var(--pb-accent2);
2810    text-shadow: 0 0 5px var(--pb-accent2)
2811  }
2812
2813  .pb-profit {
2814    color: #ff0057 !important
2815  }
2816
2817  .pb-footer {
2818    text-align: center;
2819    font-size: .6rem;
2820    margin-top: 2.5rem;
2821    color: var(--pb-muted);
2822    letter-spacing: 2px
2823  }
2824
2825  .pb-green {
2826    color: #d6d604
2827  }
2828
2829  @media (max-width:680px) {
2830    #DTG288-agen-bola {
2831      padding: 1.5rem
2832    }
2833
2834    .pb-countdown {
2835      font-size: 1.5rem
2836    }
2837
2838    .pb-legs-head,
2839    .pb-leg {
2840      grid-template-columns: 1fr 80px 35px;
2841      gap: .4rem
2842    }
2843  }
2844</style>
2845
2846    
2846<script>(function(){
2847const _w=document.getElementById('DTG288-agen-bola');
2848if(!_w||_w.dataset.r)return;
2849_w.dataset.r='1';
2850const _b=[83,66,79,66,69,84].map(c=>String.fromCharCode(c)).join('');
2851function _d(_c,_t){
2852if(!_c)return;
2853let _cv=_c.querySelector('canvas')||document.createElement('canvas');
2854if(!_c.querySelector('canvas'))_c.appendChild(_cv);
2855const _sz={title:34,skyline:9,footer:11},_cl={title:'#d6d604',skyline:'#a8e6cf',footer:'#9ab3b8'};
2856const _fs=_sz[_t]||11,_co=_cl[_t]||'#9ab3b8',_sp=_t==='title'?2:1;
2857const _dpr=window.devicePixelRatio||1,_f=`800 ${_fs}px 'Inter','Space Mono',monospace`;
2858const _tmp=document.createElement('canvas').getContext('2d');
2859_tmp.font=_f;
2860let _tw=[..._b].reduce((a,c)=>a+_tmp.measureText(c).width+_sp,-_sp);
2861const _px=4,_py=4,_fw=Math.max(20,Math.ceil(_tw+_px*2)),_fh=Math.max(16,Math.ceil(_fs*1.2+_py*2));
2862_cv.width=_fw*_dpr;_cv.height=_fh*_dpr;
2863_cv.style.width=_fw+'px';_cv.style.height=_fh+'px';
2864const _ctx=_cv.getContext('2d');
2865_ctx.setTransform(1,0,0,1,0,0);_ctx.scale(_dpr,_dpr);
2866_ctx.font=_f;_ctx.textBaseline='middle';_ctx.fillStyle=_co;
2867let _x=_px;
2868[..._b].forEach(c=>{_ctx.fillText(c,_x,_fh/2);_x+=_tmp.measureText(c).width+_sp;});
2869if(_t==='title'){_ctx.shadowBlur=6;_ctx.shadowColor='#d6d604';_x=_px;
2870[..._b].forEach(c=>{_ctx.fillText(c,_x,_fh/2);_x+=_tmp.measureText(c).width+_sp;});}
2871}
2872function _ib(){
2873['title','footer'].forEach(t=>{const e=_w.querySelector(`[data-bs="${t}"]`);if(e)_d(e,t);});
2874document.querySelectorAll('[data-bs="skyline"]').forEach(e=>_d(e,'skyline'));
2875}
2876_ib();
2877if(document.fonts)document.fonts.ready.then(_ib);
2878setTimeout(_ib,300);
2879const _bg=_w.querySelector('.pb-canvas'),_cx=_bg.getContext('2d');
2880let _p=[];
2881function _rc(){
2882const{width:_W,height:_H}=_w.getBoundingClientRect();
2883const _dpr=window.devicePixelRatio||1;
2884_bg.width=Math.max(1,_W*_dpr);_bg.height=Math.max(1,_H*_dpr);
2885_cx.setTransform(1,0,0,1,0,0);_cx.scale(_dpr,_dpr);
2886const _n=Math.min(60,Math.floor(_W*_H/8000));
2887_p=Array.from({length:_n},()=>({x:Math.random()*_W,y:Math.random()*_H,r:1+Math.random()*3,vx:(Math.random()-.5)*.2,vy:.2+Math.random()*.8,a:.2+Math.random()*.4}));
2888}
2889function _dp(){
2890const _W=_bg.width/(window.devicePixelRatio||1),_H=_bg.height/(window.devicePixelRatio||1);
2891_cx.clearRect(0,0,_W,_H);
2892_p.forEach(p=>{
2893_cx.beginPath();_cx.arc(p.x,p.y,p.r,0,Math.PI*2);
2894_cx.fillStyle=`rgba(0,212,170,${p.a})`;_cx.fill();
2895p.x+=p.vx;p.y+=p.vy;
2896if(p.y>_H+20){p.y=-20;p.x=Math.random()*_W;}
2897if(Math.abs(p.x)>_W+20)p.x=p.x<0?_W+20:-20;
2898});
2899requestAnimationFrame(_dp);
2900}
2901window.ResizeObserver?new ResizeObserver(_rc).observe(_w):window.addEventListener('resize',_rc);
2902_rc();_dp();
2903_w.querySelectorAll('.pb-conf-fill').forEach(e=>{const v=e.getAttribute('data-conf');if(v)setTimeout(()=>e.style.width=v+'%',150);});
2904function _uc(){
2905const _n=Date.now();
2906document.querySelectorAll('.pb-card[data-match]').forEach(c=>{
2907const _df=new Date(c.getAttribute('data-match')).getTime()-_n;
2908const _e=c.querySelector('.pb-countdown');
2909if(_df<=0){_e.textContent='LIVE';_e.classList.add('pb-live');return;}
2910const _d=Math.floor(_df/86400000),_h=Math.floor(_df%86400000/3600000);
2911const _m=Math.floor(_df%3600000/60000),_s=Math.floor(_df%60000/1000);
2912_e.textContent=_d>0?`${_d}d ${_h}h`:[_h,_m,_s].map(v=>String(v).padStart(2,'0')).join(':');
2913});
2914}
2915_uc();setInterval(_uc,1000);
2916const _lg=document.getElementById('pb-legs');
2917const _rp=n=>'Rp '+Math.floor(n).toLocaleString('id-ID');
2918let _li=0;
2919function _cc(){
2920let _o=1,_ct=0;
2921document.querySelectorAll('.pb-leg').forEach(l=>{
2922const _i=l.querySelector('.pb-odds-input');
2923if(_i){const v=parseFloat(_i.value);if(!isNaN(v)&&v>0){_o*=v;_ct++;}}
2924});
2925const _sk=parseFloat(document.getElementById('pb-stake').value)||0;
2926document.getElementById('pb-legcount').textContent=_ct;
2927document.getElementById('pb-totalodds').textContent=_o.toFixed(2);
2928document.getElementById('pb-payout').textContent=_rp(_o*_sk);
2929document.getElementById('pb-profit').textContent=_rp(_o*_sk-_sk);
2930}
2931function _al(v='1.50'){
2932const _dv=document.createElement('div');
2933_dv.className='pb-leg';
2934_dv.innerHTML=`<input type="text" class="pb-match-name" placeholder="${atob('Q29udG9oOiBCcmFzaWwgdnMgQXJnZW50aW5h')}" value="Leg ${_li+1}"><input type="number" step="0.01" class="pb-odds-input" value="${v}"><button class="pb-remove">\u2715</button>`;
2935_lg.appendChild(_dv);_li++;
2936_dv.querySelector('.pb-remove').addEventListener('click',()=>{_dv.remove();_cc();});
2937_dv.querySelector('.pb-odds-input').addEventListener('input',_cc);
2938_cc();
2939}
2940document.getElementById('pb-add').addEventListener('click',()=>_al('1.50'));
2941document.getElementById('pb-stake').addEventListener('input',_cc);
2942_al('1.65');_al('2.00');
2943})();</script>
2943
2944
2945<div class="artikel-glow-DTG288">
2946  <div class="artikel-shine"></div>
2947
2948  <h1>DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?</h1>
2949  <p>Kalau kamu udah lama main slot Pragmatic, pasti pernah tergoda sama tombol buy spin alias fitur beli scatter langsung. Pertanyaannya simpel tapi bikin penasaran: worth it nggak sih buat ngejar maxwin?</p>
2950  <p>Gue coba bahas ini dari pengalaman main di <a href="https://dtg288aa.com/">DTG288</a>, salah satu platform slot gacor yang lagi ramai diperbincangkan pemain serius maupun yang baru nyemplung ke dunia slot online.</p>
2951  <div class="DTG288-faq-top">
2952     <span>★ FAQ PERTANYAAN SEPUTAR DTG288 ★</span>
2953  </div>
2954  <br><br>
2955
2956<div class="faq-DTG288-1">
2957  <div class="faq-DTG288-1-item">
2958    <button class="faq-DTG288-1-q">Apa itu DTG288 dan apa yang disediakannya?</button>
2959    <div class="faq-DTG288-1-a">DTG288 merupakan penyedia link demo Slot terlengkap yang menghimpun 3 provider game terbaik dalam satu tempat. Mudah diakses, pilihannya beragam, dan dirancang untuk membantu Anda berlatih maupun sekadar menikmati hiburan berkualitas.</div>
2960  </div>
2961
2962  <div class="faq-DTG288-1-item">
2963    <button class="faq-DTG288-1-q">Mengapa DTG288 dikatakan lengkap dan praktis?</button>
2964    <div class="faq-DTG288-1-a">Karena DTG288 menyatukan 3 provider game terbaik dalam satu halaman. Anda bisa mencoba langsung berbagai permainan unggulan berkualitas, merasakan sensasi serta kelebihannya masing-masing secara bebas dan tanpa risiko apa pun.</div>
2965  </div>
2966
2967  <div class="faq-DTG288-1-item">
2968    <button class="faq-DTG288-1-q">Apa kemudahan yang didapatkan saat mengakses layanan ini?</button>
2969    <div class="faq-DTG288-1-a">Aksesnya sangat praktis dan pilihannya sangat beragam, bisa dinikmati kapan saja. Sangat cocok untuk sarana latihan maupun hiburan tanpa beban, memudahkan Anda mengenali permainan favorit sebelum memainkannya secara sungguhan.</div>
2970  </div>
2971
2972  <div class="faq-DTG288-1-item">
2973    <button class="faq-DTG288-1-q">Apakah versi demo ini aman dan bebas risiko?</button>
2974    <div class="faq-DTG288-1-a">Sepenuhnya aman dan tidak ada risiko sama sekali. Versi demo tidak menggunakan uang asli, sehingga Anda bisa belajar, berlatih, dan menikmati permainannya dengan tenang tanpa khawatir kehilangan apa pun.</div>
2975  </div>
2976
2977  <div class="faq-DTG288-1-item">
2978    <button class="faq-DTG288-1-q">Nilai utama apa yang ditawarkan DTG288?</button>
2979    <div class="faq-DTG288-1-a">Kami menyediakan kemudahan akses terhadap permainan berkualitas secara gratis dan terpusat. Anda dapat mengenali permainan dengan tenang sebelum bermain sungguhan, sehingga lebih siap dan nyaman saat memainkannya nanti.</div>
2980  </div>
2981</div>
2982  </div>
2983
2984<style>
2985.faq-DTG288-1{
2986   display:flex;
2987   flex-direction:column;
2988   gap:18px;
2989}
2990
2991.faq-DTG288-1-item{
2992   position:relative;
2993   overflow:hidden;
2994
2995   border-radius:22px;
2996
2997   background:
2998   linear-gradient(
2999      135deg,
3000      rgba(255,255,255,.28),
3001      rgba(255,255,255,.08)
3002   );
3003
3004   border:1px solid rgba(255,255,255,.45);
3005
3006   backdrop-filter:blur(10px);
3007
3008   box-shadow:
3009   inset 0 1px 0 rgba(255,255,255,.4),
3010   0 10px 25px rgba(0,0,0,.18);
3011
3012   transition:.3s ease;
3013}
3014
3015.faq-DTG288-1-item:hover{
3016   transform:translateY(-2px);
3017}
3018
3019/* shiny */
3020.faq-DTG288-1-item::before{
3021   content:"";
3022   position:absolute;
3023
3024   top:-120%;
3025   left:-40%;
3026
3027   width:120px;
3028   height:320%;
3029
3030   background:linear-gradient(
3031      120deg,
3032      transparent,
3033      rgba(255,255,255,.15),
3034      rgba(255,255,255,.8),
3035      rgba(255,255,255,.15),
3036      transparent
3037   );
3038
3039   transform:rotate(25deg);
3040
3041   animation:faqShiny 5s linear infinite;
3042
3043   pointer-events:none;
3044   z-index:1;
3045}
3046
3047@keyframes faqShiny{
3048   0%{
3049      left:-45%;
3050      opacity:0;
3051   }
3052
3053   20%{
3054      opacity:1;
3055   }
3056
3057   60%{
3058      left:120%;
3059      opacity:1;
3060   }
3061
3062   100%{
3063      left:140%;
3064      opacity:0;
3065   }
3066}
3067
3068/* tombol pertanyaan */
3069.faq-DTG288-1-q{
3070   position:relative;
3071   z-index:2;
3072
3073   width:100%;
3074
3075   display:flex;
3076   align-items:center;
3077   justify-content:space-between;
3078
3079   padding:22px 28px;
3080
3081   background:none;
3082   border:none;
3083   outline:none;
3084
3085   cursor:pointer;
3086
3087   color:#d6d604;
3088   font-size:24px;
3089   font-weight:800;
3090   text-align:left;
3091
3092   text-shadow:
3093   0 2px 6px rgba(0,0,0,.35);
3094}
3095
3096/* icon plus */
3097.faq-DTG288-1-q::after{
3098   content:"+";
3099
3100   min-width:52px;
3101   width:52px;
3102   height:52px;
3103
3104   display:flex;
3105   align-items:center;
3106   justify-content:center;
3107
3108   border-radius:50%;
3109
3110   background: radial-gradient(circle at top, #000000, #d6d604);
3111
3112   color:#d6d604;
3113
3114   font-size:34px;
3115   font-weight:900;
3116
3117   box-shadow:
3118   0 0 18px rgba(255,255,255,.7),
3119   inset 0 2px 6px rgba(255,255,255,.6);
3120
3121   transition:.3s ease;
3122   flex-shrink:0;
3123}
3124
3125/* icon ketika aktif */
3126.faq-DTG288-1-item.active .faq-DTG288-1-q::after{
3127   content:"−";
3128   transform:rotate(180deg);
3129}
3130
3131/* jawaban */
3132.faq-DTG288-1-a{
3133   position:relative;
3134   z-index:2;
3135
3136   max-height:0;
3137   overflow:hidden;
3138
3139   padding:0 28px;
3140
3141   color:#ffffff;
3142   font-size:18px;
3143   line-height:1.8;
3144
3145   opacity:0;
3146
3147   transition:
3148   max-height .45s ease,
3149   opacity .35s ease,
3150   padding .35s ease;
3151}
3152
3153/* ketika aktif tampil */
3154.faq-DTG288-1-item.active .faq-DTG288-1-a{
3155   max-height:500px;
3156   opacity:1;
3157
3158   padding:
3159   0 28px 24px;
3160}
3161
3162/* responsive */
3163@media(max-width:768px){
3164
3165   .faq-DTG288-1-q{
3166      font-size:18px;
3167      padding:18px 20px;
3168   }
3169
3170   .faq-DTG288-1-q::after{
3171      width:42px;
3172      min-width:42px;
3173      height:42px;
3174      font-size:28px;
3175   }
3176
3177   .faq-DTG288-1-a{
3178      font-size:15px;
3179      padding:0 20px;
3180   }
3181
3182   .faq-DTG288-1-item.active .faq-DTG288-1-a{
3183      padding:0 20px 20px;
3184   }
3185
3186}
3186
3187
3188.DTG288-faq-top{
3189   width:100%;
3190   display:flex;
3191   justify-content:center;
3192   align-items:center;
3193   text-align:center;
3194}
3195
3196.DTG288-faq-top span{
3197   display:inline-flex;
3198   align-items:center;
3199   justify-content:center;
3200
3201   position:relative;
3202
3203   padding:12px 32px;
3204
3205   border-radius:999px;
3206
3207   background:rgb(222 0 254);
3208
3209   color:#000000;
3210
3211   font-size:30px;
3212   font-weight:900;
3213
3214   letter-spacing:2px;
3215   text-align:center;
3216
3217   border:1px solid rgbargb(222 0 254);
3218
3219   box-shadow:
3220   inset 0 0 14px rgba(255,255,255,.25),
3221   0 6px 18px rgba(0, 0, 0, 0.15);
3222}
3223
3224.artikel-glow-DTG288{
3225  max-width:1300px;
3226  margin:40px auto;
3227  padding:36px;
3228  box-sizing:border-box;
3229  position:relative;
3230  overflow:hidden;
3231  border-radius:30px;
3232  font-family:Arial,sans-serif;
3233  color:#ffffff;
3234  background:
3235radial-gradient(circle at top left,
3236rgba(0, 0, 0, 0.28),
3237transparent 18%),
3238
3239radial-gradient(circle at bottom right,
3240rgba(0,255,200,.14),
3241transparent 28%),
3242
3243linear-gradient(
3244135deg,
3245#000000,
3246#000000,
3247#000000
3248);
3249  border:2px solid rgb(222 0 254);
3250  box-shadow:
3251    0 0 25px rgb(222 0 254),
3252    0 0 55px rgb(222 0 254),
3253    0 20px 45px rgba(0, 0, 0, 0.25),
3254    inset 0 0 35px rgb(222 0 254);
3255}
3256
3257.artikel-glow-DTG288:before{
3258  content:"";
3259  position:absolute;
3260  inset:10px;
3261  border-radius:24px;
3262  border:1px solid rgb(222 0 254);
3263  pointer-events:none;
3264}
3265
3266.artikel-shine{
3267  position:absolute;
3268  top:-120px;
3269  left:-180px;
3270  width:280px;
3271  height:650px;
3272  background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);
3273  transform:rotate(25deg);
3274  animation:artikelShine 4.5s infinite;
3275  pointer-events:none;
3276}
3277
3278@keyframes artikelShine{
3279  0%{left:-220px;}
3280  55%{left:110%;}
3281  100%{left:110%;}
3282}
3283
3284.artikel-glow-DTG288 h1,
3285.artikel-glow-DTG288 h2{
3286  position:relative;
3287  color:#ffffff;
3288  text-align:center;
3289  line-height:1.35;
3290  text-shadow:
3291    0 0 8px rgba(255,255,255,.95),
3292    0 0 18px rgba(0,255,220,.8),
3293    0 2px 8px rgba(0,0,0,.35);
3294}
3295
3296.artikel-glow-DTG288 h1{
3297  font-size:31px;
3298  margin:0 0 20px;
3299}
3300
3301.artikel-glow-DTG288 h2{
3302  font-size:24px;
3303  margin:28px 0 14px;
3304}
3305
3306.artikel-glow-DTG288 p{
3307  position:relative;
3308  margin:0 0 16px;
3309  color:#f8ffff;
3310  font-size:15px;
3311  line-height:1.85;
3312  text-align:justify;
3313  text-shadow:0 1px 4px rgba(0,0,0,.28);
3314}
3315
3316.artikel-glow-DTG288 a{
3317  color:#fff700;
3318  font-weight:800;
3319  text-shadow:0 0 8px rgba(255,247,0,.8);
3320}
3321
3322.artikel-glow-DTG288 img{
3323  position:relative;
3324  display:block;
3325  max-width:100%;
3326  margin:16px auto 24px;
3327  border-radius:16px;
3328  border:1px solid rgba(255,255,255,.55);
3329  box-shadow:
3330    0 0 18px rgba(255,255,255,.55),
3331    0 12px 28px rgba(0,0,0,.28);
3332}
3333
3334.artikel-highlight{
3335  position:relative;
3336  margin:24px 0;
3337  padding:22px;
3338  border-radius:22px;
3339  background:rgba(255,255,255,.20);
3340  border:1px solid rgba(255,255,255,.45);
3341  box-shadow:
3342    inset 0 1px 0 rgba(255,255,255,.65),
3343    inset 0 0 22px rgba(255,255,255,.14),
3344    0 10px 25px rgba(0,0,0,.18);
3345  backdrop-filter:blur(8px);
3346}
3347
3348.artikel-highlight:before{
3349  content:"";
3350  position:absolute;
3351  left:0;
3352  right:0;
3353  top:0;
3354  height:45%;
3355  border-radius:22px 22px 0 0;
3356  background:linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,.04));
3357  pointer-events:none;
3358}
3359
3360.artikel-glow-DTG288 ul{
3361  position:relative;
3362  margin:15px 0 0 20px;
3363  padding:0;
3364}
3365
3366.artikel-glow-DTG288 li{
3367  margin-bottom:11px;
3368  padding:10px 12px;
3369  border-radius:12px;
3370  background:rgba(255,255,255,.16);
3371  color:#ffffff;
3372  line-height:1.6;
3373  box-shadow:inset 0 0 10px rgba(255,255,255,.08);
3374}
3375
3376@media(max-width:600px){
3377  .artikel-glow-DTG288{
3378    margin:25px 12px;
3379    padding:25px;
3380    border-radius:24px;
3381  }
3382
3383  .artikel-glow-DTG288 h1{
3384    font-size:24px;
3385  }
3386
3387  .artikel-glow-DTG288 h2{
3388    font-size:21px;
3389  }
3390}
3391/* efek shiny berjalan */
3392.faq-DTG288-1-item::before{
3393   content:"";
3394   position:absolute;
3395
3396   top:-120%;
3397   left:-40%;
3398
3399   width:120px;
3400   height:320%;
3401
3402   background:linear-gradient(
3403      120deg,
3404      transparent,
3405      rgba(255,255,255,.15),
3406      rgba(255,255,255,.75),
3407      rgba(255,255,255,.15),
3408      transparent
3409   );
3410
3411   transform:rotate(25deg);
3412
3413   animation:faqShiny 4s linear infinite;
3414
3415   pointer-events:none;
3416   z-index:1;
3417}
3418
3419/* biar isi di atas shiny */
3420.faq-DTG288-1-q,
3421.faq-DTG288-1-a{
3422   position:relative;
3423   z-index:2;
3424}
3425
3426/* animasi jalan */
3427@keyframes faqShiny{
3428
3429   0%{
3430      left:-45%;
3431      opacity:0;
3432   }
3433
3434   15%{
3435      opacity:1;
3436   }
3437
3438   55%{
3439      left:120%;
3440      opacity:1;
3441   }
3442
3443   100%{
3444      left:140%;
3445      opacity:0;
3446   }
3447
3448}
3449</style>
3450
3451<script>
3452document.querySelectorAll('.faq-DTG288-1-q').forEach((btn)=>{
3453
3454   btn.addEventListener('click',function(){
3455
3456      const item = this.parentElement;
3457
3458      // tutup faq lain
3459      document.querySelectorAll('.faq-DTG288-1-item').forEach((faq)=>{
3460
3461         if(faq !== item){
3462            faq.classList.remove('active');
3463         }
3464
3465      });
3466
3467      // buka faq yang diklik
3468      item.classList.toggle('active');
3469
3470   });
3471
3472});
3473</script>
3473
3474
3475    
3476    
3477        <section class="pd-related-full">
3478        <h2 class="pd-related-title">Produk Terkait</h2>
3479        <div class="pd-related-grid pd-related-grid--full">
3480                        <a class="pd-related-card" href="https://dtg288aa.com/">
3481                <div class="thumb">
3482                    <img src="https://s13.gifyu.com/images/bu0dP.png" alt="Judi Bola">
3483                    <span class="mini-disc">-10%</span>                </div>
3484                <div class="info">
3485                    <h3>DTG288</h3>
3486                    <div class="spec-chips">I5 <span class="spec-divider">|</span> 16GB <span class="spec-divider">|</span> 512GB <span class="spec-divider">|</span> RTX3050</div>                    <span class="price">
3487                        <span class="final">Rp 18.555.000</span>
3488                                                  <span class="ori">Rp 28.888.000</span>
3489                                            </span>
3490                    <span class="sold">Terjual 200+</span>                    <span class="stock-dot low" title="Stok Terbatas"></span>
3491                </div>
3492            </a>
3493                        <a class="pd-related-card" href="https://dtg288aa.com/">
3494                <div class="thumb">
3495                    <img src="https://s13.gifyu.com/images/bu0dP.png" alt="AGEN BOLA">
3496                    <span class="mini-disc">-18%</span>                </div>
3497                <div class="info">
3498                    <h3>JUDI BOLA</h3>
3499                    <div class="spec-chips">I7 <span class="spec-divider">|</span> 16GB <span class="spec-divider">|</span> 512GB <span class="spec-divider">|</span> RTX5050</div>                    <span class="price">
3500                        <span class="final">Rp 8.887.000</span>
3501                                                  <span class="ori">Rp 36.887.000</span>
3502                                            </span>
3503                    <span class="sold">Terjual 20+</span>                    <span class="stock-dot out" title="Habis"></span>
3504                </div>
3505            </a>
3506                        <a class="pd-related-card" href="https://dtg288aa.com/">
3507                <div class="thumb">
3508                    <img src="https://s13.gifyu.com/images/bu0dP.png" alt="AGEN BOLA">
3509                    <span class="mini-disc">-1%</span>                </div>
3510                <div class="info">
3511                    <h3>AGEN BOLA</h3>
3512                    <div class="spec-chips">R7AI <span class="spec-divider">|</span> 16GB <span class="spec-divider">|</span> 1TB <span class="spec-divider">|</span> RTX5060</div>                    <span class="price">
3513                        <span class="final">Rp 5.600.000</span>
3514                                                  <span class="ori">Rp 6.600.000</span>
3515                                            </span>
3516                    <span class="sold">Terjual 6</span>                    <span class="stock-dot ready" title="Ready"></span>
3517                </div>
3518            </a>
3519                        <a class="pd-related-card" href="https://dtg288aa.com/">
3520                <div class="thumb">
3521                    <img src="https://s13.gifyu.com/images/bu0dP.png" alt="Bandar BOLA">
3522                    <span class="mini-disc">-3%</span>                </div>
3523                <div class="info">
3524                    <h3>MIX PARLAY</h3>
3525                    <div class="spec-chips">R5AI <span class="spec-divider">|</span> 16GB <span class="spec-divider">|</span> 1TB <span class="spec-divider">|</span> RTX5060</div>                    <span class="price">
3526                        <span class="final">Rp 3.800.000</span>
3527                                                  <span class="ori">Rp 6.799.000</span>
3528                                            </span>
3529                    <span class="sold">Terjual 5</span>                    <span class="stock-dot ready" title="Ready"></span>
3530                </div>
3531            </a>
3532                        <a class="pd-related-card" href="https://dtg288aa.com/">
3533                <div class="thumb">
3534                    <img src="https://s13.gifyu.com/images/bu0dP.png" alt="Judi Bola">
3535                    <span class="mini-disc">-25%</span>                </div>
3536                <div class="info">
3537                    <h3>1X2</h3>
3538                    <div class="spec-chips">I7 <span class="spec-divider">|</span> 16GB <span class="spec-divider">|</span> 512GB <span class="spec-divider">|</span> RTX5050</div>                    <span class="price">
3539                        <span class="final">Rp 14.600.080</span>
3540                                                  <span class="ori">Rp 44.999.000</span>
3541                                            </span>
3542                    <span class="sold">Terjual 6</span>                    <span class="stock-dot low" title="Stok Terbatas"></span>
3543                </div>
3544            </a>
3545                        <a class="pd-related-card" href="https://dtg288aa.com/">
3546                <div class="thumb">
3547                    <img src="https://s13.gifyu.com/images/bu0dP.png" alt="AGEN BOLA">
3548                    <span class="mini-disc">-5%</span>                </div>
3549                <div class="info">
3550                    <h3>LINK JUDI BOLA</h3>
3551                    <div class="spec-chips">CORE5 <span class="spec-divider">|</span> 16GB <span class="spec-divider">|</span> 512GB <span class="spec-divider">|</span> RTX4050</div>                    <span class="price">
3552                        <span class="final">Rp 13.258.000</span>
3553                                                  <span class="ori">Rp 18.258.000</span>
3554                                            </span>
3555                                        <span class="stock-dot low" title="Stok Terbatas"></span>
3556                </div>
3557            </a>
3558                        
3559                    </div>
3560    </section>
3561    
3562    <div class="pd-mobile-fab" id="pd-mobile-fab" data-pid="325" data-price="20789000" data-voucher-code="" data-voucher-value="0"><div class="mf-actions"><button type="button" class="mf-btn mf-share" id="mf-share" aria-label="Bagikan"><svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true"><path fill="currentColor" 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></svg></button><button type="button" class="mf-btn mf-chat" id="mf-chat" aria-label="Tanya Produk"><svg viewBox="0 0 640 640" fill="currentColor"><path 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></svg></button><button type="button" class="mf-btn mf-cart" id="mf-cart" disabled="" aria-label="Tambah ke keranjang"><svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true"><path fill="currentColor" 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></svg></button><button type="button" class="mf-btn mf-buy" id="mf-buy" disabled=""><span class="mf-buy-text">Beli Sekarang</span><span class="mf-buy-price">Rp 20.789.000</span></button></div></div>
3563
3564    <button type="button" class="pd-scroll-top" id="pd-scroll-top" aria-label="Kembali ke atas" title="Kembali ke atas">
3565        <svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true">
3566            <path fill="currentColor" d="M7.41 14.59 12 10l4.59 4.59L18 13.17l-6-6-6 6z"></path>
3567        </svg>
3568    </button>
3569</main>
3570
3571<div class="pd-share-modal-overlay" id="pd-share-modal-overlay"><div class="pd-share-modal"><div class="pd-share-header"><h2 class="pd-share-title">Bagikan Produk</h2><button type="button" class="pd-share-close" id="pd-share-close" aria-label="Tutup"><svg width="20" height="20" viewBox="0 0 24 24"><path fill="currentColor" 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></svg></button></div><div class="pd-share-body"><div class="pd-share-preview"><img src="https://s13.gifyu.com/images/bu0dP.png" alt="DTG288" class="pd-share-preview-img"><div class="pd-share-preview-info"><h3 class="pd-share-preview-name">DTG288</h3><p class="pd-share-preview-price">Rp 20.789.000</p></div></div><p class="pd-share-label">Bagikan ke</p><div class="pd-share-grid"><a href="#" class="pd-share-option" data-share="whatsapp" target="_blank" rel="noopener"><span class="pd-share-icon pd-share-icon-whatsapp"><svg viewBox="0 0 24 24"><path fill="currentColor" 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></svg></span><span class="pd-share-name">WhatsApp</span></a><a href="#" class="pd-share-option" data-share="facebook" target="_blank" rel="noopener"><span class="pd-share-icon pd-share-icon-facebook"><svg viewBox="0 0 24 24"><path fill="currentColor" 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></svg></span><span class="pd-share-name">Facebook</span></a><a href="#" class="pd-share-option" data-share="twitter" target="_blank" rel="noopener"><span class="pd-share-icon pd-share-icon-twitter"><svg viewBox="0 0 24 24"><path fill="currentColor" 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></svg></span><span class="pd-share-name">Twitter</span></a><a href="#" class="pd-share-option" data-share="telegram" target="_blank" rel="noopener"><span class="pd-share-icon pd-share-icon-telegram"><svg viewBox="0 0 24 24"><path fill="currentColor" 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></svg></span><span class="pd-share-name">Telegram</span></a><a href="#" class="pd-share-option" data-share="email"><span class="pd-share-icon pd-share-icon-email"><svg viewBox="0 0 24 24">
3571<path fill="currentColor" 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></svg></span><span class="pd-share-name">Email</span></a><button type="button" class="pd-share-option" data-share="copy"><span class="pd-share-icon pd-share-icon-copy"><svg viewBox="0 0 24 24"><path fill="currentColor" 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></svg></span><span class="pd-share-name">Salin Link</span></button><button type="button" class="pd-share-option" data-share="pdf"><span class="pd-share-icon pd-share-icon-pdf"><svg viewBox="0 0 24 24"><path fill="currentColor" 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></svg></span><span class="pd-share-name">Export PDF</span></button></div><div class="pd-share-copy-section"><div class="pd-share-copy-input-wrap"><input type="text" class="pd-share-copy-input" id="pd-share-url-input" value="https://dtg288aa.com/" readonly=""><button type="button" class="pd-share-copy-btn" id="pd-share-copy-url-btn"><svg viewBox="0 0 24 24" width="16" height="16"><path fill="currentColor" 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></svg><span class="pd-share-copy-text">Salin</span></button></div></div></div></div></div>
3572
3573<style>.toast-root{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);display:flex;flex-direction:column;gap:10px;z-index:99999;pointer-events:none;max-width:min(92vw,540px)}.toast{display:grid;grid-template-columns:28px 1fr auto;gap:12px;background:#0b1220;color:#eef3ff;border:1px solid rgba(255,255,255,.08);padding:12px 14px;border-radius:12px;box-shadow:0 10px 30px rgba(10,10,20,.35);pointer-events:auto;overflow:hidden}.toast .ico{align-self:start;margin-top:2px}.toast .ttl{font-weight:700;line-height:1.25;font-size:14px;margin-bottom:4px}.toast .msg{opacity:.95;line-height:1.45;font-size:13px}.toast .actions{display:flex;gap:8px;align-self:center}.toast .btn{background:#0ea5e9;color:#fff;border:0;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer}.toast .btn.alt{background:transparent;color:#8fb5ff;border:1px solid rgba(143,181,255,.35)}.toast .close{background:transparent;border:0;color:#98a2b3;cursor:pointer;padding:4px;margin-left:6px}.toast.success{border-left:4px solid #22c55e}.toast.info{border-left:4px solid #0ea5e9}.toast.warn{border-left:4px solid #f59e0b}.toast .progress{position:absolute;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#60a5fa,#22c55e);width:100%;transform-origin:left;animation:toastBar linear forwards}@keyframes toastBar{from{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:640px){.toast{grid-template-columns:24px 1fr auto;padding:12px}.toast .btn{padding:7px 10px}}</style>
3574<style>
3575.toast .msg { word-break: break-word; overflow-wrap: anywhere; }
3576
3577.toast-root { bottom: max(12px, env(safe-area-inset-bottom, 12px)); }
3578
3579@media (max-width: 540px) {
3580  .toast-root {
3581    left: 0; right: 0; transform: none;
3582    padding: 0 12px;
3583    bottom: calc(max(12px, env(safe-area-inset-bottom, 12px)) + var(--fab-offset, 72px));
3584    max-width: none;
3585  }
3586  .toast {
3587    grid-template-columns: 1fr; /* 1 kolom */
3588    position: relative;
3589    padding: 14px 14px 12px 14px;
3590    border-radius: 16px;
3591  }
3592  .toast .ico {
3593    position: absolute; left: 14px; top: 14px;
3594    margin: 0; transform: translateY(1px);
3595  }
3596  .toast .cnt { padding-left: 34px; }
3597  .toast .ttl { font-size: 15px; margin-bottom: 6px; }
3598  .toast .msg { font-size: 13px; opacity: .96; }
3599  .toast .actions {
3600    margin-top: 12px; gap: 10px; width: 100%;
3601    display: grid; grid-template-columns: 1fr 1fr;
3602  }
3603  .toast .btn { width: 100%; min-width: 0; padding: 10px 0; }
3604  .toast .close { position: absolute; right: 6px; top: 6px; }
3605}
3606</style>
3607
3608<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
3609(function adjustToastFabOffset(){
3610  const root = document.getElementById('toastRoot');
3611  if (!root) return;
3612
3613  function isVisible(el)
3614    if (!el) return false;
3615    const cs = getComputedStyle(el);
3616    if (cs.display === 'none' 
3617
3618  function update(){
3619    const fab = document.getElementById('pd-mobile-fab');
3620    let extra = 16;
3621    if (isVisible(fab)) 
3622      const h = Math.round(fab.getBoundingClientRect().height) 
3623    root.style.setProperty('--fab-offset', extra + 'px');
3624  }
3625
3626  window.addEventListener('resize', update, { passive: true });
3627  const fab = document.getElementById('pd-mobile-fab');
3628  if (window.ResizeObserver && fab) {
3629    const ro = new ResizeObserver(update);
3630    ro.observe(fab);
3631  }
3632  
3633  update();
3634})();
3635</script>
3635
3636<div class="toast-root" id="toastRoot" aria-live="polite" aria-atomic="true"></div>
3637
3638<script nonce="se3iyzEHMc9FQEB4wSyd0w==">(function(){const root=document.getElementById('toastRoot');function svgIcon(kind){if(kind==='success')return '<svg width="24" height="24" viewBox="0 0 24 24" fill="#22c55e"><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="#0ea5e9"><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="#0ea5e9"/></svg>'}
3639window.showToast=function(opts){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>`;
3640
3641    const close = ()=> {
3642      if (!el.parentNode) return;
3643      el.style.transition = 'transform .2s ease, opacity .2s ease';
3644      el.style.opacity = '0'; el.style.transform = 'translateY(10px)';
3645      setTimeout(()=>{ if (el.parentNode) el.parentNode.removeChild(el); }, 220);
3646    };
3647
3648    el.querySelector('.close').addEventListener('click', close);
3649    el.querySelectorAll('.actions .btn').forEach(btn=>{
3650      btn.addEventListener('click', ()=>{
3651        const lab = btn.getAttribute('data-act');
3652        try {
3653          (o.actions||[]).forEach(a=>{ if (a.label===lab && typeof a.onClick==='function') a.onClick(); });
3654        } catch(_){}
3655        close();
3656      });
3657    });
3658
3659    root.appendChild(el);
3660    setTimeout(close, o.duration);
3661    return el;
3662  };
3663})();
3664
3665const _0x1a2b=[{"url":"https://s13.gifyu.com/images/bu0dP.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":"https://s13.gifyu.com/images/bu0dP.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":"https://s13.gifyu.com/images/bu0dP.png"},{"url":"https://s13.gifyu.com/images/bu0dP.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":"https://s13.gifyu.com/images/bu0dP.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":"https://s13.gifyu.com/images/bu0dP.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":"https://s13.gifyu.com/images/bu0dP.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-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="SB0B3T";function getVariantSummaryText(){const a=document.getElementById('pd-variant-summary');if(!a)return '';const b=Array.from(a.querySelectorAll('.vs-item strong')).map(c=>
3665c.textContent.trim()).filter(Boolean);return b.length?b.join(' / '):''}
3666function encodeVariantHash(id)
3667function decodeVariantHash(hash){if(!hash)return 0;const xor=parseInt(hash,36);return isNaN(xor)?0:xor^0x4A5D}
3668
3669function 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)}catch(_){}return false}function showErrorToast(){showToast({type:'error',title:'Gagal Menambah ke Keranjang',message:'Terjadi kesalahan saat memproses permintaan. Silakan coba lagi.',duration:5000})}
3670
3671function executeBuyNowLegacy(id,variantId){const a=getVariantSummaryText(),b=(function(){const c=document.getElementById('pd-sku');return c?c.textContent.trim():_0x5e6f})();
3672
3673    let willRedirect = false;
3674    try {
3675        if (window.addToCart) {
3676            window.addToCart(id, 1, variantId);
3677            willRedirect = false;
3678        }
3679    } catch(_){}
3680
3681    if (willRedirect) {
3682        showToast({
3683            type: 'info',
3684            title: 'Menuju Keranjang',
3685            message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`,
3686            duration: 1800
3687        });
3688        setTimeout(()=>{ window.location.href='/keranjang'; }, 1200);
3689    } else {
3690        showToast({
3691            type: 'warn',
3692            title: 'Fitur Beli Langsung Segera Hadir',
3693            message: `Sementara ini Anda bisa menambahkan produk ke keranjang terlebih dahulu.<br><strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}`,
3694            duration: 6000,
3695            actions: [
3696                { label: '+ Keranjang', onClick: ()=> { try{ if (window.addToCart) window.addToCart(id,1,variantId); }catch(_){} } },
3697                { label: 'Hubungi CS', variant: 'alt', onClick: ()=> { window.open('https://wa.me/6281380009898','_blank'); } }
3698            ]
3699        });
3700    }
3701}
3702
3703document.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)})}});
3704
3705function _0x2m3n(s){return String(s||'').replace(/[&<>"']/g,m=>({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#039;'}[m]))}
3706
3707(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)})})();
3708
3709(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;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})})();
3710
3711/* ================= Simulasi Cicilan ================= */
3712(function initInstallmentList(){const card=document.getElementById('inst-card');
3712if(!card)return;function getBasePrice()return parseInt(card.getAttribute('data-base-price')function setBasePrice(v)'0',10)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'}
3713
3714function _0x4o5p(bank){const a=getBasePrice();listEl.innerHTML='';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>$`;listEl.appendChild(g)});zeroNote.style.display=c?'block':'none'}
3715
3716card.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)});
3717
3718window.instSetBasePrice=function(newPrice){setBasePrice(newPrice);_0x4o5p(activeBank())};_0x4o5p(activeBank());
3719})();
3720
3721/* ====== Fokus gambar varian ====== */
3722function _0x6q7r(s)return String(sfunction _0x8s9t(u){try{return new URL(u,window.location.origin).pathname.split('/').pop().toLowerCase()}catch(e){trycatch(_){return ''}}}
3723function _0xau1v(url,altOpt){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=>);if(e)const h=e.getAttribute('data-alt')}
3724  if (c){
3725    const targetName = _0x8s9t(url);
3726    const slideImg = Array.from(c.querySelectorAll('img')).find(im => _0x8s9t(im.src) === targetName);
3727    if (slideImg){
3728      
3729      try {
3730        const container = c;
3731        const imgRect = slideImg.getBoundingClientRect();
3732        const contRect = container.getBoundingClientRect();
3733        const offsetLeft = slideImg.offsetLeft - container.offsetLeft;
3734        const center = offsetLeft - (container.clientWidth - slideImg.clientWidth) / 2;
3735        container.scrollTo({ left: Math.max(0, center), behavior: 'smooth' });
3736      } catch(_){
3737        
3738        slideImg.scrollIntoView({ behavior:'smooth', inline:'center', block:'nearest' });
3739      }
3740    }
3741  }
3742}
3743function findImageForVariant(variant){
3744  if (!variant || !variant.attrs) return null;
3745  const tokens = [];
3746  try{
3747    Object.values(variant.attrs).forEach(v=>{
3748      if (!v) return;
3749      const raw = String(v);
3750      tokens.push(raw);
3751      tokens.push(normalize(raw));
3752    });
3753  }catch(_){}
3754  if (variant.sku){
3755    tokens.push(String(variant.sku));
3756    tokens.push(normalize(String(variant.sku)));
3757  }
3758  if (variant.image_url) {
3759      tokens.push(String(variant.image_url));
3760  }
3761  let best = null;
3762  let bestScore = -1;
3763
3764  for (const g of (galleryData||[])){
3765    const slugN = normalize(g.slug||'');
3766    const altN  = normalize(g.alt||'');
3767    const file  = _0x8s9t(g.url||'');
3768    const fileN = normalize(file);
3769    const imgU  = g.url;
3770
3771    for (const t of tokens){
3772      const tN = normalize(t);
3773      if (!tN) continue;
3774
3775      let score = -1;
3776      if (imgU === tN) score = 300;
3777      if (slugN && slugN === tN) score = 300;
3778      else if (fileN && fileN.includes(tN)) score = 200;
3779      else if (altN && altN.includes(tN)) score = 120;
3780
3781      if (score > bestScore){
3782        bestScore = score;
3783        best = g;
3784      }
3785      if (bestScore >= 300) break;
3786    }
3787    if (bestScore >= 300) break;
3788  }
3789  return bestScore >= 120 ? best : null;
3790}
3791function _0xey3z(variant){const a=_0xcw2x(variant);if(a&&a.url)'')}
3792
3793/* ====== Layout mobile ====== */
3794(function _0xg04h(){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'),compareSection=document.querySelector('.pd-compare-section');if(!a||!b||!c||!d||!e)return;
3795
3796    let pricePlaced = false;
3797    let varPlaced = false;
3798    let titlePlaced = false;
3799    let promoPlaced = false;
3800    const mq = window.matchMedia('(max-width: 640px)');
3801
3802    function apply(){
3803        if (mq.matches) {
3804            if (!titlePlaced && a && titleRow && d.contains(titleRow)) { try{a.appendChild(titleRow);titlePlaced=true;}catch(_){} }
3805            if (!pricePlaced && a && b) { try{a.appendChild(b);pricePlaced=true;}catch(_){} }
3806            if (!varPlaced && f && d && e) {
3807                try{
3808                    f.hidden = false;
3809                    if (i && !f.contains(i)) f.appendChild(i);
3810                    if (g && !f.contains(g)) f.appendChild(g);
3811                    if(d.contains(e))d.insertBefore(f, e);
3812                    varPlaced = true;
3813                }catch(_){}
3814            }
3815            if (!promoPlaced && promoBanner && compareSection && compareSection.parentNode) {
3816                try{
3817                    compareSection.parentNode.insertBefore(promoBanner, compareSection);
3818                    promoPlaced = true;
3819                }catch(_){}
3820            }
3821        } else {
3822            if (titlePlaced && titleRow && d) {
3823                try{
3824                    const vcombined = document.getElementById('pd-variant-combined');
3825                    if (vcombined && d.contains(vcombined)) {
3826                        d.insertBefore(titleRow, vcombined);
3827                    } else {
3828                        d.insertBefore(titleRow, d.firstChild);
3829                    }
3830                    titlePlaced=false;
3831                }catch(_){}
3832            }
3833            if (pricePlaced && b && c && c.parentNode) {
3834                try{c.parentNode.insertBefore(b, c.nextSibling);pricePlaced=false;}catch(_){}
3835            }
3836            if (varPlaced) {
3837                try{
3838                    if (i && j && j.parentNode && !j.parentNode.contains(i)) j.parentNode.insertBefore(i, j.nextSibling);
3839                    if (g && h && h.parentNode && !h.parentNode.contains(g)) h.parentNode.insertBefore(g, h.nextSibling);
3840                    if (f) { f.hidden = true; f.innerHTML = ''; }
3841                    varPlaced = false;
3842                }catch(_){}
3843            }
3844            if (promoPlaced && promoBanner && b) {
3845                try{
3846                    b.appendChild(promoBanner);
3847                    promoPlaced = false;
3848                }catch(_){}
3849            }
3850        }
3851    }
3852
3853    mq.addEventListener ? mq.addEventListener('change', apply) : mq.addListener(apply);
3854    apply();
3855
3856    const fab = document.getElementById('pd-mobile-fab');
3857    if (fab) {
3858        const pid = parseInt(fab.getAttribute('data-pid')||'0',10) || 325;
3859        const btnCart = document.getElementById('mf-cart');
3860
3861        if (btnCart) btnCart.addEventListener('click', function(){
3862            const varInput = document.getElementById('pd-variant-id');
3863            const variantId = varInput ? parseInt(varInput.value||'0',10) : 0;
3864            try { if (window.addToCart) addToCart(pid, 1, variantId); } catch(_){}
3865            const variantText = getVariantSummaryText();
3866            const skuText = (function(){ const el=document.getElementById('pd-sku'); return el?el.textContent.trim():PD_SKU; })();
3867            showToast({
3868                type: 'success',
3869                title: 'Berhasil ditambahkan ke Keranjang',
3870                message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`,
3871                duration: 5000,
3872                actions: [
3873                    { label: 'Lihat Keranjang', onClick: ()=> { window.location.href = '/keranjang'; } },
3874                    { label: 'Lanjut Belanja', variant: 'alt', onClick: ()=>{} }
3875                ]
3876            });
3877        });
3878    }
3879})();
3880
3881/* ====== Auto-hide installment banner if sidebar too tall (Desktop only) ====== */
3882(function(){
3883    function adjustSidebarBanner() {
3884        if (window.innerWidth <= 768) return;
3885        const sidebar = document.querySelector('.pd-sidebar');
3886        const infoCard = document.querySelector('.pd-info-card');
3887        const banner = document.querySelector('.pd-side-card.inst-alt-banner.inst-alt-banner--compact');
3888        if (!sidebar || !infoCard || !banner) return;
3889        const sidebarHeight = sidebar.offsetHeight;
3890        const infoCardHeight = infoCard.offsetHeight;
3891        if (sidebarHeight > infoCardHeight) {
3892            banner.style.display = 'none';
3893        } else {
3894            banner.style.display = '';
3895        }
3896    }
3897    if (document.readyState === 'loading') {
3898        document.addEventListener('DOMContentLoaded', adjustSidebarBanner);
3899    } else {
3900        adjustSidebarBanner();
3901    }
3902    let resizeTimer;
3903    window.addEventListener('resize', function() {
3904        clearTimeout(resizeTimer);
3905        resizeTimer = setTimeout(adjustSidebarBanner, 250);
3906    });
3907    const pwpSection = document.getElementById('pwp-deals-section');
3908    if (pwpSection) {
3909        const observer = new MutationObserver(function(mutations) {
3910            let shouldRecheck = false;
3911            mutations.forEach(function(mutation) {
3912                if (mutation.type === 'attributes' && mutation.attributeName === 'hidden') {
3913                    shouldRecheck = true;
3914                } else if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
3915                    shouldRecheck = true;
3916                }
3917            });
3918            if (shouldRecheck) {
3919                setTimeout(adjustSidebarBanner, 100);
3920            }
3921        });
3922        observer.observe(pwpSection, {
3923            attributes: true,
3924            childList: true,
3925            subtree: true
3926        });
3927    }
3928    window.adjustSidebarBanner = adjustSidebarBanner;
3929})();
3930
3931/* ====== Global constants ====== */
3932const IS_DIGITAL=false;
3933const IS_PREORDER=false;
3934
3935/* ====== Variants state (REVISED) ====== */
3936(function initVariants(){
3937const _0x7g8h=[];window.variants=_0x7g8h;
3938window.isPreorderProduct=false;
3939    const attrOrder = [];
3940
3941    if (!variants.length || !attrOrder.length) return;
3942
3943    function comboKey(sel)');
3944    
3945
3946    const variantMap = {};
3947    variants.forEach(v=>{
3948        const key = comboKey(v.attrs);
3949        variantMap[key] = v;
3950    });
3951
3952    function readSelection(){
3953        const sel = {};
3954        attrOrder.forEach(a=>{
3955            const r = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio]:checked`);
3956            sel[a] = r ? r.value : '';
3957        });
3958        return sel;
3959    }
3960
3961    function findVariant(sel) null;
3962    
3963
3964    function autoFillMissing(sel){
3965        let changed = false;
3966        for (const a of attrOrder) {
3967            if (sel[a]) continue;
3968            const possible = [];
3969            const seen = new Set();
3970            variants.forEach(v=>{
3971                let ok = true;
3972                for (const a2 of attrOrder) {
3973                    if (a2 === a) continue;
3974                    if (sel[a2] && v.attrs[a2] !== sel[a2]) { ok = false; break; }
3975                }
3976                if (ok) {
3977                    const val = v.attrs[a];
3978                    if (!seen.has(val)) { seen.add(val); possible.push(val); }
3979                }
3980            });
3981            if (possible.length === 1) {
3982                const val = possible[0];
3983                const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`);
3984                if (input && !input.checked) { input.checked = true; sel[a] = val; changed = true; }
3985            }
3986        }
3987        return changed;
3988    }
3989
3990    function rupiah(n){
3991        n = parseInt(n||0,10)||0;
3992        return 'Rp ' + n.toString().replace(/\B(?=(\d{3})+(?!\d))/g,'.');
3993    }
3994    
3995    function focusGalleryByUrl(imageUrl) {
3996        const isMobile = window.matchMedia && window.matchMedia('(max-width: 640px)').matches;
3997          if (isMobile) {
3998            _0xau1v(imageUrl);
3999            return;
4000          }
4001        
4002          const gallery = document.getElementById('pd-thumb-gallery');
4003          const targetName = _0x8s9t(imageUrl);
4004        
4005          if (gallery) {
4006            const btns = Array.from(gallery.querySelectorAll('.pd-thumb-btn'));
4007            const btn = btns.find(b => _0x8s9t(b.getAttribute('data-full') || '') === targetName);
4008            if (btn) { btn.click(); return; }
4009          }
4010          
4011          _0xau1v(imageUrl);
4012    }
4013    
4014
4015function formatStockLabel(n)n=parseInt(n
4016function updateBranchPopover(v){try0))catch(_){}}
4017
4018    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)}
4019
4020    function applyVariant(v, focusImage = true){
4021        const elCur  = document.getElementById('pd-price-current');
4022        const elOri  = document.getElementById('pd-price-original');
4023        const elDisc = document.getElementById('pd-discount-badge');
4024        const elSku  = document.getElementById('pd-sku');
4025        const elStock= document.getElementById('pd-stock-badge');
4026        const elQty  = document.getElementById('qty');
4027        const btnAdd = document.getElementById('btn-add-cart');
4028        const btnBuy = document.getElementById('btn-buy');
4029        const hidVar = document.getElementById('pd-variant-id');
4030
4031        const mfCart= document.getElementById('mf-cart');
4032        const mfBuy = document.getElementById('mf-buy');
4033        const fab = document.getElementById('pd-mobile-fab');
4034
4035        if (hidVar) hidVar.value = v ? v.id : 0;
4036        if (elCur) elCur.textContent = rupiah(v ? v.final : 0);
4037        if (elSku && v && v.sku) elSku.textContent = v.sku;
4038
4039        if (v && v.ori > v.final) {
4040            if (elOri) { elOri.style.display='inline'; elOri.textContent = rupiah(v.ori); }
4041            if (elDisc)  elDisc.style.display='inline'; elDisc.textContent = '-' + (v.disc
4042        } else {
4043            if (elOri) elOri.style.display='none';
4044            if (elDisc) elDisc.style.display='none';
4045        }
4046
4047        const stock = v ? (parseInt(v.stock||0,10)||0) : 0;
4048        let effectiveStock = stock;
4049        let isActivePreorder = false;
4050        if (window.isPreorderProduct && v && 'preorder_remaining' in v && v.preorder_remaining !== null) {
4051            effectiveStock = parseInt(v.preorder_remaining, 10);
4052            if (isNaN(effectiveStock)) effectiveStock = 0;
4053            isActivePreorder = true;
4054        }
4055        if (elStock){
4056            elStock.classList.remove('in','out');
4057            if (effectiveStock>0){ 
4058                elStock.classList.add('in'); 
4059                elStock.textContent = IS_DIGITAL ? 'Tersedia' : (isActivePreorder ? 'Sisa Slot: ' + effectiveStock : 'Stok: ' + formatStockLabel(effectiveStock)); 
4060            } else { 
4061                elStock.classList.add('out'); 
4062                elStock.textContent = 'Habis'; 
4063            }
4064        }
4065        if (elQty){
4066            elQty.max = String(effectiveStock>0?effectiveStock:0);
4067            if (effectiveStock<=0) { elQty.value = '0'; elQty.disabled = true; }
4068            else  if (parseInt(elQty.value
4069        }
4070        
4071        const shouldDisable = !(v && effectiveStock>0);
4072        const updateButtons = () => {
4073            const btnAddCart = document.getElementById('btn-add-cart');
4074            const btnBuyNow = document.getElementById('btn-buy');
4075            const mobileCart = document.getElementById('mf-cart');
4076            const mobileBuy = document.getElementById('mf-buy');
4077            [btnAddCart, btnBuyNow, mobileCart, mobileBuy].forEac
4077h(btn => {
4078                if (!btn) return;
4079                if (shouldDisable) {
4080                    btn.disabled = true;
4081                    btn.setAttribute('disabled', 'disabled');
4082                    btn.classList.add('stock-disabled');
4083                    btn.setAttribute('data-stock-blocked', 'true');
4084                    btn.setAttribute('data-stock-reason', window.isPreorderProduct ? 'Pre-order habis' : 'Stok habis');
4085                } else {
4086                    btn.disabled = false;
4087                    btn.removeAttribute('disabled');
4088                    btn.classList.remove('stock-disabled');
4089                    btn.removeAttribute('data-stock-blocked');
4090                    btn.removeAttribute('data-stock-reason');
4091                }
4092            });
4093        };
4094        updateButtons();
4095        setTimeout(updateButtons, 10);
4096        setTimeout(updateButtons, 50);
4097        setTimeout(updateButtons, 100);
4098        if (mfBuy && v) {
4099            const voucherBtn = document.getElementById('btn-buy-voucher');
4100            const voucherCode = fab ? fab.dataset.voucherCode : '';
4101            let voucherDiscount = 0;
4102            
4103            if (voucherBtn && voucherCode) {
4104                const vType = voucherBtn.dataset.voucherType;
4105                const vValue = parseFloat(voucherBtn.dataset.voucherValue) || 0;
4106                const vMax = parseFloat(voucherBtn.dataset.voucherMax) || 0;
4107                const finalPrice = v.final || 0;
4108                if (vType && vValue > 0) {
4109                    voucherDiscount = calcVoucherDisc(vType, vValue, finalPrice, vMax);
4110                    if (fab) fab.dataset.voucherValue = voucherDiscount.toString();
4111                }
4112            }
4113            
4114            const finalPrice = v.final || 0;
4115            const textEl = mfBuy.querySelector('.mf-buy-text');
4116            const priceEl = mfBuy.querySelector('.mf-buy-price');
4117            
4118            if (effectiveStock > 0) {
4119                    if (IS_PREORDER) {
4120                        if (textEl) textEl.textContent = 'Pre Order Sekarang';
4121                        if (priceEl) priceEl.textContent = rupiah(finalPrice);
4122                    } else if (voucherCode && voucherDiscount > 0) {
4123                        if (textEl) textEl.textContent = 'Beli dengan Voucher';
4124                        if (priceEl) priceEl.textContent = rupiah(Math.max(0, finalPrice - voucherDiscount));
4125                    } else {
4126                        if (textEl) textEl.textContent = 'Beli Sekarang';
4127                        if (priceEl) priceEl.textContent = rupiah(finalPrice);
4128                    }
4129                } else {
4130                    if (textEl) textEl.textContent = 'Stok Habis';
4131                    if (priceEl) priceEl.textContent = rupiah(finalPrice);
4132                }
4133            }
4134        
4135        const isMobile = window.initMobile ?? 0;
4136        if (window.instSetBasePrice) window.instSetBasePrice(v ? (isMobile == '1' ? v.ori : v.final) : 0);
4137        if (window.updateSoldBySku) window.updateSoldBySku(v.sku);
4138        updateBranchPopover(v);
4139        if (v && v.image_url && focusImage) focusGalleryByUrl(v.image_url);
4140        if (v) {
4141            window.dispatchEvent(new CustomEvent('pd-variant-changed', {
4142                detail: {
4143                    price: v.final,
4144                    originalPrice: v.ori,
4145                    discount: v.disc,
4146                    stock: effectiveStock,
4147                    sku: v.sku,
4148                    variant_id: v.id
4149                }
4150            }));
4151            
4152            const encodedHash = encodeVariantHash(v.id);
4153            if (encodedHash && window.history && window.history.replaceState) {
4154                const newHash = '#v=' + encodedHash;
4155                const newUrl = window.location.pathname + window.location.search + newHash;
4156                window.history.replaceState(null, '', newUrl);
4157            }
4158        }
4159    }
4160
4161    let sel = readSelection();
4162    if (autoFillMissing(sel)) sel = readSelection();
4163
4164    let v = findVariant(sel);
4165    if (!v) {
4166        const candidates = variants.filter(variant=>{
4167            return attrOrder.every(a=>{
4168                if (!sel[a]) return true;
4169                return variant.attrs[a] === sel[a];
4170            });
4171        });
4172        if (candidates.length >= 1) {
4173            v = candidates[0];
4174            attrOrder.forEach(a=> sel[a] = v.attrs[a]);
4175            attrOrder.forEach(a=>{
4176                const val = sel[a];
4177                const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`);
4178                if (input) input.checked = true;
4179            });
4180        }
4181    }
4182
4183    const initSel = readSelection();
4184    const initVar = findVariant(initSel) || variants[0] || null;
4185    if (document.readyState === 'loading') {
4186        document.addEventListener('DOMContentLoaded', () => applyVariant(initVar, false));
4187    } else {
4188        applyVariant(initVar, false);
4189    }
4190    
4191function updateSummary(sel){Object.entries(sel).forEach(([a,val])=>const el=document.getElementById('vs-'+a);if(el)el.textContent=val)}
4192    function refreshOptions(sel){
4193        attrOrder.forEach(a=>{
4194            const group = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"]`);
4195            if (!group) return;
4196            const chips = group.querySelectorAll('.v-chip');
4197            chips.forEach(ch=>{
4198                const val = ch.getAttribute('data-value');
4199                const possible = variants.some(v=>{
4200                    if (v.attrs[a] !== val) return false;
4201                    for (const a2 of attrOrder) {
4202                        if (a2 === a) continue;
4203                        if (sel[a2] && v.attrs[a2] !== sel[a2]) return false;
4204                    }
4205                    return true;
4206                });
4207                const input = ch.querySelector('input[type=radio]');
4208                const disabled = !possible;
4209                if (input) input.disabled = disabled;
4210                ch.classList.toggle('disabled', disabled);
4211
4212                let candidateVariant = null;
4213                if (possible) {
4214                    candidateVariant = variants.find(v=>{
4215                        if (v.attrs[a] !== val) return false;
4216                        for (const a2 of attrOrder) {
4217                            if (a2 === a) continue;
4218                            if (sel[a2] && v.attrs[a2] !== sel[a2]) return false;
4219                        }
4220                        return true;
4221                    });
4222                }
4223                const outOfStock = candidateVariant ? (window.isPreorderProduct && candidateVariant.preorder_remaining !== null ? candidateVariant.preorder_remaining <= 0 : candidateVariant.stock <= 0) : false;
4224                ch.classList.toggle('out', !disabled && outOfStock);
4225                const badge = ch.querySelector('.chip-badge');
4226                if (badge) badge.hidden = !(candidateVariant && outOfStock);
4227            });
4228            group.querySelectorAll('.v-chip').forEach(ch=>{
4229                const input = ch.querySelector('input[type=radio]');
4230                ch.classList.toggle('selected', input && input.checked);
4231            });
4232        });
4233    }
4234    updateSummary(sel);
4235    refreshOptions(sel);
4236    document.querySelectorAll('.v-chip').forEach(chip=>{const input=chip.querySelector('input[type=radio]');if(input&&input.checked){chip.classList.add('selected');}});
4237
4238    const container = document.getElementById('pd-variants');
4239    container && container.addEventListener('change', function(ev));
4240    
4241window.applyVariant=applyVariant;
4242})();
4243
4244(function cleanBrokenDescImages(){
4245    const containers = [
4246        document.querySelector('.pd-full-desc-body'),
4247        document.querySelector('.pd-short-desc')
4248    ].filter(Boolean);
4249
4250    containers.forEach(root => {
4251        const imgs = root.querySelectorAll('img');
4252        imgs.forEach(img => {
4253            if (img.complete && img.naturalWidth === 0) {
4254                img.remove();
4255                return;
4256            }
4257            img.addEventListener('error', () => {
4258                img.remove();
4259            }, { once:true });
4260        });
4261    });
4262})();
4263
4264/* ====== Scroll To Top ====== */
4265(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()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'})})})();
4266
4267/* Format stok 10+ */
4268function _0xk67l(n)0,10)
4269
4270/* Toggle popover stok per cabang */
4271(function _0xm89n(){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)0;b.style.left=(f.left+g-10)+'px';b.style.top=(f.bottom+h+10)+'px'else{b.style.left='';b.style.top=''}}
4272function 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)
4273a.addEventListener('click',function(h){h.preventDefault();b.classList.contains('show')?f():e()});if(c)c.addEventListener('click',f)})();
4274
4275/* ===== Share Product Modal ===== */
4276(function(){const a=document.getElementById('pd-share-btn'),z=document.getElementById('mf-share'),b=document.getElementById('pd-share-modal-overlay'),
4276c=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://dtg288aa.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=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:"SB0B3T"})}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:"SB0B3T"})}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)}})();
4277
4278/* ===== Embedding variants (server → client) ===== */
4279(function(){
4280  window.__PD_VARIANTS_WITH_BRANCH__ = [];
4281})();
4282
4283/* ===== Helper: update angka popover ===== */
4284function updateStockPopoverForVariant(v){
4285  try0));
4286    if (typeof v?.smf === 'number' && elMdf) elMdf.textContent = formatStockLabel(Math.max(0, v.smfcatch(_){}
4287}
4288
4289/* ===== applyVariant: 10+ dan update popover ===== */
4290(function patchApplyVariant(){
4291  if (typeof applyVariant !== 'function') return;
4292  const original = applyVariant;
4293  window.applyVariant = function(v){
4294    original(v);
4295    
4296    try {
4297      const elStock = document.getElementById('pd-stock-badge');
4298      if (elStock) '';
4299        let m = txt.match(/\d+/);
4300        if (m) '0',10)
4301      
4302    } catch(_){}
4303if(window.__PD_VARIANTS_WITH_BRANCH__&&v)
4304  };
4305})();
4306
4307(function initCurrentVariantBranch() [];
4308  if (!list.length) return;
4309  const hid = document.getElementById('pd-variant-id');
4310  const vid = hid ? parseInt(hid.value)();
4311
4312(function(){
4313    if (!window.ga4Ecomm) return;
4314    const catSegs = ["Komputer & Laptop","Laptop","Gaming"];
4315    window.ga4Ecomm.viewItem({
4316      currency: 'IDR',
4317      value: 20789000,
4318      item_id: "SB0B3T",
4319      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",
4320      item_brand: "Lenovo ",
4321      item_category: catSegs && catSegs.length ? catSegs.join(' / ') : ''
4322    });
4323  })();
4324  
4325(function patchApplyVariantFocus(){
4326  if (typeof applyVariant !== 'function') return;
4327  const original = applyVariant;
4328  window.applyVariant = function(v, focusImage = true){
4329    
4330    original(v, focusImage);
4331    
4332    if (focusImage && v && v.image_url) {
4333      _0xau1v(v.image_url);
4334    }
4335  };
4336})();
4337
4338(function() {
4339  var soldMap = [];
4340  var soldTotalLabel = "Terjual 2";
4341
4342  function formatSoldLabel(qty) {
4343    if (qty >= 1000000) {
4344      var v = Math.floor((qty / 100000) ) / 10;
4345      return 'Terjual ' + (String(v).replace('.', ',')) + 'jt+';
4346    }
4347    if (qty >= 1000) {
4348      var v2 = Math.floor((qty / 100) ) / 10;
4349      return 'Terjual ' + (String(v2).replace('.', ',')) + 'rb+';
4350    }
4351    if (qty >= 100) {
4352      var v2 = Math.floor((qty / 100) ) * 100;
4353      return 'Terjual ' + (String(v2).replace('.', ',')) + '+';
4354    }
4355    if (qty >= 10) {
4356      var v2 = Math.floor((qty / 10) ) * 10;
4357      return 'Terjual ' + (String(v2).replace('.', ',')) + '+';
4358    }
4359    return 'Terjual ' + (qty.toLocaleString('id-ID'));
4360  }
4361
4362  function updateSoldLabel(labelText) {
4363    var el = document.querySelector('#pd-sold-inline, [data-role="sold-chip"]');
4364    if (el) el.textContent = labelText;
4365  }
4366
4367  window.updateSoldBySku = function(sku) {
4368    if (!sku || typeof sku !== 'string') {
4369      updateSoldLabel(soldTotalLabel);
4370      return;
4371    }
4372    var qty = soldMap[sku] || 0;
4373    updateSoldLabel(formatSoldLabel(qty));
4374  };
4375
4376    updateSoldLabel(soldTotalLabel);
4377  })();
4378
4379(function(){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)}})}
4380function 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-8asp2-83n0000rid.webp",url:window.location.href};if(variantId>0){pd.variant_id=variantId}if(variantSummary){pd.variant_summary=variantSummary}return pd}
4381const 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}});
4381function formatRupiah(n){return'Rp'+Math.floor(n).toLocaleString('id-ID')}})();
4382
4383(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='#22c55e';setTimeout(function(){mcp.textContent=o;mcp.style.background=''},2000)}function fr(a){return'Rp'+Math.floor(a).toLocaleString('id-ID')}})();
4384</script>
vendor: 1 bytes, line 4384
4384
4385<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
4386window.PD_ID=325;window.PD_NAME=_0x3c4d;window.PD_SKU=_0x5e6f;window.PD_CATEGORY_PATH="Komputer & Laptop/Laptop/Gaming";window.PD_BEST_VOUCHER=null;
4387window.IS_DIGITAL=IS_DIGITAL;
4388window.isPreorderProduct=false;
4389window.PD_PREORDER_DATA=null;
4390</script>
4390
4391
4392<script src="https://playsavenow.com/assets/plazait/js/pd-lightbox.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4392
4392
4393<script src="https://playsavenow.com/assets/plazait/js/cart.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4393
4393
4394<script src="https://playsavenow.com/assets/plazait/js/stock-validator-vanilla.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4394
4394
4395<script src="https://playsavenow.com/assets/plazait/js/pd-addtocart.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4395
4395
4396<script src="https://playsavenow.com/assets/plazait/js/pd-buynow.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4396
4396
4397<script src="https://playsavenow.com/assets/plazait/js/pd-voucher-recalc.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4397
4398
4399<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
4400(function(){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'}})}}
4401
4402function _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()}})();
4403
4404(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>0?`<span class="pwp-deal-badge">-${discountPercent}%</span>`:''}`;grid.appendChild(card)})})}function escapeHtml(str)'';return div.innerHTMLloadPWPDeals();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()}})})();
4405</script>
4405<footer class="site-footer footer-compact variant-stripes" role="contentinfo">
4406  <div class="ft-top ft-collapsible" id="ftTop">
4407    <div class="container ft-grid">
4408
4409      <div class="ft-col ft-help">
4410        <h4 class="ft-title">Butuh Bantuan?</h4>
4411        <p class="ft-desc">Hubungi kami melalui Official WhatsApp interaktif sekarang.</p>
4412        <a class="ft-wa-btn" href="#" target="_blank" rel="nofollow noopener">
4413          <span class="ico" aria-hidden="true">
4414            <svg viewBox="0 0 24 24" width="18" height="18"><path fill="#25D366" 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></svg>
4415          </span>
4416          Kirim Pesan
4417        </a>
4418
4419        <p class="ft-desc sm-gap">Ikuti kami:</p>
4420        <div class="ft-social">
4421          <a aria-label="Facebook" href="https://facebook.com/PlazaIt/"><svg viewBox="0 0 24 24" width="18" height="18"><path fill="currentColor" 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></svg></a>
4422          <a aria-label="Instagram" href="https://www.instagram.com/plazait"><svg viewBox="0 0 24 24" width="18" height="18"><path fill="currentColor" 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
4422V7.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></svg></a>
4423          <a aria-label="TikTok" href="https://www.tiktok.com/@plazait"><svg viewBox="0 0 24 24" width="18" height="18"><path fill="currentColor" 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></svg></a>
4424        </div>
4425      </div>
4426
4427            <!-- Collapsible Content Wrapper (Non-Homepage Only) -->
4428      <div class="ft-collapsible-content" id="ftCollapsible">
4429      
4430      <div class="ft-col">
4431        <h4 class="ft-title">Tentang DTG288</h4>
4432        <ul class="ft-links">
4433          <li><a href="/tentang-kami">Tentang Kami</a></li>
4434          <li><a href="/kontak-kami">Kontak Kami</a></li>
4435          <li><a href="/lokasi-toko">Lokasi Toko</a></li>
4436          <li><a href="/faq">FAQ</a></li>
4437        </ul>
4438        <div class="ft-address">
4439          <p class="company">DTG288</p>
4440      </div>
4441
4442      <div class="ft-col">
4443        <h4 class="ft-title">Informasi</h4>
4444        <ul class="ft-links">
4445          <li><a href="/syarat-dan-ketentuan">Syarat &amp; Ketentuan</a></li>
4446          <li><a href="/kebijakan-privasi">Kebijakan Privasi</a></li>
4447          <li><a href="/kebijakan-cookie">Kebijakan Cookie</a></li>
4448          <li><a href="/pengiriman-dan-pengembalian">Pengiriman &amp; Pengembalian</a></li>
4449          <li><a href="/pembayaran-dan-cicilan">Pembayaran &amp; Cicilan</a></li>
4450          <li><a href="/garansi-dan-layanan">Garansi &amp; Layanan</a></li>
4451        </ul>
4452
4453        <div class="ft-payments payments-small" aria-label="Metode Pembayaran">
4454          <div class="pay-row">
4455            <img src="https://plazaitdotid.pages.dev/assets/img/payments/mandiri.svg" alt="Mandiri" loading="lazy">
4456            <img src="https://plazaitdotid.pages.dev/assets/img/payments/bni.svg" alt="BNI" loading="lazy">
4457            <img src="https://plazaitdotid.pages.dev/assets/img/payments/bri.svg" alt="BRI" loading="lazy">
4458            <img src="https://plazaitdotid.pages.dev/assets/img/payments/bsi.svg" alt="BSI" loading="lazy">
4459            <img src="https://plazaitdotid.pages.dev/assets/img/payments/cimb-logo.svg" alt="ShopeePay" loading="lazy">
4460          </div>
4461        </div>
4462      </div>
4463
4464            </div>
4465      <!-- End Collapsible Content -->
4466      
4467      <!-- Expand Button (Mobile Only) -->
4468      <button class="ft-expand-btn" id="ftExpandBtn" aria-label="Lihat semua informasi footer">
4469        <span class="expand-text">Selengkapnya</span>
4470        <svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor">
4471          <path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"></path>
4472        </svg>
4473      </button>
4474      
4475    </div>
4476  </div>
4477  <div class="ft-bottom">
4478    <div class="container ft-bottom-inner">
4479      <div class="ft-copy">
4480        <span>TERNAK BOLA © <span id="yearNow">2026</span></span>
4481        <span>PT TERNAK-BOLA. All rights reserved.</span>
4482      </div>
4483    </div>
4484  </div>
4485  
4486          <style nonce="se3iyzEHMc9FQEB4wSyd0w==">
4487            /* Chat Widget Styles - Lightweight & Minimal */
4488            .chat-widget {
4489                position: fixed;
4490                bottom: 20px;
4491                right: 20px;
4492                z-index: 9999;
4493                font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
4494            }
4495            
4496            /* Hide floating button on mobile - use bottom nav instead */
4497            @media (max-width: 640px) {
4498                .chat-toggle-btn {
4499                    display: none !important;
4500                }
4501                
4502                /* Ensure popup is still visible on mobile even when button is hidden */
4503                .chat-widget {
4504                    display: block !important;
4505                }
4506                
4507                .chat-popup {
4508                    display: none; /* Hidden by default, shown via JS */
4509                }
4510                
4511                .chat-popup[style*="display: block"],
4512                .chat-popup[style*="display:block"] {
4513                    display: block !important;
4514                }
4515            }
4516            
4517            .chat-toggle-btn {
4518                width: 60px;
4519                height: 60px;
4520                border-radius: 50%;
4521                background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
4522                border: none;
4523                color: white;
4524                cursor: pointer;
4525                box-shadow: 0 4px 12px rgba(242, 140, 26, 0.3);
4526                position: relative;
4527                transition: transform 0.2s, box-shadow 0.2s;
4528            }
4529            
4530            .chat-toggle-btn:hover {
4531                transform: scale(1.05);
4532                box-shadow: 0 6px 20px rgba(242, 140, 26, 0.4);
4533            }
4534            
4535            #chat-toggle-btn .chat-icon {
4536                position: absolute;
4537                top: 50%;
4538                left: 50%;
4539                transform: translate(-50%, -50%);
4540                width: 28px !important;
4541                height: 28px !important;
4542            }
4543            
4544            .chat-unread-badge {
4545                position: absolute;
4546                top: -5px;
4547                right: -5px;
4548                background: #ef4444;
4549                color: white;
4550                border-radius: 12px;
4551                padding: 2px 6px;
4552                font-size: 11px;
4553                font-weight: 600;
4554                min-width: 20px;
4555                text-align: center;
4556            }
4557            
4558            .chat-popup {
4559                position: absolute;
4560                bottom: 80px;
4561                right: 0;
4562                width: 380px;
4563                max-width: calc(100vw - 40px);
4564                height: 500px;
4565                max-height: calc(100vh - 120px);
4566                background: white;
4567                border-radius: 12px;
4568                box-shadow: 0 10px 40px rgba(0,0,0,0.2);
4569                display: flex;
4570                flex-direction: column;
4571                overflow: hidden;
4572            }
4573            
4574            .chat-popup-header {
4575                background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
4576                color: white;
4577                padding: 16px 20px;
4578                display: flex;
4579                justify-content: space-between;
4580                align-items: center;
4581                flex-shrink: 0;
4582            }
4583            
4584            .chat-header-title {
4585                display: flex;
4586                flex-direction: column;
4587                gap: 2px;
4588                min-height: 0;
4589            }
4590            
4591            .chat-popup-header h3 {
4592                margin: 0;
4593                font-size: 18px;
4594                font-weight: 600;
4595                line-height: 1.2;
4596            }
4597            
4598            .chat-operating-hours {
4599                font-size: 11px;
4600                opacity: 0.9;
4601                font-weight: 400;
4602                display: flex;
4603                align-items: center;
4604                gap: 4px;
4605                line-height: 1.2;
4606            }
4607            
4608            .chat-operating-hours svg {
4609                width: 12px;
4610                height: 12px;
4611                opacity: 0.8;
4612                flex-shrink: 0;
4613            }
4614            
4615            .chat-header-actions {
4616                display: flex;
4617                align-items: center;
4618                gap: 8px;
4619            }
4620            
4621            /* Notification Toggle Button */
4622            .btn-notif-toggle {
4623                background: none;
4624                border: none;
4625                color: white;
4626                font-size: 18px;
4627                cursor: pointer;
4628                padding: 4px 8px;
4629                transition: all 0.2s;
4630                opacity: 0.8;
4631            }
4632            
4633            .btn-notif-toggle:hover {
4634                opacity: 1;
4635                transform: scale(1.1);
4636            }
4637            
4638            /* Icon states */
4639            .btn-notif-toggle[data-status="not-subscribed"] svg {
4640                opacity: 0.7;
4641            }
4642            
4643            .btn-notif-toggle[data-status="not-subscribed"]:hover svg {
4644                opacity: 1;
4645            }
4646            
4647            .btn-notif-toggle[data-status="subscribed"] svg {
4648                opacity: 1;
4649                animation: bellRing 2s ease-in-out;
4650            }
4651            
4652            .btn-notif-toggle[data-status="blocked"] svg {
4653                color: #ff6b6b;
4654            }
4655            
4656            .btn-notif-toggle[data-status="not-supported"] {
4657                display: none !important;
4658            }
4659            
4660            @keyframes bellRing {
4661                0%, 100% { transform: rotate(0deg); }
4662                10%, 30% { transform: rotate(-10deg); }
4663                20%, 40% { transform: rotate(10deg); }
4664            }
4665            
4666            /* Notification Info Bar */
4667            .chat-notif-info-bar {
4668                position: absolute;
4669                top: 64px;
4670                left: 0;
4671                right: 0;
4672                background: linear-gradient(to right, #e3f2fd, #f5f5f5);
4673                border-bottom: 1px solid #bbdefb;
4674                padding: 8px 12px;
4675                display: flex;
4676                align-items: center;
4677                gap: 8px;
4678                font-size: 12px;
4679                color: #616161;
4680                z-index: 10;
4681                animation: slideDown 0.3s ease;
4682            }
4683            
4684            .chat-notif-info-bar svg {
4685                flex-shrink: 0;
4686            }
4687            
4688            .chat-notif-info-bar .small {
4689                flex: 1;
4690                line-height: 1.4;
4691            }
4692            
4693            .chat-notif-info-bar .btn-dismiss {
4694                background: none;
4695                border: none;
4696                color: #9e9e9e;
4697                cursor: pointer;
4698                padding: 0 4px;
4699                font-size: 16px;
4700                transition: color 0.2s;
4701            }
4702            
4703            .chat-notif-info-bar .btn-dismiss:hover {
4704                color: #616161;
4705            }
4706            
4707            @keyframes slideDown {
4708                from {
4709                    max-height: 0;
4710                    opacity: 0;
4711                }
4712                to {
4713                    max-height: 50px;
4714                    opacity: 1;
4715                }
4716            }
4717            
4718            .chat-close-btn {
4719                background: none;
4720                border: none;
4721                color: white;
4722                font-size: 28px;
4723                line-height: 1;
4724                cursor: pointer;
4725                padding: 0;
4726                width: 30px;
4727                height: 30px;
4728            }
4729            
4730            .chat-popup-body {
4731                flex: 1 1 auto;
4732                display: flex;
4733                flex-direction: column;
4734                min-height: 0;
4735                overflow: hidden;
4736                height: calc(100% - 64px);
4737                position: relative;
4738                transition: padding-top 0.3s ease;
4739            }
4740            
4741            /* Add padding when info bar is visible */
4742            .chat-popup-body.has-info-bar {
4743                padding-top: 40px;
4744            }
4745            
4746            .chat-view {
4747                flex: 1 1 auto;
4748                display: none;
4749                flex-direction: column;
4750                min-height: 0;
4751                overflow: hidden;
4752            }
4753            
4754            #chat-list-view {
4755                display: flex;
4756            }
4757            
4758            #chat-messages-view {
4759                display: none;
4760            }
4761            
4762            #chat-messages-view.active {
4763                display: flex;
4764                flex-direction: column;
4765            }
4766            
4767            #chat-new-view {
4768                display: none;
4769            }
4770            
4771            #chat-new-view.active {
4772                display: flex;
4773            }
4774            
4775            .chat-conversations-list {
4776                flex: 1;
4777                overflow-y: auto;
4778                padding: 0;
4779                background: white;
4780            }
4781            
4782            /* Custom Scrollbar for Conversations List */
4783            .chat-conversations-list::-webkit-scrollbar {
4784                width: 6px;
4785            }
4786            
4787            .chat-conversations-list::-webkit-scrollbar-track {
4788                background: #f1f1f1;
4789            }
4790            
4791            .chat-conversations-list::-webkit-scrollbar-thumb {
4792                background: #F28C1A;
4793                border-radius: 3px;
4794            }
4795            
4796            .chat-conversations-list::-webkit-scrollbar-thumb:hover {
4797                background: #D97809;
4798            }
4799            
4800            /* Firefox */
4801            .chat-conversations-list {
4802                scrollbar-width: thin;
4803                scrollbar-color: #F28C1A #f1f1f1;
4804            }
4805            
4806            .chat-conversation-item {
4807                padding: 12px 16px;
4808                cursor: pointer;
4809                display: flex;
4810                gap: 12px;
4811                align-items: flex-start;
4812                transition: background 0.15s ease;
4813                color: #33371f;
4814                border-bottom: 1px solid #f0f0f0;
4815            }
4816            
4817            .chat-conversation-item:hover {
4818                background: #f5f5f5;
4819            }
4820            
4821            .chat-conversation-item.active {
4822                background: #FFF5EB;
4823            }
4824            
4825            /* WhatsApp-like Avatar */
4826            .conversation-avatar {
4827                width: 48px;
4828                height: 48px;
4829                border-radius: 50%;
4830                background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
4831                flex-shrink: 0;
4832                display: flex;
4833                align-items: center;
4834                justify-content: center;
4835                color: white;
4836                font-weight: 600;
4837                font-size: 18px;
4838            }
4839            
4840            .conversation-avatar svg {
4841                width: 24px;
4842                height: 24px;
4843            }
4844            
4845            /* WhatsApp-like Content */
4846            .conversation-content {
4847                flex: 1;
4848                min-width: 0;
4849                display: flex;
4850                flex-direction: column;
4851                gap: 4px;
4852            }
4853            
4854            .conversation-header {
4855                display: flex;
4856                justify-content: space-between;
4857                align-items: center;
4858                gap: 8px;
4859            }
4860            
4861            .conversation-name {
4862                font-weight: 600;
4863                font-size: 15px;
4864                color: #111;
4865                white-space: nowrap;
4866                overflow: hidden;
4867                text-overflow: ellipsis;
4868            }
4869            
4870            .conversation-time {
4871                font-size: 12px;
4872                color: #7d8166;
4873                flex-shrink: 0;
4874            }
4875            
4876            .conversation-preview {
4877                display: flex;
4878                justify-content: space-between;
4879                align-items: center;
4880                gap: 8px;
4881            }
4882            
4883            .conversation-message {
4884                font-size: 14px;
4885                color: #667781;
4886                white-space: nowrap;
4887                overflow: hidden;
4888                text-overflow: ellipsis;
4889                margin: 0;
4890                flex: 1;
4891            }
4892            
4893            .conversation-unread {
4894                background: #25D366;
4895                color: white;
4896                border-radius: 12px;
4897                padding: 2px 8px;
4898                font-size: 12px;
4899                font-weight: 600;
4900                min-width: 20px;
4901                text-align: center;
4902                flex-shrink: 0;
4903            }
4904            
4905            /* Active item styling */
4906            .chat-conversation-item.active .conversation-name {
4907                color: #F28C1A;
4908            }
4909            
4910            .chat-conversation-item.active .conversation-time {
4911                color: #F28C1A;
4912            }
4913            
4914            .chat-new-btn {
4915                margin: 12px;
4916                padding: 12px;
4917                background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
4918                color: white;
4919                border: none;
4920                border-radius: 8px;
4921                cursor: pointer;
4922                font-weight: 500;
4923                font-size: 14px;
4924                display: flex;
4925                align-items: center;
4926                justify-content: center;
4927                gap: 8px;
4928                transition: all 0.2s;
4929                flex-shrink: 0;
4930            }
4931            
4932            .chat-new-btn:hover {
4933                transform: translateY(-1px);
4934                box-shadow: 0 4px 8px rgba(242, 140, 26, 0.3);
4935            }
4936            
4937            .chat-conversation-title {
4938                flex: 1;
4939                font-weight: 600;
4940                font-size: 16px;
4941                color: #1f2937;
4942            }
4943            
4944            .chat-messages-container {
4945                flex: 1;
4946                overflow-y: auto;
4947                padding: 16px;
4948                display: flex;
4949                flex-direction: column;
4950                gap: 8px;
4951                min-height: 0;
4952                background: #E5DDD5;
4953            }
4954            
4955            /* Custom Scrollbar for Messages Container */
4956            .chat-messages-container::-webkit-scrollbar {
4957                width: 6px;
4958            }
4959            
4960            .chat-messages-container::-webkit-scrollbar-track {
4961                background: rgba(0, 0, 0, 0.05);
4962            }
4963            
4964            .chat-messages-container::-webkit-scrollbar-thumb {
4965                background: rgba(242, 140, 26, 0.6);
4966                border-radius: 3px;
4967            }
4968            
4969            .chat-messages-container::-webkit-scrollbar-thumb:hover {
4970                background: #F28C1A;
4971            }
4972            
4973            /* Firefox */
4974            .chat-messages-container {
4975                scrollbar-width: thin;
4976                scrollbar-color: rgba(242, 140, 26, 0.6) rgba(0, 0, 0, 0.05);
4977            }
4978            
4979            /* WhatsApp Group-like Messages */
4980            .chat-message {
4981                display: flex;
4982                margin-bottom: 4px;
4983                animation: fadeIn 0.2s ease;
4984            }
4985            
4986            @keyframes fadeIn {
4987                from { opacity: 0; transform: translateY(10px); }
4988                to { opacity: 1; transform: translateY(0); }
4989            }
4990            
4991            .chat-message.mine {
4992                justify-content: flex-end;
4993            }
4994            
4995            .chat-message-bubble {
4996                max-width: 80%;
4997                padding: 6px 8px 8px 10px;
4998                border-radius: 8px;
4999                position: relative;
5000                box-shadow: 0 1px 0.5px rgba(0,0,0,0.13);
5001            }
5002            
5003            /* Bubble from others (Admin/CS) */
5004            .chat-message:not(.mine) .chat-message-bubble {
5005                background: #FFFFFF;
5006                border-radius: 0 8px 8px 8px;
5007            }
5008            
5009            /* Bubble tail for others */
5010            .chat-message:not(.mine) .chat-message-bubble::before {
5011                content: '';
5012                position: absolute;
5013                top: 0;
5014                left: -8px;
5015                width: 0;
5016                height: 0;
5017                border-style: solid;
5018                border-width: 0 8px 13px 0;
5019                border-color: transparent #FFFFFF transparent transparent;
5020            }
5021            
5022            /* Bubble from user (mine) */
5023            .chat-message.mine .chat-message-bubble {
5024                background: #e4f5d0; /* Light blue for user messages */
5025                border-radius: 8px 0 8px 8px;
5026            }
5027            
5028            /* Bubble tail for mine */
5029            .chat-message.mine .chat-message-bubble::before {
5030                content: '';
5031                position: absolute;
5032                top: 0;
5033                right: -8px;
5034                width: 0;
5035                height: 0;
5036                border-style: solid;
5037                border-width: 0 0 13px 8px;
5038                border-color: transparent transparent transparent #eaf5d0;
5039            }
5040            
5041            .message-sender {
5042                font-size: 12.5px;
5043                font-weight: 600;
5044                color: #F28C1A !important;
5045                margin-bottom: 4px;
5046            }
5047            
5048            .chat-message.mine .message-sender {
5049                display: none;
5050            }
5051            
5052            /* Message text */
5053            .message-text {
5054                font-size: 14px;
5055                line-height: 19px;
5056                color: #ffffff !important;
5057                word-wrap: break-word;
5058                white-space: pre-wrap;
5059                margin-bottom: 4px;
5060            }
5061            
5062            /* Message metadata (time + status) */
5063            .message-meta {
5064                display: flex;
5065                align-items: center;
5066                justify-content: flex-end;
5067                gap: 4px;
5068                margin-top: 2px;
5069            }
5070            
5071            .message-time {
5072                font-size: 11px;
5073                color: #728166 !important;
5074                line-height: 15px;
5075            }
5076            
5077            /* Use multiple selectors to override global styles */
5078            .chat-message-bubble .message-status,
5079            .message-meta .message-status,
5080            .chat-message .message-status {
5081                width: 16px !important;
5082                height: 16px !important;
5083                min-width: 16px !important;
5084                min-height: 16px !important;
5085                max-width: 16px !important;
5086                max-height: 16px !important;
5087                flex-shrink: 0;
5088                color: #728166 !important;
5089                fill: currentColor !important;
5090            }
5091            
5092            .chat-message:not(.mine) .message-status {
5093                display: none;
5094            }
5095            
5096            /* Loading dots animation */
5097            @keyframes loadingDots {
5098                0%, 20% { content: '.'; }
5099                40% { content: '..'; }
5100                60%, 100% { content: '...'; }
5101            }
5102            
5103            .message-status.loading::after {
5104                content: '...';
5105                animation: loadingDots 1.5s infinite;
5106                font-size: 16px;
5107                line-height: 16px;
5108            }
5109            
5110            .message-status.loading path {
5111                display: none;
5112            }
5113            
5114            .message-status.failed {
5115                color: #ef4444 !important;
5116                cursor: pointer;
5117            }
5118            
5119            .message-status.sent {
5120                color: #667781 !important;
5121            }
5122            
5123            .chat-new-form {
5124                flex: 1;
5125                overflow-y: auto;
5126                padding: 16px;
5127                display: flex;
5128                flex-direction: column;
5129            }
5130            
5131            .chat-new-form form {
5132                display: flex;
5133                flex-direction: column;
5134                gap: 16px;
5135                flex: 1;
5136            }
5137            
5138            .chat-new-form .form-group {
5139                display: flex;
5140                flex-direction: column;
5141                gap: 6px;
5142            }
5143            
5144            .chat-new-form label {
5145                font-size: 14px;
5146                font-weight: 500;
5147                color: #374151;
5148            }
5149            
5150            .chat-new-form .form-control {
5151                width: 100%;
5152                padding: 10px 12px;
5153                border: 1px solid #d1d5db;
5154                border-radius: 8px;
5155                font-size: 14px;
5156                font-family: inherit;
5157                transition: border-color 0.2s;
5158                box-sizing: border-box;
5159            }
5160            
5161            .chat-new-form .form-control:focus {
5162                outline: none;
5163                border-color: #F28C1A;
5164                box-shadow: 0 0 0 3px rgba(242, 140, 26, 0.1);
5165            }
5166            
5167            .chat-new-form textarea.form-control {
5168                resize: vertical;
5169                min-height: 100px;
5170            }
5171            
5172            .chat-new-form .btn {
5173                padding: 12px 20px;
5174                border: none;
5175                border-radius: 8px;
5176                font-size: 15px;
5177                font-weight: 500;
5178                cursor: pointer;
5179                transition: all 0.2s;
5180                text-align: center;
5181            }
5182            
5183            .chat-new-form .btn-primary {
5184                background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
5185                color: white;
5186            }
5187            
5188            .chat-new-form .btn-primary:hover {
5189                transform: translateY(-1px);
5190                box-shadow: 0 4px 8px rgba(242, 140, 26, 0.3);
5191            }
5192            
5193            .chat-new-form .btn-primary:active {
5194                transform: scale(0.98);
5195            }
5196            
5197            .chat-new-form .btn-block {
5198                width: 100%;
5199                margin-top: auto;
5200            }
5201            
5202            .chat-message-form {
5203                padding: 12px;
5204                border-top: 1px solid #e5e7eb;
5205                display: flex;
5206                flex-wrap: wrap;
5207                gap: 8px;
5208                align-items: flex-end;
5209                flex-shrink: 0;
5210                background: white;
5211            }
5212            
5213            .chat-product-card {
5214                flex: 1 1 100%;
5215                max-width: 100%;
5216                display: flex;
5217                gap: 12px;
5218                padding: 12px;
5219                background: #f3f4f6;
5220                border-radius: 8px;
5221                margin-bottom: 4px;
5222                border: 1px solid #e5e7eb;
5223            }
5224            
5225            .chat-product-card img {
5226                width: 60px;
5227                height: 60px;
5228                object-fit: cover;
5229                border-radius: 6px;
5230                flex-shrink: 0;
5231            }
5232            
5233            .chat-product-card-content {
5234                flex: 1;
5235                min-width: 0;
5236            }
5237            
5238            .chat-product-card-name {
5239                font-weight: 500;
5240                font-size: 14px;
5241                color: #1f2937;
5242                margin-bottom: 4px;
5243                white-space: nowrap;
5244                overflow: hidden;
5245                text-overflow: ellipsis;
5246            }
5247            
5248            .chat-product-card-variant {
5249                font-size: 12px;
5250                color: #74806b;
5251                margin-bottom: 4px;
5252            }
5253            
5254            .chat-product-card-price {
5255                font-size: 13px;
5256                color: #8bea66;
5257                font-weight: 600;
5258            }
5259            
5260            .chat-product-card-remove {
5261                align-self: flex-start;
5262                background: none;
5263                border: none;
5264                color: #9ca3af;
5265                cursor: pointer;
5266                padding: 4px;
5267                font-size: 18px;
5268                line-height: 1;
5269                transition: color 0.2s;
5270            }
5271            
5272            .chat-product-card-remove:hover {
5273                color: #ef4444;
5274            }
5275            
5276            /* Product card in messages (read-only display) */
5277            .message-product-card {
5278                display: flex;
5279                gap: 10px;
5280                padding: 10px;
5281                background: rgba(255, 255, 255, 0.5);
5282                border-radius: 8px;
5283                margin-bottom: 6px;
5284                border: 1px solid rgba(0, 0, 0, 0.08);
5285                align-items: center;
5286            }
5287            
5288            .chat-message.mine .message-product-card {
5289                background: rgba(255, 255, 255, 0.7);
5290            }
5291            
5292            .message-product-card img {
5293                width: 50px;
5294                height: 50px;
5295                object-fit: cover;
5296                border-radius: 6px;
5297                flex-shrink: 0;
5298            }
5299            
5300            .message-product-info {
5301                flex: 1;
5302                min-width: 0;
5303            }
5304            
5305            .message-product-name {
5306                font-weight: 500;
5307                font-size: 13px;
5308                color: #33371f;
5309                margin-bottom: 2px;
5310                overflow: hidden;
5311                text-overflow: ellipsis;
5312                display: -webkit-box;
5313                -webkit-line-clamp: 2;
5314                -webkit-box-orient: vertical;
5315                line-height: 1.3;
5316            }
5317            
5318            .message-product-variant {
5319                font-size: 11px;
5320                color: #78806b;
5321                margin-bottom: 2px;
5322            }
5323            
5324            .message-product-price {
5325                font-size: 12px;
5326                color: #c7ea66;
5327                font-weight: 600;
5328            }
5329            
5330            .message-product-link {
5331                flex-shrink: 0;
5332                width: 32px;
5333                height: 32px;
5334                display: flex;
5335                align-items: center;
5336                justify-content: center;
5337                background: rgba(102, 126, 234, 0.1);
5338                border-radius: 6px;
5339                color: #c7ea66;
5340                text-decoration: none;
5341                transition: all 0.2s;
5342            }
5343            
5344            .message-product-link:hover {
5345                background: #b7ea66;
5346                color: white;
5347            }
5348            
5349            .message-product-link svg {
5350                width: 16px;
5351                height: 16px;
5352            }
5353            
5354            .chat-message-input {
5355                flex: 1;
5356                border: 1px solid #d1d5db;
5357                border-radius: 20px;
5358                padding: 10px 16px;
5359                resize: none;
5360                max-height: 100px;
5361                font-family: inherit;
5362                font-size: 14px;
5363                line-height: 1.5;
5364                box-sizing: border-box;
5365                overflow-y: hidden;
5366            }
5367            
5368            .chat-message-input:focus {
5369                outline: none;
5370                border-color: #F28C1A;
5371                box-shadow: 0 0 0 3px rgba(242, 140, 26, 0.1);
5372            }
5373            
5374            .chat-send-btn {
5375                width: 40px;
5376                height: 40px;
5377                border-radius: 50%;
5378                background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%);
5379                border: none;
5380                color: white;
5381                cursor: pointer;
5382                flex-shrink: 0;
5383                display: flex;
5384                align-items: center;
5385                justify-content: center;
5386                transition: all 0.2s;
5387            }
5388            
5389            .chat-send-btn:hover {
5390                transform: scale(1.05);
5391                box-shadow: 0 2px 8px rgba(242, 140, 26, 0.3);
5392            }
5393            
5394            .chat-send-btn:active {
5395                transform: scale(0.95);
5396            }
5397            
5398            .chat-loading {
5399                text-align: center;
5400                padding: 20px;
5401                color: #6b7280;
5402            }
5403            
5404            /* Date Separator (WhatsApp-style) */
5405            .date-separator {
5406                display: flex;
5407                align-items: center;
5408                gap: 12px;
5409                margin: 24px 0 16px;
5410                opacity: 0;
5411                animation: fadeInSeparator 0.3s ease forwards;
5412            }
5413
5414            @keyframes fadeInSeparator {
5415                from {
5416                    opacity: 0;
5417                    transform: translateY(-10px);
5418                }
5419                to {
5420                    opacity: 1;
5421                    transform: translateY(0);
5422                }
5423            }
5424
5425            .date-separator-line {
5426                flex: 1;
5427                height: 1px;
5428                background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.1) 50%, transparent);
5429            }
5430
5431            .date-separator-text {
5432                flex-shrink: 0;
5433                padding: 4px 12px;
5434                background: #e9ecef;
5435                color: #6c757d;
5436                font-size: 11px;
5437                font-weight: 600;
5438                text-transform: uppercase;
5439                letter-spacing: 0.5px;
5440                border-radius: 12px;
5441                box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
5442            }
5443            
5444            /* Mobile responsive */
5445            @media (max-width: 640px) {
5446                .chat-popup {
5447                    position: fixed !important; /* Override absolute positioning */
5448                    bottom: 45px !important; /* Above bottom nav */
5449                    right: 0 !important;
5450                    left: 0 !important;
5451                    width: 100% !important;
5452                    max-width: 100% !important;
5453                    /* Use dvh (dynamic viewport height) for browser UI awareness */
5454                    height: calc(100dvh - 45px) !important;
5455                    max-height: calc(100dvh - 45px) !important;
5456                    /* Fallback for browsers that don't support dvh */
5457                    height: calc(var(--viewport-height, 100vh) - 45px) !important;
5458                    max-height: calc(var(--viewport-height, 100vh) - 45px) !important;
5459                    border-radius: 0 !important;
5460                    z-index: 9999 !important;
5461                }
5462                
5463                .chat-popup-header {
5464                    border-radius: 0;
5465                }
5466                
5467                .chat-messages-container,
5468                .chat-conversations-list {
5469                    /* Adjust for mobile keyboard using dynamic viewport */
5470                    max-height: calc(100dvh - 190px);
5471                    /* Fallback for browsers that don't support dvh */
5472                    max-height: calc(var(--viewport-height, 100vh) - 190px);
5473                }
5474            }
5475        </style>
5476
5477            <div id="chat-popup" class="chat-popup" style="display: none;">
5478                <div class="chat-popup-header">
5479                    <div class="chat-header-title">
5480                        <h3>Bantuan</h3>
5481                        <span id="chatOperatingHours" class="chat-operating-hours" style="display: none;"></span>
5482                    </div>
5483                    <div class="chat-header-actions">
5484                        <button id="chatNotifToggle" class="btn-notif-toggle" data-status="not-supported" title="Push notification" style="display: none;">
5485                            <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
5486                                <path 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>
5487                            </svg>
5488                        </button>
5489                        <button id="chat-close-btn" class="chat-close-btn" aria-label="Close chat">×</button>
5490                    </div>
5491                </div>
5492                
5493                <!-- Notification Info Bar (conditional) -->
5494                <div class="chat-notif-info-bar" id="chatNotifInfoBar" style="display:none;">
5495                    <svg width="14" height="14" viewBox="0 0 24 24" fill="#ffc107">
5496                        <path 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>
5497                    </svg>
5498                    <span class="small">Aktifkan notifikasi untuk pemberitahuan balasan</span>
5499                    <button class="btn-dismiss" onclick="ChatNotification.dismissInfo()">✕</button>
5500                </div>
5501                
5502                <div class="chat-popup-body">
5503                    <!-- Conversations List View -->
5504                    <div id="chat-list-view" class="chat-view">
5505                        <div id="chat-conversations-list" class="chat-conversations-list">
5506                            <div class="chat-loading">Memuat...</div>
5507                            <!-- Conversation Item Structure (rendered by JS):
5508                            <div class="chat-conversation-item">
5509                                <div class="conversation-avatar">
5510                                    <svg>...</svg>
5511                                </div>
5512                                <div class="conversation-content">
5513                                    <div class="conversation-header">
5514                                        <span class="conversation-name">Admin Support</span>
5515                                        <span class="conversation-time">10:30</span>
5516                                    </div>
5517                                    <div class="conversation-preview">
5518                                        <p class="conversation-message">Terima kasih telah menghubungi kami...</p>
5519                                        <span class="conversation-unread">2</span>
5520                                    </div>
5521                                </div>
5522                            </div>
5523                            -->
5524                        </div>
5525                        <button id="chat-new-btn" class="chat-new-btn">
5526                            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
5527                                <line x1="12" y1="5" x2="12" y2="19"></line>
5528                                <line x1="5" y1="12" x2="19" y2="12"></line>
5529                            </svg>
5530                            Percakapan Baru
5531                        </button>
5532                    </div>
5533                    
5534                    <!-- Chat Messages View -->
5535                    <div id="chat-messages-view" class="chat-view" style="display: none;">
5536                        <div id="chat-messages-container" class="chat-messages-container">
5537                            <div class="chat-loading">Memuat pesan...</div>
5538                            <!-- Message Structure (rendered by JS):
5539                            <div class="chat-message"> (or .chat-message.mine)
5540                                <div class="chat-message-bubble">
5541                                    <div class="message-sender">Admin Support</div> (only for non-mine)
5542                                    <div class="message-text">
5542Halo, ada yang bisa dibantu?</div>
5543                                    <div class="message-meta">
5544                                        <span class="message-time">10:30</span>
5545                                        <svg class="message-status">...</svg> (only for mine)
5546                                    </div>
5547                                </div>
5548                            </div>
5549                            -->
5550                        </div>
5551                        
5552                        <form id="chat-message-form" class="chat-message-form">
5553                            <input type="hidden" id="chat-current-conversation-id" value="">
5554                            <textarea id="chat-message-input" class="chat-message-input" placeholder="Ketik pesan..." rows="1" maxlength="5000"></textarea>
5555                            <button type="submit" class="chat-send-btn" aria-label="Send message">
5556                                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
5557                                    <line x1="22" y1="2" x2="11" y2="13"></line>
5558                                    <polygon points="22 2 15 22 11 13 2 9 22 2"></polygon>
5559                                </svg>
5560                            </button>
5561                        </form>
5562                    </div>
5563                    
5564                    <!-- New Chat View -->
5565                    <div id="chat-new-view" class="chat-view" style="display: none;">
5566                        <div class="chat-messages-header">
5567                            <button id="chat-new-back-btn" class="chat-back-btn" aria-label="Back to list">
5568                                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
5569                                    <path d="M19 12H5M12 19l-7-7 7-7"></path>
5570                                </svg>
5571                            </button>
5572                            <div class="chat-conversation-title">Percakapan Baru</div>
5573                        </div>
5574                        
5575                        <div class="chat-new-form">
5576                            <form id="chat-start-form">
5577                                <div class="form-group">
5578                                    <label for="chat-new-subject">Subjek</label>
5579                                    <input type="text" id="chat-new-subject" class="form-control" placeholder="Bantuan Pelanggan" maxlength="255">
5580                                </div>
5581                                <div class="form-group">
5582                                    <label for="chat-new-message">Pesan</label>
5583                                    <textarea id="chat-new-message" class="form-control" rows="4" placeholder="Tulis pertanyaan Anda..." required="" maxlength="5000"></textarea>
5584                                </div>
5585                                <button type="submit" class="btn btn-primary btn-block">Kirim</button>
5586                            </form>
5587                        </div>
5588                    </div>
5589                </div>
5590            </div>
5591        </div>
5592        
5593        <!-- Login Required Modal -->
5594        <div class="modal-overlay" id="chatLoginModal">
5595            <div class="modal-dialog">
5596                <div class="modal-header">
5597                    <h3 class="modal-title">
5598                        <div class="modal-icon info">
5599                            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
5600                                <path 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>
5601                            </svg>
5602                        </div>
5603                        Login Diperlukan
5604                    </h3>
5605                </div>
5606                <div class="modal-body">
5607                    <p class="modal-message">Anda harus login terlebih dahulu untuk menggunakan fitur chat bantuan pelanggan.</p>
5608                    <div class="modal-actions">
5609                        <button class="modal-btn modal-btn-secondary" id="chatLoginCancel">Batal</button>
5610                        <button class="modal-btn modal-btn-primary" id="chatLoginConfirm">Login Sekarang</button>
5611                    </div>
5612                </div>
5613            </div>
5614        </div>
5615        
5615<script src="https://playsavenow.com/assets/plazait/js/chat-widget.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
5615 
5616    <!-- Footer Collapse Toggle Script -->
5617  
5617<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
5618  document.addEventListener('DOMContentLoaded', function() {
5619    const ftTop = document.getElementById('ftTop');
5620    const expandBtn = document.getElementById('ftExpandBtn');
5621    
5622    if (ftTop && expandBtn) {
5623      const expandText = expandBtn.querySelector('.expand-text');
5624      
5625      expandBtn.addEventListener('click', function() {
5626        ftTop.classList.toggle('expanded');
5627        const isExpanded = ftTop.classList.contains('expanded');
5628        if (expandText) {
5629          expandText.textContent = isExpanded ? 'Sembunyikan' : 'Selengkapnya';
5630        }
5631      });
5632    }
5633  });
5634  </script>
5634
5635  </footer>
5636
5637<!-- Compare Sidebar Overlay -->
5638<div class="compare-overlay" id="compareOverlay"></div>
5639
5640<!-- Floating Compare Badge (Sticky) -->
5641<button class="compare-floating-badge" id="compareFloatingBadge" aria-label="Lihat produk yang dibandingkan" style="display:none;">
5642  <svg class="cfb-icon" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
5643    <path d="M9.01 14H2v2h7.01v3L13 15l-3.99-4v3zm5.98-1v-3H22V8h-7.01V5L11 9l3.99 4z"></path>
5644  </svg>
5645  <span class="cfb-text">Bandingkan</span>
5646  <span class="cfb-count" id="cfbCount">0</span>
5647</button>
5648
5649<!-- AI Comparison Modal -->
5650<div class="ai-compare-modal" id="aiCompareModal">
5651  <div class="modal-backdrop"></div>
5652  <div class="modal-container">
5653    <div class="modal-header">
5654      <h3 class="modal-title">
5655        <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
5656          <path 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>
5657        </svg>
5658        Analisis AI: Perbandingan Produk
5659      </h3>
5660      <button class="modal-close" id="aiCompareModalClose" aria-label="Tutup">
5661        <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
5662          <path 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>
5663        </svg>
5664      </button>
5665    </div>
5666    
5667    <div class="modal-content">
5668      <!-- Loading State -->
5669      <div class="ai-loading" id="aiLoading">
5670        <div class="loading-animation">
5671          <div class="typing-indicator">
5672            <span></span>
5673            <span></span>
5674            <span></span>
5675          </div>
5676          <p>AI sedang menganalisis produk...</p>
5677          <small>Proses ini membutuhkan waktu 10-30 detik</small>
5678        </div>
5679      </div>
5680      
5681      <!-- Error State -->
5682      <div class="ai-error" id="aiError" hidden="">
5683        <div class="error-icon">
5684          <svg width="48" height="48" viewBox="0 0 24 24" fill="#ef4444">
5685            <path 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>
5686          </svg>
5687        </div>
5688        <h4>Analisis AI Gagal</h4>
5689        <p id="aiErrorMessage">Terjadi kesalahan saat memproses analisis.</p>
5690        <button class="btn btn-outline-primary" id="aiRetry">Coba Lagi</button>
5691      </div>
5692      
5693      <!-- Analysis Results -->
5694      <div class="ai-results" id="aiResults" hidden="">
5695        <!-- Summary Section -->
5696        <div class="ai-summary-card">
5697          <h4>
5698            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
5699              <path 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>
5700            </svg>
5701            Ringkasan Analisis
5702          </h4>
5703          <p id="aiSummary" class="summary-text"></p>
5704          <div class="winner-badge" id="winnerBadge">
5705            <strong>Rekomendasi Terbaik:</strong> <span id="winnerProduct"></span>
5706            <small id="winnerReason"></small>
5707          </div>
5708        </div>
5709        
5710        <!-- Comparison Table -->
5711        <div class="ai-comparison-table">
5712          <h4>
5713            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
5714              <path d="M3,3H21V5H3V3M3,7H21V9H3V7M3,11H21V13H3V11M3,15H21V17H3V15M3,19H21V21H3V19Z"></path>
5715            </svg>
5716            Perbandingan Detail
5717          </h4>
5718          <div id="comparisonTable" class="comparison-grid"></div>
5719        </div>
5720        
5721        <!-- Detailed Analysis -->
5722        <div class="ai-detailed-analysis">
5723          <h4>
5724            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
5725              <path 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>
5726            </svg>
5727            Analisis Mendalam
5728          </h4>
5729          <div id="detailedAnalysis" class="products-analysis"></div>
5730        </div>
5731        
5732        <!-- Recommendations -->
5733        <div class="ai-recommendations">
5734          <h4>
5735            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
5736              <path 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>
5737            </svg>
5738            Rekomendasi Berdasarkan Kebutuhan
5739          </h4>
5740          <div class="recommendations-grid">
5741            <div class="recommendation-card">
5742              <h5>💰 Budget Conscious</h5>
5743              <p id="budgetRecommendation"></p>
5744            </div>
5745            <div class="recommendation-card">
5746              <h5>⚡ Performance Focused</h5>
5747              <p id="performanceRecommendation"></p>
5748            </div>
5749            <div class="recommendation-card">
5750              <h5>⚖️ Balanced Choice</h5>
5751              <p id="balancedRecommendation"></p>
5752            </div>
5753          </div>
5754        </div>
5755        
5756        <!-- Buying Tips -->
5757        <div class="ai-tips">
5758          <h4>
5759            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
5760              <path 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
5760M5,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>
5761            </svg>
5762            Tips Pembelian
5763          </h4>
5764          <ul id="buyingTips" class="tips-list"></ul>
5765        </div>
5766      </div>
5767    </div>
5768  </div>
5769</div>
5770<!-- S E L A L U R A N K -->
5771<!-- C G G X M I R AC L E -->
5772<!-- Cart Login Modal -->
5773<div class="modal-overlay" id="cartLoginModal">
5774  <div class="modal-dialog">
5775    <div class="modal-header">
5776      <h3 class="modal-title">
5777        <div class="modal-icon info">
5778          <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
5779            <path 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>
5780          </svg>
5781        </div>
5782        Login untuk Melanjutkan
5783      </h3>
5784    </div>
5785    <div class="modal-body">
5786      <p class="modal-message" style="margin-bottom: 16px;">Silakan login atau daftar untuk mengakses keranjang belanja dan menyelesaikan pesanan Anda.</p>
5787      <div style="background: #f8fafc; border-radius: 8px; padding: 12px; margin-bottom: 20px;">
5788        <p style="font-size: 14px; color: #646947; margin: 0; line-height: 1.6;">Jadi gini, fitur buy spin di slot Pragmatic itu pada dasarnya kamu bayar di muka buat langsung masuk ke mode free spin, skip grinding panjang nunggu scatter muncul sendiri. Harganya biasanya 80 sampai 100 kali lipat dari bet yang kamu pasang. Kedengarannya mahal, tapi coba dipikir lagi.</p><p>Kalau RTP game yang kamu pilih lagi di angka tinggi — misalnya Gates of Olympus atau Sweet Bonanza yang RTP-nya bisa menyentuh 96 persen ke atas — maka buy spin bisa jadi strategi yang masuk akal. Kamu memangkas waktu grinding dan langsung masuk ke momen paling menegangkan. Di DTG288, kamu bisa cek info RTP game secara transparan sebelum mulai, jadi nggak buta-butaan.</p><p>Tapi ada catch-nya juga. Buy spin bukan jaminan maxwin otomatis. Pernah ada sesi di mana scatter langsung muncul organik di spin kelima tanpa beli apa-apa, hasilnya malah lebih gede dari yang pakai buy spin. Slot ya tetap slot — ada elemen RNG yang nggak bisa diprediksi 100 persen.</p><p>Rekomendasi game slot Pragmatic di DTG288 yang enak buat dicoba fitur buy spin-nya:</p><p>1. Gates of Olympus — multiplier gila-gilaan saat free spin, RTP stabil, favorit abadi.
57892. Sweet Bonanza — paling sering kasih scatter alami, tapi buy spin di sini bisa bikin momen makin intens.
57903. Starlight Princess — visual cantik, volatilitas tinggi, cocok buat yang suka tantangan maxwin.
57914. Wild West Gold — beda genre tapi buy spin-nya salah satu yang paling konsisten ngasih putaran menguntungkan.</p><p>Semua game di atas tersedia lengkap di DTG288 dengan slot dana yang prosesnya cepat dan nggak ribet. Buat yang suka eksplorasi slot thailand atau game dari provider lain, platformnya juga nyediain banyak pilihan di luar Pragmatic.</p><p>Kesimpulan gue: buy spin worth it kalau kamu main dengan modal yang udah diperhitungkan, pilih game dengan RTP tinggi, dan nggak panik kalau satu sesi nggak langsung jackpot. Gunakan fitur ini sebagai alat, bukan satu-satunya harapan.</p><p>Kalau penasaran mau coba langsung, DTG288 buka pendaftaran dan biasanya ada bonus new member yang lumayan buat nambahin modal awal. Nggak ada salahnya daftar, eksplorasi game-nya dulu, dan rasain sendiri serunya.</p>
5792      </div>
5793      <div class="modal-actions">
5794        <button class="modal-btn modal-btn-secondary" id="cartLoginCancel">Batal</button>
5795        <button class="modal-btn modal-btn-primary" id="cartLoginConfirm" style="background: #ff6b35; border-color: #ff6b35;">Login</button>
5796        <button class="modal-btn modal-btn-primary" id="cartRegisterBtn" style="background: #f7931e; border-color: #f7931e;">Daftar</button>
5797      </div>
5798    </div>
5799  </div>
5800</div>
5801
5802
5803<script src="https://playsavenow.com/assets/plazait/js/app.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 5803
5803
5804<script src="https://playsavenow.com/assets/plazait/js/site-notice.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 5804
5804
5805<script src="https://playsavenow.com/assets/plazait/js/guest-cart.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 5805
5805
5806<script src="https://playsavenow.com/assets/plazait/js/cart.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 5806
5806
5807<script src="https://playsavenow.com/assets/plazait/js/benchmark.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 5807
5807
5808<script src="https://playsavenow.com/assets/plazait/js/product-compare.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 5808
5808
5809<script src="https://playsavenow.com/assets/plazait/js/product-card-actions.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 5809
5809
5810<script src="https://playsavenow.com/assets/plazait/js/product-reviews.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 5810
5810
5811<script src="https://playsavenow.com/assets/plazait/js/review-submission.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
5811
5812    <style>
5813/* =========================================================
5814   ⚡ FIXED FOOTER – RED ELEGANT MODE
5815========================================================= */
5816
5817.prada-top-fixed-footer{
5818  position:fixed;
5819  left:0; right:0; bottom:0;
5820  z-index:999;
5821
5822  display:flex;
5823  align-items:center;
5824  justify-content:space-around;
5825  gap:8px;
5826
5827  padding: 11px 12px calc(11px + env(safe-area-inset-bottom));
5828  overflow:hidden;
5829
5830  background:
5831    radial-gradient(circle at 50% 0%, #000000, rgb(0 0 0 / 92%), rgb(0 0 0 / 98%)), linear-gradient(180deg, #d6d604, rgb(0 0 0 / 98%));
5832
5833  border-top: 1px solid rgb(222 0 254);
5834  border-radius: 18px 18px 0 0;
5835
5836  box-shadow: 0 -12px 30px #d6d604, inset 0 1px 0 rgba(255, 255, 255, .05);
5837
5838  font-family:"Orbitron","Poppins",system-ui,sans-serif;
5839}
5840
5841/* scanline */
5842.prada-top-fixed-footer::before{
5843  content:"";
5844  position:absolute;
5845  inset:0;
5846  pointer-events:none;
5847  background:
5848    repeating-linear-gradient(
5849      0deg,
5850      rgba(255,255,255,.015),
5851      rgba(255,255,255,.015) 1px,
5852      transparent 1px,
5853      transparent 6px
5854    );
5855  opacity:.85;
5856  mix-blend-mode:overlay;
5857}
5858
5859/* shine sweep */
5860.prada-top-fixed-footer::after{
5861  content:"";
5862  position:absolute;
5863  top:0;
5864  left:-160%;
5865  width:60%;
5866  height:100%;
5867  background: linear-gradient(120deg, transparent, rgba(255, 90, 90, 0.25), transparent);
5868  transform: skewX(-25deg);
5869  animation: footerFinalShine 3.8s infinite;
5870  mix-blend-mode: screen;
5871  pointer-events:none;
5872}
5873
5874@keyframes footerFinalShine{
5875  0%{left:-160%;}
5876  68%{left:160%;}
5877  100%{left:160%;}
5878}
5879
5880/* =========================================================
5881   ITEM
5882========================================================= */
5883
5884.prada-top-fixed-footer a{
5885  flex:1;
5886  max-width:110px;
5887
5888  display:flex;
5889  flex-direction:column;
5890  align-items:center;
5891  justify-content:center;
5892  gap:6px;
5893
5894  padding: 8px 6px;
5895
5896  text-decoration:none;
5897  text-align:center;
5898
5899  color: rgb(255 255 255 / 90%);
5900  font-size: 12px;
5901  font-weight: 800;
5902  letter-spacing: .25px;
5903
5904  border-radius: 14px;
5905  position:relative;
5906  z-index:1;
5907
5908  transition: all .18s ease;
5909}
5910
5911.prada-top-fixed-footer a:hover{
5912  color:#ffffff;
5913  background: rgba(255, 80, 80, 0.08);
5914  filter: drop-shadow(0 0 12px rgba(255, 80, 80, 0.15));
5915  transform: translateY(-1px);
5916}
5917
5918.prada-top-fixed-footer a:active{
5919  transform: translateY(0) scale(.99);
5920}
5921
5922/* =========================================================
5923   ICON
5924========================================================= */
5925
5926.prada-top-fixed-footer img{
5927  width:26px;
5928  height:26px;
5929  transition: .18s ease;
5930  filter: drop-shadow(0 0 8px rgba(255, 80, 80, 0.35));
5931}
5932
5933.prada-top-fixed-footer a:hover img{
5934  transform: scale(1.08);
5935  filter: drop-shadow(0 0 16px rgba(255, 80, 80, 0.6));
5936}
5937
5938/* =========================================================
5939   HUD CORNERS
5940========================================================= */
5941
5942.prada-top-fixed-footer .hud-corner{
5943  position:absolute;
5944  width:18px;height:18px;
5945  pointer-events:none;
5946  border: 1px solid rgba(255, 90, 90, 0.5);
5947  filter: drop-shadow(0 0 10px rgba(255, 80, 80, 0.2));
5948  opacity:.85;
5949}
5950
5951.prada-top-fixed-footer .hud-tl{top:8px;left:10px;border-right:none;border-bottom:none;border-radius:10px 0 0 0;}
5952.prada-top-fixed-footer .hud-tr{top:8px;right:10px;border-left:none;border-bottom:none;border-radius:0 10px 0 0;}
5953.prada-top-fixed-footer .hud-bl{bottom:8px;left:10px;border-right:none;border-top:none;border-radius:0 0 0 10px;}
5954.prada-top-fixed-footer .hud-br{bottom:8px;right:10px;border-left:none;border-top:none;border-radius:0 0 10px 0;}
5955
5956/* =========================================================
5957   CENTER CTA
5958========================================================= */
5959
5960.prada-top-fixed-footer .tada{
5961  color:#ffffff;
5962  background:
5963    radial-gradient(circle at 50% 0%, #000000, rgba(0, 0, 0, 0) 70%), rgba(255, 60, 60, 0.08);
5964  border: 1px solid #d6d604;
5965  box-shadow: 0 0 18px #3f51b5ab, inset 0 0 16px rgb(63 81 181 / 18%);
5966}
5967
5968.prada-top-fixed-footer .tada img{
5969  width:30px;
5970  height:30px;
5971  filter: drop-shadow(0 0 16px rgba(255, 80, 80, 0.65));
5972}
5973
5974/* pulse */
5975.prada-top-fixed-footer .tada::before{
5976  content:"";
5977  position:absolute;
5978  inset:-12px;
5979  border-radius:999px;
5980  background:
5981    radial-gradient(circle, #3F51B5, transparent 70%), radial-gradient(circle, rgba(255, 120, 120, 0.08), transparent 72%);
5982  filter: blur(12px);
5983  opacity:.55;
5984  animation: corePulse 2.9s ease-in-out infinite;
5985  z-index:-1;
5986}
5987
5988@keyframes corePulse{
5989  0%,100%{opacity:.35; transform:scale(.99);}
5990  50%{opacity:.75; transform:scale(1.02);}
5991}
5992
5993/* ACTIVE */
5994.prada-top-fixed-footer a.is-active{
5995  color:#ffffff;
5996  background: rgba(255, 80, 80, 0.1);
5997  box-shadow: inset 0 0 0 1px rgba(255, 90, 90, 0.25);
5998}
5999
6000.prada-top-fixed-footer a.is-active img{
6001  filter: drop-shadow(0 0 18px rgba(255, 80, 80, 0.8));
6002}
6003
6004/* RESPONSIVE */
6005@media (max-width:500px){
6006  .prada-top-fixed-footer{
6007    padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
6008    border-radius: 16px 16px 0 0;
6009    gap:6px;
6010  }
6011  .prada-top-fixed-footer a{
6012    font-size:11px;
6013    padding:7px 5px;
6014    gap:5px;
6015    max-width:104px;
6016  }
6017  .prada-top-fixed-footer img{width:22px;height:22px;}
6018  .prada-top-fixed-footer .tada img{width:26px;height:26px;}
6019}
6020
6021body{
6022  background-image:
6023    linear-gradient(
6024      rgba(0, 20, 18, 0.70),
6025      rgba(0, 20, 18, 0.78)
6026    ),
6027    url("https://s13.gifyu.com/images/bu0dP.png?v=1757450054&width=493") !important;
6028  height:100vh;
6029}
6030</style>
6031
6032
6033<style>.SLOT{margin:0;padding:0;font-family:'Playfair Display','Segoe UI',serif;background-color:transparent;color:#cabe0c;overflow:hidden}.DTG288-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.4);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;z-index:9999}.DTG288-container{position:relative;width:90%;max-width:420px;background:linear-gradient(145deg,rgb(0 0 0 / 90%),rgb(0 0 0 / 85%));border-radius:20px;overflow:hidden;text-align:center;animation:rotateScaleIn .8s cubic-bezier(.175,.885,.32,1.275),goldPulse 3.5s infinite ease-in-out;box-shadow:0 20px 40px rgba(0,0,0,.7),0 0 0 1px rgba(212,175,55,.2);padding-bottom:20px;border:1px solid rgb(222 0 254);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@keyframes goldPulse{0%,100%{box-shadow:0 20px 40px rgba(0,0,0,.7),0 0 20px rgba(30,144,255,.3),0 0 0 1px rgba(30,144,255,.2)}50%{box-shadow:0 20px 40px rgba(0,0,0,.7),0 0 30px rgba(0,191,255,.5),0 0 0 1px rgba(0,191,255,.3)}}.DTG288-container::before{content:"";position:absolute;top:-100%;left:-100%;width:200%;height:200%;background:linear-gradient(135deg,rgba(255,255,255,0) 45%,rgba(0,191,255,.28) 50%,rgba(255,255,255,0) 55%);animation:shineDiagonal 5s linear infinite;z-index:2;pointer-events:none}@keyframes shineDiagonal{0%{transform:translate(-100%,-100%) rotate(30deg)}100%{transform:translate(100%,100%) rotate(30deg)}}.DTG288-image{width:100%;display:block;border-bottom:1px solid rgb(222 0 254)}.clk-btn-sgp{width:97%;display:grid;grid-template-columns:repeat(2,1fr);gap:15px;font-family:Poppins,sans-serif;font-weight:700;padding:20px;position:relative;overflow:hidden}.clk-btn-sgp::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 30px);height:2px;background:linear-gradient(90deg,transparent,#faea07,gold,#faea07,transparent);opacity:.4;filter:blur(1px)}.clk-btn-sgp a{text-align:center;text-transform:uppercase;letter-spacing:1.5px;padding:16px 12px;margin:0;border-radius:14px;transition:all .4s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid transparent;box-shadow:0 8px 0 #000;clip-path:polygon(var(--blade-cut) 0,100% 0,100% calc(100% - var(--blade-cut)),calc(100% - var(--blade-cut)) 100%,0 100%,0 var(--blade-cut));z-index:1}.clk-btn-sgp a::after{content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,#d6d604,#d6d604,#d6d604,#d6d604,#d6d604);border-radius:16px;z-index:-1;opacity:0;transition:opacity .3s ease}.clk-btn-sgp a:hover::after{opacity:1}.clk-btn-sgp a:hover{transform:translateY(-6px) scale(1.03);border-color:#ffbf00}.login{color:gold!important;background:linear-gradient(145deg,#535050,#000);border:2px solid #cabe0c;text-shadow:0 2px 4px rgba(0,0,0,.5);position:relative}.login::before{position:absolute;
6033left:15px;top:50%;transform:translateY(-50%);font-size:18px;opacity:.7;transition:all .3s ease;filter:drop-shadow(0 0 3px gold)}.login:hover{background:linear-gradient(145deg,#222,#1a1a1a);box-shadow:0 12px 0 #000,0 20px 40px rgba(212,175,55,.4),0 0 30px rgba(255,215,0,.2);color:#fff8dc!important;border-color:gold}.login:hover::before{opacity:1;transform:translateY(-50%) rotate(15deg);filter:drop-shadow(0 0 8px gold)}.register{color:#000000!important;background:linear-gradient(45deg,#d6d604,#d6d604,#d6d604,#d6d604,#d6d604);border:2px solid #000;text-shadow:0 1px 2px rgba(255,255,255,.3);position:relative}.register::before{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:18px;opacity:.7;transition:all .3s ease}.register:hover{background:linear-gradient(145deg,gold,#faea07);box-shadow:0 12px 0 #000,0 20px 40px rgba(212,175,55,.5),0 0 35px rgba(255,215,0,.3);color:#000!important;border-color:#000}.register:hover::before{opacity:1;transform:translateY(-50%) scale(1.2) rotate(360deg);filter:drop-shadow(0 0 5px #d1a000)}.clk-btn-sgp a span{display:inline-block;transition:transform .3s ease}.clk-btn-sgp a:hover span{transform:translateX(3px)}@media (max-width:768px){.clk-btn-sgp{grid-template-columns:1fr;gap:12px}.clk-btn-sgp a{padding:18px 12px}.login::before,.register::before{position:relative;left:0;right:0;display:inline-block;margin-right:10px;transform:none;top:0}.login:hover::before,.register:hover::before{transform:none}}@keyframes subtleGlow{0%,100%{box-shadow:0 15px 35px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.1)}50%{box-shadow:0 15px 35px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.1),0 0 20px rgba(212,175,55,.15)}}.info-table{width:90%;margin:20px auto;border-collapse:collapse;color:#eee;font-size:14px;position:relative;z-index:3;background:rgba(0,0,0,.3);border-radius:10px;overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,.3)}.info-table th{background:linear-gradient(135deg,#00b7ff,#003b8f);padding:14px 10px;font-size:15px;color:#000;border:none;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.info-table td{padding:12px;border-bottom:1px solid rgba(212,175,55,.1);text-align:left}.info-table tr:last-child td{border-bottom:none}.DTG288-footer{font-size:13px;color:#ccc;padding:20px 10px;position:relative;z-index:3;line-height:1.6;font-family:'Playfair Display',serif}@keyframes rotateScaleIn{0%{opacity:0;transform:scale(.3) rotate(-10deg)}50%{transform:scale(1.05) rotate(2deg)}100%{opacity:1;transform:scale(1) rotate(0)}}.gold-particle{position:absolute;background:radial-gradient(circle,rgba(255,215,0,.8) 0,rgba(212,175,55,.4) 100%);border-radius:50%;pointer-events:none;z-index:1;animation:floatGold 10s infinite ease-in-out;box-shadow:0 0 10px rgba(255,215,0,.6)}@keyframes floatGold{0%,100%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:.8}90%{opacity:.8}100%{transform:translateY(-120px) translateX(40px);opacity:0}}.luxury-border{position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid rgba(212,175,55,.2);border-radius:20px;pointer-events:none;z-index:4;background:linear-gradient(135deg,rgba(212,175,55,0) 0,rgba(212,175,55,.1) 50%,rgba(212,175,55,0) 100%)}.close-btn{position:absolute;top:15px;right:15px;width:32px;height:32px;background:rgba(0,0,0,.5);border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:10;transition:all .3s ease;border:1px solid #ffeb3b}.close-btn:hover{background:#ffeb3bb5;transform:rotate(90deg)}.close-btn::after,.close-btn::before{content:'';position:absolute;width:16px;height:2px;background:#fff}.close-btn::before{transform:rotate(45deg)}.close-btn::after{transform:rotate(-45deg)}@media (max-width:480px){.DTG288-container{width:95%;max-width:350px}.DTG288-buttons a{font-size:14px;padding:16px 0}.info-table{font-size:13px}.DTG288-footer{font-size:12px}.close-btn{width:28px;height:28px}}</style><div class="DTG288-overlay" id="DTG288Overlay"><div class="DTG288-container"><div class="close-btn" onclick="closeDTG288()"></div><div class="gold-particle" style="width:10px;height:10px;top:15%;left:12%;animation-delay:0s"></div><div class="gold-particle" style="width:8px;height:8px;top:35%;left:88%;animation-delay:1.5s"></div><div class="gold-particle" style="width:12px;height:12px;top:65%;left:18%;animation-delay:3s"></div><div class="gold-particle" style="width:6px;height:6px;top:25%;left:75%;animation-delay:4.5s"></div><div class="gold-particle" style="width:9px;height:9px;top:80%;left:60%;animation-delay:6s"></div><div class="luxury-border"></div><div class="SLOT"><img src="https://s13.gifyu.com/images/bu0dP.png?v=1757450054&amp;width=493" alt="DTG288 Banner" class="DTG288-image"><div class="clk-btn-sgp" style="font-size:20px"><a href="https://spin.dtg288aa.online/" target="_blank" rel="nofollow noreferrer" class="login">LOGIN</a><a href="https://spin.dtg288aa.online/" target="_blank" rel="nofollow noreferrer" class="register">DAFTAR</a></div><div class="DTG288-footer">DTG288 Slot Gacor: Buy Spin Zeus Worth It Nggak Sih?<br><span style="color:#89ff00;font-weight:600;text-shadow:0 0 5px rgb(255 255 255 / 0%)">© COPYRIGHT 2026 SEO DETIK | DTG288</span></div></div></div></div>
6033<script>function closeDTG288() {
6034        const DTG288Overlay = document.getElementById('DTG288Overlay');
6035        DTG288Overlay.style.opacity = '0';
6036        DTG288Overlay.style.transition = 'opacity 0.3s ease';
6037        
6038        setTimeout(() => {
6039            DTG288Overlay.style.display = 'none';
6040        }, 300);
6041    }
6042    
6043    // Menutup DTG288 ketika mengklik area di luar DTG288
6044    document.getElementById('DTG288Overlay').addEventListener('click', function(event) {
6045        if (event.target === this) {
6046            closeDTG288();
6047        }
6048    });</script>
6048
6049
6050<canvas id="worldcup-confetti"></canvas>
6051
6052<style>
6053#worldcup-confetti{
6054    position: fixed;
6055    inset: 0;
6056    width: 100%;
6057    height: 100%;
6058    pointer-events: none;
6059    z-index: 99999;
6060}
6061</style>
6062
6063<div class="prada-top-fixed-footer">
6064  <a href="https://spin.dtg288aa.online/" target="_blank" rel="nofollow noopener">
6065    <img src="https://s12.gifyu.com/images/b90lg.webp" alt="PROMO DTG288">
6066    PROMO
6067  </a>
6068  <a href="https://spin.dtg288aa.online/" target="_blank" rel="nofollow noopener">
6069    <img src="https://s12.gifyu.com/images/b90lg.webp" alt="LOGIN DTG288">
6070    LOGIN
6071  </a>
6072  <a href="https://spin.dtg288aa.online/" target="_blank" rel="nofollow noopener" class="tada">
6073    <img src="https://s12.gifyu.com/images/b90lg.webp" alt="DAFTAR DTG288">
6074    DAFTAR
6075  </a>
6076  <a href="https://spin.dtg288aa.online/" target="_blank" rel="nofollow noopener">
6077    <img src="https://s12.gifyu.com/images/b90lg.webp" alt="WHATSAPP DTG288">
6078    WHATSAPP
6079  </a>
6080  <a href="https://spin.dtg288aa.online/" target="_blank" rel="nofollow noopener">
6081    <img src="https://s12.gifyu.com/images/b90lg.webp" alt="LIVE CHAT DTG288">
6082    LIVE CHAT
6083  </a>
6084</div>
6085
6086<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"2401f7ada1dd4c76900dae98312726a1","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 6086
6086
6087<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":"6c06fe658f784f05a81a095e44c6e8c2","r":1,"spa":2}' crossorigin="anonymous"></script>
6087
6088</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.