PageSourceSearch

https://kakiheboh.com/

html kakiheboh.com collected 2026-10-02 07:13:35 UTC 299,423 bytes, 6,232 lines download raw bytes

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

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.