1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html> 14 <html lang="id"> 15 <head> 16 <meta charset="UTF-8"> 17 <title>GOPAYTOGEL | Racikan Situs Toto 4D Resmi & Bandar Togel Online dengan Layanan 24 Jam</title> 18 <meta name="description" content="GOPAYTOGEL merupakan situs Toto 4D resmi dengan pilihan pasaran togel online lengkap, layanan aktif 24 jam, serta informasi permainan yang diperbarui secara rutin."> 19 <meta name="robots" content="index, follow,"> 20 <link rel="canonical" href="https://gopaysayur.com/"> 21 <link rel="amphtml" href="https://penthouse.gopaytogel.network/"> 22 <link rel="alternate" hreflang="id-id" href="https://penthouse.gopaytogel.network/"/> 23 <link rel="alternate" href="https://penthouse.gopaytogel.network/"/> 24 <link rel="alternate" hreflang="id" href="https://penthouse.gopaytogel.network/"/> 25 <link rel="alternate" hreflang="en" href="https://penthouse.gopaytogel.network/"/> 26 <link rel="alternate" hreflang="x-default" href="https://penthouse.gopaytogel.network/"/> 27 <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
vendor: 68 bytes, lines 27-28
27 28 <script async src="https://www.googletagmanager.com/gtag/js?id=
28G-0LSM1YJSPZ
vendor: 49 bytes, lines 28-29
28" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script> 29
29<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>
29 30 <meta property="og:locale" content="id_ID"> 31 <meta property="og:site_name" content="Plaza IT"> 32 <meta property="og:type" content="product"> 33 <meta property="og:title" content="GOPAYTOGEL | Racikan Situs Toto 4D Resmi & Bandar Togel Online dengan Layanan 24 Jam"> 34 <meta property="og:description" content="GOPAYTOGEL merupakan situs Toto 4D resmi dengan pilihan pasaran togel online lengkap, layanan aktif 24 jam, serta informasi permainan yang diperbarui secara rutin."> 35 <meta property="og:url" content="https://gopaysayur.com/"> 36 <meta property="og:image" content="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp"> 37 <meta property="og:image:alt" content="GOPAYTOGEL | Racikan Situs Toto 4D Resmi & Bandar Togel Online dengan Layanan 24 Jam"> 38 <meta property="product:price:amount" content="5000"> 39 <meta property="product:price:currency" content="IDR"> 40 <meta property="product:availability" content="out of stock"> 41 <meta name="twitter:card" content="summary_large_image"> 42 <meta name="twitter:title" content="GOPAYTOGEL | Racikan Situs Toto 4D Resmi & Bandar Togel Online dengan Layanan 24 Jam"> 43 <meta name="twitter:description" content="GOPAYTOGEL merupakan situs Toto 4D resmi dengan pilihan pasaran togel online lengkap, layanan aktif 24 jam, serta informasi permainan yang diperbarui secara rutin."> 44 <meta name="twitter:image" content="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp"> 45
46<script type="application/ld+json"> 47{ 48 "@context": "https://schema.org", 49 "@type": "WebSite", 50 "@id": "/#website", 51 "url": "https://gopaysayur.com/", 52 "name": "GOPAYTOGEL", 53 "inLanguage": "id", 54 "potentialAction": { 55 "@type": "SearchAction", 56 "target": "https://gopaysayur.com/", 57 "query-input": "required name=search_term_string" 58 } 59} 60</script>
60 61
62<script type="application/ld+json"> 63{ 64 "@context": "https://schema.org", 65 "@type": "Organization", 66 "@id": "/#organization", 67 "name": "GOPAYTOGEL", 68 "url": "https://gopaysayur.com/", 69 "logo": "https://veldrive.com/nAhfgJZ5/gopaysayur/togel-online-logo.webp" 70} 71</script>
71 72
73<script type="application/ld+json"> 74{ 75 "@context": "https://schema.org", 76 "@type": "Product", 77 "name": "GOPAYTOGEL | Racikan Situs Toto 4D Resmi & Bandar Togel Online dengan Layanan 24 Jam", 78 "sku": "1S83N0880RID", 79 "image": [ 80 "https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" 81 ], 82 "url": "https://gopaysayur.com/", 83 "description": "GOPAYTOGEL merupakan situs Toto 4D resmi dengan pilihan pasaran togel online lengkap, layanan aktif 24 jam, serta informasi permainan yang diperbarui secara rutin.", 84 "category": "SITUS TOTO", 85 "brand": { 86 "@type": "Brand", 87 "name": "GOPAYTOGEL" 88 }, 89 "offers": { 90 "@type": "Offer", 91 "url": "https://gopaysayur.com/", 92 "priceCurrency": "IDR", 93 "price": "5000", 94 "priceValidUntil": "2027-03-01", 95 "availability": "https://schema.org/OutOfStock", 96 "itemCondition": "https://schema.org/NewCondition", 97 "seller": { 98 "@type": "Organization", 99 "name": "GOPAYTOGEL", 100 "url": "https://gopaysayur.com/" 101 } 102 }, 103 "aggregateRating": { 104 "@type": "AggregateRating", 105 "ratingValue": "5", 106 "reviewCount": "6", 107 "bestRating": "5", 108 "worstRating": "1" 109 }, 110 "review": [ 111 { 112 "@type": "Review", 113 "author": { 114 "@type": "Person", 115 "name": "Rizky Maulana Pratama" 116 }, 117 "reviewBody": "Tampilannya cukup rapi dan gampang dipahami. Informasi pasaran juga tersusun jelas, jadi tidak bikin bingung saat mencari data yang dibutuhkan.", 118 "reviewRating": { 119 "@type": "Rating", 120 "ratingValue": "5", 121 "bestRating": "5", 122 "worstRating": "1" 123 } 124 }, 125 { 126 "@type": "Review", 127 "author": { 128 "@type": "Person", 129 "name": "Dimas Arya Saputra" 130 }, 131 "reviewBody": "Saya suka karena informasi di GOPAYTOGEL cukup lengkap dan update-nya terasa rutin. Layanan 24 jam juga jadi nilai tambah.", 132 "reviewRating": { 133 "@type": "Rating", 134 "ratingValue": "5", 135 "bestRating": "5", 136 "worstRating": "1" 137 } 138 }, 139 { 140 "@type": "Review", 141 "author": { 142 "@type": "Person", 143 "name": "Fajar Nugroho Santoso" 144 }, 145 "reviewBody": "Sejauh ini pengalaman saya cukup nyaman. Menu-menu utamanya mudah ditemukan dan proses melihat informasi Toto 4D juga simpel.", 146 "reviewRating": { 147 "@type": "Rating", 148 "ratingValue": "5", 149 "bestRating": "5", 150 "worstRating": "1" 151 } 152 }, 153 { 154 "@type": "Review", 155 "author": { 156 "@type": "Person", 157 "name": "Andika Putra Ramadhan" 158 }, 159 "reviewBody": "Yang paling saya suka adalah tampilannya tidak terlalu ramai. Informasi result dan pasaran bisa dilihat dengan lebih jelas.", 160 "reviewRating": { 161 "@type": "Rating", 162 "ratingValue": "5", 163 "bestRating": "5", 164 "worstRating": "1" 165 } 166 }, 167 { 168 "@type": "Review", 169 "author": { 170 "@type": "Person", 171 "name": "Kevin Aditya Wijaya" 172 }, 173 "reviewBody": "GOPAYTOGEL punya tampilan yang enak dilihat dan informasi yang cukup lengkap. Cocok buat yang ingin mengecek pasaran tanpa banyak langkah.", 174 "reviewRating": { 175 "@type": "Rating", 176 "ratingValue": "5", 177 "bestRating": "5", 178 "worstRating": "1" 179 } 180 }, 181 { 182 "@type": "Review", 183 "author": { 184 "@type": "Person", 185 "name": "Rian Kurniawan Putra" 186 }, 187 "reviewBody": "Pelayanannya responsif dan informasi yang tersedia cukup mudah dipahami. Secara keseluruhan pengalaman menggunakannya terasa praktis dan nyaman.", 188 "reviewRating": { 189 "@type": "Rating", 190 "ratingValue": "5", 191 "bestRating": "5", 192 "worstRating": "1" 193 } 194 } 195 ] 196} 197</script>
197 198
199<script type="application/ld+json"> 200{ 201 "@context": "https://schema.org", 202 "@type": "BreadcrumbList", 203 "itemListElement": [ 204 { 205 "@type": "ListItem", 206 "position": 1, 207 "name": "GOPAYTOGEL", 208 "item": "https://gopaysayur.com/" 209 }, 210 { 211 "@type": "ListItem", 212 "position": 2, 213 "name": "GOPAY TOGEL", 214 "item": "https://gopaysayur.com/" 215 }, 216 { 217 "@type": "ListItem", 218 "position": 3, 219 "name": "GOPAYTOGEL LOGIN", 220 "item": "https://gopaysayur.com/" 221 }, 222 { 223 "@type": "ListItem", 224 "position": 4, 225 "name": "GOPAYTOGEL DAFTAR", 226 "item": "https://gopaysayur.com/" 227 }, 228 { 229 "@type": "ListItem", 230 "position": 5, 231 "name": "GOPAYTOGEL LINK", 232 "item": "https://gopaysayur.com/" 233 }, 234 { 235 "@type": "ListItem", 236 "position": 6, 237 "name": "SITUS TOGEL", 238 "item": "https://gopaysayur.com/" 239 }, 240 { 241 "@type": "ListItem", 242 "position": 7, 243 "name": "TOGEL ONLINE", 244 "item": "https://gopaysayur.com/" 245 } 246 ] 247} 248</script>
248 249 250
251<script type="application/ld+json"> 252{ 253 "@context": "https://schema.org", 254 "@type": "FAQPage", 255 "mainEntity": [ 256 { 257 "@type": "Question", 258 "name": "Apa itu GOPAYTOGEL?", 259 "acceptedAnswer": { 260 "@type": "Answer", 261 "text": "GOPAYTOGEL merupakan platform yang menyajikan informasi Toto 4D, berbagai pilihan pasaran togel online, result terbaru, serta layanan yang tersedia sepanjang hari." 262 } 263 }, 264 { 265 "@type": "Question", 266 "name": "Apa saja informasi yang tersedia di GOPAYTOGEL?", 267 "acceptedAnswer": { 268 "@type": "Answer", 269 "text": "Pengguna dapat menemukan informasi mengenai Toto 4D, jadwal pasaran, result terbaru, pilihan permainan, serta berbagai informasi pendukung yang diperbarui secara berkala." 270 } 271 }, 272 { 273 "@type": "Question", 274 "name": "Apakah layanan GOPAYTOGEL tersedia selama 24 jam?", 275 "acceptedAnswer": { 276 "@type": "Answer", 277 "text": "GOPAYTOGEL menyediakan layanan 24 jam agar pengguna dapat memperoleh informasi dan bantuan pada berbagai waktu sesuai kebutuhan." 278 } 279 }, 280 { 281 "@type": "Question", 282 "name": "Bagaimana cara melihat result Toto 4D di GOPAYTOGEL?", 283 "acceptedAnswer": { 284 "@type": "Answer", 285 "text": "Result Toto 4D dapat dilihat melalui bagian informasi hasil yang tersedia pada halaman GOPAYTOGEL. Data disusun berdasarkan pasaran agar lebih mudah dibaca." 286 } 287 }, 288 { 289 "@type": "Question", 290 "name": "Apakah GOPAYTOGEL menyediakan berbagai pilihan pasaran?", 291 "acceptedAnswer": { 292 "@type": "Answer", 293 "text": "Ya, GOPAYTOGEL menampilkan berbagai kategori pasaran dalam satu halaman sehingga pengguna dapat melihat informasi sesuai pasaran yang ingin dicari." 294 } 295 }, 296 { 297 "@type": "Question", 298 "name": "Apa keunggulan layanan GOPAYTOGEL?", 299 "acceptedAnswer": { 300 "@type": "Answer", 301 "text": "GOPAYTOGEL mengutamakan penyajian informasi yang tersusun rapi, pembaruan result, pilihan pasaran yang beragam, serta dukungan layanan selama 24 jam." 302 } 303 } 304 ] 305} 306</script>
306 307 308 <!-- User Session Data --> 309 <meta name="csrf-token" content="9ce6e4a17f7cc189893df9e47789b13e98829450d516a0cae5ca7b5f43e5dadc"> 310 <meta name="user-logged-in" content="false"> 311 <meta name="user-id" content="0"> 312 313 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /> 314 315 <link rel="shortcut icon" href="https://veldrive.com/nAhfgJZ5/gopaysayur/gopaytogel-favicon.webp" type="image/x-icon"> 316 <link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/style.css"> 317 <link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/bottom-nav.css"> 318 <link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/search-suggest.css"> 319 <link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/product-detail.css"> 320 <link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/product-grid.css"> 321 <link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/site-notice.css"> 322 <link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/benchmark.css"> 323 324 <link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/mega-menu-tiles.css"> 325 <link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/product-compare.css"> 326 <link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/product-card-actions.css"> 327 <link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/modal.css"> 328 329 <link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/reviews-points.css"> 330 331 </head> 332 <body> 333 <header class="topbar"> 334 <div class="container topbar-inner"> 335 <div class="topbar-left"> 336 GOPAYTOGEL | Racikan Situs Toto 4D Resmi & Bandar Togel Online dengan Layanan 24 Jam 337 </div> 338 <div class="topbar-right"> 339 <a href="https://gopaysayur.com/">GOPAYTOGEL</a> 340 <a href="https://gopaysayur.com/">SITUS TOTO</a> 341 <a href="https://penthouse.gopaytogel.network/">Daftar</a> 342 <a href="https://penthouse.gopaytogel.network/">Masuk</a> 343 </div> 344 </div> 345 </header> 346 <nav class="navbar"> 347 <nav class="navbar-logo" style="width: 100%;"> 348 <div class="container nav-inner" style="justify-items: center; justify-content: center;"> 349 <a href="/" class="logo-mobile"> 350 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/togel-online-logo.webp" alt="GOPAYTOGEL" height="100"> 351 </a> 352 </div> 353 </nav> 354 <div class="container nav-inner"> 355 <a href="/" class="logo"> 356 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/togel-online-logo.webp" alt="GOPAYTOGEL" height="100"> 357 </a> 358 359 360 <form class="search" method="get" action="#"> 361 <input type="hidden" name="page" value="produk"> 362 363 <!-- Search Icon (Desktop) --> 364 <button type="submit" class="search-icon-btn" id="searchBtn" aria-label="Cari"> 365 <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"> 366 <circle cx="11" cy="11" r="8"/> 367 <path d="m21 21-4.35-4.35"/> 368 </svg> 369 </button> 370 371 <input type="text" name="q" id="searchInput" placeholder="Cari GOPAYTOGEL" 372 value="" autocomplete="off"> 373 374 <div class="search-suggest" id="searchSuggest" hidden></div> 375 </form> 376 377 <div class="nav-actions"> 378 <!--<button class="icon-btn" id="notifBtn" title="Notifikasi">ð</button>--> 379 <button class="icon-btn cart-indicator" id="cartBtn" title="Keranjang"> 380 ð <span id="cartCount" class="badge" data-role="cart-badge" aria-live="polite">0</span> 381 </button> 382 383 384 <span id="compareCount" class="badge" data-role="compare-badge" aria-live="polite">0</span> 385 </button> 386 387 <!-- Dynamic login/logout button --> 388 <button class="login-btn" id="loginBtn" aria-label="Masuk"> 389 <span class="login-text">Masuk</span>
390 <span class="login-ico" aria-hidden="true">ð</span> 391 </button> 392 </div> 393 </div> 394 395 <div class="container" style="display: flex; align-items: center;"> 396 397 398 <div class="mega-cats-wrapper"> 399 <div class="mega-cats container" id="megaCatsScroll" style="padding-left: 5px !important;"> 400 <a class="" href="https://gopaysayur.com/"> 401 GOPAYTOGEL </a> 402 <a class="" href="https://gopaysayur.com/"> 403 GOPAY TOGEL </a> 404 <a class="" href="https://gopaysayur.com/"> 405 GOPAYTOGEL LOGIN </a> 406 <a class="" href="https://gopaysayur.com/"> 407 GOPAYTOGEL DAFTAR </a> 408 <a class="" href="https://gopaysayur.com/"> 409 GOPAYTOGEL LINK </a> 410 <a class="" href="https://gopaysayur.com/"> 411 SITUS TOGEL </a> 412 <a class="" href="https://gopaysayur.com/"> 413 TOGEL ONLINE </a> 414 </div> 415 <div class="mega-cats-fade" id="megaCatsFade"></div> 416 </div> 417 </div> 418 </nav> 419 420 <!-- Panel Mega Menu - Outside navbar for full-screen --> 421 <div class="mm2-panel" data-mm2="panel" role="dialog" aria-label="Kategori"> 422 <div class="mm2-view is-active" data-mm2="top"></div> 423 <div class="mm2-view" data-mm2="detail"></div> 424 </div> 425 426 <!-- Backdrop - Outside navbar for full-screen --> 427 <div class="mm2-backdrop" data-mm2="backdrop"></div> 428 429 <!-- Mobile Bottom Navigation --> 430 <nav class="bottom-nav"> 431 <div class="bottom-nav-inner"> 432 <!-- Home --> 433 <a href="/" class="bottom-nav-item" id="bottomHomeBtn" data-page="home"> 434 <div class="bottom-nav-item-icon"> 435 <!-- Outlined icon (default) --> 436 <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 437 <path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/> 438 <polyline points="9 22 9 12 15 12 15 22"/> 439 </svg> 440 <!-- Filled icon (active) --> 441 <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor"> 442 <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"/> 443 <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"/> 444 </svg> 445 </div> 446 <span class="bottom-nav-item-label">Home</span> 447 </a> 448 449 <!-- Kategori --> 450 <button class="bottom-nav-item" id="bottomCategoryBtn" data-mm2="trigger" aria-label="Kategori"> 451 <div class="bottom-nav-item-icon"> 452 <!-- Outlined icon (default) --> 453 <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 454 <line x1="3" y1="12" x2="21" y2="12"/> 455 <line x1="3" y1="6" x2="21" y2="6"/> 456 <line x1="3" y1="18" x2="21" y2="18"/> 457 </svg> 458 <!-- Filled icon (active) --> 459 <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor"> 460 <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"/> 461 </svg> 462 </div> 463 <span class="bottom-nav-item-label">Kategori</span> 464 </button> 465 466 <!-- Keranjang --> 467 <button class="bottom-nav-item" id="bottomCartBtn"> 468 <div class="bottom-nav-item-icon"> 469 <!-- Outlined icon (default) --> 470 <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 471 <circle cx="9" cy="21" r="1"/> 472 <circle cx="20" cy="21" r="1"/> 473 <path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/> 474 </svg> 475 <!-- Filled icon (active) -->
476 <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor"> 477 <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"/> 478 </svg> 479 <span class="bottom-nav-item-badge" id="bottomCartCount">0</span> 480 </div> 481 <span class="bottom-nav-item-label">Keranjang</span> 482 </button> 483 484 <!-- Compare --> 485 <button class="bottom-nav-item" id="bottomCompareBtn"> 486 <div class="bottom-nav-item-icon"> 487 <!-- Outlined icon (default) --> 488 <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 489 <polyline points="17 11 21 7 17 3"/> 490 <path d="M21 7H9"/> 491 <polyline points="7 21 3 17 7 13"/> 492 <path d="M15 17H3"/> 493 </svg> 494 <!-- Filled icon (active) --> 495 <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor"> 496 <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"/> 497 </svg> 498 <span class="bottom-nav-item-badge" id="bottomCompareCount" style="display:none;">0</span> 499 </div> 500 <span class="bottom-nav-item-label">Compare</span> 501 </button> 502 503 <!-- Chat - Always show, check login in JavaScript --> 504 <button class="bottom-nav-item" id="bottomChatBtn" data-page="chat"> 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" opacity="0.85"> 508 <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/> 509 </svg> 510 <!-- Filled icon (active) --> 511 <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor"> 512 <path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z"/> 513 </svg> 514 <span class="bottom-nav-item-badge" id="bottomChatCount" style="display:none;">0</span> 515 </div> 516 <span class="bottom-nav-item-label">Chat</span> 517 </button> 518 519 <!-- Akun --> 520 <button class="bottom-nav-item" id="bottomLoginBtn"> 521 <div class="bottom-nav-item-icon"> 522 <!-- Outlined icon (default) --> 523 <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 524 <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/> 525 <circle cx="12" cy="7" r="4"/> 526 </svg> 527 <!-- Filled icon (active) --> 528 <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor"> 529 <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"/> 530 </svg> 531 </div> 532 <span class="bottom-nav-item-label">Login</span> 533 </button> 534 </svg> 535 </div> 536 </button> 537 </div> 538 </nav> 539 <!-- Mobile User Menu Bottom Sheet --> 540 541
541<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 542 (function(){ 543 const btn = document.getElementById('megaMoreBtn'); 544 const dd = document.getElementById('megaMoreDropdown'); 545 if(!btn || !dd) return; 546 547 function openDD(){ 548 dd.hidden = false; 549 btn.setAttribute('aria-expanded','true'); 550 document.addEventListener('click', outside, {capture:true}); 551 document.addEventListener('keydown', esc); 552 } 553 function closeDD(){ 554 if(dd.hidden) return; 555 dd.hidden = true; 556 btn.setAttribute('aria-expanded','false'); 557 document.removeEventListener('click', outside, {capture:true}); 558 document.removeEventListener('keydown', esc); 559 } 560 function toggle(){ dd.hidden ? openDD() : closeDD(); } 561 function outside(e){ 562 if(!dd.contains(e.target) && e.target !== btn){ 563 closeDD(); 564 } 565 } 566 function esc(e){ 567 if(e.key === 'Escape'){ 568 closeDD(); 569 btn.focus(); 570 } 571 } 572 btn.addEventListener('click', toggle); 573 })(); 574 575 // ========== HORIZONTAL SCROLL FADE INDICATOR ========== 576 (function(){ 577 const megaCats = document.getElementById('megaCatsScroll'); 578 const fade = document.getElementById('megaCatsFade'); 579 if (!megaCats || !fade) return; 580 581 function updateFade() { 582 const scrollLeft = megaCats.scrollLeft; 583 const scrollWidth = megaCats.scrollWidth; 584 const clientWidth = megaCats.clientWidth; 585 const maxScroll = scrollWidth - clientWidth; 586 587 // Hide fade when scrolled to end (within 10px tolerance) 588 if (maxScroll - scrollLeft <= 10) { 589 fade.style.opacity = '0'; 590 } else { 591 fade.style.opacity = '1'; 592 } 593 } 594 595 // Update on scroll 596 megaCats.addEventListener('scroll', updateFade, { passive: true }); 597 598 // Update on resize 599 window.addEventListener('resize', updateFade, { passive: true }); 600 601 // Initial check 602 setTimeout(updateFade, 100); 603 })(); 604 605 document.addEventListener('DOMContentLoaded', function () { 606 var input = document.getElementById('searchInput'); 607 if (!input) return; 608 input.addEventListener('keydown', function (e) { 609 if (e.key === 'Enter') { 610 e.preventDefault(); 611 var form = input.form; 612 if (!form) return; 613 if (typeof form.requestSubmit === 'function') form.requestSubmit(); 614 else form.submit(); 615 } 616 }); 617 }); 618 619 620 (function(){ 621 const cartBtn = document.getElementById('cartBtn'); 622 if (cartBtn) { 623 cartBtn.addEventListener('click', function(e) { 624 e.preventDefault(); 625 626 const checkLogin = () => { 627 return window.isUserLoggedIn ? window.isUserLoggedIn() : false; 628 }; 629 630 if (checkLogin()) { 631 window.location.href = '/keranjang'; 632 } else { 633 showCartLoginModal(); 634 } 635 }); 636 } 637 638 const loginBtn = document.getElementById('loginBtn'); 639 if (loginBtn) { 640 loginBtn.addEventListener('click', function(e) { 641 e.preventDefault(); 642 window.location.href = 'https://gopaysayur.com/'; 643 }); 644 } 645 646 const userMenuBtn = document.getElementById('userMenuBtn'); 647 const userDropdown = document.getElementById('userDropdown'); 648 649 if (userMenuBtn && userDropdown) { 650 function openDropdown() { 651 userDropdown.hidden = false; 652 userMenuBtn.setAttribute('aria-expanded', 'true'); 653 document.addEventListener('click', closeOnOutside, { capture: true }); 654 document.addEventListener('keydown', closeOnEscape); 655 } 656 657 function closeDropdown() { 658 if (userDropdown.hidden) return; 659 userDropdown.hidden = true; 660 userMenuBtn.setAttribute('aria-expanded', 'false'); 661 document.removeEventListener('click', closeOnOutside, { capture: true }); 662 document.removeEventListener('keydown', closeOnEscape); 663 } 664 665 function closeOnOutside(e) { 666 if (!userDropdown.contains(e.target) && e.target !== userMenuBtn) { 667 closeDropdown(); 668 } 669 } 670 671 function closeOnEscape(e) { 672 if (e.key === 'Escape') { 673 closeDropdown(); 674 userMenuBtn.focus(); 675 } 676 } 677 678 userMenuBtn.addEventListener('click', function(e) { 679 e.preventDefault(); 680 userDropdown.hidden ? openDropdown() : closeDropdown(); 681 }); 682 683 // Close dropdown when clicking profile links 684 userDropdown.querySelectorAll('[data-close-dropdown]').forEach(link => { 685 link.addEventListener('click', function() { 686 closeDropdown(); 687 }); 688 }); 689 } 690 691 // Bottom nav profile button - toggle mobile bottom sheet 692 const bottomProfileBtn = document.getElementById('bottomProfileBtn'); 693 const mobileUserSheet = document.getElementById('mobileUserSheet'); 694 const mobileUserSheetBackdrop = document.getElementById('mobileUserSheetBackdrop'); 695 696 if (bottomProfileBtn && mobileUserSheet) { 697 function openMobileSheet() { 698 mobileUserSheet.hidden = false;
699 document.body.style.overflow = 'hidden'; 700 // Trigger animation 701 requestAnimationFrame(() => { 702 mobileUserSheet.classList.add('active'); 703 }); 704 } 705 706 function closeMobileSheet() { 707 mobileUserSheet.classList.remove('active'); 708 document.body.style.overflow = ''; 709 setTimeout(() => { 710 mobileUserSheet.hidden = true; 711 }, 300); 712 } 713 714 bottomProfileBtn.addEventListener('click', function(e) { 715 e.preventDefault(); 716 openMobileSheet(); 717 }); 718 719 if (mobileUserSheetBackdrop) { 720 mobileUserSheetBackdrop.addEventListener('click', closeMobileSheet); 721 } 722 723 // Close on escape key 724 document.addEventListener('keydown', function(e) { 725 if (e.key === 'Escape' && !mobileUserSheet.hidden) { 726 closeMobileSheet(); 727 } 728 }); 729 730 // Close sheet when clicking profile links 731 mobileUserSheet.querySelectorAll('[data-close-sheet]').forEach(link => { 732 link.addEventListener('click', function() { 733 closeMobileSheet(); 734 }); 735 }); 736 } 737 738 // Handle Google avatar error in bottom-nav (fallback to initials) 739 const bottomNavAvatar = document.querySelector('.bottom-nav-avatar-img'); 740 if (bottomNavAvatar) { 741 bottomNavAvatar.addEventListener('error', function() { 742 const initials = this.getAttribute('data-fallback-initials') || 'U'; 743 const initialsDiv = document.createElement('div'); 744 initialsDiv.className = 'bottom-nav-avatar-initials'; 745 initialsDiv.textContent = initials; 746 this.parentNode.replaceChild(initialsDiv, this); 747 }); 748 } 749 750 // Mobile logout button 751 const mobileLogoutBtn = document.getElementById('mobileLogoutBtn'); 752 if (mobileLogoutBtn) { 753 mobileLogoutBtn.addEventListener('click', async function(e) { 754 e.preventDefault(); 755 756 // Check push notification before logout 757 if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') { 758 const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification(); 759 if (!confirmLogout) { 760 return; // User cancelled logout 761 } 762 } 763 764 const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || ''; 765 766 try { 767 const response = await fetch('/auth/logout', { 768 method: 'POST', 769 credentials: 'same-origin', 770 headers: { 771 'Content-Type': 'application/json', 772 'X-CSRF-Token': getCsrfToken() 773 }, 774 body: JSON.stringify({ 775 csrf_token: getCsrfToken() 776 }) 777 }); 778 779 if (response.ok) { 780 if (window.guestCart && typeof window.guestCart.clear === 'function') { 781 window.guestCart.clear(); 782 } 783 window.location.href = '/login?logged_out=1'; 784 } else { 785 console.error('Logout failed'); 786 window.location.href = '/logout'; 787 } 788 } catch (error) { 789 console.error('Logout error:', error); 790 window.location.href = '/logout'; 791 } 792 }); 793 } 794 795 const logoutBtn = document.getElementById('logoutBtn'); 796 if (logoutBtn) { 797 logoutBtn.addEventListener('click', async function(e) { 798 e.preventDefault(); 799 800 // Check push notification before logout 801 if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') { 802 const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification(); 803 if (!confirmLogout) { 804 return; // User cancelled logout 805 } 806 } 807 808 const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || ''; 809 810 try { 811 const response = await fetch('/auth/logout', { 812 method: 'POST', 813 credentials: 'same-origin', 814 headers: { 815 'Content-Type': 'application/json', 816 'X-CSRF-Token': getCsrfToken() 817 }, 818 body: JSON.stringify({ 819 csrf_token: getCsrfToken() 820 }) 821 }); 822 823 if (response.ok) { 824 if (window.guestCart && typeof window.guestCart.clear === 'function') { 825 window.guestCart.clear(); 826 } 827 828 window.location.href = '/login?logged_out=1'; 829 } else { 830 console.error('Logout failed'); 831 window.location.href = '/logout'; 832 } 833 } catch (error) { 834 console.error('Logout error:', error); 835 window.location.href = '/logout'; 836 } 837 }); 838 } 839 840 const wishlistBtn = document.getElementById('wishlistBtn'); 841 const notifBtn = document.getElementById('notifBtn'); 842 843 if (wishlistBtn) { 844 wishlistBtn.addEventListener('click', function(e) { 845 e.preventDefault(); 846 alert('Fitur wishlist akan segera tersedia!'); 847 }); 848 } 849 850 if (notifBtn) { 851 notifBtn.addEventListener('click', function(e) { 852 e.preventDefault(); 853 alert('Fitur notifikasi akan segera tersedia!'); 854 }); 855 } 856 })(); 857 858 // ========== MOBILE BOTTOM NAVIGATION ========== 859 (function initBottomNav() { 860 // Sync cart badge with bottom nav 861 function syncBottomCartBadge() { 862 const mainBadge = document.getElementById('cartCount'); 863 const bottomBadge = document.getElementById('bottomCartCount'); 864 if (mainBadge && bottomBadge) { 865 const count = mainBadge.textContent; 866 bottomBadge.textContent = count; 867 bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none'; 868 } 869 } 870 871 // Sync compare badge with bottom nav 872 function syncBottomCompareBadge() { 873 const mainBadge = document.getElementById('compareCount'); 874 const bottomBadge = document.getElementById('bottomCompareCount'); 875 if (mainBadge && bottomBadge) { 876 const count = mainBadge.textContent; 877 bottomBadge.textContent = count; 878 bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none'; 879 } 880 } 881 882 // Initial sync 883 syncBottomCartBadge(); 884 syncBottomCompareBadge(); 885 886 // Observe badge changes 887 const observer = new MutationObserver(function() { 888 syncBottomCartBadge(); 889 syncBottomCompareBadge(); 890 }); 891 892 const cartBadge = document.getElementById('cartCount'); 893 const compareBadge = document.getElementById('compareCount'); 894 895 if (cartBadge) observer.observe(cartBadge, { childList: true, characterData: true, subtree: true }); 896 if (compareBadge) observer.observe(compareBadge, { childList: true, characterData: true, subtree: true }); 897 898 // Bottom Cart Button 899 const bottomCartBtn = document.getElementById('bottomCartBtn'); 900 if (bottomCartBtn) { 901 bottomCartBtn.addEventListener('click', function(e) { 902 e.preventDefault(); 903 904 const checkLogin = () => { 905 return window.isUserLoggedIn ? window.isUserLoggedIn() : false;
906 }; 907 908 if (checkLogin()) { 909 window.location.href = '/keranjang'; 910 } else { 911 showCartLoginModal(); 912 } 913 }); 914 } 915 916 // Bottom Compare Button 917 const bottomCompareBtn = document.getElementById('bottomCompareBtn'); 918 if (bottomCompareBtn) { 919 bottomCompareBtn.addEventListener('click', function(e) { 920 e.preventDefault(); 921 922 // Close chat widget if open 923 if (window.plazaChat && window.plazaChat.isWidgetOpen) { 924 window.plazaChat.closeWidget(); 925 } 926 927 const mainCompareBtn = document.getElementById('compareBtn'); 928 if (mainCompareBtn) { 929 mainCompareBtn.click(); 930 } 931 }); 932 } 933 934 // Bottom Category Button - triggers mega menu 935 const bottomCategoryBtn = document.getElementById('bottomCategoryBtn'); 936 if (bottomCategoryBtn) { 937 bottomCategoryBtn.addEventListener('click', function(e) { 938 e.preventDefault(); 939 // Trigger desktop mega menu 940 const desktopTrigger = document.querySelector('.mm2-trigger:not(#bottomCategoryBtn)'); 941 if (desktopTrigger) { 942 desktopTrigger.click(); 943 } 944 }); 945 } 946 947 // Bottom Login Button 948 const bottomLoginBtn = document.getElementById('bottomLoginBtn'); 949 if (bottomLoginBtn) { 950 bottomLoginBtn.addEventListener('click', function(e) { 951 e.preventDefault(); 952 window.location.href = '/login'; 953 }); 954 } 955 956 // Bottom Chat Button 957 const bottomChatBtn = document.getElementById('bottomChatBtn'); 958 if (bottomChatBtn) { 959 bottomChatBtn.addEventListener('click', function(e) { 960 e.preventDefault(); 961 962 // Trigger chat widget (try multiple times if needed) 963 const triggerChat = () => { 964 const chatToggle = document.getElementById('chat-toggle-btn'); 965 if (chatToggle) { 966 chatToggle.click(); 967 return true; 968 } 969 return false; 970 }; 971 972 // Immediate attempt 973 if (!triggerChat()) { 974 // Retry after 100ms if not found 975 setTimeout(() => { 976 if (!triggerChat()) { 977 // Last resort: manually show popup 978 const popup = document.getElementById('chat-popup'); 979 if (popup) { 980 popup.style.display = 'block'; 981 } 982 } 983 }, 100); 984 } 985 }); 986 } 987 988 // Sync chat unread badge 989 function syncBottomChatBadge() { 990 const chatBadge = document.getElementById('chat-unread-badge'); 991 const bottomChatBadge = document.getElementById('bottomChatCount'); 992 if (chatBadge && bottomChatBadge) { 993 const count = chatBadge.textContent; 994 bottomChatBadge.textContent = count; 995 bottomChatBadge.style.display = chatBadge.style.display; 996 } 997 } 998 999 // Observe chat badge changes 1000 const chatBadge = document.getElementById('chat-unread-badge'); 1001 if (chatBadge) { 1002 observer.observe(chatBadge, { attributes: true, childList: true, characterData: true, subtree: true }); 1003 syncBottomChatBadge(); 1004 } 1005 1006 // Active state management based on current page 1007 function updateActiveState() { 1008 const currentPath = window.location.pathname; 1009 const bottomNavItems = document.querySelectorAll('.bottom-nav-item'); 1010 1011 bottomNavItems.forEach(item => { 1012 item.classList.remove('active'); 1013 1014 const itemId = item.id; 1015 const page = item.getAttribute('data-page'); 1016 const href = item.getAttribute('href'); 1017 1018 // Check by ID for specific pages 1019 if (itemId === 'bottomHomeBtn' && currentPath === '/') { 1020 item.classList.add('active'); 1021 } else if (itemId === 'bottomCartBtn' && (currentPath === '/keranjang' || currentPath === '/cart')) { 1022 item.classList.add('active'); 1023 } else if (itemId === 'bottomProfileBtn' && currentPath.startsWith('/profile')) { 1024 item.classList.add('active'); 1025 } else if (itemId === 'bottomCategoryBtn' && currentPath.startsWith('/kategori')) { 1026 item.classList.add('active'); 1027 } else if (itemId === 'bottomCompareBtn' && currentPath === '/compare') { 1028 item.classList.add('active'); 1029 } else if (itemId === 'bottomChatBtn' && currentPath === '/chat') { 1030 item.classList.add('active'); 1031 } 1032 // Fallback: check by data-page attribute 1033 else if (page === 'home' && currentPath === '/') { 1034 item.classList.add('active'); 1035 } else if (page === 'profile' && currentPath.startsWith('/profile')) { 1036 item.classList.add('active'); 1037 } 1038 // Fallback: check by href 1039 else if (href && currentPath === href) { 1040 item.classList.add('active'); 1041 } 1042 }); 1043 } 1044 1045 // Update active state on load 1046 updateActiveState(); 1047 1048 // Bottom nav always visible - auto-hide disabled for better UX 1049 // const bottomNav = document.querySelector('.bottom-nav'); 1050 // if (bottomNav && window.innerWidth <= 640) { 1051 // // Auto-hide feature disabled 1052 // } 1053 })(); 1054 // Cart Login Modal Handler (Global scope) 1055 function showCartLoginModal() { 1056 const modal = document.getElementById('cartLoginModal'); 1057 if (!modal) return; 1058 1059 modal.classList.add('show'); 1060 1061 const confirmBtn = document.getElementById('cartLoginConfirm'); 1062 const registerBtn = document.getElementById('cartRegisterBtn'); 1063 const cancelBtn = document.getElementById('cartLoginCancel'); 1064 1065 const handleLogin = () => { 1066 window.location.href = '/login?return=' + encodeURIComponent('/keranjang'); 1067 }; 1068 1069 const handleRegister = () => { 1070 window.location.href = '/register?return=' + encodeURIComponent('/keranjang'); 1071 }; 1072 1073 const handleCancel = () => { 1074 modal.classList.remove('show'); 1075 confirmBtn.removeEventListener('click', handleLogin); 1076 registerBtn.removeEventListener('click', handleRegister); 1077 cancelBtn.removeEventListener('click', handleCancel); 1078 }; 1079 1080 confirmBtn.removeEventListener('click', handleLogin); 1081 registerBtn.removeEventListener('click', handleRegister); 1082 cancelBtn.removeEventListener('click', handleCancel); 1083 1084 confirmBtn.addEventListener('click', handleLogin); 1085 registerBtn.addEventListener('click', handleRegister); 1086 cancelBtn.addEventListener('click', handleCancel); 1087 1088 modal.addEventListener('click', (e) => { 1089 if (e.target === modal) { 1090 handleCancel(); 1091 } 1092 }); 1093 } 1094 </script>
1094 1095 <!-- Product Compare Sidebar --> 1096 <div class="compare-sidebar" id="compareSidebar"> 1097 <div class="compare-header"> 1098 <h4 class="compare-title"> 1099 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 1100 <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"/> 1101 </svg> 1102 Bandingkan Produk 1103 <span class="compare-count" id="compareCountSidebar">(0)</span> 1104 </h4> 1105 <button class="compare-close" id="compareClose" aria-label="Tutup"> 1106 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> 1107 <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"/> 1108 </svg> 1109 </button> 1110 </div> 1111 1112 <div class="compare-content"> 1113 <div class="compare-empty" id="compareEmpty"> 1114 <div class="empty-icon"> 1115 <svg width="48" height="48" viewBox="0 0 24 24" fill="currentColor" opacity="0.3"> 1116 <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"/> 1117 </svg> 1118 </div> 1119 <h5>Belum ada produk dipilih</h5> 1120 <p>Pilih produk yang ingin dibandingkan dengan klik tombol "Bandingkan Produk" di halaman produk.</p> 1121 </div> 1122 1123 <div class="compare-list" id="compareList"> 1124 <!-- Products will be populated here --> 1125 </div> 1126 </div> 1127 1128 <div class="compare-actions" id="compareActions"> 1129 <button class="btn btn-outline-danger btn-sm" id="compareClearAll"> 1130 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"> 1131 <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"/> 1132 </svg> 1133 Hapus Semua 1134 </button> 1135 <button class="btn btn-primary btn-sm" id="compareAnalyze" disabled> 1136 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"> 1137 <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"/> 1138 </svg> 1139 Analisis AI 1140 </button> 1141 </div> 1142 1143 <!-- AI Disclaimer in Sidebar --> 1144 <div class="compare-disclaimer"> 1145 <div class="ai-disclaimer"> 1146 <div class="disclaimer-text"> 1147 <strong>ð¡ Catatan:</strong> Dengan berbagai pilihan yang tersedia, pengguna memiliki kebebasan untuk menentukan jenis permainan yang paling sesuai dengan preferensi masing-masing. 1148 </div> 1149 </div> 1150 </div> 1151 </div><link rel="stylesheet" href="https://www.die-schaukel.store/asset/css/pd-lightbox.css"> 1152 <style>.paylater-promo{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#ffffff 0,#ffffff 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:#0077ff;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;
1152cursor: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:#c52222;color:#fff;border-color:#c52222}.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> 1153 <style nonce="se3iyzEHMc9FQEB4wSyd0w=="> 1154 .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;
1154display: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} 1155 1156 .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)}} 1157 1158 .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} 1159 1160 .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:#0077ff;margin:0} 1161 1162 .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)} 1163 1164 .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,#0077ff 0%,#3c3300 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} 1165 1166 .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:#0077ff;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,#e90e0e 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)}
1166.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,#c52222 0%,#a31616 100%);pointer-events:none} 1167 1168 @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}} 1169 1170 .mf-share{background:#fff;color:#fb923c;border:2px solid #fb923c;display:inline-flex;align-items:center;justify-content:center}.mf-share:active{transform:scale(.95)}.mf-share svg{display:block} 1171 1172 @media(max-width:640px){.pd-share-btn{display:none!important}} 1173 1174 .stock-badge.in{background:#e6f9ec;color:#801515;border-radius:999px;padding:4px 10px;font-weight:700}.stock-badge.out{background:#fee2e2;color:#b91c1c;border-radius:999px;padding:4px 10px;font-weight:700} 1175 1176 .stock-info-btn{--c:#e90e0e;--b:#bae6fd;--bg:#f0f9ff;--bg-h:#e0f2fe;--b-h:#e90e0e;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} 1177 1178 .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} 1179 1180 .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} 1181 1182 1183 .sp-qty{grid-column:2;justify-self:end;min-width:40px;text-align:right;font-weight:800;font-size:13px;color:#cfe4ff;font-variant-numeric:tabular-nums} 1184 1185 .sp-wa{ 1186 grid-column:3; justify-self:end; 1187 width:32px; height:32px; min-width:32px; min-height:32px; 1188 box-sizing:border-box; 1189 padding:0; line-height:0; text-decoration:none; outline:0; 1190 display:inline-flex; align-items:center; justify-content:center; 1191 border-radius:999px; border:1px solid rgba(211, 37, 37, 0.6); /* 1px untuk hasil âcrispâ */ 1192 background:rgba(37,211,102,.08); color:#d32525; 1193 transition:background-color .15s ease, border-color .15s ease, transform .05s ease; 1194 -webkit-tap-highlight-color:transparent; 1195 } 1196 .sp-wa:hover{background:rgba(37, 51, 211, 0.16);border-color:rgba(37, 104, 211, 0.75)} 1197 .sp-wa:active{transform:translateY(.5px) scale(.98)} 1198 1199 .sp-wa svg{width:18px;height:18px;display:block;vertical-align:middle} 1200 .stock-popover a{text-decoration:none} 1201
1202 #deskripsi img{max-width:200px!important;height:unset!important}@media(max-width:640px){.stock-popover{position:fixed;left:0;right:0;bottom:max(12px,env(safe-area-inset-bottom,12px));margin:0 10px;padding:14px 12px 10px;border-radius:16px}.stock-popover::before{display:none}.stock-info-btn{padding:4px 8px;gap:4px;border:0;background:transparent}.stock-info-btn:hover{background:transparent;box-shadow:none;transform:none}.stock-info-btn .btn-text{display:none}.stock-info-btn svg{width:16px;height:16px}.sp-item{grid-template-columns:1fr auto 36px}.sp-wa{width:36px;height:36px;min-width:36px;min-height:36px}.sp-wa svg{width:19px;height:19px}} 1203 1204 .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}} 1205 1206 .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}} 1207 1208 .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} 1209 .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)}} 1210 .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#e90e0e;font-size:11px;color:#0c4a6e;border-radius:4px} 1211 @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}} 1212 1213 .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}} 1214 </style> 1215 1216 <div class="pd-sticky-header" id="pd-sticky-header"><div class="pd-sticky-header-container"><div class="pd-sticky-thumb">
1216<img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" id="pd-sticky-thumb-img"></div><div class="pd-sticky-info"><h2 class="pd-sticky-title" id="pd-sticky-title">GOPAYTOGEL | Racikan Situs Toto 4D Resmi & Bandar Togel Online dengan Layanan 24 Jam</h2><div class="pd-sticky-price-row"><span class="pd-sticky-price" id="pd-sticky-price">Rp 10.000,-</span><span class="pd-sticky-price-original" id="pd-sticky-price-original">Rp 1.000.000</span><span class="pd-sticky-discount" id="pd-sticky-discount">-99.5%</span></div></div><div class="pd-sticky-actions"><button type="button" class="pd-sticky-share-btn" id="pd-sticky-share-btn" aria-label="Bagikan produk" title="Bagikan"><svg viewBox="0 0 24 24" width="16" height="16" aria-hidden="true"><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> 1217 1218 <main class="product-single product-single--v3"><nav class="pd-breadcrumb" aria-label="breadcrumb"><a href="https://penthouse.gopaytogel.network/">GOPAYTOGEL</a><span>/</span><a href="https://gopaysayur.com/">GOPAY TOGEL</a><span>/</span><a href="https://gopaysayur.com/">GOPAYTOGEL LOGIN</a><span>/</span><a href="https://gopaysayur.com/">GOPAYTOGEL DAFTAR</a><span>/</span><a href="https://gopaysayur.com/">GOPAYTOGEL LINK </a><span>/</span><span class="current">GOPAYTOGEL | Racikan Situs Toto 4D Resmi & Bandar Togel Online dengan Layanan 24 Jam 1219 1220 </span></nav> 1221 1222 <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://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" data-slug="" loading="eager"> 1223 </figure> 1224 1225 <div class="pd-mobile-slider-wrapper"> 1226 <div class="pd-mobile-slider" id="pd-mobile-slider" aria-label="Galeri gambar (geser)"><div class="pd-mslide"><img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" loading="eager"></div><div class="pd-mslide"><img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" loading="lazy"></div><div class="pd-mslide"><img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" loading="lazy"></div><div class="pd-mslide"><img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" loading="lazy"></div><div class="pd-mslide"><img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" loading="lazy"></div><div class="pd-mslide"><img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" loading="lazy"></div></div><div class="pd-gallery-counter" id="pd-gallery-counter">1/6</div></div> 1227 <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://veldrive.com/nAhfgJZ5/gop
1227aysayur/img.webp" data-alt="GOPAYTOGEL" data-slug="" aria-label="Gambar 1"><img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" data-alt="GOPAYTOGEL" data-slug="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" aria-label="Gambar 2"><img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" data-alt="GOPAYTOGEL" 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://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" data-alt="GOPAYTOGEL" 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://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" data-alt="GOPAYTOGEL" 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://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" data-alt="GOPAYTOGEL" 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://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" 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"> 1228 <h1 class="pd-title" id="pd-title">GOPAYTOGEL | Racikan Situs Toto 4D Resmi & Bandar Togel Online dengan Layanan 24 Jam</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> 1229 <div id="pd-price-anchor"> 1230 </div> 1231 <div class="pd-price-qr-container"> 1232 <div class="pd-price-block" id="pd-price-block"> 1233 <div class="pd-price-row"> 1234 <span class="pd-price-current" id="pd-price-current" >Rp 10.000</span> 1235 <span class="pd-price-original" id="pd-price-original">Rp 50.000</span> 1236 <span class="pd-discount-badge" id="pd-discount-badge">-90%</span></div> 1237 <div class="pd-meta-row"> 1238 <span class="sold-inline" id="pd-sold-inline" data-role="sold-chip">Terjual Terjual 2K</span> 1239 <span class="pwp-trigger-badge" id="pwp-trigger-badge" hidden> 1240 <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"> 1241 <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> 1242 <div class="pd-meta-inline"><span class="stock-badge out" id="pd-stock-badge">
1242GOPAYTOGEL</span> 1243 <span class="sku">SKU: <span id="pd-sku">1S83N0880RID</span></span></div> 1244 <div class="paylater-promo paylater-promo-sm paylater-mobile-only"> 1245 <span class="paylater-icon">ð³</span> 1246 <span class="paylater-text"> 1247 <strong>GOPAYTOGEL</strong> 1248 <small>SITUS TOTO</small> 1249 </span> 1250 </div> 1251 1252 <div class="stock-popover" id="pd-stock-popover" role="dialog" aria-hidden="true" aria-label="Informasi stok cabang"><div class="sp-head"><div class="sp-title">Stok Cabang</div><button type="button" class="sp-close" id="pd-stock-popover-close" aria-label="Tutup"><svg width="18" height="18" viewBox="0 0 24 24"><path fill="currentColor" d="M18.3 5.71L12 12.01l-6.3-6.3-1.4 1.41 6.3 6.3-6.3 6.3 1.4 1.41 6.3-6.3 6.3 6.3 1.41-1.41-6.3-6.3 6.3-6.3z"/></svg></button></div><ul class="sp-list"> 1253 <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> 1254 1255 <li class="sp-item"> 1256 <div class="sp-left"> 1257 <span class="sp-dot" style="--dot:#d33434;"></span> 1258 <span class="sp-label">Medan Fair</span> 1259 </div> 1260 <span class="sp-qty" id="sp-qty-mdf">0</span> 1261 <a class="sp-wa" 1262 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" 1263 target="_blank" rel="noopener" aria-label="WhatsApp Medan Fair"> 1264 <svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 1265 <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"/> 1266 </svg> 1267 </a> 1268 </li> 1269 1270 <li class="sp-item"> 1271 <div class="sp-left">
1272 <span class="sp-dot" style="--dot:#f59e0b;"></span> 1273 <span class="sp-label">Banda Aceh</span> 1274 </div> 1275 <span class="sp-qty" id="sp-qty-bda">0</span> 1276 <a class="sp-wa" 1277 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" 1278 target="_blank" rel="noopener" aria-label="WhatsApp Banda Aceh"> 1279 <svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 1280 <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"/> 1281 </svg> 1282 </a> 1283 </li> 1284 </ul> 1285 </div> 1286 1287 </div> 1288 <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> 1289 </div> 1290 <div id="pd-variants-anchor"></div> 1291 1292 1293 1294 <div class="pd-compare-section"> 1295 <button type="button" class="pd-compare-btn" id="pd-compare-btn" data-product-id="325"> 1296 <svg class="compare-icon" width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> 1297 <path d="M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z"/> 1298 </svg> 1299 <span class="compare-text">Bandingkan Produk</span> 1300 <span class="compare-remove" hidden> 1301 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> 1302 <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"/> 1303 </svg> 1304 Hapus dari Perbandingan 1305 </span> 1306 </button> 1307 <div class="pd-compare-info"> 1308 <small class="compare-note" id="compare-note">Bandingkan hingga 5 produk dengan bantuan AI</small> 1309 </div> 1310 </div> 1311 1312 <div class="pd-short-desc"><p><strong>Informasi GOPAYTOGEL :</strong></p><ul><li>Minimal Deposit: Rp.10.000,-</li><li>Minimal Withdraw: Rp 50.000,-</li><li>Jenis Permainan: Togel Online, Toto Togel, Toto 4d</li><li>Metode Pembayaran: Bank, QRIS, E-Wallet, USDT</li><li>Mata Uang: IDR (Indonesian Rupiah)</li><li>Jam Operasional: 24 Jam Nonstop</li><li>Total Rating: 865.676.885</li><li>Rating: âââââ</li><li>Daftar Sekarang: <a href="https://penthouse.gopaytogel.network/">Klik Disini</a></li></ul></div> 1313 <div id="golden-slot-standalone-v3"> 1314 1315 <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
1315-.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> 1316 </section> 1317 1318 <aside class="pd-sidebar"> 1319 <div class="pd-side-card pd-buy-card"> 1320 <form class="pd-buy-form" id="pd-buy-form" data-pid="325"> 1321 <input type="hidden" name="variant_id" id="pd-variant-id" value="0"> 1322 <div> 1323 <label for="qty" class="qty-label">Qty</label> 1324 <input type="number" id="qty" name="qty" value="0" min="1" 1325 max="0" 1326 disabled> 1327 </div> 1328 <div class="pd-actions"> 1329 <button type="submit" class="btn-add-cart" id="btn-add-cart" disabled>+ Keranjang</button> 1330 <button type="button" class="btn-buy" id="btn-buy" data-id="278426" disabled >Beli</button> 1331 <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> 1332 </div> 1333 </form> 1334 <div class="paylater-promo paylater-promo-md paylater-desktop-only"> 1335 <span class="paylater-icon">ð³</span> 1336 <span class="paylater-text"> 1337 <strong>Authorized GOPAYTOGEL</strong> 1338 <small>GOPAYTOGEL OFFICIAL</small> 1339 </span> 1340 </div> </div> 1341 1342 1343 <div class="pd-side-card qoala-banner-card"> 1344 <div class="qoala-banner"> 1345 <div class="qoala-banner-content"> 1346 <div class="qoala-icon"> 1347 <center><img src="https://veldrive.com/nAhfgJZ5/gopaysayur/gopaytogel-favicon.webp" alt="GOPAYTOGEL" class="qoala-shield-img"></center> 1348 </div> 1349 <div class="qoala-text"> 1350 <div class="qoala-title">GOPAYTOGEL</div> 1351 <div class="qoala-subtitle">Verified</div> 1352 </div> 1353 </div> 1354 <a href="https://gopaysayur.com/" class="qoala-cta" 1355 data-ga-event="qoala_banner_click" 1356 data-product-id="325" 1357 data-product-name="GOPAYTOGEL" 1358 data-category-path="Komputer & Laptop/Laptop/Gaming" target="_blank">Info</a> 1359 </div> 1360 <style>.qoala-banner-card{padding:0;overflow:hidden}.qoala-banner{background:linear-gradient(135deg, #ffffff 0%, #ffffff 100%);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;color:rgb(0, 0, 0);text-decoration:none;min-height:60px}.qoala-banner-content{display:flex;align-items:center;gap:12px}.qoala-icon{display:flex;align-items:center;justify-content:center}.qoala-shield-img{width:36px;height:36px;object-fit:contain;opacity:0.9}.qoala-title{font-weight:600;font-size:14px;line-height:1.2}.qoala-subtitle{font-size:12px;opacity:0.9;line-height:1.2}.qoala-cta{background:rgba(255,255,255,0.2);color:rgb(0, 0, 0);padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;transition:background 0.2s ease;border:1px solid rgba(255,255,255,0.3)}.qoala-cta:hover{background:rgba(255,255,255,0.3);color:rgb(0, 0, 0)}@media(max-width:768px){.qoala-banner{padding:10px 12px}.qoala-title{font-size:17px}.qoala-subtitle{font-size:11px}}</style> 1361 </div> 1362 1363 <div class="pd-side-card pd-installment-card2" 1364 id="inst-card" 1365 data-base-price="20789000" 1366 data-zero-smart="0"> 1367 <div class="inst-head"> 1368 <h3>Promo & Fitur GOPAYTOGEL</h3> 1369 </div> 1370 1371 <div class="inst-bank-tabs" role="tablist" aria-label="Bank"> 1372 <button type="button" class="bank-tab active" data-bank="Lucky Draw" aria-selected="true">Lucky Draw</button> 1373 <button type="button" class="bank-tab" data-bank="gopaytogel" aria-selected="false">gopaytogel</button> 1374 <button type="button" class="bank-tab" data-bank="Situs Toto" aria-selected="false">Situs Toto</button> 1375 </div> 1376 1377 <ul class="inst-month-list" id="inst-month-list" aria-label="Daftar cicilan per bulan"></ul> 1378 <div class="inst-note" id="inst-zero-note" style="display:none;">
1378Bonus 10% Cashback Slot Online & Live Game</div> 1379 <div class="inst-disclaimer">Angka estimasi. Bisa berasumsi sesuai kebijakan bank / penyedia.</div> 1380 </div> 1381 </div> 1382 1383 1384<div class="article-aura-wrap"> 1385 1386 <div class="article-pro"> 1387 1388 <div class="article-pro-fx" aria-hidden="true"> 1389 <span class="article-watermark">GOPAYTOGEL</span> 1390 1391 <span class="article-cube ac1"></span> 1392 <span class="article-cube ac2"></span> 1393 <span class="article-cube ac3"></span> 1394 1395 <span class="article-gem ag1"></span> 1396 <span class="article-gem ag2"></span> 1397 <span class="article-gem ag3"></span> 1398 1399 <span class="article-leaf al1">ð</span> 1400 <span class="article-leaf al2">â¡</span> 1401 <span class="article-leaf al3">ð</span> 1402 </div> 1403 1404 1405 <div class="article-pro-head"> 1406 <span class="article-pro-kicker">GOPAYTOGEL ARTIKEL</span> 1407 <span class="article-pro-line"></span> 1408 </div> 1409 1410 1411 <div class="article-pro-panel panel-left"> 1412 1413 <span class="article-pro-number">01</span> 1414 1415 <p> 1416 <a href="https://gopaysayur.com/">GOPAYTOGEL</a> dikembangkan sebagai platform yang menyatukan berbagai informasi Toto 4D dalam tampilan 1417 yang lebih teratur dan mudah dipahami. Pengguna dapat menemukan pembaruan result, pilihan pasaran, 1418 serta informasi pendukung lainnya tanpa harus berpindah-pindah halaman. Penyajian kontennya dibuat 1419 ringkas agar pembaca bisa langsung menemukan informasi yang sedang dicari. 1420 </p> 1421 1422 1423 </div> 1424 1425 1426 <div class="article-energy" aria-hidden="true"> 1427 <span></span> 1428 </div> 1429 1430 1431 <div class="article-pro-panel panel-right"> 1432 1433 <span class="article-pro-number">02</span> 1434 1435 <p>Selain menyediakan informasi yang diperbarui secara berkala, GOPAYTOGEL juga menghadirkan layanan 1436 yang tersedia selama 24 jam untuk membantu kebutuhan pengguna kapan saja. Fokus utamanya bukan 1437 sekadar menampilkan banyak pilihan, tetapi menjaga agar setiap informasi tetap jelas, tersusun rapi, dan 1438 nyaman dibaca. Dengan pendekatan tersebut, brand ini berusaha membangun pengalaman yang lebih 1439 konsisten bagi pengguna yang mengikuti informasi <a href="https://gopaysayur.com/">TOTO 4D</a> secara rutin. 1440 </p> 1441 1442 </div> 1443 1444 1445 <div class="article-pro-footer"> 1446 1447 <span>GOPAYTOGEL</span> 1448 <i></i> 1449 1450 <span>TOTO 4D</span> 1451 <i></i> 1452 1453 <span>GOPAYTOGEL ARTIKEL</span> 1454 1455 </div> 1456 1457 </div> 1458 1459</div> 1460 1461<style> 1462 1463/* ====================================================== 1464 OUTER AURA WRAPPER 1465====================================================== */ 1466 1467.article-aura-wrap{ 1468 position:relative; 1469 1470 width:min(1100px,calc(100% - 30px)); 1471 1472 margin:60px auto; 1473 1474 animation: 1475 articleOuterAura 3.8s ease-in-out infinite alternate; 1476 1477 filter: 1478 drop-shadow(0 0 8px rgba(32, 65, 232, 0.25)) 1479 drop-shadow(0 0 22px rgba(32, 105, 232, 0.14)) 1480 drop-shadow(0 0 38px rgba(65, 255, 255, 0.08)); 1481} 1482 1483 1484/* aura kiri */ 1485 1486.article-aura-wrap::before{ 1487 content:""; 1488 1489 position:absolute; 1490 1491 left:-70px; 1492 top:12%; 1493 1494 width:150px; 1495 height:76%; 1496 1497 z-index:-1; 1498 1499 border-radius:50%; 1500 1501 background: 1502 radial-gradient( 1503 ellipse, 1504 rgba(76, 228, 255, 0.44) 0%, 1505 rgba(32, 132, 232, 0.2) 32%, 1506 rgba(35, 32, 232, 0.06) 58%, 1507 transparent 76% 1508 ); 1509 1510 filter:blur(26px); 1511 1512 animation: 1513 articleAuraLeft 4.2s ease-in-out infinite alternate; 1514} 1515 1516 1517/* aura kanan gold */ 1518 1519.article-aura-wrap::after{ 1520 content:""; 1521 1522 position:absolute; 1523 1524 right:-75px; 1525 top:14%; 1526 1527 width:155px; 1528 height:72%; 1529 1530 z-index:-1; 1531 1532 border-radius:50%; 1533 1534 background: 1535 radial-gradient( 1536 ellipse, 1537 rgba(255,237,140,.40) 0%, 1538 rgba(255,215,65,.18) 32%, 1539 rgba(255,190,30,.06) 58%, 1540 transparent 76% 1541 ); 1542 1543 filter:blur(27px); 1544 1545 animation: 1546 articleAuraRight 4.8s ease-in-out infinite alternate; 1547} 1548 1549 1550/* ====================================================== 1551 ARTICLE MAIN 1552====================================================== */ 1553 1554.article-pro{ 1555 position:relative; 1556 1557 width:100%; 1558 1559 margin:0; 1560 1561 padding: 1562 31px 34px 28px; 1563 1564 box-sizing:border-box; 1565 1566 overflow:hidden; 1567 1568 color:#fff; 1569 1570 font-family: 1571 "Trebuchet MS", 1572 "Segoe UI", 1573 Arial, 1574 sans-serif; 1575 1576 clip-path: 1577 polygon( 1578 32px 0, 1579 calc(100% - 74px) 0, 1580 100% 42px, 1581 100% calc(100% - 30px), 1582 calc(100% - 32px) 100%, 1583 72px 100%, 1584 0 calc(100% - 43px), 1585 0 30px 1586 ); 1587 1588 background: 1589 radial-gradient( 1590 circle at 10% 10%, 1591 rgba(43, 33, 238, 0.15), 1592 transparent 30% 1593 ), 1594 radial-gradient( 1595 circle at 90% 90%, 1596 rgba(255,216,75,.075), 1597 transparent 30% 1598 ), 1599 linear-gradient( 1600 145deg, 1601 #06150b, 1602 #020905 62%, 1603 #0a120d 1604 ); 1605 1606 border: 1607 1px solid rgba(86, 60, 255, 0.22); 1608 1609 box-shadow: 1610 0 25px 60px rgba(0,0,0,.42), 1611 inset 0 0 45px rgba(32,232,106,.04); 1612 1613 isolation:isolate; 1614} 1615 1616 1617/* ====================================================== 1618 BACKGROUND GRID 1619====================================================== */ 1620 1621.article-pro::before{ 1622 content:""; 1623 1624 position:absolute; 1625 1626 inset:0; 1627 1628 z-index:-5; 1629 1630 opacity:.08; 1631 1632 background-image: 1633 linear-gradient( 1634 rgba(71, 99, 255, 0.17) 1px, 1635 transparent 1px 1636 ), 1637 linear-gradient( 1638 90deg, 1639 rgba(71, 74, 255, 0.17) 1px, 1640 transparent 1px 1641 ); 1642 1643 background-size: 1644 45px 45px; 1645 1646 mask-image: 1647 linear-gradient( 1648 transparent, 1649 #000 20%, 1650 #000 80%, 1651 transparent 1652 ); 1653} 1654 1655 1656/* ====================================================== 1657 INNER EMERALD AURA 1658====================================================== */ 1659 1660.article-pro::after{ 1661 content:""; 1662 1663 position:absolute; 1664 1665 width:620px; 1666 height:620px; 1667 1668 left:50%; 1669 top:50%; 1670 1671 z-index:-4; 1672 1673 transform: 1674 translate(-50%,-50%); 1675 1676 border-radius:50%; 1677 1678 background: 1679 radial-gradient( 1680 circle, 1681 rgba(32, 62, 232, 0.12), 1682 transparent 68% 1683 ); 1684 1685 filter: 1686 blur(25px); 1687 1688 animation: 1689 articleAmbient 6s ease-in-out infinite alternate; 1690} 1691 1692 1693/* ====================================================== 1694 HEADER 1695====================================================== */ 1696 1697.article-pro-head{ 1698 position:relative; 1699 1700 z-index:8; 1701 1702 display:flex; 1703 1704 align-items:center; 1705 1706 gap:14px; 1707 1708 margin-bottom:24px; 1709} 1710 1711 1712.article-pro-kicker{ 1713 color:#70c6ff; 1714 1715 font-size:9px; 1716 1717 font-weight:900; 1718 1719 letter-spacing:3px; 1720 1721 white-space:nowrap; 1722 1723 text-shadow: 1724 0 0 8px rgba(32, 82, 232, 0.34); 1725} 1726 1727 1728.article-pro-line{ 1729 position:relative; 1730 1731 width:100%; 1732 height:1px; 1733 1734 overflow:hidden; 1735 1736 background: 1737 rgba(255,255,255,.07); 1738} 1739 1740 1741.article-pro-line::after{ 1742 content:""; 1743 1744 position:absolute; 1745 1746 left:-35%; 1747 1748 width:35%; 1749 height:100%; 1750 1751 background: 1752 linear-gradient( 1753 90deg, 1754 transparent, 1755 #35b2ff, 1756 #756bff, 1757 #35c6ff, 1758 transparent 1759 ); 1760 1761 box-shadow: 1762 0 0 8px rgba(53, 198, 255, 0.5); 1763 1764 animation: 1765 articleHeadLine 4s linear infinite; 1766} 1767 1768 1769/* ====================================================== 1770 PARAGRAPH PANEL 1771====================================================== */ 1772 1773.article-pro-panel{ 1774 position:relative; 1775 1776 z-index:8; 1777 1778 width:91%; 1779 1780 padding: 1781 25px 27px 24px 68px; 1782 1783 box-sizing:border-box; 1784 1785 overflow:hidden; 1786 1787 background: 1788 linear-gradient( 1789 120deg, 1790 rgba(16, 72, 80, 0.72), 1791 rgba(4, 3, 16, 0.96) 62%, 1792 rgba(50,37,6,.24) 1793 ); 1794 1795 border: 1796 1px solid rgba(78, 155, 255, 0.14); 1797 1798 box-shadow: 1799 0 10px 25px rgba(0,0,0,.27), 1800 inset 0 0 25px rgba(32, 65, 232, 0.045); 1801 1802 transition: 1803 transform .35s ease, 1804 border-color .35s ease, 1805 box-shadow .35s ease; 1806} 1807 1808 1809/* left panel */ 1810 1811.panel-left{ 1812 margin-right:auto; 1813 1814 clip-path: 1815 polygon( 1816 0 0, 1817 calc(100% - 25px) 0, 1818 100% 50%, 1819 calc(100% - 25px) 100%, 1820 0 100%, 1821 16px 50% 1822 ); 1823} 1824 1825 1826/* right panel */ 1827 1828.panel-right{ 1829 margin-left:auto; 1830 1831 clip-path: 1832 polygon( 1833 25px 0, 1834 100% 0, 1835 calc(100% - 16px) 50%, 1836 100% 100%, 1837 25px 100%, 1838 0 50% 1839 ); 1840} 1841 1842 1843.panel-left:hover{ 1844 transform: 1845 translateX(9px); 1846} 1847 1848 1849.panel-right:hover{ 1850 transform: 1851 translateX(-9px); 1852} 1853 1854 1855.article-pro-panel:hover{ 1856 border-color: 1857 rgba(255,218,75,.32); 1858 1859 box-shadow: 1860 0 15px 32px rgba(0,0,0,.35), 1861 0 0 16px rgba(32, 232, 232, 0.11), 1862 0 0 25px rgba(255,216,70,.05),
1863 inset 0 0 28px rgba(32, 232, 229, 0.065); 1864} 1865 1866 1867/* ====================================================== 1868 PANEL TOP ENERGY LINE 1869====================================================== */ 1870 1871.article-pro-panel::before{ 1872 content:""; 1873 1874 position:absolute; 1875 1876 top:0; 1877 left:-45%; 1878 1879 width:35%; 1880 height:2px; 1881 1882 background: 1883 linear-gradient( 1884 90deg, 1885 transparent, 1886 #ffffff, 1887 #39f2ff, 1888 #ffe16a, 1889 transparent 1890 ); 1891 1892 box-shadow: 1893 0 0 9px rgba(57, 199, 255, 0.55); 1894 1895 animation: 1896 panelEdgeLight 5s linear infinite; 1897} 1898 1899 1900/* glass sweep */ 1901 1902.article-pro-panel::after{ 1903 content:""; 1904 1905 position:absolute; 1906 1907 top:-30%; 1908 left:-50%; 1909 1910 width:22%; 1911 height:160%; 1912 1913 background: 1914 linear-gradient( 1915 90deg, 1916 transparent, 1917 rgba(255,255,255,.09), 1918 transparent 1919 ); 1920 1921 transform: 1922 rotate(18deg); 1923 1924 animation: 1925 articlePanelShine 7s ease-in-out infinite; 1926 1927 pointer-events:none; 1928} 1929 1930 1931/* ====================================================== 1932 NUMBER 1933====================================================== */ 1934 1935.article-pro-number{ 1936 position:absolute; 1937 1938 left:20px; 1939 top:50%; 1940 1941 width:36px; 1942 height:36px; 1943 1944 display:flex; 1945 1946 align-items:center; 1947 justify-content:center; 1948 1949 transform: 1950 translateY(-50%) 1951 rotate(-7deg); 1952 1953 border-radius: 1954 50% 15% 50% 15%; 1955 1956 background: 1957 linear-gradient( 1958 145deg, 1959 #32d7ed, 1960 #07105d 1961 ); 1962 1963 border: 1964 1px solid rgba(255,216,71,.44); 1965 1966 color:#ffe16a; 1967 1968 font-size:9px; 1969 1970 font-weight:900; 1971 1972 box-shadow: 1973 0 0 8px rgba(32, 185, 232, 0.2), 1974 0 0 14px rgba(255,216,70,.06); 1975} 1976 1977 1978/* ====================================================== 1979 TEXT 1980====================================================== */ 1981 1982.article-pro p{ 1983 position:relative; 1984 1985 z-index:4; 1986 1987 margin:0; 1988 1989 color:#edf3ef !important; 1990 1991 font-size:14.5px; 1992 1993 line-height:1.9; 1994 1995 text-align:left; 1996} 1997 1998 1999.article-pro a, 2000.article-pro a:visited{ 2001 color:#8af5ff !important; 2002 2003 font-weight:900; 2004 2005 text-decoration:none; 2006 2007 text-shadow: 2008 0 0 7px rgba(44, 51, 242, 0.2); 2009 2010 transition: 2011 color .22s ease, 2012 text-shadow .22s ease; 2013} 2014 2015 2016.article-pro a:hover{ 2017 color:#ffe16b !important; 2018 2019 text-shadow: 2020 0 0 9px rgba(255,225,107,.36); 2021} 2022 2023 2024/* ====================================================== 2025 CENTER ENERGY 2026====================================================== */ 2027 2028.article-energy{ 2029 position:relative; 2030 2031 z-index:8; 2032 2033 width:100%; 2034 height:48px; 2035} 2036 2037 2038.article-energy::before{ 2039 content:""; 2040 2041 position:absolute; 2042 2043 left:50%; 2044 top:0; 2045 bottom:0; 2046 2047 width:2px; 2048 2049 transform: 2050 translateX(-50%); 2051 2052 background: 2053 linear-gradient( 2054 transparent, 2055 #20b3e8, 2056 #ffe168, 2057 #20b3e8, 2058 transparent 2059 ); 2060 2061 box-shadow: 2062 0 0 8px rgba(32, 185, 232, 0.45); 2063 2064 opacity:.58; 2065} 2066 2067 2068.article-energy span{ 2069 position:absolute; 2070 2071 left:50%; 2072 top:50%; 2073 2074 width:12px; 2075 height:12px; 2076 2077 transform: 2078 translate(-50%,-50%) 2079 rotate(45deg); 2080 2081 background: 2082 linear-gradient( 2083 145deg, 2084 #b6ffd0, 2085 #37eae4 2086 ); 2087 2088 border: 2089 1px solid rgba(255,227,105,.60); 2090 2091 box-shadow: 2092 0 0 8px #20b3e8, 2093 0 0 18px rgba(32, 65, 232, 0.45), 2094 0 0 25px rgba(255,216,70,.12); 2095 2096 animation: 2097 articleEnergyNode 1.6s ease-in-out infinite alternate; 2098} 2099 2100 2101/* ====================================================== 2102 BACKGROUND EFFECTS 2103====================================================== */ 2104 2105.article-pro-fx{ 2106 position:absolute; 2107 2108 inset:0; 2109 2110 z-index:2; 2111 2112 overflow:hidden; 2113 2114 pointer-events:none; 2115} 2116 2117 2118/* ====================================================== 2119 GHOST GOPAYTOGEL 2120====================================================== */ 2121 2122.article-watermark{ 2123 position:absolute; 2124 2125 left:50%; 2126 top:50%; 2127 2128 transform: 2129 translate(-50%,-50%) 2130 scale(.75); 2131 2132 color:#80f7ff; 2133 2134 font-size:61px; 2135 2136 font-weight:1000; 2137 2138 letter-spacing:11px; 2139 2140 white-space:nowrap; 2141 2142 opacity:0; 2143 2144 text-shadow: 2145 0 0 8px rgba(55, 125, 255, 0.3), 2146 0 0 22px rgba(55, 95, 255, 0.13); 2147 2148 animation: 2149 articleBrandGhost 12s ease-in-out infinite; 2150} 2151 2152 2153/* ====================================================== 2154 EMERALD CUBES 2155====================================================== */ 2156 2157.article-cube{ 2158 position:absolute; 2159 2160 width:80px; 2161 height:80px; 2162 2163 border: 2164 1px solid rgba(65, 62, 255, 0.13); 2165 2166 background: 2167 linear-gradient( 2168 145deg, 2169 rgba(32, 85, 232, 0.04), 2170 rgba(255,255,255,.008) 2171 ); 2172 2173 box-shadow: 2174 inset 0 0 20px rgba(32, 105, 232, 0.025); 2175 2176 transform: 2177 rotate(30deg); 2178} 2179 2180 2181.ac1{ 2182 left:5%; 2183 top:17%; 2184 2185 animation: 2186 articleCubeOne 12s ease-in-out infinite alternate; 2187} 2188 2189 2190.ac2{ 2191 right:6%; 2192 top:48%; 2193 2194 width:120px; 2195 height:120px; 2196 2197 animation: 2198 articleCubeTwo 15s ease-in-out infinite alternate; 2199} 2200 2201 2202.ac3{ 2203 left:45%; 2204 bottom:2%; 2205 2206 width:58px; 2207 height:58px; 2208 2209 animation: 2210 articleCubeOne 10s ease-in-out infinite alternate-reverse; 2211} 2212 2213 2214/* ====================================================== 2215 EMERALD GEMS 2216====================================================== */ 2217 2218.article-gem{ 2219 position:absolute; 2220 2221 width:24px; 2222 height:34px; 2223 2224 clip-path: 2225 polygon( 2226 50% 0, 2227 90% 21%, 2228 100% 60%, 2229 50% 100%, 2230 0 60%, 2231 10% 21% 2232 ); 2233 2234 background: 2235 linear-gradient( 2236 145deg, 2237 #d8ffe4, 2238 #4beaea 29%, 2239 #0b4698 62%, 2240 #070543 2241 ); 2242 2243 opacity:.22; 2244 2245 filter: 2246 drop-shadow( 2247 0 0 7px rgba(32, 49, 232, 0.22) 2248 ); 2249 2250 animation: 2251 articleGemFloat 8s ease-in-out infinite alternate; 2252} 2253 2254 2255.ag1{ 2256 right:13%; 2257 top:16%; 2258} 2259 2260 2261.ag2{ 2262 left:10%; 2263 bottom:13%; 2264 2265 width:18px; 2266 height:26px; 2267 2268 animation-delay:-4s; 2269} 2270 2271 2272.ag3{ 2273 left:54%; 2274 top:9%; 2275 2276 width:15px; 2277 height:22px; 2278 2279 animation-delay:-6s; 2280} 2281 2282 2283/* ====================================================== 2284 WIND LEAVES 2285====================================================== */ 2286 2287.article-leaf{ 2288 position:absolute; 2289
2290 left:-70px; 2291 2292 font-size:20px; 2293 2294 opacity:.34; 2295 2296 filter: 2297 brightness(1.18) 2298 drop-shadow( 2299 0 0 5px rgba(38, 42, 255, 0.2) 2300 ); 2301 2302 animation: 2303 articleLeafWind 11s linear infinite; 2304} 2305 2306 2307.al1{ 2308 top:25%; 2309 animation-delay:-2s; 2310} 2311 2312 2313.al2{ 2314 top:58%; 2315 animation-delay:-7s; 2316} 2317 2318 2319.al3{ 2320 top:79%; 2321 animation-delay:-4s; 2322} 2323 2324 2325/* ====================================================== 2326 FOOTER 2327====================================================== */ 2328 2329.article-pro-footer{ 2330 position:relative; 2331 2332 z-index:8; 2333 2334 display:flex; 2335 2336 align-items:center; 2337 justify-content:center; 2338 2339 gap:14px; 2340 2341 margin-top:26px; 2342 2343 padding-top:18px; 2344 2345 border-top: 2346 1px solid rgba(255,255,255,.065); 2347 2348 color:#79e6ff; 2349 2350 font-size:9px; 2351 2352 font-weight:900; 2353 2354 letter-spacing:1.6px; 2355} 2356 2357 2358.article-pro-footer i{ 2359 width:5px; 2360 height:5px; 2361 2362 border-radius:50%; 2363 2364 background:#ffe169; 2365 2366 box-shadow: 2367 0 0 7px rgba(255,225,105,.5); 2368 2369 animation: 2370 footerDotPulse 1.3s ease-in-out infinite alternate; 2371} 2372 2373 2374/* ====================================================== 2375 OUTER AURA ANIMATIONS 2376====================================================== */ 2377 2378@keyframes articleOuterAura{ 2379 2380 from{ 2381 filter: 2382 drop-shadow(0 0 7px rgba(32, 79, 232, 0.22)) 2383 drop-shadow(0 0 18px rgba(32, 62, 232, 0.11)) 2384 drop-shadow(0 0 30px rgba(255,215,65,.05)); 2385 } 2386 2387 to{ 2388 filter: 2389 drop-shadow(0 0 15px rgba(58, 235, 255, 0.5)) 2390 drop-shadow(0 0 34px rgba(32, 82, 232, 0.24)) 2391 drop-shadow(0 0 58px rgba(255,215,65,.15)); 2392 } 2393} 2394 2395 2396@keyframes articleAuraLeft{ 2397 2398 from{ 2399 opacity:.28; 2400 2401 transform: 2402 translateX(-9px) 2403 scaleY(.84); 2404 } 2405 2406 to{ 2407 opacity:.78; 2408 2409 transform: 2410 translateX(8px) 2411 scaleY(1.08); 2412 } 2413} 2414 2415 2416@keyframes articleAuraRight{ 2417 2418 from{ 2419 opacity:.23; 2420 2421 transform: 2422 translateX(8px) 2423 scaleY(.88); 2424 } 2425 2426 to{ 2427 opacity:.72; 2428 2429 transform: 2430 translateX(-7px) 2431 scaleY(1.07); 2432 } 2433} 2434 2435 2436/* ====================================================== 2437 INTERNAL ANIMATIONS 2438====================================================== */ 2439 2440@keyframes articleAmbient{ 2441 2442 from{ 2443 opacity:.32; 2444 2445 transform: 2446 translate(-50%,-50%) 2447 scale(.88); 2448 } 2449 2450 to{ 2451 opacity:1; 2452 2453 transform: 2454 translate(-50%,-50%) 2455 scale(1.15); 2456 } 2457} 2458 2459 2460@keyframes articleHeadLine{ 2461 2462 from{ 2463 left:-35%; 2464 } 2465 2466 to{ 2467 left:115%; 2468 } 2469} 2470 2471 2472@keyframes panelEdgeLight{ 2473 2474 from{ 2475 left:-45%; 2476 } 2477 2478 to{ 2479 left:120%; 2480 } 2481} 2482 2483 2484@keyframes articlePanelShine{ 2485 2486 0%, 2487 65%{ 2488 left:-50%; 2489 opacity:0; 2490 } 2491 2492 73%{ 2493 opacity:1; 2494 } 2495 2496 100%{ 2497 left:140%; 2498 opacity:0; 2499 } 2500} 2501 2502 2503@keyframes articleEnergyNode{ 2504 2505 from{ 2506 transform: 2507 translate(-50%,-50%) 2508 rotate(45deg) 2509 scale(.75); 2510 2511 opacity:.45; 2512 } 2513 2514 to{ 2515 transform: 2516 translate(-50%,-50%) 2517 rotate(225deg) 2518 scale(1.18); 2519 2520 opacity:1; 2521 } 2522} 2523 2524 2525@keyframes articleBrandGhost{ 2526 2527 0%, 2528 62%{ 2529 opacity:0; 2530 2531 transform: 2532 translate(-50%,-50%) 2533 scale(.7); 2534 2535 filter: 2536 blur(6px); 2537 } 2538 2539 70%{ 2540 opacity:.05; 2541 } 2542 2543 76%{ 2544 opacity:.15; 2545 2546 transform: 2547 translate(-50%,-50%) 2548 scale(1); 2549 2550 filter: 2551 blur(0); 2552 } 2553 2554 82%{ 2555 opacity:.08; 2556 2557 letter-spacing:18px; 2558 } 2559 2560 88%{ 2561 opacity:0; 2562 2563 transform: 2564 translate(-50%,-50%) 2565 scale(1.2); 2566 2567 filter: 2568 blur(7px); 2569 2570 letter-spacing:25px; 2571 } 2572 2573 100%{ 2574 opacity:0; 2575 } 2576} 2577 2578 2579@keyframes articleCubeOne{ 2580 2581 from{ 2582 transform: 2583 translate(0,0) 2584 rotate(25deg); 2585 2586 opacity:.14; 2587 } 2588 2589 to{ 2590 transform: 2591 translate(30px,-42px) 2592 rotate(80deg); 2593 2594 opacity:.38; 2595 } 2596} 2597 2598 2599@keyframes articleCubeTwo{ 2600 2601 from{ 2602 transform: 2603 translate(0,0) 2604 rotate(-20deg); 2605 2606 opacity:.12; 2607 } 2608 2609 to{ 2610 transform: 2611 translate(-40px,45px) 2612 rotate(55deg); 2613 2614 opacity:.31; 2615 } 2616} 2617 2618 2619@keyframes articleGemFloat{ 2620 2621 from{ 2622 transform: 2623 translateY(0) 2624 rotate(-5deg) 2625 scale(.82); 2626 2627 opacity:.12; 2628 } 2629 2630 to{ 2631 transform: 2632 translateY(-30px) 2633 rotate(10deg) 2634 scale(1.08); 2635 2636 opacity:.31; 2637 } 2638} 2639 2640 2641@keyframes articleLeafWind{ 2642 2643 0%{
2644 left:-70px; 2645 2646 opacity:0; 2647 2648 transform: 2649 translateY(0) 2650 rotate(0deg); 2651 } 2652 2653 10%{ 2654 opacity:.36; 2655 } 2656 2657 35%{ 2658 transform: 2659 translateY(-20px) 2660 rotate(170deg); 2661 } 2662 2663 62%{ 2664 transform: 2665 translateY(18px) 2666 rotate(350deg); 2667 } 2668 2669 82%{ 2670 transform: 2671 translateY(-14px) 2672 rotate(500deg); 2673 } 2674 2675 100%{ 2676 left:108%; 2677 2678 opacity:0; 2679 2680 transform: 2681 translateY(10px) 2682 rotate(650deg); 2683 } 2684} 2685 2686 2687@keyframes footerDotPulse{ 2688 2689 from{ 2690 opacity:.35; 2691 2692 transform:scale(.7); 2693 } 2694 2695 to{ 2696 opacity:1; 2697 2698 transform:scale(1.2); 2699 } 2700} 2701 2702 2703/* ====================================================== 2704 MOBILE 2705====================================================== */ 2706 2707@media(max-width:760px){ 2708 2709 .article-aura-wrap{ 2710 width:calc(100% - 14px); 2711 2712 margin:38px auto; 2713 } 2714 2715 2716 .article-aura-wrap::before, 2717 .article-aura-wrap::after{ 2718 width:90px; 2719 2720 filter:blur(22px); 2721 2722 opacity:.42; 2723 } 2724 2725 2726 .article-pro{ 2727 padding: 2728 23px 12px 22px; 2729 2730 clip-path: 2731 polygon( 2732 18px 0, 2733 calc(100% - 38px) 0, 2734 100% 25px, 2735 100% calc(100% - 18px), 2736 calc(100% - 20px) 100%, 2737 35px 100%, 2738 0 calc(100% - 25px), 2739 0 18px 2740 ); 2741 } 2742 2743 2744 .article-pro-panel{ 2745 width:100%; 2746 2747 padding: 2748 17px 14px 17px 52px; 2749 } 2750 2751 2752 .panel-left, 2753 .panel-right{ 2754 clip-path: 2755 polygon( 2756 0 0, 2757 calc(100% - 13px) 0, 2758 100% 50%, 2759 calc(100% - 13px) 100%, 2760 0 100%, 2761 7px 50% 2762 ); 2763 } 2764 2765 2766 .panel-left:hover, 2767 .panel-right:hover{ 2768 transform: 2769 translateX(3px); 2770 } 2771 2772 2773 .article-pro-number{ 2774 left:13px; 2775 2776 width:29px; 2777 height:29px; 2778 } 2779 2780 2781 .article-pro p{ 2782 font-size:12px; 2783 2784 line-height:1.75; 2785 } 2786 2787 2788 .article-energy{ 2789 height:35px; 2790 } 2791 2792 2793 .article-watermark{ 2794 font-size:29px; 2795 2796 letter-spacing:4px; 2797 } 2798 2799 2800 .ac2, 2801 .ac3, 2802 .ag3{ 2803 display:none; 2804 } 2805 2806 2807 .article-pro-footer{ 2808 flex-wrap:wrap; 2809 2810 gap:8px; 2811 2812 font-size:8px; 2813 } 2814} 2815 2816 2817/* ====================================================== 2818 REDUCED MOTION 2819====================================================== */ 2820 2821@media(prefers-reduced-motion:reduce){ 2822 2823 .article-aura-wrap, 2824 .article-aura-wrap::before, 2825 .article-aura-wrap::after, 2826 .article-pro::after, 2827 .article-pro-line::after, 2828 .article-pro-panel::before, 2829 .article-pro-panel::after, 2830 .article-energy span, 2831 .article-watermark, 2832 .article-cube, 2833 .article-gem, 2834 .article-leaf, 2835 .article-pro-footer i{ 2836 animation:none !important; 2837 } 2838} 2839</style> 2840 2841 2842 2843 2844 <div class="gt-faq-aura"> 2845 2846 <!-- ========================= 2847 FAQ UTAMA 2848 ========================== --> 2849 <div class="gt-faq-world"> 2850 2851 <!-- BACKGROUND BRAND EFFECT --> 2852 <div class="gt-brand-burst" aria-hidden="true"> 2853 <strong>GOPAYTOGEL</strong> 2854 2855 <span class="burst-leaf bl1">ð</span> 2856 <span class="burst-leaf bl2">â¡</span> 2857 <span class="burst-leaf bl3">ð</span> 2858 <span class="burst-leaf bl4">â¡</span> 2859 <span class="burst-leaf bl5">ð</span> 2860 <span class="burst-leaf bl6">â¡</span> 2861 <span class="burst-leaf bl7">ð</span> 2862 <span class="burst-leaf bl8">â¡</span> 2863 </div> 2864 2865 2866 <!-- DECOR CUBES --> 2867 <span class="gt-cube cube1"></span> 2868 <span class="gt-cube cube2"></span> 2869 <span class="gt-cube cube3"></span> 2870 2871 <span class="gt-gem gem1"></span> 2872 <span class="gt-gem gem2"></span> 2873 2874 2875 <!-- HEADER --> 2876 <header class="gt-faq-header"> 2877 2878 <span class="gt-faq-overline"> 2879 GOPAYTOGEL FAQ 2880 </span> 2881 2882 <h2> 2883 GOPAYTOGEL | Racikan Situs Toto 4D Resmi & Bandar Togel 2884 Online dengan Layanan 24 Jam 2885 </h2> 2886 2887 <p> 2888 Informasi akses, pasaran, transaksi, layanan, 2889 pendaftaran dan penggunaan GOPAYTOGEL. 2890 </p> 2891 2892 </header> 2893 2894 2895 <!-- FAQ ROUTE --> 2896 <div class="gt-faq-route"> 2897 2898 <!-- FAQ 1 --> 2899 <details class="gt-faq-node left-node" open> 2900 <summary>
2901 <span class="node-number">01</span> 2902 2903 <span class="node-text"> 2904 Apa itu GOPAYTOGEL? 2905 </span> 2906 2907 <span class="node-trigger"></span> 2908 </summary> 2909 2910 <div class="node-answer"> 2911 GOPAYTOGEL merupakan platform yang menyajikan informasi Toto 4D, berbagai pilihan pasaran togel online, result terbaru, serta layanan yang tersedia sepanjang hari. 2912 </div> 2913 </details> 2914 2915 2916 <!-- FAQ 2 --> 2917 <details class="gt-faq-node right-node"> 2918 <summary> 2919 <span class="node-number">02</span> 2920 2921 <span class="node-text"> 2922 Apa saja informasi yang tersedia di GOPAYTOGEL? 2923 </span> 2924 2925 <span class="node-trigger"></span> 2926 </summary> 2927 2928 <div class="node-answer"> 2929 Pengguna dapat menemukan informasi mengenai Toto 4D, jadwal pasaran, result terbaru, pilihan permainan, serta berbagai informasi pendukung yang diperbarui secara berkala. 2930 </div> 2931 </details> 2932 2933 2934 <!-- FAQ 3 --> 2935 <details class="gt-faq-node left-node"> 2936 <summary> 2937 <span class="node-number">03</span> 2938 2939 <span class="node-text"> 2940 Apakah layanan GOPAYTOGEL tersedia selama 24 jam? 2941 </span> 2942 2943 <span class="node-trigger"></span> 2944 </summary> 2945 2946 <div class="node-answer"> 2947 GOPAYTOGEL menyediakan layanan 24 jam agar pengguna dapat memperoleh informasi dan bantuan pada berbagai waktu sesuai kebutuhan. 2948 </div> 2949 </details> 2950 2951 2952 <!-- FAQ 4 --> 2953 <details class="gt-faq-node right-node"> 2954 <summary> 2955 <span class="node-number">04</span> 2956 2957 <span class="node-text"> 2958 Bagaimana cara melihat result Toto 4D di GOPAYTOGEL? 2959 </span> 2960 2961 <span class="node-trigger"></span> 2962 </summary> 2963 2964 <div class="node-answer"> 2965 Result Toto 4D dapat dilihat melalui bagian informasi hasil yang tersedia pada halaman GOPAYTOGEL. Data disusun berdasarkan pasaran agar lebih mudah dibaca. 2966 </div> 2967 </details> 2968 2969 2970 <!-- FAQ 5 --> 2971 <details class="gt-faq-node left-node"> 2972 <summary> 2973 <span class="node-number">05</span> 2974 2975 <span class="node-text"> 2976 Apakah GOPAYTOGEL menyediakan berbagai pilihan pasaran? 2977 </span> 2978 2979 <span class="node-trigger"></span> 2980 </summary> 2981 2982 <div class="node-answer"> 2983 Ya, GOPAYTOGEL menampilkan berbagai kategori pasaran dalam satu halaman sehingga pengguna dapat melihat informasi sesuai pasaran yang ingin dicari. 2984 </div> 2985 </details> 2986 2987 2988 <!-- FAQ 6 --> 2989 <details class="gt-faq-node right-node"> 2990 <summary> 2991 <span class="node-number">06</span> 2992 2993 <span class="node-text"> 2994 Apa keunggulan layanan GOPAYTOGEL? 2995 </span> 2996 2997 <span class="node-trigger"></span> 2998 </summary> 2999 3000 <div class="node-answer"> 3001 GOPAYTOGEL mengutamakan penyajian informasi yang tersusun rapi, pembaruan result, pilihan pasaran yang beragam, serta dukungan layanan selama 24 jam. 3002 </div> 3003 </details> 3004 3005 </div> 3006 <!-- END FAQ ROUTE --> 3007 3008 </div> 3009 <!-- END gt-faq-world --> 3010 3011 3012 <!-- ========================= 3013 EFEK DI LUAR TABLE 3014 JANGAN MASUKKAN KE gt-faq-world 3015 ========================== --> 3016 <div class="gt-outer-fx" aria-hidden="true"> 3017 3018 <!-- PETIR --> 3019 <span class="outer-lightning ol1"></span> 3020 <span class="outer-lightning ol2"></span> 3021 <span class="outer-lightning ol3"></span> 3022 <span class="outer-lightning ol4"></span> 3023 3024 <!-- BINTANG --> 3025 <span class="outer-star os1">â¦</span> 3026 <span class="outer-star os2">â </span> 3027 <span class="outer-star os3">â§</span> 3028 <span class="outer-star os4">â¦</span> 3029 <span class="outer-star os5">â </span> 3030 <span class="outer-star os6">â§</span> 3031 <span class="outer-star os7">â¦</span> 3032 <span class="outer-star os8">â </span> 3033 3034 </div> 3035 3036</div> 3037<!-- END gt-faq-aura --> 3038 3039 3040<style> 3041 3042/* ========================================================= 3043 GLOBAL FAQ WORLD 3044========================================================= */ 3045 3046.gt-faq-world{ 3047 position:relative; 3048 3049 width:min(1120px,calc(100% - 28px)); 3050 3051 margin:45px auto; 3052 3053 padding: 3054 36px 36px 42px; 3055 3056 box-sizing:border-box; 3057 3058 overflow:hidden; 3059 3060 color:#fff; 3061 3062 font-family: 3063 "Trebuchet MS", 3064 "Segoe UI", 3065 Arial, 3066 sans-serif; 3067 3068 /* sudut dipotong */ 3069 clip-path: 3070 polygon( 3071 28px 0, 3072 calc(100% - 65px) 0, 3073 100% 38px, 3074 100% calc(100% - 27px), 3075 calc(100% - 28px) 100%, 3076 65px 100%, 3077 0 calc(100% - 40px), 3078 0 28px 3079 ); 3080 3081 background: 3082 radial-gradient( 3083 circle at 15% 15%, 3084 rgba(30, 79, 255, 0.13), 3085 transparent 30% 3086 ), 3087 radial-gradient( 3088 circle at 85% 85%, 3089 rgba(255,215,80,.07), 3090 transparent 30% 3091 ), 3092 linear-gradient( 3093 145deg, 3094 #06140a, 3095 #020905 62%, 3096 #0b130d 3097 ); 3098 3099 border: 3100 1px solid rgba(56, 225, 255, 0.22); 3101 3102 box-shadow: 3103 0 25px 60px rgba(0,0,0,.42), 3104 inset 0 0 55px rgba(32,232,106,.035); 3105 3106 isolation:isolate; 3107} 3108 3109 3110/* background grid */ 3111.gt-faq-world::before{ 3112 content:""; 3113 3114 position:absolute; 3115 inset:0; 3116 3117 z-index:-4; 3118 3119 opacity:.10; 3120 3121 background-image: 3122 linear-gradient( 3123 rgba(77, 101, 255, 0.12) 1px, 3124 transparent 1px 3125 ), 3126 linear-gradient( 3127 90deg, 3128 rgba(77, 113, 255, 0.12) 1px, 3129 transparent 1px 3130 ); 3131 3132 background-size: 3133 42px 42px; 3134 3135 mask-image: 3136 linear-gradient( 3137 transparent, 3138 #000 20%, 3139 #000 80%, 3140 transparent 3141 ); 3142} 3143 3144 3145/* moving green atmosphere */ 3146.gt-faq-world::after{ 3147 content:""; 3148 3149 position:absolute; 3150 3151 width:550px; 3152 height:550px; 3153 3154 left:50%; 3155 top:50%; 3156 3157 z-index:-3; 3158 3159 transform: 3160 translate(-50%,-50%); 3161 3162 border-radius:50%; 3163 3164 background: 3165 radial-gradient( 3166 circle, 3167 rgba(32,232,106,.12), 3168 transparent 68% 3169 ); 3170 3171 filter:blur(30px); 3172 3173 animation: 3174 gtAmbientBreath 6s ease-in-out infinite alternate; 3175} 3176 3177 3178/* ========================================================= 3179 HEADER 3180========================================================= */ 3181 3182.gt-faq-header{ 3183 position:relative; 3184 3185 z-index:10; 3186 3187 max-width:900px; 3188 3189 margin: 3190 0 auto 38px; 3191 3192 padding: 3193 0 20px 24px; 3194 3195 text-align:center; 3196} 3197 3198 3199.gt-faq-overline{ 3200 display:inline-flex; 3201 3202 align-items:center; 3203 3204 gap:8px; 3205 3206 margin-bottom:9px; 3207 3208 color:#69f0ff; 3209 3210 font-size:9px; 3211 font-weight:900; 3212 3213 letter-spacing:3px; 3214} 3215 3216 3217.gt-faq-overline::before, 3218.gt-faq-overline::after{ 3219 content:""; 3220 3221 width:28px; 3222 height:1px; 3223 3224 background: 3225 linear-gradient( 3226 90deg, 3227 transparent, 3228 #40fffc 3229 ); 3230} 3231 3232 3233.gt-faq-overline::after{
3234 transform:scaleX(-1); 3235} 3236 3237 3238.gt-faq-header h2{ 3239 margin:0 0 10px; 3240 3241 color:#fff !important; 3242 3243 font-size:27px; 3244 font-weight:900; 3245 3246 line-height:1.4; 3247 3248 text-shadow: 3249 0 2px 5px rgba(0,0,0,.65); 3250} 3251 3252 3253.gt-faq-header p{ 3254 margin:0; 3255 3256 color:#aebeb3 !important; 3257 3258 font-size:13px; 3259 3260 line-height:1.7; 3261} 3262 3263 3264/* ========================================================= 3265 ROUTE 3266========================================================= */ 3267 3268.gt-faq-route{ 3269 position:relative; 3270 3271 z-index:8; 3272 3273 display:flex; 3274 3275 flex-direction:column; 3276 3277 gap:15px; 3278} 3279 3280 3281/* vertical energy route */ 3282 3283.gt-faq-route::before{ 3284 content:""; 3285 3286 position:absolute; 3287 3288 left:50%; 3289 top:15px; 3290 bottom:15px; 3291 3292 width:2px; 3293 3294 transform: 3295 translateX(-50%); 3296 3297 background: 3298 linear-gradient( 3299 transparent, 3300 #20b3e8, 3301 #ffe161, 3302 #20b3e8, 3303 transparent 3304 ); 3305 3306 box-shadow: 3307 0 0 7px rgba(32, 42, 232, 0.45); 3308 3309 opacity:.42; 3310} 3311 3312 3313/* moving particle */ 3314 3315.gt-faq-route::after{ 3316 content:""; 3317 3318 position:absolute; 3319 3320 left:50%; 3321 top:0; 3322 3323 width:8px; 3324 height:8px; 3325 3326 transform: 3327 translateX(-50%); 3328 3329 border-radius:50%; 3330 3331 background:#caffd9; 3332 3333 box-shadow: 3334 0 0 6px #fff, 3335 0 0 15px #20b3e8; 3336 3337 animation: 3338 routeParticle 6s linear infinite; 3339} 3340 3341 3342/* ========================================================= 3343 FAQ NODE 3344========================================================= */ 3345 3346.gt-faq-node{ 3347 position:relative; 3348 3349 width:calc(50% - 28px); 3350 3351 box-sizing:border-box; 3352 3353 overflow:hidden; 3354 3355 background: 3356 linear-gradient( 3357 120deg, 3358 rgba(15, 31, 71, 0.74), 3359 rgba(3,15,7,.96) 3360 ); 3361 3362 border: 3363 1px solid rgba(79, 79, 255, 0.15); 3364 3365 box-shadow: 3366 0 8px 22px rgba(0,0,0,.25); 3367 3368 transition: 3369 transform .3s ease, 3370 border-color .3s ease, 3371 box-shadow .3s ease; 3372} 3373 3374 3375/* kiri punya bentuk khusus */ 3376.left-node{ 3377 align-self:flex-start; 3378 3379 clip-path: 3380 polygon( 3381 0 0, 3382 calc(100% - 18px) 0, 3383 100% 50%, 3384 calc(100% - 18px) 100%, 3385 0 100%, 3386 12px 50% 3387 ); 3388} 3389 3390 3391/* kanan punya bentuk kebalikan */ 3392.right-node{ 3393 align-self:flex-end; 3394 3395 clip-path: 3396 polygon( 3397 18px 0, 3398 100% 0, 3399 calc(100% - 12px) 50%, 3400 100% 100%, 3401 18px 100%, 3402 0 50% 3403 ); 3404} 3405 3406 3407.gt-faq-node:hover{ 3408 border-color: 3409 rgba(255,217,78,.36); 3410 3411 box-shadow: 3412 0 12px 26px rgba(0,0,0,.33), 3413 0 0 15px rgba(32,232,106,.08); 3414} 3415 3416 3417.left-node:hover{ 3418 transform: 3419 translateX(7px); 3420} 3421 3422 3423.right-node:hover{ 3424 transform: 3425 translateX(-7px); 3426} 3427 3428 3429/* traveling edge light */ 3430 3431.gt-faq-node::before{ 3432 content:""; 3433 3434 position:absolute; 3435 3436 left:-45%; 3437 top:0; 3438 3439 width:30%; 3440 height:2px; 3441 3442 background: 3443 linear-gradient( 3444 90deg, 3445 transparent, 3446 #ffffff, 3447 #42c6ff, 3448 #ffe161, 3449 transparent 3450 ); 3451 3452 box-shadow: 3453 0 0 8px rgba(46, 98, 255, 0.5); 3454 3455 animation: 3456 edgeTravel 4.5s linear infinite; 3457} 3458 3459 3460/* ========================================================= 3461 QUESTION 3462========================================================= */ 3463 3464.gt-faq-node summary{ 3465 position:relative; 3466 3467 z-index:4; 3468 3469 display:grid; 3470 3471 grid-template-columns: 3472 42px 3473 1fr 3474 31px; 3475 3476 gap:12px; 3477 3478 align-items:center; 3479 3480 min-height:69px; 3481 3482 padding: 3483 10px 18px; 3484 3485 box-sizing:border-box; 3486 3487 list-style:none; 3488 3489 cursor:pointer; 3490 3491 user-select:none; 3492} 3493 3494 3495.gt-faq-node summary::-webkit-details-marker{ 3496 display:none; 3497} 3498 3499 3500.gt-faq-node summary::marker{ 3501 display:none; 3502} 3503 3504 3505/* ========================================================= 3506 NUMBER 3507========================================================= */ 3508 3509.node-number{ 3510 width:36px; 3511 height:36px; 3512 3513 display:flex; 3514 3515 align-items:center; 3516 justify-content:center; 3517 3518 border-radius: 3519 50% 15% 50% 15%; 3520 3521 background: 3522 linear-gradient( 3523 145deg, 3524 #31d1ed, 3525 #0a075c 3526 ); 3527 3528 border: 3529 1px solid rgba(255,218,85,.37); 3530 3531 color:#ffe273; 3532 3533 font-size:10px; 3534 font-weight:900; 3535 3536 box-shadow: 3537 0 0 8px rgba(32, 59, 232, 0.18); 3538 3539 transform: 3540 rotate(-5deg); 3541} 3542 3543 3544.node-text{ 3545 color:#f4faf6 !important; 3546 3547 font-size:13.5px; 3548 3549 line-height:1.55; 3550 3551 font-weight:800; 3552} 3553 3554 3555/* ========================================================= 3556 TRIGGER 3557========================================================= */ 3558 3559.node-trigger{ 3560 position:relative; 3561 3562 width:28px; 3563 height:28px; 3564 3565 border-radius: 3566 6px 50% 6px 50%; 3567 3568 background: 3569 rgba(32,232,106,.08); 3570 3571 border: 3572 1px solid rgba(91, 129, 255, 0.16); 3573 3574 transform: 3575 rotate(45deg); 3576 3577 transition: 3578 transform .35s ease, 3579 background .35s ease; 3580} 3581 3582 3583.node-trigger::before, 3584.node-trigger::after{ 3585 content:""; 3586 3587 position:absolute; 3588 3589 left:50%; 3590 top:50%; 3591 3592 background:#e5ffed; 3593 3594 border-radius:99px; 3595 3596 transform: 3597 translate(-50%,-50%) 3598 rotate(-45deg); 3599} 3600 3601 3602.node-trigger::before{ 3603 width:10px; 3604 height:2px; 3605} 3606 3607 3608.node-trigger::after{ 3609 width:2px; 3610 height:10px; 3611} 3612 3613 3614/* ========================================================= 3615 OPEN 3616========================================================= */ 3617 3618.gt-faq-node[open]{ 3619 border-color: 3620 rgba(255,220,85,.25); 3621 3622 background: 3623 linear-gradient( 3624 120deg, 3625 rgba(18, 45, 99, 0.8), 3626 rgba(4,18,8,.97) 3627 ); 3628} 3629 3630 3631.gt-faq-node[open] .node-text{ 3632 color:#ffe375 !important; 3633} 3634 3635 3636.gt-faq-node[open] .node-trigger{ 3637 background: 3638 rgba(255,215,70,.13); 3639 3640 transform: 3641 rotate(225deg); 3642} 3643 3644 3645.gt-faq-node[open] .node-trigger::after{ 3646 opacity:0; 3647} 3648 3649 3650/* ========================================================= 3651 ANSWER 3652========================================================= */ 3653 3654.node-answer{ 3655 position:relative; 3656 3657 z-index:4; 3658 3659 margin: 3660 0 17px 16px; 3661 3662 padding: 3663 14px 15px; 3664 3665 border-left: 3666 2px solid rgba(47, 185, 235, 0.55); 3667 3668 background: 3669 linear-gradient( 3670 90deg, 3671 rgba(0,0,0,.25), 3672 rgba(7,28,13,.50) 3673 ); 3674 3675 color:#dce7df !important; 3676 3677 font-size:12.5px; 3678 3679 line-height:1.75; 3680 3681 animation: 3682 nodeAnswerReveal .35s ease; 3683} 3684 3685 3686/* ========================================================= 3687 BACKGROUND CUBES 3688========================================================= */ 3689 3690.gt-cube{ 3691 position:absolute; 3692 3693 z-index:1; 3694 3695 width:90px; 3696 height:90px; 3697 3698 border: 3699 1px solid rgba(59,255,133,.14); 3700 3701 background: 3702 linear-gradient( 3703 145deg, 3704 rgba(36,235,115,.045), 3705 rgba(255,255,255,.008) 3706 ); 3707 3708 box-shadow: 3709 inset 0 0 25px rgba(32,232,106,.025); 3710 3711 transform: 3712 rotate(35deg); 3713 3714 pointer-events:none; 3715} 3716 3717 3718.cube1{ 3719 left:5%; 3720 top:24%; 3721 3722 animation: 3723 cubeFloatOne 12s ease-in-out infinite alternate; 3724} 3725 3726 3727.cube2{ 3728 right:6%; 3729 top:48%; 3730 3731 width:125px; 3732 height:125px; 3733 3734 animation: 3735 cubeFloatTwo 15s ease-in-out infinite alternate; 3736} 3737 3738 3739.cube3{ 3740 left:45%; 3741 bottom:4%; 3742 3743 width:60px; 3744 height:60px; 3745 3746 animation: 3747 cubeFloatOne 10s ease-in-out infinite alternate-reverse; 3748} 3749 3750 3751/* ========================================================= 3752 EMERALD GEMS 3753========================================================= */ 3754 3755.gt-gem{ 3756 position:absolute; 3757 3758 z-index:2; 3759 3760 width:28px; 3761 height:40px; 3762 3763 clip-path: 3764 polygon( 3765 50% 0, 3766 90% 20%, 3767 100% 60%, 3768 50% 100%, 3769 0 60%, 3770 10% 20% 3771 ); 3772 3773 background: 3774 linear-gradient( 3775 145deg, 3776 #c7ffda, 3777 #47ec8b 28%, 3778 #0c9951 61%, 3779 #054124 3780 ); 3781 3782 opacity:.22; 3783 3784 filter: 3785 drop-shadow( 3786 0 0 7px rgba(32,232,106,.22) 3787 ); 3788 3789 pointer-events:none; 3790 3791 animation: 3792 gemSoftFloat 8s ease-in-out infinite alternate; 3793} 3794 3795 3796.gem1{ 3797 right:16%; 3798 top:20%; 3799} 3800 3801 3802.gem2{ 3803 left:13%; 3804 bottom:12%; 3805 3806 width:20px; 3807 height:29px; 3808 3809 animation-delay:-4s; 3810} 3811 3812 3813/* ========================================================= 3814 GOPAYTOGEL APPEAR + BURST 3815========================================================= */ 3816 3817.gt-brand-burst{ 3818 position:absolute; 3819 3820 left:50%; 3821 top:50%; 3822 3823 width:1px; 3824 height:1px; 3825 3826 z-index:3; 3827 3828 pointer-events:none; 3829} 3830 3831 3832.gt-brand-burst strong{ 3833 position:absolute; 3834 3835 left:50%; 3836 top:50%; 3837 3838 transform: 3839 translate(-50%,-50%) 3840 scale(.65); 3841 3842 white-space:nowrap; 3843 3844 color:#dffff0; 3845 3846 font-size:48px; 3847 font-weight:1000; 3848 3849 letter-spacing:5px; 3850 3851 opacity:0; 3852 3853 text-shadow: 3854 0 0 6px #fff, 3855 0 0 14px #35ff7f, 3856 0 0 30px rgba(32, 92, 232, 0.55)); 3857 3858 animation: 3859 brandAppearBreak 11s ease-in-out infinite; 3860} 3861 3862 3863/* ========================================================= 3864 BURST LEAVES 3865========================================================= */ 3866 3867.burst-leaf{ 3868 position:absolute; 3869 3870 left:0; 3871 top:0; 3872 3873 font-size:20px; 3874 3875 opacity:0; 3876 3877 filter: 3878 brightness(1.15) 3879 drop-shadow( 3880 0 0 5px rgba(42,255,123,.30) 3881 ); 3882} 3883 3884 3885.bl1{ 3886 --x:-150px; 3887 --y:-90px; 3888 animation-delay:0s; 3889} 3890 3891.bl2{
3892 --x:-200px; 3893 --y:20px; 3894} 3895 3896.bl3{ 3897 --x:-135px; 3898 --y:115px; 3899} 3900 3901.bl4{ 3902 --x:150px; 3903 --y:-100px; 3904} 3905 3906.bl5{ 3907 --x:205px; 3908 --y:-5px; 3909} 3910 3911.bl6{ 3912 --x:150px; 3913 --y:110px; 3914} 3915 3916.bl7{ 3917 --x:-30px; 3918 --y:-145px; 3919} 3920 3921.bl8{ 3922 --x:40px; 3923 --y:145px; 3924} 3925 3926 3927.burst-leaf{ 3928 animation: 3929 leafBurst 11s ease-out infinite; 3930} 3931 3932 3933/* ========================================================= 3934 ANIMATIONS 3935========================================================= */ 3936 3937@keyframes gtAmbientBreath{ 3938 3939 from{ 3940 opacity:.35; 3941 3942 transform: 3943 translate(-50%,-50%) 3944 scale(.85); 3945 } 3946 3947 to{ 3948 opacity:1; 3949 3950 transform: 3951 translate(-50%,-50%) 3952 scale(1.15); 3953 } 3954} 3955 3956 3957@keyframes routeParticle{ 3958 3959 from{ 3960 top:0; 3961 opacity:0; 3962 } 3963 3964 10%{ 3965 opacity:1; 3966 } 3967 3968 90%{ 3969 opacity:1; 3970 } 3971 3972 to{ 3973 top:100%; 3974 opacity:0; 3975 } 3976} 3977 3978 3979@keyframes edgeTravel{ 3980 3981 from{ 3982 left:-45%; 3983 } 3984 3985 to{ 3986 left:120%; 3987 } 3988} 3989 3990 3991@keyframes nodeAnswerReveal{ 3992 3993 from{ 3994 opacity:0; 3995 3996 transform: 3997 translateY(-6px); 3998 } 3999 4000 to{ 4001 opacity:1; 4002 4003 transform: 4004 translateY(0); 4005 } 4006} 4007 4008 4009@keyframes cubeFloatOne{ 4010 4011 from{ 4012 transform: 4013 translate(0,0) 4014 rotate(25deg); 4015 4016 opacity:.18; 4017 } 4018 4019 to{ 4020 transform: 4021 translate(30px,-45px) 4022 rotate(80deg); 4023 4024 opacity:.42; 4025 } 4026} 4027 4028 4029@keyframes cubeFloatTwo{ 4030 4031 from{ 4032 transform: 4033 translate(0,0) 4034 rotate(-20deg); 4035 4036 opacity:.14; 4037 } 4038 4039 to{ 4040 transform: 4041 translate(-40px,50px) 4042 rotate(55deg); 4043 4044 opacity:.35; 4045 } 4046} 4047 4048 4049@keyframes gemSoftFloat{ 4050 4051 from{ 4052 transform: 4053 translateY(0) 4054 rotate(-5deg) 4055 scale(.85); 4056 4057 opacity:.12; 4058 } 4059 4060 to{ 4061 transform: 4062 translateY(-35px) 4063 rotate(12deg) 4064 scale(1.08); 4065 4066 opacity:.34; 4067 } 4068} 4069 4070 4071/* text muncul lalu seolah pecah */ 4072 4073@keyframes brandAppearBreak{ 4074 4075 0%, 4076 58%{ 4077 opacity:0; 4078 4079 transform: 4080 translate(-50%,-50%) 4081 scale(.6); 4082 4083 filter: 4084 blur(7px); 4085 } 4086 4087 64%{ 4088 opacity:.25; 4089 } 4090 4091 70%{ 4092 opacity:.95; 4093 4094 transform: 4095 translate(-50%,-50%) 4096 scale(1); 4097 4098 filter: 4099 blur(0); 4100 } 4101 4102 76%{ 4103 opacity:1; 4104 4105 transform: 4106 translate(-50%,-50%) 4107 scale(1.04); 4108 4109 letter-spacing:6px; 4110 } 4111 4112 80%{ 4113 opacity:.5; 4114 4115 transform: 4116 translate(-50%,-50%) 4117 scale(1.12); 4118 4119 letter-spacing:13px; 4120 4121 filter: 4122 blur(2px); 4123 } 4124 4125 84%{ 4126 opacity:0; 4127 4128 transform: 4129 translate(-50%,-50%) 4130 scale(1.3); 4131 4132 letter-spacing:22px; 4133 4134 filter: 4135 blur(8px); 4136 } 4137 4138 100%{ 4139 opacity:0; 4140 } 4141} 4142 4143 4144/* daun meledak setelah tulisan */ 4145 4146@keyframes leafBurst{ 4147 4148 0%, 4149 75%{ 4150 opacity:0; 4151 4152 transform: 4153 translate(0,0) 4154 rotate(0deg) 4155 scale(.4); 4156 } 4157 4158 80%{ 4159 opacity:0; 4160 } 4161 4162 84%{ 4163 opacity:.95; 4164 4165 transform: 4166 translate(0,0) 4167 rotate(20deg) 4168 scale(.8); 4169 } 4170 4171 92%{ 4172 opacity:.80; 4173 4174 transform: 4175 translate( 4176 var(--x), 4177 var(--y) 4178 ) 4179 rotate(300deg) 4180 scale(1); 4181 } 4182 4183 100%{ 4184 opacity:0; 4185 4186 transform: 4187 translate( 4188 calc(var(--x) * 1.25), 4189 calc(var(--y) * 1.25) 4190 ) 4191 rotate(520deg) 4192 scale(.55); 4193 } 4194} 4195 4196 4197/* ========================================================= 4198 MOBILE 4199========================================================= */ 4200 4201@media(max-width:760px){ 4202 4203 .gt-faq-world{ 4204 width:calc(100% - 12px); 4205 4206 padding: 4207 24px 12px 30px; 4208 4209 clip-path: 4210 polygon( 4211 18px 0, 4212 calc(100% - 38px) 0, 4213 100% 25px, 4214 100% calc(100% - 18px), 4215 calc(100% - 20px) 100%, 4216 35px 100%, 4217 0 calc(100% - 25px), 4218 0 18px 4219 ); 4220 } 4221 4222 4223 .gt-faq-header{ 4224 margin-bottom:25px; 4225 } 4226 4227 4228 .gt-faq-header h2{ 4229 font-size:19px; 4230 } 4231 4232 4233 .gt-faq-route::before, 4234 .gt-faq-route::after{ 4235 display:none; 4236 } 4237 4238 4239 .gt-faq-node{ 4240 width:100%; 4241 } 4242 4243 4244 .left-node, 4245 .right-node{ 4246 align-self:stretch; 4247 4248 clip-path: 4249 polygon( 4250 0 0, 4251 calc(100% - 12px) 0, 4252 100% 50%, 4253 calc(100% - 12px) 100%, 4254 0 100%, 4255 7px 50% 4256 ); 4257 } 4258 4259 4260 .left-node:hover, 4261 .right-node:hover{ 4262 transform: 4263 translateX(3px); 4264 } 4265 4266 4267 .gt-faq-node summary{ 4268 grid-template-columns: 4269 34px 4270 1fr 4271 27px; 4272 4273 gap:8px; 4274 4275 min-height:60px; 4276 4277 padding: 4278 9px 12px; 4279 } 4280 4281 4282 .node-number{ 4283 width:31px; 4284 height:31px; 4285 } 4286 4287 4288 .node-text{ 4289 font-size:11.5px; 4290 } 4291 4292 4293 .node-trigger{ 4294 width:24px; 4295 height:24px; 4296 } 4297 4298 4299 .node-answer{ 4300 margin: 4301 0 10px 11px; 4302 4303 padding:12px; 4304 4305 font-size:11.5px; 4306 } 4307 4308 4309 .gt-brand-burst strong{ 4310 font-size:27px; 4311 4312 letter-spacing:2px; 4313 } 4314 4315 4316 .burst-leaf{ 4317 font-size:15px; 4318 } 4319 4320 4321 .cube2, 4322 .cube3, 4323 .gem2{ 4324 display:none; 4325 } 4326 4327} 4328 4329 4330/* ========================================================= 4331 REDUCED MOTION 4332========================================================= */ 4333 4334@media(prefers-reduced-motion:reduce){ 4335 4336 .gt-faq-world::after, 4337 .gt-faq-route::after, 4338 .gt-faq-node::before, 4339 .gt-cube, 4340 .gt-gem, 4341 .gt-brand-burst strong, 4342 .burst-leaf{ 4343 animation:none !important; 4344 } 4345} 4346 4347/* ========================================================= 4348 OUTER FAQ AURA WRAPPER 4349========================================================= */ 4350 4351.gt-faq-aura{ 4352 position:relative; 4353 4354 width:min(1160px,calc(100% - 20px)); 4355 4356 margin:65px auto; 4357 4358 isolation:isolate; 4359 4360 /* glow utama */ 4361 filter: 4362 drop-shadow(0 0 8px rgba(32, 105, 232, 0.28)) 4363 drop-shadow(0 0 22px rgba(32, 132, 232, 0.17)) 4364 drop-shadow(0 0 42px rgba(255,215,70,.09)); 4365 4366 animation: 4367 gtOuterAuraBreath 3.8s ease-in-out infinite alternate; 4368} 4369 4370 4371/* FAQ lama tetap mengikuti ukuran wrapper */ 4372 4373.gt-faq-aura .gt-faq-world{ 4374 width:calc(100% - 28px); 4375 4376 margin:0 auto; 4377 4378 position:relative; 4379 4380 z-index:5; 4381} 4382 4383 4384/* ========================================================= 4385 EMERALD LIGHT - LEFT 4386========================================================= */ 4387 4388.gt-faq-aura::before{ 4389 content:""; 4390 4391 position:absolute; 4392 4393 left:-65px; 4394 top:7%; 4395 4396 width:155px; 4397 height:86%; 4398 4399 z-index:-2; 4400 4401 border-radius:50%; 4402 4403 background: 4404 radial-gradient( 4405 ellipse, 4406 rgba(145, 251, 255, 0.5) 0%, 4407 rgba(47, 151, 255, 0.32) 18%, 4408 rgba(32, 85, 232, 0.16) 38%, 4409 rgba(35, 32, 232, 0.05) 60%, 4410 transparent 78% 4411 ); 4412 4413 filter:blur(28px); 4414 4415 animation: 4416 gtEmeraldOuterLeft 4s ease-in-out infinite alternate; 4417} 4418 4419 4420/* ========================================================= 4421 GOLD LIGHT - RIGHT 4422========================================================= */ 4423 4424.gt-faq-aura::after{ 4425 content:""; 4426 4427 position:absolute; 4428 4429 right:-65px; 4430 top:10%; 4431 4432 width:160px; 4433 height:80%; 4434 4435 z-index:-2; 4436 4437 border-radius:50%; 4438 4439 background: 4440 radial-gradient( 4441 ellipse, 4442 rgba(255,245,174,.46) 0%, 4443 rgba(255,218,70,.28) 20%, 4444 rgba(255,185,35,.12) 40%, 4445 rgba(255,180,20,.04) 62%, 4446 transparent 78% 4447 ); 4448 4449 filter:blur(30px); 4450 4451 animation: 4452 gtGoldOuterRight 4.7s ease-in-out infinite alternate; 4453} 4454 4455 4456/* ========================================================= 4457 OUTER FX CONTAINER 4458========================================================= */ 4459 4460.gt-outer-fx{ 4461 position:absolute; 4462 4463 inset:-42px; 4464 4465 z-index:2; 4466 4467 overflow:visible; 4468 4469 pointer-events:none; 4470} 4471 4472 4473/* ========================================================= 4474 ELECTRIC LIGHTNING 4475========================================================= */ 4476 4477.outer-lightning{ 4478 position:absolute; 4479 4480 display:block; 4481 4482 height:2px; 4483 4484 background: 4485 linear-gradient( 4486 90deg, 4487 transparent 0%, 4488 rgba(255,255,255,.15) 10%, 4489 #ffffff 25%, 4490 #66dbff 42%, 4491 #20b3e8 60%, 4492 #ffe365 78%, 4493 transparent 100% 4494 ); 4495 4496 box-shadow: 4497 0 0 4px #ffffff, 4498 0 0 9px #48fff6, 4499 0 0 17px rgba(32, 232, 232, 0.9), 4500 0 0 27px rgba(255,218,80,.32); 4501 4502 opacity:0; 4503} 4504 4505 4506/* PETIR ATAS */ 4507 4508.ol1{ 4509 top:16px; 4510 left:4%; 4511 4512 width:36%; 4513 4514 transform: 4515 rotate(-1deg) 4516 skewX(-24deg); 4517 4518 animation: 4519 gtLightningTop 4.5s linear infinite; 4520} 4521 4522 4523/* PETIR ATAS KANAN */ 4524 4525.ol2{ 4526 top:22px; 4527 right:3%; 4528 4529 width:29%; 4530 4531 transform: 4532 rotate(2deg) 4533 skewX(22deg); 4534 4535 animation: 4536 gtLightningRight 5.4s linear infinite; 4537 4538 animation-delay:-2s; 4539} 4540 4541 4542/* PETIR BAWAH */ 4543 4544.ol3{ 4545 bottom:18px; 4546 left:11%; 4547 4548 width:31%; 4549 4550 transform: 4551 rotate(2deg) 4552 skewX(-20deg); 4553 4554 animation: 4555 gtLightningBottom 5s linear infinite; 4556 4557 animation-delay:-1.2s; 4558} 4559 4560 4561/* PETIR BAWAH KANAN */ 4562 4563.ol4{ 4564 bottom:14px; 4565 right:7%; 4566 4567 width:36%; 4568 4569 transform: 4570 rotate(-2deg) 4571 skewX(24deg); 4572 4573 animation: 4574 gtLightningRight 5.8s linear infinite; 4575 4576 animation-delay:-3s; 4577} 4578 4579 4580/* ========================================================= 4581 LIGHTNING BRANCH 4582========================================================= */ 4583 4584.outer-lightning::before, 4585.outer-lightning::after{ 4586 content:""; 4587 4588 position:absolute; 4589 4590 left:52%; 4591 4592 width:38px; 4593 height:2px; 4594 4595 background: 4596 linear-gradient( 4597 90deg, 4598 #fff, 4599 #5cbeff, 4600 transparent 4601 ); 4602 4603 box-shadow: 4604 0 0 7px #39b6ff; 4605 4606 transform-origin:left center; 4607} 4608 4609 4610.outer-lightning::before{ 4611 top:-8px; 4612 4613 transform: 4614 rotate(-28deg); 4615} 4616 4617 4618.outer-lightning::after{ 4619 bottom:-8px; 4620 4621 transform: 4622 rotate(30deg); 4623} 4624 4625 4626/* ========================================================= 4627 OUTER STARS 4628========================================================= */ 4629 4630.outer-star{ 4631 position:absolute; 4632 4633 color:#dffff0; 4634 4635 font-size:20px; 4636 4637 opacity:.3; 4638 4639 text-shadow: 4640 0 0 4px #fff, 4641 0 0 8px #61cdff, 4642 0 0 15px #20b3e8, 4643 0 0 23px rgba(255,220,75,.32); 4644 4645 filter: 4646 drop-shadow(0 0 7px rgba(32, 92, 232, 0.55)); 4647 4648 animation: 4649 gtOuterStarBlink 2s ease-in-out infinite alternate; 4650} 4651 4652 4653/* posisi random */ 4654 4655.os1{ 4656 left:2%; 4657 top:10%; 4658 4659 animation-delay:-.3s; 4660} 4661 4662 4663.os2{ 4664 left:8%; 4665 bottom:19%; 4666 4667 font-size:15px; 4668 4669 animation-delay:-1.4s; 4670} 4671 4672 4673.os3{ 4674 left:30%; 4675 top:-10px; 4676 4677 font-size:16px; 4678 4679 animation-delay:-.8s; 4680} 4681 4682 4683.os4{ 4684 right:25%; 4685 top:-4px; 4686 4687 font-size:23px; 4688 4689 animation-delay:-1.7s; 4690} 4691 4692 4693.os5{ 4694 right:2%; 4695 top:23%; 4696 4697 animation-delay:-.6s; 4698} 4699 4700 4701.os6{ 4702 right:5%; 4703 bottom:21%; 4704 4705 font-size:16px; 4706 4707 animation-delay:-1.2s; 4708} 4709 4710 4711.os7{ 4712 right:28%; 4713 bottom:-9px; 4714 4715 font-size:20px; 4716 4717 animation-delay:-2s; 4718} 4719 4720 4721.os8{ 4722 left:27%; 4723 bottom:-7px; 4724 4725 font-size:14px; 4726 4727 animation-delay:-1s; 4728} 4729 4730 4731/* ========================================================= 4732 EXTRA CORNER GLOW 4733========================================================= */ 4734 4735.gt-outer-fx::before{ 4736 content:""; 4737 4738 position:absolute; 4739 4740 left:-12px; 4741 top:-12px; 4742 4743 width:95px; 4744 height:95px; 4745 4746 border-top: 4747 2px solid rgba(88, 138, 255, 0.55); 4748 4749 border-left: 4750 2px solid rgba(88, 138, 255, 0.55); 4751 4752 filter: 4753 drop-shadow(0 0 7px #20d4e8); 4754 4755 opacity:.5; 4756 4757 clip-path: 4758 polygon( 4759 0 0, 4760 100% 0, 4761 100% 5%, 4762 18% 5%, 4763 5% 18%, 4764 5% 100%, 4765 0 100% 4766 ); 4767 4768 animation: 4769 gtCornerPulse 2.3s ease-in-out infinite alternate; 4770} 4771 4772 4773.gt-outer-fx::after{ 4774 content:""; 4775 4776 position:absolute; 4777 4778 right:-12px; 4779 bottom:-12px; 4780 4781 width:95px; 4782 height:95px; 4783 4784 border-right: 4785 2px solid rgba(255,220,75,.50); 4786 4787 border-bottom: 4788 2px solid rgba(255,220,75,.50); 4789 4790 filter: 4791 drop-shadow(0 0 7px #ffd943); 4792 4793 opacity:.5; 4794 4795 clip-path: 4796 polygon( 4797 95% 0, 4798 100% 0, 4799 100% 100%, 4800 0 100%, 4801 0 95%, 4802 82% 95%, 4803 95% 82% 4804 ); 4805 4806 animation: 4807 gtCornerPulse 2.7s ease-in-out infinite alternate-reverse; 4808} 4809 4810 4811/* ========================================================= 4812 AURA BREATH 4813========================================================= */ 4814 4815@keyframes gtOuterAuraBreath{ 4816 4817 from{ 4818 filter: 4819 drop-shadow(0 0 6px rgba(32,232,106,.20)) 4820 drop-shadow(0 0 16px rgba(32,232,106,.10)) 4821 drop-shadow(0 0 28px rgba(255,215,65,.04)); 4822 } 4823 4824 to{ 4825 filter: 4826 drop-shadow(0 0 13px rgba(55,255,132,.48)) 4827 drop-shadow(0 0 31px rgba(32,232,106,.22)) 4828 drop-shadow(0 0 52px rgba(255,215,65,.14)); 4829 } 4830} 4831 4832 4833/* ========================================================= 4834 SIDE LIGHT 4835========================================================= */ 4836 4837@keyframes gtEmeraldOuterLeft{ 4838 4839 from{ 4840 opacity:.28; 4841 4842 transform: 4843 translateX(-8px) 4844 scaleY(.83); 4845 } 4846 4847 to{ 4848 opacity:.82; 4849 4850 transform: 4851 translateX(8px) 4852 scaleY(1.08); 4853 } 4854} 4855 4856 4857@keyframes gtGoldOuterRight{ 4858 4859 from{ 4860 opacity:.22; 4861 4862 transform: 4863 translateX(8px) 4864 scaleY(.88); 4865 } 4866 4867 to{ 4868 opacity:.72; 4869 4870 transform: 4871 translateX(-8px) 4872 scaleY(1.07); 4873 } 4874} 4875 4876 4877/* ========================================================= 4878 LIGHTNING FLASH 4879========================================================= */ 4880 4881@keyframes gtLightningTop{ 4882 4883 0%, 4884 7%{ 4885 opacity:0; 4886 4887 transform: 4888 translateX(-45px) 4889 skewX(-24deg); 4890 } 4891 4892 9%{ 4893 opacity:1; 4894 } 4895 4896 11%{ 4897 opacity:.22; 4898 } 4899 4900 13%{ 4901 opacity:1; 4902 } 4903 4904 17%{ 4905 opacity:.45; 4906 } 4907 4908 23%{ 4909 opacity:0; 4910 4911 transform: 4912 translateX(160px) 4913 skewX(-24deg); 4914 } 4915 4916 100%{ 4917 opacity:0; 4918 } 4919} 4920 4921 4922@keyframes gtLightningRight{ 4923 4924 0%, 4925 32%{ 4926 opacity:0; 4927 } 4928 4929 34%{ 4930 opacity:.35; 4931 } 4932 4933 36%{ 4934 opacity:1; 4935 } 4936 4937 38%{ 4938 opacity:.2; 4939 } 4940 4941 40%{ 4942 opacity:1; 4943 } 4944 4945 47%{ 4946 opacity:0; 4947 4948 transform: 4949 translateX(-120px) 4950 skewX(20deg); 4951 } 4952 4953 100%{ 4954 opacity:0; 4955 } 4956} 4957 4958 4959@keyframes gtLightningBottom{ 4960 4961 0%, 4962 57%{ 4963 opacity:0; 4964 } 4965 4966 59%{ 4967 opacity:1; 4968 } 4969 4970 61%{ 4971 opacity:.18; 4972 } 4973 4974 63%{ 4975 opacity:1; 4976 } 4977 4978 69%{ 4979 opacity:.4; 4980 } 4981 4982 75%{ 4983 opacity:0; 4984 4985 transform: 4986 translateX(170px) 4987 skewX(-20deg); 4988 } 4989 4990 100%{ 4991 opacity:0; 4992 } 4993} 4994 4995 4996/* ========================================================= 4997 STARS 4998========================================================= */ 4999 5000@keyframes gtOuterStarBlink{ 5001 5002 from{ 5003 opacity:.14; 5004 5005 transform: 5006 rotate(0deg) 5007 scale(.65); 5008 5009 filter: 5010 brightness(.85) 5011 drop-shadow( 5012 0 0 4px rgba(32,232,106,.30) 5013 ); 5014 } 5015 5016 to{ 5017 opacity:1; 5018 5019 transform: 5020 rotate(45deg) 5021 scale(1.35); 5022 5023 filter: 5024 brightness(1.55) 5025 drop-shadow( 5026 0 0 10px rgba(32,232,106,.75) 5027 ); 5028 } 5029} 5030 5031 5032/* ========================================================= 5033 C
5033ORNER PULSE 5034========================================================= */ 5035 5036@keyframes gtCornerPulse{ 5037 5038 from{ 5039 opacity:.20; 5040 5041 transform: 5042 scale(.88); 5043 } 5044 5045 to{ 5046 opacity:.90; 5047 5048 transform: 5049 scale(1.04); 5050 } 5051} 5052 5053 5054/* ========================================================= 5055 MOBILE 5056========================================================= */ 5057 5058@media(max-width:760px){ 5059 5060 .gt-faq-aura{ 5061 width:calc(100% - 8px); 5062 5063 margin:45px auto; 5064 } 5065 5066 5067 .gt-faq-aura .gt-faq-world{ 5068 width:calc(100% - 12px); 5069 } 5070 5071 5072 .gt-faq-aura::before, 5073 .gt-faq-aura::after{ 5074 width:90px; 5075 5076 filter:blur(22px); 5077 5078 opacity:.42; 5079 } 5080 5081 5082 .gt-outer-fx{ 5083 inset:-20px; 5084 } 5085 5086 5087 .outer-lightning{ 5088 width:42%; 5089 } 5090 5091 5092 .outer-star{ 5093 font-size:15px; 5094 } 5095 5096 5097 .os2, 5098 .os3, 5099 .os6, 5100 .os8{ 5101 display:none; 5102 } 5103 5104 5105 .gt-outer-fx::before, 5106 .gt-outer-fx::after{ 5107 width:60px; 5108 height:60px; 5109 } 5110} 5111 5112 5113/* ========================================================= 5114 REDUCED MOTION 5115========================================================= */ 5116 5117@media(prefers-reduced-motion:reduce){ 5118 5119 .gt-faq-aura, 5120 .gt-faq-aura::before, 5121 .gt-faq-aura::after, 5122 .outer-lightning, 5123 .outer-star, 5124 .gt-outer-fx::before, 5125 .gt-outer-fx::after{ 5126 animation:none !important; 5127 } 5128} 5129 5130</style> 5131 5132 5133 5134 <section class="reviews-section"> 5135 5136 <h3 class="sgt-title sgt-section-title"> 5137 Review GOPAYTOGEL 5138 </h3> 5139 5140 <p class="sgt-review-note"> 5141 Review Terbaik Member GOPAYTOGEL 5142 </p> 5143 5144 5145 <!-- ========================= 5146 EXTRA EFFECT 5147 ========================== --> 5148 <div class="gt-review-effects" aria-hidden="true"> 5149 5150 <span class="gt-lightning-line"></span> 5151 5152 <span class="gt-leaf leaf-1">ð</span> 5153 <span class="gt-leaf leaf-2">â¡</span> 5154 <span class="gt-leaf leaf-3">ð</span> 5155 <span class="gt-leaf leaf-4">â¡</span> 5156 <span class="gt-leaf leaf-5">ð</span> 5157 <span class="gt-leaf leaf-6">â¡</span> 5158 5159 <span class="gt-rainbow-glow"></span> 5160 5161 </div> 5162 5163 5164 <!-- ========================= 5165 REVIEW MOVING LIST 5166 ========================== --> 5167 <div class="sgt-review-track"> 5168 5169 <div class="sgt-review-list"> 5170 5171 <!-- 1 --> 5172 <article class="sgt-review"> 5173 <div class="sgt-review-top"> 5174 5175 <div class="sgt-avatar">F</div> 5176 5177 <div> 5178 <div class="sgt-name"> 5179 Rizky Maulana Pratama ⢠Medan 5180 </div> 5181 5182 <div class="sgt-stars"> 5183 â â â â â 5184 </div> 5185 </div> 5186 5187 </div> 5188 5189 <p> 5190 Tampilannya cukup rapi dan gampang dipahami. Informasi pasaran juga tersusun jelas, jadi tidak bikin 5191 bingung saat mencari data yang dibutuhkan. 5192 </p> 5193 </article> 5194 5195 5196 <!-- 2 --> 5197 <article class="sgt-review"> 5198 <div class="sgt-review-top"> 5199 5200 <div class="sgt-avatar">A</div> 5201 5202 <div> 5203 <div class="sgt-name"> 5204 Dimas Arya Saputra ⢠Jakarta 5205 </div> 5206 5207 <div class="sgt-stars"> 5208 â â â â â 5209 </div> 5210 </div> 5211 5212 </div> 5213 5214 <p> 5215 Saya suka karena informasi di GOPAYTOGEL cukup lengkap dan update-nya terasa rutin. Layanan 24 5216 jam juga jadi nilai tambah. 5217 </p> 5218 </article> 5219 5220 5221 <!-- 3 --> 5222 <article class="sgt-review"> 5223 <div class="sgt-review-top"> 5224 5225 <div class="sgt-avatar">B</div> 5226 5227 <div> 5228 <div class="sgt-name"> 5229 Fajar Nugroho Santoso ⢠Makassar 5230 </div> 5231 5232 <div class="sgt-stars"> 5233 â â â â â 5234 </div> 5235 </div> 5236 5237 </div> 5238 5239 <p> 5240 Sejauh ini pengalaman saya cukup nyaman. Menu-menu utamanya mudah ditemukan dan proses 5241 melihat informasi Toto 4D juga simpel. 5242 </p> 5243 </article> 5244 5245 5246 <!-- 4 --> 5247 <article class="sgt-review"> 5248 <div class="sgt-review-top"> 5249 5250 <div class="sgt-avatar">P</div> 5251 5252 <div> 5253 <div class="sgt-name"> 5254 Andika Putra Ramadhan ⢠Bandung 5255 </div> 5256 5257 <div class="sgt-stars"> 5258 â â â â â 5259 </div> 5260 </div> 5261 5262 </div> 5263 5264 <p> 5265 Yang paling saya suka adalah tampilannya tidak terlalu ramai. Informasi result dan pasaran bisa dilihat 5266 dengan lebih jelas. 5267 </p> 5268 </article> 5269 5270 5271 <!-- 5 --> 5272 <article class="sgt-review"> 5273 <div class="sgt-review-top"> 5274 5275 <div class="sgt-avatar">T</div> 5276 5277 <div> 5278 <div class="sgt-name"> 5279 Kevin Aditya Wijaya ⢠Bandung 5280 </div> 5281 5282 <div class="sgt-stars"> 5283 â â â â â 5284 </div> 5285 </div> 5286 5287 </div> 5288 5289 <p> 5290 GOPAYTOGEL punya tampilan yang enak dilihat dan informasi yang cukup lengkap. Cocok buat yang 5291 ingin mengecek pasaran tanpa banyak langkah. 5292 </p> 5293 </article> 5294 5295 5296 <!-- 6 --> 5297 <article class="sgt-review"> 5298 <div class="sgt-review-top"> 5299 5300 <div class="sgt-avatar">R</div> 5301 5302 <div> 5303 <div class="sgt-name"> 5304 Rian Kurniawan Putra ⢠Papua 5305 </div> 5306 5307 <div class="sgt-stars"> 5308 â â â â â 5309 </div> 5310 </div> 5311 5312 </div> 5313 5314 <p> 5315 Pelayanannya responsif dan informasi yang tersedia cukup mudah dipahami. Secara keseluruhan 5316 pengalaman menggunakannya terasa praktis dan nyaman. 5317 </p> 5318 </article> 5319 5320 5321 <!-- DUPLIKAT UNTUK LOOP MULUS --> 5322 5323 <article class="sgt-review" aria-hidden="true"> 5324 <div class="sgt-review-top"> 5325 <div class="sgt-avatar">R</div> 5326 <div> 5327 <div class="sgt-name">Rizky Maulana Pratama ⢠Medan</div> 5328 <div class="sgt-stars">â â â â â </div> 5329 </div> 5330 </div> 5331 <p> 5332 Tampilannya cukup rapi dan gampang dipahami. Informasi pasaran juga tersusun jelas, jadi tidak bikin 5333 bingung saat mencari data yang dibutuhkan. 5334 </p> 5335 </article> 5336 5337 5338 <article class="sgt-review" aria-hidden="true"> 5339 <div class="sgt-review-top"> 5340 <div class="sgt-avatar">D</div> 5341 <div> 5342 <div class="sgt-name">Dimas Arya Saputra ⢠Jakarta</div> 5343 <div class="sgt-stars">â â â â â </div> 5344 </div> 5345 </div> 5346 <p> 5347 Saya suka karena informasi di GOPAYTOGEL cukup lengkap dan update-nya terasa rutin. Layanan 24 5348 jam juga jadi nilai tambah. 5349 </p> 5350 </article> 5351 5352 5353 <article class="sgt-review" aria-hidden="true"> 5354 <div class="sgt-review-top"> 5355 <div class="sgt-avatar">B</div> 5356 <div> 5357 <div class="sgt-name">Fajar Nugroho Santoso ⢠Makassar</div> 5358 <div class="sgt-stars">â â â â â </div> 5359 </div> 5360 </div> 5361 <p> 5362 Sejauh ini pengalaman saya cukup nyaman. Menu-menu utamanya mudah ditemukan dan proses 5363 melihat informasi Toto 4D juga simpel. 5364 </p> 5365 </article> 5366 5367 5368 <article class="sgt-review" aria-hidden="true"> 5369 <div class="sgt-review-top"> 5370 <div class="sgt-avatar">P</div> 5371 <div> 5372 <div class="sgt-name">Andika Putra Ramadhan ⢠Bandung</div> 5373 <div class="sgt-stars">â â â â â </div> 5374 </div> 5375 </div> 5376 <p> 5377 Yang paling saya suka adalah tampilannya tidak terlalu ramai. Informasi result dan pasaran bisa dilihat 5378 dengan lebih jelas. 5379 </p> 5380 </article> 5381 5382 5383 <article class="sgt-review" aria-hidden="true"> 5384 <div class="sgt-review-top"> 5385 <div class="sgt-avatar">T</div> 5386 <div> 5387 <div class="sgt-name">Kevin Aditya Wijaya ⢠Bandung</div> 5388 <div class="sgt-stars">â â â â â </div> 5389 </div> 5390 </div> 5391 <p> 5392 GOPAYTOGEL punya tampilan yang enak dilihat dan informasi yang cukup lengkap. Cocok buat yang 5393 ingin mengecek pasaran tanpa banyak langkah. 5394 </p> 5395 </article> 5396 5397 5398 <article class="sgt-review" aria-hidden="true"> 5399 <div class="sgt-review-top"> 5400 <div class="sgt-avatar">R</div> 5401 <div> 5402 <div class="sgt-name">Rian Kurniawan Putra ⢠Papua</div> 5403 <div class="sgt-stars">â â â â â </div> 5404 </div> 5405 </div> 5406 <p> 5407 Pelayanannya responsif dan informasi yang tersedia cukup mudah dipahami. Secara keseluruhan 5408 pengalaman menggunakannya terasa praktis dan nyaman. 5409 </p> 5410 </article> 5411 5412 </div> 5413 </div> 5414 5415 5416 <footer class="sgt-footer"> 5417 © 2026 GOPAYTOGEL 5418 </footer> 5419 5420</section> 5421 5422<style> 5423/* ========================================================= 5424 REVIEW SECTION 5425========================================================= */ 5426 5427.reviews-section{ 5428 position:relative; 5429 5430 width:min(1100px,calc(100% - 28px)); 5431 5432 margin:40px auto; 5433
5434 padding:32px 22px 26px; 5435 5436 box-sizing:border-box; 5437 5438 overflow:hidden; 5439 5440 border-radius:25px; 5441 5442 background: 5443 radial-gradient( 5444 circle at 10% 10%, 5445 rgba(32,232,106,.16), 5446 transparent 30% 5447 ), 5448 radial-gradient( 5449 circle at 90% 90%, 5450 rgba(255,215,60,.09), 5451 transparent 30% 5452 ), 5453 linear-gradient( 5454 145deg, 5455 #06130a, 5456 #020704 65%, 5457 #101109 5458 ); 5459 5460 border: 5461 1px solid rgba(32,232,106,.26); 5462 5463 box-shadow: 5464 0 20px 45px rgba(0,0,0,.38), 5465 0 0 20px rgba(32,232,106,.12), 5466 inset 0 0 35px rgba(32,232,106,.045); 5467 5468 isolation:isolate; 5469} 5470 5471 5472/* animated outer border */ 5473 5474.reviews-section::before{ 5475 content:""; 5476 5477 position:absolute; 5478 inset:0; 5479 5480 padding:2px; 5481 5482 border-radius:25px; 5483 5484 background: 5485 linear-gradient( 5486 120deg, 5487 #20b3e8, 5488 #ffe15a, 5489 #ffffff, 5490 #a84cff, 5491 #20b3e8 5492 ); 5493 5494 background-size:300% 300%; 5495 5496 -webkit-mask: 5497 linear-gradient(#fff 0 0) content-box, 5498 linear-gradient(#fff 0 0); 5499 5500 -webkit-mask-composite:xor; 5501 mask-composite:exclude; 5502 5503 animation: 5504 reviewOuterBorder 7s linear infinite; 5505 5506 pointer-events:none; 5507} 5508 5509 5510/* ========================================================= 5511 TITLE 5512========================================================= */ 5513 5514.sgt-section-title{ 5515 position:relative; 5516 z-index:5; 5517 5518 margin:0 0 8px; 5519 5520 text-align:center; 5521 5522 color:#fff; 5523 5524 font-size:30px; 5525 font-weight:900; 5526 5527 letter-spacing:.5px; 5528 5529 text-shadow: 5530 0 0 6px rgba(255,255,255,.32), 5531 0 0 14px rgba(32,232,106,.60); 5532} 5533 5534 5535.sgt-section-title::after{ 5536 content:""; 5537 5538 display:block; 5539 5540 width:135px; 5541 height:3px; 5542 5543 margin:13px auto 0; 5544 5545 border-radius:999px; 5546 5547 background: 5548 linear-gradient( 5549 90deg, 5550 transparent, 5551 #20b3e8, 5552 #ffe15a, 5553 #20b3e8, 5554 transparent 5555 ); 5556 5557 background-size:220% 100%; 5558 5559 box-shadow: 5560 0 0 9px rgba(32,232,106,.45); 5561 5562 animation: 5563 titleLightMove 3s linear infinite; 5564} 5565 5566 5567.sgt-review-note{ 5568 position:relative; 5569 z-index:5; 5570 5571 margin:0 0 18px; 5572 5573 text-align:center; 5574 5575 color:#cfded3; 5576 5577 font-size:14px; 5578} 5579 5580 5581/* ========================================================= 5582 TRACK / VIEWPORT 5583========================================================= */ 5584 5585.sgt-review-track{ 5586 position:relative; 5587 5588 z-index:4; 5589 5590 width:100%; 5591 5592 overflow:hidden; 5593 5594 padding:10px 0 15px; 5595 5596 -webkit-mask-image: 5597 linear-gradient( 5598 90deg, 5599 transparent, 5600 #000 7%, 5601 #000 93%, 5602 transparent 5603 ); 5604 5605 mask-image: 5606 linear-gradient( 5607 90deg, 5608 transparent, 5609 #000 7%, 5610 #000 93%, 5611 transparent 5612 ); 5613} 5614 5615 5616/* ========================================================= 5617 MOVING REVIEW LIST 5618========================================================= */ 5619 5620.sgt-review-list{ 5621 display:flex; 5622 5623 width:max-content; 5624 5625 gap:18px; 5626 5627 animation: 5628 reviewMarquee 42s linear infinite; 5629} 5630 5631 5632.sgt-review-track:hover .sgt-review-list{ 5633 animation-play-state:paused; 5634} 5635 5636 5637/* ========================================================= 5638 REVIEW CARD 5639========================================================= */ 5640 5641.sgt-review{ 5642 position:relative; 5643 5644 flex:0 0 315px; 5645 5646 min-height:205px; 5647 5648 padding:20px; 5649 5650 box-sizing:border-box; 5651 5652 overflow:hidden; 5653 5654 border-radius:18px; 5655 5656 background: 5657 linear-gradient( 5658 145deg, 5659 rgba(14,70,33,.82), 5660 rgba(4,17,8,.97) 65%, 5661 rgba(42,29,5,.30) 5662 ); 5663 5664 border: 5665 1px solid rgba(56,255,125,.20); 5666 5667 box-shadow: 5668 0 8px 20px rgba(0,0,0,.30), 5669 inset 0 0 22px rgba(32,232,106,.055); 5670 5671 transition: 5672 transform .30s ease, 5673 border-color .30s ease, 5674 box-shadow .30s ease; 5675 5676 isolation:isolate; 5677} 5678 5679 5680/* shine sweeping through card */ 5681 5682.sgt-review::before{ 5683 content:""; 5684 5685 position:absolute; 5686 5687 top:-25%; 5688 left:-65%; 5689 5690 width:35%; 5691 height:150%; 5692 5693 z-index:0; 5694 5695 background: 5696 linear-gradient( 5697 90deg, 5698 transparent, 5699 rgba(255,255,255,.04), 5700 rgba(255,255,255,.20), 5701 rgba(32,232,106,.09), 5702 transparent 5703 ); 5704 5705 transform: 5706 rotate(18deg); 5707 5708 animation: 5709 reviewShine 6s ease-in-out infinite; 5710 5711 pointer-events:none; 5712} 5713 5714
5715/* bottom glowing strip */ 5716 5717.sgt-review::after{ 5718 content:""; 5719 5720 position:absolute; 5721 5722 left:12%; 5723 right:12%; 5724 5725 bottom:0; 5726 5727 height:2px; 5728 5729 border-radius:999px; 5730 5731 background: 5732 linear-gradient( 5733 90deg, 5734 transparent, 5735 #20b3e8, 5736 #ffe15a, 5737 #20b3e8, 5738 transparent 5739 ); 5740 5741 box-shadow: 5742 0 0 8px rgba(32,232,106,.65); 5743 5744 animation: 5745 reviewBottomPulse 1.8s ease-in-out infinite alternate; 5746} 5747 5748 5749.sgt-review:hover{ 5750 transform: 5751 translateY(-8px) 5752 scale(1.025); 5753 5754 border-color: 5755 rgba(255,218,75,.55); 5756 5757 box-shadow: 5758 0 16px 30px rgba(0,0,0,.40), 5759 0 0 18px rgba(32,232,106,.16), 5760 0 0 30px rgba(255,216,60,.09), 5761 inset 0 0 25px rgba(32,232,106,.08); 5762} 5763 5764 5765/* ========================================================= 5766 REVIEW PROFILE 5767========================================================= */ 5768 5769.sgt-review-top{ 5770 position:relative; 5771 z-index:3; 5772 5773 display:flex; 5774 5775 align-items:center; 5776 5777 gap:12px; 5778 5779 margin-bottom:14px; 5780} 5781 5782 5783.sgt-avatar{ 5784 width:46px; 5785 height:46px; 5786 5787 flex:0 0 46px; 5788 5789 display:flex; 5790 5791 align-items:center; 5792 justify-content:center; 5793 5794 border-radius:50%; 5795 5796 color:#031006; 5797 5798 font-size:19px; 5799 font-weight:900; 5800 5801 background: 5802 radial-gradient( 5803 circle at 33% 28%, 5804 #ffffff, 5805 #9effbd 18%, 5806 #20b3e8 52%, 5807 #076a36 100% 5808 ); 5809 5810 border: 5811 2px solid rgba(255,216,70,.70); 5812 5813 box-shadow: 5814 0 0 7px #20b3e8, 5815 0 0 15px rgba(32,232,106,.42); 5816 5817 animation: 5818 avatarPulse 2s ease-in-out infinite alternate; 5819} 5820 5821 5822.sgt-name{ 5823 color:#fff; 5824 5825 font-size:15px; 5826 font-weight:800; 5827 5828 line-height:1.4; 5829} 5830 5831 5832.sgt-stars{ 5833 margin-top:3px; 5834 5835 color:#ffd84c; 5836 5837 font-size:15px; 5838 5839 letter-spacing:1.4px; 5840 5841 text-shadow: 5842 0 0 7px rgba(255,216,76,.75); 5843 5844 animation: 5845 starPulse 1.5s ease-in-out infinite alternate; 5846} 5847 5848 5849.sgt-review p{ 5850 position:relative; 5851 z-index:3; 5852 5853 margin:0; 5854 5855 color:#e7eee9; 5856 5857 font-size:14px; 5858 5859 line-height:1.75; 5860} 5861 5862 5863/* ========================================================= 5864 HORIZONTAL LIGHTNING 5865========================================================= */ 5866 5867.gt-review-effects{ 5868 position:absolute; 5869 5870 inset:0; 5871 5872 z-index:2; 5873 5874 overflow:hidden; 5875 5876 pointer-events:none; 5877} 5878 5879 5880.gt-lightning-line{ 5881 position:absolute; 5882 5883 top:53%; 5884 left:-50%; 5885 5886 width:44%; 5887 height:3px; 5888 5889 background: 5890 linear-gradient( 5891 90deg, 5892 transparent, 5893 #ffffff, 5894 #54ff96, 5895 #20b3e8, 5896 #ffffff, 5897 #ffe15a, 5898 transparent 5899 ); 5900 5901 transform: 5902 translateY(-50%) 5903 skewX(-20deg); 5904 5905 box-shadow: 5906 0 0 4px #fff, 5907 0 0 11px #39ff7d, 5908 0 0 22px rgba(32,232,106,.85), 5909 0 0 34px rgba(255,220,70,.30); 5910 5911 animation: 5912 horizontalLightning 4.6s linear infinite; 5913} 5914 5915 5916/* lightning branches */ 5917 5918.gt-lightning-line::before, 5919.gt-lightning-line::after{ 5920 content:""; 5921 5922 position:absolute; 5923 5924 left:50%; 5925 5926 width:38px; 5927 height:2px; 5928 5929 transform-origin:left; 5930 5931 background: 5932 linear-gradient( 5933 90deg, 5934 #fff, 5935 #39ff7d, 5936 transparent 5937 ); 5938 5939 box-shadow: 5940 0 0 7px #39ff7d; 5941} 5942 5943 5944.gt-lightning-line::before{ 5945 top:-8px; 5946 5947 transform: 5948 rotate(-27deg); 5949} 5950 5951 5952.gt-lightning-line::after{ 5953 bottom:-8px; 5954 5955 transform: 5956 rotate(27deg); 5957} 5958 5959 5960/* ========================================================= 5961 WIND LEAVES 5962========================================================= */ 5963 5964.gt-leaf{ 5965 position:absolute; 5966 5967 left:-80px; 5968 5969 font-size:25px; 5970 5971 opacity:.88; 5972 5973 filter: 5974 brightness(1.22) 5975 saturate(1.25) 5976 drop-shadow(0 0 5px rgba(54,255,126,.55)) 5977 drop-shadow(0 0 11px rgba(255,218,70,.18)); 5978 5979 animation: 5980 windLeaf 9s linear infinite; 5981} 5982 5983 5984.leaf-1{ 5985 top:17%; 5986 animation-delay:-1s; 5987 animation-duration:8.7s; 5988} 5989 5990.leaf-2{ 5991 top:31%; 5992 animation-delay:-4s; 5993 animation-duration:10.3s; 5994} 5995 5996.leaf-3{ 5997 top:45%; 5998 animation-delay:-7s; 5999 animation-duration:9.4s; 6000} 6001 6002.leaf-4{ 6003 top:62%; 6004 animation-delay:-2s; 6005 animation-duration:10.8s; 6006} 6007 6008.leaf-5{ 6009 top:76%; 6010 animation-delay:-6s; 6011 animation-duration:8.9s; 6012} 6013 6014.leaf-6{ 6015 top:88%; 6016 animation-delay:-8s; 6017 animation-duration:11.2s; 6018} 6019 6020 6021/* ========================================================= 6022 RAINBOW GLOW 6023========================================================= */ 6024 6025.gt-rainbow-glow{ 6026 position:absolute; 6027 6028 left:-20%; 6029 right:-20%; 6030 6031 bottom:-80px; 6032 6033 height:180px; 6034 6035 opacity:.13; 6036 6037 background: 6038 linear-gradient( 6039 90deg, 6040 rgba(255,80,90,.7), 6041 rgba(255,218,80,.7), 6042 rgba(55,255,130,.75), 6043 rgba(65,190,255,.62), 6044 rgba(165,85,255,.60), 6045 rgba(255,70,160,.62) 6046 ); 6047 6048 filter: 6049 blur(50px); 6050 6051 animation: 6052 rainbowFloat 8s ease-in-out infinite alternate; 6053} 6054 6055 6056/* ========================================================= 6057 SIDE CARD LIGHT 6058========================================================= */ 6059 6060.sgt-review-top::before, 6061.sgt-review-top::after{ 6062 content:""; 6063 6064 position:absolute; 6065 6066 top:50%; 6067 6068 width:3px; 6069 height:35px; 6070 6071 border-radius:999px; 6072 6073 background: 6074 linear-gradient( 6075 #20b3e8, 6076 #ffe15a, 6077 #20b3e8 6078 ); 6079 6080 box-shadow: 6081 0 0 7px #20b3e8, 6082 0 0 14px rgba(255,216,70,.35); 6083 6084 opacity:.30; 6085 6086 animation: 6087 cardSidePulse 2s ease-in-out infinite alternate; 6088} 6089 6090 6091.sgt-review-top::before{ 6092 left:-20px; 6093} 6094 6095 6096.sgt-review-top::after{ 6097 right:-20px; 6098} 6099 6100 6101/* ========================================================= 6102 FOOTER 6103========================================================= */ 6104 6105.sgt-footer{ 6106 position:relative; 6107 6108 z-index:5; 6109 6110 margin-top:18px; 6111 6112 padding-top:16px; 6113 6114 text-align:center; 6115 6116 color:#aebeb2; 6117 6118 font-size:13px; 6119 6120 border-top: 6121 1px solid rgba(255,255,255,.07); 6122} 6123 6124 6125/* ========================================================= 6126 ANIMATIONS 6127========================================================= */ 6128 6129@keyframes reviewMarquee{ 6130 6131 from{ 6132 transform:translateX(0); 6133 } 6134 6135 to{ 6136 transform:translateX(calc(-50% - 9px)); 6137 } 6138 6139} 6140 6141 6142@keyframes reviewOuterBorder{ 6143 6144 0%{ 6145 background-position:0% 50%; 6146 } 6147 6148 50%{ 6149 background-position:100% 50%; 6150 } 6151 6152 100%{ 6153 background-position:0% 50%; 6154 } 6155 6156} 6157 6158 6159@keyframes titleLightMove{ 6160 6161 from{ 6162 background-position:220% 50%; 6163 } 6164 6165 to{ 6166 background-position:-220% 50%; 6167 } 6168 6169} 6170 6171 6172@keyframes reviewShine{ 6173 6174 0%, 6175 60%{ 6176 left:-65%; 6177 opacity:0; 6178 } 6179 6180 67%{ 6181 opacity:1; 6182 } 6183 6184 100%{ 6185 left:140%; 6186 opacity:0; 6187 } 6188 6189} 6190 6191 6192@keyframes reviewBottomPulse{ 6193 6194 from{ 6195 opacity:.3;
6196 transform:scaleX(.7); 6197 } 6198 6199 to{ 6200 opacity:1; 6201 transform:scaleX(1); 6202 } 6203 6204} 6205 6206 6207@keyframes avatarPulse{ 6208 6209 from{ 6210 filter:brightness(.95); 6211 6212 box-shadow: 6213 0 0 6px #20b3e8, 6214 0 0 12px rgba(32,232,106,.35); 6215 } 6216 6217 to{ 6218 filter:brightness(1.25); 6219 6220 box-shadow: 6221 0 0 9px #ffffff, 6222 0 0 18px #20b3e8, 6223 0 0 25px rgba(255,216,70,.20); 6224 } 6225 6226} 6227 6228 6229@keyframes starPulse{ 6230 6231 from{ 6232 opacity:.6; 6233 filter:brightness(.95); 6234 } 6235 6236 to{ 6237 opacity:1; 6238 filter:brightness(1.4); 6239 } 6240 6241} 6242 6243 6244@keyframes horizontalLightning{ 6245 6246 0%{ 6247 left:-50%; 6248 opacity:0; 6249 } 6250 6251 8%{ 6252 opacity:1; 6253 } 6254 6255 17%{ 6256 opacity:.25; 6257 } 6258 6259 22%{ 6260 opacity:1; 6261 } 6262 6263 70%{ 6264 opacity:.85; 6265 } 6266 6267 100%{ 6268 left:115%; 6269 opacity:0; 6270 } 6271 6272} 6273 6274 6275@keyframes windLeaf{ 6276 6277 0%{ 6278 left:-80px; 6279 6280 opacity:0; 6281 6282 transform: 6283 translateY(0) 6284 rotate(0deg) 6285 scale(.65); 6286 } 6287 6288 8%{ 6289 opacity:.9; 6290 } 6291 6292 24%{ 6293 transform: 6294 translateY(-22px) 6295 rotate(100deg) 6296 scale(.9); 6297 } 6298 6299 45%{ 6300 transform: 6301 translateY(25px) 6302 rotate(220deg) 6303 scale(1); 6304 } 6305 6306 67%{ 6307 transform: 6308 translateY(-28px) 6309 rotate(350deg) 6310 scale(.83); 6311 } 6312 6313 83%{ 6314 transform: 6315 translateY(18px) 6316 rotate(480deg) 6317 scale(1); 6318 } 6319 6320 100%{ 6321 left:110%; 6322 6323 opacity:0; 6324 6325 transform: 6326 translateY(-12px) 6327 rotate(640deg) 6328 scale(.7); 6329 } 6330 6331} 6332 6333 6334@keyframes rainbowFloat{ 6335 6336 from{ 6337 transform: 6338 translateX(-6%) 6339 scaleX(.92); 6340 6341 opacity:.07; 6342 } 6343 6344 to{ 6345 transform: 6346 translateX(6%) 6347 scaleX(1.08); 6348 6349 opacity:.20; 6350 } 6351 6352} 6353 6354 6355@keyframes cardSidePulse{ 6356 6357 from{ 6358 opacity:.15; 6359 6360 height:18px; 6361 6362 transform: 6363 translateY(-50%) 6364 scaleY(.7); 6365 } 6366 6367 to{ 6368 opacity:1; 6369 6370 height:42px; 6371 6372 transform: 6373 translateY(-50%) 6374 scaleY(1); 6375 } 6376 6377} 6378 6379 6380/* ========================================================= 6381 MOBILE 6382========================================================= */ 6383 6384@media(max-width:768px){ 6385 6386 .reviews-section{ 6387 width:calc(100% - 14px); 6388 6389 padding:24px 12px 21px; 6390 6391 border-radius:19px; 6392 } 6393 6394 6395 .sgt-section-title{ 6396 font-size:23px; 6397 } 6398 6399 6400 .sgt-review-note{ 6401 font-size:12px; 6402 } 6403 6404 6405 .sgt-review{ 6406 flex-basis:270px; 6407 6408 min-height:210px; 6409 6410 padding:17px; 6411 } 6412 6413 6414 .sgt-review-list{ 6415 gap:14px; 6416 6417 animation-duration:35s; 6418 } 6419 6420 6421 .sgt-avatar{ 6422 width:41px; 6423 height:41px; 6424 6425 flex-basis:41px; 6426 } 6427 6428 6429 .sgt-name{ 6430 font-size:13.5px; 6431 } 6432 6433 6434 .sgt-stars{ 6435 font-size:13px; 6436 } 6437 6438 6439 .sgt-review p{ 6440 font-size:13px; 6441 6442 line-height:1.7; 6443 } 6444 6445 6446 .gt-lightning-line{ 6447 width:58%; 6448 } 6449 6450 6451 .gt-leaf{ 6452 font-size:19px; 6453 } 6454 6455 6456 .leaf-5, 6457 .leaf-6{ 6458 display:none; 6459 } 6460 6461 6462 .gt-rainbow-glow{ 6463 height:120px; 6464 } 6465 6466} 6467 6468 6469/* ========================================================= 6470 REDUCED MOTION 6471========================================================= */ 6472 6473@media(prefers-reduced-motion:reduce){ 6474 6475 .reviews-section::before, 6476 .sgt-review-list, 6477 .sgt-review::before, 6478 .sgt-review::after, 6479 .sgt-avatar, 6480 .sgt-stars, 6481 .gt-lightning-line, 6482 .gt-leaf, 6483 .gt-rainbow-glow, 6484 .sgt-review-top::before, 6485 .sgt-review-top::after{ 6486 animation:none !important; 6487 } 6488 6489} 6490</style> 6491
6492<script> 6493 document.addEventListener("DOMContentLoaded", function () { 6494 const faqItems = document.querySelectorAll(".sgt-faq"); 6495 6496 faqItems.forEach(function (item) { 6497 const question = item.querySelector(".sgt-question"); 6498 6499 question.setAttribute("role", "button"); 6500 question.setAttribute("tabindex", "0"); 6501 question.setAttribute("aria-expanded", "false"); 6502 6503 function toggleFaq() { 6504 const isActive = item.classList.contains("active"); 6505 6506 faqItems.forEach(function (faq) { 6507 faq.classList.remove("active"); 6508 6509 const faqQuestion = faq.querySelector(".sgt-question"); 6510 6511 if (faqQuestion) { 6512 faqQuestion.setAttribute("aria-expanded", "false"); 6513 } 6514 }); 6515 6516 if (!isActive) { 6517 item.classList.add("active"); 6518 question.setAttribute("aria-expanded", "true"); 6519 } 6520 } 6521 6522 question.addEventListener("click", toggleFaq); 6523 6524 question.addEventListener("keydown", function (event) { 6525 if (event.key === "Enter" || event.key === " ") { 6526 event.preventDefault(); 6527 toggleFaq(); 6528 } 6529 }); 6530 }); 6531 }); 6532</script>
6532 6533 6534 6535 6536 6537 <section class="pd-related-full"> 6538 <h2 class="pd-related-title">Produk Terkait</h2> 6539 <div class="pd-related-grid pd-related-grid--full"> 6540 <a class="pd-related-card" href="https://penthouse.gopaytogel.network/"> 6541 <div class="thumb"> 6542 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL"> 6543 <span class="mini-disc">-2%</span> </div> 6544 <div class="info"> 6545 <h3>GOPAYTOGEL</h3> 6546 <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"> 6547 <span class="final">Rp 10.500.000</span> 6548 <span class="ori">Rp 12.799.000</span> 6549 </span> 6550 <span class="sold">Terjual 200+</span> <span class="stock-dot low" title="Stok Terbatas"></span> 6551 </div> 6552 </a> 6553 <a class="pd-related-card" href="https://penthouse.gopaytogel.network/"> 6554 <div class="thumb"> 6555 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="TOTO"> 6556 <span class="mini-disc">-1%</span> </div> 6557 <div class="info"> 6558 <h3>TOTO</h3> 6559 <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"> 6560 <span class="final">Rp 23.887.000</span> 6561 <span class="ori">Rp 21.999.000</span> 6562 </span> 6563 <span class="sold">Terjual 20+</span> <span class="stock-dot out" title="Habis"></span> 6564 </div> 6565 </a> 6566 <a class="pd-related-card" href="https://gopaysayur.com/"> 6567 <div class="thumb"> 6568 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAY TOGEL"> 6569 <span class="mini-disc">-1%</span> </div> 6570 <div class="info"> 6571 <h3>GOPAY TOGEL</h3> 6572 <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"> 6573 <span class="final">Rp 24.600.000</span> 6574 <span class="ori">Rp 21.399.000</span> 6575 </span> 6576 <span class="sold">Terjual 6</span> <span class="stock-dot ready" title="Ready"></span> 6577 </div> 6578 </a> 6579 <a class="pd-related-card" href="https://gopaysayur.com/"> 6580 <div class="thumb"> 6581 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL LOGIN"> 6582 <span class="mini-disc">-1%</span> </div> 6583 <div class="info"> 6584 <h3>GOPAYTOGEL LOGIN</h3> 6585 <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"> 6586 <span class="final">
6586Rp 16.800.000</span> 6587 <span class="ori">Rp 19.799.000</span> 6588 </span> 6589 <span class="sold">Terjual 5</span> <span class="stock-dot ready" title="Ready"></span> 6590 </div> 6591 </a> 6592 <a class="pd-related-card" href="https://gopaysayur.com/"> 6593 <div class="thumb"> 6594 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL DAFTAR"> 6595 <span class="mini-disc">-1%</span> </div> 6596 <div class="info"> 6597 <h3>GOPAYTOGEL DAFTAR</h3> 6598 <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"> 6599 <span class="final">Rp 28.600.080</span> 6600 <span class="ori">Rp 27.999.000</span> 6601 </span> 6602 <span class="sold">Terjual 6</span> <span class="stock-dot low" title="Stok Terbatas"></span> 6603 </div> 6604 </a> 6605 <a class="pd-related-card" href="https://gopaysayur.com/"> 6606 <div class="thumb"> 6607 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL LINK"> 6608 <span class="mini-disc">-1%</span> </div> 6609 <div class="info"> 6610 <h3>GOPAYTOGEL LINK</h3> 6611 <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"> 6612 <span class="final">Rp 17.888.000</span> 6613 <span class="ori">Rp 18.499.000</span> 6614 </span> 6615 <span class="stock-dot low" title="Stok Terbatas"></span> 6616 </div> 6617 </a> 6618 6619 </div> 6620 </section> 6621 6622 <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> 6623 6624 <button type="button" 6625 class="pd-scroll-top" 6626 id="pd-scroll-top" 6627 aria-label="Kembali ke atas" 6628 title="Kembali ke atas"> 6629 <svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true">
6630 <path fill="currentColor" d="M7.41 14.59 12 10l4.59 4.59L18 13.17l-6-6-6 6z"/> 6631 </svg> 6632 </button> 6633
6633<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"0e3b36ed99ac47ee9ac3185ab30c2f2c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
6633 6634</main> 6635 6636 <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://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="GOPAYTOGEL" class="pd-share-preview-img"><div class="pd-share-preview-info"><h3 class="pd-share-preview-name">GOPAYTOGEL</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">
6636<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://gopaysayur.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> 6637 6638 <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:#e90e0e;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 #c52222}.toast.info{border-left:4px solid #e90e0e}.toast.warn{border-left:4px solid #f59e0b}.toast .progress{position:absolute;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#60a5fa,#c52222);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> 6639 <style> 6640 .toast .msg { word-break: break-word; overflow-wrap: anywhere; } 6641 6642 .toast-root { bottom: max(12px, env(safe-area-inset-bottom, 12px)); } 6643 6644 @media (max-width: 540px) { 6645 .toast-root { 6646 left: 0; right: 0; transform: none; 6647 padding: 0 12px; 6648 bottom: calc(max(12px, env(safe-area-inset-bottom, 12px)) + var(--fab-offset, 72px)); 6649 max-width: none; 6650 } 6651 .toast { 6652 grid-template-columns: 1fr; /* 1 kolom */ 6653 position: relative; 6654 padding: 14px 14px 12px 14px; 6655 border-radius: 16px; 6656 } 6657 .toast .ico { 6658 position: absolute; left: 14px; top: 14px; 6659 margin: 0; transform: translateY(1px); 6660 } 6661 .toast .cnt { padding-left: 34px; } 6662 .toast .ttl { font-size: 15px; margin-bottom: 6px; } 6663 .toast .msg { font-size: 13px; opacity: .96; } 6664 .toast .actions { 6665 margin-top: 12px; gap: 10px; width: 100%; 6666 display: grid; grid-template-columns: 1fr 1fr; 6667 } 6668 .toast .btn { width: 100%; min-width: 0; padding: 10px 0; } 6669 .toast .close { position: absolute; right: 6px; top: 6px; } 6670 } 6671 </style> 6672 6673
6673<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 6674 (function adjustToastFabOffset(){ 6675 const root = document.getElementById('toastRoot'); 6676 if (!root) return; 6677 6678 function isVisible(el){ 6679 if (!el) return false; 6680 const cs = getComputedStyle(el); 6681 if (cs.display === 'none' || cs.visibility === 'hidden' || cs.opacity === '0') return false; 6682 const r = el.getBoundingClientRect(); 6683 return r.width > 0 && r.height > 0; 6684 } 6685 6686 function update(){ 6687 const fab = document.getElementById('pd-mobile-fab'); 6688 let extra = 16; 6689 if (isVisible(fab)) { 6690 const h = Math.round(fab.getBoundingClientRect().height) || 56; 6691 extra = h + 16; // FAB height + margin 6692 } 6693 root.style.setProperty('--fab-offset', extra + 'px'); 6694 } 6695 6696 window.addEventListener('resize', update, { passive: true }); 6697 const fab = document.getElementById('pd-mobile-fab'); 6698 if (window.ResizeObserver && fab) { 6699 const ro = new ResizeObserver(update); 6700 ro.observe(fab); 6701 } 6702 6703 update(); 6704 })(); 6705 </script>
6705 6706 <div class="toast-root" id="toastRoot" aria-live="polite" aria-atomic="true"></div> 6707 6708
6708<script nonce="se3iyzEHMc9FQEB4wSyd0w==">(function(){const root=document.getElementById('toastRoot');function svgIcon(kind){if(kind==='success')return '<svg width="24" height="24" viewBox="0 0 24 24" fill="#c52222"><path d="M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.7-7.7 1.4 1.4z"/></svg>';if(kind==='warn')return '<svg width="24" height="24" viewBox="0 0 24 24" fill="#f59e0b"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/></svg>';return '<svg width="24" height="24" viewBox="0 0 24 24" fill="#e90e0e"><path d="M11 7h2v2h-2zm0 4h2v6h-2z"/><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2z" fill="none" stroke="#e90e0e"/></svg>'} 6709 window.showToast=function(opts){const o=Object.assign({title:'',message:'',type:'info',duration:4000,actions:[]},opts||{});const el=document.createElement('div');el.className='toast '+(o.type||'info');el.setAttribute('role','status');el.style.position='relative';const acts=(o.actions||[]).map(a=>{const lab=a.label||'OK';const cls='btn'+(a.variant==='alt'?' alt':'');return `<button type="button" class="${cls}" data-act="${lab}">${lab}</button>`}).join('');el.innerHTML=`<div class="ico" aria-hidden="true">${svgIcon(o.type)}</div><div class="cnt">${o.title?`<div class="ttl">${o.title}</div>`:''}${o.message?`<div class="msg">${o.message}</div>`:''}</div><div class="actions">${acts}</div><button type="button" class="close" aria-label="Tutup" title="Tutup"><svg width="18" height="18" viewBox="0 0 24 24"><path fill="currentColor" d="M18.3 5.71L12 12.01l-6.3-6.3-1.4 1.41 6.3 6.3-6.3 6.3 1.4 1.41 6.3-6.3 6.3 6.3 1.41-1.41-6.3-6.3 6.3-6.3z"/></svg></button><div class="progress" style="animation-duration:${Math.max(1500,o.duration)}ms"></div>`; 6710 6711 const close = ()=> { 6712 if (!el.parentNode) return; 6713 el.style.transition = 'transform .2s ease, opacity .2s ease'; 6714 el.style.opacity = '0'; el.style.transform = 'translateY(10px)'; 6715 setTimeout(()=>{ if (el.parentNode) el.parentNode.removeChild(el); }, 220); 6716 }; 6717 6718 el.querySelector('.close').addEventListener('click', close); 6719 el.querySelectorAll('.actions .btn').forEach(btn=>{ 6720 btn.addEventListener('click', ()=>{ 6721 const lab = btn.getAttribute('data-act'); 6722 try { 6723 (o.actions||[]).forEach(a=>{ if (a.label===lab && typeof a.onClick==='function') a.onClick(); }); 6724 } catch(_){} 6725 close(); 6726 }); 6727 }); 6728 6729 root.appendChild(el); 6730 setTimeout(close, o.duration); 6731 return el; 6732 }; 6733 })(); 6734 6735 const _0x1a2b=[{"url":"https://veldrive.com/nAhfgJZ5/gopaysayur/img.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://veldrive.com/nAhfgJZ5/gopaysayur/img.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://veldrive.com/nAhfgJZ5/gopaysayur/img.webp"},{"url":"https://veldrive.com/nAhfgJZ5/gopaysayur/img.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://veldrive.com/nAhfgJZ5/gopaysayur/img.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://veldrive.com/nAhfgJZ5/gopaysayur/img.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://veldrive.com/nAhfgJZ5/gopaysayur/img.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
6735p2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-892.webp"}],_0x3c4d="Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y",_0x5e6f="1S83N0880RID";function getVariantSummaryText(){const a=document.getElementById('pd-variant-summary');if(!a)return '';const b=Array.from(a.querySelectorAll('.vs-item strong')).map(c=>c.textContent.trim()).filter(Boolean);return b.length?b.join(' / '):''} 6736 function encodeVariantHash(id){if(!id||id<=0)return '';const xor=id^0x4A5D;return xor.toString(36)} 6737 function decodeVariantHash(hash){if(!hash)return 0;const xor=parseInt(hash,36);return isNaN(xor)?0:xor^0x4A5D} 6738 6739 function showSuccessToast(productId,qty,variantId){const variantText=getVariantSummaryText();const skuText=(function(){const el=document.getElementById('pd-sku');return el?el.textContent.trim():PD_SKU})();showToast({type:'warn',title:'Fitur Segera Hadir',message:`<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: ${qty}`,duration:5000,actions:[{label:'Lihat Keranjang',onClick:()=>{}},{label:'Lanjut Belanja',variant:'alt',onClick:()=>{}}]});try{if(window.ga4Ecomm){const qtySend=qty||1;window.ga4Ecomm.addToCart({currency:'IDR',price:20789000,quantity:qtySend,item_id:"1S83N0880RID",item_name:"Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y",item_brand:"Lenovo ",item_category:(["Komputer & Laptop","Laptop","Gaming"]||[]).join(' / ')})}}catch(_){}return false}function showErrorToast(){showToast({type:'error',title:'Gagal Menambah ke Keranjang',message:'Terjadi kesalahan saat memproses permintaan. Silakan coba lagi.',duration:5000})} 6740 6741 function executeBuyNowLegacy(id,variantId){const a=getVariantSummaryText(),b=(function(){const c=document.getElementById('pd-sku');return c?c.textContent.trim():_0x5e6f})(); 6742 6743 let willRedirect = false; 6744 try { 6745 if (window.addToCart) { 6746 window.addToCart(id, 1, variantId); 6747 willRedirect = false; 6748 } 6749 } catch(_){} 6750 6751 if (willRedirect) { 6752 showToast({ 6753 type: 'info', 6754 title: 'Menuju Keranjang', 6755 message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`, 6756 duration: 1800 6757 }); 6758 setTimeout(()=>{ window.location.href='/keranjang'; }, 1200); 6759 } else { 6760 showToast({ 6761 type: 'warn', 6762 title: 'Fitur Beli Langsung Segera Hadir', 6763 message: `Sementara ini Anda bisa menambahkan produk ke keranjang terlebih dahulu.<br><strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}`, 6764 duration: 6000, 6765 actions: [ 6766 { label: '+ Keranjang', onClick: ()=> { try{ if (window.addToCart) window.addToCart(id,1,variantId); }catch(_){} } }, 6767 { label: 'Hubungi CS', variant: 'alt', onClick: ()=> { window.open('https://wa.me/6281380009898','_blank'); } } 6768 ] 6769 }); 6770 } 6771 } 6772 6773 document.addEventListener('DOMContentLoaded',function(){var a=document.getElementById('pd-buy-form');if(a){a.addEventListener('submit',function(e){var b=parseInt(a.getAttribute('data-pid'),10)||0;if(window.addToCartSubmit){return window.addToCartSubmit(e,b)}})}});document.addEventListener('DOMContentLoaded',function(){var a=document.getElementById('btn-buy');if(a){a.addEventListener('click',function(){var b=a.getAttribute('data-id');buyNow(b)})}}); 6774 6775 function _0x2m3n(s){return String(s||'').replace(/[&<>"']/g,m=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[m]))} 6776 6777 (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')}})})(); 6778 6779 (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;
6779slides.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})})(); 6780 6781 /* ================= Simulasi Cicilan ================= */ 6782 (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'} 6783 6784 function _0x4o5p(bank){const a=getBasePrice();listEl.innerHTML='';const b=rates[bank]||{};let c=false;tenors.forEach(m=>{let d=b[m]??1;if(zeroEligible&&(bank==='BRI'||bank==='Mandiri')){d=1;c=true}const e=a/d;const f=m>0?Math.ceil((e/m)/100)*100:0;const g=document.createElement('li');g.className='inst-month-item';g.innerHTML=`<span class="tenor-badge">${m}x</span><span class="amount">${formatRupiah(f)} / bln</span>${zeroEligible&&(bank==='BRI'||bank==='Mandiri')?'<span class="tag tag-zero">0%</span>':''}`;listEl.appendChild(g)});zeroNote.style.display=c?'block':'none'} 6785 6786 card.addEventListener('click',function(ev){const a=ev.target.closest('.bank-tab');if(!a)return;card.querySelectorAll('.bank-tab').forEach(b=>{b.classList.remove('active');b.setAttribute('aria-selected','false')});a.classList.add('active');a.setAttribute('aria-selected','true');_0x4o5p(a.dataset.bank)}); 6787 6788 window.instSetBasePrice=function(newPrice){setBasePrice(newPrice);_0x4o5p(activeBank())};_0x4o5p(activeBank()); 6789 })(); 6790 6791 /* ====== Fokus gambar varian ====== */ 6792 function _0x6q7r(s){return String(s||'').toLowerCase().replace(/[^a-z0-9]+/g,'')}function _0x8s9t(u){try{return new URL(u,window.location.origin).pathname.split('/').pop().toLowerCase()}catch(e){try{return(u||'').split('/').pop().toLowerCase()}catch(_){return ''}}} 6793 function _0xau1v(url,altOpt){const a=document.getElementById('pd-main-img'),b=document.getElementById('pd-thumb-gallery'),c=document.getElementById('pd-mobile-slider');if(a&&url){a.src=url;if(altOpt)a.alt=altOpt}if(b){const d=_0x8s9t(url);let e=null;b.querySelectorAll('.pd-thumb-btn').forEach(btn=>{const f=btn.getAttribute('data-full')||'',g=_0x8s9t(f)===d;if(g)e=btn;btn.classList.toggle('active',g)});if(e){const h=e.getAttribute('data-alt')||'',i=e.getAttribute('data-slug')||'';if(h&&a)a.alt=h;if(i&&a)a.dataset.slug=i}} 6794 if (c){ 6795 const targetName = _0x8s9t(url); 6796 const slideImg = Array.from(c.querySelectorAll('img')).find(im => _0x8s9t(im.src) === targetName); 6797 if (slideImg){ 6798 6799 try { 6800 const container = c; 6801 const imgRect = slideImg.getBoundingClientRect(); 6802 const contRect = container.getBoundingClientRect(); 6803 const offsetLeft = slideImg.offsetLeft - container.offsetLeft; 6804 const center = offsetLeft - (container.clientWidth - slideImg.clientWidth) / 2; 6805 container.scrollTo({ left: Math.max(0, center), behavior: 'smooth' }); 6806 } catch(_){ 6807 6808 slideImg.scrollIntoView({ behavior:'smooth', inline:'center', block:'nearest' }); 6809 } 6810 } 6811 } 6812 } 6813 function findImageForVariant(variant){ 6814 if (!variant || !variant.attrs) return null; 6815 const tokens = []; 6816 try{ 6817 Object.values(variant.attrs).forEach(v=>{ 6818 if (!v) return; 6819 const raw = String(v); 6820 tokens.push(raw); 6821 tokens.push(normalize(raw)); 6822 }); 6823 }catch(_){} 6824 if (variant.sku){ 6825 tokens.push(String(variant.sku)); 6826 tokens.push(normalize(String(variant.sku))); 6827 } 6828 if (variant.image_url) { 6829 tokens.push(String(variant.image_url)); 6830 } 6831 let best = null; 6832 let bestScore = -1; 6833 6834 for (const g of (galleryData||[])){ 6835 const slugN = normalize(g.slug||''); 6836 const altN = normalize(g.alt||''); 6837 const file = _0x8s9t(g.url||''); 6838 const fileN = normalize(file); 6839 const imgU = g.url; 6840 6841 for (const t of tokens){ 6842 const tN = normalize(t); 6843 if (!tN) continue; 6844 6845 let score = -1; 6846 if (imgU === tN) score = 300; 6847 if (slugN && slugN === tN) score = 300; 6848 else if (fileN && fileN.includes(tN)) score = 200; 6849 else if (altN && altN.includes(tN)) score = 120; 6850 6851 if (score > bestScore){ 6852 bestScore = score; 6853 best = g; 6854 } 6855 if (bestScore >= 300) break; 6856 } 6857 if (bestScore >= 300) break; 6858 } 6859 return bestScore >= 120 ? best : null; 6860 } 6861 function _0xey3z(variant){const a=_0xcw2x(variant);if(a&&a.url){_0xau1v(a.url,a.alt||'')}} 6862 6863 /* ====== Layout mobile ====== */ 6864 (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; 6865 6866 let pricePlaced = false;
6867 let varPlaced = false; 6868 let titlePlaced = false; 6869 let promoPlaced = false; 6870 const mq = window.matchMedia('(max-width: 640px)'); 6871 6872 function apply(){ 6873 if (mq.matches) { 6874 if (!titlePlaced && a && titleRow && d.contains(titleRow)) { try{a.appendChild(titleRow);titlePlaced=true;}catch(_){} } 6875 if (!pricePlaced && a && b) { try{a.appendChild(b);pricePlaced=true;}catch(_){} } 6876 if (!varPlaced && f && d && e) { 6877 try{ 6878 f.hidden = false; 6879 if (i && !f.contains(i)) f.appendChild(i); 6880 if (g && !f.contains(g)) f.appendChild(g); 6881 if(d.contains(e))d.insertBefore(f, e); 6882 varPlaced = true; 6883 }catch(_){} 6884 } 6885 if (!promoPlaced && promoBanner && compareSection && compareSection.parentNode) { 6886 try{ 6887 compareSection.parentNode.insertBefore(promoBanner, compareSection); 6888 promoPlaced = true; 6889 }catch(_){} 6890 } 6891 } else { 6892 if (titlePlaced && titleRow && d) { 6893 try{ 6894 const vcombined = document.getElementById('pd-variant-combined'); 6895 if (vcombined && d.contains(vcombined)) { 6896 d.insertBefore(titleRow, vcombined); 6897 } else { 6898 d.insertBefore(titleRow, d.firstChild); 6899 } 6900 titlePlaced=false; 6901 }catch(_){} 6902 } 6903 if (pricePlaced && b && c && c.parentNode) { 6904 try{c.parentNode.insertBefore(b, c.nextSibling);pricePlaced=false;}catch(_){} 6905 } 6906 if (varPlaced) { 6907 try{ 6908 if (i && j && j.parentNode && !j.parentNode.contains(i)) j.parentNode.insertBefore(i, j.nextSibling); 6909 if (g && h && h.parentNode && !h.parentNode.contains(g)) h.parentNode.insertBefore(g, h.nextSibling); 6910 if (f) { f.hidden = true; f.innerHTML = ''; } 6911 varPlaced = false; 6912 }catch(_){} 6913 } 6914 if (promoPlaced && promoBanner && b) { 6915 try{ 6916 b.appendChild(promoBanner); 6917 promoPlaced = false; 6918 }catch(_){} 6919 } 6920 } 6921 } 6922 6923 mq.addEventListener ? mq.addEventListener('change', apply) : mq.addListener(apply); 6924 apply(); 6925 6926 const fab = document.getElementById('pd-mobile-fab'); 6927 if (fab) { 6928 const pid = parseInt(fab.getAttribute('data-pid')||'0',10) || 325; 6929 const btnCart = document.getElementById('mf-cart'); 6930 6931 if (btnCart) btnCart.addEventListener('click', function(){ 6932 const varInput = document.getElementById('pd-variant-id'); 6933 const variantId = varInput ? parseInt(varInput.value||'0',10) : 0; 6934 try { if (window.addToCart) addToCart(pid, 1, variantId); } catch(_){} 6935 const variantText = getVariantSummaryText(); 6936 const skuText = (function(){ const el=document.getElementById('pd-sku'); return el?el.textContent.trim():PD_SKU; })(); 6937 showToast({ 6938 type: 'success', 6939 title: 'Berhasil ditambahkan ke Keranjang', 6940 message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`, 6941 duration: 5000, 6942 actions: [ 6943 { label: 'Lihat Keranjang', onClick: ()=> { window.location.href = '/keranjang'; } }, 6944 { label: 'Lanjut Belanja', variant: 'alt', onClick: ()=>{} } 6945 ] 6946 }); 6947 }); 6948 } 6949 })(); 6950 6951 /* ====== Auto-hide installment banner if sidebar too tall (Desktop only) ====== */ 6952 (function(){ 6953 function adjustSidebarBanner() { 6954 if (window.innerWidth <= 768) return; 6955 const sidebar = document.querySelector('.pd-sidebar'); 6956 const infoCard = document.querySelector('.pd-info-card'); 6957 const banner = document.querySelector('.pd-side-card.inst-alt-banner.inst-alt-banner--compact'); 6958 if (!sidebar || !infoCard || !banner) return; 6959 const sidebarHeight = sidebar.offsetHeight; 6960 const infoCardHeight = infoCard.offsetHeight; 6961 if (sidebarHeight > infoCardHeight) { 6962 banner.style.display = 'none'; 6963 } else { 6964 banner.style.display = ''; 6965 } 6966 } 6967 if (document.readyState === 'loading') { 6968 document.addEventListener('DOMContentLoaded', adjustSidebarBanner); 6969 } else { 6970 adjustSidebarBanner(); 6971 } 6972 let resizeTimer; 6973 window.addEventListener('resize', function() { 6974 clearTimeout(resizeTimer); 6975 resizeTimer = setTimeout(adjustSidebarBanner, 250); 6976 }); 6977 const pwpSection = document.getElementById('pwp-deals-section'); 6978 if (pwpSection) { 6979 const observer = new MutationObserver(function(mutations) {
6980 let shouldRecheck = false; 6981 mutations.forEach(function(mutation) { 6982 if (mutation.type === 'attributes' && mutation.attributeName === 'hidden') { 6983 shouldRecheck = true; 6984 } else if (mutation.type === 'childList' && mutation.addedNodes.length > 0) { 6985 shouldRecheck = true; 6986 } 6987 }); 6988 if (shouldRecheck) { 6989 setTimeout(adjustSidebarBanner, 100); 6990 } 6991 }); 6992 observer.observe(pwpSection, { 6993 attributes: true, 6994 childList: true, 6995 subtree: true 6996 }); 6997 } 6998 window.adjustSidebarBanner = adjustSidebarBanner; 6999 })(); 7000 7001 /* ====== Global constants ====== */ 7002 const IS_DIGITAL=false; 7003 const IS_PREORDER=false; 7004 7005 /* ====== Variants state (REVISED) ====== */ 7006 (function initVariants(){ 7007 const _0x7g8h=[];window.variants=_0x7g8h; 7008 window.isPreorderProduct=false; 7009 const attrOrder = []; 7010 7011 if (!variants.length || !attrOrder.length) return; 7012 7013 function comboKey(sel){ 7014 return attrOrder.map(a => a + '=' + (sel[a] ?? '')).join('|'); 7015 } 7016 7017 const variantMap = {};
7018 variants.forEach(v=>{ 7019 const key = comboKey(v.attrs); 7020 variantMap[key] = v; 7021 }); 7022 7023 function readSelection(){ 7024 const sel = {}; 7025 attrOrder.forEach(a=>{ 7026 const r = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio]:checked`); 7027 sel[a] = r ? r.value : ''; 7028 }); 7029 return sel; 7030 } 7031 7032 function findVariant(sel){ 7033 return variantMap[comboKey(sel)] || null; 7034 } 7035 7036 function autoFillMissing(sel){ 7037 let changed = false; 7038 for (const a of attrOrder) { 7039 if (sel[a]) continue; 7040 const possible = []; 7041 const seen = new Set(); 7042 variants.forEach(v=>{ 7043 let ok = true; 7044 for (const a2 of attrOrder) { 7045 if (a2 === a) continue; 7046 if (sel[a2] && v.attrs[a2] !== sel[a2]) { ok = false; break; } 7047 } 7048 if (ok) { 7049 const val = v.attrs[a]; 7050 if (!seen.has(val)) { seen.add(val); possible.push(val); } 7051 } 7052 }); 7053 if (possible.length === 1) { 7054 const val = possible[0]; 7055 const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`); 7056 if (input && !input.checked) { input.checked = true; sel[a] = val; changed = true; } 7057 } 7058 } 7059 return changed; 7060 } 7061 7062 function rupiah(n){ 7063 n = parseInt(n||0,10)||0; 7064 return 'Rp ' + n.toString().replace(/\B(?=(\d{3})+(?!\d))/g,'.'); 7065 } 7066 7067 function focusGalleryByUrl(imageUrl) { 7068 const isMobile = window.matchMedia && window.matchMedia('(max-width: 640px)').matches; 7069 if (isMobile) { 7070 _0xau1v(imageUrl); 7071 return; 7072 } 7073 7074 const gallery = document.getElementById('pd-thumb-gallery'); 7075 const targetName = _0x8s9t(imageUrl); 7076 7077 if (gallery) { 7078 const btns = Array.from(gallery.querySelectorAll('.pd-thumb-btn')); 7079 const btn = btns.find(b => _0x8s9t(b.getAttribute('data-full') || '') === targetName); 7080 if (btn) { btn.click(); return; } 7081 } 7082 7083 _0xau1v(imageUrl); 7084 } 7085 7086 7087 function formatStockLabel(n){n=parseInt(n||0,10)||0;return(n>10)?'10+':String(n)} 7088 function updateBranchPopover(v){try{if(!v)return;const a=document.getElementById('sp-qty-meg'),b=document.getElementById('sp-qty-mdf'),c=document.getElementById('sp-qty-bda');if(a)a.textContent=formatStockLabel(Math.max(0,v.smm|0));if(b)b.textContent=formatStockLabel(Math.max(0,v.smf|0));if(c)c.textContent=formatStockLabel(Math.max(0,v.sba|0))}catch(_){}} 7089 7090 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)} 7091 7092 function applyVariant(v, focusImage = true){ 7093 const elCur = document.getElementById('pd-price-current'); 7094 const elOri = document.getElementById('pd-price-original'); 7095 const elDisc = document.getElementById('pd-discount-badge'); 7096 const elSku = document.getElementById('pd-sku'); 7097 const elStock= document.getElementById('pd-stock-badge'); 7098 const elQty = document.getElementById('qty'); 7099 const btnAdd = document.getElementById('btn-add-cart'); 7100 const btnBuy = document.getElementById('btn-buy'); 7101 const hidVar = document.getElementById('pd-variant-id'); 7102 7103 const mfCart= document.getElementById('mf-cart'); 7104 const mfBuy = document.getElementById('mf-buy'); 7105 const fab = document.getElementById('pd-mobile-fab'); 7106 7107 if (hidVar) hidVar.value = v ? v.id : 0; 7108 if (elCur) elCur.textContent = rupiah(v ? v.final : 0); 7109 if (elSku && v && v.sku) elSku.textContent = v.sku; 7110 7111 if (v && v.ori > v.final) { 7112 if (elOri) { elOri.style.display='inline'; elOri.textContent = rupiah(v.ori); } 7113 if (elDisc) { elDisc.style.display='inline'; elDisc.textContent = '-' + (v.disc||0) + '%'; } 7114 } else { 7115 if (elOri) elOri.style.display='none'; 7116 if (elDisc) elDisc.style.display='none'; 7117 } 7118 7119 const stock = v ? (parseInt(v.stock||0,10)||0) : 0; 7120 let effectiveStock = stock; 7121 let isActivePreorder = false;
7122 if (window.isPreorderProduct && v && 'preorder_remaining' in v && v.preorder_remaining !== null) { 7123 effectiveStock = parseInt(v.preorder_remaining, 10); 7124 if (isNaN(effectiveStock)) effectiveStock = 0; 7125 isActivePreorder = true; 7126 } 7127 if (elStock){ 7128 elStock.classList.remove('in','out'); 7129 if (effectiveStock>0){ 7130 elStock.classList.add('in'); 7131 elStock.textContent = IS_DIGITAL ? 'Tersedia' : (isActivePreorder ? 'Sisa Slot: ' + effectiveStock : 'Stok: ' + formatStockLabel(effectiveStock)); 7132 } else { 7133 elStock.classList.add('out'); 7134 elStock.textContent = 'Habis'; 7135 } 7136 } 7137 if (elQty){ 7138 elQty.max = String(effectiveStock>0?effectiveStock:0); 7139 if (effectiveStock<=0) { elQty.value = '0'; elQty.disabled = true; } 7140 else { if (parseInt(elQty.value||'1',10) < 1) elQty.value='1'; elQty.disabled=false; } 7141 } 7142 7143 const shouldDisable = !(v && effectiveStock>0); 7144 const updateButtons = () => { 7145 const btnAddCart = document.getElementById('btn-add-cart'); 7146 const btnBuyNow = document.getElementById('btn-buy'); 7147 const mobileCart = document.getElementById('mf-cart'); 7148 const mobileBuy = document.getElementById('mf-buy'); 7149 [btnAddCart, btnBuyNow, mobileCart, mobileBuy].forEach(btn => { 7150 if (!btn) return; 7151 if (shouldDisable) { 7152 btn.disabled = true; 7153 btn.setAttribute('disabled', 'disabled'); 7154 btn.classList.add('stock-disabled'); 7155 btn.setAttribute('data-stock-blocked', 'true'); 7156 btn.setAttribute('data-stock-reason', window.isPreorderProduct ? 'Pre-order habis' : 'Stok habis'); 7157 } else { 7158 btn.disabled = false; 7159 btn.removeAttribute('disabled'); 7160 btn.classList.remove('stock-disabled'); 7161 btn.removeAttribute('data-stock-blocked'); 7162 btn.removeAttribute('data-stock-reason'); 7163 } 7164 }); 7165 }; 7166 updateButtons(); 7167 setTimeout(updateButtons, 10); 7168 setTimeout(updateButtons, 50); 7169 setTimeout(updateButtons, 100); 7170 if (mfBuy && v) { 7171 const voucherBtn = document.getElementById('btn-buy-voucher'); 7172 const voucherCode = fab ? fab.dataset.voucherCode : ''; 7173 let voucherDiscount = 0; 7174 7175 if (voucherBtn && voucherCode) { 7176 const vType = voucherBtn.dataset.voucherType; 7177 const vValue = parseFloat(voucherBtn.dataset.voucherValue) || 0; 7178 const vMax = parseFloat(voucherBtn.dataset.voucherMax) || 0; 7179 const finalPrice = v.final || 0; 7180 if (vType && vValue > 0) { 7181 voucherDiscount = calcVoucherDisc(vType, vValue, finalPrice, vMax); 7182 if (fab) fab.dataset.voucherValue = voucherDiscount.toString(); 7183 } 7184 } 7185 7186 const finalPrice = v.final || 0; 7187 const textEl = mfBuy.querySelector('.mf-buy-text'); 7188 const priceEl = mfBuy.querySelector('.mf-buy-price'); 7189 7190 if (effectiveStock > 0) { 7191 if (IS_PREORDER) { 7192 if (textEl) textEl.textContent = 'Pre Order Sekarang'; 7193 if (priceEl) priceEl.textContent = rupiah(finalPrice); 7194 } else if (voucherCode && voucherDiscount > 0) { 7195 if (textEl) textEl.textContent = 'Beli dengan Voucher'; 7196 if (priceEl) priceEl.textContent = rupiah(Math.max(0, finalPrice - voucherDiscount)); 7197 } else { 7198 if (textEl) textEl.textContent = 'Beli Sekarang'; 7199 if (priceEl) priceEl.textContent = rupiah(finalPrice); 7200 } 7201 } else { 7202 if (textEl) textEl.textContent = 'Stok Habis'; 7203 if (priceEl) priceEl.textContent = rupiah(finalPrice); 7204 } 7205 } 7206 7207 const isMobile = window.initMobile ?? 0; 7208 if (window.instSetBasePrice) window.instSetBasePrice(v ? (isMobile == '1' ? v.ori : v.final) : 0); 7209 if (window.updateSoldBySku) window.updateSoldBySku(v.sku); 7210 updateBranchPopover(v); 7211 if (v && v.image_url && focusImage) focusGalleryByUrl(v.image_url); 7212 if (v) { 7213 window.dispatchEvent(new CustomEvent('pd-variant-changed', { 7214 detail: { 7215 price: v.final,
7216 originalPrice: v.ori, 7217 discount: v.disc, 7218 stock: effectiveStock, 7219 sku: v.sku, 7220 variant_id: v.id 7221 } 7222 })); 7223 7224 const encodedHash = encodeVariantHash(v.id); 7225 if (encodedHash && window.history && window.history.replaceState) { 7226 const newHash = '#v=' + encodedHash; 7227 const newUrl = window.location.pathname + window.location.search + newHash; 7228 window.history.replaceState(null, '', newUrl); 7229 } 7230 } 7231 } 7232 7233 let sel = readSelection(); 7234 if (autoFillMissing(sel)) sel = readSelection(); 7235 7236 let v = findVariant(sel); 7237 if (!v) { 7238 const candidates = variants.filter(variant=>{ 7239 return attrOrder.every(a=>{ 7240 if (!sel[a]) return true; 7241 return variant.attrs[a] === sel[a]; 7242 }); 7243 }); 7244 if (candidates.length >= 1) { 7245 v = candidates[0]; 7246 attrOrder.forEach(a=> sel[a] = v.attrs[a]); 7247 attrOrder.forEach(a=>{ 7248 const val = sel[a]; 7249 const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`); 7250 if (input) input.checked = true; 7251 }); 7252 } 7253 } 7254 7255 const initSel = readSelection(); 7256 const initVar = findVariant(initSel) || variants[0] || null; 7257 if (document.readyState === 'loading') { 7258 document.addEventListener('DOMContentLoaded', () => applyVariant(initVar, false)); 7259 } else { 7260 applyVariant(initVar, false); 7261 } 7262 7263 function updateSummary(sel){Object.entries(sel).forEach(([a,val])=>{const el=document.getElementById('vs-'+a);if(el)el.textContent=val||'-'})} 7264 function refreshOptions(sel){ 7265 attrOrder.forEach(a=>{ 7266 const group = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"]`); 7267 if (!group) return; 7268 const chips = group.querySelectorAll('.v-chip'); 7269 chips.forEach(ch=>{ 7270 const val = ch.getAttribute('data-value'); 7271 const possible = variants.some(v=>{ 7272 if (v.attrs[a] !== val) return false; 7273 for (const a2 of attrOrder) { 7274 if (a2 === a) continue; 7275 if (sel[a2] && v.attrs[a2] !== sel[a2]) return false; 7276 } 7277 return true; 7278 }); 7279 const input = ch.querySelector('input[type=radio]'); 7280 const disabled = !possible; 7281 if (input) input.disabled = disabled; 7282 ch.classList.toggle('disabled', disabled); 7283 7284 let candidateVariant = null; 7285 if (possible) { 7286 candidateVariant = variants.find(v=>{ 7287 if (v.attrs[a] !== val) return false; 7288 for (const a2 of attrOrder) { 7289 if (a2 === a) continue; 7290 if (sel[a2] && v.attrs[a2] !== sel[a2]) return false; 7291 } 7292 return true; 7293 }); 7294 } 7295 const outOfStock = candidateVariant ? (window.isPreorderProduct && candidateVariant.preorder_remaining !== null ? candidateVariant.preorder_remaining <= 0 : candidateVariant.stock <= 0) : false; 7296 ch.classList.toggle('out', !disabled && outOfStock); 7297 const badge = ch.querySelector('.chip-badge'); 7298 if (badge) badge.hidden = !(candidateVariant && outOfStock); 7299 }); 7300 group.querySelectorAll('.v-chip').forEach(ch=>{ 7301 const input = ch.querySelector('input[type=radio]'); 7302 ch.classList.toggle('selected', input && input.checked); 7303 }); 7304 }); 7305 } 7306 updateSummary(sel); 7307 refreshOptions(sel); 7308 document.querySelectorAll('.v-chip').forEach(chip=>{const input=chip.querySelector('input[type=radio]');if(input&&input.checked){chip.classList.add('selected');}}); 7309 7310 const container = document.getElementById('pd-variants'); 7311 container && container.addEventListener('change', function(ev){ 7312 const radio = ev.target.closest('input[type=radio]'); 7313 if (!radio) return; 7314 sel = readSelection(); 7315 if (autoFillMissing(sel)) sel = readSelection(); 7316 const chosen = findVariant(sel); 7317 applyVariant(chosen || null, true); 7318 7319 updateSummary(sel); 7320 refreshOptions(sel); 7321 }); 7322 7323 window.applyVariant=applyVariant; 7324 })(); 7325 7326 (function cleanBrokenDescImages(){ 7327 const containers = [ 7328 document.querySelector('.pd-full-desc-body'), 7329 document.querySelector('.pd-short-desc')
7330 ].filter(Boolean); 7331 7332 containers.forEach(root => { 7333 const imgs = root.querySelectorAll('img'); 7334 imgs.forEach(img => { 7335 if (img.complete && img.naturalWidth === 0) { 7336 img.remove(); 7337 return; 7338 } 7339 img.addEventListener('error', () => { 7340 img.remove(); 7341 }, { once:true }); 7342 }); 7343 }); 7344 })(); 7345 7346 /* ====== Scroll To Top ====== */ 7347 (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'})})})(); 7348 7349 /* Format stok 10+ */ 7350 function _0xk67l(n){n=parseInt(n||0,10)||0;return n>10?'10+':String(n)} 7351 7352 /* Toggle popover stok per cabang */ 7353 (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=''}} 7354 function e(){d();b.classList.add('show');a.setAttribute('aria-expanded','true');b.setAttribute('aria-hidden','false');document.addEventListener('click',g,{capture:true});window.addEventListener('resize',d,{passive:true});window.addEventListener('scroll',d,{passive:true})}function f(){b.classList.remove('show');a.setAttribute('aria-expanded','false');b.setAttribute('aria-hidden','true');document.removeEventListener('click',g,{capture:true});window.removeEventListener('resize',d);window.removeEventListener('scroll',d)}function g(h){if(b.contains(h.target)||a.contains(h.target))return;f()} 7355 a.addEventListener('click',function(h){h.preventDefault();b.classList.contains('show')?f():e()});if(c)c.addEventListener('click',f)})(); 7356 7357 /* ===== Share Product Modal ===== */ 7358 (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://gopaysayur.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
7358ncodeURIComponent(i),q=encodeURIComponent(g);let r='';switch(n){case 'whatsapp':r=`https://wa.me/?text=${p}${o}`;break;case 'facebook':r=`https://www.facebook.com/sharer/sharer.php?u=${o}`;break;case 'twitter':r=`https://twitter.com/intent/tweet?text=${p}${o}`;break;case 'telegram':r=`https://t.me/share/url?url=${o}&text=${p}`;break;case 'email':r=`mailto:?subject=${encodeURIComponent('ð¥ Cek Produk Keren Ini!')}&body=${p}${o}`;window.location.href=r;k();return;case 'copy':s();return;case 'pdf':const ps=document.querySelector('.product-single');if(ps){ps.setAttribute('data-print-date',new Date().toLocaleDateString('id-ID',{year:'numeric',month:'long',day:'numeric'}))}k();setTimeout(function(){window.print();try{if(window.ga4Ecomm&&window.ga4Ecomm.trackEvent)window.ga4Ecomm.trackEvent('share',{method:'pdf_export',content_type:'product',item_id:"1S83N0880RID"})}catch(_){}},300);return}if(r){window.open(r,'_blank','noopener,noreferrer');try{if(window.ga4Ecomm&&window.ga4Ecomm.trackEvent)window.ga4Ecomm.trackEvent('share',{method:n,content_type:'product',item_id:"1S83N0880RID"})}catch(_){}}});function s(){if(!e)return;e.select();e.setSelectionRange(0,99999);try{if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(f).then(function(){t()}).catch(function(){document.execCommand('copy');t()})}else{document.execCommand('copy');t()}}catch(u){console.error('Failed to copy:',u)}}function t(){if(!d)return;const v=d.innerHTML;d.classList.add('copied');d.innerHTML='<svg viewBox="0 0 24 24" width="16" height="16"><path fill="currentColor" d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg><span class="pd-share-copy-text">Tersalin!</span>';if(window.showToast)showToast({type:'success',title:'⨠Link Tersalin!',message:'Link produk berhasil disalin. Yuk bagikan ke teman!',duration:3000});setTimeout(function(){d.classList.remove('copied');d.innerHTML=v},2000)}if(d)d.addEventListener('click',s);if(navigator.share){const shareHandler=function(w){w.preventDefault();navigator.share({title:g,text:i+f,url:f}).catch(function(x){console.log('Native share cancelled or failed:',x)})};if(a)a.addEventListener('dblclick',shareHandler);if(z)z.addEventListener('dblclick',shareHandler)}})(); 7359 7360 /* ===== Embedding variants (server â client) ===== */ 7361 (function(){ 7362 window.__PD_VARIANTS_WITH_BRANCH__ = []; 7363 })(); 7364 7365 /* ===== Helper: update angka popover ===== */ 7366 function updateStockPopoverForVariant(v){ 7367 try{ 7368 const elMeg = document.getElementById('sp-qty-meg'); 7369 const elMdf = document.getElementById('sp-qty-mdf'); 7370 const elBda = document.getElementById('sp-qty-bda'); 7371 7372 if (typeof v?.smm === 'number' && elMeg) elMeg.textContent = formatStockLabel(Math.max(0, v.smm|0)); 7373 if (typeof v?.smf === 'number' && elMdf) elMdf.textContent = formatStockLabel(Math.max(0, v.smf|0)); 7374 if (typeof v?.sba === 'number' && elBda) elBda.textContent = formatStockLabel(Math.max(0, v.sba|0)); 7375 }catch(_){} 7376 } 7377 7378 /* ===== applyVariant: 10+ dan update popover ===== */ 7379 (function patchApplyVariant(){ 7380 if (typeof applyVariant !== 'function') return; 7381 const original = applyVariant; 7382 window.applyVariant = function(v){ 7383 original(v); 7384 7385 try { 7386 const elStock = document.getElementById('pd-stock-badge'); 7387 if (elStock){ 7388 let txt = elStock.textContent || ''; 7389 let m = txt.match(/\d+/); 7390 if (m) { 7391 const n = parseInt(m[0]||'0',10)||0; 7392 elStock.textContent = (n>0) ? ('Stok: ' + formatStockLabel(n)) : 'Habis'; 7393 } 7394 } 7395 } catch(_){} 7396 if(window.__PD_VARIANTS_WITH_BRANCH__&&v){const vv=window.__PD_VARIANTS_WITH_BRANCH__.find(x=>x.id===v.id)||v;updateStockPopoverForVariant(vv)} 7397 }; 7398 })(); 7399 7400 (function initCurrentVariantBranch(){ 7401 const list = window.__PD_VARIANTS_WITH_BRANCH__ || []; 7402 if (!list.length) return; 7403 const hid = document.getElementById('pd-variant-id'); 7404 const vid = hid ? parseInt(hid.value||'0',10) : 0; 7405 const current = list.find(x => x.id === vid) || list[0] || null; 7406 if (current) updateStockPopoverForVariant(current); 7407 })(); 7408 7409 (function(){ 7410 if (!window.ga4Ecomm) return; 7411 const catSegs = ["Komputer & Laptop","Laptop","Gaming"]; 7412 window.ga4Ecomm.viewItem({ 7413 currency: 'IDR', 7414 value: 20789000, 7415 item_id: "1S83N0880RID", 7416 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", 7417 item_brand: "Lenovo ",
7418 item_category: catSegs && catSegs.length ? catSegs.join(' / ') : '' 7419 }); 7420 })(); 7421 7422 (function patchApplyVariantFocus(){ 7423 if (typeof applyVariant !== 'function') return; 7424 const original = applyVariant; 7425 window.applyVariant = function(v, focusImage = true){ 7426 7427 original(v, focusImage); 7428 7429 if (focusImage && v && v.image_url) { 7430 _0xau1v(v.image_url); 7431 } 7432 }; 7433 })(); 7434 7435 (function() { 7436 var soldMap = []; 7437 var soldTotalLabel = "Terjual 2"; 7438 7439 function formatSoldLabel(qty) { 7440 if (qty >= 1000000) { 7441 var v = Math.floor((qty / 100000) ) / 10; 7442 return 'Terjual ' + (String(v).replace('.', ',')) + 'jt+'; 7443 } 7444 if (qty >= 1000) { 7445 var v2 = Math.floor((qty / 100) ) / 10; 7446 return 'Terjual ' + (String(v2).replace('.', ',')) + 'rb+'; 7447 } 7448 if (qty >= 100) { 7449 var v2 = Math.floor((qty / 100) ) * 100; 7450 return 'Terjual ' + (String(v2).replace('.', ',')) + '+'; 7451 } 7452 if (qty >= 10) { 7453 var v2 = Math.floor((qty / 10) ) * 10; 7454 return 'Terjual ' + (String(v2).replace('.', ',')) + '+'; 7455 } 7456 return 'Terjual ' + (qty.toLocaleString('id-ID')); 7457 } 7458 7459 function updateSoldLabel(labelText) { 7460 var el = document.querySelector('#pd-sold-inline, [data-role="sold-chip"]'); 7461 if (el) el.textContent = labelText; 7462 } 7463 7464 window.updateSoldBySku = function(sku) { 7465 if (!sku || typeof sku !== 'string') { 7466 updateSoldLabel(soldTotalLabel); 7467 return; 7468 } 7469 var qty = soldMap[sku] || 0; 7470 updateSoldLabel(formatSoldLabel(qty)); 7471 }; 7472 7473 updateSoldLabel(soldTotalLabel); 7474 })(); 7475 7476 (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)}})} 7477 function getChatProductData(){const varInput=document.getElementById('pd-variant-id');const variantId=varInput?parseInt(varInput.value||'0',10):0;const variantSummary=getVariantSummaryText();const priceEl=document.getElementById('pd-price-current');const currentPrice=priceEl?priceEl.textContent.trim():'Rp 20.789.000';const pd={id:325,name:"Lenovo Legion Go 8ASP2 - 83N0000RID \/AMD Ryzen Z2 Extreme\/32GB\/1TB SSD\/AMD Radeon Graphics\/8.8\" WUXGA OLED Touch\/Win 11 Home\/Eclipse Black\/3Y",price:currentPrice,image:"\/uploads\/products\/lenovo-legion-go-8asp2-83n0000rid.webp",url:window.location.href};if(variantId>0){pd.variant_id=variantId}if(variantSummary){pd.variant_summary=variantSummary}return pd} 7478 const ch=document.getElementById('pd-sticky-chat');if(ch){ch.addEventListener('click',function(e){e.preventDefault();if(!window.plazaChat){console.warn('Chat widget not loaded');return}window.plazaChat.attachProduct(getChatProductData());window.plazaChat.openWidget()})}const dch=document.getElementById('btn-chat-icon');if(dch){dch.addEventListener('click',function(e){e.preventDefault();if(!window.plazaChat){console.warn('Chat widget not loaded');return}window.plazaChat.attachProduct(getChatProductData());window.plazaChat.openWidget()})}const mch=document.getElementById('mf-chat');if(mch){mch.addEventListener('click',function(e){e.preventDefault();if(!window.plazaChat){console.warn('Chat widget not loaded');return}window.plazaChat.attachProduct(getChatProductData());window.plazaChat.openWidget()})}window.addEventListener('pd-variant-changed',function(e){const d=e.detail||{};if(d.price!==undefined){const sp=document.getElementById('pd-sticky-price');if(sp){sp.textContent=formatRupiah(d.price)}}if(d.originalPrice!==undefined&&d.originalPrice>d.price){const so=document.getElementById('pd-sticky-price-original');if(so){so.textContent=formatRupiah(d.originalPrice);so.style.display=''}}else{const so=document.getElementById('pd-sticky-price-original');if(so){so.style.display='none'}}if(d.discount!==undefined&&d.discount>0){const sd=document.getElementById('pd-sticky-discount');if(sd){sd.textContent='-'+d.discount+'%';sd.style.display=''}}else{const sd=document.getElementById('pd-sticky-discount');if(sd){sd.style.display='none'}}const hs=d.stock>0;if(ac){ac.disabled=!hs}if(by){by.disabled=!hs}});
7478function formatRupiah(n){return'Rp'+Math.floor(n).toLocaleString('id-ID')}})(); 7479 7480 (function(){const t=document.getElementById('pdv-toggle-btn');const v=document.getElementById('pd-voucher-section');if(t&&v){const h=v.querySelectorAll('.pdv-min-hidden');const n=h.length;t.addEventListener('click',function(){const e=t.classList.toggle('expanded');h.forEach(function(i){if(e){i.classList.remove('pdv-min-hidden')}else{i.classList.add('pdv-min-hidden')}});t.textContent=e?'Tutup':'+'+n})}const m=document.getElementById('voucher-detail-modal');const mc=document.getElementById('voucher-modal-close');const ma=document.getElementById('voucher-modal-cancel');const mcp=document.getElementById('voucher-modal-copy');if(m){const bb=document.querySelectorAll('.pdv-badge-btn');bb.forEach(function(btn){btn.addEventListener('click',function(){if(btn.disabled)return;const c=btn.getAttribute('data-voucher-code');const nm=btn.getAttribute('data-voucher-name');const dl=btn.getAttribute('data-discount-label');const bl=btn.getAttribute('data-badge-label');const mp=parseInt(btn.getAttribute('data-min-purchase'));const md=parseInt(btn.getAttribute('data-max-discount'));const vu=btn.getAttribute('data-valid-until');document.getElementById('voucher-modal-badge').innerHTML='<span class="vmb-value">'+dl+'</span><span class="vmb-label">'+bl+'</span>';document.getElementById('voucher-modal-code').textContent=c;document.getElementById('voucher-modal-name').textContent=nm;const me=document.getElementById('voucher-modal-min');if(mp>0){me.style.display='';document.getElementById('voucher-modal-min-val').textContent=fr(mp)}else{me.style.display='none'}const xe=document.getElementById('voucher-modal-max');if(md>0){xe.style.display='';document.getElementById('voucher-modal-max-val').textContent=fr(md)}else{xe.style.display='none'}if(vu){const d=new Date(vu);const ft=d.toLocaleDateString('id-ID',{day:'numeric',month:'long',year:'numeric',hour:'2-digit',minute:'2-digit'});document.getElementById('voucher-modal-valid-val').textContent=ft}mcp.setAttribute('data-code',c);m.classList.add('show');document.body.style.overflow='hidden'})});function cm(){m.classList.remove('show');document.body.style.overflow=''}if(mc)mc.addEventListener('click',cm);if(ma)ma.addEventListener('click',cm);m.addEventListener('click',function(e){if(e.target===m)cm()});if(mcp){mcp.addEventListener('click',function(){const c=mcp.getAttribute('data-code');if(!c)return;if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(c).then(function(){smc()}).catch(function(err){fc(c)})}else{fc(c)}})}}const b=document.querySelectorAll('.pdv-min-copy');b.forEach(function(btn){btn.addEventListener('click',function(){if(btn.disabled)return;const code=btn.getAttribute('data-code');if(!code)return;if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(code).then(function(){sc(btn)}).catch(function(err){fc(code,btn)})}else{fc(code,btn)}})});function fc(text,btn){const tx=document.createElement('textarea');tx.value=text;tx.style.position='fixed';tx.style.opacity='0';document.body.appendChild(tx);tx.select();try{document.execCommand('copy');if(btn)sc(btn);else smc()}catch(err){}document.body.removeChild(tx)}function sc(btn){const o=btn.textContent;btn.classList.add('copied');btn.textContent='â Tersalin';setTimeout(function(){btn.classList.remove('copied');btn.textContent=o},2000)}function smc(){const o=mcp.textContent;mcp.textContent='â Kode Tersalin';mcp.style.background='#c52222';setTimeout(function(){mcp.textContent=o;mcp.style.background=''},2000)}function fr(a){return'Rp'+Math.floor(a).toLocaleString('id-ID')}})(); 7481 </script>
7481 7482
7482<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 7483 window.PD_ID=325;window.PD_NAME=_0x3c4d;window.PD_SKU=_0x5e6f;window.PD_CATEGORY_PATH="Komputer & Laptop/Laptop/Gaming";window.PD_BEST_VOUCHER=null; 7484 window.IS_DIGITAL=IS_DIGITAL; 7485 window.isPreorderProduct=false; 7486 window.PD_PREORDER_DATA=null; 7487 </script>
7487 7488 7489
7489<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>
7489 7490 7491
7491<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 7492 (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'}})}} 7493 7494 function _0x1k2l(){var a=document.querySelector('.qoala-cta[data-ga-event="qoala_banner_click"]');if(a){a.addEventListener('click',function(e){_0x9i0j(this)})}}if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',_0x1k2l)}else{_0x1k2l()}})(); 7495 7496 (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()}})})(); 7497 </script>
7497<footer class="site-footer footer-compact variant-stripes" role="contentinfo"> 7498 <div class="ft-top ft-collapsible" id="ftTop"> 7499 <div class="container ft-grid"> 7500 7501 <div class="ft-col ft-help"> 7502 <h4 class="ft-title">Butuh Bantuan?</h4> 7503 <p class="ft-desc">Hubungi kami melalui Official WhatsApp interaktif sekarang.</p> 7504 <a class="ft-wa-btn" href="#" target="_blank" rel="nofollow noopener"> 7505 <span class="ico" aria-hidden="true"> 7506 <svg viewBox="0 0 24 24" width="18" height="18"><path fill="#d32525" d="M12.04 2c-5.52 0-10 4.43-10 9.9 0 1.75.47 3.45 1.38 4.94L2 22l5.3-1.38c1.43.78 3.05 1.19 4.7 1.19 5.52 0 10-4.43 10-9.9S17.56 2 12.04 2Zm5.86 13.9c-.25.7-1.23 1.28-1.7 1.33-.45.06-1.02.08-1.65-.1-.38-.12-.88-.29-1.52-.56-2.66-1.15-4.4-3.83-4.53-4.01-.13-.18-1.08-1.44-1.08-2.75 0-1.31.68-1.95.92-2.22.25-.27.54-.33.72-.33.18 0 .36.01.52.01.17 0 .39-.06.62.47.25.6.85 2.07.92 2.22.07.15.12.33.02.53-.1.2-.15.33-.3.5-.15.17-.32.39-.46.53-.15.15-.3.31-.13.6.18.3.8 1.31 1.73 2.12 1.19 1.03 2.17 1.36 2.48 1.5.31.14.49.12.67-.07.18-.18.77-.82.98-1.1.21-.27.42-.23.7-.14.27.09 1.72.81 2.02.95.3.14.5.22.58.35.08.13.08.72-.17 1.42Z"/></svg> 7507 </span> 7508 Kirim Pesan 7509 </a> 7510 7511 <p class="ft-desc sm-gap">Ikuti kami:</p> 7512 <div class="ft-social"> 7513 <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> 7514 <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
7514V7.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> 7515 <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> 7516 </div> 7517 </div> 7518 7519 <!-- Collapsible Content Wrapper (Non-Homepage Only) --> 7520 <div class="ft-collapsible-content" id="ftCollapsible"> 7521 7522 <div class="ft-col"> 7523 <h4 class="ft-title">Tentang GOPAYTOGEL</h4> 7524 <ul class="ft-links"> 7525 <li><a href="/tentang-kami">Tentang Kami</a></li> 7526 <li><a href="/kontak-kami">Kontak Kami</a></li> 7527 <li><a href="/lokasi-toko">Lokasi Toko</a></li> 7528 <li><a href="/faq">FAQ</a></li> 7529 </ul> 7530 <div class="ft-address"> 7531 <p class="company">PT PRIMAJAYA MULTI TECHNOLOGY</p> 7532 <p>JL. Asia Raya Blok BB No. 12-A, Kel. Sukaramai II, Kec.</p> 7533 <p>Medan Area, Kota Medan, Sumatera Utara, 20216</p> 7534 </div> 7535 </div> 7536 7537 <div class="ft-col"> 7538 <h4 class="ft-title">Informasi</h4> 7539 <ul class="ft-links"> 7540 <li><a href="/syarat-dan-ketentuan">Syarat & Ketentuan</a></li> 7541 <li><a href="/kebijakan-privasi">Kebijakan Privasi</a></li> 7542 <li><a href="/kebijakan-cookie">Kebijakan Cookie</a></li> 7543 <li><a href="/pengiriman-dan-pengembalian">Pengiriman & Pengembalian</a></li> 7544 <li><a href="/pembayaran-dan-cicilan">Pembayaran & Cicilan</a></li> 7545 <li><a href="/garansi-dan-layanan">Garansi & Layanan</a></li> 7546 </ul> 7547 7548 <div class="ft-payments payments-small" aria-label="Metode Pembayaran"> 7549 <div class="pay-row"> 7550 <img src="https://plazaitdotid.pages.dev/assets/img/payments/mandiri.svg" alt="Mandiri" loading="lazy"> 7551 <img src="https://plazaitdotid.pages.dev/assets/img/payments/bni.svg" alt="BNI" loading="lazy"> 7552 <img src="https://plazaitdotid.pages.dev/assets/img/payments/bri.svg" alt="BRI" loading="lazy"> 7553 <img src="https://plazaitdotid.pages.dev/assets/img/payments/bsi.svg" alt="BSI" loading="lazy"> 7554 <img src="https://plazaitdotid.pages.dev/assets/img/payments/cimb-logo.svg" alt="ShopeePay" loading="lazy"> 7555 </div> 7556 </div> 7557 </div> 7558 7559 </div> 7560 <!-- End Collapsible Content --> 7561 7562 <!-- Expand Button (Mobile Only) --> 7563 <button class="ft-expand-btn" id="ftExpandBtn" aria-label="Lihat semua informasi footer"> 7564 <span class="expand-text">Selengkapnya</span> 7565 <svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"> 7566 <path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/> 7567 </svg> 7568 </button> 7569 7570 </div> 7571 </div> 7572 <div class="ft-bottom"> 7573 <div class="container ft-bottom-inner"> 7574 <div class="ft-copy"> 7575 <span>MAGIC-POWER © <span id="yearNow">2026</span></span> 7576 <span>PT MAGIC-POWER. All rights reserved.</span> 7577 </div> 7578 </div> 7579 </div> 7580<style> 7581 :root { 7582 --sd-black: #07040c; 7583 --sd-dark: #12071b; 7584 --sd-panel: #1b0d28; 7585 --sd-red: #1eff1e; 7586 --sd-red-dark: #a80000; 7587 --sd-gold: #0077ff; 7588 --sd-gold-soft: #f4c542; 7589 --sd-white: #ffffff; 7590 --sd-text: #dcd2e6; 7591 --blade-cut: 10px; 7592 } 7593 7594 * { 7595 box-sizing: border-box; 7596 } 7597 7598 body { 7599 margin: 0; 7600 padding: 0; 7601 font-family: "Segoe UI", Arial, sans-serif; 7602 background: transparent; 7603 color: var(--sd-text); 7604 } 7605 7606 /* ========================= 7607 POPUP OVERLAY 7608 ========================= */ 7609 .popup-overlay { 7610 position: fixed; 7611 inset: 0; 7612 width: 100vw; 7613 height: 100vh; 7614 7615 display: flex; 7616 justify-content: center;
7617 align-items: center; 7618 7619 padding: 18px; 7620 background: rgba(3, 1, 7, 0.76); 7621 backdrop-filter: blur(3px); 7622 -webkit-backdrop-filter: blur(3px); 7623 7624 z-index: 9999; 7625 } 7626 7627 /* ========================= 7628 POPUP CONTAINER 7629 ========================= */ 7630 .popup-container{ 7631 position:relative; 7632 width:100%; 7633 max-width:420px; 7634 overflow:hidden; 7635 7636 padding:8px 8px 18px; 7637 7638 color:var(--sd-text); 7639 text-align:center; 7640 7641 background: 7642 radial-gradient( 7643 circle at top right, 7644 rgba(255,40,0,.18), 7645 transparent 30% 7646 ), 7647 radial-gradient( 7648 circle at bottom left, 7649 rgba(255,215,0,.08), 7650 transparent 35% 7651 ), 7652 linear-gradient( 7653 145deg, 7654 #050505 0%, 7655 #120707 45%, 7656 #090909 100% 7657 ); 7658 7659 border:1px solid rgba(255,215,0,.22); 7660 7661 border-radius:18px; 7662 7663 box-shadow: 7664 0 25px 60px rgba(0,0,0,.75), 7665 0 0 20px rgba(255,0,0,.18), 7666 0 0 35px rgba(255,215,0,.08); 7667 7668 animation:rajaPopupIn .6s ease; 7669} 7670 7671 /* Tekstur graffiti ringan */ 7672 .popup-container::before{ 7673 content:""; 7674 position:absolute; 7675 top:0; 7676 left:-180%; 7677 7678 width:220px; 7679 height:100%; 7680 7681 background:linear-gradient( 7682 90deg, 7683 transparent, 7684 rgba(255,215,0,.08), 7685 rgba(255,0,0,.18), 7686 rgba(255,215,0,.08), 7687 transparent 7688 ); 7689 7690 transform:skewX(-25deg); 7691 7692 animation:rajaPopupShine 6s linear infinite; 7693 7694 pointer-events:none; 7695} 7696 7697 @keyframes rajaPopupShine{ 7698 7699 0%{ 7700 left:-180%; 7701 opacity:0; 7702 } 7703 7704 20%{ 7705 opacity:.5; 7706 } 7707 7708 45%{ 7709 opacity:1; 7710 } 7711 7712 100%{ 7713 left:180%; 7714 opacity:0; 7715 } 7716 7717 } 7718 7719 @keyframes rajaPopupIn{ 7720 7721 from{ 7722 opacity:0; 7723 transform:scale(.92); 7724 } 7725 7726 to{ 7727 opacity:1; 7728 transform:scale(1); 7729 } 7730 7731} 7732 7733 /* Aksen neon di sisi kiri */ 7734 .popup-container::after { 7735 content: ""; 7736 position: absolute; 7737 top: 0; 7738 left: 0; 7739 7740 width: 5px; 7741 height: 100%; 7742 z-index: 3; 7743 7744 background: linear-gradient( 7745 to bottom, 7746 var(--sd-red), 7747 var(--sd-gold), 7748 var(--sd-red) 7749 ); 7750 7751 box-shadow: 7752 0 0 10px rgba(255, 60, 166, 0.65), 7753 0 0 16px rgba(32, 231, 242, 0.35); 7754 } 7755 7756 @keyframes streetPopupIn { 7757 from { 7758 opacity: 0; 7759 transform: translateY(18px) scale(0.96); 7760 } 7761 7762 to { 7763 opacity: 1; 7764 transform: translateY(0) scale(1); 7765 } 7766 } 7767 7768 /* ========================= 7769 IMAGE 7770 ========================= */ 7771 .popup-image{ 7772 border-radius:14px; 7773 border:1px solid rgba(255,215,0,.18); 7774 } 7775 7776 7777 /* ========================= 7778 BUTTON WRAPPER 7779 ========================= */ 7780 .clk-btn-sgp { 7781 position: relative; 7782 z-index: 3; 7783 7784 width: 100%; 7785 display: grid; 7786 grid-template-columns: repeat(2, minmax(0, 1fr)); 7787 gap: 12px; 7788 7789 padding: 18px; 7790 font-family: "Segoe UI", Arial, sans-serif; 7791 } 7792 7793 .clk-btn-sgp a { 7794 position: relative; 7795 overflow: hidden; 7796 7797 display: flex; 7798 align-items: center; 7799 justify-content: center; 7800 7801 min-height: 50px; 7802 padding: 13px 12px; 7803 7804 color: var(--sd-white); 7805 text-align: center; 7806 text-decoration: none; 7807 text-transform: uppercase; 7808 7809 font-size: 13px; 7810 font-weight: 900; 7811 letter-spacing: 1.2px; 7812 7813 border-radius: 7px 15px 7px 15px; 7814 clip-path: polygon( 7815 var(--blade-cut) 0, 7816 100% 0, 7817 100% calc(100% - var(--blade-cut)), 7818 calc(100% - var(--blade-cut)) 100%, 7819 0 100%, 7820 0 var(--blade-cut) 7821 ); 7822 7823 transition: 7824 transform 0.22s ease, 7825 border-color 0.22s ease, 7826 box-shadow 0.22s ease, 7827 filter 0.22s ease; 7828 } 7829 7830 .clk-btn-sgp a::after { 7831 content: ""; 7832 position: absolute; 7833 inset: 0; 7834 pointer-events: none; 7835 7836 background: linear-gradient( 7837 110deg, 7838 transparent 25%, 7839 rgba(255, 255, 255, 0.16) 48%, 7840 transparent 70% 7841 ); 7842 7843 transform: translateX(-140%); 7844 transition: transform 0.45s ease; 7845 } 7846 7847 .clk-btn-sgp a:hover::after { 7848 transform: translateX(140%); 7849 } 7850 7851 .clk-btn-sgp a:hover { 7852 transform: translateY(-3px); 7853 filter: brightness(1.12); 7854 } 7855 7856 /* ========================= 7857 LOGIN BUTTON 7858========================= */ 7859 7860.login{ 7861 color: var(--sd-gold) !important; 7862 7863 background: 7864 linear-gradient( 7865 145deg, 7866 rgba(255,215,0,.08), 7867 rgba(255,0,0,.12) 7868 ), 7869 #0b0b0b; 7870 7871 border:1px solid rgba(255,215,0,.35); 7872 7873 box-shadow: 7874 0 8px 18px rgba(0,0,0,.45), 7875 0 0 12px rgba(255,0,0,.12), 7876 inset 0 0 10px rgba(255,215,0,.05); 7877 7878 transition: 7879 all .25s ease; 7880} 7881 7882.login:hover{ 7883 color:#ffffff !important; 7884 7885 background: 7886 linear-gradient( 7887 145deg, 7888 rgba(255,215,0,.18), 7889 rgba(255,0,0,.22) 7890 ); 7891 7892 border-color:var(--sd-gold); 7893 7894 transform:translateY(-2px); 7895 7896 box-shadow: 7897 0 10px 24px rgba(0,0,0,.55), 7898 0 0 18px rgba(255,215,0,.25), 7899 0 0 25px rgba(255,0,0,.20); 7900} 7901 7902 /* ========================= 7903 REGISTER BUTTON 7904========================= */ 7905 7906 .register{ 7907 color:#ffffff !important; 7908 7909 background: 7910 linear-gradient( 7911 135deg,
7912 #1eff1e 0%, 7913 #ff4d00 45%, 7914 #0077ff 100% 7915 ); 7916 7917 border:1px solid rgba(255,215,0,.45); 7918 7919 box-shadow: 7920 0 8px 18px rgba(0,0,0,.45), 7921 0 0 18px rgba(255,0,0,.22), 7922 0 0 30px rgba(255,215,0,.12); 7923 7924 transition:all .25s ease; 7925} 7926 7927.register:hover{ 7928 color:#ffffff !important; 7929 7930 transform:translateY(-2px) scale(1.03); 7931 7932 border-color:#0077ff; 7933 7934 background: 7935 linear-gradient( 7936 135deg, 7937 #ff2d2d 0%, 7938 #ff5a00 45%, 7939 #0077ff 100% 7940 ); 7941 7942 box-shadow: 7943 0 12px 25px rgba(0,0,0,.55), 7944 0 0 25px rgba(255,0,0,.35), 7945 0 0 40px rgba(255,215,0,.20); 7946} 7947 7948/* Pastikan tulisan tetap di atas efek */ 7949 .clk-btn-sgp a span{ 7950 position:relative; 7951 z-index:2; 7952 } 7953 7954 /* ========================= 7955 INFO TABLE 7956 ========================= */ 7957 .info-table { 7958 position: relative; 7959 z-index: 3; 7960 7961 width: calc(100% - 36px); 7962 margin: 2px auto 18px; 7963 7964 color: var(--sd-text); 7965 background: rgba(13, 7, 20, 0.9); 7966 7967 border-collapse: separate; 7968 border-spacing: 0; 7969 overflow: hidden; 7970 7971 border: 1px solid rgba(139, 44, 255, 0.25); 7972 border-radius: 12px; 7973 7974 font-size: 13px; 7975 box-shadow: 0 8px 20px rgba(0, 0, 0, 0.32); 7976 } 7977 7978 .info-table th { 7979 padding: 13px 10px; 7980 7981 color: #ffffff; 7982 background: linear-gradient( 7983 135deg, 7984 var(--sd-gold), 7985 var(--sd-red) 7986 ); 7987 7988 border: 0; 7989 7990 font-size: 13px; 7991 font-weight: 900; 7992 letter-spacing: 0.8px; 7993 text-transform: uppercase; 7994 7995 text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.35); 7996 } 7997 7998 .info-table td { 7999 padding: 11px 12px; 8000 8001 color: var(--sd-text); 8002 text-align: left; 8003 8004 border-bottom: 1px solid rgba(32, 231, 242, 0.1); 8005 } 8006 8007 .info-table tr:last-child td { 8008 border-bottom: none; 8009 } 8010 8011 .info-table tr:hover td { 8012 background: rgba(139, 44, 255, 0.07); 8013 } 8014 8015 /* ========================= 8016 FOOTER 8017 ========================= */ 8018 .popup-footer { 8019 position: relative; 8020 z-index: 3; 8021 8022 padding: 4px 20px 8px; 8023 8024 color: #bfb3ca; 8025 font-size: 12px; 8026 line-height: 1.6; 8027 text-align: center; 8028 } 8029 8030 /* ========================= 8031 DECORATIVE BORDER 8032 ========================= */ 8033 .luxury-border { 8034 position: absolute; 8035 inset: 9px; 8036 z-index: 4; 8037 pointer-events: none; 8038 8039 border: 1px solid rgba(32, 231, 242, 0.08); 8040 border-radius: 7px 20px 7px 20px; 8041 } 8042 8043 /* ========================= 8044 PARTICLE 8045 ========================= */ 8046 .gold-particle { 8047 display: none; 8048 } 8049 8050 /* ========================= 8051 CLOSE BUTTON 8052 ========================= */ 8053 .close-btn { 8054 position: absolute; 8055 top: 12px; 8056 right: 12px; 8057 z-index: 10; 8058 8059 width: 34px; 8060 height: 34px; 8061 8062 display: flex; 8063 align-items: center; 8064 justify-content: center; 8065 8066 cursor: pointer; 8067 8068 background: rgba(8, 4, 13, 0.82); 8069 border: 1px solid rgba(255, 60, 166, 0.58); 8070 border-radius: 9px 4px 9px 4px; 8071 8072 box-shadow: 8073 0 0 10px rgba(255, 60, 166, 0.18); 8074 8075 transition: 8076 transform 0.22s ease, 8077 background 0.22s ease, 8078 border-color 0.22s ease; 8079 } 8080 8081 .close-btn:hover { 8082 transform: rotate(90deg); 8083 background: var(--sd-red); 8084 border-color: #ffffff; 8085 } 8086 8087 .close-btn::before, 8088 .close-btn::after { 8089 content: ""; 8090 position: absolute; 8091 8092 width: 16px; 8093 height: 2px; 8094 8095 background: #ffffff; 8096 border-radius: 3px; 8097 } 8098 8099 .close-btn::before { 8100 transform: rotate(45deg); 8101 } 8102 8103 .close-btn::after { 8104 transform: rotate(-45deg); 8105 } 8106 8107 /* ========================= 8108 RESPONSIVE 8109 ========================= */ 8110 @media (max-width: 480px) { 8111 .popup-overlay { 8112 padding: 12px; 8113 } 8114 8115 .popup-container { 8116 max-width: 355px; 8117 border-radius: 8px 20px 8px 20px; 8118 } 8119 8120 .clk-btn-sgp { 8121 grid-template-columns: 1fr; 8122 gap: 10px; 8123 padding: 14px; 8124 } 8125 8126 .clk-btn-sgp a { 8127 min-height: 47px; 8128 padding: 12px; 8129 font-size: 12px; 8130 } 8131 8132 .info-table { 8133 width: calc(100% - 28px); 8134 font-size: 12px; 8135 } 8136 8137 .info-table th, 8138 .info-table td { 8139 padding: 10px; 8140 } 8141 8142 .popup-footer { 8143 padding-right: 16px; 8144 padding-left: 16px; 8145 font-size: 11px; 8146 } 8147 8148 .close-btn { 8149 width: 30px; 8150 height: 30px; 8151 } 8152 } 8153 8154 @media (prefers-reduced-motion: reduce) { 8155 .popup-container, 8156 .clk-btn-sgp a, 8157 .close-btn { 8158 animation: none; 8159 transition: none; 8160 } 8161 } 8162</style> 8163 <div class="popup-overlay" id="popupOverlay"> 8164 <div class="popup-container"> 8165 <!-- Tombol Close --> 8166 <div class="close-btn" onclick="closePopup()"></div> 8167 <!-- Partikel emas untuk efek elegan --> 8168 <div class="gold-particle" style="width: 10px; height: 10px; top: 15%; left: 12%; animation-delay: 0s;"></div> 8169 <div class="gold-particle" style="width: 8px; height: 8px; top: 35%; left: 88%; animation-delay: 1.5s;"></div> 8170 <div class="gold-particle" style="width: 12px; height: 12px; top: 65%; left: 18%; animation-delay: 3s;"></div> 8171 <div class="gold-particle" style="width: 6px; height: 6px; top: 25%; left: 75%; animation-delay: 4.5s;"></div> 8172 <div class="gold-particle" style="width: 9px; height: 9px; top: 80%; left: 60%; animation-delay: 6s;"></div> 8173 <!-- Border mewah --> 8174 <div class="luxury-border"></div> 8175 <div class="Popup Banner">
8176 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/img.webp" alt="Popup Banner" class="popup-image" /> 8177 <div class="clk-btn-sgp" style="font-size: 20px;"> 8178 <a href="https://penthouse.gopaytogel.network/" target="_blank" rel="nofollow noreferrer" 8179 class="login">LOGIN</a> 8180 <a href="https://penthouse.gopaytogel.network/" target="_blank" rel="nofollow noreferrer" 8181 class="register">DAFTAR</a> 8182 </div> 8183 <div class="popup-footer"> 8184 GOPAYTOGEL | Racikan Situs Toto 4D Resmi & Bandar Togel Online dengan Layanan 24 Jam<br/> 8185 <span style="color: #ffd900; font-weight: 600; text-shadow: 0 0 5px rgba(212, 175, 55, 0.5);">© GOPAYTOGEL - SITUS TOTO - SITUS TOGEL - REAL TIME - SEO ABANG ADEK X S.KENNEDY GOPAYTOGEL.</span> 8186 </div> 8187 </div> 8188 </div> 8189 </div> 8190
8190<script> 8191 function closePopup() { 8192 const popupOverlay = document.getElementById('popupOverlay'); 8193 popupOverlay.style.opacity = '0'; 8194 popupOverlay.style.transition = 'opacity 0.3s ease'; 8195 8196 setTimeout(() => { 8197 popupOverlay.style.display = 'none'; 8198 }, 300); 8199 } 8200 8201 // Menutup popup ketika mengklik area di luar popup 8202 document.getElementById('popupOverlay').addEventListener('click', function(event) { 8203 if (event.target === this) { 8204 closePopup(); 8205 } 8206 }); 8207 </script>
8207 8208 <style nonce="se3iyzEHMc9FQEB4wSyd0w=="> 8209 /* Chat Widget Styles - Lightweight & Minimal */ 8210 .chat-widget { 8211 position: fixed; 8212 bottom: 20px; 8213 right: 20px; 8214 z-index: 9999; 8215 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; 8216 } 8217 8218 /* Hide floating button on mobile - use bottom nav instead */ 8219 @media (max-width: 640px) { 8220 .chat-toggle-btn { 8221 display: none !important; 8222 } 8223 8224 /* Ensure popup is still visible on mobile even when button is hidden */ 8225 .chat-widget { 8226 display: block !important; 8227 } 8228 8229 .chat-popup { 8230 display: none; /* Hidden by default, shown via JS */ 8231 } 8232 8233 .chat-popup[style*="display: block"], 8234 .chat-popup[style*="display:block"] { 8235 display: block !important; 8236 } 8237 } 8238 8239 .chat-toggle-btn{ 8240 8241 width:60px; 8242 height:60px; 8243 8244 border:none; 8245 border-radius:50%; 8246 8247 background: 8248 linear-gradient( 8249 145deg, 8250 #1eff1e, 8251 #a80000 8252 ); 8253 8254 color:#fff; 8255 8256 cursor:pointer; 8257 8258 box-shadow: 8259 0 0 15px rgba(255,0,0,.20), 8260 0 0 25px rgba(255,215,0,.08); 8261 8262 transition: 8263 transform .2s ease, 8264 box-shadow .2s ease; 8265 8266 } 8267 8268 .chat-toggle-btn{ 8269 8270 transform:scale(1.05); 8271 8272 box-shadow: 8273 0 0 20px rgba(255,0,0,.28), 8274 0 0 30px rgba(255,215,0,.12); 8275 8276} 8277 8278 #chat-toggle-btn .chat-icon { 8279 position: absolute; 8280 top: 50%; 8281 left: 50%; 8282 transform: translate(-50%, -50%); 8283 width: 28px !important; 8284 height: 28px !important; 8285 } 8286 8287 .chat-unread-badge{ 8288 position:absolute; 8289 top:-5px; 8290 right:-5px; 8291 8292 background:var(--gopay-red); 8293 8294 color:#fff; 8295 8296 border-radius:12px; 8297 8298 padding:2px 6px; 8299 8300 font-size:11px; 8301 font-weight:700; 8302 8303 min-width:20px; 8304 8305 text-align:center; 8306 8307 box-shadow: 8308 0 0 10px rgba(255,0,0,.25); 8309} 8310 } 8311 8312 .chat-popup { 8313 position:absolute; 8314 bottom:80px; 8315 right:0; 8316 8317 width:380px; 8318 8319 max-width:calc(100vw - 40px); 8320 8321 height:500px; 8322 8323 max-height:calc(100vh - 120px); 8324 8325 background:var(--gopay-card); 8326 8327 border:1px solid rgba(255,215,0,.18); 8328 8329 border-radius:16px; 8330 8331 box-shadow: 8332 0 0 20px rgba(255,0,0,.15), 8333 0 0 35px rgba(255,215,0,.05); 8334 8335 display:flex; 8336 flex-direction:column; 8337 8338 overflow:hidden; 8339 } 8340 8341 .chat-popup-header{ 8342 8343 background: 8344 linear-gradient( 8345 145deg, 8346 #1eff1e, 8347 #a80000 8348 ); 8349 8350 color:#fff; 8351 8352 padding:16px 20px; 8353 8354 display:flex; 8355 justify-content:space-between; 8356 align-items:center; 8357 8358 flex-shrink:0; 8359 8360 border-bottom:1px solid rgba(255,215,0,.18); 8361 8362 box-shadow: 8363 inset 0 -1px 0 rgba(255,215,0,.08); 8364 } 8365 8366 8367 .chat-header-title { 8368 display: flex; 8369 flex-direction: column; 8370 gap: 2px; 8371 min-height: 0; 8372 } 8373 8374 .chat-popup-header h3 { 8375 margin: 0; 8376 font-size: 18px; 8377 font-weight: 600; 8378 line-height: 1.2; 8379 } 8380 8381 .chat-operating-hours { 8382 font-size: 11px; 8383 opacity: 0.9; 8384 font-weight: 400; 8385 display: flex; 8386 align-items: center; 8387 gap: 4px; 8388 line-height: 1.2; 8389 } 8390 8391 .chat-operating-hours svg { 8392 width: 12px; 8393 height: 12px; 8394 opacity: 0.8; 8395 flex-shrink: 0; 8396 } 8397 8398 .chat-header-actions { 8399 display: flex; 8400 align-items: center; 8401 gap: 8px; 8402 } 8403 8404 /* Notification Toggle Button */ 8405 .btn-notif-toggle { 8406 background: none; 8407 border: none; 8408 color: white; 8409 font-size: 18px; 8410 cursor: pointer; 8411 padding: 4px 8px; 8412 transition: all 0.2s; 8413 opacity: 0.8; 8414 } 8415 8416 .btn-notif-toggle:hover { 8417 opacity: 1; 8418 transform: scale(1.1); 8419 } 8420 8421 /* Icon states */ 8422 .btn-notif-toggle[data-status="not-subscribed"] svg { 8423 opacity: 0.7; 8424 } 8425 8426 .btn-notif-toggle[data-status="not-subscribed"]:hover svg { 8427 opacity: 1; 8428 } 8429 8430 .btn-notif-toggle[data-status="subscribed"] svg { 8431 opacity: 1; 8432 animation: bellRing 2s ease-in-out; 8433 } 8434 8435 .btn-notif-toggle[data-status="blocked"] svg { 8436 color: #ff6b6b; 8437 } 8438 8439 .btn-notif-toggle[data-status="not-supported"] { 8440 display: none !important; 8441 } 8442 8443 @keyframes bellRing { 8444 0%, 100% { transform: rotate(0deg); } 8445 10%, 30% { transform: rotate(-10deg); } 8446 20%, 40% { transform: rotate(10deg); } 8447 } 8448 8449 /* Notification Info Bar */ 8450 .chat-notif-info-bar { 8451 position: absolute; 8452 top: 64px; 8453 left: 0; 8454 right: 0; 8455 background: linear-gradient(to right, #e3f2fd, #f5f5f5); 8456 border-bottom: 1px solid #bbdefb; 8457 padding: 8px 12px; 8458 display: flex; 8459 align-items: center; 8460 gap: 8px; 8461 font-size: 12px; 8462 color: #616161; 8463 z-index: 10; 8464 animation: slideDown 0.3s ease; 8465 } 8466 8467 .chat-notif-info-bar svg { 8468 flex-shrink: 0; 8469 } 8470 8471 .chat-notif-info-bar .small { 8472 flex: 1; 8473 line-height: 1.4; 8474 } 8475 8476 .chat-notif-info-bar .btn-dismiss { 8477 background: none; 8478 border: none; 8479 color: #9e9e9e; 8480 cursor: pointer; 8481 padding: 0 4px; 8482 font-size: 16px; 8483 transition: color 0.2s; 8484 } 8485 8486 .chat-notif-info-bar .btn-dismiss:hover { 8487 color: #f3c806; 8488 } 8489 8490 @keyframes slideDown { 8491 from { 8492 max-height: 0; 8493 opacity: 0; 8494 } 8495 to { 8496 max-height: 50px; 8497 opacity: 1; 8498 } 8499 } 8500 8501 .chat-close-btn { 8502 background: none; 8503 border: none; 8504 color: white; 8505 font-size: 28px; 8506 line-height: 1; 8507 cursor: pointer; 8508 padding: 0; 8509 width: 30px; 8510 height: 30px; 8511 } 8512 8513 .chat-popup-body { 8514 flex: 1 1 auto; 8515 display: flex; 8516 flex-direction: column; 8517 min-height: 0; 8518 overflow: hidden; 8519 height: calc(100% - 64px); 8520 position: relative; 8521 transition: padding-top 0.3s ease; 8522 } 8523 8524 /* Add padding when info bar is visible */ 8525 .chat-popup-body.has-info-bar { 8526 padding-top: 40px; 8527 } 8528 8529 .chat-view { 8530 flex: 1 1 auto; 8531 display: none; 8532 flex-direction: column; 8533 min-height: 0; 8534 overflow: hidden; 8535 } 8536 8537 #chat-list-view { 8538 display: flex; 8539 } 8540 8541 #chat-messages-view { 8542 display: none; 8543 } 8544 8545 #chat-messages-view.active { 8546 display: flex; 8547 flex-direction: column; 8548 } 8549 8550 #chat-new-view { 8551 display: none; 8552 } 8553 8554 #chat-new-view.active { 8555 display: flex; 8556 } 8557 8558 .chat-conversations-list { 8559 flex: 1; 8560 overflow-y: auto; 8561 padding: 0; 8562 background: white; 8563 } 8564 8565 /* Custom Scrollbar for Conversations List */ 8566 .chat-conversations-list::-webkit-scrollbar {
8567 width: 6px; 8568 } 8569 8570 .chat-conversations-list::-webkit-scrollbar-track { 8571 background: #f1f1f1; 8572 } 8573 8574 .chat-conversations-list::-webkit-scrollbar-thumb { 8575 background: #F28C1A; 8576 border-radius: 3px; 8577 } 8578 8579 .chat-conversations-list::-webkit-scrollbar-thumb:hover { 8580 background: #D97809; 8581 } 8582 8583 /* Firefox */ 8584 .chat-conversations-list { 8585 scrollbar-width: thin; 8586 scrollbar-color: #F28C1A #f1f1f1; 8587 } 8588 8589 .chat-conversation-item { 8590 padding: 12px 16px; 8591 cursor: pointer; 8592 display: flex; 8593 gap: 12px; 8594 align-items: flex-start; 8595 transition: background 0.15s ease; 8596 color: #e97407; 8597 border-bottom: 1px solid #f0f0f0; 8598 } 8599 8600 .chat-conversation-item:hover { 8601 background: #f5f5f5; 8602 } 8603 8604 .chat-conversation-item.active { 8605 background: #FFF5EB; 8606 } 8607 8608 /* WhatsApp-like Avatar */ 8609 .conversation-avatar { 8610 width: 48px; 8611 height: 48px; 8612 border-radius: 50%; 8613 background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%); 8614 flex-shrink: 0; 8615 display: flex; 8616 align-items: center; 8617 justify-content: center; 8618 color: white; 8619 font-weight: 600; 8620 font-size: 18px; 8621 } 8622 8623 .conversation-avatar svg { 8624 width: 24px; 8625 height: 24px; 8626 } 8627 8628 /* WhatsApp-like Content */ 8629 .conversation-content { 8630 flex: 1; 8631 min-width: 0; 8632 display: flex; 8633 flex-direction: column; 8634 gap: 4px; 8635 } 8636 8637 .conversation-header { 8638 display: flex; 8639 justify-content: space-between; 8640 align-items: center; 8641 gap: 8px; 8642 } 8643 8644 .conversation-name { 8645 font-weight: 600; 8646 font-size: 15px; 8647 color: #111; 8648 white-space: nowrap; 8649 overflow: hidden; 8650 text-overflow: ellipsis; 8651 } 8652 8653 .conversation-time { 8654 font-size: 12px; 8655 color: #1adbcb; 8656 flex-shrink: 0; 8657 } 8658 8659 .conversation-preview { 8660 display: flex; 8661 justify-content: space-between; 8662 align-items: center; 8663 gap: 8px; 8664 } 8665 8666 .conversation-message { 8667 font-size: 14px; 8668 color: #1fe2e2; 8669 white-space: nowrap; 8670 overflow: hidden; 8671 text-overflow: ellipsis; 8672 margin: 0; 8673 flex: 1; 8674 } 8675 8676 .conversation-unread { 8677 background: #d32525; 8678 color: white; 8679 border-radius: 12px; 8680 padding: 2px 8px; 8681 font-size: 12px; 8682 font-weight: 600; 8683 min-width: 20px; 8684 text-align: center; 8685 flex-shrink: 0; 8686 } 8687 8688 /* Active item styling */ 8689 .chat-conversation-item.active .conversation-name { 8690 color: #F28C1A; 8691 } 8692 8693 .chat-conversation-item.active .conversation-time { 8694 color: #F28C1A; 8695 } 8696 8697 .chat-new-btn { 8698 margin: 12px; 8699 padding: 12px; 8700 background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%); 8701 color: white; 8702 border: none; 8703 border-radius: 8px; 8704 cursor: pointer; 8705 font-weight: 500; 8706 font-size: 14px; 8707 display: flex; 8708 align-items: center; 8709 justify-content: center; 8710 gap: 8px; 8711 transition: all 0.2s; 8712 flex-shrink: 0; 8713 } 8714 8715 .chat-new-btn:hover { 8716 transform: translateY(-1px); 8717 box-shadow: 0 4px 8px rgba(242, 140, 26, 0.3); 8718 } 8719 8720 .chat-conversation-title { 8721 flex: 1; 8722 font-weight: 600; 8723 font-size: 16px; 8724 color: #1f2937; 8725 } 8726 8727 .chat-messages-container { 8728 flex: 1; 8729 overflow-y: auto; 8730 padding: 16px; 8731 display: flex; 8732 flex-direction: column; 8733 gap: 8px; 8734 min-height: 0; 8735 background: #E5DDD5; 8736 } 8737 8738 /* Custom Scrollbar for Messages Container */ 8739 .chat-messages-container::-webkit-scrollbar {
8740 width: 6px; 8741 } 8742 8743 .chat-messages-container::-webkit-scrollbar-track { 8744 background: rgba(0, 0, 0, 0.05); 8745 } 8746 8747 .chat-messages-container::-webkit-scrollbar-thumb { 8748 background: rgba(242, 140, 26, 0.6); 8749 border-radius: 3px; 8750 } 8751 8752 .chat-messages-container::-webkit-scrollbar-thumb:hover { 8753 background: #F28C1A; 8754 } 8755 8756 /* Firefox */ 8757 .chat-messages-container { 8758 scrollbar-width: thin; 8759 scrollbar-color: rgba(242, 140, 26, 0.6) rgba(0, 0, 0, 0.05); 8760 } 8761 8762 /* WhatsApp Group-like Messages */ 8763 .chat-message { 8764 display: flex; 8765 margin-bottom: 4px; 8766 animation: fadeIn 0.2s ease; 8767 } 8768 8769 @keyframes fadeIn { 8770 from { opacity: 0; transform: translateY(10px); } 8771 to { opacity: 1; transform: translateY(0); } 8772 } 8773 8774 .chat-message.mine { 8775 justify-content: flex-end; 8776 } 8777 8778 .chat-message-bubble { 8779 max-width: 80%; 8780 padding: 6px 8px 8px 10px; 8781 border-radius: 8px; 8782 position: relative; 8783 box-shadow: 0 1px 0.5px rgba(0,0,0,0.13); 8784 } 8785 8786 /* Bubble from others (Admin/CS) */ 8787 .chat-message:not(.mine) .chat-message-bubble { 8788 background: #FFFFFF; 8789 border-radius: 0 8px 8px 8px; 8790 } 8791 8792 /* Bubble tail for others */ 8793 .chat-message:not(.mine) .chat-message-bubble::before { 8794 content: ''; 8795 position: absolute; 8796 top: 0; 8797 left: -8px; 8798 width: 0; 8799 height: 0; 8800 border-style: solid; 8801 border-width: 0 8px 13px 0; 8802 border-color: transparent #FFFFFF transparent transparent; 8803 } 8804 8805 /* Bubble from user (mine) */ 8806 .chat-message.mine .chat-message-bubble { 8807 background: #e4f5d0; /* Light blue for user messages */ 8808 border-radius: 8px 0 8px 8px; 8809 } 8810 8811 /* Bubble tail for mine */ 8812 .chat-message.mine .chat-message-bubble::before { 8813 content: ''; 8814 position: absolute; 8815 top: 0; 8816 right: -8px; 8817 width: 0; 8818 height: 0; 8819 border-style: solid; 8820 border-width: 0 0 13px 8px; 8821 border-color: transparent transparent transparent #eaf5d0; 8822 } 8823 8824 .message-sender { 8825 font-size: 12.5px; 8826 font-weight: 600; 8827 color: #F28C1A !important; 8828 margin-bottom: 4px; 8829 } 8830 8831 .chat-message.mine .message-sender { 8832 display: none; 8833 } 8834 8835 /* Message text */ 8836 .message-text { 8837 font-size: 14px; 8838 line-height: 19px; 8839 color: #000000 !important; 8840 word-wrap: break-word; 8841 white-space: pre-wrap; 8842 margin-bottom: 4px; 8843 } 8844 8845 /* Message metadata (time + status) */ 8846 .message-meta { 8847 display: flex; 8848 align-items: center; 8849 justify-content: flex-end; 8850 gap: 4px; 8851 margin-top: 2px; 8852 } 8853 8854 .message-time { 8855 font-size: 11px; 8856 color: #728166 !important; 8857 line-height: 15px; 8858 } 8859 8860 /* Use multiple selectors to override global styles */ 8861 .chat-message-bubble .message-status, 8862 .message-meta .message-status, 8863 .chat-message .message-status { 8864 width: 16px !important; 8865 height: 16px !important; 8866 min-width: 16px !important; 8867 min-height: 16px !important; 8868 max-width: 16px !important; 8869 max-height: 16px !important; 8870 flex-shrink: 0; 8871 color: #728166 !important; 8872 fill: currentColor !important; 8873 } 8874 8875 .chat-message:not(.mine) .message-status { 8876 display: none; 8877 } 8878 8879 /* Loading dots animation */ 8880 @keyframes loadingDots { 8881 0%, 20% { content: '.'; } 8882 40% { content: '..'; } 8883 60%, 100% { content: '...'; } 8884 } 8885 8886 .message-status.loading::after { 8887 content: '...'; 8888 animation: loadingDots 1.5s infinite; 8889 font-size: 16px; 8890 line-height: 16px; 8891 } 8892 8893 .message-status.loading path { 8894 display: none; 8895 } 8896 8897 .message-status.failed { 8898 color: #ef4444 !important; 8899 cursor: pointer; 8900 } 8901 8902 .message-status.sent { 8903 color: #667781 !important; 8904 } 8905 8906 .chat-new-form { 8907 flex: 1; 8908 overflow-y: auto; 8909 padding: 16px; 8910 display: flex; 8911 flex-direction: column; 8912 } 8913 8914 .chat-new-form form { 8915 display: flex; 8916 flex-direction: column; 8917 gap: 16px; 8918 flex: 1; 8919 } 8920 8921 .chat-new-form .form-group { 8922 display: flex; 8923 flex-direction: column; 8924 gap: 6px; 8925 } 8926 8927 .chat-new-form label { 8928 font-size: 14px; 8929 font-weight: 500; 8930 color: #374151; 8931 } 8932 8933 .chat-new-form .form-control { 8934 width: 100%; 8935 padding: 10px 12px; 8936 border: 1px solid #d1d5db; 8937 border-radius: 8px; 8938 font-size: 14px; 8939 font-family: inherit; 8940 transition: border-color 0.2s; 8941 box-sizing: border-box; 8942 } 8943 8944 .chat-new-form .form-control:focus { 8945 outline: none; 8946 border-color: #F28C1A; 8947 box-shadow: 0 0 0 3px rgba(242, 140, 26, 0.1); 8948 } 8949 8950 .chat-new-form textarea.form-control { 8951 resize: vertical; 8952 min-height: 100px; 8953 } 8954 8955 .chat-new-form .btn { 8956 padding: 12px 20px; 8957 border: none; 8958 border-radius: 8px; 8959 font-size: 15px; 8960 font-weight: 500; 8961 cursor: pointer; 8962 transition: all 0.2s; 8963 text-align: center; 8964 } 8965 8966 .chat-new-form .btn-primary { 8967 background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%); 8968 color: white; 8969 } 8970 8971 .chat-new-form .btn-primary:hover { 8972 transform: translateY(-1px); 8973 box-shadow: 0 4px 8px rgba(242, 140, 26, 0.3); 8974 } 8975 8976 .chat-new-form .btn-primary:active { 8977 transform: scale(0.98); 8978 } 8979 8980 .chat-new-form .btn-block { 8981 width: 100%; 8982 margin-top: auto; 8983 } 8984 8985 .chat-message-form { 8986 padding: 12px; 8987 border-top: 1px solid #e5e7eb; 8988 display: flex; 8989 flex-wrap: wrap; 8990 gap: 8px; 8991 align-items: flex-end; 8992 flex-shrink: 0; 8993 background: white; 8994 } 8995 8996 .chat-product-card { 8997 flex: 1 1 100%; 8998 max-width: 100%; 8999 display: flex; 9000 gap: 12px; 9001 padding: 12px; 9002 background: #f3f4f6; 9003 border-radius: 8px; 9004 margin-bottom: 4px; 9005 border: 1px solid #e5e7eb; 9006 } 9007 9008 .chat-product-card img { 9009 width: 60px; 9010 height: 60px; 9011 object-fit: cover; 9012 border-radius: 6px; 9013 flex-shrink: 0; 9014 } 9015 9016 .chat-product-card-content { 9017 flex: 1; 9018 min-width: 0; 9019 } 9020 9021 .chat-product-card-name { 9022 font-weight: 500; 9023 font-size: 14px; 9024 color: #1f2937; 9025 margin-bottom: 4px; 9026 white-space: nowrap; 9027 overflow: hidden; 9028 text-overflow: ellipsis; 9029 } 9030 9031 .chat-product-card-variant { 9032 font-size: 12px; 9033 color: #74806b; 9034 margin-bottom: 4px; 9035 } 9036 9037 .chat-product-card-price { 9038 font-size: 13px; 9039 color: #8bea66; 9040 font-weight: 600; 9041 } 9042 9043 .chat-product-card-remove { 9044 align-self: flex-start; 9045 background: none; 9046 border: none; 9047 color: #9ca3af; 9048 cursor: pointer; 9049 padding: 4px; 9050 font-size: 18px; 9051 line-height: 1; 9052 transition: color 0.2s; 9053 } 9054 9055 .chat-product-card-remove:hover { 9056 color: #ef4444; 9057 } 9058 9059 /* Product card in messages (read-only display) */ 9060 .message-product-card { 9061 display: flex; 9062 gap: 10px; 9063 padding: 10px; 9064 background: rgba(255, 255, 255, 0.5); 9065 border-radius: 8px; 9066 margin-bottom: 6px; 9067 border: 1px solid rgba(0, 0, 0, 0.08); 9068 align-items: center; 9069 } 9070 9071 .chat-message.mine .message-product-card { 9072 background: rgba(255, 255, 255, 0.7); 9073 } 9074 9075 .message-product-card img { 9076 width: 50px; 9077 height: 50px; 9078 object-fit: cover; 9079 border-radius: 6px; 9080 flex-shrink: 0; 9081 } 9082 9083 .message-product-info { 9084 flex: 1; 9085 min-width: 0; 9086 } 9087 9088 .message-product-name { 9089 font-weight: 500; 9090 font-size: 13px; 9091 color: #33371f; 9092 margin-bottom: 2px; 9093 overflow: hidden; 9094 text-overflow: ellipsis; 9095 display: -webkit-box; 9096 -webkit-line-clamp: 2; 9097 -webkit-box-orient: vertical; 9098 line-height: 1.3; 9099 } 9100 9101 .message-product-variant { 9102 font-size: 11px; 9103 color: #78806b; 9104 margin-bottom: 2px; 9105 } 9106 9107 .message-product-price { 9108 font-size: 12px; 9109 color: #c7ea66; 9110 font-weight: 600; 9111 } 9112 9113 .message-product-link { 9114 flex-shrink: 0; 9115 width: 32px; 9116 height: 32px; 9117 display: flex; 9118 align-items: center; 9119 justify-content: center; 9120 background: rgba(102, 126, 234, 0.1); 9121 border-radius: 6px; 9122 color: #c7ea66; 9123 text-decoration: none; 9124 transition: all 0.2s; 9125 } 9126 9127 .message-product-link:hover { 9128 background: #b7ea66; 9129 color: white; 9130 } 9131 9132 .message-product-link svg { 9133 width: 16px; 9134 height: 16px; 9135 } 9136 9137 .chat-message-input { 9138 flex: 1; 9139 border: 1px solid #d1d5db; 9140 border-radius: 20px; 9141 padding: 10px 16px; 9142 resize: none; 9143 max-height: 100px; 9144 font-family: inherit; 9145 font-size: 14px; 9146 line-height: 1.5; 9147 box-sizing: border-box; 9148 overflow-y: hidden; 9149 } 9150 9151 .chat-message-input:focus { 9152 outline: none; 9153 border-color: #F28C1A; 9154 box-shadow: 0 0 0 3px rgba(242, 140, 26, 0.1); 9155 } 9156 9157 .chat-send-btn { 9158 width: 40px; 9159 height: 40px; 9160 border-radius: 50%; 9161 background: linear-gradient(135deg, #F28C1A 0%, #D97809 100%); 9162 border: none; 9163 color: white; 9164 cursor: pointer; 9165 flex-shrink: 0; 9166 display: flex; 9167 align-items: center; 9168 justify-content: center; 9169 transition: all 0.2s; 9170 } 9171 9172 .chat-send-btn:hover { 9173 transform: scale(1.05); 9174 box-shadow: 0 2px 8px rgba(242, 140, 26, 0.3); 9175 } 9176 9177 .chat-send-btn:active { 9178 transform: scale(0.95); 9179 } 9180 9181 .chat-loading { 9182 text-align: center; 9183 padding: 20px; 9184 color: #6b7280; 9185 } 9186 9187 /* Date Separator (WhatsApp-style) */ 9188 .date-separator { 9189 display: flex; 9190 align-items: center; 9191 gap: 12px; 9192 margin: 24px 0 16px; 9193 opacity: 0; 9194 animation: fadeInSeparator 0.3s ease forwards; 9195 } 9196 9197 @keyframes fadeInSeparator { 9198 from { 9199 opacity: 0; 9200 transform: translateY(-10px); 9201 } 9202 to { 9203 opacity: 1; 9204 transform: translateY(0); 9205 } 9206 } 9207 9208 .date-separator-line { 9209 flex: 1; 9210 height: 1px; 9211 background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.1) 50%, transparent); 9212 } 9213 9214 .date-separator-text { 9215 flex-shrink: 0; 9216 padding: 4px 12px; 9217 background: #e9ecef; 9218 color: #6c757d; 9219 font-size: 11px; 9220 font-weight: 600; 9221 text-transform: uppercase; 9222 letter-spacing: 0.5px; 9223 border-radius: 12px; 9224 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); 9225 } 9226 9227 /* Mobile responsive */ 9228 @media (max-width: 640px) { 9229 .chat-popup { 9230 position: fixed !im
9230portant; /* Override absolute positioning */ 9231 bottom: 45px !important; /* Above bottom nav */ 9232 right: 0 !important; 9233 left: 0 !important; 9234 width: 100% !important; 9235 max-width: 100% !important; 9236 /* Use dvh (dynamic viewport height) for browser UI awareness */ 9237 height: calc(100dvh - 45px) !important; 9238 max-height: calc(100dvh - 45px) !important; 9239 /* Fallback for browsers that don't support dvh */ 9240 height: calc(var(--viewport-height, 100vh) - 45px) !important; 9241 max-height: calc(var(--viewport-height, 100vh) - 45px) !important; 9242 border-radius: 0 !important; 9243 z-index: 9999 !important; 9244 } 9245 9246 .chat-popup-header { 9247 border-radius: 0; 9248 } 9249 9250 .chat-messages-container, 9251 .chat-conversations-list { 9252 /* Adjust for mobile keyboard using dynamic viewport */ 9253 max-height: calc(100dvh - 190px); 9254 /* Fallback for browsers that don't support dvh */ 9255 max-height: calc(var(--viewport-height, 100vh) - 190px); 9256 } 9257 } 9258 </style> 9259 9260 <!-- Chat Widget Button --> 9261 <div id="chat-widget" class="chat-widget" 9262 data-user-id="" 9263 data-is-logged-in="false" 9264 data-csrf-token="df5d776748b1ed8c8dd0d987bae99b1ee3dea6c6dcbe0eedb1bea766c56d569a"> 9265 <button id="chat-toggle-btn" class="chat-toggle-btn" aria-label="Toggle chat"> 9266 <svg class="chat-icon" width="28" height="28" viewBox="0 0 640 640" fill="currentColor"> 9267 <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"/> 9268 </svg> 9269 <span id="chat-unread-badge" class="chat-unread-badge" style="display: none;">0</span> 9270 </button> 9271 9272 <div id="chat-popup" class="chat-popup" style="display: none;"> 9273 <div class="chat-popup-header"> 9274 <div class="chat-header-title"> 9275 <h3>Bantuan</h3> 9276 <span id="chatOperatingHours" class="chat-operating-hours" style="display: none;"></span> 9277 </div> 9278 <div class="chat-header-actions"> 9279 <button id="chatNotifToggle" class="btn-notif-toggle" data-status="not-supported" title="Push notification" style="display: none;"> 9280 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> 9281 <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"/> 9282 </svg> 9283 </button> 9284 <button id="chat-close-btn" class="chat-close-btn" aria-label="Close chat">Ã</button> 9285 </div> 9286 </div> 9287 9288 <!-- Notification Info Bar (conditional) --> 9289 <div class="chat-notif-info-bar" id="chatNotifInfoBar" style="display:none;"> 9290 <svg width="14" height="14" viewBox="0 0 24 24" fill="#ffc107"> 9291 <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"/> 9292 </svg>
9293 <span class="small">Aktifkan notifikasi untuk pemberitahuan balasan</span> 9294 <button class="btn-dismiss" onclick="ChatNotification.dismissInfo()">â</button> 9295 </div> 9296 9297 <div class="chat-popup-body"> 9298 <!-- Conversations List View --> 9299 <div id="chat-list-view" class="chat-view"> 9300 <div id="chat-conversations-list" class="chat-conversations-list"> 9301 <div class="chat-loading">Memuat...</div> 9302 <!-- Conversation Item Structure (rendered by JS): 9303 <div class="chat-conversation-item"> 9304 <div class="conversation-avatar"> 9305 <svg>...</svg> 9306 </div> 9307 <div class="conversation-content"> 9308 <div class="conversation-header"> 9309 <span class="conversation-name">Admin Support</span> 9310 <span class="conversation-time">10:30</span> 9311 </div> 9312 <div class="conversation-preview"> 9313 <p class="conversation-message">Terima kasih telah menghubungi kami...</p> 9314 <span class="conversation-unread">2</span> 9315 </div> 9316 </div> 9317 </div> 9318 --> 9319 </div> 9320 <button id="chat-new-btn" class="chat-new-btn"> 9321 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 9322 <line x1="12" y1="5" x2="12" y2="19"></line> 9323 <line x1="5" y1="12" x2="19" y2="12"></line> 9324 </svg> 9325 Percakapan Baru 9326 </button> 9327 </div> 9328 9329 <!-- Chat Messages View --> 9330 <div id="chat-messages-view" class="chat-view" style="display: none;"> 9331 <div id="chat-messages-container" class="chat-messages-container"> 9332 <div class="chat-loading">Memuat pesan...</div> 9333 <!-- Message Structure (rendered by JS): 9334 <div class="chat-message"> (or .chat-message.mine) 9335 <div class="chat-message-bubble"> 9336 <div class="message-sender">Admin Support</div> (only for non-mine) 9337 <div class="message-text">Halo, ada yang bisa dibantu?</div> 9338 <div class="message-meta"> 9339 <span class="message-time">10:30</span> 9340 <svg class="message-status">...</svg> (only for mine) 9341 </div> 9342 </div> 9343 </div> 9344 --> 9345 </div> 9346 9347 <form id="chat-message-form" class="chat-message-form"> 9348 <input type="hidden" id="chat-current-conversation-id" value=""> 9349 <textarea 9350 id="chat-message-input" 9351 class="chat-message-input" 9352 placeholder="Ketik pesan..." 9353 rows="1" 9354 maxlength="5000" 9355 ></textarea> 9356 <button type="submit" class="chat-send-btn" aria-label="Send message"> 9357 <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 9358 <line x1="22" y1="2" x2="11" y2="
935813"></line> 9359 <polygon points="22 2 15 22 11 13 2 9 22 2"></polygon> 9360 </svg> 9361 </button> 9362 </form> 9363 </div> 9364 9365 <!-- New Chat View --> 9366 <div id="chat-new-view" class="chat-view" style="display: none;"> 9367 <div class="chat-messages-header"> 9368 <button id="chat-new-back-btn" class="chat-back-btn" aria-label="Back to list"> 9369 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 9370 <path d="M19 12H5M12 19l-7-7 7-7"/> 9371 </svg> 9372 </button> 9373 <div class="chat-conversation-title">Percakapan Baru</div> 9374 </div> 9375 9376 <div class="chat-new-form"> 9377 <form id="chat-start-form"> 9378 <div class="form-group"> 9379 <label for="chat-new-subject">Subjek</label> 9380 <input 9381 type="text" 9382 id="chat-new-subject" 9383 class="form-control" 9384 placeholder="Bantuan Pelanggan" 9385 maxlength="255" 9386 > 9387 </div> 9388 <div class="form-group"> 9389 <label for="chat-new-message">Pesan</label> 9390 <textarea 9391 id="chat-new-message" 9392 class="form-control" 9393 rows="4" 9394 placeholder="Tulis pertanyaan Anda..." 9395 required 9396 maxlength="5000" 9397 ></textarea> 9398 </div> 9399 <button type="submit" class="btn btn-primary btn-block">Kirim</button> 9400 </form> 9401 </div> 9402 </div> 9403 </div> 9404 </div> 9405 </div> 9406 9407 <!-- Login Required Modal --> 9408 <div class="modal-overlay" id="chatLoginModal"> 9409 <div class="modal-dialog"> 9410 <div class="modal-header"> 9411 <h3 class="modal-title"> 9412 <div class="modal-icon info"> 9413 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 9414 <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"/> 9415 </svg> 9416 </div> 9417 Login Diperlukan 9418 </h3> 9419 </div> 9420 <div class="modal-body"> 9421 <p class="modal-message">Anda harus login terlebih dahulu untuk menggunakan fitur chat bantuan pelanggan.</p> 9422 <div class="modal-actions"> 9423 <button class="modal-btn modal-btn-secondary" id="chatLoginCancel">Batal</button> 9424 <button class="modal-btn modal-btn-primary" id="chatLoginConfirm">Login Sekarang</button> 9425 </div> 9426 </div> 9427 </div> 9428 </div> 9429 9430 <!-- Footer Collapse Toggle Script --> 9431
9431<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 9432 document.addEventListener('DOMContentLoaded', function() { 9433 const ftTop = document.getElementById('ftTop'); 9434 const expandBtn = document.getElementById('ftExpandBtn'); 9435 9436 if (ftTop && expandBtn) { 9437 const expandText = expandBtn.querySelector('.expand-text'); 9438 9439 expandBtn.addEventListener('click', function() { 9440 ftTop.classList.toggle('expanded'); 9441 const isExpanded = ftTop.classList.contains('expanded'); 9442 if (expandText) { 9443 expandText.textContent = isExpanded ? 'Sembunyikan' : 'Selengkapnya'; 9444 } 9445 }); 9446 } 9447 }); 9448 </script>
9448 9449 </footer> 9450 9451 <!-- Compare Sidebar Overlay --> 9452 <div class="compare-overlay" id="compareOverlay"></div> 9453 9454 <!-- Floating Compare Badge (Sticky) --> 9455 <button class="compare-floating-badge" id="compareFloatingBadge" aria-label="Lihat produk yang dibandingkan" style="display:none;"> 9456 <svg class="cfb-icon" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"> 9457 <path d="M9.01 14H2v2h7.01v3L13 15l-3.99-4v3zm5.98-1v-3H22V8h-7.01V5L11 9l3.99 4z"/> 9458 </svg> 9459 <span class="cfb-text">Bandingkan</span> 9460 <span class="cfb-count" id="cfbCount">0</span> 9461 </button> 9462 9463 <!-- AI Comparison Modal --> 9464 <div class="ai-compare-modal" id="aiCompareModal"> 9465 <div class="modal-backdrop"></div> 9466 <div class="modal-container"> 9467 <div class="modal-header"> 9468 <h3 class="modal-title"> 9469 <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"> 9470 <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"/> 9471 </svg> 9472 Analisis AI: Perbandingan Produk 9473 </h3> 9474 <button class="modal-close" id="aiCompareModalClose" aria-label="Tutup"> 9475 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 9476 <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"/> 9477 </svg> 9478 </button> 9479 </div> 9480 9481 <div class="modal-content"> 9482 <!-- Loading State --> 9483 <div class="ai-loading" id="aiLoading"> 9484 <div class="loading-animation"> 9485 <div class="typing-indicator"> 9486 <span></span> 9487 <span></span> 9488 <span></span> 9489 </div> 9490 <p>AI sedang menganalisis produk...</p> 9491 <small>Proses ini membutuhkan waktu 10-30 detik</small> 9492 </div> 9493 </div> 9494 9495 <!-- Error State --> 9496 <div class="ai-error" id="aiError" hidden> 9497 <div class="error-icon"> 9498 <svg width="48" height="48" viewBox="0 0 24 24" fill="#ef4444"> 9499 <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"/> 9500 </svg> 9501 </div> 9502 <h4>Analisis AI Gagal</h4> 9503 <p id="aiErrorMessage">Terjadi kesalahan saat memproses analisis.</p> 9504 <button class="btn btn-outline-primary" id="aiRetry">Coba Lagi</button> 9505 </div> 9506 9507 <!-- Analysis Results --> 9508 <div class="ai-results" id="aiResults" hidden> 9509 <!-- Summary Section --> 9510 <div class="ai-summary-card"> 9511 <h4> 9512 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 9513 <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"/> 9514 </svg> 9515 Ringkasan Analisis 9516 </h4> 9517 <p id="aiSummary" class="summary-text"></p> 9518 <div class="winner-badge" id="winnerBadge"> 9519 <strong>Rekomendasi Terbaik:</strong> <span id="winnerProduct"></span> 9520 <small id="winnerReason"></small> 9521 </div> 9522 </div> 9523 9524 <!-- Comparison Table --> 9525 <div class="ai-comparison-table"> 9526 <h4> 9527 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 9528 <path d="M3,3H21V5H3V3M3,7H21V9H3V7M3,11H21V13H3V11M3,15H21V17H3V15M3,19H21V21H3V19Z"/> 9529 </svg> 9530 Perbandingan Detail 9531 </h4> 9532 <div id="comparisonTable" class="comparison-grid"></div> 9533 </div> 9534 9535 <!-- Detailed Analysis --> 9536 <div class="ai-detailed-analysis"> 9537 <h4> 9538 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 9539 <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"/> 9540 </svg> 9541 Analisis Mendalam 9542 </h4> 9543 <div id="detailedAnalysis" class="products-analysis"></div> 9544 </div> 9545 9546 <!-- Recommendations --> 9547 <div class="ai-recommendations"> 9548 <h4> 9549 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 9550 <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"/> 9551 </svg> 9552 Rekomendasi Berdasarkan Kebutuhan 9553 </h4> 9554 <div class="recommendations-grid"> 9555 <div class="recommendation-card"> 9556 <h5>ð° Budget Conscious</h5> 9557 <p id="budgetRecommendation"></p> 9558 </div> 9559 <div class="recommendation-card"> 9560 <h5>â¡ Performance Focused</h5> 9561 <p id="performanceRecommendation"></p> 9562 </div> 9563 <div class="recommendation-card"> 9564 <h5>âï¸ Balanced Choice</h5> 9565 <p id="balancedRecommendation"></p> 9566 </div> 9567 </div> 9568 </div> 9569 9570 <!-- Buying Tips --> 9571 <div class="ai-tips"> 9572 <h4> 9573 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 9574 <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
9574M5,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"/> 9575 </svg> 9576 Tips Pembelian 9577 </h4> 9578 <ul id="buyingTips" class="tips-list"></ul> 9579 </div> 9580 </div> 9581 </div> 9582 </div> 9583 </div> 9584 9585 <!-- Cart Login Modal --> 9586 <div class="modal-overlay" id="cartLoginModal"> 9587 <div class="modal-dialog"> 9588 <div class="modal-header"> 9589 <h3 class="modal-title"> 9590 <div class="modal-icon info"> 9591 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 9592 <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"/> 9593 </svg> 9594 </div> 9595 Login untuk Melanjutkan 9596 </h3> 9597 </div> 9598 <div class="modal-body"> 9599 <p class="modal-message" style="margin-bottom: 16px;">Silakan login atau daftar untuk mengakses keranjang belanja dan menyelesaikan pesanan Anda.</p> 9600 <div style="background: #f8fafc; border-radius: 8px; padding: 12px; margin-bottom: 20px;"> 9601 <p style="font-size: 14px; color: #646947; margin: 0; line-height: 1.6;"> 9602 <strong style="color: #2a2a0f;">Keuntungan dengan akun:</strong><br> 9603 â Simpan keranjang belanja Anda<br> 9604 â Lacak status pesanan secara real-time<br> 9605 â Checkout lebih cepat dengan data tersimpan<br> 9606 â Dapatkan notifikasi promo & diskon eksklusif 9607 </p> 9608 </div> 9609 <div class="modal-actions"> 9610 <button class="modal-btn modal-btn-secondary" id="cartLoginCancel">Batal</button> 9611 <button class="modal-btn modal-btn-primary" id="cartLoginConfirm" style="background: #ff6b35; border-color: #ff6b35;">Login</button> 9612 <button class="modal-btn modal-btn-primary" id="cartRegisterBtn" style="background: #f7931e; border-color: #f7931e;">Daftar</button> 9613 </div> 9614 </div> 9615 </div> 9616 </div> 9617 9618<style> 9619 :root { 9620 --gopay-black: #080808; 9621 --gopay-dark: #101010; 9622 --gopay-red: #1eff1e; 9623 --gopay-red-dark: #a80000; 9624 --gopay-red-soft: #ff4d4d; 9625 --gopay-white: #ffffff; 9626 } 9627 9628 /* ========================================================= 9629 FIXED FOOTER â GOPAYTOGEL FIRE GOLD EDITION 9630========================================================= */ 9631 9632.gopay-fixed-footer { 9633 9634 position: fixed; 9635 left: 0; 9636 right: 0; 9637 bottom: 0; 9638 z-index: 999; 9639 9640 display: flex; 9641 align-items: center; 9642 justify-content: space-around; 9643 gap: 8px; 9644 9645 padding: 11px 12px calc(11px + env(safe-area-inset-bottom)); 9646 overflow: hidden; 9647 9648 background: 9649 9650 radial-gradient( 9651 circle at 50% 0%, 9652 rgba(255,0,0,.15), 9653 rgba(16,16,16,.96) 60%, 9654 rgba(8,8,8,1) 9655 ), 9656 9657 linear-gradient( 9658 180deg, 9659 rgba(21,21,21,.95), 9660 rgba(8,8,8,1) 9661 ); 9662 9663 border-top: 2px solid rgba(255,215,0,.25); 9664 9665 border-radius: 18px 18px 0 0; 9666 9667 box-shadow: 9668 0 -10px 30px rgba(255,0,0,.12), 9669 0 -4px 18px rgba(255,215,0,.05), 9670 inset 0 1px 0 rgba(255,255,255,.05); 9671 9672 font-family: "Orbitron","Poppins",Arial,sans-serif; 9673 9674} 9675 9676 /* Scanline premium ringan */ 9677.gopay-fixed-footer::before { 9678 content: ""; 9679 position: absolute; 9680 inset: 0; 9681 pointer-events: none; 9682 9683 background: repeating-linear-gradient( 9684 0deg, 9685 rgba(255,0,0,.018), 9686 rgba(255,215,0,.02) 1px, 9687 transparent 1px, 9688 transparent 4px 9689 ); 9690 9691 opacity: .55; 9692 mix-blend-mode: screen; 9693} 9694 9695 /* Sweep Premium Fire */ 9696.gopay-fixed-footer::after { 9697 content: ""; 9698 position: absolute; 9699 top: 0; 9700 left: -160%; 9701 9702 width: 60%; 9703 height: 100%; 9704 9705 background: linear-gradient( 9706 120deg, 9707 transparent, 9708 rgba(255,215,0,.10), 9709 rgba(255,0,0,.18), 9710 rgba(255,215,0,.10), 9711 transparent 9712 ); 9713 9714 transform: skewX(-25deg); 9715 9716 animation: gopayShine 6s linear infinite; 9717 9718 pointer-events: none; 9719} 9720
9721 @keyframes gopayShine { 9722 0% { 9723 left: -160%; 9724 opacity: 0; 9725 } 9726 9727 15% { 9728 opacity: 1; 9729 } 9730 9731 55% { 9732 left: 160%; 9733 opacity: 1; 9734 } 9735 9736 100% { 9737 left: 160%; 9738 opacity: 0; 9739 } 9740 } 9741 9742 /* ========================================================= 9743 ITEM STYLE 9744========================================================= */ 9745 9746 .gopay-fixed-footer a { 9747 9748 flex:1; 9749 max-width:110px; 9750 9751 display:flex; 9752 flex-direction:column; 9753 align-items:center; 9754 justify-content:center; 9755 gap:5px; 9756 9757 padding:8px 4px; 9758 9759 color:rgba(255,255,255,.9); 9760 9761 text-decoration:none; 9762 text-align:center; 9763 text-transform:uppercase; 9764 9765 font-size:11px; 9766 font-weight:800; 9767 letter-spacing:.4px; 9768 9769 position:relative; 9770 z-index:2; 9771 9772 transition: 9773 color .2s ease, 9774 transform .2s ease, 9775 filter .2s ease; 9776} 9777 9778/* Hover item */ 9779 .gopay-fixed-footer a:hover{ 9780 9781 color:var(--gopay-gold); 9782 9783 transform:translateY(-2px); 9784 9785 filter: 9786 drop-shadow(0 0 6px rgba(255,215,0,.45)) 9787 drop-shadow(0 0 10px rgba(255,0,0,.18)); 9788} 9789 9790/* Icon */ 9791 .gopay-fixed-footer img{ 9792 9793 width:24px; 9794 height:24px; 9795 object-fit:contain; 9796 9797 filter: 9798 drop-shadow(0 0 5px rgba(255,0,0,.18)) 9799 drop-shadow(0 0 7px rgba(255,215,0,.18)); 9800 9801 transition: 9802 transform .2s ease, 9803 filter .2s ease; 9804} 9805 9806/* Hover icon */ 9807 .gopay-fixed-footer a:hover img{ 9808 9809 transform:scale(1.08); 9810 9811 filter: 9812 drop-shadow(0 0 8px rgba(255,215,0,.35)) 9813 drop-shadow(0 0 12px rgba(255,0,0,.22)); 9814} 9815 9816 /* ========================================================= 9817 CENTER CTA â GOPAYTOGEL FIRE CORE 9818========================================================= */ 9819 9820.gopay-fixed-footer .core-cta { 9821 9822 background: 9823 linear-gradient( 9824 145deg, 9825 rgba(255,0,0,.18), 9826 rgba(168,0,0,.12) 9827 ); 9828 9829 border:1px solid rgba(255,215,0,.35); 9830 9831 border-radius:10px 18px 10px 18px; 9832 9833 box-shadow: 9834 0 0 14px rgba(255,0,0,.18), 9835 0 0 22px rgba(255,215,0,.08), 9836 inset 0 0 10px rgba(255,215,0,.06); 9837 9838 transform:scale(1.05); 9839} 9840 9841/* ICON CTA */ 9842.gopay-fixed-footer .core-cta img{ 9843 9844 width:28px; 9845 height:28px; 9846 9847 filter: 9848 drop-shadow(0 0 8px rgba(255,215,0,.45)) 9849 drop-shadow(0 0 12px rgba(255,0,0,.25)); 9850} 9851 9852/* Halo belakang CTA */ 9853.gopay-fixed-footer .core-cta::before{ 9854 9855 content:""; 9856 position:absolute; 9857 inset:-5px; 9858 z-index:-1; 9859 9860 border-radius:13px 21px 13px 21px; 9861 9862 background: 9863 radial-gradient( 9864 circle, 9865 rgba(255,0,0,.20), 9866 rgba(255,215,0,.08), 9867 transparent 72% 9868 ); 9869 9870 animation:gopayPulse 2.8s ease-in-out infinite; 9871} 9872 9873/* Pulse */ 9874@keyframes gopayPulse{ 9875 9876 0%,100%{ 9877 opacity:.35; 9878 transform:scale(1); 9879 } 9880 9881 50%{ 9882 opacity:.8; 9883 transform:scale(1.06); 9884 } 9885 9886} 9887 9888 /* ========================================================= 9889 RESPONSIVE 9890========================================================= */ 9891 9892@media (max-width:400px){ 9893 9894 .gopay-fixed-footer{ 9895 gap:4px; 9896 padding-right:8px; 9897 padding-left:8px; 9898 } 9899 9900 .gopay-fixed-footer a{ 9901 font-size:10px; 9902 letter-spacing:.2px; 9903 } 9904 9905 .gopay-fixed-footer img{ 9906 width:20px; 9907 height:20px; 9908 } 9909 9910 .gopay-fixed-footer .core-cta img{ 9911 width:24px; 9912 height:24px; 9913 } 9914 9915} 9916 9917/* ========================================================= 9918 ACCESSIBILITY 9919========================================================= */ 9920 9921@media (prefers-reduced-motion:reduce){ 9922 9923 .gopay-fixed-footer::after, 9924 .gopay-fixed-footer .core-cta::before{ 9925 animation:none; 9926 } 9927 9928 .gopay-fixed-footer a, 9929 .gopay-fixed-footer img{ 9930 transition:none; 9931 } 9932 9933} 9934</style> 9935 9936<!-- DENTAL CLINIC FLOATING EFFECT --> 9937<div class="dental-fx" aria-hidden="true"> 9938 9939 <span class="dental-drop dd1">ð¦·</span> 9940 <span class="dental-drop dd2">ðª¥</span> 9941 <span class="dental-drop dd3">â</span> 9942 9943 <span class="dental-drop dd4">ð¦·</span> 9944 <span class="dental-drop dd5">â</span> 9945 <span class="dental-drop dd6">ðª¥</span> 9946 9947 <span class="dental-drop dd7">ð¦·</span> 9948 <span class="dental-drop dd8">ðª¥</span> 9949 <span class="dental-drop dd9">â</span> 9950 9951 <span class="dental-drop dd10">ð¦·</span> 9952 <span class="dental-drop dd11">â</span> 9953 <span class="dental-drop dd12">ðª¥</span> 9954 9955</div> 9956 9957<style> 9958/* ========================================== 9959 DENTAL CLINIC ANIMATION
9960 𦷠𪥠â 9961========================================== */ 9962 9963.dental-fx{ 9964 position:fixed; 9965 inset:0; 9966 9967 width:100%; 9968 height:100%; 9969 9970 overflow:hidden; 9971 pointer-events:none; 9972 9973 z-index:9998; 9974} 9975 9976 9977/* BASE ICON */ 9978 9979.dental-drop{ 9980 position:absolute; 9981 top:-80px; 9982 9983 font-size:34px; 9984 line-height:1; 9985 9986 opacity:0; 9987 9988 will-change: 9989 top, 9990 transform, 9991 opacity; 9992 9993 filter: 9994 drop-shadow(0 0 3px rgba(255,255,255,.95)) 9995 drop-shadow(0 0 8px rgba(62,220,255,.55)) 9996 drop-shadow(0 0 15px rgba(70,255,160,.28)); 9997 9998 animation: 9999 dentalFloat var(--time,10s) 10000 linear 10001 var(--delay,0s) 10002 infinite; 10003} 10004 10005 10006/* ========================================== 10007 POSISI + KECEPATAN 10008========================================== */ 10009 10010.dd1{ 10011 left:3%; 10012 --time:9s; 10013 --delay:-2s; 10014 --wind:50px; 10015 font-size:41px; 10016} 10017 10018.dd2{ 10019 left:12%; 10020 --time:12s; 10021 --delay:-7s; 10022 --wind:-46px; 10023 font-size:30px; 10024} 10025 10026.dd3{ 10027 left:21%; 10028 --time:10s; 10029 --delay:-5s; 10030 --wind:65px; 10031} 10032 10033.dd4{ 10034 left:31%; 10035 --time:13s; 10036 --delay:-9s; 10037 --wind:-58px; 10038 font-size:45px; 10039} 10040 10041.dd5{ 10042 left:40%; 10043 --time:8.5s; 10044 --delay:-3s; 10045 --wind:48px; 10046 font-size:27px; 10047} 10048 10049.dd6{ 10050 left:49%; 10051 --time:11s; 10052 --delay:-6s; 10053 --wind:-70px; 10054} 10055 10056.dd7{ 10057 left:58%; 10058 --time:14s; 10059 --delay:-11s; 10060 --wind:62px; 10061 font-size:40px; 10062} 10063 10064.dd8{ 10065 left:67%; 10066 --time:9.5s; 10067 --delay:-4s; 10068 --wind:-50px; 10069 font-size:28px; 10070} 10071 10072.dd9{ 10073 left:76%; 10074 --time:12.5s; 10075 --delay:-8s; 10076 --wind:65px; 10077} 10078 10079.dd10{ 10080 left:84%; 10081 --time:10.5s; 10082 --delay:-5.5s; 10083 --wind:-55px; 10084 font-size:43px; 10085} 10086 10087.dd11{ 10088 left:91%; 10089 --time:13s; 10090 --delay:-10s; 10091 --wind:44px; 10092 font-size:26px; 10093} 10094 10095.dd12{ 10096 left:97%; 10097 --time:9s; 10098 --delay:-6s; 10099 --wind:-52px; 10100} 10101 10102 10103/* ========================================== 10104 GERAK TURUN MELAYANG 10105========================================== */ 10106 10107@keyframes dentalFloat{ 10108 10109 0%{ 10110 top:-80px; 10111 10112 opacity:0; 10113 10114 transform: 10115 translateX(0) 10116 rotate(0deg) 10117 scale(.65); 10118 } 10119 10120 6%{ 10121 opacity:.92; 10122 } 10123 10124 20%{ 10125 transform: 10126 translateX(var(--wind)) 10127 rotate(75deg) 10128 scale(.92); 10129 } 10130 10131 40%{ 10132 transform: 10133 translateX(calc(var(--wind) * -.55)) 10134 rotate(160deg) 10135 scale(1); 10136 } 10137 10138 60%{ 10139 transform: 10140 translateX(calc(var(--wind) * .78)) 10141 rotate(250deg) 10142 scale(.88); 10143 } 10144 10145 80%{ 10146 transform: 10147 translateX(calc(var(--wind) * -.65)) 10148 rotate(350deg) 10149 scale(1.04); 10150 } 10151 10152 94%{ 10153 opacity:.85; 10154 } 10155 10156 100%{ 10157 top:108vh; 10158 10159 opacity:0; 10160 10161 transform: 10162 translateX(calc(var(--wind) * .35)) 10163 rotate(500deg) 10164 scale(.68); 10165 } 10166} 10167 10168 10169/* ========================================== 10170 TOOTH SPECIAL GLOW 10171========================================== */ 10172 10173.dd1, 10174.dd4, 10175.dd7, 10176.dd10{ 10177 filter: 10178 drop-shadow(0 0 4px #ffffff) 10179 drop-shadow(0 0 10px rgba(77,220,255,.80)) 10180 drop-shadow(0 0 20px rgba(67,255,170,.35)); 10181} 10182 10183 10184/* ========================================== 10185 MEDICAL CROSS 10186========================================== */ 10187 10188.dd3, 10189.dd5, 10190.dd9, 10191.dd11{ 10192 color:#42e890; 10193 10194 text-shadow: 10195 0 0 5px #fff, 10196 0 0 10px #3eff9c, 10197 0 0 18px rgba(42,255,135,.55); 10198} 10199 10200 10201/* ========================================== 10202 BACKGROUND SOFT LIGHT 10203========================================== */ 10204 10205.dental-fx::before{ 10206 content:""; 10207 10208 position:absolute; 10209 inset:0; 10210 10211 background: 10212 radial-gradient( 10213 circle at 15% 25%, 10214 rgba(70,220,255,.035), 10215 transparent 20% 10216 ), 10217 10218 radial-gradient( 10219 circle at 85% 65%, 10220 rgba(55,255,150,.035), 10221 transparent 22% 10222 ); 10223 10224 animation: 10225 dentalAmbient 4s 10226 ease-in-out 10227 infinite alternate; 10228} 10229 10230 10231@keyframes dentalAmbient{ 10232 10233 from{ 10234 opacity:.2; 10235 } 10236 10237 to{ 10238 opacity:.8; 10239 } 10240} 10241 10242 10243/* ========================================== 10244 MOBILE 10245========================================== */ 10246 10247@media(max-width:768px){ 10248 10249 .dental-drop{ 10250 font-size:26px; 10251 } 10252 10253 .dd1, 10254 .dd4, 10255 .dd7, 10256 .dd10{ 10257 font-size:33px; 10258 } 10259 10260 /* kurangi jumlah pada HP */ 10261 .dd2, 10262 .dd5, 10263 .dd8, 10264 .dd11{ 10265 display:none; 10266 } 10267} 10268 10269 10270/* ========================================== 10271 REDUCED MOTION 10272========================================== */ 10273 10274@media(prefers-reduced-motion:reduce){ 10275 10276 .dental-fx{ 10277 display:none; 10278 } 10279} 10280 10281</style> 10282 10283 <div class="gopay-fixed-footer"> 10284 <a href="https://penthouse.gopaytogel.network/" target="_blank" rel="nofollow noopener">
10285 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/gopaytogel-favicon.webp" alt="BONUS GOPAYTOGEL"> 10286 PROMO 10287 </a> 10288 10289 <a href="https://penthouse.gopaytogel.network/" target="_blank" rel="nofollow noopener"> 10290 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/gopaytogel-favicon.webp" alt="TELEGRAM GOPAYTOGEL"> 10291 TELEGRAM 10292 </a> 10293 10294 <a href="https://penthouse.gopaytogel.network/" target="_blank" rel="nofollow noopener" class="core-cta"> 10295 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/gopaytogel-favicon.webp" alt="DAFTAR GOPAYTOGEL"> 10296 DAFTAR 10297 </a> 10298 10299 <a href="https://penthouse.gopaytogel.network/" target="_blank" rel="nofollow noopener"> 10300 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/gopaytogel-favicon.webp" alt="RTP GOPAYTOGEL"> 10301 RTP 10302 </a> 10303 10304 <a href="https://penthouse.gopaytogel.network/" target="_blank" rel="nofollow noopener"> 10305 <img src="https://veldrive.com/nAhfgJZ5/gopaysayur/gopaytogel-favicon.webp" alt="LIVECHAT GOPAYTOGEL"> 10306 LIVECHAT 10307 </a> 10308 </div> 10309
10309<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"3e9b3809d54c4fd180442ae60f330b2a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10309
10309
10310<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"7ebe78757f484d75a7ee72147bbb9aff","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10310
10310
10311<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"7ebe78757f484d75a7ee72147bbb9aff","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10311
10311
10312<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"7ebe78757f484d75a7ee72147bbb9aff","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10312
10312
10313<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"7ebe78757f484d75a7ee72147bbb9aff","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10313
10313
10314<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"7ebe78757f484d75a7ee72147bbb9aff","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10314
10314
10315<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"7ebe78757f484d75a7ee72147bbb9aff","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10315
10315
10316<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"7ebe78757f484d75a7ee72147bbb9aff","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10316
10316
10317<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"7ebe78757f484d75a7ee72147bbb9aff","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10317
10317
10318<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v3d52b47920f24c319d37e2661827c42b1787588026925" integrity="sha512-d9sL6GJLXn6fInD1+TVXhTcQOsmxeHfmHAvwGDIxp5TO+uo1fiWW7mHomMj4MLRlCsJDTqXzWLHJFFlPCEIj/A==" data-cf-beacon='{"version":"2024.11.0","token":"d34cd3c418e44208a70a377d9b17e76b","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10318
10318
10319<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v3d52b47920f24c319d37e2661827c42b1787588026925" integrity="sha512-d9sL6GJLXn6fInD1+TVXhTcQOsmxeHfmHAvwGDIxp5TO+uo1fiWW7mHomMj4MLRlCsJDTqXzWLHJFFlPCEIj/A==" data-cf-beacon='{"version":"2024.11.0","token":"24b3897dbe18470a93565d51351d0077","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10319
10319
10320<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v3d52b47920f24c319d37e2661827c42b1787588026925" integrity="sha512-d9sL6GJLXn6fInD1+TVXhTcQOsmxeHfmHAvwGDIxp5TO+uo1fiWW7mHomMj4MLRlCsJDTqXzWLHJFFlPCEIj/A==" data-cf-beacon='{"version":"2024.11.0","token":"3afa77784aab44e9883ef34b9b08caeb","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10320
10320
10321<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v3d52b47920f24c319d37e2661827c42b1787588026925" integrity="sha512-d9sL6GJLXn6fInD1+TVXhTcQOsmxeHfmHAvwGDIxp5TO+uo1fiWW7mHomMj4MLRlCsJDTqXzWLHJFFlPCEIj/A==" data-cf-beacon='{"version":"2024.11.0","token":"5d01a14a36bc414780760ebd365122fd","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10321
10321
10322<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":"5bab00436a0348a3a75a27795f3b3592","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10322
10322
10323<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":"f8ad726e033c4beb9b56b366feecfbd3","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10323
10323
10324<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":"ebbcb2abac4b45a89eaa1dc955502b54","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10324
10324
10325<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":"f1b62b7b25834bb79f5fcef13c20e9d6","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10325
10325
10326<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":"017d1c438b9146d2ac5e239f9e229d01","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10326
10326
10327<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":"d1b515b63769490b965f5db25747278b","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10327
10327
10328<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":"a2aef1f4698c4a22a91f0a2ea3288dd8","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10328
10328
10329<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"b5c72092cafa455cb3fc5726a4382271","r":1,"spa":2}' crossorigin="anonymous"></script>
10329 10330</body> 10331 </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.