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