PageSourceSearch

https://clinicadolutowordpress.com/

html clinicadolutowordpress.com collected 2026-10-05 01:47:20 UTC 249,315 bytes, 4,614 lines download raw bytes

1<!DOCTYPE html>
2<html lang="id">
3<head>
4  <meta charset="UTF-8">
5  <meta name="google-site-verification" content="19IiDlzqO82xXZiHdj9DHl-ysmlhZK-WUavvU1WMmlY" />
6  <title>PUBTOGEL X HONGKONG | Situs Togel Hongkong Terbaru Terpercaya & Bandar Togel Online Terbaru Masa Kini</title>
7  <meta name="description" content="Sekarang para pecinta togel online mencari situs taruhan yang aman dan terpercaya, Pubtogel hadir sebagai sumber link Toto Hk Pools yang terverifikasi.">
8  <meta name="robots" content="index, follow, nosnippet">
9  <link rel="canonical" href="https://clinicadolutowordpress.com/">
10  <link rel="amphtml" href="https://shop.clinicadolutowordpress.com/">
11<link rel="alternate" hreflang="id-id" href="https://shop.clinicadolutowordpress.com/"/>
12<link rel="alternate" href="https://shop.clinicadolutowordpress.com/"/>
13<link rel="alternate" hreflang="id" href="https://shop.clinicadolutowordpress.com/"/>
14<link rel="alternate" hreflang="en" href="https://shop.clinicadolutowordpress.com/"/>
15    <link rel="preconnect" href="https://www.googletagmanager.com" crossorigin>
vendor: 66 bytes, lines 15-16
15
16  <script async src="https://www.googletagmanager.com/gtag/js?id=
16G-0LSM1YJSPZ
vendor: 47 bytes, lines 16-17
16" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
17  
17<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>
17
18  <meta property="og:locale" content="id_ID">
19  <meta property="og:site_name" content="Plaza IT">
20  <meta property="og:type" content="product">
21  <meta property="og:title" content="PUBTOGEL X HONGKONG | Situs Togel Hongkong Terbaru Terpercaya & Bandar Togel Online Terbaru Masa Kini">
22  <meta property="og:description" content="Sekarang para pecinta togel online mencari situs taruhan yang aman dan terpercaya, Pubtogel hadir sebagai sumber link Toto Hk Pools yang terverifikasi.">
23  <meta property="og:url" content="https://clinicadolutowordpress.com/">
24  <meta property="og:image" content="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png">
25  <meta property="og:image:alt" content="PUBTOGEL X HONGKONG | Situs Togel Hongkong Terbaru Terpercaya & Bandar Togel Online Terbaru Masa Kini">
26<meta property="product:price:amount" content="20.720">
27<meta property="product:price:currency" content="IDR">
28<meta property="product:availability" content="out of stock">
29<meta name="twitter:card" content="summary_large_image">
30<meta name="twitter:title" content="PUBTOGEL X HONGKONG | Situs Togel Hongkong Terbaru Terpercaya & Bandar Togel Online Terbaru Masa Kini">
31<meta name="twitter:description" content="Sekarang para pecinta togel online mencari situs taruhan yang aman dan terpercaya, Pubtogel hadir sebagai sumber link Toto Hk Pools yang terverifikasi.">
32<meta name="twitter:image" content="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png">
33
34<script type="application/ld+json">
35{
36  "@context": "https://schema.org",
37  "@type": "WebSite",
38  "@id": "/#website",
39  "url": "https://clinicadolutowordpress.com/",
40  "name": "PUBTOGEL",
41  "inLanguage": "id",
42  "potentialAction": {
43    "@type": "SearchAction",
44    "target": "https://clinicadolutowordpress.com/",
45    "query-input": "required name=search_term_string"
46  }
47}
48</script>
48
49
50<script type="application/ld+json">
51{
52  "@context": "https://schema.org",
53  "@type": "Organization",
54  "@id": "/#organization",
55  "name": "PUBTOGEL",
56  "url": "https://clinicadolutowordpress.com/",
57  "logo": "https://i.ibb.co/ZRyqtqsJ/Chat-GPT-Image-Aug-1-2026-03-08-18-PM-removebg-preview.png"
58}
59</script>
59
60
61<script type="application/ld+json">
62{
63  "@context": "https://schema.org",
64  "@type": "Product",
65  "name": "PUBTOGEL X HONGKONG | Situs Togel Hongkong Terbaru Terpercaya & Bandar Togel Online Terbaru Masa Kini",
66  "sku": "456123748900",
67  "image": [
68    "https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png"
69  ],
70  "url": "https://clinicadolutowordpress.com/",
71  "description": "Sekarang para pecinta togel online mencari situs taruhan yang aman dan terpercaya, Pubtogel hadir sebagai sumber link Toto Hk Pools yang terverifikasi.",
72  "category": "SITUS TERPERCAYA",
73  "brand": {
74    "@type": "Brand",
75    "name": "PUBTOGEL"
76  },
77  "offers": {
78    "@type": "Offer",
79    "url": "https://clinicadolutowordpress.com/",
80    "priceCurrency": "IDR",
81    "price": "5000",
82    "priceValidUntil": "2027-03-01",
83    "availability": "https://schema.org/OutOfStock",
84    "itemCondition": "https://schema.org/NewCondition",
85    "seller": {
86      "@type": "Organization",
87      "name": "PUBTOGEL",
88      "url": "https://clinicadolutowordpress.com/"
89    }
90  },
91  "aggregateRating": {
92    "@type": "AggregateRating",
93    "ratingValue": "4.9",
94    "reviewCount": "198",
95    "bestRating": "5",
96    "worstRating": "1"
97  }
98}
99</script>
99
100
101<script type="application/ld+json">
102{
103  "@context": "https://schema.org",
104  "@type": "BreadcrumbList",
105  "itemListElement": [
106    {
107      "@type": "ListItem",
108      "position": 1,
109      "name": "PUBTOGEL",
110      "item": "https://clinicadolutowordpress.com/"
111    },
112    {
113      "@type": "ListItem",
114      "position": 2,
115      "name": "PUBTOGEL",
116      "item": "https://clinicadolutowordpress.com/"
117    }
118  ]
119}
120</script>
120
121
122<script type="application/ld+json">
123{
124  "@context": "https://schema.org",
125  "@type": "FAQPage",
126  "mainEntity": [
127    {
128      "@type": "Question",
129      "name": "Apa yang membuat PUBTOGEL dikenal sebagai bandar togel online terbaru masa kini?",
130      "acceptedAnswer": {
131        "@type": "Answer",
132        "text": "PUBTOGEL mengusung teknologi platform modern dengan tampilan yang sangat intuitif, sistem server berkecepatan tinggi, serta integrasi metode transaksi digital terkini yang dirancang untuk kenyamanan pengguna era modern"
133      }
134    },
135    {
136      "@type": "Question",
137      "name": "Apakah PUBTOGEL merupakan situs toto togel yang terpercaya dan aman?",
138      "acceptedAnswer": {
139        "@type": "Answer",
140        "text": "Ya, PUBTOGEL menggunakan teknologi enkripsi data mutakhir untuk melindungi kerahasiaan informasi pengguna serta menjamin pembayaran seluruh hasil kemenangan anggota secara utuh tanpa potongan."
141      }
142    },
143    {
144      "@type": "Question",
145      "name": "Bagaimana cara mendapatkan bocoran atau prediksi angka togel jitu di PUBTOGEL?",
146      "acceptedAnswer": {
147        "@type": "Answer",
148        "text": "PUBTOGEL menyediakan fitur pendukung seperti data keluaran paito yang presisi, riwayat pengeluaran angka akurat, serta panduan analisis yang dapat dimanfaatkan pemain untuk meracik prediksi angka jitu secara mandiri."
149      }
150    },
151    {
152      "@type": "Question",
153      "name": "Apakah situs PUBTOGEL dapat diakses dengan lancar melalui HP?",
154      "acceptedAnswer": {
155        "@type": "Answer",
156        "text": "Sangat bisa. Platform PUBTOGEL didesain secara responsif dan ramah seluler (mobile-friendly), sehingga dapat diakses dengan cepat dan enteng dari berbagai jenis ponsel pintar tanpa perlu mengunduh aplikasi berat."
157      }
158    },
159    {
160      "@type": "Question",
161      "name": "Pasaran togel apa saja yang bisa dimainkan di platform ini?",
162      "acceptedAnswer": {
163        "@type": "Answer",
164        "text": "PUBTOGEL menyajikan beragam pilihan pasaran togel online resmi terlengkap, mulai dari pasaran populer dengan jadwal pengundian padat hingga pasaran internasional terkemuka yang buka setiap hari."
165      }
166    },
167    {
168      "@type": "Question",
169      "name": "Berapa nominal minimal deposit dan transaksi di PUBTOGEL?",
170      "acceptedAnswer": {
171        "@type": "Answer",
172        "text": "PUBTOGEL menyajikan beragam pilihan pasaran togel online resmi terlengkap, mulai dari pasaran populer dengan jadwal pengundian padat hingga pasaran internasional terkemuka yang buka setiap hari."
173      }
174    }
175  ]
176}
177</script>
177
178  <!-- User Session Data -->
179    <meta name="csrf-token" content="9ce6e4a17f7cc189893df9e47789b13e98829450d516a0cae5ca7b5f43e5dadc">
180  <meta name="user-logged-in" content="false">
181  <meta name="user-id" content="0">
182  
183  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
184
185  <link rel="shortcut icon" href="https://i.ibb.co/v6fvf3Pq/Chat-GPT-Image-24-Jul-2026-14-59-45-removebg-preview.png" type="image/x-icon">
186  <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/style.css">
187  <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/bottom-nav.css">
188  <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/search-suggest.css">
189  <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/product-detail.css">
190  <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/product-grid.css">
191  <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/site-notice.css">
192        <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/benchmark.css">
193    <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/product-filters.css">
194  <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/mega-menu-tiles.css">
195  <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/product-compare.css">
196  <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/product-card-actions.css">
197  <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/modal.css">
198      
199        <link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/reviews-points.css">
200            
201</head>
202<body>
203<header class="topbar">
204  <div class="container topbar-inner">
205    <div class="topbar-left">
206      PUBTOGEL X HONGKONG | Situs Togel Hongkong Terbaru Terpercaya & Bandar Togel Online Terbaru Masa Kini
207    </div>
208    <div class="topbar-right">
209      <a href="https://clinicadolutowordpress.com/">PUBTOGEL</a>
210      <a href="https://clinicadolutowordpress.com/">Promo</a>
211      <a href="https://shop.clinicadolutowordpress.com/">Daftar</a>
212      <a href="https://shop.clinicadolutowordpress.com/">Masuk</a>
213    </div>
214  </div>
215</header>
216<nav class="navbar">
217  <nav class="navbar-logo" style="width: 100%;">
218    <div class="container nav-inner" style="justify-items: center; justify-content: center;">
219        <a href="/" class="logo-mobile">
220          <img src="https://i.ibb.co/ZRyqtqsJ/Chat-GPT-Image-Aug-1-2026-03-08-18-PM-removebg-preview.png" alt="PUBTOGEL" height="40">
221        </a>
222    </div>
223</nav>
224  <div class="container nav-inner">
225    <a href="/" class="logo">
226      <img src="https://i.ibb.co/ZRyqtqsJ/Chat-GPT-Image-Aug-1-2026-03-08-18-PM-removebg-preview.png" alt="PUBTOGEL" height="40">
227    </a>
228
229    
230    <form class="search" method="get" action="#">
231      <input type="hidden" name="page" value="produk">
232      
233      <!-- Search Icon (Desktop) -->
234      <button type="submit" class="search-icon-btn" id="searchBtn" aria-label="Cari">
235        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
236          <circle cx="11" cy="11" r="8"/>
237          <path d="m21 21-4.35-4.35"/>
238        </svg>
239      </button>
240      
241      <input type="text" name="q" id="searchInput" placeholder="Cari PUBTOGEL"
242             value="" autocomplete="off"> 
243      
244      <div class="search-suggest" id="searchSuggest" hidden></div>
245    </form>
246
247    <div class="nav-actions">
248      <!--<button class="icon-btn" id="notifBtn" title="Notifikasi">🔔</button>-->
249      <button class="icon-btn cart-indicator" id="cartBtn" title="Keranjang">
250        🛒 <span id="cartCount" class="badge" data-role="cart-badge" aria-live="polite">0</span>
251      </button>
252      
253      
254        <span id="compareCount" class="badge" data-role="compare-badge" aria-live="polite">0</span>
255      </button>
256      
257      <!-- Dynamic login/logout button -->
258            <button class="login-btn" id="loginBtn" aria-label="Masuk">
259        <span class="login-text">Masuk</span>
260        <span class="login-ico" aria-hidden="true">😊</span>
261      </button>
262          </div>
263  </div>
264
265  <div class="container" style="display: flex; align-items: center;">
266      
267
268      <div class="mega-cats-wrapper">
269        <div class="mega-cats container" id="megaCatsScroll" style="padding-left: 5px !important;">
270                      <a class="" href="https://clinicadolutowordpress.com/">
271              TOGEL JITU           </a>
272                      <a class="" href="https://clinicadolutowordpress.com/">
273              TOTO            </a>
274                      <a class="" href="https://clinicadolutowordpress.com/">
275              TOGEL            </a>
276                      <a class="" href="https://clinicadolutowordpress.com/">
277              SITUS TOTO            </a>
278                      <a class="" href="https://clinicadolutowordpress.com/">
279              SITUS TOGEL          </a>
280                      <a class="" href="https://clinicadolutowordpress.com/">
281              PUBTOGEL            </a>
282                      <a class="" href="https://clinicadolutowordpress.com/">
283              PUBTOGEL           </a>
284                  </div>
285        <div class="mega-cats-fade" id="megaCatsFade"></div>
286      </div>
287  </div>
288</nav>
289
290<!-- Panel Mega Menu - Outside navbar for full-screen -->
291<div class="mm2-panel" data-mm2="panel" role="dialog" aria-label="Kategori">
292  <div class="mm2-view is-active" data-mm2="top"></div>
293  <div class="mm2-view" data-mm2="detail"></div>
294</div>
295
296<!-- Backdrop - Outside navbar for full-screen -->
297<div class="mm2-backdrop" data-mm2="backdrop"></div>
298
299<!-- Mobile Bottom Navigation -->
300<nav class="bottom-nav">
301  <div class="bottom-nav-inner">
302    <!-- Home -->
303    <a href="/" class="bottom-nav-item" id="bottomHomeBtn" data-page="home">
304      <div class="bottom-nav-item-icon">
305        <!-- Outlined icon (default) -->
306        <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
307          <path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>
308          <polyline points="9 22 9 12 15 12 15 22"/>
309        </svg>
310        <!-- Filled icon (active) -->
311        <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
312          <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"/>
313          <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"/>
314        </svg>
315      </div>
316      <span class="bottom-nav-item-label">Home</span>
317    </a>
318
319    <!-- Kategori -->
320    <button class="bottom-nav-item" id="bottomCategoryBtn" data-mm2="trigger" aria-label="Kategori">
321      <div class="bottom-nav-item-icon">
322        <!-- Outlined icon (default) -->
323        <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
324          <line x1="3" y1="12" x2="21" y2="12"/>
325          <line x1="3" y1="6" x2="21" y2="6"/>
326          <line x1="3" y1="18" x2="21" y2="18"/>
327        </svg>
328        <!-- Filled icon (active) -->
329        <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
330          <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"/>
331        </svg>
332      </div>
333      <span class="bottom-nav-item-label">Kategori</span>
334    </button>
335
336    <!-- Keranjang -->
337    <button class="bottom-nav-item" id="bottomCartBtn">
338      <div class="bottom-nav-item-icon">
339        <!-- Outlined icon (default) -->
340        <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
341          <circle cx="9" cy="21" r="1"/>
342          <circle cx="20" cy="21" r="1"/>
343          <path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/>
344        </svg>
345        <!-- Filled icon (active) -->
346        <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
347          <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"/>
348        </svg>
349        <span class="bottom-nav-item-badge" id="bottomCartCount">0</span>
350      </div>
351      <span class="bottom-nav-item-label">Keranjang</span>
352    </button>
353
354    <!-- Compare -->
355    <button class="bottom-nav-item" id="bottomCompareBtn">
356      <div class="bottom-nav-item-icon">
357        <!-- Outlined icon (default) -->
358        <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
359          <polyline points="17 11 21 7 17 3"/>
360          <path d="M21 7H9"/>
361          <polyline points="7 21 3 17 7 13"/>
362          <path d="M15 17H3"/>
363        </svg>
364        <!-- Filled icon (active) -->
365        <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
366          <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"/>
367        </svg>
368        <span class="bottom-nav-item-badge" id="bottomCompareCount" style="display:none;">0</span>
369      </div>
370      <span class="bottom-nav-item-label">Compare</span>
371    </button>
372
373    <!-- Chat - Always show, check login in JavaScript -->
374    <button class="bottom-nav-item" id="bottomChatBtn" data-page="chat">
375      <div class="bottom-nav-item-icon">
376        <!-- Outlined icon (default) -->
377        <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" opacity="0.85">
378          <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>
379        </svg>
380        <!-- Filled icon (active) -->
381        <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
382          <path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z"/>
383        </svg>
384        <span class="bottom-nav-item-badge" id="bottomChatCount" style="display:none;">0</span>
385      </div>
386      <span class="bottom-nav-item-label">Chat</span>
387    </button>
388
389    <!-- Akun -->
390        <button class="bottom-nav-item" id="bottomLoginBtn">
391      <div class="bottom-nav-item-icon">
392        <!-- Outlined icon (default) -->
393        <svg class="icon-outlined" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
394          <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/>
395          <circle cx="12" cy="7" r="4"/>
396        </svg>
397        <!-- Filled icon (active) -->
398        <svg class="icon-filled" viewBox="0 0 24 24" fill="currentColor">
399          <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"/>
400        </svg>
401      </div>
402      <span class="bottom-nav-item-label">Login</span>
403    </button>
404        </svg>
405      </div>
406    </button>
407      </div>
408</nav>
409
410<!-- Mobile User Menu Bottom Sheet -->
411
412<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
413(function(){
414  const btn = document.getElementById('megaMoreBtn');
415  const dd  = document.getElementById('megaMoreDropdown');
416  if(!btn || !dd) return;
417
418  function openDD(){
419    dd.hidden = false;
420    btn.setAttribute('aria-expanded','true');
421    document.addEventListener('click', outside, {capture:true});
422    document.addEventListener('keydown', esc);
423  }
424  function closeDD(){
425    if(dd.hidden) return;
426    dd.hidden = true;
427    btn.setAttribute('aria-expanded','false');
428    document.removeEventListener('click', outside, {capture:true});
429    document.removeEventListener('keydown', esc);
430  }
431  function toggle(){ dd.hidden ? openDD() : closeDD(); }
432  function outside(e){
433    if(!dd.contains(e.target) && e.target !== btn){
434      closeDD();
435    }
436  }
437  function esc(e){
438    if(e.key === 'Escape'){
439      closeDD();
440      btn.focus();
441    }
442  }
443  btn.addEventListener('click', toggle);
444})();
445
446// ========== HORIZONTAL SCROLL FADE INDICATOR ==========
447(function(){
448  const megaCats = document.getElementById('megaCatsScroll');
449  const fade = document.getElementById('megaCatsFade');
450  if (!megaCats || !fade) return;
451
452  function updateFade() {
453    const scrollLeft = megaCats.scrollLeft;
454    const scrollWidth = megaCats.scrollWidth;
455    const clientWidth = megaCats.clientWidth;
456    const maxScroll = scrollWidth - clientWidth;
457    
458    // Hide fade when scrolled to end (within 10px tolerance)
459    if (maxScroll - scrollLeft <= 10) {
460      fade.style.opacity = '0';
461    } else {
462      fade.style.opacity = '1';
463    }
464  }
465
466  // Update on scroll
467  megaCats.addEventListener('scroll', updateFade, { passive: true });
468  
469  // Update on resize
470  window.addEventListener('resize', updateFade, { passive: true });
471  
472  // Initial check
473  setTimeout(updateFade, 100);
474})();
475
476document.addEventListener('DOMContentLoaded', function () {
477  var input = document.getElementById('searchInput');
478  if (!input) return;
479  input.addEventListener('keydown', function (e) {
480    if (e.key === 'Enter') {
481      e.preventDefault();
482      var form = input.form;
483      if (!form) return;
484      if (typeof form.requestSubmit === 'function') form.requestSubmit();
485      else form.submit();
486    }
487  });
488});
489
490
491(function(){
492  const cartBtn = document.getElementById('cartBtn');
493  if (cartBtn) {
494    cartBtn.addEventListener('click', function(e) {
495      e.preventDefault();
496      
497      const checkLogin = () => {
498        return window.isUserLoggedIn ? window.isUserLoggedIn() : false;
499      };
500      
501      if (checkLogin()) {
502        window.location.href = '/keranjang';
503      } else {
504        showCartLoginModal();
505      }
506    });
507  }
508
509  const loginBtn = document.getElementById('loginBtn');
510  if (loginBtn) {
511    loginBtn.addEventListener('click', function(e) {
512      e.preventDefault();
513      window.location.href = 'https://clinicadolutowordpress.com/';
514    });
515  }
516
517  const userMenuBtn = document.getElementById('userMenuBtn');
518  const userDropdown = document.getElementById('userDropdown');
519  
520  if (userMenuBtn && userDropdown) {
521    function openDropdown() {
522      userDropdown.hidden = false;
523      userMenuBtn.setAttribute('aria-expanded', 'true');
524      document.addEventListener('click', closeOnOutside, { capture: true });
525      document.addEventListener('keydown', closeOnEscape);
526    }
527    
528    function closeDropdown() {
529      if (userDropdown.hidden) return;
530      userDropdown.hidden = true;
531      userMenuBtn.setAttribute('aria-expanded', 'false');
532      document.removeEventListener('click', closeOnOutside, { capture: true });
533      document.removeEventListener('keydown', closeOnEscape);
534    }
535    
536    function closeOnOutside(e) {
537      if (!userDropdown.contains(e.target) && e.target !== userMenuBtn) {
538        closeDropdown();
539      }
540    }
541    
542    function closeOnEscape(e) {
543      if (e.key === 'Escape') {
544        closeDropdown();
545        userMenuBtn.focus();
546      }
547    }
548    
549    userMenuBtn.addEventListener('click', function(e) {
550      e.preventDefault();
551      userDropdown.hidden ? openDropdown() : closeDropdown();
552    });
553    
554    // Close dropdown when clicking profile links
555    userDropdown.querySelectorAll('[data-close-dropdown]').forEach(link => {
556      link.addEventListener('click', function() {
557        closeDropdown();
558      });
559    });
560  }
561
562  // Bottom nav profile button - toggle mobile bottom sheet
563  const bottomProfileBtn = document.getElementById('bottomProfileBtn');
564  const mobileUserSheet = document.getElementById('mobileUserSheet');
565  const mobileUserSheetBackdrop = document.getElementById('mobileUserSheetBackdrop');
566  
567  if (bottomProfileBtn && mobileUserSheet) {
568    function openMobileSheet() {
569      mobileUserSheet.hidden = false;
570      document.body.style.overflow = 'hidden';
571      // Trigger animation
572      requestAnimationFrame(() => {
573        mobileUserSheet.classList.add('active');
574      });
575    }
576    
577    function closeMobileSheet() {
578      mobileUserSheet.classList.remove('active');
579      document.body.style.overflow = '';
580      setTimeout(() => {
581        mobileUserSheet.hidden = true;
582      }, 300);
583    }
584    
585    bottomProfileBtn.addEventListener('click', function(e) {
586      e.preventDefault();
587      openMobileSheet();
588    });
589    
590    if (mobileUserSheetBackdrop) {
591      mobileUserSheetBackdrop.addEventListener('click', closeMobileSheet);
592    }
593    
594    // Close on escape key
595    document.addEventListener('keydown', function(e) {
596      if (e.key === 'Escape' && !mobileUserSheet.hidden) {
597        closeMobileSheet();
598      }
599    });
600    
601    // Close sheet when clicking profile links
602    mobileUserSheet.querySelectorAll('[data-close-sheet]').forEach(link => {
603      link.addEventListener('click', function() {
604        closeMobileSheet();
605      });
606    });
607  }
608  
609  // Handle Google avatar error in bottom-nav (fallback to initials)
610  const bottomNavAvatar = document.querySelector('.bottom-nav-avatar-img');
611  if (bottomNavAvatar) {
612    bottomNavAvatar.addEventListener('error', function() {
613      const initials = this.getAttribute('data-fallback-initials') || 'U';
614      const initialsDiv = document.createElement('div');
615      initialsDiv.className = 'bottom-nav-avatar-initials';
616      initialsDiv.textContent = initials;
617      this.parentNode.replaceChild(initialsDiv, this);
618    });
619  }
620
621  // Mobile logout button
622  const mobileLogoutBtn = document.getElementById('mobileLogoutBtn');
623  if (mobileLogoutBtn) {
624    mobileLogoutBtn.addEventListener('click', async function(e) {
625      e.preventDefault();
626      
627      // Check push notification before logout
628      if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') {
629        const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification();
630        if (!confirmLogout) {
631          return; // User cancelled logout
632        }
633      }
634      
635      const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || '';
636      
637      try {
638        const response = await fetch('/auth/logout', {
639          method: 'POST',
640          credentials: 'same-origin',
641          headers: {
642            'Content-Type': 'application/json',
643            'X-CSRF-Token': getCsrfToken()
644          },
645          body: JSON.stringify({
646            csrf_token: getCsrfToken()
647          })
648        });
649        
650        if (response.ok) {
651          if (window.guestCart && typeof window.guestCart.clear === 'function') {
652            window.guestCart.clear();
653          }
654          window.location.href = '/login?logged_out=1';
655        } else {
656          console.error('Logout failed');
657          window.location.href = '/logout';
658        }
659      } catch (error) {
660        console.error('Logout error:', error);
661        window.location.href = '/logout';
662      }
663    });
664  }
665
666  const logoutBtn = document.getElementById('logoutBtn');
667  if (logoutBtn) {
668    logoutBtn.addEventListener('click', async function(e) {
669      e.preventDefault();
670      
671      // Check push notification before logout
672      if (window.ChatNotification && typeof window.ChatNotification.confirmLogoutWithPushNotification === 'function') {
673        const confirmLogout = await window.ChatNotification.confirmLogoutWithPushNotification();
674        if (!confirmLogout) {
675          return; // User cancelled logout
676        }
677      }
678      
679      const getCsrfToken = () => document.querySelector('meta[name="csrf-token"]')?.getAttribute('content') || '';
680      
681      try {
682        const response = await fetch('/auth/logout', {
683          method: 'POST',
684          credentials: 'same-origin',
685          headers: {
686            'Content-Type': 'application/json',
687            'X-CSRF-Token': getCsrfToken()
688          },
689          body: JSON.stringify({
690            csrf_token: getCsrfToken()
691          })
692        });
693        
694        if (response.ok) {
695          if (window.guestCart && typeof window.guestCart.clear === 'function') {
696            window.guestCart.clear();
697          }
698          
699          window.location.href = '/login?logged_out=1';
700        } else {
701          console.error('Logout failed');
702          window.location.href = '/logout';
703        }
704      } catch (error) {
705        console.error('Logout error:', error);
706        window.location.href = '/logout';
707      }
708    });
709  }
710
711  const wishlistBtn = document.getElementById('wishlistBtn');
712  const notifBtn = document.getElementById('notifBtn');
713  
714  if (wishlistBtn) {
715    wishlistBtn.addEventListener('click', function(e) {
716      e.preventDefault();
717      alert('Fitur wishlist akan segera tersedia!');
718    });
719  }
720  
721  if (notifBtn) {
722    notifBtn.addEventListener('click', function(e) {
723      e.preventDefault();
724      alert('Fitur notifikasi akan segera tersedia!');
725    });
726  }
727})();
728
729// ========== MOBILE BOTTOM NAVIGATION ==========
730(function initBottomNav() {
731  // Sync cart badge with bottom nav
732  function syncBottomCartBadge() {
733    const mainBadge = document.getElementById('cartCount');
734    const bottomBadge = document.getElementById('bottomCartCount');
735    if (mainBadge && bottomBadge) {
736      const count = mainBadge.textContent;
737      bottomBadge.textContent = count;
738      bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none';
739    }
740  }
741
742  // Sync compare badge with bottom nav
743  function syncBottomCompareBadge() {
744    const mainBadge = document.getElementById('compareCount');
745    const bottomBadge = document.getElementById('bottomCompareCount');
746    if (mainBadge && bottomBadge) {
747      const count = mainBadge.textContent;
748      bottomBadge.textContent = count;
749      bottomBadge.style.display = parseInt(count) > 0 ? 'flex' : 'none';
750    }
751  }
752
753  // Initial sync
754  syncBottomCartBadge();
755  syncBottomCompareBadge();
756
757  // Observe badge changes
758  const observer = new MutationObserver(function() {
759    syncBottomCartBadge();
760    syncBottomCompareBadge();
761  });
762
763  const cartBadge = document.getElementById('cartCount');
764  const compareBadge = document.getElementById('compareCount');
765  
766  if (cartBadge) observer.observe(cartBadge, { childList: true, characterData: true, subtree: true });
767  if (compareBadge) observer.observe(compareBadge, { childList: true, characterData: true, subtree: true });
768
769  // Bottom Cart Button
770  const bottomCartBtn = document.getElementById('bottomCartBtn');
771  if (bottomCartBtn) {
772    bottomCartBtn.addEventListener('click', function(e) {
773      e.preventDefault();
774      
775      const checkLogin = () => {
776        return window.isUserLoggedIn ? window.isUserLoggedIn() : false;
777      };
778      
779      if (checkLogin()) {
780        window.location.href = '/keranjang';
781      } else {
782        showCartLoginModal();
783      }
784    });
785  }
786
787  // Bottom Compare Button
788  const bottomCompareBtn = document.getElementById('bottomCompareBtn');
789  if (bottomCompareBtn) {
790    bottomCompareBtn.addEventListener('click', function(e) {
791      e.preventDefault();
792      
793      // Close chat widget if open
794      if (window.plazaChat && window.plazaChat.isWidgetOpen) {
795        window.plazaChat.closeWidget();
796      }
797      
798      const mainCompareBtn = document.getElementById('compareBtn');
799      if (mainCompareBtn) {
800        mainCompareBtn.click();
801      }
802    });
803  }
804
805  // Bottom Category Button - triggers mega menu
806  const bottomCategoryBtn = document.getElementById('bottomCategoryBtn');
807  if (bottomCategoryBtn) {
808    bottomCategoryBtn.addEventListener('click', function(e) {
809      e.preventDefault();
810      // Trigger desktop mega menu
811      const desktopTrigger = document.querySelector('.mm2-trigger:not(#bottomCategoryBtn)');
812      if (desktopTrigger) {
813        desktopTrigger.click();
814      }
815    });
816  }
817
818  // Bottom Login Button
819  const bottomLoginBtn = document.getElementById('bottomLoginBtn');
820  if (bottomLoginBtn) {
821    bottomLoginBtn.addEventListener('click', function(e) {
822      e.preventDefault();
823      window.location.href = '/login';
824    });
825  }
826
827  // Bottom Chat Button
828  const bottomChatBtn = document.getElementById('bottomChatBtn');
829  if (bottomChatBtn) {
830    bottomChatBtn.addEventListener('click', function(e) {
831      e.preventDefault();
832      
833      // Trigger chat widget (try multiple times if needed)
834      const triggerChat = () => {
835        const chatToggle = document.getElementById('chat-toggle-btn');
836        if (chatToggle) {
837          chatToggle.click();
838          return true;
839        }
840        return false;
841      };
842      
843      // Immediate attempt
844      if (!triggerChat()) {
845        // Retry after 100ms if not found
846        setTimeout(() => {
847          if (!triggerChat()) {
848            // Last resort: manually show popup
849            const popup = document.getElementById('chat-popup');
850            if (popup) {
851              popup.style.display = 'block';
852            }
853          }
854        }, 100);
855      }
856    });
857  }
858
859  // Sync chat unread badge
860  function syncBottomChatBadge() {
861    const chatBadge = document.getElementById('chat-unread-badge');
862    const bottomChatBadge = document.getElementById('bottomChatCount');
863    if (chatBadge && bottomChatBadge) {
864      const count = chatBadge.textContent;
865      bottomChatBadge.textContent = count;
866      bottomChatBadge.style.display = chatBadge.style.display;
867    }
868  }
869
870  // Observe chat badge changes
871  const chatBadge = document.getElementById('chat-unread-badge');
872  if (chatBadge) {
873    observer.observe(chatBadge, { attributes: true, childList: true, characterData: true, subtree: true });
874    syncBottomChatBadge();
875  }
876
877  // Active state management based on current page
878  function updateActiveState() {
879    const currentPath = window.location.pathname;
880    const bottomNavItems = document.querySelectorAll('.bottom-nav-item');
881    
882    bottomNavItems.forEach(item => {
883      item.classList.remove('active');
884      
885      const itemId = item.id;
886      const page = item.getAttribute('data-page');
887      const href = item.getAttribute('href');
888      
889      // Check by ID for specific pages
890      if (itemId === 'bottomHomeBtn' && currentPath === '/') {
891        item.classList.add('active');
892      } else if (itemId === 'bottomCartBtn' && (currentPath === '/keranjang' || currentPath === '/cart')) {
893        item.classList.add('active');
894      } else if (itemId === 'bottomProfileBtn' && currentPath.startsWith('/profile')) {
895        item.classList.add('active');
896      } else if (itemId === 'bottomCategoryBtn' && currentPath.startsWith('/kategori')) {
897        item.classList.add('active');
898      } else if (itemId === 'bottomCompareBtn' && currentPath === '/compare') {
899        item.classList.add('active');
900      } else if (itemId === 'bottomChatBtn' && currentPath === '/chat') {
901        item.classList.add('active');
902      }
903      // Fallback: check by data-page attribute
904      else if (page === 'home' && currentPath === '/') {
905        item.classList.add('active');
906      } else if (page === 'profile' && currentPath.startsWith('/profile')) {
907        item.classList.add('active');
908      }
909      // Fallback: check by href
910      else if (href && currentPath === href) {
911        item.classList.add('active');
912      }
913    });
914  }
915
916  // Update active state on load
917  updateActiveState();
918
919  // Bottom nav always visible - auto-hide disabled for better UX
920  // const bottomNav = document.querySelector('.bottom-nav');
921  // if (bottomNav && window.innerWidth <= 640) {
922  //   // Auto-hide feature disabled
923  // }
924})();
925// Cart Login Modal Handler (Global scope)
926function showCartLoginModal() {
927  const modal = document.getElementById('cartLoginModal');
928  if (!modal) return;
929  
930  modal.classList.add('show');
931  
932  const confirmBtn = document.getElementById('cartLoginConfirm');
933  const registerBtn = document.getElementById('cartRegisterBtn');
934  const cancelBtn = document.getElementById('cartLoginCancel');
935  
936  const handleLogin = () => {
937    window.location.href = '/login?return=' + encodeURIComponent('/keranjang');
938  };
939  
940  const handleRegister = () => {
941    window.location.href = '/register?return=' + encodeURIComponent('/keranjang');
942  };
943  
944  const handleCancel = () => {
945    modal.classList.remove('show');
946    confirmBtn.removeEventListener('click', handleLogin);
947    registerBtn.removeEventListener('click', handleRegister);
948    cancelBtn.removeEventListener('click', handleCancel);
949  };
950  
951  confirmBtn.removeEventListener('click', handleLogin);
952  registerBtn.removeEventListener('click', handleRegister);
953  cancelBtn.removeEventListener('click', handleCancel);
954  
955  confirmBtn.addEventListener('click', handleLogin);
956  registerBtn.addEventListener('click', handleRegister);
957  cancelBtn.addEventListener('click', handleCancel);
958  
959  modal.addEventListener('click', (e) => {
960    if (e.target === modal) {
961      handleCancel();
962    }
963  });
964}
965</script>
vendor: 1 bytes, line 965
965
966<script src="https://plazait.b-cdn.net/assets/js/cart-badge.js" defer nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
966
967
968<!-- Product Compare Sidebar -->
969<div class="compare-sidebar" id="compareSidebar">
970  <div class="compare-header">
971    <h4 class="compare-title">
972      <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
973        <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"/>
974      </svg>
975      Bandingkan Produk
976      <span class="compare-count" id="compareCountSidebar">(0)</span>
977    </h4>
978    <button class="compare-close" id="compareClose" aria-label="Tutup">
979      <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
980        <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"/>
981      </svg>
982    </button>
983  </div>
984  
985  <div class="compare-content">
986    <div class="compare-empty" id="compareEmpty">
987      <div class="empty-icon">
988        <svg width="48" height="48" viewBox="0 0 24 24" fill="currentColor" opacity="0.3">
989          <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"/>
990        </svg>
991      </div>
992      <h5>Belum ada produk dipilih</h5>
993      <p>Pilih produk yang ingin dibandingkan dengan klik tombol "Bandingkan Produk" di halaman produk.</p>
994    </div>
995    
996    <div class="compare-list" id="compareList">
997      <!-- Products will be populated here -->
998    </div>
999  </div>
1000  
1001  <div class="compare-actions" id="compareActions">
1002    <button class="btn btn-outline-danger btn-sm" id="compareClearAll">
1003      <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
1004        <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"/>
1005      </svg>
1006      Hapus Semua
1007    </button>
1008    <button class="btn btn-primary btn-sm" id="compareAnalyze" disabled>
1009      <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
1010        <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"/>
1011      </svg>
1012      Analisis AI
1013    </button>
1014  </div>
1015  
1016  <!-- AI Disclaimer in Sidebar -->
1017  <div class="compare-disclaimer">
1018    <div class="ai-disclaimer">
1019      <div class="disclaimer-text">
1020        <strong>💡 Catatan:</strong> Analisis ini dihasilkan secara otomatis dan dapat memiliki keterbatasan.
1021        Gunakan sebagai referensi tambahan dengan tetap mempertimbangkan kebutuhan Anda.
1022        Untuk informasi lebih lanjut, silakan hubungi tim PUBTOGEL.
1023      </div>
1024    </div>
1025  </div>
1026</div><link rel="stylesheet" href="https://plazait.b-cdn.net/assets/css/pd-lightbox.css">
1027<style>.paylater-promo{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#f0fcfd 0,#dcfafc 100%);border:1px solid #86efef;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:#0155a3;font-weight:600}.paylater-text small{color:#0155a3;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:#0155a3;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;
1027cursor: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:#078de6;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,#078de6,#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>
1028<style nonce="se3iyzEHMc9FQEB4wSyd0w==">
1029.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;
1029display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#648b8b;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}
1030
1031.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)}}
1032
1033.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:#64868b;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}
1034
1035.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:#078de6;margin:0}
1036
1037.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)}
1038
1039.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}
1040.pd-share-icon-whatsapp{background:linear-gradient(135deg,#078de6 0%,#0155a3 100%);color:#fff}
1041.pd-share-icon-facebook{background:linear-gradient(135deg,#078de6 0%,#0155a3 100%);color:#fff}
1042.pd-share-icon-twitter{background:linear-gradient(135deg,#078de6 0%,#0155a3 100%);color:#fff}
1043.pd-share-icon-telegram{background:linear-gradient(135deg,#078de6 0%,#0155a3 100%);color:#fff}
1044.pd-share-icon-email{background:linear-gradient(135deg,#078de6 0%,#0155a3 100%);color:#fff}
1045.pd-share-icon-copy{background:linear-gradient(135deg,#078de6 0%,#0155a3 100%);color:#fff}
1046.pd-share-icon-pdf{background:linear-gradient(135deg,#078de6 0%,#0155a3 100%);color:#fff}
1047.pd-share-name{font-size:12px;font-weight:600;color:#696447;text-align:center}
1048.pd-share-copy-section{background:#f8fafc;padding:16px;border-radius:12px}
1049.pd-share-copy-input-wrap{display:flex;gap:8px}
1050.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}
1051.pd-share-copy-input:focus{outline:0;border-color:#078de6;box-shadow:0 0 0 3px rgba(14,165,233,.1)}
1052.pd-share-copy-btn{padding:12px 20px;border:0;border-radius:10px;background:linear-gradient(135deg,#078de6 0%,#078de6 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}
1053.pd-share-copy-btn:hover{background:linear-gradient(135deg,#078de6 0%,#0155a3 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(14,165,233,.3)}
1053
1054.pd-share-copy-btn:active{transform:translateY(0)}.pd-share-copy-btn svg{width:16px;height:16px}
1055.pd-share-copy-btn.copied{background:linear-gradient(135deg,#078de6 0%,#0155a3 100%);pointer-events:none}
1056
1057@media(max-width:640px){.pd-share-modal{border-radius:20px 20px 0 0;margin-top:auto;max-height:85vh}
1058.pd-share-grid{grid-template-columns:repeat(3,1fr)}.pd-share-header{padding:16px 20px}
1059.pd-share-body{padding:20px}.pd-share-btn{width:36px;height:36px}
1060.pd-share-btn svg{width:18px;height:18px}}@media(max-width:480px){
1061    .pd-share-grid{grid-template-columns:repeat(3,1fr);gap:10px}
1062    .pd-share-option{padding:12px 6px}.pd-share-icon{width:36px;height:36px}
1063    .pd-share-icon svg{width:20px;height:20px}.pd-share-name{font-size:11px}}
1064.mf-share{background:#fff;color:#078de6;border:2px solid #078de6;display:inline-flex;align-items:center;justify-content:center}
1065.mf-share:active{transform:scale(.95)}.mf-share svg{display:block}
1066
1067@media(max-width:640px){.pd-share-btn{display:none!important}}
1068
1069.stock-badge.in{background:#e6f9ec;color:#0155a3;border-radius:999px;padding:4px 10px;font-weight:700}
1070.stock-badge.out{background:#fee2e2;color:#078de6;border-radius:999px;padding:4px 10px;font-weight:700}
1071
1072.stock-info-btn{--c:#078de6;--b:#bae6fd;--bg:#f0f9ff;--bg-h:#e0f2fe;--b-h:#078de6;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}
1073
1074.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
1075}.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}
1076
1077.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,#60fa7a);
1077display:inline-block}.sp-label{font-weight:600;font-size:13px}
1078
1079
1080.sp-qty{grid-column:2;justify-self:end;min-width:40px;text-align:right;font-weight:800;font-size:13px;color:#cfe4ff;font-variant-numeric:tabular-nums}
1081
1082.sp-wa{
1083  grid-column:3; justify-self:end;
1084  width:32px; height:32px; min-width:32px; min-height:32px;
1085  box-sizing:border-box;
1086  padding:0; line-height:0; text-decoration:none; outline:0;
1087  display:inline-flex; align-items:center; justify-content:center;
1088  border-radius:999px; border:1px solid #0155a3;  /* 1px untuk hasil “crisp” */
1089  background:rgba(211, 37, 37, 0.08); color:#078de6;
1090  transition:background-color .15s ease, border-color .15s ease, transform .05s ease;
1091  -webkit-tap-highlight-color:transparent;
1092}
1093.sp-wa:hover{background:rgba(37,211,102,.16);border-color:#0155a3}
1094.sp-wa:active{transform:translateY(.5px) scale(.98)}
1095
1096.sp-wa svg{width:18px;height:18px;display:block;vertical-align:middle}
1097.stock-popover a{text-decoration:none}
1098
1099#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}}
1100
1101.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:#10b9b9}.stock-dot.low{background:#078de6}.stock-dot.out{background:#078de6}
1102.stock-dot:hover{transform:scale(1.2);transition:transform 0.2s ease}@media(max-width:640px){
1103    .stock-dot{width:7px;height:7px;bottom:6px;right:6px}}
1104
1105.pd-related-card .spec-chips{font-size:11px;color:#64748b;margin:4px 0 6px 0;line-height:1.3;font-weight:500}
1106.pd-related-card .spec-chips .spec-divider{margin:0 4px;opacity:0.6}@media(max-width:640px){
1107    .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}}
1108
1109.pwp-trigger-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 4px;background:linear-gradient(135deg,#078de6 0%,#078de6 100%);color:#0155a3;border-radius:6px;font-size:.65rem;font-weight:600;border:0}.pwp-trigger-badge svg{flex-shrink:0;width:12px;height:12px}
1110.pwp-deals-section{margin:0;padding:12px;background:linear-gradient(135deg,#fee0c7 0%,#078de6 100%);border-radius:12px;border:2px solid #078de6}.pwp-deals-header{display:flex;gap:10px;margin-bottom:10px}.pwp-icon{flex-shrink:0;color:#078de6;width:18px;height:18px}.pwp-text .pwp-title{margin:0 0 2px 0;font-size:14px;font-weight:700;color:#0155a3}.pwp-text .pwp-subtitle{margin:0;font-size:11px;color:#0155a3;opacity:0.9}.pwp-deals-loading{text-align:center;padding:40px 0;color:#0155a3}.pwp-spinner{width:40px;height:40px;border:3px solid #24c9fb;border-top-color:#078de6;border-radius:50%;animation:spin 0.8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}
1111.pwp-deals-grid{display:flex;flex-direction:column;gap:6px}.pwp-deal-card{background:#fff;border-radius:6px;overflow:hidden;border:1px solid #078de6;display:flex;align-items:center;padding:8px;gap:10px}.pwp-deal-card:hover{background:#c7f6fe}.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:#0155a3;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:#0f272a;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:#0155a3;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#078de6;font-size:11px;color:#0c4a6e;border-radius:4px}
1112@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}}
1113
1114.preorder-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:linear-gradient(135deg,#078de6 0%,#0155a3 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 #b5effd;border-radius:12px}.preorder-info-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.preorder-info-icon{width:20px;height:20px;color:#3ae7ed;flex-shrink:0}.preorder-info-title{font-size:14px;font-weight:700;color:#2193b6;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:#218da8;font-weight:600}.preorder-info-value{color:#218cb6;font-weight:700}.preorder-info-value.highlight{color:#0155a3;font-size:14px}.preorder-info-note{margin-top:10px;padding:8px 10px;background:#c7f6fe;border-left:2px solid #078de6;font-size:12px;color:#0f6c78;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}}
1115</style>
1116
1117<div class="pd-sticky-header" id="pd-sticky-header"><div class="pd-sticky-header-container"><div class="pd-sticky-thumb"><img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" id="pd-sticky-thumb-img"></div><div class="pd-sticky-info"><h2 class="pd-sticky-title" id="pd-sticky-title">PUBTOGEL X HONGKONG | Situs Togel Hongkong Terbaru Terpercaya & Bandar Togel Online Terbaru Masa Kini</h2><div class="pd-sticky-price-row"><span class="pd-sticky-price" id="pd-sticky-price">Rp 20.720,-</span><span class="pd-sticky-price-original" id="pd-sticky-price-original">Rp 1.000.000</span><span class="pd-sticky-discount" id="pd-sticky-discount">-99.5%</span></div></div><div class="pd-sticky-actions"><button type="button" class="pd-sticky-share-btn" id="pd-sticky-share-btn" aria-label="Bagikan produk" title="Bagikan"><svg viewBox="0 0 24 24" width="16" height="16" aria-hidden="true">
1117<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>
1118
1119<main class="product-single product-single--v3"><nav class="pd-breadcrumb" aria-label="breadcrumb">
1120    <a href="https://clinicadolutowordpress.com/">TOGEL ONLINE</a><span>/
1121
1122</span><a href="https://clinicadolutowordpress.com/">PUBTOGEL DAFTAR</a><span>/
1123
1124</span><a href="https://clinicadolutowordpress.com/">PUBTOGEL ALTERNATIF</a><span>/
1125
1126</span><a href="https://clinicadolutowordpress.com/">PUBTOGEL LOGIN</a><span>/
1127
1128</span><a href="https://clinicadolutowordpress.com/">SITUS TERPERCAYA</a><span>/
1129
1130</span><span class="current">PUBTOGEL X HONGKONG | Situs Togel Hongkong Terbaru Terpercaya & Bandar Togel Online Terbaru Masa Kini
1131
1132</span></nav>
1133
1134<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://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" data-slug="" loading="eager">
1135</figure>
1136
1137<div class="pd-mobile-slider-wrapper">
1138<div class="pd-mobile-slider" id="pd-mobile-slider" aria-label="Galeri gambar (geser)"><div class="pd-mslide"><img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" loading="eager"></div><div class="pd-mslide"><img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" loading="lazy"></div><div class="pd-mslide"><img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" loading="lazy"></div><div class="pd-mslide"><img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" loading="lazy"></div><div class="pd-mslide"><img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" loading="lazy"></div><div class="pd-mslide"><img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" loading="lazy"></div></div><div class="pd-gallery-counter" id="pd-gallery-counter">1/6</div></div>
1139<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://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" data-alt="PUBTOGEL" data-slug="" aria-label="Gambar 1"><img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" data-alt="PUBTOGEL" data-slug="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" aria-label="Gambar 2"><img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" data-alt
1139="PUBTOGEL" 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://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" data-alt="PUBTOGEL" 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://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" data-alt="PUBTOGEL" 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://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" loading="lazy"></button><button type="button" class="pd-thumb-btn " data-full="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" data-alt="PUBTOGEL" 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://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" 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">
1140        <h1 class="pd-title" id="pd-title">PUBTOGEL X HONGKONG | Situs Togel Hongkong Terbaru Terpercaya & Bandar Togel Online Terbaru Masa Kini</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>
1141<div id="pd-price-anchor">
1142</div>
1143<div class="pd-price-qr-container">
1144        <div class="pd-price-block" id="pd-price-block">
1145                <div class="pd-price-row">
1146                        <span class="pd-price-current" id="pd-price-current" >Rp 20.720</span>
1147                        <span class="pd-price-original" id="pd-price-original">Rp 400.404</span>
1148                        <span class="pd-discount-badge" id="pd-discount-badge">-95.00%</span></div>
1149                        <div class="pd-meta-row">
1150                                <span class="sold-inline" id="pd-sold-inline" data-role="sold-chip">Terjual Terjual 99+</span>
1151                                <span class="pwp-trigger-badge" id="pwp-trigger-badge" hidden>
1152                                        <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor">
1153                                                <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>
1154                                                <div class="pd-meta-inline"><span class="stock-badge out" id="pd-stock-badge">PUBTOGEL</span>
1155                                                        <span class="sku">SKU: <span id="pd-sku">456123748900</span></span></div>
1156<div class="paylater-promo paylater-promo-sm paylater-mobile-only">
1157    <span class="paylater-icon">💳</span>
1158    <span class="paylater-text">
1159        <strong>Autorized PUBTOGEL</strong>
1160        <small>PUBTOGEL</small>
1161    </span>
1162</div>
1163
1164<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">
1164<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">
1165<li class="sp-item"><div class="sp-left"><span class="sp-dot" style="--dot:#33f3e9;"></span><span class="sp-label">SITUS TERPERCAYA</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>
1166                
1167                    <li class="sp-item">
1168                      <div class="sp-left">
1169                        <span class="sp-dot" style="--dot:#34d3c6;"></span>
1170                        <span class="sp-label">Bandung Fair</span>
1171                      </div>
1172                      <span class="sp-qty" id="sp-qty-mdf">0</span>
1173                      <a class="sp-wa"
1174                         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"
1175                         target="_blank" rel="noopener" aria-label="WhatsApp Medan Fair">
1176                        <svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
1177                            <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"/>
1178                          </svg>
1179                      </a>
1180                    </li>
1181                
1182                    <li class="sp-item">
1183                      <div class="sp-left">
1184                        <span class="sp-dot" style="--dot:#34d3c6;"></span>
1185                        <span class="sp-label">Bandung</span>
1186                      </div>
1187                      <span class="sp-qty" id="sp-qty-bda">0</span>
1188                      <a class="sp-wa"
1189                         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"
1190                         target="_blank" rel="noopener" aria-label="WhatsApp Banda Aceh">
1191                        <svg class="ico-wa" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
1192                            <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"/>
1193                          </svg>
1194                      </a>
1195                    </li>
1196                  </ul>
1197                </div>
1198
1199                            </div>
1200            <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>
1201            </div>
1202                                    <div id="pd-variants-anchor"></div>
1203
1204                        
1205
1206            <div class="pd-compare-section">
1207                <button type="button" class="pd-compare-btn" id="pd-compare-btn" data-product-id="325">
1208                    <svg class="compare-icon" width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
1209                        <path d="M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z"/>
1210                    </svg>
1211                    <span class="compare-text">Bandingkan Produk</span>
1212                    <span class="compare-remove" hidden>
1213                        <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
1214                            <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"/>
1215                        </svg>
1216                        Hapus dari Perbandingan
1217                    </span>
1218                </button>
1219                <div class="pd-compare-info">
1220                    <small class="compare-note" id="compare-note">Bandingkan hingga 29 produk dengan bantuan AI</small>
1221                </div>
1222            </div>
1223            
1224            <div class="pd-short-desc"><p><strong>Informasi PUBTOGEL:
1225
1226            </strong></p><ul><li>Deposit Awal: Mulai Rp 10.000,-
1227            </li><li>Platform: TOGEL
1228            </li><li>Games: Togel
1229            </li><li>Currency: Rupiah (IDR)
1230            </li><li>Lisensi: Togel Resmi
1231            </li><li>Skor Pengguna: ⭐⭐⭐⭐⭐ (7.8/10)
1232            </li><li>Layanan: Customer Support Profesional
1233            </li><li>Daftar Now: <a href="https://clinicadolutowordpress.com/">PUBTOGEL</a></li></ul></div><div class="solo-container-v3 mini">
1234 
1235
1236<script>
1237
1238
1239/* ===============================
1240   INIT
1241================================ */
1242(function init(){
1243  const sel = $("#marketFilter");
1244  uniqueMarkets().forEach(m=>{
1245    const o = document.createElement("option");
1246    o.value = m; o.textContent = m;
1247    sel.appendChild(o);
1248  });
1249
1250  $("#btnsoloRandom").addEventListener("click", (e)=>{
1251    const btn = e.currentTarget;
1252    const type = $("#typeFilter").value;
1253    const filtered = applyFilters();
1254    const st = $("#soloStatus");
1255
1256    if(!filtered.length){
1257      st.textContent = "— NO MATCH —";
1258      st.style.color = "white";
1259      renderAlts([], type);
1260      $("#rMarket").textContent = "-";
1261      $("#rType").textContent = type;
1262      $("#rConf").textContent = "-";
1263      $("#rAngka").textContent = "-";
1264      $("#rBBFS").textContent = "-";
1265      $("#rIkut").textContent = "-";
1266      $("#rShio").textContent = "-";
1267      return;
1268    }
1269
1270    spinButton(btn,true);
1271    st.textContent = "— GENERATING —";
1272    st.style.animation = "pulse .6s linear infinite";
1273    st.style.color = "white";
1274
1275    const t0 = setInterval(()=>{
1276      const temp = pickRandom(filtered,1)[0];
1277      $("#rMarket").textContent = `${temp.market} (${temp.code}) • Open ${temp.open} ${temp.zone}`;
1278      $("#rType").textContent = type;
1279      $("#rConf").textContent = `${temp.conf}%`;
1280      $("#rAngka").textContent = formatAngka(type);
1281      $("#rBBFS").textContent = genBBFS();
1282      $("#rIkut").textContent = genIkut();
1283      $("#rShio").textContent = SHIO[randInt(0, SHIO.length-1)];
1284    }, 85);
1285
1286    setTimeout(()=>{
1287      clearInterval(t0);
1288
1289      const picks = pickRandom(filtered,4);
1290      renderMain(picks[0], type);
1291      renderAlts(picks.slice(1), type);
1292
1293      st.textContent = "— READY —";
1294      st.style.animation = "";
1295      st.style.color = "gold";
1296      spinButton(btn,false);
1297    }, 1200);
1298  });
1299
1300  renderAlts([], "4D");
1301})();
1302</script>
1302
1303
1304
1305                        
1306            <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>
1307        </section>
1308
1309        <aside class="pd-sidebar">
1310            <div class="pd-side-card pd-buy-card">
1311                <form class="pd-buy-form" id="pd-buy-form" data-pid="325">
1312                    <input type="hidden" name="variant_id" id="pd-variant-id" value="0">
1313                    <div>
1314                        <label for="qty" class="qty-label">Qty</label>
1315                        <input type="number" id="qty" name="qty" value="0" min="1"
1316                               max="0"
1317                               disabled>
1318                    </div>
1319                    <div class="pd-actions">
1320                        <button type="submit" class="btn-add-cart" id="btn-add-cart" disabled>+ Keranjang</button>
1321                        <button type="button" class="btn-buy" id="btn-buy" data-id="278426" disabled >Beli</button>
1322                        <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>
1323                                            </div>
1324                </form>
1325                <div class="paylater-promo paylater-promo-md paylater-desktop-only">
1326    <span class="paylater-icon">💳</span>
1327    <span class="paylater-text">
1328        <strong>Autorized PUBTOGEL</strong>
1329        <small>PUBTOGEL</small>
1330    </span>
1331</div>            </div>
1332
1333                        
1334                        <div class="pd-side-card qoala-banner-card">
1335                <div class="qoala-banner">
1336                    <div class="qoala-banner-content">
1337                        <div class="qoala-icon">
1338                            <center><img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" class="qoala-shield-img"></center>
1339                        </div>
1340                        <div class="qoala-text">
1341                            <div class="qoala-title">Login PUBTOGEL</div>
1342                            <div class="qoala-subtitle">Verified</div>
1343                        </div>
1344                    </div>
1345                    <a href="https://clinicadolutowordpress.com/" class="qoala-cta"
1346                       data-ga-event="qoala_banner_click"
1347                       data-product-id="325"
1348                       data-product-name="PUBTOGEL"
1349                       data-category-path="Komputer &amp; Laptop/Laptop/Gaming" target="_blank">Info</a>
1350                </div>
1351<style>
1352.qoala-banner-card {
1353    padding: 0;
1354    overflow: hidden;
1355}
1356
1357.qoala-banner {
1358    background: linear-gradient(135deg, #078de6 0%, #0155a3 100%);
1359    padding: 12px 16px;
1360    display: flex;
1361    align-items: center;
1362    justify-content: space-between;
1363    color: #ffffff;
1364    text-decoration: none;
1365    min-height: 60px;
1366}
1367
1368.qoala-banner-content {
1369    display: flex;
1370    align-items: center;
1371    gap: 12px;
1372}
1373
1374.qoala-icon {
1375    display: flex;
1376    align-items: center;
1377    justify-content: center;
1378}
1379
1380.qoala-shield-img {
1381    width: 36px;
1382    height: 36px;
1383    object-fit: contain;
1384    opacity: 0.9;
1385}
1386
1387.qoala-title {
1388    font-weight: 600;
1389    font-size: 14px;
1390    line-height: 1.2;
1391    color: #ffffff;
1392}
1393
1394.qoala-subtitle {
1395    font-size: 12px;
1396    opacity: 0.9;
1397    line-height: 1.2;
1398    color: #ffffff;
1399}
1400
1401.qoala-cta {
1402    background: rgba(0, 0, 0, 0.15);
1403    color: #e6e6e6;
1404    padding: 6px 12px;
1405    border-radius: 6px;
1406    font-size: 12px;
1407    font-weight: 600;
1408    text-decoration: none;
1409    transition: background 0.2s ease;
1410    border: 1px solid rgba(0, 0, 0, 0.2);
1411}
1412
1413.qoala-cta:hover {
1414    background: rgba(0, 0, 0, 0.25);
1415    color: #000000;
1416}
1417
1418@media (max-width: 768px) {
1419    .qoala-banner {
1420        padding: 10px 12px;
1421    }
1422
1423    .qoala-title {
1424        font-size: 17px;
1425    }
1426
1427    .qoala-subtitle {
1428        font-size: 11px;
1429    }
1430}
1431</style>
1432            </div>
1433            
1434                        <div class="pd-side-card pd-installment-card2"
1435                 id="inst-card"
1436                 data-base-price="20789000"
1437                 data-zero-smart="0">
1438                <div class="inst-head">
1439                    <h3>FITUR PUBTOGEL</h3>
1440                                    </div>
1441
1442                <div class="inst-bank-tabs" role="tablist" aria-label="Bank">
1443                    <button type="button" class="bank-tab active" data-bank="Marketplace Cycling Apparel" aria-selected="true"> Marketplace Cycling Apparel </button>
1444                    <button type="button" class="bank-tab" data-bank="Equipment" aria-selected="false">Equipment</button>
1445                    <button type="button" class="bank-tab" data-bank="PUBTOGEL Equipment" aria-selected="false">PUBTOGEL Equipment</button>
1446                </div>
1447
1448                <ul class="inst-month-list" id="inst-month-list" aria-label="Daftar cicilan per bulan"></ul>
1449                <div class="inst-note" id="inst-zero-note" style="display:none;">0% Cicilan khusus bank terpilih*</div>
1450                <div class="inst-disclaimer">Angka estimasi. Bisa ber https://shop.clinicadolutowordpress.com/ sesuai kebijakan bank / penyedia.</div>
1451            </div>
1452            
1453            
1454
1455
1456<section class="pd-full-description cyber-mecha" id="deskripsi">
1457
1458  <h2 class="pd-full-desc-title">
1459    FAQ PUBTOGEL
1460  </h2>
1461
1462<div class="pd-full-desc-body">
1463
1464  <div class="faq-item">
1465    <div class="faq-question">Apa yang membuat PUBTOGEL dikenal sebagai bandar togel online terbaru masa kini?</div>
1466    <div class="faq-answer">
1467      PUBTOGEL mengusung teknologi platform modern dengan tampilan yang sangat intuitif, sistem server berkecepatan tinggi, serta integrasi metode transaksi digital terkini yang dirancang untuk kenyamanan pengguna era modern.
1468    </div>
1469  </div>
1470
1471  <div class="faq-item">
1472    <div class="faq-question">Apakah PUBTOGEL merupakan situs toto togel yang terpercaya dan aman?</div>
1473    <div class="faq-answer">
1474      Ya, PUBTOGEL menggunakan teknologi enkripsi data mutakhir untuk melindungi kerahasiaan informasi pengguna serta menjamin pembayaran seluruh hasil kemenangan anggota secara utuh tanpa potongan.
1475    </div>
1476  </div>
1477
1478  <div class="faq-item">
1479    <div class="faq-question">Bagaimana cara mendapatkan bocoran atau prediksi angka togel jitu di PUBTOGEL?</div>
1480    <div class="faq-answer">
1481      PUBTOGEL menyediakan fitur pendukung seperti data keluaran paito yang presisi, riwayat pengeluaran angka akurat, serta panduan analisis yang dapat dimanfaatkan pemain untuk meracik prediksi angka jitu secara mandiri.
1482    </div>
1483  </div>
1484
1485  <div class="faq-item">
1486    <div class="faq-question">Apakah situs PUBTOGEL dapat diakses dengan lancar melalui HP?</div>
1487    <div class="faq-answer">
1488      Sangat bisa. Platform PUBTOGEL didesain secara responsif dan ramah seluler (mobile-friendly), sehingga dapat diakses dengan cepat dan enteng dari berbagai jenis ponsel pintar tanpa perlu mengunduh aplikasi berat.
1489    </div>
1490  </div>
1491
1492  <div class="faq-item">
1493    <div class="faq-question">Pasaran togel apa saja yang bisa dimainkan di platform ini?</div>
1494    <div class="faq-answer">
1495      PUBTOGEL menyajikan beragam pilihan pasaran togel online resmi terlengkap, mulai dari pasaran populer dengan jadwal pengundian padat hingga pasaran internasional terkemuka yang buka setiap hari.
1496    </div>
1497  </div>
1498
1499  <div class="faq-item">
1500    <div class="faq-question">Berapa nominal minimal deposit dan transaksi di PUBTOGEL?</div>
1501    <div class="faq-answer">
1502      PUBTOGEL menyajikan beragam pilihan pasaran togel online resmi terlengkap, mulai dari pasaran populer dengan jadwal pengundian padat hingga pasaran internasional terkemuka yang buka setiap hari.
1503    </div>
1504  </div>
1505
1506</div>
1507
1508<div class="tnt-review-mecha">
1509
1510<div class="tnt-header">
1511<h2>PUBTOGEL</h2>
1512<p>Ulasan Pengunjung Mengenai Login & Daftar PUBTOGEL</p>
1513</div>
1514
1515<div class="tnt-slider" id="tntSlider">
1516
1517<div class="tnt-slide active">
1518  <div class="tnt-name">Buffon</div>
1519  <div class="tnt-comment">"Situsnya beneran modern dan enteng banget diakses dari HP. Pasang angka tebakan jadi makin praktis karena navigasinya jelas dan gak muter-muter. Pas jackpot kemarin, proses withdraw langsung masuk rekening dalam hitungan menit."</div>
1520</div>
1521
1522<div class="tnt-slide">
1523  <div class="tnt-name">Ebel Cobra</div>
1524  <div class="tnt-comment">"Sebagai orang yang sering cek data paito, PUBTOGEL ini sangat membantu. Riwayat pengeluaran angkanya akurat dan selalu update tepat waktu. Bandar togel masa kini yang beneran terpercaya dan transparan."</div>
1525</div>
1526
1527<div class="tnt-slide">
1528  <div class="tnt-name">Anang Hermansyah</div>
1529  <div class="tnt-comment">"Awalnya nyoba karena rekomendasi teman, ternyata kinerjanya mantap. Sistemnya gak pernah eror walau diakses pas jam-jam sibuk mau tutup pasaran. Sangat nyaman buat taruhan harian."</div>
1530</div>
1531
1532<div class="tnt-slide">
1533  <div class="tnt-name">Mamat Alkatiri</div>
1534  <div class="tnt-comment">"Layanan CS-nya patut diacungi jempol. Pas sempat bingung soal deposit via e-wallet, respon CS di live chat gercep banget dan ramah. Pengalaman main jadi merasa aman dan dihargai."</div>
1535</div>
1536
1537<div class="tnt-slide">
1538  <div class="tnt-name">Raffi Nagita</div>
1539  <div class="tnt-comment">"Platform terbaru ini beda dari yang lain. Tampilannya bersih, pilihan pasarannya lengkap, dan yang paling penting berapapun kemenangan kita selalu dibayar tuntas tanpa potongan sama sekali."</div>
1540</div>
1541
1542<div class="tnt-slide">
1543  <div class="tnt-name">Bambang Pamungkas</div>
1544  <div class="tnt-comment">"PUBTOGEL cocok banget buat pemain yang suka kepraktisan. Transaksi deposit dan penarikan dananya serba cepat, ditambah lagi fitur-fiturnya pas buat yang suka meracik angka jitu secara mandiri."</div>
1545</div>
1546
1547</div>
1548</div>
1549
1550  </div>
1551   </div>
1552
1553
1554<style>
1555.tnt-review-mecha{
1556  background: radial-gradient(circle at center, #03202e, #00121d);
1557  border: 2px solid #078de6;
1558  border-radius: 14px;
1559  padding: 20px;
1560  color: #e1dcff;
1561  font-family: 'Orbitron', sans-serif;
1562  position: relative;
1563  overflow: hidden;
1564  box-shadow: 
1565    0 0 25px #56b8fa99, 
1566    inset 0 0 20px #37a4fd26;
1567}
1568
1569/* scanline emas */
1570.tnt-review-mecha::before{
1571  content:"";
1572  position:absolute;
1573  inset:0;
1574  background: repeating-linear-gradient(
1575    to bottom,
1576    #68b7f71c,
1577    #62cbfc23 1px,
1578    transparent 2px,
1579    transparent 4px
1580  );
1581  pointer-events:none;
1582}
1583
1584/* efek shine jalan */
1585.tnt-review-mecha::after{
1586  content:"";
1587  position:absolute;
1588  top:0;
1589  left:-120%;
1590  width:50%;
1591  height:100%;
1592  background:linear-gradient(
1593    120deg,
1594    transparent,
1595    #078de640,
1596    transparent
1597  );
1598  transform:skewX(-20deg);
1599  animation:shineMove 4s infinite;
1600}
1601
1602/* HEADER */
1603.tnt-header h2{
1604  font-size: 18px;
1605  color:#078de6;
1606  text-shadow:
1607    0 0 8px #5fb8f3bb,
1608    0 0 18px #44a8fa73;
1609  margin-bottom:5px;
1610}
1611
1612.tnt-header p{
1613  font-size:12px;
1614  opacity:0.8;
1615  margin-bottom:15px;
1616  color:#078de6;
1617}
1618
1619/* SLIDER */
1620.tnt-slider{
1621  position:relative;
1622  height:90px;
1623}
1624
1625.tnt-slide{
1626  position:absolute;
1627  width:100%;
1628  opacity:0;
1629  transform:translateX(40px);
1630  transition:all .6s ease;
1631}
1632
1633.tnt-slide.active{
1634  opacity:1;
1635  transform:translateX(0);
1636}
1637
1638/* NAME */
1639.tnt-name{
1640  font-size:14px;
1641  color:#078de6;
1642  margin-bottom:5px;
1643  text-shadow:0 0 6px #5fb8f3bb;
1644}
1645
1646/* COMMENT */
1647.tnt-comment{
1648  font-size:13px;
1649  line-height:1.5;
1650  color:#078de6;
1651}
1652
1653/* glowing border animation */
1654@keyframes pulseGlow{
1655  0%{
1656    box-shadow: 
1657      0 0 12px #44a8fa73,
1658      inset 0 0 15px #6bbbfc1f;
1659  }
1660  50%{
1661    box-shadow: 
1662      0 0 30px #5fb8f3bb,
1663      inset 0 0 25px #ff979433;
1664  }
1665  100%{
1666    box-shadow: 
1667      0 0 12px #44a8fa73,
1668      inset 0 0 15px #91ceff1a;
1669  }
1670}
1671
1672/* shine animation */
1673@keyframes shineMove{
1674  0%{ left:-120%; }
1675  100%{ left:140%; }
1676}
1677
1678.tnt-review-mecha{
1679  animation:pulseGlow 2.8s infinite;
1680}
1681</style>
1682
1683<script>
1684let slides = document.querySelectorAll('.tnt-slide');
1685let index = 0;
1686
1687setInterval(()=>{
1688  slides[index].classList.remove('active');
1689  index = (index + 1) % slides.length;
1690  slides[index].classList.add('active');
1691}, 3000);
1692</script>
1692
1693  
1694</section>
1695
1696        <section class="pd-full-description cyber-mecha" id="deskripsi">
1697  <h2 class="pd-full-desc-title"></h2>
1698
1699  <div class="pd-full-desc-body">
1700    
1701    <div class="mecha-header">
1702      <h3>PUBTOGEL X HONGKONG | Situs Togel Hongkong Terbaru Terpercaya & Bandar Togel Online Terbaru Masa Kini</h3>
1703    </div>
1704
1705    <div class="mecha-image">
1706      <center><img src="https://i.ibb.co/ZRyqtqsJ/Chat-GPT-Image-Aug-1-2026-03-08-18-PM-removebg-preview.png" alt="PUBTOGEL" /></center>
1707    </div>
1708
1709    <div class="mecha-content">
1710      
1711    <p style="text-align: justify;">Sekarang para pecinta togel online mencari situs taruhan yang aman dan terpercaya, <a href="https://clinicadolutowordpress.com/">Pubtogel</a> hadir sebagai sumber link <a href="https://clinicadolutowordpress.com/">Toto Hk</a> Pools yang terverifikasi. Di tengah banyaknya situs taruhan online, mendapatkan akses langsung ke link resmi yang telah diuji keasliannya sangat penting untuk menghindari penipuan. Untuk mengatasi masalah ini, Pubtogel menawarkan taruhan yang jelas. Dengan menyajikan data keluaran Hk Pools secara akurat dan langsung dari sumber pusat, mereka menjamin keadilan mutlak bagi setiap pemain.</p>
1712<p style="text-align: justify;">Salah satu platform online yang memungkinkan pengguna untuk bertaruh di 76 pasar togel online di seluruh Indonesia adalah&nbsp;<a href="https://clinicadolutowordpress.com/">Pubtogel</a>. Setiap hari, <a href="https://clinicadolutowordpress.com/">bandar togel Hongkong</a> Lotto ini memberikan informasi akurat tentang hasil draw HK live. Di mana Pubtogel menawarkan link untuk menonton proses pengundian nomor toto hk dari mana saja.</p>
1713
1714  <p class="final-line">
1715    ⚔️ <span class="glow-strong">Sekarang para pecinta togel online mencari situs taruhan yang aman dan terpercaya, Pubtogel hadir sebagai sumber link Toto Hk Pools yang terverifikasi.</span> 
1716
1717  </p>
1718
1719
1720
1721    </div>
1722
1723  </div>
1724</section>
1725
1726<style>
1727@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;800&display=swap');
1728
1729.cyber-mecha {
1730  font-family: 'Orbitron', sans-serif;
1731  max-width: 900px;
1732  margin: 40px auto;
1733  padding: 25px;
1734  border-radius: 18px;
1735  background: radial-gradient(circle at top, #172027, #00111f 70%);
1736  border: 1px solid #7cadd65e;
1737  box-shadow: 
1738    0 0 18px #7cadd65e,
1739    inset 0 0 20px #7cadd65e;
1740  position: relative;
1741  overflow: hidden;
1742}
1743
1744/* scanline emas gelap */
1745.cyber-mecha::before {
1746  content: "";
1747  position: absolute;
1748  inset: 0;
1749  background: repeating-linear-gradient(
1750    to bottom,
1751    #d437370a,
1752    rgba(212, 55, 55, 0.04) 1px,
1753    transparent 1px,
1754    transparent 3px
1755  );
1756  pointer-events: none;
1757}
1758
1759/* shine lebih halus */
1760.cyber-mecha::after {
1761  content:"";
1762  position:absolute;
1763  top:0;
1764  left:-120%;
1765  width:50%;
1766  height:100%;
1767  background:linear-gradient(
1768    120deg,
1769    transparent,
1770    rgba(55, 162, 212, 0.18),
1771    transparent
1772  );
1773  transform:skewX(-20deg);
1774  animation:shineMove 5s infinite;
1775}
1776
1777.pd-full-desc-title {
1778  text-align: center;
1779  font-size: 22px;
1780  font-weight: 800;
1781  color: #74a4cc;
1782  margin-bottom: 25px;
1783  text-shadow: 
1784    0 0 6px #85b7d899,
1785    0 0 12px #7fadd366;
1786  letter-spacing: 1px;
1787}
1788
1789/* FAQ BOX */
1790.faq-item {
1791  margin-bottom: 15px;
1792  border-radius: 12px;
1793  border: 1px solid #7cb8d440;
1794  background: rgba(30, 0, 0, 0.45);
1795  backdrop-filter: blur(8px);
1796  transition: all 0.3s ease;
1797  overflow: hidden;
1798}
1799
1800.faq-item:hover {
1801  border-color: #85c5d899;
1802  box-shadow: 0 0 12px #85c5d899;
1803}
1804
1805/* QUESTION */
1806.faq-question {
1807  padding: 14px 18px;
1808  cursor: pointer;
1809  font-size: 14px;
1810  color: #078de6;
1811  position: relative;
1812}
1813
1814.faq-question::after {
1815  content: "+";
1816  position: absolute;
1817  right: 15px;
1818  color: #078de6;
1819  font-weight: bold;
1820  transition: 0.3s;
1821}
1822
1823/* ACTIVE */
1824.faq-item.active .faq-question::after {
1825  content: "−";
1826}
1827
1828/* ANSWER */
1829.faq-answer {
1830  max-height: 0;
1831  overflow: hidden;
1832  padding: 0 18px;
1833  font-size: 13px;
1834  color: #078de6;
1835  line-height: 1.6;
1836  transition: all 0.35s ease;
1837}
1838
1839.faq-item.active .faq-answer {
1840  max-height: 200px;
1841  padding: 10px 18px 18px;
1842}
1843
1844/* glow text */
1845.glow {
1846  color: #078de6;
1847  text-shadow: 
1848    0 0 6px #85c5d899,
1849    0 0 14px #269acf99;
1850}
1851
1852.glow-strong {
1853  color: #078de6;
1854  text-shadow: 
1855    0 0 8px #85c5d899,
1856    0 0 18px #269acf99
1857}
1858
1859/* animasi shine */
1860@keyframes shineMove{
1861  0%{ left:-120%; }
1862  100%{ left:140%; }
1863}
1864</style>
1865
1866
1867
1868<script>
1869document.querySelectorAll(".faq-question").forEach(q => {
1870  q.addEventListener("click", () => {
1871    const item = q.parentElement;
1872    item.classList.toggle("active");
1873  });
1874});
1875</script>
1875
1876<style>
1877@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&display=swap');
1878
1879.cyber-mecha {
1880  max-width: 800px;
1881  margin: 40px auto;
1882  background: radial-gradient(circle at top, #4986af98, #285979c5 70%);
1883  border-radius: 16px;
1884  border: 1px solid #3ab0f566;
1885  box-shadow:
1886    0 0 25px #488fca99,
1887    inset 0 0 20px #2099fd33;
1888  padding: 25px;
1889  font-family: 'Orbitron', sans-serif;
1890  color: #d8f6ff;
1891  position: relative;
1892  overflow: hidden;
1893}
1894
1895/* scanline overlay */
1896.cyber-mecha::before {
1897  content: "";
1898  position: absolute;
1899  inset: 0;
1900  background: repeating-linear-gradient(
1901    to bottom,
1902    rgba(255, 255, 255, 0.03),
1903    rgba(255, 255, 255, 0.03) 1px,
1904    transparent 1px,
1905    transparent 3px
1906  );
1907  pointer-events: none;
1908}
1909
1910.pd-full-desc-title {
1911  text-align: center;
1912  font-size: 22px;
1913  color: #0b6c92;
1914  letter-spacing: 2px;
1915  text-shadow: 0 0 12px #1fa8f7a1;
1916  margin-bottom: 20px;
1917}
1918
1919.mecha-header h3 {
1920  text-align: center;
1921  font-size: 18px;
1922  color: #0b6c92;
1923  text-shadow: 0 0 10px #1fa8f7a1;
1924  margin-bottom: 15px;
1925}
1926
1927.mecha-image img {
1928  width: 100%;
1929  border-radius: 10px;
1930  border: 1px solid #1fa8f7a1;
1931  box-shadow: 0 0 20px #1fa8f7a1;
1932  margin-bottom: 20px;
1933}
1934
1935.mecha-content p {
1936  font-size: 14px;
1937  line-height: 1.8;
1938  margin-bottom: 14px;
1939  color: #0b6c92;
1940}
1941
1942.glow {
1943  color: #4994c5a2;
1944  text-shadow: 0 0 8px #1fa8f7a1;
1945  font-weight: 600;
1946}
1947
1948.glow-strong {
1949  color: #4994c5a2;
1950  text-shadow:
1951    0 0 10px #1fa8f7a1,
1952    0 0 20px #1fa8f7a1;
1953  font-weight: 700;
1954}
1955
1956.final-line {
1957  margin-top: 18px;
1958  padding: 10px;
1959  border: 1px solid #1fa8f7a1;
1960  background: rgba(255, 115, 0, 0.08);
1961  border-radius: 8px;
1962  text-align: center;
1963}
1964</style>
1965    
1966    
1967    
1968        <section class="pd-related-full">
1969        <h2 class="pd-related-title">Produk Terkait</h2>
1970        <div class="pd-related-grid pd-related-grid--full">
1971                        <a class="pd-related-card" href="https://clinicadolutowordpress.com/">
1972                <div class="thumb">
1973                    <img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="TOGEL TERPERCAYA">
1974                    <span class="mini-disc">-95.00%</span>                </div>
1975                <div class="info">
1976                    <h3>TOGEL TERPERCAYA</h3>
1977                            <span class="price">
1978                        <span class="final">Rp 20.720</span>
1979                                                  <span class="ori">Rp 400.404</span>
1980                                            </span>
1981                    <span class="sold">Terjual 888+</span>                    <span class="stock-dot low" title="Stok Terbatas"></span>
1982                </div>
1983            </a>
1984                        <a class="pd-related-card" href="https://clinicadolutowordpress.com/">
1985                <div class="thumb">
1986                    <img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="TOTO TERPERCAYA">
1987                    <span class="mini-disc">-90%</span>                </div>
1988                <div class="info">
1989                    <h3>TOTO TERPERCAYA</h3>
1990                       <span class="price">
1991                        <span class="final">Rp 20.720</span>
1992                                                  <span class="ori">Rp 400.404</span>
1993                                            </span>
1994                    <span class="sold">Terjual 888+</span>                    <span class="stock-dot out" title="Habis"></span>
1995                </div>
1996            </a>
1997                        <a class="pd-related-card" href="https://clinicadolutowordpress.com/">
1998                <div class="thumb">
1999                    <img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="TOTO TOGEL">
2000                    <span class="mini-disc">-90%</span>                </div>
2001                <div class="info">
2002                    <h3>TOTO TOGEL</h3>
2003                  <span class="price">
2004                        <span class="final">Rp 20.720</span>
2005                                                  <span class="ori">Rp 400.404</span>
2006                                            </span>
2007                    <span class="sold">Terjual 888+</span>                    <span class="stock-dot ready" title="Ready"></span>
2008                </div>
2009            </a>
2010                        <a class="pd-related-card" href="https://clinicadolutowordpress.com/">
2011                <div class="thumb">
2012                    <img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL LOGIN">
2013                    <span class="mini-disc">-90%</span>                </div>
2014                <div class="info">
2015                    <h3>PUBTOGEL LOGIN</h3>
2016                   <span class="price">
2017                        <span class="final">Rp 20.720</span>
2018                                                  <span class="ori">Rp 400.404</span>
2019                                            </span>
2020                    <span class="sold">Terjual 888+</span>                    <span class="stock-dot ready" title="Ready"></span>
2021                </div>
2022            </a>
2023                        <a class="pd-related-card" href="https://clinicadolutowordpress.com/">
2024                <div class="thumb">
2025                    <img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL DAFTAR">
2026                    <span class="mini-disc">-90%</span>                </div>
2027                <div class="info">
2028                    <h3>PUBTOGEL DAFTAR</h3>
2029                  <span class="price">
2030                        <span class="final">Rp 20.720</span>
2031                                                  <span class="ori">Rp 400.404</span>
2032                                            </span>
2033                    <span class="sold">Terjual 888+</span>                    <span class="stock-dot low" title="Stok Terbatas"></span>
2034                </div>
2035            </a>
2036                        <a class="pd-related-card" href="https://clinicadolutowordpress.com/">
2037                <div class="thumb">
2038                    <img src="https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL ALTERNATIF">
2039                    <span class="mini-disc">-90%</span>                </div>
2040                <div class="info">
2041                    <h3>PUBTOGEL ALTERNATIF</h3>
2042                 <span class="price">
2043                        <span class="final">Rp 20.720</span>
2044                                                  <span class="ori">Rp 400.404</span>
2045                                            </span>
2046                                        <span class="stock-dot low" title="Stok Terbatas"></span>
2047                </div>
2048            </a>
2049                        
2050                    </div>
2051    </section>
2052    
2053    <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">
2053<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>
2054
2055    <button type="button"
2056            class="pd-scroll-top"
2057            id="pd-scroll-top"
2058            aria-label="Kembali ke atas"
2059            title="Kembali ke atas">
2060        <svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true">
2061            <path fill="currentColor" d="M7.41 14.59 12 10l4.59 4.59L18 13.17l-6-6-6 6z"/>
2062        </svg>
2063    </button>
2064</main>
2065
2066<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://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png" alt="PUBTOGEL" class="pd-share-preview-img"><div class="pd-share-preview-info"><h3 class="pd-share-preview-name">PUBTOGEL</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">
2066<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"><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://clinicadolutowordpress.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>
2067
2068<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:#078de6;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 #078de6}.toast.warn{border-left:4px solid #078de6}.toast .progress{position:absolute;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#60fa7a,#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>
2069<style>
2070.toast .msg { word-break: break-word; overflow-wrap: anywhere; }
2071
2072.toast-root { bottom: max(12px, env(safe-area-inset-bottom, 12px)); }
2073
2074@media (max-width: 540px) {
2075  .toast-root {
2076    left: 0; right: 0; transform: none;
2077    padding: 0 12px;
2078    bottom: calc(max(12px, env(safe-area-inset-bottom, 12px)) + var(--fab-offset, 72px));
2079    max-width: none;
2080  }
2081  .toast {
2082    grid-template-columns: 1fr; /* 1 kolom */
2083    position: relative;
2084    padding: 14px 14px 12px 14px;
2085    border-radius: 16px;
2086  }
2087  .toast .ico {
2088    position: absolute; left: 14px; top: 14px;
2089    margin: 0; transform: translateY(1px);
2090  }
2091  .toast .cnt { padding-left: 34px; }
2092  .toast .ttl { font-size: 15px; margin-bottom: 6px; }
2093  .toast .msg { font-size: 13px; opacity: .96; }
2094  .toast .actions {
2095    margin-top: 12px; gap: 10px; width: 100%;
2096    display: grid; grid-template-columns: 1fr 1fr;
2097  }
2098  .toast .btn { width: 100%; min-width: 0; padding: 10px 0; }
2099  .toast .close { position: absolute; right: 6px; top: 6px; }
2100}
2101</style>
2102
2103<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
2104(function adjustToastFabOffset(){
2105  const root = document.getElementById('toastRoot');
2106  if (!root) return;
2107
2108  function isVisible(el){
2109    if (!el) return false;
2110    const cs = getComputedStyle(el);
2111    if (cs.display === 'none' || cs.visibility === 'hidden' || cs.opacity === '0') return false;
2112    const r = el.getBoundingClientRect();
2113    return r.width > 0 && r.height > 0;
2114  }
2115
2116  function update(){
2117    const fab = document.getElementById('pd-mobile-fab');
2118    let extra = 16;
2119    if (isVisible(fab)) {
2120      const h = Math.round(fab.getBoundingClientRect().height) || 56;
2121      extra = h + 16; // FAB height + margin
2122    }
2123    root.style.setProperty('--fab-offset', extra + 'px');
2124  }
2125
2126  window.addEventListener('resize', update, { passive: true });
2127  const fab = document.getElementById('pd-mobile-fab');
2128  if (window.ResizeObserver && fab) {
2129    const ro = new ResizeObserver(update);
2130    ro.observe(fab);
2131  }
2132  
2133  update();
2134})();
2135</script>
2135
2136<div class="toast-root" id="toastRoot" aria-live="polite" aria-atomic="true"></div>
2137
2138<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="#078de6"><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="#078de6"><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="#078de6"/></svg>'}
2139window.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>`;
2140
2141    const close = ()=> {
2142      if (!el.parentNode) return;
2143      el.style.transition = 'transform .2s ease, opacity .2s ease';
2144      el.style.opacity = '0'; el.style.transform = 'translateY(10px)';
2145      setTimeout(()=>{ if (el.parentNode) el.parentNode.removeChild(el); }, 220);
2146    };
2147
2148    el.querySelector('.close').addEventListener('click', close);
2149    el.querySelectorAll('.actions .btn').forEach(btn=>{
2150      btn.addEventListener('click', ()=>{
2151        const lab = btn.getAttribute('data-act');
2152        try {
2153          (o.actions||[]).forEach(a=>{ if (a.label===lab && typeof a.onClick==='function') a.onClick(); });
2154        } catch(_){}
2155        close();
2156      });
2157    });
2158
2159    root.appendChild(el);
2160    setTimeout(close, o.duration);
2161    return el;
2162  };
2163})();
2164
2165const _0x1a2b=[{"url":"https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png","alt":"Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y","slug":""},{"url":"https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png"},{"url":"https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-223.webp"},{"url":"https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-776.webp"},{"url":"https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-634.webp"},{"url":"https://i.ibb.co/8JfyNGw/Chat-GPT-Image-Aug-3-2026-08-37-19-AM.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8as
2165p2-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="456123748900";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(' / '):''}
2166function encodeVariantHash(id){if(!id||id<=0)return '';const xor=id^0x4A5D;return xor.toString(36)}
2167function decodeVariantHash(hash){if(!hash)return 0;const xor=parseInt(hash,36);return isNaN(xor)?0:xor^0x4A5D}
2168
2169function 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:"456123748900",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})}
2170
2171function executeBuyNowLegacy(id,variantId){const a=getVariantSummaryText(),b=(function(){const c=document.getElementById('pd-sku');return c?c.textContent.trim():_0x5e6f})();
2172
2173    let willRedirect = false;
2174    try {
2175        if (window.addToCart) {
2176            window.addToCart(id, 1, variantId);
2177            willRedirect = false;
2178        }
2179    } catch(_){}
2180
2181    if (willRedirect) {
2182        showToast({
2183            type: 'info',
2184            title: 'Menuju Keranjang',
2185            message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`,
2186            duration: 1800
2187        });
2188        setTimeout(()=>{ window.location.href='/keranjang'; }, 1200);
2189    } else {
2190        showToast({
2191            type: 'warn',
2192            title: 'Fitur Beli Langsung Segera Hadir',
2193            message: `Sementara ini Anda bisa menambahkan produk ke keranjang terlebih dahulu.<br><strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}`,
2194            duration: 6000,
2195            actions: [
2196                { label: '+ Keranjang', onClick: ()=> { try{ if (window.addToCart) window.addToCart(id,1,variantId); }catch(_){} } },
2197                { label: 'Hubungi CS', variant: 'alt', onClick: ()=> { window.open('https://wa.me/6281380009898','_blank'); } }
2198            ]
2199        });
2200    }
2201}
2202
2203document.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)})}});
2204
2205function _0x2m3n(s){return String(s||'').replace(/[&<>"']/g,m=>({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#039;'}[m]))}
2206
2207(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')}})})();
2208
2209(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;
2209slides.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})})();
2210
2211/* ================= Simulasi Cicilan ================= */
2212(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'}
2213
2214function _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'}
2215
2216card.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)});
2217
2218window.instSetBasePrice=function(newPrice){setBasePrice(newPrice);_0x4o5p(activeBank())};_0x4o5p(activeBank());
2219})();
2220
2221/* ====== Fokus gambar varian ====== */
2222function _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 ''}}}
2223function _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}}
2224  if (c){
2225    const targetName = _0x8s9t(url);
2226    const slideImg = Array.from(c.querySelectorAll('img')).find(im => _0x8s9t(im.src) === targetName);
2227    if (slideImg){
2228      
2229      try {
2230        const container = c;
2231        const imgRect = slideImg.getBoundingClientRect();
2232        const contRect = container.getBoundingClientRect();
2233        const offsetLeft = slideImg.offsetLeft - container.offsetLeft;
2234        const center = offsetLeft - (container.clientWidth - slideImg.clientWidth) / 2;
2235        container.scrollTo({ left: Math.max(0, center), behavior: 'smooth' });
2236      } catch(_){
2237        
2238        slideImg.scrollIntoView({ behavior:'smooth', inline:'center', block:'nearest' });
2239      }
2240    }
2241  }
2242}
2243function findImageForVariant(variant){
2244  if (!variant || !variant.attrs) return null;
2245  const tokens = [];
2246  try{
2247    Object.values(variant.attrs).forEach(v=>{
2248      if (!v) return;
2249      const raw = String(v);
2250      tokens.push(raw);
2251      tokens.push(normalize(raw));
2252    });
2253  }catch(_){}
2254  if (variant.sku){
2255    tokens.push(String(variant.sku));
2256    tokens.push(normalize(String(variant.sku)));
2257  }
2258  if (variant.image_url) {
2259      tokens.push(String(variant.image_url));
2260  }
2261  let best = null;
2262  let bestScore = -1;
2263
2264  for (const g of (galleryData||[])){
2265    const slugN = normalize(g.slug||'');
2266    const altN  = normalize(g.alt||'');
2267    const file  = _0x8s9t(g.url||'');
2268    const fileN = normalize(file);
2269    const imgU  = g.url;
2270
2271    for (const t of tokens){
2272      const tN = normalize(t);
2273      if (!tN) continue;
2274
2275      let score = -1;
2276      if (imgU === tN) score = 300;
2277      if (slugN && slugN === tN) score = 300;
2278      else if (fileN && fileN.includes(tN)) score = 200;
2279      else if (altN && altN.includes(tN)) score = 120;
2280
2281      if (score > bestScore){
2282        bestScore = score;
2283        best = g;
2284      }
2285      if (bestScore >= 300) break;
2286    }
2287    if (bestScore >= 300) break;
2288  }
2289  return bestScore >= 120 ? best : null;
2290}
2291function _0xey3z(variant){const a=_0xcw2x(variant);if(a&&a.url){_0xau1v(a.url,a.alt||'')}}
2292
2293/* ====== Layout mobile ====== */
2294(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;
2295
2296    let pricePlaced = false;
2297    let varPlaced = false;
2298    let titlePlaced = false;
2299    let promoPlaced = false;
2300    const mq = window.matchMedia('(max-width: 640px)');
2301
2302    function apply(){
2303        if (mq.matches) {
2304            if (!titlePlaced && a && titleRow && d.contains(titleRow)) { try{a.appendChild(titleRow);titlePlaced=true;}catch(_){} }
2305            if (!pricePlaced && a && b) { try{a.appendChild(b);pricePlaced=true;}catch(_){} }
2306            if (!varPlaced && f && d && e) {
2307                try{
2308                    f.hidden = false;
2309                    if (i && !f.contains(i)) f.appendChild(i);
2310                    if (g && !f.contains(g)) f.appendChild(g);
2311                    if(d.contains(e))d.insertBefore(f, e);
2312                    varPlaced = true;
2313                }catch(_){}
2314            }
2315            if (!promoPlaced && promoBanner && compareSection && compareSection.parentNode) {
2316                try{
2317                    compareSection.parentNode.insertBefore(promoBanner, compareSection);
2318                    promoPlaced = true;
2319                }catch(_){}
2320            }
2321        } else {
2322            if (titlePlaced && titleRow && d) {
2323                try{
2324                    const vcombined = document.getElementById('pd-variant-combined');
2325                    if (vcombined && d.contains(vcombined)) {
2326                        d.insertBefore(titleRow, vcombined);
2327                    } else {
2328                        d.insertBefore(titleRow, d.firstChild);
2329                    }
2330                    titlePlaced=false;
2331                }catch(_){}
2332            }
2333            if (pricePlaced && b && c && c.parentNode) {
2334                try{c.parentNode.insertBefore(b, c.nextSibling);pricePlaced=false;}catch(_){}
2335            }
2336            if (varPlaced) {
2337                try{
2338                    if (i && j && j.parentNode && !j.parentNode.contains(i)) j.parentNode.insertBefore(i, j.nextSibling);
2339                    if (g && h && h.parentNode && !h.parentNode.contains(g)) h.parentNode.insertBefore(g, h.nextSibling);
2340                    if (f) { f.hidden = true; f.innerHTML = ''; }
2341                    varPlaced = false;
2342                }catch(_){}
2343            }
2344            if (promoPlaced && promoBanner && b) {
2345                try{
2346                    b.appendChild(promoBanner);
2347                    promoPlaced = false;
2348                }catch(_){}
2349            }
2350        }
2351    }
2352
2353    mq.addEventListener ? mq.addEventListener('change', apply) : mq.addListener(apply);
2354    apply();
2355
2356    const fab = document.getElementById('pd-mobile-fab');
2357    if (fab) {
2358        const pid = parseInt(fab.getAttribute('data-pid')||'0',10) || 325;
2359        const btnCart = document.getElementById('mf-cart');
2360
2361        if (btnCart) btnCart.addEventListener('click', function(){
2362            const varInput = document.getElementById('pd-variant-id');
2363            const variantId = varInput ? parseInt(varInput.value||'0',10) : 0;
2364            try { if (window.addToCart) addToCart(pid, 1, variantId); } catch(_){}
2365            const variantText = getVariantSummaryText();
2366            const skuText = (function(){ const el=document.getElementById('pd-sku'); return el?el.textContent.trim():PD_SKU; })();
2367            showToast({
2368                type: 'success',
2369                title: 'Berhasil ditambahkan ke Keranjang',
2370                message: `<strong>${escapeHtml(PD_NAME)}</strong>${variantText?` · <em>${escapeHtml(variantText)}</em>`:''}<br>SKU: ${escapeHtml(skuText)} · Qty: 1`,
2371                duration: 5000,
2372                actions: [
2373                    { label: 'Lihat Keranjang', onClick: ()=> { window.location.href = '/keranjang'; } },
2374                    { label: 'Lanjut Belanja', variant: 'alt', onClick: ()=>{} }
2375                ]
2376            });
2377        });
2378    }
2379})();
2380
2381/* ====== Auto-hide installment banner if sidebar too tall (Desktop only) ====== */
2382(function(){
2383    function adjustSidebarBanner() {
2384        if (window.innerWidth <= 768) return;
2385        const sidebar = document.querySelector('.pd-sidebar');
2386        const infoCard = document.querySelector('.pd-info-card');
2387        const banner = document.querySelector('.pd-side-card.inst-alt-banner.inst-alt-banner--compact');
2388        if (!sidebar || !infoCard || !banner) return;
2389        const sidebarHeight = sidebar.offsetHeight;
2390        const infoCardHeight = infoCard.offsetHeight;
2391        if (sidebarHeight > infoCardHeight) {
2392            banner.style.display = 'none';
2393        } else {
2394            banner.style.display = '';
2395        }
2396    }
2397    if (document.readyState === 'loading') {
2398        document.addEventListener('DOMContentLoaded', adjustSidebarBanner);
2399    } else {
2400        adjustSidebarBanner();
2401    }
2402    let resizeTimer;
2403    window.addEventListener('resize', function() {
2404        clearTimeout(resizeTimer);
2405        resizeTimer = setTimeout(adjustSidebarBanner, 250);
2406    });
2407    const pwpSection = document.getElementById('pwp-deals-section');
2408    if (pwpSection) {
2409        const observer = new MutationObserver(function(mutations) {
2410            let shouldRecheck = false;
2411            mutations.forEach(function(mutation) {
2412                if (mutation.type === 'attributes' && mutation.attributeName === 'hidden') {
2413                    shouldRecheck = true;
2414                } else if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
2415                    shouldRecheck = true;
2416                }
2417            });
2418            if (shouldRecheck) {
2419                setTimeout(adjustSidebarBanner, 100);
2420            }
2421        });
2422        observer.observe(pwpSection, {
2423            attributes: true,
2424            childList: true,
2425            subtree: true
2426        });
2427    }
2428    window.adjustSidebarBanner = adjustSidebarBanner;
2429})();
2430
2431/* ====== Global constants ====== */
2432const IS_DIGITAL=false;
2433const IS_PREORDER=false;
2434
2435/* ====== Variants state (REVISED) ====== */
2436(function initVariants(){
2437const _0x7g8h=[];window.variants=_0x7g8h;
2438window.isPreorderProduct=false;
2439    const attrOrder = [];
2440
2441    if (!variants.length || !attrOrder.length) return;
2442
2443    function comboKey(sel){
2444        return attrOrder.map(a => a + '=' + (sel[a] ?? '')).join('|');
2445    }
2446
2447    const variantMap = {};
2448    variants.forEach(v=>{
2449        const key = comboKey(v.attrs);
2450        variantMap[key] = v;
2451    });
2452
2453    function readSelection(){
2454        const sel = {};
2455        attrOrder.forEach(a=>{
2456            const r = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio]:checked`);
2457            sel[a] = r ? r.value : '';
2458        });
2459        return sel;
2460    }
2461
2462    function findVariant(sel){
2463        return variantMap[comboKey(sel)] || null;
2464    }
2465
2466    function autoFillMissing(sel){
2467        let changed = false;
2468        for (const a of attrOrder) {
2469            if (sel[a]) continue;
2470            const possible = [];
2471            const seen = new Set();
2472            variants.forEach(v=>{
2473                let ok = true;
2474                for (const a2 of attrOrder) {
2475                    if (a2 === a) continue;
2476                    if (sel[a2] && v.attrs[a2] !== sel[a2]) { ok = false; break; }
2477                }
2478                if (ok) {
2479                    const val = v.attrs[a];
2480                    if (!seen.has(val)) { seen.add(val); possible.push(val); }
2481                }
2482            });
2483            if (possible.length === 1) {
2484                const val = possible[0];
2485                const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`);
2486                if (input && !input.checked) { input.checked = true; sel[a] = val; changed = true; }
2487            }
2488        }
2489        return changed;
2490    }
2491
2492    function rupiah(n){
2493        n = parseInt(n||0,10)||0;
2494        return 'Rp ' + n.toString().replace(/\B(?=(\d{3})+(?!\d))/g,'.');
2495    }
2496    
2497    function focusGalleryByUrl(imageUrl) {
2498        const isMobile = window.matchMedia && window.matchMedia('(max-width: 640px)').matches;
2499          if (isMobile) {
2500            _0xau1v(imageUrl);
2501            return;
2502          }
2503        
2504          const gallery = document.getElementById('pd-thumb-gallery');
2505          const targetName = _0x8s9t(imageUrl);
2506        
2507          if (gallery) {
2508            const btns = Array.from(gallery.querySelectorAll('.pd-thumb-btn'));
2509            const btn = btns.find(b => _0x8s9t(b.getAttribute('data-full') || '') === targetName);
2510            if (btn) { btn.click(); return; }
2511          }
2512          
2513          _0xau1v(imageUrl);
2514    }
2515    
2516
2517function formatStockLabel(n){n=parseInt(n||0,10)||0;return(n>10)?'10+':String(n)}
2518function 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(_){}}
2519
2520    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)}
2521
2522    function applyVariant(v, focusImage = true){
2523        const elCur  = document.getElementById('pd-price-current');
2524        const elOri  = document.getElementById('pd-price-original');
2525        const elDisc = document.getElementById('pd-discount-badge');
2526        const elSku  = document.getElementById('pd-sku');
2527        const elStock= document.getElementById('pd-stock-badge');
2528        const elQty  = document.getElementById('qty');
2529        const btnAdd = document.getElementById('btn-add-cart');
2530        const btnBuy = document.getElementById('btn-buy');
2531        const hidVar = document.getElementById('pd-variant-id');
2532
2533        const mfCart= document.getElementById('mf-cart');
2534        const mfBuy = document.getElementById('mf-buy');
2535        const fab = document.getElementById('pd-mobile-fab');
2536
2537        if (hidVar) hidVar.value = v ? v.id : 0;
2538        if (elCur) elCur.textContent = rupiah(v ? v.final : 0);
2539        if (elSku && v && v.sku) elSku.textContent = v.sku;
2540
2541        if (v && v.ori > v.final) {
2542            if (elOri) { elOri.style.display='inline'; elOri.textContent = rupiah(v.ori); }
2543            if (elDisc) { elDisc.style.display='inline'; elDisc.textContent = '-' + (v.disc||0) + '%'; }
2544        } else {
2545            if (elOri) elOri.style.display='none';
2546            if (elDisc) elDisc.style.display='none';
2547        }
2548
2549        const stock = v ? (parseInt(v.stock||0,10)||0) : 0;
2550        let effectiveStock = stock;
2551        let isActivePreorder = false;
2552        if (window.isPreorderProduct && v && 'preorder_remaining' in v && v.preorder_remaining !== null) {
2553            effectiveStock = parseInt(v.preorder_remaining, 10);
2554            if (isNaN(effectiveStock)) effectiveStock = 0;
2555            isActivePreorder = true;
2556        }
2557        if (elStock){
2558            elStock.classList.remove('in','out');
2559            if (effectiveStock>0){ 
2560                elStock.classList.add('in'); 
2561                elStock.textContent = IS_DIGITAL ? 'Tersedia' : (isActivePreorder ? 'Sisa Slot: ' + effectiveStock : 'Stok: ' + formatStockLabel(effectiveStock)); 
2562            } else { 
2563                elStock.classList.add('out'); 
2564                elStock.textContent = 'Habis'; 
2565            }
2566        }
2567        if (elQty){
2568            elQty.max = String(effectiveStock>0?effectiveStock:0);
2569            if (effectiveStock<=0) { elQty.value = '0'; elQty.disabled = true; }
2570            else { if (parseInt(elQty.value||'1',10) < 1) elQty.value='1'; elQty.disabled=false; }
2571        }
2572        
2573        const shouldDisable = !(v && effectiveStock>0);
2574        const updateButtons = () => {
2575            const btnAddCart = document.getElementById('btn-add-cart');
2576            const btnBuyNow = document.getElementById('btn-buy');
2577            const mobileCart = document.getElementById('mf-cart');
2578            const mobileBuy = document.getElementById('mf-buy');
2579            [btnAddCart, btnBuyNow, mobileCart, mobileBuy].forEach(btn => {
2580                if (!btn) return;
2581                if (shouldDisable) {
2582                    btn.disabled = true;
2583                    btn.setAttribute('disabled', 'disabled');
2584                    btn.classList.add('stock-disabled');
2585                    btn.setAttribute('data-stock-blocked', 'true');
2586                    btn.setAttribute('data-stock-reason', window.isPreorderProduct ? 'Pre-order habis' : 'Stok habis');
2587                } else {
2588                    btn.disabled = false;
2589                    btn.removeAttribute('disabled');
2590                    btn.classList.remove('stock-disabled');
2591                    btn.removeAttribute('data-stock-blocked');
2592                    btn.removeAttribute('data-stock-reason');
2593                }
2594            });
2595        };
2596        updateButtons();
2597        setTimeout(updateButtons, 10);
2598        setTimeout(updateButtons, 50);
2599        setTimeout(updateButtons, 100);
2600        if (mfBuy && v) {
2601            const voucherBtn = document.getElementById('btn-buy-voucher');
2602            const voucherCode = fab ? fab.dataset.voucherCode : '';
2603            let voucherDiscount = 0;
2604            
2605            if (voucherBtn && voucherCode) {
2606                const vType = voucherBtn.dataset.voucherType;
2607                const vValue = parseFloat(voucherBtn.dataset.voucherValue) || 0;
2608                const vMax = parseFloat(voucherBtn.dataset.voucherMax) || 0;
2609                const finalPrice = v.final || 0;
2610                if (vType && vValue > 0) {
2611                    voucherDiscount = calcVoucherDisc(vType, vValue, finalPrice, vMax);
2612                    if (fab) fab.dataset.voucherValue = voucherDiscount.toString();
2613                }
2614            }
2615            
2616            const finalPrice = v.final || 0;
2617            const textEl = mfBuy.querySelector('.mf-buy-text');
2618            const priceEl = mfBuy.querySelector('.mf-buy-price');
2619            
2620            if (effectiveStock > 0) {
2621                    if (IS_PREORDER) {
2622                        if (textEl) textEl.textContent = 'Pre Order Sekarang';
2623                        if (priceEl) priceEl.textContent = rupiah(finalPrice);
2624                    } else if (voucherCode && voucherDiscount > 0) {
2625                        if (textEl) textEl.textContent = 'Beli dengan Voucher';
2626                        if (priceEl) priceEl.textContent = rupiah(Math.max(0, finalPrice - voucherDiscount));
2627                    } else {
2628                        if (textEl) textEl.textContent = 'Beli Sekarang';
2629                        if (priceEl) priceEl.textContent = rupiah(finalPrice);
2630                    }
2631                } else {
2632                    if (textEl) textEl.textContent = 'Stok Habis';
2633                    if (priceEl) priceEl.textContent = rupiah(finalPrice);
2634                }
2635            }
2636        
2637        const isMobile = window.initMobile ?? 0;
2638        if (window.instSetBasePrice) window.instSetBasePrice(v ? (isMobile == '1' ? v.ori : v.final) : 0);
2639        if (window.updateSoldBySku) window.updateSoldBySku(v.sku);
2640        updateBranchPopover(v);
2641        if (v && v.image_url && focusImage) focusGalleryByUrl(v.image_url);
2642        if (v) {
2643            window.dispatchEvent(new CustomEvent('pd-variant-changed', {
2644                detail: {
2645                    price: v.final,
2646                    originalPrice: v.ori,
2647                    discount: v.disc,
2648                    stock: effectiveStock,
2649                    sku: v.sku,
2650                    variant_id: v.id
2651                }
2652            }));
2653            
2654            const encodedHash = encodeVariantHash(v.id);
2655            if (encodedHash && window.history && window.history.replaceState) {
2656                const newHash = '#v=' + encodedHash;
2657                const newUrl = window.location.pathname + window.location.search + newHash;
2658                window.history.replaceState(null, '', newUrl);
2659            }
2660        }
2661    }
2662
2663    let sel = readSelection();
2664    if (autoFillMissing(sel)) sel = readSelection();
2665
2666    let v = findVariant(sel);
2667    if (!v) {
2668        const candidates = variants.filter(variant=>{
2669            return attrOrder.every(a=>{
2670                if (!sel[a]) return true;
2671                return variant.attrs[a] === sel[a];
2672            });
2673        });
2674        if (candidates.length >= 1) {
2675            v = candidates[0];
2676            attrOrder.forEach(a=> sel[a] = v.attrs[a]);
2677            attrOrder.forEach(a=>{
2678                const val = sel[a];
2679                const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`);
2680                if (input) input.checked = true;
2681            });
2682        }
2683    }
2684
2685    const initSel = readSelection();
2686    const initVar = findVariant(initSel) || variants[0] || null;
2687    if (document.readyState === 'loading') {
2688        document.addEventListener('DOMContentLoaded', () => applyVariant(initVar, false));
2689    } else {
2690        applyVariant(initVar, false);
2691    }
2692    
2693function updateSummary(sel){Object.entries(sel).forEach(([a,val])=>{const el=document.getElementById('vs-'+a);if(el)el.textContent=val||'-'})}
2694    function refreshOptions(sel){
2695        attrOrder.forEach(a=>{
2696            const group = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"]`);
2697            if (!group) return;
2698            const chips = group.querySelectorAll('.v-chip');
2699            chips.forEach(ch=>{
2700                const val = ch.getAttribute('data-value');
2701                const possible = variants.some(v=>{
2702                    if (v.attrs[a] !== val) return false;
2703                    for (const a2 of attrOrder) {
2704                        if (a2 === a) continue;
2705                        if (sel[a2] && v.attrs[a2] !== sel[a2]) return false;
2706                    }
2707                    return true;
2708                });
2709                const input = ch.querySelector('input[type=radio]');
2710                const disabled = !possible;
2711                if (input) input.disabled = disabled;
2712                ch.classList.toggle('disabled', disabled);
2713
2714                let candidateVariant = null;
2715                if (possible) {
2716                    candidateVariant = variants.find(v=>{
2717                        if (v.attrs[a] !== val) return false;
2718                        for (const a2 of attrOrder) {
2719                            if (a2 === a) continue;
2720                            if (sel[a2] && v.attrs[a2] !== sel[a2]) return false;
2721                        }
2722                        return true;
2723                    });
2724                }
2725                const outOfStock = candidateVariant ? (window.isPreorderProduct && candidateVariant.preorder_remaining !== null ? candidateVariant.preorder_remaining <= 0 : candidateVariant.stock <= 0) : false;
2726                ch.classList.toggle('out', !disabled && outOfStock);
2727                const badge = ch.querySelector('.chip-badge');
2728                if (badge) badge.hidden = !(candidateVariant && outOfStock);
2729            });
2730            group.querySelectorAll('.v-chip').forEach(ch=>{
2731                const input = ch.querySelector('input[type=radio]');
2732                ch.classList.toggle('selected', input && input.checked);
2733            });
2734        });
2735    }
2736    updateSummary(sel);
2737    refreshOptions(sel);
2738    document.querySelectorAll('.v-chip').forEach(chip=>{const input=chip.querySelector('input[type=radio]');if(input&&input.checked){chip.classList.add('selected');}});
2739
2740    const container = document.getElementById('pd-variants');
2741    container && container.addEventListener('change', function(ev){
2742        const radio = ev.target.closest('input[type=radio]');
2743        if (!radio) return;
2744        sel = readSelection();
2745        if (autoFillMissing(sel)) sel = readSelection();
2746        const chosen = findVariant(sel);
2747        applyVariant(chosen || null, true);
2748        
2749        updateSummary(sel);
2750        refreshOptions(sel);
2751    });
2752    
2753window.applyVariant=applyVariant;
2754})();
2755
2756(function cleanBrokenDescImages(){
2757    const containers = [
2758        document.querySelector('.pd-full-desc-body'),
2759        document.querySelector('.pd-short-desc')
2760    ].filter(Boolean);
2761
2762    containers.forEach(root => {
2763        const imgs = root.querySelectorAll('img');
2764        imgs.forEach(img => {
2765            if (img.complete && img.naturalWidth === 0) {
2766                img.remove();
2767                return;
2768            }
2769            img.addEventListener('error', () => {
2770                img.remove();
2771            }, { once:true });
2772        });
2773    });
2774})();
2775
2776/* ====== Scroll To Top ====== */
2777(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'})})})();
2778
2779/* Format stok 10+ */
2780function _0xk67l(n){n=parseInt(n||0,10)||0;return n>10?'10+':String(n)}
2781
2782/* Toggle popover stok per cabang */
2783(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=''}}
2784function 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()}
2785a.addEventListener('click',function(h){h.preventDefault();b.classList.contains('show')?f():e()});if(c)c.addEventListener('click',f)})();
2786
2787/* ===== Share Product Modal ===== */
2788(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://clinicadolutowordpress.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
2788ncodeURIComponent(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:"456123748900"})}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:"456123748900"})}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)}})();
2789
2790/* ===== Embedding variants (server → client) ===== */
2791(function(){
2792  window.__PD_VARIANTS_WITH_BRANCH__ = [];
2793})();
2794
2795/* ===== Helper: update angka popover ===== */
2796function updateStockPopoverForVariant(v){
2797  try{
2798    const elMeg = document.getElementById('sp-qty-meg');
2799    const elMdf = document.getElementById('sp-qty-mdf');
2800    const elBda = document.getElementById('sp-qty-bda');
2801
2802    if (typeof v?.smm === 'number' && elMeg) elMeg.textContent = formatStockLabel(Math.max(0, v.smm|0));
2803    if (typeof v?.smf === 'number' && elMdf) elMdf.textContent = formatStockLabel(Math.max(0, v.smf|0));
2804    if (typeof v?.sba === 'number' && elBda) elBda.textContent = formatStockLabel(Math.max(0, v.sba|0));
2805  }catch(_){}
2806}
2807
2808/* ===== applyVariant: 10+ dan update popover ===== */
2809(function patchApplyVariant(){
2810  if (typeof applyVariant !== 'function') return;
2811  const original = applyVariant;
2812  window.applyVariant = function(v){
2813    original(v);
2814    
2815    try {
2816      const elStock = document.getElementById('pd-stock-badge');
2817      if (elStock){
2818        let txt = elStock.textContent || '';
2819        let m = txt.match(/\d+/);
2820        if (m) {
2821          const n = parseInt(m[0]||'0',10)||0;
2822          elStock.textContent = (n>0) ? ('Stok: ' + formatStockLabel(n)) : 'Habis';
2823        }
2824      }
2825    } catch(_){}
2826if(window.__PD_VARIANTS_WITH_BRANCH__&&v){const vv=window.__PD_VARIANTS_WITH_BRANCH__.find(x=>x.id===v.id)||v;updateStockPopoverForVariant(vv)}
2827  };
2828})();
2829
2830(function initCurrentVariantBranch(){
2831  const list = window.__PD_VARIANTS_WITH_BRANCH__ || [];
2832  if (!list.length) return;
2833  const hid = document.getElementById('pd-variant-id');
2834  const vid = hid ? parseInt(hid.value||'0',10) : 0;
2835  const current = list.find(x => x.id === vid) || list[0] || null;
2836  if (current) updateStockPopoverForVariant(current);
2837})();
2838
2839(function(){
2840    if (!window.ga4Ecomm) return;
2841    const catSegs = ["Komputer & Laptop","Laptop","Gaming"];
2842    window.ga4Ecomm.viewItem({
2843      currency: 'IDR',
2844      value: 20789000,
2845      item_id: "456123748900",
2846      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",
2847      item_brand: "Lenovo ",
2848      item_category: catSegs && catSegs.length ? catSegs.join(' / ') : ''
2849    });
2850  })();
2851  
2852(function patchApplyVariantFocus(){
2853  if (typeof applyVariant !== 'function') return;
2854  const original = applyVariant;
2855  window.applyVariant = function(v, focusImage = true){
2856    
2857    original(v, focusImage);
2858    
2859    if (focusImage && v && v.image_url) {
2860      _0xau1v(v.image_url);
2861    }
2862  };
2863})();
2864
2865(function() {
2866  var soldMap = [];
2867  var soldTotalLabel = "Terjual 29";
2868
2869  function formatSoldLabel(qty) {
2870    if (qty >= 1000000) {
2871      var v = Math.floor((qty / 100000) ) / 10;
2872      return 'Terjual ' + (String(v).replace('.', ',')) + 'jt+';
2873    }
2874    if (qty >= 1000) {
2875      var v2 = Math.floor((qty / 100) ) / 10;
2876      return 'Terjual ' + (String(v2).replace('.', ',')) + 'rb+';
2877    }
2878    if (qty >= 100) {
2879      var v2 = Math.floor((qty / 100) ) * 100;
2880      return 'Terjual ' + (String(v2).replace('.', ',')) + '+';
2881    }
2882    if (qty >= 10) {
2883      var v2 = Math.floor((qty / 10) ) * 10;
2884      return 'Terjual ' + (String(v2).replace('.', ',')) + '+';
2885    }
2886    return 'Terjual ' + (qty.toLocaleString('id-ID'));
2887  }
2888
2889  function updateSoldLabel(labelText) {
2890    var el = document.querySelector('#pd-sold-inline, [data-role="sold-chip"]');
2891    if (el) el.textContent = labelText;
2892  }
2893
2894  window.updateSoldBySku = function(sku) {
2895    if (!sku || typeof sku !== 'string') {
2896      updateSoldLabel(soldTotalLabel);
2897      return;
2898    }
2899    var qty = soldMap[sku] || 0;
2900    updateSoldLabel(formatSoldLabel(qty));
2901  };
2902
2903    updateSoldLabel(soldTotalLabel);
2904  })();
2905
2906(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)}})}
2907function 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}
2908const 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}});
2908function formatRupiah(n){return'Rp'+Math.floor(n).toLocaleString('id-ID')}})();
2909
2910(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')}})();
2911</script>
vendor: 1 bytes, line 2911
2911
2912<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
2913window.PD_ID=325;window.PD_NAME=_0x3c4d;window.PD_SKU=_0x5e6f;window.PD_CATEGORY_PATH="Komputer & Laptop/Laptop/Gaming";window.PD_BEST_VOUCHER=null;
2914window.IS_DIGITAL=IS_DIGITAL;
2915window.isPreorderProduct=false;
2916window.PD_PREORDER_DATA=null;
2917</script>
2917
2918
2919<script src="https://plazait.b-cdn.net/assets/js/pd-lightbox.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 2919
2919
2920<script src="https://plazait.b-cdn.net/assets/js/cart.js" defer nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 2920
2920
2921<script src="https://plazait.b-cdn.net/assets/js/stock-validator-vanilla.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 2921
2921
2922<script src="https://plazait.b-cdn.net/assets/js/pd-addtocart.js" defer nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 2922
2922
2923<script src="https://plazait.b-cdn.net/assets/js/pd-buynow.js" defer nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 2923
2923
2924<script src="https://plazait.b-cdn.net/assets/js/pd-voucher-recalc.js" defer nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 2924
2924
2925<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>
2925
2926
2927<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
2928(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'}})}}
2929
2930function _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()}})();
2931
2932(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()}})})();
2933</script>
2933<footer class="site-footer footer-compact variant-stripes" role="contentinfo">
2934  <div class="ft-top ft-collapsible" id="ftTop">
2935    <div class="container ft-grid">
2936
2937      <div class="ft-col ft-help">
2938        <h4 class="ft-title">Butuh Bantuan?</h4>
2939        <p class="ft-desc">Hubungi kami melalui Official WhatsApp interaktif sekarang.</p>
2940        <a class="ft-wa-btn" href="#" target="_blank" rel="nofollow noopener">
2941          <span class="ico" aria-hidden="true">
2942            <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>
2943          </span>
2944          Kirim Pesan
2945        </a>
2946
2947        <p class="ft-desc sm-gap">Ikuti kami:</p>
2948        <div class="ft-social">
2949          <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>
2950          <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
2950V7.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>
2951          <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>
2952        </div>
2953      </div>
2954
2955            <!-- Collapsible Content Wrapper (Non-Homepage Only) -->
2956      <div class="ft-collapsible-content" id="ftCollapsible">
2957      
2958      <div class="ft-col">
2959        <h4 class="ft-title">Tentang PUBTOGEL</h4>
2960        <ul class="ft-links">
2961          <li><a href="/tentang-kami">Tentang Kami</a></li>
2962          <li><a href="/kontak-kami">Kontak Kami</a></li>
2963          <li><a href="/lokasi-toko">Lokasi Toko</a></li>
2964          <li><a href="/faq">FAQ</a></li>
2965        </ul>
2966        <div class="ft-address">
2967          <p class="company">PT TISU-AJAIB</p>
2968                      <p>Jl. Walikota Mustajab No.1, Ketabang</p>
2969                      <p>Kec. Genteng, Surabaya, Jawa Timur 60272</p>
2970                  </div>
2971      </div>
2972
2973      <div class="ft-col">
2974        <h4 class="ft-title">Informasi</h4>
2975        <ul class="ft-links">
2976          <li><a href="/syarat-dan-ketentuan">Syarat &amp; Ketentuan</a></li>
2977          <li><a href="/kebijakan-privasi">Kebijakan Privasi</a></li>
2978          <li><a href="/kebijakan-cookie">Kebijakan Cookie</a></li>
2979          <li><a href="/pengiriman-dan-pengembalian">Pengiriman &amp; Pengembalian</a></li>
2980          <li><a href="/pembayaran-dan-cicilan">Pembayaran &amp; Cicilan</a></li>
2981          <li><a href="/garansi-dan-layanan">Garansi &amp; Layanan</a></li>
2982        </ul>
2983
2984        <div class="ft-payments payments-small" aria-label="Metode Pembayaran">
2985          <div class="pay-row">
2986            <img src="https://plazait.b-cdn.net/assets/img/payments/mandiri.svg" alt="Mandiri" loading="lazy">
2987            <img src="https://plazait.b-cdn.net/assets/img/payments/bni.svg" alt="BNI" loading="lazy">
2988            <img src="https://plazait.b-cdn.net/assets/img/payments/bri.svg" alt="BRI" loading="lazy">
2989            <img src="https://plazait.b-cdn.net/assets/img/payments/bsi.svg" alt="BSI" loading="lazy">
2990            <img src="https://plazait.b-cdn.net/assets/img/payments/cimb-logo.svg" alt="ShopeePay" loading="lazy">
2991          </div>
2992        </div>
2993      </div>
2994
2995            </div>
2996      <!-- End Collapsible Content -->
2997      
2998      <!-- Expand Button (Mobile Only) -->
2999      <button class="ft-expand-btn" id="ftExpandBtn" aria-label="Lihat semua informasi footer">
3000        <span class="expand-text">Selengkapnya</span>
3001        <svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor">
3002          <path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/>
3003        </svg>
3004      </button>
3005      
3006    </div>
3007  </div>
3008  <div class="ft-bottom">
3009    <div class="container ft-bottom-inner">
3010      <div class="ft-copy">
3011        <span>TISU-AJAIB &copy; <span id="yearNow">2026</span></span>
3012        <span>PT TISU-AJAIB. All rights reserved.</span>
3013      </div>
3014    </div>
3015  </div>
3016  
3017          <style nonce="se3iyzEHMc9FQEB4wSyd0w==">
3018            /* Chat Widget Styles - Lightweight & Minimal */
3019            .chat-widget {
3020                position: fixed;
3021                bottom: 20px;
3022                right: 20px;
3023                z-index: 9999;
3024                font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
3025            }
3026            
3027            /* Hide floating button on mobile - use bottom nav instead */
3028            @media (max-width: 640px) {
3029                .chat-toggle-btn {
3030                    display: none !important;
3031                }
3032                
3033                /* Ensure popup is still visible on mobile even when button is hidden */
3034                .chat-widget {
3035                    display: block !important;
3036                }
3037                
3038                .chat-popup {
3039                    display: none; /* Hidden by default, shown via JS */
3040                }
3041                
3042                .chat-popup[style*="display: block"],
3043                .chat-popup[style*="display:block"] {
3044                    display: block !important;
3045                }
3046            }
3047            
3048            .chat-toggle-btn {
3049                width: 60px;
3050                height: 60px;
3051                border-radius: 50%;
3052                background: linear-gradient(135deg, #078de6 0%, #0155a3 100%);
3053                border: none;
3054                color: white;
3055                cursor: pointer;
3056                box-shadow: 0 4px 12px rgba(242, 40, 26, 0.3);
3057                position: relative;
3058                transition: transform 0.2s, box-shadow 0.2s;
3059            }
3060            
3061            .chat-toggle-btn:hover {
3062                transform: scale(1.05);
3063                box-shadow: 0 6px 20px rgba(242, 26, 26, 0.4);
3064            }
3065            
3066            #chat-toggle-btn .chat-icon {
3067                position: absolute;
3068                top: 50%;
3069                left: 50%;
3070                transform: translate(-50%, -50%);
3071                width: 28px !important;
3072                height: 28px !important;
3073            }
3074            
3075            .chat-unread-badge {
3076                position: absolute;
3077                top: -5px;
3078                right: -5px;
3079                background: #ef4a44;
3080                color: white;
3081                border-radius: 12px;
3082                padding: 2px 6px;
3083                font-size: 11px;
3084                font-weight: 600;
3085                min-width: 20px;
3086                text-align: center;
3087            }
3088            
3089            .chat-popup {
3090                position: absolute;
3091                bottom: 80px;
3092                right: 0;
3093                width: 380px;
3094                max-width: calc(100vw - 40px);
3095                height: 500px;
3096                max-height: calc(100vh - 120px);
3097                background: white;
3098                border-radius: 12px;
3099                box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
3100                display: flex;
3101                flex-direction: column;
3102                overflow: hidden;
3103            }
3104            
3105            .chat-popup-header {
3106                background: linear-gradient(135deg, #078de6 0%, #0155a3 100%);
3107                color: white;
3108                padding: 16px 20px;
3109                display: flex;
3110                justify-content: space-between;
3111                align-items: center;
3112                flex-shrink: 0;
3113            }
3114            
3115            .chat-header-title {
3116                display: flex;
3117                flex-direction: column;
3118                gap: 2px;
3119                min-height: 0;
3120            }
3121            
3122            .chat-popup-header h3 {
3123                margin: 0;
3124                font-size: 18px;
3125                font-weight: 600;
3126                line-height: 1.2;
3127            }
3128            
3129            .chat-operating-hours {
3130                font-size: 11px;
3131                opacity: 0.9;
3132                font-weight: 400;
3133                display: flex;
3134                align-items: center;
3135                gap: 4px;
3136                line-height: 1.2;
3137            }
3138            
3139            .chat-operating-hours svg {
3140                width: 12px;
3141                height: 12px;
3142                opacity: 0.8;
3143                flex-shrink: 0;
3144            }
3145            
3146            .chat-header-actions {
3147                display: flex;
3148                align-items: center;
3149                gap: 8px;
3150            }
3151            
3152            /* Notification Toggle Button */
3153            .btn-notif-toggle {
3154                background: none;
3155                border: none;
3156                color: white;
3157                font-size: 18px;
3158                cursor: pointer;
3159                padding: 4px 8px;
3160                transition: all 0.2s;
3161                opacity: 0.8;
3162            }
3163            
3164            .btn-notif-toggle:hover {
3165                opacity: 1;
3166                transform: scale(1.1);
3167            }
3168            
3169            /* Icon states */
3170            .btn-notif-toggle[data-status="not-subscribed"] svg {
3171                opacity: 0.7;
3172            }
3173            
3174            .btn-notif-toggle[data-status="not-subscribed"]:hover svg {
3175                opacity: 1;
3176            }
3177            
3178            .btn-notif-toggle[data-status="subscribed"] svg {
3179                opacity: 1;
3180                animation: bellRing 2s ease-in-out;
3181            }
3182            
3183            .btn-notif-toggle[data-status="blocked"] svg {
3184                color: #078de6;
3185            }
3186            
3187            .btn-notif-toggle[data-status="not-supported"] {
3188                display: none !important;
3189            }
3190            
3191            @keyframes bellRing {
3192                0%, 100% { transform: rotate(0deg); }
3193                10%, 30% { transform: rotate(-10deg); }
3194                20%, 40% { transform: rotate(10deg); }
3195            }
3196            
3197            /* Notification Info Bar */
3198            .chat-notif-info-bar {
3199                position: absolute;
3200                top: 64px;
3201                left: 0;
3202                right: 0;
3203                background: linear-gradient(to right, #fde3e3, #f8b8b8);
3204                border-bottom: 1px solid #f39898;
3205                padding: 8px 12px;
3206                display: flex;
3207                align-items: center;
3208                gap: 8px;
3209                font-size: 12px;
3210                color: #837676;
3211                z-index: 10;
3212                animation: slideDown 0.3s ease;
3213            }
3214            
3215            .chat-notif-info-bar svg {
3216                flex-shrink: 0;
3217            }
3218            
3219            .chat-notif-info-bar .small {
3220                flex: 1;
3221                line-height: 1.4;
3222            }
3223            
3224            .chat-notif-info-bar .btn-dismiss {
3225                background: none;
3226                border: none;
3227                color: #9e9e9e;
3228                cursor: pointer;
3229                padding: 0 4px;
3230                font-size: 16px;
3231                transition: color 0.2s;
3232            }
3233            
3234            .chat-notif-info-bar .btn-dismiss:hover {
3235                color: #616161;
3236            }
3237            
3238            @keyframes slideDown {
3239                from {
3240                    max-height: 0;
3241                    opacity: 0;
3242                }
3243                to {
3244                    max-height: 50px;
3245                    opacity: 1;
3246                }
3247            }
3248            
3249            .chat-close-btn {
3250                background: none;
3251                border: none;
3252                color: white;
3253                font-size: 28px;
3254                line-height: 1;
3255                cursor: pointer;
3256                padding: 0;
3257                width: 30px;
3258                height: 30px;
3259            }
3260            
3261            .chat-popup-body {
3262                flex: 1 1 auto;
3263                display: flex;
3264                flex-direction: column;
3265                min-height: 0;
3266                overflow: hidden;
3267                height: calc(100% - 64px);
3268                position: relative;
3269                transition: padding-top 0.3s ease;
3270            }
3271            
3272            /* Add padding when info bar is visible */
3273            .chat-popup-body.has-info-bar {
3274                padding-top: 40px;
3275            }
3276            
3277            .chat-view {
3278                flex: 1 1 auto;
3279                display: none;
3280                flex-direction: column;
3281                min-height: 0;
3282                overflow: hidden;
3283            }
3284            
3285            #chat-list-view {
3286                display: flex;
3287            }
3288            
3289            #chat-messages-view {
3290                display: none;
3291            }
3292            
3293            #chat-messages-view.active {
3294                display: flex;
3295                flex-direction: column;
3296            }
3297            
3298            #chat-new-view {
3299                display: none;
3300            }
3301            
3302            #chat-new-view.active {
3303                display: flex;
3304            }
3305            
3306            .chat-conversations-list {
3307                flex: 1;
3308                overflow-y: auto;
3309                padding: 0;
3310                background: white;
3311            }
3312            
3313            /* Custom Scrollbar for Conversations List */
3314            .chat-conversations-list::-webkit-scrollbar {
3315                width: 6px;
3316            }
3317            
3318            .chat-conversations-list::-webkit-scrollbar-track {
3319                background: #f1f1f1;
3320            }
3321            
3322            .chat-conversations-list::-webkit-scrollbar-thumb {
3323                background: #078de6;
3324                border-radius: 3px;
3325            }
3326            
3327            .chat-conversations-list::-webkit-scrollbar-thumb:hover {
3328                background: #0155a3;
3329            }
3330            
3331            /* Firefox */
3332            .chat-conversations-list {
3333                scrollbar-width: thin;
3334                scrollbar-color: #078de6 #f1f1f1;
3335            }
3336            
3337            .chat-conversation-item {
3338                padding: 12px 16px;
3339                cursor: pointer;
3340                display: flex;
3341                gap: 12px;
3342                align-items: flex-start;
3343                transition: background 0.15s ease;
3344                color: #371f1f;
3345                border-bottom: 1px solid #f0f0f0;
3346            }
3347            
3348            .chat-conversation-item:hover {
3349                background: #fff5ee;
3350            }
3351            
3352            .chat-conversation-item.active {
3353                background: #f8e5d0;
3354            }
3355            
3356            /* WhatsApp-like Avatar */
3357            .conversation-avatar {
3358                width: 48px;
3359                height: 48px;
3360                border-radius: 50%;
3361                background: linear-gradient(135deg, #078de6 0%, #0155a3 100%);
3362                flex-shrink: 0;
3363                display: flex;
3364                align-items: center;
3365                justify-content: center;
3366                color: white;
3367                font-weight: 600;
3368                font-size: 18px;
3369            }
3370            
3371            .conversation-avatar svg {
3372                width: 24px;
3373                height: 24px;
3374            }
3375            
3376            /* WhatsApp-like Content */
3377            .conversation-content {
3378                flex: 1;
3379                min-width: 0;
3380                display: flex;
3381                flex-direction: column;
3382                gap: 4px;
3383            }
3384            
3385            .conversation-header {
3386                display: flex;
3387                justify-content: space-between;
3388                align-items: center;
3389                gap: 8px;
3390            }
3391            
3392            .conversation-name {
3393                font-weight: 600;
3394                font-size: 15px;
3395                color: #111;
3396                white-space: nowrap;
3397                overflow: hidden;
3398                text-overflow: ellipsis;
3399            }
3400            
3401            .conversation-time {
3402                font-size: 12px;
3403                color: #8b5353;
3404                flex-shrink: 0;
3405            }
3406            
3407            .conversation-preview {
3408                display: flex;
3409                justify-content: space-between;
3410                align-items: center;
3411                gap: 8px;
3412            }
3413            
3414            .conversation-message {
3415                font-size: 14px;
3416                color: #915353;
3417                white-space: nowrap;
3418                overflow: hidden;
3419                text-overflow: ellipsis;
3420                margin: 0;
3421                flex: 1;
3422            }
3423            
3424            .conversation-unread {
3425                background: #d32525;
3426                color: white;
3427                border-radius: 12px;
3428                padding: 2px 8px;
3429                font-size: 12px;
3430                font-weight: 600;
3431                min-width: 20px;
3432                text-align: center;
3433                flex-shrink: 0;
3434            }
3435            
3436            /* Active item styling */
3437            .chat-conversation-item.active .conversation-name {
3438                color: #078de6;
3439            }
3440            
3441            .chat-conversation-item.active .conversation-time {
3442                color: #078de6;
3443            }
3444            
3445            .chat-new-btn {
3446                margin: 12px;
3447                padding: 12px;
3448                background: linear-gradient(135deg, #078de6 0%, #0155a3 100%);
3449                color: white;
3450                border: none;
3451                border-radius: 8px;
3452                cursor: pointer;
3453                font-weight: 500;
3454                font-size: 14px;
3455                display: flex;
3456                align-items: center;
3457                justify-content: center;
3458                gap: 8px;
3459                transition: all 0.2s;
3460                flex-shrink: 0;
3461            }
3462            
3463            .chat-new-btn:hover {
3464                transform: translateY(-1px);
3465                box-shadow: 0 4px 8px rgba(242, 26, 26, 0.3);
3466            }
3467            
3468            .chat-conversation-title {
3469                flex: 1;
3470                font-weight: 600;
3471                font-size: 16px;
3472                color: #37351f;
3473            }
3474            
3475            .chat-messages-container {
3476                flex: 1;
3477                overflow-y: auto;
3478                padding: 16px;
3479                display: flex;
3480                flex-direction: column;
3481                gap: 8px;
3482                min-height: 0;
3483                background: #E5DDD5;
3484            }
3485            
3486            /* Custom Scrollbar for Messages Container */
3487            .chat-messages-container::-webkit-scrollbar {
3488                width: 6px;
3489            }
3490            
3491            .chat-messages-container::-webkit-scrollbar-track {
3492                background: rgba(0, 0, 0, 0.05);
3493            }
3494            
3495            .chat-messages-container::-webkit-scrollbar-thumb {
3496                background: rgba(242, 26, 26, 0.6);
3497                border-radius: 3px;
3498            }
3499            
3500            .chat-messages-container::-webkit-scrollbar-thumb:hover {
3501                background: #078de6;
3502            }
3503            
3504            /* Firefox */
3505            .chat-messages-container {
3506                scrollbar-width: thin;
3507                scrollbar-color: rgba(242, 26, 26, 0.6) rgba(0, 0, 0, 0.05);
3508            }
3509            
3510            /* WhatsApp Group-like Messages */
3511            .chat-message {
3512                display: flex;
3513                margin-bottom: 4px;
3514                animation: fadeIn 0.2s ease;
3515            }
3516            
3517            @keyframes fadeIn {
3518                from { opacity: 0; transform: translateY(10px); }
3519                to { opacity: 1; transform: translateY(0); }
3520            }
3521            
3522            .chat-message.mine {
3523                justify-content: flex-end;
3524            }
3525            
3526            .chat-message-bubble {
3527                max-width: 80%;
3528                padding: 6px 8px 8px 10px;
3529                border-radius: 8px;
3530                position: relative;
3531                box-shadow: 0 1px 0.5px rgba(0,0,0,0.13);
3532            }
3533            
3534            /* Bubble from others (Admin/CS) */
3535            .chat-message:not(.mine) .chat-message-bubble {
3536                background: #FFFFFF;
3537                border-radius: 0 8px 8px 8px;
3538            }
3539            
3540            /* Bubble tail for others */
3541            .chat-message:not(.mine) .chat-message-bubble::before {
3542                content: '';
3543                position: absolute;
3544                top: 0;
3545                left: -8px;
3546                width: 0;
3547                height: 0;
3548                border-style: solid;
3549                border-width: 0 8px 13px 0;
3550                border-color: transparent #FFFFFF transparent transparent;
3551            }
3552            
3553            /* Bubble from user (mine) */
3554            .chat-message.mine .chat-message-bubble {
3555                background: #f56a6a; /* Light blue for user messages */
3556                border-radius: 8px 0 8px 8px;
3557            }
3558            
3559            /* Bubble tail for mine */
3560            .chat-message.mine .chat-message-bubble::before {
3561                content: '';
3562                position: absolute;
3563                top: 0;
3564                right: -8px;
3565                width: 0;
3566                height: 0;
3567                border-style: solid;
3568                border-width: 0 0 13px 8px;
3569                border-color: transparent transparent transparent #f89090;
3570            }
3571            
3572            .message-sender {
3573                font-size: 12.5px;
3574                font-weight: 600;
3575                color: #078de6 !important;
3576                margin-bottom: 4px;
3577            }
3578            
3579            .chat-message.mine .message-sender {
3580                display: none;
3581            }
3582            
3583            /* Message text */
3584            .message-text {
3585                font-size: 14px;
3586                line-height: 19px;
3587                color: #000000 !important;
3588                word-wrap: break-word;
3589                white-space: pre-wrap;
3590                margin-bottom: 4px;
3591            }
3592            
3593            /* Message metadata (time + status) */
3594            .message-meta {
3595                display: flex;
3596                align-items: center;
3597                justify-content: flex-end;
3598                gap: 4px;
3599                margin-top: 2px;
3600            }
3601            
3602            .message-time {
3603                font-size: 11px;
3604                color: #816666 !important;
3605                line-height: 15px;
3606            }
3607            
3608            /* Use multiple selectors to override global styles */
3609            .chat-message-bubble .message-status,
3610            .message-meta .message-status,
3611            .chat-message .message-status {
3612                width: 16px !important;
3613                height: 16px !important;
3614                min-width: 16px !important;
3615                min-height: 16px !important;
3616                max-width: 16px !important;
3617                max-height: 16px !important;
3618                flex-shrink: 0;
3619                color: #816666 !important;
3620                fill: currentColor !important;
3621            }
3622            
3623            .chat-message:not(.mine) .message-status {
3624                display: none;
3625            }
3626            
3627            /* Loading dots animation */
3628            @keyframes loadingDots {
3629                0%, 20% { content: '.'; }
3630                40% { content: '..'; }
3631                60%, 100% { content: '...'; }
3632            }
3633            
3634            .message-status.loading::after {
3635                content: '...';
3636                animation: loadingDots 1.5s infinite;
3637                font-size: 16px;
3638                line-height: 16px;
3639            }
3640            
3641            .message-status.loading path {
3642                display: none;
3643            }
3644            
3645            .message-status.failed {
3646                color: #078de6 !important;
3647                cursor: pointer;
3648            }
3649            
3650            .message-status.sent {
3651                color: #865b5b !important;
3652            }
3653            
3654            .chat-new-form {
3655                flex: 1;
3656                overflow-y: auto;
3657                padding: 16px;
3658                display: flex;
3659                flex-direction: column;
3660            }
3661            
3662            .chat-new-form form {
3663                display: flex;
3664                flex-direction: column;
3665                gap: 16px;
3666                flex: 1;
3667            }
3668            
3669            .chat-new-form .form-group {
3670                display: flex;
3671                flex-direction: column;
3672                gap: 6px;
3673            }
3674            
3675            .chat-new-form label {
3676                font-size: 14px;
3677                font-weight: 500;
3678                color: #5f3636;
3679            }
3680            
3681            .chat-new-form .form-control {
3682                width: 100%;
3683                padding: 10px 12px;
3684                border: 1px solid #d1d5db;
3685                border-radius: 8px;
3686                font-size: 14px;
3687                font-family: inherit;
3688                transition: border-color 0.2s;
3689                box-sizing: border-box;
3690            }
3691            
3692            .chat-new-form .form-control:focus {
3693                outline: none;
3694                border-color: #078de6;
3695                box-shadow: 0 0 0 3px rgba(242, 26, 26, 0.1);
3696            }
3697            
3698            .chat-new-form textarea.form-control {
3699                resize: vertical;
3700                min-height: 100px;
3701            }
3702            
3703            .chat-new-form .btn {
3704                padding: 12px 20px;
3705                border: none;
3706                border-radius: 8px;
3707                font-size: 15px;
3708                font-weight: 500;
3709                cursor: pointer;
3710                transition: all 0.2s;
3711                text-align: center;
3712            }
3713            
3714            .chat-new-form .btn-primary {
3715                background: linear-gradient(135deg, #078de6 0%, #0155a3 100%);
3716                color: white;
3717            }
3718            
3719            .chat-new-form .btn-primary:hover {
3720                transform: translateY(-1px);
3721                box-shadow: 0 4px 8px rgba(242, 26, 26, 0.3);
3722            }
3723            
3724            .chat-new-form .btn-primary:active {
3725                transform: scale(0.98);
3726            }
3727            
3728            .chat-new-form .btn-block {
3729                width: 100%;
3730                margin-top: auto;
3731            }
3732            
3733            .chat-message-form {
3734                padding: 12px;
3735                border-top: 1px solid #e5e7eb;
3736                display: flex;
3737                flex-wrap: wrap;
3738                gap: 8px;
3739                align-items: flex-end;
3740                flex-shrink: 0;
3741                background: white;
3742            }
3743            
3744            .chat-product-card {
3745                flex: 1 1 100%;
3746                max-width: 100%;
3747                display: flex;
3748                gap: 12px;
3749                padding: 12px;
3750                background: #f3f4f6;
3751                border-radius: 8px;
3752                margin-bottom: 4px;
3753                border: 1px solid #e5e7eb;
3754            }
3755            
3756            .chat-product-card img {
3757                width: 60px;
3758                height: 60px;
3759                object-fit: cover;
3760                border-radius: 6px;
3761                flex-shrink: 0;
3762            }
3763            
3764            .chat-product-card-content {
3765                flex: 1;
3766                min-width: 0;
3767            }
3768            
3769            .chat-product-card-name {
3770                font-weight: 500;
3771                font-size: 14px;
3772                color: #371f1f;
3773                margin-bottom: 4px;
3774                white-space: nowrap;
3775                overflow: hidden;
3776                text-overflow: ellipsis;
3777            }
3778            
3779            .chat-product-card-variant {
3780                font-size: 12px;
3781                color: #806b6b;
3782                margin-bottom: 4px;
3783            }
3784            
3785            .chat-product-card-price {
3786                font-size: 13px;
3787                color: #078de6;
3788                font-weight: 600;
3789            }
3790            
3791            .chat-product-card-remove {
3792                align-self: flex-start;
3793                background: none;
3794                border: none;
3795                color: #9ca3af;
3796                cursor: pointer;
3797                padding: 4px;
3798                font-size: 18px;
3799                line-height: 1;
3800                transition: color 0.2s;
3801            }
3802            
3803            .chat-product-card-remove:hover {
3804                color: #078de6;
3805            }
3806            
3807            /* Product card in messages (read-only display) */
3808            .message-product-card {
3809                display: flex;
3810                gap: 10px;
3811                padding: 10px;
3812                background: rgba(255, 255, 255, 0.5);
3813                border-radius: 8px;
3814                margin-bottom: 6px;
3815                border: 1px solid rgba(0, 0, 0, 0.08);
3816                align-items: center;
3817            }
3818            
3819            .chat-message.mine .message-product-card {
3820                background: rgba(255, 255, 255, 0.7);
3821            }
3822            
3823            .message-product-card img {
3824                width: 50px;
3825                height: 50px;
3826                object-fit: cover;
3827                border-radius: 6px;
3828                flex-shrink: 0;
3829            }
3830            
3831            .message-product-info {
3832                flex: 1;
3833                min-width: 0;
3834            }
3835            
3836            .message-product-name {
3837                font-weight: 500;
3838                font-size: 13px;
3839                color: #371f1f;
3840                margin-bottom: 2px;
3841                overflow: hidden;
3842                text-overflow: ellipsis;
3843                display: -webkit-box;
3844                -webkit-line-clamp: 2;
3845                -webkit-box-orient: vertical;
3846                line-height: 1.3;
3847            }
3848            
3849            .message-product-variant {
3850                font-size: 11px;
3851                color: #6b7b80;
3852                margin-bottom: 2px;
3853            }
3854            
3855            .message-product-price {
3856                font-size: 12px;
3857                color: #078de6;
3858                font-weight: 600;
3859            }
3860            
3861            .message-product-link {
3862                flex-shrink: 0;
3863                width: 32px;
3864                height: 32px;
3865                display: flex;
3866                align-items: center;
3867                justify-content: center;
3868                background: rgba(234, 102, 102, 0.1);
3869                border-radius: 6px;
3870                color: #078de6;
3871                text-decoration: none;
3872                transition: all 0.2s;
3873            }
3874            
3875            .message-product-link:hover {
3876                background: #078de6;
3877                color: white;
3878            }
3879            
3880            .message-product-link svg {
3881                width: 16px;
3882                height: 16px;
3883            }
3884            
3885            .chat-message-input {
3886                flex: 1;
3887                border: 1px solid #d1d5db;
3888                border-radius: 20px;
3889                padding: 10px 16px;
3890                resize: none;
3891                max-height: 100px;
3892                font-family: inherit;
3893                font-size: 14px;
3894                line-height: 1.5;
3895                box-sizing: border-box;
3896                overflow-y: hidden;
3897            }
3898            
3899            .chat-message-input:focus {
3900                outline: none;
3901                border-color: #078de6;
3902                box-shadow: 0 0 0 3px rgba(51, 242, 26, 0.1);
3903            }
3904            
3905            .chat-send-btn {
3906                width: 40px;
3907                height: 40px;
3908                border-radius: 50%;
3909                background: linear-gradient(135deg, #078de6 0%, #0155a3 100%);
3910                border: none;
3911                color: white;
3912                cursor: pointer;
3913                flex-shrink: 0;
3914                display: flex;
3915                align-items: center;
3916                justify-content: center;
3917                transition: all 0.2s;
3918            }
3919            
3920            .chat-send-btn:hover {
3921                transform: scale(1.05);
3922                box-shadow: 0 2px 8px rgba(242, 26, 26, 0.3);
3923            }
3924            
3925            .chat-send-btn:active {
3926                transform: scale(0.95);
3927            }
3928            
3929            .chat-loading {
3930                text-align: center;
3931                padding: 20px;
3932                color: #6d806b;
3933            }
3934            
3935            /* Date Separator (WhatsApp-style) */
3936            .date-separator {
3937                display: flex;
3938                align-items: center;
3939                gap: 12px;
3940                margin: 24px 0 16px;
3941                opacity: 0;
3942                animation: fadeInSeparator 0.3s ease forwards;
3943            }
3944
3945            @keyframes fadeInSeparator {
3946                from {
3947                    opacity: 0;
3948                    transform: translateY(-10px);
3949                }
3950                to {
3951                    opacity: 1;
3952                    transform: translateY(0);
3953                }
3954            }
3955
3956            .date-separator-line {
3957                flex: 1;
3958                height: 1px;
3959                background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.1) 50%, transparent);
3960            }
3961
3962            .date-separator-text {
3963                flex-shrink: 0;
3964                padding: 4px 12px;
3965                background: #e9ecef;
3966                color: #7d6c6c;
3967                font-size: 11px;
3968                font-weight: 600;
3969                text-transform: uppercase;
3970                letter-spacing: 0.5px;
3971                border-radius: 12px;
3972                box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
3973            }
3974            
3975            /* Mobile responsive */
3976            @media (max-width: 640px) {
3977                .chat-popup {
3978                    position: fixed !important; /* Override absolute positioning */
3979                    bottom: 45px !important; /* Above bottom nav */
3980                    right: 0 !important;
3981                    left: 0 !important;
3982                    width: 100% !important;
3983                    max-width: 100% !important;
3984                    /* Use dvh (dynamic viewport height) for browser UI awareness */
3985                    height: calc(100dvh - 45px) !important;
3986                    max-height: calc(100dvh - 45px) !important;
3987                    /* Fallback for browsers that don't support dvh */
3988                    height: calc(var(--viewport-height, 100vh) - 45px) !important;
3989                    max-height: calc(var(--viewport-height, 100vh) - 45px) !important;
3990                    border-radius: 0 !important;
3991                    z-index: 9999 !important;
3992                }
3993                
3994                .chat-popup-header {
3995                    border-radius: 0;
3996                }
3997                
3998      
3998          .chat-messages-container,
3999                .chat-conversations-list {
4000                    /* Adjust for mobile keyboard using dynamic viewport */
4001                    max-height: calc(100dvh - 190px);
4002                    /* Fallback for browsers that don't support dvh */
4003                    max-height: calc(var(--viewport-height, 100vh) - 190px);
4004                }
4005            }
4006        </style>
4007                <!-- Chat Widget Button -->
4008        <div id="chat-widget" class="chat-widget" 
4009             data-user-id=""
4010             data-is-logged-in="false"
4011             data-csrf-token="df5d776748b1ed8c8dd0d987bae99b1ee3dea6c6dcbe0eedb1bea766c56d569a">
4012            <button id="chat-toggle-btn" class="chat-toggle-btn" aria-label="Toggle chat">
4013                <svg class="chat-icon" width="28" height="28" viewBox="0 0 640 640" fill="currentColor">
4014                    <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"/>
4015                </svg>
4016                <span id="chat-unread-badge" class="chat-unread-badge" style="display: none;">0</span>
4017            </button>
4018            
4019            <div id="chat-popup" class="chat-popup" style="display: none;">
4020                <div class="chat-popup-header">
4021                    <div class="chat-header-title">
4022                        <h3>Bantuan</h3>
4023                        <span id="chatOperatingHours" class="chat-operating-hours" style="display: none;"></span>
4024                    </div>
4025                    <div class="chat-header-actions">
4026                        <button id="chatNotifToggle" class="btn-notif-toggle" data-status="not-supported" title="Push notification" style="display: none;">
4027                            <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
4028                                <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"/>
4029                            </svg>
4030                        </button>
4031                        <button id="chat-close-btn" class="chat-close-btn" aria-label="Close chat">×</button>
4032                    </div>
4033                </div>
4034                
4035                <!-- Notification Info Bar (conditional) -->
4036                <div class="chat-notif-info-bar" id="chatNotifInfoBar" style="display:none;">
4037                    <svg width="14" height="14" viewBox="0 0 24 24" fill="#ffc107">
4038                        <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"/>
4039                    </svg>
4040                    <span class="small">Aktifkan notifikasi untuk pemberitahuan balasan</span>
4041                    <button class="btn-dismiss" onclick="ChatNotification.dismissInfo()">✕</button>
4042                </div>
4043                
4044                <div class="chat-popup-body">
4045                    <!-- Conversations List View -->
4046                    <div id="chat-list-view" class="chat-view">
4047                        <div id="chat-conversations-list" class="chat-conversations-list">
4048                            <div class="chat-loading">Memuat...</div>
4049                            <!-- Conversation Item Structure (rendered by JS):
4050                            <div class="chat-conversation-item">
4051                                <div class="conversation-avatar">
4052                                    <svg>...</svg>
4053                                </div>
4054                                <div class="conversation-content">
4055                                    <div class="conversation-header">
4056                                        <span class="conversation-name">Admin Support</span>
4057                                        <span class="conversation-time">10:30</span>
4058                                    </div>
4059                                    <div class="conversation-preview">
4060                                        <p class="conversation-message">Terima kasih telah menghubungi kami...</p>
4061                                        <span class="conversation-unread">2</span>
4062                                    </div>
4063                                </div>
4064                            </div>
4065                            -->
4066                        </div>
4067                        <button id="chat-new-btn" class="chat-new-btn">
4068                            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
4069                                <line x1="12" y1="5" x2="12" y2="19"></line>
4070                                <line x1="5" y1="12" x2="19" y2="12"></line>
4071                            </svg>
4072                            Percakapan Baru
4073                        </button>
4074                    </div>
4075                    
4076                    <!-- Chat Messages View -->
4077                    <div id="chat-messages-view" class="chat-view" style="display: none;">
4078                        <div id="chat-messages-container" class="chat-messages-container">
4079                            <div class="chat-loading">Memuat pesan...</div>
4080                            <!-- Message Structure (rendered by JS):
4081                            <div class="chat-message"> (or .chat-message.mine)
4082                                <div class="chat-message-bubble">
4083                                    <div class="message-sender">Admin Support</div> (only for non-mine)
4084                                    <div class="message-text">Halo, ada yang bisa dibantu?</div>
4085                                    <div class="message-meta">
4086                                        <span class="message-time">10:30</span>
4087                                        <svg class="message-status">...</svg> (only for mine)
4088                                    </div>
4089                                </div>
4090                            </div>
4091                            -->
4092                        </div>
4093                        
4094                        <form id="chat-message-form" class="chat-message-form">
4095                            <input type="hidden" id="chat-current-conversation-id" value="">
4096                            <textarea 
4097                                id="chat-message-input" 
4098                                class="chat-message-input" 
4099                                placeholder="Ketik pesan..."
4100                                rows="1"
4101                                maxlength="5000"
4102                            ></textarea>
4103                            <button type="submit" class="chat-send-btn" aria-label="Send message">
4104                                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
4105                                    <line x1="22" y1="2" x2="11" y2="13"></line>
4106                                    <polygon points="22 2 15 22 11 13 2 9 22 2"></polygon>
4107                                </svg>
4108                            </button>
4109                        </form>
4110                    </div>
4111                    
4112                    <!-- New Chat View -->
4113                    <div id="chat-new-view" class="chat-view" style="display: none;">
4114                        <div class="chat-messages-header">
4115                            <button id="chat-new-back-btn" class="chat-back-btn" aria-label="Back to list">
4116                                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
4117                                    <path d="M19 12H5M12 19l-7-7 7-7"/>
4118                                </svg>
4119                            </button>
4120                            <div class="chat-conversation-title">Percakapan Baru</div>
4121                        </div>
4122                        
4123                        <div class="chat-new-form">
4124                            <form id="chat-start-form">
4125                                <div class="form-group">
4126                                    <label for="chat-new-subject">Subjek</label>
4127                                    <input 
4128                                        type="text" 
4129                                        id="chat-new-subject" 
4130                                        class="form-control" 
4131                                        placeholder="Bantuan Pelanggan"
4132                                        maxlength="255"
4133                                    >
4134                                </div>
4135                                <div class="form-group">
4136                                    <label for="chat-new-message">Pesan</label>
4137                                    <textarea 
4138                                        id="chat-new-message" 
4139                                        class="form-control" 
4140                                        rows="4" 
4141                                        placeholder="Tulis pertanyaan Anda..."
4142                                        required
4143                                        maxlength="5000"
4144                                    ></textarea>
4145                                </div>
4146                                <button type="submit" class="btn btn-primary btn-block">Kirim</button>
4147                            </form>
4148                        </div>
4149                    </div>
4150                </div>
4151            </div>
4152        </div>
4153        
4154        <!-- Login Required Modal -->
4155        <div class="modal-overlay" id="chatLoginModal">
4156            <div class="modal-dialog">
4157                <div class="modal-header">
4158                    <h3 class="modal-title">
4159                        <div class="modal-icon info">
4160                            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
4161                                <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"/>
4162                            </svg>
4163                        </div>
4164                        Login Diperlukan
4165                    </h3>
4166                </div>
4167                <div class="modal-body">
4168                    <p class="modal-message">
4168Anda harus login terlebih dahulu untuk menggunakan fitur chat bantuan pelanggan.</p>
4169                    <div class="modal-actions">
4170                        <button class="modal-btn modal-btn-secondary" id="chatLoginCancel">Batal</button>
4171                        <button class="modal-btn modal-btn-primary" id="chatLoginConfirm">Login Sekarang</button>
4172                    </div>
4173                </div>
4174            </div>
4175        </div>
4176        
4176<script src="https://plazait.b-cdn.net/assets/js/chat-widget.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4176<script src="https://plazait.b-cdn.net/assets/js/chat-notification.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4176  
4177    <!-- Footer Collapse Toggle Script -->
4178  
4178<script nonce="se3iyzEHMc9FQEB4wSyd0w==">
4179  document.addEventListener('DOMContentLoaded', function() {
4180    const ftTop = document.getElementById('ftTop');
4181    const expandBtn = document.getElementById('ftExpandBtn');
4182    
4183    if (ftTop && expandBtn) {
4184      const expandText = expandBtn.querySelector('.expand-text');
4185      
4186      expandBtn.addEventListener('click', function() {
4187        ftTop.classList.toggle('expanded');
4188        const isExpanded = ftTop.classList.contains('expanded');
4189        if (expandText) {
4190          expandText.textContent = isExpanded ? 'Sembunyikan' : 'Selengkapnya';
4191        }
4192      });
4193    }
4194  });
4195  </script>
4195
4196  </footer>
4197
4198<!-- Compare Sidebar Overlay -->
4199<div class="compare-overlay" id="compareOverlay"></div>
4200
4201<!-- Floating Compare Badge (Sticky) -->
4202<button class="compare-floating-badge" id="compareFloatingBadge" aria-label="Lihat produk yang dibandingkan" style="display:none;">
4203  <svg class="cfb-icon" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
4204    <path d="M9.01 14H2v2h7.01v3L13 15l-3.99-4v3zm5.98-1v-3H22V8h-7.01V5L11 9l3.99 4z"/>
4205  </svg>
4206  <span class="cfb-text">Bandingkan</span>
4207  <span class="cfb-count" id="cfbCount">0</span>
4208</button>
4209
4210<!-- AI Comparison Modal -->
4211<div class="ai-compare-modal" id="aiCompareModal">
4212  <div class="modal-backdrop"></div>
4213  <div class="modal-container">
4214    <div class="modal-header">
4215      <h3 class="modal-title">
4216        <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
4217          <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"/>
4218        </svg>
4219        Analisis AI: Perbandingan Produk
4220      </h3>
4221      <button class="modal-close" id="aiCompareModalClose" aria-label="Tutup">
4222        <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
4223          <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"/>
4224        </svg>
4225      </button>
4226    </div>
4227    
4228    <div class="modal-content">
4229      <!-- Loading State -->
4230      <div class="ai-loading" id="aiLoading">
4231        <div class="loading-animation">
4232          <div class="typing-indicator">
4233            <span></span>
4234            <span></span>
4235            <span></span>
4236          </div>
4237          <p>AI sedang menganalisis produk...</p>
4238          <small>Proses ini membutuhkan waktu 10-30 detik</small>
4239        </div>
4240      </div>
4241      
4242      <!-- Error State -->
4243      <div class="ai-error" id="aiError" hidden>
4244        <div class="error-icon">
4245          <svg width="48" height="48" viewBox="0 0 24 24" fill="#ef9744">
4246            <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"/>
4247          </svg>
4248        </div>
4249        <h4>Analisis AI Gagal</h4>
4250        <p id="aiErrorMessage">Terjadi kesalahan saat memproses analisis.</p>
4251        <button class="btn btn-outline-primary" id="aiRetry">Coba Lagi</button>
4252      </div>
4253      
4254      <!-- Analysis Results -->
4255      <div class="ai-results" id="aiResults" hidden>
4256        <!-- Summary Section -->
4257        <div class="ai-summary-card">
4258          <h4>
4259            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
4260              <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"/>
4261            </svg>
4262            Ringkasan Analisis
4263          </h4>
4264          <p id="aiSummary" class="summary-text"></p>
4265          <div class="winner-badge" id="winnerBadge">
4266            <strong>Rekomendasi Terbaik:</strong> <span id="winnerProduct"></span>
4267            <small id="winnerReason"></small>
4268          </div>
4269        </div>
4270        
4271        <!-- Comparison Table -->
4272        <div class="ai-comparison-table">
4273          <h4>
4274            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
4275              <path d="M3,3H21V5H3V3M3,7H21V9H3V7M3,11H21V13H3V11M3,15H21V17H3V15M3,19H21V21H3V19Z"/>
4276            </svg>
4277            Perbandingan Detail
4278          </h4>
4279          <div id="comparisonTable" class="comparison-grid"></div>
4280        </div>
4281        
4282        <!-- Detailed Analysis -->
4283        <div class="ai-detailed-analysis">
4284          <h4>
4285            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
4286              <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"/>
4287            </svg>
4288            Analisis Mendalam
4289          </h4>
4290          <div id="detailedAnalysis" class="products-analysis"></div>
4291        </div>
4292        
4293        <!-- Recommendations -->
4294        <div class="ai-recommendations">
4295          <h4>
4296            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
4297              <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"/>
4298            </svg>
4299            Rekomendasi Berdasarkan Kebutuhan
4300          </h4>
4301          <div class="recommendations-grid">
4302            <div class="recommendation-card">
4303              <h5>💰 Budget Conscious</h5>
4304              <p id="budgetRecommendation"></p>
4305            </div>
4306            <div class="recommendation-card">
4307              <h5>⚡ Performance Focused</h5>
4308              <p id="performanceRecommendation"></p>
4309            </div>
4310            <div class="recommendation-card">
4311              <h5>⚖️ Balanced Choice</h5>
4312              <p id="balancedRecommendation"></p>
4313            </div>
4314          </div>
4315        </div>
4316        
4317        <!-- Buying Tips -->
4318        <div class="ai-tips">
4319          <h4>
4320            <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
4321              <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
4321M5,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"/>
4322            </svg>
4323            Tips Pembelian
4324          </h4>
4325          <ul id="buyingTips" class="tips-list"></ul>
4326        </div>
4327      </div>
4328    </div>
4329  </div>
4330</div>
4331
4332<!-- Cart Login Modal -->
4333<div class="modal-overlay" id="cartLoginModal">
4334  <div class="modal-dialog">
4335    <div class="modal-header">
4336      <h3 class="modal-title">
4337        <div class="modal-icon info">
4338          <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
4339            <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"/>
4340          </svg>
4341        </div>
4342        Login untuk Melanjutkan
4343      </h3>
4344    </div>
4345    <div class="modal-body">
4346      <p class="modal-message" style="margin-bottom: 16px;">Silakan login atau daftar untuk mengakses keranjang belanja dan menyelesaikan pesanan Anda.</p>
4347      <div style="background: #f8fafc; border-radius: 8px; padding: 12px; margin-bottom: 20px;">
4348        <p style="font-size: 14px; color: #646947; margin: 0; line-height: 1.6;">
4349          <strong style="color: #2a2a0f;">Keuntungan dengan akun:</strong><br>
4350          ✓ Simpan keranjang belanja Anda<br>
4351          ✓ Lacak status pesanan secara real-time<br>
4352          ✓ Checkout lebih cepat dengan data tersimpan<br>
4353          ✓ Dapatkan notifikasi promo & diskon eksklusif
4354        </p>
4355      </div>
4356      <div class="modal-actions">
4357        <button class="modal-btn modal-btn-secondary" id="cartLoginCancel">Batal</button>
4358        <button class="modal-btn modal-btn-primary" id="cartLoginConfirm" style="background: #ff6b35; border-color: #ff6b35;">Login</button>
4359        <button class="modal-btn modal-btn-primary" id="cartRegisterBtn" style="background: #f7931e; border-color: #f7931e;">Daftar</button>
4360      </div>
4361    </div>
4362  </div>
4363</div>
4364
4365
4366<script src="https://plazait.b-cdn.net/assets/js/app.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4366
4366
4367<script src="https://plazait.b-cdn.net/assets/js/site-notice.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4367
4367
4368<script src="https://plazait.b-cdn.net/assets/js/guest-cart.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4368
4368
4369<script src="https://plazait.b-cdn.net/assets/js/cart.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4369
4369
4370<script defer src="https://plazait.b-cdn.net/assets/js/mega-menu-tiles.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4370
4371    
4371<script src="https://plazait.b-cdn.net/assets/js/benchmark.js" nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4371
4372  
4372<script src="https://plazait.b-cdn.net/assets/js/product-compare.js" defer nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
vendor: 1 bytes, line 4372
4372
4373<script src="https://plazait.b-cdn.net/assets/js/product-card-actions.js" defer nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4373
4374    
4374<script src="https://plazait.b-cdn.net/assets/js/product-reviews.js" defer nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4374
4375    
4375<script src="https://plazait.b-cdn.net/assets/js/review-submission.js" defer nonce="se3iyzEHMc9FQEB4wSyd0w=="></script>
4375
4376<style>
4377.solo-toto-fixed-footer{
4378  position:fixed;
4379  left:0; right:0; bottom:0;
4380  z-index:999;
4381
4382  display:flex;
4383  align-items:center;
4384  justify-content:space-around;
4385  gap:8px;
4386
4387  padding: 11px 12px calc(11px + env(safe-area-inset-bottom));
4388  overflow:hidden;
4389
4390  background:
4391    radial-gradient(circle at 50% 0%, rgba(74, 132, 198, 0.18), rgba(0, 11, 20, 0.95)0%, #000),
4392    linear-gradient(180deg, rgba(25, 0, 0, 0.95), #000);
4393
4394  backdrop-filter: blur(12px);
4395
4396  border-top: 1px solid rgba(74, 132, 198, 0.6);
4397  border-radius: 18px 18px 0 0;
4398
4399  box-shadow:
4400    0 -12px 30px rgba(74, 142, 198, 0.15),
4401    inset 0 1px 0 rgba(255, 255, 255, 0.04);
4402
4403  font-family:"Orbitron","Poppins",system-ui,sans-serif;
4404}
4405
4406/* scanline halus */
4407.solo-toto-fixed-footer::before{
4408  content:"";
4409  position:absolute;
4410  inset:0;
4411  background:
4412    repeating-linear-gradient(
4413      0deg,
4414      rgba(255,255,255,.015),
4415      rgba(255,255,255,.015) 1px,
4416      transparent 1px,
4417      transparent 6px
4418    );
4419  opacity:.7;
4420}
4421
4422/* shine emas */
4423.solo-toto-fixed-footer::after{
4424  content:"";
4425  position:absolute;
4426  top:0;
4427  left:-160%;
4428  width:60%;
4429  height:100%;
4430  background: linear-gradient(120deg, transparent, rgba(102, 162, 230, 0.25), transparent);
4431  transform: skewX(-25deg);
4432  animation: footerFinalShine 4s infinite;
4433}
4434
4435@keyframes footerFinalShine{
4436  0%{left:-160%;}
4437  70%{left:160%;}
4438  100%{left:160%;}
4439}
4440
4441/* ITEM */
4442.solo-toto-fixed-footer a{
4443  flex:1;
4444  max-width:110px;
4445
4446  display:flex;
4447  flex-direction:column;
4448  align-items:center;
4449  justify-content:center;
4450  gap:6px;
4451
4452  padding: 8px 6px;
4453  text-decoration:none;
4454  text-align:center;
4455
4456  color: #078de6;
4457  font-size: 12px;
4458  font-weight: 800;
4459
4460  border-radius: 14px;
4461  transition: all .2s ease;
4462}
4463
4464/* hover */
4465.solo-toto-fixed-footer a:hover{
4466  color:#078de6;
4467  background: rgba(198, 74, 74, 0.08);
4468  box-shadow: 0 0 12px rgba(74, 142, 198, 0.25);
4469  transform: translateY(-1px);
4470}
4471
4472/* ICON */
4473.solo-toto-fixed-footer img{
4474  width:26px;
4475  height:26px;
4476  filter: drop-shadow(0 0 6px #3772c066);
4477  transition:.2s;
4478}
4479
4480.solo-toto-fixed-footer a:hover img{
4481  transform: scale(1.08);
4482  filter: drop-shadow(0 0 14px #1e8ecfb3);
4483}
4484
4485/* HUD CORNER */
4486.solo-toto-fixed-footer .hud-corner{
4487  position:absolute;
4488  width:18px;height:18px;
4489  border: 1px solid #1c80c280;
4490}
4491
4492.solo-toto-fixed-footer .hud-tl{top:8px;left:10px;border-right:none;border-bottom:none;}
4493.solo-toto-fixed-footer .hud-tr{top:8px;right:10px;border-left:none;border-bottom:none;}
4494.solo-toto-fixed-footer .hud-bl{bottom:8px;left:10px;border-right:none;border-top:none;}
4495.solo-toto-fixed-footer .hud-br{bottom:8px;right:10px;border-left:none;border-top:none;}
4496
4497/* CENTER CTA */
4498.solo-toto-fixed-footer .tada{
4499  color:#fff;
4500  background:
4501    radial-gradient(circle at 50% 0%, rgba(230, 102, 102, 0.2), transparent 70%),
4502    rgba(196, 26, 26, 0.08);
4503
4504  border: 1px solid #227bc466;
4505
4506  box-shadow:
4507    0 0 18px rgba(26, 132, 194, 0.2),
4508    inset 0 0 12px rgba(30, 144, 197, 0.2);
4509}
4510
4511.solo-toto-fixed-footer .tada img{
4512  width:30px;
4513  height:30px;
4514  filter: drop-shadow(0 0 14px rgba(44, 132, 204, 0.7));
4515}
4516
4517/* pulse halus */
4518.solo-toto-fixed-footer .tada::before{
4519  content:"";
4520  position:absolute;
4521  inset:-12px;
4522  border-radius:999px;
4523  background: radial-gradient(circle, rgba(25, 105, 196, 0.2), transparent 70%);
4524  filter: blur(10px);
4525  animation: corePulse 3s infinite;
4526}
4527
4528@keyframes corePulse{
4529  0%,100%{opacity:.3;}
4530  50%{opacity:.7;}
4531}
4532</style>
4533
4534
4535
4536
4537<div class="solo-toto-fixed-footer">
4538  <a href="https://shop.clinicadolutowordpress.com/" target="_blank" rel="nofollow noopener">
4539    <img src="https://i.ibb.co/dwB7pC6C/112985-naruto-akatsuki-free-hq-image.png" alt="PROMO PUBTOGEL">
4540    PROMO
4541  </a>
4542  <a href="https://shop.clinicadolutowordpress.com/" target="_blank" rel="nofollow noopener">
4543    <img src="https://i.ibb.co/hJhPPrS0/images-1-removebg-preview.png" alt="WHATSAPP PUBTOGEL">
4544    WHATSAPP
4545  </a>
4546  <a href="https://shop.clinicadolutowordpress.com/" target="_blank" rel="nofollow noopener" class="tada">
4547    <img src="https://i.ibb.co/6JL1Hp9Q/images-removebg-preview.png" alt="LOGIN PUBTOGEL">
4548    LOGIN
4549  </a>
4550  <a href="https://shop.clinicadolutowordpress.com/" target="_blank" rel="nofollow noopener">
4551    <img src="https://i.ibb.co/v6fvf3Pq/Chat-GPT-Image-24-Jul-2026-14-59-45-removebg-preview.png" alt="DAFTAR PUBTOGEL">
4552    DAFTAR
4553  </a>
4554  <a href="https://shop.clinicadolutowordpress.com/" target="_blank" rel="nofollow noopener">
4555    <img src="https://i.ibb.co/p9DCPyd/71w-OP7xd-VIL-removebg-preview.png" alt="LIVE CHAT PUBTOGEL">
4556    Live Chat
4557  </a>
4558</div>
4559
4560
4561
4562<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"36c9020aa89c44dfb12c7ff1d60c014d","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4562
4562
4563<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":"f22f82cd98e24334a2ededf8cab83d0f","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4563
4563
4564<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":"4f88073ad7ca4bd3bc2c0f6548590dcd","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4564
4564
4565<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":"4f88073ad7ca4bd3bc2c0f6548590dcd","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4565
4565
4566<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":"4f88073ad7ca4bd3bc2c0f6548590dcd","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4566
4566
4567<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":"2d354771bc0e473dad048057a6cb54f5","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4567
4567
4568<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":"3a7f32d665f444d0944608318d36fb53","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4568
4568
4569<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":"84fa03da1f5943daaa6d971ff5eaf0b1","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4569
4569
4570<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":"79280673119348cd94f3959e08864c3d","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4570
4570
4571<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"c8f27876406741d899b3f9d40deb587c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4571
4571
4572<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"c8f27876406741d899b3f9d40deb587c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4572
4572
4573<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"4d3d405eca1f4e31bc3008bf37fd66de","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4573
4573
4574<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"908be3cde5c941ef8e788f73e277d1e1","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4574
4574
4575<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"47178842f94849b8a6808a399fbf6629","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4575
4575
4576<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"47178842f94849b8a6808a399fbf6629","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4576
4576
4577<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"47178842f94849b8a6808a399fbf6629","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4577
4577
4578<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"47178842f94849b8a6808a399fbf6629","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 4578
4578
4579<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":"be8946914f8a449eb7f849360523f7e1","r":1,"spa":2}' crossorigin="anonymous"></script>
4579
4580</body>
4581</html>
4582<div style="display: none">
4583<a href="https://www.westerntrash.com/">pubtogel</a>
4584<a href="https://aliciasoltero.com/">slotluarnegeri</a>
4585<a href="https://www.nancysbooks.com/">edmtogel</a>
4586<a href="https://www.lacavedyves.com/">EDMTOGEL</a>
4587<a href="https://www.cereusarts.com/">BANDAR TOGEL TERPERCAYA</a>
4588<a href="https://meeubusiness.com/">slot 5000</a>
4589<a href="https://iheartyoublog.com/">Togel HK</a>
4590<a href="https://ideazbusiness.com/">Bandar Togel HK</a>
4591<a href="https://americanyesteryear.com/">PubTogel HK</a>
4592<a href="https://metro-gallery.net/">Togel Depo 5k</a>
4593<a href="https://furniture-consignment-gallery.com/">Situs Togel Terpercaya</a>
4594<a href="https://grandpashabetofficial.com/">PUBTOGEL</a>
4595<a href="https://radioclassica.net/">Togel Hk</a>
4596<a href="https://www.likenewethospace.com/">Situs Toto Macau</a>
4597<a href="https://public.iheartyoublog.com/">PUBTOGEL</a>
4598<a href="https://hasil.multihyphenate.net/">PUBTOGEL</a>
4599<a href="https://data.clinicaltrialbase.com/">Toto Macau</a>
4600<a href="https://public.laposadadelduende.com/">Situs Togel Terpercaya</a>
4601<a href="https://cuanabis.icartage.com/">Situs Togel Terpercaya</a>
4602<a href="https://shop.clinicadolutowordpress.com/">Situs Togel Hongkong</a>
4603<a href="https://pub.radioclassica.net/">Situs Togel Terpercaya</a>
4604<a href="https://macau.lafronteratimes.com/">Situs Toto Macau</a>
4605<a href="https://ujung.comerciosdevaldemorillo.com/">Situs Togel Terpercaya</a>
4606<a href="https://terpercaya.expereahealthcare.com/">Togel Depo 5k</a>
4607<a href="https://situs.entspannungsverfahren.com/">Bandar Togel Terpercaya</a>
4608<a href="http://terbesar.foxstill.com/">SPACETOGEL</a>
4609<a href="https://files.inthefleshreadingseries.com/">SPACETOGEL</a>
4610<a href="https://btt.ccsolidwaste.org/">SPACETOGEL</a>
4611<a href="https://yogeshconstructions.com/amp-jay/">PUBTOGEL</a>
4612<a href="https://spacetogelhokijay.com/">SPACETOGEL</a>
4613<a href="https://pubtogelhokijay.com/">PUBTOGEL</a>
4614</div>

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.