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&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="{"version":"2024.11.0","token":"86f57583232e46f6be1afe41efad8833","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":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="{"version":"2024.11.0","token":"86f57583232e46f6be1afe41efad8833","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":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="{"version":"2024.11.0","token":"86f57583232e46f6be1afe41efad8833","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":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="{"version":"2024.11.0","token":"86f57583232e46f6be1afe41efad8833","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":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="{"version":"2024.11.0","token":"86f57583232e46f6be1afe41efad8833","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":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="{"version":"2024.11.0","token":"ac5bc5e9755f4575858163884b2b6d18","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":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="{"version":"2024.11.0","token":"ac5bc5e9755f4575858163884b2b6d18","r":1,"spa":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="{"version":"2024.11.0","token":"526990e9f30743bfb1d0b7f91da801a0","r":1,"spa":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="{"version":"2024.11.0","token":"f661103b23144a889766a0bb94d7114c","r":1,"spa":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="{"version":"2024.11.0","token":"a7a697024a824d0493d02ee9747a347a","r":1,"spa":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="{"version":"2024.11.0","token":"9bac19cd5949428aa19e87769c7fbcfb","r":1,"spa":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 & 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 & 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 & 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&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 & <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&family=Space+Mono:wght@400;700&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=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[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 & 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 & Pengembalian</a></li> 4449 <li><a href="/pembayaran-dan-cicilan">Pembayaran & Cicilan</a></li> 4450 <li><a href="/garansi-dan-layanan">Garansi & 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&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.