1 2 3 <!DOCTYPE html> 4 <html lang="id"> 5 <head> 6 <meta charset="UTF-8"> 7 <title>TARIANTOTO $ Ada Apa dengan Situs Togel Online yang Satu Ini?</title> 8 <meta name="description" content="TARIANTOTO hadir dengan konsep situs togel online yang berbeda, memadukan akses praktis, tampilan modern, pilihan pasaran beragam, dan pengalaman digital yang membuatnya makin menarik perhatian."> 9 <meta content='index, follow' name='robots'> 10 <link rel="canonical" href="https://bigwinnerpro.org/"> 11 <link rel="amphtml" href="https://janganberubah.tarianindah.cyou/"> 12 <link rel="alternate" hreflang="id-id" href="https://janganberubah.tarianindah.cyou/"/> 13 <link rel="alternate" href="https://janganberubah.tarianindah.cyou/"/> 14 <link rel="alternate" hreflang="id" href="https://janganberubah.tarianindah.cyou/"/> 15 <link rel="alternate" hreflang="en" href="https://janganberubah.tarianindah.cyou/"/> 16 <link rel="alternate" hreflang="x-default" href="https://janganberubah.tarianindah.cyou/"/> 17 <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
vendor: 68 bytes, lines 17-18
17 18 <script async src="https://www.googletagmanager.com/gtag/js?id=
18G-0LSM1YJSPZ
vendor: 49 bytes, lines 18-19
18" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script> 19
19<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",{currency:e.currency||"IDR",value:e.value||0,items:[{item_id:e.item_id||"",item_name:e.item_name||"",item_brand:e.item_brand||"",item_category:e.item_category||"",price:e.price||0,quantity:1}]})}catch(t){}},addToCart:function(e){if(!window.gtag)return;try{gtag("event","add_to_cart",{currency:e.currency||"IDR",value:(e.price||0)*(e.quantity||1),items:[{item_id:e.item_id||"",item_name:e.item_name||"",item_brand:e.item_brand||"",item_category:e.item_category||"",price:e.price||0,quantity:e.quantity||1}]})}catch(t){}}};</script>
19 20 <meta property="og:locale" content="id_ID"> 21 <meta property="og:site_name" content="TARIANTOTO"> 22 <meta property="og:type" content="product"> 23 <meta property="og:title" content="TARIANTOTO $ Ada Apa dengan Situs Togel Online yang Satu Ini?"> 24 <meta property="og:description" content="TARIANTOTO hadir dengan konsep situs togel online yang berbeda, memadukan akses praktis, tampilan modern, pilihan pasaran beragam, dan pengalaman digital yang membuatnya makin menarik perhatian."> 25 <meta property="og:url" content="https://bigwinnerpro.org/"> 26 <meta property="og:image" content="https://uploademosi.com/img/delora-iriy-tariantoto.webp"> 27 <meta property="og:image:alt" content="TARIANTOTO $ Ada Apa dengan Situs Togel Online yang Satu Ini?"> 28 <meta property="product:price:amount" content="5000"> 29 <meta property="product:price:currency" content="IDR"> 30 <meta property="product:availability" content="out of stock"> 31 <meta name="twitter:card" content="summary_large_image"> 32 <meta name="twitter:title" content="TARIANTOTO $ Ada Apa dengan Situs Togel Online yang Satu Ini?"> 33 <meta name="twitter:description" content="TARIANTOTO hadir dengan konsep situs togel online yang berbeda, memadukan akses praktis, tampilan modern, pilihan pasaran beragam, dan pengalaman digital yang membuatnya makin menarik perhatian."> 34 <meta name="twitter:image" content="https://uploademosi.com/img/delora-iriy-tariantoto.webp"> 35
36<script type="application/ld+json"> 37 38 39 40{ 41"@context":"https://schema.org", 42"@type":"WebSite", 43"@id":"/#website", 44"url":"https://bigwinnerpro.org/", 45"name":"TARIANTOTO", 46"inLanguage":"id", 47"potentialAction":{ 48"@type":"SearchAction", 49"target":"https://bigwinnerpro.org/", 50"query-input":"required name=search_term_string"}}</script>
50 51
52<script type="application/ld+json"> 53 54 55{ 56"@context":"https://schema.org", 57"@type":"Organization", 58"@id":"/#organization", 59"name":"TARIANTOTO", 60"url":"https://bigwinnerpro.org/", 61"logo":"https://imagestore-cdn.net/img/tarian/tariantoto.webp"}</script>
61 62
63<script type="application/ld+json"> 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90{ 91"@context":"https://schema.org", 92"@type":"Product", 93"name":"TARIANTOTO $ Ada Apa dengan Situs Togel Online yang Satu Ini?", 94"sku":"1S83N0880RID", 95"image":[ 96"https://uploademosi.com/img/delora-iriy-tariantoto.webp"], 97"url":"https://bigwinnerpro.org/", 98"description":"TARIANTOTO menyediakan informasi link akses bandar togel online dan Toto Macau. Temukan informasi yang tersusun rapi, akses melalui perangkat desktop maupun mobile, serta layanan pelanggan yang tersedia selama 24 jam.", 99"category":"TARIANTOTO", 100"brand":{ 101"@type":"Brand", 102"name":"TARIANTOTO"}, 103"offers":{ 104"@type":"Offer", 105"url":"https://bigwinnerpro.org/", 106"priceCurrency":"IDR", 107"price":"5000", 108"priceValidUntil":"2027-03-01", 109"availability":"https://schema.org/OutOfStock", 110"itemCondition":"https://schema.org/NewCondition", 111"seller":{ 112"@type":"Organization", 113"name":"TARIANTOTO", 114"url":"https://bigwinnerpro.org/"}}, 115"aggregateRating":{ 116"@type":"AggregateRating", 117"ratingValue":"5", 118"reviewCount":"6", 119"bestRating":"5", 120"worstRating":"1"}, 121"review":[ 122{ 123"@type":"Review", 124"author":{ 125"@type":"Person", 126"name":"Andi Pratama"}, 127"reviewBody":"TARIANTOTO benar-benar memudahkan saya menemukan keluaran harian dan tabel arsip yang rapi sangat membantu analisis sederhana saya untuk melihat pola; desainnya juga nyaman untuk dibaca saat saya mengecek pasaran di ponsel. Saya merasa informasi togel di TARIANTOTO disajikan jelas dan tidak bertele-tele sehingga lebih efisien saat mencari data keluaran.", 128"reviewRating":{ 129"@type":"Rating", 130"ratingValue":"5", 131"bestRating":"5", 132"worstRating":"1"}}, 133{ 134"@type":"Review", 135"author":{ 136"@type":"Person", 137"name":"Siti Kurnia"}, 138"reviewBody":"Saya sering membuka TARIANTOTO untuk membandingkan pasaran karena daftar pasaran yang lengkap dan keterangan jam undian membuat perbandingan jadi cepat; ringkasan statistiknya membantu saya melihat angka yang sering muncul tanpa harus menghitung manual. Tampilan modern TARIANTOTO juga membuat halaman informasi togel terasa profesional dan mudah dipahami.", 139"reviewRating":{ 140"@type":"Rating", 141"ratingValue":"5", 142"bestRating":"5", 143"worstRating":"1"}}, 144{ 145"@type":"Review", 146"author":{ 147"@type":"Person", 148"name":"Rian Setia"}, 149"reviewBody":"Menggunakan TARIANTOTO sebagai sumber informasi togel membuat pekerjaan pencatatan keluaran jadi lebih tertata karena ada arsip historis dan penjelasan singkatan pasaran yang jelas; fitur pencarian tanggal mempermudah saya menelusuri keluaran lama. Saya rekomendasikan TARIANTOTO bagi yang butuh catatan keluaran rapi.", 150"reviewRating":{ 151"@type":"Rating", 152"ratingValue":"5", 153"bestRating":"5", 154"worstRating":"1"}}, 155{ 156"@type":"Review", 157"author":{ 158"@type":"Person", 159"name":"Maya Lestari"}, 160"reviewBody":"TARIANTOTO memberikan ringkasan statistik yang berguna untuk melihat kecenderungan angka keluaran; saya sering memanfaatkan fitur ini untuk memeriksa frekuensi angka di beberapa pasaran sekaligus. Antarmuka TARIANTOTO membuat navigasi antar pasaran jadi cepat dan tidak membingungkan.", 161"reviewRating":{ 162"@type":"Rating", 163"ratingValue":"5", 164"bestRating":"5", 165"worstRating":"1"}}, 166{ 167"@type":"Review", 168"author":{ 169"@type":"Person", 170"name":"Budi Hartono"}, 171"reviewBody":"Informasi pasaran di TARIANTOTO disajikan dengan singkat dan jelas sehingga saya bisa langsung melihat jam undian dan format keluaran tanpa harus baca panjang;
171 glosarium istilahnya juga membantu pemula memahami arti singkatan. Saya senang melihat data keluaran tersusun rapi di TARIANTOTO.", 172"reviewRating":{ 173"@type":"Rating", 174"ratingValue":"5", 175"bestRating":"5", 176"worstRating":"1"}}, 177{ 178"@type":"Review", 179"author":{ 180"@type":"Person", 181"name":"Nina Wijaya"}, 182"reviewBody":"Saat mencari arsip keluaran, TARIANTOTO selalu menjadi pilihan karena ada pengelompokan menurut pasaran dan tanggal yang memudahkan pencarian; tampilan modern membuat tabel keluaran mudah dibaca di layar kecil. Data di TARIANTOTO cukup lengkap untuk kebutuhan informasi togel harian saya.", 183"reviewRating":{ 184"@type":"Rating", 185"ratingValue":"5", 186"bestRating":"5", 187"worstRating":"1"}}]}</script>
187 188
189<script type="application/ld+json"> 190 191 192 193 194 195 196 197 198{ 199"@context":"https://schema.org", 200"@type":"BreadcrumbList", 201"itemListElement":[ 202{ 203"@type":"ListItem", 204"position":1, 205"name":"TARIANTOTO", 206"item":"https://bigwinnerpro.org/"}, 207{ 208"@type":"ListItem", 209"position":2, 210"name":"TARIAN TOTO", 211"item":"https://bigwinnerpro.org/"}, 212{ 213"@type":"ListItem", 214"position":3, 215"name":"Link Akses TARIANTOTO", 216"item":"https://bigwinnerpro.org/"}, 217{ 218"@type":"ListItem", 219"position":4, 220"name":"Bandar Togel Online", 221"item":"https://bigwinnerpro.org/"}, 222{ 223"@type":"ListItem", 224"position":5, 225"name":"Toto Macau Terpercaya", 226"item":"https://bigwinnerpro.org/"}]}</script>
226 227 228
229<script type="application/ld+json"> 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245{ 246"@context":"https://schema.org", 247"@type":"FAQPage", 248"mainEntity":[ 249{ 250"@type":"Question", 251"name":"Apakah TARIANTOTO menyediakan ringkasan pasaran togel?", 252"acceptedAnswer":{ 253"@type":"Answer", 254"text":"TARIANTOTO menyediakan ringkasan pasaran togel yang memuat keterangan jam undian, singkatan pasaran, dan format keluaran sehingga pembaca mendapat gambaran cepat."}}, 255{ 256"@type":"Question", 257"name":"Bagaimana TARIANTOTO menampilkan arsip keluaran historis?", 258"acceptedAnswer":{ 259"@type":"Answer", 260"text":"TARIANTOTO menampilkan arsip keluaran historis yang dikelompokkan menurut pasaran dan tanggal guna memudahkan pencarian hasil lama."}}, 261{ 262"@type":"Question", 263"name":"Apakah ada penjelasan istilah togel pada TARIANTOTO?", 264"acceptedAnswer":{ 265"@type":"Answer", 266"text":"TARIANTOTO menyediakan glosarium istilah togel singkat yang menjelaskan istilah seperti keluaran, pasaran, dan jadwal undian secara jelas."}}, 267{ 268"@type":"Question", 269"name":"Dapatkah saya menemukan statistik frekuensi angka di TARIANTOTO?", 270"acceptedAnswer":{ 271"@type":"Answer", 272"text":"TARIANTOTO menyajikan ringkasan statistik frekuensi angka yang membantu pembaca mengamati angka yang sering muncul dalam periode tertentu."}}, 273{ 274"@type":"Question", 275"name":"Apakah TARIANTOTO mencantumkan jam undian untuk tiap pasaran?", 276"acceptedAnswer":{ 277"@type":"Answer", 278"text":"TARIANTOTO mencantumkan jam undian untuk tiap pasaran sehingga pembaca dapat mencocokkan waktu keluaran dengan jadwal resmi pasaran."}}, 279{ 280"@type":"Question", 281"name":"Bagaimana TARIANTOTO mengelompokkan informasi pasaran?", 282"acceptedAnswer":{ 283"@type":"Answer", 284"text":"TARIANTOTO mengelompokkan informasi pasaran berdasarkan nama pasaran dan singkatan sehingga pembaca dapat menavigasi daftar pasaran dengan mudah."}}]}</script>
284 285 286 <!-- User Session Data --> 287 <meta name="csrf-token" content="9ce6e4a17f7cc189893df9e47789b13e98829450d516a0cae5ca7b5f43e5dadc"> 288 <meta name="user-logged-in" content="false"> 289 <meta name="user-id" content="0"> 290 291 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /> 292 293 <link rel="shortcut icon" href="https://imagestore-cdn.net/img/tarian/favtarian.png"image/x-icon"> 294 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/style.css"> 295 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/bottom-nav.css"> 296 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/search-suggest.css"> 297 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-detail.css"> 298 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-grid.css"> 299 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/site-notice.css"> 300 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/benchmark.css"> 301 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-filters.css"> 302 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/mega-menu-tiles.css"> 303 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-compare.css"> 304 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/product-card-actions.css"> 305 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/modal.css"> 306 307 <link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/reviews-points.css"> 308 309 </head> 310 <body> 311 <header class="topbar"> 312 <div class="container topbar-inner"> 313 <div class="topbar-left"> 314 TARIANTOTO $ Ada Apa dengan Situs Togel Online yang Satu Ini? 315 </div> 316 <div class="topbar-right"> 317 <a href="https://bigwinnerpro.org/">TARIANTOTO</a> 318 <a href="https://bigwinnerpro.org/">Togel Online</a> 319 <a href="https://tarian.penjagasuper.com/">Informasi Togel</a> 320 <a href="https://tarian.penjagasuper.com/">Masuk</a> 321 </div> 322 </div> 323 </header> 324 <nav class="navbar"> 325 <nav class="navbar-logo" style="width: 100%;"> 326 <div class="container nav-inner" style="justify-items: center; justify-content: center;"> 327 <a href="/" class="logo-mobile"> 328 <img src="https://imagestore-cdn.net/img/tarian/tariantoto.webp" alt="TARIANTOTO" height="100"> 329 </a> 330 </div> 331 </nav> 332 <div class="container nav-inner"> 333 <a href="/" class="logo"> 334 <img src="https://imagestore-cdn.net/img/tarian/tariantoto.webp" alt="TARIANTOTO" height="100"> 335 </a> 336 337 338 <form class="search" method="get" action="#"> 339 <input type="hidden" name="page" value="produk"> 340 341 <!-- Search Icon (Desktop) --> 342 <button type="submit" class="search-icon-btn" id="searchBtn" aria-label="Cari"> 343 <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"> 344 <circle cx="11" cy="11" r="8"/> 345 <path d="m21 21-4.35-4.35"/> 346 </svg> 347 </button> 348 349 <input type="text" name="q" id="searchInput" placeholder="Cari TARIANTOTO" 350 value="" autocomplete="off"> 351 352 <div class="search-suggest" id="searchSuggest" hidden></div> 353 </form> 354 355 <div class="nav-actions"> 356 <!--<button class="icon-btn" id="notifBtn" title="Notifikasi">ð</button>--> 357 <button class="icon-btn cart-indicator" id="cartBtn" title="Keranjang"> 358 ð <span id="cartCount" class="badge" data-role="cart-badge" aria-live="polite">0</span> 359 </button> 360 361 362 <span id="compareCount" class="badge" data-role="compare-badge" aria-live="polite">0</span> 363 </button> 364 365 <!-- Dynamic login/logout button --> 366 <button class="login-btn" id="loginBtn" aria-label="Masuk">
367 <span class="login-text">Masuk</span> 368 <span class="login-ico" aria-hidden="true">ð</span> 369 </button> 370 </div> 371 </div> 372 373 <div class="container" style="display: flex; align-items: center;"> 374 375 376 <div class="mega-cats-wrapper"> 377 <div class="mega-cats container" id="megaCatsScroll" style="padding-left: 5px !important;"> 378 <a class="" href="https://bigwinnerpro.org/"> 379 TARIANTOTO </a> 380 <a class="" href="https://bigwinnerpro.org/"> 381 TARIAN TOTO </a> 382 <a class="" href="https://bigwinnerpro.org/"> 383 BANDAR TOGEL ONLINE </a> 384 <a class="" href="https://bigwinnerpro.org/"> 385 TOTO MACAU </a> 386 <a class="" href="https://bigwinnerpro.org/"> 387 TOTO MACAU TERPERCAYA </a> 388 <a class="" href="https://bigwinnerpro.org/"> 389 SITUS TOTO MACAU </a> 390 <a class="" href="https://bigwinnerpro.org/"> 391 SITUS TOGEL ONLINE </a> 392 </div> 393 <div class="mega-cats-fade" id="megaCatsFade"></div> 394 </div> 395 </div> 396 </nav> 397 398 <!-- Panel Mega Menu - Outside navbar for full-screen --> 399 <div class="mm2-panel" data-mm2="panel" role="dialog" aria-label="Kategori"> 400 <div class="mm2-view is-active" data-mm2="top"></div> 401 <div class="mm2-view" data-mm2="detail"></div> 402 </div> 403 404 <!-- Backdrop - Outside navbar for full-screen --> 405 <div class="mm2-backdrop" data-mm2="backdrop"></div> 406 407 <!-- Mobile Bottom Navigation --> 408 <nav class="bottom-nav"> 409 <div class="bottom-nav-inner"> 410 <!-- Home --> 411 <a href="/" class="bottom-nav-item" id="bottomHomeBtn" data-page="home"> 412 <div class="bottom-nav-item-icon"> 413 <!-- Outlined icon (default) --> 414 <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 415 <path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/> 416 <polyline points="9 22 9 12 15 12 15 22"/> 417 </svg> 418 <!-- Filled icon (active) --> 419 <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor"> 420 <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"/> 421 <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"/> 422 </svg> 423 </div> 424 <span class="bottom-nav-item-label">Home</span> 425 </a> 426 427 <!-- Kategori --> 428 <button class="bottom-nav-item" id="bottomCategoryBtn" data-mm2="trigger" aria-label="Kategori"> 429 <div class="bottom-nav-item-icon"> 430 <!-- Outlined icon (default) --> 431 <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 432 <line x1="3" y1="12" x2="21" y2="12"/> 433 <line x1="3" y1="6" x2="21" y2="6"/> 434 <line x1="3" y1="18" x2="21" y2="18"/> 435 </svg> 436 <!-- Filled icon (active) --> 437 <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor"> 438 <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"/> 439 </svg> 440 </div> 441 <span class="bottom-nav-item-label">Kategori</span> 442 </button> 443 444 <!-- Keranjang --> 445 <button class="bottom-nav-item" id="bottomCartBtn"> 446 <div class="bottom-nav-item-icon"> 447 <!-- Outlined icon (default) --> 448 <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 449 <circle cx="9" cy="21" r="1"/> 450 <circle cx="20" cy="21" r="1"/> 451 <path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/> 452 </svg> 453 <!-- Filled icon (active) -->
454 <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor"> 455 <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"/> 456 </svg> 457 <span class="bottom-nav-item-badge" id="bottomCartCount">0</span> 458 </div> 459 <span class="bottom-nav-item-label">Keranjang</span> 460 </button> 461 462 <!-- Compare --> 463 <button class="bottom-nav-item" id="bottomCompareBtn"> 464 <div class="bottom-nav-item-icon"> 465 <!-- Outlined icon (default) --> 466 <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 467 <polyline points="17 11 21 7 17 3"/> 468 <path d="M21 7H9"/> 469 <polyline points="7 21 3 17 7 13"/> 470 <path d="M15 17H3"/> 471 </svg> 472 <!-- Filled icon (active) --> 473 <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor"> 474 <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"/> 475 </svg> 476 <span class="bottom-nav-item-badge" id="bottomCompareCount" style="display:none;">0</span> 477 </div> 478 <span class="bottom-nav-item-label">Compare</span> 479 </button> 480 481 <!-- Chat - Always show, check login in JavaScript --> 482 <button class="bottom-nav-item" id="bottomChatBtn" data-page="chat"> 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" opacity="0.85"> 486 <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/> 487 </svg> 488 <!-- Filled icon (active) --> 489 <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor"> 490 <path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z"/> 491 </svg> 492 <span class="bottom-nav-item-badge" id="bottomChatCount" style="display:none;">0</span> 493 </div> 494 <span class="bottom-nav-item-label">Chat</span> 495 </button> 496 497 <!-- Akun --> 498 <button class="bottom-nav-item" id="bottomLoginBtn"> 499 <div class="bottom-nav-item-icon"> 500 <!-- Outlined icon (default) --> 501 <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 502 <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/> 503 <circle cx="12" cy="7" r="4"/> 504 </svg> 505 <!-- Filled icon (active) --> 506 <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor"> 507 <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"/> 508 </svg> 509 </div> 510 <span class="bottom-nav-item-label">Informasi Togel</span> 511 </button> 512 </svg> 513 </div> 514 </button> 515 </div> 516 </nav> 517 <!-- Mobile User Menu Bottom Sheet --> 518 519
519<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 520 (function(){ 521 const btn = document.getElementById('megaMoreBtn'); 522 const dd = document.getElementById('megaMoreDropdown'); 523 if(!btn || !dd) return; 524 525 function openDD(){ 526 dd.hidden = false; 527 btn.setAttribute('aria-expanded','true'); 528 document.addEventListener('click', outside, {capture:true}); 529 document.addEventListener('keydown', esc); 530 } 531 function closeDD(){ 532 if(dd.hidden) return; 533 dd.hidden = true; 534 btn.setAttribute('aria-expanded','false'); 535 document.removeEventListener('click', outside, {capture:true}); 536 document.removeEventListener('keydown', esc); 537 } 538 function toggle(){ dd.hidden ? openDD() : closeDD(); } 539 function outside(e){ 540 if(!dd.contains(e.target) && e.target !== btn){ 541 closeDD(); 542 } 543 } 544 function esc(e){ 545 if(e.key === 'Escape'){ 546 closeDD(); 547 btn.focus(); 548 } 549 } 550 btn.addEventListener('click', toggle); 551 })(); 552 553 // ========== HORIZONTAL SCROLL FADE INDICATOR ========== 554 (function(){ 555 const megaCats = document.getElementById('megaCatsScroll'); 556 const fade = document.getElementById('megaCatsFade'); 557 if (!megaCats || !fade) return; 558 559 function updateFade() { 560 const scrollLeft = megaCats.scrollLeft; 561 const scrollWidth = megaCats.scrollWidth; 562 const clientWidth = megaCats.clientWidth; 563 const maxScroll = scrollWidth - clientWidth; 564 565 // Hide fade when scrolled to end (within 10px tolerance) 566 if (maxScroll - scrollLeft <= 10) { 567 fade.style.opacity = '0'; 568 } else { 569 fade.style.opacity = '1'; 570 } 571 } 572 573 // Update on scroll 574 megaCats.addEventListener('scroll', updateFade, { passive: true }); 575 576 // Update on resize 577 window.addEventListener('resize', updateFade, { passive: true }); 578 579 // Initial check 580 setTimeout(updateFade, 100); 581 })(); 582 583 document.addEventListener('DOMContentLoaded', function () { 584 var input = document.getElementById('searchInput'); 585 if (!input) return; 586 input.addEventListener('keydown', function (e) { 587 if (e.key === 'Enter') { 588 e.preventDefault(); 589 var form = input.form; 590 if (!form) return; 591 if (typeof form.requestSubmit === 'function') form.requestSubmit(); 592 else form.submit(); 593 } 594 }); 595 }); 596 597 598 (function(){ 599 const cartBtn = document.getElementById('cartBtn'); 600 if (cartBtn) { 601 cartBtn.addEventListener('click', function(e) { 602 e.preventDefault(); 603 604 const checkLogin = () => { 605 return window.isUserLoggedIn ? window.isUserLoggedIn() : false; 606 }; 607 608 if (checkLogin()) { 609 window.location.href = '/keranjang'; 610 } else { 611 showCartLoginModal(); 612 } 613 }); 614 } 615 616 const loginBtn = document.getElementById('loginBtn'); 617 if (loginBtn) { 618 loginBtn.addEventListener('click', function(e) { 619 e.preventDefault(); 620 window.location.href = 'https://bigwinnerpro.org/'; 621 }); 622 } 623 624 const userMenuBtn = document.getElementById('userMenuBtn'); 625 const userDropdown = document.getElementById('userDropdown'); 626 627 if (userMenuBtn && userDropdown) { 628 function openDropdown() { 629 userDropdown.hidden = false; 630 userMenuBtn.setAttribute('aria-expanded', 'true'); 631 document.addEventListener('click', closeOnOutside, { capture: true }); 632 document.addEventListener('keydown', closeOnEscape); 633 } 634 635 function closeDropdown() { 636 if (userDropdown.hidden) return; 637 userDropdown.hidden = true; 638 userMenuBtn.setAttribute('aria-expanded', 'false'); 639 document.removeEventListener('click', closeOnOutside, { capture: true }); 640 document.removeEventListener('keydown', closeOnEscape); 641 } 642 643 function closeOnOutside(e) { 644 if (!userDropdown.contains(e.target) && e.target !== userMenuBtn) { 645 closeDropdown(); 646 } 647 } 648 649 function closeOnEscape(e) { 650 if (e.key === 'Escape') { 651 closeDropdown(); 652 userMenuBtn.focus(); 653 } 654 } 655 656 userMenuBtn.addEventListener('click', function(e) { 657 e.preventDefault(); 658 userDropdown.hidden ? openDropdown() : closeDropdown(); 659 }); 660 661 // Close dropdown when clicking profile links 662 userDropdown.querySelectorAll('[data-close-dropdown]').forEach(link => { 663 link.addEventListener('click', function() { 664 closeDropdown(); 665 }); 666 }); 667 } 668 669 // Bottom nav profile button - toggle mobile bottom sheet 670 const bottomProfileBtn = document.getElementById('bottomProfileBtn'); 671 const mobileUserSheet = document.getElementById('mobileUserSheet'); 672 const mobileUserSheetBackdrop = document.getElementById('mobileUserSheetBackdrop'); 673 674 if (bottomProfileBtn && mobileUserSheet) { 675 function openMobileSheet() { 676 mobileUserSheet.hidden = false;
677 document.body.style.overflow = 'hidden'; 678 // Trigger animation 679 requestAnimationFrame(() => { 680 mobileUserSheet.classList.add('active'); 681 }); 682 } 683 684 function closeMobileSheet() { 685 mobileUserSheet.classList.remove('active'); 686 document.body.style.overflow = ''; 687 setTimeout(() => { 688 mobileUserSheet.hidden = true; 689 }, 300); 690 } 691 692 bottomProfileBtn.addEventListener('click', function(e) { 693 e.preventDefault(); 694 openMobileSheet(); 695 }); 696 697 if (mobileUserSheetBackdrop) { 698 mobileUserSheetBackdrop.addEventListener('click', closeMobileSheet); 699 } 700 701 // Close on escape key 702 document.addEventListener('keydown', function(e) { 703 if (e.key === 'Escape' && !mobileUserSheet.hidden) { 704 closeMobileSheet(); 705 } 706 }); 707 708 // Close sheet when clicking profile links 709 mobileUserSheet.querySelectorAll('[data-close-sheet]').forEach(link => { 710 link.addEventListener('click', function() { 711 closeMobileSheet(); 712 }); 713 }); 714 } 715 716 // Handle Google avatar error in bottom-nav (fallback to initials) 717 const bottomNavAvatar = document.querySelector('.bottom-nav-avatar-img'); 718 if (bottomNavAvatar) { 719 bottomNavAvatar.addEventListener('error', function() { 720 const initials = this.getAttribute('data-fallback-initials') || 'U'; 721 const initialsDiv = document.createElement('div'); 722 initialsDiv.className = 'bottom-nav-avatar-initials'; 723 initialsDiv.textContent = initials; 724 this.parentNode.replaceChild(initialsDiv, this); 725 }); 726 } 727 728 // Mobile logout button 729 const mobileLogoutBtn = document.getElementById('mobileLogoutBtn'); 730 if (mobileLogoutBtn) { 731 mobileLogoutBtn.addEventListener('click', async function(e) { 732 e.preventDefault(); 733 734 // Check push notification before logout 735 if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') { 736 const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification(); 737 if (!confirmLogout) { 738 return; // User cancelled logout 739 } 740 } 741 742 const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || ''; 743 744 try { 745 const response = await fetch('/auth/logout', { 746 method: 'POST', 747 credentials: 'same-origin', 748 headers: { 749 'Content-Type': 'application/json', 750 'X-CSRF-Token': getCsrfToken() 751 }, 752 body: JSON.stringify({ 753 csrf_token: getCsrfToken() 754 }) 755 }); 756 757 if (response.ok) { 758 if (window.guestCart && typeof window.guestCart.clear === 'function') { 759 window.guestCart.clear(); 760 } 761 window.location.href = '/login?logged_out=1'; 762 } else { 763 console.error('Logout failed'); 764 window.location.href = '/logout'; 765 } 766 } catch (error) { 767 console.error('Logout error:', error); 768 window.location.href = '/logout'; 769 } 770 }); 771 } 772 773 const logoutBtn = document.getElementById('logoutBtn'); 774 if (logoutBtn) { 775 logoutBtn.addEventListener('click', async function(e) { 776 e.preventDefault(); 777 778 // Check push notification before logout 779 if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') { 780 const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification(); 781 if (!confirmLogout) { 782 return; // User cancelled logout 783 } 784 } 785 786 const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || ''; 787 788 try { 789 const response = await fetch('/auth/logout', { 790 method: 'POST', 791 credentials: 'same-origin', 792 headers: { 793 'Content-Type': 'application/json', 794 'X-CSRF-Token': getCsrfToken() 795 }, 796 body: JSON.stringify({ 797 csrf_token: getCsrfToken() 798 }) 799 }); 800 801 if (response.ok) { 802 if (window.guestCart && typeof window.guestCart.clear === 'function') { 803 window.guestCart.clear(); 804 } 805 806 window.location.href = '/login?logged_out=1'; 807 } else { 808 console.error('Logout failed'); 809 window.location.href = '/logout'; 810 } 811 } catch (error) { 812 console.error('Logout error:', error); 813 window.location.href = '/logout'; 814 } 815 }); 816 } 817 818 const wishlistBtn = document.getElementById('wishlistBtn'); 819 const notifBtn = document.getElementById('notifBtn'); 820 821 if (wishlistBtn) { 822 wishlistBtn.addEventListener('click', function(e) { 823 e.preventDefault(); 824 alert('Fitur wishlist akan segera tersedia!'); 825 }); 826 } 827 828 if (notifBtn) { 829 notifBtn.addEventListener('click', function(e) { 830 e.preventDefault(); 831 alert('Fitur notifikasi akan segera tersedia!'); 832 }); 833 } 834 })(); 835 836 // ========== MOBILE BOTTOM NAVIGATION ========== 837 (function initBottomNav() { 838 // Sync cart badge with bottom nav 839 function syncBottomCartBadge() { 840 const mainBadge = document.getElementById('cartCount'); 841 const bottomBadge = document.getElementById('bottomCartCount'); 842 if (mainBadge && bottomBadge) { 843 const count = mainBadge.textContent; 844 bottomBadge.textContent = count; 845 bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none'; 846 } 847 } 848 849 // Sync compare badge with bottom nav 850 function syncBottomCompareBadge() { 851 const mainBadge = document.getElementById('compareCount'); 852 const bottomBadge = document.getElementById('bottomCompareCount'); 853 if (mainBadge && bottomBadge) { 854 const count = mainBadge.textContent; 855 bottomBadge.textContent = count; 856 bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none'; 857 } 858 } 859 860 // Initial sync 861 syncBottomCartBadge(); 862 syncBottomCompareBadge(); 863 864 // Observe badge changes 865 const observer = new MutationObserver(function() { 866 syncBottomCartBadge(); 867 syncBottomCompareBadge(); 868 }); 869 870 const cartBadge = document.getElementById('cartCount'); 871 const compareBadge = document.getElementById('compareCount'); 872 873 if (cartBadge) observer.observe(cartBadge, { childList: true, characterData: true, subtree: true }); 874 if (compareBadge) observer.observe(compareBadge, { childList: true, characterData: true, subtree: true }); 875 876 // Bottom Cart Button 877 const bottomCartBtn = document.getElementById('bottomCartBtn'); 878 if (bottomCartBtn) { 879 bottomCartBtn.addEventListener('click', function(e) { 880 e.preventDefault(); 881 882 const checkLogin = () => { 883 return window.isUserLoggedIn ? window.isUserLoggedIn() : false;
884 }; 885 886 if (checkLogin()) { 887 window.location.href = '/keranjang'; 888 } else { 889 showCartLoginModal(); 890 } 891 }); 892 } 893 894 // Bottom Compare Button 895 const bottomCompareBtn = document.getElementById('bottomCompareBtn'); 896 if (bottomCompareBtn) { 897 bottomCompareBtn.addEventListener('click', function(e) { 898 e.preventDefault(); 899 900 // Close chat widget if open 901 if (window.plazaChat && window.plazaChat.isWidgetOpen) { 902 window.plazaChat.closeWidget(); 903 } 904 905 const mainCompareBtn = document.getElementById('compareBtn'); 906 if (mainCompareBtn) { 907 mainCompareBtn.click(); 908 } 909 }); 910 } 911 912 // Bottom Category Button - triggers mega menu 913 const bottomCategoryBtn = document.getElementById('bottomCategoryBtn'); 914 if (bottomCategoryBtn) { 915 bottomCategoryBtn.addEventListener('click', function(e) { 916 e.preventDefault(); 917 // Trigger desktop mega menu 918 const desktopTrigger = document.querySelector('.mm2-trigger:not(#bottomCategoryBtn)'); 919 if (desktopTrigger) { 920 desktopTrigger.click(); 921 } 922 }); 923 } 924 925 // Bottom Login Button 926 const bottomLoginBtn = document.getElementById('bottomLoginBtn'); 927 if (bottomLoginBtn) { 928 bottomLoginBtn.addEventListener('click', function(e) { 929 e.preventDefault(); 930 window.location.href = '/login'; 931 }); 932 } 933 934 // Bottom Chat Button 935 const bottomChatBtn = document.getElementById('bottomChatBtn'); 936 if (bottomChatBtn) { 937 bottomChatBtn.addEventListener('click', function(e) { 938 e.preventDefault(); 939 940 // Trigger chat widget (try multiple times if needed) 941 const triggerChat = () => { 942 const chatToggle = document.getElementById('chat-toggle-btn'); 943 if (chatToggle) { 944 chatToggle.click(); 945 return true; 946 } 947 return false; 948 }; 949 950 // Immediate attempt 951 if (!triggerChat()) { 952 // Retry after 100ms if not found 953 setTimeout(() => { 954 if (!triggerChat()) { 955 // Last resort: manually show popup 956 const popup = document.getElementById('chat-popup'); 957 if (popup) { 958 popup.style.display = 'block'; 959 } 960 } 961 }, 100); 962 } 963 }); 964 } 965 966 // Sync chat unread badge 967 function syncBottomChatBadge() { 968 const chatBadge = document.getElementById('chat-unread-badge'); 969 const bottomChatBadge = document.getElementById('bottomChatCount'); 970 if (chatBadge && bottomChatBadge) { 971 const count = chatBadge.textContent; 972 bottomChatBadge.textContent = count; 973 bottomChatBadge.style.display = chatBadge.style.display; 974 } 975 } 976 977 // Observe chat badge changes 978 const chatBadge = document.getElementById('chat-unread-badge'); 979 if (chatBadge) { 980 observer.observe(chatBadge, { attributes: true, childList: true, characterData: true, subtree: true }); 981 syncBottomChatBadge(); 982 } 983 984 // Active state management based on current page 985 function updateActiveState() { 986 const currentPath = window.location.pathname; 987 const bottomNavItems = document.querySelectorAll('.bottom-nav-item'); 988 989 bottomNavItems.forEach(item => { 990 item.classList.remove('active'); 991 992 const itemId = item.id; 993 const page = item.getAttribute('data-page'); 994 const href = item.getAttribute('href'); 995 996 // Check by ID for specific pages 997 if (itemId === 'bottomHomeBtn' && currentPath === '/') { 998 item.classList.add('active'); 999 } else if (itemId === 'bottomCartBtn' && (currentPath === '/keranjang' || currentPath === '/cart')) { 1000 item.classList.add('active'); 1001 } else if (itemId === 'bottomProfileBtn' && currentPath.startsWith('/profile')) { 1002 item.classList.add('active'); 1003 } else if (itemId === 'bottomCategoryBtn' && currentPath.startsWith('/kategori')) { 1004 item.classList.add('active'); 1005 } else if (itemId === 'bottomCompareBtn' && currentPath === '/compare') { 1006 item.classList.add('active'); 1007 } else if (itemId === 'bottomChatBtn' && currentPath === '/chat') { 1008 item.classList.add('active'); 1009 } 1010 // Fallback: check by data-page attribute 1011 else if (page === 'home' && currentPath === '/') { 1012 item.classList.add('active'); 1013 } else if (page === 'profile' && currentPath.startsWith('/profile')) { 1014 item.classList.add('active'); 1015 } 1016 // Fallback: check by href 1017 else if (href && currentPath === href) { 1018 item.classList.add('active'); 1019 } 1020 }); 1021 } 1022 1023 // Update active state on load 1024 updateActiveState(); 1025 1026 // Bottom nav always visible - auto-hide disabled for better UX 1027 // const bottomNav = document.querySelector('.bottom-nav'); 1028 // if (bottomNav && window.innerWidth <= 640) { 1029 // // Auto-hide feature disabled 1030 // } 1031 })(); 1032 // Cart Login Modal Handler (Global scope) 1033 function showCartLoginModal() { 1034 const modal = document.getElementById('cartLoginModal'); 1035 if (!modal) return; 1036 1037 modal.classList.add('show'); 1038 1039 const confirmBtn = document.getElementById('cartLoginConfirm'); 1040 const registerBtn = document.getElementById('cartRegisterBtn'); 1041 const cancelBtn = document.getElementById('cartLoginCancel'); 1042 1043 const handleLogin = () => { 1044 window.location.href = '/login?return=' + encodeURIComponent('/keranjang'); 1045 }; 1046 1047 const handleRegister = () => { 1048 window.location.href = '/register?return=' + encodeURIComponent('/keranjang'); 1049 }; 1050 1051 const handleCancel = () => { 1052 modal.classList.remove('show'); 1053 confirmBtn.removeEventListener('click', handleLogin); 1054 registerBtn.removeEventListener('click', handleRegister); 1055 cancelBtn.removeEventListener('click', handleCancel); 1056 }; 1057 1058 confirmBtn.removeEventListener('click', handleLogin); 1059 registerBtn.removeEventListener('click', handleRegister); 1060 cancelBtn.removeEventListener('click', handleCancel); 1061 1062 confirmBtn.addEventListener('click', handleLogin); 1063 registerBtn.addEventListener('click', handleRegister); 1064 cancelBtn.addEventListener('click', handleCancel); 1065 1066 modal.addEventListener('click', (e) => { 1067 if (e.target === modal) { 1068 handleCancel(); 1069 } 1070 }); 1071 } 1072 </script>
1072 1073 1074 1075 <!-- Product Compare Sidebar --> 1076 <div class="compare-sidebar" id="compareSidebar"> 1077 <div class="compare-header"> 1078 <h4 class="compare-title"> 1079 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 1080 <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"/> 1081 </svg> 1082 Bandingkan Produk 1083 <span class="compare-count" id="compareCountSidebar">(0)</span> 1084 </h4> 1085 <button class="compare-close" id="compareClose" aria-label="Tutup"> 1086 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> 1087 <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"/> 1088 </svg> 1089 </button> 1090 </div> 1091 1092 <div class="compare-content"> 1093 <div class="compare-empty" id="compareEmpty"> 1094 <div class="empty-icon"> 1095 <svg width="48" height="48" viewBox="0 0 24 24" fill="currentColor" opacity="0.3"> 1096 <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"/> 1097 </svg> 1098 </div> 1099 <h5>Belum ada produk dipilih</h5> 1100 <p>Pilih produk yang ingin dibandingkan dengan klik tombol "Bandingkan Produk" di halaman produk.</p> 1101 </div> 1102 1103 <div class="compare-list" id="compareList"> 1104 <!-- Products will be populated here --> 1105 </div> 1106 </div> 1107 1108 <div class="compare-actions" id="compareActions"> 1109 <button class="btn btn-outline-danger btn-sm" id="compareClearAll"> 1110 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"> 1111 <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"/> 1112 </svg> 1113 Hapus Semua 1114 </button> 1115 <button class="btn btn-primary btn-sm" id="compareAnalyze" disabled> 1116 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"> 1117 <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"/> 1118 </svg> 1119 Analisis AI 1120 </button> 1121 </div> 1122 1123 <!-- AI Disclaimer in Sidebar --> 1124 <div class="compare-disclaimer"> 1125 <div class="ai-disclaimer"> 1126 <div class="disclaimer-text"> 1127 <strong>TARIANTOTO menyajikan keunggulan ringkas</strong> berupa akses praktis ke pasaran dan tampilan modern untuk memudahkan pembaca menemukan informasi togel secara cepat. 1128 </div> 1129 </div> 1130 </div> 1131 </div><link rel="stylesheet" href="https://plazaitdotid.pages.dev/assets/css/pd-lightbox.css"> 1132 <style>.paylater-promo{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#dcfff3 0,#dcfff3 100%);border:1px solid #051d14;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:#051d14;font-weight:600}.paylater-text small{color:#051d14;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:#00f0a8;background:#f8ba98;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,#1ef1ff 0,#1ef1ff 100%);border:none;border-radius:8px;padding:3px;
1132cursor:pointer;transition:all .2s ease;width:auto}.pdv-badge-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(43,255,192,0.3)}.pdv-badge-btn:disabled{opacity:.6;cursor:not-allowed}.pdv-badge-icon{color:#dcfff3;flex-shrink:0}.pdv-badge-text{font-size:14px;font-weight:700;color:#dcfff3;white-space:nowrap}.pdv-badge-code{font-family:'Courier New',monospace;font-size:13px;font-weight:700;color:#dcfff3;background:rgba(220,255,243,0.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 #89ffdc;background:#dcfff3;color:#1ef1ff;cursor:pointer;transition:all .2s ease;white-space:nowrap}.pdv-min-copy:hover:not(:disabled),.pdv-min-more:hover{background:#1ef1ff;color:#dcfff3;border-color:#1ef1ff}.pdv-min-copy:disabled{opacity:.4;cursor:not-allowed}.pdv-min-copy.copied{background:#11f0ff;color:#dcfff3;border-color:#11f0ff}.pdv-min-more{margin-left:auto}.modal-close{position:absolute;top:20px;right:20px;background:none;border:none;cursor:pointer;color:#00e4a0;padding:4px;transition:color .2s ease}.modal-close:hover{color:#007854}.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,#1ef1ff 0,#1ef1ff 100%);border-radius:10px;padding:8px 16px;margin-bottom:12px}.vmb-value{font-size:18px;font-weight:700;color:#dcfff3;line-height:1}.vmb-label{font-size:18px;font-weight:700;color:#dcfff3;text-transform:uppercase;letter-spacing:.5px}.voucher-modal-code{font-family:'Courier New',monospace;font-size:14px;font-weight:700;color:#1ef1ff;background:rgba(43,255,192,0.1);padding:6px 12px;border-radius:6px;border:2px dashed rgba(43,255,192,0.3);display:inline-block;margin-bottom:10px}.voucher-modal-name{font-size:14px;font-weight:600;color:#007854;margin-bottom:16px}.voucher-modal-details{text-align:left;background:#8bffdc;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:#00e4a0;border-bottom:1px solid #89ffdc}.vmd-item:last-child{border-bottom:none}.vmd-item svg{color:#1ef1ff;flex-shrink:0;margin-top:2px}.vmd-item strong{color:#007854}.modal-actions{padding:20px}.modal-btn-primary{background:linear-gradient(135deg,#1ef1ff 0,#1ef1ff 100%);color:#dcfff3}.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(220,255,243,0.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(44,242,255,0.2);border-radius:12px;margin:16px 0;box-shadow:0 4px 16px rgba(5,29,20,0.08);transition:all .3s ease}.promo-endyear-mini-banner:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(5,29,20,0.12);border-color:rgba(44,242,255,0.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:#2cf2ff;margin-bottom:2px}.pey-content span{display:block;font-size:13px;color:#00e4a0;line-height:1.4}.pey-link{flex-shrink:0;padding:8px 16px;background:linear-gradient(135deg,#2cf2ff,#28ffbf);color:#dcfff3;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(44,242,255,0.25)}.pey-link:hover{transform:translateX(2px);box-shadow:0 4px 12px rgba(44,242,255,0.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> 1133 <style nonce="se3iyzEHMc9FQEB4wSyd0w=="> 1134 .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;
1134display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid #89ffdc;background:#dcfff3;color:#00e4a0;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.pd-share-btn:hover{background:#8bffdc;border-color:#6dffd4;color:#006144;transform:translateY(-1px)}.pd-share-btn:active{transform:translateY(0)}.pd-share-btn svg{display:block} 1135 1136 .pd-share-modal-overlay{position:fixed;inset:0;background:rgba(0,97,68,0.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:#dcfff3;border-radius:20px;box-shadow:0 25px 50px -12px rgba(5,29,20,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)}} 1137 1138 .pd-share-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #8bffdc}.pd-share-title{font-size:18px;font-weight:700;color:#006144;margin:0}.pd-share-close{width:32px;height:32px;border-radius:8px;border:0;background:transparent;color:#00e4a0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.pd-share-close:hover{background:#8bffdc;color:#006144}.pd-share-body{padding:24px;overflow-y:auto} 1139 1140 .pd-share-preview{display:flex;gap:12px;padding:16px;background:#8bffdc;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 #89ffdc}.pd-share-preview-info{flex:1;min-width:0}.pd-share-preview-name{font-size:14px;font-weight:600;color:#006144;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:#00f0a8;margin:0} 1141 1142 .pd-share-label{font-size:13px;font-weight:600;color:#00b780;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 #89ffdc;border-radius:12px;background:#dcfff3;cursor:pointer;transition:all .2s ease;text-decoration:none;color:inherit}.pd-share-option:hover{border-color:#28ffbf;background:#8bffdc;transform:translateY(-2px)}.pd-share-option:active{transform:translateY(0)} 1143 1144 .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,#00f0a8 0%,#006346 100%);color:#dcfff3}.pd-share-icon-facebook{background:linear-gradient(135deg,#1ef1ff 0%,#1ef1ff 100%);color:#dcfff3}.pd-share-icon-twitter{background:linear-gradient(135deg,#1ef1ff 0%,#00de9c 100%);color:#dcfff3}.pd-share-icon-telegram{background:linear-gradient(135deg,#00cb8f 0%,#00b982 100%);color:#dcfff3}.pd-share-icon-email{background:linear-gradient(135deg,#3af3ff 0%,#0ff0ff 100%);color:#dcfff3}.pd-share-icon-copy{background:linear-gradient(135deg,#2effc1 0%,#11ffb8 100%);color:#dcfff3}.pd-share-icon-pdf{background:linear-gradient(135deg,#48f4ff 0%,#25f2ff 100%);color:#dcfff3}.pd-share-name{font-size:12px;font-weight:600;color:#00b780;text-align:center} 1145 1146 .pd-share-copy-section{background:#8bffdc;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 #89ffdc;border-radius:10px;font-size:14px;color:#006144;background:#dcfff3;font-family:'Segoe UI',system-ui,sans-serif}.pd-share-copy-input:focus{outline:0;border-color:#00f0a8;box-shadow:0 0 0 3px rgba(0,234,164,0.1)}.pd-share-copy-btn{padding:12px 20px;border:0;border-radius:10px;background:linear-gradient(135deg,#1df1ff 0%,#1ef1ff 100%);color:#dcfff3;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,#1ef1ff 0%,#1ef1ff 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,234,164,0.3)}.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,#11f0ff 0%,#00e1ef 100%);pointer-events:none} 1147 1148 @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}} 1149
1150 .mf-share{background:#dcfff3;color:#4bf4ff;border:2px solid #4bf4ff;display:inline-flex;align-items:center;justify-content:center}.mf-share:active{transform:scale(.95)}.mf-share svg{display:block} 1151 1152 @media(max-width:640px){.pd-share-btn{display:none!important}} 1153 1154 .stock-badge.in{background:#f9be9f;color:#00c8d5;border-radius:999px;padding:4px 10px;font-weight:700}.stock-badge.out{background:#bdfbff;color:#04f0ff;border-radius:999px;padding:4px 10px;font-weight:700} 1155 1156 .stock-info-btn{--c:#1df1ff;--b:#75ffd6;--bg:#8bffdc;--bg-h:#8bffdc;--b-h:#1df1ff;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:#1ef1ff;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,234,164,0.15)}.stock-info-btn:active{transform:translateY(0)}.stock-info-btn:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(0,234,164,0.2)}.stock-info-btn svg{width:14px;height:14px;flex-shrink:0}.stock-info-btn .btn-text{white-space:nowrap} 1157 1158 .stock-popover{position:absolute;z-index:9999;min-width:280px;max-width:92vw;background:#00573d;color:#8bffdc;border:1px solid rgba(220,255,243,0.08);border-radius:14px;box-shadow:0 20px 40px rgba(0,86,60,0.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:#00573d;border-left:1px solid rgba(220,255,243,0.08);border-top:1px solid rgba(220,255,243,0.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:#28ffbf;cursor:pointer} 1159 1160 .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(220,255,243,0.03)}.sp-left{display:flex;align-items:center;gap:10px}.sp-dot{width:10px;height:10px;border-radius:999px;background:var(--dot,#32ffc2);display:inline-block}.sp-label{font-weight:600;font-size:13px} 1161 1162 1163 .sp-qty{grid-column:2;justify-self:end;min-width:40px;text-align:right;font-weight:800;font-size:13px;color:#86ffdb;font-variant-numeric:tabular-nums} 1164 1165 .sp-wa{ 1166 grid-column:3; justify-self:end; 1167 width:32px; height:32px; min-width:32px; min-height:32px; 1168 box-sizing:border-box; 1169 padding:0; line-height:0; text-decoration:none; outline:0; 1170 display:inline-flex; align-items:center; justify-content:center; 1171 border-radius:999px; border:1px solid rgba(30,241,255,0.6); /* 1px untuk hasil âcrispâ */ 1172 background:rgba(234,91,15,0.08); color:#1ef1ff; 1173 transition:background-color .15s ease, border-color .15s ease, transform .05s ease; 1174 -webkit-tap-highlight-color:transparent; 1175 } 1176 .sp-wa:hover{background:rgba(234,91,15,0.16);border-color:rgba(234,91,15,0.75)} 1177 .sp-wa:active{transform:translateY(.5px) scale(.98)} 1178 1179 .sp-wa svg{width:18px;height:18px;display:block;vertical-align:middle} 1180 .stock-popover a{text-decoration:none} 1181 1182 #deskripsi img{max-width:200px!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}} 1183 1184 .stock-dot{position:absolute;bottom:8px;right:8px;width:8px;height:8px;border-radius:50%;box-shadow:0 1px 3px rgba(5,29,20,0.4);z-index:2;cursor:help}.stock-dot.ready{background:#ca4f0d}.stock-dot.low{background:#00f1a9}.stock-dot.out{background:#48f4ff}.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}} 1185 1186 .pd-related-card .spec-chips{font-size:11px;color:#00e4a0;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}} 1187 1188 .pwp-trigger-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 4px;background:linear-gradient(135deg,#08ffb5 0%,#00f1a9 100%);color:#00bfcb;border-radius:6px;font-size:.65rem;font-weight:600;border:0}.pwp-trigger-badge svg{flex-shrink:0;width:12px;height:12px} 1189 .pwp-deals-section{margin:0;padding:12px;background:linear-gradient(135deg,#7fffd9 0%,#53ffcc 100%);border-radius:12px;border:2px solid #08ffb5}.pwp-deals-header{display:flex;gap:10px;margin-bottom:10px}.pwp-icon{flex-shrink:0;
1189color:#00f1a9;width:18px;height:18px}.pwp-text .pwp-title{margin:0 0 2px 0;font-size:14px;font-weight:700;color:#00bfcb}.pwp-text .pwp-subtitle{margin:0;font-size:11px;color:#00d0dd;opacity:0.9}.pwp-deals-loading{text-align:center;padding:40px 0;color:#00d0dd}.pwp-spinner{width:40px;height:40px;border:3px solid #08ffb5;border-top-color:#00f1a9;border-radius:50%;animation:spin 0.8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}} 1190 .pwp-deals-grid{display:flex;flex-direction:column;gap:6px}.pwp-deal-card{background:#dcfff3;border-radius:6px;overflow:hidden;border:1px solid #08ffb5;display:flex;align-items:center;padding:8px;gap:10px}.pwp-deal-card:hover{background:#7fffd9}.pwp-deal-thumb{flex-shrink:0;width:50px;height:50px;background:#8bffdc;overflow:hidden;border-radius:4px}.pwp-deal-thumb img{width:100%;height:100%;object-fit:cover}.pwp-deal-badge{background:#25f2ff;color:#dcfff3;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:#006144;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:#25f2ff;white-space:nowrap}.pwp-deal-original{font-size:11px;color:#00e4a0;text-decoration:line-through;white-space:nowrap}.pwp-cart-note{margin-top:8px;padding:6px 10px;background:#8bffdc;border-left:2px solid#1df1ff;font-size:11px;color:#009065;border-radius:4px} 1191 @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}} 1192 1193 .preorder-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:linear-gradient(135deg,#f38346 0%,#f16f29 100%);color:#dcfff3;border-radius:8px;font-size:13px;font-weight:700;border:0;box-shadow:0 2px 8px rgba(243,131,70,0.25)}.preorder-badge svg{width:16px;height:16px;flex-shrink:0}.preorder-info{margin:12px 0;padding:14px;background:linear-gradient(135deg,#8bffdc 0%,#8bffdc 100%);border:1.5px solid #72ffd5;border-radius:12px}.preorder-info-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.preorder-info-icon{width:20px;height:20px;color:#f16f29;flex-shrink:0}.preorder-info-title{font-size:14px;font-weight:700;color:#d3530d;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:#ca4f0d;font-weight:600}.preorder-info-value{color:#d3530d;font-weight:700}.preorder-info-value.highlight{color:#25f2ff;font-size:14px}.preorder-info-note{margin-top:10px;padding:8px 10px;background:#7fffd9;border-left:2px solid #00f1a9;font-size:12px;color:#00bfcb;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}} 1194 </style> 1195 1196 <div class="pd-sticky-header" id="pd-sticky-header"><div class="pd-sticky-header-container"><div class="pd-sticky-thumb"><img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" id="pd-sticky-thumb-img"></div><div class="pd-sticky-info"><h2 class="pd-sticky-title" id="pd-sticky-title">TARIANTOTO $ Ada Apa dengan Situs Togel Online yang Satu Ini?</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.5%</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">
1196<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"/></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"/></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> 1197 1198 <main class="product-single product-single--v3"><nav class="pd-breadcrumb" aria-label="breadcrumb"><a href="https://bigwinnerpro.org/">TARIANTOTO</a><span>/</span><a href="https://bigwinnerpro.org/">TARIAN TOTO</a><span>/</span><a href="https://bigwinnerpro.org/">BANDAR TOGEL ONLINE</a><span>/</span><a href="https://bigwinnerpro.org/">TOTO MACAU</a><span>/</span><a href="https://bigwinnerpro.org/">SITUS TOGEL ONLINE </a><span>/</span><span class="current">TARIANTOTO $ Ada Apa dengan Situs Togel Online yang Satu Ini? 1199 1200 </span></nav> 1201 1202 <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://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" data-slug="" loading="eager"> 1203 </figure> 1204 1205 <div class="pd-mobile-slider-wrapper"> 1206 <div class="pd-mobile-slider" id="pd-mobile-slider" aria-label="Galeri gambar (geser)"><div class="pd-mslide"><img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" loading="eager"></div><div class="pd-mslide"><img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" loading="lazy"></div><div class="pd-mslide"><img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" loading="lazy"></div><div class="pd-mslide"><img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" loading="lazy"></div><div class="pd-mslide"><img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" loading="lazy"></div><div class="pd-mslide"><img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" loading="lazy"></div></div><div class="pd-gallery-counter" id="pd-gallery-counter">1/6</div></div> 1207 <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://uploademosi.com/img/delora-iriy-tariantoto.webp" data-alt="TARIANTOTO" data-slug="" aria-label="Gambar 1"><img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://uploademosi.com/img/delora-iriy-tariantoto.webp" data-alt="TARIANTOTO" data-slug="https://uploademosi.com/img/delora-iriy-tariantoto.webp" aria-label="Gambar 2"><img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://uploademosi.com/img/delora-iriy-tariantoto.webp" data-alt="TARIANTOTO" data-slug="lenovo-legion-go-8as
1207p2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-223.webp" aria-label="Gambar 3"><img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://uploademosi.com/img/delora-iriy-tariantoto.webp" data-alt="TARIANTOTO" data-slug="lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-776.webp" aria-label="Gambar 4"><img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://uploademosi.com/img/delora-iriy-tariantoto.webp" data-alt="TARIANTOTO" 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://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://uploademosi.com/img/delora-iriy-tariantoto.webp" data-alt="TARIANTOTO" 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://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" 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"> 1208 <h1 class="pd-title" id="pd-title">TARIANTOTO $ Ada Apa dengan Situs Togel Online yang Satu Ini?</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"/></svg></button></div> 1209 <div id="pd-price-anchor"> 1210 </div> 1211 <div class="pd-price-qr-container"> 1212 <div class="pd-price-block" id="pd-price-block"> 1213 <div class="pd-price-row"> 1214 <span class="pd-price-current" id="pd-price-current" >Rp 10.000</span> 1215 <span class="pd-price-original" id="pd-price-original">Rp 50.000</span> 1216 <span class="pd-discount-badge" id="pd-discount-badge">-90%</span></div> 1217 <div class="pd-meta-row"> 1218 <span class="sold-inline" id="pd-sold-inline" data-role="sold-chip">Terjual Terjual 2K</span> 1219 <span class="pwp-trigger-badge" id="pwp-trigger-badge" hidden> 1220 <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"> 1221 <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"/></svg>Bisa PWP</span></div> 1222 <div class="pd-meta-inline"><span class="stock-badge out" id="pd-stock-badge">TARIANTOTO</span> 1223 <span class="sku">SKU: <span id="pd-sku">1S83N0880RID</span></span></div> 1224 <div class="paylater-promo paylater-promo-sm paylater-mobile-only"> 1225 <span class="paylater-icon">ð³</span> 1226 <span class="paylater-text"> 1227 <strong>TARIANTOTO</strong> 1228 <small>TARIANTOTO TOGEL</small> 1229 </span> 1230 </div> 1231 1232 <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">
1232<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><ul class="sp-list"> 1233 <li class="sp-item"><div class="sp-left"><span class="sp-dot" style="--dot:#32ffc2;"></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/6281355775564?text=Halo%2C%20saya%20ingin%20tanya%20stok%20di%20Asia%20Mega%20Mas%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 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"/></svg></a></li> 1234 1235 <li class="sp-item"> 1236 <div class="sp-left"> 1237 <span class="sp-dot" style="--dot:#28f2ff;"></span> 1238 <span class="sp-label">Medan Fair</span> 1239 </div> 1240 <span class="sp-qty" id="sp-qty-mdf">0</span> 1241 <a class="sp-wa" 1242 href="https://wa.me/6281355775564?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" 1243 target="_blank" rel="noopener" aria-label="WhatsApp Medan Fair"> 1244 <svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 1245 <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"/> 1246 </svg> 1247 </a> 1248 </li> 1249 1250 <li class="sp-item"> 1251 <div class="sp-left">
1252 <span class="sp-dot" style="--dot:#00f1a9;"></span> 1253 <span class="sp-label">Banda Aceh</span> 1254 </div> 1255 <span class="sp-qty" id="sp-qty-bda">0</span> 1256 <a class="sp-wa" 1257 href="https://wa.me/6281355775564?text=Halo%2C%20saya%20ingin%20tanya%20stok%20di%20Banda%20Aceh%20untuk%20produk%20https%3A%2F%2Fplazait.co.id%2Fproduct%2Flenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-black" 1258 target="_blank" rel="noopener" aria-label="WhatsApp Banda Aceh"> 1259 <svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 1260 <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"/> 1261 </svg> 1262 </a> 1263 </li> 1264 </ul> 1265 </div> 1266 1267 </div> 1268 <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> 1269 </div> 1270 <div id="pd-variants-anchor"></div> 1271 1272 1273 1274 <div class="pd-compare-section"> 1275 <button type="button" class="pd-compare-btn" id="pd-compare-btn" data-product-id="325"> 1276 <svg class="compare-icon" width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> 1277 <path d="M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z"/> 1278 </svg> 1279 <span class="compare-text">Bandingkan Produk</span> 1280 <span class="compare-remove" hidden> 1281 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> 1282 <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"/> 1283 </svg> 1284 Hapus dari Perbandingan 1285 </span> 1286 </button> 1287 <div class="pd-compare-info"> 1288 <small class="compare-note" id="compare-note">Bandingkan hingga 5 produk dengan bantuan AI</small> 1289 </div> 1290 </div> 1291 1292 <div class="pd-short-desc"><p><strong>Kartu Informasi Pasaran TARIANTOTO</strong></p><ul><li>Minimal Deposit: Rp.10.000,-</li><li>Minimal Withdraw: Rp 50.000,-</li><li>Jenis Permainan: Live Casino, Togel, Slot Online</li><li>Metode Pembayaran: Bank, QRIS, E-Wallet, USDT</li><li>Mata Uang: IDR (Indonesian Rupiah)</li><li>Jam Operasional: 24 Jam Nonstop</li><li>Total Rating: 555.666.777</li><li>Rating: âââââ</li><li>Daftar Sekarang: <a href="https://bigwinnerpro.org/">Klik Disini</a></li></ul> 1293<div class="prediksi-box"> 1294 1295<table> 1296 1297<tr> 1298<td>Prediksi MC 2D</td> 1299<td id="mc2d"></td> 1300</tr> 1301 1302<tr> 1303<td>Prediksi MC 3D</td> 1304<td id="mc3d"></td> 1305</tr> 1306 1307<tr> 1308<td>Prediksi MC 4D</td> 1309<td id="mc4d"></td> 1310</tr> 1311 1312<tr> 1313<td>Angka Main</td> 1314<td id="main"></td> 1315</tr> 1316 1317<tr> 1318<td>Angka Kuat</td> 1319<td id="kuat"></td> 1320</tr> 1321 1322<tr> 1323<td>BBFS</td> 1324<td id="bbfs"></td> 1325</tr> 1326 1327</table> 1328 1329 1330<button id="generateBtn" onclick="generatePrediksi()"> 1331GENERATE PREDIKSI 1332</button> 1333 1334 1335</div> 1336 1337 1338<style> 1339 1340.prediksi-box{ 1341 max-width:700px; 1342 margin:auto; 1343 font-family:Arial,sans-serif; 1344} 1345 1346 1347table{ 1348 width:100%; 1349 border-collapse:collapse; 1350 background:#051d14; 1351} 1352 1353 1354td{ 1355 border:1px solid #b2460b; 1356 padding:14px; 1357 font-weight:bold; 1358} 1359 1360 1361td:first-child{ 1362 width:45%; 1363 color:#47f4ff; 1364} 1365 1366 1367td:last-child{ 1368 color:#f6a478; 1369 letter-spacing:2px; 1370} 1371 1372 1373button{ 1374 1375 margin-top:20px; 1376 background:#01efff; 1377 color:#dcfff3; 1378 border:0; 1379 padding:12px 30px; 1380 border-radius:8px; 1381 font-weight:bold; 1382 cursor:pointer; 1383 1384} 1385 1386 1387button:disabled{ 1388 1389 background:#146c4a; 1390 cursor:not-allowed; 1391 1392} 1393 1394</style> 1395 1396 1397
1398<script> 1399 1400 1401function angkaRandom(jumlah){ 1402 1403 let angka=[]; 1404 1405 1406 while(angka.length < jumlah){ 1407 1408 let n=Math.floor(Math.random()*10); 1409 1410 1411 if(!angka.includes(n)){ 1412 1413 angka.push(n); 1414 1415 } 1416 1417 } 1418 1419 1420 return angka; 1421 1422} 1423 1424 1425 1426 1427function kombinasiDigit(panjang,jumlah){ 1428 1429 let hasil=[]; 1430 1431 1432 for(let i=0;i<jumlah;i++){ 1433 1434 let angka=angkaRandom(panjang); 1435 1436 hasil.push(angka.join("")); 1437 1438 } 1439 1440 1441 return hasil.join(" ⢠"); 1442 1443} 1444 1445 1446 1447 1448function generatePrediksi(){ 1449 1450 1451 // cek apakah sudah pernah generate 1452 if(localStorage.getItem("prediksi_used") === "true"){ 1453 1454 1455 alert("Anda sudah melakukan generate prediksi."); 1456 1457 1458 return; 1459 1460 1461 } 1462 1463 1464 1465 // BBFS 7 angka 1466 let bbfsArray=angkaRandom(7); 1467 1468 1469 let bbfs=bbfsArray.join(""); 1470 1471 1472 1473 // angka main 1474 let main=bbfsArray.join(" ⢠"); 1475 1476 1477 1478 // angka kuat 1479 let kuatArray=[ 1480 1481 bbfsArray[3], 1482 bbfsArray[4], 1483 bbfsArray[5], 1484 bbfsArray[6] 1485 1486 ]; 1487 1488 1489 1490 document.getElementById("main").innerHTML = 1491 main; 1492 1493 1494 1495 document.getElementById("kuat").innerHTML = 1496 kuatArray.join(" ⢠"); 1497 1498 1499 1500 1501 document.getElementById("bbfs").innerHTML = 1502 bbfs; 1503 1504 1505 1506 1507 // prediksi MC 1508 1509 document.getElementById("mc2d").innerHTML = 1510 kombinasiDigit(2,4); 1511 1512 1513 1514 document.getElementById("mc3d").innerHTML = 1515 kombinasiDigit(3,3); 1516 1517 1518 1519 document.getElementById("mc4d").innerHTML = 1520 kombinasiDigit(4,3); 1521 1522 1523 1524 1525 // simpan status sudah digunakan 1526 1527 localStorage.setItem( 1528 "prediksi_used", 1529 "true" 1530 ); 1531 1532 1533 1534 // kunci tombol 1535 1536 document.getElementById("generateBtn").disabled = true; 1537 1538 1539 document.getElementById("generateBtn").innerHTML = 1540 "SUDAH DIGUNAKAN"; 1541 1542 1543 1544} 1545 1546 1547 1548 1549// cek saat halaman dibuka 1550 1551window.onload=function(){ 1552 1553 1554 if(localStorage.getItem("prediksi_used") === "true"){ 1555 1556 1557 document.getElementById("generateBtn").disabled=true; 1558 1559 1560 document.getElementById("generateBtn").innerHTML = 1561 "SUDAH DIGUNAKAN"; 1562 1563 1564 } 1565 1566 1567}; 1568 1569 1570 1571</script>
1571 1572 1573</div> 1574 <div id="golden-slot-standalone-v3"> 1575 1576 <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"/></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 ditambaMCan di halaman keranjang setelah produk ini dimasukkan</p></div> 1577 </section> 1578 1579 <aside class="pd-sidebar"> 1580 <div class="pd-side-card pd-buy-card"> 1581 <form class="pd-buy-form" id="pd-buy-form" data-pid="325"> 1582 <input type="hidden" name="variant_id" id="pd-variant-id" value="0"> 1583 <div> 1584 <label for="qty" class="qty-label">Qty</label> 1585 <input type="number" id="qty" name="qty" value="0" min="1" 1586 max="0" 1587 disabled> 1588 </div> 1589 <div class="pd-actions"> 1590 <button type="submit" class="btn-add-cart" id="btn-add-cart" disabled>+ Keranjang</button> 1591 <button type="button" class="btn-buy" id="btn-buy" data-id="278426" disabled >Beli</button> 1592 <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"/></svg></button> 1593 </div> 1594 </form> 1595 <div class="paylater-promo paylater-promo-md paylater-desktop-only"> 1596 <span class="paylater-icon">ð³</span> 1597 <span class="paylater-text"> 1598 <strong>Authorized TARIANTOTO</strong> 1599 <small>Bandar Togel Online Toto Macau</small> 1600 </span> 1601 </div> </div> 1602 1603 1604 <div class="pd-side-card qoala-banner-card"> 1605 <div class="qoala-banner"> 1606 <div class="qoala-banner-content"> 1607 <div class="qoala-icon"> 1608 <center><img src="https://imagestore-cdn.net/img/tarian/favtarian.png" alt="TARIANTOTO" class="qoala-shield-img"></center> 1609 </div> 1610 <div class="qoala-text"> 1611 <div class="qoala-title">TARIANTOTO</div> 1612 <div class="qoala-subtitle">Verified</div> 1613 </div> 1614 </div> 1615 <a href="https://bigwinnerpro.org/" class="qoala-cta" 1616 data-ga-event="qoala_banner_click" 1617 data-product-id="325" 1618 data-product-name="TARIANTOTO" 1619 data-category-path="Komputer & Laptop/Laptop/Gaming" target="_blank">Info</a> 1620 </div> 1621 <style>.qoala-banner-card{padding:0;overflow:hidden}.qoala-banner{background:linear-gradient(135deg, #dcfff3 0%, #dcfff3 100%);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;color:#051d14;text-decoration:none;min-height:60px}.qoala-banner-content{display:flex;align-items:center;gap:12px}.qoala-icon{display:flex;align-items:center;justify-content:center}.qoala-shield-img{width:36px;height:36px;object-fit:contain;opacity:0.9}.qoala-title{font-weight:600;font-size:14px;line-height:1.2}.qoala-subtitle{font-size:12px;opacity:0.9;line-height:1.2}.qoala-cta{background:rgba(220,255,243,0.2);color:#051d14;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;transition:background 0.2s ease;border:1px solid rgba(220,255,243,0.3)}.qoala-cta:hover{background:rgba(220,255,243,0.3);color:#051d14}@media(max-width:768px){.qoala-banner{padding:10px 12px}.qoala-title{font-size:17px}.qoala-subtitle{font-size:11px}}</style> 1622 </div> 1623 1624 <div class="pd-side-card pd-installment-card2" 1625 id="inst-card" 1626 data-base-price="20789000" 1627 data-zero-smart="0"> 1628 <div class="inst-head"> 1629 <h3>Promo & Fitur TARIANTOTO</h3> 1630 </div> 1631 1632 <div class="inst-bank-tabs" role="tablist" aria-label="Bank"> 1633 <button type="button" class="bank-tab active" data-bank="Lucky Draw" aria-selected="true">Lucky Draw</button> 1634 <button type="button" class="bank-tab" data-bank="Togel Online" aria-selected="false">Togel Online</button> 1635 <button type="button" class="bank-tab" data-bank="Toto Macau" aria-selected="false">Toto Macau</button> 1636 </div> 1637 1638 <ul class="inst-month-list" id="inst-month-list" aria-label="Daftar cicilan per bulan"></ul> 1639 <div class="inst-note" id="inst-zero-note" style="display:none;">0% Cicilan khusus bank terpilih*</div> 1640 <div class="inst-disclaimer">Angka estimasi. Bisa ber https://bigwinnerpro.org/ sesuai kebijakan bank / penyedia.</div> 1641 </div> 1642 </div> 1643<style> 1644 :root { 1645 --sd-black: #5d2506; 1646 --sd-dark: #5d2506; 1647 --sd-purple: #ee5d0f; 1648 --sd-violet: #d5530e; 1649 --sd-magenta: #31f2ff; 1650 --sd-cyan: #ee5d0f; 1651 --sd-white: #f9be9f; 1652 --sd-muted: #f7b089; 1653 } 1654 1655 /* CONTAINER STREET DEMONS */ 1656 .article-pro { 1657 width: calc(100% - 30px); 1658 max-width: 1000px; 1659 margin: 40px auto; 1660 padding: 32px 28px; 1661 box-sizing: border-box; 1662 1663 background: 1664 radial-gradient( 1665 circle at top right, 1666 rgba(49,242,255,0.18), 1667 transparent 34% 1668 ), 1669 radial-gradient( 1670 circle at bottom left, 1671 rgba(238,93,15,0.14), 1672 transparent 38% 1673 ), 1674 linear-gradient( 1675 145deg, 1676 #5d2506 0%, 1677 #602506 48%, 1678 #5d2506 100% 1679 ); 1680 1681 border: 2px solid var(--sd-purple); 1682 border-radius: 10px 24px 10px 24px; 1683 1684 box-shadow: 1685 0 18px 40px rgba(5,29,20,0.6), 1686 0 0 18px rgba(238,93,15,0.55), 1687 0 0 30px rgba(49,242,255,0.22), 1688 inset 0 0 22px rgba(238,93,15,0.08); 1689 1690 font-family: "Poppins", Arial, sans-serif; 1691 color: var(--sd-white); 1692 line-height: 1.8; 1693 1694 position: relative; 1695 isolation: isolate; 1696 overflow: hidden; 1697 1698 transition: 1699 transform 0.35s ease, 1700 border-color 0.35s ease, 1701 box-shadow 0.35s ease; 1702 } 1703 1704 /* HOVER CONTAINER */ 1705 .article-pro:hover { 1706 transform: translateY(-3px); 1707 border-color: var(--sd-cyan); 1708 1709 box-shadow: 1710 0 22px 48px rgba(5,29,20,0.7), 1711 0 0 20px rgba(238,93,15,0.55), 1712 0 0 38px rgba(49,242,255,0.32), 1713 inset 0 0 24px rgba(238,93,15,0.12); 1714 } 1715 1716 /* KILATAN NEON BERGERAK */ 1717 .article-pro::before { 1718 content: ""; 1719 position: absolute; 1720 top: -20%; 1721 left: -160%; 1722 width: 65%; 1723 height: 140%; 1724 z-index: 0; 1725 pointer-events: none; 1726 1727 background: linear-gradient( 1728 90deg, 1729 transparent, 1730 rgba(238,93,15,0.12), 1731 rgba(49,242,255,0.52), 1732 rgba(238,93,15,0.58), 1733 transparent 1734 ); 1735 1736 transform: skewX(-24deg); 1737 filter: blur(1px); 1738 animation: streetDemonShine 4.5s infinite ease-in-out; 1739 } 1740 1741 /* TEKSTUR GRAFFITI DAN GARIS DISTORSI */ 1742 .article-pro::after { 1743 content: ""; 1744 position: absolute; 1745 inset: 0; 1746 z-index: 0; 1747 pointer-events: none; 1748 border-radius: inherit; 1749 1750 background: 1751 repeating-linear-gradient( 1752 -35deg, 1753 transparent 0, 1754 transparent 12px, 1755 rgba(220,255,243,0.025) 13px, 1756 rgba(49,242,255,0.04) 15px, 1757 transparent 18px 1758 ), 1759 repeating-linear-gradient( 1760 0deg, 1761 transparent 0, 1762 transparent 4px, 1763 rgba(238,93,15,0.025) 5px, 1764 transparent 6px 1765 ); 1766 1767 box-shadow: 1768 inset 0 0 0 1px rgba(220,255,243,0.04), 1769 inset 0 0 20px rgba(238,93,15,0.16); 1770 1771 opacity: 0.9; 1772 mix-blend-mode: screen; 1773 } 1774 1775 /* PASTIKAN KONTEN BERADA DI DEPAN EFEK */ 1776 .article-pro > * { 1777 position: relative; 1778 z-index: 2; 1779 } 1780 1781 /* PARAGRAF */ 1782 .article-pro p { 1783 margin: 0 0 18px; 1784 color: var(--sd-muted); 1785 font-size: 15px; 1786 line-height: 1.85; 1787 text-align: justify; 1788 1789 transition: 1790 color 0.3s ease, 1791 text-shadow 0.3s ease, 1792 transform 0.3s ease; 1793 } 1794 1795 .article-pro p:last-child { 1796 margin-bottom: 0; 1797 } 1798 1799 /* HOVER PARAGRAF */ 1800 .article-pro p:hover { 1801 color: #dcfff3; 1802 transform: translateX(3px); 1803 1804 text-shadow: 1805 0 0 7px rgba(238,93,15,0.34), 1806 0 0 12px rgba(49,242,255,0.22); 1807 } 1808 1809 /* JUDUL DI DALAM ARTIKEL */ 1810 .article-pro h1, 1811 .article-pro h2, 1812 .article-pro h3 { 1813 color: #dcfff3; 1814 font-weight: 900; 1815 font-style: italic; 1816 text-transform: uppercase; 1817 letter-spacing: 1.5px; 1818 1819 text-shadow: 1820 3px 3px 0 rgba(238,93,15,0.75), 1821 -2px -2px 0 rgba(49,242,255,0.42), 1822 0 0 12px rgba(238,93,15,0.45); 1823 } 1824 1825 .article-pro h1::after, 1826 .article-pro h2::after, 1827 .article-pro h3::after { 1828 content: ""; 1829 display: block; 1830 width: 110px; 1831 height: 4px; 1832 margin-top: 10px; 1833 1834 background: linear-gradient( 1835 90deg, 1836 var(--sd-magenta), 1837 var(--sd-purple), 1838 var(--sd-cyan), 1839 transparent 1840 ); 1841 1842 box-shadow: 1843 0 0 8px rgba(49,242,255,0.7), 1844 0 0 14px rgba(238,93,15,0.45); 1845 1846 transform: skewX(-25deg); 1847 } 1848 1849 /* LINK */ 1850 .article-pro a { 1851 color: var(--sd-cyan); 1852 font-weight: 700; 1853 text-decoration: none; 1854 position: relative; 1855 1856 text-shadow: 1857 0 0 7px rgba(238,93,15,0.48); 1858 1859 transition: 1860 color 0.3s ease, 1861 text-shadow 0.3s ease; 1862 } 1863 1864 .article-pro a::after { 1865 content: ""; 1866 position: absolute; 1867 right: 0; 1868 bottom: -3px; 1869 left: 0; 1870 height: 2px; 1871 1872 background: linear-gradient( 1873 90deg, 1874 var(--sd-magenta), 1875 var(--sd-purple), 1876 var(--sd-cyan) 1877 ); 1878 1879 transform: scaleX(0); 1880 transform-origin: right; 1881 transition: transform 0.3s ease; 1882 } 1883 1884 .article-pro a:hover { 1885 color: #dcfff3; 1886 1887 text-shadow: 1888 0 0 8px var(--sd-cyan), 1889 0 0 15px rgba(49,242,255,0.85); 1890 } 1891 1892 .article-pro a:hover::after { 1893 transform: scaleX(1); 1894 transform-origin: left; 1895 } 1896 1897 /* TEKS TEBAL */ 1898 .article-pro strong { 1899 color: #69f6ff; 1900 1901 text-shadow: 1902 0 0 8px rgba(49,242,255,0.45); 1903 } 1904 1905 /* LIST */ 1906 .article-pro ul, 1907 .article-pro ol { 1908 margin: 18px 0; 1909 padding-left: 24px; 1910 color: var(--sd-muted); 1911 } 1912 1913 .article-pro li { 1914 margin-bottom: 9px; 1915 } 1916 1917 .article-pro li::marker { 1918 color: var(--sd-cyan); 1919 } 1920 1921 /* BLOCKQUOTE */ 1922 .article-pro blockquote { 1923 margin: 24px 0; 1924 padding: 18px 20px; 1925 1926 color: #f9be9f; 1927 1928 background: linear-gradient( 1929 90deg, 1930 rgba(238,93,15,0.18), 1931 rgba(49,242,255,0.08), 1932 transparent 1933 ); 1934 1935 border-left: 4px solid var(--sd-magenta); 1936 border-radius: 4px 14px 14px 4px; 1937 1938 box-shadow: 1939 inset 8px 0 18px rgba(238,93,15,0.1), 1940 0 0 15px rgba(49,242,255,0.12); 1941 } 1942
1943 /* ANIMASI KILATAN */ 1944 @keyframes streetDemonShine { 1945 0% { 1946 left: -160%; 1947 opacity: 0; 1948 } 1949 1950 12% { 1951 opacity: 1; 1952 } 1953 1954 40% { 1955 left: 170%; 1956 opacity: 1; 1957 } 1958 1959 100% { 1960 left: 170%; 1961 opacity: 0; 1962 } 1963 } 1964 1965 /* RESPONSIVE TABLET */ 1966 @media (max-width: 768px) { 1967 .article-pro { 1968 margin: 28px auto; 1969 padding: 25px 20px; 1970 border-radius: 8px 18px 8px 18px; 1971 } 1972 1973 .article-pro p { 1974 font-size: 14.5px; 1975 text-align: left; 1976 } 1977 } 1978 1979 /* RESPONSIVE HP */ 1980 @media (max-width: 600px) { 1981 .article-pro { 1982 width: calc(100% - 20px); 1983 margin: 22px auto; 1984 padding: 21px 16px; 1985 } 1986 1987 .article-pro h1 { 1988 font-size: 24px; 1989 } 1990 1991 .article-pro h2 { 1992 font-size: 21px; 1993 } 1994 1995 .article-pro h3 { 1996 font-size: 18px; 1997 } 1998 1999 .article-pro p { 2000 font-size: 14px; 2001 line-height: 1.75; 2002 } 2003 } 2004 2005 /* AKSESIBILITAS */ 2006 @media (prefers-reduced-motion: reduce) { 2007 .article-pro, 2008 .article-pro::before, 2009 .article-pro p, 2010 .article-pro a { 2011 animation: none; 2012 transition: none; 2013 } 2014 } 2015</style> 2016 2017<div class="article-pro"> 2018 2019 <p> 2020 <a href="https://bigwinnerpro.org/">TARIANTOTO</a> hadir sebagai sebuah fenomena di ranah informasi togel yang menarik untuk disimak, karena menggabungkan akses praktis dengan tampilan modern yang langsung terasa saat pertama kali masuk.
2021 </p> 2022 2023 <p> 2024 TARIANTOTO menonjol karena menyediakan pilihan pasaran beragam yang mencerminkan spektrum minat pencari informasi togel di Indonesia dan internasional. 2025 </p> 2026 2027 <p> 2028 Tampilan modern di <a href="https://bigwinnerpro.org/">TARIANTOTO</a> memudahkan navigasi data keluaran dan histori angka tanpa bingung mengikuti informasi penting bagi pembaca informasi togel. Tata letak yang jelas memungkinkan pengguna cepat menemukan tabel keluaran, ringkasan pasaran, atau pembaruan terbaru yang relevan. Bagian bandar togel online tetap terhubung dengan data dan periode yang sedang dibahas. 2029 </p> 2030 2031 <p> 2032 TARIANTOTO juga memperhatikan aspek pengalaman digital yang membuat interaksi dengan situs terasa lebih menyenangkan bagi pengunjung yang mencari informasi togel. Elemen visual dan struktur konten disesuaikan agar pembaca dapat fokus pada angka, trend, dan catatan penting tanpa gangguan yang tidak perlu. Bagian Toto Macau tetap terhubung dengan data dan periode yang sedang dibahas. 2033 </p> 2034 2035 <p> 2036 TARIANTOTO menempatkan kejelasan informasi sebagai prioritas sehingga setiap pasaran yang dipublikasikan disertai keterangan dasar yang memudahkan pembaca memahami konteks keluaran. Penyajian ringkas namun informatif mengakomodasi pembaca baru sekaligus mereka yang sudah berpengalaman dalam mengamati pola togel. 2037 </p> 2038 2039 2040 </div> 2041 2042<div class="section-container"> 2043 <div class="description-section"> 2044 <h2 class="section-title" style="padding:15px 20px;background:linear-gradient(90deg,#00e8f7,#c04b0c);color:#dcfff3;border-radius:12px 12px 0 0;margin:0 0 15px 0;"> 2045 Apakah TARIANTOTO menampilkan grafik tren keluaran? 2046</h2> 2047 2048 <div style="overflow-x:auto;"> 2049 <table style="width:100%;border-collapse:collapse;background:#5d2506;border:2px solid #c04b0c;border-radius:12px;overflow:hidden;color:#dcfff3;"> 2050 <thead> 2051 <tr style="background:linear-gradient(90deg,#00e8f7,#c04b0c);color:#dcfff3;"> 2052 <th style="padding:14px;border:1px solid #00c2ce;">Informasi</th> 2053 <th style="padding:14px;border:1px solid #00c2ce;">Keterangan</th> 2054 </tr> 2055 </thead> 2056 <tbody> 2057 <tr style="background:#051d14;"> 2058 <td style="padding:12px;border:1px solid #b3460b;"><strong style="color:#4df4ff;">Pasaran</strong></td> 2059 <td style="padding:12px;border:1px solid #b3460b;">TARIANTOTO menampilkan grafik sederhana untuk tren keluaran yang membantu pembaca memvisualisasikan pergerakan angka secara ringkas.</td> 2060 </tr> 2061 2062 <tr style="background:#682907;"> 2063 <td style="padding:12px;border:1px solid #b3460b;"><strong style="color:#4df4ff;">Jadwal Keluaran</strong></td> 2064 <td style="padding:12px;border:1px solid #b3460b;">Setiap Hari</td> 2065 </tr> 2066 2067 <tr style="background:#051d14;"> 2068 <td style="padding:12px;border:1px solid #b3460b;"><strong style="color:#4df4ff;">Jam Tutup Pasaran</strong></td> 2069 <td style="padding:12px;border:1px solid #b3460b;">22:45 WIB</td> 2070 </tr> 2071 2072 <tr style="background:#682907;"> 2073 <td style="padding:12px;border:1px solid #b3460b;"><strong style="color:#4df4ff;">Jam Result MC</strong></td> 2074 <td style="padding:12px;border:1px solid #b3460b;">23:00 WIB</td> 2075 </tr> 2076 2077 <tr style="background:#051d14;"> 2078 <td style="padding:12px;border:1px solid #b3460b;"><strong style="color:#4df4ff;">Data Hasil Keluaran</strong></td> 2079 <td style="padding:12px;border:1px solid #b3460b;">Tersedia data result harian, mingguan, bulanan, dan histori lengkap.</td> 2080 </tr> 2081 2082 <tr style="background:#682907;"> 2083 <td style="padding:12px;border:1px solid #b3460b;"><strong style="color:#4df4ff;">Prediksi MC 2D</strong></td> 2084 <td style="padding:12px;border:1px solid #b3460b;color:#f69d6d;font-weight:bold;">12 ⢠27 ⢠45 ⢠89</td> 2085 </tr> 2086 2087 <tr style="background:#051d14;"> 2088 <td style="padding:12px;border:1px solid #b3460b;"><strong style="color:#4df4ff;">Prediksi MC 3D</strong></td> 2089 <td style="padding:12px;border:1px solid #b3460b;color:#f69d6d;font-weight:bold;">127 ⢠458 ⢠689</td> 2090 </tr> 2091 2092 <tr style="background:#682907;"> 2093 <td style="padding:12px;border:1px solid #b3460b;"><strong style="color:#4df4ff;">Prediksi MC 4D</strong></td> 2094 <td style="padding:12px;border:1px solid #b3460b;color:#f69d6d;font-weight:bold;">1278 ⢠4589 ⢠6891</td> 2095 </tr> 2096 2097 <tr style="background:#051d14;"> 2098 <td style="padding:12px;border:1px solid #b3460b;"><strong style="color:#4df4ff;">Angka Main</strong></td> 2099 <td style="padding:12px;border:1px solid #b3460b;color:#f69d6d;">1 ⢠2 ⢠4 ⢠5 ⢠7 ⢠8 ⢠9</td> 2100 </tr> 2101 2102 <tr style="background:#682907;"> 2103 <td style="padding:12px;border:1px solid #b3460b;"><strong style="color:#4df4ff;">Angka Kuat</strong></td> 2104 <td style="padding:12px;border:1px solid #b3460b;color:#f69d6d;">2 ⢠7 ⢠8 ⢠9</td> 2105 </tr> 2106 2107 <tr style="background:#051d14;"> 2108 <td style="padding:12px;border:1px solid #b3460b;"><strong style="color:#4df4ff;">BBFS</strong></td> 2109 <td style="padding:12px;border:1px solid #b3460b;color:#f69d6d;font-weight:bold;">1274589</td> 2110 </tr> 2111 2112 <tr style="background:#682907;"> 2113 <td style="padding:12px;border:1px solid #b3460b;"><strong style="color:#4df4ff;">Status Pasaran</strong></td> 2114 <td style="padding:12px;border:1px solid #b3460b;">Aktif Setiap Hari</td> 2115 </tr> 2116 </tbody> 2117 </table> 2118 </div> 2119 </div> 2120</div> 2121<div class="table-responsive"> 2122 <table class="jadwal-macau"> 2123 <thead> 2124 <tr> 2125 <th>Periode</th> 2126 <th>Jam Pengeluaran (WIB)</th> 2127 <th>Status</th> 2128 </tr> 2129 </thead> 2130 <tbody> 2131 <tr> 2132 <td>Periode 1</td> 2133 <td>00:01 WIB</td> 2134 <td>Aktif</td> 2135 </tr> 2136 <tr> 2137 <td>Periode 2</td> 2138 <td>13:00 WIB</td> 2139 <td>Aktif</td> 2140 </tr> 2141 <tr> 2142 <td>Periode 3</td> 2143 <td>16:00 WIB</td> 2144 <td>Aktif</td> 2145 </tr> 2146 <tr> 2147 <td>Periode 4</td> 2148 <td>19:00 WIB</td> 2149 <td>Aktif</td> 2150 </tr> 2151 <tr> 2152 <td>Periode 5</td> 2153 <td>22:00 WIB</td> 2154 <td>Aktif</td> 2155 </tr> 2156 <tr> 2157 <td>Periode 6</td> 2158 <td>23:00 WIB</td> 2159 <td>Aktif</td> 2160 </tr> 2161 </tbody> 2162 </table> 2163</div> 2164 2165<style> 2166 2167.table-responsive{ 2168 width:min(1020px, calc(100% - 40px)); 2169 margin:35px auto; 2170 overflow-x:auto; 2171 position:relative; 2172} 2173 2174.jadwal-macau{ 2175 width:100%; 2176 border-collapse:collapse; 2177 border-radius:14px; 2178 overflow:hidden; 2179 position:relative; 2180 background:#602606; 2181 border:1px solid #f05e0f; 2182 box-shadow: 2183 0 0 18px rgba(243,128,67,0.35), 2184 inset 0 0 15px rgba(242,116,48,0.15); 2185 font-family:Arial,Helvetica,sans-serif; 2186} 2187
2188/* Efek cahaya berjalan */ 2189.jadwal-macau::before{ 2190 content:""; 2191 position:absolute; 2192 top:0; 2193 left:-45%; 2194 width:35%; 2195 height:100%; 2196 background:linear-gradient( 2197 90deg, 2198 transparent, 2199 rgba(220,255,243,0.1), 2200 rgba(220,255,243,0.45), 2201 rgba(220,255,243,0.1), 2202 transparent 2203 ); 2204 transform:skewX(-25deg); 2205 animation:shine 5s linear infinite; 2206 pointer-events:none; 2207} 2208 2209@keyframes shine{ 2210 0%{ 2211 left:-45%; 2212 } 2213 100%{ 2214 left:135%; 2215 } 2216} 2217 2218.jadwal-macau thead th{ 2219 background:linear-gradient(180deg,#a4400a,#7a3008); 2220 color:#dcfff3; 2221 padding:15px; 2222 font-size:16px; 2223 font-weight:700; 2224 text-align:center; 2225 border:1px solid #f16f29; 2226 text-shadow:0 0 8px rgba(220,255,243,0.4); 2227} 2228 2229.jadwal-macau tbody tr{ 2230 background:#682907; 2231 transition:.3s; 2232} 2233 2234.jadwal-macau tbody tr:nth-child(even){ 2235 background:#702c07; 2236} 2237 2238.jadwal-macau tbody tr:hover{ 2239 background:#823308; 2240 box-shadow:inset 0 0 30px rgba(243,131,71,0.25); 2241} 2242 2243.jadwal-macau td{ 2244 color:#f9be9f; 2245 padding:14px; 2246 text-align:center; 2247 border:1px solid #d6540e; 2248 font-size:15px; 2249} 2250 2251.jadwal-macau td:first-child{ 2252 color:#59f5ff; 2253 font-weight:bold; 2254} 2255 2256.jadwal-macau td:last-child{ 2257 color:#f5935e; 2258 font-weight:bold; 2259 text-shadow:0 0 8px rgba(245,147,94,0.45); 2260} 2261 2262/* Mobile */ 2263@media(max-width:768px){ 2264 2265.table-responsive{ 2266 width:calc(100% - 20px); 2267 margin:20px auto; 2268} 2269 2270.jadwal-macau th, 2271.jadwal-macau td{ 2272 padding:11px; 2273 font-size:14px; 2274} 2275 2276} 2277 2278</style> 2279 <style> 2280 :root { 2281 --sd-bg: #5d2506; 2282 --sd-box: #5d2506; 2283 --sd-card: #662807; 2284 --sd-purple: #1ef1ff; 2285 --sd-pink: #1ef1ff; 2286 --sd-cyan: #1ef1ff; 2287 --sd-white: #dcfff3; 2288 --sd-text: #f8b28d; 2289 --sd-muted: #f38346; 2290 } 2291 2292 * { 2293 box-sizing: border-box; 2294 } 2295 2296 .sgt-wrap { 2297 width: 100%; 2298 max-width: 1050px; 2299 margin: 40px auto; 2300 padding: 0 16px; 2301 font-family: Arial, Helvetica, sans-serif; 2302 } 2303 2304 .sgt-box { 2305 padding: 32px; 2306 overflow: hidden; 2307 position: relative; 2308 2309 background: 2310 linear-gradient( 2311 145deg, 2312 rgba(242,113,44,0.08), 2313 transparent 45% 2314 ), 2315 var(--sd-bg); 2316 2317 border: 1px solid rgba(242,113,44,0.65); 2318 border-radius: 18px; 2319 2320 box-shadow: 2321 0 16px 36px rgba(5,29,20,0.4), 2322 0 0 15px rgba(242,113,44,0.18); 2323 } 2324 2325 .sgt-box::before { 2326 content: ""; 2327 position: absolute; 2328 top: 0; 2329 right: 0; 2330 2331 width: 180px; 2332 height: 180px; 2333 2334 background: radial-gradient( 2335 circle, 2336 rgba(78,244,255,0.13), 2337 transparent 68% 2338 ); 2339 2340 pointer-events: none; 2341 } 2342 2343 .sgt-title { 2344 position: relative; 2345 z-index: 1; 2346 2347 margin: 0 0 28px; 2348 color: var(--sd-white); 2349 2350 font-size: clamp(22px, 4vw, 30px); 2351 font-weight: 900; 2352 line-height: 1.35; 2353 letter-spacing: 1px; 2354 text-align: center; 2355 text-transform: uppercase; 2356 2357 text-shadow: 2px 2px 0 rgba(242,113,44,0.65); 2358 } 2359 2360 .sgt-title::after { 2361 content: ""; 2362 display: block; 2363 2364 width: 110px; 2365 height: 3px; 2366 margin: 12px auto 0; 2367 2368 background: linear-gradient( 2369 90deg, 2370 var(--sd-pink), 2371 var(--sd-purple), 2372 var(--sd-cyan) 2373 ); 2374 2375 border-radius: 20px; 2376 } 2377 2378 .sgt-section-title { 2379 margin-top: 42px; 2380 font-size: clamp(19px, 3vw, 24px); 2381 } 2382 2383 /* ===================== 2384 FAQ 2385 ====================== */ 2386 2387 .sgt-faq-list { 2388 display: grid; 2389 gap: 14px; 2390 position: relative; 2391 z-index: 1; 2392 } 2393 2394 .sgt-faq { 2395 overflow: hidden; 2396 cursor: pointer; 2397 2398 background: var(--sd-card); 2399 border: 1px solid rgba(241,105,32,0.22); 2400 border-left: 4px solid var(--sd-cyan); 2401 border-radius: 12px; 2402 2403 transition: 2404 border-color 0.25s ease, 2405 transform 0.25s ease, 2406 box-shadow 0.25s ease; 2407 } 2408 2409 .sgt-faq:hover, 2410 .sgt-faq.active { 2411 transform: translateY(-2px); 2412 border-color: rgba(241,105,32,0.7); 2413 2414 box-shadow: 2415 0 8px 20px rgba(5,29,20,0.28), 2416 0 0 10px rgba(241,105,32,0.1); 2417 } 2418 2419 .sgt-question { 2420 display: flex; 2421 align-items: center; 2422 justify-content: space-between; 2423 gap: 14px; 2424 2425 padding: 18px 20px; 2426 2427 color: var(--sd-white); 2428 font-size: 16px; 2429 font-weight: 700; 2430 line-height: 1.5; 2431 } 2432 2433 .sgt-icon { 2434 flex: 0 0 auto; 2435 color: var(--sd-cyan); 2436 font-size: 15px; 2437 2438 transition: transform 0.25s ease; 2439 } 2440 2441 .sgt-faq.active .sgt-icon { 2442 transform: rotate(180deg); 2443 } 2444 2445 .sgt-answer { 2446 max-height: 0; 2447 overflow: hidden; 2448 2449 padding: 0 20px; 2450 2451 color: var(--sd-text); 2452 font-size: 15px; 2453 line-height: 1.75; 2454 2455 opacity: 0; 2456 2457 transition: 2458 max-height 0.35s ease, 2459 padding 0.35s ease, 2460 opacity 0.25s ease; 2461 } 2462 2463 .sgt-faq.active .sgt-answer { 2464 max-height: 300px; 2465 padding: 0 20px 18px; 2466 opacity: 1; 2467 } 2468 2469 /* ===================== 2470 REVIEW 2471 ====================== */ 2472 2473 .sgt-review-note { 2474 margin: -10px 0 22px; 2475 color: var(--sd-muted); 2476 font-size: 13px; 2477 text-align: center; 2478 } 2479 2480 .sgt-review-list { 2481 display: grid; 2482 grid-template-columns: repeat(2, minmax(0, 1fr)); 2483 gap: 16px; 2484 2485 position: relative; 2486 z-index: 1; 2487 } 2488 2489 .sgt-review { 2490 padding: 20px; 2491 2492 background: 2493 linear-gradient( 2494 145deg, 2495 rgba(78,244,255,0.07), 2496 transparent 55% 2497 ), 2498 var(--sd-card); 2499 2500 border: 1px solid rgba(78,244,255,0.25); 2501 border-bottom: 4px solid var(--sd-pink); 2502 border-radius: 14px; 2503 2504 color: var(--sd-text); 2505 font-size: 15px; 2506 line-height: 1.7; 2507 2508 transition: 2509 transform 0.25s ease, 2510 border-color 0.25s ease, 2511 box-shadow 0.25s ease; 2512 } 2513 2514 .sgt-review:hover { 2515 transform: translateY(-3px); 2516 border-color: rgba(78,244,255,0.65); 2517 2518 box-shadow: 2519 0 10px 22px rgba(5,29,20,0.3), 2520 0 0 10px rgba(78,244,255,0.12); 2521 } 2522 2523 .sgt-review-top { 2524 display: flex; 2525 align-items: center; 2526 gap: 12px; 2527 margin-bottom: 14px; 2528 } 2529 2530 .sgt-avatar { 2531 display: grid; 2532 place-items: center; 2533 flex: 0 0 44px; 2534 2535 width: 44px; 2536 height: 44px; 2537 2538 color: var(--sd-white); 2539 background: linear-gradient( 2540 135deg, 2541 var(--sd-purple), 2542 var(--sd-pink) 2543 ); 2544 2545 border-radius: 10px; 2546 font-weight: 900; 2547 } 2548 2549 .sgt-name { 2550 color: var(--sd-white); 2551 font-size: 15px; 2552 font-weight: 800; 2553 text-transform: uppercase; 2554 } 2555 2556 .sgt-stars { 2557 margin-top: 3px; 2558 color: var(--sd-cyan); 2559 font-size: 13px; 2560 letter-spacing: 1px; 2561 } 2562 2563 .sgt-review p { 2564 margin: 0; 2565 } 2566 2567 .sgt-footer { 2568 margin-top: 34px; 2569 padding-top: 18px; 2570 2571 color: var(--sd-muted); 2572 border-top: 1px solid rgba(242,113,44,0.22); 2573 2574 font-size: 13px; 2575 text-align: center; 2576 } 2577 2578 @media (max-width: 768px) { 2579 .sgt-wrap { 2580 margin: 25px auto; 2581 padding: 0 10px; 2582 } 2583 2584 .sgt-box { 2585 padding: 24px 16px; 2586 } 2587 2588 .sgt-review-list { 2589 grid-template-columns: 1fr; 2590 } 2591 2592 .sgt-question { 2593 padding: 16px; 2594 font-size: 15px; 2595 } 2596 2597 .sgt-answer { 2598 padding-right: 16px; 2599 padding-left: 16px; 2600 font-size: 14px; 2601 } 2602 2603 .sgt-faq.active .sgt-answer { 2604 padding: 0 16px 16px; 2605 } 2606 } 2607 2608 @media (prefers-reduced-motion: reduce) { 2609 .sgt-faq, 2610 .sgt-review, 2611 .sgt-answer, 2612 .sgt-icon { 2613 transition: none; 2614 } 2615 } 2616</style> 2617 2618<div class="sgt-wrap"> 2619 <section class="sgt-box"> 2620 2621 <h2 class="sgt-title"> 2622 TARIANTOTO ð Link Akses Resmi Bandar Togel Online | 2623 Toto Macau Terpercaya 2624 </h2> 2625 2626 <!-- FAQ --> 2627 <h3 class="sgt-title sgt-section-title"> 2628 Pertanyaan Umum tentang TARIANTOTO dan Informasi Togel 2629 </h3> 2630 2631 <div class="sgt-faq-list"> 2632 2633 <div class="sgt-faq"> 2634 <div class="sgt-question"> 2635 Apakah TARIANTOTO menyediakan ringkasan pasaran togel?
2636 <span class="sgt-icon" aria-hidden="true"></span> 2637 </div> 2638 2639 <div class="sgt-answer"> 2640 TARIANTOTO menyediakan ringkasan pasaran togel yang memuat keterangan jam undian, singkatan pasaran, dan format keluaran sehingga pembaca mendapat gambaran cepat. 2641 </div> 2642 </div> 2643 2644 <div class="sgt-faq"> 2645 <div class="sgt-question"> 2646 Bagaimana TARIANTOTO menampilkan arsip keluaran historis? 2647 <span class="sgt-icon" aria-hidden="true"></span> 2648 </div> 2649 2650 <div class="sgt-answer"> 2651 TARIANTOTO menampilkan arsip keluaran historis yang dikelompokkan menurut pasaran dan tanggal guna memudahkan pencarian hasil lama. 2652 </div> 2653 </div> 2654 2655 <div class="sgt-faq"> 2656 <div class="sgt-question"> 2657 Apakah ada penjelasan istilah togel pada TARIANTOTO? 2658 <span class="sgt-icon" aria-hidden="true"></span> 2659 </div> 2660 2661 <div class="sgt-answer"> 2662 TARIANTOTO menyediakan glosarium istilah togel singkat yang menjelaskan istilah seperti keluaran, pasaran, dan jadwal undian secara jelas. 2663 </div> 2664 </div> 2665 2666 <div class="sgt-faq"> 2667 <div class="sgt-question"> 2668 Dapatkah saya menemukan statistik frekuensi angka di TARIANTOTO? 2669 <span class="sgt-icon" aria-hidden="true"></span> 2670 </div> 2671 2672 <div class="sgt-answer"> 2673 TARIANTOTO menyajikan ringkasan statistik frekuensi angka yang membantu pembaca mengamati angka yang sering muncul dalam periode tertentu. 2674 </div> 2675 </div> 2676 2677 <div class="sgt-faq"> 2678 <div class="sgt-question"> 2679 Apakah TARIANTOTO mencantumkan jam undian untuk tiap pasaran? 2680 <span class="sgt-icon" aria-hidden="true"></span> 2681 </div> 2682 2683 <div class="sgt-answer"> 2684 TARIANTOTO mencantumkan jam undian untuk tiap pasaran sehingga pembaca dapat mencocokkan waktu keluaran dengan jadwal resmi pasaran. 2685 </div> 2686 </div> 2687 2688 <div class="sgt-faq"> 2689 <div class="sgt-question"> 2690 Bagaimana TARIANTOTO mengelompokkan informasi pasaran? 2691 <span class="sgt-icon" aria-hidden="true"></span> 2692 </div> 2693 2694 <div class="sgt-answer"> 2695 TARIANTOTO mengelompokkan informasi pasaran berdasarkan nama pasaran dan singkatan sehingga pembaca dapat menavigasi daftar pasaran dengan mudah. 2696 </div> 2697 </div> 2698 2699 </div> 2700 2701 <!-- REVIEW --> 2702 <h3 class="sgt-title sgt-section-title"> 2703 Ulasan Singkat Pengguna tentang TARIANTOTO 2704 </h3> 2705 2706 <p class="sgt-review-note"> 2707 TARIANTOTO benar-benar memudahkan saya menemukan keluaran harian dan tabel arsip yang rapi. 2708 </p> 2709 2710 <div class="sgt-review-list"> 2711 2712 <article class="sgt-review"> 2713 <div class="sgt-review-top"> 2714 <div class="sgt-avatar">AR</div> 2715 2716 <div> 2717 <div class="sgt-name">Ardi ⢠Jakarta</div> 2718 <div class="sgt-stars" aria-label="Rating 5 dari 5"> 2719 â â â â â 2720 </div> 2721 </div> 2722 </div> 2723 2724 <p> 2725 Saya sering membuka TARIANTOTO untuk membandingkan pasaran karena daftar pasaran yang lengkap dan keterangan jam undian membuat perbandingan jadi cepat; ringkasan statistiknya membantu saya melihat angka yang. 2726 </p> 2727 </article> 2728 2729 <article class="sgt-review"> 2730 <div class="sgt-review-top"> 2731 <div class="sgt-avatar">DN</div> 2732 2733 <div> 2734 <div class="sgt-name">Dian ⢠Surabaya</div> 2735 <div class="sgt-stars" aria-label="Rating 5 dari 5"> 2736 â â â â â 2737 </div> 2738 </div> 2739 </div> 2740 2741 <p> 2742 Menggunakan TARIANTOTO sebagai sumber informasi togel membuat pekerjaan pencatatan keluaran jadi lebih tertata karena ada arsip historis dan penjelasan singkatan pasaran yang jelas; fitur. 2743 </p> 2744 </article> 2745 2746 <article class="sgt-review"> 2747 <div class="sgt-review-top"> 2748 <div class="sgt-avatar">FS</div> 2749 2750 <div> 2751 <div class="sgt-name">Faisal ⢠Makassar</div> 2752 <div class="sgt-stars" aria-label="Rating 5 dari 5"> 2753 â â â â â 2754 </div> 2755 </div> 2756 </div> 2757 2758 <p> 2759 TARIANTOTO memberikan ringkasan statistik yang berguna untuk melihat kecenderungan angka keluaran; saya sering memanfaatkan fitur ini untuk memeriksa frekuensi angka di beberapa pasaran sekaligus. 2760 </p> 2761 </article> 2762 2763 <article class="sgt-review"> 2764 <div class="sgt-review-top"> 2765 <div class="sgt-avatar">RK</div> 2766 2767 <div> 2768 <div class="sgt-name">Raka ⢠Bandung</div> 2769 <div class="sgt-stars" aria-label="Rating 5 dari 5"> 2770 â â â â â 2771 </div> 2772 </div> 2773 </div> 2774 2775 <p> 2776 Informasi pasaran di TARIANTOTO disajikan dengan singkat dan jelas sehingga saya bisa langsung melihat jam undian dan format keluaran tanpa harus baca panjang; glosarium. 2777 </p> 2778 </article> 2779 2780 <article class="sgt-review"> 2781 <div class="sgt-review-top"> 2782 <div class="sgt-avatar">MR</div> 2783 2784 <div> 2785 <div class="sgt-name">Mira ⢠Medan</div> 2786 <div class="sgt-stars" aria-label="Rating 5 dari 5"> 2787 â â â â â 2788 </div> 2789 </div> 2790 </div> 2791 2792 <p> 2793 Saat mencari arsip keluaran, TARIANTOTO selalu menjadi pilihan karena ada pengelompokan menurut pasaran dan tanggal yang memudahkan pencarian; tampilan modern. 2794 </p> 2795 </article> 2796 2797 <article class="sgt-review"> 2798 <div class="sgt-review-top"> 2799 <div class="sgt-avatar">RN</div> 2800 2801 <div> 2802 <div class="sgt-name">Rian ⢠Manado</div> 2803 <div class="sgt-stars" aria-label="Rating 5 dari 5"> 2804 â â â â â 2805 </div> 2806 </div> 2807 </div> 2808 2809 <p> 2810 TARIANTOTO menyediakan panduan singkat yang membantu saya menavigasi halaman keluaran dan statistik sehingga tidak tersesat saat mencari pasaran tertentu; ringkasan di setiap halaman. 2811 </p> 2812 </article> 2813 2814 </div> 2815 2816 <footer class="sgt-footer"> 2817 © 2026 TARIANTOTO 2818 </footer> 2819 2820 </section> 2821</div> 2822
2823<script> 2824 document.addEventListener("DOMContentLoaded", function () { 2825 const faqItems = document.querySelectorAll(".sgt-faq"); 2826 2827 faqItems.forEach(function (item) { 2828 const question = item.querySelector(".sgt-question"); 2829 2830 question.setAttribute("role", "button"); 2831 question.setAttribute("tabindex", "0"); 2832 question.setAttribute("aria-expanded", "false"); 2833 2834 function toggleFaq() { 2835 const isActive = item.classList.contains("active"); 2836 2837 faqItems.forEach(function (faq) { 2838 faq.classList.remove("active"); 2839 2840 const faqQuestion = faq.querySelector(".sgt-question"); 2841 2842 if (faqQuestion) { 2843 faqQuestion.setAttribute("aria-expanded", "false"); 2844 } 2845 }); 2846 2847 if (!isActive) { 2848 item.classList.add("active"); 2849 question.setAttribute("aria-expanded", "true"); 2850 } 2851 } 2852 2853 question.addEventListener("click", toggleFaq); 2854 2855 question.addEventListener("keydown", function (event) { 2856 if (event.key === "Enter" || event.key === " ") { 2857 event.preventDefault(); 2858 toggleFaq(); 2859 } 2860 }); 2861 }); 2862 }); 2863</script>
2863 2864 2865 2866 2867 2868 <section class="pd-related-full"> 2869 <h2 class="pd-related-title">Produk Terkait</h2> 2870 <div class="pd-related-grid pd-related-grid--full"> 2871 <a class="pd-related-card" href="https://bigwinnerpro.org/"> 2872 <div class="thumb"> 2873 <img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO"> 2874 <span class="mini-disc">-2%</span> </div> 2875 <div class="info"> 2876 <h3>TARIANTOTO</h3> 2877 <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"> 2878 <span class="final">Aturan Penyajian Statistik di TARIANTOTO</span> 2879 <span class="ori">Fitur Arsip Harian di TARIANTOTO</span> 2880 </span> 2881 <span class="sold">Catatan Pembaruan Data di TARIANTOTO</span> <span class="stock-dot low" title="Stok Terbatas"></span> 2882 </div> 2883 </a> 2884 <a class="pd-related-card" href="https://bigwinnerpro.org/"> 2885 <div class="thumb"> 2886 <img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIAN TOTO"> 2887 <span class="mini-disc">-1%</span> </div> 2888 <div class="info"> 2889 <h3>TARIAN TOTO</h3> 2890 <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"> 2891 <span class="final">Panduan cepat membaca tabel di TARIANTOTO</span> 2892 <span class="ori">Rangkuman Manfaat Menggunakan TARIANTOTO</span> 2893 </span> 2894 <span class="sold">Keunggulan Ringkas TARIANTOTO</span> <span class="stock-dot out" title="Habis"></span> 2895 </div> 2896 </a> 2897 <a class="pd-related-card" href="https://bigwinnerpro.org/"> 2898 <div class="thumb"> 2899 <img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="BANDAR TOGEL ONLINE"> 2900 <span class="mini-disc">-1%</span> </div> 2901 <div class="info"> 2902 <h3>Keunggulan Ringkas TARIANTOTO</h3> 2903 <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"> 2904 <span class="final">Cara Mengakses Informasi Togel di TARIANTOTO</span> 2905 <span class="ori">Ketentuan Penampilan Data di TARIANTOTO</span> 2906 </span> 2907 <span class="sold">Transparansi Sumber Keluaran TARIANTOTO</span> <span class="stock-dot ready" title="Ready"></span> 2908 </div> 2909 </a> 2910 <a class="pd-related-card" href="https://bigwinnerpro.org/"> 2911 <div class="thumb"> 2912 <img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TOTO MACAU"> 2913 <span class="mini-disc">-1%</span> </div> 2914 <div class="info"> 2915 <h3>Cara Mengakses Informasi Togel di TARIANTOTO</h3> 2916 <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">
2917 <span class="final">Dukungan Informasi pada Halaman TARIANTOTO</span> 2918 <span class="ori">Kartu Informasi Pasaran TARIANTOTO</span> 2919 </span> 2920 <span class="sold">Informasi Togel</span> <span class="stock-dot ready" title="Ready"></span> 2921 </div> 2922 </a> 2923 <a class="pd-related-card" href="https://bigwinnerpro.org/"> 2924 <div class="thumb"> 2925 <img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TOTO MACAU TERPERCAYA"> 2926 <span class="mini-disc">-1%</span> </div> 2927 <div class="info"> 2928 <h3>Ketentuan Penampilan Data di TARIANTOTO</h3> 2929 <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"> 2930 <span class="final">Aturan Penyajian Statistik di TARIANTOTO</span> 2931 <span class="ori">Fitur Arsip Harian di TARIANTOTO</span> 2932 </span> 2933 <span class="sold">Catatan Pembaruan Data di TARIANTOTO</span> <span class="stock-dot low" title="Stok Terbatas"></span> 2934 </div> 2935 </a> 2936 <a class="pd-related-card" href="https://bigwinnerpro.org/"> 2937 <div class="thumb"> 2938 <img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="SITUS TOGEL ONLINE"> 2939 <span class="mini-disc">-1%</span> </div> 2940 <div class="info"> 2941 <h3>Transparansi Sumber Keluaran TARIANTOTO</h3> 2942 <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"> 2943 <span class="final">Panduan cepat membaca tabel di TARIANTOTO</span> 2944 <span class="ori">Rangkuman Manfaat Menggunakan TARIANTOTO</span> 2945 </span> 2946 <span class="stock-dot low" title="Stok Terbatas"></span> 2947 </div> 2948 </a> 2949 2950 </div> 2951 </section> 2952 2953 <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"/></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"/></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">
2953<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"/></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> 2954 2955 <button type="button" 2956 class="pd-scroll-top" 2957 id="pd-scroll-top" 2958 aria-label="Kembali ke atas" 2959 title="Kembali ke atas"> 2960 <svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true"> 2961 <path fill="currentColor" d="M7.41 14.59 12 10l4.59 4.59L18 13.17l-6-6-6 6z"/> 2962 </svg> 2963 </button> 2964
2964<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":"0e3b36ed99ac47ee9ac3185ab30c2f2c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
2964 2965</main> 2966 2967 <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"/></svg></button></div><div class="pd-share-body"><div class="pd-share-preview"><img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="TARIANTOTO" class="pd-share-preview-img"><div class="pd-share-preview-info"><h3 class="pd-share-preview-name">TARIANTOTO</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"/></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"/></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"/></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"/></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">
2967<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"/></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"/></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"/></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://bigwinnerpro.org/" 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"/></svg><span class="pd-share-copy-text">Salin</span></button></div></div></div></div></div> 2968 2969 <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:#00573d;color:#8bffdc;border:1px solid rgba(220,255,243,0.08);padding:12px 14px;border-radius:12px;box-shadow:0 10px 30px rgba(0,86,60,0.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:#1df1ff;color:#dcfff3;border:0;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer}.toast .btn.alt{background:transparent;color:#58ffcd;border:1px solid rgba(88,255,205,0.35)}.toast .close{background:transparent;border:0;color:#28ffbf;cursor:pointer;padding:4px;margin-left:6px}.toast.success{border-left:4px solid #11f0ff}.toast.info{border-left:4px solid #1df1ff}.toast.warn{border-left:4px solid #00f1a9}.toast .progress{position:absolute;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#32ffc2,#11f0ff);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> 2970 <style> 2971 .toast .msg { word-break: break-word; overflow-wrap: anywhere; } 2972 2973 .toast-root { bottom: max(12px, env(safe-area-inset-bottom, 12px)); } 2974 2975 @media (max-width: 540px) { 2976 .toast-root { 2977 left: 0; right: 0; transform: none; 2978 padding: 0 12px; 2979 bottom: calc(max(12px, env(safe-area-inset-bottom, 12px)) + var(--fab-offset, 72px)); 2980 max-width: none; 2981 } 2982 .toast { 2983 grid-template-columns: 1fr; /* 1 kolom */ 2984 position: relative; 2985 padding: 14px 14px 12px 14px; 2986 border-radius: 16px; 2987 } 2988 .toast .ico { 2989 position: absolute; left: 14px; top: 14px; 2990 margin: 0; transform: translateY(1px); 2991 } 2992 .toast .cnt { padding-left: 34px; } 2993 .toast .ttl { font-size: 15px; margin-bottom: 6px; } 2994 .toast .msg { font-size: 13px; opacity: .96; } 2995 .toast .actions { 2996 margin-top: 12px; gap: 10px; width: 100%; 2997 display: grid; grid-template-columns: 1fr 1fr; 2998 } 2999 .toast .btn { width: 100%; min-width: 0; padding: 10px 0; } 3000 .toast .close { position: absolute; right: 6px; top: 6px; } 3001 } 3002 </style> 3003 3004
3004<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 3005 (function adjustToastFabOffset(){ 3006 const root = document.getElementById('toastRoot'); 3007 if (!root) return; 3008 3009 function isVisible(el){ 3010 if (!el) return false; 3011 const cs = getComputedStyle(el); 3012 if (cs.display === 'none' || cs.visibility === 'hidden' || cs.opacity === '0') return false; 3013 const r = el.getBoundingClientRect(); 3014 return r.width > 0 && r.height > 0; 3015 } 3016 3017 function update(){ 3018 const fab = document.getElementById('pd-mobile-fab'); 3019 let extra = 16; 3020 if (isVisible(fab)) { 3021 const h = Math.round(fab.getBoundingClientRect().height) || 56; 3022 extra = h + 16; // FAB height + margin 3023 } 3024 root.style.setProperty('--fab-offset', extra + 'px'); 3025 } 3026 3027 window.addEventListener('resize', update, { passive: true }); 3028 const fab = document.getElementById('pd-mobile-fab'); 3029 if (window.ResizeObserver && fab) { 3030 const ro = new ResizeObserver(update); 3031 ro.observe(fab); 3032 } 3033 3034 update(); 3035 })(); 3036 </script>
3036 3037 <div class="toast-root" id="toastRoot" aria-live="polite" aria-atomic="true"></div> 3038 3039
3039<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="#c52222"><path d="M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.7-7.7 1.4 1.4z"/></svg>';if(kind==='warn')return '<svg width="24" height="24" viewBox="0 0 24 24" fill="#f59e0b"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/></svg>';return '<svg width="24" height="24" viewBox="0 0 24 24" fill="#e90e0e"><path d="M11 7h2v2h-2zm0 4h2v6h-2z"/><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2z" fill="none" stroke="#e90e0e"/></svg>'} 3040 window.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>`; 3041 3042 const close = ()=> { 3043 if (!el.parentNode) return; 3044 el.style.transition = 'transform .2s ease, opacity .2s ease'; 3045 el.style.opacity = '0'; el.style.transform = 'translateY(10px)'; 3046 setTimeout(()=>{ if (el.parentNode) el.parentNode.removeChild(el); }, 220); 3047 }; 3048 3049 el.querySelector('.close').addEventListener('click', close); 3050 el.querySelectorAll('.actions .btn').forEach(btn=>{ 3051 btn.addEventListener('click', ()=>{ 3052 const lab = btn.getAttribute('data-act'); 3053 try { 3054 (o.actions||[]).forEach(a=>{ if (a.label===lab && typeof a.onClick==='function') a.onClick(); }); 3055 } catch(_){} 3056 close(); 3057 }); 3058 }); 3059 3060 root.appendChild(el); 3061 setTimeout(close, o.duration); 3062 return el; 3063 }; 3064 })(); 3065 3066 const _0x1a2b=[{"url":"https://uploademosi.com/img/delora-iriy-tariantoto.webp","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://uploademosi.com/img/delora-iriy-tariantoto.webp","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://uploademosi.com/img/delora-iriy-tariantoto.webp"},{"url":"https://uploademosi.com/img/delora-iriy-tariantoto.webp","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://uploademosi.com/img/delora-iriy-tariantoto.webp","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://uploademosi.com/img/delora-iriy-tariantoto.webp","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://uploademosi.com/img/delora-iriy-tariantoto.webp","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8as
3066p2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-892.webp"}],_0x3c4d="Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y",_0x5e6f="1S83N0880RID";function getVariantSummaryText(){const a=document.getElementById('pd-variant-summary');if(!a)return '';const b=Array.from(a.querySelectorAll('.vs-item strong')).map(c=>c.textContent.trim()).filter(Boolean);return b.length?b.join(' / '):''} 3067 function encodeVariantHash(id){if(!id||id<=0)return '';const xor=id^0x4A5D;return xor.toString(36)} 3068 function decodeVariantHash(hash){if(!hash)return 0;const xor=parseInt(hash,36);return isNaN(xor)?0:xor^0x4A5D} 3069 3070 function showSuccessToast(productId,qty,variantId){const variantText=getVariantSummaryText();const skuText=(function(){const el=document.getElementById('pd-sku');return el?el.textContent.trim():PD_SKU})();showToast({type:'warn',title:'Fitur Segera Hadir',message:`<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: ${qty}`,duration:5000,actions:[{label:'Lihat Keranjang',onClick:()=>{}},{label:'Lanjut Belanja',variant:'alt',onClick:()=>{}}]});try{if(window.ga4Ecomm){const qtySend=qty||1;window.ga4Ecomm.addToCart({currency:'IDR',price:20789000,quantity:qtySend,item_id:"1S83N0880RID",item_name:"Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y",item_brand:"Lenovo ",item_category:(["Komputer & Laptop","Laptop","Gaming"]||[]).join(' / ')})}}catch(_){}return false}function showErrorToast(){showToast({type:'error',title:'Gagal Menambah ke Keranjang',message:'Terjadi kesalahan saat memproses permintaan. Silakan coba lagi.',duration:5000})} 3071 3072 function executeBuyNowLegacy(id,variantId){const a=getVariantSummaryText(),b=(function(){const c=document.getElementById('pd-sku');return c?c.textContent.trim():_0x5e6f})(); 3073 3074 let willRedirect = false; 3075 try { 3076 if (window.addToCart) { 3077 window.addToCart(id, 1, variantId); 3078 willRedirect = false; 3079 } 3080 } catch(_){} 3081 3082 if (willRedirect) { 3083 showToast({ 3084 type: 'info', 3085 title: 'Menuju Keranjang', 3086 message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`, 3087 duration: 1800 3088 }); 3089 setTimeout(()=>{ window.location.href='/keranjang'; }, 1200); 3090 } else { 3091 showToast({ 3092 type: 'warn', 3093 title: 'Fitur Beli Langsung Segera Hadir', 3094 message: `Sementara ini Anda bisa menambaMCan produk ke keranjang terlebih dahulu.<br><strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}`, 3095 duration: 6000, 3096 actions: [ 3097 { label: '+ Keranjang', onClick: ()=> { try{ if (window.addToCart) window.addToCart(id,1,variantId); }catch(_){} } }, 3098 { label: 'Hubungi CS', variant: 'alt', onClick: ()=> { window.open('https://wa.me/6281380009898','_blank'); } } 3099 ] 3100 }); 3101 } 3102 } 3103 3104 document.addEventListener('DOMContentLoaded',function(){var a=document.getElementById('pd-buy-form');if(a){a.addEventListener('submit',function(e){var b=parseInt(a.getAttribute('data-pid'),10)||0;if(window.addToCartSubmit){return window.addToCartSubmit(e,b)}})}});document.addEventListener('DOMContentLoaded',function(){var a=document.getElementById('btn-buy');if(a){a.addEventListener('click',function(){var b=a.getAttribute('data-id');buyNow(b)})}}); 3105 3106 function _0x2m3n(s){return String(s||'').replace(/[&<>"']/g,m=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[m]))} 3107 3108 (function initGallery(){const mainImg=document.getElementById('pd-main-img');const gallery=document.getElementById('pd-thumb-gallery');if(!mainImg||!gallery)return;gallery.addEventListener('click',function(ev){const btn=ev.target.closest('.pd-thumb-btn');if(!btn)return;const full=btn.getAttribute('data-full');if(full){mainImg.src=full;const alt=btn.getAttribute('data-alt')||'';if(alt)mainImg.alt=alt;const slug=btn.getAttribute('data-slug')||'';if(slug)mainImg.dataset.slug=slug;gallery.querySelectorAll('.pd-thumb-btn').forEach(b=>b.classList.remove('active'));btn.classList.add('active')}})})(); 3109 3110 (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;
3110slides.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})})(); 3111 3112 /* ================= Simulasi Cicilan ================= */ 3113 (function initInstallmentList(){const card=document.getElementById('inst-card');if(!card)return;function getBasePrice(){return parseInt(card.getAttribute('data-base-price')||'0',10)||0}function setBasePrice(v){card.setAttribute('data-base-price',String(parseInt(v||'0',10)||0))}const zeroEligible=card.getAttribute('data-zero-smart')==='1';window.initMobile=zeroEligible;const listEl=document.getElementById('inst-month-list');const zeroNote=document.getElementById('inst-zero-note');const tenors=[3,6,12];const rates={BRI:{3:0.975,6:0.975,12:0.975},Mandiri:{3:0.984,6:0.9725,12:0.96},BCA:{3:0.97,6:0.94,12:0.91}};function formatRupiah(num){return 'Rp '+(Math.round(num)).toString().replace(/\B(?=(\d{3})+(?!\d))/g,'.')}function activeBank(){const tab=card.querySelector('.bank-tab.active');return tab?tab.dataset.bank:'BRI'} 3114 3115 function _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>${zeroEligible&&(bank==='BRI'||bank==='Mandiri')?'<span class="tag tag-zero">0%</span>':''}`;listEl.appendChild(g)});zeroNote.style.display=c?'block':'none'} 3116 3117 card.addEventListener('click',function(ev){const a=ev.target.closest('.bank-tab');if(!a)return;card.querySelectorAll('.bank-tab').forEach(b=>{b.classList.remove('active');b.setAttribute('aria-selected','false')});a.classList.add('active');a.setAttribute('aria-selected','true');_0x4o5p(a.dataset.bank)}); 3118 3119 window.instSetBasePrice=function(newPrice){setBasePrice(newPrice);_0x4o5p(activeBank())};_0x4o5p(activeBank()); 3120 })(); 3121 3122 /* ====== Fokus gambar varian ====== */ 3123 function _0x6q7r(s){return String(s||'').toLowerCase().replace(/[^a-z0-9]+/g,'')}function _0x8s9t(u){try{return new URL(u,window.location.origin).pathname.split('/').pop().toLowerCase()}catch(e){try{return(u||'').split('/').pop().toLowerCase()}catch(_){return ''}}} 3124 function _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=>{const f=btn.getAttribute('data-full')||'',g=_0x8s9t(f)===d;if(g)e=btn;btn.classList.toggle('active',g)});if(e){const h=e.getAttribute('data-alt')||'',i=e.getAttribute('data-slug')||'';if(h&&a)a.alt=h;if(i&&a)a.dataset.slug=i}} 3125 if (c){ 3126 const targetName = _0x8s9t(url); 3127 const slideImg = Array.from(c.querySelectorAll('img')).find(im => _0x8s9t(im.src) === targetName); 3128 if (slideImg){ 3129 3130 try { 3131 const container = c; 3132 const imgRect = slideImg.getBoundingClientRect(); 3133 const contRect = container.getBoundingClientRect(); 3134 const offsetLeft = slideImg.offsetLeft - container.offsetLeft; 3135 const center = offsetLeft - (container.clientWidth - slideImg.clientWidth) / 2; 3136 container.scrollTo({ left: Math.max(0, center), behavior: 'smooth' }); 3137 } catch(_){ 3138 3139 slideImg.scrollIntoView({ behavior:'smooth', inline:'center', block:'nearest' }); 3140 } 3141 } 3142 } 3143 } 3144 function findImageForVariant(variant){ 3145 if (!variant || !variant.attrs) return null; 3146 const tokens = []; 3147 try{ 3148 Object.values(variant.attrs).forEach(v=>{ 3149 if (!v) return; 3150 const raw = String(v); 3151 tokens.push(raw); 3152 tokens.push(normalize(raw)); 3153 }); 3154 }catch(_){} 3155 if (variant.sku){ 3156 tokens.push(String(variant.sku)); 3157 tokens.push(normalize(String(variant.sku))); 3158 } 3159 if (variant.image_url) { 3160 tokens.push(String(variant.image_url)); 3161 } 3162 let best = null; 3163 let bestScore = -1; 3164 3165 for (const g of (galleryData||[])){ 3166 const slugN = normalize(g.slug||''); 3167 const altN = normalize(g.alt||''); 3168 const file = _0x8s9t(g.url||''); 3169 const fileN = normalize(file); 3170 const imgU = g.url; 3171 3172 for (const t of tokens){ 3173 const tN = normalize(t); 3174 if (!tN) continue; 3175 3176 let score = -1; 3177 if (imgU === tN) score = 300; 3178 if (slugN && slugN === tN) score = 300; 3179 else if (fileN && fileN.includes(tN)) score = 200; 3180 else if (altN && altN.includes(tN)) score = 120; 3181 3182 if (score > bestScore){ 3183 bestScore = score; 3184 best = g; 3185 } 3186 if (bestScore >= 300) break; 3187 } 3188 if (bestScore >= 300) break; 3189 } 3190 return bestScore >= 120 ? best : null; 3191 } 3192 function _0xey3z(variant){const a=_0xcw2x(variant);if(a&&a.url){_0xau1v(a.url,a.alt||'')}} 3193 3194 /* ====== Layout mobile ====== */ 3195 (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; 3196 3197 let pricePlaced = false;
3198 let varPlaced = false; 3199 let titlePlaced = false; 3200 let promoPlaced = false; 3201 const mq = window.matchMedia('(max-width: 640px)'); 3202 3203 function apply(){ 3204 if (mq.matches) { 3205 if (!titlePlaced && a && titleRow && d.contains(titleRow)) { try{a.appendChild(titleRow);titlePlaced=true;}catch(_){} } 3206 if (!pricePlaced && a && b) { try{a.appendChild(b);pricePlaced=true;}catch(_){} } 3207 if (!varPlaced && f && d && e) { 3208 try{ 3209 f.hidden = false; 3210 if (i && !f.contains(i)) f.appendChild(i); 3211 if (g && !f.contains(g)) f.appendChild(g); 3212 if(d.contains(e))d.insertBefore(f, e); 3213 varPlaced = true; 3214 }catch(_){} 3215 } 3216 if (!promoPlaced && promoBanner && compareSection && compareSection.parentNode) { 3217 try{ 3218 compareSection.parentNode.insertBefore(promoBanner, compareSection); 3219 promoPlaced = true; 3220 }catch(_){} 3221 } 3222 } else { 3223 if (titlePlaced && titleRow && d) { 3224 try{ 3225 const vcombined = document.getElementById('pd-variant-combined'); 3226 if (vcombined && d.contains(vcombined)) { 3227 d.insertBefore(titleRow, vcombined); 3228 } else { 3229 d.insertBefore(titleRow, d.firstChild); 3230 } 3231 titlePlaced=false; 3232 }catch(_){} 3233 } 3234 if (pricePlaced && b && c && c.parentNode) { 3235 try{c.parentNode.insertBefore(b, c.nextSibling);pricePlaced=false;}catch(_){} 3236 } 3237 if (varPlaced) { 3238 try{ 3239 if (i && j && j.parentNode && !j.parentNode.contains(i)) j.parentNode.insertBefore(i, j.nextSibling); 3240 if (g && h && h.parentNode && !h.parentNode.contains(g)) h.parentNode.insertBefore(g, h.nextSibling); 3241 if (f) { f.hidden = true; f.innerHTML = ''; } 3242 varPlaced = false; 3243 }catch(_){} 3244 } 3245 if (promoPlaced && promoBanner && b) { 3246 try{ 3247 b.appendChild(promoBanner); 3248 promoPlaced = false; 3249 }catch(_){} 3250 } 3251 } 3252 } 3253 3254 mq.addEventListener ? mq.addEventListener('change', apply) : mq.addListener(apply); 3255 apply(); 3256 3257 const fab = document.getElementById('pd-mobile-fab'); 3258 if (fab) { 3259 const pid = parseInt(fab.getAttribute('data-pid')||'0',10) || 325; 3260 const btnCart = document.getElementById('mf-cart'); 3261 3262 if (btnCart) btnCart.addEventListener('click', function(){ 3263 const varInput = document.getElementById('pd-variant-id'); 3264 const variantId = varInput ? parseInt(varInput.value||'0',10) : 0; 3265 try { if (window.addToCart) addToCart(pid, 1, variantId); } catch(_){} 3266 const variantText = getVariantSummaryText(); 3267 const skuText = (function(){ const el=document.getElementById('pd-sku'); return el?el.textContent.trim():PD_SKU; })(); 3268 showToast({ 3269 type: 'success', 3270 title: 'Berhasil ditambaMCan ke Keranjang', 3271 message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`, 3272 duration: 5000, 3273 actions: [ 3274 { label: 'Lihat Keranjang', onClick: ()=> { window.location.href = '/keranjang'; } }, 3275 { label: 'Lanjut Belanja', variant: 'alt', onClick: ()=>{} } 3276 ] 3277 }); 3278 }); 3279 } 3280 })(); 3281 3282 /* ====== Auto-hide installment banner if sidebar too tall (Desktop only) ====== */ 3283 (function(){ 3284 function adjustSidebarBanner() { 3285 if (window.innerWidth <= 768) return; 3286 const sidebar = document.querySelector('.pd-sidebar'); 3287 const infoCard = document.querySelector('.pd-info-card'); 3288 const banner = document.querySelector('.pd-side-card.inst-alt-banner.inst-alt-banner--compact'); 3289 if (!sidebar || !infoCard || !banner) return; 3290 const sidebarHeight = sidebar.offsetHeight; 3291 const infoCardHeight = infoCard.offsetHeight; 3292 if (sidebarHeight > infoCardHeight) { 3293 banner.style.display = 'none'; 3294 } else { 3295 banner.style.display = ''; 3296 } 3297 } 3298 if (document.readyState === 'loading') { 3299 document.addEventListener('DOMContentLoaded', adjustSidebarBanner); 3300 } else { 3301 adjustSidebarBanner(); 3302 } 3303 let resizeTimer; 3304 window.addEventListener('resize', function() { 3305 clearTimeout(resizeTimer); 3306 resizeTimer = setTimeout(adjustSidebarBanner, 250); 3307 }); 3308 const pwpSection = document.getElementById('pwp-deals-section'); 3309 if (pwpSection) { 3310 const observer = new MutationObserver(function(mutations) {
3311 let shouldRecheck = false; 3312 mutations.forEach(function(mutation) { 3313 if (mutation.type === 'attributes' && mutation.attributeName === 'hidden') { 3314 shouldRecheck = true; 3315 } else if (mutation.type === 'childList' && mutation.addedNodes.length > 0) { 3316 shouldRecheck = true; 3317 } 3318 }); 3319 if (shouldRecheck) { 3320 setTimeout(adjustSidebarBanner, 100); 3321 } 3322 }); 3323 observer.observe(pwpSection, { 3324 attributes: true, 3325 childList: true, 3326 subtree: true 3327 }); 3328 } 3329 window.adjustSidebarBanner = adjustSidebarBanner; 3330 })(); 3331 3332 /* ====== Global constants ====== */ 3333 const IS_DIGITAL=false; 3334 const IS_PREORDER=false; 3335 3336 /* ====== Variants state (REVISED) ====== */ 3337 (function initVariants(){ 3338 const _0x7g8h=[];window.variants=_0x7g8h; 3339 window.isPreorderProduct=false; 3340 const attrOrder = []; 3341 3342 if (!variants.length || !attrOrder.length) return; 3343 3344 function comboKey(sel){ 3345 return attrOrder.map(a => a + '=' + (sel[a] ?? '')).join('|'); 3346 } 3347 3348 const variantMap = {};
3349 variants.forEach(v=>{ 3350 const key = comboKey(v.attrs); 3351 variantMap[key] = v; 3352 }); 3353 3354 function readSelection(){ 3355 const sel = {}; 3356 attrOrder.forEach(a=>{ 3357 const r = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio]:checked`); 3358 sel[a] = r ? r.value : ''; 3359 }); 3360 return sel; 3361 } 3362 3363 function findVariant(sel){ 3364 return variantMap[comboKey(sel)] || null; 3365 } 3366 3367 function autoFillMissing(sel){ 3368 let changed = false; 3369 for (const a of attrOrder) { 3370 if (sel[a]) continue; 3371 const possible = []; 3372 const seen = new Set(); 3373 variants.forEach(v=>{ 3374 let ok = true; 3375 for (const a2 of attrOrder) { 3376 if (a2 === a) continue; 3377 if (sel[a2] && v.attrs[a2] !== sel[a2]) { ok = false; break; } 3378 } 3379 if (ok) { 3380 const val = v.attrs[a]; 3381 if (!seen.has(val)) { seen.add(val); possible.push(val); } 3382 } 3383 }); 3384 if (possible.length === 1) { 3385 const val = possible[0]; 3386 const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`); 3387 if (input && !input.checked) { input.checked = true; sel[a] = val; changed = true; } 3388 } 3389 } 3390 return changed; 3391 } 3392 3393 function rupiah(n){ 3394 n = parseInt(n||0,10)||0; 3395 return 'Rp ' + n.toString().replace(/\B(?=(\d{3})+(?!\d))/g,'.'); 3396 } 3397 3398 function focusGalleryByUrl(imageUrl) { 3399 const isMobile = window.matchMedia && window.matchMedia('(max-width: 640px)').matches; 3400 if (isMobile) { 3401 _0xau1v(imageUrl); 3402 return; 3403 } 3404 3405 const gallery = document.getElementById('pd-thumb-gallery'); 3406 const targetName = _0x8s9t(imageUrl); 3407 3408 if (gallery) { 3409 const btns = Array.from(gallery.querySelectorAll('.pd-thumb-btn')); 3410 const btn = btns.find(b => _0x8s9t(b.getAttribute('data-full') || '') === targetName); 3411 if (btn) { btn.click(); return; } 3412 } 3413 3414 _0xau1v(imageUrl); 3415 } 3416 3417 3418 function formatStockLabel(n){n=parseInt(n||0,10)||0;return(n>10)?'10+':String(n)} 3419 function updateBranchPopover(v){try{if(!v)return;const a=document.getElementById('sp-qty-meg'),b=document.getElementById('sp-qty-mdf'),c=document.getElementById('sp-qty-bda');if(a)a.textContent=formatStockLabel(Math.max(0,v.smm|0));if(b)b.textContent=formatStockLabel(Math.max(0,v.smf|0));if(c)c.textContent=formatStockLabel(Math.max(0,v.sba|0))}catch(_){}} 3420 3421 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)} 3422 3423 function applyVariant(v, focusImage = true){ 3424 const elCur = document.getElementById('pd-price-current'); 3425 const elOri = document.getElementById('pd-price-original'); 3426 const elDisc = document.getElementById('pd-discount-badge'); 3427 const elSku = document.getElementById('pd-sku'); 3428 const elStock= document.getElementById('pd-stock-badge'); 3429 const elQty = document.getElementById('qty'); 3430 const btnAdd = document.getElementById('btn-add-cart'); 3431 const btnBuy = document.getElementById('btn-buy'); 3432 const hidVar = document.getElementById('pd-variant-id'); 3433 3434 const mfCart= document.getElementById('mf-cart'); 3435 const mfBuy = document.getElementById('mf-buy'); 3436 const fab = document.getElementById('pd-mobile-fab'); 3437 3438 if (hidVar) hidVar.value = v ? v.id : 0; 3439 if (elCur) elCur.textContent = rupiah(v ? v.final : 0); 3440 if (elSku && v && v.sku) elSku.textContent = v.sku; 3441 3442 if (v && v.ori > v.final) { 3443 if (elOri) { elOri.style.display='inline'; elOri.textContent = rupiah(v.ori); } 3444 if (elDisc) { elDisc.style.display='inline'; elDisc.textContent = '-' + (v.disc||0) + '%'; } 3445 } else { 3446 if (elOri) elOri.style.display='none'; 3447 if (elDisc) elDisc.style.display='none'; 3448 } 3449 3450 const stock = v ? (parseInt(v.stock||0,10)||0) : 0; 3451 let effectiveStock = stock; 3452 let isActivePreorder = false;
3453 if (window.isPreorderProduct && v && 'preorder_remaining' in v && v.preorder_remaining !== null) { 3454 effectiveStock = parseInt(v.preorder_remaining, 10); 3455 if (isNaN(effectiveStock)) effectiveStock = 0; 3456 isActivePreorder = true; 3457 } 3458 if (elStock){ 3459 elStock.classList.remove('in','out'); 3460 if (effectiveStock>0){ 3461 elStock.classList.add('in'); 3462 elStock.textContent = IS_DIGITAL ? 'Tersedia' : (isActivePreorder ? 'Sisa Slot: ' + effectiveStock : 'Stok: ' + formatStockLabel(effectiveStock)); 3463 } else { 3464 elStock.classList.add('out'); 3465 elStock.textContent = 'Habis'; 3466 } 3467 } 3468 if (elQty){ 3469 elQty.max = String(effectiveStock>0?effectiveStock:0); 3470 if (effectiveStock<=0) { elQty.value = '0'; elQty.disabled = true; } 3471 else { if (parseInt(elQty.value||'1',10) < 1) elQty.value='1'; elQty.disabled=false; } 3472 } 3473 3474 const shouldDisable = !(v && effectiveStock>0); 3475 const updateButtons = () => { 3476 const btnAddCart = document.getElementById('btn-add-cart'); 3477 const btnBuyNow = document.getElementById('btn-buy'); 3478 const mobileCart = document.getElementById('mf-cart'); 3479 const mobileBuy = document.getElementById('mf-buy'); 3480 [btnAddCart, btnBuyNow, mobileCart, mobileBuy].forEach(btn => { 3481 if (!btn) return; 3482 if (shouldDisable) { 3483 btn.disabled = true; 3484 btn.setAttribute('disabled', 'disabled'); 3485 btn.classList.add('stock-disabled'); 3486 btn.setAttribute('data-stock-blocked', 'true'); 3487 btn.setAttribute('data-stock-reason', window.isPreorderProduct ? 'Pre-order habis' : 'Stok habis'); 3488 } else { 3489 btn.disabled = false; 3490 btn.removeAttribute('disabled'); 3491 btn.classList.remove('stock-disabled'); 3492 btn.removeAttribute('data-stock-blocked'); 3493 btn.removeAttribute('data-stock-reason'); 3494 } 3495 }); 3496 }; 3497 updateButtons(); 3498 setTimeout(updateButtons, 10); 3499 setTimeout(updateButtons, 50); 3500 setTimeout(updateButtons, 100); 3501 if (mfBuy && v) { 3502 const voucherBtn = document.getElementById('btn-buy-voucher'); 3503 const voucherCode = fab ? fab.dataset.voucherCode : ''; 3504 let voucherDiscount = 0; 3505 3506 if (voucherBtn && voucherCode) { 3507 const vType = voucherBtn.dataset.voucherType; 3508 const vValue = parseFloat(voucherBtn.dataset.voucherValue) || 0; 3509 const vMax = parseFloat(voucherBtn.dataset.voucherMax) || 0; 3510 const finalPrice = v.final || 0; 3511 if (vType && vValue > 0) { 3512 voucherDiscount = calcVoucherDisc(vType, vValue, finalPrice, vMax); 3513 if (fab) fab.dataset.voucherValue = voucherDiscount.toString(); 3514 } 3515 } 3516 3517 const finalPrice = v.final || 0; 3518 const textEl = mfBuy.querySelector('.mf-buy-text'); 3519 const priceEl = mfBuy.querySelector('.mf-buy-price'); 3520 3521 if (effectiveStock > 0) { 3522 if (IS_PREORDER) { 3523 if (textEl) textEl.textContent = 'Pre Order Sekarang'; 3524 if (priceEl) priceEl.textContent = rupiah(finalPrice); 3525 } else if (voucherCode && voucherDiscount > 0) { 3526 if (textEl) textEl.textContent = 'Beli dengan Voucher'; 3527 if (priceEl) priceEl.textContent = rupiah(Math.max(0, finalPrice - voucherDiscount)); 3528 } else { 3529 if (textEl) textEl.textContent = 'Beli Sekarang'; 3530 if (priceEl) priceEl.textContent = rupiah(finalPrice); 3531 } 3532 } else { 3533 if (textEl) textEl.textContent = 'Stok Habis'; 3534 if (priceEl) priceEl.textContent = rupiah(finalPrice); 3535 } 3536 } 3537 3538 const isMobile = window.initMobile ?? 0; 3539 if (window.instSetBasePrice) window.instSetBasePrice(v ? (isMobile == '1' ? v.ori : v.final) : 0); 3540 if (window.updateSoldBySku) window.updateSoldBySku(v.sku); 3541 updateBranchPopover(v); 3542 if (v && v.image_url && focusImage) focusGalleryByUrl(v.image_url); 3543 if (v) { 3544 window.dispatchEvent(new CustomEvent('pd-variant-changed', { 3545 detail: { 3546 price: v.final,
3547 originalPrice: v.ori, 3548 discount: v.disc, 3549 stock: effectiveStock, 3550 sku: v.sku, 3551 variant_id: v.id 3552 } 3553 })); 3554 3555 const encodedHash = encodeVariantHash(v.id); 3556 if (encodedHash && window.history && window.history.replaceState) { 3557 const newHash = '#v=' + encodedHash; 3558 const newUrl = window.location.pathname + window.location.search + newHash; 3559 window.history.replaceState(null, '', newUrl); 3560 } 3561 } 3562 } 3563 3564 let sel = readSelection(); 3565 if (autoFillMissing(sel)) sel = readSelection(); 3566 3567 let v = findVariant(sel); 3568 if (!v) { 3569 const candidates = variants.filter(variant=>{ 3570 return attrOrder.every(a=>{ 3571 if (!sel[a]) return true; 3572 return variant.attrs[a] === sel[a]; 3573 }); 3574 }); 3575 if (candidates.length >= 1) { 3576 v = candidates[0]; 3577 attrOrder.forEach(a=> sel[a] = v.attrs[a]); 3578 attrOrder.forEach(a=>{ 3579 const val = sel[a]; 3580 const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`); 3581 if (input) input.checked = true; 3582 }); 3583 } 3584 } 3585 3586 const initSel = readSelection(); 3587 const initVar = findVariant(initSel) || variants[0] || null; 3588 if (document.readyState === 'loading') { 3589 document.addEventListener('DOMContentLoaded', () => applyVariant(initVar, false)); 3590 } else { 3591 applyVariant(initVar, false); 3592 } 3593 3594 function updateSummary(sel){Object.entries(sel).forEach(([a,val])=>{const el=document.getElementById('vs-'+a);if(el)el.textContent=val||'-'})} 3595 function refreshOptions(sel){ 3596 attrOrder.forEach(a=>{ 3597 const group = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"]`); 3598 if (!group) return; 3599 const chips = group.querySelectorAll('.v-chip'); 3600 chips.forEach(ch=>{ 3601 const val = ch.getAttribute('data-value'); 3602 const possible = variants.some(v=>{ 3603 if (v.attrs[a] !== val) return false; 3604 for (const a2 of attrOrder) { 3605 if (a2 === a) continue; 3606 if (sel[a2] && v.attrs[a2] !== sel[a2]) return false; 3607 } 3608 return true; 3609 }); 3610 const input = ch.querySelector('input[type=radio]'); 3611 const disabled = !possible; 3612 if (input) input.disabled = disabled; 3613 ch.classList.toggle('disabled', disabled); 3614 3615 let candidateVariant = null; 3616 if (possible) { 3617 candidateVariant = variants.find(v=>{ 3618 if (v.attrs[a] !== val) return false; 3619 for (const a2 of attrOrder) { 3620 if (a2 === a) continue; 3621 if (sel[a2] && v.attrs[a2] !== sel[a2]) return false; 3622 } 3623 return true; 3624 }); 3625 } 3626 const outOfStock = candidateVariant ? (window.isPreorderProduct && candidateVariant.preorder_remaining !== null ? candidateVariant.preorder_remaining <= 0 : candidateVariant.stock <= 0) : false; 3627 ch.classList.toggle('out', !disabled && outOfStock); 3628 const badge = ch.querySelector('.chip-badge'); 3629 if (badge) badge.hidden = !(candidateVariant && outOfStock); 3630 }); 3631 group.querySelectorAll('.v-chip').forEach(ch=>{ 3632 const input = ch.querySelector('input[type=radio]'); 3633 ch.classList.toggle('selected', input && input.checked); 3634 }); 3635 }); 3636 } 3637 updateSummary(sel); 3638 refreshOptions(sel); 3639 document.querySelectorAll('.v-chip').forEach(chip=>{const input=chip.querySelector('input[type=radio]');if(input&&input.checked){chip.classList.add('selected');}}); 3640 3641 const container = document.getElementById('pd-variants'); 3642 container && container.addEventListener('change', function(ev){ 3643 const radio = ev.target.closest('input[type=radio]'); 3644 if (!radio) return; 3645 sel = readSelection(); 3646 if (autoFillMissing(sel)) sel = readSelection(); 3647 const chosen = findVariant(sel); 3648 applyVariant(chosen || null, true); 3649 3650 updateSummary(sel); 3651 refreshOptions(sel); 3652 }); 3653 3654 window.applyVariant=applyVariant; 3655 })(); 3656 3657 (function cleanBrokenDescImages(){ 3658 const containers = [ 3659 document.querySelector('.pd-full-desc-body'), 3660 document.querySelector('.pd-short-desc')
3661 ].filter(Boolean); 3662 3663 containers.forEach(root => { 3664 const imgs = root.querySelectorAll('img'); 3665 imgs.forEach(img => { 3666 if (img.complete && img.naturalWidth === 0) { 3667 img.remove(); 3668 return; 3669 } 3670 img.addEventListener('error', () => { 3671 img.remove(); 3672 }, { once:true }); 3673 }); 3674 }); 3675 })(); 3676 3677 /* ====== Scroll To Top ====== */ 3678 (function _0xi25j(){const a=document.getElementById('pd-scroll-top');if(!a)return;function b(){if(window.matchMedia('(max-width:640px)').matches){const d=document.querySelector('.bottom-nav'),e=document.querySelector('.pd-mobile-fab');if(!d&&!e){setTimeout(b,100);return}const f=d&&window.getComputedStyle(d).display!=='none'&&window.getComputedStyle(d).visibility!=='hidden',g=e&&window.getComputedStyle(e).display!=='none'&&window.getComputedStyle(e).visibility!=='hidden';let h;if(f&&g){h='calc(68px + 54px + env(safe-area-inset-bottom))'}else if(g){h='calc(68px + 8px + env(safe-area-inset-bottom))'}else if(f){h='calc(60px + env(safe-area-inset-bottom))'}else{h='calc(20px + env(safe-area-inset-bottom))'}a.style.setProperty('--scroll-top-bottom',h)}else{a.style.removeProperty('--scroll-top-bottom')}}function c(){const d=window.pageYOffset||document.documentElement.scrollTop||0,e=d>300;a.classList.toggle('visible',e);a.setAttribute('aria-hidden',e?'false':'true');b()}window.addEventListener('scroll',c,{passive:!0});window.addEventListener('resize',b,{passive:!0});setTimeout(b,100);c();a.addEventListener('click',function(){window.scrollTo({top:0,behavior:'smooth'})})})(); 3679 3680 /* Format stok 10+ */ 3681 function _0xk67l(n){n=parseInt(n||0,10)||0;return n>10?'10+':String(n)} 3682 3683 /* Toggle popover stok per cabang */ 3684 (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){const e=document.getElementById('pd-stock-badge');if(!e)return;const f=e.getBoundingClientRect(),g=window.pageXOffset||document.documentElement.scrollLeft||0,h=window.pageYOffset||document.documentElement.scrollTop||0;b.style.left=(f.left+g-10)+'px';b.style.top=(f.bottom+h+10)+'px'}else{b.style.left='';b.style.top=''}} 3685 function e(){d();b.classList.add('show');a.setAttribute('aria-expanded','true');b.setAttribute('aria-hidden','false');document.addEventListener('click',g,{capture:true});window.addEventListener('resize',d,{passive:true});window.addEventListener('scroll',d,{passive:true})}function f(){b.classList.remove('show');a.setAttribute('aria-expanded','false');b.setAttribute('aria-hidden','true');document.removeEventListener('click',g,{capture:true});window.removeEventListener('resize',d);window.removeEventListener('scroll',d)}function g(h){if(b.contains(h.target)||a.contains(h.target))return;f()} 3686 a.addEventListener('click',function(h){h.preventDefault();b.classList.contains('show')?f():e()});if(c)c.addEventListener('click',f)})(); 3687 3688 /* ===== Share Product Modal ===== */ 3689 (function(){const a=document.getElementById('pd-share-btn'),z=document.getElementById('mf-share'),b=document.getElementById('pd-share-modal-overlay'),c=document.getElementById('pd-share-close'),d=document.getElementById('pd-share-copy-url-btn'),e=document.getElementById('pd-share-url-input');if((!a&&!z)||!b)return;const f="https://bigwinnerpro.org/",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=e
3689ncodeURIComponent(i),q=encodeURIComponent(g);let r='';switch(n){case 'whatsapp':r=`https://wa.me/?text=${p}${o}`;break;case 'facebook':r=`https://www.facebook.com/sharer/sharer.php?u=${o}`;break;case 'twitter':r=`https://twitter.com/intent/tweet?text=${p}${o}`;break;case 'telegram':r=`https://t.me/share/url?url=${o}&text=${p}`;break;case 'email':r=`mailto:?subject=${encodeURIComponent('ð¥ Cek Produk Keren Ini!')}&body=${p}${o}`;window.location.href=r;k();return;case 'copy':s();return;case 'pdf':const ps=document.querySelector('.product-single');if(ps){ps.setAttribute('data-print-date',new Date().toLocaleDateString('id-ID',{year:'numeric',month:'long',day:'numeric'}))}k();setTimeout(function(){window.print();try{if(window.ga4Ecomm&&window.ga4Ecomm.trackEvent)window.ga4Ecomm.trackEvent('share',{method:'pdf_export',content_type:'product',item_id:"1S83N0880RID"})}catch(_){}},300);return}if(r){window.open(r,'_blank','noopener,noreferrer');try{if(window.ga4Ecomm&&window.ga4Ecomm.trackEvent)window.ga4Ecomm.trackEvent('share',{method:n,content_type:'product',item_id:"1S83N0880RID"})}catch(_){}}});function s(){if(!e)return;e.select();e.setSelectionRange(0,99999);try{if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(f).then(function(){t()}).catch(function(){document.execCommand('copy');t()})}else{document.execCommand('copy');t()}}catch(u){console.error('Failed to copy:',u)}}function t(){if(!d)return;const v=d.innerHTML;d.classList.add('copied');d.innerHTML='<svg viewBox="0 0 24 24" width="16" height="16"><path fill="currentColor" d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg><span class="pd-share-copy-text">Tersalin!</span>';if(window.showToast)showToast({type:'success',title:'⨠Link Tersalin!',message:'Link produk berhasil disalin. Yuk bagikan ke teman!',duration:3000});setTimeout(function(){d.classList.remove('copied');d.innerHTML=v},2000)}if(d)d.addEventListener('click',s);if(navigator.share){const shareHandler=function(w){w.preventDefault();navigator.share({title:g,text:i+f,url:f}).catch(function(x){console.log('Native share cancelled or failed:',x)})};if(a)a.addEventListener('dblclick',shareHandler);if(z)z.addEventListener('dblclick',shareHandler)}})(); 3690 3691 /* ===== Embedding variants (server â client) ===== */ 3692 (function(){ 3693 window.__PD_VARIANTS_WITH_BRANCH__ = []; 3694 })(); 3695 3696 /* ===== Helper: update angka popover ===== */ 3697 function updateStockPopoverForVariant(v){ 3698 try{ 3699 const elMeg = document.getElementById('sp-qty-meg'); 3700 const elMdf = document.getElementById('sp-qty-mdf'); 3701 const elBda = document.getElementById('sp-qty-bda'); 3702 3703 if (typeof v?.smm === 'number' && elMeg) elMeg.textContent = formatStockLabel(Math.max(0, v.smm|0)); 3704 if (typeof v?.smf === 'number' && elMdf) elMdf.textContent = formatStockLabel(Math.max(0, v.smf|0)); 3705 if (typeof v?.sba === 'number' && elBda) elBda.textContent = formatStockLabel(Math.max(0, v.sba|0)); 3706 }catch(_){} 3707 } 3708 3709 /* ===== applyVariant: 10+ dan update popover ===== */ 3710 (function patchApplyVariant(){ 3711 if (typeof applyVariant !== 'function') return; 3712 const original = applyVariant; 3713 window.applyVariant = function(v){ 3714 original(v); 3715 3716 try { 3717 const elStock = document.getElementById('pd-stock-badge'); 3718 if (elStock){ 3719 let txt = elStock.textContent || ''; 3720 let m = txt.match(/\d+/); 3721 if (m) { 3722 const n = parseInt(m[0]||'0',10)||0; 3723 elStock.textContent = (n>0) ? ('Stok: ' + formatStockLabel(n)) : 'Habis'; 3724 } 3725 } 3726 } catch(_){} 3727 if(window.__PD_VARIANTS_WITH_BRANCH__&&v){const vv=window.__PD_VARIANTS_WITH_BRANCH__.find(x=>x.id===v.id)||v;updateStockPopoverForVariant(vv)} 3728 }; 3729 })(); 3730 3731 (function initCurrentVariantBranch(){ 3732 const list = window.__PD_VARIANTS_WITH_BRANCH__ || []; 3733 if (!list.length) return; 3734 const hid = document.getElementById('pd-variant-id'); 3735 const vid = hid ? parseInt(hid.value||'0',10) : 0; 3736 const current = list.find(x => x.id === vid) || list[0] || null; 3737 if (current) updateStockPopoverForVariant(current); 3738 })(); 3739 3740 (function(){ 3741 if (!window.ga4Ecomm) return; 3742 const catSegs = ["Komputer & Laptop","Laptop","Gaming"]; 3743 window.ga4Ecomm.viewItem({ 3744 currency: 'IDR', 3745 value: 20789000, 3746 item_id: "1S83N0880RID", 3747 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", 3748 item_brand: "Lenovo ",
3749 item_category: catSegs && catSegs.length ? catSegs.join(' / ') : '' 3750 }); 3751 })(); 3752 3753 (function patchApplyVariantFocus(){ 3754 if (typeof applyVariant !== 'function') return; 3755 const original = applyVariant; 3756 window.applyVariant = function(v, focusImage = true){ 3757 3758 original(v, focusImage); 3759 3760 if (focusImage && v && v.image_url) { 3761 _0xau1v(v.image_url); 3762 } 3763 }; 3764 })(); 3765 3766 (function() { 3767 var soldMap = []; 3768 var soldTotalLabel = "Terjual 2"; 3769 3770 function formatSoldLabel(qty) { 3771 if (qty >= 1000000) { 3772 var v = Math.floor((qty / 100000) ) / 10; 3773 return 'Terjual ' + (String(v).replace('.', ',')) + 'jt+'; 3774 } 3775 if (qty >= 1000) { 3776 var v2 = Math.floor((qty / 100) ) / 10; 3777 return 'Terjual ' + (String(v2).replace('.', ',')) + 'rb+'; 3778 } 3779 if (qty >= 100) { 3780 var v2 = Math.floor((qty / 100) ) * 100; 3781 return 'Terjual ' + (String(v2).replace('.', ',')) + '+'; 3782 } 3783 if (qty >= 10) { 3784 var v2 = Math.floor((qty / 10) ) * 10; 3785 return 'Terjual ' + (String(v2).replace('.', ',')) + '+'; 3786 } 3787 return 'Terjual ' + (qty.toLocaleString('id-ID')); 3788 } 3789 3790 function updateSoldLabel(labelText) { 3791 var el = document.querySelector('#pd-sold-inline, [data-role="sold-chip"]'); 3792 if (el) el.textContent = labelText; 3793 } 3794 3795 window.updateSoldBySku = function(sku) { 3796 if (!sku || typeof sku !== 'string') { 3797 updateSoldLabel(soldTotalLabel); 3798 return; 3799 } 3800 var qty = soldMap[sku] || 0; 3801 updateSoldLabel(formatSoldLabel(qty)); 3802 }; 3803 3804 updateSoldLabel(soldTotalLabel); 3805 })(); 3806 3807 (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)}})} 3808 function getChatProductData(){const varInput=document.getElementById('pd-variant-id');const variantId=varInput?parseInt(varInput.value||'0',10):0;const variantSummary=getVariantSummaryText();const priceEl=document.getElementById('pd-price-current');const currentPrice=priceEl?priceEl.textContent.trim():'Rp 20.789.000';const pd={id:325,name:"Lenovo Legion Go 8ASP2 - 83N0000RID \/AMD Ryzen Z2 Extreme\/32GB\/1TB SSD\/AMD Radeon Graphics\/8.8\" WUXGA OLED Touch\/Win 11 Home\/Eclipse Black\/3Y",price:currentPrice,image:"\/uploads\/products\/lenovo-legion-go-8asp2-83n0000rid.webp",url:window.location.href};if(variantId>0){pd.variant_id=variantId}if(variantSummary){pd.variant_summary=variantSummary}return pd} 3809 const ch=document.getElementById('pd-sticky-chat');if(ch){ch.addEventListener('click',function(e){e.preventDefault();if(!window.plazaChat){console.warn('Chat widget not loaded');return}window.plazaChat.attachProduct(getChatProductData());window.plazaChat.openWidget()})}const dch=document.getElementById('btn-chat-icon');if(dch){dch.addEventListener('click',function(e){e.preventDefault();if(!window.plazaChat){console.warn('Chat widget not loaded');return}window.plazaChat.attachProduct(getChatProductData());window.plazaChat.openWidget()})}const mch=document.getElementById('mf-chat');if(mch){mch.addEventListener('click',function(e){e.preventDefault();if(!window.plazaChat){console.warn('Chat widget not loaded');return}window.plazaChat.attachProduct(getChatProductData());window.plazaChat.openWidget()})}window.addEventListener('pd-variant-changed',function(e){const d=e.detail||{};if(d.price!==undefined){const sp=document.getElementById('pd-sticky-price');if(sp){sp.textContent=formatRupiah(d.price)}}if(d.originalPrice!==undefined&&d.originalPrice>d.price){const so=document.getElementById('pd-sticky-price-original');if(so){so.textContent=formatRupiah(d.originalPrice);so.style.display=''}}else{const so=document.getElementById('pd-sticky-price-original');if(so){so.style.display='none'}}if(d.discount!==undefined&&d.discount>0){const sd=document.getElementById('pd-sticky-discount');if(sd){sd.textContent='-'+d.discount+'%';sd.style.display=''}}else{const sd=document.getElementById('pd-sticky-discount');if(sd){sd.style.display='none'}}const hs=d.stock>0;if(ac){ac.disabled=!hs}if(by){by.disabled=!hs}});
3809function formatRupiah(n){return'Rp'+Math.floor(n).toLocaleString('id-ID')}})(); 3810 3811 (function(){const t=document.getElementById('pdv-toggle-btn');const v=document.getElementById('pd-voucher-section');if(t&&v){const h=v.querySelectorAll('.pdv-min-hidden');const n=h.length;t.addEventListener('click',function(){const e=t.classList.toggle('expanded');h.forEach(function(i){if(e){i.classList.remove('pdv-min-hidden')}else{i.classList.add('pdv-min-hidden')}});t.textContent=e?'Tutup':'+'+n})}const m=document.getElementById('voucher-detail-modal');const mc=document.getElementById('voucher-modal-close');const ma=document.getElementById('voucher-modal-cancel');const mcp=document.getElementById('voucher-modal-copy');if(m){const bb=document.querySelectorAll('.pdv-badge-btn');bb.forEach(function(btn){btn.addEventListener('click',function(){if(btn.disabled)return;const c=btn.getAttribute('data-voucher-code');const nm=btn.getAttribute('data-voucher-name');const dl=btn.getAttribute('data-discount-label');const bl=btn.getAttribute('data-badge-label');const mp=parseInt(btn.getAttribute('data-min-purchase'));const md=parseInt(btn.getAttribute('data-max-discount'));const vu=btn.getAttribute('data-valid-until');document.getElementById('voucher-modal-badge').innerHTML='<span class="vmb-value">'+dl+'</span><span class="vmb-label">'+bl+'</span>';document.getElementById('voucher-modal-code').textContent=c;document.getElementById('voucher-modal-name').textContent=nm;const me=document.getElementById('voucher-modal-min');if(mp>0){me.style.display='';document.getElementById('voucher-modal-min-val').textContent=fr(mp)}else{me.style.display='none'}const xe=document.getElementById('voucher-modal-max');if(md>0){xe.style.display='';document.getElementById('voucher-modal-max-val').textContent=fr(md)}else{xe.style.display='none'}if(vu){const d=new Date(vu);const ft=d.toLocaleDateString('id-ID',{day:'numeric',month:'long',year:'numeric',hour:'2-digit',minute:'2-digit'});document.getElementById('voucher-modal-valid-val').textContent=ft}mcp.setAttribute('data-code',c);m.classList.add('show');document.body.style.overflow='hidden'})});function cm(){m.classList.remove('show');document.body.style.overflow=''}if(mc)mc.addEventListener('click',cm);if(ma)ma.addEventListener('click',cm);m.addEventListener('click',function(e){if(e.target===m)cm()});if(mcp){mcp.addEventListener('click',function(){const c=mcp.getAttribute('data-code');if(!c)return;if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(c).then(function(){smc()}).catch(function(err){fc(c)})}else{fc(c)}})}}const b=document.querySelectorAll('.pdv-min-copy');b.forEach(function(btn){btn.addEventListener('click',function(){if(btn.disabled)return;const code=btn.getAttribute('data-code');if(!code)return;if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(code).then(function(){sc(btn)}).catch(function(err){fc(code,btn)})}else{fc(code,btn)}})});function fc(text,btn){const tx=document.createElement('textarea');tx.value=text;tx.style.position='fixed';tx.style.opacity='0';document.body.appendChild(tx);tx.select();try{document.execCommand('copy');if(btn)sc(btn);else smc()}catch(err){}document.body.removeChild(tx)}function sc(btn){const o=btn.textContent;btn.classList.add('copied');btn.textContent='â Tersalin';setTimeout(function(){btn.classList.remove('copied');btn.textContent=o},2000)}function smc(){const o=mcp.textContent;mcp.textContent='â Kode Tersalin';mcp.style.background='#c52222';setTimeout(function(){mcp.textContent=o;mcp.style.background=''},2000)}function fr(a){return'Rp'+Math.floor(a).toLocaleString('id-ID')}})(); 3812 </script>
3812 3813
3813<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 3814 window.PD_ID=325;window.PD_NAME=_0x3c4d;window.PD_SKU=_0x5e6f;window.PD_CATEGORY_PATH="Komputer & Laptop/Laptop/Gaming";window.PD_BEST_VOUCHER=null; 3815 window.IS_DIGITAL=IS_DIGITAL; 3816 window.isPreorderProduct=false; 3817 window.PD_PREORDER_DATA=null; 3818 </script>
3818 3819 3820
3820<script nonce="se3iyzEHMc9FQEB4wSyd0w==">document.addEventListener('DOMContentLoaded',function(){if(typeof ProductReviews!=='undefined'){ProductReviews.init(325);}const r=document.getElementById('pd-rating-inline');if(r){r.addEventListener('click',function(e){e.preventDefault();const s=document.getElementById('reviews');if(s){s.scrollIntoView({behavior:'smooth',block:'start'});s.classList.add('highlight-flash');setTimeout(()=>{s.classList.remove('highlight-flash')},1500)}});}});</script>
3820 3821 3822
3822<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 3823 (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'}})}} 3824 3825 function _0x1k2l(){var a=document.querySelector('.qoala-cta[data-ga-event="qoala_banner_click"]');if(a){a.addEventListener('click',function(e){_0x9i0j(this)})}}if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',_0x1k2l)}else{_0x1k2l()}})(); 3826 3827 (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){const div=document.createElement('div');div.textContent=str||'';return div.innerHTML}loadPWPDeals();window.addEventListener('pd-variant-changed',function(e){const detail=e.detail||{};const newVid=detail.variant_id||0;const currentVid=parseInt(pwpSection.getAttribute('data-variant-id'))||0;if(newVid!==currentVid){pwpSection.setAttribute('data-variant-id',newVid);loadPWPDeals()}})})(); 3828 </script>
3828<footer class="site-footer footer-compact variant-stripes" role="contentinfo"> 3829 <div class="ft-top ft-collapsible" id="ftTop"> 3830 <div class="container ft-grid"> 3831 3832 <div class="ft-col ft-help"> 3833 <h4 class="ft-title">Butuh Bantuan?</h4> 3834 <p class="ft-desc">Hubungi kami melalui Official WhatsApp interaktif sekarang.</p> 3835 <a class="ft-wa-btn" href="#" target="_blank" rel="nofollow noopener"> 3836 <span class="ico" aria-hidden="true"> 3837 <svg viewBox="0 0 24 24" width="18" height="18"><path fill="#d32525" 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"/></svg> 3838 </span> 3839 Kirim Pesan 3840 </a> 3841 3842 <p class="ft-desc sm-gap">Ikuti kami:</p> 3843 <div class="ft-social"> 3844 <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"/></svg></a> 3845 <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
3845V7.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"/></svg></a> 3846 <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"/></svg></a> 3847 </div> 3848 </div> 3849 3850 <!-- Collapsible Content Wrapper (Non-Homepage Only) --> 3851 <div class="ft-collapsible-content" id="ftCollapsible"> 3852 3853 <div class="ft-col"> 3854 <h4 class="ft-title">Tentang TARIANTOTO</h4> 3855 <ul class="ft-links"> 3856 <li><a href="/tentang-kami">Tentang Kami</a></li> 3857 <li><a href="/kontak-kami">Kontak Kami</a></li> 3858 <li><a href="/lokasi-toko">Lokasi Toko</a></li> 3859 <li><a href="/faq">FAQ</a></li> 3860 </ul> 3861 <div class="ft-address"> 3862 <p class="company">PT PRIMAJAYA MULTI TECHNOLOGY</p> 3863 <p>JL. Asia Raya Blok BB No. 12-A, Kel. Sukaramai II, Kec.</p> 3864 <p>Medan Area, Kota Medan, Sumatera Utara, 20216</p> 3865 </div> 3866 </div> 3867 3868 <div class="ft-col"> 3869 <h4 class="ft-title">Informasi</h4> 3870 <ul class="ft-links"> 3871 <li><a href="/syarat-dan-ketentuan">Syarat & Ketentuan</a></li> 3872 <li><a href="/kebijakan-privasi">Kebijakan Privasi</a></li> 3873 <li><a href="/kebijakan-cookie">Kebijakan Cookie</a></li> 3874 <li><a href="/pengiriman-dan-pengembalian">Pengiriman & Pengembalian</a></li> 3875 <li><a href="/pembayaran-dan-cicilan">Pembayaran & Cicilan</a></li> 3876 <li><a href="/garansi-dan-layanan">Garansi & Layanan</a></li> 3877 </ul> 3878 3879 <div class="ft-payments payments-small" aria-label="Metode Pembayaran"> 3880 <div class="pay-row"> 3881 <img src="https://plazaitdotid.pages.dev/assets/img/payments/mandiri.svg" alt="Mandiri" loading="lazy"> 3882 <img src="https://plazaitdotid.pages.dev/assets/img/payments/bni.svg" alt="BNI" loading="lazy"> 3883 <img src="https://plazaitdotid.pages.dev/assets/img/payments/bri.svg" alt="BRI" loading="lazy"> 3884 <img src="https://plazaitdotid.pages.dev/assets/img/payments/bsi.svg" alt="BSI" loading="lazy"> 3885 <img src="https://plazaitdotid.pages.dev/assets/img/payments/cimb-logo.svg" alt="ShopeePay" loading="lazy"> 3886 </div> 3887 </div> 3888 </div> 3889 3890 </div> 3891 <!-- End Collapsible Content --> 3892 3893 <!-- Expand Button (Mobile Only) --> 3894 <button class="ft-expand-btn" id="ftExpandBtn" aria-label="Lihat semua informasi footer"> 3895 <span class="expand-text">Selengkapnya</span> 3896 <svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"> 3897 <path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/> 3898 </svg> 3899 </button> 3900 3901 </div> 3902 </div> 3903 <div class="ft-bottom"> 3904 <div class="container ft-bottom-inner"> 3905 <div class="ft-copy"> 3906 <span>TISU-AJAIB © <span id="yearNow">2026</span></span> 3907 <span>PT TISU-AJAIB. All rights reserved.</span> 3908 </div> 3909 </div> 3910 </div> 3911<style> 3912 :root { 3913 --sd-black: #5d2506; 3914 --sd-dark: #5d2506; 3915 --sd-panel: #662806; 3916 --sd-purple: #1ef1ff; 3917 --sd-violet: #1ef1ff; 3918 --sd-pink: #1ef1ff; 3919 --sd-cyan: #1ef1ff; 3920 --sd-white: #dcfff3; 3921 --sd-text: #f8b18b; 3922 --blade-cut: 10px; 3923 } 3924 3925 * { 3926 box-sizing: border-box; 3927 } 3928 3929 body { 3930 margin: 0; 3931 padding: 0; 3932 font-family: "Segoe UI", Arial, sans-serif; 3933 background: transparent; 3934 color: var(--sd-text); 3935 } 3936 3937 /* ========================= 3938 POPUP OVERLAY 3939 ========================= */ 3940 .popup-overlay { 3941 position: fixed; 3942 inset: 0; 3943 width: 100vw; 3944 height: 100vh; 3945 3946 display: flex; 3947 justify-content: center;
3948 align-items: center; 3949 3950 padding: 18px; 3951 background: rgba(93,37,6,0.76); 3952 backdrop-filter: blur(3px); 3953 -webkit-backdrop-filter: blur(3px); 3954 3955 z-index: 9999; 3956 } 3957 3958 /* ========================= 3959 POPUP CONTAINER 3960 ========================= */ 3961 .popup-container { 3962 position: relative; 3963 width: 100%; 3964 max-width: 420px; 3965 overflow: hidden; 3966 3967 padding-bottom: 18px; 3968 3969 color: var(--sd-text); 3970 text-align: center; 3971 3972 background: 3973 radial-gradient( 3974 circle at top right, 3975 rgba(78,244,255,0.16), 3976 transparent 34% 3977 ), 3978 radial-gradient( 3979 circle at bottom left, 3980 rgba(240,102,27,0.11), 3981 transparent 38% 3982 ), 3983 linear-gradient( 3984 145deg, 3985 #5d2506 0%, 3986 #602506 52%, 3987 #5d2506 100% 3988 ); 3989 3990 border: 1px solid rgba(242,113,44,0.58); 3991 border-radius: 10px 26px 10px 26px; 3992 3993 box-shadow: 3994 0 22px 55px rgba(5,29,20,0.72), 3995 0 0 18px rgba(242,113,44,0.34), 3996 0 0 32px rgba(78,244,255,0.14); 3997 3998 animation: streetPopupIn 0.45s ease-out; 3999 } 4000 4001 /* Tekstur graffiti ringan */ 4002 .popup-container::before { 4003 content: ""; 4004 position: absolute; 4005 inset: 0; 4006 pointer-events: none; 4007 z-index: 1; 4008 4009 background: 4010 repeating-linear-gradient( 4011 -35deg, 4012 transparent 0, 4013 transparent 14px, 4014 rgba(220,255,243,0.025) 15px, 4015 rgba(240,102,27,0.035) 17px, 4016 transparent 19px 4017 ); 4018 4019 opacity: 0.8; 4020 } 4021 4022 /* Aksen neon di sisi kiri */ 4023 .popup-container::after { 4024 content: ""; 4025 position: absolute; 4026 top: 0; 4027 left: 0; 4028 4029 width: 5px; 4030 height: 100%; 4031 z-index: 3; 4032 4033 background: linear-gradient( 4034 to bottom, 4035 var(--sd-pink), 4036 var(--sd-purple), 4037 var(--sd-cyan) 4038 ); 4039 4040 box-shadow: 4041 0 0 10px rgba(78,244,255,0.65), 4042 0 0 16px rgba(240,102,27,0.35); 4043 } 4044 4045 @keyframes streetPopupIn { 4046 from { 4047 opacity: 0; 4048 transform: translateY(18px) scale(0.96); 4049 } 4050 4051 to { 4052 opacity: 1; 4053 transform: translateY(0) scale(1); 4054 } 4055 } 4056 4057 /* ========================= 4058 IMAGE 4059 ========================= */ 4060 .popup-image { 4061 position: relative; 4062 z-index: 2; 4063 4064 display: block; 4065 width: 100%; 4066 height: auto; 4067 4068 border-bottom: 1px solid rgba(240,102,27,0.2); 4069 } 4070 4071 /* ========================= 4072 BUTTON WRAPPER 4073 ========================= */ 4074 .clk-btn-sgp { 4075 position: relative; 4076 z-index: 3; 4077 4078 width: 100%; 4079 display: grid; 4080 grid-template-columns: repeat(2, minmax(0, 1fr)); 4081 gap: 12px; 4082 4083 padding: 18px; 4084 font-family: "Segoe UI", Arial, sans-serif; 4085 } 4086 4087 .clk-btn-sgp a { 4088 position: relative; 4089 overflow: hidden; 4090 4091 display: flex; 4092 align-items: center; 4093 justify-content: center; 4094 4095 min-height: 50px; 4096 padding: 13px 12px; 4097 4098 color: var(--sd-white); 4099 text-align: center; 4100 text-decoration: none; 4101 text-transform: uppercase; 4102 4103 font-size: 13px; 4104 font-weight: 900; 4105 letter-spacing: 1.2px; 4106 4107 border-radius: 7px 15px 7px 15px; 4108 clip-path: polygon( 4109 var(--blade-cut) 0, 4110 100% 0, 4111 100% calc(100% - var(--blade-cut)), 4112 calc(100% - var(--blade-cut)) 100%, 4113 0 100%, 4114 0 var(--blade-cut) 4115 ); 4116 4117 transition: 4118 transform 0.22s ease, 4119 border-color 0.22s ease, 4120 box-shadow 0.22s ease, 4121 filter 0.22s ease; 4122 } 4123 4124 .clk-btn-sgp a::after { 4125 content: ""; 4126 position: absolute; 4127 inset: 0; 4128 pointer-events: none; 4129 4130 background: linear-gradient( 4131 110deg, 4132 transparent 25%, 4133 rgba(220,255,243,0.16) 48%, 4134 transparent 70% 4135 ); 4136 4137 transform: translateX(-140%); 4138 transition: transform 0.45s ease; 4139 } 4140 4141 .clk-btn-sgp a:hover::after { 4142 transform: translateX(140%); 4143 } 4144 4145 .clk-btn-sgp a:hover { 4146 transform: translateY(-3px); 4147 filter: brightness(1.12); 4148 } 4149 4150 /* ========================= 4151 LOGIN BUTTON 4152 ========================= */ 4153 .login { 4154 color: var(--sd-cyan) !important; 4155 4156 background: 4157 linear-gradient( 4158 145deg, 4159 rgba(240,102,27,0.08), 4160 rgba(242,113,44,0.14) 4161 ), 4162 #5d2506; 4163
4164 border: 1px solid rgba(240,102,27,0.65); 4165 4166 box-shadow: 4167 0 7px 16px rgba(5,29,20,0.42), 4168 inset 0 0 10px rgba(240,102,27,0.05); 4169 } 4170 4171 .login:hover { 4172 color: #dcfff3 !important; 4173 border-color: var(--sd-cyan); 4174 4175 box-shadow: 4176 0 10px 22px rgba(5,29,20,0.5), 4177 0 0 13px rgba(240,102,27,0.26); 4178 } 4179 4180 /* ========================= 4181 REGISTER BUTTON 4182 ========================= */ 4183 .register { 4184 color: #dcfff3 !important; 4185 4186 background: linear-gradient( 4187 135deg, 4188 var(--sd-purple), 4189 var(--sd-pink) 4190 ); 4191 4192 border: 1px solid rgba(220,255,243,0.38); 4193 4194 box-shadow: 4195 0 7px 16px rgba(5,29,20,0.42), 4196 0 0 10px rgba(78,244,255,0.18); 4197 } 4198 4199 .register:hover { 4200 color: #dcfff3 !important; 4201 4202 background: linear-gradient( 4203 135deg, 4204 var(--sd-pink), 4205 var(--sd-violet) 4206 ); 4207 4208 border-color: #dcfff3; 4209 4210 box-shadow: 4211 0 10px 22px rgba(5,29,20,0.5), 4212 0 0 14px rgba(78,244,255,0.32); 4213 } 4214 4215 .clk-btn-sgp a span { 4216 position: relative; 4217 z-index: 2; 4218 } 4219 4220 /* ========================= 4221 INFO TABLE 4222 ========================= */ 4223 .info-table { 4224 position: relative; 4225 z-index: 3; 4226 4227 width: calc(100% - 36px); 4228 margin: 2px auto 18px; 4229 4230 color: var(--sd-text); 4231 background: rgba(93,37,6,0.9); 4232 4233 border-collapse: separate; 4234 border-spacing: 0; 4235 overflow: hidden; 4236 4237 border: 1px solid rgba(242,113,44,0.25); 4238 border-radius: 12px; 4239 4240 font-size: 13px; 4241 box-shadow: 0 8px 20px rgba(5,29,20,0.32); 4242 } 4243 4244 .info-table th { 4245 padding: 13px 10px; 4246 4247 color: #dcfff3; 4248 background: linear-gradient( 4249 135deg, 4250 var(--sd-purple), 4251 var(--sd-pink) 4252 ); 4253 4254 border: 0; 4255 4256 font-size: 13px; 4257 font-weight: 900; 4258 letter-spacing: 0.8px; 4259 text-transform: uppercase; 4260 4261 text-shadow: 1px 1px 0 rgba(5,29,20,0.35); 4262 } 4263 4264 .info-table td { 4265 padding: 11px 12px; 4266 4267 color: var(--sd-text); 4268 text-align: left; 4269 4270 border-bottom: 1px solid rgba(240,102,27,0.1); 4271 } 4272 4273 .info-table tr:last-child td { 4274 border-bottom: none; 4275 } 4276 4277 .info-table tr:hover td { 4278 background: rgba(242,113,44,0.07); 4279 } 4280 4281 /* ========================= 4282 FOOTER 4283 ========================= */ 4284 .popup-footer { 4285 position: relative; 4286 z-index: 3; 4287 4288 padding: 4px 20px 8px; 4289 4290 color: #f59663; 4291 font-size: 12px; 4292 line-height: 1.6; 4293 text-align: center; 4294 } 4295 4296 /* ========================= 4297 DECORATIVE BORDER 4298 ========================= */ 4299 .luxury-border { 4300 position: absolute; 4301 inset: 9px; 4302 z-index: 4; 4303 pointer-events: none; 4304 4305 border: 1px solid rgba(240,102,27,0.08); 4306 border-radius: 7px 20px 7px 20px; 4307 } 4308 4309 /* ========================= 4310 PARTICLE 4311 ========================= */ 4312 .gold-particle { 4313 display: none; 4314 } 4315 4316 /* ========================= 4317 CLOSE BUTTON 4318 ========================= */ 4319 .close-btn { 4320 position: absolute; 4321 top: 12px; 4322 right: 12px; 4323 z-index: 10; 4324 4325 width: 34px; 4326 height: 34px; 4327 4328 display: flex; 4329 align-items: center; 4330 justify-content: center; 4331 4332 cursor: pointer; 4333 4334 background: rgba(93,37,6,0.82); 4335 border: 1px solid rgba(78,244,255,0.58); 4336 border-radius: 9px 4px 9px 4px; 4337 4338 box-shadow: 4339 0 0 10px rgba(78,244,255,0.18); 4340 4341 transition: 4342 transform 0.22s ease, 4343 background 0.22s ease, 4344 border-color 0.22s ease; 4345 } 4346 4347 .close-btn:hover { 4348 transform: rotate(90deg); 4349 background: var(--sd-pink); 4350 border-color: #dcfff3; 4351 } 4352 4353 .close-btn::before, 4354 .close-btn::after { 4355 content: ""; 4356 position: absolute; 4357 4358 width: 16px; 4359 height: 2px; 4360 4361 background: #dcfff3; 4362 border-radius: 3px; 4363 } 4364 4365 .close-btn::before { 4366 transform: rotate(45deg); 4367 } 4368 4369 .close-btn::after { 4370 transform: rotate(-45deg); 4371 } 4372 4373 /* ========================= 4374 RESPONSIVE 4375 ========================= */ 4376 @media (max-width: 480px) { 4377 .popup-overlay { 4378 padding: 12px; 4379 } 4380 4381 .popup-container { 4382 max-width: 355px; 4383 border-radius: 8px 20px 8px 20px; 4384 } 4385 4386 .clk-btn-sgp { 4387 grid-template-columns: 1fr; 4388 gap: 10px; 4389 padding: 14px; 4390 } 4391 4392 .clk-btn-sgp a { 4393 min-height: 47px; 4394 padding: 12px; 4395 font-size: 12px; 4396 } 4397 4398 .info-table { 4399 width: calc(100% - 28px); 4400 font-size: 12px; 4401 } 4402 4403 .info-table th,
4404 .info-table td { 4405 padding: 10px; 4406 } 4407 4408 .popup-footer { 4409 padding-right: 16px; 4410 padding-left: 16px; 4411 font-size: 11px; 4412 } 4413 4414 .close-btn { 4415 width: 30px; 4416 height: 30px; 4417 } 4418 } 4419 4420 @media (prefers-reduced-motion: reduce) { 4421 .popup-container, 4422 .clk-btn-sgp a, 4423 .close-btn { 4424 animation: none; 4425 transition: none; 4426 } 4427 } 4428</style> 4429 <div class="popup-overlay" id="popupOverlay"> 4430 <div class="popup-container"> 4431 <!-- Tombol Close --> 4432 <div class="close-btn" onclick="closePopup()"></div> 4433 <!-- Partikel emas untuk efek elegan --> 4434 <div class="gold-particle" style="width: 10px; height: 10px; top: 15%; left: 12%; animation-delay: 0s;"></div> 4435 <div class="gold-particle" style="width: 8px; height: 8px; top: 35%; left: 88%; animation-delay: 1.5s;"></div> 4436 <div class="gold-particle" style="width: 12px; height: 12px; top: 65%; left: 18%; animation-delay: 3s;"></div> 4437 <div class="gold-particle" style="width: 6px; height: 6px; top: 25%; left: 75%; animation-delay: 4.5s;"></div> 4438 <div class="gold-particle" style="width: 9px; height: 9px; top: 80%; left: 60%; animation-delay: 6s;"></div> 4439 <!-- Border mewah --> 4440 <div class="luxury-border"></div> 4441 <div class="Popup Banner"> 4442 <img src="https://uploademosi.com/img/delora-iriy-tariantoto.webp" alt="Popup Banner" class="popup-image" /> 4443 <div class="clk-btn-sgp" style="font-size: 20px;"> 4444 <a href="https://tarian.penjagasuper.com/" target="_blank" rel="nofollow noreferrer" 4445 class="login">Informasi Togel</a> 4446 <a href="https://tarian.penjagasuper.com/" target="_blank" rel="nofollow noreferrer" 4447 class="register">Informasi Togel</a> 4448 </div> 4449 <div class="popup-footer"> 4450 TARIANTOTO $ Ada Apa dengan Situs Togel Online yang Satu Ini?<br/> 4451 <span style="color: #00f0a8; font-weight: 600; text-shadow: 0 0 5px rgba(0,249,174,0.5);">© COPYRIGHT 2026 TARIANTOTO ð Seo ABSOLUTE</span> 4452 </div> 4453 </div> 4454 </div> 4455 </div> 4456
4456<script> 4457 function closePopup() { 4458 const popupOverlay = document.getElementById('popupOverlay'); 4459 popupOverlay.style.opacity = '0'; 4460 popupOverlay.style.transition = 'opacity 0.3s ease'; 4461 4462 setTimeout(() => { 4463 popupOverlay.style.display = 'none'; 4464 }, 300); 4465 } 4466 4467 // Menutup popup ketika mengklik area di luar popup 4468 document.getElementById('popupOverlay').addEventListener('click', function(event) { 4469 if (event.target === this) { 4470 closePopup(); 4471 } 4472 }); 4473 </script>
4473 4474 <style nonce="se3iyzEHMc9FQEB4wSyd0w=="> 4475 /* Chat Widget Styles - Lightweight & Minimal */ 4476 .chat-widget { 4477 position: fixed; 4478 bottom: 20px; 4479 right: 20px; 4480 z-index: 9999; 4481 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; 4482 } 4483 4484 /* Hide floating button on mobile - use bottom nav instead */ 4485 @media (max-width: 640px) { 4486 .chat-toggle-btn { 4487 display: none !important; 4488 } 4489 4490 /* Ensure popup is still visible on mobile even when button is hidden */ 4491 .chat-widget { 4492 display: block !important; 4493 } 4494 4495 .chat-popup { 4496 display: none; /* Hidden by default, shown via JS */ 4497 } 4498 4499 .chat-popup[style*="display: block"], 4500 .chat-popup[style*="display:block"] { 4501 display: block !important; 4502 } 4503 } 4504 4505 .chat-toggle-btn { 4506 width: 60px; 4507 height: 60px; 4508 border-radius: 50%; 4509 background: linear-gradient(135deg, #2cf2ff 0%, #0ef0ff 100%); 4510 border: none; 4511 color: #dcfff3; 4512 cursor: pointer; 4513 box-shadow: 0 4px 12px rgba(44,242,255,0.3); 4514 position: relative; 4515 transition: transform 0.2s, box-shadow 0.2s; 4516 } 4517 4518 .chat-toggle-btn:hover { 4519 transform: scale(1.05); 4520 box-shadow: 0 6px 20px rgba(44,242,255,0.4); 4521 } 4522 4523 #chat-toggle-btn .chat-icon { 4524 position: absolute; 4525 top: 50%; 4526 left: 50%; 4527 transform: translate(-50%, -50%); 4528 width: 28px !important; 4529 height: 28px !important; 4530 } 4531 4532 .chat-unread-badge { 4533 position: absolute; 4534 top: -5px; 4535 right: -5px; 4536 background: #48f4ff; 4537 color: #dcfff3; 4538 border-radius: 12px; 4539 padding: 2px 6px; 4540 font-size: 11px; 4541 font-weight: 600; 4542 min-width: 20px; 4543 text-align: center; 4544 } 4545 4546 .chat-popup { 4547 position: absolute; 4548 bottom: 80px; 4549 right: 0; 4550 width: 380px; 4551 max-width: calc(100vw - 40px); 4552 height: 500px; 4553 max-height: calc(100vh - 120px); 4554 background: #dcfff3; 4555 border-radius: 12px; 4556 box-shadow: 0 10px 40px rgba(5,29,20,0.2); 4557 display: flex; 4558 flex-direction: column; 4559 overflow: hidden; 4560 } 4561 4562 .chat-popup-header { 4563 background: linear-gradient(135deg, #2cf2ff 0%, #0ef0ff 100%); 4564 color: #dcfff3; 4565 padding: 16px 20px; 4566 display: flex; 4567 justify-content: space-between; 4568 align-items: center; 4569 flex-shrink: 0; 4570 } 4571 4572 .chat-header-title { 4573 display: flex; 4574 flex-direction: column; 4575 gap: 2px; 4576 min-height: 0; 4577 } 4578 4579 .chat-popup-header h3 { 4580 margin: 0; 4581 font-size: 18px; 4582 font-weight: 600; 4583 line-height: 1.2; 4584 } 4585 4586 .chat-operating-hours { 4587 font-size: 11px; 4588 opacity: 0.9; 4589 font-weight: 400; 4590 display: flex; 4591 align-items: center; 4592 gap: 4px; 4593 line-height: 1.2; 4594 } 4595 4596 .chat-operating-hours svg { 4597 width: 12px; 4598 height: 12px; 4599 opacity: 0.8; 4600 flex-shrink: 0; 4601 } 4602 4603 .chat-header-actions { 4604 display: flex; 4605 align-items: center; 4606 gap: 8px; 4607 } 4608 4609 /* Notification Toggle Button */ 4610 .btn-notif-toggle { 4611 background: none; 4612 border: none; 4613 color: #dcfff3; 4614 font-size: 18px; 4615 cursor: pointer; 4616 padding: 4px 8px; 4617 transition: all 0.2s; 4618 opacity: 0.8; 4619 } 4620 4621 .btn-notif-toggle:hover { 4622 opacity: 1; 4623 transform: scale(1.1); 4624 } 4625 4626 /* Icon states */ 4627 .btn-notif-toggle[data-status="not-subscribed"] svg { 4628 opacity: 0.7; 4629 } 4630 4631 .btn-notif-toggle[data-status="not-subscribed"]:hover svg { 4632 opacity: 1; 4633 } 4634 4635 .btn-notif-toggle[data-status="subscribed"] svg { 4636 opacity: 1; 4637 animation: bellRing 2s ease-in-out; 4638 } 4639 4640 .btn-notif-toggle[data-status="blocked"] svg { 4641 color: #70f6ff; 4642 } 4643 4644 .btn-notif-toggle[data-status="not-supported"] { 4645 display: none !important; 4646 } 4647 4648 @keyframes bellRing { 4649 0%, 100% { transform: rotate(0deg); } 4650 10%, 30% { transform: rotate(-10deg); } 4651 20%, 40% { transform: rotate(10deg); } 4652 } 4653 4654 /* Notification Info Bar */ 4655 .chat-notif-info-bar { 4656 position: absolute; 4657 top: 64px; 4658 left: 0; 4659 right: 0; 4660 background: linear-gradient(to right, #8bffdc, #dcfff3); 4661 border-bottom: 1px solid #75ffd6; 4662 padding: 8px 12px; 4663 display: flex; 4664 align-items: center; 4665 gap: 8px; 4666 font-size: 12px; 4667 color: #177a54; 4668 z-index: 10; 4669 animation: slideDown 0.3s ease; 4670 } 4671 4672 .chat-notif-info-bar svg { 4673 flex-shrink: 0; 4674 } 4675 4676 .chat-notif-info-bar .small { 4677 flex: 1; 4678 line-height: 1.4; 4679 } 4680 4681 .chat-notif-info-bar .btn-dismiss { 4682 background: none; 4683 border: none; 4684 color: #6effcc; 4685 cursor: pointer; 4686 padding: 0 4px; 4687 font-size: 16px; 4688 transition: color 0.2s; 4689 } 4690 4691 .chat-notif-info-bar .btn-dismiss:hover { 4692 color: #177a54; 4693 } 4694 4695 @keyframes slideDown { 4696 from { 4697 max-height: 0; 4698 opacity: 0; 4699 } 4700 to { 4701 max-height: 50px; 4702 opacity: 1; 4703 } 4704 } 4705 4706 .chat-close-btn { 4707 background: none; 4708 border: none; 4709 color: #dcfff3; 4710 font-size: 28px; 4711 line-height: 1; 4712 cursor: pointer; 4713 padding: 0; 4714 width: 30px; 4715 height: 30px; 4716 } 4717 4718 .chat-popup-body { 4719 flex: 1 1 auto; 4720 display: flex; 4721 flex-direction: column; 4722 min-height: 0; 4723 overflow: hidden; 4724 height: calc(100% - 64px); 4725 position: relative; 4726 transition: padding-top 0.3s ease; 4727 } 4728 4729 /* Add padding when info bar is visible */ 4730 .chat-popup-body.has-info-bar { 4731 padding-top: 40px; 4732 } 4733 4734 .chat-view { 4735 flex: 1 1 auto; 4736 display: none; 4737 flex-direction: column; 4738 min-height: 0; 4739 overflow: hidden; 4740 } 4741 4742 #chat-list-view { 4743 display: flex; 4744 } 4745 4746 #chat-messages-view { 4747 display: none; 4748 } 4749 4750 #chat-messages-view.active { 4751 display: flex; 4752 flex-direction: column; 4753 } 4754 4755 #chat-new-view { 4756 display: none; 4757 } 4758 4759 #chat-new-view.active { 4760 display: flex; 4761 } 4762 4763 .chat-conversations-list { 4764 flex: 1; 4765 overflow-y: auto; 4766 padding: 0; 4767 background: #dcfff3; 4768 } 4769 4770 /* Custom Scrollbar for Conversations List */ 4771 .chat-conversations-list::-webkit-scrollbar {
4772 width: 6px; 4773 } 4774 4775 .chat-conversations-list::-webkit-scrollbar-track { 4776 background: #dcfff3; 4777 } 4778 4779 .chat-conversations-list::-webkit-scrollbar-thumb { 4780 background: #2cf2ff; 4781 border-radius: 3px; 4782 } 4783 4784 .chat-conversations-list::-webkit-scrollbar-thumb:hover { 4785 background: #0ef0ff; 4786 } 4787 4788 /* Firefox */ 4789 .chat-conversations-list { 4790 scrollbar-width: thin; 4791 scrollbar-color: #2cf2ff #dcfff3; 4792 } 4793 4794 .chat-conversation-item { 4795 padding: 12px 16px; 4796 cursor: pointer; 4797 display: flex; 4798 gap: 12px; 4799 align-items: flex-start; 4800 transition: background 0.15s ease; 4801 color: #007653; 4802 border-bottom: 1px solid #dcfff3; 4803 } 4804 4805 .chat-conversation-item:hover { 4806 background: #dcfff3; 4807 } 4808 4809 .chat-conversation-item.active { 4810 background: #bdfbff; 4811 } 4812 4813 /* WhatsApp-like Avatar */ 4814 .conversation-avatar { 4815 width: 48px; 4816 height: 48px; 4817 border-radius: 50%; 4818 background: linear-gradient(135deg, #2cf2ff 0%, #0ef0ff 100%); 4819 flex-shrink: 0; 4820 display: flex; 4821 align-items: center; 4822 justify-content: center; 4823 color: #dcfff3; 4824 font-weight: 600; 4825 font-size: 18px; 4826 } 4827 4828 .conversation-avatar svg { 4829 width: 24px; 4830 height: 24px; 4831 } 4832 4833 /* WhatsApp-like Content */ 4834 .conversation-content { 4835 flex: 1; 4836 min-width: 0; 4837 display: flex; 4838 flex-direction: column; 4839 gap: 4px; 4840 } 4841 4842 .conversation-header { 4843 display: flex; 4844 justify-content: space-between; 4845 align-items: center; 4846 gap: 8px; 4847 } 4848 4849 .conversation-name { 4850 font-weight: 600; 4851 font-size: 15px; 4852 color: #051d14; 4853 white-space: nowrap; 4854 overflow: hidden; 4855 text-overflow: ellipsis; 4856 } 4857 4858 .conversation-time { 4859 font-size: 12px; 4860 color: #00df9c; 4861 flex-shrink: 0; 4862 } 4863 4864 .conversation-preview { 4865 display: flex; 4866 justify-content: space-between; 4867 align-items: center; 4868 gap: 8px; 4869 } 4870 4871 .conversation-message { 4872 font-size: 14px; 4873 color: #00df9c; 4874 white-space: nowrap; 4875 overflow: hidden; 4876 text-overflow: ellipsis; 4877 margin: 0; 4878 flex: 1; 4879 } 4880 4881 .conversation-unread { 4882 background: #1ef1ff; 4883 color: #dcfff3; 4884 border-radius: 12px; 4885 padding: 2px 8px; 4886 font-size: 12px; 4887 font-weight: 600; 4888 min-width: 20px; 4889 text-align: center; 4890 flex-shrink: 0; 4891 } 4892 4893 /* Active item styling */ 4894 .chat-conversation-item.active .conversation-name { 4895 color: #2cf2ff; 4896 } 4897 4898 .chat-conversation-item.active .conversation-time { 4899 color: #2cf2ff; 4900 } 4901 4902 .chat-new-btn { 4903 margin: 12px; 4904 padding: 12px; 4905 background: linear-gradient(135deg, #2cf2ff 0%, #0ef0ff 100%); 4906 color: #dcfff3; 4907 border: none; 4908 border-radius: 8px; 4909 cursor: pointer; 4910 font-weight: 500; 4911 font-size: 14px; 4912 display: flex; 4913 align-items: center; 4914 justify-content: center; 4915 gap: 8px; 4916 transition: all 0.2s; 4917 flex-shrink: 0; 4918 } 4919 4920 .chat-new-btn:hover { 4921 transform: translateY(-1px); 4922 box-shadow: 0 4px 8px rgba(44,242,255,0.3); 4923 } 4924 4925 .chat-conversation-title { 4926 flex: 1; 4927 font-weight: 600; 4928 font-size: 16px; 4929 color: #007653; 4930 } 4931 4932 .chat-messages-container { 4933 flex: 1; 4934 overflow-y: auto; 4935 padding: 16px; 4936 display: flex; 4937 flex-direction: column; 4938 gap: 8px; 4939 min-height: 0; 4940 background: #a9faff; 4941 } 4942 4943 /* Custom Scrollbar for Messages Container */ 4944 .chat-messages-container::-webkit-scrollbar {
4945 width: 6px; 4946 } 4947 4948 .chat-messages-container::-webkit-scrollbar-track { 4949 background: rgba(5,29,20,0.05); 4950 } 4951 4952 .chat-messages-container::-webkit-scrollbar-thumb { 4953 background: rgba(44,242,255,0.6); 4954 border-radius: 3px; 4955 } 4956 4957 .chat-messages-container::-webkit-scrollbar-thumb:hover { 4958 background: #2cf2ff; 4959 } 4960 4961 /* Firefox */ 4962 .chat-messages-container { 4963 scrollbar-width: thin; 4964 scrollbar-color: rgba(44,242,255,0.6) rgba(5,29,20,0.05); 4965 } 4966 4967 /* WhatsApp Group-like Messages */ 4968 .chat-message { 4969 display: flex; 4970 margin-bottom: 4px; 4971 animation: fadeIn 0.2s ease; 4972 } 4973 4974 @keyframes fadeIn { 4975 from { opacity: 0; transform: translateY(10px); } 4976 to { opacity: 1; transform: translateY(0); } 4977 } 4978 4979 .chat-message.mine { 4980 justify-content: flex-end; 4981 } 4982 4983 .chat-message-bubble { 4984 max-width: 80%; 4985 padding: 6px 8px 8px 10px; 4986 border-radius: 8px; 4987 position: relative; 4988 box-shadow: 0 1px 0.5px rgba(5,29,20,0.13); 4989 } 4990 4991 /* Bubble from others (Admin/CS) */ 4992 .chat-message:not(.mine) .chat-message-bubble { 4993 background: #dcfff3; 4994 border-radius: 0 8px 8px 8px; 4995 } 4996 4997 /* Bubble tail for others */ 4998 .chat-message:not(.mine) .chat-message-bubble::before { 4999 content: ''; 5000 position: absolute; 5001 top: 0; 5002 left: -8px; 5003 width: 0; 5004 height: 0; 5005 border-style: solid; 5006 border-width: 0 8px 13px 0; 5007 border-color: transparent #dcfff3 transparent transparent; 5008 } 5009 5010 /* Bubble from user (mine) */ 5011 .chat-message.mine .chat-message-bubble { 5012 background: #f8b794; /* Light blue for user messages */ 5013 border-radius: 8px 0 8px 8px; 5014 } 5015 5016 /* Bubble tail for mine */ 5017 .chat-message.mine .chat-message-bubble::before { 5018 content: ''; 5019 position: absolute; 5020 top: 0; 5021 right: -8px; 5022 width: 0; 5023 height: 0; 5024 border-style: solid; 5025 border-width: 0 0 13px 8px; 5026 border-color: transparent transparent transparent #7fffd9; 5027 } 5028 5029 .message-sender { 5030 font-size: 12.5px; 5031 font-weight: 600; 5032 color: #2cf2ff !important; 5033 margin-bottom: 4px; 5034 } 5035 5036 .chat-message.mine .message-sender { 5037 display: none; 5038 } 5039 5040 /* Message text */ 5041 .message-text { 5042 font-size: 14px; 5043 line-height: 19px; 5044 color: #051d14 !important; 5045 word-wrap: break-word; 5046 white-space: pre-wrap; 5047 margin-bottom: 4px; 5048 } 5049 5050 /* Message metadata (time + status) */ 5051 .message-meta { 5052 display: flex; 5053 align-items: center; 5054 justify-content: flex-end; 5055 gap: 4px; 5056 margin-top: 2px; 5057 } 5058 5059 .message-time { 5060 font-size: 11px; 5061 color: #de570e !important; 5062 line-height: 15px; 5063 } 5064 5065 /* Use multiple selectors to override global styles */ 5066 .chat-message-bubble .message-status, 5067 .message-meta .message-status, 5068 .chat-message .message-status { 5069 width: 16px !important; 5070 height: 16px !important; 5071 min-width: 16px !important; 5072 min-height: 16px !important; 5073 max-width: 16px !important; 5074 max-height: 16px !important; 5075 flex-shrink: 0; 5076 color: #de570e !important; 5077 fill: currentColor !important; 5078 } 5079 5080 .chat-message:not(.mine) .message-status { 5081 display: none; 5082 } 5083 5084 /* Loading dots animation */ 5085 @keyframes loadingDots { 5086 0%, 20% { content: '.'; } 5087 40% { content: '..'; } 5088 60%, 100% { content: '...'; } 5089 } 5090 5091 .message-status.loading::after { 5092 content: '...'; 5093 animation: loadingDots 1.5s infinite; 5094 font-size: 16px; 5095 line-height: 16px; 5096 } 5097 5098 .message-status.loading path { 5099 display: none; 5100 } 5101 5102 .message-status.failed { 5103 color: #48f4ff !important; 5104 cursor: pointer; 5105 } 5106 5107 .message-status.sent { 5108 color: #00df9c !important; 5109 } 5110 5111 .chat-new-form { 5112 flex: 1; 5113 overflow-y: auto; 5114 padding: 16px; 5115 display: flex; 5116 flex-direction: column; 5117 } 5118 5119 .chat-new-form form { 5120 display: flex; 5121 flex-direction: column; 5122 gap: 16px; 5123 flex: 1; 5124 } 5125 5126 .chat-new-form .form-group { 5127 display: flex; 5128 flex-direction: column; 5129 gap: 6px; 5130 } 5131 5132 .chat-new-form label { 5133 font-size: 14px; 5134 font-weight: 500; 5135 color: #009a6c; 5136 } 5137 5138 .chat-new-form .form-control { 5139 width: 100%; 5140 padding: 10px 12px; 5141 border: 1px solid #6dffd4; 5142 border-radius: 8px; 5143 font-size: 14px; 5144 font-family: inherit; 5145 transition: border-color 0.2s; 5146 box-sizing: border-box; 5147 } 5148 5149 .chat-new-form .form-control:focus { 5150 outline: none; 5151 border-color: #2cf2ff; 5152 box-shadow: 0 0 0 3px rgba(44,242,255,0.1); 5153 } 5154 5155 .chat-new-form textarea.form-control { 5156 resize: vertical; 5157 min-height: 100px; 5158 } 5159 5160 .chat-new-form .btn { 5161 padding: 12px 20px; 5162 border: none; 5163 border-radius: 8px; 5164 font-size: 15px; 5165 font-weight: 500; 5166 cursor: pointer; 5167 transition: all 0.2s; 5168 text-align: center; 5169 } 5170 5171 .chat-new-form .btn-primary { 5172 background: linear-gradient(135deg, #2cf2ff 0%, #0ef0ff 100%); 5173 color: #dcfff3; 5174 } 5175 5176 .chat-new-form .btn-primary:hover { 5177 transform: translateY(-1px); 5178 box-shadow: 0 4px 8px rgba(44,242,255,0.3); 5179 } 5180 5181 .chat-new-form .btn-primary:active { 5182 transform: scale(0.98); 5183 } 5184 5185 .chat-new-form .btn-block { 5186 width: 100%; 5187 margin-top: auto; 5188 } 5189 5190 .chat-message-form { 5191 padding: 12px; 5192 border-top: 1px solid #87ffdb; 5193 display: flex; 5194 flex-wrap: wrap; 5195 gap: 8px; 5196 align-items: flex-end; 5197 flex-shrink: 0; 5198 background: #dcfff3; 5199 } 5200 5201 .chat-product-card { 5202 flex: 1 1 100%; 5203 max-width: 100%; 5204 display: flex; 5205 gap: 12px; 5206 padding: 12px; 5207 background: #8bffdc; 5208 border-radius: 8px; 5209 margin-bottom: 4px; 5210 border: 1px solid #87ffdb; 5211 } 5212 5213 .chat-product-card img { 5214 width: 60px; 5215 height: 60px; 5216 object-fit: cover; 5217 border-radius: 6px; 5218 flex-shrink: 0; 5219 } 5220 5221 .chat-product-card-content { 5222 flex: 1; 5223 min-width: 0; 5224 } 5225 5226 .chat-product-card-name { 5227 font-weight: 500; 5228 font-size: 14px; 5229 color: #007653; 5230 margin-bottom: 4px; 5231 white-space: nowrap; 5232 overflow: hidden; 5233 text-overflow: ellipsis; 5234 } 5235 5236 .chat-product-card-variant { 5237 font-size: 12px; 5238 color: #1c9365; 5239 margin-bottom: 4px; 5240 } 5241 5242 .chat-product-card-price { 5243 font-size: 13px; 5244 color: #f38245; 5245 font-weight: 600; 5246 } 5247 5248 .chat-product-card-remove { 5249 align-self: flex-start; 5250 background: none; 5251 border: none; 5252 color: #28ffbf; 5253 cursor: pointer; 5254 padding: 4px; 5255 font-size: 18px; 5256 line-height: 1; 5257 transition: color 0.2s; 5258 } 5259 5260 .chat-product-card-remove:hover { 5261 color: #48f4ff; 5262 } 5263 5264 /* Product card in messages (read-only display) */ 5265 .message-product-card { 5266 display: flex; 5267 gap: 10px; 5268 padding: 10px; 5269 background: rgba(220,255,243,0.5); 5270 border-radius: 8px; 5271 margin-bottom: 6px; 5272 border: 1px solid rgba(5,29,20,0.08); 5273 align-items: center; 5274 } 5275 5276 .chat-message.mine .message-product-card { 5277 background: rgba(220,255,243,0.7); 5278 } 5279 5280 .message-product-card img { 5281 width: 50px; 5282 height: 50px; 5283 object-fit: cover; 5284 border-radius: 6px; 5285 flex-shrink: 0; 5286 } 5287 5288 .message-product-info { 5289 flex: 1; 5290 min-width: 0; 5291 } 5292 5293 .message-product-name { 5294 font-weight: 500; 5295 font-size: 13px; 5296 color: #007653; 5297 margin-bottom: 2px; 5298 overflow: hidden; 5299 text-overflow: ellipsis; 5300 display: -webkit-box; 5301 -webkit-line-clamp: 2; 5302 -webkit-box-orient: vertical; 5303 line-height: 1.3; 5304 } 5305 5306 .message-product-variant { 5307 font-size: 11px; 5308 color: #1c9365; 5309 margin-bottom: 2px; 5310 } 5311 5312 .message-product-price { 5313 font-size: 12px; 5314 color: #2bffc0; 5315 font-weight: 600; 5316 } 5317 5318 .message-product-link { 5319 flex-shrink: 0; 5320 width: 32px; 5321 height: 32px; 5322 display: flex; 5323 align-items: center; 5324 justify-content: center; 5325 background: rgba(43,255,192,0.1); 5326 border-radius: 6px; 5327 color: #2bffc0; 5328 text-decoration: none; 5329 transition: all 0.2s; 5330 } 5331 5332 .message-product-link:hover { 5333 background: #2bffc0; 5334 color: #dcfff3; 5335 } 5336 5337 .message-product-link svg { 5338 width: 16px; 5339 height: 16px; 5340 } 5341 5342 .chat-message-input { 5343 flex: 1; 5344 border: 1px solid #6dffd4; 5345 border-radius: 20px; 5346 padding: 10px 16px; 5347 resize: none; 5348 max-height: 100px; 5349 font-family: inherit; 5350 font-size: 14px; 5351 line-height: 1.5; 5352 box-sizing: border-box; 5353 overflow-y: hidden; 5354 } 5355 5356 .chat-message-input:focus { 5357 outline: none; 5358 border-color: #2cf2ff; 5359 box-shadow: 0 0 0 3px rgba(44,242,255,0.1); 5360 } 5361 5362 .chat-send-btn { 5363 width: 40px; 5364 height: 40px; 5365 border-radius: 50%; 5366 background: linear-gradient(135deg, #2cf2ff 0%, #0ef0ff 100%); 5367 border: none; 5368 color: #dcfff3; 5369 cursor: pointer; 5370 flex-shrink: 0; 5371 display: flex; 5372 align-items: center; 5373 justify-content: center; 5374 transition: all 0.2s; 5375 } 5376 5377 .chat-send-btn:hover { 5378 transform: scale(1.05); 5379 box-shadow: 0 2px 8px rgba(44,242,255,0.3); 5380 } 5381 5382 .chat-send-btn:active { 5383 transform: scale(0.95); 5384 } 5385 5386 .chat-loading { 5387 text-align: center; 5388 padding: 20px; 5389 color: #1c9365; 5390 } 5391 5392 /* Date Separator (WhatsApp-style) */ 5393 .date-separator { 5394 display: flex; 5395 align-items: center; 5396 gap: 12px; 5397 margin: 24px 0 16px; 5398 opacity: 0; 5399 animation: fadeInSeparator 0.3s ease forwards; 5400 } 5401 5402 @keyframes fadeInSeparator { 5403 from { 5404 opacity: 0; 5405 transform: translateY(-10px); 5406 } 5407 to { 5408 opacity: 1; 5409 transform: translateY(0); 5410 } 5411 } 5412 5413 .date-separator-line { 5414 flex: 1; 5415 height: 1px; 5416 background: linear-gradient(90deg, transparent, rgba(5,29,20,0.1) 50%, transparent); 5417 } 5418 5419 .date-separator-text { 5420 flex-shrink: 0; 5421 padding: 4px 12px; 5422 background: #8bffdc; 5423 color: #1b9264; 5424 font-size: 11px; 5425 font-weight: 600; 5426 text-transform: uppercase; 5427 letter-spacing: 0.5px; 5428 border-radius: 12px; 5429 box-shadow: 0 1px 2px rgba(5,29,20,0.05); 5430 } 5431 5432 /* Mobile responsive */ 5433 @media (max-width: 640px) { 5434 .chat-popup { 5435 position: fixed !important; /* Override ab
5435solute positioning */ 5436 bottom: 45px !important; /* Above bottom nav */ 5437 right: 0 !important; 5438 left: 0 !important; 5439 width: 100% !important; 5440 max-width: 100% !important; 5441 /* Use dvh (dynamic viewport height) for browser UI awareness */ 5442 height: calc(100dvh - 45px) !important; 5443 max-height: calc(100dvh - 45px) !important; 5444 /* Fallback for browsers that don't support dvh */ 5445 height: calc(var(--viewport-height, 100vh) - 45px) !important; 5446 max-height: calc(var(--viewport-height, 100vh) - 45px) !important; 5447 border-radius: 0 !important; 5448 z-index: 9999 !important; 5449 } 5450 5451 .chat-popup-header { 5452 border-radius: 0; 5453 } 5454 5455 .chat-messages-container, 5456 .chat-conversations-list { 5457 /* Adjust for mobile keyboard using dynamic viewport */ 5458 max-height: calc(100dvh - 190px); 5459 /* Fallback for browsers that don't support dvh */ 5460 max-height: calc(var(--viewport-height, 100vh) - 190px); 5461 } 5462 } 5463 </style> 5464 5465 <!-- Chat Widget Button --> 5466 <div id="chat-widget" class="chat-widget" 5467 data-user-id="" 5468 data-is-logged-in="false" 5469 data-csrf-token="df5d776748b1ed8c8dd0d987bae99b1ee3dea6c6dcbe0eedb1bea766c56d569a"> 5470 <button id="chat-toggle-btn" class="chat-toggle-btn" aria-label="Toggle chat"> 5471 <svg class="chat-icon" width="28" height="28" viewBox="0 0 640 640" fill="currentColor"> 5472 <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"/> 5473 </svg> 5474 <span id="chat-unread-badge" class="chat-unread-badge" style="display: none;">0</span> 5475 </button> 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"/> 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"/> 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">Halo, 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 5555 id="chat-message-input" 5556 class="chat-message-input" 5557 placeholder="Ketik pesan..." 5558 rows="1" 5559 maxlength="5000" 5560 ></textarea> 5561 <button type="submit" class="chat-send-btn" aria-label="Send message"> 5562 <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 5563 <line x1="22" y1="2" x2="11" y2="
556313"></line> 5564 <polygon points="22 2 15 22 11 13 2 9 22 2"></polygon> 5565 </svg> 5566 </button> 5567 </form> 5568 </div> 5569 5570 <!-- New Chat View --> 5571 <div id="chat-new-view" class="chat-view" style="display: none;"> 5572 <div class="chat-messages-header"> 5573 <button id="chat-new-back-btn" class="chat-back-btn" aria-label="Back to list"> 5574 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 5575 <path d="M19 12H5M12 19l-7-7 7-7"/> 5576 </svg> 5577 </button> 5578 <div class="chat-conversation-title">Percakapan Baru</div> 5579 </div> 5580 5581 <div class="chat-new-form"> 5582 <form id="chat-start-form"> 5583 <div class="form-group"> 5584 <label for="chat-new-subject">Subjek</label> 5585 <input 5586 type="text" 5587 id="chat-new-subject" 5588 class="form-control" 5589 placeholder="Bantuan Pelanggan" 5590 maxlength="255" 5591 > 5592 </div> 5593 <div class="form-group"> 5594 <label for="chat-new-message">Pesan</label> 5595 <textarea 5596 id="chat-new-message" 5597 class="form-control" 5598 rows="4" 5599 placeholder="Tulis pertanyaan Anda..." 5600 required 5601 maxlength="5000" 5602 ></textarea> 5603 </div> 5604 <button type="submit" class="btn btn-primary btn-block">Kirim</button> 5605 </form> 5606 </div> 5607 </div> 5608 </div> 5609 </div> 5610 </div> 5611 5612 <!-- Login Required Modal --> 5613 <div class="modal-overlay" id="chatLoginModal"> 5614 <div class="modal-dialog"> 5615 <div class="modal-header"> 5616 <h3 class="modal-title"> 5617 <div class="modal-icon info"> 5618 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 5619 <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"/> 5620 </svg> 5621 </div> 5622 Login Diperlukan 5623 </h3> 5624 </div> 5625 <div class="modal-body"> 5626 <p class="modal-message">Informasi Togel</p> 5627 <div class="modal-actions"> 5628 <button class="modal-btn modal-btn-secondary" id="chatLoginCancel">Batal</button> 5629 <button class="modal-btn modal-btn-primary" id="chatLoginConfirm">Login Sekarang</button> 5630 </div> 5631 </div> 5632 </div> 5633 </div> 5634 5635 <!-- Footer Collapse Toggle Script --> 5636
5636<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 5637 document.addEventListener('DOMContentLoaded', function() { 5638 const ftTop = document.getElementById('ftTop'); 5639 const expandBtn = document.getElementById('ftExpandBtn'); 5640 5641 if (ftTop && expandBtn) { 5642 const expandText = expandBtn.querySelector('.expand-text'); 5643 5644 expandBtn.addEventListener('click', function() { 5645 ftTop.classList.toggle('expanded'); 5646 const isExpanded = ftTop.classList.contains('expanded'); 5647 if (expandText) { 5648 expandText.textContent = isExpanded ? 'Sembunyikan' : 'Selengkapnya'; 5649 } 5650 }); 5651 } 5652 }); 5653 </script>
5653 5654 </footer> 5655 5656 <!-- Compare Sidebar Overlay --> 5657 <div class="compare-overlay" id="compareOverlay"></div> 5658 5659 <!-- Floating Compare Badge (Sticky) --> 5660 <button class="compare-floating-badge" id="compareFloatingBadge" aria-label="Lihat produk yang dibandingkan" style="display:none;"> 5661 <svg class="cfb-icon" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"> 5662 <path d="M9.01 14H2v2h7.01v3L13 15l-3.99-4v3zm5.98-1v-3H22V8h-7.01V5L11 9l3.99 4z"/> 5663 </svg> 5664 <span class="cfb-text">Bandingkan</span> 5665 <span class="cfb-count" id="cfbCount">0</span> 5666 </button> 5667 5668 <!-- AI Comparison Modal --> 5669 <div class="ai-compare-modal" id="aiCompareModal"> 5670 <div class="modal-backdrop"></div> 5671 <div class="modal-container"> 5672 <div class="modal-header"> 5673 <h3 class="modal-title"> 5674 <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"> 5675 <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"/> 5676 </svg> 5677 Analisis AI: Perbandingan Produk 5678 </h3> 5679 <button class="modal-close" id="aiCompareModalClose" aria-label="Tutup"> 5680 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 5681 <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"/> 5682 </svg> 5683 </button> 5684 </div> 5685 5686 <div class="modal-content"> 5687 <!-- Loading State --> 5688 <div class="ai-loading" id="aiLoading"> 5689 <div class="loading-animation"> 5690 <div class="typing-indicator"> 5691 <span></span> 5692 <span></span> 5693 <span></span> 5694 </div> 5695 <p>AI sedang menganalisis produk...</p> 5696 <small>Proses ini membutuMCan waktu 10-30 detik</small> 5697 </div> 5698 </div> 5699 5700 <!-- Error State --> 5701 <div class="ai-error" id="aiError" hidden> 5702 <div class="error-icon"> 5703 <svg width="48" height="48" viewBox="0 0 24 24" fill="#ef4444"> 5704 <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"/> 5705 </svg> 5706 </div> 5707 <h4>Analisis AI Gagal</h4> 5708 <p id="aiErrorMessage">Terjadi kesalahan saat memproses analisis.</p> 5709 <button class="btn btn-outline-primary" id="aiRetry">Coba Lagi</button> 5710 </div> 5711 5712 <!-- Analysis Results --> 5713 <div class="ai-results" id="aiResults" hidden> 5714 <!-- Summary Section --> 5715 <div class="ai-summary-card"> 5716 <h4> 5717 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 5718 <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"/> 5719 </svg> 5720 Ringkasan Analisis 5721 </h4> 5722 <p id="aiSummary" class="summary-text"></p> 5723 <div class="winner-badge" id="winnerBadge"> 5724 <strong>Rekomendasi Terbaik:</strong> <span id="winnerProduct"></span> 5725 <small id="winnerReason"></small> 5726 </div> 5727 </div> 5728 5729 <!-- Comparison Table --> 5730 <div class="ai-comparison-table"> 5731 <h4> 5732 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 5733 <path d="M3,3H21V5H3V3M3,7H21V9H3V7M3,11H21V13H3V11M3,15H21V17H3V15M3,19H21V21H3V19Z"/> 5734 </svg> 5735 Perbandingan Detail 5736 </h4> 5737 <div id="comparisonTable" class="comparison-grid"></div> 5738 </div> 5739 5740 <!-- Detailed Analysis --> 5741 <div class="ai-detailed-analysis"> 5742 <h4> 5743 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 5744 <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"/> 5745 </svg> 5746 Analisis Mendalam 5747 </h4> 5748 <div id="detailedAnalysis" class="products-analysis"></div> 5749 </div> 5750 5751 <!-- Recommendations --> 5752 <div class="ai-recommendations"> 5753 <h4> 5754 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 5755 <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"/> 5756 </svg> 5757 Rekomendasi Berdasarkan Kebutuhan 5758 </h4> 5759 <div class="recommendations-grid"> 5760 <div class="recommendation-card"> 5761 <h5>ð° Budget Conscious</h5> 5762 <p id="budgetRecommendation"></p> 5763 </div> 5764 <div class="recommendation-card"> 5765 <h5>â¡ Performance Focused</h5> 5766 <p id="performanceRecommendation"></p> 5767 </div> 5768 <div class="recommendation-card"> 5769 <h5>âï¸ Balanced Choice</h5> 5770 <p id="balancedRecommendation"></p> 5771 </div> 5772 </div> 5773 </div> 5774 5775 <!-- Buying Tips --> 5776 <div class="ai-tips"> 5777 <h4> 5778 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 5779 <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
5779M5,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"/> 5780 </svg> 5781 Tips Pembelian 5782 </h4> 5783 <ul id="buyingTips" class="tips-list"></ul> 5784 </div> 5785 </div> 5786 </div> 5787 </div> 5788 </div> 5789 5790 <!-- Cart Login Modal --> 5791 <div class="modal-overlay" id="cartLoginModal"> 5792 <div class="modal-dialog"> 5793 <div class="modal-header"> 5794 <h3 class="modal-title"> 5795 <div class="modal-icon info"> 5796 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 5797 <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"/> 5798 </svg> 5799 </div> 5800 Login untuk Melanjutkan 5801 </h3> 5802 </div> 5803 <div class="modal-body"> 5804 <p class="modal-message" style="margin-bottom: 16px;">Informasi Togel</p> 5805 <div style="background: #8bffdc; border-radius: 8px; padding: 12px; margin-bottom: 20px;"> 5806 <p style="font-size: 14px; color: #00b780; margin: 0; line-height: 1.6;"> 5807 <strong style="color: #006144;">TARIANTOTO juga memberikan</strong><br> 5808 ruang bagi pembahasan terkait variasi<br> 5809 pasaran dan perbedaan istilah yang sering<br> 5810 muncul dalam komunitas togel, membantu mengurangi<br> 5811 kebingungan bagi pembaca yang menemukan istilah baru. 5812 </p> 5813 </div> 5814 <div class="modal-actions"> 5815 <button class="modal-btn modal-btn-secondary" id="cartLoginCancel">Batal</button> 5816 <button class="modal-btn modal-btn-primary" id="cartLoginConfirm" style="background: #49f4ff; border-color: #49f4ff;">Login</button> 5817 <button class="modal-btn modal-btn-primary" id="cartRegisterBtn" style="background: #33f3ff; border-color: #33f3ff;">Daftar</button> 5818 </div> 5819 </div> 5820 </div> 5821 </div> 5822 5823 5824 5825<style> 5826 :root { 5827 --tariantoto-black: #5d2506; 5828 --tariantoto-dark: #5d2506; 5829 --tariantoto-purple: #1ef1ff; 5830 --tariantoto-pink: #1ef1ff; 5831 --tariantoto-cyan: #1ef1ff; 5832 --tariantoto-white: #dcfff3; 5833 } 5834 5835 /* ========================================================= 5836 FIXED FOOTER â STREET DEMONS MODE 5837 ========================================================= */ 5838 5839 .tariantoto-fixed-footer { 5840 position: fixed; 5841 left: 0; 5842 right: 0; 5843 bottom: 0; 5844 z-index: 999; 5845 5846 display: flex; 5847 align-items: center; 5848 justify-content: space-around; 5849 gap: 8px; 5850 5851 padding: 11px 12px calc(11px + env(safe-area-inset-bottom)); 5852 overflow: hidden; 5853 5854 background: 5855 radial-gradient( 5856 circle at 50% 0%, 5857 rgba(242,113,44,0.24), 5858 rgba(93,37,6,0.96) 58%, 5859 #5d2506 5860 ), 5861 linear-gradient( 5862 180deg, 5863 rgba(107,42,7,0.95), 5864 #5d2506 5865 ); 5866 5867 border-top: 2px solid rgba(35,242,255,0.6); 5868 border-radius: 18px 18px 0 0; 5869 5870 box-shadow: 5871 0 -12px 35px rgba(242,113,44,0.22), 5872 0 -4px 18px rgba(78,244,255,0.12), 5873 inset 0 1px 0 rgba(220,255,243,0.08); 5874 5875 font-family: "Orbitron", "Poppins", Arial, sans-serif; 5876 } 5877 5878 /* Scanline ringan */ 5879 .tariantoto-fixed-footer::before { 5880 content: ""; 5881 position: absolute; 5882 inset: 0; 5883 pointer-events: none; 5884 5885 background: repeating-linear-gradient( 5886 0deg, 5887 rgba(240,102,27,0.025), 5888 rgba(240,102,27,0.025) 1px, 5889 transparent 1px, 5890 transparent 4px 5891 ); 5892 5893 opacity: 0.75; 5894 mix-blend-mode: screen; 5895 } 5896 5897 /* Sweep neon */ 5898 .tariantoto-fixed-footer::after { 5899 content: ""; 5900 position: absolute; 5901 top: 0; 5902 left: -160%; 5903 5904 width: 60%; 5905 height: 100%; 5906 5907 background: linear-gradient( 5908 120deg, 5909 transparent, 5910 rgba(35,242,255,0.22), 5911 rgba(240,102,27,0.3), 5912 transparent 5913 ); 5914 5915 transform: skewX(-25deg); 5916 animation: tariantotoShine 4.5s infinite ease-in-out; 5917 pointer-events: none; 5918 } 5919 5920 @keyframes tariantotoShine { 5921 0% { 5922 left: -160%; 5923 opacity: 0; 5924 } 5925 5926 15% { 5927 opacity: 1; 5928 } 5929 5930 55% { 5931 left: 160%; 5932 opacity: 1; 5933 } 5934 5935 100% { 5936 left: 160%; 5937 opacity: 0; 5938 } 5939 } 5940 5941 /* ========================================================= 5942 ITEM STYLE 5943 ========================================================= */ 5944 5945 .tariantoto-fixed-footer a { 5946 flex: 1; 5947 max-width: 110px; 5948 5949 display: flex; 5950 flex-direction: column; 5951 align-items: center; 5952 justify-content: center; 5953 gap: 5px; 5954 5955 padding: 8px 4px; 5956 5957 color: rgba(220,255,243,0.9); 5958 text-decoration: none; 5959 text-align: center; 5960 text-transform: uppercase; 5961 5962 font-size: 11px; 5963 font-weight: 800; 5964 letter-spacing: 0.4px; 5965 5966 position: relative; 5967 z-index: 2; 5968 5969 transition: 5970 color 0.2s ease, 5971 transform 0.2s ease, 5972 filter 0.2s ease; 5973 } 5974 5975 .tariantoto-fixed-footer a:hover { 5976 color: var(--tariantoto-white); 5977 transform: translateY(-2px); 5978 5979 filter: 5980 drop-shadow(0 0 6px rgba(31,241,255,0.65)) 5981 drop-shadow(0 0 8px rgba(78,244,255,0.35)); 5982 } 5983 5984 .tariantoto-fixed-footer img { 5985 width: 24px; 5986 height: 24px; 5987 object-fit: contain; 5988 5989 filter:
5990 drop-shadow(0 0 5px rgba(240,102,27,0.55)) 5991 drop-shadow(0 0 7px rgba(242,113,44,0.35)); 5992 5993 transition: transform 0.2s ease; 5994 } 5995 5996 .tariantoto-fixed-footer a:hover img { 5997 transform: scale(1.08); 5998 } 5999 6000 /* ========================================================= 6001 CENTER CTA â STREET CORE 6002 ========================================================= */ 6003 6004 .tariantoto-fixed-footer .core-cta { 6005 background: 6006 linear-gradient( 6007 145deg, 6008 rgba(242,113,44,0.2), 6009 rgba(78,244,255,0.12) 6010 ); 6011 6012 border: 1px solid rgba(28,241,255,0.65); 6013 border-radius: 10px 18px 10px 18px; 6014 6015 box-shadow: 6016 0 0 14px rgba(242,113,44,0.28), 6017 0 0 18px rgba(240,102,27,0.1), 6018 inset 0 0 10px rgba(78,244,255,0.1); 6019 6020 transform: scale(1.05); 6021 } 6022 6023 .tariantoto-fixed-footer .core-cta img { 6024 width: 28px; 6025 height: 28px; 6026 6027 filter: 6028 drop-shadow(0 0 8px rgba(29,241,255,0.8)) 6029 drop-shadow(0 0 11px rgba(78,244,255,0.55)); 6030 } 6031 6032 .tariantoto-fixed-footer .core-cta::before { 6033 content: ""; 6034 position: absolute; 6035 inset: -5px; 6036 z-index: -1; 6037 6038 border-radius: 13px 21px 13px 21px; 6039 6040 background: radial-gradient( 6041 circle, 6042 rgba(242,113,44,0.28), 6043 rgba(78,244,255,0.1), 6044 transparent 72% 6045 ); 6046 6047 animation: tariantotoPulse 2.2s ease-in-out infinite; 6048 } 6049 6050 @keyframes tariantotoPulse { 6051 0%, 6052 100% { 6053 opacity: 0.35; 6054 transform: scale(1); 6055 } 6056 6057 50% { 6058 opacity: 0.8; 6059 transform: scale(1.08); 6060 } 6061 } 6062 6063 /* ========================================================= 6064 RESPONSIVE 6065 ========================================================= */ 6066 6067 @media (max-width: 400px) { 6068 .tariantoto-fixed-footer { 6069 gap: 4px; 6070 padding-right: 8px; 6071 padding-left: 8px; 6072 } 6073 6074 .tariantoto-fixed-footer a { 6075 font-size: 10px; 6076 letter-spacing: 0.2px; 6077 } 6078 6079 .tariantoto-fixed-footer img { 6080 width: 20px; 6081 height: 20px; 6082 } 6083 6084 .tariantoto-fixed-footer .core-cta img { 6085 width: 24px; 6086 height: 24px; 6087 } 6088 } 6089 6090 @media (prefers-reduced-motion: reduce) { 6091 .tariantoto-fixed-footer::after, 6092 .tariantoto-fixed-footer .core-cta::before { 6093 animation: none; 6094 } 6095 6096 .tariantoto-fixed-footer a, 6097 .tariantoto-fixed-footer img { 6098 transition: none; 6099 } 6100 } 6101 6102/* LPGEN_VISUAL_START */ 6103:root{ 6104 --lpgen-primary:#00c98d; 6105 --lpgen-secondary:#eb5c0f; 6106 --lpgen-background:#03100b; 6107 --lpgen-text:#ebfff8; 6108 --lpgen-accent:#7cf7ff; 6109 --primary:#00c98d !important; 6110 --primary-color:#00c98d !important; 6111 --color-primary:#00c98d !important; 6112 --secondary:#eb5c0f !important; 6113 --secondary-color:#eb5c0f !important; 6114 --accent:#7cf7ff !important; 6115 --accent-color:#7cf7ff !important; 6116 --background:#03100b !important; 6117 --background-color:#03100b !important; 6118 --bg:#03100b !important; 6119 --text:#ebfff8 !important; 6120 --text-color:#ebfff8 !important; 6121 --bs-primary:#00c98d !important; 6122 --bs-primary-rgb:0,201,141 !important; 6123 --bs-body-bg:#03100b !important; 6124 --bs-body-bg-rgb:3,16,11 !important; 6125 --bs-body-color:#ebfff8 !important; 6126 --bs-body-color-rgb:235,255,248 !important; 6127 --color-background:3,16,11 !important; 6128 --gradient-background:#03100b !important; 6129 --color-foreground:235,255,248 !important; 6130 --color-button:0,201,141 !important; 6131 --color-button-text:235,255,248 !important; 6132 --color-secondary-button:235,92,15 !important; 6133 --color-secondary-button-text:235,255,248 !important; 6134 --color-link:0,201,141 !important; 6135 --color-badge-background:124,247,255 !important; 6136}html,body{background-color:var(--lpgen-background) !important;color:var(--lpgen-text) !important;} 6137a:not([class*="btn"]):not([class*="button"]){color:var(--lpgen-primary);} 6138button,.btn,[class*="button"],input[type="submit"],input[type="button"]{border-color:var(--lpgen-primary);} 6139::selection{background:var(--lpgen-primary);color:var(--lpgen-background);}:is(button,.btn,[class*="button"],[class*="btn-"],input[type="submit"],input[type="button"],[class*="login"],[class*="daftar"]){background-color:var(--lpgen-primary) !important;border-color:var(--lpgen-accent) !important;color:var(--lpgen-text) !important;}
6140:is(header,footer,nav,[class*="header"],[class*="footer"],[class*="navbar"],[class*="menu"],[class*="tab"],[class*="bar"]){border-color:var(--lpgen-primary) !important;} 6141:is([class*="card"],[class*="panel"],[class*="box"],[class*="item"]){border-color:rgba(0,201,141,.62) !important;} 6142:is(h1,h2,h3,h4,h5,h6,strong,b,[class*="title"],[class*="heading"]){text-shadow:none;}html::before,html::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:2147483000;} 6143@media (prefers-reduced-motion:reduce){html::before,html::after{animation:none !important;}}html::before{background-image:radial-gradient(rgba(255,255,255,0.44) 1.4px,transparent 1.8px),radial-gradient(rgba(255,255,255,0.44) 2px,transparent 2.5px),radial-gradient(rgba(0,201,141,0.42) 1px,transparent 1.5px);background-size:48px 48px,86px 86px,120px 120px;opacity:0.32;animation:lpgenSnow 12s linear infinite;}@keyframes lpgenSnow{to{transform:translate3d(0,18%,0)}}/* LPGEN_VISUAL_END */ 6144</style> 6145 6146 <div class="tariantoto-fixed-footer"> 6147 <a href="https://janganberubah.tarianindah.cyou/" target="_blank" rel="nofollow noopener"> 6148 <img src="https://imagestore-cdn.net/img/tarian/favtarian.png" alt="BONUS TARIANTOTO"> 6149 PROMO 6150 </a> 6151 6152 <a href="https://janganberubah.tarianindah.cyou/" target="_blank" rel="nofollow noopener"> 6153 <img src="https://imagestore-cdn.net/img/tarian/favtarian.png" alt="TELEGRAM TARIANTOTO"> 6154 TELEGRAM 6155 </a> 6156 6157 <a href="https://tarian.penjagasuper.com/" target="_blank" rel="nofollow noopener" class="core-cta"> 6158 <img src="https://imagestore-cdn.net/img/tarian/favtarian.png" alt="DAFTAR TARIANTOTO"> 6159 Informasi Togel 6160 </a> 6161 6162 <a href="https://janganberubah.tarianindah.cyou/" target="_blank" rel="nofollow noopener"> 6163 <img src="https://imagestore-cdn.net/img/tarian/favtarian.png" alt="RTP TARIANTOTO"> 6164 RTP 6165 </a> 6166 6167 <a href="https://janganberubah.tarianindah.cyou/" target="_blank" rel="nofollow noopener"> 6168 <img src="https://imagestore-cdn.net/img/tarian/favtarian.png" alt="LIVECHAT TARIANTOTO"> 6169 LIVECHAT 6170 </a> 6171 </div> 6172
6172<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":"3e9b3809d54c4fd180442ae60f330b2a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
6172 6173
6174<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":"14ffc544c960454ea05b1e326e04b174","r":1,"spa":2}' crossorigin="anonymous"></script>
6174 6175</body> 6176 </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.