1<!DOCTYPE html><html lang="id"><head> 2 <meta charset="UTF-8"> 3 <title>MUSANGWIN Rutinitas Cek RTP Slot Sebelum Spin Malam Ini</title> 4 <meta name="description" content="MUSANGWIN jadi teman cek RTP sebelum spin slot gacor. Obrolan santai soal bocoran, scatter, dan maxwin. Yuk daftar dan main sekarang!"> 5 <meta name="robots" content="index,follow"> 6 <link rel="canonical" href="https://daftarsitusjudibolaonlineterpercaya.com"> 7 <link rel="amphtml" href="https://daftarsitusjudibolaonlineterpercaya.pages.dev/"> 8 <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin="">
vendor: 69 bytes, lines 8-9
8 9 <script async="" src="https://www.googletagmanager.com/gtag/js?id=
9G-0LSM1YJSPZ
vendor: 47 bytes, lines 9-10
9" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script> 10
10<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",)}catch(t){}},addToCart:function(e){if(!window.gtag)return;try{gtag("event","add_to_cart","IDR",value:(e.price)}catch(t){}}};</script>
10 11 <meta property="og:locale" content="id_ID"> 12 <meta property="og:site_name" content="MUSANGWIN"> 13 <meta property="og:type" content="product"> 14 <meta property="og:title" content="MUSANGWIN Rutinitas Cek RTP Slot Sebelum Spin Malam Ini"> 15 <meta property="og:description" content="MUSANGWIN jadi teman cek RTP sebelum spin slot gacor. Obrolan santai soal bocoran, scatter, dan maxwin. Yuk daftar dan main sekarang!"> 16 <meta property="og:url" content="https://daftarsitusjudibolaonlineterpercaya.com"> 17 <meta property="og:image" content="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg"> 18 <meta property="og:image:alt" content="MUSANGWIN Rutinitas Cek RTP Slot Sebelum Spin Malam Ini"> 19<meta property="product:price:amount" content="5000"> 20<meta property="product:price:currency" content="IDR"> 21<meta property="product:availability" content="out of stock"> 22<meta name="twitter:card" content="summary_large_image"> 23<meta name="twitter:title" content="MUSANGWIN Rutinitas Cek RTP Slot Sebelum Spin Malam Ini"> 24<meta name="twitter:description" content="MUSANGWIN jadi teman cek RTP sebelum spin slot gacor. Obrolan santai soal bocoran, scatter, dan maxwin. Yuk daftar dan main sekarang!"> 25<meta name="twitter:image" content="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg"> 26
27<script type="application/ld+json"> 28{ 29 "@context": "https://schema.org", 30 "@type": "WebSite", 31 "@id": "/#website", 32 "url": "https://daftarsitusjudibolaonlineterpercaya.com", 33 "name": "MUSANGWIN", 34 "inLanguage": "id", 35 "potentialAction": { 36 "@type": "SearchAction", 37 "target": "https://daftarsitusjudibolaonlineterpercaya.com", 38 "query-input": "required name=search_term_string" 39 } 40} 41</script>
41 42
43<script type="application/ld+json"> 44{ 45 "@context": "https://schema.org", 46 "@type": "Organization", 47 "@id": "/#organization", 48 "name": "MUSANGWIN", 49 "url": "https://daftarsitusjudibolaonlineterpercaya.com", 50 "logo": "https://meubelkayumurah.pics/wp-content/uploads/2026/05/logo-musangwin.png" 51} 52</script>
52 53
54<script type="application/ld+json"> 55{ 56 "@context": "https://schema.org", 57 "@type": "Product", 58 "name": "MUSANGWIN Rutinitas Cek RTP Slot Sebelum Spin Malam Ini", 59 "sku": "1S83N0880RID", 60 "image": [ 61 "https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" 62 ], 63 "url": "https://daftarsitusjudibolaonlineterpercaya.com", 64 "description": "MUSANGWIN jadi teman cek RTP sebelum spin slot gacor. Obrolan santai soal bocoran, scatter, dan maxwin. Yuk daftar dan main sekarang!", 65 "category": "Link Togel", 66 "brand": { 67 "@type": "Brand", 68 "name": "MUSANGWIN" 69 }, 70 "offers": { 71 "@type": "Offer", 72 "url": "https://daftarsitusjudibolaonlineterpercaya.com", 73 "priceCurrency": "IDR", 74 "price": "5000", 75 "priceValidUntil": "2027-03-01", 76 "availability": "https://schema.org/OutOfStock", 77 "itemCondition": "https://schema.org/NewCondition", 78 "seller": { 79 "@type": "Organization", 80 "name": "MUSANGWIN", 81 "url": "https://daftarsitusjudibolaonlineterpercaya.com" 82 } 83 }, 84 "aggregateRating": { 85 "@type": "AggregateRating", 86 "ratingValue": "4.9", 87 "reviewCount": "198", 88 "bestRating": "5", 89 "worstRating": "1" 90 } 91} 92</script>
92 93
94<script type="application/ld+json"> 95{ 96 "@context": "https://schema.org", 97 "@type": "BreadcrumbList", 98 "itemListElement": [ 99 { 100 "@type": "ListItem", 101 "position": 1, 102 "name": "MUSANGWIN", 103 "item": "https://daftarsitusjudibolaonlineterpercaya.com" 104 }, 105 { 106 "@type": "ListItem", 107 "position": 2, 108 "name": "Link Togel", 109 "item": "https://daftarsitusjudibolaonlineterpercaya.com" 110 } 111 ] 112} 113</script>
113 114
115<script type="application/ld+json"> 116{ 117 "@context": "https://schema.org", 118 "@type": "FAQPage", 119 "mainEntity": [ 120 { 121 "@type": "Question", 122 "name": "Apa saja hiburan digital yang tersedia di MUSANGWIN?", 123 "acceptedAnswer": { 124 "@type": "Answer", 125 "text": "MUSANGWIN menghadirkan berbagai pilihan game online dengan tema, tampilan, dan fitur yang beragam sehingga pengguna dapat menjelajahi permainan sesuai dengan preferensi masing-masing." 126 } 127 }, 128 { 129 "@type": "Question", 130 "name": "Apakah MUSANGWIN menyediakan game online dengan tema yang berbeda?", 131 "acceptedAnswer": { 132 "@type": "Answer", 133 "text": "Ya. Pilihan game online di MUSANGWIN memiliki beragam tema dan karakteristik permainan sehingga pengguna dapat memilih berdasarkan tampilan serta fitur yang paling menarik bagi mereka." 134 } 135 }, 136 { 137 "@type": "Question", 138 "name": "Apakah game di MUSANGWIN bisa dimainkan untuk mengisi waktu luang?", 139 "acceptedAnswer": { 140 "@type": "Answer", 141 "text": "Game online dapat menjadi salah satu pilihan hiburan untuk mengisi waktu luang. Pengguna sebaiknya tetap mengatur waktu bermain agar aktivitas hiburan tetap seimbang dengan kegiatan lainnya." 142 } 143 }, 144 { 145 "@type": "Question", 146 "name": "Apakah MUSANGWIN dapat diakses melalui smartphone?", 147 "acceptedAnswer": { 148 "@type": "Answer", 149 "text": "MUSANGWIN dapat diakses melalui perangkat seperti smartphone, tablet, maupun desktop selama perangkat memiliki koneksi internet yang stabil dan mendukung halaman platform." 150 } 151 }, 152 { 153 "@type": "Question", 154 "name": "Apa yang membuat pilihan game MUSANGWIN menarik?", 155 "acceptedAnswer": { 156 "@type": "Answer", 157 "text": "Keberagaman tema, tampilan, fitur, dan mekanisme permainan menjadi beberapa hal yang dapat membuat katalog game lebih menarik untuk dijelajahi oleh pengguna." 158 } 159 }, 160 { 161 "@type": "Question", 162 "name": "Bagaimana cara memilih game online yang sesuai?", 163 "acceptedAnswer": { 164 "@type": "Answer", 165 "text": "Pengguna dapat mempertimbangkan tema, tampilan, fitur, mekanisme, serta informasi permainan sebelum menentukan pilihan yang sesuai dengan preferensi dan kebutuhan hiburan." 166 } 167 }, 168 { 169 "@type": "Question", 170 "name": "Apakah bermain game online menjamin mendapatkan keuntungan?", 171 "acceptedAnswer": { 172 "@type": "Answer", 173 "text": "Tidak. Hasil permainan tidak dapat dipastikan dan tidak ada permainan yang menjamin keuntungan tertentu. Karena itu, aktivitas bermain sebaiknya dilakukan secara bijak dan menggunakan dana khusus hiburan." 174 } 175 } 176 ] 177} 178</script>
178 179 <!-- User Session Data --> 180 <meta name="csrf-token" content="9ce6e4a17f7cc189893df9e47789b13e98829450d516a0cae5ca7b5f43e5dadc"> 181 <meta name="user-logged-in" content="false"> 182 <meta name="user-id" content="0"> 183 184 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> 185 186 <link rel="shortcut icon" href="https://meubelkayumurah.pics/wp-content/uploads/2026/05/icon-musangwin.png" type="image/x-icon"> 187 188 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/style.css"> 189 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/bottom-nav.css"> 190 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/search-suggest.css"> 191 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/product-detail.css"> 192 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/product-grid.css"> 193 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/site-notice.css"> 194 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/benchmark.css"> 195 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/product-filters.css"> 196 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/mega-menu-tiles.css"> 197 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/product-compare.css"> 198 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/product-card-actions.css"> 199 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/modal.css"> 200 201 <link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/reviews-points.css"> 202 203</head> 204<body> 205<header class="topbar"> 206 <div class="container topbar-inner"> 207 <div class="topbar-left"> 208 MUSANGWIN Link Slot Server Thailand Gacor 2026 209 </div> 210 <div class="topbar-right"> 211 <a href="#">MUSANGWIN</a> 212 <a href="#">Livechat</a> 213 <a href="#">Promo</a> 214 <a href="#">Daftar</a> 215 </div> 216 </div> 217</header> 218<nav class="navbar"> 219 <nav class="navbar-logo" style="width: 100%;"> 220 <div class="container nav-inner" style="justify-items: center; justify-content: center;"> 221 <a href="https://daftarsitusjudibolaonlineterpercaya.com" class="logo-mobile"> 222 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/05/logo-musangwin.png" alt="MUSANGWIN" height="40"> 223 </a> 224 </div> 225</nav> 226 <div class="container nav-inner"> 227 <a href="https://daftarsitusjudibolaonlineterpercaya.com" class="logo"> 228 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/05/logo-musangwin.png" alt="MUSANGWIN" height="40"> 229 </a> 230 231 232 <form class="search" method="get" action="#"> 233 <input type="hidden" name="page" value="produk"> 234 235 <!-- Search Icon (Desktop) --> 236 <button type="submit" class="search-icon-btn" id="searchBtn" aria-label="Cari"> 237 <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"> 238 <circle cx="11" cy="11" r="8"></circle> 239 <path d="m21 21-4.35-4.35"></path> 240 </svg> 241 </button> 242 243 <input type="text" name="q" id="searchInput" placeholder="Cari MUSANGWIN" value="" autocomplete="off"> 244 245 <div class="search-suggest" id="searchSuggest" hidden=""></div> 246 </form> 247 248 <div class="nav-actions"> 249 <!--<button class="icon-btn" id="notifBtn" title="Notifikasi">ð</button>--> 250 <button class="icon-btn cart-indicator" id="cartBtn" title="Keranjang"> 251 ð <span id="cartCount" class="badge" data-role="cart-badge" aria-live="polite">0</span> 252 </button> 253 254 255 <span id="compareCount" class="badge" data-role="compare-badge" aria-live="polite">0</span> 256 257 258 <!-- Dynamic login/logout button --> 259 <button class="login-btn" id="loginBtn" aria-label="Masuk"> 260 <span class="login-text">Masuk</span>
261 <span class="login-ico" aria-hidden="true">ð</span> 262 </button> 263 </div> 264 </div> 265 266 <div class="container" style="display: flex; align-items: center;"> 267 268 269 <div class="mega-cats-wrapper"> 270 <div class="mega-cats container" id="megaCatsScroll" style="padding-left: 5px !important;"> 271 <a class="" href="https://daftarsitusjudibolaonlineterpercaya.com"> 272 MUSANGWIN </a> 273 <a class="" href="https://daftarsitusjudibolaonlineterpercaya.com"> 274 MUSANGWIN LOGIN </a> 275 <a class="" href="https://daftarsitusjudibolaonlineterpercaya.com"> 276 MUSANGWIN DAFTAR </a> 277 <a class="" href="https://daftarsitusjudibolaonlineterpercaya.com"> 278 MUSANGWIN RTP </a> 279 <a class="" href="https://daftarsitusjudibolaonlineterpercaya.com"> 280 LINK MUSANGWIN </a> 281 <a class="" href="https://daftarsitusjudibolaonlineterpercaya.com"> 282 ALTERNATIF MUSANGWIN </a> 283 <a class="" href="https://daftarsitusjudibolaonlineterpercaya.com"> 284 SLOT MUSANGWIN </a> 285 </div> 286 <div class="mega-cats-fade" id="megaCatsFade"></div> 287 </div> 288 </div> 289</nav> 290 291<!-- Panel Mega Menu - Outside navbar for full-screen --> 292<div class="mm2-panel" data-mm2="panel" role="dialog" aria-label="Kategori"> 293 <div class="mm2-view is-active" data-mm2="top"></div> 294 <div class="mm2-view" data-mm2="detail"></div> 295</div> 296 297<!-- Backdrop - Outside navbar for full-screen --> 298<div class="mm2-backdrop" data-mm2="backdrop"></div> 299 300 301<!-- Mobile User Menu Bottom Sheet --> 302
303<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 304(function(){ 305 const btn = document.getElementById('megaMoreBtn'); 306 const dd = document.getElementById('megaMoreDropdown'); 307 if(!btn || !dd) return; 308 309 function openDD(){ 310 dd.hidden = false; 311 btn.setAttribute('aria-expanded','true'); 312 document.addEventListener('click', outside, {capture:true}); 313 document.addEventListener('keydown', esc); 314 } 315 function closeDD(){ 316 if(dd.hidden) return; 317 dd.hidden = true; 318 btn.setAttribute('aria-expanded','false'); 319 document.removeEventListener('click', outside, {capture:true}); 320 document.removeEventListener('keydown', esc); 321 } 322 function toggle(){ dd.hidden ? openDD() : closeDD(); } 323 function outside(e){ 324 if(!dd.contains(e.target) && e.target !== btn){ 325 closeDD(); 326 } 327 } 328 function esc(e){ 329 if(e.key === 'Escape'){ 330 closeDD(); 331 btn.focus(); 332 } 333 } 334 btn.addEventListener('click', toggle); 335})(); 336 337// ========== HORIZONTAL SCROLL FADE INDICATOR ========== 338(function(){ 339 const megaCats = document.getElementById('megaCatsScroll'); 340 const fade = document.getElementById('megaCatsFade'); 341 if (!megaCats || !fade) return; 342 343 function updateFade() { 344 const scrollLeft = megaCats.scrollLeft; 345 const scrollWidth = megaCats.scrollWidth; 346 const clientWidth = megaCats.clientWidth; 347 const maxScroll = scrollWidth - clientWidth; 348 349 // Hide fade when scrolled to end (within 10px tolerance) 350 if (maxScroll - scrollLeft <= 10) { 351 fade.style.opacity = '0'; 352 } else { 353 fade.style.opacity = '1'; 354 } 355 } 356 357 // Update on scroll 358 megaCats.addEventListener('scroll', updateFade, { passive: true }); 359 360 // Update on resize 361 window.addEventListener('resize', updateFade, { passive: true }); 362 363 // Initial check 364 setTimeout(updateFade, 100); 365})(); 366 367document.addEventListener('DOMContentLoaded', function () { 368 var input = document.getElementById('searchInput'); 369 if (!input) return; 370 input.addEventListener('keydown', function (e) { 371 if (e.key === 'Enter') { 372 e.preventDefault(); 373 var form = input.form; 374 if (!form) return; 375 if (typeof form.requestSubmit === 'function') form.requestSubmit(); 376 else form.submit(); 377 } 378 }); 379}); 380 381 382(function(){ 383 const cartBtn = document.getElementById('cartBtn'); 384 if (cartBtn) { 385 cartBtn.addEventListener('click', function(e) { 386 e.preventDefault(); 387 388 const checkLogin = () => { 389 return window.isUserLoggedIn ? window.isUserLoggedIn() : false; 390 }; 391 392 if (checkLogin()) { 393 window.location.href = '/keranjang'; 394 } else { 395 showCartLoginModal(); 396 } 397 }); 398 } 399 400 const loginBtn = document.getElementById('loginBtn'); 401 if (loginBtn) { 402 loginBtn.addEventListener('click', function(e) { 403 e.preventDefault(); 404 window.location.href = 'https://daftarsitusjudibolaonlineterpercaya.com'; 405 }); 406 } 407 408 const userMenuBtn = document.getElementById('userMenuBtn'); 409 const userDropdown = document.getElementById('userDropdown'); 410 411 if (userMenuBtn && userDropdown) { 412 function openDropdown() { 413 userDropdown.hidden = false; 414 userMenuBtn.setAttribute('aria-expanded', 'true'); 415 document.addEventListener('click', closeOnOutside, { capture: true }); 416 document.addEventListener('keydown', closeOnEscape); 417 } 418 419 function closeDropdown() { 420 if (userDropdown.hidden) return; 421 userDropdown.hidden = true; 422 userMenuBtn.setAttribute('aria-expanded', 'false'); 423 document.removeEventListener('click', closeOnOutside, { capture: true }); 424 document.removeEventListener('keydown', closeOnEscape); 425 } 426 427 function closeOnOutside(e) { 428 if (!userDropdown.contains(e.target) && e.target !== userMenuBtn) { 429 closeDropdown(); 430 } 431 } 432 433 function closeOnEscape(e) { 434 if (e.key === 'Escape') { 435 closeDropdown(); 436 userMenuBtn.focus(); 437 } 438 } 439 440 userMenuBtn.addEventListener('click', function(e) { 441 e.preventDefault(); 442 userDropdown.hidden ? openDropdown() : closeDropdown(); 443 }); 444 445 // Close dropdown when clicking profile links 446 userDropdown.querySelectorAll('[data-close-dropdown]').forEach(link => { 447 link.addEventListener('click', function() { 448 closeDropdown(); 449 }); 450 }); 451 } 452 453 // Bottom nav profile button - toggle mobile bottom sheet 454 const bottomProfileBtn = document.getElementById('bottomProfileBtn'); 455 const mobileUserSheet = document.getElementById('mobileUserSheet'); 456 const mobileUserSheetBackdrop = document.getElementById('mobileUserSheetBackdrop'); 457 458 if (bottomProfileBtn && mobileUserSheet) { 459 function openMobileSheet() { 460 mobileUserSheet.hidden = false;
461 document.body.style.overflow = 'hidden'; 462 // Trigger animation 463 requestAnimationFrame(() => { 464 mobileUserSheet.classList.add('active'); 465 }); 466 } 467 468 function closeMobileSheet() { 469 mobileUserSheet.classList.remove('active'); 470 document.body.style.overflow = ''; 471 setTimeout(() => { 472 mobileUserSheet.hidden = true; 473 }, 300); 474 } 475 476 bottomProfileBtn.addEventListener('click', function(e) { 477 e.preventDefault(); 478 openMobileSheet(); 479 }); 480 481 if (mobileUserSheetBackdrop) { 482 mobileUserSheetBackdrop.addEventListener('click', closeMobileSheet); 483 } 484 485 // Close on escape key 486 document.addEventListener('keydown', function(e) { 487 if (e.key === 'Escape' && !mobileUserSheet.hidden) { 488 closeMobileSheet(); 489 } 490 }); 491 492 // Close sheet when clicking profile links 493 mobileUserSheet.querySelectorAll('[data-close-sheet]').forEach(link => { 494 link.addEventListener('click', function() { 495 closeMobileSheet(); 496 }); 497 }); 498 } 499 500 // Handle Google avatar error in bottom-nav (fallback to initials) 501 const bottomNavAvatar = document.querySelector('.bottom-nav-avatar-img'); 502 if (bottomNavAvatar) { 503 bottomNavAvatar.addEventListener('error', function() ); 504 } 505 506 // Mobile logout button 507 const mobileLogoutBtn = document.getElementById('mobileLogoutBtn'); 508 if (mobileLogoutBtn) { 509 mobileLogoutBtn.addEventListener('click', async function(e) { 510 e.preventDefault(); 511 512 // Check push notification before logout 513 if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') { 514 const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification(); 515 if (!confirmLogout) { 516 return; // User cancelled logout 517 } 518 } 519 520 const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || ''; 521 522 try { 523 const response = await fetch('/auth/logout', { 524 method: 'POST', 525 credentials: 'same-origin', 526 headers: { 527 'Content-Type': 'application/json', 528 'X-CSRF-Token': getCsrfToken() 529 }, 530 body: JSON.stringify({ 531 csrf_token: getCsrfToken() 532 }) 533 }); 534 535 if (response.ok) { 536 if (window.guestCart && typeof window.guestCart.clear === 'function') { 537 window.guestCart.clear(); 538 } 539 window.location.href = '/login?logged_out=1'; 540 } else { 541 console.error('Logout failed'); 542 window.location.href = '/logout'; 543 } 544 } catch (error) { 545 console.error('Logout error:', error); 546 window.location.href = '/logout'; 547 } 548 }); 549 } 550 551 const logoutBtn = document.getElementById('logoutBtn'); 552 if (logoutBtn) { 553 logoutBtn.addEventListener('click', async function(e) { 554 e.preventDefault(); 555 556 // Check push notification before logout 557 if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') { 558 const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification(); 559 if (!confirmLogout) { 560 return; // User cancelled logout 561 } 562 } 563 564 const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || ''; 565 566 try { 567 const response = await fetch('/auth/logout', { 568 method: 'POST', 569 credentials: 'same-origin', 570 headers: { 571 'Content-Type': 'application/json', 572 'X-CSRF-Token': getCsrfToken() 573 }, 574 body: JSON.stringify({ 575 csrf_token: getCsrfToken() 576 }) 577 }); 578 579 if (response.ok) { 580 if (window.guestCart && typeof window.guestCart.clear === 'function') { 581 window.guestCart.clear(); 582 } 583 584 window.location.href = '/login?logged_out=1'; 585 } else { 586 console.error('Logout failed'); 587 window.location.href = '/logout'; 588 } 589 } catch (error) { 590 console.error('Logout error:', error); 591 window.location.href = '/logout'; 592 } 593 }); 594 } 595 596 const wishlistBtn = document.getElementById('wishlistBtn'); 597 const notifBtn = document.getElementById('notifBtn'); 598 599 if (wishlistBtn) { 600 wishlistBtn.addEventListener('click', function(e) { 601 e.preventDefault(); 602 alert('Fitur wishlist akan segera tersedia!'); 603 }); 604 } 605 606 if (notifBtn) { 607 notifBtn.addEventListener('click', function(e) { 608 e.preventDefault(); 609 alert('Fitur notifikasi akan segera tersedia!'); 610 }); 611 } 612})(); 613 614// ========== MOBILE BOTTOM NAVIGATION ========== 615(function initBottomNav() { 616 // Sync cart badge with bottom nav 617 function syncBottomCartBadge() { 618 const mainBadge = document.getElementById('cartCount'); 619 const bottomBadge = document.getElementById('bottomCartCount'); 620 if (mainBadge && bottomBadge) { 621 const count = mainBadge.textContent; 622 bottomBadge.textContent = count; 623 bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none'; 624 } 625 } 626 627 // Sync compare badge with bottom nav 628 function syncBottomCompareBadge() { 629 const mainBadge = document.getElementById('compareCount'); 630 const bottomBadge = document.getElementById('bottomCompareCount'); 631 if (mainBadge && bottomBadge) { 632 const count = mainBadge.textContent; 633 bottomBadge.textContent = count; 634 bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none'; 635 } 636 } 637 638 // Initial sync 639 syncBottomCartBadge(); 640 syncBottomCompareBadge(); 641 642 // Observe badge changes 643 const observer = new MutationObserver(function() { 644 syncBottomCartBadge(); 645 syncBottomCompareBadge(); 646 }); 647 648 const cartBadge = document.getElementById('cartCount'); 649 const compareBadge = document.getElementById('compareCount'); 650 651 if (cartBadge) observer.observe(cartBadge, { childList: true, characterData: true, subtree: true }); 652 if (compareBadge) observer.observe(compareBadge, { childList: true, characterData: true, subtree: true }); 653 654 // Bottom Cart Button 655 const bottomCartBtn = document.getElementById('bottomCartBtn'); 656 if (bottomCartBtn) { 657 bottomCartBtn.addEventListener('click', function(e) { 658 e.preventDefault(); 659 660 const checkLogin = () => { 661 return window.isUserLoggedIn ? window.isUserLoggedIn() : false;
662 }; 663 664 if (checkLogin()) { 665 window.location.href = '/keranjang'; 666 } else { 667 showCartLoginModal(); 668 } 669 }); 670 } 671 672 // Bottom Compare Button 673 const bottomCompareBtn = document.getElementById('bottomCompareBtn'); 674 if (bottomCompareBtn) { 675 bottomCompareBtn.addEventListener('click', function(e) { 676 e.preventDefault(); 677 678 // Close chat widget if open 679 if (window.plazaChat && window.plazaChat.isWidgetOpen) { 680 window.plazaChat.closeWidget(); 681 } 682 683 const mainCompareBtn = document.getElementById('compareBtn'); 684 if (mainCompareBtn) { 685 mainCompareBtn.click(); 686 } 687 }); 688 } 689 690 // Bottom Category Button - triggers mega menu 691 const bottomCategoryBtn = document.getElementById('bottomCategoryBtn'); 692 if (bottomCategoryBtn) { 693 bottomCategoryBtn.addEventListener('click', function(e) { 694 e.preventDefault(); 695 // Trigger desktop mega menu 696 const desktopTrigger = document.querySelector('.mm2-trigger:not(#bottomCategoryBtn)'); 697 if (desktopTrigger) { 698 desktopTrigger.click(); 699 } 700 }); 701 } 702 703 // Bottom Login Button 704 const bottomLoginBtn = document.getElementById('bottomLoginBtn'); 705 if (bottomLoginBtn) { 706 bottomLoginBtn.addEventListener('click', function(e) { 707 e.preventDefault(); 708 window.location.href = '/login'; 709 }); 710 } 711 712 // Bottom Chat Button 713 const bottomChatBtn = document.getElementById('bottomChatBtn'); 714 if (bottomChatBtn) { 715 bottomChatBtn.addEventListener('click', function(e) { 716 e.preventDefault(); 717 718 // Trigger chat widget (try multiple times if needed) 719 const triggerChat = () => { 720 const chatToggle = document.getElementById('chat-toggle-btn'); 721 if (chatToggle) { 722 chatToggle.click(); 723 return true; 724 } 725 return false; 726 }; 727 728 // Immediate attempt 729 if (!triggerChat()) { 730 // Retry after 100ms if not found 731 setTimeout(() => { 732 if (!triggerChat()) { 733 // Last resort: manually show popup 734 const popup = document.getElementById('chat-popup'); 735 if (popup) { 736 popup.style.display = 'block'; 737 } 738 } 739 }, 100); 740 } 741 }); 742 } 743 744 // Sync chat unread badge 745 function syncBottomChatBadge() { 746 const chatBadge = document.getElementById('chat-unread-badge'); 747 const bottomChatBadge = document.getElementById('bottomChatCount'); 748 if (chatBadge && bottomChatBadge) { 749 const count = chatBadge.textContent; 750 bottomChatBadge.textContent = count; 751 bottomChatBadge.style.display = chatBadge.style.display; 752 } 753 } 754 755 // Observe chat badge changes 756 const chatBadge = document.getElementById('chat-unread-badge'); 757 if (chatBadge) { 758 observer.observe(chatBadge, { attributes: true, childList: true, characterData: true, subtree: true }); 759 syncBottomChatBadge(); 760 } 761 762 // Active state management based on current page 763 function updateActiveState() { 764 const currentPath = window.location.pathname; 765 const bottomNavItems = document.querySelectorAll('.bottom-nav-item'); 766 767 bottomNavItems.forEach(item => { 768 item.classList.remove('active'); 769 770 const itemId = item.id; 771 const page = item.getAttribute('data-page'); 772 const href = item.getAttribute('href'); 773 774 // Check by ID for specific pages 775 if (itemId === 'bottomHomeBtn' && currentPath === '/') { 776 item.classList.add('active'); 777 } else if (itemId === 'bottomCartBtn' && (currentPath === '/keranjang' || currentPath === '/cart')) { 778 item.classList.add('active'); 779 } else if (itemId === 'bottomProfileBtn' && currentPath.startsWith('/profile')) { 780 item.classList.add('active'); 781 } else if (itemId === 'bottomCategoryBtn' && currentPath.startsWith('/kategori')) { 782 item.classList.add('active'); 783 } else if (itemId === 'bottomCompareBtn' && currentPath === '/compare') { 784 item.classList.add('active'); 785 } else if (itemId === 'bottomChatBtn' && currentPath === '/chat') { 786 item.classList.add('active'); 787 } 788 // Fallback: check by data-page attribute 789 else if (page === 'home' && currentPath === '/') { 790 item.classList.add('active'); 791 } else if (page === 'profile' && currentPath.startsWith('/profile')) { 792 item.classList.add('active'); 793 } 794 // Fallback: check by href 795 else if (href && currentPath === href) { 796 item.classList.add('active'); 797 } 798 }); 799 } 800 801 // Update active state on load 802 updateActiveState(); 803 804 // Bottom nav always visible - auto-hide disabled for better UX 805 // const bottomNav = document.querySelector('.bottom-nav'); 806 // if (bottomNav && window.innerWidth <= 640) { 807 // // Auto-hide feature disabled 808 // } 809})(); 810// Cart Login Modal Handler (Global scope) 811function showCartLoginModal() { 812 const modal = document.getElementById('cartLoginModal'); 813 if (!modal) return; 814 815 modal.classList.add('show'); 816 817 const confirmBtn = document.getElementById('cartLoginConfirm'); 818 const registerBtn = document.getElementById('cartRegisterBtn'); 819 const cancelBtn = document.getElementById('cartLoginCancel'); 820 821 const handleLogin = () => { 822 window.location.href = '/login?return=' + encodeURIComponent('/keranjang'); 823 }; 824 825 const handleRegister = () => { 826 window.location.href = '/register?return=' + encodeURIComponent('/keranjang'); 827 }; 828 829 const handleCancel = () => { 830 modal.classList.remove('show'); 831 confirmBtn.removeEventListener('click', handleLogin); 832 registerBtn.removeEventListener('click', handleRegister); 833 cancelBtn.removeEventListener('click', handleCancel); 834 }; 835 836 confirmBtn.removeEventListener('click', handleLogin); 837 registerBtn.removeEventListener('click', handleRegister); 838 cancelBtn.removeEventListener('click', handleCancel); 839 840 confirmBtn.addEventListener('click', handleLogin); 841 registerBtn.addEventListener('click', handleRegister); 842 cancelBtn.addEventListener('click', handleCancel); 843 844 modal.addEventListener('click', (e) => { 845 if (e.target === modal) { 846 handleCancel(); 847 } 848 }); 849} 850</script>
vendor: 1 bytes, line 850
850
851<script src="https://plazait.co.id/assets/js/cart-badge.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
851 852 853<!-- Product Compare Sidebar --> 854<div class="compare-sidebar" id="compareSidebar"> 855 <div class="compare-header"> 856 <h4 class="compare-title"> 857 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 858 <path d="M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"></path> 859 </svg> 860 Bandingkan Produk 861 <span class="compare-count" id="compareCountSidebar">(0)</span> 862 </h4> 863 <button class="compare-close" id="compareClose" aria-label="Tutup"> 864 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> 865 <path d="M18.3 5.7a1 1 0 0 0-1.4 0L12 10.6 7.1 5.7a1 1 0 1 0-1.4 1.4L10.6 12l-4.9 4.9a1 1 0 0 0 1.4 1.4L12 13.4l4.9 4.9a1 1 0 0 0 1.4-1.4L13.4 12l4.9-4.9a1 1 0 0 0 0-1.4z"></path> 866 </svg> 867 </button> 868 </div> 869 870 <div class="compare-content"> 871 <div class="compare-empty" id="compareEmpty"> 872 <div class="empty-icon"> 873 <svg width="48" height="48" viewBox="0 0 24 24" fill="currentColor" opacity="0.3"> 874 <path d="M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z"></path> 875 </svg> 876 </div> 877 <h5>Belum ada produk dipilih</h5> 878 <p>Pilih produk yang ingin dibandingkan dengan klik tombol "Bandingkan Produk" di halaman produk.</p> 879 </div> 880 881 <div class="compare-list" id="compareList"> 882 <!-- Products will be populated here --> 883 </div> 884 </div> 885 886 <div class="compare-actions" id="compareActions"> 887 <button class="btn btn-outline-danger btn-sm" id="compareClearAll"> 888 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"> 889 <path d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path> 890 </svg> 891 Hapus Semua 892 </button> 893 <button class="btn btn-primary btn-sm" id="compareAnalyze" disabled=""> 894 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"> 895 <path d="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M11,16.5L18,9.5L16.59,8.09L11,13.67L7.91,10.59L6.5,12L11,16.5Z"></path> 896 </svg> 897 Analisis AI 898 </button> 899 </div> 900 901 <!-- AI Disclaimer in Sidebar --> 902 <div class="compare-disclaimer"> 903 <div class="ai-disclaimer"> 904 <div class="disclaimer-text"> 905 <strong>ð¡ Catatan:</strong> Analisis ini dihasilkan oleh AI dan dapat mengalami kesalahan. 906 Gunakan sebagai referensi dan tetap pertimbangkan kebutuhan spesifik Anda sebelum membeli. 907 Untuk konsultasi lebih lanjut, silakan hubungi tim MUSANGWIN. 908 </div> 909 </div> 910 </div> 911</div><link rel="stylesheet" href="https://plazait-co-id-chick.pages.dev/assets/css/pd-lightbox.css"> 912<style>.paylater-promo{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#f0fdf4 0,#e14b19 100%);border:1px solid #e14b19;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:#e14b19;font-weight:600}.paylater-text small{color:#e14b19;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:#e14b19;background:#e14b19;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,#e14b19 0,#e14b19 100%);border:none;border-radius:8px;padding:3px;
912cursor: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:#e14b19;cursor:pointer;transition:all .2s ease;white-space:nowrap}.pdv-min-copy:hover:not(:disabled),.pdv-min-more:hover{background:#e14b19;color:#fff;border-color:#e14b19}.pdv-min-copy:disabled{opacity:.4;cursor:not-allowed}.pdv-min-copy.copied{background:#e14b19;color:#fff;border-color:#e14b19}.pdv-min-more{margin-left:auto}.modal-close{position:absolute;top:20px;right:20px;background:none;border:none;cursor:pointer;color:#e14b19;padding:4px;transition:color .2s ease}.modal-close:hover{color:#e14b19}.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,#e14b19 0,#e14b19 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:#e14b19;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:#e14b19;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:#e14b19;border-bottom:1px solid #e2e8f0}.vmd-item:last-child{border-bottom:none}.vmd-item svg{color:#e14b19;flex-shrink:0;margin-top:2px}.vmd-item strong{color:#e14b19}.modal-actions{padding:20px}.modal-btn-primary{background:linear-gradient(135deg,#e14b19 0,#e14b19 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:#e14b19;margin-bottom:2px}.pey-content span{display:block;font-size:13px;color:#e14b19;line-height:1.4}.pey-link{flex-shrink:0;padding:8px 16px;background:linear-gradient(135deg,#e14b19,#e14b19);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> 913<style nonce="se3iyzEHMc9FQEB4wSyd0w=="> 914.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;
914display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#e14b19;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.pd-share-btn:hover{background:#f8fafc;border-color:#e14b19;color:#e14b19;transform:translateY(-1px)}.pd-share-btn:active{transform:translateY(0)}.pd-share-btn svg{display:block} 915 916.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)}} 917 918.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:#e14b19;margin:0}.pd-share-close{width:32px;height:32px;border-radius:8px;border:0;background:transparent;color:#e14b19;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.pd-share-close:hover{background:#f1f5f9;color:#e14b19}.pd-share-body{padding:24px;overflow-y:auto} 919 920.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:#e14b19;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:#e14b19;margin:0} 921 922.pd-share-label{font-size:13px;font-weight:600;color:#e14b19;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:#e14b19;background:#f8fafc;transform:translateY(-2px)}.pd-share-option:active{transform:translateY(0)} 923 924.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,#e14b19 0%,#e14b19 100%);color:#fff}.pd-share-icon-facebook{background:linear-gradient(135deg,#e14b19 0%,#e14b19 100%);color:#fff}.pd-share-icon-twitter{background:linear-gradient(135deg,#e14b19 0%,#e14b19 100%);color:#fff}.pd-share-icon-telegram{background:linear-gradient(135deg,#e14b19 0%,#e14b19 100%);color:#fff}.pd-share-icon-email{background:linear-gradient(135deg,#e14b19 0%,#e14b19 100%);color:#fff}.pd-share-icon-copy{background:linear-gradient(135deg,#e14b19 0%,#e14b19 100%);color:#fff}.pd-share-icon-pdf{background:linear-gradient(135deg,#e14b19 0%,#e14b19 100%);color:#fff}.pd-share-name{font-size:12px;font-weight:600;color:#e14b19;text-align:center} 925 926.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:#e14b19;background:#fff;font-family:'Segoe UI',system-ui,sans-serif}.pd-share-copy-input:focus{outline:0;border-color:#e14b19;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,#e14b19 0%,#e14b19 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,#e14b19 0%,#e14b19 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(14,165,233,.3)}
926.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,#e14b19 0%,#e14b19 100%);pointer-events:none} 927 928@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}} 929 930.mf-share{background:#fff;color:#e14b19;border:2px solid #e14b19;display:inline-flex;align-items:center;justify-content:center}.mf-share:active{transform:scale(.95)}.mf-share svg{display:block} 931 932@media(max-width:640px){.pd-share-btn{display:none!important}} 933 934.stock-badge.in{background:#e6f9ec;color:#e14b19;border-radius:999px;padding:4px 10px;font-weight:700}.stock-badge.out{background:#e14b19;color:#e14b19;border-radius:999px;padding:4px 10px;font-weight:700} 935 936.stock-info-btn{--c:#e14b19;--b:#e14b19;--bg:#f0f9ff;--bg-h:#e14b19;--b-h:#e14b19;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:#e14b19;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} 937 938.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:#e14b19;cursor:pointer} 939 940.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,#e14b19);display:inline-block}.sp-label{font-weight:600;font-size:13px} 941 942 943.sp-qty{grid-column:2;justify-self:end;min-width:40px;text-align:right;font-weight:800;font-size:13px;color:#e14b19;font-variant-numeric:tabular-nums} 944 945.sp-wa{ 946 grid-column:3; justify-self:end; 947 width:32px; height:32px; min-width:32px; min-height:32px; 948 box-sizing:border-box; 949 padding:0; line-height:0; text-decoration:none; outline:0; 950 display:inline-flex; align-items:center; justify-content:center; 951 border-radius:999px; border:1px solid rgba(37,211,102,.60); /* 1px untuk hasil âcrispâ */ 952 background:rgba(37,211,102,.08); color:#e14b19; 953 transition:background-color .15s ease, border-color .15s ease, transform .05s ease; 954 -webkit-tap-highlight-color:transparent; 955} 956.sp-wa:hover{background:rgba(37,211,102,.16);border-color:rgba(37,211,102,.75)} 957.sp-wa:active{transform:translateY(.5px) scale(.98)} 958 959.sp-wa svg{width:18px;height:18px;display:block;vertical-align:middle} 960.stock-popover a{text-decoration:none} 961 962#deskripsi img{max-width:450px!important;height:unset!important}@media(max-width:640px){.stock-popover{position:fixed;left:0;right:0;bottom:max(12px,env(safe-area-inset-bottom,12px));margin:0 10px;padding:14px 12px 10px;border-radius:16px}.stock-popover::before{display:none}.stock-info-btn{padding:4px 8px;gap:4px;border:0;background:transparent}.stock-info-btn:hover{background:transparent;box-shadow:none;transform:none}.stock-info-btn .btn-text{display:none}.stock-info-btn svg{width:16px;height:16px}.sp-item{grid-template-columns:1fr auto 36px}.sp-wa{width:36px;height:36px;min-width:36px;min-height:36px}.sp-wa svg{width:19px;height:19px}} 963 964.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:#e14b19}.stock-dot.low{background:#e14b19}.stock-dot.out{background:#e14b19}.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}} 965 966.pd-related-card .spec-chips{font-size:11px;color:#e14b19;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}} 967 968.pwp-trigger-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 4px;background:linear-gradient(135deg,#e14b19 0%,#e14b19 100%);color:#e14b19;border-radius:6px;font-size:.65rem;font-weight:600;border:0}.pwp-trigger-badge svg{flex-shrink:0;width:12px;height:12px} 969.pwp-deals-section{margin:0;padding:12px;background:linear-gradient(135deg,#e14b19 0%,#e14b19 100%);border-radius:12px;border:2px solid #e14b19}.pwp-deals-header{display:flex;gap:10px;margin-bottom:10px}.pwp-icon{flex-shrink:0;color:#e14b19;width:18px;height:18px}.pwp-text .pwp-title{margin:0 0 2px 0;font-size:14px;font-weight:700;color:#e14b19}.pwp-text .pwp-subtitle{margin:0;font-size:11px;color:#e14b19;opacity:0.9}.pwp-deals-loading{text-align:center;padding:40px 0;color:#e14b19}.pwp-spinner{width:40px;height:40px;border:3px solid #e14b19;border-top-color:#e14b19;border-radius:50%;animation:spin 0.8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}} 970.pwp-deals-grid{display:flex;flex-direction:column;gap:6px}.pwp-deal-card{background:#fff;border-radius:6px;overflow:hidden;border:1px solid #e14b19;display:flex;align-items:center;padding:8px;gap:10px}.pwp-deal-card:hover{background:#e14b19}.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:#e14b19;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:#e14b19;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:#e14b19;white-space:nowrap}.pwp-deal-original{font-size:11px;color:#e14b19;text-decoration:line-through;white-space:nowrap}.pwp-cart-note{margin-top:8px;padding:6px 10px;background:#e14b19;border-left:2px solid#e14b19;font-size:11px;color:#e14b19;border-radius:4px} 971@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}} 972 973.preorder-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:linear-gradient(135deg,#e14b19 0%,#e14b19 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 #e14b19;border-radius:12px}.preorder-info-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.preorder-info-icon{width:20px;height:20px;color:#e14b19;flex-shrink:0}.preorder-info-title{font-size:14px;font-weight:700;color:#e14b19;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:#e14b19;font-weight:600}.preorder-info-value{color:#e14b19;font-weight:700}.preorder-info-value.highlight{color:#e14b19;font-size:14px}.preorder-info-note{margin-top:10px;padding:8px 10px;background:#e14b19;border-left:2px solid #e14b19;font-size:12px;color:#e14b19;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}} 974</style> 975 976<div class="pd-sticky-header" id="pd-sticky-header"><div class="pd-sticky-header-container"><div class="pd-sticky-thumb"><img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" id="pd-sticky-thumb-img"></div><div class="pd-sticky-info"><h2 class="pd-sticky-title" id="pd-sticky-title">MUSANGWIN Rutinitas Cek RTP Slot Sebelum Spin Malam Ini</h2><div class="pd-sticky-price-row"><span class="pd-sticky-price" id="pd-sticky-price">Rp 5.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">
976<path fill="currentColor" d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z"></path></svg></button><button type="button" class="pd-sticky-btn pd-sticky-btn-chat" id="pd-sticky-chat"><svg viewBox="0 0 640 640" fill="currentColor" aria-hidden="true"><path d="M320 128C241 128 175.3 185.3 162.3 260.7C171.6 257.7 181.6 256 192 256L208 256C234.5 256 256 277.5 256 304L256 400C256 426.5 234.5 448 208 448L192 448C139 448 96 405 96 352L96 288C96 164.3 196.3 64 320 64C443.7 64 544 164.3 544 288L544 456.1C544 522.4 490.2 576.1 423.9 576.1L336 576L304 576C277.5 576 256 554.5 256 528C256 501.5 277.5 480 304 480L336 480C362.5 480 384 501.5 384 528L384 528L424 528C463.8 528 496 495.8 496 456L496 435.1C481.9 443.3 465.5 447.9 448 447.9L432 447.9C405.5 447.9 384 426.4 384 399.9L384 303.9C384 277.4 405.5 255.9 432 255.9L448 255.9C458.4 255.9 468.3 257.5 477.7 260.6C464.7 185.3 399.1 127.9 320 127.9z"></path></svg>Tanya</button><button type="button" class="pd-sticky-btn pd-sticky-btn-cart" id="pd-sticky-add-cart" disabled="">+ Keranjang</button><button type="button" class="pd-sticky-btn pd-sticky-btn-buy" id="pd-sticky-buy" disabled="">Beli Sekarang</button></div></div></div> 977 978<main class="product-single product-single--v3"><nav class="pd-breadcrumb" aria-label="breadcrumb"><a href="https://daftarsitusjudibolaonlineterpercaya.com">MUSANGWIN</a><span>/</span><a href="https://daftarsitusjudibolaonlineterpercaya.com">MUSANGWIN LOGIN</a><span>/</span><a href="https://daftarsitusjudibolaonlineterpercaya.com">MUSANGWIN DAFTAR</a><span>/</span><a href="https://daftarsitusjudibolaonlineterpercaya.com">SITUS TOTO</a><span>/</span><a href="https://daftarsitusjudibolaonlineterpercaya.com">BANDAR TOGEL </a><span>/</span><span class="current">MUSANGWIN Rutinitas Cek RTP Slot Sebelum Spin Malam Ini 979 980</span></nav> 981 982<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://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" data-slug="" loading="eager"> 983</figure> 984 985<div class="pd-mobile-slider-wrapper"> 986<div class="pd-mobile-slider" id="pd-mobile-slider" aria-label="Galeri gambar (geser)"><div class="pd-mslide"><img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" loading="eager"></div><div class="pd-mslide"><img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" loading="lazy"></div><div class="pd-mslide"><img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" loading="lazy"></div><div class="pd-mslide"><img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" loading="lazy"></div><div class="pd-mslide"><img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" loading="lazy"></div><div class="pd-mslide"><img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" loading="lazy"></div></div><div class="pd-gallery-counter" id="pd-gallery-counter">1/6</div></div> 987<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://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" data-alt="MUSANGWIN" data-slug="" aria-label="Gambar 1"><img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" data-alt="MUSANGWIN" data-slug="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" aria-label="Gambar 2"><img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" data-alt
987="MUSANGWIN" 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://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" data-alt="MUSANGWIN" 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://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" data-alt="MUSANGWIN" 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://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" data-alt="MUSANGWIN" 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://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" 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"> 988 <h1 class="pd-title" id="pd-title">MUSANGWIN Rutinitas Cek RTP Slot Sebelum Spin Malam Ini</h1><button type="button" class="pd-share-btn" id="pd-share-btn" aria-label="Bagikan produk" title="Bagikan"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true"><path fill="currentColor" d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z"></path></svg></button></div> 989<div id="pd-price-anchor"> 990</div> 991<div class="pd-price-qr-container"> 992 <div class="pd-price-block" id="pd-price-block"> 993 <div class="pd-price-row"> 994 <span class="pd-price-current" id="pd-price-current">Rp 10.000</span> 995 <span class="pd-price-original" id="pd-price-original">Rp 100.000</span> 996 <span class="pd-discount-badge" id="pd-discount-badge">-90%</span></div> 997 <div class="pd-meta-row"> 998 <span class="sold-inline" id="pd-sold-inline" data-role="sold-chip">Terjual Terjual 2</span> 999 <span class="pwp-trigger-badge" id="pwp-trigger-badge" hidden=""> 1000 <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"> 1001 <path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg>Bisa PWP</span></div> 1002 <div class="pd-meta-inline"><span class="stock-badge out" id="pd-stock-badge">MUSANGWIN</span> 1003 <span class="sku">SKU: <span id="pd-sku">1S83N0880RID</span></span></div> 1004<div class="paylater-promo paylater-promo-sm paylater-mobile-only"> 1005 <span class="paylater-icon">ð³</span> 1006 <span class="paylater-text"> 1007 <strong>Autorized Link Togel</strong> 1008 <small>Link Login MUSANGWIN</small> 1009 </span> 1010</div> 1011 1012<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">
1012<path fill="currentColor" d="M18.3 5.71L12 12.01l-6.3-6.3-1.4 1.41 6.3 6.3-6.3 6.3 1.4 1.41 6.3-6.3 6.3 6.3 1.41-1.41-6.3-6.3 6.3-6.3z"></path></svg></button></div><ul class="sp-list"> 1013<li class="sp-item"><div class="sp-left"><span class="sp-dot" style="--dot:#e14b19;"></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"></path></svg></a></li> 1014 1015 <li class="sp-item"> 1016 <div class="sp-left"> 1017 <span class="sp-dot" style="--dot:#e14b19;"></span> 1018 <span class="sp-label">Medan Fair</span> 1019 </div> 1020 <span class="sp-qty" id="sp-qty-mdf">0</span> 1021 <a class="sp-wa" href="https://wa.me/6285388992009?text=Halo%2C%20saya%20ingin%20tanya%20stok%20di%20Medan%20Fair%20untuk%20produk%20https%3A%2F%2Fplazait.co.id%2Fproduct%2Flenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-black" target="_blank" rel="noopener" aria-label="WhatsApp Medan Fair"> 1022 <svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 1023 <path fill="currentColor" d="M17.472 14.382c-.297-.149-1.758-.867-2.029-.967-.273-.099-.471-.148-.669.149-.198.297-.767.966-.94 1.164-.173.198-.347.223-.644.074-.297-.149-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.52.149-.173.198-.297.298-.495.099-.198.05-.372-.025-.521-.075-.149-.669-1.612-.916-2.206-.242-.579-.487-.5-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.262.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.718 2.006-1.411.248-.694.248-1.29.173-1.411-.074-.123-.272-.198-.57-.347m-5.421 7.403h-.002a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.263c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.887 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.158 11.892c0 2.096.547 4.142 1.588 5.945L0 24l6.305-1.654a11.86 11.86 0 005.67 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.485-8.413"></path> 1024 </svg> 1025 </a> 1026 </li> 1027 1028 <li class="sp-item"> 1029 <div class="sp-left"> 1030 <span class="sp-dot" style="--dot:#e14b19;"></span>
1031 <span class="sp-label">Banda Aceh</span> 1032 </div> 1033 <span class="sp-qty" id="sp-qty-bda">0</span> 1034 <a class="sp-wa" href="https://wa.me/628116833411?text=Halo%2C%20saya%20ingin%20tanya%20stok%20di%20Banda%20Aceh%20untuk%20produk%20https%3A%2F%2Fplazait.co.id%2Fproduct%2Flenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-black" target="_blank" rel="noopener" aria-label="WhatsApp Banda Aceh"> 1035 <svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 1036 <path fill="currentColor" d="M17.472 14.382c-.297-.149-1.758-.867-2.029-.967-.273-.099-.471-.148-.669.149-.198.297-.767.966-.94 1.164-.173.198-.347.223-.644.074-.297-.149-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.52.149-.173.198-.297.298-.495.099-.198.05-.372-.025-.521-.075-.149-.669-1.612-.916-2.206-.242-.579-.487-.5-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.262.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.718 2.006-1.411.248-.694.248-1.29.173-1.411-.074-.123-.272-.198-.57-.347m-5.421 7.403h-.002a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.263c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.887 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.158 11.892c0 2.096.547 4.142 1.588 5.945L0 24l6.305-1.654a11.86 11.86 0 005.67 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.485-8.413"></path> 1037 </svg> 1038 </a> 1039 </li> 1040 </ul> 1041 </div> 1042 1043 </div> 1044 <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> 1045 </div> 1046 <div id="pd-variants-anchor"></div> 1047 1048 1049 1050 <div class="pd-compare-section"> 1051 <button type="button" class="pd-compare-btn" id="pd-compare-btn" data-product-id="325"> 1052 <svg class="compare-icon" width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> 1053 <path d="M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z"></path> 1054 </svg> 1055 <span class="compare-text">Bandingkan Produk</span> 1056 <span class="compare-remove" hidden=""> 1057 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> 1058 <path d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path> 1059 </svg> 1060 Hapus dari Perbandingan 1061 </span> 1062 </button> 1063 <div class="pd-compare-info"> 1064 <small class="compare-note" id="compare-note">Bandingkan hingga 5 produk dengan bantuan AI</small> 1065 </div> 1066 </div> 1067 1068 <div class="pd-short-desc"><p><strong>Informasi MUSANGWIN :</strong></p><ul><li>Minimal Deposit: Rp.10.000,-</li><li>Jenis Permainan: Togel, Slot, Live Casino</li><li>Metode Pembayaran: Bank, QRIS, Dompet Digital</li><li>Mata Uang: IDR (Indonesian Rupiah)</li><li>Jam Operasional: 24 Jam</li><li>Total Rating: 1.849.488</li><li>Rating: âââââ</li><li>Daftar Sekarang: <a href="https://daftarsitusjudibolaonlineterpercaya.pages.dev/">Klik Disini</a></li></ul></div><div class="togel-container-v3 mini"> 1069 <div class="togel-machine-v3"> 1070 <h2 class="togel-title-v3">
1070ð¥ PREDIKSI TOGEL ONLINE (SIMULASI) ð¥</h2> 1071 1072 <div class="togel-controls-v3"> 1073 <label> 1074 PASARAN 1075 <select id="marketFilter"> 1076 <option value="ALL">ALL PASARAN</option> 1077 </select> 1078 </label> 1079 1080 <label> 1081 TIPE 1082 <select id="typeFilter"> 1083 <option value="4D">4D</option> 1084 <option value="3D">3D</option> 1085 <option value="2D">2D</option> 1086 </select> 1087 </label> 1088 1089 <label> 1090 MIN CONF 1091 <input id="minConf" type="number" min="50" max="99" step="1" value="70"> 1092 </label> 1093 1094 <button id="btnTogelRandom" type="button"> 1095 <span class="icon">ð²</span> GENERATE 1096 </button> 1097 </div> 1098 1099 <div class="togel-main-result-v3" id="togelResult"> 1100 <div class="togel-status-v3" id="togelStatus">â READY â</div> 1101 1102 <div class="togel-highlight-box"> 1103 <div class="togel-col-left"> 1104 <div class="k">Pasaran Rekomendasi</div> 1105 <div class="v-game" id="rMarket">-</div> 1106 1107 <div class="provider-info"> 1108 <span class="k-small">Tipe:</span> 1109 <span class="v-small" id="rType">-</span> 1110 <span class="k-small" style="margin-left:10px;">Conf:</span> 1111 <span class="v-small" id="rConf">-</span> 1112 </div> 1113 </div> 1114 1115 <div class="togel-col-right"> 1116 <div class="k-rtp">Angka Utama</div> 1117 <div class="v-rtp-huge" id="rAngka">-</div> 1118 </div> 1119 </div> 1120 1121 <div class="togel-details-v3"> 1122 <div class="togel-detail-item"> 1123 <div class="k-detail">BBFS</div> 1124 <div class="v-detail" id="rBBFS">-</div> 1125 </div> 1126 <div class="togel-detail-item"> 1127 <div class="k-detail">Angka Ikut</div> 1128 <div class="v-detail" id="rIkut">-</div> 1129 </div> 1130 <div class="togel-detail-item"> 1131 <div class="k-detail">Shio</div> 1132 <div class="v-detail" id="rShio">-</div> 1133 </div> 1134 </div> 1135 1136 <div class="togel-tip-v3" id="rTip"> 1137 Tips: Ini simulasi hiburan. Tetap bijak & disiplin. 1138 </div> 1139 </div> 1140 1141 <div class="togel-alts-v3"> 1142 <div class="togel-alts-title-v3">3 Alternatif Angka</div> 1143 <div class="togel-alt-list-v3" id="togelAltList"></div> 1144 </div> 1145 1146 <div class="togel-note-v3"> 1147 Disclaimer: Hasil di halaman ini random (simulasi), bukan acuan hasil resmi. 1148 </div> 1149 </div> 1150</div> 1151 1152<style> 1153@import url("https://fonts.googleapis.com/css2?family=Orbitron:wght@600;700;800&display=swap"); 1154 1155/* =============================== 1156 WRAPPER 1157================================ */ 1158.togel-container-v3{ 1159 display:flex; 1160 justify-content:center; 1161 padding:16px 10px; 1162 font-family:"Orbitron","Poppins",system-ui,sans-serif; 1163} 1164 1165/* =============================== 1166 MACHINE CORE (DARK ORANGE) 1167================================ */ 1168.togel-machine-v3{ 1169 position:relative; 1170 width:100%; 1171 max-width:520px; 1172 padding:16px; 1173 border-radius:16px; 1174 overflow:hidden; 1175 isolation:isolate; 1176 1177 background: 1178 radial-gradient(circle at 15% 0%, rgba(255, 0, 0, 0.16), transparent 48%), 1179 radial-gradient(circle at 85% 100%, rgba(255,94,0,.14), transparent 55%), 1180 linear-gradient(145deg,#e14b19,#120303); 1181 1182 border:1px solid rgba(255, 0, 0, 0.46); 1183 1184 box-shadow: 1185 inset 0 0 18px rgba(255,132,0,.22), 1186 0 0 18px rgba(255,111,0,.28); 1187 1188 color:#fff4e8; 1189} 1190 1191/* HUD SWEEP */ 1192.togel-machine-v3::before{ 1193 content:""; 1194 position:absolute; 1195 inset:0; 1196 background:linear-gradient(120deg, transparent 40%, rgba(255,180,80,.08), transparent 65%); 1197 animation:hudSweep 7s linear infinite; 1198 pointer-events:none; 1199 opacity:.8; 1200} 1201 1202/* =============================== 1203 TITLE 1204================================ */ 1205.togel-title-v3{ 1206 text-align:center; 1207 margin:0 0 12px; 1208 font-size:15px; 1209 font-weight:900; 1210 letter-spacing:1px; 1211 color:#e14b19; 1212 text-shadow:0 0 6px rgba(255, 51, 51, 0.75); 1213} 1214 1215/* =============================== 1216 CONTROLS 1217================================ */ 1218.togel-controls-v3{ 1219 display:grid; 1220 grid-template-columns:1fr 1fr; 1221 gap:10px; 1222 padding:12px; 1223 border-radius:14px; 1224 1225 background:rgba(0,0,0,.38); 1226 border:1px solid rgba(255, 0, 0, 0.32); 1227 box-shadow: inset 0 0 14px rgba(255, 0, 0, 0.16); 1228} 1229
1230.togel-controls-v3 label{ 1231 display:grid; 1232 gap:6px; 1233 font-size:10px; 1234 letter-spacing:.8px; 1235 text-transform:uppercase; 1236 color:#e14b19; 1237} 1238 1239.togel-controls-v3 select, 1240.togel-controls-v3 input{ 1241 background:rgba(32,12,0,.92); 1242 color:#fff4e8; 1243 border:1px solid rgba(255, 0, 0, 0.46); 1244 border-radius:10px; 1245 padding:7px 9px; 1246 font-weight:700; 1247 font-size:12px; 1248 outline:none; 1249 box-shadow: inset 0 0 10px rgba(255, 0, 0, 0.14); 1250} 1251 1252/* BUTTON */ 1253#btnTogelRandom{ 1254 grid-column:span 2; 1255 display:flex; 1256 align-items:center; 1257 justify-content:center; 1258 gap:8px; 1259 1260 background:linear-gradient(145deg,#e14b19,#e14b19); 1261 border:none; 1262 color:#e14b19; 1263 font-weight:900; 1264 letter-spacing:.8px; 1265 border-radius:14px; 1266 cursor:pointer; 1267 padding:10px 12px; 1268 font-size:12px; 1269 1270 box-shadow:0 0 16px rgba(255, 0, 0, 0.42); 1271 transition:.2s ease; 1272} 1273 1274#btnTogelRandom:active{ transform:scale(.98); } 1275#btnTogelRandom:disabled{ opacity:.75; cursor:not-allowed; } 1276 1277/* =============================== 1278 MAIN RESULT 1279================================ */ 1280.togel-main-result-v3{ 1281 margin-top:12px; 1282 padding:12px; 1283 border-radius:14px; 1284 1285 background:rgba(28,10,0,.78); 1286 border:1px solid rgba(255, 0, 0, 0.32); 1287 box-shadow: inset 0 0 16px rgba(255,132,0,.18); 1288} 1289 1290.togel-status-v3{ 1291 text-align:center; 1292 font-weight:800; 1293 letter-spacing:.8px; 1294 color:#e14b19; 1295 margin-bottom:10px; 1296 font-size:11px; 1297} 1298 1299.togel-highlight-box{ 1300 display:flex; 1301 justify-content:space-between; 1302 gap:12px; 1303 padding-bottom:10px; 1304 margin-bottom:10px; 1305 border-bottom:1px dashed rgba(255, 0, 0, 0.28); 1306} 1307 1308.k, .k-rtp{ 1309 font-size:10px; 1310 color:#e14b19; 1311 text-transform:uppercase; 1312} 1313 1314.v-game{ 1315 font-size:14px; 1316 font-weight:900; 1317 color:#ffffff; 1318 margin-top:6px; 1319 line-height:1.2; 1320} 1321 1322.provider-info{ margin-top:8px; font-size:11px; color:#e14b19; opacity:.95; } 1323.k-small{ color:#e14b19; font-size:10px; } 1324.v-small{ color:#fff4e8; font-weight:900; } 1325 1326.v-rtp-huge{ 1327 font-size:2.4em; 1328 font-weight:900; 1329 color:#e14b19; 1330 text-shadow:0 0 10px rgba(255, 0, 0, 0.28); 1331 line-height:1; 1332 letter-spacing:1px; 1333} 1334 1335/* DETAILS */ 1336.togel-details-v3{ 1337 display:grid; 1338 grid-template-columns:repeat(3,1fr); 1339 gap:8px; 1340 background:rgba(0,0,0,.24); 1341 padding:10px; 1342 border-radius:12px; 1343} 1344 1345.k-detail{ 1346 font-size:9px; 1347 color:#e14b19; 1348 text-transform:uppercase; 1349} 1350.v-detail{ 1351 font-size:12px; 1352 font-weight:800; 1353 color:#ffffff; 1354 margin-top:4px; 1355 letter-spacing:.8px; 1356} 1357 1358.togel-tip-v3{ 1359 margin-top:10px; 1360 font-size:10px; 1361 color:#e14b19; 1362 opacity:.9; 1363 text-align:center; 1364} 1365 1366/* ALTS */ 1367.togel-alts-v3{ 1368 margin-top:12px; 1369 padding:12px; 1370 border-radius:14px; 1371 background:rgba(0,0,0,.34); 1372 border:1px solid rgba(255, 0, 0, 0.28); 1373} 1374.togel-alts-title-v3{ 1375 font-weight:900; 1376 color:#e14b19; 1377 margin-bottom:10px; 1378 font-size:12px; 1379} 1380.togel-alt-list-v3{ 1381 display:grid; 1382 grid-template-columns:1fr; 1383 gap:8px; 1384} 1385 1386.togel-alt-item{ 1387 background:rgba(34,12,0,.86); 1388 border-radius:12px; 1389 padding:10px; 1390 border-left:3px solid rgba(255, 0, 0, 0.28); 1391} 1392.togel-alt-item .g{ font-weight:900; color:#fff4e8; font-size:12px; } 1393.togel-alt-item .p{ font-size:10px; color:#e14b19; margin-top:4px; } 1394.togel-alt-item .r{ margin-top:6px; font-weight:900; color:#e14b19; letter-spacing:.8px; font-size:12px; } 1395 1396.togel-note-v3{ 1397 margin-top:10px; 1398 font-size:10px; 1399 color:#e14b19; 1400 opacity:.85; 1401 text-align:center; 1402} 1403 1404/* MOBILE */ 1405@media(max-width:420px){ 1406 .togel-highlight-box{flex-direction:column} 1407 .togel-details-v3{grid-template-columns:1fr} 1408} 1409 1410/* ANIM */ 1411@keyframes hudSweep{ 1412 0%{transform:translateX(-110%)} 1413 100%{transform:translateX(110%)} 1414} 1415@keyframes pulse{0%{opacity:.55}50%{opacity:1}100%{opacity:.55}} 1416</style> 1417
1418<script> 1419/* =============================== 1420 DATASET TOGEL (SIMULASI) 1421================================ */ 1422const TOGEL_MARKETS = [ 1423 { market:"Singapore", code:"SGP", open:"17:45", zone:"WIB" }, 1424 { market:"Hongkong", code:"HK", open:"22:45", zone:"WIB" }, 1425 { market:"Sydney", code:"SDY", open:"13:45", zone:"WIB" }, 1426 { market:"Macau", code:"MC", open:"16:00", zone:"WIB" }, 1427 { market:"Cambodia", code:"KHM", open:"10:45", zone:"WIB" }, 1428 { market:"Japan", code:"JP", open:"11:30", zone:"WIB" } 1429]; 1430 1431const SHIO = ["Tikus","Kerbau","Macan","Kelinci","Naga","Ular","Kuda","Kambing","Monyet","Ayam","Anjing","Babi"]; 1432 1433const $ = (q) => document.querySelector(q); 1434const randInt = (min,max) => Math.floor(Math.random()*(max-min+1))+min; 1435 1436function uniqueMarkets(){ 1437 return TOGEL_MARKETS.map(m => m.market); 1438} 1439 1440function genDigits(len){ 1441 let s = ""; 1442 for(let i=0;i<len;i++) s += String(randInt(0,9)); 1443 return s; 1444} 1445 1446function genBBFS(){ 1447 const pool = [...Array(10)].map((_,i)=>i); 1448 const out = []; 1449 for(let i=0;i<7;i++){ 1450 const idx = randInt(0, pool.length-1); 1451 out.push(pool.splice(idx,1)[0]); 1452 } 1453 return out.join(""); 1454} 1455 1456function genIkut(){ 1457 const pool = [...Array(10)].map((_,i)=>i); 1458 const out = []; 1459 for(let i=0;i<4;i++){ 1460 const idx = randInt(0, pool.length-1); 1461 out.push(pool.splice(idx,1)[0]); 1462 } 1463 return out.join(" ⢠"); 1464} 1465 1466function simulateConfidence(){ 1467 return randInt(60, 96); 1468} 1469 1470function applyFilters(){ 1471 const m = $("#marketFilter").value; 1472 const minC = parseFloat($("#minConf").value || "0"); 1473 1474 return TOGEL_MARKETS 1475 .filter(x => (m==="ALL" || x.market===m)) 1476 .map(x => ({...x, conf: simulateConfidence()})) 1477 .filter(x => x.conf >= minC); 1478} 1479 1480function pickRandom(arr, n=1){ 1481 const copy = [...arr]; 1482 const out = []; 1483 for(let i=0;i<n && copy.length;i++){ 1484 const idx = randInt(0, copy.length-1); 1485 out.push(copy.splice(idx,1)[0]); 1486 } 1487 return out; 1488} 1489 1490function formatAngka(type){ 1491 if(type==="4D") return genDigits(4); 1492 if(type==="3D") return genDigits(3); 1493 return genDigits(2); 1494} 1495 1496function renderMain(item, type){ 1497 $("#rMarket").textContent = `${item.market} (${item.code}) ⢠Open ${item.open} ${item.zone}`; 1498 $("#rType").textContent = type; 1499 $("#rConf").textContent = `${item.conf}%`; 1500 1501 $("#rAngka").textContent = formatAngka(type); 1502 $("#rBBFS").textContent = genBBFS(); 1503 $("#rIkut").textContent = genIkut(); 1504 $("#rShio").textContent = SHIO[randInt(0, SHIO.length-1)]; 1505 $("#rTip").textContent = "Tips: Ini simulasi hiburan. Tetap bijak & disiplin."; 1506} 1507 1508function renderAlts(list, type){ 1509 const wrap = $("#togelAltList"); 1510 wrap.innerHTML = ""; 1511 list.forEach(x=>{ 1512 const el = document.createElement("div"); 1513 el.className = "togel-alt-item"; 1514 el.innerHTML = ` 1515 <div class="g">${x.market} (${x.code})</div> 1516 <div class="p">Tipe ${type} ⢠Conf <strong>${x.conf}%</strong></div> 1517 <div class="r">Angka: <strong>${formatAngka(type)}</strong></div> 1518 `; 1519 wrap.appendChild(el); 1520 }); 1521} 1522 1523function spinButton(btn, on){ 1524 if(on){ 1525 btn.disabled = true; 1526 btn.dataset.text = btn.innerHTML; 1527 btn.innerHTML = `<span class="icon">ð</span> PROCESS...`; 1528 }else 1529} 1530 1531/* =============================== 1532 INIT 1533================================ */ 1534(function init(){ 1535 const sel = $("#marketFilter"); 1536 uniqueMarkets().forEach(m=>{ 1537 const o = document.createElement("option"); 1538 o.value = m; o.textContent = m; 1539 sel.appendChild(o); 1540 }); 1541 1542 $("#btnTogelRandom").addEventListener("click", (e)=>{ 1543 const btn = e.currentTarget; 1544 const type = $("#typeFilter").value; 1545 const filtered = applyFilters(); 1546 const st = $("#togelStatus"); 1547 1548 if(!filtered.length){ 1549 st.textContent = "â NO MATCH â"; 1550 st.style.color = "white"; 1551 renderAlts([], type); 1552 $("#rMarket").textContent = "-"; 1553 $("#rType").textContent = type; 1554 $("#rConf").textContent = "-"; 1555 $("#rAngka").textContent = "-"; 1556 $("#rBBFS").textContent = "-"; 1557 $("#rIkut").textContent = "-"; 1558 $("#rShio").textContent = "-"; 1559 return; 1560 } 1561 1562 spinButton(btn,true); 1563 st.textContent = "â GENERATING â"; 1564 st.style.animation = "pulse .6s linear infinite"; 1565 st.style.color = "white"; 1566 1567 const t0 = setInterval(()=>{ 1568 const temp = pickRandom(filtered,1)[0]; 1569 $("#rMarket").textContent = `${temp.market} (${temp.code}) ⢠Open ${temp.open} ${temp.zone}`; 1570 $("#rType").textContent = type; 1571 $("#rConf").textContent = `${temp.conf}%`; 1572 $("#rAngka").textContent = formatAngka(type); 1573 $("#rBBFS").textContent = genBBFS(); 1574 $("#rIkut").textContent = genIkut(); 1575 $("#rShio").textContent = SHIO[randInt(0, SHIO.length-1)]; 1576 }, 85); 1577 1578 setTimeout(()=>{ 1579 clearInterval(t0); 1580 1581 const picks = pickRandom(filtered,4); 1582 renderMain(picks[0], type); 1583 renderAlts(picks.slice(1), type); 1584 1585 st.textContent = "â READY â"; 1586 st.style.animation = ""; 1587 st.style.color = "gold"; 1588 spinButton(btn,false); 1589 }, 1200); 1590 }); 1591 1592 renderAlts([], "4D"); 1593})(); 1594</script>
1594 1595 1596 1597 1598 <div class="pwp-deals-section" id="pwp-deals-section" hidden="" data-product-id="325" data-variant-id="0" data-category-path="Komputer & Laptop/Laptop/Gaming"><div class="pwp-deals-header"><svg class="pwp-icon" width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"></path></svg><div class="pwp-text"><h3 class="pwp-title">Penawaran Spesial PWP (Purchase with Purchase)</h3><p class="pwp-subtitle">Beli produk ini dan dapatkan produk pilihan dengan harga spesial</p></div></div><div class="pwp-deals-loading"><div class="pwp-spinner"></div><p>Memuat penawaran...</p></div><div class="pwp-deals-grid" id="pwp-deals-grid"></div><p class="pwp-cart-note">ð¡ Produk PWP dapat ditambahkan di halaman keranjang setelah produk ini dimasukkan</p></div> 1599 </section> 1600 1601 <aside class="pd-sidebar"> 1602 <div class="pd-side-card pd-buy-card"> 1603 <form class="pd-buy-form" id="pd-buy-form" data-pid="325"> 1604 <input type="hidden" name="variant_id" id="pd-variant-id" value="0"> 1605 <div> 1606 <label for="qty" class="qty-label">Qty</label> 1607 <input type="number" id="qty" name="qty" value="0" min="1" max="0" disabled=""> 1608 </div> 1609 <div class="pd-actions"> 1610 <button type="submit" class="btn-add-cart" id="btn-add-cart" disabled="">+ Keranjang</button> 1611 <button type="button" class="btn-buy" id="btn-buy" data-id="278426" disabled="">Beli</button> 1612 <button type="button" class="btn-chat-icon" id="btn-chat-icon" aria-label="Tanya Produk" title="Tanya Produk"><svg viewBox="0 0 640 640" fill="currentColor"><path d="M320 128C241 128 175.3 185.3 162.3 260.7C171.6 257.7 181.6 256 192 256L208 256C234.5 256 256 277.5 256 304L256 400C256 426.5 234.5 448 208 448L192 448C139 448 96 405 96 352L96 288C96 164.3 196.3 64 320 64C443.7 64 544 164.3 544 288L544 456.1C544 522.4 490.2 576.1 423.9 576.1L336 576L304 576C277.5 576 256 554.5 256 528C256 501.5 277.5 480 304 480L336 480C362.5 480 384 501.5 384 528L384 528L424 528C463.8 528 496 495.8 496 456L496 435.1C481.9 443.3 465.5 447.9 448 447.9L432 447.9C405.5 447.9 384 426.4 384 399.9L384 303.9C384 277.4 405.5 255.9 432 255.9L448 255.9C458.4 255.9 468.3 257.5 477.7 260.6C464.7 185.3 399.1 127.9 320 127.9z"></path></svg></button> 1613 </div> 1614 </form> 1615 <div class="paylater-promo paylater-promo-md paylater-desktop-only"> 1616 <span class="paylater-icon">ð³</span> 1617 <span class="paylater-text"> 1618 <strong>Autorized Link Togel</strong> 1619 <small>Link Login MUSANGWIN</small> 1620 </span> 1621</div> </div> 1622 1623 1624 <div class="pd-side-card qoala-banner-card"> 1625 <div class="qoala-banner"> 1626 <div class="qoala-banner-content"> 1627 <div class="qoala-icon"> 1628 <center><img src="https://meubelkayumurah.pics/wp-content/uploads/2026/05/icon-musangwin.png" alt="MUSANGWIN" class="qoala-shield-img"></center> 1629 </div> 1630 <div class="qoala-text"> 1631 <div class="qoala-title">Login MUSANGWIN</div> 1632 <div class="qoala-subtitle">Verified</div> 1633 </div> 1634 </div> 1635 <a href="https://daftarsitusjudibolaonlineterpercaya.com" class="qoala-cta" data-ga-event="qoala_banner_click" data-product-id="325" data-product-name="MUSANGWIN" data-category-path="Komputer & Laptop/Laptop/Gaming" target="_blank">Info</a> 1636 </div> 1637<style> 1638.qoala-banner-card{ 1639 padding:0; 1640 overflow:hidden; 1641} 1642 1643.qoala-banner{ 1644 background:linear-gradient(135deg,#e14b19 0%, #e14b19 45%, #e14b19 100%); 1645 padding:12px 16px; 1646 display:flex; 1647 align-items:center; 1648 justify-content:space-between; 1649 color:#fff7ed; 1650 text-decoration:none; 1651 min-height:60px; 1652 border:1px solid rgba(255,190,120,.28); 1653 box-shadow: 1654 inset 0 0 14px rgba(255,210,160,.08), 1655 0 0 14px rgba(234,88,12,.18); 1656} 1657 1658.qoala-banner-content{ 1659 display:flex; 1660 align-items:center; 1661 gap:12px; 1662} 1663 1664.qoala-icon{ 1665 display:flex; 1666 align-items:center; 1667 justify-content:center; 1668} 1669 1670.qoala-shield-img{ 1671 width:36px; 1672 height:36px; 1673 object-fit:contain; 1674 opacity:.95; 1675 filter:drop-shadow(0 0 6px rgba(255,190,120,.24)); 1676} 1677 1678.qoala-title{ 1679 font-weight:600; 1680 font-size:14px; 1681 line-height:1.2; 1682 color:#fff7ed; 1683} 1684 1685.qoala-subtitle{ 1686 font-size:12px; 1687 opacity:.92; 1688 line-height:1.2; 1689 color:#e14b19; 1690} 1691 1692.qoala-cta{ 1693 background:rgba(255,245,235,.14); 1694 color:#fff7ed; 1695 padding:6px 12px; 1696 border-radius:6px; 1697 font-size:12px; 1698 font-weight:600; 1699 text-decoration:none; 1700 transition:background .2s ease, border-color .2s ease, transform .2s ease; 1701 border:1px solid rgba(255,220,180,.34); 1702 box-shadow:0 0 10px rgba(255,190,120,.10); 1703} 1704 1705.qoala-cta:hover{ 1706 background:rgba(255,245,235,.22); 1707 color:#fff7ed; 1708 border-color:rgba(255,230,200,.44); 1709} 1710 1711.qoala-cta:active{ 1712 transform:scale(.98); 1713} 1714 1715@media(max-width:768px){ 1716 .qoala-banner{ 1717 padding:10px 12px; 1718 } 1719 1720 .qoala-title{ 1721 font-size:17px; 1722 } 1723 1724 .qoala-subtitle{ 1725 font-size:11px; 1726 } 1727} 1728</style> </div> 1729 1730 <div class="pd-side-card pd-installment-card2" id="inst-card" data-base-price="20789000" data-zero-smart="0"> 1731 <div class="inst-head"> 1732 <h3>Promo & Fitur MUSANGWIN</h3> 1733 </div> 1734 1735 <div class="inst-bank-tabs" role="tablist" aria-label="Bank"> 1736 <button type="button" class="bank-tab active" data-bank="Lucky Draw" aria-selected="true">Lucky Draw</button> 1737 <button type="button" class="bank-tab" data-bank="Lomba Panjat Tur
1737nover" aria-selected="false">Lomba Panjat Turnover</button> 1738 <button type="button" class="bank-tab" data-bank="Prediksi Togel" aria-selected="false">Prediksi Togel</button> 1739 </div> 1740 1741 <ul class="inst-month-list" id="inst-month-list" aria-label="Daftar cicilan per bulan"></ul> 1742 <div class="inst-note" id="inst-zero-note" style="display:none;">0% Cicilan khusus bank terpilih*</div> 1743 <div class="inst-disclaimer">Angka estimasi. Bisa berbeda sesuai kebijakan bank / penyedia.</div> 1744 </div> 1745 1746 <!-- MECHA BLUE FINAL BOSS REVIEW SLIDER --> 1747<div class="yugo-review-mecha"> 1748 1749 <div class="yugo-header"> 1750 <h2>MUSANGWIN</h2> 1751 <p>Review & Komentar Member Indonesia</p> 1752 </div> 1753 1754 <div class="yugo-slider" id="tntSlider"> 1755 1756 <div class="yugo-slide active"> 1757 <div class="yugo-name">Yusuf Rahman</div> 1758 <div class="yugo-comment">"Pilihan game online di MUSANGWIN cukup beragam. Saya bisa menjelajahi beberapa tema dan fitur sebelum menentukan permainan yang sesuai"</div> 1759 </div> 1760 1761 <div class="yugo-slide"> 1762 <div class="yugo-name">Bayu Pratama</div> 1763 <div class="yugo-comment">"Tampilannya cukup simpel dan pilihan permainannya banyak. Saya suka karena bisa menemukan berbagai game dengan tema berbeda dalam satu platform"</div> 1764 </div> 1765 1766 <div class="yugo-slide"> 1767 <div class="yugo-name">Agus Saputra</div> 1768 <div class="yugo-comment">"Menurut saya MUSANGWIN cukup menarik untuk mengisi waktu luang. Ada banyak pilihan game online yang bisa dijelajahi berdasarkan tema dan fitur"</div> 1769 </div> 1770 1771 <div class="yugo-slide"> 1772 <div class="yugo-name">Dewi Lestari</div> 1773 <div class="yugo-comment">"MUSANGWIN punya pilihan hiburan digital yang cukup lengkap. Navigasinya mudah dipahami sehingga saya tidak kesulitan mencari game yang ingin dijelajahi"</div> 1774 </div> 1775 1776 <div class="yugo-slide"> 1777 <div class="yugo-name">Eko Ramadhan</div> 1778 <div class="yugo-comment">"Saya cukup menikmati variasi game di MUSANGWIN. Setiap permainan punya tampilan dan fitur berbeda sehingga tidak terasa monoton saat menjelajahinya"</div> 1779 </div> 1780 1781 </div> 1782 </div> 1783<a href="https://daftarsitusjudibolaonlineterpercaya.pages.dev/" target="_blank"> 1784 <img style="display:block;margin-left:auto;margin-right:auto;height: 200px;border: 2px solid rgb(0, 204, 255);border-radius: 20px;box-shadow: 1px 1px 1px black;" alt="MUSANGWIN" src="https://meubelkayumurah.pics/wp-content/uploads/2026/05/icon-musangwin.png" width="250" height="300"> 1785 </a> 1786 1787</aside></div> 1788 1789<style> 1790.yugo-review-mecha{ 1791 background: radial-gradient(circle at center, #e14b19, #120303); 1792 border: 2px solid #e14b19; 1793 border-radius: 14px; 1794 padding: 20px; 1795 color: #fff4e8; 1796 font-family: 'Orbitron', sans-serif; 1797 position: relative; 1798 overflow: hidden; 1799 box-shadow: 1800 0 0 20px rgba(255, 0, 0, 0.28), 1801 inset 0 0 18px rgba(255,140,0,.14); 1802} 1803 1804/* scanline */ 1805.yugo-review-mecha::before{ 1806 content:""; 1807 position:absolute; 1808 inset:0; 1809 background: repeating-linear-gradient( 1810 to bottom, 1811 rgba(255, 77, 77, 0.08), 1812 rgba(255, 77, 77, 0.08) 1px, 1813 transparent 2px, 1814 transparent 4px 1815 ); 1816 pointer-events:none; 1817} 1818 1819.yugo-header h2{ 1820 font-size: 18px; 1821 color:#e14b19; 1822 text-shadow: 1823 0 0 8px rgba(255, 0, 0, 0.28), 1824 0 0 18px rgba(255,106,0,.28); 1825 margin-bottom:5px; 1826} 1827 1828.yugo-header p{ 1829 font-size:12px; 1830 opacity:.88; 1831 margin-bottom:15px; 1832 color:#e14b19; 1833} 1834 1835.yugo-slider{ 1836 position:relative; 1837 height:100px; 1838} 1839 1840.yugo-slide{ 1841 position:absolute; 1842 width:100%; 1843 opacity:0; 1844 transform:translateX(40px); 1845 transition:all .6s ease; 1846} 1847 1848.yugo-slide.active{ 1849 opacity:1; 1850 transform:translateX(0); 1851} 1852 1853.yugo-name{ 1854 font-size:14px; 1855 color:#e14b19; 1856 margin-bottom:5px; 1857 text-shadow:0 0 6px rgba(255, 0, 0, 0.28); 1858} 1859 1860.yugo-comment{ 1861 font-size:13px; 1862 line-height:1.5; 1863 color:#fff4e8; 1864} 1865 1866/* glowing border animation */ 1867@keyframes pulseGlow{ 1868 0%{ 1869 box-shadow: 1870 0 0 10px rgba(255, 44, 44, 0.24), 1871 inset 0 0 12px rgba(255, 0, 0, 0.16); 1872 } 1873 50%{ 1874 box-shadow: 1875 0 0 24px rgba(255, 44, 44, 0.24), 1876 inset 0 0 18px rgba(255, 0, 0, 0.16); 1877 } 1878 100%{ 1879 box-shadow: 1880 0 0 10px rgba(255, 44, 44, 0.24), 1881 inset 0 0 12px rgba(255, 0, 0, 0.16); 1882 } 1883} 1884 1885.yugo-review-mecha{ 1886 animation:pulseGlow 2.5s infinite; 1887} 1888</style> 1889
1890<script> 1891let slides = document.querySelectorAll('.yugo-slide'); 1892let index = 0; 1893 1894setInterval(()=>{ 1895 slides[index].classList.remove('active'); 1896 index = (index + 1) % slides.length; 1897 slides[index].classList.add('active'); 1898}, 3000); 1899</script>
1899 1900 1901 <section class="pd-full-description cyber-mecha" id="deskripsi"> 1902 <h2 class="pd-full-desc-title"></h2> 1903 1904 <div class="pd-full-desc-body"> 1905 1906 <div class="mecha-header"> 1907 <h3>MUSANGWIN Rutinitas Cek RTP Slot Sebelum Spin Malam Ini</h3> 1908 </div> 1909 <div class="mecha-content"> 1910 1911<p>Malam Jumat, jam sebelas lewat. Aku baru buka laptop, kopi panas di samping, tapi tangan udah gatal pengen buka slot. Eh, notif WhatsApp muncul. Ternyata Beni â temen mabar slot yang paling anti-main kalau belum cek RTP.</p> 1912 <h3> 1913 Game Online dengan Beragam Pilihan Hiburan Digital 1914 </h3> 1915 <p>"Win, udah cek bocoran RTP hari ini belum? Jangan langsung gas, ntar zonk," tulisnya.</p> 1916 1917 <p class="final-line"> 1918 <span class="glow-strong">FINAL STATUS:</span> 1919 Seluruh Permainan yang kami Hadirkan Memiliki <strong>RTP TINGGI</strong> + 1920 Fitur Gacor 2026 1921 </p> 1922 1923 1924 </div> 1925 1926 </div> 1927</section> 1928 1929<style> 1930@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;800&display=swap'); 1931 1932.cyber-mecha { 1933 font-family: 'Orbitron', sans-serif; 1934 max-width: 900px; 1935 margin: 40px auto; 1936 padding: 25px; 1937 border-radius: 18px; 1938 background: radial-gradient(circle at top, #e14b19, #140700 70%); 1939 border: 1px solid rgba(255,140,40,0.35); 1940 box-shadow: 0 0 25px rgba(255,120,20,0.28), 1941 inset 0 0 25px rgba(255,120,20,0.12); 1942 position: relative; 1943 overflow: hidden; 1944} 1945 1946/* scanline effect */ 1947.cyber-mecha::before { 1948 content: ""; 1949 position: absolute; 1950 inset: 0; 1951 background: repeating-linear-gradient( 1952 to bottom, 1953 rgba(255,170,90,0.025), 1954 rgba(255,170,90,0.025) 1px, 1955 transparent 1px, 1956 transparent 3px 1957 ); 1958 pointer-events: none; 1959} 1960 1961.pd-full-desc-title { 1962 text-align: center; 1963 font-size: 22px; 1964 font-weight: 800; 1965 color: #e14b19; 1966 margin-bottom: 25px; 1967 text-shadow: 0 0 10px #e14b19, 0 0 20px #e14b19; 1968 letter-spacing: 1px; 1969} 1970 1971/* FAQ BOX */ 1972.faq-item { 1973 margin-bottom: 15px; 1974 border-radius: 12px; 1975 border: 1px solid rgba(255,140,40,0.22); 1976 background: rgba(55,25,8,0.5); 1977 backdrop-filter: blur(8px); 1978 transition: all 0.3s ease; 1979 overflow: hidden; 1980} 1981 1982.faq-item:hover { 1983 border-color: rgba(255,160,60,0.75); 1984 box-shadow: 0 0 15px rgba(255,120,20,0.3); 1985} 1986 1987/* QUESTION */ 1988.faq-question { 1989 padding: 14px 18px; 1990 cursor: pointer; 1991 font-size: 14px; 1992 color: #e14b19; 1993 position: relative; 1994} 1995 1996.faq-question::after { 1997 content: "ï¼"; 1998 position: absolute; 1999 right: 15px; 2000 color: #e14b19; 2001 font-weight: bold; 2002 transition: 0.3s; 2003} 2004 2005/* ACTIVE */ 2006.faq-item.active .faq-question::after { 2007 content: "â"; 2008} 2009 2010/* ANSWER */ 2011.faq-answer { 2012 max-height: 0; 2013 overflow: hidden; 2014 padding: 0 18px; 2015 font-size: 13px; 2016 color: #e14b19; 2017 line-height: 1.6; 2018 transition: all 0.35s ease; 2019} 2020 2021.faq-item.active .faq-answer { 2022 max-height: 200px; 2023 padding: 10px 18px 18px; 2024} 2025 2026/* glow text */ 2027.glow { 2028 color: #e14b19; 2029 text-shadow: 0 0 8px #e14b19, 0 0 18px #e14b19; 2030} 2031 2032.glow-strong { 2033 color: #e14b19; 2034 text-shadow: 0 0 10px #e14b19, 0 0 25px #e14b19; 2035} 2036</style> 2037 2038<section class="pd-full-description cyber-mecha" id="deskripsi"> 2039 2040 <h2 class="pd-full-desc-title"> 2041 FAQ 2042 </h2> 2043 2044 <div class="pd-full-desc-body"> 2045 2046 <div class="faq-item"> 2047 <div class="faq-question">Apa saja hiburan digital yang tersedia di MUSANGWIN?</div> 2048 <div class="faq-answer"> 2049 MUSANGWIN menghadirkan berbagai pilihan game online dengan tema, tampilan, dan fitur yang beragam sehingga pengguna dapat menjelajahi permainan sesuai dengan preferensi masing-masing. 2050 </div> 2051 </div> 2052 2053 <div class="faq-item"> 2054 <div class="faq-question">Apakah MUSANGWIN menyediakan game online dengan tema yang berbeda?</div> 2055 <div class="faq-answer"> 2056 Ya. Pilihan game online di MUSANGWIN memiliki beragam tema dan karakteristik permainan sehingga pengguna dapat memilih berdasarkan tampilan serta fitur yang paling menarik bagi mereka. 2057 </div> 2058 </div> 2059 2060 <div class="faq-item"> 2061 <div class="faq-question">Apakah game di MUSANGWIN bisa dimainkan untuk mengisi waktu luang?</div> 2062 <div class="faq-answer"> 2063 Game online dapat menjadi salah satu pilihan hiburan untuk mengisi waktu luang. Pengguna sebaiknya tetap mengatur waktu bermain agar aktivitas hiburan tetap seimbang dengan kegiatan lainnya. 2064 </div> 2065 </div> 2066 2067 <div class="faq-item"> 2068 <div class="faq-question">Apakah MUSANGWIN dapat diakses melalui smartphone?</div> 2069 <div class="faq-answer"> 2070 MUSANGWIN dapat diakses melalui perangkat seperti smartphone, tablet, maupun desktop selama perangkat memiliki koneksi internet yang stabil dan mendukung halaman platform. 2071 </div> 2072 </div> 2073 2074 <div class="faq-item"> 2075 <div class="faq-question">Apa yang membuat pilihan game MUSANGWIN menarik?</div> 2076 <div class="faq-answer"> 2077 Keberagaman tema, tampilan, fitur, dan mekanisme permainan menjadi beberapa hal yang dapat membuat katalog game lebih menarik untuk dijelajahi oleh pengguna. 2078 </div> 2079 </div> 2080 2081 <div class="faq-item"> 2082 <div class="faq-question">Bagaimana cara memilih game online yang sesuai?</div> 2083 <div class="faq-answer"> 2084 Pengguna dapat mempertimbangkan tema, tampilan, fitur, mekanisme, serta informasi permainan sebelum menentukan pilihan yang sesuai dengan preferensi dan kebutuhan hiburan. 2085 </div> 2086 </div> 2087 2088 <div class="faq-item"> 2089 <div class="faq-question">Apakah bermain game online menjamin mendapatkan keuntungan?</div> 2090 <div class="faq-answer"> 2091 Tidak. Hasil permainan tidak dapat dipastikan dan tidak ada permainan yang menjamin keuntungan tertentu. Karena itu, aktivitas bermain sebaiknya dilakukan secara bijak dan menggunakan dana khusus hiburan. 2092 </div> 2093 </div> 2094 2095 </div> 2096 2097</section> 2098
2099<script> 2100document.querySelectorAll(".faq-question").forEach(q => { 2101 q.addEventListener("click", () => { 2102 const item = q.parentElement; 2103 item.classList.toggle("active"); 2104 }); 2105}); 2106</script>
2106 2107<style> 2108@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&display=swap'); 2109 2110.cyber-mecha { 2111 max-width: 800px; 2112 margin: 40px auto; 2113 background: radial-gradient(circle at top, rgba(255,120,20,0.22), #140700 70%); 2114 border-radius: 16px; 2115 border: 1px solid rgba(255,140,40,0.38); 2116 box-shadow: 2117 0 0 25px rgba(255,120,20,0.32), 2118 inset 0 0 20px rgba(255,100,10,0.16); 2119 padding: 25px; 2120 font-family: 'Orbitron', sans-serif; 2121 color: #e14b19; 2122 position: relative; 2123 overflow: hidden; 2124} 2125 2126/* scanline overlay */ 2127.cyber-mecha::before { 2128 content: ""; 2129 position: absolute; 2130 inset: 0; 2131 background: repeating-linear-gradient( 2132 to bottom, 2133 rgba(255,220,180,0.025), 2134 rgba(255,220,180,0.025) 1px, 2135 transparent 1px, 2136 transparent 3px 2137 ); 2138 pointer-events: none; 2139} 2140 2141.pd-full-desc-title { 2142 text-align: center; 2143 font-size: 22px; 2144 color: #e14b19; 2145 letter-spacing: 2px; 2146 text-shadow: 0 0 12px #e14b19; 2147 margin-bottom: 20px; 2148} 2149 2150.mecha-header h3 { 2151 text-align: center; 2152 font-size: 18px; 2153 color: #e14b19; 2154 text-shadow: 0 0 10px #e14b19; 2155 margin-bottom: 15px; 2156} 2157 2158.mecha-image img { 2159 width: 100%; 2160 border-radius: 10px; 2161 border: 1px solid rgba(255,150,60,0.45); 2162 box-shadow: 0 0 20px rgba(255,120,20,0.3); 2163 margin-bottom: 20px; 2164} 2165 2166.mecha-content p { 2167 font-size: 14px; 2168 line-height: 1.8; 2169 margin-bottom: 14px; 2170 color: #e14b19; 2171} 2172 2173.glow { 2174 color: #e14b19; 2175 text-shadow: 0 0 8px #e14b19; 2176 font-weight: 600; 2177} 2178 2179.glow-strong { 2180 color: #e14b19; 2181 text-shadow: 2182 0 0 10px #e14b19, 2183 0 0 20px #e14b19; 2184 font-weight: 700; 2185} 2186 2187.final-line { 2188 margin-top: 18px; 2189 padding: 10px; 2190 border: 1px solid rgba(255,150,60,0.35); 2191 background: rgba(255,120,20,0.08); 2192 border-radius: 8px; 2193 text-align: center; 2194} 2195</style> 2196 2197 2198 2199 <section class="pd-related-full"> 2200 <h2 class="pd-related-title">Produk Terkait</h2> 2201 <div class="pd-related-grid pd-related-grid--full"> 2202 <a class="pd-related-card" href="https://daftarsitusjudibolaonlineterpercaya.com"> 2203 <div class="thumb"> 2204 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="Situs Toto"> 2205 <span class="mini-disc">-2%</span> </div> 2206 <div class="info"> 2207 <h3>Situs Toto</h3> 2208 <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"> 2209 <span class="final">Rp 12.600.000</span> 2210 <span class="ori">Rp 12.799.000</span> 2211 </span> 2212 <span class="sold">Terjual 200+</span> <span class="stock-dot low" title="Stok Terbatas"></span> 2213 </div> 2214 </a> 2215 <a class="pd-related-card" href="https://daftarsitusjudibolaonlineterpercaya.com"> 2216 <div class="thumb"> 2217 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="Situs Togel"> 2218 <span class="mini-disc">-1%</span> </div> 2219 <div class="info"> 2220 <h3>Situs Togel</h3> 2221 <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"> 2222 <span class="final">Rp 21.779.000</span> 2223 <span class="ori">Rp 21.999.000</span> 2224 </span> 2225 <span class="sold">Terjual 20+</span> <span class="stock-dot out" title="Habis"></span> 2226 </div> 2227 </a> 2228 <a class="pd-related-card" href="https://daftarsitusjudibolaonlineterpercaya.com"> 2229 <div class="thumb"> 2230 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="Bandar Togel">
2231 <span class="mini-disc">-1%</span> </div> 2232 <div class="info"> 2233 <h3>Bandar Togel</h3> 2234 <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"> 2235 <span class="final">Rp 21.200.000</span> 2236 <span class="ori">Rp 21.399.000</span> 2237 </span> 2238 <span class="sold">Terjual 6</span> <span class="stock-dot ready" title="Ready"></span> 2239 </div> 2240 </a> 2241 <a class="pd-related-card" href="https://daftarsitusjudibolaonlineterpercaya.com"> 2242 <div class="thumb"> 2243 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="Bandar Togel Online"> 2244 <span class="mini-disc">-1%</span> </div> 2245 <div class="info"> 2246 <h3>Bandar Togel Online</h3> 2247 <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"> 2248 <span class="final">Rp 19.600.000</span> 2249 <span class="ori">Rp 19.799.000</span> 2250 </span> 2251 <span class="sold">Terjual 5</span> <span class="stock-dot ready" title="Ready"></span> 2252 </div> 2253 </a> 2254 <a class="pd-related-card" href="https://daftarsitusjudibolaonlineterpercaya.com"> 2255 <div class="thumb"> 2256 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="Situs Toto 4D"> 2257 <span class="mini-disc">-1%</span> </div> 2258 <div class="info"> 2259 <h3>Situs Toto 4D</h3> 2260 <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"> 2261 <span class="final">Rp 27.599.000</span> 2262 <span class="ori">Rp 27.999.000</span> 2263 </span> 2264 <span class="sold">Terjual 6</span> <span class="stock-dot low" title="Stok Terbatas"></span> 2265 </div> 2266 </a> 2267 <a class="pd-related-card" href="https://daftarsitusjudibolaonlineterpercaya.com"> 2268 <div class="thumb"> 2269 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="Situs Togel Resmi"> 2270 <span class="mini-disc">-1%</span> </div> 2271 <div class="info"> 2272 <h3>Situs Togel Resmi</h3> 2273 <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"> 2274 <span class="final">Rp 18.315.000</span> 2275 <span class="ori">Rp 18.499.000</span> 2276 </span> 2277 <span class="stock-dot low" title="Stok Terbatas"></span> 2278 </div> 2279 </a> 2280 2281 </div> 2282 </section> 2283 2284 <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">
2284<path fill="currentColor" d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92z"></path></svg></button><button type="button" class="mf-btn mf-chat" id="mf-chat" aria-label="Tanya Produk"><svg viewBox="0 0 640 640" fill="currentColor"><path d="M320 128C241 128 175.3 185.3 162.3 260.7C171.6 257.7 181.6 256 192 256L208 256C234.5 256 256 277.5 256 304L256 400C256 426.5 234.5 448 208 448L192 448C139 448 96 405 96 352L96 288C96 164.3 196.3 64 320 64C443.7 64 544 164.3 544 288L544 456.1C544 522.4 490.2 576.1 423.9 576.1L336 576L304 576C277.5 576 256 554.5 256 528C256 501.5 277.5 480 304 480L336 480C362.5 480 384 501.5 384 528L384 528L424 528C463.8 528 496 495.8 496 456L496 435.1C481.9 443.3 465.5 447.9 448 447.9L432 447.9C405.5 447.9 384 426.4 384 399.9L384 303.9C384 277.4 405.5 255.9 432 255.9L448 255.9C458.4 255.9 468.3 257.5 477.7 260.6C464.7 185.3 399.1 127.9 320 127.9z"></path></svg></button><button type="button" class="mf-btn mf-cart" id="mf-cart" disabled="" aria-label="Tambah ke keranjang"><svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true"><path fill="currentColor" d="M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z"></path></svg></button><button type="button" class="mf-btn mf-buy" id="mf-buy" disabled=""><span class="mf-buy-text">Beli Sekarang</span><span class="mf-buy-price">Rp 20.789.000</span></button></div></div> 2285 2286 <button type="button" class="pd-scroll-top" id="pd-scroll-top" aria-label="Kembali ke atas" title="Kembali ke atas"> 2287 <svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true"> 2288 <path fill="currentColor" d="M7.41 14.59 12 10l4.59 4.59L18 13.17l-6-6-6 6z"></path> 2289 </svg> 2290 </button> 2291</main> 2292 2293<div class="pd-share-modal-overlay" id="pd-share-modal-overlay"><div class="pd-share-modal"><div class="pd-share-header"><h2 class="pd-share-title">Bagikan Produk</h2><button type="button" class="pd-share-close" id="pd-share-close" aria-label="Tutup"><svg width="20" height="20" viewBox="0 0 24 24"><path fill="currentColor" d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg></button></div><div class="pd-share-body"><div class="pd-share-preview"><img src="https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg" alt="MUSANGWIN" class="pd-share-preview-img"><div class="pd-share-preview-info"><h3 class="pd-share-preview-name">MUSANGWIN</h3><p class="pd-share-preview-price">Rp 20.789.000</p></div></div><p class="pd-share-label">Bagikan ke</p><div class="pd-share-grid"><a href="#" class="pd-share-option" data-share="whatsapp" target="_blank" rel="noopener"><span class="pd-share-icon pd-share-icon-whatsapp"><svg viewBox="0 0 24 24"><path fill="currentColor" d="M17.472 14.382c-.297-.149-1.758-.867-2.029-.967-.273-.099-.471-.148-.669.149-.198.297-.767.966-.94 1.164-.173.198-.347.223-.644.074-.297-.149-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.52.149-.173.198-.297.298-.495.099-.198.05-.372-.025-.521-.075-.149-.669-1.612-.916-2.206-.242-.579-.487-.5-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.262.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.718 2.006-1.411.248-.694.248-1.29.173-1.411-.074-.123-.272-.198-.57-.347m-5.421 7.403h-.002a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.263c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.887 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.158 11.892c0 2.096.547 4.142 1.588 5.945L0 24l6.305-1.654a11.86 11.86 0 005.67 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.485-8.413"></path></svg></span><span class="pd-share-name">WhatsApp</span></a><a href="#" class="pd-share-option" data-share="facebook" target="_blank" rel="noopener"><span class="pd-share-icon pd-share-icon-facebook"><svg viewBox="0 0 24 24">
2293<path fill="currentColor" d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg></span><span class="pd-share-name">Facebook</span></a><a href="#" class="pd-share-option" data-share="twitter" target="_blank" rel="noopener"><span class="pd-share-icon pd-share-icon-twitter"><svg viewBox="0 0 24 24"><path fill="currentColor" d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"></path></svg></span><span class="pd-share-name">Twitter</span></a><a href="#" class="pd-share-option" data-share="telegram" target="_blank" rel="noopener"><span class="pd-share-icon pd-share-icon-telegram"><svg viewBox="0 0 24 24"><path fill="currentColor" d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"></path></svg></span><span class="pd-share-name">Telegram</span></a><a href="#" class="pd-share-option" data-share="email"><span class="pd-share-icon pd-share-icon-email"><svg viewBox="0 0 24 24"><path fill="currentColor" d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"></path></svg></span><span class="pd-share-name">Email</span></a><button type="button" class="pd-share-option" data-share="copy"><span class="pd-share-icon pd-share-icon-copy"><svg viewBox="0 0 24 24"><path fill="currentColor" d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"></path></svg></span><span class="pd-share-name">Salin Link</span></button><button type="button" class="pd-share-option" data-share="pdf"><span class="pd-share-icon pd-share-icon-pdf"><svg viewBox="0 0 24 24"><path fill="currentColor" d="M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11zM8 15.5h1.5c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5H8v4zm6 0h1c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-1v6zm-4.5-1.5H8v-1h1.5v1zM14 13h1v1h-1v-1z"></path></svg></span><span class="pd-share-name">Export PDF</span></button></div><div class="pd-share-copy-section"><div class="pd-share-copy-input-wrap"><input type="text" class="pd-share-copy-input" id="pd-share-url-input" value="https://daftarsitusjudibolaonlineterpercaya.com" readonly=""><button type="button" class="pd-share-copy-btn" id="pd-share-copy-url-btn"><svg viewBox="0 0 24 24" width="16" height="16"><path fill="currentColor" d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"></path></svg><span class="pd-share-copy-text">Salin</span></button></div></div></div></div></div> 2294 2295<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:#e14b19;color:#fff;border:0;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer}.toast .btn.alt{background:transparent;color:#e14b19;border:1px solid rgba(143,181,255,.35)}.toast .close{background:transparent;border:0;color:#e14b19;cursor:pointer;padding:4px;margin-left:6px}.toast.success{border-left:4px solid #e14b19}.toast.info{border-left:4px solid #e14b19}.toast.warn{border-left:4px solid #e14b19}.toast .progress{position:absolute;
2295left:0;bottom:0;height:3px;background:linear-gradient(90deg,#e14b19,#e14b19);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> 2296<style> 2297.toast .msg { word-break: break-word; overflow-wrap: anywhere; } 2298 2299.toast-root { bottom: max(12px, env(safe-area-inset-bottom, 12px)); } 2300 2301@media (max-width: 540px) { 2302 .toast-root { 2303 left: 0; right: 0; transform: none; 2304 padding: 0 12px; 2305 bottom: calc(max(12px, env(safe-area-inset-bottom, 12px)) + var(--fab-offset, 72px)); 2306 max-width: none; 2307 } 2308 .toast { 2309 grid-template-columns: 1fr; /* 1 kolom */ 2310 position: relative; 2311 padding: 14px 14px 12px 14px; 2312 border-radius: 16px; 2313 } 2314 .toast .ico { 2315 position: absolute; left: 14px; top: 14px; 2316 margin: 0; transform: translateY(1px); 2317 } 2318 .toast .cnt { padding-left: 34px; } 2319 .toast .ttl { font-size: 15px; margin-bottom: 6px; } 2320 .toast .msg { font-size: 13px; opacity: .96; } 2321 .toast .actions { 2322 margin-top: 12px; gap: 10px; width: 100%; 2323 display: grid; grid-template-columns: 1fr 1fr; 2324 } 2325 .toast .btn { width: 100%; min-width: 0; padding: 10px 0; } 2326 .toast .close { position: absolute; right: 6px; top: 6px; } 2327} 2328</style> 2329
2330<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 2331(function adjustToastFabOffset(){ 2332 const root = document.getElementById('toastRoot'); 2333 if (!root) return; 2334 2335 function isVisible(el) cs.opacity === '0') return false; 2336 const r = el.getBoundingClientRect(); 2337 return r.width > 0 && r.height > 0; 2338 2339 2340 function update(){ 2341 const fab = document.getElementById('pd-mobile-fab'); 2342 let extra = 16; 2343 if (isVisible(fab)) 2344 const h = Math.round(fab.getBoundingClientRect().height) 2345 root.style.setProperty('--fab-offset', extra + 'px'); 2346 } 2347 2348 window.addEventListener('resize', update, { passive: true }); 2349 const fab = document.getElementById('pd-mobile-fab'); 2350 if (window.ResizeObserver && fab) { 2351 const ro = new ResizeObserver(update); 2352 ro.observe(fab); 2353 } 2354 2355 update(); 2356})(); 2357</script>
2357 2358<div class="toast-root" id="toastRoot" aria-live="polite" aria-atomic="true"></div> 2359
2360<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="#e14b19"><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="#e14b19"><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="#e14b19"><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="#e14b19"/></svg>'} 2361window.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>`; 2362 2363 const close = ()=> { 2364 if (!el.parentNode) return; 2365 el.style.transition = 'transform .2s ease, opacity .2s ease'; 2366 el.style.opacity = '0'; el.style.transform = 'translateY(10px)'; 2367 setTimeout(()=>{ if (el.parentNode) el.parentNode.removeChild(el); }, 220); 2368 }; 2369 2370 el.querySelector('.close').addEventListener('click', close); 2371 el.querySelectorAll('.actions .btn').forEach(btn=>{ 2372 btn.addEventListener('click', ()=>{ 2373 const lab = btn.getAttribute('data-act'); 2374 try { 2375 (o.actions||[]).forEach(a=>{ if (a.label===lab && typeof a.onClick==='function') a.onClick(); }); 2376 } catch(_){} 2377 close(); 2378 }); 2379 }); 2380 2381 root.appendChild(el); 2382 setTimeout(close, o.duration); 2383 return el; 2384 }; 2385})(); 2386 2387const _0x1a2b=[{"url":"https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg","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://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg","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://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg"},{"url":"https://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg","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://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg","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://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg","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://meubelkayumurah.pics/wp-content/uploads/2026/09/musangwinpro.jpg","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
2387p2-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(' / '):''} 2388function encodeVariantHash(id)id<=0)return '';const xor=id^0x4A5D;return xor.toString(36) 2389function decodeVariantHash(hash){if(!hash)return 0;const xor=parseInt(hash,36);return isNaN(xor)?0:xor^0x4A5D} 2390 2391function 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)1;window.ga4Ecomm.addToCart()}catch(_){}return false}function showErrorToast(){showToast({type:'error',title:'Gagal Menambah ke Keranjang',message:'Terjadi kesalahan saat memproses permintaan. Silakan coba lagi.',duration:5000})} 2392 2393function executeBuyNowLegacy(id,variantId){const a=getVariantSummaryText(),b=(function(){const c=document.getElementById('pd-sku');return c?c.textContent.trim():_0x5e6f})(); 2394 2395 let willRedirect = false; 2396 try { 2397 if (window.addToCart) { 2398 window.addToCart(id, 1, variantId); 2399 willRedirect = false; 2400 } 2401 } catch(_){} 2402 2403 if (willRedirect) { 2404 showToast({ 2405 type: 'info', 2406 title: 'Menuju Keranjang', 2407 message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`, 2408 duration: 1800 2409 }); 2410 setTimeout(()=>{ window.location.href='/keranjang'; }, 1200); 2411 } else { 2412 showToast({ 2413 type: 'warn', 2414 title: 'Fitur Beli Langsung Segera Hadir', 2415 message: `Sementara ini Anda bisa menambahkan produk ke keranjang terlebih dahulu.<br><strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}`, 2416 duration: 6000, 2417 actions: [ 2418 { label: '+ Keranjang', onClick: ()=> { try{ if (window.addToCart) window.addToCart(id,1,variantId); }catch(_){} } }, 2419 { label: 'Hubungi CS', variant: 'alt', onClick: ()=> { window.open('https://wa.me/6281380009898','_blank'); } } 2420 ] 2421 }); 2422 } 2423} 2424 2425document.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)})}}); 2426 2427function _0x2m3n(s){return String(s||'').replace(/[&<>"']/g,m=>({'&':'&','<':'<','>':'>','"':'"',"'":'&#e14b19;'}[m]))} 2428 2429(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)})})(); 2430 2431(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;
2431slides.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})})(); 2432 2433/* ================= Simulasi Cicilan ================= */ 2434(function initInstallmentList(){const card=document.getElementById('inst-card');if(!card)return;function getBasePrice()function setBasePrice(v)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'} 2435 2436function _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'`;listEl.appendChild(g)});zeroNote.style.display=c?'block':'none'} 2437 2438card.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)}); 2439 2440window.instSetBasePrice=function(newPrice){setBasePrice(newPrice);_0x4o5p(activeBank())};_0x4o5p(activeBank()); 2441})(); 2442 2443/* ====== Fokus gambar varian ====== */ 2444function _0x6q7r(s)return String(sfunction _0x8s9t(u){try{return new URL(u,window.location.origin).pathname.split('/').pop().toLowerCase()}catch(e){trycatch(_){return ''}}} 2445function _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'));if(e)const h=e.getAttribute('data-alt')} 2446 if (c){ 2447 const targetName = _0x8s9t(url); 2448 const slideImg = Array.from(c.querySelectorAll('img')).find(im => _0x8s9t(im.src) === targetName); 2449 if (slideImg){ 2450 2451 try { 2452 const container = c; 2453 const imgRect = slideImg.getBoundingClientRect(); 2454 const contRect = container.getBoundingClientRect(); 2455 const offsetLeft = slideImg.offsetLeft - container.offsetLeft; 2456 const center = offsetLeft - (container.clientWidth - slideImg.clientWidth) / 2; 2457 container.scrollTo({ left: Math.max(0, center), behavior: 'smooth' }); 2458 } catch(_){ 2459 2460 slideImg.scrollIntoView({ behavior:'smooth', inline:'center', block:'nearest' }); 2461 } 2462 } 2463 } 2464} 2465function findImageForVariant(variant){ 2466 if (!variant || !variant.attrs) return null; 2467 const tokens = []; 2468 try{ 2469 Object.values(variant.attrs).forEach(v=>{ 2470 if (!v) return; 2471 const raw = String(v); 2472 tokens.push(raw); 2473 tokens.push(normalize(raw)); 2474 }); 2475 }catch(_){} 2476 if (variant.sku){ 2477 tokens.push(String(variant.sku)); 2478 tokens.push(normalize(String(variant.sku))); 2479 } 2480 if (variant.image_url) { 2481 tokens.push(String(variant.image_url)); 2482 } 2483 let best = null; 2484 let bestScore = -1; 2485 2486 for (const g of (galleryData||[])){ 2487 const slugN = normalize(g.slug||''); 2488 const altN = normalize(g.alt||''); 2489 const file = _0x8s9t(g.url||''); 2490 const fileN = normalize(file); 2491 const imgU = g.url; 2492 2493 for (const t of tokens){ 2494 const tN = normalize(t); 2495 if (!tN) continue; 2496 2497 let score = -1; 2498 if (imgU === tN) score = 300; 2499 if (slugN && slugN === tN) score = 300; 2500 else if (fileN && fileN.includes(tN)) score = 200; 2501 else if (altN && altN.includes(tN)) score = 120; 2502 2503 if (score > bestScore){ 2504 bestScore = score; 2505 best = g; 2506 } 2507 if (bestScore >= 300) break; 2508 } 2509 if (bestScore >= 300) break; 2510 } 2511 return bestScore >= 120 ? best : null; 2512} 2513function _0xey3z(variant){const a=_0xcw2x(variant);if(a&&a.url)_0xau1v(a.url,a.alt} 2514 2515/* ====== Layout mobile ====== */ 2516(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; 2517 2518 let pricePlaced = false;
2519 let varPlaced = false; 2520 let titlePlaced = false; 2521 let promoPlaced = false; 2522 const mq = window.matchMedia('(max-width: 640px)'); 2523 2524 function apply(){ 2525 if (mq.matches) { 2526 if (!titlePlaced && a && titleRow && d.contains(titleRow)) { try{a.appendChild(titleRow);titlePlaced=true;}catch(_){} } 2527 if (!pricePlaced && a && b) { try{a.appendChild(b);pricePlaced=true;}catch(_){} } 2528 if (!varPlaced && f && d && e) { 2529 try{ 2530 f.hidden = false; 2531 if (i && !f.contains(i)) f.appendChild(i); 2532 if (g && !f.contains(g)) f.appendChild(g); 2533 if(d.contains(e))d.insertBefore(f, e); 2534 varPlaced = true; 2535 }catch(_){} 2536 } 2537 if (!promoPlaced && promoBanner && compareSection && compareSection.parentNode) { 2538 try{ 2539 compareSection.parentNode.insertBefore(promoBanner, compareSection); 2540 promoPlaced = true; 2541 }catch(_){} 2542 } 2543 } else { 2544 if (titlePlaced && titleRow && d) { 2545 try{ 2546 const vcombined = document.getElementById('pd-variant-combined'); 2547 if (vcombined && d.contains(vcombined)) { 2548 d.insertBefore(titleRow, vcombined); 2549 } else { 2550 d.insertBefore(titleRow, d.firstChild); 2551 } 2552 titlePlaced=false; 2553 }catch(_){} 2554 } 2555 if (pricePlaced && b && c && c.parentNode) { 2556 try{c.parentNode.insertBefore(b, c.nextSibling);pricePlaced=false;}catch(_){} 2557 } 2558 if (varPlaced) { 2559 try{ 2560 if (i && j && j.parentNode && !j.parentNode.contains(i)) j.parentNode.insertBefore(i, j.nextSibling); 2561 if (g && h && h.parentNode && !h.parentNode.contains(g)) h.parentNode.insertBefore(g, h.nextSibling); 2562 if (f) { f.hidden = true; f.innerHTML = ''; } 2563 varPlaced = false; 2564 }catch(_){} 2565 } 2566 if (promoPlaced && promoBanner && b) { 2567 try{ 2568 b.appendChild(promoBanner); 2569 promoPlaced = false; 2570 }catch(_){} 2571 } 2572 } 2573 } 2574 2575 mq.addEventListener ? mq.addEventListener('change', apply) : mq.addListener(apply); 2576 apply(); 2577 2578 const fab = document.getElementById('pd-mobile-fab'); 2579 if (fab) { 2580 const pid = parseInt(fab.getAttribute('data-pid')||'0',10) || 325; 2581 const btnCart = document.getElementById('mf-cart'); 2582 2583 if (btnCart) btnCart.addEventListener('click', function(){ 2584 const varInput = document.getElementById('pd-variant-id'); 2585 const variantId = varInput ? parseInt(varInput.value||'0',10) : 0; 2586 try { if (window.addToCart) addToCart(pid, 1, variantId); } catch(_){} 2587 const variantText = getVariantSummaryText(); 2588 const skuText = (function(){ const el=document.getElementById('pd-sku'); return el?el.textContent.trim():PD_SKU; })(); 2589 showToast({ 2590 type: 'success', 2591 title: 'Berhasil ditambahkan ke Keranjang', 2592 message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`, 2593 duration: 5000, 2594 actions: [ 2595 { label: 'Lihat Keranjang', onClick: ()=> { window.location.href = '/keranjang'; } }, 2596 { label: 'Lanjut Belanja', variant: 'alt', onClick: ()=>{} } 2597 ] 2598 }); 2599 }); 2600 } 2601})(); 2602 2603/* ====== Auto-hide installment banner if sidebar too tall (Desktop only) ====== */ 2604(function(){ 2605 function adjustSidebarBanner() { 2606 if (window.innerWidth <= 768) return; 2607 const sidebar = document.querySelector('.pd-sidebar'); 2608 const infoCard = document.querySelector('.pd-info-card'); 2609 const banner = document.querySelector('.pd-side-card.inst-alt-banner.inst-alt-banner--compact'); 2610 if (!sidebar || !infoCard || !banner) return; 2611 const sidebarHeight = sidebar.offsetHeight; 2612 const infoCardHeight = infoCard.offsetHeight; 2613 if (sidebarHeight > infoCardHeight) { 2614 banner.style.display = 'none'; 2615 } else { 2616 banner.style.display = ''; 2617 } 2618 } 2619 if (document.readyState === 'loading') { 2620 document.addEventListener('DOMContentLoaded', adjustSidebarBanner); 2621 } else { 2622 adjustSidebarBanner(); 2623 } 2624 let resizeTimer; 2625 window.addEventListener('resize', function() { 2626 clearTimeout(resizeTimer); 2627 resizeTimer = setTimeout(adjustSidebarBanner, 250); 2628 }); 2629 const pwpSection = document.getElementById('pwp-deals-section'); 2630 if (pwpSection) { 2631 const observer = new MutationObserver(function(mutations) {
2632 let shouldRecheck = false; 2633 mutations.forEach(function(mutation) { 2634 if (mutation.type === 'attributes' && mutation.attributeName === 'hidden') { 2635 shouldRecheck = true; 2636 } else if (mutation.type === 'childList' && mutation.addedNodes.length > 0) { 2637 shouldRecheck = true; 2638 } 2639 }); 2640 if (shouldRecheck) { 2641 setTimeout(adjustSidebarBanner, 100); 2642 } 2643 }); 2644 observer.observe(pwpSection, { 2645 attributes: true, 2646 childList: true, 2647 subtree: true 2648 }); 2649 } 2650 window.adjustSidebarBanner = adjustSidebarBanner; 2651})(); 2652 2653/* ====== Global constants ====== */ 2654const IS_DIGITAL=false; 2655const IS_PREORDER=false; 2656 2657/* ====== Variants state (REVISED) ====== */ 2658(function initVariants(){ 2659const _0x7g8h=[];window.variants=_0x7g8h; 2660window.isPreorderProduct=false; 2661 const attrOrder = []; 2662 2663 if (!variants.length || !attrOrder.length) return; 2664 2665 function comboKey(sel)'); 2666 2667 2668 const variantMap = {};
2669 variants.forEach(v=>{ 2670 const key = comboKey(v.attrs); 2671 variantMap[key] = v; 2672 }); 2673 2674 function readSelection(){ 2675 const sel = {}; 2676 attrOrder.forEach(a=>{ 2677 const r = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio]:checked`); 2678 sel[a] = r ? r.value : ''; 2679 }); 2680 return sel; 2681 } 2682 2683 function findVariant(sel) null; 2684 2685 2686 function autoFillMissing(sel){ 2687 let changed = false; 2688 for (const a of attrOrder) { 2689 if (sel[a]) continue; 2690 const possible = []; 2691 const seen = new Set(); 2692 variants.forEach(v=>{ 2693 let ok = true; 2694 for (const a2 of attrOrder) { 2695 if (a2 === a) continue; 2696 if (sel[a2] && v.attrs[a2] !== sel[a2]) { ok = false; break; } 2697 } 2698 if (ok) { 2699 const val = v.attrs[a]; 2700 if (!seen.has(val)) { seen.add(val); possible.push(val); } 2701 } 2702 }); 2703 if (possible.length === 1) { 2704 const val = possible[0]; 2705 const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`); 2706 if (input && !input.checked) { input.checked = true; sel[a] = val; changed = true; } 2707 } 2708 } 2709 return changed; 2710 } 2711 2712 function rupiah(n){ 2713 n = parseInt(n||0,10)||0; 2714 return 'Rp ' + n.toString().replace(/\B(?=(\d{3})+(?!\d))/g,'.'); 2715 } 2716 2717 function focusGalleryByUrl(imageUrl) { 2718 const isMobile = window.matchMedia && window.matchMedia('(max-width: 640px)').matches; 2719 if (isMobile) { 2720 _0xau1v(imageUrl); 2721 return; 2722 } 2723 2724 const gallery = document.getElementById('pd-thumb-gallery'); 2725 const targetName = _0x8s9t(imageUrl); 2726 2727 if (gallery) { 2728 const btns = Array.from(gallery.querySelectorAll('.pd-thumb-btn')); 2729 const btn = btns.find(b => _0x8s9t(b.getAttribute('data-full') || '') === targetName); 2730 if (btn) { btn.click(); return; } 2731 } 2732 2733 _0xau1v(imageUrl); 2734 } 2735 2736 2737function formatStockLabel(n)0,10) 2738function updateBranchPopover(v){try0))catch(_){}} 2739 2740 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)} 2741 2742 function applyVariant(v, focusImage = true){ 2743 const elCur = document.getElementById('pd-price-current'); 2744 const elOri = document.getElementById('pd-price-original'); 2745 const elDisc = document.getElementById('pd-discount-badge'); 2746 const elSku = document.getElementById('pd-sku'); 2747 const elStock= document.getElementById('pd-stock-badge'); 2748 const elQty = document.getElementById('qty'); 2749 const btnAdd = document.getElementById('btn-add-cart'); 2750 const btnBuy = document.getElementById('btn-buy'); 2751 const hidVar = document.getElementById('pd-variant-id'); 2752 2753 const mfCart= document.getElementById('mf-cart'); 2754 const mfBuy = document.getElementById('mf-buy'); 2755 const fab = document.getElementById('pd-mobile-fab'); 2756 2757 if (hidVar) hidVar.value = v ? v.id : 0; 2758 if (elCur) elCur.textContent = rupiah(v ? v.final : 0); 2759 if (elSku && v && v.sku) elSku.textContent = v.sku; 2760 2761 if (v && v.ori > v.final) { 2762 if (elOri) { elOri.style.display='inline'; elOri.textContent = rupiah(v.ori); } 2763 if (elDisc) 2764 } else { 2765 if (elOri) elOri.style.display='none'; 2766 if (elDisc) elDisc.style.display='none'; 2767 } 2768 2769 const stock = v ? (parseInt(v.stock||0,10)||0) : 0; 2770 let effectiveStock = stock; 2771 let isActivePreorder = false; 2772 if (window.isPreorderProduct && v && 'preorder_remaining' in v && v.preorder_remaining !== null) { 2773 effectiveStock = parseInt(v.preorder_remaining, 10); 2774 if (isNaN(effectiveStock)) effectiveStock = 0; 2775 isActivePreorder = true; 2776 } 2777 if (elStock){ 2778 elStock.classList.remove('in','out'); 2779 if (effectiveStock>0){ 2780 elStock.classList.add('in'); 2781 elStock.textContent = IS_DIGITAL ? 'Tersedia' : (isActivePreorder ? 'Sisa Slot: ' + effectiveStock : 'Stok: ' + formatStockLabel(effectiveStock)); 2782 } else { 2783 elStock.classList.add('out'); 2784 elStock.textContent = 'Habis'; 2785 } 2786 } 2787 if (elQty){ 2788 elQty.max = String(effectiveStock>0?effectiveStock:0); 2789 if (effectiveStock<=0) { elQty.value = '0'; elQty.disabled = true; } 2790 else '1',10) < 1) elQty.value='1'; elQty.disabled=false; 2791 } 2792 2793 const shouldDisable = !(v && effectiveStock>0); 2794 const updateButtons = () => { 2795 const btnAddCart = document.getElementById('btn-add-cart'); 2796 const btnBuyNow = document.getElementById('btn-buy'); 2797 const mobileCart = document.getElementById('mf-cart'); 2798 const mobileBuy = document.getElementById('mf-buy'); 2799 [btnAddCart, btnBuyNow, mobileCart, mobileBuy].forEac
2799h(btn => { 2800 if (!btn) return; 2801 if (shouldDisable) { 2802 btn.disabled = true; 2803 btn.setAttribute('disabled', 'disabled'); 2804 btn.classList.add('stock-disabled'); 2805 btn.setAttribute('data-stock-blocked', 'true'); 2806 btn.setAttribute('data-stock-reason', window.isPreorderProduct ? 'Pre-order habis' : 'Stok habis'); 2807 } else { 2808 btn.disabled = false; 2809 btn.removeAttribute('disabled'); 2810 btn.classList.remove('stock-disabled'); 2811 btn.removeAttribute('data-stock-blocked'); 2812 btn.removeAttribute('data-stock-reason'); 2813 } 2814 }); 2815 }; 2816 updateButtons(); 2817 setTimeout(updateButtons, 10); 2818 setTimeout(updateButtons, 50); 2819 setTimeout(updateButtons, 100); 2820 if (mfBuy && v) { 2821 const voucherBtn = document.getElementById('btn-buy-voucher'); 2822 const voucherCode = fab ? fab.dataset.voucherCode : ''; 2823 let voucherDiscount = 0; 2824 2825 if (voucherBtn && voucherCode) { 2826 const vType = voucherBtn.dataset.voucherType; 2827 const vValue = parseFloat(voucherBtn.dataset.voucherValue) || 0; 2828 const vMax = parseFloat(voucherBtn.dataset.voucherMax) || 0; 2829 const finalPrice = v.final || 0; 2830 if (vType && vValue > 0) { 2831 voucherDiscount = calcVoucherDisc(vType, vValue, finalPrice, vMax); 2832 if (fab) fab.dataset.voucherValue = voucherDiscount.toString(); 2833 } 2834 } 2835 2836 const finalPrice = v.final || 0; 2837 const textEl = mfBuy.querySelector('.mf-buy-text'); 2838 const priceEl = mfBuy.querySelector('.mf-buy-price'); 2839 2840 if (effectiveStock > 0) { 2841 if (IS_PREORDER) { 2842 if (textEl) textEl.textContent = 'Pre Order Sekarang'; 2843 if (priceEl) priceEl.textContent = rupiah(finalPrice); 2844 } else if (voucherCode && voucherDiscount > 0) { 2845 if (textEl) textEl.textContent = 'Beli dengan Voucher'; 2846 if (priceEl) priceEl.textContent = rupiah(Math.max(0, finalPrice - voucherDiscount)); 2847 } else { 2848 if (textEl) textEl.textContent = 'Beli Sekarang'; 2849 if (priceEl) priceEl.textContent = rupiah(finalPrice); 2850 } 2851 } else { 2852 if (textEl) textEl.textContent = 'Stok Habis'; 2853 if (priceEl) priceEl.textContent = rupiah(finalPrice); 2854 } 2855 } 2856 2857 const isMobile = window.initMobile ?? 0; 2858 if (window.instSetBasePrice) window.instSetBasePrice(v ? (isMobile == '1' ? v.ori : v.final) : 0); 2859 if (window.updateSoldBySku) window.updateSoldBySku(v.sku); 2860 updateBranchPopover(v); 2861 if (v && v.image_url && focusImage) focusGalleryByUrl(v.image_url); 2862 if (v) { 2863 window.dispatchEvent(new CustomEvent('pd-variant-changed', { 2864 detail: { 2865 price: v.final, 2866 originalPrice: v.ori, 2867 discount: v.disc, 2868 stock: effectiveStock, 2869 sku: v.sku, 2870 variant_id: v.id 2871 } 2872 })); 2873 2874 const encodedHash = encodeVariantHash(v.id); 2875 if (encodedHash && window.history && window.history.replaceState) { 2876 const newHash = '#v=' + encodedHash; 2877 const newUrl = window.location.pathname + window.location.search + newHash; 2878 window.history.replaceState(null, '', newUrl); 2879 } 2880 } 2881 } 2882 2883 let sel = readSelection(); 2884 if (autoFillMissing(sel)) sel = readSelection(); 2885 2886 let v = findVariant(sel); 2887 if (!v) { 2888 const candidates = variants.filter(variant=>{ 2889 return attrOrder.every(a=>{ 2890 if (!sel[a]) return true; 2891 return variant.attrs[a] === sel[a]; 2892 }); 2893 }); 2894 if (candidates.length >= 1) { 2895 v = candidates[0]; 2896 attrOrder.forEach(a=> sel[a] = v.attrs[a]); 2897 attrOrder.forEach(a=>{ 2898 const val = sel[a]; 2899 const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`); 2900 if (input) input.checked = true; 2901 }); 2902 } 2903 } 2904 2905 const initSel = readSelection(); 2906 const initVar = findVariant(initSel) || variants[0] || null; 2907 if (document.readyState === 'loading') { 2908 document.addEventListener('DOMContentLoaded', () => applyVariant(initVar, false)); 2909 } else { 2910 applyVariant(initVar, false); 2911 } 2912 2913function updateSummary(sel){Object.entries(sel).forEach(([a,val])=>)} 2914 function refreshOptions(sel){ 2915 attrOrder.forEach(a=>{ 2916 const group = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"]`); 2917 if (!group) return; 2918 const chips = group.querySelectorAll('.v-chip'); 2919 chips.forEach(ch=>{ 2920 const val = ch.getAttribute('data-value'); 2921 const possible = variants.some(v=>{ 2922 if (v.attrs[a] !== val) return false;
2923 for (const a2 of attrOrder) { 2924 if (a2 === a) continue; 2925 if (sel[a2] && v.attrs[a2] !== sel[a2]) return false; 2926 } 2927 return true; 2928 }); 2929 const input = ch.querySelector('input[type=radio]'); 2930 const disabled = !possible; 2931 if (input) input.disabled = disabled; 2932 ch.classList.toggle('disabled', disabled); 2933 2934 let candidateVariant = null; 2935 if (possible) { 2936 candidateVariant = variants.find(v=>{ 2937 if (v.attrs[a] !== val) return false; 2938 for (const a2 of attrOrder) { 2939 if (a2 === a) continue; 2940 if (sel[a2] && v.attrs[a2] !== sel[a2]) return false; 2941 } 2942 return true; 2943 }); 2944 } 2945 const outOfStock = candidateVariant ? (window.isPreorderProduct && candidateVariant.preorder_remaining !== null ? candidateVariant.preorder_remaining <= 0 : candidateVariant.stock <= 0) : false; 2946 ch.classList.toggle('out', !disabled && outOfStock); 2947 const badge = ch.querySelector('.chip-badge'); 2948 if (badge) badge.hidden = !(candidateVariant && outOfStock); 2949 }); 2950 group.querySelectorAll('.v-chip').forEach(ch=>{ 2951 const input = ch.querySelector('input[type=radio]'); 2952 ch.classList.toggle('selected', input && input.checked); 2953 }); 2954 }); 2955 } 2956 updateSummary(sel); 2957 refreshOptions(sel); 2958 document.querySelectorAll('.v-chip').forEach(chip=>{const input=chip.querySelector('input[type=radio]');if(input&&input.checked){chip.classList.add('selected');}}); 2959 2960 const container = document.getElementById('pd-variants'); 2961 container && container.addEventListener('change', function(ev)); 2962 2963window.applyVariant=applyVariant; 2964})(); 2965 2966(function cleanBrokenDescImages(){ 2967 const containers = [ 2968 document.querySelector('.pd-full-desc-body'), 2969 document.querySelector('.pd-short-desc') 2970 ].filter(Boolean); 2971 2972 containers.forEach(root => { 2973 const imgs = root.querySelectorAll('img'); 2974 imgs.forEach(img => { 2975 if (img.complete && img.naturalWidth === 0) { 2976 img.remove(); 2977 return; 2978 } 2979 img.addEventListener('error', () => { 2980 img.remove(); 2981 }, { once:true }); 2982 }); 2983 }); 2984})(); 2985 2986/* ====== Scroll To Top ====== */ 2987(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()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'})})})(); 2988 2989/* Format stok 10+ */ 2990function _0xk67l(n)n=parseInt(n 2991 2992/* Toggle popover stok per cabang */ 2993(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');
2993if(!e)return;const f=e.getBoundingClientRect(),g=window.pageXOffsetelse{b.style.left='';b.style.top=''}} 2994function 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) 2995a.addEventListener('click',function(h){h.preventDefault();b.classList.contains('show')?f():e()});if(c)c.addEventListener('click',f)})(); 2996 2997/* ===== Share Product Modal ===== */ 2998(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://daftarsitusjudibolaonlineterpercaya.com",g="Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y",h="Rp 20.789.000";const discountPercent=1;let i='';if(discountPercent>0){i=`ð¥ Lagi Promo Nih! Diskon ${discountPercent}%\n\n⨠${g}\nð° Cuma ${h} aja!\n\nð Buruan cek sebelum kehabisan!\nð `}else{i=`⨠Ada barang bagus nih!\n\nð¦ ${g}\nð¸ Harga: ${h}\n\nðï¸ Yuk, langsung cek!\nð `}function j(){b.classList.add('show');document.body.style.overflow='hidden'}function k(){b.classList.remove('show');document.body.style.overflow=''}if(a)a.addEventListener('click',j);if(z)z.addEventListener('click',j);if(c)c.addEventListener('click',k);b.addEventListener('click',function(l){if(l.target===b)k()});document.addEventListener('keydown',function(l){if(l.key==='Escape'&&b.classList.contains('show'))k()});b.addEventListener('click',function(l){const m=l.target.closest('[data-share]');if(!m)return;const n=m.getAttribute('data-share'),o=encodeURIComponent(f),p=encodeURIComponent(i),q=encodeURIComponent(g);let r='';switch(n){case 'whatsapp':r=`https://wa.me/?text=${p}${o}`;break;case 'facebook':r=`https://www.facebook.com/sharer/sharer.php?u=${o}`;break;case 'twitter':r=`https://twitter.com/intent/tweet?text=${p}${o}`;break;case 'telegram':r=`https://t.me/share/url?url=${o}&text=${p}`;break;case 'email':r=`mailto:?subject=${encodeURIComponent('ð¥ Cek Produk Keren Ini!')}&body=${p}${o}`;window.location.href=r;k();return;case 'copy':s();return;case 'pdf':const ps=document.querySelector('.product-single');if(ps){ps.setAttribute('data-print-date',new Date().toLocaleDateString('id-ID',{year:'numeric',month:'long',day:'numeric'}))}k();setTimeout(function(){window.print();try{if(window.ga4Ecomm&&window.ga4Ecomm.trackEvent)window.ga4Ecomm.trackEvent('share',{method:'pdf_export',content_type:'product',item_id:"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);
2998if(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)}})(); 2999 3000/* ===== Embedding variants (server â client) ===== */ 3001(function(){ 3002 window.__PD_VARIANTS_WITH_BRANCH__ = []; 3003})(); 3004 3005/* ===== Helper: update angka popover ===== */ 3006function updateStockPopoverForVariant(v){ 3007 try0)); 3008 if (typeof v?.sba === 'number' && elBda) elBda.textContent = formatStockLabel(Math.max(0, v.sbacatch(_){} 3009} 3010 3011/* ===== applyVariant: 10+ dan update popover ===== */ 3012(function patchApplyVariant(){ 3013 if (typeof applyVariant !== 'function') return; 3014 const original = applyVariant; 3015 window.applyVariant = function(v){ 3016 original(v); 3017 3018 try { 3019 const elStock = document.getElementById('pd-stock-badge'); 3020 if (elStock) 3021 let txt = elStock.textContent 3022 } catch(_){} 3023if(window.__PD_VARIANTS_WITH_BRANCH__&&v)const vv=window.__PD_VARIANTS_WITH_BRANCH__.find(x=>x.id===v.id) 3024 }; 3025})(); 3026 3027(function initCurrentVariantBranch())(); 3028 3029(function(){ 3030 if (!window.ga4Ecomm) return; 3031 const catSegs = ["Komputer & Laptop","Laptop","Gaming"]; 3032 window.ga4Ecomm.viewItem({ 3033 currency: 'IDR', 3034 value: 20789000, 3035 item_id: "1S83N0880RID", 3036 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", 3037 item_brand: "Lenovo ", 3038 item_category: catSegs && catSegs.length ? catSegs.join(' / ') : '' 3039 }); 3040 })(); 3041 3042(function patchApplyVariantFocus(){ 3043 if (typeof applyVariant !== 'function') return; 3044 const original = applyVariant; 3045 window.applyVariant = function(v, focusImage = true){ 3046 3047 original(v, focusImage); 3048 3049 if (focusImage && v && v.image_url) { 3050 _0xau1v(v.image_url); 3051 } 3052 }; 3053})(); 3054 3055(function() { 3056 var soldMap = []; 3057 var soldTotalLabel = "Terjual 2"; 3058 3059 function formatSoldLabel(qty) { 3060 if (qty >= 1000000) { 3061 var v = Math.floor((qty / 100000) ) / 10; 3062 return 'Terjual ' + (String(v).replace('.', ',')) + 'jt+'; 3063 } 3064 if (qty >= 1000) { 3065 var v2 = Math.floor((qty / 100) ) / 10; 3066 return 'Terjual ' + (String(v2).replace('.', ',')) + 'rb+'; 3067 } 3068 if (qty >= 100) { 3069 var v2 = Math.floor((qty / 100) ) * 100; 3070 return 'Terjual ' + (String(v2).replace('.', ',')) + '+'; 3071 } 3072 if (qty >= 10) { 3073 var v2 = Math.floor((qty / 10) ) * 10; 3074 return 'Terjual ' + (String(v2).replace('.', ',')) + '+'; 3075 } 3076 return 'Terjual ' + (qty.toLocaleString('id-ID')); 3077 } 3078 3079 function updateSoldLabel(labelText) { 3080 var el = document.querySelector('#pd-sold-inline, [data-role="sold-chip"]'); 3081 if (el) el.textContent = labelText; 3082 } 3083 3084 window.updateSoldBySku = function(sku) { 3085 if (!sku || typeof sku !== 'string') { 3086 updateSoldLabel(soldTotalLabel); 3087 return; 3088 } 3089 var qty = soldMap[sku] || 0; 3090 updateSoldLabel(formatSoldLabel(qty)); 3091 }; 3092 3093 updateSoldLabel(soldTotalLabel); 3094 })(); 3095 3096(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;
3096const 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)}})} 3097function 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} 3098const 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}});function formatRupiah(n){return'Rp'+Math.floor(n).toLocaleString('id-ID')}})(); 3099 3100(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})}
3100const 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='#e14b19';setTimeout(function(){mcp.textContent=o;mcp.style.background=''},2000)}function fr(a){return'Rp'+Math.floor(a).toLocaleString('id-ID')}})(); 3101</script>
vendor: 1 bytes, line 3101
3101
3102<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 3103window.PD_ID=325;window.PD_NAME=_0x3c4d;window.PD_SKU=_0x5e6f;window.PD_CATEGORY_PATH="Komputer & Laptop/Laptop/Gaming";window.PD_BEST_VOUCHER=null; 3104window.IS_DIGITAL=IS_DIGITAL; 3105window.isPreorderProduct=false; 3106window.PD_PREORDER_DATA=null; 3107</script>
3107 3108
3109<script src="https://plazait.co.id/assets/js/pd-lightbox.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 3109
3109
3110<script src="https://plazait.co.id/assets/js/cart.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 3110
3110
3111<script src="https://plazait.co.id/assets/js/stock-validator-vanilla.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 3111
3111
3112<script src="https://plazait.co.id/assets/js/pd-addtocart.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 3112
3112
3113<script src="https://plazait.co.id/assets/js/pd-buynow.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 3113
3113
3114<script src="https://plazait.co.id/assets/js/pd-voucher-recalc.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 3114
3114
3115<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>
3115 3116
3117<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 3118(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'}})}} 3119 3120function _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()}})(); 3121 3122(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)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()}})})(); 3123</script>
3123<footer class="site-footer footer-compact variant-stripes" role="contentinfo"> 3124 <div class="ft-top ft-collapsible" id="ftTop"> 3125 <div class="container ft-grid"> 3126 3127 <div class="ft-col ft-help"> 3128 <h4 class="ft-title">Butuh Bantuan?</h4> 3129 <p class="ft-desc">Hubungi kami melalui Official WhatsApp interaktif sekarang.</p> 3130 <a class="ft-wa-btn" href="#" target="_blank" rel="nofollow noopener"> 3131 <span class="ico" aria-hidden="true"> 3132 <svg viewBox="0 0 24 24" width="18" height="18"><path fill="#e14b19" d="M12.04 2c-5.52 0-10 4.43-10 9.9 0 1.75.47 3.45 1.38 4.94L2 22l5.3-1.38c1.43.78 3.05 1.19 4.7 1.19 5.52 0 10-4.43 10-9.9S17.56 2 12.04 2Zm5.86 13.9c-.25.7-1.23 1.28-1.7 1.33-.45.06-1.02.08-1.65-.1-.38-.12-.88-.29-1.52-.56-2.66-1.15-4.4-3.83-4.53-4.01-.13-.18-1.08-1.44-1.08-2.75 0-1.31.68-1.95.92-2.22.25-.27.54-.33.72-.33.18 0 .36.01.52.01.17 0 .39-.06.62.47.25.6.85 2.07.92 2.22.07.15.12.33.02.53-.1.2-.15.33-.3.5-.15.17-.32.39-.46.53-.15.15-.3.31-.13.6.18.3.8 1.31 1.73 2.12 1.19 1.03 2.17 1.36 2.48 1.5.31.14.49.12.67-.07.18-.18.77-.82.98-1.1.21-.27.42-.23.7-.14.27.09 1.72.81 2.02.95.3.14.5.22.58.35.08.13.08.72-.17 1.42Z"></path></svg> 3133 </span> 3134 Kirim Pesan 3135 </a> 3136 3137 <p class="ft-desc sm-gap">Ikuti kami:</p> 3138 <div class="ft-social"> 3139 <a aria-label="Facebook" href="https://facebook.com/MUSANGWIN/"><svg viewBox="0 0 24 24" width="18" height="18"><path fill="currentColor" d="M13.5 22v-8.2h2.7l.4-3.2h-3.1V8c0-.9.3-1.5 1.6-1.5H17V3.7c-.3 0-1.2-.1-2.2-.1-2.2 0-3.8 1.3-3.8 3.9v2.2H8v3.2h3v8.1h2.5Z"></path></svg></a> 3140 <a aria-label="Instagram" href="https://www.instagram.com/MUSANGWIN"><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
3140V7.8A3.8 3.8 0 0 0 16.2 4H7.8Zm9.9 1.7a1.1 1.1 0 1 1 0 2.3 1.1 1.1 0 0 1 0-2.3ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z"></path></svg></a> 3141 <a aria-label="TikTok" href="https://www.tiktok.com/@MUSANGWIN"><svg viewBox="0 0 24 24" width="18" height="18"><path fill="currentColor" d="M18.9 7.4a6.4 6.4 0 0 1-3.2-1.2v6.3a5.47 5.47 0 1 1-5.5-5.5c.2 0 .4 0 .6.02v2.37a2.92 2.92 0 0 0-.6-.07 2.8 2.8 0 1 0 2.8 2.8V2h2.3a4.6 4.6 0 0 0 4.5 4.1v2.3Z"></path></svg></a> 3142 </div> 3143 </div> 3144 3145 <!-- Collapsible Content Wrapper (Non-Homepage Only) --> 3146 <div class="ft-collapsible-content" id="ftCollapsible"> 3147 3148 <div class="ft-col"> 3149 <h4 class="ft-title">Tentang MUSANGWIN</h4> 3150 <ul class="ft-links"> 3151 <li><a href="/tentang-kami">Tentang Kami</a></li> 3152 <li><a href="/kontak-kami">Kontak Kami</a></li> 3153 <li><a href="/lokasi-toko">Lokasi Toko</a></li> 3154 <li><a href="/faq">FAQ</a></li> 3155 </ul> 3156 <div class="ft-address"> 3157 <p class="company">PT MUSANGWIN</p> 3158 <p>JL. Asia Raya Blok BB No. 12-A, Kel. Sukaramai II,</p> 3159 <p>Kec. Medan Area, Kota Medan, Sumatera Utara, 20216</p> 3160 </div> 3161 </div> 3162 3163 <div class="ft-col"> 3164 <h4 class="ft-title">Informasi</h4> 3165 <ul class="ft-links"> 3166 <li><a href="/syarat-dan-ketentuan">Syarat & Ketentuan</a></li> 3167 <li><a href="/kebijakan-privasi">Kebijakan Privasi</a></li> 3168 <li><a href="/kebijakan-cookie">Kebijakan Cookie</a></li> 3169 <li><a href="/pengiriman-dan-pengembalian">Pengiriman & Pengembalian</a></li> 3170 <li><a href="/pembayaran-dan-cicilan">Pembayaran & Cicilan</a></li> 3171 <li><a href="/garansi-dan-layanan">Garansi & Layanan</a></li> 3172 </ul> 3173 3174 <div class="ft-payments payments-small" aria-label="Metode Pembayaran"> 3175 <div class="pay-row"> 3176 <img src="https://plazait.co.id/assets/img/payments/mandiri.svg" alt="Mandiri" loading="lazy"> 3177 <img src="https://plazait.co.id/assets/img/payments/bni.svg" alt="BNI" loading="lazy"> 3178 <img src="https://plazait.co.id/assets/img/payments/bri.svg" alt="BRI" loading="lazy"> 3179 <img src="https://plazait.co.id/assets/img/payments/bsi.svg" alt="BSI" loading="lazy"> 3180 <img src="https://plazait.co.id/assets/img/payments/cimb-logo.svg" alt="ShopeePay" loading="lazy"> 3181 </div> 3182 </div> 3183 </div> 3184 3185 </div> 3186 <!-- End Collapsible Content --> 3187 3188 <!-- Expand Button (Mobile Only) --> 3189 <button class="ft-expand-btn" id="ftExpandBtn" aria-label="Lihat semua informasi footer"> 3190 <span class="expand-text">Selengkapnya</span> 3191 <svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"> 3192 <path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"></path> 3193 </svg> 3194 </button> 3195 3196 </div> 3197 </div> 3198 <div class="ft-bottom"> 3199 <div class="container ft-bottom-inner"> 3200 <div class="ft-copy"> 3201 <span>MUSANGWIN © <span id="yearNow">2026</span></span> 3202 <span>PT MUSANGWIN. All rights reserved.</span> 3203 </div> 3204 </div> 3205 </div> 3206 3207 <style nonce="se3iyzEHMc9FQEB4wSyd0w=="> 3208 /* Chat Widget Styles - Lightweight & Minimal */ 3209 .chat-widget { 3210 position: fixed; 3211 bottom: 20px; 3212 right: 20px; 3213 z-index: 9999; 3214 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; 3215 } 3216 3217 /* Hide floating button on mobile - use bottom nav instead */ 3218 @media (max-width: 640px) { 3219 .chat-toggle-btn { 3220 display: none !important; 3221 } 3222 3223 /* Ensure popup is still visible on mobile even when button is hidden */ 3224 .chat-widget { 3225 display: block !important; 3226 } 3227 3228 .chat-popup { 3229 display: none; /* Hidden by default, shown via JS */ 3230 } 3231 3232 .chat-popup[style*="display: block"], 3233 .chat-popup[style*="display:block"] { 3234 display: block !important; 3235 } 3236 } 3237 3238 .chat-toggle-btn { 3239 width: 60px; 3240 height: 60px; 3241 border-radius: 50%; 3242 background: linear-gradient(135deg, #e14b19 0%, #e14b19 100%); 3243 border: none; 3244 color: white; 3245 cursor: pointer; 3246 box-shadow: 0 4px 12px rgba(242, 140, 26, 0.3); 3247 position: relative; 3248 transition: transform 0.2s, box-shadow 0.2s; 3249 } 3250 3251 .chat-toggle-btn:hover { 3252 transform: scale(1.05); 3253 box-shadow: 0 6px 20px rgba(242, 140, 26, 0.4); 3254 } 3255 3256 #chat-toggle-btn .chat-icon { 3257 position: absolute; 3258 top: 50%; 3259 left: 50%; 3260 transform: translate(-50%, -50%); 3261 width: 28px !important; 3262 height: 28px !important; 3263 } 3264 3265 .chat-unread-badge { 3266 position: absolute; 3267 top: -5px; 3268 right: -5px; 3269 background: #e14b19; 3270 color: white; 3271 border-radius: 12px; 3272 padding: 2px 6px; 3273 font-size: 11px; 3274 font-weight: 600;
3275 min-width: 20px; 3276 text-align: center; 3277 } 3278 3279 .chat-popup { 3280 position: absolute; 3281 bottom: 80px; 3282 right: 0; 3283 width: 380px; 3284 max-width: calc(100vw - 40px); 3285 height: 500px; 3286 max-height: calc(100vh - 120px); 3287 background: white; 3288 border-radius: 12px; 3289 box-shadow: 0 10px 40px rgba(0,0,0,0.2); 3290 display: flex; 3291 flex-direction: column; 3292 overflow: hidden; 3293 } 3294 3295 .chat-popup-header { 3296 background: linear-gradient(135deg, #e14b19 0%, #e14b19 100%); 3297 color: white; 3298 padding: 16px 20px; 3299 display: flex; 3300 justify-content: space-between; 3301 align-items: center; 3302 flex-shrink: 0; 3303 } 3304 3305 .chat-header-title { 3306 display: flex; 3307 flex-direction: column; 3308 gap: 2px; 3309 min-height: 0; 3310 } 3311 3312 .chat-popup-header h3 { 3313 margin: 0; 3314 font-size: 18px; 3315 font-weight: 600; 3316 line-height: 1.2; 3317 } 3318 3319 .chat-operating-hours { 3320 font-size: 11px; 3321 opacity: 0.9; 3322 font-weight: 400; 3323 display: flex; 3324 align-items: center; 3325 gap: 4px; 3326 line-height: 1.2; 3327 } 3328 3329 .chat-operating-hours svg { 3330 width: 12px; 3331 height: 12px; 3332 opacity: 0.8; 3333 flex-shrink: 0; 3334 } 3335 3336 .chat-header-actions { 3337 display: flex; 3338 align-items: center; 3339 gap: 8px; 3340 } 3341 3342 /* Notification Toggle Button */ 3343 .btn-notif-toggle { 3344 background: none; 3345 border: none; 3346 color: white; 3347 font-size: 18px; 3348 cursor: pointer; 3349 padding: 4px 8px; 3350 transition: all 0.2s; 3351 opacity: 0.8; 3352 } 3353 3354 .btn-notif-toggle:hover { 3355 opacity: 1; 3356 transform: scale(1.1); 3357 } 3358 3359 /* Icon states */ 3360 .btn-notif-toggle[data-status="not-subscribed"] svg { 3361 opacity: 0.7; 3362 } 3363 3364 .btn-notif-toggle[data-status="not-subscribed"]:hover svg { 3365 opacity: 1; 3366 } 3367 3368 .btn-notif-toggle[data-status="subscribed"] svg { 3369 opacity: 1; 3370 animation: bellRing 2s ease-in-out; 3371 } 3372 3373 .btn-notif-toggle[data-status="blocked"] svg { 3374 color: #e14b19; 3375 } 3376 3377 .btn-notif-toggle[data-status="not-supported"] { 3378 display: none !important; 3379 } 3380 3381 @keyframes bellRing { 3382 0%, 100% { transform: rotate(0deg); } 3383 10%, 30% { transform: rotate(-10deg); } 3384 20%, 40% { transform: rotate(10deg); } 3385 } 3386 3387 /* Notification Info Bar */ 3388 .chat-notif-info-bar { 3389 position: absolute; 3390 top: 64px; 3391 left: 0; 3392 right: 0; 3393 background: linear-gradient(to right, #e14b19, #f5f5f5); 3394 border-bottom: 1px solid #e14b19; 3395 padding: 8px 12px; 3396 display: flex; 3397 align-items: center; 3398 gap: 8px; 3399 font-size: 12px; 3400 color: #616161; 3401 z-index: 10; 3402 animation: slideDown 0.3s ease; 3403 } 3404 3405 .chat-notif-info-bar svg { 3406 flex-shrink: 0; 3407 } 3408 3409 .chat-notif-info-bar .small { 3410 flex: 1; 3411 line-height: 1.4; 3412 } 3413 3414 .chat-notif-info-bar .btn-dismiss { 3415 background: none; 3416 border: none; 3417 color: #9e9e9e; 3418 cursor: pointer; 3419 padding: 0 4px; 3420 font-size: 16px; 3421 transition: color 0.2s; 3422 } 3423 3424 .chat-notif-info-bar .btn-dismiss:hover { 3425 color: #616161; 3426 } 3427 3428 @keyframes slideDown { 3429 from { 3430 max-height: 0; 3431 opacity: 0; 3432 } 3433 to { 3434 max-height: 50px; 3435 opacity: 1; 3436 } 3437 } 3438 3439 .chat-close-btn { 3440 background: none; 3441 border: none; 3442 color: white; 3443 font-size: 28px; 3444 line-height: 1; 3445 cursor: pointer; 3446 padding: 0; 3447 width: 30px; 3448 height: 30px; 3449 } 3450 3451 .chat-popup-body { 3452 flex: 1 1 auto; 3453 display: flex; 3454 flex-direction: column; 3455 min-height: 0; 3456 overflow: hidden; 3457 height: calc(100% - 64px); 3458 position: relative; 3459 transition: padding-top 0.3s ease; 3460 } 3461 3462 /* Add padding when info bar is visible */ 3463 .chat-popup-body.has-info-bar { 3464 padding-top: 40px; 3465 } 3466 3467 .chat-view { 3468 flex: 1 1 auto; 3469 display: none; 3470 flex-direction: column; 3471 min-height: 0; 3472 overflow: hidden; 3473 } 3474 3475 #chat-list-view { 3476 display: flex; 3477 } 3478 3479 #chat-messages-view { 3480 display: none; 3481 } 3482 3483 #chat-messages-view.active { 3484 display: flex; 3485 flex-direction: column; 3486 } 3487 3488 #chat-new-view { 3489 display: none; 3490 } 3491 3492 #chat-new-view.active { 3493 display: flex; 3494 } 3495 3496 .chat-conversations-list { 3497 flex: 1; 3498 overflow-y: auto; 3499 padding: 0; 3500 background: white; 3501 } 3502 3503 /* Custom Scrollbar for Conversations List */ 3504 .chat-conversations-list::-webkit-scrollbar {
3505 width: 6px; 3506 } 3507 3508 .chat-conversations-list::-webkit-scrollbar-track { 3509 background: #f1f1f1; 3510 } 3511 3512 .chat-conversations-list::-webkit-scrollbar-thumb { 3513 background: #e14b19; 3514 border-radius: 3px; 3515 } 3516 3517 .chat-conversations-list::-webkit-scrollbar-thumb:hover { 3518 background: #e14b19; 3519 } 3520 3521 /* Firefox */ 3522 .chat-conversations-list { 3523 scrollbar-width: thin; 3524 scrollbar-color: #e14b19 #f1f1f1; 3525 } 3526 3527 .chat-conversation-item { 3528 padding: 12px 16px; 3529 cursor: pointer; 3530 display: flex; 3531 gap: 12px; 3532 align-items: flex-start; 3533 transition: background 0.15s ease; 3534 color: #e14b19; 3535 border-bottom: 1px solid #f0f0f0; 3536 } 3537 3538 .chat-conversation-item:hover { 3539 background: #f5f5f5; 3540 } 3541 3542 .chat-conversation-item.active { 3543 background: #FFF5EB; 3544 } 3545 3546 /* WhatsApp-like Avatar */ 3547 .conversation-avatar { 3548 width: 48px; 3549 height: 48px; 3550 border-radius: 50%; 3551 background: linear-gradient(135deg, #e14b19 0%, #e14b19 100%); 3552 flex-shrink: 0; 3553 display: flex; 3554 align-items: center; 3555 justify-content: center; 3556 color: white; 3557 font-weight: 600; 3558 font-size: 18px; 3559 } 3560 3561 .conversation-avatar svg { 3562 width: 24px; 3563 height: 24px; 3564 } 3565 3566 /* WhatsApp-like Content */ 3567 .conversation-content { 3568 flex: 1; 3569 min-width: 0; 3570 display: flex; 3571 flex-direction: column; 3572 gap: 4px; 3573 } 3574 3575 .conversation-header { 3576 display: flex; 3577 justify-content: space-between; 3578 align-items: center; 3579 gap: 8px; 3580 } 3581 3582 .conversation-name { 3583 font-weight: 600; 3584 font-size: 15px; 3585 color: #111; 3586 white-space: nowrap; 3587 overflow: hidden; 3588 text-overflow: ellipsis; 3589 } 3590 3591 .conversation-time { 3592 font-size: 12px; 3593 color: #e14b19; 3594 flex-shrink: 0; 3595 } 3596 3597 .conversation-preview { 3598 display: flex; 3599 justify-content: space-between; 3600 align-items: center; 3601 gap: 8px; 3602 } 3603 3604 .conversation-message { 3605 font-size: 14px; 3606 color: #e14b19; 3607 white-space: nowrap; 3608 overflow: hidden; 3609 text-overflow: ellipsis; 3610 margin: 0; 3611 flex: 1; 3612 } 3613 3614 .conversation-unread { 3615 background: #e14b19; 3616 color: white; 3617 border-radius: 12px; 3618 padding: 2px 8px; 3619 font-size: 12px; 3620 font-weight: 600; 3621 min-width: 20px; 3622 text-align: center; 3623 flex-shrink: 0; 3624 } 3625 3626 /* Active item styling */ 3627 .chat-conversation-item.active .conversation-name { 3628 color: #e14b19; 3629 } 3630 3631 .chat-conversation-item.active .conversation-time { 3632 color: #e14b19; 3633 } 3634 3635 .chat-new-btn { 3636 margin: 12px; 3637 padding: 12px; 3638 background: linear-gradient(135deg, #e14b19 0%, #e14b19 100%); 3639 color: white; 3640 border: none; 3641 border-radius: 8px; 3642 cursor: pointer; 3643 font-weight: 500; 3644 font-size: 14px; 3645 display: flex; 3646 align-items: center; 3647 justify-content: center; 3648 gap: 8px; 3649 transition: all 0.2s; 3650 flex-shrink: 0; 3651 } 3652 3653 .chat-new-btn:hover { 3654 transform: translateY(-1px); 3655 box-shadow: 0 4px 8px rgba(242, 140, 26, 0.3); 3656 } 3657 3658 .chat-conversation-title { 3659 flex: 1; 3660 font-weight: 600; 3661 font-size: 16px; 3662 color: #e14b19; 3663 } 3664 3665 .chat-messages-container { 3666 flex: 1; 3667 overflow-y: auto; 3668 padding: 16px; 3669 display: flex; 3670 flex-direction: column; 3671 gap: 8px; 3672 min-height: 0; 3673 background: #E5DDD5; 3674 } 3675 3676 /* Custom Scrollbar for Messages Container */ 3677 .chat-messages-container::-webkit-scrollbar {
3678 width: 6px; 3679 } 3680 3681 .chat-messages-container::-webkit-scrollbar-track { 3682 background: rgba(0, 0, 0, 0.05); 3683 } 3684 3685 .chat-messages-container::-webkit-scrollbar-thumb { 3686 background: rgba(242, 140, 26, 0.6); 3687 border-radius: 3px; 3688 } 3689 3690 .chat-messages-container::-webkit-scrollbar-thumb:hover { 3691 background: #e14b19; 3692 } 3693 3694 /* Firefox */ 3695 .chat-messages-container { 3696 scrollbar-width: thin; 3697 scrollbar-color: rgba(242, 140, 26, 0.6) rgba(0, 0, 0, 0.05); 3698 } 3699 3700 /* WhatsApp Group-like Messages */ 3701 .chat-message { 3702 display: flex; 3703 margin-bottom: 4px; 3704 animation: fadeIn 0.2s ease; 3705 } 3706 3707 @keyframes fadeIn { 3708 from { opacity: 0; transform: translateY(10px); } 3709 to { opacity: 1; transform: translateY(0); } 3710 } 3711 3712 .chat-message.mine { 3713 justify-content: flex-end; 3714 } 3715 3716 .chat-message-bubble { 3717 max-width: 80%; 3718 padding: 6px 8px 8px 10px; 3719 border-radius: 8px; 3720 position: relative; 3721 box-shadow: 0 1px 0.5px rgba(0,0,0,0.13); 3722 } 3723 3724 /* Bubble from others (Admin/CS) */ 3725 .chat-message:not(.mine) .chat-message-bubble { 3726 background: #FFFFFF; 3727 border-radius: 0 8px 8px 8px; 3728 } 3729 3730 /* Bubble tail for others */ 3731 .chat-message:not(.mine) .chat-message-bubble::before { 3732 content: ''; 3733 position: absolute; 3734 top: 0; 3735 left: -8px; 3736 width: 0; 3737 height: 0; 3738 border-style: solid; 3739 border-width: 0 8px 13px 0; 3740 border-color: transparent #FFFFFF transparent transparent; 3741 } 3742 3743 /* Bubble from user (mine) */ 3744 .chat-message.mine .chat-message-bubble { 3745 background: #e14b19; /* Light blue for user messages */ 3746 border-radius: 8px 0 8px 8px; 3747 } 3748 3749 /* Bubble tail for mine */ 3750 .chat-message.mine .chat-message-bubble::before { 3751 content: ''; 3752 position: absolute; 3753 top: 0; 3754 right: -8px; 3755 width: 0; 3756 height: 0; 3757 border-style: solid; 3758 border-width: 0 0 13px 8px; 3759 border-color: transparent transparent transparent #e14b19; 3760 } 3761 3762 .message-sender { 3763 font-size: 12.5px; 3764 font-weight: 600; 3765 color: #e14b19 !important; 3766 margin-bottom: 4px; 3767 } 3768 3769 .chat-message.mine .message-sender { 3770 display: none; 3771 } 3772 3773 /* Message text */ 3774 .message-text { 3775 font-size: 14px; 3776 line-height: 19px; 3777 color: #000000 !important; 3778 word-wrap: break-word; 3779 white-space: pre-wrap; 3780 margin-bottom: 4px; 3781 } 3782 3783 /* Message metadata (time + status) */ 3784 .message-meta { 3785 display: flex; 3786 align-items: center; 3787 justify-content: flex-end; 3788 gap: 4px; 3789 margin-top: 2px; 3790 } 3791 3792 .message-time { 3793 font-size: 11px; 3794 color: #e14b19 !important; 3795 line-height: 15px; 3796 } 3797 3798 /* Use multiple selectors to override global styles */ 3799 .chat-message-bubble .message-status, 3800 .message-meta .message-status, 3801 .chat-message .message-status { 3802 width: 16px !important; 3803 height: 16px !important; 3804 min-width: 16px !important; 3805 min-height: 16px !important; 3806 max-width: 16px !important; 3807 max-height: 16px !important; 3808 flex-shrink: 0; 3809 color: #e14b19 !important; 3810 fill: currentColor !important; 3811 } 3812 3813 .chat-message:not(.mine) .message-status { 3814 display: none; 3815 } 3816 3817 /* Loading dots animation */ 3818 @keyframes loadingDots { 3819 0%, 20% { content: '.'; } 3820 40% { content: '..'; } 3821 60%, 100% { content: '...'; } 3822 } 3823 3824 .message-status.loading::after { 3825 content: '...'; 3826 animation: loadingDots 1.5s infinite; 3827 font-size: 16px; 3828 line-height: 16px; 3829 } 3830 3831 .message-status.loading path { 3832 display: none; 3833 } 3834 3835 .message-status.failed { 3836 color: #e14b19 !important; 3837 cursor: pointer; 3838 } 3839 3840 .message-status.sent { 3841 color: #e14b19 !important; 3842 } 3843 3844 .chat-new-form { 3845 flex: 1; 3846 overflow-y: auto; 3847 padding: 16px; 3848 display: flex; 3849 flex-direction: column; 3850 } 3851 3852 .chat-new-form form { 3853 display: flex; 3854 flex-direction: column; 3855 gap: 16px; 3856 flex: 1; 3857 } 3858 3859 .chat-new-form .form-group { 3860 display: flex; 3861 flex-direction: column; 3862 gap: 6px; 3863 } 3864 3865 .chat-new-form label { 3866 font-size: 14px; 3867 font-weight: 500; 3868 color: #e14b19; 3869 } 3870 3871 .chat-new-form .form-control { 3872 width: 100%; 3873 padding: 10px 12px; 3874 border: 1px solid #d1d5db; 3875 border-radius: 8px; 3876 font-size: 14px; 3877 font-family: inherit; 3878 transition: border-color 0.2s; 3879 box-sizing: border-box; 3880 } 3881 3882 .chat-new-form .form-control:focus { 3883 outline: none; 3884 border-color: #e14b19; 3885 box-shadow: 0 0 0 3px rgba(242, 140, 26, 0.1); 3886 } 3887 3888 .chat-new-form textarea.form-control { 3889 resize: vertical; 3890 min-height: 100px; 3891 } 3892 3893 .chat-new-form .btn { 3894 padding: 12px 20px; 3895 border: none; 3896 border-radius: 8px; 3897 font-size: 15px; 3898 font-weight: 500; 3899 cursor: pointer; 3900 transition: all 0.2s; 3901 text-align: center; 3902 } 3903 3904 .chat-new-form .btn-primary { 3905 background: linear-gradient(135deg, #e14b19 0%, #e14b19 100%); 3906 color: white; 3907 } 3908 3909 .chat-new-form .btn-primary:hover { 3910 transform: translateY(-1px); 3911 box-shadow: 0 4px 8px rgba(242, 140, 26, 0.3); 3912 } 3913 3914 .chat-new-form .btn-primary:active { 3915 transform: scale(0.98); 3916 } 3917 3918 .chat-new-form .btn-block { 3919 width: 100%; 3920 margin-top: auto; 3921 } 3922 3923 .chat-message-form { 3924 padding: 12px; 3925 border-top: 1px solid #e5e7eb; 3926 display: flex; 3927 flex-wrap: wrap; 3928 gap: 8px; 3929 align-items: flex-end; 3930 flex-shrink: 0; 3931 background: white; 3932 } 3933 3934 .chat-product-card { 3935 flex: 1 1 100%; 3936 max-width: 100%; 3937 display: flex; 3938 gap: 12px; 3939 padding: 12px; 3940 background: #f3f4f6; 3941 border-radius: 8px; 3942 margin-bottom: 4px; 3943 border: 1px solid #e5e7eb; 3944 } 3945 3946 .chat-product-card img { 3947 width: 60px; 3948 height: 60px; 3949 object-fit: cover; 3950 border-radius: 6px; 3951 flex-shrink: 0; 3952 } 3953 3954 .chat-product-card-content { 3955 flex: 1; 3956 min-width: 0; 3957 } 3958 3959 .chat-product-card-name { 3960 font-weight: 500; 3961 font-size: 14px; 3962 color: #e14b19; 3963 margin-bottom: 4px; 3964 white-space: nowrap; 3965 overflow: hidden; 3966 text-overflow: ellipsis; 3967 } 3968 3969 .chat-product-card-variant { 3970 font-size: 12px; 3971 color: #e14b19; 3972 margin-bottom: 4px; 3973 } 3974 3975 .chat-product-card-price { 3976 font-size: 13px; 3977 color: #e14b19; 3978 font-weight: 600; 3979 } 3980 3981 .chat-product-card-remove { 3982 align-self: flex-start; 3983 background: none; 3984 border: none; 3985 color: #e14b19; 3986 cursor: pointer; 3987 padding: 4px; 3988 font-size: 18px; 3989 line-height: 1; 3990 transition: color 0.2s; 3991 } 3992 3993 .chat-product-card-remove:hover { 3994 color: #e14b19; 3995 } 3996 3997 /* Product card in messages (read-only display) */ 3998 .message-product-card { 3999 display: flex; 4000 gap: 10px; 4001 padding: 10px; 4002 background: rgba(255, 255, 255, 0.5); 4003 border-radius: 8px; 4004 margin-bottom: 6px; 4005 border: 1px solid rgba(0, 0, 0, 0.08); 4006 align-items: center; 4007 } 4008 4009 .chat-message.mine .message-product-card { 4010 background: rgba(255, 255, 255, 0.7); 4011 } 4012 4013 .message-product-card img { 4014 width: 50px; 4015 height: 50px; 4016 object-fit: cover; 4017 border-radius: 6px; 4018 flex-shrink: 0; 4019 } 4020 4021 .message-product-info { 4022 flex: 1; 4023 min-width: 0; 4024 } 4025 4026 .message-product-name { 4027 font-weight: 500; 4028 font-size: 13px; 4029 color: #e14b19; 4030 margin-bottom: 2px; 4031 overflow: hidden; 4032 text-overflow: ellipsis; 4033 display: -webkit-box; 4034 -webkit-line-clamp: 2; 4035 -webkit-box-orient: vertical; 4036 line-height: 1.3; 4037 } 4038 4039 .message-product-variant { 4040 font-size: 11px; 4041 color: #e14b19; 4042 margin-bottom: 2px; 4043 } 4044 4045 .message-product-price { 4046 font-size: 12px; 4047 color: #e14b19; 4048 font-weight: 600; 4049 } 4050 4051 .message-product-link { 4052 flex-shrink: 0; 4053 width: 32px; 4054 height: 32px; 4055 display: flex; 4056 align-items: center; 4057 justify-content: center; 4058 background: rgba(102, 126, 234, 0.1); 4059 border-radius: 6px; 4060 color: #e14b19; 4061 text-decoration: none; 4062 transition: all 0.2s; 4063 } 4064 4065 .message-product-link:hover { 4066 background: #e14b19; 4067 color: white; 4068 } 4069 4070 .message-product-link svg { 4071 width: 16px; 4072 height: 16px; 4073 } 4074 4075 .chat-message-input { 4076 flex: 1; 4077 border: 1px solid #d1d5db; 4078 border-radius: 20px; 4079 padding: 10px 16px; 4080 resize: none; 4081 max-height: 100px; 4082 font-family: inherit; 4083 font-size: 14px; 4084 line-height: 1.5; 4085 box-sizing: border-box; 4086 overflow-y: hidden; 4087 } 4088 4089 .chat-message-input:focus { 4090 outline: none; 4091 border-color: #e14b19; 4092 box-shadow: 0 0 0 3px rgba(242, 140, 26, 0.1); 4093 } 4094 4095 .chat-send-btn { 4096 width: 40px; 4097 height: 40px; 4098 border-radius: 50%; 4099 background: linear-gradient(135deg, #e14b19 0%, #e14b19 100%); 4100 border: none; 4101 color: white; 4102 cursor: pointer; 4103 flex-shrink: 0; 4104 display: flex; 4105 align-items: center; 4106 justify-content: center; 4107 transition: all 0.2s; 4108 } 4109 4110 .chat-send-btn:hover { 4111 transform: scale(1.05); 4112 box-shadow: 0 2px 8px rgba(242, 140, 26, 0.3); 4113 } 4114 4115 .chat-send-btn:active { 4116 transform: scale(0.95); 4117 } 4118 4119 .chat-loading { 4120 text-align: center; 4121 padding: 20px; 4122 color: #e14b19; 4123 } 4124 4125 /* Date Separator (WhatsApp-style) */ 4126 .date-separator { 4127 display: flex; 4128 align-items: center; 4129 gap: 12px; 4130 margin: 24px 0 16px; 4131 opacity: 0; 4132 animation: fadeInSeparator 0.3s ease forwards; 4133 } 4134 4135 @keyframes fadeInSeparator { 4136 from { 4137 opacity: 0; 4138 transform: translateY(-10px); 4139 } 4140 to { 4141 opacity: 1; 4142 transform: translateY(0); 4143 } 4144 } 4145 4146 .date-separator-line { 4147 flex: 1; 4148 height: 1px; 4149 background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.1) 50%, transparent); 4150 } 4151 4152 .date-separator-text { 4153 flex-shrink: 0; 4154 padding: 4px 12px; 4155 background: #e9ecef; 4156 color: #6c757d; 4157 font-size: 11px; 4158 font-weight: 600; 4159 text-transform: uppercase; 4160 letter-spacing: 0.5px; 4161 border-radius: 12px; 4162 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); 4163 } 4164 4165 /* Mobile responsive */ 4166 @media (max-width: 640px) { 4167 .chat-popup { 4168 position: fixed !important; /* Override absolute positioning */ 4169 bottom: 45px !important; /* Above bottom nav */ 4170 right: 0 !important; 4171 left: 0 !important; 4172 width: 100% !important; 4173 max-width: 100% !important; 4174 /* Use dvh (dynamic viewport height) for browser UI awareness */ 4175 height: calc(100dvh - 45px) !important; 4176 max-height: calc(100dvh - 45px) !important; 4177 /* Fallback for browsers that don't support dvh */ 4178 height: calc(var(--viewport-height, 100vh) - 45px) !important; 4179 max-height: calc(var(--viewport-height, 100vh) - 45px) !important; 4180 border-radius: 0 !important; 4181 z-index: 9999 !important; 4182 } 4183 4184 .chat-popup-header { 4185 border-radius: 0; 4186 } 4187
4188 .chat-messages-container, 4189 .chat-conversations-list { 4190 /* Adjust for mobile keyboard using dynamic viewport */ 4191 max-height: calc(100dvh - 190px); 4192 /* Fallback for browsers that don't support dvh */ 4193 max-height: calc(var(--viewport-height, 100vh) - 190px); 4194 } 4195 } 4196 </style> 4197 <!-- Chat Widget Button --> 4198 4199 <div id="chat-popup" class="chat-popup" style="display: none;"> 4200 <div class="chat-popup-header"> 4201 <div class="chat-header-title"> 4202 <h3>Bantuan</h3> 4203 <span id="chatOperatingHours" class="chat-operating-hours" style="display: none;"></span> 4204 </div> 4205 <div class="chat-header-actions"> 4206 <button id="chatNotifToggle" class="btn-notif-toggle" data-status="not-supported" title="Push notification" style="display: none;"> 4207 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"> 4208 <path d="M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z"></path> 4209 </svg> 4210 </button> 4211 <button id="chat-close-btn" class="chat-close-btn" aria-label="Close chat">Ã</button> 4212 </div> 4213 </div> 4214 4215 <!-- Notification Info Bar (conditional) --> 4216 <div class="chat-notif-info-bar" id="chatNotifInfoBar" style="display:none;"> 4217 <svg width="14" height="14" viewBox="0 0 24 24" fill="#e14b19"> 4218 <path d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7zm2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6C7.8 12.16 7 10.63 7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.63-.8 3.16-2.15 4.1z"></path> 4219 </svg> 4220 <span class="small">Aktifkan notifikasi untuk pemberitahuan balasan</span> 4221 <button class="btn-dismiss" onclick="ChatNotification.dismissInfo()">â</button> 4222 </div> 4223 4224 <div class="chat-popup-body"> 4225 <!-- Conversations List View --> 4226 <div id="chat-list-view" class="chat-view"> 4227 <div id="chat-conversations-list" class="chat-conversations-list"> 4228 <div class="chat-loading">Memuat...</div> 4229 <!-- Conversation Item Structure (rendered by JS): 4230 <div class="chat-conversation-item"> 4231 <div class="conversation-avatar"> 4232 <svg>...</svg> 4233 </div> 4234 <div class="conversation-content"> 4235 <div class="conversation-header"> 4236 <span class="conversation-name">Admin Support</span> 4237 <span class="conversation-time">10:30</span> 4238 </div> 4239 <div class="conversation-preview"> 4240 <p class="conversation-message">Terima kasih telah menghubungi kami...</p> 4241 <span class="conversation-unread">2</span> 4242 </div> 4243 </div> 4244 </div> 4245 --> 4246 </div> 4247 <button id="chat-new-btn" class="chat-new-btn"> 4248 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 4249 <line x1="12" y1="5" x2="12" y2="19"></line> 4250 <line x1="5" y1="12" x2="19" y2="12"></line> 4251 </svg> 4252 Percakapan Baru 4253 </button> 4254 </div> 4255 4256 <!-- Chat Messages View --> 4257 <div id="chat-messages-view" class="chat-view" style="display: none;"> 4258 <div id="chat-messages-container" class="chat-messages-container"> 4259 <div class="chat-loading">Memuat pesan...</div> 4260 <!-- Message Structure (rendered by JS): 4261 <div class="chat-message"> (or .chat-message.mine) 4262 <div class="chat-message-bubble"> 4263 <div class="message-sender">Admin Support</div> (only for non-mine) 4264 <div class="message-text">
4264Halo, ada yang bisa dibantu?</div> 4265 <div class="message-meta"> 4266 <span class="message-time">10:30</span> 4267 <svg class="message-status">...</svg> (only for mine) 4268 </div> 4269 </div> 4270 </div> 4271 --> 4272 </div> 4273 4274 <form id="chat-message-form" class="chat-message-form"> 4275 <input type="hidden" id="chat-current-conversation-id" value=""> 4276 <textarea id="chat-message-input" class="chat-message-input" placeholder="Ketik pesan..." rows="1" maxlength="5000"></textarea> 4277 <button type="submit" class="chat-send-btn" aria-label="Send message"> 4278 <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 4279 <line x1="22" y1="2" x2="11" y2="13"></line> 4280 <polygon points="22 2 15 22 11 13 2 9 22 2"></polygon> 4281 </svg> 4282 </button> 4283 </form> 4284 </div> 4285 4286 <!-- New Chat View --> 4287 <div id="chat-new-view" class="chat-view" style="display: none;"> 4288 <div class="chat-messages-header"> 4289 <button id="chat-new-back-btn" class="chat-back-btn" aria-label="Back to list"> 4290 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 4291 <path d="M19 12H5M12 19l-7-7 7-7"></path> 4292 </svg> 4293 </button> 4294 <div class="chat-conversation-title">Percakapan Baru</div> 4295 </div> 4296 4297 <div class="chat-new-form"> 4298 <form id="chat-start-form"> 4299 <div class="form-group"> 4300 <label for="chat-new-subject">Subjek</label> 4301 <input type="text" id="chat-new-subject" class="form-control" placeholder="Bantuan Pelanggan" maxlength="255"> 4302 </div> 4303 <div class="form-group"> 4304 <label for="chat-new-message">Pesan</label> 4305 <textarea id="chat-new-message" class="form-control" rows="4" placeholder="Tulis pertanyaan Anda..." required="" maxlength="5000"></textarea> 4306 </div> 4307 <button type="submit" class="btn btn-primary btn-block">Kirim</button> 4308 </form> 4309 </div> 4310 </div> 4311 </div> 4312 </div> 4313 4314 4315 <!-- Login Required Modal --> 4316 <div class="modal-overlay" id="chatLoginModal"> 4317 <div class="modal-dialog"> 4318 <div class="modal-header"> 4319 <h3 class="modal-title"> 4320 <div class="modal-icon info"> 4321 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 4322 <path d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z"></path> 4323 </svg> 4324 </div> 4325 Login Diperlukan 4326 </h3> 4327 </div> 4328 <div class="modal-body"> 4329 <p class="modal-message">Anda harus login terlebih dahulu untuk menggunakan fitur chat bantuan pelanggan.</p> 4330 <div class="modal-actions"> 4331 <button class="modal-btn modal-btn-secondary" id="chatLoginCancel">Batal</button> 4332 <button class="modal-btn modal-btn-primary" id="chatLoginConfirm">Login Sekarang</button> 4333 </div> 4334 </div> 4335 </div> 4336 </div> 4337
4337<script src="https://plazait.co.id/assets/js/chat-widget.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4337<script src="https://plazait.co.id/assets/js/chat-notification.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4337 4338 <!-- Footer Collapse Toggle Script --> 4339
4339<script nonce="se3iyzEHMc9FQEB4wSyd0w=="> 4340 document.addEventListener('DOMContentLoaded', function() { 4341 const ftTop = document.getElementById('ftTop'); 4342 const expandBtn = document.getElementById('ftExpandBtn'); 4343 4344 if (ftTop && expandBtn) { 4345 const expandText = expandBtn.querySelector('.expand-text'); 4346 4347 expandBtn.addEventListener('click', function() { 4348 ftTop.classList.toggle('expanded'); 4349 const isExpanded = ftTop.classList.contains('expanded'); 4350 if (expandText) { 4351 expandText.textContent = isExpanded ? 'Sembunyikan' : 'Selengkapnya'; 4352 } 4353 }); 4354 } 4355 }); 4356 </script>
4356 4357 </footer> 4358 4359<!-- Compare Sidebar Overlay --> 4360<div class="compare-overlay" id="compareOverlay"></div> 4361 4362<!-- Floating Compare Badge (Sticky) --> 4363<button class="compare-floating-badge" id="compareFloatingBadge" aria-label="Lihat produk yang dibandingkan" style="display:none;"> 4364 <svg class="cfb-icon" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"> 4365 <path d="M9.01 14H2v2h7.01v3L13 15l-3.99-4v3zm5.98-1v-3H22V8h-7.01V5L11 9l3.99 4z"></path> 4366 </svg> 4367 <span class="cfb-text">Bandingkan</span> 4368 <span class="cfb-count" id="cfbCount">0</span> 4369</button> 4370 4371<!-- AI Comparison Modal --> 4372<div class="ai-compare-modal" id="aiCompareModal"> 4373 <div class="modal-backdrop"></div> 4374 <div class="modal-container"> 4375 <div class="modal-header"> 4376 <h3 class="modal-title"> 4377 <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"> 4378 <path d="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M11,16.5L18,9.5L16.59,8.09L11,13.67L7.91,10.59L6.5,12L11,16.5Z"></path> 4379 </svg> 4380 Analisis AI: Perbandingan Produk 4381 </h3> 4382 <button class="modal-close" id="aiCompareModalClose" aria-label="Tutup"> 4383 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 4384 <path d="M18.3 5.7a1 1 0 0 0-1.4 0L12 10.6 7.1 5.7a1 1 0 1 0-1.4 1.4L10.6 12l-4.9 4.9a1 1 0 0 0 1.4 1.4L12 13.4l4.9 4.9a1 1 0 0 0 1.4-1.4L13.4 12l4.9-4.9a1 1 0 0 0 0-1.4z"></path> 4385 </svg> 4386 </button> 4387 </div> 4388 4389 <div class="modal-content"> 4390 <!-- Loading State --> 4391 <div class="ai-loading" id="aiLoading"> 4392 <div class="loading-animation"> 4393 <div class="typing-indicator"> 4394 <span></span> 4395 <span></span> 4396 <span></span> 4397 </div> 4398 <p>AI sedang menganalisis produk...</p> 4399 <small>Proses ini membutuhkan waktu 10-30 detik</small> 4400 </div> 4401 </div> 4402 4403 <!-- Error State --> 4404 <div class="ai-error" id="aiError" hidden=""> 4405 <div class="error-icon"> 4406 <svg width="48" height="48" viewBox="0 0 24 24" fill="#e14b19"> 4407 <path d="M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z"></path> 4408 </svg> 4409 </div> 4410 <h4>Analisis AI Gagal</h4> 4411 <p id="aiErrorMessage">Terjadi kesalahan saat memproses analisis.</p> 4412 <button class="btn btn-outline-primary" id="aiRetry">Coba Lagi</button> 4413 </div> 4414 4415 <!-- Analysis Results --> 4416 <div class="ai-results" id="aiResults" hidden=""> 4417 <!-- Summary Section --> 4418 <div class="ai-summary-card"> 4419 <h4> 4420 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 4421 <path d="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,16.5L6.5,12L7.91,10.59L11,13.67L16.59,8.09L18,9.5L11,16.5Z"></path> 4422 </svg> 4423 Ringkasan Analisis 4424 </h4> 4425 <p id="aiSummary" class="summary-text"></p> 4426 <div class="winner-badge" id="winnerBadge"> 4427 <strong>Rekomendasi Terbaik:</strong> <span id="winnerProduct"></span> 4428 <small id="winnerReason"></small> 4429 </div> 4430 </div> 4431 4432 <!-- Comparison Table --> 4433 <div class="ai-comparison-table"> 4434 <h4> 4435 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 4436 <path d="M3,3H21V5H3V3M3,7H21V9H3V7M3,11H21V13H3V11M3,15H21V17H3V15M3,19H21V21H3V19Z"></path> 4437 </svg> 4438 Perbandingan Detail 4439 </h4> 4440 <div id="comparisonTable" class="comparison-grid"></div> 4441 </div> 4442 4443 <!-- Detailed Analysis --> 4444 <div class="ai-detailed-analysis"> 4445 <h4> 4446 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 4447 <path d="M14,2A8,8 0 0,1 22,10A8,8 0 0,1 14,18A8,8 0 0,1 6,10A8,8 0 0,1 14,2M14,4A6,6 0 0,0 8,10A6,6 0 0,0 14,16A6,6 0 0,0 20,10A6,6 0 0,0 14,4M14,6A4,4 0 0,1 18,10A4,4 0 0,1 14,14A4,4 0 0,1 10,10A4,4 0 0,1 14,6M14,8A2,2 0 0,0 12,10A2,2 0 0,0 14,12A2,2 0 0,0 16,10A2,2 0 0,0 14,8Z"></path> 4448 </svg> 4449 Analisis Mendalam 4450 </h4> 4451 <div id="detailedAnalysis" class="products-analysis"></div> 4452 </div> 4453 4454 <!-- Recommendations --> 4455 <div class="ai-recommendations"> 4456 <h4> 4457 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 4458 <path d="M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"></path> 4459 </svg> 4460 Rekomendasi Berdasarkan Kebutuhan 4461 </h4> 4462 <div class="recommendations-grid"> 4463 <div class="recommendation-card"> 4464 <h5>ð° Budget Conscious</h5> 4465 <p id="budgetRecommendation"></p> 4466 </div> 4467 <div class="recommendation-card"> 4468 <h5>â¡ Performance Focused</h5> 4469 <p id="performanceRecommendation"></p> 4470 </div> 4471 <div class="recommendation-card"> 4472 <h5>âï¸ Balanced Choice</h5> 4473 <p id="balancedRecommendation"></p> 4474 </div> 4475 </div> 4476 </div> 4477 4478 <!-- Buying Tips --> 4479 <div class="ai-tips"> 4480 <h4> 4481 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 4482 <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
4482M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z"></path> 4483 </svg> 4484 Tips Pembelian 4485 </h4> 4486 <ul id="buyingTips" class="tips-list"></ul> 4487 </div> 4488 </div> 4489 </div> 4490 </div> 4491</div> 4492 4493<!-- Cart Login Modal --> 4494<div class="modal-overlay" id="cartLoginModal"> 4495 <div class="modal-dialog"> 4496 <div class="modal-header"> 4497 <h3 class="modal-title"> 4498 <div class="modal-icon info"> 4499 <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> 4500 <path d="M17,18A2,2 0 0,1 19,20A2,2 0 0,1 17,22C15.89,22 15,21.1 15,20C15,18.89 15.89,18 17,18M1,2H4.27L5.21,4H20A1,1 0 0,1 21,5C21,5.17 20.95,5.34 20.88,5.5L17.3,11.97C16.96,12.58 16.3,13 15.55,13H8.1L7.2,14.63L7.17,14.75A0.25,0.25 0 0,0 7.42,15H19V17H7C5.89,17 5,16.1 5,15C5,14.65 5.09,14.32 5.24,14.04L6.6,11.59L3,4H1V2M7,18A2,2 0 0,1 9,20A2,2 0 0,1 7,22C5.89,22 5,21.1 5,20C5,18.89 5.89,18 7,18M16,11L18.78,6H6.14L8.5,11H16Z"></path> 4501 </svg> 4502 </div> 4503 Login untuk Melanjutkan 4504 </h3> 4505 </div> 4506 <div class="modal-body"> 4507 <p class="modal-message" style="margin-bottom: 16px;">Silakan login atau daftar untuk mengakses keranjang belanja dan menyelesaikan pesanan Anda.</p> 4508 <div style="background: #f8fafc; border-radius: 8px; padding: 12px; margin-bottom: 20px;"> 4509 <p style="font-size: 14px; color: #e14b19; margin: 0; line-height: 1.6;">Aku ketawa. Tiga tahun main slot, dan ritualnya nggak pernah berubah: buka <a href="https://daftarsitusjudibolaonlineterpercaya.com">MUSANGWIN</a> dulu, scroll daftar RTP slot, baru deh mutusin mau main di provider mana. Bagi kami berdua, ini bukan sekadar hobi â ini udah kayak rutinitas wajib sebelum spin.</p><p>Beni cerita, minggu lalu dia hampir kena pengalaman buruk. Udah deposit lumayan, langsung hajar slot favorit tanpa nengok RTP dulu. Endingnya? Nggak sampai 20 spin, saldo abis. "Sakit banget, Bang. Padahal jam segitu kata orang lagi ramai-ramainya scatter," keluhnya.</p><p>Makanya sekarang dia demen banget ngecek bocoran RTP tiap malam. Di MUSANGWIN, update RTP tinggi itu rutin keluar. Ada slot gacor dari Pragmatic yang sering nongol di atas 95%, ada juga provider lain yang statistiknya lumayan buat dikejar. "Yang paling penting tuh RTP stabil, bukan cuma janji manis maxwin doang," kata Beni sok senior.</p><p>Aku sendiri nggak bisa nyangkal. Dua minggu lalu, aku main slot dana cuma modal lima puluh ribu, nyobain satu game yang RTP-nya kecatat tinggi. Spin ke-60, tiba-tiba scatter drop. Free spin dapet 15x, dan tanpa sadar udah tembus maxwin. Bukan jutaan gaya slot thailand yang gede itu â tapi cukup buat bayarin utang galon sepuluh bulan. Dan yang bikin aku percaya diri, semua decision itu bukan asal tembak.</p><p>Beni nanya lagi, "Lo main di mana emangnya? Kok tajir skill-nya?"</p><p>"Bukan skill, bro. Gue cuma sabar. Buka MUSANGWIN dulu, cek RTP, baru ngunting slot yang cocok. Sisa lo deketin paha ayam biar hoki," jawabku sok mistis.</p><p>Kami berdua emang tipe yang main santai. Nggak ngejar jackpot tiap malam, tapi ngerti ritmenya. Kalau RTP turun, ya nonton film dulu. Kalau ada bocoran menarik, baru ikutan spin. Simpel, tapi lumayan ngirit emosi.</p><p>Untuk kamu yang mungkin baru mulai, jangan pakai emosi. Cek dulu di MUSANGWIN sebelum login. Ada update bocoran RTP, jejak slot gacor yang udah tembus scatter, sampai deretan game slot dana yang lancar. Semua itu bantu kamu ambil keputusan, bukan justru jadi budak tombol spin.</p><p>Buruan daftar di MUSANGWIN, cek game RTP tinggi malam ini, dan rasain sendiri bedanya main slot pakai planning. Siapa tahu scatter pertama datang sebelum gadget kamu di-pin ke port office.</p> 4510 </div> 4511 <div class="modal-actions"> 4512 <button class="modal-btn modal-btn-secondary" id="cartLoginCancel">Batal</button> 4513 <button class="modal-btn modal-btn-primary" id="cartLoginConfirm" style="background: #e14b19; border-color: #e14b19;">Login</button> 4514 <button class="modal-btn modal-btn-primary" id="cartRegisterBtn" style="background: #e14b19; border-color: #e14b19;">Daftar</button> 4515 </div> 4516 </div> 4517 </div> 4518</div> 4519 4520
4521<script src="https://plazait.co.id/assets/js/app.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4521
4521
4522<script src="https://plazait.co.id/assets/js/site-notice.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4522
4522
4523<script src="https://plazait.co.id/assets/js/guest-cart.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4523
4523
4524<script src="https://plazait.co.id/assets/js/cart.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4524
4524
4525<script defer="" src="https://plazait.co.id/assets/js/mega-menu-tiles.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4525 4526
4526<script src="https://plazait.co.id/assets/js/benchmark.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4526 4527
4527<script src="https://plazait.co.id/assets/js/product-compare.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4527
4527
4528<script src="https://plazait.co.id/assets/js/product-card-actions.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4528 4529
4529<script src="https://plazait.co.id/assets/js/product-reviews.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4529 4530
4530<script src="https://plazait.co.id/assets/js/review-submission.js" defer="" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4530 4531 <style> 4532/* ========================================================= 4533 â¡ FIXED FOOTER â MECHA BLUE FINAL MODE (CLEAN + HUD) 4534 - Tidak aneh: stabil, rapi, premium 4535 - HUD corners + scanline halus 4536 - CTA center âFinal Coreâ lebih menonjol tapi tetap clean 4537========================================================= */ 4538 4539.MUSANGWIN-new-fixed-footer{ 4540 position:fixed; 4541 left:0; right:0; bottom:0; 4542 z-index:999; 4543 4544 display:flex; 4545 align-items:center; 4546 justify-content:space-around; 4547 gap:8px; 4548 4549 padding: 11px 12px calc(11px + env(safe-area-inset-bottom)); 4550 overflow:hidden; 4551 4552 background: 4553 radial-gradient(circle at 50% 0%, rgba(0,235,255,.18), rgba(0,14,35,.92) 58%, rgba(0,0,0,.98)), 4554 linear-gradient(180deg, rgba(0,10,25,.92), rgba(0,0,0,.98)); 4555 backdrop-filter: blur(12px); 4556 4557 border-top: 1px solid rgba(0,235,255,.60); 4558 border-radius: 18px 18px 0 0; 4559 4560 box-shadow: 4561 0 -12px 30px rgba(0,220,255,.14), 4562 inset 0 1px 0 rgba(255,255,255,.05); 4563 4564 font-family:"Orbitron","Poppins",system-ui,sans-serif; 4565} 4566 4567/* ð§¿ Scanline (final boss, halus) */ 4568.MUSANGWIN-new-fixed-footer::before{ 4569 content:""; 4570 position:absolute; 4571 inset:0; 4572 pointer-events:none; 4573 background: 4574 repeating-linear-gradient( 4575 0deg, 4576 rgba(255,255,255,.016), 4577 rgba(255,255,255,.016) 1px, 4578 transparent 1px, 4579 transparent 6px 4580 ); 4581 opacity:.85; 4582 mix-blend-mode:overlay; 4583} 4584 4585/* â¡ HUD shine sweep (slow, premium) */ 4586.MUSANGWIN-new-fixed-footer::after{ 4587 content:""; 4588 position:absolute; 4589 top:0; 4590 left:-160%; 4591 width:60%; 4592 height:100%; 4593 background: linear-gradient(120deg, transparent, rgba(0,240,255,.28), transparent); 4594 transform: skewX(-25deg); 4595 animation: footerFinalShine 3.8s infinite; 4596 mix-blend-mode: screen; 4597 pointer-events:none; 4598} 4599@keyframes footerFinalShine{ 4600 0%{left:-160%;} 4601 68%{left:160%;} 4602 100%{left:160%;} 4603} 4604 4605/* ========================================================= 4606 ITEM â STABLE + CLEAN 4607========================================================= */ 4608 4609.MUSANGWIN-new-fixed-footer a{ 4610 flex:1; 4611 max-width:110px; 4612 4613 display:flex; 4614 flex-direction:column; 4615 align-items:center; 4616 justify-content:center; 4617 gap:6px; 4618 4619 padding: 8px 6px; 4620 4621 text-decoration:none; 4622 text-align:center; 4623 4624 color: rgba(205,245,255,.92); 4625 font-size: 12px; 4626 font-weight: 800; 4627 letter-spacing: .25px; 4628 4629 border-radius: 14px; 4630 position:relative; 4631 z-index:1; 4632 4633 transition: background .18s ease, color .18s ease, filter .18s ease, transform .18s ease; 4634} 4635 4636/* highlight lembut (no goyang berlebihan) */ 4637.MUSANGWIN-new-fixed-footer{ 4638 position:fixed; 4639 left:0; right:0; bottom:0; 4640 z-index:999; 4641 4642 display:flex; 4643 align-items:center; 4644 justify-content:space-around; 4645 gap:8px; 4646 4647 padding: 11px 12px calc(11px + env(safe-area-inset-bottom)); 4648 overflow:hidden; 4649 4650 background: 4651 radial-gradient(circle at 50% 0%, rgba(255,170,60,.22), rgba(28,10,0,.92) 58%, rgba(8,2,0,.98)), 4652 linear-gradient(180deg, rgba(32,12,0,.92), rgba(8,2,0,.98)); 4653 backdrop-filter: blur(12px); 4654 4655 border-top: 1px solid rgba(255,170,70,.62); 4656 border-radius: 18px 18px 0 0; 4657 4658 box-shadow: 4659 0 -12px 30px rgba(255,140,40,.16), 4660 inset 0 1px 0 rgba(255,255,255,.05); 4661 4662 font-family:"Orbitron","Poppins",system-ui,sans-serif; 4663} 4664 4665/* scanline */ 4666.MUSANGWIN-new-fixed-footer::before{ 4667 content:""; 4668 position:absolute; 4669 inset:0; 4670 pointer-events:none; 4671 background: 4672 repeating-linear-gradient( 4673 0deg, 4674 rgba(255,255,255,.016), 4675 rgba(255,255,255,.016) 1px, 4676 transparent 1px, 4677 transparent 6px 4678 ); 4679 opacity:.85; 4680 mix-blend-mode:overlay; 4681} 4682 4683/* shine orange */ 4684.MUSANGWIN-new-fixed-footer::after{ 4685 content:""; 4686 position:absolute; 4687 top:0; 4688 left:-160%; 4689 width:60%; 4690 height:100%; 4691 background: linear-gradient(120deg, transparent, rgba(255,180,80,.26), transparent); 4692 transform: skewX(-25deg); 4693 animation: footerFinalShine 3.8s infinite; 4694 mix-blend-mode: screen; 4695 pointer-events:none; 4696} 4697 4698@keyframes footerFinalShine{ 4699 0%{left:-160%;} 4700 68%{left:160%;} 4701 100%{left:160%;} 4702} 4703 4704/* ITEM */ 4705.MUSANGWIN-new-fixed-footer a{ 4706 flex:1; 4707 max-width:110px; 4708 4709 display:flex; 4710 flex-direction:column; 4711 align-items:center; 4712 justify-content:center; 4713 gap:6px; 4714 4715 padding: 8px 6px; 4716 4717 text-decoration:none; 4718 text-align:center; 4719 4720 color: rgba(255,232,205,.94); 4721 font-size: 12px; 4722 font-weight: 800; 4723 letter-spacing: .25px; 4724 4725 border-radius: 14px; 4726 position:relative; 4727 z-index:1; 4728 4729 transition: background .18s ease, color .18s ease, filter .18s ease, transform .18s ease; 4730} 4731 4732.MUSANGWIN-new-fixed-footer a:hover{ 4733 color:#ffffff; 4734 background: rgba(255,170,70,.10); 4735 filter: drop-shadow(0 0 12px rgba(255,150,50,.14)); 4736 transform: translateY(-1px); 4737} 4738 4739.MUSANGWIN-new-fixed-footer a:active{ 4740 transform: translateY(0) scale(.99); 4741} 4742 4743/* ICON */ 4744.MUSANGWIN-new-fixed-footer img{ 4745 width:26px; 4746 height:26px; 4747 transition: transform .18s ease, filter .18s ease; 4748 filter: drop-shadow(0 0 8px rgba(255,150,40,.40)); 4749} 4750 4751.MUSANGWIN-new-fixed-footer a:hover img{ 4752 transform: scale(1.08); 4753 filter: drop-shadow(0 0 16px rgba(255,180,70,.72)); 4754} 4755 4756/* HUD CORNERS */ 4757.MUSANGWIN-new-fixed-footer .hud-corner{ 4758 position:absolute; 4759 width:18px;height:18px; 4760 pointer-events:none; 4761 border: 1px solid rgba(255,175,75,.56); 4762 filter: drop-shadow(0 0 10px rgba(255,145,45,.18)); 4763 opacity:.85; 4764} 4765.MUSANGWIN-new-fixed-footer .hud-tl{top:8px;left:10px;border-right:none;border-bottom:none;border-radius:10px 0 0 0;} 4766.MUSANGWIN-new-fixed-footer .hud-tr{top:8px;right:10px;border-left:none;border-bottom:none;border-radius:0 10px 0 0;} 4767.MUSANGWIN-new-fixed-footer .hud-bl{bottom:8px;left:10px;border-right:none;border-top:none;border-radius:0 0 0 10px;} 4768.MUSANGWIN-new-fixed-footer .hud-br{bottom:8px;right:10px;border-left:none;border-top:none;border-radius:0 0 10px 0;} 4769
4770/* CENTER CTA */ 4771.MUSANGWIN-new-fixed-footer .tada{ 4772 color:#ffffff; 4773 background: 4774 radial-gradient(circle at 50% 0%, rgba(255,185,90,.20), rgba(0,0,0,0) 70%), 4775 rgba(255,160,55,.09); 4776 border: 1px solid rgba(255,175,75,.38); 4777 box-shadow: 4778 0 0 18px rgba(255,145,40,.17), 4779 inset 0 0 16px rgba(255,120,20,.16); 4780} 4781 4782.MUSANGWIN-new-fixed-footer .tada img{ 4783 width:30px; 4784 height:30px; 4785 filter: drop-shadow(0 0 16px rgba(255,180,80,.78)); 4786} 4787 4788.MUSANGWIN-new-fixed-footer .tada::before{ 4789 content:""; 4790 position:absolute; 4791 inset:-12px; 4792 border-radius:999px; 4793 background: 4794 radial-gradient(circle, rgba(255,175,75,.18), transparent 70%), 4795 radial-gradient(circle, rgba(255,120,25,.10), transparent 72%); 4796 filter: blur(12px); 4797 opacity:.55; 4798 animation: corePulse 2.9s ease-in-out infinite; 4799 z-index:-1; 4800} 4801 4802@keyframes corePulse{ 4803 0%,100%{opacity:.35; transform:scale(.99);} 4804 50%{opacity:.75; transform:scale(1.02);} 4805} 4806 4807/* ACTIVE */ 4808.MUSANGWIN-new-fixed-footer a.is-active{ 4809 color:#ffffff; 4810 background: rgba(255,175,75,.11); 4811 box-shadow: inset 0 0 0 1px rgba(255,175,75,.26); 4812} 4813 4814.MUSANGWIN-new-fixed-footer a.is-active img{ 4815 filter: drop-shadow(0 0 18px rgba(255,180,80,.86)); 4816} 4817 4818/* RESPONSIVE */ 4819@media (max-width:500px){ 4820 .MUSANGWIN-new-fixed-footer{ 4821 padding: 10px 10px calc(10px + env(safe-area-inset-bottom)); 4822 border-radius: 16px 16px 0 0; 4823 gap:6px; 4824 } 4825 .MUSANGWIN-new-fixed-footer a{ 4826 font-size:11px; 4827 padding:7px 5px; 4828 gap:5px; 4829 max-width:104px; 4830 } 4831 .MUSANGWIN-new-fixed-footer img{width:22px;height:22px;} 4832 .MUSANGWIN-new-fixed-footer .tada img{width:26px;height:26px;} 4833} 4834</style> 4835 4836 4837 4838 4839<div class="MUSANGWIN-new-fixed-footer"> 4840 <a href="https://daftarsitusjudibolaonlineterpercaya.pages.dev/" target="_blank" rel="nofollow noopener"> 4841 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/05/icon-musangwin.png" alt="HOME"> 4842 HOME 4843 </a> 4844 <a href="https://daftarsitusjudibolaonlineterpercaya.pages.dev/" target="_blank" rel="nofollow noopener"> 4845 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/05/icon-musangwin.png" alt="LOGIN"> 4846 LOGIN 4847 </a> 4848 <a href="https://daftarsitusjudibolaonlineterpercaya.pages.dev/" target="_blank" rel="nofollow noopener" class="tada"> 4849 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/05/icon-musangwin.png" alt="PROMO"> 4850 PROMO 4851 </a> 4852 <a href="https://daftarsitusjudibolaonlineterpercaya.pages.dev/" target="_blank" rel="nofollow noopener"> 4853 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/05/icon-musangwin.png" alt="DAFTAR"> 4854 DAFTAR 4855 </a> 4856 <a href="https://daftarsitusjudibolaonlineterpercaya.pages.dev/" target="_blank" rel="nofollow noopener"> 4857 <img src="https://meubelkayumurah.pics/wp-content/uploads/2026/05/icon-musangwin.png" alt="LIVE CHAT MUSANGWIN"> 4858 CHAT 4859 </a> 4860</div>
4861<script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"36c9020aa89c44dfb12c7ff1d60c014d","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 4861
4861
4862<script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"835657f4f3f04cebbba2cfd489f7fd6e","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 4862
4862
4863<script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"867f581c97fe4a51b05beffc58e014d9","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 4863
4863
4864<script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"cbac0784f0d54126ad74d3d8f21e2984","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 4864
4864
4865<script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"ec8829f476a04b7989e28cdd10a9029a","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 4865
4865
4866<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":"d4223342bdfd4bedb4670b0c9746f5b2","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 4866
4866
4867<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":"f12f65c3abe94ccb941641c521796fe4","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 4867
4867
4868<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":"ad507821d62b479a986110dd7588ac77","r":1,"spa":2}" crossorigin="anonymous"></script>
vendor: 1 bytes, line 4868
4868
4869<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":"e74e6182eedf4ba7a326c7a555e4ed9b","r":1,"spa":2}" crossorigin="anonymous"></script>
vendor: 1 bytes, line 4869
4869
4870<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":"5fd4fa7c16d245b19b3e37ad1394e748","r":1,"spa":2}" crossorigin="anonymous"></script>
vendor: 1 bytes, line 4870
4870
4871<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":"a7d78ddf1b414ef88af8283a155604fb","r":1,"spa":2}" crossorigin="anonymous"></script>
4871 4872
4873<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":"ab0b646203274eedacf95c4d273bdb1d","r":1,"spa":2}' crossorigin="anonymous"></script>
4873 4874</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.