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