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