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